JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
Hierarchy For Package balloonsTowerDefence
Package Hierarchies:
All Packages
Class Hierarchy
java.lang.Object
balloonsTowerDefence.
Balloon
(implements balloonsTowerDefence.
Entity
)
balloonsTowerDefence.
BalloonBlue
balloonsTowerDefence.
BalloonRed
balloonsTowerDefence.
Dart
(implements balloonsTowerDefence.
Entity
)
balloonsTowerDefence.
DartLazer
balloonsTowerDefence.
DartNinjaStar
balloonsTowerDefence.
DartNormal
balloonsTowerDefence.
Explosion
balloonsTowerDefence.
Floor
balloonsTowerDefence.
FloorGrid
balloonsTowerDefence.
Game
balloonsTowerDefence.
HighScore
(implements java.io.Serializable)
balloonsTowerDefence.
Instructions
balloonsTowerDefence.
Leaderboard
(implements java.io.Serializable)
balloonsTowerDefence.
LevelEditor
balloonsTowerDefence.
MainMenu
balloonsTowerDefence.
MakeFrame
balloonsTowerDefence.
MapSelectScreen
balloonsTowerDefence.
MonkeyTower
(implements balloonsTowerDefence.
Entity
)
balloonsTowerDefence.
MonkeyTowerDartMonkey
balloonsTowerDefence.
MonkeyTowerIceMonkey
balloonsTowerDefence.
MonkeyTowerNinjaMonkey
balloonsTowerDefence.
MonkeyTowerSuperMonkey
balloonsTowerDefence.
Player
balloonsTowerDefence.
Round
balloonsTowerDefence.
RoundManager
balloonsTowerDefence.
SplashScreenLoading
balloonsTowerDefence.
StartGame
balloonsTowerDefence.
TestScreen
balloonsTowerDefence.
TurningPoint
Interface Hierarchy
balloonsTowerDefence.
Entity
Enum Hierarchy
java.lang.Object
java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
balloonsTowerDefence.
MonkeyTowerType
balloonsTowerDefence.
FloorType
balloonsTowerDefence.
DartType
balloonsTowerDefence.
BalloonType
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes


Super Galactic Age Calculator
Enter your Earth-Age:
What continent do you live on:
North America
South America
Europe
Asia
Australia
Africa
Calculate Stats
Mercury
Venus
Mars
Jupiter


Alright, I’m gonna have some extremely blunt things in this article, with the loaded context that I’ve done extensive studies, analysis, and related research into urban spaces, planning, roadway design, cycling as a mode of transportation, transit, etc. Some of you probably know me well enough to know that, so these comments won’t come as a surprise. It’s all mixed in the tech topics however, and suggestions on how to get more out of a conference like OSCON.
This blog entry should and could be used for informing decisions when traveling for tech events besides just OSCON, but it’s the conference I’m using as a reference point. Some of the suggestions might be a no-brainer, others might add to your notions of what to do and how to travel to these events. Toward the end of this blog entry I’ve broken down these suggestions into: Speaker Adventures, Attendee Adventures, and Staffing Adventures. Before that I’ll cover the low down on things in Austin.
Visiting Austin, Learning About, and Exploring
Austin is one of the gems of the south. It’s up there with the few walkable places of Atlanta, the core of Charlotte or Wilmington, North Carolina, along with a few other places. I’ll add the caveat that all of these cities have heat, sun, and humidity that will make any non-residents of the south buckle at the knees. It’ll feel as though you’ve been solid punched in the chest. I do not say this lightly, if you’ve not been punched in the chest you may be very unprepared to deal with the climate difference versus the west coast, northwestern US, or other places.
 Let’s talk about the negatives real quick for people that might travel and like to enjoy things at a personal and human level, not locked behind the wheel of a cage (i.e. car) requiring endless wandering aimlessly through city streets while missing the vast majority of life as it exists. These are the rough parts I’m forewarning you about before you land at Austin-Bergstrom International Airport (or if you’re brave, arriving by Amtrak’s Texas Eagle).
Austin is distinctively subservient like in its auto-dependency. People generally can’t give you directions except based purely on driving. They’re friendly about it, that’s for sure, it comes with the territory, but they likely can’t tell you how to travel unless you’re in a car. They’ll look at you funny if you suggest you might ride the bus or something else. Some people realize that everybody can ride mass transit and enjoy that freedom, but there’s still a lot of the culturally discriminatory notions behind transit use that has existed in the south. That is, if anybody is riding transit they’re assumed to be poor and from the lower classes of American society (in a society supposedly classless, LOLz whoops).
Why do I harp on auto-dependency in this way? It’s simple. The more auto-dependent an area the more plain, mediocre, ticky tacky, cerebrally regressive, and generally boring that place will be. One can draw a chart and basically draw the correlation that’s tightly coupled to this down to the street levels. Just look at Europe, there’s a reason those of historical and intellectual curiosity flood to the old world to explore. But I digress, this issue is a topic that is vast in study and intense in debate, I’ll leave this for future topics.
Bike Friendly What
If you’re staying downtown or in the immediate neighborhoods it’s actually, shockingly, extremely easy to bike around. It’s even somewhat bike friendly. The streets, even without bike lanes downtown, are huge. They’re so wide they’re often able to fit a regular southern mansion (that’s big for those that don’t know southern mansions) right smack in the center of the street and still have space to walk around.
This is where things get interesting however. Even with the vast auto-dependency working against the livability and liveliness of the city, it counters this by having many walkable spaces. These spaces easily start with downtown and expand out different directions from that point. At the center is the capital building, which is magnificent as capital buildings generally are. Immediately near that is the university and surrounding all of this in downtown, is the river to one side, the interstates on others, and then the immediate neighborhoods.
These immediate neighborhoods and surrounding area actually provide Austin with an amazing amount of foot traffic. Somehow, that combined with regular auto-dependent users traveling into the city, parking just outside of key spots, are then encouraged by design to walk around.
The crosswalks and their respective intersections are auto-focused, with people being a secondary priority, but are timed to move quickly. The other clear focus on moving cars instead of moving people is the street signs are only pointed in the direction that auto traffic would be flowing and not anywhere that is easy for foot traffic to see, unless you’re walking in the direction cars happen to be flowing. This is most annoying when on one way streets. The crosswalk timing is quick, even though this is auto-focused too, makes downtown very walkable in spite of vast streets to cross. However heaven forbid you’ve got an issue walking fast then you may have some issues.
Downtown there are also several primary streets that have a host of amenities focused around pedestrian activity. The connected nature (it’s a grid primarily) of the streets makes it easy to bike or walk, or if you can find a bus take the bus, to get into or out of downtown. The airport bus is absurdly quick and easy to use too. It’s approximately 25-35 minutes (depending on traffic) to get from the airport to downtown. The airport is after all somewhat close to the city itself.
Before even diving into the speaker, attendee, and staffing adventures suggestions, here’s a few that are basic cross-cutting suggestions for everybody.
Take the bus from the airport. It’s absurdly cheap and absurdly easy. If you’ve just missed it the frequency isn’t all that great, but it runs eery 30 minutes, is quick, and is cheap, easy, and clean. It’ll drop you off right downtown at a number of convenient locations.
Don’t bring food (not that many people do), instead eat out at as many places as possible. Austin has some excellent food options, check out as many of them as you can.
Walk everywhere in the downtown core, and bike, walk, or just jump on the bus for the quick hops over to 1st, Congress, or any of the streets that head out into the interesting neighborhoods and other retail areas.
Visit a few of the parks in town, especially the river front and around the capital. The parks are beautiful and on a day with a cool breeze, extremely relaxing.
Speaker Adventures
If you’re a speaker and speaking at a conference like OSCON you’ll most likely have your room and travel covered to the conference. If this is the case, just stay at whatever hotel they put you up in and save the cash you’d otherwise spend.
In the case of OSCON, the Hilton Garden and Hilton seemed to be the primary hotels. They’re close to things, but you’ll still need to walk 2-4 blocks to get to most things. You’re also extremely close to the interstate, so if you have fickle breathing or are bothered by heavy particulate air, you’ll probably have a hard time of things. If that’s the case, take a gander of the attendee suggestion for some other options.
As a speaker you’ll also likely be invited to a few other parties (maybe), be sure to get into those. You’ll have a bit more face time with key people in the industry that can help you make things happen for your career or help you make things happen for your company. These are good events, that sometimes happen and sometimes don’t, depending on a number of various things.
Attendee Adventures
If you’re just attending, you’re going to be shelling out the bucks. Depending on what you’re company will or won’t cover is usually what will dictate what you do or don’t want to do. In my case, I’d strongly suggest staying at an Airbnb close to, but not directly in downtown. Stay somewhere in one of the close in neighborhoods and bike or walk into the conference every morning.
You might need to get up just a few minutes early but it’ll give you a nice start, and a quieter sleep. The other reason I’d suggest staying in a neighborhood is because it provides more of a feel for the city’s culture, lifestyle, and general amenities. This might include everything from actual local shops and food versus the tourist oriented stuff that tends to be located around the convention center.
Now the other side effect of Airbnb or other services like this, is they’re often a bit cheaper than actually staying at a hotel. Between the often cheaper prices you also don’t get stuck lumped in as a tourist immediately either. That is, if you’ve got a tendency to be able to blend easily in with the locals. They are after all rather friendly in Austin.
If you’re looking for more hands off, non-human interaction you might want to just stay at a hotel. But I’ve been able to control may human interaction variables without the myopic view that a hotel generally provides, thus I strongly suggest the non-hotel option.
Staffing Adventures
If you’re coming as part of the conference staff, you’re obviously going to have business expenses covered. Likely more than even the speakers, thus, in every conceivable way live it up as much as possible. Combine the speaker and attendee suggestions as desired and mix for maximum win!
Summary
In the end, conferences are a great way to expand business opportunities. However don’t let them be just a myopic business focused event, make them an adventure and get out there and actually be part of the community for that short time. Enjoy some of the local food and meet people outside of the tech community that are actually out there buying the real end user services and products! See ya next conference, cheers!


April Meeting Topic: "Hello, World." on the Microsoft Azure Platform Redux
Rescheduled presentation for the second in a series of "Hello, World." presentations.
Presenter: Clark Sell | http://csell.net | Microsoft | Senior Developer Evangelist
Name a role in the software industry, and Clark has probably played it. He started as a Y2K tester and has since worked as a developer, lead, “build monkey,” solutions architect and product manager. His professional sweet spot however, lies in designing and building software solutions that make life easier – there’s no chance for boredom and constant opportunities for growth. Clark is MCSD certified and received top Microsoft honors with the Circle of Excellence Award. He’s a graduate of Western Illinois University and before joining Microsoft in 2005, he served as a solutions architect at Allstate Insurance Company. As a senior developer evangelist and Visual Studio team system ranger, Clark brings a good dose of humor and a zest for life to the podium. You can hear Clark’s technical musings on “The Smackdown” at DeveloperSmackdown.com and The Thirsty Developer podcast – or find him getting grease under his nails in the garage. Clark’s a muscle car fanatic who’s currently finishing a body-off restoration of his 1970 Chevrolet Camaro.
Our April meeting is planned to be held at Panera - Private Meeting Room.
Directions:
Panera
- Private Meeting Room
6000 Northwest Highway
Crystal Lake, IL 60014-6194
I look forward to seeing you there!
-- mike
March Meeting Topic: "Hello, World." on Amazon Cloud Services
Third in a series of "Hello, World." presentations.
Presenter: Ryan Gerry, Google
Ryan Gerry is a software engineer who is experienced using Open Source platforms. He is currently working at Google using primarily Java for a large advertising application. Before Google he mostly used Perl on Linux. His professional interests include cloud computing, web development, security, agile development methodologies and Open Source software. Ryan has a Computer Science Bachelor's degree form Western Illinois University. He is currently living in McHenry, Il with his wife and two small children.
Our March meeting is planned to be held at Panera - Private Meeting Room.
Directions:
Panera
- Private Meeting Room
6000 Northwest Highway
Crystal Lake, IL 60014-6194
I look forward to seeing you there!
-- mike
February Meeting Topic: "Hello, World." on the Microsoft Azure Platform
Second in a series of "Hello, World." presentations.
Presenter: Clark Sell | http://csell.net | Microsoft | Senior Developer Evangelist
Name a role in the software industry, and Clark has probably played it. He started as a Y2K tester and has since worked as a developer, lead, “build monkey,” solutions architect and product manager. His professional sweet spot however, lies in designing and building software solutions that make life easier – there’s no chance for boredom and constant opportunities for growth. Clark is MCSD certified and received top Microsoft honors with the Circle of Excellence Award. He’s a graduate of Western Illinois University and before joining Microsoft in 2005, he served as a solutions architect at Allstate Insurance Company. As a senior developer evangelist and Visual Studio team system ranger, Clark brings a good dose of humor and a zest for life to the podium. You can hear Clark’s technical musings on “The Smackdown” at DeveloperSmackdown.com and The Thirsty Developer podcast – or find him getting grease under his nails in the garage. Clark’s a muscle car fanatic who’s currently finishing a body-off restoration of his 1970 Chevrolet Camaro.
Our February meeting is planned to be held at Panera - Private Meeting Room.
Directions:
Panera
- Private Meeting Room
6000 Northwest Highway
Crystal Lake, IL 60014-6194
I look forward to seeing you there!
-- mike
January Meeting Location Changed!!!
We are *NOT* meeting at the library this month!
Our January meeting is planned to be held at Panera - Private Meeting Room.
Directions:
Panera
- Private Meeting Room
6000 Northwest Highway
Crystal Lake, IL 60014-6194
January Meeting Topic: "Hello, World." on Google App Engine with Python
First in a series of "Hello, World." presentations.
We'll cover the basics to get an actual site up and running on Google App Engine with a little bit of Python for good measure.
- Setup environment for development on the App Engine.
- Register for App Engine.
- Create project on the site.
- Install Python.
- Get the App Engine SDK.
- Install NetBeans.
- Setup the project on your development machine.
- Develop a basic To-Do site.
- Optionally, deploy the site to App Engine.
Presenter: Michael D. Hall
Mike has been a professional software developer for over a decade now. Primarily he's focused on Microsoft technologies but has been passionately learning about Google App Engine.
Our January meeting is planned to be held at Panera - Private Meeting Room.
Directions:
Panera
- Private Meeting Room
6000 Northwest Highway
Crystal Lake, IL 60014-6194
I look forward to seeing you there!
-- mike
Review: Inaugural Meeting
Well, we're finally underway! And a good start it is. We started the meeting off with a short introduction to the group and some ideas on what direction we could take the group. Afterward we discussed some of the topics we'd like to see at the meetings and even got volunteers for the next three meetings!
First things first! All people are welcome. This is a no-pressure group. You do not have to feel like you have to present or even talk at the meetings. Come, hang out and soak up the info!
Audience: Software developers and anyone interested in learning more about the various cloud platforms and related technologies.
Group Goal: Share information on the various cloud platforms and related technologies. Collaborate on group projects that provide opportunities to develop concrete experience with cloud technologies. Treat members with respect and an open-minded attitude to sharing what we learn.
Meeting Schedule: Second Monday of the month.
- January 11th, 2010
- Introduction to the Google App Engine Platform.
- Michael D. Hall, just3ws
- February 8th, 2010
- Introduction to the Microsoft Azure Platform.
- TBD, Microsoft
- March 8th, 2010
- Introduction to the Amazon Cloud Platform.
- Ryan Gerry, Google
- April 12th, 2010
- TENTATIVE: Group Project Codename: "Nerdtersect"
- Michael D. Hall, just3ws
Meeting Format: Typically meetings will follow a traditional Intro-Presentation-Discussion format. But we'll also have workshop meetings where everyone will be encouraged to bring their laptop and collaborate on some code.
Topics: We are open to any topic as long as it relates to supporting development against a cloud platform. We could have a meeting on anything from learning Django and Python for AppEngine to Parsing the Platfom Pricing Structures. All topics will be considered!
Online Presence: We have accounts on Google Groups, GitHub, Eventbrite and Twitter. We even have our own domain and website: http://www.clouddevelopersgroup.com so we shouldn't be hard to find.
Organizers: Mike Hall is the group organizer and the point of contact for all things group related. If you'd like to propose a topic, volunteer to help out with the meetings or have any questions about the group you can contact him directly at<EMAIL_ADDRESS>Get Involved!: Volunteer, Sponsor, Speak, Ideas! We would like to find a permanent home for the group, ideally a location with a meeting room, wireless internet access and a projector. If you would like to donate food, drinks or equipment to the group please contact Mike Hall at<EMAIL_ADDRESS>I'm very excited about the future of this group! 2010 is going to be a fun year!
First Meeting for McHenry Cloud Developers Group!
Azure. EC2. App Engine.
Do any of those names sound familiar? If so then join us for the first meeting of the McHenry Cloud Developers Group in Crystal Lake, Illinois!
Our first meeting will be an informal discussion of the goal of the group, ideas for projects and presentations. Also, we want to know what you are looking to get out of the group.
The meeting is Monday, December 14th from 7:00 PM until 8:00 PM. We'll be meeting in the downstairs Ames-1 meeting room.
Please join us in Crystal Lake and join the projects or hang back and soak up some info!
Our first meeting will be held at the Crystal Lake Public Library.
Directions:
Crystal
Lake Public Library
126 W Paddock St
Crystal Lake, IL 60014-6194
I look forward to seeing you there!
-- mike


Sheep left with horrific injuries after dog attack
One sheep died of its injuries and a second had to be put down by a vet after its leg was lacerated to the bone in the attack. Police have collected one dog from the scene, the other was not found
by Helen MachinTWO pedigree sheep were left with horrific injuries after being attacked by two dogs at a field in Nether Whitacre.
One of the animals died and the second was put to sleep by a vet. The rest of the flock, which are a mixture of Suffolks and Texels, were left shaken, but uninjured.
One of the dogs, which is believed to belong to someone in North Warwickshire, was caught at the scene and handed over to police.
The incident happened in the afternoon of Wednesday, November 13.
Owner of the sheep, 29-year-old Jonelle Handford, told the Herald: “My partner’s grandparents heard the dogs barking and went out to check on the horses, when she saw the two dogs at the top of the field.
“One of the sheep was already dead; the other one was still alive but her leg had been lacerated down to the bone, so she had to be put down.
“We managed to corner one of the dogs and the police unit came to catch it – the other ran off.”
The second dog is described as being bigger than a collie, dark in colour and bearded.
Jonelle added: “People need to be vigilant. This may be neglectful or the dogs may genuinely have escaped, but remember it’s not just your own dog’s life you are risking if you let them loose.”
Carol Cotterill, rural crime officer with Warwickshire Police, said: “Police were called at around 4.25pm on Wednesday, November 13, to a report that two dogs had entered a field and attacked sheep on Birmingham Road, Whitacre Heath.
“Two sheep sadly died as a result of their injuries.
“Investigations are presently ongoing to establish the circumstances surrounding this incident.
“Offences relating to dogs are taken very seriously by Warwickshire Police.
“Anyone who witnesses an incident of dogs worrying livestock or who has information relating to dogs being dangerously out of control should contact the police on 101 or 999 if an attack or crime is in progress.”
It is an offence to allow a dog to worry sheep. The National Sheep Association says that worrying includes attacking or chasing sheep and, in some circumstances, farmers are legally entitled to shoot dogs if they are endangering their sheep.


CrimPapers
Articles published on 10 August 2018
On 10 August 2018, 6 new articles were published in 6 journals.
Cyberbullying Victimization Among High School and University Students in Ghana by David L. Sam, Delphine Bruce, Collins B. Agyemang, Benjamin Amponsah, Helen Arkorful
Corrigendum
Considerations For Pursuing Multiple Session Forensic Interviews in Child Sexual Abuse Investigations by Jacquelynn F. Duron, Fiona S. Remko
Examining the Relationship Between Media Consumption, Fear of Crime, and Support For Controversial Criminal Justice Policies Using A Nationally Representative Sample by Matthew J. Dolliver, Jennifer L. Kenney, Lesley Williams Reid, Ariane Prohaska
“Because You’ve Got Faith It Doesn’t Mean That You’ve Got Wings on Your Back”: A Qualitative Analysis of the Accounts of Christian Prisoners Serving Time For A Sexual Offence by Belinda Winder, Nicholas Blagden, Rebecca Lievesley
The Multifinality of Vulnerability Indicators in Lone-Actor Terrorism by Emily Corner, Noémie Bouhana, Paul Gill


[gecode-users] cloning variable problem
Alberto Delgado
trosky99 at gmail.com
Tue Oct 24 22:56:41 CEST 2006
Hi all,
I've been trying to create an IntVar X1 in a space S1, and create a
clone of X1 namely X2 in a space S2. i called the update method of
IntVar to create the clone.
It all seems to work ok, but when i try to impose some propagators i
got a Segmentation Fault.
I implemented a propagator which inherits from UnaryPropagator and
imposed it on X1 and X2. The imposition of the propagator on X1
crashed the execution.
I thought the problem might be my propagator and i tried with eq. I
created a new variable XTMP in S1 and imposed eq between X1 and XTMP
right after creating X2 by cloning. it crashed again.
I attach the source code of my example. Could any of you guys tell me
what i am doing wrong?
Thanks in advance,
Regards,
Alberto Delgado
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test3.cc
Type: text/x-c++src
Size: 1064 bytes
Desc: not available
URL: <http://www.ps.uni-sb.de/pipermail/users/attachments/20061024/f17fcd69/attachment.cc>
More information about the gecode-users
mailing list


Weeknotes, 14-20 Oct 2019
Having been inspired by the likes of Victor, Dan and Matt, here’s my first attempt at weeknotes.
Monday was Big Train Experiment Day. For the last 11 months I’d been waking up at 5:30am for a 7am train from York (where I live) to London (where I work), every Monday. I’d been sleeping on the train – or trying to – and often felt like I was playing catchup for the rest of the week.
Not so this Monday: my alarm went off at 6:45; I had a coffee; caught the bus; grabbed the 8:20 train. The difference was huge. I felt awake, productive and alive with the joys of life. I arrived in the office later (10:45am), but worked more hours overall and felt less tired. Experiment: successful.
Welcoming our first user researcher #
Later on Monday I had only my second 1:1 with our new user researcher, Clare Ridd. She’s Farewill’s first dedicated researcher, and it’s already abundantly clear how fantastic it will be to have her around. Clare’s my first direct report, i.e. the first person I’ve managed. It’s one of my career regrets that I haven’t had the opportunity to be a line manager until now. Supporting others and helping them be the best they can be is something I’m hugely excited about. One thing I’ve been doing to prepare is reading Julie Zhuo’s excellent Making of a Manager book, which I highly recommend. I’m sure I’ll make plenty of mistakes (and I hope Clare will tell me when I do) but I’m enjoying it so far, and Clare seems to be settling in brilliantly.
All Hands wobble #
Tuesday was an odd one. We had our weekly All Hands at 10:30 – where we all gather round in the office (or dial in, if remote) and run through company performance and news from different teams. I gave up an update for the Probate Product team, something I’d done many times before. This time, I was hit by a wave of minor panic – I felt vulnerable and self-conscious, and I could hear my voice wavering. Sometimes I can be relaxed and confident when speaking in front of others; other times not. It could simply be that the Farewill team is growing fast – now, an All Hands update means speaking in front of 40 people. Whatever the cause, this wobble has been on my mind for the last few days (without any helpful conclusions).
The joy of illustrations #
Farewill is rebranding and our probate website was updated this week. It’s been such a pleasure to work on. As always, I’ve tried to run things as collaboratively and openly, and we’ve had fantastic input from lots of the wider Farewill team. Not least from Anna Charity and Louis Buck who provided incredible illustrations which convey tricky concepts simply and visually. The illustration at the top of our ‘What is probate?’ page is wonderful (if you follow the link on mobile you might not see it).
I’m also in love with the brush strokes between sections on the home page (on larger screens), crafted by Emily Isacke. It’s the sort of detail that is easy not to bother with, but these things make a difference. Although it is such a designery thing to hone in on (sorry…).
The importance of a name #
Also this week I’ve been working on our blossoming internal sales and customer tool. As of yet it doesn’t have a name. Hardly the most important point you might think, but the lack of identity is beginning to cause confusion. It’s been variously described as our ‘call tool’, ‘ICT’ (Initial Call Tool / Internal Call Tool), ‘admin tool’, ‘customer admin tool’ and probably a dozen other things. That was fine for a while, but it needs clarifying.
So I sent round a survey for ideas. Some of the more questionable responses so far include Data Entry and Administration Database (it’s all about the acronym), Winternal Tool and Dan. The search continues…
Tomorrow (Sunday) I run the Yorkshire Marathon, my first ever marathon. Training has been a huge part of my year so far and it’s a peculiar thought that it’s in less than 24 hours. I’m excited and nervous – my longer training runs (about 34km) were incredibly hard, and I know the marathon (42km) will be even harder. Beyond that I don’t know what to expect, but whatever happens I’m glad I committed to it.


<mat-list>
is a container component that wraps and formats a series of line items. As the base
list component, it provides Material Design styling, but no behavior of its own.
An <mat-list>
element contains a number of <mat-list-item>
elements.
<mat-list>
<mat-list-item> Pepper </mat-list-item>
<mat-list-item> Salt </mat-list-item>
<mat-list-item> Paprika </mat-list-item>
</mat-list>
Use mat-nav-list
tags for navigation lists (i.e. lists that have anchor tags).
Simple navigation lists can use the mat-list-item
attribute on anchor tag elements directly:
<mat-nav-list>
 {{ link }}
</mat-nav-list>
For more complex navigation lists (e.g. with more than one target per item), wrap the anchor
element in an <mat-list-item>
.
<mat-nav-list>
<mat-list-item *ngFor="let link of links">
{{ link }}
<button mat-icon-button (click)="showInfo(link)">
<mat-icon>info</mat-icon>
</button>
</mat-list-item>
</mat-nav-list>
Use the <mat-action-list>
element when each item in the list performs some action. Each item
in an action list is a <button>
element.
Simple action lists can use the mat-list-item
attribute on button tag elements directly:
<mat-action-list>
<button mat-list-item (click)="save()"> Save </button>
<button mat-list-item (click)="undo()"> Undo </button>
</mat-action-list>
A selection list provides an interface for selecting values, where each list item is an option.
The options within a selection-list should not contain further interactive controls, such as buttons and anchors.
For lists that require multiple lines per item, annotate each line with an matLine
attribute.
Whichever heading tag is appropriate for your DOM hierarchy should be used (not necessarily

as shown in the example).

<mat-list>
<mat-list-item *ngFor="let message of messages">

 {{message.from}}

 {{message.subject}}
 -- {{message.content}}

</mat-list-item>
</mat-list>

<mat-list>
<mat-list-item *ngFor="let message of messages">

 {{message.from}}

 {{message.subject}}

 {{message.content}}

</mat-list-item>
</mat-list>
To add an icon to your list item, use the matListIcon
attribute.
<mat-list>
<mat-list-item *ngFor="let message of messages">
<mat-icon matListIcon>folder</mat-icon>

 {{message.from}}

 {{message.subject}}
 -- {{message.content}}

</mat-list-item>
</mat-list>
To include an avatar image, add an image tag with an matListAvatar
attribute.
<mat-list>
<mat-list-item *ngFor="let message of messages">

 {{message.from}}

 {{message.subject}}
 -- {{message.content}}

</mat-list-item>
</mat-list>
Lists are also available in "dense layout" mode, which shrinks the font size and height of the list
to suit UIs that may need to display more information. To enable this mode, add a dense
attribute
to the main mat-list
tag.
<mat-list dense>
<mat-list-item> Pepper </mat-list-item>
<mat-list-item> Salt </mat-list-item>
<mat-list-item> Paprika </mat-list-item>
</mat-list>
Subheader can be added to a list by annotating a heading tag with an matSubheader
attribute.
To add a divider, use <mat-divider>
.
<mat-list>

Folders

<mat-list-item *ngFor="let folder of folders">
<mat-icon matListIcon>folder</mat-icon>

{{folder.name}}

 {{folder.updated}}

</mat-list-item>
<mat-divider></mat-divider>

Notes

<mat-list-item *ngFor="let note of notes">
<mat-icon matListIcon>note</mat-icon>

{{note.name}}

 {{note.updated}}

</mat-list-item>
</mat-list>
The type of list used in any given situation depends on how the end-user will be interacting with it.
When the list-items navigate somewhere, <mat-nav-list>
should be used with
elements as the list items. The nav-list will be rendered using role="navigation"
and can be
given an aria-label
to give context on the set of navigation options presented. Additional
interactive content, such as buttons, should not be added inside the anchors.
When the list is primarily used to select one or more values, a <mat-selection-list>
should be
used with <mat-list-option>
, which map to role="listbox"
and role="option"
, respectively. The
list should be given an aria-label
that describes the value or values being selected. Each option
should not contain any additional interactive elements, such as buttons.
By default, the list assumes that it will be used in a purely decorative fashion and thus sets no
roles, ARIA attributes, or keyboard shortcuts. This is equivalent to having a sequence of

elements on the page. Any interactive content within the list should be given an appropriate
accessibility treatment based on the specific workflow of your application.
If the list is used to present a list of non-interactive content items, then the list element should
be given role="list"
and each list item should be given role="listitem"
.


8. Working with DataObjects
8.6 DataObject Validation
DataObject implements a set of methods to validate its state. DataContext calls these methods
before performing a commit. If validation fails, commit is aborted with ValidationException.
There are a few clear benefits of validating DataObjects at the application level before committing them to the
database:
- Cayenne can leverage ORM metadata (DataMap) to check for many standard error
conditions.
- Custom validation can be easily integrated into the business objects by overriding standard
validation methods.
- Validation failures can be tracked down to the individual objects and their properties, allowing creation of
user-friendly, internationalized validation messages.
- Relying on database validation for things like mandatory properties,
etc., would result in errors that are meaningless or extremely hard to decode in the application context.
- Application validation partially addresses shortcomings of databases that do not support real
transactions (e.g. MySQL). Validation would trap the whole class of errors that would otherwise result in
failure halfway through the commit, leaving database in inconsistent state.
- Automating of the business objects validation takes away some burden from the UI that now has
fewer things to track.
8.6.1 Validation API
Each DataObject participating in commit operation (i.e. those in state NEW, DELETED or MODIFIED , in other words
"non-committed") will be validated by DataContext's ObjectStore during commit processing. Depending on the non-committed
object state, ObjectStore calls one of the methods described below (description of method behavior is provided for
CayenneDataObject implementation):
Custom validation method implementation would normally append any failures to the provided ValidationResult
instance. After validating all non-committed objects, DataContext (or rather its ObjectStore)
will check if the ValidationResult is not empty, and throw an exception if there is at least one failure.
Typical custom validation method would look like that:
public class Painting extends _Painting {
...
protected void validateForSave(ValidationResult validationResult) {
super.validateForSave(validationResult);
// check business rules
if(getEstimatedPrice().doubleValue() <= 0.0) {
validationResult.addFailure(
this, // source object of the failure
Painting.ESTIMATED_PRICE_PROPERTY, // failed property name
"Painting price must be greater than zero.")); // error message
}
}
...
}
|
8.6.2 Turning Validation On/Off
Whether DataContext performs validation at all depends on the value of its property
"validatingObjectsOnCommit". Calling "isValidatingObjectsOnCommit()" returns currently
configured value. Default value (usually "true") is propagated from the parent DataDomain
when DataContext is created. This default value can be configured using CayenneModeler as
described in Deployment
Configuration chapter of the Modeler Guide.
|


author: bocianu<EMAIL_ADDRESS>Set of procedures to initialize, run, and use special graphics mode 10++. Resolution 80x48, 9 colors, square pixel (for lineHeight = 4)
This library is a part of 'blibs' - set of custom Mad-Pascal libraries.
https://gitlab.com/bocianu/blibs
| name: | value: | description: |
|---|---|---|
| DL_BLANK8 | %01110000 | 8 blank lines |
| DL_DLI | %10000000 | Order to run DLI |
| DL_LMS | %01000000 | Order to set new memory address |
| DL_VSCROLL | %00100000 | Turn on vertical scroll on this line |
| DL_MODE_320x192G2 | $F | |
| DL_JVB | %01000001 | Jump to begining |
| name: | description: |
|---|---|
| Gr10Init | procedure Gr10Init(DListAddress: word; VRamAddress: word; lines: byte; pixelHeight:byte; blanks: byte);Turns on 10++ mode.
parameters: |
| SetPixelHeight | procedure SetPixelHeight(lines: byte);Sets height of a pixel in a scan lines.
parameters: |


The icons come from FontAwesome, and you can find the list here: FontAwesome Icons. Just change the class to get a different one.
Text text text
Answer to your question
Spies, I guess?
By the end of this chapter, you should be able to:


This is a drunk walk demonstration. Press the space bar to advance to the next action in building the maze. The maze is set in a square grid using an HTML table for display. Parameters are xsize, ysize, l for left/right preference (0 left, 1 right), and s for straightness preference (-1 really straight, 0 normal, 1 really curvy).


Contact Me
Here (for the time being) you will email me the game you want and we shall exchange information that way
Shopping Cart will avaliable in the Summer. Please be patient
Address Info
Suggestion for the Site? You can give me a list here I'll get back to you at the earliest conveince


Facebook
My Profile
Setting
Logout
Notification
×
Sara Casen 🔥
posted a post 1h ago
Pankaj Lalwani
wants to connect with you
Rakesh Sheikh
sent you friend request
Messages
×
Darshan Pradhan :
where we're going for vocation this summer?
Ruhi Mehra :
Project has been completed !
Sonu Kumar :
hi, my colligue wants your contact no.
Satyam Bhuvan :
ya i, bought this dslr from local store
Sarita Yadav
General Setting
Name
Sarita Yadav
Username
@SaritaYadav
Contact
+91<PHONE_NUMBER>
Email
Sarita Yadav
Account Setting
Require OTP verification on Login
Allow third party apps to access friend list
Disable Advertisement
Enable Keep-Alive session for always Login
Notification & Chat Setting
Receive Notification throught SMS
Receive Notification throught Email
Receive Notification on Facebook
Allow Sending chat request
Allow Video & Audio calls
Enable Last Seen
Enable Delivery and Read mark
Privacy Setting
Allow Friend of friend to Tag me
Show Photos/Video to Public
Allow location Sharing with third Party App
Allow Comment from Public
Appear in Search Result


Common.css is a set of style rules built on top of normalize.css to unify the common functionality that I find myself implementing from project to project.
The two form styles I use the most are the stacked style and the aligned style. I've done CSS for both.
This is a block quote, for example.
And this is a paragraph.


--- title: Code for my educational gifs author: Rafael Irizarry date: '2017-08-08' slug: code-for-my-educational-gifs categories: - Education ---
During preparation for class I sometimes think up of animations that will explain the concept I am teaching. I sometimes share the resulting animations on social media via @rafalab.
John Storey recently asked if the source code is publicly available. Because I am not that organized, and these ideas come about during last minute preparations, the code was spread across several unrelated files. John’s request motivated me to include the code in one post.
All these gifs are paginated R plots. You will see in the code that I used different approaches to converting individual plots to animated gifs. The first (not recommended) was to save files then do a system call to the ImageMagick convert tool. Through a simplystats comment, from Yihui Xie, I learned about the saveGIF
function from the animation
package, which is what I now use when the plots are made in R base. When using ggplot I use David Robinson’s gganimate
package. Finally, if I want to add special effects, like phasing, I use the online Animated GIF maker.
Below is the code for each of the gifs I have shared roughly ordered by popularity. Remember this code was written last minute so please don’t judge me. Actually, you can critique all you want, that’s how we learn.
This gif illustrates Simpson’s paradox. We see that \(X\) and \(Y\) have strong negative correlation. However, once we stratify by a confounder \(Z\), encoded with color, the correlations flip to positive in each strata. The data is simulated, but we could see data like this if, for example, we looked at tutoring \(X\) and 9th grade test score \(Y\) data and then stratified students by their 8th grade test scores \(Z\).
This gif is made up of just three plots. I saved them using RStudio’s Export tool then used Animated GIF maker to create the gif. Here is the code for the three plots:
library(tidyverse)
library(dslabs)
ds_theme_set()
## simulate data
N <- 100
Sigma <- matrix(c(1,0.75,0.75, 1), 2, 2)*1.5
means <- list(c(11,3), c(9,5), c(7,7), c(5,9), c(3,11))
dat <- lapply(means, function(mu)
MASS::mvrnorm(N, mu, Sigma))
dat <- tbl_df(Reduce(rbind, dat)) %>%
mutate(Z = as.character(rep(seq_along(means), each = N)))
names(dat) <- c("X", "Y", "Z")
## First plot
dat %>% ggplot(aes(X,Y)) + geom_point(alpha = .5) +
ggtitle(paste("correlation = ", round(cor(dat$X, dat$Y), 2)))
## second plot
means <- tbl_df(Reduce(rbind, means)) %>% setNames(c("x","y")) %>%
mutate(z = as.character(seq_along(means)))
corrs <- dat %>% group_by(Z) %>% summarize(cor = cor(X,Y)) %>% .$cor
p <- dat %>% ggplot(aes(X, Y, color = Z)) +
geom_point(show.legend = FALSE, alpha = 0.5) +
ggtitle(paste("correlations =", paste(signif(corrs,2), collapse=" ")))
p
## third plot
p + annotate("text", x = means$x, y = means$y,
label = paste("Z=", means$z), cex = 5)
The first educational animation I shared explains how local regression (loess) works. Basically, for each predictor value, say \(x_0\), assign positive weights to points close to that value, fit a line with weighted regression, keep the fitted value for \(x_0\), move to the next point.
The data here comes from a microarray experiment. The figure shows an MA-plot (log ratio versus average of logs). I use the animation
package to save the gif.
rafalib::mypar()
## load data
library(SpikeIn) ##to install: rafalib::install_bioc("SpikeIn")
data(SpikeIn95)
## get M and A for two arrays
spms <- pm(SpikeIn95)
i <- 10; j <- 9 ## Pick two samples that show a non-linear relationship
M <- log2(spms[,i]) - log2(spms[,j])
A <- (log2(spms[,i]) + log2(spms[,j]))/2
o <- order(A)
a <- A[o]
m <- M[o]
ind <- round(seq(1,length(a),len=5000)) ##don't show all the points
a <- a[ind]
m <- m[ind]
## make gif
centers <- seq(min(a),max(a),0.1)
windowSize <- 1.5
smooth <- rep(NA,length(centers))
library(animation)
saveGIF({
for(i in seq(along=centers)){
center <- centers[i]
ind=which(a > center-windowSize & a<center+windowSize)
fit<-lm(m~a, subset=ind)
smooth[i]<-predict(fit, newdata=data.frame(a=center))
if(center<12){
plot(a, m, ylim=c(-1.5,1.5), col="grey")
points(a[ind], m[ind])
abline(fit, col=3, lty=2, lwd=2)
lines(centers[1:i], smooth[1:i], col=2, lwd=2)
points(centers[i], smooth[i], col=2, pch=16)
}
}
},'loess.gif', interval = .15)
This gif is recreating an animation shown by Hans Rosling’s in his talk New Insights on Poverty. The point of the animation is to show the power of data visualization for combating misconceptions. In this particular instance Hans Rosling shows that the world was more dichotomous 40 years ago than it is today. Dividing the world into western rich countries with small families/long life spans and a developing world with large families/short life spans is no longer accurate.
The code for this plot is quite simple, thanks to the gganimate
package.
library(tidyverse)
library(dslabs)
data(gapminder)
west <- c("Western Europe","Northern Europe","Southern Europe",
"Northern America","Australia and New Zealand")
gapminder <- gapminder %>%
mutate(group = case_when(
.$region %in% west ~ "The West",
.$region %in% c("Eastern Asia", "South-Eastern Asia") ~ "East Asia",
.$region %in% c("Caribbean", "Central America", "South America") ~ "Latin America",
.$continent == "Africa" & .$region != "Northern Africa" ~ "Sub-Saharan Africa",
TRUE ~ "Others"))
gapminder <- gapminder %>%
mutate(group = factor(group, levels = rev(c("Others", "Latin America", "East Asia","Sub-Saharan Africa", "The West"))))
library(gganimate)
theme_set(theme_bw(base_size = 16))
years <- seq(1962, 2013)
p <- filter(gapminder, year%in%years & !is.na(group) &
!is.na(fertility) & !is.na(life_expectancy)) %>%
mutate(population_in_millions = population/10^6) %>%
ggplot(aes(fertility, y=life_expectancy,
col = group, frame = year, size = population_in_millions)) +
geom_point(alpha = 0.8) +
guides(size=FALSE) +
theme(plot.title = element_blank(), legend.title = element_blank()) +
coord_cartesian(ylim = c(30, 85)) +
xlab("Fertility rate (births per woman)") +
ylab("Life Expectancy") +
geom_text(aes(x=7, y=82, label=year), cex=20, color="grey")
gganimate(p, filename = "life-expectancy-vs-fertility-rate", title_frame = FALSE)
Here we used UN voting data provided by Erik Voeten and Anton Strezhnev to illustrate the concept of distance.
Below is the code. The wrangling code was provided by David Robinson. You will see that we smooth the distances across time to avoid having the points jump around too much.
library(tidyverse)
library(gganimate)
library(countrycode)
library(lubridate)
library(cluster)
library(broom)
library(ggrepel)
theme_set(theme_bw(base_size=16))
## Read in data and add country names. Change long names.
votes <- read_delim("https://github.com/datasciencelabs/data/raw/master/rawvotingdata13.tab", delim="\t")
votes <- votes %>% filter(vote <= 3) %>%
mutate(country = countrycode(ccode, "cown", "country.name"),
continent = countrycode(ccode, "cown", "continent"),
region = countrycode(ccode, "cown", "region"))
## some wrangling
mapping <- c("United States of America"="USA",
"United Kingdom of Great Britain and Northern Ireland"="UK",
"Republic of Korea"="South Korea",
"Democratic People's Republic of Korea"="North Korea",
"Lao People's Democratic Republic"="Laos",
"Yemen People's Republic"="South Yemen",
"Saint Vincent and the Grenadines"="Saint Vincent",
"Congo"="Congo Republic",
"Federal Republic of Germany"="Germany",
"Russian Federation"="Russia")
votes <- votes %>%
mutate(country = plyr::revalue(country, mapping)) %>%
separate(country, into = c("country", "extra"), sep=",",
fill="right")
## Read vote descriptions. Mainly to get "important" ones. Join with original data.
url <- "https://raw.githubusercontent.com/datasciencelabs/data/master/un-resolutions-descriptions.csv"
descriptions <- read_csv(url,
col_types = list(date =
col_date("%m/%d/%y")))
##from warning and looking at csv we see line 1843 has an extra "
descriptions[1483,"ec"] <-0
y <- year(descriptions$date)
year(descriptions$date) <- ifelse(y > 2030, y - 100, y)
descriptions <- descriptions %>%
filter(year(date) != 2015)
votes <- votes %>%
inner_join(descriptions) %>%
select(-yes, -no, -abstain)
## Computing Distance by year
##Start by keeping only countries that have voted enough
votes <- mutate(votes, year = year(date))
countries_to_keep <- votes %>% filter(!is.na(continent)) %>%
group_by(country) %>%
summarize(n=n()) %>%
mutate(percent = n/max(n)) %>% filter(percent>0.1 | country=="North Korea") %>%
.$country
get_dist <- function(dat, min_vote=0.70){
year <- dat$year
X <- select(dat, -year, -rcid) %>% as.matrix() %>% t()
voted <- rowMeans(!is.na(X))
index <- which(voted>min_vote)
d <- daisy(X[index,], metric="gower")
mds <- cmdscale(d)
## fix arbitray sign
if(mds["USA",1]<0) mds[,1]<- -mds[,1]
if(mds["USA",2]<0) mds[,2]<- -mds[,2]
data.frame(country=rownames(mds), PC1=mds[,1], PC2=mds[,2],
row.names = NULL, stringsAsFactors = FALSE)
}
## us loess to smooth distances
dat <- votes %>% filter(country%in%countries_to_keep) %>%
select(rcid, year, vote, country) %>%
spread(country, vote) %>%
group_by(year) %>%
do(get_dist(.)) %>% ungroup() %>%
group_by(country) %>%
do(augment(loess(PC1~year, span=1/3, degree=1,data=.), data=.)) %>%
mutate(PC1=.fitted) %>% select(-.fitted,-.se.fit) %>%
do(augment(loess(PC2~year, span=1/3, degree=1,data=.), data=.)) %>%
mutate(PC2=.fitted) %>% select(-.fitted,-.se.fit)
##add back contininent
dat <- votes %>% group_by(country) %>%
summarize(continent = continent[1], region=region[1]) %>%
right_join(dat, by="country")
##fix germany
dat <- dat %>%
mutate(continent=ifelse(country=="Germany", "Europe", continent))
## create regions
dat <- dat %>% mutate(group = continent) %>%
mutate(group = ifelse(region%in% c("Western Europe Eastern Europe","Caribbean","Southern Asia"), region, group))
## labels for select countries
labels <- c("Poland","France","USA","Russia","China","Germany","Cuba","Israel","Canada","Libya","North Korea","UK","Iran", "Australia")
## Now we make animation
p <- dat %>% ggplot(aes(frame = year)) +
geom_point(aes(PC1, PC2, fill=group),
pch=21, cex=4, alpha=.75) +
geom_text_repel(data = filter(dat,country%in%labels),
aes(PC1,PC2,label=country),
cex=5) +
theme(axis.ticks = element_blank(), axis.text = element_blank()) +
coord_fixed(ratio = 1) +
geom_text(aes(x=-0.38, y=0.35, label=year),
cex=30, color="grey") +
guides(fill=guide_legend(title=NULL))+
theme(plot.title = element_blank())
gganimate(p, filename = "un-dist.gif", interval=0.35, ani.width = 850)
I used to find it hard to understand how Random Forests can produce smooth estimates given that they are based on trees. The gif helps illustrate how this can happen. I use 2008 presidential election data because I assume it is mostly driven by a smooth trend but with a couple of sharp edges that loess, for example, won’t catch. Note that, because we only have one predictor, the gif does not illustrate another important feature of Random Forests: how the random feature selection reduces correlation between trees.
In the code you will see that I am using the old, not recommended way, of saving files and using a system call to convert.
library(tidyverse)
library(stringr)
library(lubridate)
library(tidyr)
library(XML)
library(rpart)
library(randomForest)
## read in 2008 election data
theurl <- paste0("http://www.pollster.com/08USPresGEMvO-2.html")
polls_2008 <- readHTMLTable(theurl,stringsAsFactors=FALSE)[[1]] %>%
tbl_df() %>%
separate(col=Dates, into=c("start_date","end_date"), sep="-",fill="right") %>%
mutate(end_date = ifelse(is.na(end_date), start_date, end_date)) %>%
separate(start_date, c("smonth", "sday", "syear"), sep = "/", convert = TRUE, fill = "right")%>%
mutate(end_date = ifelse(str_count(end_date, "/") == 1, paste(smonth, end_date, sep = "/"), end_date)) %>%
mutate(end_date = mdy(end_date)) %>% mutate(syear = ifelse(is.na(syear), year(end_date), syear + 2000)) %>%
unite(start_date, smonth, sday, syear) %>%
mutate(start_date = mdy(start_date)) %>%
separate(`N/Pop`, into=c("N","population_type"), sep="\ ", convert=TRUE, fill="left") %>%
mutate(Obama = as.numeric(Obama)/100,
McCain=as.numeric(McCain)/100,
diff = Obama - McCain,
day=as.numeric(start_date - mdy("11/04/2008")))
polls_2008 <- filter(polls_2008, start_date>="2008-06-01") %>%
group_by(X=day) %>%
summarize(Y=mean(diff))
set.seed(1)
path <- tempdir()
ntrees <- 50
sum <- rep(0,nrow(polls_2008))
res <- vector("list", ntrees)
XLIM <- range(polls_2008$X)
YLIM <- range(polls_2008$Y)
path <- tempdir()
for(i in 0:ntrees){
png(file.path(path,sprintf("plot%02d.png",i)), width = 480, height = 350)
rafalib::mypar(1,1)
if(i==0){
with(polls_2008, plot(X, Y, pch = 1, main="Data", xlim=XLIM,
ylim=YLIM,
xlab = "Days", ylab="Obama - McCain"))
} else{
ind <- sort(sample(1:nrow(polls_2008), replace = TRUE))
tmp <- polls_2008[ind,]
fit <- rpart(Y~X, data = tmp)
pred <- predict(fit, newdata = tmp)
res[[i]] <- data_frame(X = tmp$X, Y=pred)
pred <- predict(fit, newdata = polls_2008)
sum <- sum+pred
avg <- sum/i
with(tmp, plot(X,Y, pch=1, xlim=XLIM, ylim=YLIM, type="n",
xlab = "Days", ylab="Obama - McCain",
main=ifelse(i==1, paste(i, "tree"),paste(i, "trees"))))
for(j in 1:i){
with(res[[j]], lines(X, Y, type="s", col="grey", lty=2))
}
with(tmp, points(X,Y, pch=1))
with(res[[i]], lines(X, Y, type="s",col="azure4",lwd=2))
lines(polls_2008$X, avg, lwd=3, col="blue")
}
dev.off()
}
for(i in 1:5){
png(file.path(path,sprintf("plot%2d.png",ntrees+i)), width = 480, height = 350)
rafalib::mypar(1,1)
with(polls_2008, plot(X, Y, pch = 1, main="Final", xlim=XLIM, ylim=YLIM,
xlab = "Days", ylab="Obama - McCain"))
lines(polls_2008$X, avg, lwd=3, col="blue")
dev.off()
}
system(paste0("cd ",path,";convert -loop 0 -delay 50 *.png rf.gif; mv rf.gif ",getwd(),"/"))
After sharing the Simpson’s Paradox gif, a couple of people asked me if this was the same as the ecological fallacy. These two are different. The ecological fallacy is when we extrapolate high correlation seen for the average of strata to individuals. To illustrate this I used data from gapminder included in the dslabs
package. It shows logistic transformed infant survival rates versus log daily income. I start by showing a very high correlation at the region level and a lower correlation at the individual country level. This is because there is country to country variability within region.
The gif is just three plots. I saved them using RStudio’s Export tool used Animated GIF maker to create the gif.
The first shows the averages, the second shows the individual values for Sub-Saharan Africa so you can see how one average breaks into more variable data, and the third shows all the individual data. I highlighted a few countries that show the variability. Note that I used a colorblind friendly palette. The code is a bit complex because I have to wrangle the Gapminder data.
library(tidyverse)
library(ggrepel)
library(dslabs)
ds_theme_set()
## load data
data(gapminder)
west <- c("Western Europe","Northern Europe","Southern Europe",
"Northern America","Australia and New Zealand")
present_year <- 2010
## wrangle data and summarize
gapminder <- gapminder %>%
mutate(dollars_per_day = gdp/population/365)
gapminder <- gapminder %>%
mutate(group = case_when(
.$region %in% west ~ "The West",
.$region %in% "Northern Africa" ~ "Northern Africa",
.$region %in% c("Eastern Asia", "South-Eastern Asia") ~ "East Asia",
.$region == "Southern Asia"~ "Southern Asia",
.$region %in% c("Central America", "South America", "Caribbean") ~ "Latin America",
.$continent == "Africa" & .$region != "Northern Africa" ~ "Sub-Saharan Africa",
.$region %in% c("Melanesia", "Micronesia", "Polynesia") ~ "Pacific Islands"))
logit <- function(p) log(p/(1-p))
color_blind_friendly_cols <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
surv_income <- gapminder %>%
filter(year %in% present_year & !is.na(gdp) & !is.na(infant_mortality) & !is.na(group)) %>%
group_by(group) %>%
summarize(income = sum(gdp)/sum(population)/365,
infant_survival_rate = 1-sum(infant_mortality/1000*population)/sum(population))
### First plot
surv_income %>% ggplot(aes(income, infant_survival_rate, label = group, color = group)) +
scale_x_continuous(trans = "log2", limits = c(0.25, 150)) +
scale_y_continuous(trans = "logit", limit = c(0.875, .9981),
breaks = c(.85,.90,.95,.99,.995,.998)) +
geom_text_repel(size = 5, show.legend = FALSE) +
geom_point(size=4, show.legend = FALSE) +
ggtitle(paste("Correlation ≈", signif(with(surv_income,cor(log(income), logit(infant_survival_rate))),2))) +
xlab("Average dollars per day") +
ylab("Infant survival rate") +
scale_color_manual(values=color_blind_friendly_cols)
highlight <- c("Sierra Leone", "Mauritius", "Sudan", "Botswana", "Tunisia",
"Cambodia","Singapore","Chile", "Haiti", "Bolivia",
"United States","Sweden", "Angola", "Serbia")
## Third plot. I make before second because easier
tmp <- gapminder %>%
filter( year %in% present_year & !is.na(gdp) & !is.na(infant_mortality) & !is.na(group) ) %>%
mutate(infant_survival_rate = 1 - infant_mortality/1000)
tmp %>%
ggplot(aes(dollars_per_day, infant_survival_rate, col = group, label = country)) +
scale_x_continuous(trans = "log2", limits=c(0.25, 150)) +
scale_y_continuous(trans = "logit",limit=c(0.875, .9981),
breaks=c(.85,.90,.95,.99,.995,.998)) +
geom_point(alpha = 0.5, size = 3, show.legend = FALSE) +
geom_text_repel(size = 4, show.legend = FALSE,
data = filter(tmp, year %in% present_year & country %in% highlight)) +
ggtitle("Correlation < 1") +
xlab("Average dollars per day") +
ylab("Infant survival rate") +
scale_alpha_manual(values=c(1,1)) +
scale_color_manual(values=color_blind_friendly_cols) +
guides(colour = guide_legend(override.aes = list(alpha = 1)))
## second plot
tmp <- gapminder %>% filter( year %in% present_year & !is.na(gdp) & !is.na(infant_mortality) & !is.na(group) ) %>%
filter(group %in% "Sub-Saharan Africa") %>%
mutate(infant_survival_rate = 1 - infant_mortality/1000)
surv_income %>%
filter(!group %in% "Sub-Saharan Africa") %>%
ggplot(aes(income, infant_survival_rate, label = group, color = group)) +
scale_x_continuous(trans = "log2", limits = c(0.25, 150)) +
scale_y_continuous(trans = "logit", limit = c(0.875, .9981),
breaks = c(.85,.90,.95,.99,.995,.998)) +
geom_text_repel(size = 5, show.legend = FALSE) +
geom_point(size=4, show.legend = FALSE) +
xlab("Average dollars per day") +
ylab("Infant survival rate") +
scale_color_manual(values=color_blind_friendly_cols) +
geom_point(mapping=aes(dollars_per_day, infant_survival_rate, col = group), data =tmp, alpha = 0.5, size = 3, show.legend = FALSE) +
geom_text_repel(mapping=aes(dollars_per_day, infant_survival_rate, col = group, label = country),
size = 4, show.legend = FALSE,
data = filter(tmp, year %in% present_year & country %in% highlight))+
ggtitle(" ")
This simple animation shows, case by case, the results of applying a highly accurate diagnostic test to a population with low prevalence of disease. It helps illustrate how the posterior probability of having the disease given a positive test is lower than the accuracy of the test. You can use Bayes rule to determine the actual conditional probabilities. More details are here.
Because we are not plotting data but drawing a cartoon, the code is a bit complex and hard to read.
library(animation)
set.seed(2)
prev <- 1/20
acc <- 0.90
N <- 20; M <- 50
N_sick <- round(N*M*prev)
x<-sample(c(rep(1, N_sick), rep(0, N*M - N_sick)))
cols <- c("grey","red")
people <- expand.grid(1:M,N:1)
people2 <- expand.grid(1:round(M/2),N:(round(N/2)+1))
cols1 <- cols[x+1]
cols2 <- rep(NA, nrow(people2))
count2 <- 1
cols3 <- rep(NA, nrow(people2))
count3 <- 1
i <- 1
maxCount <- nrow(people2) + 1
saveGIF({
while(count2<=maxCount & count3<=maxCount){
test <- sample(100,1)
min <- round(100*acc)
rafalib::mypar()
layout(matrix(c(1,2,1,3),2,2), heights = c(1.75,1))
plot(people, col=cols1, pch=16, xaxt="n", yaxt="n", xlab="", ylab="",
main=paste0("Population: ",round(mean(x)*100),"% are red. ",
"Test accuracy is ", round(acc*100),"%"))
if(test>min){
axis(side=1, M/2, paste("Test",i,"Wrong"), col="red", tick=FALSE,
cex.axis=3,line=1)
} else{
axis(side=1, M/2, paste("Test",i,"Right"), col="black", tick=FALSE,
cex.axis=2,line=1)
}
points(people[i,], pch=1, cex=1.5)
if(all(is.na(cols2))){
plot(people2, type="n", pch=16, xaxt="n", yaxt="n", xlab="", ylab="",
main="Tested Positive")
} else{
plot(people2, col=cols2, pch=16, xaxt="n", yaxt="n", xlab="", ylab="",
main=paste0("Tested Positive: ",
round(mean(cols2=="red",na.rm=TRUE)*100),"% are red"))
}
if(all(is.na(cols3))){
plot(people2, type="n", pch=16, xaxt="n", yaxt="n", xlab="", ylab="",
main="Tested Negative")
} else{
plot(people2, col=cols3, pch=16, xaxt="n", yaxt="n", xlab="", ylab="",
main=paste0("Tested Negative: ",
round(mean(cols3=="red",na.rm=TRUE)*100,1),
"% are red"))
}
outcome <- ifelse(x[i]==1, as.numeric(test<=min), as.numeric(test>min))
if(outcome==0) {
cols3[count3] <- cols1[i]
count3<-count3+1
} else {
cols2[count2] <- cols1[i]
count2<-count2+1
}
i<-i+1
}
},'bayes.gif', interval = .1)
Finally, I made this plot to show the only instance in which pie charts are useful.
The code fits in a tweet.
saveGIF({
N=10
for(i in 0:(N-1)){
x <- cos(2*pi/N*i)
y <- x+1
z <- (y-2)*22.5
pie(c(y,8-y), col=c("white","yellow"), init.angle=135-z,
border=FALSE, labels=NA)
}
}, "pacman.gif", interval = 0.1)


Toggle navigation
Returning
View By Catagory
Action
Another action
Something else here
LinkA
LinkB
LinkC
One more separated link
Second
Tertiary
Submit
Shopping Cart
View History
My Account
Sign Up
Sign in
Sign out
Exit
make page opacity
Use 50% greyscale
Use 200% contrast
Clear Style
Aged
Grey
Fade
Moderate
Old
Shadow
Stamp
Wanted


| Package | Description |
|---|---|
| old.org.bouncycastle.cms | |
| old.org.bouncycastle.mail.smime |
| Modifier and Type | Method and Description |
|---|---|
CMSTypedStream |
CMSCompressedDataParser.getContent()
Deprecated.
use getContent(InputExpandedProvider)
|
CMSTypedStream |
CMSCompressedDataParser.getContent(InputExpanderProvider expanderProvider)
Return a typed stream which will allow the reading of the compressed content in
expanded form.
|
protected CMSTypedStream |
RecipientInformation.getContentFromSessionKey(Key sKey,
Provider provider) |
abstract CMSTypedStream |
RecipientInformation.getContentStream(Key key,
Provider provider)
Deprecated.
use getContentStream(Recipient) method
|
CMSTypedStream |
PasswordRecipientInformation.getContentStream(Key key,
Provider prov)
Deprecated.
use getContentStream(Recipient)
|
CMSTypedStream |
KeyTransRecipientInformation.getContentStream(Key key,
Provider prov)
Deprecated.
use getContentStream(Recipient) method
|
CMSTypedStream |
KeyAgreeRecipientInformation.getContentStream(Key key,
Provider prov)
Deprecated.
use getContentStream(Recipient) method
|
CMSTypedStream |
KEKRecipientInformation.getContentStream(Key key,
Provider prov)
decrypt the content and return an input stream.
|
CMSTypedStream |
RecipientInformation.getContentStream(Key key,
String provider)
Deprecated.
use getContentStream(Recipient) method
|
CMSTypedStream |
PasswordRecipientInformation.getContentStream(Key key,
String prov)
Deprecated.
use getContentStream(Recipient)
|
CMSTypedStream |
KeyTransRecipientInformation.getContentStream(Key key,
String prov)
Deprecated.
use getContentStream(Recipient) method
|
CMSTypedStream |
KeyAgreeRecipientInformation.getContentStream(Key key,
String prov)
Deprecated.
use getContentStream(Recipient) method
|
CMSTypedStream |
KEKRecipientInformation.getContentStream(Key key,
String prov)
decrypt the content and return an input stream.
|
CMSTypedStream |
RecipientInformation.getContentStream(Recipient recipient)
Return a CMSTypedStream representing the content in the EnvelopedData after recovering the content
encryption/MAC key using the passed in Recipient.
|
CMSTypedStream |
CMSSignedDataParser.getSignedContent() |
| Constructor and Description |
|---|
CMSSignedDataParser(CMSTypedStream signedContent,
byte[] sigBlock) |
CMSSignedDataParser(CMSTypedStream signedContent,
InputStream sigData)
base constructor
|
| Modifier and Type | Method and Description |
|---|---|
static FileBackedMimeBodyPart |
SMIMEUtil.toMimeBodyPart(CMSTypedStream content)
return a file backed MimeBodyPart described in
CMSTypedStream content. |
static FileBackedMimeBodyPart |
SMIMEUtil.toMimeBodyPart(CMSTypedStream content,
File file)
Return a file based MimeBodyPart represented by content and backed
by the file represented by file.
|
Copyright © 2015. All rights reserved.


Top: Basic types: variant: Arrays
#include <ptypes.h> void aclear(variant& a);
variant aclone(const variant& a); void put(variant& a, <key>, const variant& item); const variant& get(const variant& a, <key>); const variant& variant::operator [](<key>) const; void del(variant& a, <key>); bool anext(const variant& array, int& index, variant& item, [ string& key ]);
A variant object can hold an associative array of variants. The variant changes its type to an array as soon as put() or aclear() is called for an object. When assigning variants, only a reference to an array is being copied, which means, modifying an array through one variant object affects all other objects that hold a reference to the same array. To duplicate the contents of an array use aclone().
Variant arrays can associate values with either strings or integers (32 or 64 bit). Integer keys are not required to be consecutive. It should be noted that in the current implementation there is no difference in performance between these two methods. Both methods can be mixed in one array.
PTypes uses reference counting on arrays to properly clean up unused dynamic structures. However, since variant arrays may recursively contain arrays and in some situations there may be a circular reference, it is possible to have memory leak when using such structures. Since PTypes does not provide garbage collection (e.g. like in Java), compound variant data structures should be designed so that variants never reference each other circularly.
void aclear(variant& a) clears the variant array. This function may affect other variant objects holding a reference to the same array data.
variant aclone(const variant& a) creates a copy of an array or creates an empty array if a is of any other variant type. If a contains variant arrays as elements, only their references are being copied.
void put(variant& a, <key>, const variant& item) associates item with key in the variant array a. Key can be either a string or an integer. The previous value associated with this key, if any, is replaced with the new value. If item is an unassigned variant, the new value is not stored in the array.
const variant& get(const variant& a, <key>) retrieves an element associated with key in the array a. If the element does not exist, or a is not an array, this function returns an unassigned variant (a reference to nullvar). Key can be either a string or an integer. Variant arrays use hashing to retrieve elements by keys.
const variant& variant::operator [](<key>) equivalent to get(). This operator can be used only for retrieving elements.
void del(variant& a, <key>) removes the element associated with key from the array a. Does nothing if the element does not exist or a is not an array. Equivalent to calling put() with an unassigned variant item.
bool anext(const variant& a, int& index, variant& item, [ string& key ]) iterates through array elements (please see examples in the introduction to variants). Each time anext() is called it assigns the next item in the array to item and optionally assigns its key value to key. Index must be zero when calling this function first time. If there are no items left in the array, or a is not an array, this function returns false.
See also: string, Assignments and typecasts, Object references, Utilities


Hi, philippeback! Welcome to Amber project: "GDev".
This is the place for your application's HTML. After getting familiar with Amber, just remove this welcome contents from index.html and replace it with your own.


Steam Community
Connection is secure
Your information (for example, passwords or credit card numbers) is private when it is sent to this site.
Click


Wait until the editor is loaded to open a SCESIM file:
Create new diagram
Import SCESIM
Import DMN
When you are ready you can


http://github.com/IanField90/DevStat
I'm open to suggestions for improvements on Github! Feel free to fork and adjust as you like.
Icon design thanks to @markmassarik


Java library that allows the use of a jQuery-like native interface for Selenium WebDriver.
Example snippet:
// getting the value
String oldStreet = $("input.street").val();
// setting the value
$("input.street").val("4th St!");
Allows querying elements by XPath, CSS Selectors and even some jQuery/Sizzle enhancements, such as :eq()
, :not()
and others!
Built using Selenium WebDriver’s native capabilities only:
- No jQuery.js
is embedded at the page, no side-effects are generated;
- Works predictably and exactly the same with any (including legacy, old JSF) system;
- Doesn’t matter if the page uses jQuery or not (or even if the JavaScript global variable $
is other library like Prototype.js
).
- Capable of testing JavaScript-disabled pages
- Test pages that use Unobtrusive JavaScript!
- Most functions don’t even require a browser/driver with JavaScript enabled!
- (Exceptions are functions like .trigger()
which obviously requires JavaScript on the browser.)
Try it out now with the running example below:
import static org.openqa.selenium.seleniumquery.SeleniumQuery.$; // this will allow the short syntax
import org.openqa.selenium.firefox.FirefoxDriver;
public class SeleniumQueryExample {
public static void main(String[] args) {
$.browser.setDefaultDriver(new FirefoxDriver()); // sets the driver used by $()
$.location.href("http://www.google.com"); // opens a page
$("input[name='q']").val("selenium");
$("button[name='btnG']").click();
System.out.println($("#resultStats").text());
// Besides the short syntax and the useful assumptions, the most useful capabilities of
// seleniumQuery are the .waitUntil. functions, especially handy for Ajax handling:
/*
$("input[name='q']").waitUntil().is(":not(:present)");
*/
// The line above throws an exception as that input never goes away in google.com.
$.browser.quitDefaultBrowser(); // quits the firefox driver
}
}
To get seleniumQuery’s latest snapshot, add this to your pom.xml
:
<!-- The project dependency -->
<dependencies>
<dependency>
<groupId>com.github.fervet</groupId>
<artifactId>seleniumquery</artifactId>
<version>0.4.0-RC3</version>
</dependency>
</dependencies>
<!-- The repository URL, so maven can download it directly -->
<repositories>
<repository>
<id>Repo for seleniumQuery</id>
<url>https://raw.github.com/fervet/snapshots-repository/master</url>
</repository>
</repositories>
Make your code/tests more readable and easier to maintain. Leverage your knowledge of jQuery.
// Instead of regular Selenium code:
WebElement element = driver.findElement(By.id("mySelect"));
new Select(element).selectByVisibleText("Ford");
// You can have the same effect writing just:
$("#mySelect").val("Ford");
Other important feature is the leverage of WebDriver
’s FluentWait
capabilities directly in the element through the use of .waitUntil()
and .queryUntil()
:
“`
/*
* Selenium WebDriver cannot natively detect the end of an Ajax call.
* To test your application behaviour, you can/should work with the Ajax’s expected effects.
*
* Below is an example of a
// Or, fluently:
$(“#ajaxDiv”).click().waitUntil().is(“:not”).visible();
““`


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import play.api.libs.json.{JsArray, JsDefined, JsLookupResult, JsObject, JsUndefined, JsValue, Json, JsBoolean} @(params: Map[String, Any]) @allItems = @{params("tpsPaymentItemsForEmail") match { case items:String => Json.parse(items).as[List[JsObject]] case _ => List() }} @itemList = @{ allItems.map( item => { val taxType: String = (item \ "taxType").as[String] val amount: String = (item \ "amount").as[String] val transactionFee: String = (item \ "transactionFee").as[String] val transactionNumber = (item \ "transactionNumber").as[String] (taxType, amount, transactionFee, transactionNumber) }) } @singleItem = @{itemList.size == 1} @uk.gov.hmrc.hmrcemailrenderer.templates.helpers.html.template_main(params, "You sent a payment to HMRC") {
Dear Customer
@if(singleItem){Thank you for making a telephone payment. The following payment has been received by HMRC.
} @if(!singleItem){Thank you for making a telephone payment. The following payments have been received by HMRC.
}| Tax | Amount Paid | Transaction fee | Transaction Number |
| @taxType | £@amount | £@transactionFee | @transactionNumber |
| Total amount paid | £@params("totalAmountPaid") |
|---|---|
| Card details | Paid with @params("cardType"), ending in @params("cardNumber") |
| Transaction Reference | @params("transactionReference") |
If you have an online tax account your payment will take 3 to 5 days to show in your account.
You chose to receive an email about your payment.
From HM Revenue and Customs
}


Inflatable lumbar back support that makes travel a lot easier
by Jason WeisbergerI do not like to travel without my McKenzie AirBack.
The self-inflating McKenzie AirBack makes travel a lot more comfortable. This pillow allows me to move around the globe without awful backpain.
I have long felt the massive amounts of flying about the globe I did in my late-20s and 30s heavily contributed to the terrible problems I have with my lowerback. Bad seats, bad posture and absolutely no clue that the things I was doing would later hobble me. Decent lumbar support would have made the travel much less destructive.
The McKenzie AirBack is made of great materials, lasts until I lose and is the best shape I've found for a lumber travel pillow. The taper of the McKenzie's hourglass shape seems to wedge well into mosts seats. The pillow doesn't move about.
I fidget. Other pillows will squirt out of place as I move about. The AirBack stays where I need it.
The Original McKenzie® Self-Inflating AirBack Lumbar Support via Amazon


Come look at all nature your state doesn't have. Seriously. You'll love it so much you'll move here, but don't... just visit.
Bacon ipsum dolor amet fatback meatball pork belly, short ribs jowl drumstick turkey ham pork loin filet mignon doner. Filet mignon pork shankle, bresaola meatloaf kevin rump sausage. Frankfurter tenderloin ham short ribs hamburger rump corned beef pastrami bacon short loin doner chicken pancetta. Beef ham pork loin shoulder. Landjaeger shankle turkey ribeye tri-tip shoulder pancetta meatball frankfurter jowl short ribs pork bacon. Short ribs pancetta brisket pork chop pastrami frankfurter.
Bacon ipsum dolor amet fatback meatball pork belly, short ribs jowl drumstick turkey ham pork loin filet mignon doner. Filet mignon pork shankle, bresaola meatloaf kevin rump sausage. Frankfurter tenderloin ham short ribs hamburger rump corned beef pastrami bacon short loin doner chicken pancetta. Beef ham pork loin shoulder. Landjaeger shankle turkey ribeye tri-tip shoulder pancetta meatball frankfurter jowl short ribs pork bacon. Short ribs pancetta brisket pork chop pastrami frankfurter.
Bacon ipsum dolor amet fatback meatball pork belly, short ribs jowl drumstick turkey ham pork loin filet mignon doner. Filet mignon pork shankle, bresaola meatloaf kevin rump sausage. Frankfurter tenderloin ham short ribs hamburger rump corned beef pastrami bacon short loin doner chicken pancetta. Beef ham pork loin shoulder. Landjaeger shankle turkey ribeye tri-tip shoulder pancetta meatball frankfurter jowl short ribs pork bacon. Short ribs pancetta brisket pork chop pastrami frankfurter.
Bacon ipsum dolor amet fatback meatball pork belly, short ribs jowl drumstick turkey ham pork loin filet mignon doner. Filet mignon pork shankle, bresaola meatloaf kevin rump sausage. Frankfurter tenderloin ham short ribs hamburger rump corned beef pastrami bacon short.


Page maintained by Ke-Sen Huang.
If you have additions or changes, send an e-mail.
Note that when possible I link to the page containing the link to the actual PDF or PS of the preprint.
I prefer this as it gives some context to the paper and avoids possible copyright problems with direct linking.
Thus you may need to search on the page to find the actual document.
Changelog
Shape
- Twinned Meshes for Dynamic Triangulation of Implicit Surfaces
-
Antoine Bouthors,
Matthieu Nesme
- Constrained Planar Remeshing for Architecture
-
Barbara Cutler,
Emily Whiting
- Analysis of Segmented Human Body Scans
-
Pengcheng Xi,
Won-Sook Lee,
Chang Shu
- Improved Surface Construction for Freeform Modeling
-
Florian Levet,
Xavier Granier
- Surface Distance Maps
-
Avneesh Sud,
Naga Govindaraju,
Russell Gayle,
Erik Andersen,
Dinesh Manocha
NPR and Sketching
- Calligraphic Packing
-
Jie Xu,
Craig S. Kaplan
- A Method for Cartoon-Style Rendering of Liquid Animations
-
Ashley Eden,
Adam Bargteil,
Tolga Goktekin,
Sarah Beth Eisinger,
James O'Brien
- GPU-based Rendering and Animation for Chinese Painting Cartoon
-
Manli Yuan,
Xubo Yang,
Shuangjiu Xiao,
Zheng Ren
- Magic Canvas: Interactive Design of a 3-D Scene Prototype from Freehand Sketches
-
HyoJong Shin,
Takeo Igarashi
- Can Smooth View Transitions Facilitate Perceptual Constancy in Node-Link Diagrams?
-
Christel Kemke,
Pourang Irani,
Carl Gutwin
Input and Interaction
- Design as Traversal and Consequences: An Exploration Tool for Experimental Designs
-
Christopher G. Jennings,
Arthur E. Kirkpatrick
- A Mixing Board Interface for Graphics and Visualization Applications
-
Matthew Crider, Steven Bergner, Thomas Smyth,
Torsten Moller,
Arthur E. Kirkpatrick, Melanie Tory
- Eyes on the Road, Hands on the Wheel: Thumb-based Interaction Techniques for Input on Steering Wheels
-
Ivan Gonzalez,
Jacob O. Wobbrock,
Duen Horng Chau, Andrew Faulring, Brad A. Myers
- TwoStick: Writing with a Game Controller
-
Thomas Költringer,
Poika Isokoski,
Thomas Grechenig
- Pointer Warping in Heterogeneous Multi-Monitor Environments
-
Hrvoje Benko,
Steven Feiner
User Interfaces and UI Design
- BlueTable: Connecting Wireless Mobile Devices on Interactive Surfaces Using Vision-Based Handshaking
-
Andy Wilson,
Raman Sarin
- Jump: A System for Interactive, Tangible Queries of Paper
-
Michael Terry,
Janet Cheung,
Justin Lee, Terry Park, Nigel Williams
- Animation in a Peripheral Display: Distraction, Appeal, and Information Conveyance in Varying Display Configurations
-
Christopher Plaue,
John Stasko
- Should I Call Now? Understanding What Context is Considered When Deciding Whether to Initiate Remote Communication via Mobile Devices
-
Brian Bailey,
Ed De Guzman,
Moushumi Sharmin
- Location-Dependant Information Appliances for the Home
-
Kathryn Elliot,
Mark Watson,
Carman Neustaedter,
Saul Greenberg">Saul Greenberg
Real-Time Rendering
- Fitted Virtual Shadow Maps
-
Markus Giegl,
Michael Wimmer
- Wavelet Encoding of BRDFs for Real-Time Rendering
-
Luc Claustres,
Loic Barthe,
Mathias Paulin
- Packet-based Whitted and Distribution Ray Tracing
-
Solomon Boulos,
Dave Edwards,
J Dylan Lacewell,
Joe Kniss,
Jan Kautz,
Ingo Wald,
Peter Shirley
- Interactive Refractions with Total Internal Reflection
-
Scott T. Davis,
Chris Wyman
Collaboration and Communication
- The Effects of Interaction Techniques on Coordination and Conflict in Tabletop Groupware
-
Miguel Nacenta,
David Pinelle,
Dane Stuckel,
Carl Gutwin
- A Digital Family Calendar in the Home: Lessons from Field Trials of LINC
-
Carman Neustaedter,
A.J. Brush,
Saul Greenberg
- Understanding the Design Space of Referencing in Collaborative Augmented Reality Environments
-
Jeffrey Chastine,
Kristine Nagel,
Ying Zhu,
Luca Yearsovich
- PrivateBits: Managing Visual Privacy within Web Browsers
-
Kirstie Hawkey,
Kori Inkpen
- Progressive Multiples for Communication-Minded Visualization
-
Doantam Phan,
Andreas Paepcke,
Terry Winograd
Images
- Robust Pixel Classification for 3D Modeling with Structured Light
-
Yi Xu,
Daniel G. Aliaga
- Real-time Backward Disparity-based Rendering for Dynamic Scenes using Programmable Graphics Hardware
-
Minglun Gong,
Jason M. Selzer,
Cheng Lei,
Yee-Hong Yang
- Optimized Tile-Based Texture Synthesis
-
Weiming Dong, Ning Zhou,
Jean-Claude Paul
- Improved Image Quilting
-
Jeremy Long,
David Mould
- On Visual Quality of Optimal 3D Sampling and Reconstruction
-
Tai Meng,
Benjamin Smith, Alireza Entezari, A rthur E. Kirkpatrick,
Daniel Weiskopf,
Leila Kalantari,
Torsten Moller
Visualization
- Feature Peeling
-
Muhammad Muddassir Malik,
Torsten Möller,
Meister Eduard Gröller
- Visualization and Exploration of Spatio-temporal Medical Image Data Sets
-
Zhe Fang,
Torsten Moller,
Ghassan Hamarneh,
Anna Celler
- Point-based Stream Surfaces and Path Surfaces
-
Tobias Schafhitzel,
Eduardo Tejada,
Daniel Weiskopf,
Thomas Ertl
- Isochords: Visualizing Structure in Music
-
Tony Bergstrom,
Karrie Karahalios,
John C. Hart
Meshes and Compression
- A GPU Based Interactive Modeling Approach to Designing Fine Level Features
-
Xin Huang, Sheng Li,
Guoping Wang
- Adapting Wavelet Compression to Human Motion Capture Clips
-
Philippe Beaudoin,
Pierre Poulin,
and Michiel van de Panne
- Stretch-based Tetrahedral Mesh Manipulation
-
Wenhao Song,
Ligang Liu
- Spectral Graph-Theoretic Approach to 3D Mesh Watermarking
-
Emad Abdallah,
Abdessamad Ben Hamza,
Prabir Bhattacharya
- Optimized Subdivisions for Preprocessed Visibility
-
Oliver Mattausch,
Ji?i Bittner,
Peter Wonka,
Michael Wimmer
kesen.huang@gmail.com


Freeplay Data is a consulting service available on a contract basis. We provide artificial intelligence solutions in the general areas of machine learning, data science, vision, natural language processing, planning and scheduling, and predictive analytics.
We are always open to new partnerships with any size of business looking to develop a new product or capability by leveraging artificial intelligence technology.
If a problem is simple enough, we are happy to use a pre-packaged solution straight off the shelf to get quick solution. But for problems with real-world challenges in the scale, complexity, or idiosyncracy of data, our depth of expertise goes beyond online AI tutorials and highly scripted demos to deliver high-quality custom solutions.
Academic research often starts with an improved capability, and only then posits a motivating application. In industry, applications come first, but it's hard to identify novel opportunities leveraging future capabilities. Freeplay adopts a collaborative approach to discovery that respects business requirements while clearly communicating technological opportunities.
Freeplay Data is not a startup and does not chase venture investment by targeting high-visibility technologies or engaging demos at the expense of clarity of purpose or substance in work. Success is determined only by the satisfaction of partners through specific measurable outcomes defined over rigorously formulated problems.
To find out how Freeplay Data can solve your problem, please provide your name and email below:


|
SideCar
|
Class that holds information about a particular recording. More...
#include </Users/howes/src/sidecar/GUI/Master/RecordingInfo.h>
Public Slots | |
| void | infoChanged () |
Signals | |
| void | configChanged () |
| void | statsChanged () |
Public Member Functions | |
| RecordingInfo (RecordingController &controller, const QString &name, const QTime &duration) | |
| Constructor. More... | |
| RecordingInfo (RecordingController &controller, const QDir &recordingDir) | |
| ~RecordingInfo () | |
| Destructor. More... | |
| void | addConfiguration (const QString &configName) |
| void | addRecordingDirectory (const QDir &recordingDir) |
| const QStringList & | getConfigurationNames () const |
| Obtain the configuration names that make up the recording. More... | |
| const QStringList & | getRecordingDirectories () const |
| const QString & | getName () const |
| QString | getStartTime () const |
| QString | getFormattedStartTime () const |
| const QString & | getElapsedTime () const |
| QString | getFormattedElapsedTime () const |
| const QString & | getRemainingTime () const |
| bool | isDone () const |
| Determine if this recording is finished. More... | |
| void | showNotesWindow () |
| Show the NotesWindow window associated with this recording. | |
| void | closeNotesWindow () |
| void | start (const QStringList &changes) |
| void | addChangedParameters (const QStringList &changes) |
| void | addAlerts (const QStringList &alerts) |
| bool | hasDurationPassed (const QString &now) |
| Determine if the set duration has passed for this recording. More... | |
| void | recordingStopped () |
| bool | wasRadarTransmitting () const |
| QString | getRadarFreqency () const |
| bool | wasRadarRotating () const |
| QString | getRadarRotationRate () const |
| bool | wasDRFMOn () const |
| QString | getDRFMConfig () const |
| QString | getBoolAsString (bool value) const |
| int | getDropCount () const |
| int | getDupeCount () const |
| void | updateStats (int dropCount, int dupeCount) |
Class that holds information about a particular recording.
Each recording started by the RecordingController gets its own RecordingInfo object, which is shown in the RecordingsView table.
Definition at line 20 of file RecordingInfo.h.
| RecordingInfo::RecordingInfo | ( | RecordingController & | controller, |
| const QString & | name, | ||
| const QTime & | duration | ||
| ) |
Constructor.
| parent | container hosting the widget |
| filter | |
| duration | |
| dir |
Definition at line 16 of file RecordingInfo.cc.
References SideCar::GUI::MainWindowBase::initialize().
| RecordingInfo::~RecordingInfo | ( | ) |
|
inline |
Obtain the configuration names that make up the recording.
Definition at line 52 of file RecordingInfo.h.
Referenced by SideCar::GUI::Master::RecordingController::Log(), SideCar::GUI::Master::MainWindow::MainWindow(), and SideCar::GUI::Master::NotesWindow::NotesWindow().
| bool RecordingInfo::hasDurationPassed | ( | const QString & | now | ) |
Determine if the set duration has passed for this recording.
Definition at line 142 of file RecordingInfo.cc.
Referenced by isDone(), and SideCar::GUI::Master::RecordingController::Log().
|
inline |
Determine if this recording is finished.
Definition at line 78 of file RecordingInfo.h.
References hasDurationPassed(), and showNotesWindow().
Referenced by SideCar::GUI::Master::RecordingController::Log().


| Interface | Description |
|---|---|
| MessageListener | |
| MessageSender |
| Class | Description |
|---|---|
| BootstrapDalvik | |
| BootstrapFactory | |
| BootstrapHotSpot | |
| Encoder |
handles all encoding and decoding of MRL messages or api(s) assumed context -
services can add an assumed context as a prefix
/api/returnEncoding/inputEncoding/service/method/param1/param2/ ...
|
| Inbox | |
| Index<T> | |
| IndexNode<T> | |
| Message | |
| MessageFormatter | |
| MethodCache |
A cache for methods.
|
| MethodEntry | |
| MRLListener | |
| ObjectCloner | |
| Outbox | |
| Peers | |
| Platform | |
| PreLogger | |
| RoutingEntry | |
| Service |
Service is the base of the MyRobotLab Service Oriented Architecture.
|
| ServiceEnvironment |
ServiceEnvironment represents a instance of MRL with a null URI it will be
the local instance any !null instance represents a foreign instance
|
| ServiceReservation |
ServiceRegistration is a data object containing information regarding a
"peer" service within a "composite" service.
|
| SOAP | |
| Status |
WARNING - this class used to extend Exception - but the gson serializer would stack overflow
with self reference issue
|
| StopWatch | |
| Task |
| Exception | Description |
|---|---|
| Errors | |
| MRLError |
| Annotation Type | Description |
|---|---|
| ToolTip |


--- layout: post permalink: buyingbarstools.html Tags: Array NameOfCoupon: Buying-Bar-Stools Cash Back Summary: See our Buying-Bar-Stools Coupon Code, Buying-Bar-Stools Rebate, Buying-Bar-Stools Promo Code, Buying-Bar-Stools Discount, Buying-Bar-Stools Coupon Cash Back Rebate here. MetaKeywords: Buying-Bar-Stools Coupon Code, Buying-Bar-Stools Rebate, Buying-Bar-Stools Promo Code, Buying-Bar-Stools Cash Back Rebate, Buying-Bar-Stools Discount, Buying-Bar-Stools Coupon Image: images/22569.gif LinkURL: http://www.shareasale.com/r.cfm?b=177999&u=412002&m=22569 affiliate_url_link: http://www.icouponblog.com/jane.php?id=2608 thesis_readmore: See the Buying-Bar-Stools Coupon thesis_thumb: http://www.icouponblog.com/tn.php?merchantURL=buying-bar-stools.com Title: Save 5% - Buying-Bar-Stools Coupon Code for buying-bar-stools.com. Buying-Bar-Stools Rebate & Discount thesis_description: Our Buying-Bar-Stools Discount Coupon Code for buying-bar-stools.com. We have the best Buying-Bar-Stools Rebate anywhere. thesis_keywords: Buying-Bar-Stools, Buying-Bar-Stools Coupon Code, Buying-Bar-Stools Discount, Buying-Bar-Stools Rebate product_name: Buying-Bar-Stools hop_url: http://www.icouponblog.com/hop.php?id=2608 ---
If you are looking to buy barstools for your family room, kitchen or game room, Buying-Bar-Stools is the place to check out. Buying-Bar-Stools are one of the largest barstool companies that have been providing excellent products and are a recognized leader in providing top quality bar stools and entertainment furniture. For high quality and low priced barstools, shop at Buying-Bar-Stools today. Use our discount coupon to get a great product.
Visit Buying-Bar-Stools and you will be amazed at the large selection of barstools available online. You can get them in wood, oak, chrome, leather, fabric and so much more. Get the best price and product at Buying-Bar-Stools. Add class and beauty to your den, kitchen or gaming room. Buy from Buying-Bar-Stools and get the barstool of your dreams. Buying-Bar-Stools have the best quality products available. With Buying-Bar-Stools you don’t have to sacrifice quality to get a great price.
Buying-Bar-Stools carries the best quality bar stools at amazing prices. There is a big selection of barstools to choose from.  You will be able to navigate freely and find products that suit your pocket and taste. Check out Buying-Bar-Stools online and get the barstool of your dreams. Our cash back rebate coupons will absolutely delight you.


 I love you terrorist pepe
p.05-Aug-19 07:39 PM
love u too pal
for me the bottom is already close enough if thats the case
so ride or die
but will market sell in 1 second
Lumbi05-Aug-19 07:40 PM
forgot the '/s'
3
hyperDEX05-Aug-19 08:18 PM
@Markus dont feed the birds
The amount of time @Caglio and @p. spends in here can be better spent on socials as it would help the project.
I would say just dump and be done with it. Go enjoy life.(edited)
Neko05-Aug-19 08:23 PM
@Markus is one of the reasons I still visit this channel
After only a few weeks of being announced as our partner, @Dashpay is already top crypto on @travalacom! Only behind BTC and their native AVA!! Many thanks to the https://t.co/K8ssq2HMF9 team!  I dont get paid to do this. I do what i do because i believe in the tech. If you dont believe in it just dump. @Caglio it does not help to complain daily about something we cannot control.(edited)
1
p.05-Aug-19 08:40 PM
does not help to complain daily about something we cannot control
pfffff
Caglio05-Aug-19 08:40 PM
Well i feel much better this way, I dont think about almost 8 k I lost by holding such a wonderful coin
hyperDEX05-Aug-19 08:41 PM
I bought in the 80k region if that makes you feel any better?
p.05-Aug-19 08:41 PM
it does
hyperDEX05-Aug-19 08:41 PM
Cool
p.05-Aug-19 08:41 PM
no wonder why they dont pay you
Caglio05-Aug-19 08:42 PM
They spent all money on marketing team
hyperDEX05-Aug-19 08:42 PM
It does help that i bought BTCD too
Caglio05-Aug-19 08:42 PM
bitcoin diamond ?
Well you arent the best trader out there obviously
bitcoin diamond and komodo
2
now I am even more afraid I will never see that money back
Alexfrog05-Aug-19 08:44 PM
i think he meant bitcoin dark
Caglio05-Aug-19 08:44 PM
And just one question, a lot of people over here says: I am in here for tech
Cant you be in here for tech without spending money ?
I mean fuck being in for tech if it costs me 10 grand
Thats some shitty tech if it gives you losses
p.05-Aug-19 08:45 PM
hmmm idk about that one cagz
its speculative early risky investments
if u lose too much its oour fault imo
its the state of the market
Caglio05-Aug-19 08:46 PM
I agree
p.05-Aug-19 08:46 PM
but still the common opinion about this project is lack of marketing and activity
Caglio05-Aug-19 08:46 PM
But wont the new web page help us ?
I really want know how many clicks that web page had
p.05-Aug-19 08:46 PM
this chat should not be silent for 10 hours plus
Tek05-Aug-19 08:46 PM
muh tech
1
Caglio05-Aug-19 08:46 PM
I mean not our clicks here, but others
Maybe 200
It was worth it
Tek05-Aug-19 08:47 PM
We so great
gets hacked
Caglio05-Aug-19 08:47 PM
( :
Tek05-Aug-19 08:48 PM
I fell for the > kmd best tech meme
Now I'm sitting here with bags
Caglio05-Aug-19 08:48 PM
Me 2
hahaha
sleeping dragon
p.05-Aug-19 08:48 PM
shot with white walker spear
Caglio05-Aug-19 08:48 PM
hahaha
Tek05-Aug-19 08:49 PM
I noticed one of the best tech features soon
Caglio05-Aug-19 08:49 PM
I remember that 25 k : good entry points, buy dip
bahahah
Tek05-Aug-19 08:49 PM
When I sent kmd to binance
And has to wait for 4 hours or so
Caglio05-Aug-19 08:49 PM
Yeah me 2
Tek05-Aug-19 08:49 PM
muh tech so great
Caglio05-Aug-19 08:49 PM
just 2 hours to send coin
best tech ever
Tek05-Aug-19 08:49 PM
muh we the best
Caglio05-Aug-19 08:49 PM
top 10 coin easy
Tek05-Aug-19 08:50 PM
you can pay merchants with kmd !!!


{% extends 'base.html' %} {% block title_extension %} - Schools/ Organizations{% endblock %} {% block content %}
You may also create a new organization, and start developing your own set of competencies.


Skip to main content
GOV.UK
Gender pay gap reporting
BETA
This is a new service.
Service Unavailable
The service is currently undergoing maintenance.
Please try again later.


Sasha-Lee Olivier's Miss World campaign aims to support sexual assault survivors
Johannesburg – South Africa's Miss World representative Sasha-Lee Olivier on Monday revealed her Beauty with a Purpose campaign for the international pageant at a conference in Sandton, Johannesburg.
The beauty queen, who placed second at the Miss South Africa 2019 pageant, unveiled her #ItsNotYourFault campaign which aims to support victims of sexual abuse.
 Those who have suffered at the hands of the predators feel responsible for their own abuse and are profoundly ashamed of what is happening, or has happened, to them. We need to desperately change the status quo regarding this – the shame does not belong to the victim at all."
As part of her campaign, she will distribute "Rape Comfort Packs" to victims of sexual assault. "I hope these Rape Comfort Packs provide many basic hygiene products, a teddy bear, sugar, and a personalised card assuring them the attack is not their fault – offering a moment of dignity to the wounded soul in what possibly could be the worst moments of their lives," she explains.
The comfort packs seek to support victims on an emotional level "as that was one of the things she [Sasha-Lee] wished for when reporting her case," the statement reads.
The 2019 Miss World pageant takes place on 14 December in London. Should Sasha-Lee bring home the Miss World title, she will run with her #ItsNotYourFault campaign throughout her reign with the backing of the Miss World organisation.
Compiled by Nikita Coetzee


This is the partial for Electron View.
Showing of 'interpolate' filter: {{ 'Current version is v%VERSION%.' | interpolate }}


Spread a new Virus!
Name
Description
Side Effects
Creator
Is Deadly?
Is Curable?
Turn Over Rate
Hours Until Turn
Magnitude
Low
Medium
High
Released On
Affected Capitals
Spread!


Man Utd Target: I Sleep With My Hat-Trick Balls In My Bed
by Kurt BuckerfieldOne of most sought-after wonderkids in Europe, who is reportedly on Manchester United's radar and has been compared to Zlatan Ibrahimovic, has claimed he sleeps with his hat-trick balls in his bed at night.
8 Messi Vs Ronaldo Stats That Might Surprise You
Red Bull Salzburg forward Erling Haaland, 19, has struck five hat-tricks across all competitions for the Austrian club already this season, taking home a match ball for each treble.

Post Selfies On Soccer Laduma's Social Media App & Earn Airtime and more!
"I lie in bed and I feel good with them.
"I look at them every day. They are my girlfriends."
13 Players Who've Scored 50 Free-Kicks Or More
Haaland has been chased by several top clubs across Europe, with United, Manchester City, Real Madrid and FC Barcelona believed to be interested in securing his signature.
The teenager has scored 26 goals and assisted a further six strikes in 18 matches for Salzburg so far this season so.


Is your cloud provider right for your business?
The BigBitBus API compares public cloud providers and/or your private data-center cloud deployment based on Openstack, VMware, Opennebula and bare-metal for every application your organization has deployed. Get customized, data-driven recommendations about price and performance of your applications on different cloud providers.
We are not affiliated with any cloud provider and provide vendor-independent recommendations based only on your specific setup.
Is there a business-case to migrate to another cloud?
Cloud provider pricing, technology and trends are incredibly dynamic across {Infrastructure, Platform and Software}-as-services. Our API and professional services help you continiously track whether there is a strong business case to migrate some or all of your applications to another cloud provider and quantify the costs and opportunities at play for your situation. Improve application performance, adopt emerging architectures, and cut cloud costs while knowing that your decision making is grounded on reliable data.
Can your applications be optimized to increase your RoI within your chosen cloud?
Cloud providers are incredibly innovative and their service mix is constantly evolving. Your cloud service choices should be periodically revisited to benefit from innovation, reduce waste, and synchronize cloud usage with business objectives.
BigBitBus APIs constantly export the latest performance and pricing information for your cloud so you can action changes to your applications every time your cloud provider shifts gears. Our experts can also audit your private or public cloud applications and provide customized recommendations to increase your cloud RoI.
Do you require consulting services in containers, cloud and big data technologies?
We provide North-America-based consulting services in infrastructure-as-code, devops, containerization, full-stack development and mapping business processes to cloud service offerings so that you can reap the benefits of the cloud for business. Our experts have multiple decades of experience in the telecommunication, banking, startups, and technology industries. Lets work together to map cloud technology into viable solutions for your business.