(defstruct (col (:include thing))
(txt "") ; column name
(at 0) ; column position
(n 0) ; number of summarizes itemd
(w 1) ; weight
)
abstract super-class for columns
(defstruct (col (:include thing))
(txt "") ; column name
(at 0) ; column position
(n 0) ; number of summarizes itemd
(w 1) ; weight
)
columns we are going to count
(defstruct (skip (:include col)))
columns where we cound symbols (and the most common symbol, a.k.a the mode)
(defstruct (sym (:include col))
seen mode (most 0))
(defstruct (num (:include col))
(_all (make-array 32 :fill-pointer 0 :adjustable t))
sorted)
(defstruct (row (:include thing))
_rows ; pointer to "rows" holding this
cells) ; values in this row
(defstruct (cols (:include thing))
all ; all the cols
x ; just the indendeont columns
y ; just the dependent columns
klass) ; the klass column (if it exists)
(defstruct (rows (:include thing))
rows ; list of "row"
(cols (make-cols))) ; column information


Toast
Welcome to Toast!
Toast is a ROS development server so feel free to mess around.
Open Plot
Open Terminal
Light Switch


Farming is all about getting the most amount of resources in the least amount of time, you drop your trophies to get easier people to raid, and only attack those with a lot of resource.ssome of the townhall 5 war bases are given below
War base is a base that tries every means to prevent being 3 starred. It's like the ultimate trophy base that protects the Town Hall above all else.some of the townhall 5 war bases are given below


--- title: "BONSAI BASICS" date: "2000-01-01 18:10:15 -06:00" categories: - adult subtitle: "" layout: "events" event-image: "bonsai-basics.jpg" event-dates: "SATURDAY, OCTOBER 14" event-location: "Red Butte Garden Classroom" button-type: "register" tickets-link: "https://55218.blackbaudhosting.com/55218/Bonsai-Basics-14Oct2017" registration-info: "N/A" instructor-info: "Danny Cowan, Bonsai Club of Utah" member-cost: "Free" public-cost: "Garden Admission" event-notes: "" tickets-button: "" published: false ---
SATURDAY, OCTOBER 14, 10AM - NOON
REGISTRATION REQUIRED
This class is designed to give you a basic understanding of the art of Bonsai - and equip you with the skills to necessary to grow and shape your own tree. Topics covered will include seasonal care of Bonsai trees, tools and supply basics, repotting with a step-by-step demo, and wiring and styling demonstrations.
There will also be a short question and answer session at the end of class. During this time, you are welcome to bring and ask specific questions about your trees.
CLICK HERE to learn more about the history of Bonsai.
Don't miss the Bonsai Show at Red Butte Garden on Saturday & Sunday, Oct 14 & 15.


source code
Docs Example
This is a simple example for demonstration purposes.
If you came here from the documentation please add an annotation here!


This test checks that loading with emulation turned on by default selects the "Emulation" view in drawer.


JavaScript, often abbreviated as JS, is a high-level, interpreted programming language. It is a language which is also characterized as dynamic, weakly typed, prototype-based and multi-paradigm.
JavaScript operators are used to assign values, compare values, perform arithmetic operations, and more.
Before you use a variable in a JavaScript program, you must declare it. Variables are declared with the var keyword as follows. Storing a value in a variable is called variable initialization. You can do variable initialization at the time of variable creation or at a later point in time when you need that variable.
A set of rules for choosing the character sequence to be used for identifiers which denote variables, types, functions, and other entities in source code and documentation.


Treebank Statistics: UD_Chinese-HK: POS Tags: CCONJ
There are 16 CCONJ
lemmas (1%), 16 CCONJ
types (1%) and 99 CCONJ
tokens (1%).
Out of 16 observed tags, the rank of CCONJ
is: 12 in number of lemmas, 12 in number of types and 13 in number of tokens.
The 10 most frequent CCONJ
lemmas: 或、 而、 和、 但、 及、 並、 與、 不過、 以及、 但是
The 10 most frequent CCONJ
types: 或、 而、 和、 但、 及、 並、 與、 不過、 以及、 但是
The 10 most frequent ambiguous lemmas: 而 (CCONJ 17, ADV 4), 和 (CCONJ 16, ADP 4), 但 (ADV 21, CCONJ 15), 並 (ADV 6, CCONJ 5), 與 (ADP 5, CCONJ 4), 不過 (ADV 8, CCONJ 3), 但是 (ADV 3, CCONJ 2), 卻 (ADV 7, CCONJ 1)
The 10 most frequent ambiguous types: 而 (CCONJ 17, ADV 4), 和 (CCONJ 16, ADP 4), 但 (ADV 21, CCONJ 15), 並 (ADV 6, CCONJ 5), 與 (ADP 5, CCONJ 4), 不過 (ADV 8, CCONJ 3), 但是 (ADV 3, CCONJ 2), 卻 (ADV 7, CCONJ 1)
- 而
- 和
- 但
- 並
- 與
- 不過
- 但是
- 卻
Morphology
The form / lemma ratio of CCONJ
is 1.000000 (the average of all parts of speech is 1.007013).
The 1st highest number of forms (1) was observed with the lemma “不過”: 不過.
The 2nd highest number of forms (1) was observed with the lemma “並”: 並.
The 3rd highest number of forms (1) was observed with the lemma “以及”: 以及.
CCONJ
does not occur with any features.
Relations
CCONJ
nodes are attached to their parents using 2 different relations: cc (71; 72% instances), advmod (28; 28% instances)
Parents of CCONJ
nodes belong to 7 different parts of speech: VERB (53; 54% instances), NOUN (29; 29% instances), ADJ (8; 8% instances), PROPN (4; 4% instances), ADV (3; 3% instances), DET (1; 1% instances), NUM (1; 1% instances)
95 (96%) CCONJ
nodes are leaves.
4 (4%) CCONJ
nodes have one child.
The highest child degree of a CCONJ
node is 1.
Children of CCONJ
nodes are attached using 1 different relations: punct (4; 100% instances)
Children of CCONJ
nodes belong to 1 different parts of speech: PUNCT (4; 100% instances)


Comics from marvel API
code:
status:
copyright:
attrText:
attrHTML:
etag:
offset:
limit:
total:
count:


Assessments of profiling submissions to the 1st CAMI Challenge
1st CAMI Challenge Dataset 1 CAMI_low
1st CAMI Challenge Dataset 2 CAMI_medium
1st CAMI Challenge Dataset 2 CAMI_medium pool
1st CAMI Challenge Dataset 3 CAMI_high
1st CAMI Challenge Dataset 3 CAMI_high pool


Before Change
// Fill queue with docs; progress bar will not be updated until this is done
for x in xs:
in_queue.put(x)
in_queue.put(UDF.QUEUE_CLOSED)
while any([udf.is_alive() for udf in self.udfs]) and count_parsed < total_count:
y = out_queue.get()
After Change
if docs_added < total_count:
in_queue.put(next(xs_generator))
docs_added += 1
if docs_added == total_count:
in_queue.put(UDF.QUEUE_CLOSED)
docs_added += 1
y = out_queue.get()
// Update progress bar whenever an item is processed
if y == UDF.TASK_DONE:


Really, FIRSTNAME.
I thought you had a lot of potential, but there is no way you could have just missed all that evidence. I trained you too well for that. You really didn't strike me as the traitorous type, though. I guess I need to upgrade my "traidar" :).
I'll have to find someone else with whom to exchange recipes. I suppose it's all for the best. You won't have access to many exotic ingredients where you are going anyway.
However, I would feel bad if I left you with nothing, so I have a surprise for you: I've arranged for you to keep your spatula!
Remember how I told you that crêpes can be so much more than dessert? This is your chance to take advantage of this fact! Getting hold of some butter and buckwheat flour shouldn't be a problem, and you will be cooking up delicious crêpes for everyone in no time!
Just take whatever other foodstuff you can find and use it for fillings! For special occasions, you may be able to convince the guards to fetch some extra ingredients for you. I will put in a good word. Just make sure you do a better job locating ingredients than you did finding evidence :). Enjoy!
Salvinu Manduca
Senior Consultant


{% load static %}
This is assignment task for Navigus
A quiz can contain multiple questions, and each question may have multiple correct
answers. The teacher must set the points (positive integer with max value 10) for each
question that the student must receive by answering the question correctly.
A teacher must also specify the passing points for the overall course quiz that a student
must obtain. While taking a quiz, if a student has achieved a passing score, they can
choose to continue to earn more points or leave the quiz.
Explore the Assignment.


DevIL Documentation
Previous
|
IL
|
Next
IL_INVALID_EXTENSION
The extension of the specified filename was not correct for the type of image-loading function.


<pagination
totalrecords="103"
pagesize="10"
pagescount="5"
selectedpage="1"
(onPageChange)="onPageChange($event)"
previousbtncss="btn btn-primary glyphicon glyphicon-menu-left"
nextbtncss="btn btn-primary glyphicon glyphicon-menu-right"
btncss="btn"
selectedcss="btn-primary"
cssclass="custompagination">
</pagination>
The component comes with the onRatingSelected event as you can see in the above markup. This event will fire whenever the user selects a page/next/previous buttons. This event has one argument which will return selected page number. This event can be used to fetch records from DB based on the selected page number.
The style properties(previousbtncss, nextbtncss, btncss, selectedcss, cssclass) are optional. If user dosent provide with any value the default will be applied.
onPageChange(selectedPage: number) {
}


All about contemporary art
|
|
"EWA"
A key element in understanding the paintings of Ewa is her occasional use of wrapping-paper. As she puts it, this material “allows [her] access to many different patterns and figures within the folds.” Often painting (at least in a preliminary way) with her eyes closed, the crux of Ewa’s work is the portrayal of human and animal bodies: or, more specifically, the mood of different states of embodiment. With an oeuvre whose modes range from portraits, to landscapes, to forays into minimalist repetition and exploded abstraction, Ewa resolves her paintings in terms of a certain, unmistakable mood—so easy to spot yet difficult to articulate in non-visual means.
|
|
"Maribel"
A key element in understanding the paintings of Ewa is her occasional use of wrapping-paper. As she puts it, this material “allows [her] access to many different patterns and figures within the folds.” Often painting (at least in a preliminary way) with her eyes closed, the crux of Ewa’s work is the portrayal of human and animal bodies: or, more specifically, the mood of different states of embodiment. With an oeuvre whose modes range from portraits, to landscapes, to forays into minimalist repetition and exploded abstraction, Ewa resolves her paintings in terms of a certain, unmistakable mood—so easy to spot yet difficult to articulate in non-visual means.
|
|
"Attila Mata"
A key element in understanding the paintings of Ewa is her occasional use of wrapping-paper. As she puts it, this material “allows [her] access to many different patterns and figures within the folds.” Often painting (at least in a preliminary way) with her eyes closed, the crux of Ewa’s work is the portrayal of human and animal bodies: or, more specifically, the mood of different states of embodiment. With an oeuvre whose modes range from portraits, to landscapes, to forays into minimalist repetition and exploded abstraction, Ewa resolves her paintings in terms of a certain, unmistakable mood—so easy to spot yet difficult to articulate in non-visual means.
|
|
"Aminata Mattheus"
A key element in understanding the paintings of Ewa is her occasional use of wrapping-paper. As she puts it, this material “allows [her] access to many different patterns and figures within the folds.” Often painting (at least in a preliminary way) with her eyes closed, the crux of Ewa’s work is the portrayal of human and animal bodies: or, more specifically, the mood of different states of embodiment. With an oeuvre whose modes range from portraits, to landscapes, to forays into minimalist repetition and exploded abstraction, Ewa resolves her paintings in terms of a certain, unmistakable mood—so easy to spot yet difficult to articulate in non-visual means.
|
"Mehdi Oveis'i"
Oveisi’s Angel no. III
|
"Yinon Shamshins"
Israeli artist Yinon Shamshins is known for photographing his subjects’ state of mind. As a trained clinical psychologist and a member of the Jewish faith, Shamshins deals with personal trauma and pain on a constant basis. Internalizing these experiences, the artist uses his camera like an emotional sensor, capturing the moods and feelings of his subjects as they sit, stand, and pose for the artist, at once afraid and eager to put themselves on display.
|
"EWA"
A key element in understanding the paintings of Ewa is her occasional use of wrapping-paper. As she puts it, this material “allows [her] access to many different patterns and figures within the folds.” Often painting (at least in a preliminary way) with her eyes closed, the crux of Ewa’s work is the portrayal of human and animal bodies: or, more specifically, the mood of different states of embodiment. With an oeuvre whose modes range from portraits, to landscapes, to forays into minimalist repetition and exploded abstraction, Ewa resolves her paintings in terms of a certain, unmistakable mood—so easy to spot yet difficult to articulate in non-visual means.
|
"EWA"A key element in understanding the paintings of Ewa is her occasional use of wrapping-paper. As she puts it, this material “allows [her] access to many different patterns and figures within the folds.” Often painting (at least in a preliminary way) with her eyes closed, the crux of Ewa’s work is the portrayal of human and animal bodies: or, more specifically, the mood of different states of embodiment. With an oeuvre whose modes range from portraits, to landscapes, to forays into minimalist repetition and exploded abstraction, Ewa resolves her paintings in terms of a certain, unmistakable mood—so easy to spot yet difficult to articulate in non-visual means. Ewa’s acrylic on canvas piece Bruno is an example of her portraiture. Aspiring to a mode of representation where a single line could in fact serve as a metonym for someone’s face or personality, the quick-drying nature of acrylic seems to have lent itself to some quick decision on the artist’s part. The portrait that has emerged from her efforts is distinguished by the visible economy of brushstrokes used to render it. |
"EWA"
A key element in understanding the paintings of Ewa is her occasional use of wrapping-paper. As she puts it, this material “allows [her] access to many different patterns and figures within the folds.” Often painting (at least in a preliminary way) with her eyes closed, the crux of Ewa’s work is the portrayal of human and animal bodies: or, more specifically, the mood of different states of embodiment. With an oeuvre whose modes range from portraits, to landscapes, to forays into minimalist repetition and exploded abstraction, Ewa resolves her paintings in terms of a certain, unmistakable mood—so easy to spot yet difficult to articulate in non-visual means.
|
"Mehdi Oveis'i"
Oveisi’s Angel no. III
|
"EWA"A key element in understanding the paintings of Ewa is her occasional use of wrapping-paper. As she puts it, this material “allows [her] access to many different patterns and figures within the folds.” Often painting (at least in a preliminary way) with her eyes closed, the crux of Ewa’s work is the portrayal of human and animal bodies: or, more specifically, the mood of different states of embodiment. With an oeuvre whose modes range from portraits, to landscapes, to forays into minimalist repetition and exploded abstraction, Ewa resolves her paintings in terms of a certain, unmistakable mood—so easy to spot yet difficult to articulate in non-visual means. Ewa’s acrylic on canvas piece Bruno is an example of her portraiture. Aspiring to a mode of representation where a single line could in fact serve as a metonym for someone’s face or personality, the quick-drying nature of acrylic seems to have lent itself to some quick decision on the artist’s part. The portrait that has emerged from her efforts is distinguished by the visible economy of brushstrokes used to render it. |


This class allows you to store customers data safely to improve the shopping experience. This will allow your customer to complete their purchases much faster and easily when used in conjunction with the Cards class. Customer class.
- Source:
Methods
(static) create()
Create a customer Click here for more infos
- Source:
(static) get(id)
Get a customer by id Click here for more infos
Parameters:
| Name | Type | Description |
|---|---|---|
id |
string | Customer ID |
- Source:
(static) remove(id)
Remove a customer by id Click here for more infos
Parameters:
| Name | Type | Description |
|---|---|---|
id |
string | Customer ID |
- Source:
(static) search()
Get all customers Click here for more infos
- Source:
(static) update()
Update a Customer Click here for more infos
- Source:


Party
Palace
Home
(current)
Centers
My Events
Logout
Workflow
Statistics
Calender
Users
Setting
Update A Center!


| About Dailyrotten |
|
Feedback
If you like this page, hate it, or would like to suggest changes,
<EMAIL_ADDRESS>is listening. This page
is experimental and somewhat different from what we usually offer, so please
do send your feedback.
Adding Stories
If you are a rotten newshound and you would like to suggest a story,
visit our submit page to
send us the URL. Stories that are accepted will have your name credited.
Posting Comments
In order to post comments to stories, you will have to
create an account.
Accounts will generally be validated within 24 hours, and of
course will be disabled if there is abuse.
Viewership
On the first full day this page went live, 100,000 people visited this Rotten
News page. Of course that was the day after the WTC attacks, so that number is
somewhat distorted. Right now this page gets between 50,000 and 75,000 people
every day.
Linking
We encourage everyone to link to this page; if you like it, others probably
will as well.
Other Rotten
Rotten
Gaping Maw
Celebrity Morgue
Mugshots
Rotten Store
Rate My Poo
Rate My Kitten
Rate My Finger
Penny Postcards
Phallic
Boners
Home
Make Dailyrotten your start page
|
|
|
November 26, 2002
Darwin goes medieval on his ass
BBC | Submitted by: Mighty Tim
"A student died after being flung 100 feet into the air by a huge catapult.
Kostadine Iliev Yankov, 19, was taking part in the stunt at the Middlemoor
Water Park in Woolavington near Bridgwater, Somerset, on Sunday...
"We had already successfully thrown one of our own people and then another
four of his fellow students and when we flung him something, I don't know
what, went wrong."
|
|
Read article...
|
|
Very pricey marijuana found in tabletops
Jamaica Observer | Submitted by: Alter Ego
"The weed, weighing 160 pounds, was the second find on the wharf since
Friday by members of the Contraband Enforcement Team. On Friday,
620 pounds of ganja was also discovered during a routine check at the APM
Terminal at Berth 11, in a 20-foot container. No arrests have been made
in either seizure. Combined, the weed has a street value of more than
$120 million." Whoah! Marijuana has a street value of $10,135 per ounce!
(Do the math: 740 pounds of seized ganja, $120M divided by 740 pounds
gives $162,162 per pound, then divide that by sixteen ounces.)
|
|
Read article...
|
|
Damn trespassing kids taught a lesson
News 24 South Africa | Submitted by: meatload
"A Northern Cape man is being held after allegedly terrorising two
children by tying a rope to their feet and hanging them upside down
from trees after he found them playing in his yard. Captain Miriam
Nkombisa said the boys were assaulted and terrorised for more than
five hours before they were released. They then had to walk 20km home."
|
|
Read article...
|
|
I'd pull a job for a Camel
New Jersey Online | Submitted by: Milk Bone
Raising cigarette taxes to extortion levels has consequences, including
the rise of smuggling, tax evasion, and now, burglary: "On the heels of the
summer's major cigarette-tax hikes in New Jersey and New York City, law
enforcement officials on both sides of the Hudson River are coping with a
rash of smash-and-grab burglaries and robberies of stores that sell cigarettes.
In August, thieves wielding a blow torch cut through the dead-bolt lock of a
South Brunswick Sunoco gas station and grabbed 909 cigarette packs from the
display case. They took no money."
|
|
Read article...
|
|
Witness claims sex slave was willing
Newsday | Submitted by: meatload
"A former prostitute who faces four years in prison for her role in a
sadomasochistic tryst with a 15-year-old girl... appeared to help the defense
by testifying that the girl had said she was willing to undergo an ordeal that
included being tied up, nearly choked and hung from a coat rack. "Like
teenagers who hyperventilate until they pass out, she was enjoying it. She was
happy with everything," Loschin said."
|
|
Read article...
|
|
Phoney fertility treatments for fun and profit
BBC | Submitted by: Ann Onymous
"An embryologist allowed eight women to have fake embryos implanted into
their wombs as part of an elaborate plot to pay off his debts, a court has
heard. Paul Fielding appeared before Southampton Crown Court on Monday,
accused of allowing the women to undergo the operations needlessly because
he was paid each time the procedure went ahead."
|
|
Read article...
|
|
The Day The Music Died
San Francisco Chronicle | Submitted by: Jordan Aguilar
"Baird, who played on recordings by Ella Fitzgerald, Charlie Parker and Louis
Armstrong, had been returning home from errands at a nearby supermarket in his
motorized scooter around dusk when he was jumped by three men between 15 and 25
years old, his daughter, Meredith Baird, said she had been told by police."
|
|
Read article...
|
|
Ad campaign shows devil suckling
BBC | Submitted by: wingnut
"The poster for next summer's event in the town of Vienne in the Rhone-Alpes
region shows a white baby devil being suckled by a black woman. Far right
deputies on Rhone-Alpes council said the poster is an attack on the beliefs of
Christians, and demanded its withdrawal. But some members of the right were
unhappy about the vote, one describing the issue as a "storm in a teacup". He
recalled that a gargoyle on the nearby cathedral of Villefranche-sur-Saone
represents an imp sodomising a nun."
|
|
Read article...
|
|
Heavy rain washes in the dead
Australian Broadcasting | Submitted by: meatload
"Bones, coffins and crosses crashed through the kitchen wall of a
Brazilian home over the weekend after a torrential rain washed out
part of a neighboring cemetery, officials said. "Part of the cemetery
wall fell, and earth mixed with body parts, coffins and pieces of
tombstones invaded the house that is located down the hill," an official
at the cemetery on the outskirts of Rio de Janeiro said."
|
|
Read article...
|
|
Miss Captivity
New York Times | Submitted by: Pilgrim
"The way Laurinas Sheshkus tells it, the creative types at LNK TV were
searching last summer for a gimmick to rise above the airwaves clutter
when someone proposed staging a beauty contest in the women's prison in
this stolid town... "It was, like, a joke," said Mr. Sheshkus, LNK's
creative director. Worse still, it was a joke that had the potential to
exploit some of the country's least fortunate young women for the sake of
a few ratings points. In short, it was pluperfect television. And last
week, the Miss Captivity Pageant became the runaway hit of the Lithuanian
broadcast season. Two of every three television viewers sat glued to
their sofas as a raven-haired 21-year-old named Kristina won a tiara that,
one can be sure, not every beauty queen covets."
|
|
Read article...
|
|
Schoolchildren sickened by rat poison
online.ie | Submitted by: KC
No, this isn't a repeat of that earlier Daily Rotten. It happened
again: "Seventy nursery school children and two teachers have
been taken to hospital in south-eastern China after falling ill from
a school lunch of corn porridge laced with rat poison, police said today."
|
|
Read article...
|
|
Police: Teacher caught in sex act
WXIA-TV 11 Atlanta | Submitted by: Mig
"Deputies caught the social studies teacher in the act Friday at Sandy
Creek High School in Tyrone by using an Internet tipster, according to
Major Bruce Jordan of the Fayette County Sheriff's Department... At the
time of his arrest, Belvedere had a daily lesson plan on his blackboard
that read, "When does the public have the right to know when the
government is investigating you?" Oh the irony.
|
|
Read article...
|
|
New Fatwa against Miss World writer
Melbourne Herald Sun | Submitted by: Son of Benway
"A mainly Muslim state in Nigeria has issued a "fatwa" urging believers
to kill the author of an article on the Miss World pageant seen as insulting
to the Prophet Mohammed... Zamfara's deputy governor Mamuda Aliyu Shinkafi
said late yesterday in a speech to religious leaders in the Zamfara State
capital Gusau and rebroadcast on state radio: "Like Salman Rushdie, the blood
of Isioma Daniel can be shed. It is binding on all Muslims wherever they are
to consider the killing of the writer as a religious duty."
|
|
Read article...
|
|
Zimbabwe leader wants 6M of his countrymen dead
Pravda | Submitted by: anonymous
"Mutasa declared to the press during the weekend that "We would be better
off with only six million people, with our own (Shona) people who support the
liberation struggle. We don’t want all these extra people". By "extra people"
Zimbabwe’s leading civil servant means the people who live in non Shona
speaking areas, who in their majority supported the opposition party,
Movement for Democratic Change." Yay genocide!
|
|
Read article...
|
|
Neo-Nazi sponsored by German secret service
World Socialist Web Site | Submitted by: Son of Benway
"On November 11, the second criminal chamber of the Berlin district court
sentenced Toni Stadler, a neo-Nazi, to two years’ imprisonment with a
probationary period of four years... Stadler runs a shop, catering to extreme
right-wing circles, and he belonged to a group that produced and distributed
the CD "Hate Music", which contains lyrics calling for rape, abuse of children
and the murder of foreigners and dissidents... The verdict against Stadler
turned out to be relatively lenient, because a second culprit was missing
from the dock, the secret service agency of the German state of Brandenburg.
For two years Stadler had worked as a secret agent for the state's
intelligence office (OPC) and began his criminal offences with its knowledge
and backing."
|
|
Read article...
|
|
Fake rice wine killing Taiwanese
Taipei Times | Submitted by: Ragin' Hardon
"The Department of Health offered free rice-wine tests to 200 people
from 10am to 5pm in the lobby of its Taipei headquarters yesterday...
tests revealed 31 [of 726] bottles that contained excessive levels of
methanol, which is believed to be the component that caused the deaths
in Ilan. Thirteen people allegedly involved in manufacturing fake
rice wine have been arrested, according to the police."
|
|
Read article...
|
|
Teen insists he didn't shred his dog
ic Wales | Submitted by: Son of Benway
"A teenager who hanged his pet dog after failing to rip it in two with
his bare hands was today ordered by magistrates to be detained for six
months and undergo training. Horrified magistrates in Carmarthen said his
was the worst case of cruelty they had ever heard, making a custody term
inevitable... Earlier magistrates had highlighted the fact that the teenager,
who denied cruelty to animals, continued to deny having harmed his pet."
|
|
Read article...
|
|
Jurors repulsed by bloody dogfight video
Canton Repository | Submitted by: meatload
"More than half of the prospective jurors asked to be excused from a
dogfighting trial after seeing a portion of a graphic videotape county
prosecutors plan to show. The tape shows men yelling encouragement as
two bloodied pit bulls attack each other. The dogs are so weary and
injured that one repeatedly collapses on its back. Another scene shows
three or four dogs trying to tear one dog apart." Nice action photo.
|
|
Read article...
|
|
Man hangs puppy, then stomps its head
WKMG-TV 6 Orlando | Submitted by: Rio
It really is Puppy Madness week at Daily Rotten: "A 35 year old man in
Marion County, Fla., was arrested Tuesday for allegedly punching his
girlfriend and then hanging her puppy from a tree when he ran out of beer,
according to police. Investigators said George Watson, 35, took his
girlfriend's 10-week-old puppy and hung it from a tree by the collar.
When the dog didn't die from the hanging, he allegedly stomped on its head
five or six times until it was crushed."
|
|
Read article...
|
|
John Tesh assaults holiday season
Daily Emerald | Submitted by: meatload
The Teshinator is back... his sights on the holiday season with the
eagerly awaited release of "Christmas Worship." How many times have you
been sitting around the Christmas tree with friends and family when
someone said, "You know what this day needs, a spoken-word piece by
John Tesh."
|
|
Read article...
|
|
Grave-b-gone
CNN | Submitted by: Captain Prozac
"A man who reserved a burial plot in a country churchyard was shocked to
discover that somebody had stolen his grave... It's a mystery," parish
council clerk Lesley Mayne said. "I couldn't find any record of any burial
taking place. I checked with the local undertakers and they knew nothing
about it"... Mayne said she noticed the grave, which had no headstone,
about six weeks ago."
|
|
Read article...
|
|
Man crushed to death by 300 pound hooker
Peoria Journal-Star | Submitted by: Penfold
"In attempting to grab his wallet, Thompson climbed atop Jamsa to
restrain him. At 5 feet 4 inches, Jamsa weighed about 115 pounds.
Depending on the source, Thompson weighed anywhere from 185 to 300
pounds. She began striking him in the head as she continued to
sit on Jamsa's chest. An autopsy revealed he died of asphyxiation."
|
|
Read article...
|
|
Even the spiders in BC are on crack
Canadian Broadcasting | Submitted by: Canadianlaura
A scientist in British Columbia claims to have come across a spider
web that stretched over an entire 60 hectare field. He says the web was
crawling with, "In the order of tens of millions of spiders."
"Since the spiders didn't seem to care if an occasional insect
stumbled into their construction, Thair doesn't think it was built
for trapping purposes. He suggests the spiders encountered an
enormous quantity of high quality, nutritious prey to be able
to accomplish this feat." For art's sake?
|
|
Read article...
|
|
Senator finds valuable book in trash
Washington Post | Submitted by: Monkeynavigated
A senator is in the basement reviewing what is going to be taken to
the dumpster, and finds the mileage book, replete with the rich and famous:
"The first volume is probably the only document with the signatures of
John Adams, Thomas Jefferson and Aaron Burr, not to mention subsequent Senate
luminaries like John C. Calhoun."
|
|
Read article...
|
|
Panty Bandit regrets crimes
Calgary Herald | Submitted by: kendra
"The man dubbed by police as the "panty bandit" for committing a string
of robberies while wearing women's underwear on his head has admitted his
wrongdoings. Edwin Craig Thorn, 53, pleaded guilty on Monday to four
convenience store heists in southwest Calgary over a two-week period
two years ago."
|
|
Read article...
|
|
Straight? TiVo thinks otherwise
Wall Street Journal | Submitted by: Penfold
Personalization technology gone awry: "Mr. Iwanyk, 32 years old, first
suspected that his TiVo thought he was gay, since it inexplicably kept
recording programs with gay themes. A film studio executive in Los Angeles
and the self-described "straightest guy on earth," he tried to tame TiVo's
gay fixation by recording war movies and other "guy stuff."... "The
problem was, I overcompensated. It started giving me documentaries on Joseph
Goebbels and Adolf Eichmann.
|
|
Read article...
|
|
|
|
|


Normalization
Spurious tuple
They are such tuples which are not present in the original table but gets generated by decomposing and further join.
Anomalies - Problems
Insertion anomaly, Deletion Anomaly, Updation Anomaly
Data redundancy
The repetition of data inside the table which leads to memory wastage is called as data redundancy
Normalization
The systematic approach of decomposing the tables in order to eliminate anomalies is referred to as normalization.
OR
Organizing data is called as normalization
Functional dependency
Determinant
D Student (Sid,Sname,Gender,Marks,Grade)
R(sid,cid, sname,saddr,cname,cdur,marks,result) Candidate key
| Pno |
Pname |
Eno |
Ename |
Ratings |
Hourly charges |
| 1001 |
IOT |
101 |
Ram |
A |
100 |
| 1001 |
IOT |
102 |
Anu |
B |
90 |
| 1001 |
IOT |
103 |
Sham |
C |
80 |
| 1001 |
IOT |
104 |
Ramya |
E |
60 |
| 1002 |
AI |
105 |
Raju |
E |
60 |
| 1002 |
AI |
101 |
Ram |
A |
100 |
1NF:
A relation is said to be in 1NF
1.Each attribute having a separate column
2.Each cell have a single value
| Pno |
Pname |
Eno |
Ename |
Ratings |
Hourly charges |
| 1001 |
IOT |
101 |
Ram |
A |
100 |
| 1001 |
IOT |
102 |
Anu |
B |
90 |
| 1001 |
IOT |
103 |
Sham |
C |
80 |
| 1001 |
IOT |
104 |
Ramya |
E |
70 |
| 1002 |
AI |
105 |
Raju |
E |
60 |
| 1002 |
AI |
101 |
Ram |
A |
100 |
2NF:
1.A relation is said to be in 2NF if it is in 1NF
2.There should be No partial dependency.
| Pno |
Pname |
| 1001 |
IOT |
| 1002 |
AI |
| Eno |
Ename |
Ratings |
Hourlycharges |
| 101 |
Ram |
A |
100 |
| 102 |
Anu |
B |
90 |
| 103 |
Sham |
C |
80 |
| 104 |
Ramya |
E |
70 |
| 105 |
Raju |
E |
60 |
| 101 |
Ram |
A |
100 |
| Pno |
Eno |
| 1001 |
101 |
| 1001 |
102 |
| 1001 |
103 |
| 1001 |
104 |
| 1002 |
105 |
| 1002 |
101 |
3NF:
1.A relation is said to be in 3NF if it is in 2NF
2.There should be No transitive dependency
| Pno |
Pname |
| 1001 |
IOT |
| 1002 |
AI |
| Eno |
Ename |
Ratings |
| 101 |
Ram |
A |
| 102 |
Anu |
B |
| 103 |
Sham |
C |
| 104 |
Ramya |
D |
| 105 |
Raju |
E |
| Ratings |
Hourly Charges |
| A |
100 |
| B |
90 |
| C |
80 |
| D |
70 |
| E |
60 |
| Pno |
Eno |
| 1001 |
101 |
| 1001 |
102 |
| 1001 |
103 |
| 1001 |
104 |
| 1002 |
105 |
| 1002 |
101 |
BCNF: (Boyce codd Normal Form)
1.A relation is said to be in BCNF if it is in 3NF
2.All determinants in the relations must be keys
| Pno |
Pname |
| 1001 |
IOT |
| 1002 |
AI |
| Eno |
Ename |
Ratings |
| 101 |
Ram |
A |
| 102 |
Anu |
B |
| 103 |
Sham |
C |
| 104 |
Ramya |
D |
| 105 |
Raju |
E |
| Ratings |
Hourly Charges |
| A |
100 |
| B |
90 |
| C |
80 |
| D |
70 |
| E |
60 |
Composite key
| Pno |
Eno |
| 1001 |
101 |
| 1001 |
102 |
| 1001 |
103 |
| 1001 |
104 |
| 1002 |
105 |
| 1002 |
101 |
-------End of MYSQL notes-------


print("Hello, world!")
Hello, world!
In any Python program we will have some data and some objective to achieve - something to do with that data. Python provides many data types and many ways of working with that data.
Manipulating data is done with functions. Data is stored in objects. In this section we’ll look at functions and objects and their interaction.
Let’s see the simplest example of this workflow, let’s take a string (a text carrying object data type) and use it in a function.
print("Hello, world!")
Hello, world!
In this example the string "Hello, World!"
, is being given to the print()
function. Functions are bits of code that do stuff to data. The print()
function just prints the data that you pass it to the screen. We pass data to functions by putting the data in the brackets after the function name.
We don’t usually use data directly. Instead we use a name that refers to a piece of data - a variable. Variables are just names that represent a bit of data. It’s called a variable because the data the variable is associated with can change. We assign a name to data by using the assignment symbol the =
sign. The data associated with a variable can be changed by re-assignment, allowing us to reuse the name.
We can use variables as if they are the data they point to
= "Hello, world!"
x print(x)
= 100
x print(x)
Hello, world!
100
And variables are independent of one another, actions on one don’t affect another
= 65
weight_kg
= 2.2 * weight_kg
weight_pounds
print(weight_kg)
print(weight_pounds)
65
143.0
Python is full of functions. So many in fact that coming up with names can be a problem! This is a serious issue as you have to refer to functions by name. To resolve this problem Python keeps its functions in different places in its library, and the way we call the function changes depending on where the function ‘lives’. There are three basic function types:
Python has some functions that can be called directly from anywhere in a program. These are listed here https://docs.python.org/3.3/library/functions.html. We’ve already seen print()
`and there are some common ones we’ll come across later. You can spot a built-in function because it has a single-word name followed by brackets.
Related to built-in functions are operators. The things you’ll use most are the mathematical operators that work as you would expect from your knowledge of maths. So they include things like, + , -, *, /
etc.
print(1 + 1)
print(2 * 2)
print(3 - 3)
print(4 / 4)
2
4
0
1.0
Some operators change what they do depending on the things you ask them to operate on. For instance, we can add strings?!
print( "Hello" + "World!")
HelloWorld!
This is supposed to be a way of making the language more intuitive and readable at the user end of things. Most times you see operators, they should be pretty obvious.
Another source of functions is external packages - extensions to Python for use in particular problem domains. We can load in a package using import
. Let’s import the random
Python package that provides functions for generating random numbers.
import random
We can access the functions in this package by using the package name and the dot (.
) syntax and the function name. Let’s call the numpy function randrange()
which gives us a random number between two limits.
= random.randrange(1, 10)
number
print( number )
2
Lumps of data are represented in the computer in things called objects. An object is basically a bit of data with some functions attached. This means each piece of data comes with the code to manipulate it. These attached functions are called methods
.
We access data’s methods using the .
syntax again, so this time you have variable_name.method()
, read this as you telling the object the variable points at to do method()
to itself. This is simpler than it sounds.
Consider a variable x
pointing to a string object. We might use it with .capitalize()
as follows
= "hello, world!"
x
print( x.capitalize() )
Hello, world!
This does mean that the methods are closely tied to the data. Look what happens when we try to use .capitalize()
on a number
= 100
y
print( y.capitalize() )
Error in py_run_string_impl(code, local, convert) :
AttributeError: 'int' object has no attribute 'capitalize'
Python just throws an error. Basically this error is saying that int
(integer, a number object ) doesn’t have a method called capitalize
.
Loosely, methods are functions that only apply to particular object types.
We need to know what methods an object has before we can work on them. We can find this by reading the documentation for the object type. And Python will give us the type with the type()
function
print( type(x) )
<class 'str'>
We can see that x
contains a str
- a string. The easiest place to find the Python documentation is online. Googling Python 3 str
shows us this page https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str, which shows us all the String methods. This works well for finding all methods for objects of other types.
Let’s examine some object types.
Python knows many types of object, most things are an object of some type. Three common object types are:
The term ‘string’ is computer jargon for text data, usually a single lump of text data treated as a whole. To create a strings we simply have to add single or double quotes around some text, for example:
= 'weight in kilograms' weight_kg_text
Having actual numbers in there doesn’t make a string a number type - the following is still a string - it just happens to be made up of number like characters. Let’s see what happens if we try and treat it like a number.
= "01818118181"
phone_number
print( phone_number * 2 )
0181811818101818118181
Here the *
operator has modified itself to work on a string and repeated the string! Usually though the program will crash out, giving an operator the wrong data will confuse the program.
We can access a single character in a string using indexing - basically asking for a character at a position. The syntax uses the square brackets.
print( phone_number[2] )
8
Note that using the index [2]
gives us the third character - computer languages tend to count from 0
.
We can get a longer subsection of a string using indexing as well - this is a technique that accesses a part of the data given a start and end point along the string.
= phone_number[0:3]
dialling_code print(dialling_code)
018
We just use the square brackets to indicate the start and stop points of the slice we want to extract, literally [start:end]
. The start
here is 0
meaning the first character, the end
here is 3
, but it means up to but not including the end
.
print( dialling_code )
018
That’s why we only get the first three characters from the string and not 4 ie 0,1,2,3
. The way to remember this is that the length of the resulting slice is end
- start
.
There are many string operations and methods, you can see them in the documentation at https://docs.python.org/3/library/stdtypes.html#textseq
Numbers in Python come in two types, whole numbers (called integers) and numbers with a decimal part (called floating point numbers).
In the example above, variable weight_kg
has an integer value of 65
. To create a variable with a floating point value, we can execute:
= 65.0 weight_kg
The difference is important in some cases. You can convert type explicitly using the int()
and float()
functions.
print( float(1) + 3 )
print( int( 10.0 / 3.0 ) )
4.0
3
mass
and age
have after each statement in the following program? Test your answers by executing the commands.= 47.5
mass = 122
age = mass * 2.0
mass = age - 20 age
= 'Grace', 'Hopper'
first, second = second, first
third, fourth print(third, fourth)
= 'oxygen'
element print('first three characters:', element[0:3])
print('last three characters:', element[3:6])
element[:4]
?element[4:]
?element[:]
?element[-1]
?element[-2]
?element[1:-1]
does.messy_string
= "OH mY, ThESE LEtters Are ALL OVER The PLace!" messy_string
Hint: Think about standardising the letters by e.g making all one case, then fixing the capitalization from there.
math
package. https://docs.python.org/3/library/math.html and import
it.-1
, 0
, 1
in radians?


THE CUP (G). (Dendy) Director: Khyentse Norbu Stars: Orgyen Tobgyal, Neten Chokling, Jamyang Lodro, Lama Chonjor, Godu Lama, Kunsang Nyima, Pema Tshundup Running time: 93 minutes.
There have been a number of recent films exploring the plight of Tibet and the systematic destruction of its culture since the Chinese invasion in 1959. The Cup is another film to explore this fertile territory, but it does so with a deceptive gentleness.
The action of The Cup takes place in a Tibetan monastery-in-exile in the foothills of the Himalayas, where the monks try to instil in their younger charges a sense of the traditions of their ancient culture. But the old ways are under siege from modern influences - Coca Cola, and now the World Cup.
Thanks to the infectious enthusiasm of Orygen, a 14 year old soccer fan, the whole monastery is slowly caught up in the excitement and suspense of the 1998 world cup. They plan to bring a television and satellite dish into the monastery so that everyone can watch the final. Even Palden and Nyima, two novice monks smuggled out of Chinese occupied Tibet to continue their studies, eventually become involved in their efforts. Gecko, the Abbott's respected offsider and disciplinarian, observes the monks' fervent efforts to reconcile their religious devotion with more secular activities with a mixture of bemusement and humour.
The Cup is a simple story, beautifully and efficiently told. The film explores themes of exile and the inevitability of change, and draws a delightful contrast between the monks' efforts to teach discipline and tradition to their charges and their pragmatic need to embrace some elements of modern culture. This unexpected gem of a film also contains subtle political undercurrents, critical of the continued Chinese occupation of Tibet.
The Cup is an unusual co-production between Australia and Bhutan, a small Asian country not known for its film production. The Cup is also the first feature film from Khyentse Norbu, a monk with a passion for film, who learnt his craft as a production assistant on Bertolucci's Little Buddha.
Norbu has assembled his cast from amongst the monks at the monastery where it was shot. All of the performers here are new to film, and have little understanding of English, but they are intimately familiar with the characters they are playing. The cast were given their lines only hours before filming, with little time for polishing their delivery. However, the tentative and hesitant approach of these non- professional actors is sometimes apparent. Consequently they suffuse the material with a natural, spontaneous feel, which somehow adds to the charm of this off beat but ultimately endearing film.
In keeping with the international nature of the production, Norbu has employed the talents of a largely Australian crew, with Paul Warren's cinematography particularly striking.
***1/2 greg king http://www.netau.com.au/gregking
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


JRMCINTYRE
Home
Projects
Contact
Welcome!
This is my website, its pretty empty at the moment
Projects
Contact me!


To redirect stdout+stderr, 2>&1 must be last (or use '{ cmd > file; } 2>&1' to clarify).
firefox 2>&1 > /dev/null
firefox > /dev/null 2>&1
When it comes to redirection, order matters.
The problematic code means "Point stderr to where stdout is currently pointing (the terminal). Then point stdout to /dev/null".
The correct code means "Point stdout to /dev/null. Then point stderr to where stdout is currently pointing (/dev/null)".
In other words, the problematic code hides stdout and shows stderr. The correct code hides both stderr and stdout, which is usually the intention.
If you actually do want to redirect stdout to a file, and then turn stderr into the new stdout, you can make this more explicit with braces:
{ firefox > /dev/null; } 2>&1
Also note that this warning does not trigger when output is piped or captured.


add a little fancy gif.
If you are an employer. You would definitly be interested in this: My Resume. Thank your viewing and I'd appreciate it very much if you are willing to give me any advise or give me a job opportunity.
Here is my journey of study.


mumbl test suite
Be sure to run these tests on your local dev server so the audio files load faster.


beginner
Note: This section keeps on growing! Keep an eye on it from time to time.
This document is meant to be an introduction to Functional Programming for people from all backgrounds. We’ll go through some of the key concepts and then dive into their implementation and use in real world cases.
Some similar documents, focused on explaining general concepts rather than Arrow’s versions, can be found for examples in JavaScript and in Scala.
A datatype is a class that encapsulates one reusable coding pattern. These solutions have a canonical implementation that is generalised for all possible uses.
Some common patterns expressed as datatypes are absence handling with Option
,
branching in code with Either
,
catching exceptions with Try
,
or interacting with the platform the program runs in using IO
.
Some of these patterns are implemented using a mix of sealed
classes where each inheritor is a data
class.
For example, the internal representation of an Option
is a sealed
class with two data
classes Some(val a: A)
and None
,
and Ior
is a sealed
class with three data
class inheritors, Left(val a: A)
, Right(val b: B)
, and Both(val a: A, val b: B)
.
Datatypes that express patterns like deferred evaluation can do it by nesting themselves with every operation they chain. One example is IO
.
import arrow.effects.*
IO { 0 }
.flatMap { IO { it * 2 } }
.map { it + 1 }
// Map(source=Bind(cont=Suspend(thunk=() -> arrow.effects.IO.Pure), g=(A) -> arrow.effects.IO), g=(kotlin.Int) -> kotlin.Int, index=0)
You can read more about all the datatypes that Arrow provides in its section of the docs.
Typeclasses are interface abstractions that define a set of extension functions associated to one type. These extension functions are canonical and consistent across languages and libraries; and they have inherent mathematical properties that are testable, such as commutativity or associativity.
Examples of behaviours abstracted by typeclasses are: comparability (Eq
),
composability (Monoid
),
its contents can be mapped from one type to another (Functor
),
or error recovery (MonadError
).
Typeclasses have two main uses:
Add new functionality to types. For example, if I know how to compare two objects I can add a new extension function to check for inequality.
Or if I know how to aggregate objects together, I can add an extension function for List
that aggregates all of its elements.
The number of extra extension functions that you get per typeclass can be from one in Eq
to 17 (!) in Foldable
.
Abstracting over behavior. Like any other interface, you can use them in your functions and classes as a way of talking about the capabilities of the implementation,
without exposing the details. This way you can create APIs that work the same for Option
, Try
, or Observable
.
You can read more about all the typeclasses that Arrow provides in its section of the docs.
Let’s dive in one example. The typeclass Eq
parametrized to F
defines equality between two objects of type F
:
interface Eq<F> {
fun F.eqv(b: F): Boolean
fun F.neqv(b: F): Boolean =
!eqv(b)
}
A single implementation of a typeclass for a specific datatype or class. Because typeclasses require generic parameters each implementation is meant to be unique for that parameter.
For example, given a class like this:
data class User(val id: Int) {
companion object
}
We can declare that instances of this class can be equated based on their id
property, and therefore that User
itself is an instance of the Eq
typeclass:
import arrow.extension
@extension
interface UserEq: Eq<User> {
override fun User.eqv(b: User): Boolean = id == b.id
}
Note that classes must have companion objects for this to work. All typeclass instances provided by Arrow can be found in the companion object of the type they’re defined for, including platform types like String or Int.
import arrow.*
import arrow.core.*
import arrow.data.*
import arrow.core.extensions.*
import arrow.data.extensions.*
import arrow.typeclasses.*
import arrow.core.extensions.option.functor.*
import arrow.core.extensions.either.monadError.*
import arrow.data.extensions.listk.traverse.*
String.eq()
Option.functor()
import arrow.data.extensions.mapk.semigroup.*
MapK.semigroup<String, Int>(Int.semigroup())
Either.monadError<Throwable>()
ListK.traverse()
If you’re defining your own instances and would like for them to be discoverable in their corresponding datatypes’ companion object, you can generate it by annotating them as @extension
, and Arrow’s annotation processor will create the extension functions for you.
NOTE: If you’d like to use @extension
for transitive typeclasses, like a Show<List>
that requires a function returning a Show
, you’ll need for the function providing the transitive typeclass to have 0 parameters. This will make the transitive typeclass a parameter of the extension function.
When creating an instance with the @extension
annotation, the processor generates extension functions for the type that are available simply by importing them. See for example the coroutine function binding
, the constructor map
, and the method sequence
defined in the instances of Monad
, Applicative
and Traverse
:
import arrow.core.Option
import arrow.core.extensions.option.monad.binding
binding {
val (a) = Option(1)
val (b) = Option(a + 1)
a + b
}
import arrow.core.extensions.option.applicative.map
map(Option(1), Option(2), Option(3)) { (one, two, three) ->
one + two + three
}
// Some(6)
import arrow.data.extensions.list.traverse.sequence
import arrow.core.extensions.option.applicative.applicative
listOf(Option(1), Option(2), Option(3)).sequence(Option.applicative())
import arrow.core.extensions.`try`.monad.binding
binding {
val (a) = Try { 1 }
val (b) = Try { a + 1 }
a + b
}
// Success(value=3)
import arrow.core.extensions.`try`.applicative.map
map(Try { 1 }, Try { 2 }, Try { 3 }) { (one, two, three) ->
one + two + three
}
import arrow.data.extensions.list.traverse.sequence
import arrow.core.extensions.either.applicative.applicative
listOf(Right(1), Right(2), Right(3)).sequence(Either.applicative<Throwable>())
NOTE: This approach to type constructors will be simplified if KEEP-87 is approved. Go vote!
A type constructor is any class or interface that has at least one generic parameter. For example,
ListK
or Option
.
They’re called constructors because they’re similar to a factory function where the parameter is A
, except type constructors work only for types.
So, we could say that after applying the parameter Int
to the type constructor ListK
it returns a ListK<Int>
.
As ListK<Int>
isn’t parametrized in any generic value it is not considered a type constructor anymore, just a regular type.
Like functions, a type constructor with several parameters like Either<L, R>
can be partially applied for one of them to return another type constructor with one fewer parameter.
For example, applying Throwable
to the left side yields Either<Throwable, A>
, or applying String
to the right side results in Either<E, String>
.
Type constructors are useful when matched with typeclasses because they help us represent instances of parametrized classes — the containers — that work for all generic parameters — the content.
As type constructors is not a first class feature in Kotlin, Λrrow uses an interface Kind<F, A>
to represent them.
Kind stands for Higher Kind, which is the name of the language feature that allows working directly with type constructors.
In a Higher Kind with the shape Kind<F, A>
, if A
is the type of the content then F
has to be the type of the container.
A malformed Higher Kind would use the whole type constructor to define the container, duplicating the type of the content .
This incorrect representation has large a number of issues when working with partially applied types and nested types.Kind<Option, A>
What Λrrow does instead is define a surrogate type that’s not parametrized to represent F
.
These types are named same as the container and prefixed by For-, as in ForOption
or ForListK
.
You have seen these types used in the Syntax section above!
class ForOption private constructor() { companion object {} }
sealed class Option: Kind<ForOption, A>
class ForListK private constructor() { companion object {} }
data class ListK(val list: List): Kind<ForListK, A>
As ListK
is the only existing implementation of Kind<ForListK, A>
, we can define an extension function on Kind<ForListK, A>
to do the downcasting safely for us.
This function by convention is called fix()
, as in, fixing a type from something generic into concrete.
fun  Kind<ForListK, A>.fix() = this as ListK
This way we can convert from ListK
to Kind<ForListK, A>
via simple subclassing and from Kind<ForListK, A>
to ListK
using the function fix()
.
Being able to define extension functions that work for partially applied generics is a feature from Kotlin that’s not available in Java.
You can define fun Kind<ForOption, A>.fix()
and fun Kind<ForListK, A>.fix()
and the compiler can smartly decide which one you’re trying to use.
If it can’t it means there’s an ambiguity you should fix!
The function fix()
is already defined for all datatypes in Λrrow, alongside a typealias for its Kind<F, A>
specialization done by suffixing the type with Of, as in ListKOf
or OptionOf
. If you’re creating your own datatype that’s also a type constructor and would like to create all these helper types and functions,
you can do so simply by annotating it as @higherkind
and the Λrrow’s annotation processor will create them for you.
@higherkind data class ListK(val list: List): ListKOf
// Generates the following code:
//
// class ForListK private constructor() { companion object {} }
// typealias ListKOf = Kind<ForListK, A>
// fun ListKOf.fix() = this as ListK
Note that the annotation @higherkind
will also generate the integration typealiases required by KindedJ as long as the datatype is invariant. You can read more about sharing Higher Kinds and type constructors across JVM libraries in KindedJ’s README.
Now that we have a way of representing generic constructors for any type, we can write typeclasses that are parametrised for containers.
Let’s take as an example a typeclass that specifies how to map the contents of any container F
. This typeclass that comes from computer science is called a Functor
.
interface Functor<F> {
fun  Kind<F, A>.map(f: (A) -> B): Kind<F, B>
}
See how the class is parametrized on the container F
, and the function is parametrized to the content A
. This way we can have a single representation that works for all mappings from A
to B
.
Let’s define an instance of Functor
for the datatype ListK
, our own wrapper for lists.
@extension
interface ListKFunctor : Functor<ForListK> {
override fun  Kind<ForListK, A>.map(f: (A) -> B): Kind<ForListK, B> {
return this.fix().map(f)
}
}
This interface extends Functor
for the value F
of ListK
. We use an annotation processor @extension
to generate an object out of an interface with all the default methods already defined, and to add an extension function to get it into the companion object of the datatype.
The @extension
processor also projects all type class declared functions into the data type that it’s extending as extensions functions.
These extensions functions may be imported a la carte when working with concrete data types.
@extension
interface ListKFunctor : Functor<ForListK>
// Somewhere else in the codebase
ListK.functor()
The signature of map
once the types have been replaced takes a parameter Kind<ForListK, A>
, which is the receiver, and a mapping function from A
to B
. This means that map will work for all instances of ListK
for whatever the value of A
can be.
override fun  Kind<ForListK, A>.map(f: (A) -> B): ListK
The implementation is short. On the first line we downcast Kind<ForListK, A>
to ListK
using fix()
. Once the value has been downcasted, the implementation of map inside the ListK
we have obtained already implements the expected behavior of map.
val list: ListK = this.fix()
return list.map(f)
Higher kinds are also used to model functions that require for a datatype to implement a typeclass. This way you can create functions that abstract behavior (defined by a typeclass) and allow callers to define which datatype they’d like to apply it to.
Let’s use the typeclass Applicative
, that contains the constructor function just()
.
interface Applicative<F>: Functor<F> {
// Constructs the current datatype with a value of type A inside
fun  just(a: A): Kind<F, A>
}
Once we have this typeclass behavior define we can now write a function that’s parametrized for any F
that has one instance of Applicative
. The function uses the constructor just
to create a value of type Kind<F, User>
, effectively generifying the return on any container F
.
fun <F> Applicative<F>.randomUserStructure(f: (Int) -> User): Kind<F, User> =
this.just(f(Math.random().toInt()))
Now lets create a simple example instance of Applicative
where our F
is ListK
. This implementation of a just
constructor is trivial for lists, as it just requires wrapping the value.
@extension
interface ListKApplicative : Applicative<ForListK> {
override fun  just(a: A): Kind<ForListK, A> = ListK(listOf(a))
}
And now we can show how this function randomUserStructure()
can be used for any datatype that implements Applicative
. As the function returns a value Kind<F, User>
the caller is responsible of calling fix()
to downcast it to the expected value.
val list = ListK.applicative().randomUserStructure(::User).fix()
//[User(342)]
val option = Option.applicative().randomUserStructure(::User).fix()
//Some(User(765))
val either = Either.applicative<Unit>().randomUserStructure(::User).fix()
//Right(User(221))
Passing the instance in every function call seems like a burden. So, because randomUserStructure
is an extension function for Applicative
we can omit the implicit parameter as long as we are within the scope of an Applicative instance. You can use the standard functions with
and run
for this.
with (ListK.applicative()) {
// Lots of Kotlin here
// Multiple calls
randomUserStructure(::User).fix()
}
// [User(342)]
Option.applicative().run {
tupled(randomUserStructure(::User), randomUserStructure(::User))
}
// Some(value = Tuple2(a = User(765), b = User(127)))
It is also possible to use a form of Dependency Injection
to make the typeclass scope available to a whole class. For example, using simple delegation:
class UserFetcher<F>(AP: Applicative<F>): Applicative<F> by AP {
fun genUser() = randomUserStructure(::User)
}
UserFetcher(Option.applicative()).genUser().fix()
// Some(value = User(943))
To learn more about this Typeclassless
technique you should head to the Dependency Injection
documentation.
A side-effect is statement that changes something in the running environment. Generally this means setting a variable, displaying a value on screen, writing to a file or a database, logging, start a new thread…
When talking about side-effects, we generally see functions that have the signature (...) -> Unit
, meaning that unless the function doesn’t do anything, there’s at least one side-effect. Side-effects can also happen in the middle of another function, which is an undesirable behavior in Functional Programming.
Side-effects are too general to be unitested for because they depend on the environment. They also have poor composability. Overall, they’re considered to be outside the Functional Programming paradigm, and are often referred as “impure” functions.
Because side-effects are unavoidable in any program FP provides several datatypes for dealing with them! One way is by abstracting their behavior. The simplest examples of this are the Writer
datatype, which allows you to write to an information sink like a log or a file buffer; or State
datatype, which simulates scoped mutable state for the duration of an operation.
For more complicated side-effects that can throw or jump threads we need more advanced datatypes, called Effects, that wrap over impure operations. Some of these datatypes may be already familiar to you, like rx.Observable
, kotlinx.coroutines.Deferred
, or Arrow’s IO
. These Effects compose, catch exceptions, control asynchrony, and most importantly can be run lazily. This gets rid of the issues with side-effects.
Although one can also write the whole program in an imperative way inside a single Effect wrapper that wouldn’t be very efficient as you don’t get any of its benefits :D


Greetings.. !!
Based on your request
Here is the new auto generated password for https://www.quantiumrecruitment.com
Password: <Password>
Regards, Quantium Hiring Team


If our data is not completely linearly separable due to a few points, depsite still looking like a linear classifer would generally do a good job, we can use Soft Margin SVMs. These are a type of Support Vector Machine that allows for a certain amount of error during training.
In contrast to Hard Margin SVMs, the contraint of \(y_i(\langle\mathbf{w},\mathbf{x}_i\rangle+b)\ge 1\) becomes \(y_i(\langle\mathbf{w},\mathbf{x}_i\rangle+b)\ge 1 - \zeta_i\). The term \(\zeta_i \) measures by how much the Hard Margin SVM contraint is being violated. The Soft Margin SVM then tries to maximise the width of the margin whilst also minimising the average value of \( \zeta_i \). The Hinge Loss is the tradeoff between \(\zeta_i\) and the margin width and is known as \( \lambda\).
The use of the \( \lambda \) parameter is a tradeoff between having a large margin and correctly classifying the training data. You get better classification of training data at the expense of a wide margin. By choosing a higher value of \( \lambda \) you imply that you want less errors on the training data.
The choice of \( \lambda \) can be a complicated task in istelf and sometimes requires complex algorithms to decide it. Have a look at the plot below to see how adjusting the size of \( \lambda \) affects the margin width.
Click to add an orange point.
Shift + Click to add an blue point.
Compared to the hard margin SVM, it's not possible anymore to have both a good separating boundary as well as a large point-free margin. This means that some points creep into the margin.
Sometimes data is completely non-linearly separable.
We aren't always as lucky as we are when we have only a few overlaps of data.
However, all is not lost. Support Vector Machines can deal with non linearly separable data too using a nifty trick!


MPI is primarily concerned with communication rather than process or resource management. However, it is necessary to address these issues to some degree in order to define a useful framework for communication. This chapter presents a set of MPI interfaces that allow for a variety of approaches to process management while placing minimal restrictions on the execution environment.
The MPI model for process creation allows both the creation of an intial set of processes related by their membership in a common MPI_COMM_WORLD and the creation and management of processes after an MPI application has been started. A major impetus for the later form of process creation comes from the PVM [23] research effort. This work has provided a wealth of experience with process management and resource control that illustrates their benefits and potential pitfalls.
The MPI Forum decided not to address resource control because it was not able to design a portable interface that would be appropriate for the broad spectrum of existing and potential resource and process controllers. Resource control can encompass a wide range of abilities, including adding and deleting nodes from a virtual parallel machine, reserving and scheduling resources, managing compute partitions of an MPP, and returning information about available resources. assumes that resource control is provided externally --- probably by computer vendors, in the case of tightly coupled systems, or by a third party software package when the environment is a cluster of workstations.
The reasons for including process management in MPI are both technical and practical. Important classes of message-passing applications require process control. These include task farms, serial applications with parallel modules, and problems that require a run-time assessment of the number and type of processes that should be started. On the practical side, users of workstation clusters who are migrating from PVM to MPI may be accustomed to using PVM's capabilities for process and resource management. The lack of these features would be a practical stumbling block to migration.
The following goals are central to the design of MPI process management:
Second, MPI maintains a consistent concept of a communicator, regardless of how its members came into existence. A communicator is never changed once created, and it is always created using deterministic collective operations.


Assistant/Associate Adjunct Faculty in Business Analytics - OPS554-02Winter2020 - Moraga, CA 94575
Assistant/Associate Adjunct Faculty in Business Analytics - OPS554-02Winter2020
Location: Moraga
Open Date: Oct 2, 2019
Deadline:
Description:Founded in 1863, Saint Mary's is a residential campus nestled 20 miles east of San Francisco in the picturesque Moraga Valley. Based in the Catholic, Lasallian and Liberal Arts traditions, Saint Mary's currently enrolls more than 4,000 students from diverse backgrounds in undergraduate and graduate programs. The De La Salle Christian Brothers, the largest teaching order of the Roman Catholic Church, guide the spiritual and academic character of the College.
As a comprehensive and independent institution, Saint Mary's offers undergraduate and graduate programs integrating liberal and professional education. Saint Mary's reputation for excellence, innovation, and responsiveness in education stems from its vibrant heritage as a Catholic, Lasallian and Liberal Arts institution. An outstanding, committed faculty and staff that value shared inquiry, integrative learning, and student interaction bring these traditions to life in the 21st century. The College is committed to the educational benefits of diversity.
Qualifications:
OPS554-01, Data Analytics for Executives
Winter Quarter, Tuesdays 7:00 p.m. to 9:00 p.m. (online), Saturdays 1/11, 1/25, 2/8, 2/22, 3/7, 3/21/2020, 1:00 PM to 5:00 PM (in-person, Moraga Campus)
This course arms you with knowledge of probability theory and inferential statistics and demonstrates their uses in business decision-making. You will become skilled in the many uses of data as critical components in organizational decision processes. In particular, you will learn quantitative tools such as data visualization, probability models, interval estimation, hypothesis testing and regression analysis which you will use as the analytical foundation for other courses in the program.
Qualifications
- Ph.D. degree in Business Analytics or a closely related field and a recent publication record in the field, OR
- A Master’s degree in Business Analytics or a closely related field and five years of current, relevant professional experience.
To apply, visit https://apply.interfolio.com/69511
Copyright ©2017 Jobelephant.com Inc. All rights reserved.
Posted by the FREE value-added recruitment advertising agency
jeid-d8139c9dcb82554384b114db88c7d716


Lead Director
Operations Director
Tech Director
Outreach Director
Finance Director
Tech and Outreach
Outreach
Operations
Finance


One of the unique features of Soaplab is its generic interface that makes it possible to use one single interface when accessing any Soaplab Web Services regardless of the command line interface of underlying programs. However it is not possible to specify input/output data types as part of Soaplab generic WSDL; instead the interface accommodates methods to query this information. This difference from common WSDL interfaces, for example, doesn't allow standard Web Services clients to check/validate input data before sending a request or output data after a response has been received. There was a growing concern in Bioinformatics Web Services community that Soaplab should include input/output type descriptions at WSDL level. To address this concern, starting with version 2.2, Soaplab includes an interface called typed interface (sometimes typed services that includes input output type definitions at WSDL level. This document describes how to use such services.
Currently, Soaplab does not provide any Java client library for accessing the typed services; no equivalent of the class org.soaplab.clients.SoaplabBaseClient that is used for Soaplab regular services. Therefore, the typed services are used via their WSDLs. After all, this was the main reason for having typed services.
Each typed service has two WSDLs: one with and one without semantic annotations. The semantic annotation is an W3C extension of the WSDL - and it may (even should) be accepted by all tool kits and tools consuming WSDLs. But in reality, there may be tools that are confused by this extension. Therefore, you have a choice what WSDL to use. Here is an example of a semantic annotation incorporated in a WSDL (the example uses EDAM ontology for annotations):
... <portType name="diffseq"> <operation name="run"> <documentation>starts a job and returns its job identifier</documentation> <sawsdl:attrExtensions sawsdl:modelReference="http://purl.org/edam/operation/EDAM:0000256"/> <input message="tns:run"/> <output message="tns:runResponse"/> </operation> ...
The URLs of the services' WSDLs are the same as service endpoints with the suffix ?wsdl, or, for semantically annotated WSDLs, with the suffix .sa?wsdl. For example (using the default host, port and context names):
http://localhost:8080/soaplab2/typed/services/alignment_differences.diffseq?wsdl http://localhost:8080/soaplab2/typed/services/alignment_differences.diffseq.sa?wsdl
The Spinet web interface also
provides links to these WSDLs (right of the service names) - here is
an example:
#!/usr/bin/perl use warnings; use strict; use XML::Compile::SOAP11; use XML::Compile::WSDL11; use XML::Compile::Transport::SOAPHTTP; # read WSDL, compile in into a client who will call the service my $service_endpoint = 'http://localhost:8080/soaplab2/typed/services/edit.seqret'; my $wsdl = XML::LibXML->new->parse_file ($service_endpoint . '?wsdl'); my $proxy = XML::Compile::WSDL11->new ($wsdl); foreach my $schema ( 1, 2, 3 ) { my $xsdXml = XML::LibXML->new->parse_file( $service_endpoint . '?xsd=' . $schema ); if ($XML::Compile::SOAP::VERSION < 2.0) { $proxy->schemas->importDefinitions ($xsdXml); } else { $proxy->importDefinitions ($xsdXml); } } my $call = $proxy->compileClient ('runAndWaitFor'); # prepare inputs my $inputs = { sequence => { usa => 'asis:actttggg' } }; # call the service my ($answer, $trace) = $call->($inputs); # check the response die 'ERROR: ' . $answer->{Fault}->{'faultstring'} . "\n" if defined $answer and defined $answer->{Fault}; die "Sorry, no response from the service\n\n" unless defined $answer; # print the results for my $result (keys %{ $answer->{parameters} }) { print "$result:\n" . '=' x length ($result) . "=\n"; print $answer->{parameters}->{$result}; print "\n"; }
When executed, it prints the same results as a regular Soaplab service:
detailed_status: ================ 0 report: ======= Summary: Completed: Successfully Termination status: 0 Started: 2010-Aug-16 12:48:34 (BST) Ended: 2010-Aug-16 12:48:34 (BST) Duration: 0:00:00.042 Report: Name: edit.seqret Job ID: [edit.seqret]_87d82c4.12a7a5ae329._7ffc Program and parameters: /usr/local/bin/seqret -sequence asis:actttggg -outseq o_outseq -auto --- end of parameters Exit: 0 outseq: ======= >asis actttggg outseq_url: =========== http://localhost:8080/soaplab2/results/[edit.seqret]_87d82c4.12a7a5ae329._7ffc_outseq


Classes
The following classes are available globally.
-
The medication logging step is used to log information about each item that is being tracked.
See moreDeclaration
Swift
open class SBAMedicationLoggingStepObject : SBATrackedItemsLoggingStepObject, RSDNavigationSkipRule
-
See moreSBARemoveTrackedItemStepObject
is a simple instruction step that includes a title and the option to underline a text segment of the title.Declaration
Swift
open class SBARemoveTrackedItemStepObject : RSDUIStepObject, RSDStepViewControllerVendor
-
A step used for logging symptoms.
See moreDeclaration
Swift
open class SBASymptomLoggingStepObject : SBATrackedItemsLoggingStepObject
-
A data source used to handle symptom logging.
See moreDeclaration
Swift
open class SBASymptomLoggingDataSource : SBATrackedLoggingDataSource
-
The symptom table item is tracked using the result object.
See moreDeclaration
Swift
open class SBASymptomTableItem : RSDModalStepTableItem
-
SBATrackedItemDetailsStepObject
is a concrete implementation of theSBATrackedItemDetailsStep
protocol that includes a template for creating multiple schedules assigned to this tracked item details.See moreSeealso
SBAMedicationTrackingStepNavigator
Declaration
Swift
open class SBATrackedItemDetailsStepObject : RSDFormUIStepObject, SBATrackedItemDetailsStep
-
SBATrackedItemRemindersStepObject
is a wrapped form step view controller that contains a custom cell type that will launch the input fields of the step.See moreSeealso
RSDFormUIStepObject
,RSDStepViewControllerVendor
Declaration
Swift
open class SBATrackedItemRemindersStepObject : RSDFormUIStepObject, RSDStepViewControllerVendor
-
SBATrackedItemReminderDataSource
manages the reminder answer and building the table data sections.See moreSeealso
RSDFormStepDataSourceObject
Declaration
Swift
open class SBATrackedItemReminderDataSource : RSDFormStepDataSourceObject
-
See moreSBATrackedItemsLoggingStepObject
is a custom table step that can be used to log the same information about a list of tracked items for each one.Declaration
Swift
open class SBATrackedItemsLoggingStepObject : SBATrackedSelectionStepObject
-
SBATrackedItemsReviewStepObject
is intended for use in reviewing a list of selected tracked items and adding details if necessary.See moreSeealso
SBAMedicationTrackingStepNavigator
Declaration
Swift
open class SBATrackedItemsReviewStepObject : SBATrackedSelectionStepObject
-
See moreSBATrackedItemsStepNavigator
is a general-purpose navigator designed to be used for selecting tracked data such as medication, triggers, or symptoms.Declaration
Swift
open class SBATrackedItemsStepNavigator : Decodable, RSDStepNavigator, RSDTrackingTask
-
See moreSBATrackedLoggingDataSource
is a concrete implementation of theRSDTableDataSource
protocol that is designed to be used with aSBATrackedItemsStep
intended for logging of items that were selected in a previous step.Declaration
Swift
open class SBATrackedLoggingDataSource : SBATrackingReviewDataSource
-
Subclass the modal step table item to use casting as the type.
Declaration
Swift
open class SBAModalSelectionTableItem : RSDModalStepTableItem
-
Custom table group for handling marking items as selected with a timestamp.
See moreDeclaration
Swift
open class SBATrackedLoggingTableItem : RSDTableItem, RSDScheduleTime
-
A step used for adding medication details like dosage, and the schedule behind when the user takes the medication
See moreDeclaration
Swift
open class SBATrackedMedicationDetailStepObject : SBATrackedItemDetailsStepObject, RSDStepViewControllerVendor
-
A data source used to the weekly schedule for a medication
See moreDeclaration
Swift
open class SBATrackedMedicationDetailsDataSource : RSDStepViewModel, RSDTableDataSource
-
The weekly schedule table item is tracked using the result object.
See moreDeclaration
Swift
open class SBATrackedWeeklyScheduleTableItem : RSDModalStepTableItem
-
A step used for review selected medication and their details
See moreDeclaration
Swift
open class SBATrackedMedicationReviewStepObject : SBATrackedItemsReviewStepObject, RSDStepViewControllerVendor
-
A data source used to handle tracked medication review.
See moreDeclaration
Swift
open class SBATrackedMedicationReviewDataSource : SBATrackingReviewDataSource
-
The medication review table item is tracked using the result object.
See moreDeclaration
Swift
open class SBATrackedMedicationReviewItem : RSDModalStepTableItem
-
See moreSBATrackedSelectionDataSource
is a concrete implementation of theRSDTableDataSource
protocol that is designed to be used with aSBATrackedItemsStep
.Declaration
Swift
open class SBATrackedSelectionDataSource : SBATrackingDataSource
-
SBATrackedSelectionStepObject
is intended for use in selecting items from a long, sectioned list. In general, this would be the first step in setting up tracked data such as symptoms of a disease or triggers associated with a medical condition.See moreSeealso
SBATrackedItemsStepNavigator
Declaration
Swift
open class SBATrackedSelectionStepObject : RSDUIStepObject, SBATrackedItemsStep
-
See moreSBATrackingDataSource
is an abstract class for handling shared data tracking.Declaration
Swift
open class SBATrackingDataSource : RSDStepViewModel, RSDTableDataSource
-
Subclass of the task view model that can manage view model customization specific to this framework.
See moreDeclaration
Swift
@available(*, deprecated) open class SBATaskViewModel : RSDTaskViewModel
-
Subclass of the task node that can manage view model customization specific to this framework.
See moreDeclaration
Swift
@available(*, deprecated) open class SBATaskStepNode : RSDTaskStepNode
-
SBARemoveTrackedItemStepViewController
is a simple instruction view controller that will ask the user if they are sure they want to remove the tracked items. The user can cancel, or if they continue, aSBARemoveTrackedItemsResultObject
will be appended to the step historyDeclaration
Swift
open class SBARemoveTrackedItemStepViewController : RSDStepViewController
-
Table view cell for logging symptoms.
See moreDeclaration
Swift
open class SBASymptomLoggingCell : RSDTableViewCell
-
SBATrackedItemRemindersStepViewController
contains a prompt butotn cell that shows a form step view controller with the input fields from the form step.See moreSeealso
RSDTableStepViewController
,SBARemoveTrackedItemsResultObject
,SBATrackedItemRemindersStepObject
Declaration
Swift
open class SBATrackedItemRemindersStepViewController : RSDTableStepViewController
-
Table view cell for selecting time of day and weekdays that the user should take their medication
See moreDeclaration
Swift
open class SBATrackedWeeklyScheduleCell : RSDTableViewCell
-
SBATrackedMedicationLoggingStepViewController
is the default view controller shown for aSBAMedicationLoggingStepObject
.See moreSeealso
SBAMedicationLoggingStepObject
Declaration
Swift
open class SBATrackedMedicationLoggingStepViewController : RSDTableStepViewController
-
Table cell for displayiing medication information to review.
See moreDeclaration
Swift
open class SBATrackedMedicationReviewCell : RSDSelectionTableViewCell
-
Profile manager error object.
Declaration
Swift
public class SBAProfileManagerError : NSObject, Error
-
Concrete implementation of the SBAProfileManager protocol.
See moreDeclaration
Swift
open class SBAProfileManagerObject : SBAScheduleManager, SBAProfileManager, Decodable
-
A concrete implementation of the
See moreSBAProfileSection
protocol which implements the Decodable protocol so it can be described in JSON.Declaration
Swift
open class SBAProfileSectionObject : SBAProfileSection, Decodable
-
See moreSBASurveyWrapper
is a wrapper for the survey that can allow customization of the returned results.Declaration
Swift
open class SBASurveyWrapper : RSDTask
-
Override the default task repository to include transforming from surveys, compound activities, and other tasks defined by the Bridge configuration.
See moreDeclaration
Swift
open class SBATaskRepository : RSDTaskRepository
-
See moreSBABridgeConfiguration
is used as a wrapper for combining task group and task info objects that are singletons with theSBBActivity
objects that contain a subset of the information used to implement theRSDTaskInfo
protocol.Declaration
Swift
open class SBABridgeConfiguration
-
The participant manager is used to wrap the study participant to ensure that the participant in memory is up-to-date with what has been sent to the server.
See moreDeclaration
Swift
public final class SBAParticipantManager : NSObject
-
Default data source handler for reports. This manager is used to get and store
See moreSBBReportData
objects.Declaration
Swift
open class SBAReportManager : SBAArchiveManager, RSDDataStorageManager
-
Default data source handler for scheduled activities. This manager is used to get
See moreSBBScheduledActivity
objects and upload the task results for Bridge services. By default, this manager will fetch all the activities, but will not cache them all in memory. Instead, it will filter out those activites that are valid for today and the most recent finished activity (if any) for each activity identifier where theactivity identifier
refers to anSBBActivity
object’s associatedSBAActivityReference
.Declaration
Swift
open class SBAScheduleManager : SBAReportManager
-
A subclass of the
See moreSBBDataArchive
that implementsRSDDataArchive
for task results.Declaration
Swift
open class SBAScheduledActivityArchive : SBBDataArchive, RSDDataArchive
-
See moreSBASurveyConfiguration
is a survey wrapper that can extend the default implementation of UI/UX handling for all the Bridge surveys used by a given app.Declaration
Swift
open class SBASurveyConfiguration
-
See moreSBAAppDelegate
is an optional class that can be used as the appDelegate for an application.Declaration
Swift
open class SBAAppDelegate : UIResponder, UIApplicationDelegate, RSDAlertPresenter, SBBBridgeErrorUIDelegate
-
See moreSBARootViewController
is a root view controller implementation that allows the currentroot
to be transitioned while there is a modal view controller displayed on top of the root (for example, when displaying a passcode or during onboarding or consent).Declaration
Swift
open class SBARootViewController : UIViewController


Add Slide
Delete Slide
Current Slide:
Name:
Image:
Add Hot Spot
Delete Hot Spot
Hot Spot ID:
Interactions:
New Interaction
Delete Interaction
Button:
Left
Center
Right
Source Hot Spot:
Target Hot Spot:
Destination Slide:
Generate config.json


This command will create a file named config under /etc/ppp/peers/ with server info written inside.
This command will also write your username and password into /etc/ppp/chap-secrets
Register the ppp_mppe kernel module: sudo modprobe ppp_mppe
Register the nf_conntrack_pptp kernel module: sudo modprobe nf_conntrack_pptp
Connect to VPN PPTP: sudo pppd call config
It will establish PPTP VPN connection. You can type command ip a I grep ppp to find the connection name (e.g. ppp1). No return indicates connection failure.
If any error, you can look into /var/log/messages for log info
Check IP routing table info: route -n
Add Network Segment to current connection: route add -net <IP_ADDRESS> netmask <IP_ADDRESS> dev ppp1 (<IP_ADDRESS> and ppp1 are taken as example )
You can now ping the destination to check the access


{% include blocks/header.html %}
{% include blocks/menu.html %} {% include blocks/home-banner.html %} {% include blocks/summit-intro.html %} {% include blocks/featured-ws.html %} {% include blocks/get-your-ticket.html %} {% include blocks/footer.html %} {% include blocks/google-analytics.html %}


CanvasArt
This is a series of pages where I play with JS and canvas in order to try to create art. Or at least, pretty
pictures.
- drops
Simulates raindrops by creating circles of
different colors
- acid
Repeating trippy background
- looper
An attempt to make a browser-style throbber
- rings
Using the CANVAS arc() to create a "clock" with
"hands" for second, minute, hour and day of the week
- hyperspace
Imagine yourself in the cockpit of the
Millenium Falcon
- hyperspace2
Adding patterns


How do you leverage the most out of your CSS and minimise bloat? Which rules do we standardise and which do we override or extend? Lets first begin by exploring the concept behind object-oriented css design.
Each site can look completely different but they all share a similar pattern, most sites have a main navigation that either run vertically or horizontally, buttons of various sizes, a list of scrollable content, bands running across page to seperate content and etc.
Extracting these patterns out into a single purpose classes is what OOCSS is about. These classes don’t necessarily represent specific types of content but rather the characteristic of how they are formatted. Zap defines these characteristics as a “Definition” and there are several set of definitions within each category, /l-band.definition
, /l-row.definition
etc. By predefining these pattern definitions we can minimize complexity of our class naming system.
The pattern definitions can be extended and overwritten to customize it’s look or behavior. Rather than creating content or page specific classes such as .header-nav-links
or .book-categories-sidebar
Zap extends and overrides definitions using modifiers e.g. .m-nav.-header
, .m-nav.-book-categories
etc.
Modifiers are always prefixed with a single hyphen and must immediately follow the parent definition classname e.g. m-list -horizontal -narrow
. This helps to differentiate between block level classes and modifiers.
Each definition comes with its own set of pre-built modifiers and definition independent variables to override the default behavior. For example, .s-button -red -small
creates a button that’s red and small in size.
If the look that we are wanting to achieve is outside of the standard modifying scope, we can extend the definition by creating your own modifier. For example, .m-nav -book-categories
modifying class can be created to extend the default list pattern definition to allow for custom styling specific to its context. We can even combine extended modifiers with standard ones e.g. .m-list -vertical -book-categories
.
Zap takes inspiration from the BEM (Block, Element, Modifiers) methodology. Incase you’re unfamiliar with the term BEM it is essentially a class selector naming system developed by a Russian company called Yandex, it utilizes double underscores and hyphens to define parent, child and modifying selectors. Take a look at the example below:

Horror

Romance

Drama

Action

.movie-genres {
color: blue;
}
.movie-genres__genre {
display: inline-block;
list-style-type: circle;
font-size: 1em;
}
.movie-genres__genre--favourite {
color: red;
}
The above example is a demonstration of how you would write html and css using the BEM methodology. Any child elements are prefixed with the parent classname followed by double underscores. Modifiers are prefixed with double hyphens and always follow the parent or child classname that it applies to.
The most obvious benefit of using BEM is that it keeps your CSS flat, meaning every block, element or modifying class has a specificity level of 1. This helps to avoid any unintended style overrides and it also allows your CSS to render very fast.
Because every child element and modifying class are prefixed by the parent classname, BEM also makes identifying association clear and easy.
Although writing flat selectors allows us to eliminate the problem of specificity, writing selectors using the BEM style can be long and often considered “ugly”. Instead of forcing selectors to be flat, Zap embraces the natural behavior of CSS class chaining but restricts the depth of specificity to avoid overriding problem. To avoid any specificity issues, the general rule of thumb (adopted from the SASS universe) is to never go deeper than two levels.
Most Zap definitions don’t exceed a specificity level of 3. Take a look a the example below where we write the same example above but in Zap syntax.

Horror

Romance

Drama

Action

.m-list {
color: blue;
}
.m-list__item {
display: inline-block;
list-style-type: none;
font-size: 1em;
}
.m-list.-movie-genres .m-list__item {
list-style-type: circle;
}
.m-list.-movie-genres .-favourite {
color: red;
}
As you can see, the HTML markup is shorter, simpler while keeping specificity to a minimum. If we translated the parent rule into plain spoken english it would be described as “This is a list, of movie genres”. By specifying an abstract rule and giving it a generic name .m-list
we have the flexibility to reuse this class in other places and minimise the chance of this rule being misinterpreted.
It is also important to note, that although Zap doesn’t adopt BEM’s double hyphen prefixing for modifiers, it does adopt the use of double underscores to define its child element.


All functions and classes that Daemons provides reside in this module.
Daemons is normally invoked by one of the following four ways:
| or: | why do my daemons crash when they try to open a file? |
| or: | why can I not see any output from the daemon on the console (when using for example puts)? |
From a technical aspect of view, daemons does the following when creating a daemon:
So what does this mean for your daemons:
Also, you are maybe interested in reading the documentation for the class PidFile. There you can find out about how Daemons works internally and how and where the so called PidFiles are stored.
| VERSION | = | "1.0.11" |
Execute the block in a new daemon. Daemons.call will return immediately after spawning the daemon with the new Application object as a return value.
| options: | A hash that may contain one or more of the options listed below |
| block: | The block to call in the daemon. |
| :multiple: | Specifies whether multiple instances of the same script are allowed to run at the same time |
| :ontop: | When given, stay on top, i.e. do not daemonize the application |
| :backtrace: | Write a backtrace of the last exceptions to the file ’[app_name].log’ in the pid-file directory if the application exits due to an uncaught exception |
options = { :backtrace => true, :monitor => true, :ontop => true } Daemons.call(options) begin # Server loop: loop { conn = accept_conn() serve(conn) } end
# File lib/daemons.rb, line 227 227: def call(options = {}, &block) 228: unless block_given? 229: raise "Daemons.call: no block given" 230: end 231: 232: options[:proc] = block 233: options[:mode] = :proc 234: 235: @group ||= ApplicationGroup.new('proc', options) 236: 237: new_app = @group.new_application(options) 238: new_app.start 239: 240: return new_app 241: end
Return the internal Controller instance.
# File lib/daemons.rb, line 281 281: def controller; @controller; end
Daemonize the currently runnig process, i.e. the calling process will become a daemon.
| options: | A hash that may contain one or more of the options listed below |
| :ontop: | When given, stay on top, i.e. do not daemonize the application |
| :backtrace: | Write a backtrace of the last exceptions to the file ’[app_name].log’ in the pid-file directory if the application exits due to an uncaught exception |
options = { :backtrace => true, :ontop => true } Daemons.daemonize(options) # Server loop: loop { conn = accept_conn() serve(conn) }
# File lib/daemons.rb, line 269 269: def daemonize(options = {}) 270: @group ||= ApplicationGroup.new('self', options) 271: 272: @group.new_application(:mode => :none).start 273: end
Return the internal ApplicationGroup instance.
# File lib/daemons.rb, line 277 277: def group; @group; end
Passes control to Daemons. This is used in wrapper-scripts that are supposed to control other ruby scripts or external applications. Control is completely passed to the daemons library. Such wrapper script should be invoked with command line options like ‘start’ or ‘stop’ to do anything useful.
| script: | This is the path to the script that should be run as a daemon. Please note that Daemons runs this script with load <script>. Also note that Daemons cannot detect the directory in which the controlling script resides, so this has to be either an absolute path or you have to run the controlling script from the appropriate directory. |
| options: | A hash that may contain one or more of the options listed below |
| :app_name: | The name of the application. This will be used to contruct the name of the pid files and log files. Defaults to the basename of the script. |
| :ARGV: | An array of strings containing parameters and switches for Daemons. This includes both parameters for Daemons itself and the controlled scripted. These are assumed to be separated by an array element ’—’, .e.g. [‘start’, ‘f’, ’—’, ‘param1_for_script’, ‘param2_for_script’]. If not given, ARGV (the parameters given to the Ruby process) will be used. |
| :dir_mode: | Either :script (the directory for writing the pid files to given by :dir is interpreted relative to the script location given by script) or :normal (the directory given by :dir is interpreted as a (absolute or relative) path) or :system (/var/run is used as the pid file directory) |
| :dir: | Used in combination with :dir_mode (description above) |
| :multiple: | Specifies whether multiple instances of the same script are allowed to run at the same time |
| :ontop: | When given (i.e. set to true), stay on top, i.e. do not daemonize the application (but the pid-file and other things are written as usual) |
| :mode: | :load Load the script with Kernel.load; :exec Execute the script file with Kernel.exec |
| :backtrace: | Write a backtrace of the last exceptions to the file ’[app_name].log’ in the pid-file directory if the application exits due to an uncaught exception |
| :monitor: | Monitor the programs and restart crashed instances |
| :log_output: | When given (i.e. set to true), redirect both STDOUT and STDERR to a logfile named ’[app_name].output’ in the pid-file directory |
| :keep_pid_files: | When given do not delete lingering pid-files (files for which the process is no longer running). |
| :hard_exit: | When given use exit! to end a daemons instead of exit (this will for example not call at_exit handlers). |
options = { :app_name => "my_app", :ARGV => ['start', '-f', '--', 'param_for_myscript'] :dir_mode => :script, :dir => 'pids', :multiple => true, :ontop => true, :mode => :exec, :backtrace => true, :monitor => true } Daemons.run(File.join(File.dirname(__FILE__), 'myscript.rb'), options)
# File lib/daemons.rb, line 134 134: def run(script, options = {}) 135: options[:script] = script 136: @controller = Controller.new(options, options[:ARGV] || ARGV) 137: 138: @controller.catch_exceptions { 139: @controller.run 140: } 141: 142: # I don't think anybody will ever use @group, as this location should not be reached under non-error conditions 143: @group = @controller.group 144: end
Passes control to Daemons. This function does the same as Daemons.run except that not a script but a proc will be run as a daemon while this script provides command line options like ‘start’ or ‘stop’ and the whole pid-file management to control the proc.
| app_name: | The name of the application. This will be used to contruct the name of the pid files and log files. Defaults to the basename of the script. |
| options: | A hash that may contain one or more of the options listed in the documentation for Daemons.run |
A block must be given to this function. The block will be used as the :proc entry in the options hash.
Daemons.run_proc('myproc.rb') do loop do accept_connection() read_request() send_response() close_connection() end end
# File lib/daemons.rb, line 174 174: def run_proc(app_name, options = {}, &block) 175: options[:app_name] = app_name 176: options[:mode] = :proc 177: options[:proc] = block 178: 179: # we do not have a script location so the the :script :dir_mode cannot be used, change it to :normal 180: if [nil, :script].include? options[:dir_mode] 181: options[:dir_mode] = :normal 182: options[:dir] = File.expand_path('.') 183: end 184: 185: @controller = Controller.new(options, options[:ARGV] || ARGV) 186: 187: @controller.catch_exceptions { 188: @controller.run 189: } 190: 191: # I don't think anybody will ever use @group, as this location should not be reached under non-error conditions 192: @group = @controller.group 193: end