1.
Diagram of the EnParser English Parser Module
/^^^^^^^^^\ EnParser Tags Subject-Verb-Object /^^^^^^^^^\ / EYE \ MINDCORE _____ / EAR \ / \ CONCEPTS /New- \ / \ | _______ | | | | _____ (Concept)-|-------------\ | | /old \ | | | | /Old- \ \_____/ | Audition | | | / image \---|-----+ | (Concept)------|---|----------\ | | | \ recog / | | | | \_____/-------|---|-------\ | | | | \_______/ | a| | | |________V | c | | | | | | b|C| | / EnParser \ | a | | | | | visual | s|O|f| \__________/ | t | | | | | | t|N|i| |noun? | s-/ | | | | memory | r|C|b| |verb? | | | | | | a|E|e| |adj.? | e | | | | channel | c|P|r| |adverb? | a | | | | | t|T|s| |prep.? | t-----/ | | | _______ | | | | |conj.? | | | | /new \ | |_|_| ______V____ | f | | | / percept \ | / \ / \ | i | | | \ engram /---|--\ Psi /-----( InStantiate ) | s | | | \_______/ | \___/ \___________/ | h-------/ |
EnParser serves the purpose of not only identifying a part of speech such as a noun, preposition or verb, but also of comprehending the part of speech in context by helping to assign associative tags among concepts in the Psy conceptual array. Thus EnParser and its Russian counterpart RuParser serve the purpose of Natural Language Understanding (NLU).
3. Algorithm of the
EnParser AI Mind-Module
Since the main feature of the concept-based AI Minds is their demonstration of solving the AI-hard problem of natural language understanding (NLU), the EnParser module for parsing English is the main instrument of achieving the NLU goal.
The ghost.pl AI Mind in Strawberry Perl Five is becoming a conversational agent that may be installed to run in either the background or the foreground on any host computer.
The JavaScript AI Mind requires no download of either source code or programming language. Simply clicking on the link brings the tutorial AI Mind into your MSIE browser, where you may use the AI to teach students or AI coders.
If you want to issue verbal instructions to your autonomous humanoid robot, MindForth as the robot brain enables you and the robot to engage in a discussion of what work the robot should be doing, and how the work should be done, and how the robot should engage in back-and-forth communication using English for you to clarify youe instructions and for the robot to report to you its completion of tasks.
3.A. Words included in the MindBoot sequence lighten the load of EnParser.
Populating the MindBoot sequence with English words, the AI mind maintainer tries to include the most frequent English nouns and verbs, all the conjunctions, all the prepositions, and all the pronouns. Except for disambiguation, the embedded words do not need further parsing as to their parts of speech.
3.B. The first AI Minds could only parse SVO sentences into nouns and verbs.
The subject-verb-object (SVO) format of admissible inputs made it simple for the earliest AI Minds to classify English words as nouns or verbs. The parsing module could skip over the known English articles and an important adverb like the word "NOT" being used to negate an English sentence.
3.C. The ghost112.pl AI became able to parse prepositional phrases.
Since the MindBoot sequence innately contains all the English prepositions identified as such, the AI Mind easily detects the input of a known English preposition and sets the $prepcon flag to a positive number one and loads the $tpp time-of-preposition flag with the ending time-point at which the input preposition is being instantiated as a node in conceptual memory. Then $tpp is used to zero in on the associative-tag flag-panel of the preposition, filling in the next noun or pronoun as the $seq of the preposition. Then the $tvb time-of-verb flag is used to insert the concept-number of the preposition as a $seq of the verb.
3.D. The ghost114.pl AI began to parse the indirect objects of verbs.
To parse and comprehend an indirect object, EnParser tentatively fills the time-of-indirect-object $tio flag with the input-time of the first noun being input after a verb. The $tio flag is set only once by requiring that it be at zero for it to be set. Simultaneously, the time-of-direct-object flag $tdo is filled with the same value as the $tio flag for an indirect object, because it is not yet known whether one noun or two nouns are being entered subsequent to the input of a transitive verb. If and when a second noun comes in, the value for the time-of-direct-object $tdo flag, originally filled with the same value as the indirect-object $tio flag, is replaced or overwritten with the new time of the second post-verb noun in the input stream.
If only one noun comes in after the verb, the identifier of the direct object is set only once. If two post-verb nouns come in, the first noun becomes the indirect object and the second noun becomes the direct object.
3.E. The ghost309.pl AI became able not only to parse the input of a prepositional phrase but also to think with a prepositional phrase.
4. Code of EnParser() from ghost327.pl AI
source code in
Perl
# 2017-09-03: Requirements of English Parser module: # 2017-09-13: EnParser shall at first assume that a new word is a noun. sub EnParser() { # http://ai.neocities.org/EnParser.html if ($pos == 5 || $pos == 7) { # 2019-10-19: if noun or pronoun... if ($tsj == 0) { $dba = 1; } # 2019-10-19: if not subject has been declared... if ($tult == $tdo) { $dba = 4; } # 2019-10-19: acc. dir. obj. } # 2019-10-19: end of test for noun or pronoun. $act = 48; # 2016apr27: an arbitrary activation for InStantiate() $bias = 5; # 2015jun04: Expect a noun until overruled. $tkb = 0; # 2019-10-22: BUGFIX if ($fyi > 2) { # 2016feb08: if mode is Diagnostic # 2018-07-01: Diagnostic or tutorial message. } # 2016feb07: end of test for Diagnostic or Tutorial mode. InStantiate(); # 2019-08-08: first instantiation during parsing Stage One if ($pos == 5) { $bias = 8 } # 2016feb10: after noun, expect verb. if ($pos == 7) { $bias = 8 } # 2016feb10: after pronoun, expect verb. if ($pos == 8) { $bias = 5 } # 2016feb10: after verb, expect noun if ($prepcon == 0) { # 2017-09-13: if not handling a preposition... if ($pos == 5 || $pos == 7) { # 2016mar21: expanding then-clause # $tsj = ($t - 1); # 2017-09-13: subject? # $tsj = ($t - 1); # 2019-10-19: declare subject-time elsewhere? if ($verbcon == 1) { # 2017-09-13: if a verb has come in... if ($tvb > 0) { $tdo = $tult; } # 2019-10-19: a default value. if ($tio == 0) {$tdo = $tult} # 2017-09-13: set once or twice if ($tio == 0) {$tio = $tult} # 2017-09-13: set only once if ($tio > 0) { # 2017-09-13: if $tio previously set... $tdo = $tult; # 2017-09-13: second noun sets time of dir.obj. } # 2017-09-13: end of test to make 2nd noun the direct object. $tkb = $tdo; # 2019-10-18: let verb have a "nounlock" to direct object. my @k=split(',',$psy[$tvb]); # 2017-09-13: expose flag-panel of verb $pre = $k[1]; # 2017-09-13: verb psi will be $pre of direct object @k=split(',',$psy[$tio]); # 2017-09-13: expose flag-panel of indir.obj. $iob = $k[1]; # 2019-08-01: excerpt indirect-object concept for k[13] $psy[$tio]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "3,$k[8],$k[9],$k[10],$k[11],$k[12],$k[13]," . "$k[14],$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-08-01: panel # 2017-09-13: Above lines insert k7 dba=3 for dative-case indirect object. @k=split(',',$psy[$tdo]); # 2017-09-13: expose flag-panel of dir.obj. $psy[$tdo]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "4,$k[8],$k[9],$k[10],0,$k[12],$k[13]," . "0,$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-08-02: no $tkb for dir.obj. # 2017-09-13: Above lines insert verb-$psi as k10 $pre of direct object. @k=split(',',$psy[$tvb]); # 2017-09-13: expose flag-panel of main verb. if ($k[5]==250) { $k[7]=0;$k[8]=0; } # 2019-10-23: negated verb is dba=0 infinitive. $tdo = $t - 1; # 2017-09-13: insert time-of-direct-object for nounlock; $tkb = $tdo; # 2017-09-13: TEST # 2017-09-13: Next two lines create psy-array row for a verb. $psy[$tvb]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "$k[7],$k[8],$k[9],$k[10],$psi,$k[12],$iob," . "$tkb,$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-08-01: panel. @k=split(',',$psy[$tdo]); # 2019-10-19: expose flag-panel of direct object $psy[$tdo]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "4,$k[8],$k[9],$k[10],$k[11],$k[12],$k[13]," # 2019-10-19: acc. dba=4 dir.obj. . "$k[14],$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-10-19: tdo-panel } # 2017-09-13: end of test for a condition following a verb. } # 2017-09-13: end of test for noun not object of a preposition. } # 2017-09-13: end of test for a non-prepositional condition. if ($pos == 6) { $prepcon = 1 } # 2019-09-24: prepare for noun. if ($pos == 5 || $pos == 7) { # 2017-09-13: if ($prepcon == 1) { # 2017-09-13: my @k=split(',',$psy[$tpr]); # 2019-08-06: expose flag-panel of preposition; $pre = $k[1]; # 2017-09-13: Let $pre briefly be the preposition. $prep = $k[1]; # 2018-11-08: identify prep. to be the $seq of the verb. $k[14] = $tult; # 2019-08-01: establish $tkb between preposition and its object. @k=split(',',$psy[$tult]); # 2017-09-13: expose flag-panel of obj of prep. $psy[$tult]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "4,$k[8],$k[9],$pre,0,$k[12],$k[13]," . "$k[14],$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-08-01: panel. $prep = 0; # 2018-11-08: Reset to prevent carry-over. $prepcon = 0; # 2017-09-13: Reset to prevent carry-over. } # 2017-09-13: end of test for a positive $prepcon. } # 2017-09-13: end of test for a noun or pronoun. if ($pos == 8 && $psi != 800 && $psi != 818) { # 2019-08-06: not "BE" or "DO" $tvb = ($t - 1); # 2017-09-13: hold onto time-of-verb for flag-insertions. $verbcon = 1; # 2017-09-13: verb-condition is "on" for ind. & dir. objects. my @k=split(',',$psy[$tsj]); # 2017-09-13: expose flag-panel of subject noun $subjpre = $k[1]; # 2017-09-13: Hold onto $subjpre for the pos=8 verb $psy[$tsj]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "1,$k[8],$k[9],$k[10],$psi,$k[12],$k[13]," . "$tvb,$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-08-01 @k=split(',',$psy[$tult]); # 2017-09-13: expose flag-panel of verb. $psy[$tult]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "$k[7],$k[8],$k[9],$subjpre,0,$k[12],$k[13]," . "$k[14],$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-08-01 $subjpre = 0; # 2017-09-13: Reset for safety. } # 2017-09-13: end of test for a pos=8 verb. # if ($pos == 8 && $psi == 800) { # 2019-10-18: if 800=BE verb... if ($pos == 8) { # 2019-10-19: any verb... $tvb = ($t - 1); # 2019-10-18: hold onto time-of-verb for flag-insertions. my @k=split(',',$psy[$tsj]); # 2019-10-18: expose flag-panel of subject noun $psy[$tsj]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "$k[7],$k[8],$k[9],$k[10],$psi,$k[12],$k[13]," # 2019-10-18: verb is "seq" of noun. . "$tvb,$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-10-18: verb "tkb" of noun. } # 2019-10-18: end of test for 800=BE verb. # if ($tpr > 0 && $pos == 5) { # 2019-08-11: if a noun follows a preposition... if ($tpr > $vault && $pos == 5) { # 2019-10-22: if a noun follows a preposition... my @k=split(',',$psy[$tpr]); # 2019-08-10: expose flag-panel at time-of-prep. $tkb = ($t-1); # 2019-08-11: time of object of preposition $psy[$tpr]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "$k[7],$k[8],$k[9],$k[10],$k[11],$k[12],$k[13]," . "$tkb,$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-08-11 } # 2019-08-11: end of test for a noun after a preposition. if ($pos == 6 && $mri > 0) { # 2019-09-24: removing restriction to input-only. $tpr = ($t - 1); # 2019-08-11: time-of-preposition for back-tag insertion. my @k=split(',',$psy[$mri]); # 2019-08-10: expose flag-panel of most-recent word $psy[$mri]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "$k[7],$k[8],$k[9],$k[10],$k[11],$k[12],$k[13]," . "$k[14],$k[15],$k[16],$k[17],$k[18],$tpr,$k[20]"; # 2019-08-11 $etc = 0; # 2019-09-26: thwart compounding of thought at first after a preposition. $tpr = 0; # 2019-10-22: prevent carry-over. TEST; TRUNCATE } # 2019-09-24: end of test for preposition part-of-speech and positive $mri value. if ($pos == 8) { # 2019-10-19: if part-of-speech is 8=verb... if ($psi != 818) { # 2019-10-19: if verb other than auxiliary 818=DO... $verbcon = 1; # 2019-10-19: verb condition is "on" for indir. and dir. objects. } # 2019-10-19: end of test for not auxiliary 818=DO. my @k=split(',',$psy[$tsj]); # 2019-10-19: expose flag-panel at time-of-subject $psy[$tsj]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "$k[7],$k[8],$k[9],$k[10],$psi,$k[12],$k[13]," # 2019-10-19: seq = verb. . "$k[14],$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-10-20 } # 2019-10-19: end of test for a pos=8 verb. if ($pos == 5 || $pos == 7) { # 2019-10-22: noun or pronoun as direct object my @k=split(',',$psy[$tdo]); # 2019-10-19: expose flag-panel of direct object $psy[$tdo]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "4,$k[8],$k[9],$svo2,0,$k[12],$k[13]," # 2019-10-22: dba=4 pre=verb seq=0 . "$k[14],$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-10-22: tdo-panel } # 2019-10-22: end of test for a noun or pronoun. if ($pos == 1) { # 2019-10-22: if adjective $tult = ($t -1); # 2019-10-22: certify my @k=split(',',$psy[$tult]); # 2019-10-22: expose flag-panel $psy[$tult]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "$k[7],$k[8],$k[9],$k[10],$k[11],$k[12],$k[13]," # 2019-10-22 . "$k[14],$k[15],$k[16],$k[17],$k[18],0,$k[20]"; # 2019-10-22: no tpr for adjective. } # 2019-10-22: end of test for pos=1 adjective if ($pos == 6) { # 2019-10-22: if preposition $tult = ($t -1); # 2019-10-22: certify my @k=split(',',$psy[$tult]); # 2019-10-22: expose flag-panel $psy[$tult]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6]," . "$k[7],$k[8],$k[9],$k[10],$k[11],$k[12],$k[13]," # 2019-10-22 . "$k[14],$k[15],$k[16],$k[17],$k[18],0,$k[20]"; # 2019-10-22: no tpr for prep. } # 2019-10-22: end of test for pos=6 preposition. } # 2019-10-19: EnParser() returns to OldConcept() or NewConcept().
5.
Variables for EnParser Module with
NLU
$act -- quasi-neuronal activation-level
$bias --
EnParser(); NewConcept(): expected part-of-speech POS
$fyi -- (for your information) display mode, which the user selects by pressing the Tab key and toggling through the modes: 1 = Normal; 2 = Transcript; 3 = Tutorial mode; 4 = Diagnostic mode
$mri -- -- most-recent-instantiation. The mri is a time-point which may be used for the insertion of an associative tag into the conceptual flag-panel of a previous concept in order to establish a link between a newly input concept being instantiated and the previously instantiated concept. The designation of the time-point of the mri concept may be qualified or restricted by code that requires the mri concept to be a special ("pos") part-of-speech, such as either a noun or a verb. Thus a preposition being instantiated may be back-linked to a noun or a verb as a mental point of departure leading to the preposition within a chain of thought. For example, if we say "John writes books for money", the preposition "for" could be linked backwards to a tpr (time-of-preposition) tag in the flag-panel of the verb "writes" or in the flag-panel of the noun "books", depending on whether the basic idea is "writes for money" or "books for money" -- especially if "John writes books for money and poems for fun."
$pos -- (part of speech) 1=adj 2=adv 3=conj 4=interj 5=noun 6=prep 7=pron 8=verb
$pre -- pre(vious) associated @psy concept, such as the subject of a verb, or such as the verb of a direct object.
$prep -- a preposition used in the EnPrep mind-module for English prepositions.
$prepcon -- prepositional condition-flag for parsing.
$subjpre -- subject-$pre to be held for verb in parsing.
$tdo -- time-of-direct-object for a parser module.
$tio -- time-of-indirect-object for parser module.
$tkb -- time-in-knowledge-base of an idea. The EnParser() module stores time-of-verb $tvb in the k[13] $tkb slot of the subject of a sentence being stored at the time-of-subject $tsj time-point in the Psy conceptual array. The EnParser module stores $tkb as equal to $tdo (time of the direct object) in the Psy array row of the verb at time-of-verb $tvb. Thus for subjects $tkb means "verb" and for verbs $tkb means "direct object". No $tkb is stored for a direct object, because the associative tags go from subject to verb to object (SVO) but no further.
$tpr -- time-of-preposition for parsing.
$tsj -- conceptual flag-panel tag for time-of-preposition.
$tult -- t penultimate, or time-minus-one.
$tvb -- time-of-verb for parsing. The EnParser module sets "t - 1" as the tvb if the word being parsed is a verb by part-of-speech. InStantiate uses the time-of-verb tvb to fill the tkb-slot in a verb-panel with the time-location of the direct object of the verb. EnParser uses the time-of-verb tvb to find the numeric verb-concept that will be the pre of a direct object being parsed. EnParser also uses the time-of-verb tvb to store the time-of-direct-object tdo as the tkb in the flag-panel of the verb. Therefore the tvb-flag needs to be reset to zero not during but after AudInput, when program-flow has returned to the Sensorium module.
$verbcon -- verb-condition for seeking (in)direct objects. $verbcon is set to a positive unitary one in the EnParser module when a verb comes in during input and remains at one while any indirect or direct object comes in. After an input sentence, $verbcon is reset to zero.
6. Troubleshooting and Debugging for
AI Mind Maintainers
6.1.a. Symptom: (Something goes wrong.)
6.1.b. Solution: (AI Mind
Maintainer devises solution.)
To debug the function of assigning indirect and direct objects, the AI Mind Maintainer enters a typical sentence such as "I give the boy a robot" that contains both an indirect object and a direct object, and presses Escape to halt the AI after the input. Then the Maintainer examines the display of the conceptual array to see if $iob and $seq have been properly assigned. The AI coder may also insert diagnostic "print" messages into InStantiate() and EnArticle() so as to observe the process of assigning a tag during the input and comprehension of a sentence.
7. Future Development of EnParser Module with
NLU
Considerations:
- For future development. EnPronoun could be used to replace a noun
with a relative pronoun and to introduce a subordinate clause, such as;
"I know a man who loves music."
EnParser must deal with the
NLU of such a sentence, using the incoming relative pronoun
as a trigger to treat the ensuing verb as referring back to the relative pronoun.
Roadmap to Artificial Intelligence
8. Resources for EnParser Module with
NLU
9.
AiTree of Mind-Modules for
Natural Language Understanding


THE PRINCE OF EGYPT A film review by Steve Rhodes Copyright 1998 Steve Rhodes RATING (0 TO ****): ***
When casting the key part of the voice of Moses, most people's first candidate would probably not be the controversial actor Val Kilmer (THE SAINT and THE ISLAND OF DR. MOREAU), but he was Dreamworks's choice in their first traditionally animated movie, THE PRINCE OF EGYPT.
The selection of Kilmer proved to be a wise one, but the biggest risk Dreamworks took wasn't in the casting department. The radical departure was that they decided to use the medium of animation to make a biblical epic, a la Cecil B. DeMille, to move our hearts and minds rather than to tickle our funny bones.
In the press kit producer Penney Cox says that they wanted to make a film for adults based on sophisticated themes but one that did not exclude children. Animated movies for adults that are appropriate for kids and that are not comedies, now that is something fresh.
Let me admit up-front that I was quite skeptical as to whether Dreamworks could pull it off. Dreamworks's ANTZ seemed to be a movie not quite appropriate for any age group. THE PRINCE OF EGYPT may be harder to market than ANTZ, but it is much more satisfying.
Like ANTZ and unlike the more modest casting of Pixar's A BUG'S LIFE, THE PRINCE OF EGPYT has half of Hollywood doing the voices. Danny Glover is the voice of Jethro, Jeff Goldblum of Aaron, Steve Martin of Hotep, Helen Mirren of the Queen, Michelle Pfeiffer of Tzipporah, Martin Short of Huy and Patrick Stewart of Seti. You can figure out for yourself who does the voice of God.
The movie, which is weakest in the story department, is a Cliff's Notes version of DeMille's THE TEN COMMANDMENTS. The script by Kelly Asbury and Lorna Cook has an obsession with touching briefly on every classic event in Moses's life. DeMille took over three and a half hours in order to do it justice. At less than half of that, THE PRINCE OF EGYPT rushes through so much material that it doesn't establish sufficient depth for us to bond with the characters.
We meet Moses when the queen finds him floating in his little basket. We watch him grow up and become best bud and a chariot racing partner to Ramses (Ralph Fiennes), the future Pharaoh. Moses is a free spirit and a practical joker until he finds out his true identity as a Jew. ("All I've ever known to be true is a lie," Moses complains.) After finding out his real identity, he sees for the first time the oppression of the Jewish slaves that are all around him.
After leaving Egypt, Moses comes back to ask Ramses to let Moses's people go. This leads to the classic scene of the parting of the Red Sea, which is one of many places where computers were used to enhance the traditionally hand-drawn animation of the most of the production.
It is the absolutely stunning visuals that make the movie so compelling. Drawn with a rich palette of luxurious roses, blues and golds, the picture looks sumptuous from its first frame to its last.
The construction of the temple is shown in blowing dust, and other scenes are shot with the glow of a rising sun. The most original visual sequence in the film occurs during a dream Moses has. Done with an explicit two-dimensional look, the colorful images painted on the temple walls come to life to tell their own animated story.
Even though it has its weaknesses, THE PRINCE OF EGYPT is a noble attempt to carve out a new genre -- serious animated movies for adults that are acceptable for the entire family. This awe-inspiring movie deserves to be seen.
THE PRINCE OF EGYPT runs about 1:30. It is rated PG for thematic elements and would be fine for the whole family. How old a kid would need to be to be interested depends on the child, but those over 8 will probably like it.
Email<EMAIL_ADDRESS>Web: www.InternetReviews.com
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


This template was inspired by some artist friends of mine and I hope you find it useful. You can replace the title to the left by changing the text in the HTML or by using a bitmap graphics application to modify the background graphic and add your own styled text.
Dolore culpa mollit sit aliqua in consequat fugiat consequat amet velit eu excepteur est. Duis sint sint commodo sunt proident elit voluptate ea aliqua id Lorem quis occaecat est laboris culpa. Dolore aliquip dolore elit ut laborum adipisicing veniam laborum mollit exercitation. Culpa officia aliquip do aliqua culpa aute ipsum aute. Incididunt ea reprehenderit veniam eu culpa tempor exercitation commodo sint consequat et et.
If you need to make more room for the blog titles and keep them on one line, simply adjust the size of the #content H1 style. Bold text looks
like this. It's 'Arial Black' and #FFF just like the title and the headers, however, if the person viewing the site removed 'Arial Black' then the font-weight:600 property will take care of bolding
it as much as possible.
Emphesized or italisized text looks
like this . I don't think the look of Arial's italics stands out, so I usually swap it out with Georgia.
Right under the navigation menu to the right you will see a heading called Recent Updates. If you hover over the news items a short summary will pop yp and allow you to click to get to another page. You can use this as a link list giving people a short description of what your link is about. I learned the technique from Stu at CSS Play. The original demo was to display a small photo gallery this way but I adapted it for text.
This is what quoted text looks like. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat
This is just a simple unordered list with a small 9x9 transparent 2-color gif in the shape of a diamond. It lists the browsers I tested this template with.
The ordered list shared most of the same properties save for the list item image above.
---LAST UPDATED: 10/31/06
FIRST NEWS ITEM
OCTOBER SURPRISE
DON'T FORGET TO VOTE
HOVER NEWS ROCKS!
OWD GETS AN UPDATE USE AS LINK
LIST TAKING NAMES
KEEP IT UNDER 8 ITEMS
A NOTE,FORM, OR AD
This template is valid XHTML 1.0 Strict and the CSS file validates as well. It has been released under the Creative Commons Attribution v2.5 license. If you use this template, please keep a link to me on the site. Thank you.


|
cds
2.3.1
|
Empty wait strategy. More...
#include <cds/algo/flat_combining/wait_strategy.h>
Data Structures | |
| struct | make_publication_record |
| Metafunction for defining a publication record for flat combining technique. More... | |
Public Member Functions | |
| template<typename PublicationRecord > | |
| void | prepare (PublicationRecord &rec) |
| Prepares the strategy. More... | |
| template<typename FCKernel , typename PublicationRecord > | |
| bool | wait (FCKernel &fc, PublicationRecord &rec) |
| Waits for the combiner. More... | |
| template<typename FCKernel , typename PublicationRecord > | |
| void | notify (FCKernel &fc, PublicationRecord &rec) |
| Wakes up the thread. More... | |
| template<typename FCKernel > | |
| void | wakeup (FCKernel &fc) |
| Moves control to other thread. More... | |
Empty wait strategy.
Empty wait strategy is just spinning on request field. All functions are empty.
|
inline |
Wakes up the thread.
The combiner calls notify
() when it has been processed the request.
FCKernel
is a flat_combining::kernel
object, PublicationRecord
is thread's publication record of type make_publication_record::type
|
inline |
Prepares the strategy.
This function is called before enter to waiting cycle. Some strategies need to prepare its thread-local data in rec
.
PublicationRecord
is thread's publication record of type make_publication_record::type
|
inline |
Waits for the combiner.
The thread calls this function to wait for the combiner process the request. The function returns true
if the thread was waked up by the combiner, otherwise it should return false
.
FCKernel
is a flat_combining::kernel
object, PublicationRecord
is thread's publication record of type make_publication_record::type
|
inline |
Moves control to other thread.
This function is called when the thread becomes the combiner but the request of the thread is already processed. The strategy may call fc.wakeup_any()
instructs the kernel to wake up any pending thread.
FCKernel
is a flat_combining::kernel
object,


I'm A Celeb's Jacqueline traumatised and in floods of tears over Bushtucker Trial
The mum-of-two cried her eyes out after it was announced she would face the Crevice of Cruelty trial alongside Arsenal legend Ian Wright
by Irishmirror.ieJacqueline Jossa couldn't fight back her disappointment as she broke down in floods of tears after learning she would face the Crevice Of Cruelty Bushtucker Trial during tonight's episode of I'm A Celebrity .
The mum-of-two was seen bursting into tears and crying out "I don't want to do it anymore man" as legendary TV duo Ant and Dec revealed Jacqueline and Ian Wright were selected by the public to attempt the latest trial.
Soap star Jacqueline, 27, appeared totally devastated at the news and insisted she didn't want to do it while loudly crying as the campmates surrounded her.
Fellow campmate Andrew Maxwell commented on the soap star's upset and scared reaction.
He said: "Jacqueline was shook when she got the news she was nominated again.
"There is literally nothing you can say that will make her feel better, frankly you will annoy her, or by you I mean me, I annoy her."
Jacqueline cried her eyes out before admitting that she "worries and thinks why are people voting me".
The emotional star told the Bush Telegraph that there is only so much you can do before you break and "I hope I don't break".
The mum-of-two then enjoyed a pep talk from hunky camp leader James Haskell, who encouraged her to try her best in the trial
The actress recollected herself and told the cameras: "I took myself off and had a little moment.
I looked at my kids in my pillow and that's the reason I'm doing this."
While Jacqueline revealed she felt better with Ian by her side, the duo agreed to give the Bushtucker trial a go.
Ant and Dec made a hilarious joke at Jacqueline's emotional reaction to being selected by sarcastically saying she was 'subtle' in showing her emotions .
Viewers instantly took to Twitter to comment on Jacqueline's floods of tears prior to doing the Bushtucker Trial.
One wrote: "They probably filled the trial up with Jacqueline's tears."
While another shared: "Why does Jacqueline get so upset over trials? She absolutely smashes them."
A third seemed sceptical: "I'm not having that Jacqueline is crying and sobbing about doing these tasks.... Clearly all an act as there's no evidence of it at all when she actually does them!"
Another agreed by writing: "This proves Jacqueline is playing up to the camera's. Constantly crying then smashing the trials".
As Jacqueline and Ian entered the Trials clearing, they spoke to Ant and Dec about why they thought they had been voted for the Trial.
Football legend Ian joked: "Because they love us", while Jacqueline simply giggled through the sensitive subject.
Ian continued by saying the public wanted to see people that they love "going through stuff" so they come through the other side and smile.
*I'm A Celebrity continues tomorrow on ITV at 9pm.


Magdeburger Developer Days, Mai 2019
if age < 25:
if speed > 140:
return red # young people, fast cars: high risk
else:
return yellow # young people: medium risk
if age > 75:
return red # old people: high risk
if miles_per_year > 30:
return red # a lot of driving: high risk
if miles_per_year > 20:
return yellow # a bit of driving: medium risk
return green # otherwise: low risk
Scikit-learn: most popular classic machine learning lib
Training
from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
Prediction
y_pred = clf.predict(input)
https://scikit-learn.org/stable/modules/classes.html
Magdeburger Developer Days 2019: Machine Learning: das Ende der Businesslogik?
Oliver Zeigermann / @DJCordhose
http://bit.ly/ml-md-intro


Email:
Password:
Confirm Password:
First Name:
Last Name:
Address Line:
Zipcode:
City:
State:
Login here


Museum Times
Please note that the museum will only be open for one day! This is a student developed project at the California Academy of Mathematics and Science. If you have found this site and are not aware of this project, please note that this is NOT a real museum. However, feel free to visit us on opening day if you'd like. We'll be glad to give you a tour.


Supernova Entertainment Founder: Richard Beck
Richard Beck began his career in the music business at the age of 17, working as an assistant engineer at the legendary Basement Recording Studio in Wardour Street, London. After just three months he was promoted to Studio Manager working across all sections of record production and administration.
Two years later he went on to become the youngest ever National Radio Promotions Executive when he joined the in-house promotions department at Chrysalis Records. Working with hit acts including Sinead O’Connor, Billy Idol, Monie Love, Debbie Harry and Kenny Thomas, the highlight of his time there was securing the Number One spot for Chesney Hawkes with the smash single ‘I Am The One And Only’.
Combining his experience of creating vast media interest around record releases and his love for live music, Richard joined the UK’s leading concert & events promoter MCP, as press and marketing manager, working with major names such as INXS, Guns N’ Roses, REM, Oasis, Bon Jovi, Metallica, U2, Crowded House and Simply Red.
After three successful years at MCP, he was headhunted by entertainment publicity giants Laister Dickson (later LD Publicity) where he remained for 6 years, attaining director status. He worked on a variety of artists, celebrities and events including: Janet Jackson, Tina Arena, M People, BBMak, Capital FM’s ‘Party In The Park’ for The Prince’s Trust (3 Years), The BRIT Awards (5 Years), Songs & Vision (Wembley Stadium), The MTV Awards and The Rolling Stones ‘Voodoo Lounge’ and ‘Bridges To Babylon’ European tours.
In 1997, Richard was approached to head the international launch to break the then relatively unknown Canadian country artist Shania Twain. He put in place and executed the worldwide marketing and publicity campaign for her album ‘Come On Over’ which broke all the rules of music promotion. The album went straight to the top of the charts all over the World, selling 36 million copies along the way, making it the 5th biggest selling album of all time and the biggest selling album ever by a female artist.
After a decade working in music marketing, PR and promotion, Richard was established as a prolific and ubiquitous name in the industry. In early 2001 he decided to gather his knowledge of PR, Promotions and Marketing and apply it to management, teaming-up with Chris Morrison at CMO Management Int. The CMO stable boasts an eclectic range of artists including Blur, Gorillaz, Morcheeba and Ultravox & Live Aid legend, Midge Ure.
Richard set-up BIGBOY Management in 2002 bringing with him a wealth of international knowledge and experience in the areas of Artist Management, Marketing and PR, as well as clients: Shania Twain, Bruce Springsteen, Midge Ure and Mark Shaw (Then Jerico).
BIGBOY’s first new artist signing, Russian pop superstar Ani Lorak, sold 4 million copies of her debut album and is currently selling out 70,000 capacity venues in Europe. In May 2008, Ani came second in the Eurovision Song Contest, representing her native Ukraine.
In 2002/2003 Richard was invited by the BBC to be a permanent judge on their ‘Just up Your Street’ TV talent show, a role for which he received critical acclaim.
Late 2004 saw a move to Australia for a one-year project, teaming-up with music impresario Ralph Carr, to create one of the leading independent music organisations in Australia. Richard was the General Manager (Entertainment & Music Divisions), namely: RCM Artist Management, Standard Records, Standard Music Publishing and the newly created indie label, Illicit records. He also worked extensively on the first series of ‘X Factor’ in Australia.
Richard returned to the UK in 2006 to concentrate again on the artist management side of the business. His roster then comprised of 5ive (Sony Music), RyanDan (Universal Music) and Vince Harder (Warner Music). He went on to also manage and develop RnB chart-topper Angel (Island Records), Dean Ray (Sony Music), Vanessa Amorosi (Island Records), Ezra Vine (Parlophone), Midnight Youth (Warner Music) & Dane Rumble (Ministry of Sound).
In 2010, live music specialists Supernova Entertainment Ltd acquired BIGBOY Management and both companies now run side-by-side. Beck became the new CEO and majority shareholder of Supernova Ents Ltd.
Where we are
UK
This text needs to be supplied. This text needs to be supplied. This text needs to be supplied.
USA
This text needs to be supplied. This text needs to be supplied. This text needs to be supplied.
Australia
This text needs to be supplied. This text needs to be supplied. This text needs to be supplied.


This is a simple project with the pourpose of grouping ideas and exposing them in a way that people can use to turn into real things!
Contributing to this project is easy. You can do it in 3 possible ways:
Fork this repository, go to src/data/projects.ts and fill the details of your project in the end of the file. Please be very descriptive so other people can clearly understand.
Fork this repository, go to src/data/projects.ts, find the project you aim to start developing and put the repository url in the appropriate field.
If you think there's something that can become better about this project, make a pull request!
WARNING! If you make pull requests that don't match with any of the items above or are obvious ways to count pull requests for Hacktoberfest without any real contribution, I'll mark them as SPAM!


Valentina Zaccaria
Some photos from my travels
Taranto is the place where I belong. It's very important to me.
It represents to me a source of inspiration.
These are some of my works for an hypothetical turistic campaigne.
About me
Taranto, Puglia
07/02/1999
Moved to Milano to study Communication Design at Politecnico di Milano


Grant Types¶
Grant types are a way to specify how a client wants to interact with IdentityServer. The OpenID Connect and OAuth 2 specs define the following grant types:
- Implicit
- Authorization code
- Hybrid
- Client credentials
- Resource owner password
- Device flow
- Refresh tokens
- Extension grants
You can specify which grant type a client can use via the AllowedGrantTypes
property on the Client
configuration.
A client can be configured to use more than a single grant type (e.g. Hybrid for user centric operations and client credentials for server to server communication).
The GrantTypes
class can be used to pick from typical grant type combinations:
Client.AllowedGrantTypes = GrantTypes.HybridAndClientCredentials;
You can also specify the grant types list manually:
Client.AllowedGrantTypes =
{
GrantType.Hybrid,
GrantType.ClientCredentials,
"my_custom_grant_type"
};
If you want to transmit access tokens via the browser channel, you also need to allow that explicitly on the client configuration:
Client.AllowAccessTokensViaBrowser = true;
Note
For security reasons, not all grant type combinations are allowed. See below for more details.
For the remainder, the grant types are briefly described, and when you would use them. It is also recommended, that in addition you read the corresponding specs to get a better understanding of the differences.
Client credentials¶
This is the simplest grant type and is used for server to server communication - tokens are always requested on behalf of a client, not a user.
With this grant type you send a token request to the token endpoint, and get an access token back that represents the client. The client typically has to authenticate with the token endpoint using its client ID and secret.
See the Client Credentials Quick Start for a sample how to use it.
Resource owner password¶
The resource owner password grant type allows to request tokens on behalf of a user by sending the user’s name and password to the token endpoint. This is so called “non-interactive” authentication and is generally not recommended.
There might be reasons for certain legacy or first-party integration scenarios, where this grant type is useful, but the general recommendation is to use an interactive flow like implicit or hybrid for user authentication instead.
See the Resource Owner Password Quick Start for a sample how to use it.
You also need to provide code for the username/password validation which can be supplied by implementing the IResourceOwnerPasswordValidator
interface.
You can find more information about this interface here.
Implicit¶
The implicit grant type is optimized for browser-based applications. Either for user authentication-only (both server-side and JavaScript applications), or authentication and access token requests (JavaScript applications).
In the implicit flow, all tokens are transmitted via the browser, and advanced features like refresh tokens are thus not allowed.
This quickstart shows authentication for service-side web apps, and this shows JavaScript.
Authorization code¶
Authorization code flow was originally specified by OAuth 2, and provides a way to retrieve tokens on a back-channel as opposed to the browser front-channel. It also support client authentication.
While this grant type is supported on its own, it is generally recommended you combine that with identity tokens which turns it into the so called hybrid flow. Hybrid flow gives you important extra features like signed protocol responses.
Hybrid¶
Hybrid flow is a combination of the implicit and authorization code flow - it uses combinations of multiple grant types, most typically code id_token
.
In hybrid flow the identity token is transmitted via the browser channel and contains the signed protocol response along with signatures for other artifacts like the authorization code. This mitigates a number of attacks that apply to the browser channel. After successful validation of the response, the back-channel is used to retrieve the access and refresh token.
This is the recommended flow for native applications that want to retrieve access tokens (and possibly refresh tokens as well) and is used for server-side web applications and native desktop/mobile applications.
See this quickstart for more information about using hybrid flow with MVC.
Device flow¶
Device flow is designed for browserless and input constrained devices, where the device is unable to securely capture user credentials. This flow outsources user authentication and consent to an external device (e.g. a smart phone).
This flow is typically used by IoT devices and can request both identity and API resources.
Refresh tokens¶
Refresh tokens allow gaining long lived access to APIs.
You typically want to keep the lifetime of access tokens as short as possible, but at the same time don’t want to bother the user over and over again with doing a front-channel roundtrips to IdentityServer for requesting new ones.
Refresh tokens allow requesting new access tokens without user interaction. Every time the client refreshes a token it needs to make an (authenticated) back-channel call to IdentityServer. This allows checking if the refresh token is still valid, or has been revoked in the meantime.
Refresh tokens are supported in hybrid, authorization code, device flow and resource owner password flows.
To request a refresh token, the client needs to include the offline_access
scope in the token request (and must be authorized to request for that scope).
Extension grants¶
Extension grants allow extending the token endpoint with new grant types. See this for more details.
Incompatible grant types¶
Some grant type combinations are forbidden:
- Mixing implicit and authorization code or hybrid would allow a downgrade attack from the more secure code based flow to implicit.
- Same concern exists for allowing both authorization code and hybrid


题目来源：Palindrome Partitioning II
>
Given a string s, partition s such that every substring of the partition is a
palindrome.
Return the minimum cuts needed for a palindrome partitioning of s.
For example, given s = "aab",
Return 1 since the palindrome partitioning ["aa","b"] could be produced using 1 cut.
解题思路：
>
Calculate and maintain 2 DP states:
pal[i][j] , which is whether s[i..j] forms a pal
d[i], which is the minCut for s[i..n-1]
Once we comes to a pal[i][j]==true:
if j==n-1, the string s[i..n-1] is a Pal, minCut is 0, d[i]=0;
else: the current cut num (first cut s[i..j] and then cut the rest s[j+1...n-1]) is 1+d[j+1],
compare it to the exisiting minCut num d[i], repalce if smaller.
d[0] is the answer.
第一步还是跟Palindrome Partitioning一样，用DP，任意i-j组合先计算好是否是回文；
第二步仍用DP，dp[i]表示s[i, len-1]最少的minCut, 对每一个palindrome[i][j]为true的:
当然这两步也可以合在一起. ref
int minCut(string s)
{
int n = s.length();
vector<vector<bool> > dp(n, vector<bool>(n, false));
for(int i = 0; i < n; i++)
dp[i][i] = true;
vector<int> cuts(n, 0);
for(int i = n-1; i >= 0; i--)
{
cuts[i] = n-i-1;
for(int j = i; j < n; j++)
{
if(s[i] == s[j] && ((i+1>j-1) || dp[i+1][j-1] ))
{
dp[i][j] = true;
if(j == n-1)
cuts[i] = 0;
else //cut s[:j][j+1:n]
cuts[i] = std::min(cuts[i], 1 + cuts[j+1]);
}
}
}
return cuts[0];
}


Tereza's Pizza's
Menu
Select a Size
Small 10"
Medium 12"
Large 14"
Select your Toppings
Basil
Olives
Pepperoni
Mushrooms
Garlic
Make My Pizza
Current Order:


Here are pictures from our amazing 2 month honeymoon on Iceland.
-
Reykjavík
Beautiful city in the middle of Atlantic.
-
North Iceland
Lovely city of north - Akureyri. And other amazing places around Mývvatn.
-
East Iceland
Stuðlagil Canyon, Jökulsárlón and more!
-
South Iceland
Filled with amazing waterfalls, glaciers, black beaches and moss fields.
-
Snaefellsnes
Everything to see in Iceland on one place.
-
Trips around Reykjavík
Visiting Hot Rivers, Esja and Reykjanes.


www.PrivateKeyVault.com
Gives to You...
ABACUS for IOTA
An Open-Source Air-Gapped Client/Server Accounting and Banking System
For Governments, Institutions, Individuals, and Machines
This experiment is a work in progress.
Do not manage more IOTAs with this accounting/banking system than you are prepared to lose.
Use this system at your own risk.
Feel free to contribute ideas at:
https://github.com/johnshearing/IOTA-Secure-Airgapped-Accounting-and-Banking-System


--- title: Inicio --- {% include banner.html %} {% include cta1.html %} {% include servicos.html %} {% include cta2.html %} {% include noticias.html %} {% include contato.html %}


So, I’ve been reading @haejin articles just like half of this entire network for about two months. One of the things that struck me was his idea of prices being a quantum phenomena and happen irrespective of news or anything else. Price moves in pre-ordained existing patterns that repeat, and this appeals to me as a chemist. Kids don’t grow linearly. They have growth spurts. It’s like they level up. If kids do that and atoms do that, why not price and cryptos?
Orbitals
Modern chemistry shows that atoms are comprised of protons, neutrons, and electrons. The electrons orbit the nucleus holding protons and neutrons. As the electrons get more energy they go into larger shells that contain them. There are a few different types of shells called S orbitals, P orbitals, D orbitals and F orbitals. When you move from 1S to 2S the shape doesn’t change. It just gets bigger. 2S and 2P look pretty different, so it’s possible when energy levels get high enough that the pattern will shift, but for the mean time I can see similarity in chemistry orbitals of the same level and higher energy level (price) patterns in crypto prices.
In chemistry at least I can use something like a laser to elevate an electron from a low energy state to a high energy state. In price land the only variable I seem to have is time. The only real control I seem to have is timing.
Technical Analysis
The basic premise is that the patterns in the charts are likely to repeat. If you are able to discern the pattern then you have a leg up on your competition buying and selling coins. I’m sure to many it looks like reading tea leaves looking at charts and hoping there are patterns, but from what I can tell there are generally some highly repeating patterns worth looking into. I’m hardly an expert at the field at large but I’m able to recognize patterns.
Now, one might question if this is such a wonderful thing why don’t people do it? The answer is… they do. Technical analysis seems to happen everywhere. One of the main things though is that it’s harder to do for stocks. That’s because the markets are so highly manipulated with high frequency trading and exchanges that buy ahead of customers.
It’s harder to cheat buying and selling cryptos and basically impossible with decentralized exchanges (looking at you Bitshares).
Patterns:
I’ve been looking at litecoin. It already went up 30%. I had bough it around $120, rode what I thought at the time was the high, traded some out, lost money on those, and recently consolidated all my coins back into litecoin. One could legitimately say that I’m acting out of turn here. Seems a little nutz to buy in after a 30% gain in a few days, but I don’t think we’re done just yet. Far from it I think we’re about to go nuclear. I think it enough to have put all my crypto eggs into that one basic (other than muh steem power). I believe Steem and SBD will get their turn too. Hopefully I’ll catch those after I ride the litecoin blast.
litecoin charts
Here’s a picture of litecoin.
Here’s another one.
Those two look rather uncannily similar to me. What’s really interesting is that they are taken months apart. The first one is the picture of litecoin when it’s about to achieve a record high. The second one is where we are now.
Here’s the total picture of where we are.
To me, as a non expert, having barely traded much, this looks like we are about to repeat the cycle that gave us the largest surge in LTC price that we’ve ever seen… only this time we’re starting a little higher and looks to be roughly 10% stronger. We are going from the 1S orbital to the 2S orbital. That’s how I can wrap my head around this.
As I said I consolidated my holdings into LTC at around $218 (I sold all the other stuff I bought at a loss and reconsolidated into ltc). I’ve put in a limit sell order for USDT at $406. I think the price surge will likely go around $420, but I’m trying to be a little conservative on a risky bet. I’m then hoping to catch the mini correction prior to an all time high and then truly cash out of litecoin (except to maybe but the first fat dip that looks likely to follow).
This is an experiment
I realized I didn’t like trading lots of coins. Too much hassle and too much stuff to look at. I’m happier having just one coin and really only focusing on it’s well being. That’s contrary to not keeping ones eggs all in one basket… but in cryto we’re all basically tied to btc anyway and since the market as a whole moves as a whole I’m not sure owning more than one crypto is truly a diversified portfolio anyway. I was losing sleep and time watching them all. I don’t think that approach is for me.
If the experiment works I’ll look to repeat it. I think Haejin’s method for those that are comfortable buying and holding for a while is likely a better and safer long term play. Buy a coin at a suspected low point and then just ride it all the way to to the top. That’s essentially his advice. He’s just trying to give some extra pointers on where he sees the bottom and top.
The approach I’m going to try out while this market is rebounding is seeking out these patterns that show evidence nuclear explosion happening. It’s a lot easier after a massive dip. So, I don’t think I’ll be trying this still in March. That seems tricky af, but we’re all sorta expecting recoveries right about now since it looks like BTC bottomed out.
The plan
I want to get in literally a few days before a truly insane price breakout. So, I’m trying to catch them in the consolidation phase right before the nuclear pattern happens. Looks like for many coins that will follow a 30% increase. Again, this looks nutz on paper, but not if the charts actually repeat.
So, I’m pretty positive buying at the very lowest point is a better financial strat overall, but I’m not quite that patient.
This plan isn’t for everyone. There’s a good chance of loss after buying right after a pump, but I’m willing to run this experiment and see if it’s successful. It’s not a method yet, just a hypothesis. Worst case I own a bunch of litecoin, which I think is an undervalued coin anyway even after a 30% pump.
Wish me luck.
Disclaimer
I’m not trying to give you advice. I’m trying to document my decisions on the block before events unfold. You gotta figure out what’s right for you and your family. There’s no way I can gauge your financial picture or ability to handle risk. Get a planner.
There’s other legal mumbo jumbo, but basically you gotta own your own risk suckah.
We’ll see in a week or two if I’m a fool for buying after a 30% rise, a genius after predicting a rise, or a lucky guy who picked a crypto in a bull market during a correction, or just rando posting TA hoping that some whale gets lucky on the pick and ride that train as long as possible.
This page is synchronized from the post: ‘Chemistry, Technical Analysis, and nuclear litecoin?’


Las Vegas: October 2nd and 3rd, 2020.
RiSE is the sum total of each participant's unique story and Lantern Message.
Buy TicketsAs we navigate these uncharted waters, we want to share a note from the RiSE Team. We are closely monitoring COVID-19 and are prioritizing the safety and well being for all during these difficult times. Our goal is to strengthen communities, spread positivity and provide a space for you. It’s more important now than ever to show compassion and support for your neighbors. In terms of RiSE in October 2020, we will continue to track COVID-19 and as always we work closely with public safety officials. As of now, we are keeping everything as scheduled and will send out additional information should changes arise. Stay healthy and remember, together we RiSE.
Located in the Mojave Desert 25 miles south of Las Vegas on the Jean Dry Lake Bed. Parking is available on Jean Dry Lake Bed with purchase of a $29 parking pass.If approaching from the south on I-15 , take exit 12 for Jean Goodsprings and follow signage and traffic management to Jean Dry Lake Bed. If approaching from the North on I-15, take exit 25 for Sloan and follow signage and traffic management to the venue.Parking hang tags will be mailed to the address you provide when purchasing your ticket. They must be visible at the time you arrive at the venue.Parking for RV’s is not allowed.Please note that due to the remote location of the event, Ubers, Lyfts, and rideshares of any type are not allowed.
Last updated 1 day ago
There is a 10-15 minute 1000 meter walk from the parking/shuttle area to the venue. Plan accordingly and wear comfortable footwear.
Last updated 2 hrs ago
If you are unable to make the 1000 meter walk from the parking / shuttle area to the venue, we provide a complementary shuttle for those with ADA needs. This shuttle will run from the parking / shuttle area to the venue.If you plan to make use of this shuttle, please indicate that you have ADA needs when you purchase tickets. You will receive two complimentary tickets for the on-site ADA shuttle, one for you and one for a guest to accompany you.If you are in need of a wheel chair lift from either the strip or the on site ADA shuttle, please provide that information through the ticketing process.
Last updated 3 mins ago
There will be over a dozen unique and delicious local food truck options on site and a fresh food market serving:Fresh fruitChipsAlmondsTrail-mixCookiesCandiesABK BeerRed and white wineRekorderlig Hård Äpple CiderKetel One Mint Infused LemonadeSodas
Last updated 3 mins ago


Learning CSS with Tech Talent South
hi
hi
hi
Caption for the cute little puppy
Content
LOGO
navbar
STICKY
LOGO2


From:Fancler Dan To:Geaccone Tracy ; Cobb Jr. John Sent:2017-01-11T04:36:20.0000000Z Subject:RE: EPPI GPM Oneok agreement
NNG is billing fuel retention on out-of-balance deliveries.
We only collect the 4.5% on the receipt volumes, however NNG is charging fuel based on the receipt plus the out-of-balance delivery.
This out of balance collection goes to trackers. We could lower the amounts over the 4.5% if NNG stops charging out-of-balance retention when this contract goes short. (stop charging out-of-balance retention has other problems assocated with it). This contract was consistently short in 2001. This is not all of the problem but it is the controllable part. That is, we need to make these two contracts long to the system each month. Or, put an OBA at Bushton's inlet (The OBA at Bushton's inlet also has other problems assocated with it).
Mike and Steve please confirm my calculations to the contract terms to see if I am correct, also can you set a meeting with Logistics, Regulatory and Tracy Geaccone to discuss.
The non-controllable factors are NNG's Field fuel rate keeps increasing making it consistently over the 4.5%, and lower gas prices increase the exposure to EPPI.
-----Original Message-----
From: Geaccone, Tracy
Sent: Wednesday, November 07, 2001 3:45 PM
To: Fancler, Dan; Weller, Steve; Stage, Michael G.; Lev, Jennifer
Cc: Cobb Jr., John; Chandler, Bob
Subject: RE: EPPI GPM Oneok agreement
I still need to understand why we are at the 4.45% and what we can do in the future if anything to control it. Can someone help me with this?
Thanks
-----Original Message-----
From: Fancler, Dan
Sent: Wednesday, November 07, 2001 3:36 PM
To: Weller, Steve; Stage, Michael G.; Geaccone, Tracy; Lev, Jennifer
Cc: Cobb Jr., John; Chandler, Bob
Subject: EPPI GPM Oneok agreement
I have attached a summary and schedules which indicate the following.
EPPI owes Oneok/GPM $339,158.69
Oneok owes NNG $ 92,774.99
Net amount due is $246,383.70 Per Dan Fancler
Oneok invoices total $301,383.96. Oneok has not recognized that some months they paid under the 4.45% and owe NNG.
<< File: GPM<PHONE_NUMBER>73 Recalculation.xls >> Oneok is pushing hard for the money, so I am turning over the resolution of the differences to NNG marketing and the resolution of the cash payment to Tracy Geaccone and/or Jennifer Lev.
***********
EDRM Enron Email Data Set has been produced in EML, PST and NSF format by ZL Technologies, Inc. This Data Set is licensed under a Creative Commons Attribution 3.0 United States License <http://creativecommons.org/licenses/by/3.0/us/> . To provide attribution, please cite to "ZL Technologies, Inc. (http://www.zlti.com)."
***********
California


Connect to GRADUATE ARTS & SCIENCES in the Course Register.
 MAX: 15
Return to Course & Room Roster
Comments to:
Office of the University Registrar
University of Pennsylvania
Room 221 Franklin Building
3451 Walnut Street
Philadelphia, PA 19104-6291
Phone:<PHONE_NUMBER> Fax:<PHONE_NUMBER>
<EMAIL_ADDRESS>Updated: Sat Jan 17 08:30:02 2015


Research Project
You will design and carry out a quarter-long research project (done in teams). I hope that these projects will lead to published papers. The timeline for the projects is as follows:
- 1/22: inform me of your group's membership. Groups should generally consist of 3 or 4 people. Your project partner will have a substantial effect on your experience in this course, so choose carefully.
- 1/24: inform me of your project choice. This will be an email with a brief description of what you plan on doing for the quarter.
- 2/7: project proposals are due (you can find more information here). Your proposal should state the problem your project will address, the motivation for why this is an interesting problem, the goal of your project, the relationship between your project and other work, the plan and methodology for your project, and the resources needed to carry out your project. Include a set of incremental milestones that you will achieve in carrying out the project and a schedule for meeting these milestones.
- 3/9 - 3/13: Project presentations. You can find more information about presentations in class.
- 3/19: Final project due.
Project groups should be 3-4 members. Any other group size needs explicit approval by the professor.
This quarter I am not going to give out project ideas. You are responsible for coming up with a research idea by yourself, but I encourage you to start this process early and to solicit feedback from me.
For any part of the project you turn in, you must usenix two-column formatting. For an example, feel free to start from the a latex template or you can use the latex template that I personally use for my papers (this one includes a makefile) latex-example.tgz. Note: You are required to use LaTeX in this class.
About Latex, for those of you who are not familiar with it, try to read tutorials like this: http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/
For windows users, we suggest using MikTeX or Cygwin, or http://www.latexeditor.org/index.html that makes using LaTeX a little easier.
Final presentation grading
See slides from lecture for more details on what we're expecting. We will grade you on:- Clarity and quality of presentation
- Ability to explain the problem and set the appropriate context
- Ability to explain the system you built
- Quality of the live demo
- How well you handle Q/A
Final project grading
See slides from lecture for more details on what we're expecting. This quarter we're going to use slides and source code as the artifacts that you're going to turn in for your grade.  To get points you must include a README file in your repo that outlines the basic structure of your code and how the concepts from your project map to actual code. Also, we're expecting significant contributions in real source code from all group members.
- Clarity and quality of explanation
- How significant was the system you built. We've been giving all groups feedback on this during our weekly meetings, so I'm not expecting any surprises here.
- Result. Basic results will get you most of the points, but we're reserving a few points in this category for exceptional results.
Project meetings
In the second half of this quarter your group will have weekly meetings with Sam and the TA. Before this meeting we expect you to meet as a group and plan your week. These meetings can be short (30 minutes) but you must meet as a group to talk about what you did over the previous week, what you plan to do during the upcoming week, and any issues or problems that you've encountered.
As a part of your grade, before your weekly meeting with the professor you must turn in a document that summarizes your meeting. In particular:
- You will use Trello to keep an up-to-date list of what everyone is doing. Your Trello board will have a list of tasks divided into four categories: up next (priority order), in progress, blocked, and done.
- You will submit a short summary for all group members that includes a few sentences about (1) what did they do last week, (2) what are they going to do this week, and (3) any issues they're having / things they're stuck on.
- You will draft this document using Markdown and github. You will submit a link to this document directly in this assignment.
- Your document will include a link to your Trello board and any commits that team members submitted in the previous week.
Writing an intro
There are many different ways to write a good introduction. I recommend you find your favorite papers and reverse engineer an outline for the introduction to get an idea of how other people write introductions. This is my approach to writing introductions:- 1-2 paragraphs about what problem you are solving and why it is important.
- 1-2 paragraphs about how other people have solved this problem and how they fall short.
- 1 paragraph (optional) what is difficult about this problem.
- 1-2 paragraphs about your plan on why it is better than current approaches.
- 1 paragraph to summarize results, or for your project proposals summarize your anticipated results.
Project proposal
Your project proposal should include the following sections:- Introduction.
- Timeline of what you plan to accomplish and by when.
- Evaluation plan.
- Anticipated results.
- You are required to use LaTeX for your project proposals and you must submit it in PDF format.
You will be graded on the clarity and quality of your presentation, not on your research ideas. Grammar and spelling mistakes will affect your grade. I expect you to have a clear problem statement with citations that back up your claims as to why this is an important problem, a classification of the most closely related work and an explanation of why it does not solve the problem you are interested in, and a clear explanation of what you plan on doing and why you think it will solve the problem you are interested in. Overall you should turn in an introduction that rivals the quality of the introductions we read in class. The class staff will provide written feedback on your research ideas to give you a suggestions on how to proceed for the remainder of the semester.


why github is cool
what is git
how to use both
and everyone else that has proven
Github is not just for developers
basically:
git allows you to keep track of changes to the files in a folder
and synchronize those changes to the same folder somewhere else
this is called distributed version control
and Github is pretty much just a web server hosting the folders
demo 1
(exploring the folder)
be patient with maintainers
handy (but dangerous) commands
when all else fails, you can always delete your fork and start over
this presentation
is on github!
/


| | |
- clone_repo(ssh_url, branch, target_folder)
- Pulls the repo at ssh_url into target_folder
- is_successful_command(command_output, success_regex)
- Returns True iff the command_output matches the success_regex
- read_configfile(path)
- Parses a JSON configfile at path and then returns it
- run_commands(command_list)
- Runs a list of bash commands in the current directory
command_list: An iterable containing strings
Observe: `cd` can not be called with this function
- set_commit_state(repo_name, commit_hash, state)
- Sends a POST request to GitHub API according to
https://developer.github.com/v3/repos/statuses
- try_deploy(config)
- Tries to deploy the tested application
according to the data in config
The method takes a dictionary that contains
the following key-value pairs:
'deploy_ssh_url' - the target ssh_url to deploy to
'source_branch' - the branch that should be deployed
'target_branch' - the target branch to deploy to
|


What's New?
1.88
* 1 command alteration documented:
SystemProperty - new property strings added
----------
1.87
* 1 new command documented:
HWTexUnits
* 1 command alteration documented:
TextureBlend - 'multiply 2' flag 5 added
* 2 previously undocumented commands now documented:
SetCubeMode
EntityClass
----------
1.85
* 6 new commands documented:
SetCubeFace
GfxDriverCaps3D
GetEntityBrush
GetSurfaceBrush
GetBrushTexture
TextureName
* 1 command alteration documented:
CreateTexture / @ LoadAnimTexture - cubic environment map flag 128 added
* 6 previously undocumented commands now documented:
VertexAlpha
DeltaYaw
DeltaPitch
GetMatElement
VectorYaw
VectorPitch
----------
1.83
* 3 command alterations documented:
EntityRadius - optional y_value# parameter added
EntityFX - flag 32 added
VertexColor - optional alpha# parameter added
----------
1.80
* 8 new commands documented:
RndSeed
JoyHat
SetGamma
UpdateGamma
GammaRed
GammaGreen
GammaBlue
SetAnimTime


5.11. MongoDB Connector
This connector allows the use of MongoDB collections as tables in Presto.
Note
MongoDB 2.6+ is supported although it is highly recommend to use 3.0 or later.
Configuration
To configure the MongoDB connector, create a catalog properties file
etc/catalog/mongodb.properties
with the following contents,
replacing the properties as appropriate:
connector.name=mongodb
mongodb.seeds=host1,host:port
Multiple MongoDB Clusters
You can have as many catalogs as you need, so if you have additional
MongoDB clusters, simply add another properties file to etc/catalog
with a different name (making sure it ends in .properties
). For
example, if you name the property file sales.properties
, Presto
will create a catalog named sales
using the configured connector.
Configuration Properties
The following configuration properties are available:
| Property Name | Description |
|---|---|
mongodb.seeds |
List of all mongod servers |
mongodb.schema-collection |
A collection which contains schema information |
mongodb.credentials |
List of credentials |
mongodb.min-connections-per-host |
The minimum size of the connection pool per host |
mongodb.connections-per-host |
The maximum size of the connection pool per host |
mongodb.max-wait-time |
The maximum wait time |
mongodb.connection-timeout |
The socket connect timeout |
mongodb.socket-timeout |
The socket timeout |
mongodb.socket-keep-alive |
Whether keep-alive is enabled on each socket |
mongodb.ssl.enabled |
Use TLS/SSL for connections to mongod/mongos |
mongodb.read-preference |
The read preference |
mongodb.write-concern |
The write concern |
mongodb.required-replica-set |
The required replica set name |
mongodb.cursor-batch-size |
The number of elements to return in a batch |
mongodb.seeds
Comma-separated list of hostname[:port]
all mongod servers in the same replica set or a list of mongos servers in the same sharded cluster. If port is not specified, port 27017 will be used.
This property is required; there is no default and at least one seed must be defined.
mongodb.schema-collection
As the MongoDB is a document database, there’s no fixed schema information in the system. So a special collection in each MongoDB database should defines the schema of all tables. Please refer the Table Definition section for the details.
At startup, this connector tries guessing fields’ types, but it might not be correct for your collection. In that case, you need to modify it manually. CREATE TABLE
and CREATE TABLE AS SELECT
will create an entry for you.
This property is optional; the default is _schema
.
mongodb.credentials
A comma separated list of username:password@collection
credentials
This property is optional; no default value.
mongodb.min-connections-per-host
The minimum number of connections per host for this MongoClient instance. Those connections will be kept in a pool when idle, and the pool will ensure over time that it contains at least this minimum number.
This property is optional; the default is 0
.
mongodb.connections-per-host
The maximum number of connections allowed per host for this MongoClient instance. Those connections will be kept in a pool when idle. Once the pool is exhausted, any operation requiring a connection will block waiting for an available connection.
This property is optional; the default is 100
.
mongodb.max-wait-time
The maximum wait time in milliseconds that a thread may wait for a connection to become available.
A value of 0
means that it will not wait. A negative value means to wait indefinitely for a connection to become available.
This property is optional; the default is 120000
.
mongodb.connection-timeout
The connection timeout in milliseconds. A value of 0
means no timeout. It is used solely when establishing a new connection.
This property is optional; the default is 10000
.
mongodb.socket-timeout
The socket timeout in milliseconds. It is used for I/O socket read and write operations.
This property is optional; the default is 0
and means no timeout.
mongodb.socket-keep-alive
This flag controls the socket keep alive feature that keeps a connection alive through firewalls.
This property is optional; the default is false
.
mongodb.ssl.enabled
This flag enables SSL connections to MongoDB servers.
This property is optional; the default is false
.
mongodb.read-preference
The read preference to use for queries, map-reduce, aggregation, and count.
The available values are PRIMARY
, PRIMARY_PREFERRED
, SECONDARY
, SECONDARY_PREFERRED
and NEAREST
.
This property is optional; the default is PRIMARY
.
mongodb.write-concern
The write concern to use. The available values are
ACKNOWLEDGED
, FSYNC_SAFE
, FSYNCED
, JOURNAL_SAFEY
, JOURNALED
, MAJORITY
,
NORMAL
, REPLICA_ACKNOWLEDGED
, REPLICAS_SAFE
and UNACKNOWLEDGED
.
This property is optional; the default is ACKNOWLEDGED
.
mongodb.required-replica-set
The required replica set name. With this option set, the MongoClient instance will
- Connect in replica set mode, and discover all members of the set based on the given servers
- Make sure that the set name reported by all members matches the required set name.
- Refuse to service any requests if any member of the seed list is not part of a replica set with the required name.
This property is optional; no default value.
mongodb.cursor-batch-size
Limits the number of elements returned in one batch. A cursor typically fetches a batch of result objects and stores them locally. If batchSize is 0, Driver’s default will be used. If batchSize is positive, it represents the size of each batch of objects retrieved. It can be adjusted to optimize performance and limit data transfer. If batchSize is negative, it will limit of number objects returned, that fit within the max batch size limit (usually 4MB), and cursor will be closed. For example if batchSize is -10, then the server will return a maximum of 10 documents and as many as can fit in 4MB, then close the cursor.
Note
Do not use a batch size of 1
.
This property is optional; the default is 0
.
Table Definition
MongoDB maintains table definitions on the special collection where mongodb.schema-collection
configuration value specifies.
Note
There’s no way for the plugin to detect a collection is deleted.
You need to delete the entry by db.getCollection("_schema").remove( { table: deleted_table_name })
in the Mongo Shell.
Or drop a collection by running DROP TABLE table_name
using Presto.
A schema collection consists of a MongoDB document for a table.
{
"table": ...,
"fields": [
{ "name" : ...,
"type" : "varchar|bigint|boolean|double|date|array<bigint>|...",
"hidden" : false },
...
]
}
}
| Field | Required | Type | Description |
|---|---|---|---|
table |
required | string | Presto table name |
fields |
required | array | A list of field definitions. Each field definition creates a new column in the Presto table. |
Each field definition:
{
"name": ...,
"type": ...,
"hidden": ...
}
| Field | Required | Type | Description |
|---|---|---|---|
name |
required | string | Name of the column in the Presto table. |
type |
required | string | Presto type of the column. |
hidden |
optional | boolean | Hides the column from DESCRIBE <table name> and SELECT * . Defaults to false . |
There is no limit on field descriptions for either key or message.
ObjectId
MongoDB collection has the special field _id
. The connector tries to follow the same rules for this special field, so there will be hidden field _id
.
CREATE TABLE IF NOT EXISTS orders (
orderkey bigint,
orderstatus varchar,
totalprice double,
orderdate date
);
INSERT INTO orders VALUES(1, 'bad', 50.0, current_date);
INSERT INTO orders VALUES(2, 'good', 100.0, current_date);
SELECT _id, * FROM orders3;
_id | orderkey | orderstatus | totalprice | orderdate
-------------------------------------+----------+-------------+------------+------------
55 b1 51 63 38 64 d6 43 8c 61 a9 ce | 1 | bad | 50.0 | 2015-07-23
55 b1 51 67 38 64 d6 43 8c 61 a9 cf | 2 | good | 100.0 | 2015-07-23
(2 rows)
SELECT _id, * FROM orders3 WHERE _id = ObjectId('55b151633864d6438c61a9ce');
_id | orderkey | orderstatus | totalprice | orderdate
-------------------------------------+----------+-------------+------------+------------
55 b1 51 63 38 64 d6 43 8c 61 a9 ce | 1 | bad | 50.0 | 2015-07-23
(1 row)
Note
Unfortunately, there is no way to represent _id
fields more fancy like 55b151633864d6438c61a9ce
.


Graph this system of equations and solve.
expr([ "+", [ "*", A1, "x" ], [ "*", B1, "y" ] ]) = C1
expr([ "+", [ "*", A2, "x" ], [ "*", B2, "y" ] ]) = C2
x
= X
y
= Y
All the points on the blue line satisfy the first equation.
Similarly, all points on the orange line satisfy the second equation.
The intersection of the two lines thus satisfies both equations.
x = X
y = Y


Checking online users:
Online users 0/100
Note: The progress tag is not supported in Internet Explorer 9 and earlier versions, or in Safari for Windows.


Dashboard
Employees
Attendance
Schedules
Leaves
Reports
Users
Settings
Menu
Quick Access
Add Employee
Clock In/Out
Company
Department
Job Title
Leave Type
Demo Manager
Update User
Change Password
Switch to MyAccount
Logout
Organization Profile
View
Return
Company Population
Department Population
Gender Demographics
Age Demographics
Civil Status Demographics
Employee Hired by Year


OakMUN 2018
ABOUT
About MUNs
About OakMUN
SECRETARIAT
CONFERENCE
Venue
Schedule
COMMITTEES
CONTACT US
APPLY NOW!
create own website
Schedule
Three days of jam-packed action.
Schedule
Search:
NAME
DAY
START TIME
END TIME
Showing
entries
(filtered from
total entries)
OakMUN will feature 8 unique committees that are sure to facilitate enthralling debate.
Apply now!
© 2018 Oakridge International School


class BuilderNoResults
A builder for an insert statement where the client code is not interested in the ResultSet generated by the PreparedStatement. See Database.insertInto.
<init> |
A builder for an insert statement where the client code is not interested in the ResultSet generated by the PreparedStatement. See Database.insertInto. BuilderNoResults(db: Database, table: Table) |
run |
Execute setBody to set any needed Parameter values, then execute the insert statment. Returns the value returned by setBody. infix fun <T> run(setBody: (InsertStatement) -> T): T |


Generate volume mesh from a surface mesh using GMSH
27 Jun 2022Creating a volume mesh out of a surface mesh is a quite common task in computational sciences, especially when you deal with a sort of image segmentation resulting in a surface mesh (usually in STL format). The surface mesh is suitable for printing or demonstration purposes, but if one wants to go for a computational analysis, like a finite element analysis (FEA) for structural and heat transfer simulations or a computational fluid dynamics (CFD) simulation, then a volume mesh is required.
GMSH is a powerful software to make such volume mesh. We can simply open a mesh in it (File -> Open
), define a volume (Physical groups -> Add -> Volume
), and then generate a mesh on it (Mesh -> 3D
). We may also need to adjust the global mesh size before meshing the volume (Tools -> Options -> Mesh -> General -> Element size factor
).
But, there will be a big problem here if the surface mesh has a complex morphology, leading to a long waiting time for each of the above steps to complete on the GUI. The solution is to take advantage of the GMSH scripting language. Here is a very simple code to accomplish this:
Merge 'mesh_file.stl';
Surface Loop(1) = {1};
Volume(1) = {1};
We should save this in a .geo
file (let’s say meshing.geo
) and then run this command to generate the volume mesh (which will be saved as output.mesh
):
gmsh meshing.geo -3 -o output.mesh
The -3
flag denotes that it’s a 3D mesh.


>>
<<
Usr
Pri
JfC
LJ
Phr
Dic
Voc
!:
Help
Primer
Where to go from here
If this is your first skim reading, or your second more detailed reading, or if you feel you haven't quite mastered all the material, then this is the point to go back to the beginning and have another go in more detail, and perhaps use a bit more elbow grease and get those hands working on the keyboard.
If you have mastered this material, then it is time to move on. You can start digging in on your own, but a bit more time with the other manuals is probably worthwhile.
>>
<<
Usr
Pri
JfC
LJ
Phr
Dic
Voc
!:
Help
Primer


This treats:
Acne & Acne Scarring
Stretchmarks
Dull & Tired Skin
Uneven Skin Tone
Brown Spots and Blotches
Pigmentation & Blemishes
Fine Lines & forehead Wrinkles
Ageing Skin
Chest
Back
This treats:
Lip augmentation
Cheek enhancement
Naso labial lines
Marionette lines
Peri oral (smokers) lines
Temples
Tear Troughs
The 8 Point Liquid Facelift
This treats:
Muscle Relaxing Injections
Frown lines
Crows Feet
Forehead Lines and other smaller areas
This treats:
Rejuvenated and brighter skin
Removal of dead skin cells
Even skin texture and tone
Reduced appearance of fine lines and wrinkles
Smoother, softer skin
Eliminated pigmentation and reduced effects of sun damage
Reduction of inflammation and breakouts caused by acne
Hydrated and nourished skin
Stimulated collagen production for plump and youthful looking skin
This treats:
Face
neck
chest
Sagging Skin
Elbows
back of Hands
Top of feet
This treats:
Frown lines
Forehead Lines
Crows Feet
Tear troughs
Peri oral (smokers) lines
Cheek Lift
Jawline
Neck
Chest
Elbows
Knees
This treats:
Promotes smoother skin
Removes soft facial hair that traps dirt and oil.
Dermaplanning enhances the effectiveness of other skincare treatments such as chemical peels and DiamondTome microdermabrasion by providing deeper product penetration.
Reduces recent acne scars
Reduces fine lines
Produces immediate results with no downtime.


I sometimes what to transfer a file from A to B and this file might be big. Like a Virtual Machine Image around 20 GB.
I discovered that BitTorrent can be quite powerful and robust for the file transfer, but unfortunately there is not too much information around as to set up a “personal” file sharing chain.
One of the things that seem to be available are the DHT or trackerless torrents. Well, I did not manage to make one work, so I had to revert to a more irritating method of setting up a tracker. Here’s how… without using uTorrent, that is not freely available in Linux.
The steps are quite simple:
- set up a Tracker
- generate a torrent file
- start a BitTorrent client where the file to transfer is, using the torrent file to load it
- send the torrent file to the recipient and start another BitTorrent client with it.
We will see all of them step by step.
Tools
We will use the standard BitTorrent client:
- tarball from SourceForge
- a snapshot of the above taken on February 1st, 2015
Unpack the whole thing and get into the BitTorrent directory. We’ll call
the directory you are into $BT
.
Tracker Set-Up
The tracker is a server program that helps… tracking the download of the
different chunks by the interested clients. It acts as a very minimal web
server that only accepts GET
requests to a specific URI and with a
specific command line. You will not have to worry about this.
You have to choose a port where your tracker will listen. We will just select 12345 for our example, so you only have to start the tracker:
cd "$BT"
port=12345
./bttrack.py --port $port --dfile dfile-$port >"log-$port.log" 2>&1 <<<'' &
This will start a Tracker in the background, listening on all the
interfaces at the port of your choice. The related URI is the following:
http://your-server:12345/announce/
.
Of course, we are assuming that the Tracker can be reached through port
12345 of server your-server
… adjust according to your environment!
Torrent File Creation
You don’t necessarily have a running Tracker to generate the torrent file, but you will need one anyway… There are only a few really important things to generate the torrent file: the Tracker’s URI and the file to transfer. The command is pretty straightforward:
./btmakemetafile.py inputfile.ext http://your-server:12345/announce \
--target mystuff.torrent
BitTorrent Client, Server-side
This is quite easy… but with a twist. The client on the server will be
installed in the same host as the tracker, and this is a problem because the
server normally relies upon the connection details (IP address) to
figure out where the peer is. In this case, it’s highly likely that you would
get some local address! Luckily there’s a parameter around this: --ip
.
./btdownloadheadless.py --ip $visible_ip --minport 54321 --maxport 54321 \
"$torrentpath"
As said, you should set $visible_ip
to some address of the
serving machine that can be reached by the intended peer.
You will have to start this command from the place where your file is, otherwise this instance will try to download the relevant file instead of seeding it.
The $torrenpath
is supposed to carry the path to the torrent
file generated in the previous step.
As you can see, we also chose to stick to a single port. This is important later for setting up rules in the firewall.
BitTorrent Client, Client-side
Here comes finally when you can download the torrent from the destination. All you have to do is to send the torrent file (that is way more compact!) to the recipient, and tell them to use their favourite BitTorrent client to download it. Voilà!
Don’t Forget the Firewall!
If you are using some firewall you will have to ensure that the ports are open. Most probably, the firewall will be iptables, in which case:
# this is for the Tracker
sudo iptables -A INPUT -p tcp -m tcp --dport 12345 -j ACCEPT
# this is for the Client
sudo iptables -A INPUT -p tcp -m tcp --dport 54321 -j ACCEPT
Packing it all
The following script can be executed on the host where you will be serving the file. You can provide a port for the tracker, or let it get one for you. It assumes that the following port is free as well, and assigns it to the client (yes, not that robust).
#!/bin/bash
filename=$1
port=${2:-$(perl -e 'print int(50000 + rand 15000)')}
hostname=${3:-$(hostname)}
ip=${4:-$(dig "$hostname" +short)}
CLIENTPORT=$(($port + 1))
BINDIR=$(dirname "$0")
BINDIR=$(readlink -f "$BINDIR")
BTTRACK="$BINDIR/bttrack.py"
BTCLIENT="$BINDIR/btdownloadheadless.py"
BTTORRENTCREATOR="$BINDIR/btmakemetafile.py"
TORRENTFILE="$(basename "$filename")-$port.torrent"
# Create torrent file
"$BTTORRENTCREATOR" "$filename" "http://$hostname:$port/announce" \
--target "$TORRENTFILE"
echo "created: $TORRENTFILE"
# Start tracker, save pid for later
"$BTTRACK" --port $port --dfile dfile-$port \
>"tracker-$port.log" 2>&1 <<<'' &
PID=$!
# Open ports. The client is blocking, so this has to be done before
sudo iptables -A INPUT -p tcp -m tcp --dport $port -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport $CLIENTPORT -j ACCEPT
# Start client
"$BTCLIENT" --ip "${ip:-$hostname}" \
--minport $CLIENTPORT \
--maxport $CLIENTPORT \
"$TORRENTFILE" >"client-$CLIENTPORT.log" 2>&
# When client is interrupted, clean all up
sudo iptables -D INPUT -p tcp -m tcp --dport $port -j ACCEPT
sudo iptables -D INPUT -p tcp -m tcp --dport $CLIENTPORT -j ACCEPT
kill "$PID"
rm "$TORRENTFILE" "dfile-$port" "client-$CLIENTPORT.log" "tracker-$port.log"


#include <math.h>
Go to the source code of this file.
◆ AIR_DENSITY
◆ COUNT_ASV_SPECTRAL_DIRECTIONS
| #define COUNT_ASV_SPECTRAL_DIRECTIONS 360 |
Number of directions in the wave force spectrum.
◆ COUNT_ASV_SPECTRAL_FREQUENCIES
| #define COUNT_ASV_SPECTRAL_FREQUENCIES 100 |
Number of frequencies in the wave force spectrum.
◆ COUNT_DOF
Number of degrees of freedom for the motion of ASV.
◆ COUNT_PROPELLERS_MAX
| #define COUNT_PROPELLERS_MAX 4 |
Maximum number of propellers an ASV can have.
◆ COUNT_WAVE_SPECTRAL_DIRECTIONS
| #define COUNT_WAVE_SPECTRAL_DIRECTIONS 5 |
Number of direction bands in the wave spectrum. Ideal if this is an odd number.
◆ COUNT_WAVE_SPECTRAL_FREQUENCIES
| #define COUNT_WAVE_SPECTRAL_FREQUENCIES 15 |
Number of frequency bands in the wave spectrum.
◆ COUNT_WAYPOINTS_MAX
| #define COUNT_WAYPOINTS_MAX 20 |
Maximum number of waypoints through which the ASV will navigate.
Acceleration due to gravity in m/s2
◆ OUTPUT_BUFFER_SIZE
| #define OUTPUT_BUFFER_SIZE 200000 |
◆ PI
◆ SEA_WATER_DENSITY
| #define SEA_WATER_DENSITY 1025 |
Sea water density in Kg/m3


Bin
Troff Companions
Troff has been made to be used within tubes. It works with pre-processors, post-processors and filters. A lot of filters exist since the 70’s. Some of them needed some enhancement to be used with utmac, some others needed to be created.
Ugrind
Ugrind is an awfull hack of vfontedpr, the programm which makes the hard work of the mostly forgotten vgrind preprocessor: it highlights code in troff sources. Vfontedpr doesn’t handle variables, troff source nor color, Ugrind does all that, and is easier to use. It is written in C, and is probably the lightest tool one can find for this task.
See the following files: ugrind, isc license, bsd4 license, cddl license.
Browse the git repository.
Idx
Idx build, repair, format, and handle index files. It has been made to automatically index a troff document, but it also provides option to be used as an helper tool to manually index a book, and work with index files. idx is a shell and awk script.See the following files: idx, license,
Browse the git repository.
Refer
Refer is a small hack of the venerable refer, as found in the heirloom- doctools archive. This modification of Refer uses strings to define small capitals, makes a difference between lastname and firstname in author and editor fields, add support for multiple editors, and offers an option to sort the bibliography database in the order defined by the iso-690 bibliography standart.
See the following files: hunt, inv, mkey, referformat, refer, sortbib, license bsd4, license cddl,
Browse the git repository.
Tchars
Tchars translate an ascii coded text to complex utf-8 characters. Actually, it can only translate a simple sort of beta-code to polytonic greek.
See the following files: tchars, license,
Browse the git repository.
Troffxml tools
The troffxml tools convert an utmac file to xml. They are longer discussed in the xml page.
See the following files: troffxml, license,
Browse the git repository.


Java's generic type system does not work well with its dynamic reflection APIs. For jMock, this means that the compiler will warn you about possible static type errors when you mock generic types. The warnings are incorrect. The best way to avoid them is to suppress the warning with an annotation on the variable declaration of the mock object.
Consider, for example, the following generic interface:
public interface Juicer<T extends Fruit> { Liquid juice(T fruit); }
In a test, you would want to mock this interface as follows:
Juicer<Orange> orangeJuicer = context.mock(Juicer<Orange>.class, "orangeJuicer"); Juicer<Coconut> coconutJuicer = context.mock(Juicer<Coconut>.class, "coconutJuicer");
However, that is not syntactically correct Java. You actually have to write the following:
Juicer<Orange> orangeJuicer = (Juicer<Orange>)context.mock(Juicer.class, "orangeJuicer"); Juicer<Coconut> coconutJuicer = (Juicer<Coconut>)context.mock(Juicer.class, "coconutJuicer");
Both those lines, though syntactically and semantically correct,
generate type safety warnings. To avoid these warnings, you have to
annotate the variable declarations with
@SuppressWarnings
:
@SuppressWarnings("unchecked") Juicer<Orange> orangeJuicer = context.mock(Juicer.class, "orangeJuicer"); @SuppressWarnings("unchecked") Juicer<Coconut> coconutJuicer = context.mock(Juicer.class, "coconutJuicer");
Hopefully future versions Java will improve the type system so that this is not necessary.


{{site.user_description}}
I love to explore and summarize data for better decision making
I love to ideate how to improve politics, business, and society
I love to organize bicycle tours, bridge nights, and benefit concerts


Linking data a bit about maps (if we have time)
More with dashboards & Map Viz
We will start thinking about maps & map projection, both in bqplot
and matplotlib
. We’ll start this week with building dashboards of mappable data.
Optional reading list
- VAD Ch. 8.1-8.3: Arrange Spatial Data
- VAD Ch. 11.1-11.5: Manipulate View
- FDV, Ch. 15: Visualizing geospatial data
Lectures
Examples
Prep Notebook, Week 6, Part 1 - (download)
Prep notebook for this week, Part 1
Prep Notebook, Week 6, Part 2 - (download)
Prep notebook for this week, Part 2
Past Notebook: spring2019_prep_notebook_week06_part1.ipynb - (download)
Past Notebook: spring2019_prep_notebook_week06_part2.ipynb - (download)
Past Notebook: spring2019_prep_notebook_week06_part3.ipynb - (download)
Python Libraries
State export utilities (states_utils.py)
Python library, save to notebook folder or modify your path if you know how to do that
US State abbreviations (us_state_abbrev.py)
Python library, save to notebook folder or modify your path if you know how to do that
Data
The UFO Sitings Dataset (13Mb)
Data about world wide reports of UFO sitings
Surgery Charges Dataset (37Mb)
Surgery charges in different states
Earthquake sensor data from the earthquake from the Tohoku earthquake in 2011
Earthquake locations data (12Kb)
Locations of earthquake sensors