Copyright Bruce Wilcox<EMAIL_ADDRESS>www.brilligunderstanding.com
Revision 10/16/2022 cs12.3
OK. You’ve written a bot. It sort of seems to work. Now, before releasing it, you should polish it.  They both depend on sample input comments.
When I write a topic, before every rejoinder and every responder, I put a sample input comment. This has #! as a prefix.
#! I hate food
s: (I * ~hate * food) Too bad.
This serves two functions. First, it makes it easy to read a topic– you don’t have to interpret pattern code to see what is intended.
Second, it allows the system to verify your code in various ways. It is the “unit test” of a rule. If you’ve annotated your topics in this way, you can issue different :verify commands. You can run this regularly on your bot to prove you haven’t broken things as you continue to modify it.
The basic :verify
command can check your sample inputs
in a number of ways (to be described) but has a limited ability to set
up the conversation environment before the test. The more elaborate
:verifylist, :verifyrun, :verifymatch
trilogy has much more
control.
Some bots can support multiple languages, changed on the fly. Or multiple personas that all share the same bot. Regressing these requires such control. One uses special VERIFY commands which can call functions or set variables during a test run. Here is a sample file which normally requires you be in english before you can use this topic (there are corresponding topics for other languages).
topic: ~SOCCER_en_US system REPEAT (CHAT-TOPIC)
#! VERIFY ^setlanguagecontext(en_US)
u: () ^check_language(en_US)
#! What's your favorite soccer team?
?: (<<[best fave favorite] soccer [team club organization]>>) Madrid Real of course!
#! Do you like soccer?
?: (<<like soccer>>) Sure, what is your favorite club?
#! Who's your favorite soccer player?
?: (<<[best fave favorite] soccer player>>) No one can bend it like Pele!
#! VERIFY ^setlanguagecontext(null)
When regression runs this topic, it will set the language to english, run the test, and then set the language back to what it was before.
These #! VERIFY comments can be stacked in succession and also accept:
#! VERIFY $var = value
#! VERIFY %time = value
#! VERIFY trace = all
#! VERIFY trace = none
#! Do you like this?
To use this system, you start by doing :verifylist
which
will read your compiled bot and generate the file tmp/tmp.txt with top
level rule commands to execute and expectations of where they end
up.
It does not generate tests on rejoinders. Then if you say
:verifyrun
those commands are executed, generating a user
log file (YOU MUST HAVE USER LOGGING ENABLED TO FILE). Then
:verifymatch
will generate a csv file whose columns are:
Expected, Actual, Input, Persona, Response. Expected and Actual are rule
labels. Input is from the verification sample input. If your bot as part
of its oob output has a field of bot: and a botname (personality) then
that is listed here as who said it. And finally the actual text of the
response is shown. By default this file only contains failing tests. You
can limit the csv to a specific language and/or bot and can request all
tests be shown. The result of :verifyrun is the full data, so
:verifymatch can be run multiple times to get different slices of the
results.
:verifymatch language:en_us bot:roger all
There is a special verification input you can issue:
#! ~topicname $variable = value
When execution of a verify input is being done, when the topic with the name of the ~topicname sees this input, it will perform an assignment of the named variable with the named value. This is useful for enabling and disabling topics that might conflict. Eg.
topic: ~awe_en_US keep repeat ()
#! ~awe_event $event_context = awe_event
u: () ^check_event(awe_event)
Normally this topic checks to see if the event context has been set to the event for this topic. If not, the code in ^check_event executes a ^fail(TOPIC) and this topic will not react. But we WANT it to react during testing, so the comment will turn on this context to allow the topic to work (and other topics controlled by different events will not react during this topic’s verify input.) At the end of the topic we have this:
#! ~awe_event $event_context = null
u: ()
The :verifylist/:verifyrun/:verifymatch system has good control over the running environment but limits itself to telling you something doesn’t match. You have to debug why yourself.
The simple :verify
command can perform different test
analyses.
Typically I start with proving the patterns work everywhere.
:verify pattern
The shows that all rule’s patterns would actually match the sample input. At a minimum your pattern MUST do that.
Then I confirm keywords to access topics are OK.
:verify keyword
Then I verify rules don’t block each other in a topic.
:verify blocking
Thereafter I can just do :verify to cover all of those.
Then I do more exotic checks:
:verify sampletopic
or
:verify sample
will tell me if a sample would end up answered by some other topic. If I don’t like the answer, then I need to fix that other topic’s rule. Sampletopic just tells you if the rule was hijacked by a different topic. Sample tells you even if some other rule in the same topic hijacked you.
And I might do
:verify gambit
to see if the bot can answer questions it poses the user in gambits. You can also verify individual topics in various ways.
Here are more samples:
:verify
all topics, all ways but samples and gambits
:verify ~topicname
named topic, all ways but samples and gambits
:verify ~to*
all topics whose names start with ~to
:verify keyword
all topics doing keyword verification
:verify ~topic pattern
named topic, doing pattern verification
:verify blocking
all topics doing blocking verification
:verify sample
all topics doing sample verification
:verify gambit
all topics doing gambit verification
:verify all
all topics doing all verifications
Passing verification means that each topic is plausibly scripted.
To be clear how valuable :verify
is, consider this
example. We authored a demo bot for a company and they added a bunch of
code themselves. It was a 5500 rule bot. When I got around to verifying
it, the results were: 57 keyword complaints, 92 pattern complaints, 45
blocking complaints, and (after fixing all those other complaints) 250
sampletopic complaints.
The :verify
command takes the topic name first (and
optional) and then a series of keywords about what to do.
:verify keyword
For responders, does the sample input have any keywords from the topic. If not, there may be an issue. Maybe the sample input has some obvious topic-related word in it, which should be added to the keywords list. Maybe it’s a responder you only want matching if the user is in the current topic. E.g.,
#! Do you like swirl?
?: ( swirl) I love raspberry swirl
can match inside an ice cream topic but you don’t want it to react to Does her dress swirl?.
Or maybe the sample input has no keywords but you do want it findable from outside (E.g., an idiom), so you have to make it happen. When a responder fails this test, you have to either add a keyword to the topic, revise the sample input, add an idiom entry to send you to this topic, or tell the system to ignore keyword testing on that input.
You can suppress keyword testing by augmenting the comment on the
sample input with !K
or marking the topic as a whole
TOPIC_NOKEYWORDS
#!!K
this is input that does not get keyword tested.
:verify pattern
For responders and rejoinders, the system takes the sample input and tests to see if the pattern of the following rule actually would match the given input. Failing to match means the rule is either not written correctly for what you want it to do or you wrote a bad sample input and need to change it. This test SHOULD NOT fail when you are done. Either your sample is bad, your pattern is bad, or ChatScript is bad.
Rules that need variables set certain ways can do variable assigns
($
or _
or) at the end of the comment. You can
also have more than one verification input line before a rule.
#! I am male $gender = male
#! I hate males $gender = male
s: ($gender=male I * male) You are not my type
For a pattern that starts with @_3+
, you can set the
position by an assignment naming the word to start at (0 … number of
words in sentence).
#! I am the leader @_3+=0
If you want to suppress testing, add !P
to the
comment.
#!!P This doesn't get pattern testing.
If the pattern absolutely SHOULD fail the test, use F. As in
#!F
or #!!FB
. If you want to suppress pattern
and keyword testing, just use K
and P
in
either order:
#!!KP this gets neither testing.
You can also test that the input does not match the pattern by using
#!!R
instead of #!
, though unless you were
writing engine diagnostic tests this would be worthless to you.
:verify blocking
Even if you can get into the topic from the outside and the pattern matches, perhaps some earlier rule in the topic can match and take control instead. This is called blocking. One normally tries to place more specific responders and rejoinders before more general ones. The below illustrates blocking for are your parents alive? The sentence will match the first rule before it ever reaches the second one.
#! do you love your parents
?: ( << you parent >>) I love my parents *** this rule triggers by mistake
#! are your parents alive
?: ( << you parent alive >>) They are still living
The above can be fixed by reordering, but sometimes the fix is to clarify the pattern of the earlier rule.
#! do you love your parents
?: ( ![alive living dead] << you parent >>) I love my parents
#! are your parents alive
?: ( << you parent alive >>) They are still living
Sometimes you intend blocking to happen and you just tell the system
not to worry about it using !B
.
The blocking test presumes you are within the topic and says nothing about whether the rule could be reached if you were outside the topic. That’s the job of the keyword test. And it only looks at your sample input. Interpreting your pattern can be way too difficult.
If :trace
has been set non-zero, then tracing will be
turned off during verification, but any rules that fail pattern
verification will be immediately be rerun with tracing on so you can see
why it failed.
:verify gambit
One principle we follow in designing our bots is that if a user is asked a question in a gambit, the bot had better be able to answer that same question if asked of it.
The gambit verification will read all your gambits and if it asks a question, will ask that question of your bot. To pass, the answer must come from that topic or leave the bot with that topic as the current topic.
You can stop a topic doing this by adding the flag
TOPIC_NOGAMBITS
. There is no way to suppress an individual
gambit, though clearly there are some questions that are almost
rhetorical and won’t require your bot answer them. E.g., Did you
know that hawks fly faster than a model airplane?
:verify sampletopic & :verify sample
Once you’ve cleaned up all the other verifications, you get to sample verification. It takes sample inputs of your responders and sees if the chatbot would end up at the corresponding rule if the user issued it from scratch. This means it would have to find the right topic and find the right rule. If it finds the right topic, it will usually pass if you have managed most of the blocking issues.
I start with :verify sampletopic
, which only shows
inputs that fail to reach the topic they came from. This is generally
more serious. It may be perfectly acceptable that the input gets trapped
in another topic. This sample result is merely advisory. But maybe the
rule that trapped it should be moved into the tested topic. Or maybe its
just fine. But if the output you got doesn’t work for the input, you can
go to the rule for the output you got and alter the pattern in some way
that excludes it reacting inappropriately to the input.
Once that is cleaned up, :verify sample
will include
rules that fail to get back to the correct rule of the topic. Usually,
if you’ve fixed blocking, this won’t be a problem.
If you stick a rule into Harry’s ~introductions
topic
like:
#! what are you
u: (what are you) I am a robot
Then :verify sample
will complain about the sample. It
is saying that if you are not ALREADY in the topic
~introductions
, then the input you give will get answered
by some other topic (quibble) and not by this topic. The reason this
would be true is that there are no keywords in the
~introduction
topic that could allow it to be found if you
are not already in this topic.
Normally, a question like what are you is something I would
put in the ~keywordless
topic, because there is no natural
keyword in the question and you could be asked that question at any time
from any topic. If, however, you actually want this rule in
~introductions
, you can tell CS NOT to do the sample input
test on it via
#!!S What are you
:verify
normally works on the current
$cs_token
value. But in my bots, I might process inputs
using two different values, one initially and one later. You can
optionally specify what tokenization to be using by naming a user
variable first.
:verify $mytokencontrol ~mytopic pattern
`:verify variablereference’ will list all user variable assignments and uses in a bot into TMP/reference.txt . If you sort that file, you may detect places where you misspelled a variable, assigned but didnt use, or used but didnt assign. Normally it only shows mismatches but “:variablereference full” will list all variables.
It may miss some assignments when those are done indirectly,
e.g.,$data.$_category.brand = Amana
means it may not list
an assignment for $data.appliance.brand
.
To ensure the outputs don’t have spelling errors, I do a
:build
like this: :build Harry
outputspell and
then fix any spelling complaints that should be fixed.
We generally adhere to a tweet limit (140 characters) and run
:abstract 140
to warn us of lines that are longer.
Because variables in CS have only 1 data type (text string), CS does not have any predeclarations of variables. You just use them on the fly. Of course if you make a typo, you use that on the fly as well and it may not be what you are expecting. Hence :listvariables.
:listvariables analyzes your compiled code in the TOPIC folder and writes a file listing each instance of a variable you have. The file is TMP/variables.txt. By default it lists all sorts of variables but you can limit it by naming the kinds you want:
all - all variables
local - $_ variables
global - $ and $$ variables
permanent - $ variables
transient - $$ variables
Each line of the file names the variable and puts a + after it if it was an assignment. If you then sort this file (e.g. DOS sort command `sort TMP/variables.txt > x.txt ) they are made suitable to then from CS run :mergelines x.txt which merges all lines having the same starting word so there is just 1 example of each line with a prefix count of how many instances of such lines were seen. If you then sort that result (eg sort TMP/tmp.txt y.txt) you get a file that gives you how many times a variable was used. Things used only once are highly suspect (set or used without the corresponding other side). Helps you see instances where maybe you typed the misspelled your variable.
:mergelines file {all}
The function outputs to tmp/tmp.txt. It reads in lines and for adjacent exact matches, it outputs a single line with a count in front. This you can then use extern sort routine (eg sort tmp.txt >x.txt) to order the file by frequency of occurence. Normally :mergelines compares just the first word of the line, which is good if lines start with their rule name. If you add the optional all argument, then it is good if either user input or bot output lead the line.
I use this to find unique user inputs (low count) and see if they are well handled.
:topicinfo ~topic how
This displays all sorts of information about a topic including its
keywords, how they overlap with other topics, what rules exist and
whether they are erased or not. You either name the topic or you can
just use ~
, which means the current rejoinder topic (if
there is one). You can also wildcard the name like ~co*
to
see all topics that start with ~co
.
If ‘how’ is omitted, you get everything. You can restrict things with a collection of how keywords. These include:
| how | meaning |
|---|---|
keys |
to display the keywords |
overlap |
to display the overlap with other topics’ |
keywords gambits rejoinders responders all |
to limit rules to some of those |
used available |
to see only those rules meeting that criteria. |
Of particular importance in finalization is the key overlap map. Keyword overlap is particularly interesting. As you assign keywords to topics, at times you will probably get excessive. Some topics will share keywords with other topics. For some things, this is reasonable. “quark” is a fine keyword for a topic on cheese and one on astronomy. But odds are “family” is not a great keyword for a topic on money.
Often an extraneous keyword won’t really matter, but if the system is
looking for a topic to gambit based on “family”, you really don’t want
it distracted by a faulty reference to money. That is, you want to know
what keywords are shared across topics and then you can decide if that’s
appropriate. Sometimes you are told a word but don’t see it in the topic
keywords. Use :up
on that word to see how it
intersects.
I use :topicinfo
keys to generate a map across all
topics. I then read the first column list of keywords for each topic to
see if they obviously should be in that topic or if they don’t really
strongly imply that topic. If not, I try to remove them from it.
Sometimes when I look at the list of topics that a key overlaps with,
I find multiple topics with similar ideas. Like a topc called
~cars
and one called ~automobiles
. Often they
are candidates for merging the topics.
:describe
and
:list
If you have used :describe to document all of your permanent
variables (see advanced CS, :build
), then
:list
can be used to show undocumented and potentially
erroneously spelled permanent variables
:list $ ^ ~ _ @
will list the documented kinds of items (you name which ones you want, could be just $) and for variables it will list be documented and undocumented.
:abstract
There are several useful :abstract calls to do during finalization.
:abstract 100
If you want to adjust output of yours that would be too long for something like a phone screen, you can ask :abstract to show you all rules whose output would likely exceed some limit (here 100). Without a topic name it does the entire system. With a topic name e.g.
:abstract 100 ~topicname
it is restricted to that topic. You can also use a wildcard like
~top*
to do all topics with ~top
at the start
of the name. You can also provide a list of topics, like
:abstract ~topic1 ~topic2
:abstract censor ~mywords
will note all output which contains any words in
~mywords
. Of course regular uses may also appear. The
censor command looks for any words referred to by the concept given.
:abstract spell
will examine the outputs of all topics (or topic given) to find words
whose spelling might be faulty. It’s not a guarantee it is, but it can
warn you about potential mistakes. And :abstract
is handy
just to print out a human-readable copy of your bot, without all the
ChatScript scripting mess. As part of that, you can add header comments
that will appear in the abstract. These are done as:
#!x whatever
I often subset gambits and responders in a topic by section, e.g.,
#!x*** FAMILY COMPOSITION
...
#!x*** FAMILY RELATIONSHIPS
:abstract story
will display just topics and their gambits (+ rejoinders of them).
:abstract responder
will display topics and their responders (+ rejoinders of them).
:permanentvariables
This gives you a list of all permanent variables found in your source. Not only is documenting them a good idea, but you might want to confirm they are all legit (correctly spelled) and reinitialized as appropriate.
Having built a functioning chatbot with lots of topics, I like to ensure I don’t damage old material in the future, so I create a regression test.
There are two ways to make a regression test (and you can have multple tests). One is to create a source file with a bunch of questions. To be safe from most randomization effects, you should designate the user and :reset the bot. After doing a bunch of stuff you can do :reset again, so additional inputs are immune from effects of the prior stuff.
You can see an example of my std Rose regression file in
REGRESS/chatbotquestions/loebner.txt
It starts out like this:
:user test
:reset
# 2001 Chatterbox challenge
How is it going?
How old are you?
Are you male or female?
What is your favorite color?
Are you a bot?
What is the date?
...
:reset
and then has more questions and more :resets. Eventually it has a
:quit
before a bunch of stuff I’m not wanting tested at
present.
The alternative way is to start a fresh conversation as a new user
and assuming it makes no mistakes then stop. You need to be a completely
new user because CS will read your log file and things like
:reset
don’t clear it. You want to have only the
conversation you just did in that log. Now you can make a regression
file by typing :regress init test
(or whatever user name
you used from either mechanism). CS reads your log file and converts it
into TMP/regress.txt
or you can do
:regress init user outputname
to name where it goes.
The user can be a full file name or just the name of a user whose log
is in the USERS directory. The output name should be whereever you want
to put the resulting regression file. If omitted it defaults to
TMP/regress.txt
. Thereafter, all you have to do (not from a
server version) is
:regress outputname
And the system will retest your conversation. I usually tranfer the file over to a regression directory and rename it in there.
Regression will note any differences. Inconsequential differences it will merely tally at the end, more interesting differences which may or may not be correct show the alternative outputs and info, and differences CS thinks are major are flagged. If you use
:regress terse outputname
then the system will only note what it thinks are fatal differences. If there are differences, maybe they are correct (you edited your code). But CS can detect where you merely edited the output, or a pattern, or a label, or added or subtracted rules nearby. So it is likely to tell you what you need to know.
The system will ask if you want to update your regression file, and if you answer “yes”, it will rewrite the regression file with the updated test results. Do this if it detects minor differences so it can help stay on track in the future. Do this if the major differences are in fact OK. Otherwise decline and go fix your code somewhere.
:regress batch outputname
Useful for batch applications, this form does not prompt you if stuff is found changed. Instead it causes ChatScript to exit (0) if regress passes, or exit(1) if it doesnt. ## Mobile size issues
Mobile apps embedding CS probably do not want the entire dictionary. CS ships with a much smaller dictionary supporting basic english (through grade 6) in the folder DICT/BASIC. For a mobile app, all you need is a DICT/ENGLISH folder with the dict.bin and fact.bin from the BASIC folder.
CS will add things it finds in your TOPIC folder into the dictionary when it loads, so you can supplement words (spelling and parts of speech from those). They will not, however, provide correct pos tagging on conjugations of words not in the basic dictionary. And spelling correction may or may not work properly for words not in the dictionary. And the wordnet ontology will not propogate data through words not in the dictionary into higher level mappings. Eg Doberman may not know it is a more refined word of dog (though the concept sets will work). If you find you need a better dictionary, for a fee I can give you a basic dictionary where all the words of your script patterns and concepts are also correctly mapped.
You can also reduce code size by declaring a bunch of DISCARDxxx defines (see start of SRC/common.h) to remove chunks of CS you don’t need, like the ScriptCompiler or testing abilities.


--- title: "People" date: 2020-06-12T12:57:28+08:00 draft: false ---
Dr. SH Annabel Chen is a clinical neuropsychologist, and currently a Faculty member of Psychology at the School of Social Sciences, LKCMedicine and Acting Director of the Centre of Research and Development in Learning (CRADLE), at the Nanyang Technological University.
After obtaining her PhD in Clinical Rehabilitation Psychology from Purdue University and completing a Clinical Psychology Internship at West Virginia University School of Medicine, she continued with a post-doctoral residency in Clinical Neuropsychology at the Department of Neurology, Medical College of Wisconsin. Her research interests in clinical applications of advanced neuroimaging led her to further pursue post-doctoral research at the Department of Radiology at Stanford University School of Medicine.
Back in Asia, she started the Clinical Brain Lab to apply neuropsychological principles to understand disturbance in brain and behavior using neuroimaging techniques, such as fMRI, diffusion MRI, Transcranial Magnetic Stimulation (TMS), and electroencephalography (EEG). Apart from focusing on cerebellar contribution in higher cognition and optimizing cognition in aging neuroscience, her most recent research development involves affective neuroscience in learning and translating neuroscience for education
More information:
Research Scientist
Centre for Research and Development in Learning (CRADLE)
Nanyang Technological University
Research Scientist
Centre for Research and Development in Learning (CRADLE)
Nanyang Technological University
Research Fellow
Centre for Research and Development in Learning (CRADLE)
Nanyang Technological University
Research Fellow
Division of Psychology, School of Social Sciences
Nanyang Technological University
Research Fellow
Division of Psychology, School of Social Sciences
Nanyang Technological University
Ph.D. Student
Division of Psychology, School of Social Sciences
Nanyang Technological University
Ph.D. Student
Division of Psychology, School of Social Sciences
Nanyang Technological University
Ph.D. Student
Division of Psychology, School of Social Sciences
Nanyang Technological University
Project Officer
Division of Psychology, School of Social Sciences
Nanyang Technological University
Project Officer
Division of Psychology, School of Social Sciences
Nanyang Technological University
Research Assistant
Division of Psychology, School of Social Sciences
Nanyang Technological University
Project Officer
Division of Psychology, School of Social Sciences
Nanyang Technological University


Identity Vault
Protect your users with the most secure mobile biometric authentication available.
DIY frontend security leaves users vulnerable to data loss and unauthorized access - even when using popular plugins and APIs.
Identity Vault protects users with the latest in multi-layer native security and best practices for storing authentication data on device. Boost security to new or existing Ionic apps in minutes.
Request DemoKeep it secret. Keep it safe.
The app security problem:
Many frontend authentication app workflows use unsecure practices, like storing tokens unencrypted or using weak authentication logic that can be easily compromised. Identity Vault fixes this.
- Built and supported by Ionic’s native mobile experts, offering the best possible frontend security.
- Offers built-in advanced biometric, data at-rest encryption, and active session management.
- Easily integrates with new or existing Ionic apps, and works with any backend authentication provider.
- A native, on-device security solution that protects your users’ data without it ever leaving the device.
Powerful, multi-layered frontend security
Identity Vault uses the most advanced frontend security capabilities and best practices to protect users from data loss and unauthorized access.
-
Biometric authentication
Bring the latest in biometric authentication to all of your Ionic apps, including native fingerprint identification and facial recognition for a secure, intuitive user experience across the board.
-
Protection that’s always on
Always-on Session Management safeguards data even when not using your app, with background screen protection for sensitive data and apps, and automatic logout based on inactivity time.
-
Easy code integration
Ionic Identity Vault is a completely modular, easy to consume user service that extends your app logic to handle everything you need for secure token storage and session management.
-
Pair with any backend auth
Powered by a simple, developer friendly API, the Ionic Identity Vault solution works with any backend authentication provider or service, including Active Directory, Okta, Auth0, custom REST APIs, and more.
-
Encrypted security tokens
Ionic’s Identity Vault provides a safe, private, and encrypted method of storing authentication tokens, protecting them with advanced authentication methods like fingerprint auth and facial recognition.
-
Ongoing updates & support
Your subscription to Ionic Identity Vault includes ongoing updates and maintenance, including new API features, patches, updates, and compatibility upgrades for new iOS & Android releases.
Protect your users, focus on your app
Ionic provides everything you need to deliver and maintain highly secure client-side user authentication for all of your Ionic apps, right out of the box. Our Enterprise Customer Success team has the expertise and skills to solve any problems that come up.
Get the latest in frontend security, so your team can concentrate on valuable features and experiences that will set your app apart.
Deep native security integrations
Identity Vault works at the native layer, bringing together over a dozen native capabilities and security APIs for the best possible frontend protection.
- TouchID
- Android Fingerprint & PIN
- FaceID
- Android KeyStore
- Apple Keychain
- Native Session Timeouts
- iOS Secure Enclave
- Background Data Hiding
What you get with Identity Vault
Focus on your app and user experience and let Ionic Identity Vault enable and automate security, encryption, session management, and more.
- Safe, private, and encrypted storage of authentication tokens
- Developer-friendly docs, tutorials, and videos to get you started
- Always-on Session Management to keep your users protected
- Available advisory services and mission-critical support SLAs
- Modular, easy to consume service that integrates your apps
- Backend agnostic design works with any authentication system
- Ongoing updates & maintenance, backed by Ionic’s app experts
- Deep native integration, with the best native frontend security
Schedule a demo of Identity Vault today
And get access to our Fact Sheet with a complete overview of Identity Vault
Watch our Solution Walkthrough
Curious how exactly Identity Vault secures your app and protects your users? Watch our video overview that covers everything you need to know.
Watch the video


Auxilliary Tool:
A linear feature that uses the "Integral
Image" trick to efficiently evaluate convolution kernels on an image, where the kernel can be expressed as a sum of boxes.
More...
#include <BoxFeature2.h>
Public Member Functions | |
| BoxFeature2 (cv::Size expectedPatchSize, int nBoxes=2) | |
| Constructor. | |
| BoxFeature2 () | |
| Default constructor. | |
| BoxFeature2 (const BoxFeature2 ©) | |
| Copy constructor. | |
| BoxFeature2 & | operator= (const BoxFeature2 &rhs) |
| Assignment operator. | |
| virtual | ~BoxFeature2 () |
| Destructor. | |
| virtual void | setFeatureParameters (const cv::Mat ¶mVec) |
| Set the parameters that describe the position of the boxes. See detailed description of the parameters below. | |
| virtual double | evaluateImagePatch (const ImagePatch2 &patch) const |
| Turn an ImagePatch into a scalar value by applying the box filter. | |
| virtual void | filterPatchList (PatchList2 *patches) const |
| Apply the feature to a PatchList data structure. |
Auxilliary Tool:
A linear feature that uses the "Integral
Image" trick to efficiently evaluate convolution kernels on an image, where the kernel can be expressed as a sum of boxes.
The derived HaarFeature class is a subset of these box features that are like wavelets composed of blocks.
| BoxFeature2::BoxFeature2 | ( | cv::Size | expectedPatchSize, |
| int | nBoxes = 2 |
||
| ) |
Constructor.
| expectedPatchSize | Specifies the size of the filter, which specifies the possible ranges for the box positions. |
| nBoxes | The number of boxes. The filtering time decreases linearly with the number of boxes. |
| double BoxFeature2::evaluateImagePatch | ( | const ImagePatch2 & | patch ) | const [virtual] |
Turn an ImagePatch into a scalar value by applying the box filter.
| patch | The image patch to evaluate. |
Implements Feature2.
| void BoxFeature2::filterPatchList | ( | PatchList2 * | patches ) | const [virtual] |
| void BoxFeature2::setFeatureParameters | ( | const cv::Mat & | paramVec ) | [virtual] |
Set the parameters that describe the position of the boxes. See detailed description of the parameters below.
The BoxFeature parameter vector has 5N+4 elements, where N is the number of boxes. The first 5N elements describe the sign of the box (addition or subtraction), x,y position of the box's top-left corner, and its width and height respectively. The parameters for each box are together, so the first 5 elements describe the first box, etc. The sign parameter can be -1 or +1, and the position parameters are bounded below by 0 and above by patchSize.[width or height]-1, as appropriate.
The last 4 parameters describe global behavior of the filtering process. They are: horizontal symmetry, vertical symmetry, mean subtraction, brightness normalization respectively.
The first two each effectively double the number of boxes, by reflecting them around the horizontal and vertical axes respectively. Values for these can be -1,0,+1. 0 means no symmetry, -1 means the symmetric box has the opposite sign, and +1 means the symmetric box has the same sign.
Mean Subtraction means the mean pixel value of the image patch is subtracted before filtering. This normalizes for contrast but not brightness. Brightness Normalization divides the image patch by its L1 norm before filtering. If both options are set, brightness is normalized and then the mean is subtracted. Both of these operations incur a time penalty, which is relatively small.
Implements Feature2.
Reimplemented in HaarFeature2.


| Home | Trees | Indices | Help |
|---|
|
|
object --+ | MemberDescriptor
Base class for members descriptors
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
| any |
|
||
| any |
|
||
|
|||
|
Inherited from |
|
|||
StructPrivate
|
__private The reference to the private container |
||
str
|
name The name of the member |
||
| any |
param The descriptor parameter |
|
|||
|
Inherited from |
|
Initialization
|
Premapper - passes through by default The premapper is called if the value is set before doing anything else.
Note:
It is not called if no mapper function is defined (or it is
|
Transformer - passes through by default Override this method in order to do any value transformation, e.g. compile the input string as regex or split it into a list. The
|
Substituter - passes through by default Use this method to do any dynamic processing on the retrieved value before it's being postmapped.
|
Postmapper - passes through by default The postmapper is called before the value is finally returned to the caller (after being substituted).
Note:
The postmapper is not called if no mapper function is defined (or
it is |
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Sun Sep 25 21:07:33 2011 | http://epydoc.sourceforge.net |


Explore the KBPOnline annotations
In the document below, each mention span is highlighted. The icon to the right of the mention indicate type (PER, ORG, GPE, DATE, TITLE). The list on the right shows the relations that were identified in the document.


Entries open
Entries close
Review
Winners and finalists announced
Some great placeholder content for the first featurette here. Imagine some exciting prose here.
Another featurette? Of course. More placeholder content here to give you an idea of how this layout would work with some actual real-world content in place.
And yes, this is the last block of representative placeholder content. Again, not really intended to be actually read, simply here to give you a better view of what this would look like with some actual content. Your content.


climate driving time temperature forces {border-style px;} using #ffffff;} years series signals causality scale change force signal SFA analysis cycle modulating instrumental solar data CET air amplitude longest surface used ENSO Lett. complex observational oscillations period px; wavelet {font-family Phys. central font-size global harmonic method Granger Hale Northern Rev. components directly double; nonlinear nonstationary physical record sunspot warming Climate England Fig. Geophys. Hemisphere Res. Zhou border-color border-width connected cycle, different modulated phase presented result results scales series. slow solid; study system. technique variability varying years, {font-style {font-weight .-year G.W. However, Oscillation Scafetta Science Tsonis Yang analysis. analyzed applied approach based bold causal courier; cycle. dataset, em; expressed feature high millennial multidecadal natural observed output pt;} refs shown spectral spectrum variation


Syntax:
phase number => phase
Arguments and Values:
number---a number.
phase---a number.
Description:
phase returns the phase of number (the angle part of its polar representation) in radians, in the range -<PI> (exclusive) if minus zero is not supported, or -<PI> (inclusive) if minus zero is supported, to <PI> (inclusive). The phase of a positive real number is zero; that of a negative real number is <PI>. The phase of zero is defined to be zero.
If number is a complex float, the result is a float of the same type as the components of number. If number is a float, the result is a float of the same type. If number is a rational or a complex rational, the result is a single float.
The branch cut for phase lies along the negative real axis, continuous with quadrant II. The range consists of that portion of the real axis between -<PI> (exclusive) and <PI> (inclusive).
The mathematical definition of phase is as follows:
(phase x) = (atan (imagpart x) (realpart x))
Examples:
(phase 1) => 0.0s0 (phase 0) => 0.0s0 (phase (cis 30)) => -1.4159266 (phase #c(0 1)) => 1.5707964
Side Effects: None.
Affected By: None.
Exceptional Situations:
Should signal type-error if its argument is not a number. Might signal arithmetic-error.
See Also:
Section <IP_ADDRESS> (Rule of Float Substitutability)
Notes: None.


|
|
| SuperModel (SuperModel? proxyFor=null) |
| |
|
IDictionary< string, object > | __GetChanges () |
| |
|
void | __ApplyChanges (IDictionary< string, object > changes) |
| |
|
void | __ClearChanges () |
| |
|
void | __mutateWith (Action< SuperModel > action) |
| |
|
void | RaisePropertyChanged ([CallerMemberName] string propertyName=null) |
| |
|
SuperModel | Clone (IDictionary< string, object >? changes=null) |
| |
|
|
bool | SetProperty< T > (ref T backingStore, T value, [CallerMemberName] string propertyName="", Action onChanged=null) |
| |
|
T | GetProperty< T > (ref T backingStore, [CallerMemberName] string propertyName="", Action onChanged=null) |
| |
|
virtual void | OnPropertyChanged (PropertyChangedEventArgs args) |
| |
|
void | OnProxyForOnPropertyChanged (object sender, PropertyChangedEventArgs e) |
| |
|
|
readonly? SuperModel | _proxyFor |
| |
|
readonly ConcurrentDictionary< string, bool > | _propertySet = new ConcurrentDictionary<string, bool>() |
| |
|
|
bool | __mutable [get, set] |
| |
|
SuperModel? | __ProxyFor [get] |
| |
|
|
PropertyChangedEventHandler? | PropertyChanged |
| |
The documentation for this class was generated from the following file:


Please answer the following questions and then click on the Submit Critique button. All questions are required except for General Feedback. Remember to be respectful, thoughtful, and above all encouraging in your response. Critique does not automatically mean to criticize, in the fault-finding sense of the word. Defined by Merriam-Webster, a critique is 'a careful judgment in which you give your opinion about the good and bad parts of something'. (source)


What can I say about New York City that hasn’t already been said?  You get the drift. This is a city filled with movement and magic. I knew all this in my head, but actually going there and basking under the glow of a million LEDs in Times Square opened my eyes. I have gone from darkness into light. Bright, beautiful light.
And then there’s the people: wave after wave of tourists, native New Yorker’s, dreamers, wanderers, celebrities, bottom-dwellers, and everyone in between. I felt energized amidst this constant throb of people and their energy. At the same time, I realized how easy it is to feel alone in a crowd. People are so engrossed in their own lives and calendars that everything else blurs, becoming a casualty of their busyness. Granted, we all get caught up and blinded by our own agendas, but in New York, everything is amplified.
Speaking of amplification, there are so many good musicians here in NYC! Subway musicians who can give pop-stars music lessons sing their mellifluous tunes to whoever might lend a ear (and a few dollars). I love that about cities: there’s so much talent just waiting to be found. Who knows, that girl sitting next to you on the subway might be an accomplished Broadway singer.
One of my favorite experiences in the city was biking around Central Park. Now, Central Park is like an oasis in the middle of a desert. Juxtaposed between the concrete jungle and rising skyscrapers are trees and lakes. Here, time slows down, if only for a moment; it’s a stark contrast to the hubbub of Times Square. There are people napping, strolling, biking, and just plain relaxing. The weather was perfect, with the sun shining gently and a gentle breeze whispering softly. Basking in the glorious outdoors while riding in the wind and seeing the city’s outline peek through the trees was a surreal experience.
Well, I must seem like a NYC fanboy by now; the city certainly lured me in with its siren song. Give it a try and experience it for yourself. This city might very well surprise and inspire you.


Why I dislike current recommendation system
When I was reading The Economist today, this article indeed caught my eyes.
Every night I browse the movies and series Netflix recommends to me, I think they are SOOOOO boring. I love some series made by Netflix (THE CROWN!) and admire it as a high-tech company because of the revolutionary change they brought to us . But actually, I don’t really need to know more shows similar to my previous taste since I’ve known pretty well about my own taste.
I still remember the days when I was in middle school and Apple Genius didn’t even exist on iTunes, I went through countless webpages of rock bands and singers to explore differences and connections between them and tried to savor new genres. This process is what I wish Netflix could help me with. Machine should help human learn.
However, I think current recommendation systems, no matter Netflix’s, Amazon’s or Facebook’s, cannot do that. The last American election undoubtedly verified that similar people and contents were bounded closer by recommendation systems, then generally people became more divided. So how do we define functions or features of diversity, critical thinking and open-mindedness in recommendation systems?
The Economist said consumers are the biggest beneficiaries in this game. I would doubt it.


iOS Codec Mess
In the other iOS demo you may have found out that iOS has several problems playing back encoded / compressed Audio files due to their iTunes implementation.
What you might not know: There's an AIFF audio container format using an IMA-ADPCM codec that is supported on iOS.
You can convert files to this format (on Mac OSX) via:
afconvert -f caff -d ima4 audiofile.wav


Isolation-by-distance model sensu Wright-Malécot not consistent (Felsenstein's
''pain in torus'')
Sometimes non-sensical, e.g., Brownian trajectories never intersect in two dimensions...
Sampling consistency: dispersal dynamics of a lineage depends on the size of the sample considered
Structured coalescent
Takahata, Hudson, Notohara (90’)
Backward-in-time, mechanistic (asymptotically)
Accomodates for "patterns" in sampling
Partition into demes in often not driven by biology
Ghost demes are an issue
S.G., Guo, Welch, (2016). Bayesian inference under spatial Λ-Fleming-Viot process:
habitat considered as a continuum
Structured coalescent
Takahata, Hudson, Notohara (90’)
Backward-in-time, mechanistic (asymptotically)
Accomodates for "patterns" in sampling
Partition into demes in often not driven by biology
Ghost demes are an issue
S.G., Guo, Welch, (2016). Bayesian inference under spatial Λ-Fleming-Viot process:
habitat considered as a continuum
Mugration model
Lemey et al. (2009)
Forward-in-time, not mechanistic
Migrations as a CTMC (conditionned on tree)
Coalescent as underlying tree-generating process?
Does not accomodate for "patterns" in sampling
Mugration model
Lemey et al. (2009)
Forward-in-time, not mechanistic
Migrations as a CTMC (conditionned on tree)
Coalescent as underlying tree-generating process?
Does not accomodate for "patterns" in sampling
Relaxed random walk
Lemey et al. (2010)
Forward-in-time, not mechanistic
Migrations as a diffusion process
Convergence to Kingman's coalescent?
Does not accomodate for "patterns" in sampling
Kalkauskas, A. et al. (2020): migration parameters biased by
non-uniform sampling over the habitat.
Our contribution
Discretizing space is often problematic
Ignoring patterns in spatial sampling is a pervasive issue
Keep flexibility of Brownian motion in two dimensions, forward-in-time
Incorporate sampling schemes in the model
Design appropriate Bayesian inference approach
Sampling schemes
Detection scheme: places of sampling purely driven
by the outcome of the migration process
running along the tree.
Sampling schemes
Detection scheme: places of sampling purely driven
by the outcome of the migration process
running along the tree.
Sampling schemes
Detection scheme: places of sampling purely driven
by the outcome of the migration process
running along the tree.
Survey scheme: places of sampling
NOT determined by the outcome of the
evolutionary process. Driven by practical considerations instead.
Bayesian modelling
Detection scheme
$s(\mathbf{e}|\mathbf{l},\tau,\sigma,\theta) := \delta(\mathbf{l}-\mathbf{e})
\rightarrow$ the outcome of the evolutionary process ($\mathbf{l}$) fully determines
that of the sampling process ($\mathbf{e}$)
Survey scheme
$s(\mathbf{e}) \rightarrow$ sampling not conditionned on the outcome of the evolutionary process
$f(\mathbf{l}|\tau,\sigma,\mathbf{e}) \rightarrow$ probability that evolution
generated $\mathbf{l}$ given that we collect information at these same places ($\mathbf{e}$).
Challenges with the survey scheme
$Z(\sigma,\theta) = f(\mathbf{l}|\sigma,\theta)$ not computationally tractable
Function of dispersal and effective pop. size
Updating $\sigma$ or $\theta$ using Metropolis-Hastings and ignoring
$Z (\sigma,\theta)$ is incorrect!
Belongs to the class of ''doubly intractable'' problems (see. e.g.,
S.G., 2018)
Exchange algorithm: rationale
Exchange algorithm, extended
$\mathbf{x} \sim f(\cdot|\sigma) h(\cdot|\theta)$, i.e., the auxiliary tree and
locations must be sampled from the tree-and-location generating process (given
$\mathbf{e}$ but ignoring $\mathbf{s}$)
Direct sampling is not feasible...
Use standard MCMC instead
Simulation results: diffusion estimates
West Nile Virus: location of MRCA
West Nile Virus
Conclusion
Location of samples may or may not match with the expected outcome of the
evolutionnary process
Detection scheme vs. survey scheme $\rightarrow$ impact on the inference is substantial
Exchange algorithm suitable for inference under survey scheme
Fix "mugration" model
Combine distinct sampling schemes in the same analysis


---
layout: post
title: "Essentials of Linux System Administration (LFS201) Course Journey"
subtitle: "Labs that I Made, Things that I Learned"
date: 2020-08-14 00:20:00 +0800
background: '/img/posts/2020-08-14-essentials-of-linux-system-administration-course-journey/cover.jpg'
---
Tracking My Progress in the Labs
- Lab 1.1. Configuring the System for 'sudo' - not done
- Lab 2.1. Sizes of the Default Linux Directories - not done
- Lab 2.2. Touring the /proc Filesystem - not done
- Lab 3.1. Controlling Processes with ulimit - not done
- Lab 3.2. Examining System V IPC Activity - not done
- Lab 4.1. Examining Signal Priorities and Execution - not done
- Lab 5.1. Version Control with git - not done but I am probably familiar
- Lab 6.1. Using RPM - not done
- Lab 6.2. Rebuilding the RPM Database - not done
- Lab 7.1. Using dpkg - not done
- Notes:
- You must focus on this as Ubuntu will be the environment of the exam.
- Lab 8.1. Basic YUM Commands - not done
- Lab 8.2. Using yum to Find Information About a Package - not done
- Lab 8.3. Managing Groups of Packages with yum - not done
- Lab 8.4. Adding a New yum Repository - not done
- Lab 9.1. Basic zypper Commands
- Lab 9.2. Using zypper to Find Information About a Package
- Notes:
- SUSE environment must be installed
- Lab 10.1. Basic APT Commands - not done
- Lab 10.2. Using APT to Find Information About a Package - not done
- Lab 10.3. Managing Groups of Packages with APT - not done
- Lab 11.1. Using stress or stress-ng - not done


| Package | com.wemakedigital.ui |
| Class | public class Container |
| Inheritance | Container Component ShowHideComponent CoreComponent flash.display.Sprite |
| Subclasses | DistributeContainer, StageContainer, Text, TextInput |
Default MXML Propertychildren
| Property | Defined by | ||
|---|---|---|---|
| autoHeight : Boolean
The auto height mode of the component.
| Component | ||
| autoWidth : Boolean
The auto width mode of the component.
| Component | ||
| bottom : Number
Anchor padding from the bottom of the container.
| Component | ||
| children : Array
The DisplayObjects children of this container.
| Container | ||
| colour : int
Optional background colour.
| CoreComponent | ||
| colourAlpha : Number
The alpha transparency value of the background colour.
| CoreComponent | ||
| components : Array [read-only]
The Component children of this container.
| Container | ||
| container : Container
The component's container in the display hierarchy.
| Component | ||
| containers : Array [read-only]
The Container children of this container.
| Container | ||
| created : Boolean
The created status of the component, default is
false . | CoreComponent | ||
| destroyChildren : Boolean = true | CoreComponent | ||
| displayHeight : Number
The
height property inherited from
flash.display.DisplayObject . | CoreComponent | ||
| displayWidth : Number
The
width property inherited from
flash.display.DisplayObject . | CoreComponent | ||
| explicitHeight : Number
The explicit height of the component, used by the render method.
| CoreComponent | ||
| explicitWidth : Number
The explicit width of the component, used by the render method.
| CoreComponent | ||
| height : Number
The height of the component.
| CoreComponent | ||
| hideTime : Number = .2
The length of the hide tween in seconds.
| ShowHideComponent | ||
| horizontalCentre : Number
Anchor padding from the horizontal centre of the container.
| Component | ||
| id : String
ID of the component.
| Component | ||
| interactive : Boolean
Enables and disables mouse and keyboard interactivity with the
component.
| CoreComponent | ||
| left : Number
Anchor padding from the left of the container.
| Component | ||
| maskChildren : Boolean
Mask children to the container size (default is false).
| Container | ||
| maxHeight : Number
The maximum height of the component
| CoreComponent | ||
| maxRelativeHeight : Number
The maximum relative height of the component
| Component | ||
| maxRelativeWidth : Number
The maximum relative width of the component.
| Component | ||
| maxSpareHeight : Number
The maximum spare height of the component
| Component | ||
| maxSpareWidth : Number
The maximum spare width of the component.
| Component | ||
| maxWidth : Number
The maximum width of the component.
| CoreComponent | ||
| measuredHeight : Number [read-only]
The overall height of all the children in position of this component.
| Container | ||
| measuredHeightVisible : Number [read-only]
The overall height of all the visible children in position of this component.
| Container | ||
| measuredWidth : Number [read-only]
The width of all the children in position of this component.
| Container | ||
| measuredWidthVisible : Number [read-only]
The width of all the visible children in position of this component.
| Container | ||
| minHeight : Number
The minumum height of the component.
| CoreComponent | ||
| minRelativeHeight : Number
The minumum relative height of the component.
| Component | ||
| minRelativeWidth : Number
The minumum relative width of the component.
| Component | ||
| minSpareHeight : Number
The minumum spare height of the component.
| Component | ||
| minSpareWidth : Number
The minumum spare width of the component.
| Component | ||
| minWidth : Number
The minumum width of the component.
| CoreComponent | ||
| numChildren : int [read-only]
| Container | ||
| relativeHeight : Number
The relative height of the component.
| Component | ||
| relativeWidth : Number
The relative width of the component.
| Component | ||
| right : Number
Anchor padding from the right of the container.
| Component | ||
| round : Boolean | Component | ||
| scrollHorizontal : Number
The horizontal scroll ratio between 0 (scrolled to left) and 1 (scrolled to right).
| Container | ||
| scrollVertical : Number
The vertical scroll ratio between 0 (scrolled to top) and 1 (scrolled to bottom).
| Container | ||
| showTime : Number = .2
The length of the show tween in seconds.
| ShowHideComponent | ||
| spareHeight : Number
The spare height of the component.
| Component | ||
| spareWidth : Number
The spare width of the component.
| Component | ||
| top : Number
Anchor padding from the top of the container.
| Component | ||
| totalHeight : Number [read-only]
The total height of all the children of this component regardless of their position, overlapping etc..
| Container | ||
| totalWidth : Number [read-only]
The total width of all the children of this component regardless of their position, overlapping etc.
| Container | ||
| verticalCentre : Number
Anchor padding from the vertical centre of the container.
| Component | ||
| width : Number
The width of the component.
| CoreComponent |
| Property | Defined by | ||
|---|---|---|---|
| renderAgain : Boolean = false | Container | ||
| rendering : Boolean = false | Container |
| Method | Defined by | ||
|---|---|---|---|
|
Constructor.
| Container | ||
|
addChild(child:DisplayObject):DisplayObject
| Container | ||
|
addChildAt(child:DisplayObject, index:int):DisplayObject
| Container | ||
|
beforeRender():Boolean
Called by the container after the sizing and positioning in the
container hierarchy has completed just before all invalidated
components render themselves.
| Container | ||
|
bringForward(child:DisplayObject):void
Brings a child to the next highest depth.
| Container | ||
|
bringToFront(child:DisplayObject):void
Brings a child to the highest depth.
| Container | ||
|
contains(child:DisplayObject):Boolean
| Container | ||
|
getChildAt(index:int):DisplayObject
| Container | ||
|
getChildByName(name:String):DisplayObject
| Container | ||
|
getChildIndex(child:DisplayObject):int
| Container | ||
|
hide(animate:Boolean = true):void
Hide the sprite.
| ShowHideComponent | ||
|
invalidate():void
Invalidates the component, forcing it to render on the next
flash.events.Event.RENDER event. | Component | ||
|
invalidatedChild():void
Called by one of the container's child components, forcing it to
render on the next
flash.events.Event.RENDER event. | Container | ||
|
removeChild(child:DisplayObject):DisplayObject
| Container | ||
|
removeChildAt(index:int):DisplayObject
| Container | ||
|
removeChildren():void
Remove all children of this component from the display list.
| CoreComponent | ||
|
render():void
Renders and re-renders the component display.
| Container | ||
|
sendBackward(child:DisplayObject):void
Sends a child to the next lowest depth.
| Container | ||
|
sendToBack(child:DisplayObject):void
Sends a child to the lowest depth.
| Container | ||
|
setChildIndex(child:DisplayObject, index:int):void
| Container | ||
|
show(animate:Boolean = true):void
Show the sprite.
| ShowHideComponent | ||
|
swapChildren(child1:DisplayObject, child2:DisplayObject):void
| Container | ||
|
swapChildrenAt(index1:int, index2:int):void
| Container |
| Method | Defined by | ||
|---|---|---|---|
|
create():void
Creates the component's children and adds event listeners when added
to the display list.
| CoreComponent | ||
|
destroy():void
Removes the component's children and removes event listeners when
removed from the display list.
| CoreComponent | ||
|
onRender(e:Event):void
| Container | ||
|
renderColour():void
Renders the coloured background.
| CoreComponent | ||
|
update():void
Updates the component when a property changes.
| Container |
| children | property |
children:Array
[read-write]The DisplayObjects children of this container.
Implementation public function get children():Array
public function set children(value:Array):void
| components | property |
components:Array
[read-only]The Component children of this container.
Implementation public function get components():Array
| containers | property |
containers:Array
[read-only]The Container children of this container.
Implementation public function get containers():Array
| maskChildren | property |
maskChildren:Boolean
[read-write]Mask children to the container size (default is false).
Implementation public function get maskChildren():Boolean
public function set maskChildren(value:Boolean):void
| measuredHeight | property |
measuredHeight:Number
[read-only]The overall height of all the children in position of this component.
Implementation public function get measuredHeight():Number
| measuredHeightVisible | property |
measuredHeightVisible:Number
[read-only]The overall height of all the visible children in position of this component.
Implementation public function get measuredHeightVisible():Number
| measuredWidth | property |
measuredWidth:Number
[read-only]The width of all the children in position of this component.
Implementation public function get measuredWidth():Number
| measuredWidthVisible | property |
measuredWidthVisible:Number
[read-only]The width of all the visible children in position of this component.
Implementation public function get measuredWidthVisible():Number
| numChildren | property |
numChildren:int
[read-only]Implementation
public function get numChildren():int
| renderAgain | property |
protected var renderAgain:Boolean = false
| rendering | property |
protected var rendering:Boolean = false
| scrollHorizontal | property |
scrollHorizontal:Number
[read-write]The horizontal scroll ratio between 0 (scrolled to left) and 1 (scrolled to right).
Implementation public function get scrollHorizontal():Number
public function set scrollHorizontal(value:Number):void
| scrollVertical | property |
scrollVertical:Number
[read-write]The vertical scroll ratio between 0 (scrolled to top) and 1 (scrolled to bottom).
Implementation public function get scrollVertical():Number
public function set scrollVertical(value:Number):void
| totalHeight | property |
totalHeight:Number
[read-only]The total height of all the children of this component regardless of their position, overlapping etc..
Implementation public function get totalHeight():Number
| totalWidth | property |
totalWidth:Number
[read-only]The total width of all the children of this component regardless of their position, overlapping etc.
Implementation public function get totalWidth():Number
| Container | () | constructor |
public function Container()
Constructor.
| addChild | () | method |
public override function addChild(child:DisplayObject):DisplayObject
Parameters
child:DisplayObject |
DisplayObject |
| addChildAt | () | method |
public override function addChildAt(child:DisplayObject, index:int):DisplayObject
Parameters
child:DisplayObject |
|
index:int |
DisplayObject |
| beforeRender | () | method |
public override function beforeRender():Boolean
Called by the container after the sizing and positioning in the container hierarchy has completed just before all invalidated components render themselves. This provides an opportunity for components to force a re-evaluation of size and position by returning false. Default is true.
ReturnsBoolean |
| bringForward | () | method |
public function bringForward(child:DisplayObject):void
Brings a child to the next highest depth.
Parameterschild:DisplayObject |
| bringToFront | () | method |
public function bringToFront(child:DisplayObject):void
Brings a child to the highest depth.
Parameterschild:DisplayObject |
| contains | () | method |
public override function contains(child:DisplayObject):Boolean
Parameters
child:DisplayObject |
Boolean |
| getChildAt | () | method |
public override function getChildAt(index:int):DisplayObject
Parameters
index:int |
DisplayObject |
| getChildByName | () | method |
public override function getChildByName(name:String):DisplayObject
Parameters
name:String |
DisplayObject |
| getChildIndex | () | method |
public override function getChildIndex(child:DisplayObject):int
Parameters
child:DisplayObject |
int |
| invalidatedChild | () | method |
public function invalidatedChild():void
Called by one of the container's child components, forcing it to
render on the next flash.events.Event.RENDER
event.
| onRender | () | method |
protected override function onRender(e:Event):void
Parameters
e:Event |
| removeChild | () | method |
public override function removeChild(child:DisplayObject):DisplayObject
Parameters
child:DisplayObject |
DisplayObject |
| removeChildAt | () | method |
public override function removeChildAt(index:int):DisplayObject
Parameters
index:int |
DisplayObject |
| render | () | method |
public override function render():void
Renders and re-renders the component display.
| sendBackward | () | method |
public function sendBackward(child:DisplayObject):void
Sends a child to the next lowest depth.
Parameterschild:DisplayObject |
| sendToBack | () | method |
public function sendToBack(child:DisplayObject):void
Sends a child to the lowest depth.
Parameterschild:DisplayObject |
| setChildIndex | () | method |
public override function setChildIndex(child:DisplayObject, index:int):void
Parameters
child:DisplayObject |
|
index:int |
| swapChildren | () | method |
public override function swapChildren(child1:DisplayObject, child2:DisplayObject):void
Parameters
child1:DisplayObject |
|
child2:DisplayObject |
| swapChildrenAt | () | method |
public override function swapChildrenAt(index1:int, index2:int):void
Parameters
index1:int |
|
index2:int |
| update | () | method |
protected override function update():void
Updates the component when a property changes.


Task Booking - #FO416EA19D9C8
Nifty : gmgelite | Order date : December 10, 2020PENDING edit booking
AED 67.49
Scheduled Date : 15 Dec, 2020
Scheduled Time : 12:53 PM
Approx Duration (In hours) : 1 hr
Service Details
Service Documents


| screen {graphics} | R Documentation |
split.screen
defines a number of regions within the current
device which can, to some extent, be treated as separate graphics
devices. It is useful for generating multiple plots on a single
device. Screens can themselves be split, allowing for quite complex
arrangements of plots.
screen
is used to select which screen to draw in.
erase.screen
is used to clear a single screen, which it
does by filling with the background colour.
close.screen
removes the specified screen definition(s).
split.screen(figs, screen, erase = TRUE) screen(n = , new = TRUE) erase.screen(n = ) close.screen(n, all.screens = FALSE)
figs |
A two-element vector describing the number of rows and the number of columns in a screen matrix or a matrix with 4 columns. If a matrix, then each row describes a screen with values for the left, right, bottom, and top of the screen (in that order) in NDC units, that is 0 at the lower left corner of the device surface, and 1 at the upper right corner. |
screen |
A number giving the screen to be split. It defaults to the current screen if there is one, otherwise the whole device region. |
erase |
logical: should be selected screen be cleared? |
n |
A number indicating which screen to prepare for drawing
( |
new |
A logical value indicating whether the screen should be erased as part of the preparation for drawing in the screen. |
all.screens |
A logical value indicating whether all of the screens should be closed. |
The first call to split.screen
places R into split-screen
mode. The other split-screen functions only work within this mode.
While in this mode, certain other commands should be avoided (see the
Warnings section below). Split-screen mode is exited by the command
close.screen(all = TRUE)
.
If the current screen is closed, close.screen
sets the current
screen to be the next larger screen number if there is one, otherwise
to the first available screen.
split.screen
returns a vector of screen numbers for the
newly-created screens. With no arguments, split.screen
returns
a vector of valid screen numbers.
screen
invisibly returns the number of the selected screen.
With no arguments, screen
returns the number of the current
screen.
close.screen
returns a vector of valid screen numbers.
screen
, erase.screen
, and close.screen
all return
FALSE
if R is not in split-screen mode.
The recommended way to use these functions is to completely draw a plot and all additions (i.e., points and lines) to the base plot, prior to selecting and plotting on another screen. The behavior associated with returning to a screen to add to an existing plot is unpredictable and may result in problems that are not readily visible.
These functions are totally incompatible with the other mechanisms for
arranging plots on a device: par(mfrow)
,
par(mfcol)
and layout()
.
The functions are also incompatible with some plotting functions,
such as coplot
, which make use of these other mechanisms.
erase.screen
will appear not to work if the background colour
is transparent (as it is by default on most devices).
Chambers, J. M. and Hastie, T. J. (1992) Statistical Models in S. Wadsworth & Brooks/Cole.
Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press.
if (interactive()) { par(bg = "white") # default is likely to be transparent split.screen(c(2, 1)) # split display into two screens split.screen(c(1, 3), screen = 2) # now split the bottom half into 3 screen(1) # prepare screen 1 for output plot(10:1) screen(4) # prepare screen 4 for output plot(10:1) close.screen(all = TRUE) # exit split-screen mode split.screen(c(2, 1)) # split display into two screens split.screen(c(1, 2), 2) # split bottom half in two plot(1:10) # screen 3 is active, draw plot erase.screen() # forgot label, erase and redraw plot(1:10, ylab = "ylab 3") screen(1) # prepare screen 1 for output plot(1:10) screen(4) # prepare screen 4 for output plot(1:10, ylab = "ylab 4") screen(1, FALSE) # return to screen 1, but do not clear plot(10:1, axes = FALSE, lty = 2, ylab = "") # overlay second plot axis(4) # add tic marks to right-hand axis title("Plot 1") close.screen(all = TRUE) # exit split-screen mode }


|
Hi Generic =
Account, Inc.
This is =
a reminder that Planned maintenance (987654321-1) that will impact the =
services listed below.
Purpose =
of Maintenance: Please be advised that Megaport will be performing hardware=
and software upgrades to our route servers that will affect the secondary =
route server for MegaIX lax-tx1 on the date and times mentioned below:
Date and time:: 10: 00 - 11: 00 UTC, 12/05/21
Expected impact: The secondary route server for services at lax-tx1 (1.1.=
1.1) will be unavailable during the maintenance window.
Please note that bilateral sessions and sessions with the primary route ser=
ver (<IP_ADDRESS>) will not be affected. Peers that have not yet configured=
BGP sessions to both the primary and the secondary route servers are encou=
raged to do so before the maintenance.
If you have any questions concerning this activity, please enquire via emai=
l to<EMAIL_ADDRESS>citing reference 987654321-1.
Impacted=
Service(s): 10: 00 - 11: 00 UTC, 12/05/21
| Service ID |
 =
; |
Service Type |
 =
; |
Service Name |
|
123456789
|
 =
; |
IX
|  =
; |
Los A=
ngeles IX at CoreSite LA1 |
=20
Start=
Date and Time: Wed, 12 May 2021 10:00:00 UTC
End D=
ate and Time: Wed, 12 May 2021 11:00:00 UTC
Got ques=
tions in relation to this maintenance activity? Did you know you can chat w=
ith us 24/7/365? Most support interactions are handled best via chat in our portal. Alternatively, re=
ply to this email.
Thank yo=
u for using Megaport=E2=80=99s services!
The Mega=
port Team
=20
|


Explore the power of Web!
You can go to yet another page on the web by clicking the image below.
Say
NO
to
dinosaur
If you are not connected to the web, you won't see a Dinosaur, but a beautiful
offline
page
Demo built by
@computistic
click the image above


2015/12/18
Assertion A was issued at time t by issuer R regarding subject S provided conditions C are valid.
R
...
S
C
...
...
...
Assertion A was issued at time t by issuer R regarding subject S provided conditions C are valid (C contains the SP ID)
Defines SAML request and response elements
https://sp.example.com/SAML2
Protocol messages as URL query string of HTTP GET request
SAMLRequest or SAMLResponse
https://idp.example.org/SAML2/SSO/Redirect?SAMLRequest=fZFfa8IwFMXfBb9DyXvaJtZ1BqsURRC2
Mabbw95ivc5Am3TJrXPffmmLY3%2FA15Pzuyf33On8XJXBCaxTRmeEhTEJQBdmr%2FRbRp63K3pL5rPhYOpkVdY
ib%2FCon%2BC9AYfDQRB4WDvRvWWksVoY6ZQTWlbgBBZik9%2FfCR7GorYGTWFK8pu6DknnwKL%2FWEetlxmR8s
BHbHJDWZqOKGdsRJM0kfQAjCUJ43KX8s78ctnIz%2Blp5xpYa4dSo1fjOKGM03i8jSeCMzGevHa2%2FBK5MNo1F
dgN2JMqPLmHc0b6WTmiVbsGoTf5qv66Zq2t60x0wXZ2RKydiCJXh3CWVV1CWJgqanfl0%2Bin8xutxYOvZL18NK
UqPlvZR5el%2BVhYkAgZQdsA6fWVsZXE63W2itrTQ2cVaKV2CjSSqL1v9P%2FAXv4C
SSO Profiles
Artifact Resolution Profile
SAML Attribute Profiles
Assertion Query/Request Profile
...
1. Request https://sp.example.com/myresource
Back to Workflow2. Respond with an XHTML form
Back to Workflow
3. Request the SSO Service at the IdP
POST /SAML2/SSO/POST HTTP/1.1
Host: idp.example.org
Content-Type: application/x-www-form-urlencoded
Content-Length: nnn
SAMLRequest=request&RelayState=token
Back to Workflow
4. Respond with an XHTML form
Back to Workflow
5. Request the Assertion Consumer Service at the SP
POST /SAML2/SSO/POST HTTP/1.1
Host: sp.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: nnn
SAMLResponse=response&RelayState=token
Back to Workflow
6. Redirect to the target resource
Back to Workflow7. Request the target resource at the SP again
https://sp.example.com/myresource
Back to Workflow
8. Respond with requested resource
Back to Workflow


Hello!
I am Raghu R.
I am a developer and designer, who creates clean and engaging experiences.
I write sometimes.
Programming
I've been programming since an early age, and have loved it ever since.
I have a lot of experience in programming, and often use it as a recreational tool.
Writing
I've loved to write, and I'd have done that if I did not pursue programming.
Since writing was more of a hobby rather than a passion, I chose the latter.
You can see an old example of my writing over here.
Open Source
I occasionally contribute to Open Source Projects, and many of my own projects are open to all, including this website.
I believe that software freedom is a necessity, and not just an augment to the field of software development.
What is AllTheTime if your initial is R?
My online name is Raghu AllTheTime, username razetime or rallzetime(acronyms galore!).
Since this website is online, I chose to put that name in here.


January My favorite month February March April May June July August My least favorite month September


Anna Hickey Fotis is a full stack developer based in Minneapolis, MN. An
enthusiastic, collaborative designer and developer, her consistent goal is to craft
one-of-a-kind, user-friendly deployments with a laser-like focus on accessibility, function,
and design unity across multiple user platforms, utilizing her skills in HTML5, CSS,
Bootstrap, JavaScript, jQuery, AJAX, and Node.js. When not at her code editor, Anna can be
seen on stages and screens around Minneapolis as a theatrical and commercial actress,
specializing in comedy, musical theatre, and industrial work. In her spare time, Anna enjoys
road trips to Wisconsin, making and eating breakfast food, whiskey tasting, and her dog,
Madde.


title = "Forum" url = "/forum" layout = "basic" is_hidden = 0 [forumChannels] memberPage = "forum/membres" channelPage = "forum/canal" topicPage = "forum/sujets" ==


Frequently Asked Questions
How long does it take to practice chi kung?
There are many different styles of chi kung and each one is practiced differently. Regarding Shaolin Cosmos Chi Kung, one session typically lasts 10-20 minutes from start to finish.
Where and when should I practice chi kung?
Some general guidelines are:
- It’s best not to practice within 1/2 a mile from a graveyard, hospital or power plant and not during a thunderstorm.
- Don’t practice outdoors in direct sunlight, except during early hour and late afternoon hours; don’t practice directly under rain, but under some form of cover is okay.
- The best place to practice is outdoors, such as in your yard, garden or in a park where chi can flow freely. If you practice indoors, open a window to allow fresh chi to circulate.
- In general, refrain from practicing between 11am - 3pm when the energy from the sun is strongest.
Are there any dietary restrictions for practicing chi kung?
No.
Can a person of any religion practice chi kung?
Yes, the Shaolin Arts are non-religious and are practiced by people of many different faiths.
What makes Shaolin Cosmos Chi Kung different from other styles of chi kung?
Shaolin Cosmos Chi Kung emphasizes the chi flow component, rather than focusing on physical forms and techniques. What really raises it to a high-level art is practicing at the mind level, rather than just physical or energetic levels.
I often struggle with excessive thinking, how will chi kung help me?
At the fundamental level, everything is energy, including your thoughts. As Shaolin Cosmos Chi Kung cleanses you at every level, including body, energy and mind, over time your practice clears away mind energy that is out of balance. By including standing meditation in the practice, we also give ourselves time to enjoy being thought-free, something which is generally feared in Western society.


A formal background in graphic design is absolutely going to be helpful, it’s also relatively easy to learn the foundations of graphic design on your own. An increasingly easy-to-use Adobe Illustrator and even more easily accessible tools like Stencil and Visme are making it so that just about anyone with two opposable thumbs, a bit of creativity, and motivation can earn a side income doing things like designing (and selling) images like these motivational quotes that can be printed onto posters and sold on platforms like Etsy.


Flutter Jakarta Meetup #5
Implementing CI for your Flutter project
Angga Arifandi - Sept 2020
Angga Dwi Arifandi
Google Dev Expert - Flutter
Social Media
blackmenthor
@angga.arifandi
@anggadwia_
<EMAIL_ADDRESS>Companies that relies on Mobile Apps
App Crash
Challenge for maintaining quality
Challenges
-
Feature are always added/changing
-
Code is maintained by multiple engineers across teams
-
We can't test whole app on every release
Solution?
We automate those process
Ultimate Goal
Making sure we don't introduce regression when developing a feature
How?
We will test if the new code integrates well with the current codebase, before we ship
Common CI Flow
-
After working on a feature, Dev created a PR
-
Check, if the target branch is important branch
-
Check compatibility of the origin branch to the target
-
Run tests to ensure there are no regression
-
If it's passing, then PR will be ok to merge
Knowing that, how to implement in Flutter?
Libs used
CI Flow
-
Only run CI on PR to develop and master
-
Run Flutter Unit build & unit test
-
IF ok, continue to run Android Native unit test
-
Also, IF Flutter unit test ok, continue to run iOS Native unit test
-
If everything is good, then pass.
Setup Code
Run Flutter Unit Test
Run Android Unit Test
Run iOS Unit Test
In case of Success
In case of Failure
E-mail in case of failure
Github Actions's limitation
Exploration
-
Device testing (headless emulator)
-
Run test only if code on Android & iOS folder is changed
-
Send Slack message in case of failure
-
Continuous Deployment
Thank you, and keep spreading positivity!
Any questions?
Slides: <IP_ADDRESS>:8002


Hi I am Girija R, I am a developer in Jiovio Healthcare. I live in Madurai,India. I did my graduate (Computer Science)in Madura College.
I am a member of Metoomentor organization, Training Robots and also a core member of GDG Madurai.
I am very interested to learn new technologies and share my knowledge with others . I like to do social services. I am free minded. I have a self-confidence. I like to work with team and I would like to create mobile apps.
Working as a developer
Working as a developer
I completed my B.Sc(Computer Science) degree in Madura College, Madurai.
I did my 12th std in E.V.R.N Girls Higher secondary school,Madurai.
I did my 10th std in E.V.R.N Girls Higher secondary school,Madurai.
I completed my Middle school studies in Balagurukulam Higher Secondary school,Madurai.
Globally extend worldwide data without quality. Efficiently disseminate premium markets for strategic initiatives. Completely orchestrate effective e-business and unique partnerships.
I belived a good idea can make the world better place live. If will touches the billions of people. These are the few of my ideas which always running on my mind. Some of them i developed as prototype and some of them i am working on it.
Thank you for visiting out my profile. If you would like to get into contact with me, please fill out the form below.


White to play 15
pips White=167 Black=160
(CorrectAnswer= 0/0, ErrorScore= 0)
1. 24/23 13/8 eq: -0.212 45.22% (G:11.12% B:0.46%) 54.78% (G:15.90% B:0.68%) 2. 24/23 6/1* eq: -0.236 (-0.024) 44.48% (G:11.53% B:0.39%) 55.52% (G:16.07% B:0.80%) 3. 24/18 eq: -0.254 (-0.041) 44.63% (G: 9.88% B:0.45%) 55.37% (G:16.75% B:0.66%) 4. 13/8 6/5 eq: -0.266 (-0.054) 44.34% (G:11.02% B:0.50%) 55.66% (G:17.43% B:1.06%) 5. 13/7 eq: -0.303 (-0.091) 42.78% (G:10.89% B:0.41%) 57.22% (G:16.95% B:1.07%)


--- layout: post title: Ingo loves his Hyper Threaded Dell 5150 ---
I just wanted to blog it before Ingo does…
He’s been waiting for his Dell for a few days, got it, and started installing everything. And now he’s crazy over Hyper-threading. And you know how I know it? Just because his messenger name changed. This might become a new form of communication.
This was an absolutely useless post. For anyone not willing to read that kind of posts, I keep them in the Blogging category, so you can ignore them more easily.


Liverpool FC History
Liverpool Football Club is a professional football club in Liverpool, England, that competes in the Premier League, the top tier of English football. The club has won 5 European Cups, more than any other English club, 3 UEFA Cups, 3 UEFA Super Cups, 18 League titles, 7 FA Cups, a record 8 League Cups, and 15 FA Community Shields.
Founded in 1892, the club joined the Football League the following year and has played at Anfield since its formation. Liverpool established itself as a major force in English and European football in the 1970s and 1980s when Bill Shankly and Bob Paisley led the club to 11 League titles and seven European trophies. Under the management of Rafael Benítez and captained by Steven Gerrard, Liverpool became European champions for the fifth time in 2005.
Liverpool was the ninth highest-earning football club in the world in 2016–17, with an annual revenue of €424.2 million,[3] and the world's eighth most valuable football club in 2018, valued at $1.944 billion.[4] The club is one of the best supported teams in the world.[5] Liverpool has long-standing rivalries with Manchester United and Everton.
The club's supporters have been involved in two major tragedies: the Heysel Stadium disaster, where escaping fans were pressed against a collapsing wall at the 1985 European Cup Final in Brussels, with 39 people – mostly Italians and Juventus fans – dying, after which English clubs were given a five-year ban from European competition, and the Hillsborough disaster in 1989, where 96 Liverpool supporters died in a crush against perimeter fencing
The team changed from red shirts and white shorts to an all-red home strip in 1964 which has been used ever since. The club's anthem is "You'll Never Walk Alone".


num 0x10 0x100 0x1000 0x10000 0x100000 0x1000000 run
Result (average [ms]) JavaScript: SIMD: JavaScript/SIMD:
+ Test code
- JavaScript code
- SIMD code


Pope names new economic chief to succeed disgraced cardinal
VATICAN CITY (Reuters) - Pope Francis on Thursday named the Vatican’s new economy minister to succeed Cardinal George Pell, who is appealing a conviction in his native Australia for sexually assaulting two teenaged choir boys.
The post, formally known as Prefect for the Secretariat of the Economy, has been vacant since Pell took leave of absence in 2017.
The new head is Spanish Father Juan Antonio Guerrero, 60, a Jesuit like the pope.
His appointment was announced a day after Australia’s High Court agreed to hear a final appeal from Pell.
Pell, who is serving a six-year jail sentence handed down by a lower court in March, turned to the High Court after a first appeal upheld his conviction.
His absence had left one of the Vatican’s most important economic departments without a leader.
The Secretariat of the Economy, created by Pope Francis in 2014 to help oversee the implementation of financial reforms, coordinates the Vatican’s economic and administrative affairs.
The post of auditor-general has also been vacant since 2017, when Libero Milone resigned, saying he was forced to step down with trumped-up accusations after discovering evidence of possible illegal activity.
The Vatican denies this and says he was spying on co-workers.


I am a Computer Science Business Administration graduate from University of Southern California currently looking for my first full time Full Stack Developer/ Software Engineer position.
I am eager to learn new technologies and best practices of software development. Moreover, I love to travel and experience different cultures and foods!!
A resume database enabling prospective candidates to sign up and upload interests, skills, portfolio entries, special needs and more. Employers are able to submit an email-like request. Facilitators who have special privilages can view the requests and use the optimized built in search engine to find the most fitting candidate.


Stash and unstash all modules and internal state. List and remove stashes.
stash(comment = NA_character_) unstash(id = length(.modulr_env$injector$stash)) list_stashes() remove_stash(id, all)
| comment | A string (character vector of length one). |
|---|---|
| id | A scalar (integer vector of length one). |
| all | A flag. Should all stashes be removed? |
A scalar (integer vector of length one) containing the stash ID.
stash
allows to stash all modules and the internal state of modulr.
Each stash is pushed on a stack and can be commented for later reference.
unstash
pops a stash from the stack and restores the state
accordingly. list_stashes
lists the stack, showing ids, timestamps and
comments for each stash. remove_stash
removes one or all stashes from
the stack.
It is considered a very bad practice to define, touch, undefine, load, make, reset, or perform any other operation from within a module definition that may alterate the internal state of modulr.
define
, list_modules
, and
reset
.
#> [2018-12-02T17:14:11 CET] Removing all stashes ... OK#> [2018-12-02T17:14:11 CET] Defining 'foo' ... OKstash("'foo' only")#> [2018-12-02T17:14:11 CET] Stashing modulr state, stash #1 ... OKlist_stashes()#> id timestamp comment #> 1 1 2018-12-02T17:14:11 CET 'foo' only#> [2018-12-02T17:14:11 CET] Defining 'bar' ... OKstash("'foo' and 'bar'")#> [2018-12-02T17:14:11 CET] Stashing modulr state, stash #2 ... OKlist_stashes()#> id timestamp comment #> 1 1 2018-12-02T17:14:11 CET 'foo' only #> 2 2 2018-12-02T17:14:11 CET 'foo' and 'bar'#> name version storage along type weight calls dependencies uses size #> 1 bar <NA> in-memory <NA> <NA> <NA> 0 0 0 888 bytes #> 2 foo <NA> in-memory <NA> <NA> <NA> 0 0 0 888 bytes #> lines modified #> 1 2 2018-12-02T17:14:11 CET #> 2 2 2018-12-02T17:14:11 CETunstash(1L)#> [2018-12-02T17:14:11 CET] Unstashing modulr state, stash #1 ... OK#> name version storage along type weight calls dependencies uses size #> 1 foo <NA> in-memory <NA> <NA> <NA> 0 0 0 888 bytes #> lines modified #> 1 2 2018-12-02T17:14:11 CET


Posted on {{postDate | date:'longDate'}} by Zimcke Van de Staey. Updated on {{updateDate | date: 'longDate'}}.
{{postAbstract}}


After completing a remodel for Clayroom Potrero Hill clay studio, which included a new layout and
material palette, and additional storage for the glazing and members areas, we were asked to reenvision
their hand building room. In contrast to the rest of the studio, which is constantly in motion (think
spinning wheels, pieces moving from shelf to shelf, bodies shuffling from station to station), the hand
building room is a place where people can work in peace and quiet for a few hours on large,
clean work surfaces.
For the glazing and members areas we developed a contemporary aesthetic that took cues from a cabin
in the Sierras; for the hand building room we continued this language, focusing on the communal and
inviting experience of gathering around a campfire.
For the primary design piece, the casework, we chose prefinished maple plywood and millenial pink
to bring warmth to the small space. The two work tables, each 3'-0" x 7'-8", consist of white HPL
laminated to 1" hardwood plywood with exposed edges. A rectangular window with sliding glass panes
was added to increase connection to the rest of the studio.
Clayroom Hand Building Room


Hello I'm
Mo'minov Xikmatilla
About me
Greetings, I'm Xikmatilla I'm 17 years old and, I have experienced in the field of frontend as a website developer.I have been coding for couples of years in series of jobs.I worked as a frontend programmer in the group of web programmers at the fullfill education center for 3 months. I took part in the state programming olympiads. And I won high places. I also took part in the international olympiads. I have many other achievements.
My Skills
Html
80%
Css
85%
Sass
70%
JavaScript
70%
Jquery
70%
Java
65%
Computer science
80%
77%
Communication
50%
Teamwork
70%
Creativity
My Services
Responsive
Together we create responsive and adaptive websites
fast
and we will try to provide maximum speed
beautiful
Morover we can modify the website to gorgeous and interactive
My Works
Contact me
Address
Tashkent City
Email Address
<EMAIL_ADDRESS>Phone
+99893 106 38 13
Website
XMT.netllify.app


Onshape - Fully cloud solution for 3D modelling
Blender - 3D modelling software popular in FabLabs and 3D printing
DraftSight - Free 2D CAD software by Dassauld Systemes
FreeCAD - 3D modelling in an opensource environment
SketchUp - Another free 3D modelling software
ParaView - OpenSource and free post-processor
EnSight - Commercial post-processor for CFD and FEA data
TecPlot - Commercial post-processor for CFD and FEA data
CFD Online - An online center for Computational Fluid Dynamics with services like discussion forums, jobs, links and a wiki


EXO's Suho rocks red locks in bonus 'Obsession' teaser image
by germainejEXO's Suho is rocking red in his bonus teaser image for 'Obsession'.
After his teaser images and clips, Suho is showing his EXO identity in all black with a stunning red head of hair. As previously reported, the EXO members are facing their doppelgangers "X-EXO" for their comeback.
Stay tuned for more EXO teasers!


When you work with us,you are part of a team of commited collaborators.All aspects of our software development process are integrated,interactive
and agile
Our approach unifies design,development and project management to create exeptional products.
We start each project by understanding your business goals,the user's needs and the product requirements
Then we help translate them into effective and elegant solutions
Before we sign a contract or write a line of code our team will spend the necessary time needed to understand your product vision.
The outcome of this scoping session is propasal or high-level statement of work.
Based on your requirements,we can provide a complete offering or just the pieces you need.
Our design offers a full range of services including brand strategy,interaction and visual design and user experience testing.
Throughout your project,our designers create and implement visual design and workflows,solicit user feedback and work with you to make
sure what gets built what is
need.
All engineers are fluent in the latest enterprise,mobile and web development technlogies
they collaborate with your team to write and improve code on the daily basis,using proven such as test driven development and pair
programming
Planning and development is iterative.Because we are constantly coding and testing,the product we build are always ready to go live.
This iterative process allows for changes as business requirements evolve


Set the evil text
<script>alert('I just did a javascript drive-by attack');</script>
Retrieve the text from the contract stored on the blockchain,
and use the .html(textGoesHere) method
Retrieve the text from the contract stored on the blockchain,
and use the safer .text(textGoesHere) method
checkString function checking text is safe in the contract on the way out


PLAYER_NOT_INITIALIZED
Returned if an attempt was made to update a non-existent player (before initializing).


{% extends 'base.html' %} {% block beef %}
Drag this bookmarklet to your bookmarks bar for quickly create a short url from the page you are on.
77.fi is a domain that had the sole purpose of giving me the shortest e-mail address possible. Then I realized that I can create an url-shortening service that is guaranteed to beat tinyurl by at least 6 characters!
In case you need a short e-mail address (and are born in 1977, perhaps) send me an e-mail and I'll set you up with a forwarding to gmail or wherenot.


|
Cheetah/Savanna API
|
Public Member Functions | |
| def | __init__ (self, machine_name, app_dir) |
| def | make_experiment_run_dir (self, output_dir, _check_code_paths=True) |
Public Attributes | |
| machine | |
| app_dir | |
| runs | |
| inputs | |
| codes | |
| machine_scheduler_options | |
| machine_app_config_script | |
Static Public Attributes | |
| name = None | |
| list | codes = [] |
| list | supported_machines = [] |
| list | sweeps = [] |
| list | inputs = [] |
| umask = None | |
| bool | kill_on_partial_failure = False |
| run_post_process_script = None | |
| bool | run_post_process_stop_group_on_failure = False |
| app_config_scripts = None | |
| run_dir_setup_script = None | |
| dictionary | scheduler_options = {} |
| tau_config = None | |
| sosd_path = None | |
| sos_analysis_path = None | |
| int | sosd_num_aggregators = 1 |
| post_process_script = None | |
| python_path = sys.executable | |
An experiment class specifies an application, a set of parameter to sweep over, and a set of supported target machine. A specific instance binds the experiment to a specific machine within the set of supported machines, and supports generating a set of scripts to run the experiment on that machine.
| def codar.cheetah.model.Campaign.__init__ | ( | self, | |
| machine_name, | |||
| app_dir | |||
| ) |
| def codar.cheetah.model.Campaign.make_experiment_run_dir | ( | self, | |
| output_dir, | |||
_check_code_paths = True |
|||
| ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |


Graphic Design in Saskatoon
You need pro design. You care about quality, and you care about ethics.
Whether you need design for corporate branding, annual reports, logos, brochures, books, illustration, websites, motion graphics, signs, displays, packaging, or grandma’s recipe cards (long story) our senior designer can get it done.
Allan Dowdeswell CGD is:
- Really experienced (pro since 1995).
- Winner of the 2009 Premier’s Award for Excellence in Graphic Design.
- Winner of AMTEC awards in 2002 and 2005
- Certified with the Graphic Designers of Canada. This requires seven (7) years of combined professional experience and/or education, a portfolio review, and adherence to the GDC Code of Ethics. He has served many years as the Ethics Chair of the GDC Saskatchewan North Chapter in Saskatoon.
- Passionate about design, integrity, and good humour.
Call us today to discuss your needs!
View our portfolio.


Even Odd Game
Web Programming
Start Game →
How To Play The Game.
You are playing as “evens” and Computer as “odds'.
it will ask you to Enter a number between 1 to 9
Computer will randomly generate a number between 1 to 9
Both numbers will be added
If the combined number of is equal to an odd number - the player declaring “odds” wins.
If the combined number of is equal to an odd number - the player declaring “odds” wins.


Banking is the core of the economy of the Walnut Islands, and is our main basic industry. The reason for our success has been our great policy of no taxation, and regulation that ensures the complete privacy of our clients. All banks are located in our central business district, Bay City. All products are imported, as these services are the only things produced here.
Those employed by the Walnut Islands (our service team) are often those who migrate from LDCs seeking financial oppertunity. Workers must sign on to a five-year contract in order to begin work. One must pay the early cancellation fee ($15,000.00 USD) and be free of debt in order to terminate the contract. Workers are free from taxation. Fees for living quarters, food, and other neccessities will be dedeucted from the paycheck. Workers are expected to pay for medical care and education. If one is unable to pay for a neccessity, Walnut Inc. Banking Division offer low-interest credit to emloyees as one of their benefits.
In the Walnut Islands, the term resident refers to one who has paid the entrance fee and has acquired property in the islands. Members of our service team do not hold the rank of resident.
Since the Walnut Islands developed rather quickly due to high foreign investment from Walnut Inc. We are in stage 4 of the demographic transition. Furthermore, since no agriculture or manufacturing is present in the Walnut Islands, 100% of jobs in in the tertiary sector.
The informal economy of the Walnut Islands involve the trade of illegal literature by workers. Illegal products include The Communist Manifesto by Karl Marx, The Jungle by Upton Sinclair, and any other works that promote socialist or communist ideaology.


Hello! Welcome to my portfolio page. I am a Colorado native, born in Denver and raised in Arvada. I came to Northern Colorado in 1990 and earned a Bachelor's in mathematics with an emphasis in computer science. I have spent my entire career working on software development teams in a variety of roles. Most recently, I have worked in product/program management and as a Scrum Master. I would like to return to a more technical role and transition into Web development. WebLab - A Web Development Boot Camp, FRCC has given me an exciting opportunity to do just that.
This five page site uses HTML5 and CSS3 to demonstrate the use of HTML forms, a Google form, an embedded Google map, tables, iframes, @media for responsive design and a small amount of jQuery. View website View source code
Todos demonstrates the use of HTML5, CSS3, and jQuery to allow users to add, remove, edit, cross off, and filter todo list items. View website View source code
This tool uses Traditional HTML5, CSS3 and JavaScript event handlers to create a basic calculator. View website View source code
Main page example showing the use of jQuery event handlers for menu/submenu navigation and the use of responsive design. View website View source code


Java Server Pages provide a way to call Java code from within an HTML page. For more information see
http://java.sun.com/products/jsp/