UD for Bengali
Tokenization and Word Segmentation
- In general, words are delimited by whitespace characters. Description of exceptions follows.
- According to typographical rules, some punctuation marks (e.g., comma) are attached to a neighboring word, while others (e.g., the sentence-terminating danda) are not. We tokenize punctuation as separate tokens (words).
Morphology
Tags
- Bengali uses all 17 universal POS categories, including particles (PART).
- The following words are classified as particles (PART):
- না nā, নাই nāi the negative particle (“not”).
- কি ki when it functions as a question particle (rather than the pronoun “what”) that marks a yes-no question.
- At present, only some modal verbs are treated as auxiliaries (AUX):
- পারা pārā (“be able, can, could”) combines with the imperfect participle (also called the infinitive) of the main verb
- হওয়া haoŷā (“be, become”) combines with the imperfect participle (also called the infinitive) of the main verb to create a necessitative meaning (“to have to”)
- চাওয়া cāoŷā (“want”) combines with the infinitive (also called the verbal noun) of the main verb
- There are verb-verb compounds, where the semantically more salient verb comes first in the form
of a participle, and the semantically less salient verb comes second and has a finite form.
There is a restricted set of verbs that can occur at the second position of verb-verb compounds.
Note that these are not considered auxiliary verbs in UD.
- যাওয়া yāoŷā (“to go”)
- নেয়া neŷā (“to take”)
- দেত্তয়া dettaŷā (“to give”)
- বসা basā (“to sit”)
- আসা āsā (“to come”)
- There are noun-verb compounds where the noun is the semantically more salient part and it comes first.
These are treated as light-verb constructions, i.e., the noun is attached to the verb as compound:lvc
rather than an object. The verb is not treated as auxiliary. Examples:
- শেষ করা śeṣa karā “to finish” (lit. “end do”)
- There are five main (de)verbal forms, distinguished by the UPOS tag and the value of the VerbForm feature:
- Infinitive
Inf
, tagged VERB or AUX. This is the citation form (lemma) of the verb. When used in a nominal position (as a subject of another verb, with a case suffix, with possessive modifiers etc.), it is instead tagged NOUN and itsVerbForm
isVnoun
(verbal noun) rather thanInf
. - Finite verb
Fin
, tagged VERB or AUX. - Participle
Part
, tagged VERB or AUX. It does not express person. The two main types of participles are distinguished by Aspect. The third type, conditional participle, is distinguished by Mood.- Imperfect participle. Some sources (e.g., Wiktionary) may use the term infinitive for this form and verbal noun for what we call infinitive.
- Perfect participle.
- Conditional participle:
Mood=Cnd
.
- Infinitive
Nominal Features
- The two main values of the Number feature are
Sing
andPlur
. Nouns (NOUN and PROPN) can inflect forNumber
but the default singular form is usually used unless plural needs to be explicitly signaled. For personal pronouns (PRON), both singular and plural forms are used. TheNumber
of subject (unlike itsPerson
) is not cross-referenced by the finite verb. - Case has up to 4 possible values:
Nom
,Gen
,Acc
,Loc
. It occurs with the nominal words, i.e., NOUN, PROPN, PRON. The accusative form is also called objective and used in contexts where other languages would use a dative form. While the accusative form of personal pronouns is regularly used, for nouns (and especially inanimate nouns), the nominative form is often used also in object position.
Degree and Polarity
Verbal Features
- Two participle types are distinguished by Aspect, either imperfective (
Imp
) or perfective (Perf
).Aspect=Perf
is further used with finite verbs in the present perfect form. Similarly, present continuous (progressive) finite forms will getAspect=Prog
. - Finite verbs always have one of two values of Mood:
Ind
orImp
. The conditional moodCnd
is only used with the conditional participle. - Finite verbs distinguish the Person of the subject but not its
Number
. Infinitives and participles do not distinguishPerson
. - Verbs in the indicative mood always have one of three values of Tense:
Past
,Pres
orFut
. - There are two values of the Voice feature:
Act
andPass
.
Pronouns, Determiners, Quantifiers
- PronType is used with pronouns (PRON), determiners (DET) and adverbs (ADV).
- NumType is used with numerals (NUM), adjectives (ADJ), determiners (DET) and adverbs (ADV).
- Person is a lexical feature of personal pronouns (PRON) and has three values,
1
,2
and3
. Person is not marked on other types of pronouns and on nouns, although they can be almost always interpreted as the 3rd person. - Personal pronouns also have one of two values of Number:
Sing
orPlur
. They are lemmatized to the singular form, i.e., grammatical number is treated as (irregular) inflection. Note that the number of subject is not cross-referenced by finite verbs. - Personal pronouns have up to three Case forms:
Nom
(the base form),Acc
(the objective form, also used in contexts where other languages use dative), andGen
(the genitive form).- There is no specific category of possessive pronouns. Instead, the genitive form of personal pronouns is used to encode possession.
Other Features
- There are the following language-specific features:
- PartType:
PartType=Int
(interrogative) marks the word কি ki when it functions as a question particle (rather than the pronoun “what”).PartType=Neg
(negative) marks the negative particles না nā, নাই nāi (“not”).
- PartType:
Syntax
Core Arguments, Oblique Arguments and Adjuncts
- Nominal subject (nsubj) is a noun phrase in the nominative case, without preposition.
- Objects may be bare noun phrases in nominative or accusative form.
- Nominals in the locative form, if modifying a verb, are considered oblique (obl).
- In passive clauses, the subject is labeled with nsubj:pass.
- If the demoted agent is present, it has the form of a bare instrumental phrase and its relation is labeled obl:agent.
Non-verbal Clauses
- In the present tense, simple juxtaposition of the subject and the nominal/adjectival predicate is used, without an overt copula.
Relations Overview
- The following relation subtypes are used in Bengali:
- nsubj:pass for nominal subjects of passive verbs
- csubj:pass for clausal subjects of passive verbs
- obl:agent for agents of passive verbs
- acl:relcl for relative clauses
- nmod:poss for possessively used genitive modifiers
Treebanks
There are 2 Bengali UD treebanks:


class to mimic codigniter's syntax for loading views from the controller
Located in /Loader.php (line 9)
Finds and displays the given view, and makes the values in $data available to it.
The name of the view is passed in without the leading "views/" directory or the trailing ".php" extension. So loading a view with $this->view("myview"); would look for a file called "views/myview.php"
the data is made available my taking the keys of $data, and assigning them to a locally scoped variable of the same name. array( 'title' => 'The Title' ) would be available in the view as $title.
Documentation generated on Mon, 12 Mar 2012 11:50:14 -0700 by phpDocumentor 1.4.4


Hello!
This is an example of using the parameter ajaxContent.
The file: ajax-content.html is pulled in via an AJAX (GET) request.
Passing both the content: and the ajaxContent in the same jsModal instance will result in an empty modal.
So choose one or the other!
The end.


Why is the on-boarding process important
How to enable in an effective way
What is the benefit in doing this?
specifically
We're addressing freelancers/contractors,
being one, employing one...
However BUSINESS OWNERS
this intrinsically points the finger at how you run your business,
how you engage with your employees/staff/friends/cats & dogs
Baaad EXPERIENCES
Leaving a new hire to figure out why
certain classes aren't compiling, certain database connections are failing,
[having] undocumented solution resides in the brain of the lead developer
...
here comes the science bit
According to Maslow physiological, security, social, and esteem needs
are deficiency needs or D-needs that arise because of deprivation. The highest-
level of the pyramid is called the growth needs or B-needs
essentially make sure things/needs at the bottom of the pyramid get
provision for and the rest will flow
why bother?
Reduce lost time on setup
Help communication, frustrations & breakdowns
Increase productivity
Minimal bug & defects carry through to client demos
Learning & Mentoring process built-in,
Happy people = infinite loop of productivity!
Did you get that?
Happy people === infinite loop of productivity!
HOW the **** do we do this?
Ideally before the contractor joins the team (be it on site or remote) they should know:
who, where, what
(Remember Maslow!)
On boarding documentation
- Codebase location
- Install profile instructions
- Content generation scripts? Built into profile, bash or other method?
- Wiki location
- Design/theme styleguide
- Naming conventions for features, modules, themes
- Theming instructions
- Main theme to be used
- Preprocessor setup (SASS/LESS, etc)
- Custom module theming practices
Communication tools
- How does the team communicate?
- Skype/irc/other?
Development procedures...
- Type of procedure
- Brief intro and/or links about procedure (agile, kanban, CI, deployment)
- Explanation of implementation of procedure
- Who to ask for help
- Source control management
- single branch CI
- Ticket based branches per task: documented solution/execution
- Code review via Pull requests?
Development procedures...
- Point of contact per category question
- Question for designs or styleguide implementation
- Functionality - UX issues
- Task allocation
- Admin/Finance queries
- Deployment/Build
- How to?
- How often?
- Updates on build changes (new functionality affecting current tasks)
Development procedures
- Ticket system
- Concise, one line titles
- Bullet point description
- Internal link to relevant tickets
- Commit linked comments
- Time based tickets/tasks - ability for dev to add time tracking
- Technical specification
- Modules used broken down into features they implement
- Modules present but not used and their role (development/staging...)
Project Management
- Practises/Methodology
- Resources/intro to methodology: don't assume they know
- Implementation: format of scrum/standup (what's the difference)
Easy feedback solution needed
What is the point?
Visibility
Documentation
Avoid over engineering (any) process
Happy people === infinite loop of productivity!
Thank you
Any questions?
Can I have a cuppa now...


--- layout: post title: Bookmarks for December 6th through December 17th tags: - blog - breakpoint.js - ci - couchdb - debug - deconstructed - design - dnode - fabrics.js - growlnotify brew 1.2 fix - hiro.js - javascript - javascript coffeescript sass ruby guard - libraries - mock - module - node.js - nosql - responsive - responsive_design - rpc - tdd - travis - tumble status: publish type: post published: true meta: aktt_notify_twitter: 'no' ---
These are my links for December 6th through December 17th:


{{ message }} Text Object {{text_object}}
We'll never share your email with anyone else.
correct
This example is a quick exercise to illustrate how fixed to top navbar works. As you scroll, it will remain fixed to the top of your browser’s viewport.
View navbar docs »


Top 100
Play 1x1!
Play 2x2!
Play 3x3!
Default player
Agile player
Shooter
Login/Signup
Logout
Username
Password
Log In
Username
Password
Repeat password
Sign Up


Specify the path to the Jtl report files, relative to the workspace root.
- You can specify multiple files and directories separated by semicolon.
* Jmeter writes summariser statistics to jmeter.log. To enable logging
summariser statistics to separate log file add the property to jmeter.properties file to #Logging Configuration block : "log_file.jmeter.reporters.Summariser=filename.log"
>


| WinAPI Wrapper |
The WindowClass class is a required component for the Window class. It serves the sole purpose for registering a window class with RegisterClass function. It is neccessary to use this class in order for Window to work correctly.
The WindowClass class has the following functions:
| Function | Related WinAPI function | Description |
|---|---|---|
| WindowClass | RegisterClass | Registers the window class. The protected version is for derived classes that supply their own window procedure. |
| operator LPCTSTR | - | Returns name of the registered window class. |
WinAPI Wrapper, WinAPI Wrapper classes, RegisterClass, Window


Singular Value Decomposition of The Ambassadors
I was reading a note of computation of Ridge Regression in the afternoon, I noticed a super cute illustration of Singular Value Decomposition(SVD) drawn by Prof. Cynthia Rudin.
Maybe because I has been buried in The Crown recent days, the rotation and scaling of Singular Value Decomposition suddenly remind me of The Ambassadors by Hans Holbein, which is the most well known example of anamorphosis in painting.
Look at the bottom center of the painting, it’s an exactly geometric transformation of a skull. And the transformation is almost the same as the smiling face in Figure 1!
Interestingly, there may always be different ways to explain and appreciate a theorem in math or a masterpiece of fine art.
P.S. I traveled to the UK in December 2016, and took the pictures below at the National Gallery. I did have great fun there.


--- layout: post title: About permalink: /about/ desc: A brief introduction ---
This is a personal website created by Jimmy .You are welcome to ping me on Weibo or send correspondence to<EMAIL_ADDRESS>More projects please visit github page.
This site is powered by Jekyll.
All posts are © Jimmy Yao, all rights reserved. The views expressed on this site are mine alone and not those of my employers and clients, past and present.


Twenty years back to the day, we chose that what Brooklynn extremely required was a decent film celebration. Shockingly, it didn't have one and no one considered making one ... as of recently! This year points the start of another period: the primary yearly Brooklynn Outdoor Film Festival. This is a celebration for the individuals who adore the solace of garden seats and the outdoors. It's an occasion for individuals who like imparting their popcorn to the nearby squirrels. Bring your children, bring your puppy, bring your feline (in case you're into that) and take a seat for a night of fine silver screen history. Throughout the most recent few decades, the driving forces behind this occasion have contemplated what sort of movies a film celebration really needs keeping in mind the end goal to be the best it can be.
The consequence of this extraordinary scholarly exertion is a rundown of motion pictures so stupefyingly brillant we're certain that you will wet your jeans with energy at the insignificant prospect of spending a whole week lolling in their perfect execution and phenomenal creation esteems. Each night of the celebration we'll be demonstrating three of the best motion pictures ever to have graced the planet. Go ahead finished to our rundown of movies to examine what we bring to the table!


Bluecadet Javascript Toolkit
Usage examples of the tools included in this toolkit.
jQuery
animateauto
Flipbook
Lachance Effect
Uniform Scale
Naked
Array.indexOf


Source code for map.utils
'''
Utility methods to generate GeoJSON files and compute distances
'''
import yaml
from geopy import distance, Point
from django.contrib.gis import geos
[docs]def getNextPoint(point, offset, bearing):
'''
get next point from the given point at a distance and bearing
:param point: point to be based upon the next point
:param offset: the distance to be calculated to get the next point
:param bearing: the direction or angle to where the next point will be calculated
:rtype: GEOS Point representing the longitude and latitude of the new point
'''
lat = point.y
lon = point.x
pnt = Point(latitude=lat, longitude=lon)
d = distance.VincentyDistance(meters=offset)
newPnt = d.destination(point=pnt, bearing=bearing)
return geos.Point(newPnt.longitude, newPnt.latitude)
[docs]def generateGeoJson(geometry):
'''
generate GeoJSON from a geomtry for easy plotting of the borders
:param geometry: the generated GeoJSON of a geometry
:rtpye: GeoJson format of geometry
'''
if type(geometry) != list:
geometry = [geometry]
features = []
for geom in geometry:
if isinstance(geom, geos.GEOSGeometry):
geom_json = yaml.safe_load(geom.json)
feature = {
"type": "Feature",
"geometry": geom_json,
"properties": {
"name": geom_json['type']
}
}
features.append(feature)
else:
raise TypeError("Can't generate GeoJSON. " +
str(geom) + 'is not geometry.')
return {"type": "FeatureCollection", "features": features}


climate time ocean trends trend years change series data variability chlorophyll detect variables SST BGC‐SOs models {border-style natural biogeochemical network px;} stations #ffffff;} regions Southern change‐driven detection observations observing detectable footprints oxygen spatial North concentration current global Atlantic Fig. Figure Ocean export long‐term marine needed primary rapidly representative used footprint likely low results (Table analysis chlorophyll, long nitrate nondiatom pH, relatively required scales significant surface trend. year (Fig. PP, Pacific Table background calculated carbon equatorial estimated example existing high model result statistically (e.g. Global S). SST, addition, anthropogenic conditions coverage distinguish large number particularly presented px; short size smaller station {font-family (i.e. Arctic BGC‐SO Biogeosciences, Henson case font-size larger median noise observatories observed similar strong years) BATS Climate National Research analysis. changes considered currently double; forcing need period represented series, shorter space temporal trends, using years). (see ALOHA Bopp Here, However, Indian Materials Sciences Spatial annual border-color border-width cases covered data, decrease detecting estimates increasing information linear longer mean modelled parts phytoplankton predicted provide resolution sampling satellite signal solid; trends. variability, variability. variable variables. warming weak work {font-style {font-weight (< (Henson (surface) BGC‐ BGC‐SOs, Finally, Ocean, Physical Sarmiento Supporting areas assess atmospheric autonomous available biogeochemistry bio‐Argo bold cases, courier; decreases decreasing derived detectable, detection. em; future generally half here, latitudes length n*, operation pixels plotted point pt;} region regions. represent require shown stations, sufficiently suggests variables,


Act on It
Think of someone you know who is struggling through a difficult time. Maybe she or he is struggling with illness or caring for someone who is ill or aging. Maybe there are difficulties in this person’s family, job, or school. List below three practical ways you can help this person know she or he is not alone in the struggle. Pick one to act on this week.
Day 5: Revelation: The Unspeakable Name
Read God’s Word
29 Jacob said, “Please tell me your name.”
But he replied, “Why do you ask my name?” Then he blessed him there.
30 So Jacob called the place Peniel, saying, “It is because I saw God face to face, and yet my life was spared.”
Genesis 32:29-30
13 Moses said to God, “Suppose I go to the Israelites and say to them, ‘The God of your fathers has sent me to you,’ and they ask me, ‘What is his name?’ Then what shall I tell them?”
14 God said to Moses, “I am who I am. This is what you are to say to the Israelites:
‘I am has sent me to you.’”
15 God also said to Moses, “Say to the Israelites, ‘The Lord, the God of your fathers—the God of Abraham, the God of Isaac and the God of Jacob—has sent me to you.
Exodus 3:13-15
Reflect and Respond
The most important part of any phone call is the first three seconds.
When I answer my phone with a chipper “hello,” the response on the other end of the line determines the level and depth of the rest of the conversation. The person on the other end of the line hardly ever gives his or her own name


SYNOPSIS
git switch [<options>] [--no-guess] <branch> git switch [<options>] --detach [<start-point>] git switch [<options>] (-c|-C) <new-branch> [<start-point>] git switch [<options>] --orphan <new-branch>
DESCRIPTION
Switch to a specified branch. The working tree and the index are updated to match the branch. All new commits will be added to the tip of this branch.
Optionally a new branch could be created with either -c
, -C
,
automatically from a remote branch of same name (see --guess
), or
detach the working tree from any branch with --detach
, along with
switching.
Switching branches does not require a clean index and working tree
(i.e. no differences compared to HEAD
). The operation is aborted
however if the operation leads to loss of local changes, unless told
otherwise with --discard-changes
or --merge
.
THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
OPTIONS
- <branch>
-
Branch to switch to.
- <new-branch>
-
Name for the new branch.
- <start-point>
-
The starting point for the new branch. Specifying a
<start-point>
allows you to create a branch based on some other point in history than where HEAD currently points. (Or, in the case of--detach
, allows you to inspect and detach from some other point.)You can use the
@{-N}
syntax to refer to the N-th last branch/commit switched to using "git switch" or "git checkout" operation. You may also specify-
which is synonymous to@{-1}
. This is often used to switch quickly between two branches, or to undo a branch switch by mistake.As a special case, you may use
A...B
as a shortcut for the merge base ofA
andB
if there is exactly one merge base. You can leave out at most one ofA
andB
, in which case it defaults toHEAD
. - -c <new-branch>
- --create <new-branch>
-
Create a new branch named
<new-branch>
starting at<start-point>
before switching to the branch. This is a convenient shortcut for:$ git branch <new-branch> $ git switch <new-branch>
- -C <new-branch>
- --force-create <new-branch>
-
Similar to
--create
except that if<new-branch>
already exists, it will be reset to<start-point>
. This is a convenient shortcut for:$ git branch -f <new-branch> $ git switch <new-branch>
- -d
- --detach
-
Switch to a commit for inspection and discardable experiments. See the "DETACHED HEAD" section in git-checkout(1) for details.
- --guess
- --no-guess
-
If
<branch>
is not found but there does exist a tracking branch in exactly one remote (call it<remote>
) with a matching name, treat as equivalent to$ git switch -c <branch> --track <remote>/<branch>
If the branch exists in multiple remotes and one of them is named by the
checkout.defaultRemote
configuration variable, we’ll use that one for the purposes of disambiguation, even if the<branch>
isn’t unique across all remotes. Set it to e.g.checkout.defaultRemote=origin
to always checkout remote branches from there if<branch>
is ambiguous but exists on the origin remote. See alsocheckout.defaultRemote
in git-config(1).--guess
is the default behavior. Use--no-guess
to disable it. - -f
- --force
-
An alias for
--discard-changes
. - --discard-changes
-
Proceed even if the index or the working tree differs from
HEAD
. Both the index and working tree are restored to match the switching target. If--recurse-submodules
is specified, submodule content is also restored to match the switching target. This is used to throw away local changes. - -m
- --merge
-
If you have local modifications to one or more files that are different between the current branch and the branch to which you are switching, the command refuses to switch branches in order to preserve your modifications in context. However, with this option, a three-way merge between the current branch, your working tree contents, and the new branch is done, and you will be on the new branch.
When a merge conflict happens, the index entries for conflicting paths are left unmerged, and you need to resolve the conflicts and mark the resolved paths with
git add
(orgit rm
if the merge should result in deletion of the path). - --conflict=<style>
-
The same as
--merge
option above, but changes the way the conflicting hunks are presented, overriding themerge.conflictStyle
configuration variable. Possible values are "merge" (default) and "diff3" (in addition to what is shown by "merge" style, shows the original contents). - -q
- --quiet
-
Quiet, suppress feedback messages.
- --progress
- --no-progress
-
Progress status is reported on the standard error stream by default when it is attached to a terminal, unless
--quiet
is specified. This flag enables progress reporting even if not attached to a terminal, regardless of--quiet
. - -t
- --track
-
When creating a new branch, set up "upstream" configuration.
-c
is implied. See--track
in git-branch(1) for details.If no
-c
option is given, the name of the new branch will be derived from the remote-tracking branch, by looking at the local part of the refspec configured for the corresponding remote, and then stripping the initial part up to the "*". This would tell us to usehack
as the local branch when branching off oforigin/hack
(orremotes/origin/hack
, or evenrefs/remotes/origin/hack
). If the given name has no slash, or the above guessing results in an empty name, the guessing is aborted. You can explicitly give a name with-c
in such a case. - --no-track
-
Do not set up "upstream" configuration, even if the
branch.autoSetupMerge
configuration variable is true. - --orphan <new-branch>
-
Create a new orphan branch, named
<new-branch>
. All tracked files are removed. - --ignore-other-worktrees
-
git switch
refuses when the wanted ref is already checked out by another worktree. This option makes it check the ref out anyway. In other words, the ref can be held by more than one worktree. - --recurse-submodules
- --no-recurse-submodules
-
Using
--recurse-submodules
will update the content of all active submodules according to the commit recorded in the superproject. If nothing (or--no-recurse-submodules
) is used, submodules working trees will not be updated. Just like git-submodule(1), this will detachHEAD
of the submodules.
EXAMPLES
The following command switches to the "master" branch:
$ git switch master
After working in the wrong branch, switching to the correct branch would be done using:
$ git switch mytopic
However, your "wrong" branch and correct "mytopic" branch may differ in files that you have modified locally, in which case the above switch would fail like this:
$ git switch mytopic
error: You have local changes to 'frotz'; not switching branches.
You can give the -m
flag to the command, which would try a three-way
merge:
$ git switch -m mytopic
Auto-merging frotz
After this three-way merge, the local modifications are not
registered in your index file, so git diff
would show you what
changes you made since the tip of the new branch.
To switch back to the previous branch before we switched to mytopic (i.e. "master" branch):
$ git switch -
You can grow a new branch from any commit. For example, switch to "HEAD~3" and create branch "fixup":
$ git switch -c fixup HEAD~3
Switched to a new branch 'fixup'
If you want to start a new branch from a remote branch of the same name:
$ git switch new-topic
Branch 'new-topic' set up to track remote branch 'new-topic' from 'origin'
Switched to a new branch 'new-topic'
To check out commit HEAD~3
for temporary inspection or experiment
without creating a new branch:
$ git switch --detach HEAD~3
HEAD is now at 9fc9555312 Merge branch 'cc/shared-index-permbits'
If it turns out whatever you have done is worth keeping, you can always create a new name for it (without switching away):
$ git switch -c good-surprises
SEE ALSO
GIT
Part of the git(1) suite


Web Design Course
Start Date: Semester 2 (March 2021)
An interactive 6-week introductory course to web coding. By the end of the course, students will have created their own personal portfolio website that will offer a unique insight to prospective employers and will differentiate themselves from the crowd. Each week will consist of a pre-recorded lecture, a coding challenge, anda 1 hour drop-in session to address coding issues and questions.
Content covered includes:
- HTML: webpage structure, text, lists and links
- CSS: changing colours, page layout, responsiveness
- jQuery
At the end of the course, students will be able to deploy their coded website onto the worldwide web. This will be followed with a talk by a professional guest-speaker on how students’ personal websites can be utilised in tandem with social media to access the open and hidden job market! Furthermore, a certificate of recognition will be awarded upon completion.
Thank you for taking an interest in our Web Design course! For the time being, all our places have been booked. However, that does not mean you should not learn how to code. Feel free to fill in the interest form below for our next course, due to start later this year. You will get notified first when the registration period opens.


{% load static %}
AirCheck - Check the air quality in your neighborhood
{% include 'base/css.html' %}
Home
PM 1
PM 2.5
PM 10
Pressure
Humidity
Temperature
Compare
Kraków - PM 2.5
Kraków - PM 10
{% block content %} {% endblock content %}
Sensor Locations:
Kraków
Tenczynek
Katowice
Krzeszowice
Grudziądz
Gdańsk
Gdynia
Copyright © Maciej Fiutkowski - All Rights Reserved
{% include 'base/js.html' %}


| Class | Description |
|---|---|
| BoardPane |
GUI controller of the board pane displayed in main game screen
|
| BoardSquare |
GUI controller of the content of a board tile, contained in board pane
|
| GraphicUpdateHandler |
GUI update handler
|
| GraphicView |
View interface override for GUI
|
| GuiResourcePaths |
Final class used to store all various resource paths used in GUI
|
| GuiUtils |
Static class to provide common GUI methods used in all GUI controllers
|
| LoginScreen |
GUI login screen, starting scene of the GUI application
|
| Main |
Main class of GUI
|
| MainScreen |
GUI controller of the main game scene, interact with all sub-controllers of the scene to handle game
interactions and display correct data on the screen
|
| OtherPlayerPane |
GUI controller of player panes of opponent players of the one owning this GUI view
|
| PlayerPane |
GUI controller of main player pane, namely the owner of this view
|


I’ll be attending PloneConf this year again, giving a talk about Deliverance. I’ve been working on Deliverance lately for work, but the hard part about it is that it’s not obviously useful. To help explain it I wrote the philosophy of Deliverance, which I will copy here, to give you an idea of what I’ve been doing:
Why is Deliverance? Why was it made, what purpose does it serve, why should you use it, how can it change the way you do web development?
On the Subject of Platforms
Right now we live in an age of platforms. Developers (or management or coincidence) decides on a platform, and that serves as the basis for all future development. Usually there’s some old things from a previous platform (or a primordial pre-platform age: I’m looking at you formmail.pl!) The goal is always to eliminate all of these old pieces, rewriting them for the new platform. That goal is seldom attained in a timely manner, and even before it is accomplished you may be moving to the next platform.
Why do you have to port everything forward to the newest platform? Well, presumably it is better engineered. The newest platform is presumably what people are most familiar with. But if those were the only reasons it would be hard to justify a rewrite of working software. Often the real push comes because your systems don’t work together. It’s hard to keep templates in sync across all the platforms. Multiple logins may be required. Navigation is inconsistent and incomplete. Functionality that cross-cuts pages — comments, login status, shopping cart status, etc — isn’t universally available.
A similar conflict arises when you consider how to add new functionality to a site. For example, you may want to add a blog. Do you:
- Use the best blogging software available?
- Use something native to your platform?
- Write something yourself?
The answer is probably 2 or 3, because it would be too hard to integrate something foreign to your platform. This form of choice means that every platform has some kind of "blog", but the users of that blog are likely to only be a subset of the users of the parent platform. This makes it difficult for winners to emerge, or for a well-developed piece of software to really be successful. Platform-based software is limited by the adoption of the platform.
Not all software has a platform. These tend to be the most successful web applications, things like Trac, WordPress, etc.
"Aha!" you think "I’ll just use those best-of-breed applications!" But no! Those applications themselves turn into platforms. WordPress is practically a CMS. Trac too. Extensible applications, if successful, become their own platform. This is not to place blame, they aren’t necessarily any worse than any other platform, just an acknowledgment that this move to platform can happen anywhere.
Beyond Platforms, or A Better Platform
One of the major goals of Deliverance is to move beyond platforms. It is an integration tool, to allow applications from different frameworks or languages to be integrated gracefully.
There are only a few core reasons that people use platforms:
- A common look-and-feel across the site.
- Cohesive navigation.
- Indexing of the entire site.
- Shared authentication and user accounts.
- Cross-cutting functionality (e.g., commenting).
Deliverance specifically addresses 1, providing a common look-and-feel across a site. It can provide some help with 2, by allowing navigation to be more centrally managed, without relying purely on per-application navigation (though per-application navigation is still essential to navigating the individual applications). 3, 4, and 5 are not addressed by Deliverance (at least not yet).
Deliverance applies a common theme across all the applications in your site. It’s basic unit of abstraction is HTML. It doesn’t use a particular templating language. It doesn’t know what an object is. HTML is something every web application produces. Deliverance’s means of communication is HTTP. It doesn’t call functions or create request objects [*]. Again, everything speaks HTTP.
Deliverance also allows you to include output from multiple locations. In all cases there’s the theme, a plain HTML page, and the content, whatever the underlying application returns. You can also include output from other parts of the site, most commonly navigation content that you can manage separately. All of these pieces can be dynamic — again, Deliverance only cares about HTML and HTTP, it doesn’t worry about what produces the response.
This is all very similar to systems built on XSLT transforms, except without the XSLT [†], and without XML. Strictly speaking you can apply XSLT to any parseable markup, even HTML, but the most common (or at least most talked about) way to apply XSLT is using "semantic" XML output that is transformed into HTML. Deliverance does not try to understand the semantics of applications, and instead expects them to provide appropriate presentation of whatever semantics the underlying application possesses. Presentation is more universal than semantics.
While Deliverance does its best to work with applications as-they-exist, without making particular demands on those applications, it is not perfect. Conflicting CSS can be a serious problem. Some applications don’t have very good structure to work with. You can’t generate any content in Deliverance, you can only manipulate existing content, and often that means finding new ways to generate content, or making sure you have a place to store your content (as in the case of navigation). This is why arguably Deliverance does not remove the need for a platform, but is just its own platform. In so far as this is true, Deliverance tries to be a better platform, where "better" is "more universal" rather than "more powerful". Most templating systems are more powerful than Deliverance transformations. It can be useful to have access to the underlying objects used to procude the markup. But Deliverance doesn’t give you these things, because it only implements things that can be applied to any source of content. Static files are entirely workable in Deliverance, just as any application written in Python, PHP, or even an application hosted on an entirely separate service is usable through Deliverance.
The Missing Parts
As mentioned before, two important benefits of a platform are missing from Deliverance. I’ll try to describe what I believe are the essential aspects. I hope at some time that Deliverance or some complementary application will be able to satisfy these needs. Also, I suggest some lines of development that might be easier than others.
Indexing The Entire Site
Typically each application has a notion of what all the interesting pages in that application are. Most applications have a set of uninteresting pages, or transient pages. A search result is transient, as an example. An application also knows when new pages appear, and when other pages disappear. A site-wide index of these pages would allow things like site maps, cross-application search, and cross-application reporting to be done.
An interesting exception to the knowledge an application has of itself: search results are generally boring. But a search result based on a category might still be interesting. The difference between a "search" and a "report" is largely in the eye of the beholder. An important feature is that the application shouldn’t be the sole entity allowed to mark interesting pages. Manually-managed lists of resources that may point to specific applications can allow people to usefully and easily tweak the site. Ideally even fully external resources could be included, such as a resource on an entirely different site.
To do indexing you need both events (to signal the creation, update, or deletion of an entity/page), and a list of entities (so the index can be completely regenerated). A simple way of giving a list of entities would be the Google Site Map XML resource. Signaling events is much more complex, so I won’t go into it in any greater depth here, but we’re working on a product called Cabochon to handle events.
One thing that indexing can provide is a way to use microformats. Right now microformats are interesting, but for most sites they are largely useless. You can mark up your content, but no one will do anything interesting with that markup. If you could easily code up an indexer that could keep up-to-date on all the content on your site, you could produce interesting results like cross-application mapping.
Cross-cutting Functionality
This item requires a bit of explanation. This is functionality that cuts across multiple parts of the site. An example might be comments, where you want a commenting system to be applicable to a variety of entities (though probably not all entities). Or you might want page-update notification, or to provide a feed of changes to the entity.
You might also want to include some request logger like Google Analytics to all pages, but this is already handled well by Deliverance theming. Deliverance’s aggregation handles universal content well, but it doesn’t handle content (or subrequests) that should only be present in a portion of pages.
One possible way to address this is transclusion, where a page can specifically request some other resource to be included in the page. A simple subrequest could accomplish this, but many applications make it relatively easy to include some extra markup (e.g., by editing their templates) but not so easy to do something like a subrequest. We’ve written a product Transcluder to use an HTML format to indicate transclusion.
It’s also possible using Deliverance that you could implement this functionality without any application modification, though it means added configuration — an application written to be inserted into a page via Deliverance, and a Deliverance rule that plugs everything together (but if written incorrectly would have to be debugged).
Other Conventions
In addition to this, other platform-like conventions would make the life of the integrator much easier.
Template Customization
While Deliverance handles the look-and-feel of a page, it leaves the inner chunk of content to the application. If you want to tweak something small you will still need to customize the template of the application.
It would be wonderful if applications could report on what files were used in the construction of a request, and used a common search path so you could easily override those files.
Backups and Other Maintenance
Process management can be handled by something like Supervisor, and maybe in the future Deliverance will even embed Supervisor.
But even then, regular backups of the system are important. Typically each application has its own way of producing a backup. Conventions for producing backups would be ideal. Additional conventions for restoring backups would be even better.
Many systems also require periodic maintenance — compacting databases, checking for any integrity problems, etc. Some unified cron-like system might be handy, though it’s also workable for applications to handle this internally in whatever ad hoc way seems appropriate.
Common Error Reporting
With a system where one of many components can fail, it’s important to keep track of these problems. If errors just end up in one of 10 log files, it’s unlikely anyone is closely tracking them.
One product we’re working on to help with this is ErrorEater, which works along with Supervisor. Applications have to be modified to emit errors in a specific format that Supervisor understands, but this is generally not too difficult.
Farming
Application farming is when one instance of an application can support many "sites". These might be sites with their own domains, or just distinct projects. Examples are Trac, which supports multiple projects in one instance, or WordPress MU which supports many WordPress instances running off a single database and code base.
It would be nice if you could add a simple header to a request, like X-Project-Name: foo and that would be used by all these products to select the site (or sub-site or project or any other organization unit). Then mapping domain names, paths, or other aspects of a request to the project could be handled once and the applications could all consistently consume it.
(Internally for openplans.org we’re using X-OpenPlans-Project and custom patches to several projects to support this, but it’s all ad hoc.)
Footnotes
| [*] | This isn’t entirely true, Deliverance internally uses WSGI which is a Python-level abstraction of HTTP calls. |
| [†] | At different times in the past, in an experimental branch right now, and potentially integrated in the future, Deliverance has been compiled down to XSLT rules. So Deliverance could be seen even as an simple transformation language that compiles down to XSLT. |
Automatically generated list of related posts:
- pyinstall pybundles Update: pyinstall has been renamed to pip (per the suggestions...
- Avoiding Silos: “link” as a first-class object One of the constant annoyances to me in web applications...
transclusion sounds a lot like what was/is trying to be accomplished by jsr 168/268 portlets. In my unfortunate past experiences this worked “ok” until the wonderful world of ajax came and clobbered namespaces, callbacks, etc… will be interested to see if deliverance will be affected similarly. can’t wait to try it out :)
This all sounds great but as eleddy said portlets are (what I know of it) problematic for several things.
From a frontend view putting together different HTML seems to work but how do you manage different CSS files which e.g. overwrite the body’s background-color or the link color etc? How do you work with JSlibs when one app wants pluginXv1.0 and the other uses pluginXv2.0 which has a different API?
HTML as a common document language sounds fine but in modern web development HTML which I am sure you are aware of cannot be dealt with in isolation (CSS, JS, Flash, AJAX…) and so IMHO is simply not enough. My first thought was “is the Deliverance view not too simplistic?” (no assault meant).
I was working on a project which uses a custom XML dialect (could also be a slightly modified XHTML dialect) as a base which all combined applications use and which is in the end transformed via XSLT to the final HTML for a common presentation. Of course a single application has not the full power of its own presentation but when looking at the beforementioned problems this is almost impossible without chaos…
I still cannot think of an ideal solution. XML > XSLT > HTML is not ideal either, performance for an additional transformation can be an issue, also apps might get nervous not being able to control their own presentation fully. I guess presentation also is a question of – who controls it? The individual app, a company with a CI which just “uses/shows” the apps etc.
But I am eager to hear how Deliverance will deal with the above mentioned problems and progress further. Hope you do more posts about it.
(sorry for my sometimes strange english, hope I made myself clear (enough ;))


The usefulness of the contravariant form [Eq. (250] of the magnetic
field lies in that it allows a simple form of
operator in a coordinate system. (The operator
is
usually called magnetic differential operator.) In
coordinate system, by using the contravariant form Eq. (250), the
operator is written as
Next, consider the solution of the magnetic differential equation, which is
given by
|
(256) |
where
is some known function. Using Eq.
(255), the magnetic differential equation is written as
|
(257) |
Note that the coefficients before the two partial derivatives of the above
equation are all independent of and . This indicates that
different Fourier harmonics in and are decoupled. As a result
of this fact, if and the right-hand side of the above equation are Fourier
expanded respectively as
|
(258) |
(note that, following the convention adopted in tokamak
literature[6], the Fourier harmonics are chosen to be
, instead of
), and
|
(259) |
then Eq. (257) can be readily solved to give
|
(260) |
The usefulness of the straight line magnetic coordinates
lies in that, as mentioned in the above, it makes the coefficients
before the two partial derivatives both independent of and ,
thus, allowing a simple solution to the magnetic differential equation.
yj
2018-03-09


Mon Jan 21
Tax Accountant - CPA - (Austin - Downtown)
Bookeeper at a CPA Firm - (Austin - Downtown)
Financial Aid Officer - (South Austin)
Contract Bookkeeper - (Central Austin)
BOOK KEEPER WITH Q-BOOKS EXP - (North Austin, TX)
Bookkeeper - (Flint / Tyler, TX)
Accounting Manager - (South Austin)
Tax Accountant - (Bee Caves/S MoPac)
STAFF ACCOUNTANT - (Austin, TX)
Data Entry Operator (Oracle Operators) - (Round Rock, TX)
A/R Position - Medical - (North Austin)
Accounting Assistant - (Downtown Austin)
Clerical Support Assistant - (Austin)
Sat Jan 19
JUNIOR ACCOUNT MANAGER - (NW 78759)
Fri Jan 18
ASSISTANT MGR - (SOUTH AUSTIN)
Accounting Clerk - (Georgetown, TX)
Bilingual Loan Processor/Closer - (Austin, 78752)
Project Analyst/Finance - (183/Cameron)
Payroll Technician - (North Austin)
Manager of Operations and Finance - (Lake Austin Blvd)
Tax Accountant - (Arboretum)
Sales and Marketing Analsyt - (78744)
Jr. Client Manager - (Westlake)
Bookkeeper/Office Manager - (Oak Hill)
Thu Jan 17
Seasonal Tax Preparer Needed - (Austin/Bee Caves & 360)
FT/PT NIGHT AUDITOR - (South Austin)
AP / AR Specialist - (Central Austin)
Controller - (NE Austin)
Seasonal Tax Accountant - (Arboretum)
AR and Office Assistant - (Burleson)
Accounting - A/R - A/P - Quickbooks - (North Austin)
Accounting and Data Entry Specialist - (NW Hills)
Bookkeeper -Assistant Administrative for property owner -Part time- - (Downtown Austin)
Accounting Clerk - (South Austin)
Construction/Homebuilder - (South Austin)
Bookkeeper-Part time - (N. Austin)
Part-time accounting clerk - (downtown Austin)
Wed Jan 16
Payroll Assistant - (Austin)
HR AR Accounting Clerk - (SW Austin)
Payroll Specialist - (Westlake)
Full Charge Bookkeeper/Accounting - (North Austin)
Bookkeeper / Full Time Job! - (Cedar Park, TX)
SENIOR MORTGAGE PROCESSOR & JUNIOR PROCESSOR WANTED! - (Lakeway)
Part-Time Bookkeeper - Must Know Quickbooks! $15/hr - (NW Austin - Jollyville Rd.)
Senior Tax Accountant - (NW Austin)
Tax Associate- Seasonal - (Northwest Austin)
Tue Jan 15
Seasoned Loan Officer to manage a builder account - (Austin and San Antonio)
Quickbooks - Data entry - (NW-Anderson Mill Road)
Controller - (NW Austin)
TAX ACCOUNTANT - (DOWNTOWN AUSTIN)
Part time Bookkeeper - (Pflugerville, TX)
BOOKKEEPER - (NE AUSTIN)
Bookkeeping - (Lakeway)
Property Accountant - (Downtown Austin)
Audit Senior - (Austin, TX)
Tax Preparer/CPA - (Bee Caves/S. Mopac)
Receptionist/clerical assistant - (Georgetown)
CPA/Tax Preparer - (NW Austin)
Mon Jan 14
PetRelocation.com Accounts Receivable Clerk - (Austin, TX) img
Senior General Ledger Accountant - (Austin, TX) img
Investment Advisor - (Austin)
Controller - (Keller Williams Realty International)
Accountant - (Westlake near Bee Caves Road/360 )
Tax Preparer - (South Austin)
Bookkeeper - (SW Austin)
Sun Jan 13
Finance Advisor - (Austin, TX)
Sat Jan 12
Fri Jan 11
TAX MANAGER - PROMINENT BOUTIQUE FIRM - (Downtown Austin)
Looking for a top-notch Quickbooks professional - (Central Austin)
Payroll Specialist - (Austin, TX)
Seasonal Tax Accountant - (Arboretum)
Accountant - (South Austin)
Forex Traders: Trade with Firm's Capital - (Austin/Remote)
Loan Processor - (North Austin)
Bookkeeper - (Taylor)
Bilingual (English & Mandarin) Accounting Supervisor - (Houston)
CPA Tax Accountant - (Austin, TX) img
Financial Analyst - (Bryan)
Bookkeeper - (SW Austin)
Controller - (Austin)
Director of Accounting - (North Austin)
Full charge Bookkeeper/office manager - (S Austin)
Thu Jan 10
Bookkeeping/tax office - (Bastrop)
Sr. Payroll Accountant - (Austin, TX)
Junior Financial Representative - (Austin (Burnet & Braker))
Tax Manager - Public Accounting - (Austin)
Pricing Commodity Manager /Component Engineer - (Austin, TX)
Medical Accountant / HR Admin - (Central Austin)
Join the Nation! Become a Nationwide Agent - (Austin) img
QuickBooks Bookkeeper - (South Austin)
Senior Fund Accountant - (San Francisco, CA)
TAX ACCOUNTANT - (DOWNTOWN AUSTIN)
PART TIME ACCOUNTING POSITION - (Central Austin)
50-60 Private Tutors Needed: Math, Science, English, Languages - (Austin Metro Area) img
Accountant - (FP&A Analyst) - (Georgetown, TX)
Wed Jan 09
Accounts Receivable Analyst - (Austin, TX)
Senior Accountants - (Austin, TX)
Documentation Specialist - (Austin)
Benefit Administrator - (Austin, TX)


Qt Quick Demo - StocQt
The StocQt application presents a trend chart for the first stock in the list of NASDAQ-100 stocks maintained by it. It allows the user to choose another stock from the list, and fetches the required data for the selected stock by sending an XMLHttpRequest
to http://finance.yahoo.com.
The application uses several custom types such as Button, CheckBox, StockChart, StockInfo, StockView, and so on. These types are used to present the stock data in a readable form and also let the user customize the trend chart. For example, the user can choose to view the yearly, monthly, or daily trends in the stock price.
The application uses the ObjectModel type to access the two visual data models that it depends on.
ListView { id: root ... model: ObjectModel { StockListView { id: listView width: root.width height: root.height } StockView { id: stockView width: root.width height: root.height stocklist: listView stock: stock } } }
The StockListView model is a static data model listing the NASDAQ-100 stocks with basic information such as stockId, name, value, change, and so on. This data model is used by the application if the user wants to choose another stock from the list.
StockView is a complex data model that presents a trend chart for the selected stock. It uses another custom type, StockChart, which presents the graphical trend of the stock price using a Canvas. This data model is used for most of the time during the lifetime of the application.
Rectangle { id: chart ... Canvas { id: canvas ... onPaint: { numPoints = stockModel.indexOf(chart.startDate); if (chart.gridSize == 0) chart.gridSize = numPoints var ctx = canvas.getContext("2d"); ctx.globalCompositeOperation = "source-over"; ctx.lineWidth = 1; drawBackground(ctx); if (!stockModel.ready) { drawError(ctx, "No data available."); return; } var highestPrice = 0; var highestVolume = 0; var lowestPrice = -1; var points = []; for (var i = numPoints, j = 0; i >= 0 ; i -= pixelSkip, j += pixelSkip) { var price = stockModel.get(i); if (parseFloat(highestPrice) < parseFloat(price.high)) highestPrice = price.high; if (parseInt(highestVolume, 10) < parseInt(price.volume, 10)) highestVolume = price.volume; if (lowestPrice < 0 || parseFloat(lowestPrice) > parseFloat(price.low)) lowestPrice = price.low; points.push({ x: j * xGridStep, open: price.open, close: price.close, high: price.high, low: price.low, volume: price.volume }); } if (settings.drawHighPrice) drawPrice(ctx, 0, numPoints, settings.highColor, "high", points, highestPrice, lowestPrice); if (settings.drawLowPrice) drawPrice(ctx, 0, numPoints, settings.lowColor, "low", points, highestPrice, lowestPrice); if (settings.drawOpenPrice) drawPrice(ctx, 0, numPoints,settings.openColor, "open", points, highestPrice, lowestPrice); if (settings.drawClosePrice) drawPrice(ctx, 0, numPoints, settings.closeColor, "close", points, highestPrice, lowestPrice); drawVolume(ctx, 0, numPoints, settings.volumeColor, "volume", points, highestVolume); drawScales(ctx, highestPrice, lowestPrice, highestVolume); } } Text { id: fromDate color: "#000000" font.family: Settings.fontFamily font.pointSize: 8 Layout.alignment: Qt.AlignLeft text: "| " + startDate.toDateString() } Text { id: toDate color: "#000000" font.family: Settings.fontFamily font.pointSize: 8 Layout.alignment: Qt.AlignRight Layout.rightMargin: canvas.tickMargin Layout.columnSpan: 5 text: endDate.toDateString() + " |" } } }
To understand the application better, browse through its code using Qt Creator.
Running the Example
To run the example from Qt Creator, open the Welcome mode and select the example from Examples. For more information, visit Building and Running an Example.
Files:
- demos/stocqt/stocqt.qml
- demos/stocqt/content/Banner.qml
- demos/stocqt/content/Button.qml
- demos/stocqt/content/CheckBox.qml
- demos/stocqt/content/Settings.qml
- demos/stocqt/content/StockChart.qml
- demos/stocqt/content/StockInfo.qml
- demos/stocqt/content/StockListDelegate.qml
- demos/stocqt/content/StockListModel.qml
- demos/stocqt/content/StockListView.qml
- demos/stocqt/content/StockModel.qml
- demos/stocqt/content/StockSettingsPanel.qml
- demos/stocqt/content/StockView.qml
- demos/stocqt/content/+windows/Settings.qml
- demos/stocqt/main.cpp
- demos/stocqt/stocqt.pro
- demos/stocqt/stocqt.qmlproject
- demos/stocqt/stocqt.qrc
- demos/stocqt/content/qmldir
See also QML Applications.


Social Media Highlight
Title
What’s in a Game? Some Examples of Board Games at Burns Library
Image Caption
Detail of gameboard with portrait of Queen Victoria, Historical Pastime: A New Game of the History of England
Source
From the John J. Burns Library's Blog


Close
Offer an Incentive.
Incentives
Either carrot or stick, incentives can be powerful motivators, but treat them with caution. They’re often an ugly solution and can taint the relationship with your audience.
Close
Consider
Can you tempt them with something of value?
Would it help to punish bad behaviour?
Close
Make them commit.
Commitments
We seek to live up to our promises.
Close
Consider
Give them an opportunity to make a commitment. The more effort, the more at stake, the more publicly announced, the better.
Could you give them a challenge to overcome and feel good about?
Can you provide a cause to publicly align with?
Close
Single them out from the crowd.
Pluralistic Ignorance
We’ll often follow others and become blind to alternatives, especially when drawbacks aren’t obvious, or if matters are aren’t discussed by the group.
Close
Consider
Single them out from the crowd, and communicate with them individually.
Are they simply following a crowd? How might you single them out?
Close
Make yours the path of least resistance.
Defaults
We mostly go with the flow of default options given to us..
Close
Consider
Choose your default option carefully.
Is the right choice easier to make than the wrong choice?
Close
Reduce the number of options.
Choice Overload
Too many choices create stress and uncertainty, reducing our ability to think rationally. In this case we’ll often fall back to the default option, or blindly follow those around us.
Close
Consider
Having fewer options allows less chance of mistakes and faster decisions.
Close
Speak through a voice they'll respect.
Messenger bias
We’re influenced heavily by who communicates the information we receive, placing irrational trust in ‘experts’ and other figures or symbols of authority.

Who would they listen to or trust the most?
Ask for something that sounds less intimidating or difficult.
Close
Give, generously, unexpectedly.
Reciprocity
A natural desire for fairness compels us to reciprocate good deeds.
Close
Consider
Be the first in the relationship to give. Make it generous and unexpected. You’ll have open ears and good will in return. More often than not, they’ll give back too.
Close
Give the impression of scarcity.
Scarcity
We value things more when they are scarce, or only available to a select group. We hate to feel like we’re missing out.
Close
Consider
Could you play hard to get?
Can your product feel exclusive in some way to your audience?
Can you instill a fear of missing out?
Close
Arouse them.
Affect
We are prey to our emotions and temptations. Hormones and endorphins can have a significant effect on how we process decisions.
Close
Consider
Could you make them happy, sad, angry, horny, hungry, thirsty? ...Would this make things easier for you?
Consider all the senses available.

Loss aversion
Fear of loss is a powerful motivator. The pain of losing something is roughly twice as strong as the pleasure of gaining another at the same value.
Close
Consider
What do they stand to lose by not doing what you’re asking?
Can you frame financial incentives in terms of potential loss?
Close
Be likeable.
Liking
It’s best to establish liking, before getting down to business. People are more receptive to messages from people and brands they actually like.
Close
Consider
Does your audience like you? If no, what could you do to change this?
If your brand were a person. Would people actually like you?
Close
Give the payoff now, let them pay later.
Hyperbolic Discounting
We have an overwhelming preference for immediate payoffs over later ones, even if we’d be getting a better deal in the long run.
Close
Consider
Can you separate the hard decision from its consequences?
Can you reward them sooner?
Can you delay the painful bit until later?
Close
Use others as a good example.
Social Norms
We tend to follow what those around us are doing, especially in situations of uncertainty.
Close
Consider
Can you highlight positive things people like them are doing?
Can you set an example for them to follow?
Could they do it together, with the people close to them?
Close
Repeat, repeat, repeat until it becomes normal.
Status Quo Bias
The more we repeat behaviours, the more automatic they become. Eventually they’ll become habituated defaults.
Close
Consider
Can you get them to repeat the desired behaviour several times, to begin to habituate it?
Can you interrupt them before bad habits form?
Close
Make the action stand out and feel novel.
Salience
Our attention is drawn to what seems novel and relevant to us. Surprising, funny, contrasting, different, new etc.
Close
Consider
Will they notice you at the critical moment?
Close
Give short, frequent and memorable reminders.
Availability
An event’s memorableness is measured by the strength of our emotional reaction, how frequently we’ve been exposed to it, and how recently it occured.
Close
Consider
How might recent or powerful memories be affecting their decision making?
Tell a powerful story that will stick in the audience’s mind.
Close
Use what's already familiar.
Familiarity Bias
We have a natural preference for things familiar to us.
Close
Consider
Does your desired behaviour feel familiar?
Can you relate the desired behaviour to something the user is already familiar with?
Let the user get used to you quickly, make them feel at home.
Can you build on existing habits?
Close
Associate with the desirable.
Halo Effect
Our feelings about one thing ‘spill over’ into other things related or nearby. We’ll make generalisations about the whole based on the perceived quality of one part of it.
Close
Consider
How are surrounding products or messages affecting your own?
Would associating with certain others improve their perception of you?
Close
End on a positive note.
Peak/End Rule
We remember experiences as a highlight reel of the most memorable bits, and the ending.
Close
Consider
Pay attention to the end of the customer’s experience. Make it good, it counts for more.
How might you create small, memorable moments within your experience?
Close
Save the most important step until last.
Post Completion Error
When our main task is finished, we often forget things related to previous steps.
Close
Consider
Make sure they’ve completed the task, before giving any reward.
Once they have what they want, are they likely to ignore extra steps?
Close
Massage their ego.
Ego
We like to act in ways that make us feel better about ourselves.
Close
Consider
How might your product / brand make the audience feel good about themselves?
Close
Don't lay the blame.
Fundamental Attribution
We tend to accept good outcomes as our own doing, while placing blame on others or things out of our control.
Close
Consider
If they’re doing something wrong, no point arguing it’s their fault. Focus on positive forward action instead.
Let them feel responsible for success.
Close
Remove the need for willpower.
Willpower
Like a muscle, our willpower tires with use. Don’t rely on it for long-term change. It only works in short bursts.
Close
Consider
How could you remove the need for willpower... Automation? Setting up defaults?
Close
Dare to be trivial.
Dare to be Trivial
Don’t assume behaviour change is difficult. Often the most effective solution is the smallest, cheapest, or most obvious.
Close
Consider
What’s the most mundane solution?
Close
Ask nicely.
Asking
Most of us want to do the right thing.
Close
Consider
Have you tried just asking? Ask nicely, cleverly, at the right moment for the most effect.
`
Close
Ask for a short, fixed-term commitment.
Short Commitments
A fixed period is easier to commit to and can establish habits that lead to long-term change.

Could you set a fixed period for change, rather than indefinite commitment?
Ask for something that sounds less intimidating or difficult.
Close
Focus on the desired behaviour.
Positive Reinforcement
Saying ‘don’t do x’ can actually reinforce a bad behaviour. Focus on the behaviour you want, avoid bringing up the one you don’t.
Close
Consider
Don’t focus on stopping old behaviours, create new ones instead.
Are you speaking in positive terms?
Close
Provide an obvious trigger to begin.
Triggers
No behaviour happens without a trigger.
Close
Consider
Could you use an existing habit as a trigger for your new behaviour?
If {trigger} then {your behaviour}.
Close
Give feedback. Quickly and constructively.
Feedback
Without feedback, we’ll never know whether what we’re doing is right or wrong.
Close
Consider
Let them know immediately when they’ve done the right thing.
Show the user they’ve been recognised.
Every action should have a perceptible effect.
Close
Expect mistakes and plan for them.
Error affordances
We all make mistakes or change our minds occasionally.
Close
Consider
Build in affordances to help keep them on track.
Let them backtrack.
Close
Break it down into smaller, easier steps.
Chunking
Complex, multi-step processes can be off-putting – often leading us to look for the nearest exit.
Close
Consider
Break your process down into small, manageable chunks and guide them one step at a time.
CDo they face more than one decision at the same time?
Close
Keep them coming back for more with a variable reward.
Variable Rewards
Like facebook’s little red notification badge, rewards that vary in frequency and size are much more addictive then those that are predictable and regular.
Close
Consider
Is your reward so regular they’ve come to take it for granted?
Do they have to be successful every time?
Close
Change the 'average' to suit your goal.
Anchoring
Value is often set by anchors or imprints in our minds which we use as mental reference points.
Close
Consider
Could you ask more than is actually required of them?
Close
Leave clues to put them in the right frame of mind.
Priming
Our acts are often influenced by cues around us picked up by our sub-conscious.
Close
Consider
What cues could you place around them to steer them in the right direction? Consider all the senses.
How might you get them in the right frame of mind before they interact with you?


--- layout: post title: Soulflower Lavender Citrus Almond Soap tags: - Soulflower status: publish type: post published: true meta: _edit_last: '2' wp_plus_one_redirect: '' _aioseop_title: Soulflower Lavender Citrus Almond Soap wp_plus_one_disabled: '1' _aioseop_keywords: Soulflower Lavender Citrus Almond Soap review _yoast_wpseo_linkdex: '0' _thumbnail_id: '3655' _yoast_wpseo_focuskw: '' _yoast_wpseo_title: '' _yoast_wpseo_metadesc: '' _yoast_wpseo_metakeywords: '' _yoast_wpseo_meta-robots-noindex: '0' _yoast_wpseo_meta-robots-nofollow: '0' _yoast_wpseo_meta-robots-adv: none _yoast_wpseo_sitemap-include: ! '-' _yoast_wpseo_sitemap-prio: ! '-' _yoast_wpseo_canonical: '' _yoast_wpseo_redirect: '' ---
Rarely you will find a person who doesn't love lavender fragrance, its supposed to calm the senses and relieve stress. I love lavender because every product containing this comes in purple packaging.. silly na but I love purple :)
Price: Rs.250 for 150gm
About soap: They say that opposites attract. This handmade bar of soap combines the bright, invigorating scent of lemons, oranges & also the soothing notes of lavender to calm & focus your mind. Together, these two lush scents create a unique & powerful bar of soap that you won’t find anywhere else. Ground almonds exfoliate & moisturizing cocoa butter leaves you with happier, healthier skin.  This soap is suitable for normal to oily skin and lathers beautifully even in hard water. Contains: Lavender, orange & lemon essential oils, crushed almonds, cocoa butter, Vitamin E, glycerin, aqua, saponified oils of olive, coconut, castor, palm & palm kernel. My experience: This is a beautiful looking bar, like a piece of rainbow with three stripes. Lavender, cocoa butter and Almond can easily be identified just by looking. Smells like Lavender with very mild undertones of citrus, overall the fragrance is nothing powerful though. Almond section is supposed to be exfoliating, but if the soap is kept in moisture they tend to soften up (very obvious). Overall I am quite pleased with soap, though I did not find it very calming but it lathers very well and gives a mild pleasant smell which is not long lasting. Does not dry up the skin, so need to rush for the moisturizer immediately. What I like:What I did not like:
Which is your favourite Almond/Lavender soap ?


Toggle navigation
JS Graph Cut
Home
About
Contact
Pure Javascript GraphCut Image Segmentation
Javascript Implementation of the Graph Cut technique for image segmentation
Image:
Black Cat
Brain CT
Chess
Lena
Rose
Ultrassom
Fernando
Foreground
Background
Segment
Graph Visualization


It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English.
Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.
Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.
Contrary to popular belief, Lorem Ipsum is not simply random text.  Richard McClintock, a Latin professor at Hampden-Sydney College
Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage


Spam Example
After buying a new spam filter that claims 95% accuracy, you test it on 100 of your emails. The results are:
| Filter Says “OK” | Filter says “Spam” | |
|---|---|---|
| Real Mail | 73 real emails correctly labeled “OK” | 7 real emails incorrectly labeled “Spam” |
| Junk Mail (Spam) | 2 junk emails incorrectly labeled “OK” | 18 junk emails correctly labeled “Spam” |
So: How much should you trust your Spam filter?
Because of the way we have collected the data, where we have counts in each cell, we can answer this directly without doing Bayesian inference. But let's walk through, because often the most important step is how to interpret the problem.
Influence Diagram
An email is either spam or not. The detector either says Spam or not. So the diagram is:
[Mail Type] --> [Filter Label]
This is yet another "simple diagnostic" problem like Mammogram. But where Mammogram gives us the causal probabilities (like test results given cancer, or label given mail) and asks us to invert them, this problem has given us the full frequency table to slice as we like.
So, how should we slice it?
Clarification
In parallel with Mammogram, I shall read the question about trusting your spam filter as some combination of two diagnostic questions (where causal probabilities follow the arcs, and diagnostic probabilities reverse them):
a. Given a "Spam" label, what is the chance it really is spam? --or--
b. Given an "OK" label, what is the chance it really is OK?
Probabilities
Notice the table gives counts for all four combinations, like "real mail labeled spam" and "real mail labeled OK". We can use this to answer the question directly (see Discussion), but we can also use it to test out the Calculator.
Using the Calculator.
The calculator cannot use clever conventions like Spam given "Spam": all variables are True/False. So we will define them as Spam and SaySpam.
Discussion
We can verify these directly because we have the full joint probability table.
a. Given a "Spam" label, the chance that it is spam is #(Spam & "Spam") / #"Spam", or in this case, 18/(7+18) = 18/25, or about 72%.
b. Similarly, chance it is OK given that it is labeled so is #(OK & "OK") / #"OK", or 73/75, or about 97%.


--- layout: default title: Publications ---
Butchart, J., Harrison, R., Ritchie, J., Martí, F., McCarthy, C., Knight, S., Scheinberg, A. (in press) Child and parent perceptions of acceptability and therapeutic value of a socially assistive robot used during paediatric rehabilitation. Disability and Rehabilitation, 1-8. https://doi.org/10.1080/09638288.2019.1617357 [BibTeX]
Martí Carrillo, F., Butchart, J., Knight, S., Scheinberg, A., Wise, L., Sterling, L., McCarthy, C. (2018) Adapting a General-Purpose Social Robot for Paediatric Rehabilitation through In Situ Design. ACM Trans. Hum.-Robot Interact. 7(1), 12:1-12:30. https://doi.org/10.1145/3203304 [PDF] [BibTeX] [Slides] *Invited paper presented in the International Conference on HRI. Chicago, 8 March 2018*
Martí Carrillo, F., Butchart, J., Kruse, N., Scheinberg, A., Wise, L., McCarthy, C. (2018) Physiotherapists' Acceptance of a Socially Assistive Robot in Ongoing Clinical Deployment. Proceedings of the the 27th IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN) https://doi.org/10.1109/ROMAN.2018.8525508 [PDF] [BibTeX] [Data]
Martí Carrillo, F., Butchart, J., Knight, S., Scheinberg, A., Wise, L., Sterling, L., McCarthy, C. (2017) In-Situ Design and Development of a Socially Assistive Robot for Paediatric Rehabilitation. Proceedings of the Companion of the 2017 ACM/IEEE International Conference on Human-Robot Interaction (pp. 199-200). New York, NY, USA: ACM. https://doi.org/10.1145/3029798.3038382 [PDF] [BibTeX] [Poster]
Martí Carrillo, F., Butchart, J., Knight, S., Scheinberg, A., Wise, L., Sterling, L., McCarthy, C. (2016) Help me help you: A Human-Assisted Social Robot in Paediatric Rehabilitation. Proceedings of the 28th Australian Conference on Computer-Human Interaction (pp. 659-661). New York, NY, USA: ACM. https://doi.org/10.1145/3010915.3011858 [PDF] [BibTeX] [Poster]
Martí Carrillo, F., Topp, E.A. (2016) Interaction and Task Patterns in Symbiotic, Mixed-Initiative Human-Robot Interaction. Symbiotic Cognitive Systems workshop, Workshop proceedings of AAAI 2016. AAAI Press. http://www.aaai.org/ocs/index.php/WS/AAAIW16/paper/view/12602 [PDF] [BibTeX]


(PHP 4 >= 4.2.0, PHP 5, PHP 7)
com_print_typeinfo — Print out a PHP class definition for a dispatchable interface
$comobject
[, string $dispinterface
[, bool $wantsink
= FALSE
]] ) : boolThe purpose of this function is to help generate a skeleton class for use as an event sink. You may also use it to generate a dump of any COM object, provided that it supports enough of the introspection interfaces, and that you know the name of the interface you want to display.
comobject
comobject
should be either an instance of a COM
object, or be the name of a typelibrary (which will be resolved according
to the rules set out in com_load_typelib()).
dispinterface
The name of an IDispatch descendant interface that you want to display.
wantsink
If set to TRUE
, the corresponding sink interface will be displayed
instead.
成功时返回 TRUE
， 或者在失败时返回 FALSE
。


Sweet Free Stuff
///////////////////////////////////////////
Free Moonstruck Chocolate Bar at Kroger & Affiliate Stores
Posted: 12 Feb 2016 10:15 AM PST
http://feedproxy.google.com/&edburner&utm_medium=email
Load the coupon to your shoppers card today only (2/12) and use by 2/28.
Free Moonstruck Chocolate Bar at Kroger Affiliate Stores
The post Free Moonstruck Chocolate Bar at Kroger Affiliate Stores appeared
first on SweetFreeStuff.com.
///////////////////////////////////////////
Free Subscription to Family Circle
Posted: 12 Feb 2016 05:00 AM PST
http://feedproxy.google.com/&edburner&utm_medium=email
Free Subscription to Family Circle
The post Free Subscription to Family Circle appeared first on
SweetFreeStuff.com.
CommentsI love this magazine I use to buy it in the supermarket years …
by ileana hobotMy Godmother and my mother both have these magazines,I
would … by Mariah coxIf you offer this again, please Count me in. I’d
love to have … by minkieI love free stuff!!! by TK HughesI would like to
know if this offer will be available again. i … by pamela McVeyWe’re
sorry, this offer has either expired, or inventory has … by Snarf
///////////////////////////////////////////
10 Free Pampers Gifts to Grow Points
Posted: 12 Feb 2016 01:00 AM PST
http://feedproxy.google.com/&edburner&utm_medium=email
To login please click here and enter the code: FB2V9DAY3VSEL16 for 10 more
points. (Expires 11/15) (If you need to register, click here to sign up and
receive 100 points!) The Pampers Gifts to Grow Rewards Program rewards you
for choosing Pampers diapers, training pants and wipes for your growing
baby. To start, simply collect the codes Continue reading 10 Free Pampers
Gifts to Grow Points
The post 10 Free Pampers Gifts to Grow Points appeared first on
SweetFreeStuff.com.
CommentsWhen you copy and paste, make sure there are no spaces on … by
EPThis code doesn’t work by NeshaThank u for the free samples it really
helps by Linzy stringerAny free samples l will appreciate it.Thanks by Ruby
Benn
///////////////////////////////////////////
Free Subscription to Diabetes Self-Management
Posted: 11 Feb 2016 09:14 PM PST
http://feedproxy.google.com/&edburner&utm_medium=email
Free Subscription to Diabetes Self-Management
The post Free Subscription to Diabetes Self-Management appeared first on
SweetFreeStuff.com.


function toFloat(expression)
toFloat() converts the argument to a float. A string is parsed as if it was an floating point number.
If the parsing fails, NULL will be returned. An integer will be cast to a floating point number.
Arguments:
RETURN toFloat("11.5"), toFloat("not a number")


| DOSE: |
60 mg |
smoked |
DMT |
(powder / crystals) |
I recently aquired what seemed to be a good amount of orangish-clear looking DMT crystals. I calmed my mindset and got myself ready for an experience in which I have read much about but still knew that I didn't have a clue as to what was really going to happen. Similar to LSD and mushrooms, I had a preconception in my mind about what the experience would be like based on other peoples' reports and comments. Of course, you can never fully explain the resulting reality shattering entheogenic process of these amazing 'drugs'.
As I calmed myself I concentrated on what I wanted to learn from this DMT session and decided that I just wanted to learn and experience DMT hyperspace...completely go with it and not try to impose any of my own ideas or philosophies. I wished to experience DMT as a blank slate, if you will. I knew that there would be plenty more experiences with this drug to learn from. I simply needed to know what I was getting myself into first.
I placed an approximate dosage of DMT on some wormwood in a typical glass canabis pipe. I had debated using a testube but decided that if or when I was hit by the DMT induced state it would be much easier to put down a simple glass pipe (no sitter present).
I held the flame roughly 1/2' from the DMT and took a soft deliberate hit. Instantly, I saw the DMT starting to melt and sort of bubble. I found the DMT extremely easy to keep in my lungs but I do smoke cigarettes and canabis daily which may have helped that. As many reports have stated, the DMT did indeed taste like plastic, in a way. It really seemed to have a 'mystical' taste to it as well.
I held the first hit in for about 15 seconds and immediately upon exhalation felt effects creeping up on me. VERY mushroomy type feeling. I knew that I couldn't stop taking in the substance and only had a limited amount of time to ingest. I took the second hit which was much bigger than the first. Again, held it in for about 15 seconds and exhaled. It was undeniable now that this would be a humbling experience. As hard as it was to force myself to do it I took a third and final hit. I'm not sure how long this was held in for as I was instantly catapulted into a mirror of color (eyes closed). I believe that I must have held my breath for sometime because I specifically remember a female entity (green) telling me to take deep breaths if I wished to continue on with the experience.
I utterly can't believe the dimensions involved with the DMT experience. With my eyes closed I was contacted by at least 10 different entitites...all female. What I couldn't get over was the pure eroticism involved with these beings. They sort of resembled mermaids of color w/ large breasts.   She pressed forward into my 'being' and I got stuck on I guess what I'll call a time loop. While I was in this loop which consisted of a green and red warble of color I heard something amazing. It was a loop of very ancient song. Something of tounges.
This persisted for awhile longer until I couldn't stand it anymore so I opened my eyes. WOW!! Everything in my living room looked Aztec. Everything appeared to be an entity of sorts wearing ancient jewelry. In everything around me I saw what I can only describe as the 'pattern of consciousness'. As I stared at these beings in utter disbelief they started to sway back and forth in a very sexual way, once again.  At the same time, I couldn't tell myself it wasn't happening because it seemed SO real.
The DMT hyperspace soon faded and I found myself fairly close to baseline again. I pondered what had happened for the whole rest of the night as I played some acoustic guitar. Don't second guess this amazing drug!! I've read many, many reports on the net about DMT use and was blown away 100% by this amazing substance. Truely spectacular!! I look forward to having many future sessions with DMT and especially am now interested in Ayahuasca.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Here at Kickstart we are dedicated to serving as a guide to those both interested and willing to learn computer literacy, especially those without the resources to do so.
What is Kickstart?
We are both a student created service and program.
What is our goal?
Our goal is to provide our largest possible means of guidance for those without access to sufficient resources in attaining computer literacy.


Alternate immune system targets for TCDD: lymphocyte stem cells and extrathymic T-cell development.
Abstract
We here summarize evidence that thymic atrophy induced by 2, 3, 7, 8-tetrachlorodibenzo-p-dioxin (TCDD) can be mediated, at least in part, by damage to extrathymic T-cell precursors in bone marrow and fetal liver. This atrophy induction does not involve apoptotic mechanisms in thymocytes affected by the bcl-2 proto-oncogene. TCDD mediates atrophy induction through its specific receptor (the AhR) and not through effects on the estrogen receptor. Both TCDD and estradiol induce extrathymic T-cell differentiation in the liver. These extrathymic T-cell populations include cells expressing elevated levels of V beta T-cell receptors that are normally deleted in thymic development.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.jgap.Chromosome
Chromosomes represent potential solutions and consist of a fixed-length collection of genes. Each gene represents a discrete part of the solution. Each gene in the Chromosome may be backed by a different concrete implementation of the Gene interface, but all genes in a respective position (locus) must share the same concrete implementation across Chromosomes within a single population (genotype). In other words, gene 1 in a chromosome must share the same concrete implementation as gene 1 in all other chromosomes in the population.
| Field Summary | |
protected Configuration |
m_activeConfiguration
The current active genetic configuration. |
protected int |
m_fitnessValue
Stores the fitness value of this Chromosome as determined by the active fitness function. |
protected Gene[] |
m_genes
The array of Genes contained in this Chromosome. |
protected boolean |
m_isSelectedForNextGeneration
Keeps track of whether or not this Chromosome has been selected by the natural selector to move on to the next generation. |
| Constructor Summary | |
Chromosome(Configuration a_activeConfiguration,
Gene[] a_initialGenes)
Constructs this Chromosome instance with the given array of gene values. |
|
Chromosome(Gene[] a_initialGenes)
Constructs a Chromosome separate from any specific Configuration. |
|
Chromosome(Gene a_sampleGene,
int a_desiredSize)
Constructs a Chromosome of the given size separate from any specific Configuration. |
| Method Summary | |
void |
cleanup()
Invoked when this Chromosome is no longer needed and should perform any necessary cleanup. |
java.lang.Object |
clone()
Returns a copy of this Chromosome. |
int |
compareTo(java.lang.Object other)
Compares the given Chromosome to this Chromosome. |
boolean |
equals(java.lang.Object other)
Compares this Chromosome against the specified object. |
int |
getFitnessValue()
Retrieves the fitness value of this Chromosome, as determined by the active fitness function. |
Gene |
getGene(int a_desiredLocus)
Returns the Gene at the given index (locus) within the Chromosome. |
Gene[] |
getGenes()
Retrieves the set of genes that make up this Chromosome. |
int |
hashCode()
Retrieve a hash code for this Chromosome. |
boolean |
isSelectedForNextGeneration()
Retrieves whether this Chromosome has been selected by the natural selector to continue to the next generation. |
static Chromosome |
randomInitialChromosome(Configuration a_activeConfiguration)
Convenience method that returns a new Chromosome instance with its genes values (alleles) randomized. |
void |
setActiveConfiguration(Configuration a_activeConfiguration)
Sets the active Configuration object on this Chromosome. |
void |
setFitnessValue(int a_newFitnessValue)
Sets the fitness value of this Chromosome. |
void |
setIsSelectedForNextGeneration(boolean a_isSelected)
Sets whether this Chromosome has been selected by the natural selector to continue to the next generation. |
int |
size()
Returns the size of this Chromosome (the number of genes it contains). |
java.lang.String |
toString()
Returns a string representation of this Chromosome, useful for some display purposes. |
| Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
protected transient Configuration m_activeConfiguration
protected Gene[] m_genes
protected boolean m_isSelectedForNextGeneration
protected int m_fitnessValue
| Constructor Detail |
public Chromosome(Gene a_sampleGene, int a_desiredSize)
a_sampleGene
- A sample concrete Gene instance that will be used
as a template for all of the genes in this
Chromosome.a_desiredSize
- The desired size (number of genes) of this
Chromosome.public Chromosome(Gene[] a_initialGenes)
a_initialGenes
- The genes of this Chromosome.public Chromosome(Configuration a_activeConfiguration, Gene[] a_initialGenes) throws InvalidConfigurationException
a_activeConfiguration
- The current, active Configuration object.a_initialGenes
- The array of genes that are to be contained
within this Chromosome instance.
InvalidConfigurationException
- if the given Configuration
instance is null or invalid.
java.lang.IllegalArgumentException
- if any of the given parameters are
invalid, such as a null genes array or element.| Method Detail |
public void setActiveConfiguration(Configuration a_activeConfiguration) throws InvalidConfigurationException
a_activeConfiguration
- The current active Configuration object
that is to be referenced internally by
this Chromosome instance.
InvalidConfigurationException
- if the Configuration object is
null or cannot be locked because it is in an invalid or
incomplete state.public java.lang.Object clone()
clone
in class java.lang.Object
public Gene getGene(int a_desiredLocus)
public Gene[] getGenes()
public int size()
public int getFitnessValue()
public void setFitnessValue(int a_newFitnessValue)
a_newFitnessValue
- a positive integer representing the fitness
of this Chromosome.public java.lang.String toString()
toString
in class java.lang.Object
public static Chromosome randomInitialChromosome(Configuration a_activeConfiguration) throws InvalidConfigurationException
a_activeConfiguration
- The current active configuration.
InvalidConfigurationException
- if the given Configuration
instance is invalid.
java.lang.IllegalArgumentException
- if the given Configuration instance
is null.public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
other
- The object to compare against.
public int hashCode()
hashCode
in class java.lang.Object
public int compareTo(java.lang.Object other)
compareTo
in interface java.lang.Comparable
other
- The Chromosome against which to compare this chromosome.
public void setIsSelectedForNextGeneration(boolean a_isSelected)
a_isSelected
- true if this Chromosome has been selected, false
otherwise.public boolean isSelectedForNextGeneration()
public void cleanup()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Ticket ID: 409788
Name:
Parker Seidel
No active support
Email:
<EMAIL_ADDRESS>Response time:
72 hours, 60 hours left
Last Action:
Never been locked.
Link to public post
Status:
Not answered


Multi-Screen Window Placement Demo (
GitHub
)
Update screens
Fullscreen opener
Move window to
left:
top:
Resize window to
width:
height:


Frequently Asked Questions
Compatability
Which JDK is required to use XStream?
1.3 or later.
Does XStream behave differently across different JVMs?
XStream has two modes of operation: Pure Java and Enhanced. In pure Java mode, XStream behaves in the same way across different JVMs, however it's features are limited to what reflection allows, meaning it cannot serialize certain classes or fields. In enhanced mode, XStream does not have these limitations, however this mode of operation is not available to all JVMs.
Which JVMs allow XStream to operate in enhanced mode?
Currently on Sun's 1.4 JVM and onwards. For all other JVMs, XStream should be used in pure Java mode.
What are the advantages of using enhanced mode over pure Java mode?
| Feature | Pure Java | Enhanced (Sun 1.4 only) |
|---|---|---|
| Public classes | Yes | Yes |
| Non public classes | No | Yes |
| Static inner classes | Yes | Yes |
| Non-static inner classes | No | Yes |
| Anonymous inner classes | No | Yes |
| With default constructor | Yes | Yes |
| Without default constructor | No | Yes |
| Private fields | Yes | Yes |
| Final fields | No | Yes |
Are there plans to provide enhanced mode support to other JVMs?
Yes. Let us know which JVM you would like supported.
Serialization
How do I specify that a field should not be serialized?
Make it transient
.
What do serialized collections look like?
Example:
class Person { private String name; private List toys; // ... } class Computer { String type; } class Car { String color; } xstream.alias("person", Person.class); xstream.alias("computer", Computer.class); xstream.alias("car", Car.class); Person joe = new Person("Joe"); person.addToy(new Computer("apple")); person.addToy(new Computer("spectrum")); person.addToy(new Car("blue")); String xml = xstream.toXML(joe);
Results in:
<blockquote><person> <name>Joe</name> <toys> <computer> <type>apple</type> </computer> <computer> <type>spectrum</type> </computer> <car> <type>blue</type> </car> </toys> </person>
How do I serialize binary data in a byte array?
You need to register a special a Converter:
xstream.registerConverter(new EncodedByteArrayConverter());
This will store binary data in XML by BASE-64 encoding it.
It is not registered by default as the encoding classes are not part of the standard JDK.
Do my classes have to implement Serializable if XStream is to serialize them?
No.
Can dynamic proxies be serialized?
Yes.
Scalability
Is XStream thread safe?
Yes. Once the XStream instance has been created and configured, it may be shared across multiple threads allowing objects to be serialized/deserialized concurrently.


Week 9 of Phase 0
10 July 2014
How to ask a good question?
With computer software, platforms and devices constantly changing and improving, this is probably the most overlooked skill in the world. Many of us are afraid to ask a question because we fear showing our ignorance and being subjected to a public humilation or being completely ignored and the question being overlooked. In defense of those answering our questions we should do everything we can to ensure that question is answerable. To improve our chances of getting an answer, here are some tips:
Before You Ask
Before asking your question have you really tried to solve it on your own? Have you done any of the following?
- Read the source code? Or documentation?
- Searched the Web? i.e., Googled it?
- Tried experimentating?
- Ask a friend or co-worker?
Be respectful of the time and knowledge from whom who are seeking assistance. When you ask your question, let them know that you have done these things first; this will establish that you're not being lazy and you're willing to complete the process if someone can just point you in the right direction.
Now that you are ready to post/ask your question here are some more suggestions.
- Take your time and think your question through. Poorly written questions get poorly written answers, or none at all. The more you do to demonstrate that having put thought and effort into solving your problem before seeking help, the more likely you are to actually get help.
- State the problem before you post any code. Be precise and informative. In the body of your question, start by expanding on the summary you put in the title. Explain how you encountered the problem you're trying to solve, and any difficulties that have prevented you from solving it yourself.
- Proof-read before posting!
Now that you're ready to ask your question, take a deep breath and read through it from start to finish. Pretend you're seeing it for the first time: does it make sense? Try reproducing the problem yourself, in a fresh environment and make sure you can do so using only the information included in your question. Add any details you missed and read through it again. Now is a good time to make sure that your title still describes the problem!
- Post the question and respond to feedback. After you post, leave the question open in your browser for a bit, and see if anyone comments. If you missed an obvious piece of information, be ready to respond by editing your question to include it. If someone posts an answer, be ready to try it out and provide feedback!


The total chat app, including the ask/answer component for soliciting a name comments, etc. is listed on this page. There is no special code to support AJAX/Comet (all the wrapping is done automatically by Lift).
When the Chat comet widget is added to the page, it needs to solict the user for a "chat name". It asks the "AskName" comet widget for the name. Until the AskName comet widget provides a name, all rendering messages are forwarded to AskName. Here's the code for the "AskName":
class AskName extends CometActor { def render = ajaxForm(
What is your username?
 ++ text("",name => answer(name.trim)) ++ <input type="submit" value="Enter"/>) }
When the user submits the form, the question asked by the Chat comet widget is answered with the value the user submitted. This is similar to the ask/answer paradigm in Seaside, except that there's no need for continuations.
Now, onto the heart of the chat app:
class Chat extends CometActor with CometListener { private var userName = "" private var chats: List[ChatLine] = Nil private lazy val infoId = uniqueId + "_info" private lazy val infoIn = uniqueId + "_in" private lazy val inputArea = findKids(defaultXml, "chat", "input") private lazy val bodyArea = findKids(defaultXml, "chat", "body") private lazy val singleLine = deepFindKids(bodyArea, "chat", "list") // handle an update to the chat lists // by diffing the lists and then sending a partial update // to the browser override def lowPriority = { case ChatServerUpdate(value) => val update = (value -- chats).reverse.map(b => AppendHtml(infoId, line(b))) partialUpdate(update) chats = value } // render the input area by binding the // appropriate dynamically generated code to the // view supplied by the template override lazy val fixedRender: Box[NodeSeq] = ajaxForm(After(100, SetValueAndFocus(infoIn, "")), bind("chat", inputArea, "input" -> text("", sendMessage _, "id" -> infoIn))) // send a message to the chat server private def sendMessage(msg: String) = ChatServer ! ChatServerMsg(userName, msg.trim) // display a line private def line(c: ChatLine) = bind("list", singleLine, "when" -> hourFormat(c.when), "who" -> c.user, "msg" -> c.msg) // display a list of chats private def displayList(in: NodeSeq): NodeSeq = chats.reverse.flatMap(line) // render the whole list of chats override def render = bind("chat", bodyArea, "name" -> userName, AttrBindParam("id", Text(infoId), "id"), "list" -> displayList _) // setup the component override def localSetup { askForName super.localSetup } // register as a listener def registerWith = ChatServer // ask for the user's name private def askForName { if (userName.length == 0) { ask(new AskName, "what's your username") { case s: String if (s.trim.length > 2) => userName = s.trim reRender(true) case _ => askForName reRender(false) } } } }
This example demonstrates the power of Scala's Actors and Lift. With very few lines of code, we've got a complete AJAX/Comet app that has Seaside style Ask/Answer for building modal dialogs.


Reports incompatible signatures of the __new__
and __init__
methods.
Example:
class MyClass(object):
def __new__(cls, arg1):
return super().__new__(cls)
def __init__(self):
pass
If the __new__
and __init__
have different arguments, then the MyClass
cannot be instantiated.
As a fix, the IDE offers to apply the Change Signature refactoring.


ID: {{realestate.external_id}}
City settlement: {{realestate.settlement}}
Street: {{realestate.street}}
Target price: {{realestate.price}}
Size: {{realestate.size}}
Plot size: {{realestate.plot}}
Number of rooms: {{realestate.rooms}}
Status: {{realestate.status}}
Heating: {{realestate.heating}}
Location: {{realestate.sitting}}
Utilities: {{realestate.utilities}}
Referent: {{realestate.user_name}}
Contact information: {{realestate.user_email}}, {{realestate.user_phone}}
Description: {{realestate.description}}