Web Design
HTML:
Basic HTML
|
HTML5
CSS:
CSS3
|
CSS Animation
Web Programming
Frontend:
JavaScript
|
JQuery
Backend:
Node.js
|
PHP
Graphic Design
Graphics:
Photoshop
|
Illustrator
3d Animation:
In-Design
|
Flash


This is a reimplementation of the D3 line chart example that uses the Rickshaw time-series toolkit. In the original, years are rendered on the abscissa as a number, instead of the month's name. Does Rickshaw provide an idioamtic way to do this?


Collaborate and present it to the world. Pictures speak louder than words and that's why good pictures are more important.
Set up a personalised website, ramp up your social media with photographs and videos to make your presence felt in the online world.
Employ Alexa or Google home to automate your tasks at home. Deploy alarms and CCTV to prevent theft and increase security.
Take a look at the various collaborations in the past.
Together we can make a difference.


A dropbox object that represents a dropbox client with the server.
All callbacks are optional. You implement them if you want to.
Gets the current account information and passes it to the success callback. It accepts a dictionary with the following options:
success[callback]: a function with a dictionary event with the following properties:
country[string]
displayName[string]
userId[string]
referralLink[string]
quota[object]normal[long]
shared[long]
quota[long]
error[callback]: called if the method returns an error
Gets the metadata for a file. It accepts a dictionary with the following options:
hash[string]
thumbnailExists[bool]
totalBytes[long]
lastModifiedDate[date]
path[string]
isDirectory[bool]
hash[string]
humanReadableSize[string]
root[string]
icon[string]
revision[long]
isDeleted[bool]
contents[object]: an array of metadata for the directory
Tries to get a thumbnail for the path. It accepts a dictionary with the following options:
success[callback]: the thumbnail blob will come on the 'thumbnail' property on the event. You can assign it to a ImageView like this:
var imageView = Ti.UI.createImageView({image:e.thumbnail});
error[callback]: called if the method returns an error
CAUTION: the size iphone_best
does not exist anymore, so it can't be used.
Tries to get the file from a path. It accepts a dictionary with the following options:
success[callback]: the file blob will come on the 'file' property on the event. You can assign it to a ImageView like this:
var imageView = Ti.UI.createImageView({image:e.file});
error[callback]: called if the method returns an error
Cancels the download of the file at the given path.
Tries to create a new directory. It accepts a dictionary with the following options:
Deletes a path from Dropbox. It accepts a dictionary with the following options:
Uploads a new file to Dropbox. It accepts a dictionary with the following options:
rev
true
, the upload doesn't create a new file
if the target path already exists. The default value is false
, so if the
target file already exists, a new file is created, and never overwritten. Copies a path on Dropbox. It accepts a dictionary with the following options:
PLEASE NOTE, you need to specify one of these: fromPath or fromCopyRef
Moves a path on Dropbox. It accepts a dictionary with the following options:
Generates an URL link for sharing the specified directory or file. It accepts a dictionary:
- url: the URL to share the path
Generates an URL link for directly sharing a file, without touching the Dropbox frontend. Usefull for using the link into an imageview or a video player. It accepts a dictionary:
- url: the direct URL to the shared path
Creates and returns a copy_ref to a file. This reference string can be used to copy that file to another user's Dropbox. It accepts a dictionary:
- copyRef[string]: the copyRef reference you can then use on copyPath.
Searches a directory for entries matching the query. It accepts a dictionary:
results
key


---
layout: post
title: In case you cared...
date: 2009-01-01 00:00:00
categories: digital-media personal
---
...my two favourite web services:
- PhotoJoJo's Time Capsule, which emails me monthly with a few (random) pictures from my Flickr, but a year ago. I really look forward to these little enforced walks down memory lane.
- Doodle, a beautifully simple meeting-arranger/decision-marker app. No sign-up, no frills, no advertising, but does what it does to perfection.


Word embeddings capture the meaning of a word using a low-dimensional vector and are ubiquitous in natural language processing (NLP). (See my earlier post 1 and post2.) It has always been unclear how to interpret the embedding when the word in question is polysemous, that is, has multiple senses. For example, tie can mean an article of clothing, a drawn sports match, and a physical action.
Polysemy is an important issue in NLP and much work relies upon WordNet, a hand-constructed repository of word senses and their interrelationships. Unfortunately, good WordNets do not exist for most languages, and even the one in English is believed to be rather incomplete. Thus some effort has been spent on methods to find different senses of words.
In this post I will talk about my joint work with Li, Liang, Ma, Risteski which shows that actually word senses are easily accessible in many current word embeddings. This goes against conventional wisdom in NLP, which is that of course, word embeddings do not suffice to capture polysemy since they use a single vector to represent the word, regardless of whether the word has one sense, or a dozen. Our work shows that major senses of the word lie in linear superposition within the embedding, and are extractable using sparse coding.
This post uses embeddings constructed using our method and the wikipedia corpus, but similar techniques also apply (with some loss in precision) to other embeddings described in post 1 such as word2vec, Glove, or even the decades-old PMI embedding.
A surprising experiment
Take the viewpoint –simplistic yet instructive– that a polysemous word like tie is a single lexical token that represents unrelated words tie1, tie2, … Here is a surprising experiment that suggests that the embedding for tie should be approximately a weighted sum of the (hypothethical) embeddings of tie1, tie2, …
Take two random words $w_1, w_2$. Combine them into an artificial polysemous word $w_{new}$ by replacing every occurrence of $w_1$ or $w_2$ in the corpus by $w_{new}.$ Next, compute an embedding for $w_{new}$ using the same embedding method while deleting embeddings for $w_1, w_2$ but preserving the embeddings for all other words. Compare the embedding $v_{w_{new}}$ to linear combinations of $v_{w_1}$ and $v_{w_2}$.
Repeating this experiment with a wide range of values for the ratio $r$ between the frequencies of $w_1$ and $w_2$, we find that $v_{w_{new}}$ lies close to the subspace spanned by $v_{w_1}$ and $v_{w_2}$: the cosine of its angle with the subspace is on average $0.97$ with standard deviation $0.02$. Thus $v_{w_{new}} \approx \alpha v_{w_1} + \beta v_{w_2}$. We find that $\alpha \approx 1$ whereas $\beta \approx 1- c\lg r$ for some constant $c\approx 0.5$. (Note this formula is meaningful when the frequency ratio $r$ is not too large, i.e. when $ r < 10^{1/c} \approx 100$.) Thanks to this logarithm, the infrequent sense is not swamped out in the embedding, even if it is 50 times less frequent than the dominant sense. This is an important reason behind the success of our method for extracting word senses.
This experiment –to which we were led by our theoretical investigations– is very surprising because the embedding is the solution to a complicated, nonconvex optimization, yet it behaves in such a striking linear way. You can read our paper for an intuitive explanation using our theoretical model from post2.
Extracting word senses from embeddings
The above experiment suggests that
but this alone is insufficient to mathematically pin down the senses, since $v_{tie}$ can be expressed in infinitely many ways as such a combination. To pin down the senses we will interrelate the senses of different words —for example, relate the “article of clothing” sense tie1 with shoe, jacket etc.
The word senses tie1, tie2,.. correspond to “different things being talked about” —in other words, different word distributions occuring around tie. Now remember that our earlier paper described in post2 gives an interpretation of “what’s being talked about”: it is called discourse and it is represented by a unit vector in the embedding space. In particular, the theoretical model of post2 imagines a text corpus as being generated by a random walk on discourse vectors. When the walk is at a discourse $c_t$ at time $t$, it outputs a few words using a loglinear distribution:
One imagines there exists a “clothing” discourse that has high probability of outputting the tie1 sense, and also of outputting related words such as shoe, jacket, etc. Similarly there may be a “games/matches” discourse that has high probability of outputting tie2 as well as team, score etc.
By equation (2) the probability of being output by a discourse is determined by the inner product, so one expects that the vector for “clothing” discourse has high inner product with all of shoe, jacket, tie1 etc., and thus can stand as surrogate for $v_{tie1}$ in expression (1)! This motivates the following global optimization:
Given word vectors in $\Re^d$, totaling about $60,000$ in this case, a sparsity parameter $k$, and an upper bound $m$, find a set of unit vectors $A_1, A_2, \ldots, A_m$ such that where at most $k$ of the coefficients $\alpha_{w,1},\dots,\alpha_{w,m}$ are nonzero (so-called hard sparsity constraint), and $\eta_w$ is a noise vector.
Here $A_1, \ldots A_m$ represent important discourses in the corpus, which we refer to as atoms of discourse.
Optimization (3) is a surrogate for the desired expansion of $v_{tie}$ in (1) because one can hope that the atoms of discourse will contain atoms corresponding to clothing, sports matches etc. that will have high inner product (close to $1$) with tie1, tie2 respectively. Furthermore, restricting $m$ to be much smaller than the number of words ensures that each atom needs to be used for multiple words, e.g., reuse the “clothing” atom for shoes, jacket etc. as well as for tie.
Both $A_j$’s and $\alpha_{w,j}$’s are unknowns in this optimization. This is nothing but sparse coding, useful in neuroscience, image processing, computer vision, etc. It is nonconvex and computationally NP-hard in the worst case, but can be solved quite efficiently in practice using something called the k-SVD algorithm described in Elad’s survey, lecture 4. We solved this problem with sparsity $k=5$ and using $m$ about $2000$. (Experimental details are in the paper. Also, some theoretical analysis of such an algorithm is possible; see this earlier post.)
Experimental Results
Each discourse atom defines via (2) a distribution on words, which due to the exponential appearing in (2) strongly favors words whose embeddings have a larger inner product with it. In practice, this distribution is quite concentrated on as few as 50-100 words, and the “meaning” of a discourse atom can be roughly determined by looking at a few nearby words. This is how we visualize atoms in the figures below. The first figure gives a few representative atoms of discourse.
And here are the discourse atoms used to represent two polysemous words, tie and spring
You can see that the discourse atoms do correspond to senses of these words.
Finally, we also have a technique that, given a target word, generates representative sentences according to its various senses as detected by the algorithm. Below are the sentences returned for ring. (N.B. The mathematical meaning was missing in WordNet but was picked up by our method.)
A new testbed for testing comprehension of word senses
Many tests have been proposed to test an algorithm’s grasp of word senses. They often involve hard-to-understand metrics such as distance in WordNet, or sometimes tied to performance on specific applications like web search.
We propose a new simple test –inspired by word-intrusion tests for topic coherence due to Chang et al 2009– which has the advantages of being easy to understand, and can also be administered to humans.
We created a testbed using 200 polysemous words and their 704 senses according to WordNet. Each “sense” is represented by a set of 8 related words; these were collected from WordNet and online dictionaries by college students who were told to identify most relevant other words occurring in the online definitions of this word sense as well as in the accompanying illustrative sentences. These 8 words are considered as ground truth representation of the word sense: e.g., for the “tool/weapon” sense of axe they were: handle, harvest, cutting, split, tool, wood, battle, chop.
Police line-up test for word senses: the algorithm is given a random one of these 200 polysemous words and a set of $m$ senses which contain the true sense for the word as well as some distractors, which are randomly picked senses from other words in the testbed. The test taker has to identify the word’s true senses amont these $m$ senses.
As usual, accuracy is measured using precision (what fraction of the algorithm/human’s guesses were correct) and recall (how many correct senses were among the guesses).
For $m=20$ and $k=4$, our algorithm succeeds with precision $63\%$ and recall $70\%$, and performance remains reasonable for $m=50$. We also administered the test to a group of grad students. Native English speakers had precision/recall scores in the $75$ to $90$ percent range. Non-native speakers had scores roughly similar to our algorithm.
Our algorithm works something like this: If $w$ is the target word, then take all discourse atoms computed for that word, and compute a certain similarity score between each atom and each of the $m$ senses, where the words in the senses are represented by their word vectors. (Details are in the paper.)
Takeaways
Word embeddings have been useful in a host of other settings, and now it appears that they also can easily yield different senses of a polysemous word. We have some subsequent applications of these ideas to other previously studied settings, including topic models, creating WordNets for other languages, and understanding the semantic content of fMRI brain measurements. I’ll describe some of them in future posts.


{% load staticfiles %}
KODAI
About
Upload
Files Loaded
Create Segments
Profile
Upload
Files Loaded
Create Segments
Logout
Submit
{% block body %} {% endblock %}


"The key to immortality is first living a life worth remembering." - Bruce Lee
I went to a lot of different elementry schools but those are not as important so let's skip right to high school. I am currently going to Waterloo West High School. I also take classes at the Waterlo Career Center. These are free college classe provided by Hawkeye Community College. I plan on completeing two years at Hawkeye if no other options become avaliable.


Intellectual property means any domain names, know-how, inventions, processes, trade secrets or confidential information or circuit layouts, software, computer programs, databases or source codes, including any application, or right to apply, for registration of, and any improvements, enhancements or modifications of the foregoing (Intellectual Property).
We are the owner or authorized user of all Intellectual Property in and associated with the Website. We are also the owner or authorized user of the trademarks, logos, names and designs, whether registered or unregistered, in and associated with the Website.
Nothing contained in the Website should be construed as giving you any right in or license to any of the Intellectual Property, trademarks, logos, names or designs, whether registered or unregistered, associated with the Website.
You acknowledge that things that you may see, read, hear, download or access on or via the Website (including but not limited to messages, files, data, software, images, photographs, illustrations, texts and other materials) (Content) may be subject to copyright and other intellectual property rights (Intellectual Property Rights).
Unless you are expressly authorized by law you must not participate in or permit any other person, to:
1. sell, reproduce, distribute, modify, display, publicly perform, prepare derivative works based on, repost or otherwise use any of the Content in any way for any public or commercial purpose without our prior written consent;
2. use any Content on any other website or in a networked computer environment for any purpose; or
3. otherwise infringe the Intellectual Property Rights of any person (including us) in using the Website or any Content.
Nothing you do on or in relation to the Website will transfer any Intellectual Property Rights to you or licence you to exercise any Intellectual Property Rights unless this is expressly stated.
Copyright in this Website (including text, graphics, logos, icons, sound recordings and software) is owned or licensed by us. Other than for the purposes of, and subject to the conditions prescribed under, the Copyright Act 1968 (Cth), and except as expressly authorized by us, you must not in any form or by any means except where necessary to view material on this Website using your web browser:
Unless you are expressly authorized by law you must not participate in or permit any other person, to:
1. copy, download, reproduce or view any source code on this Website;
2. copy, adapt, amend, reproduce, store, distribute, display, perform, communicate to the public, publish or create derivative works from any part of this Website or its content; or
3. commercialize any information, products or services obtained from any part of this Website.
Unless we agree otherwise in writing, you are provided with access to this Website only for your personal use. You may print a copy of any information contained on this Website for your personal use, unless such printing is expressly prohibited.
You must not use any of our trademarks, including the COREPLUS PRACTICE HAPPY logo trade mark registered in Australia (registration number 1541562) and any of our unregistered trademarks:
1. in or as the whole or part of any of your own trade marks;
2. in connection with activities, products or services which are not ours; or
3. in a manner which may be confusing, misleading or deceptive.
These terms will be governed by and construed according to the law of Victoria, Australia. The parties irrevocably consent to the jurisdiction of the courts having jurisdiction in Victoria, Australia including the Federal Circuit Court of Australia and the Federal Court of Australia.
This version of these terms is dated August 2020.


Through web technology and mobile application for Home automated and monitor. user can control- switch on/off the lights and fans in the room. User can operate through voice operated mobile app and monitor using website by a distant. Whoever can interact with our home automated systems such as the switch on/off lights and fans etc in enable mode. Status of equipment’s in the room can be checked and monitor through website and mobile application. Switch on/off lights and fans via voice of user as its mobile app supports voice recognition. Remotely controlled on the System. Superfast response of website and mobile app and it interact with hardware very fast. Easy to install and set-up.
Automation used to define things are doing work by electronically and mechanically by pressing just one button on a remote or any other mobile devices.
Home at your finger.
1. Status of equipment’s in the room can be checked and monitor through website and mobile application.
2. Switch on/off lights and fans via voice of user as its mobile app supports voice recognition.
3. Remotely controlled on the System.
Your suggestions are kindly welcomed...


ASAC
Home
About
Contact
Student Email
Student Mobile Number
Tuition
100 JD
500 JD
1000 JD
Id
Name
Email
Mobile
Age
Titution
Total :


SlideBar / Add Remove Slides
In this sample you can create and/or modify a SlideBar using several different methods:
- addSlide - adds a new slide
- insertSlideAfter - adds a new slide after specified slide (in this example the selected slide)
- insertSlideAt - adds a new slide at specified position
- insertSlideBefore - adds a new slide before specified slide (in this example the selected slide)
- removeSlide - removes a slide (in this sample the selected slide)
- removeSlideAt - removes a slide at specified position from parent collection
- clearSlides - removes all slides


Nathan Tarter
Design Portfolio
I have been working with creative people developing rich and useful design elements for 10 years. Almost all my work is digital, but some ends up in print. Check out what I've been up to, and contact me if you want to chat.
Portfolio Contact


Namespace SmsZilla\Adapter
Classes summary
| AbstractAdapter | Abstract class of gateway adapter |
| CiscoAdapter | Adatpter for Cisco EHWIC and 880G for 3.7G (HSPA+)/3.5G (HSPA) |
| ClickatellAdapter | Send message through Clickatell provider. |
| FileAdapter | Save message as file. Creates separate file for every recepient. Folder with this files can be monitored by SMS gateway server. |
| InfobipAdapter | Send message through infobip.com provider. |
| MockAdapter | MockGateway for testing purposes |
| SerwerSmsAdapter | Send message through SerwerSms.pl provider. |
| SmsApiAdapter | Send message through SmsApi.pl provider. |
| SmsCenterAdapter | Send message through SmsCenter.pl provider. |
Interfaces summary
| AdapterInterface | Interface of the adapter to handle specified SMS gateway |


Let's work together. Submit your details in this form and I will get back to you ASAP.
I’ll contact you soon.
Oops! Something went wrong while submitting the form :(


https://material.io/develop/web/docs/getting-started/ https://material.io/tools/icons https://material-components.github.io/material-components-web-catalog/#/component/list https://material.io/develop/web/components/lists/ https://material.io/design/components/lists.html#types https://material.angularjs.org/latest/demo/select https://material-ui.com/demos/selects/ - React components that implement Google's Material Design. https://github.com/material-components/material-components-web/tree/master/packages/mdc-select


Mr. Kuwarjeet Singh
(Founder of Multi Thumbs)
Leadership
Multithumbs was founded by Kuwarjeet Singh. He has had experience in leading various teams in the domain of marketing, be it digital marketing, guerilla marketing, and traditional marketing. He has worked with multiple authors, bloggers, and travel companies, and has had vast industry experience. He also has his own YouTube channel where valuable tips regarding personal branding,SEO, and many more informative topics are shared.


Next: sin, Previous: zerop, Up: Numbers Dictionary
floor
number &optional divisor ⇒ quotient, remainder
ffloor
number &optional divisor ⇒ quotient, remainder
ceiling
number &optional divisor ⇒ quotient, remainder
fceiling
number &optional divisor ⇒ quotient, remainder
truncate
number &optional divisor ⇒ quotient, remainder
ftruncate
number &optional divisor ⇒ quotient, remainder
round
number &optional divisor ⇒ quotient, remainder
fround
number &optional divisor ⇒ quotient, remainder
number—a real.
divisor—a non-zero real. The default is the integer 1.
quotient—for floor, ceiling, truncate, and round: an integer; for ffloor, fceiling, ftruncate, and fround: a float.
remainder—a real.
These functions divide number by divisor, returning a quotient and remainder, such that
quotient\cdot divisor+remainder=number
The quotient always represents a mathematical integer. When more than one mathematical integer might be possible (i.e., when the remainder is not zero), the kind of rounding or truncation depends on the operator:
floor and ffloor produce a quotient that has been truncated toward negative infinity; that is, the quotient represents the largest mathematical integer that is not larger than the mathematical quotient.
ceiling and fceiling produce a quotient that has been truncated toward positive infinity; that is, the quotient represents the smallest mathematical integer that is not smaller than the mathematical result.
truncate and ftruncate produce a quotient that has been truncated towards zero; that is, the quotient represents the mathematical integer of the same sign as the mathematical quotient, and that has the greatest integral magnitude not greater than that of the mathematical quotient.
round and fround produce a quotient that has been rounded to the nearest mathematical integer; if the mathematical quotient is exactly halfway between two integers, (that is, it has the form integer+1\over2), then the quotient has been rounded to the even (divisible by two) integer.
All of these functions perform type conversion operations on numbers.
The remainder is an integer if both x and y are integers, is a rational if both x and y are rationals, and is a float if either x or y is a float.
ffloor, fceiling, ftruncate, and fround handle arguments of different types in the following way: If number is a float, and divisor is not a float of longer format, then the first result is a float of the same type as number. Otherwise, the first result is of the type determined by contagion rules; see Contagion in Numeric Operations.
(floor 3/2) ⇒ 1, 1/2 (ceiling 3 2) ⇒ 2, -1 (ffloor 3 2) ⇒ 1.0, 1 (ffloor -4.7) ⇒ -5.0, 0.3 (ffloor 3.5d0) ⇒ 3.0d0, 0.5d0 (fceiling 3/2) ⇒ 2.0, -1/2 (truncate 1) ⇒ 1, 0 (truncate .5) ⇒ 0, 0.5 (round .5) ⇒ 0, 0.5 (ftruncate -7 2) ⇒ -3.0, -1 (fround -7 2) ⇒ -4.0, 1 (dolist (n '(2.6 2.5 2.4 0.7 0.3 -0.3 -0.7 -2.4 -2.5 -2.6)) (format t "~&~4,1@F ~2,' D ~2,' D ~2,' D ~2,' D" n (floor n) (ceiling n) (truncate n) (round n))) |> +2.6 2 3 2 3 |> +2.5 2 3 2 2 |> +2.4 2 3 2 2 |> +0.7 0 1 0 1 |> +0.3 0 1 0 0 |> -0.3 -1 0 0 0 |> -0.7 -1 0 0 -1 |> -2.4 -3 -2 -2 -2 |> -2.5 -3 -2 -2 -2 |> -2.6 -3 -2 -2 -3 ⇒ NIL
When only number is given, the two results are exact; the mathematical sum of the two results is always equal to the mathematical value of number.
(function number divisor) and (function (/ number divisor)) (where function is any of one of floor, ceiling, ffloor, fceiling, truncate, round, ftruncate, and fround) return the same first value, but they return different remainders as the second value. For example:
(floor 5 2) ⇒ 2, 1 (floor (/ 5 2)) ⇒ 2, 1/2
If an effect is desired that is similar to round, but that always rounds up or down (rather than toward the nearest even integer) if the mathematical quotient is exactly halfway between two integers, the programmer should consider a construction such as (floor (+ x 1/2)) or (ceiling (- x 1/2)).
Next: sin, Previous: zerop, Up: Numbers Dictionary


Best Coffee Cookie in Seattle.
Welcome in, we are Pats salmon cookies, once a local family owned store we now have 5 locations world wide and we are growing every day. Go ahead and take a look around, we have wonderfull fishy cookies for sale
Welcome in, we are Pats salmon cookies, once a local family owned store we now have 5 locations world wide and we are growing every day. Go ahead and take a look around, we have wonderfull fishy cookies for sale
We at Pat's still hold those small family company values such as:
our cookies are the perfect crunch to your morining coffee with a little hint of SmokedSalmon at the back of a sweet butter flake pastry.
list locations
list hours for all stores
phone
snail mail


&
&
&
FFL President’s Report
Serrin M. Foster
MISSION DRIVE
Feminists for Life of America recognizes that abortion is a reflection that
our society has failed to meet the needs of women.
We are dedicated to systematically eliminating the root causes that drive women
to abortion-primarily lack of practical resources and support-through
holistic, woman-centered solutions.
Women deserve better than abortion.
The following are highlights of our recent work for women and children,
made possible by the sacrifice of our dedicated members and generous donors.
ADVOCACY and LEGISLATIVE EDUCATION
Educating Federal and State Legislators–and the Future Leaders:
Thanks to a very special donor for leadinga challenge match, FFL has been able to
provide lawmakers, their staffs, and student activists with “Pro-Woman Answers to
Pro-Choice Questions,TM” including talking points and a “Birthmothers Deserve Better”
article, as well as our
recently updated “Voices of Our Feminist Foremothers,” “You Have
Better Choices,” and our basic philosophical brochure. To date, FFL
has distributed 14,000 kits across the country!
Protecting Pregnant and Parenting Rape Victims from Rapists who Seek Visitation
At the invitation of Vermont Right to Life Committee, Serrin presented her landmark
speech, “The Feminist Case Against Abortion” at the Vermont State House for the
Roe v.Wade Anniversary.. During her address, Serrin advocated for legislation to
protect rape survivors (both mother and child) from rapists who seek custody or
visitation.
Serrin, FFL Vice President Sally Winn, and FFL speaker and rape survivor Joyce McCauley-Benner
provided feedback to various state level organizations working on similar legislation.
Twenty years after a coalition meeting to pass the Violence Against Women Act, when
Serrin first addressed the need to legally protect mothers and children conceived
during sexual assault from rapists seeking visitation and custody, half of the states
have enacted such laws.
FFL celebrated the 20th anniversary of the Violence Against Women Act and the 35th
anniversary of the Pregnancy Discrimination Act.
College Outreach Program
Serrin presented “The Feminist Case AgainstAbortion” across the country and often
to full houses, some standing room only. Stops on her tour included the University
of Vermont, Providence College(RI), TulaneUniversity(LA), George Mason University(VA),
the 2nd annual YaleUniversity pro-life conference Vita Et Veritas, Seattle University
(WA),Clarion University (PA), and the University of Chicago (IL), (which has a
section of their webpage devoted to abortion).
A year after her first lectures at Wofford University and Converse College in Spartanburg,
SC, Serrin returned to moderate the first ever back-to-back FFL Pregnancy Resource
Forums. Each panel, comprised of professors from both schools, arrived at joint
solutions for students on both campuses.
Pepperdine’s Dean of Student Affairs reported they now have scholarships to house
mothers and their children! (Serrin moderated an FFL Pregnancy Resource Forum there
years ago, and efforts continue!)
Serrin also moderated the 19th Annual Pregnancy ResourceForum at Georgetown University.
Sally presented “Refuse to Choose: Reclaiming Feminism” at Carroll College (MT),
the University of Michigan, the University of Wisconsin at Madison, the University
of Minnesota at St. Paul, the University of Wisconsin at Platteville, Georgia Tech,
and Williams College (MA). Sally addressed leaders at Students for Life of America’s
National Conference and the first SFL West Coast Conference-and she’s invited back
this January!
Sally moderated the first-ever FFL Pregnancy Resource Forum at Wooster, and another
at St. Louis University, where, inspired by a previous FFL speaker, a child care
fund was established years ago.Sally also led the second FFL Pregnancy Resource
Forum at Boston University, a year after Serrin led the first.
Sally also revisited the Susan B. Anthony Birthplace Museum in Adams, MA, which
has been beautifully restored by owner Carol Crossed.
Joyce McCauley-Benner presented “Victory over Violence” to students at the College
of St. Scholastica (MN), hosted by The Guiding Star. The Guiding Star is a pregnancy
resource center serving the poor, students, working parents, and victims of violence.
After hearing Sally Winn speak in Duluth several years ago, The Guiding Star’s founder
was inspired to put FFL’s principles into practice.
Joyce also addressed six hundred students at UC Berkeley. Another speaker at the
same event is a professor who has also performed abortions. Draped in condoms,
he waved a packet of RU-486 abortifacients, saying, “See, just pills!” Despite
overwhelming opposition, Joyce patiently answered questions from an audience surprised
to hear from a woman who chose “victory over violence” for herself and her child.
Former College Outreach Program Coordinator Chaunie Brusie addressed students at
Seattle University. Now a mother of four and a labor and delivery nurse, Chaunie
has published Tiny Blue Lines, about her unplanned pregnancy and pro-life leadership
on a Michigan campus; it includes information about FFL’s College Outreach Program.
(Seattle University invited Serrin this fall


| 1 | package fr.sii.ogham.core.retry; | |
| 2 | ||
| 3 | import java.util.concurrent.Callable; | |
| 4 | ||
| 5 | /** | |
| 6 | * A simple wrapper that allows to name a callable. This is useful to debug and | |
| 7 | * when there is an error. | |
| 8 | * | |
| 9 | * @author Aurélien Baudet | |
| 10 | * | |
| 11 | * @param <V> | |
| 12 | * the result type of method call | |
| 13 | */ | |
| 14 | public class NamedCallable<V> implements Callable<V> { | |
| 15 | private final String name; | |
| 16 | private final Callable<V> delegate; | |
| 17 | ||
| 18 | /** | |
| 19 | * Name a callable (action) for debugging purpose. | |
| 20 | * | |
| 21 | * @param name | |
| 22 | * the name of the action | |
| 23 | * @param delegate | |
| 24 | * the real callable | |
| 25 | */ | |
| 26 | public NamedCallable(String name, Callable<V> delegate) { | |
| 27 | super(); | |
| 28 | this.name = name; | |
| 29 | this.delegate = delegate; | |
| 30 | } | |
| 31 | ||
| 32 | @Override | |
| 33 | public V call() throws Exception { | |
| 34 |
4
1. call : All methods instructions replaced by: return null; → NO_COVERAGE 2. call : All methods instructions replaced by: return null; → TIMED_OUT 3. call : All methods instructions replaced by: return null; → KILLED 4. call : All methods instructions replaced by: return null; → KILLED |
return delegate.call(); |
| 35 | } | |
| 36 | ||
| 37 | public String getName() { | |
| 38 |
3
1. getName : All method body replaced by: return "" → NO_COVERAGE 2. getName : All method body replaced by: return "A" → NO_COVERAGE 3. getName : All methods instructions replaced by: return null; → NO_COVERAGE |
return name; |
| 39 | } | |
| 40 | ||
| 41 | } | |
Mutations | ||
| 34 |
1.1 2.2 3.3 4.4 |
|
| 38 |
1.1 2.2 3.3 |


It has a certain number of design limitations, but fully represents the content.
We recommend viewing the Flash version of the publication.


After having my old Bose SoundDock with an old iPhone 30pin plug standing around useless, I thought it is time to give this old device a new life and add Airplay to it.
After some research and dissembling the box I soon figured that the best place to put the additional hardware is the battery pack, I’ve actually never needed before. I use it in my living room and therefore this battery pack is just dead weight to me but the housing is a perfect place to fit a headless Raspberry Pi A+ in. So in the following I’m describing what you need to turn the old Bose SoundDock Portable into an Airplay device.
Requirements:
- Raspberry Pi A+ with 2 GB micro SD card
- Step-Down converter (20V to 5V/USB)
- HifiBerry DAC+ Standard Phone
- Nano Wifi Stick
- 3,5mm male to male aux cable (20cm)
- Micro USB cable (10cm)
- Soldering iron, solder wire, desoldering wick, some wires
- Hot glue gun
- Tools
Dissembling the battery pack
The battery pack comes off easily by turning the lock on the back of the box. Under the sticker saying “Do not open might explode” there are 4 Torx screws that allow you to open the battery pack. Disclaimer: Before opening the pack be sure that you know what you are doing and be careful. The warnings are not without any reason on there and you could harm you, the box, or others.
Having that said, after unscrewing the lid, the battery pack can carefully be removed from the casing (it is glued) and you can use the soldering iron to remove the plug that goes to the box from the board. Again be careful and you might wanna cut the wires coming from the battery first.
This plug you can afterwards glue in the lid of the housing, solder to the most left and most right pin a wire, and use more glue to isolate all the pins (these pins are in the end really close to your Raspi and you don’t want to apply these 20V of the box directly to some components of it.
Preparing the Raspi
Since we’re powering the Raspi directly from the box and don’t want this box and the Raspi running all the time we want a very robust installation that has no problems with power outages. This is done by having a read only filesystem on the card. For the AirPlay client we use Shairport. Since the Raspi A+ has no network and only one USB port I highly recommend to use a USB hub or a model B for the installation.
The general idea of the setup is:
- Install Raspbian, remove unnecessary software (xserver, hwclock, swap, etc), Wifi stick, and connect it to the local WLAN
- Install and Tweak Shairport Shairport
- Install HifiBerry
- Make the disk read only
Install Raspbian
There are several good tutorials on the net how to install Raspbian, so I’m not going into any details here. Also this tutorial is based on the very good tutorials for installing Shairport of Wel!s Blog and creating a read only Raspbian installation of K3A. I just assume you have a up to date Raspbian installation and used raspi-conf
to expand your partition to the size of the disk.
First of all you want to get rid of all the unnecessary things [1][2]:
sudo apt-get remove x11-common x11-utils x11-xkb-utils libx11-6 lxde-common
sudo apt-get remove wolfram-engine triggerhappy cron anacron logrotate
sudo apt-get remove dphys-swapfile xserver-common lightdm fake-hwclock
sudo apt-get autoremove
sudo dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
sudo apt-get autoclean
sudo apt-get install busybox-syslogd ntpdate
sudo dpkg --purge rsyslog
The next step is to disable the filesystem check (since you just uninstalled the hwclock), edit /boot/cmdline.txt
and add to the end of the line [2]:
fastboot noswap
Install and Tweak Shairport
Installing Shairport is pretty straight forward [1]:
git clone https://github.com/abrasive/shairport.git
sudo apt-get install avahi-utils libssl-dev libao-dev libpulse-dev libasound2-dev
cd shairport
make
sudo make install
Now everything is installed an you have to add the user shairport, edit the config file and make sure Shairport is started during booting [1]:
sudo adduser --system --disabled-login --ingroup audio shairport
sudo nano /etc/default/shairport
sudo update-rc.d shairport defaults
Note that the AP_NAME only allows names without any blank spaces. I didn’t like that, so I modified the file /etc/init.d/shairport
. The general problem with this file is that the options string for executing shairport in recursively created, wich makes it really hard to escape any blanks or special characters. A quick workaround is to comment out the part where AP_NAME is added to the options sting and rather add is directly using the parameter
-name $AP_NAME
Install HifiBerry
There is a tutorial available on the HifiBerry homepage. With the newest Rasbian distribution the setup, was however slightly different.
First you wanna disable the internal sound card by blacklisting the sound card driver, so edit /etc/modprobe.d/raspi-blacklist.conf
blacklist snd_bcm2835
then you need to change the dtoverlay value in the /boot/config.txt
dtoverlay=hifiberry-dacplus
and create the /etc/asound.conf
file
pcm.!default {
type hw card 0
}
ctl.!default {
type hw card 0
}
This should do the trick and load your HifiBerry sound card during startup.
Make the disk read only
The last part is itself not so difficult but may result in strange behavior during startup. I had the problem that during startup my Raspi was stopping von 1,5 minutes or didn’t give the wlan0 any IPv4 address. If you run in problems like this you might want to try to remove the dhcpcd package and install connman. I also had to manually trigger the IPv4 DHCP request by adding dhclient -4 wlan0
to /etc/rc.local
.
In any case you want the folders with temporary data as tmpfs mounted file systems and your /boot and / as readonly. This results in the following /etc/fstab
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults,ro 0 2
/dev/mmcblk0p2 / ext4 defaults,ro 0 1
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/lib/dhcp tmpfs defaults 0 0
tmpfs /var/run tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/spool tmpfs defaults 0 0
Test it
Now your Airplay Server should work and you are ready to test it. If there is a problem with the setup you can always make the filesystem writeable with the following command:
mount -o remount,rw /
Reassembling the SoundDock
When everything works fine you can start to reassemble the housing. I used a wire cutter to remove the plastic parts on the bottom of the housing and my Raspi A+ fits in perfectly. I then attached the Pi with the USB-cable and the step-down converter to the power source that supposed to be charging the batterie, and drilled a hole for the aux cabe. With a bit of try and error I fit everything back in the housing, was able to close the lid and when re-attaching it to the box everything worked like a charm.
And some more pics:


Hello, Evan
10:32 AM
Design practice project:
Design a logo for yardlumber, a construction company specializing in fancy woodcuts.
Reload Featured Pages


How many Years, Months & Days Years Months Days Pick a date Pick another date < previous next > Sun Mon Tue Wed Thu Fri Sat close ☒


Hypertext Help with LaTeX
\pagestyle
\pagestyle{option}
The \pagestyle
declaration changes the style
from the current page on throughout the remainder of your document.
The valid options are:
- plain - Just a plain page number.
- empty - Produces empty heads and feet - no page numbers.
- headings - Puts running headings on each page.
The document style specifies what goes in the headings.
- myheadings - You specify what is to go in the
heading with the \markboth or the
\markright commands.
See also
\markboth and
\markright
See also Page Styles
Back to the Table of Contents
Revised 29 Jun 1995.


We engage with civil society to enact behavioural change and make cycling for daily trips safe and comfortable for all.
We lobby for better bicycling infrastructure and policies in the country, and support programs and planning that place people at the heart of our streets and cities.
We leverage technology to make data-driven decisions and scale impact driven initiatives to facilitate cycling.


| Animation | Color 1 | Color 2 | Colors | Arg1 | Arg2 | Arg3 | Arg4 | Arg5 | Arg6 | Arg7 | Arg8 | Wait ms | Steps | Target | Send |
|---|
| Name | Brightness | Number of LEDs | Max milliwatts | Target Group ID | Ping (ms) | Status |
|---|
| Animation | Color 1 | Color 2 | Colors | Arg1 | Arg2 | Arg3 | Arg4 | Arg5 | Arg6 | Arg7 | Arg8 | Wait ms | Steps | Target | Send |
|---|
| Controller | Initialized | Connected | Version | Hash match | Mode |
|---|


A month ago I was hanging out with my friend Chris. We were having our weekly meetup, talking about our approach to our work, recent experiences, and just enjoying our surroundings. I noticed a connect four game sitting in the corner, on a dark wooden ledge. The old, disjoint of additive and subtractive primary colors, blue and yellow plastic version of the game would have done the trick, but this was even better. It was a wooden version of the board. There were two wooden dowels, each half the width of the board, inserted just beneath the bottom row, which held the pieces in the board. When you draw them out, one from each side, the game is reset and the pieces fall to the bottom of the game board.
“I’m sure there’s some simple heuristics to this I’ve long since forgotten.”
“Yeah, I used to play this all the time.”
“What’s the quickest way to lose…? Oh right, allow the opponent to get three in a row on the bottom with an open slot to the right and left.”
And on and on we went. We played for almost an hour until we hit upon an improvement.
“Let’s enact the chess rules around checkmate. You have to call check, and you can’t move in a way that will cause you to lose the game on the next turn.”
“Right, so you can’t win by distracting someone, or because they didn’t see you stacking three pieces in a row, you have to win by building an inescapable trap, like check-mate.”
This new approach instantly changed our engagement with the game. We are probably not the first people to hit upon this strategy (a perfunctory search failed to falsify this notion), but we redoubled our interest in this simple game simply by adding a dimension to it, one which forced us into a different mode of thinking.
This experience got me thinking about games and AI. I had previously implemented an Othello AI for a class at SIUE, and had a wonderful time doing it. I spent a week, just tuning the various heuristics. I improved it to the point that I could almost never beat it myself.
I saw what had to be done, and set about doing it. I began the implementation of a connect four AI. I didn’t know exactly what form it would take, or if it would even be completed. I am enthralled by algorithms and their ability to leverage some bit of truth. A wrench allows its user to bring leverage to bear on a physical task, and so it is with algorithms and the domain of information. We are not shocked by the fact that a person can wring some elements from the earth and form them into a tool that is stronger and more durable than its maker. However, this is much more shocking when it happens with informational tools. My goal for the connect four AI was to build just such a tool.
This task is certainly not new territory. Connect four is a classic example for AI programming exercises everywhere. There’s even one from the precambrian era of interactive web development, implemented in cgi. I set about this for the joy of seeing it done. What will follow is an account of my implementing the AI and the various projects that have followed from it.
If you are wondering where this is going, like all truly interesting projects in the 21st century, this one leads to Github, the Raspberry Pi, being a maker, and composing elements of high complexity to form modules of even higher complexity. My next post will describe the above linked connect four algorithm in detail. Look for it soon.


@Retention(value=RUNTIME)
@Target(value={METHOD,CONSTRUCTOR})
public @interface UseCase
Simple Invocation Notation
Simple Invocation Notation (SIN) is used within UseCases to specify objects to use when invoking
methods and evaluating results.
When nesting SIN types the nested type must be bracketed by [].
e.g. for a map of string to list of integers:
m:'key1'=[l:1,2,3], 'key2'=[l:4,5,6]
SIN Types
'str' or str:str
= String type = new String("str") true or b:true
= boolean true false or b:false
= boolean false 1 or i:1
= integer type = 1 (integer) d:1.5, 1.5
= double type = 1.5 (double) float:1.5 or 1.5f
= float type = 1.5f (float) lg:1 or 1l
= long type = 1l (long) short:1 or 1s
= short type = 1 (short) l:1,2,3
= list type = new ArrayList containing Integers 1, 2 and 3. m:'key1'=1,'key2'=2
= HashMap type = new HashMap containing string keys key1 and
key2 mapped to integers 1 and 2 respectively. s:1,2,3
= HashSet type = new HashSet containing Integers 1, 2 and 3. a:'x','y','z'
= Object array type = new String[3]{"x", "y", "z"} pa:1,2,3
= primitive array type = new int[3]{1,2,3} ea:[d:]
= empty primitive array type of given type = new double[] {} f:resources/test.xml
= File type = new File("resources/test.xml"), relative from
project root sf:resources/test.xml
= String from File type = contents of file
resources/test.xml, relative from project root, as a String sl:1,2,3
= Stub expression list type = special list type used to define stub
invocation results. instanceA or ni:instanceA
= named instance "instanceA". However by convention
names should be in the format "ClassA/instanceA"ClassA/xyz
= named instance "ClassA/xyz" ClassA/useCaseA!
= Re-execute UseCase named "ClassA/useCaseA" and return the
value it returnsClassA/useCaseA!123
= named instance "ClassA/useCaseA!123" if it exists.
Otherwise re-execute and return value returned by UseCase named "ClassA/useCaseA", and store
value as "ClassA/useCaseA!123"retval
= return value of UseCase this
= the instance of this class used by this UseCase namedInstance
= value of a named instance i.e. a UseCase or NamedInstance name
MyClass1
= MyClass1.class, where MyClass1 is any source class within a
Sureassert-active project in the workspacemypackage/mysubpackage/MyClass1
= mypackage.mysubpackage.MyClass1.class (any
class on project classpath)MyClass.field1
= value of static field on class this.field1
= value of field on the UseCase's instance MyClass.staticMethod(arg1, arg2)
= value of static method invoked on class namedInstance.method(arg1, arg2)
= value of method invoked on instance method(arg1, arg2)
= value of method invoked on this instance i.e.
this.method(arg1, arg2) new MyClass(arg1, arg2)
= new instance of class new MyClass(arg1, arg2) {field1=val1, field2=val2}
= new instance of class, with
some fields set to values. new MyClass(arg).method(arg).field
= value of field on return value of method
invoked on new class. retval.equals('a string with [']with quotes['] and /[square brackets/] and a single // forward-slash')
= Example of escaping: evaluates to: a string with 'with quotes' and [square brackets] and a
single / forward-slash'. *
(in args) = Generate default implementation of interface or abstract
class argument and pass as argument. *MyInterface
= Generated default implementation of MyInterface (MyInterface
must have been declared for default implementation generation using defaultimpls)=(a,b)
= (a==null && b==null) || (a!=null && a.equals(b))==(a,b)
= a == b!=(a,b)
= a != bisa(a,b)
= a instanceof b where b is a class e.g. MyClass or java/io/File
>(a,b)
= a > b<(a,b)
= a < b>=(a,b)
= a >= b<=(a,b)
= a <= b!(a)
= !o&(a,b)
or &&(a,b)
= a && b|(a,b)
or ||(a,b)
= a || b+(a,b)
= append two strings#(a,n)
= a[n] where a is an array and n is an element index#=(a,b)
= deep array value equality i.e. Arrays.deepEquals(a, b) where a and
b are arrays| Modifier and Type | Optional Element and Description |
|---|---|
java.lang.String[] |
a
Shorthand for
args |
java.lang.String[] |
after
A list of SIN Expressions to execute after executing this UseCase.
|
java.lang.String[] |
args
The arguments to pass to the method; one SIN value/expression per argument.
|
java.lang.String[] |
before
A list of SIN Expressions to execute before executing this UseCase.
|
java.lang.String |
d
Shorthand for
description |
java.lang.String[] |
debug
A number of SIN expressions that the user wishes to be evaluated
for debug purposes.
|
java.lang.String[] |
defaultimpls
A list of fully-qualified class names of interfaces or abstract classes
for which a default implementation will be created.
|
java.lang.String[] |
depends
A list of names of UseCases on which this UseCase depends, used to order execution of
UseCases where it is necessary to override the default execution order calcaulted
by the Sureassert UC engine.
|
java.lang.String |
description
An optional free-text description of this UseCase for documentation purposes.
|
java.lang.String[] |
e
Shorthand for
expect |
java.lang.String |
ee
Shorthand for
expectexception |
java.lang.String[] |
expect
Expressions to evaluate against the value returned by the method, each a boolean SIN
Expression.
If evaluating the return value the expression =(retval, <expr>) may be
replaced
by the shorthand <expr> . |
java.lang.String |
expectexception
The simple class name of an Exception that is expected to be thrown by this UseCase.
|
java.lang.String |
i
Shorthand for
instance |
java.lang.String |
instance
An expression returning an instance on which this UseCase will be invoked.
|
java.lang.String |
instanceout
A name to assign the instance on which the UseCase is executed, post-execution.
|
java.lang.String |
io
Shorthand for
instanceout |
java.lang.String |
n
Shorthand for
name |
java.lang.String |
name
If set, for non-void methods, the name to assign the instance returned by this UseCase.
|
java.lang.String[] |
s
Shorthand for
stubs |
java.lang.String[] |
stubs
A list of method or source stub definitions.
|
java.lang.String[] |
t
Short-hand for
template |
java.lang.String[] |
template
One or more UseCase names from which properties will be copied over to this UseCase.
|
java.lang.String[] |
v
Shorthand for
verify |
java.lang.String[] |
verify
A list of method invocations that are expected to be executed under the UseCase.
|
java.lang.String[] |
vs
Short-hand for
vstubs |
java.lang.String[] |
vstubs
Specifies stubs as per
stubs . |
public abstract java.lang.String name
ucName!
notation to re-run the UseCase named ucName
and use the new
instance returned by the re-run.Clazz/name
where Clazz
is the simple name of the class on which the UseCase is defined, and name
is a
unique name within that class.public abstract java.lang.String n
name
public abstract java.lang.String description
public abstract java.lang.String d
description
public abstract java.lang.String[] args
public abstract java.lang.String[] a
args
public abstract java.lang.String instance
ucName!
notation to re-execute a named UseCase (typically defined on a
constructor) to return a new instance. instance
and depends
can be
specified.public abstract java.lang.String i
instance
public abstract java.lang.String[] depends
instance
and depends
can be
specified.public abstract java.lang.String[] expect
=(retval, <expr>)
may be
replaced
by the shorthand <expr>
. I.e. if the return value is not a boolean or a
class (or the expression itself is a boolean literal), =(retval, <expr>)
is assumed. isa(retval, <expr>)
. 'failure message':expectExpr
can be used
where 'failure message'
is a message to use in the error marker if
expectExpr
evaluates to false.public abstract java.lang.String[] e
expect
public abstract java.lang.String expectexception
public abstract java.lang.String ee
expectexception
public abstract java.lang.String[] verify
stubs
expressions.Foo.bar(int)
or omit the param to match any method with this name. Foo.bar(<(arg,5))
.public abstract java.lang.String[] v
verify
public abstract java.lang.String instanceout
public abstract java.lang.String io
instanceout
public abstract java.lang.String[] before
this
named instance is available
for use, but retval
and $argN
are not.public abstract java.lang.String[] after
expect
expressions are available to the
after
expressions.public abstract java.lang.String[] stubs
sourceStubVar=expression
, where
sourceStubVar
is the name of a source stub variable defined in-line within code
comments of any class executed under the UseCase. expression
is a SIN Expression
that replaces the implementation of the stubbed method.
signature=expression
, where signature
is
the signature of the method to be stubbed and expression
is a SIN Expression
that replaces the implementation of the stubbed method.
signature=[sl:expression]
, in order for a
method to be assigned a "stub list" of expressions to be used as return values of
the stubbed method. The items in the list are iterated for each invocation of the stubbed
method by the UseCase. Where the number of invocations exceeds the number of stub
expressions in the list, the last defined stub expression is used. signature^=exceptionExpression or [sl:exceptionExpression]
to throw an
exception from the stubbed method, where exceptionExpression is an expression which
evaluates to an exception throwable from the stubbed method. signature
s are defined as class.method
,
class.method()
or class.method(arg1class, ..., argNclass)
where:
class
is the simple or fully-qualified class name of the stubbed method.
Fully-qualified names must use /
as the package separator rather than
.
method
is the name of the method to stub and argXclass
is the simple or fully-qualified class name of each argument of the
stubbed method. Note that methods are matched based on whether the classes of arguments
passed at runtime are assignable to the specified argument classes.class.method
notation is used, the stub expression will be applied to all
methods with the given name.public abstract java.lang.String[] s
stubs
public abstract java.lang.String[] vstubs
stubs
. However stubs specified with vstubs
must be invoked during UseCase execution in order for the UseCase to pass.
Effectively vstubs
are treated as both stubs
and
verify
expressions.public abstract java.lang.String[] vs
vstubs
public abstract java.lang.String[] defaultimpls
*simpleClassName
notation, e.g. to use a new instance of the generated class, specify
new *simpleClassName()
public abstract java.lang.String[] template
public abstract java.lang.String[] t
template
public abstract java.lang.String[] debug


Interact, discuss, and learn about our grassroots partners.
We care a lot about creating a community around giving - to make the experience more rewarding and participatory than just simply cutting a check. In our community section, you can join a giving team to reach a goal together, connect with other donors, and read about our grassroots partners and their activities globally.


SCROLLHOLE is a scrolling interface for making sound, designed by Gina Collecchia and Eric Heep. Scroll up and down to travel through the hole. Scroll long enough, fast enough, and you WILL be rewarded.
Submitted for the 2020 BitRate Hackathon, sponsored by Gray Area and Google. Made with Tone.js, P5.js, and Magenta.js.
Did you find a BUG? Submit an issue at github.com/ginacollecchia/scrollhole. Special thanks to Myles Borins for help with Node shtuff!
tap for sound!


| ID # | Opened By | Cust. Email | Sbuject | Status | Assign to | Date | |
|---|---|---|---|---|---|---|---|
| 1011 | Genelia Deshmukh |<EMAIL_ADDRESS>| How to customize the template? | New | Johnathon | 14-10-2017 | |
| 1224 | Ritesh Deshmukh |<EMAIL_ADDRESS>| How to change colors | Complete | Salman khan | 13-10-2017 | |
| 1024 | Govinda Mauli |<EMAIL_ADDRESS>| How to set Horizontal nav | Complete | Hritik Roshan | 13-10-2017 | |
| 2124 | Raja Mauli |<EMAIL_ADDRESS>| How this will connect with bahubali | Pending | Hritik Roshan | 12-10-2017 | |
| 3124 | Rana Dagubati |<EMAIL_ADDRESS>| How to set navigation | Complete | Hritik Roshan | 12-10-2017 | |
| 1611 | Tony Deshmukh |<EMAIL_ADDRESS>| How to customize the template? | New | Johnathon | 14-10-2017 | |
| 4224 | Ritesh Deshmukh |<EMAIL_ADDRESS>| How to change colors | Complete | Salman khan | 13-10-2017 | |
|
|


Please consider enabeling it in order to use this website.
Are you sure you want to import the selected file? Any unsaved data will be lost.
Really clear all data associated with this game? Any unsaved data will be lost.


Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
This specification defines an interface to help web developers measure the performance of their applications by giving them access to frame performance data to facilitate Smoothness (i.e. Frames per Second and Time to Frame) measurements.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This is a work in progress and may change without any notices.
Please send comments to<EMAIL_ADDRESS>(archived) with [PerformanceTimeline] at the start of the subject line.
This document is produced by the Web Performance Working Group. The Web Performance Working Group is part of the Rich Web Clients Activity in the W3CInteraction Domain.
Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
This section is non-normative.
Web developers need the ability to assess and understand the performance characteristics of their applications. While JavaScript [ECMA262] provides a mechanism to approximate application Frames per Second (FPS) and Time to Frame (TTF) (by calling a nearly empty requestAnimationFrame in a loop), the precision of this method has a high variance. Some example situations where this returns misleading results are:
This document defines the PerformanceMainFrameTiming
and PerformanceCompositeTiming
interfaces, and extensions to the Performance
interface, which expose frame performance data to be used for smoothness measurements.
All diagrams, examples, and notes in this specification are non-normative, as are all sections explicitly marked non-normative. Everything else in this specification is normative.
The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in the normative parts of this document are to be interpreted as described in RFC2119. For readability, these words do not appear in all uppercase letters in this specification. [RFC2119]
Requirements phrased in the imperative as part of algorithms (such as "strip any leading space characters" or "return false and abort these steps") are to be interpreted with the meaning of the key word ("must", "should", "may", etc) used in introducing the algorithm.
Some conformance requirements are phrased as requirements on attributes, methods or objects. Such requirements are to be interpreted as requirements on user agents.
Conformance requirements phrased as algorithms or specific steps may be implemented in any manner, so long as the end result is equivalent. (In particular, the algorithms defined in this specification are intended to be easy to follow, and not intended to be performant.)
The IDL fragments in this specification must be interpreted as required for conforming IDL fragments, as described in the Web IDL specification. [Web IDL]
The construction "a Foo
object", where Foo
is actually an interface, is sometimes used instead of the more accurate "an object implementing the interface Foo
".
The term "JavaScript" is used to refer to ECMAScript [ECMA262], rather than the official term ECMAScript, since the term JavaScript is more widely known.
This section is non-normative
The PerformanceMainFrameTiming
and PerformanceCompositeTiming
interfaces and extensions to the Performance
interface give web developers access to browser smoothness information so they can better measure the performance characteristics of their applications.
Performance
Interfacepartial interface Performance { void clearSmoothnessTimings(); void setSmoothnessTimingBufferSize(unsigned long maxSize); attribute Function onsmoothnesstimingbufferfull; };
clearSmoothnessTimings
method
The method clearSmoothnessTimings
clears the buffer used to store the current list of PerformanceMainFrameTiming resources.
No parameters
No return value
No additional exceptions
setSmoothnessTimingBufferSize
method
The setSmoothnessTimingBufferSize
method, when invoked, must set the maximum number of PerformanceMainFrameTiming resources that may be stored in the buffer to the value of the maxSize parameter.
If this method is not called, the user agent should store at least 150 PerformanceMainFrameTiming resources in the buffer, unless otherwise specified by the user agent.
if the maxSize parameter is less than the number of elements currently stored in the buffer, no elements in the buffer are to be removed. The maxSize parameter will apply only after the clearSmoothnessTimings method is called.
Parameters
inmaxSize
type of unsigned long
The maxSize parameter sets the maximum number of PerformanceMainFrameTiming resources that will be stored in the buffer.
No return value
No additional exceptions
onsmoothnesstimingbufferfull
attributeThe callback onsmoothnesstimingbufferfull is triggered when the buffer used to store the list of PerformanceMainFrameTiming is full. The callback can be used to package existing PerformanceMainFrameTiming resources and clear the buffered PerformanceMainFrameTiming list. While executing the onsmoothnesstimingbufferfull callback, PerformanceMainFrameTiming will continue to be collected beyond the maximum limit of the resources allowed in the PerformanceMainFrameTiming interface until one of the following occurs:
clearSmoothnessTimings
is called - The PerformanceEntryList will begin with the n+1th item if it exists and the first n elements are released, where n is the maximum number of resources allowed in the PerformanceMainFrameTiming interface. If the n+1th item does not exist, the buffer is cleared. The max length of the PerformanceEntryList does not change unless otherwise specified by setSmoothnessTimingBufferSize
.setSmoothnessTimingBufferSize
is called - The PerformanceEntryList will extend and / or truncate to the buffer size specified.clearSmoothnessTimings
or setSmoothnessTimingBufferSize
is called during the execution of the onsmoothnesstimingbufferfull callback - no updates are made to the PerformanceEntryList.PerformanceMainFrameTiming
Interfaceinterface PerformanceMainFrameTiming : PerformanceEntry { readonly attribute unsigned long sourceFrameNumber; readonly attribute double cpuTime; };
The PerformanceMainFrameTiming interface participates in the Performance Timeline and extends the following attributes of the PerformanceEntry interface:
The name
attribute will return the name of the requesting document.
The entryType
attribute will return the DOMString
mainframe
.
The startTime
attribute will return a DOMHighResTimeStamp
with current frame's beggining time value [High Resolution Time].
The duration
attribute will return a DOMHighResTimeStamp
with the duration of the frame, computed by subtracting the startTime
of the next frame from startTime
of the current frame.
sourceFrameNumber
attribute
The sourceFrameNumber
attribute must return the source frame number for the event. This is used to correlate PerformanceMainFrameTiming
and PerformanceCompositeTiming
events to measure time-to-frame delays. This may be null.
cpuTime
attribute
The cpuTime
attribute must return a [High Resolution Time]
duration giving the total CPU time used to process this frame.
PerformanceCompositeTiming
Interfaceinterface PerformanceCompositeTiming : PerformanceEntry { readonly attribute unsigned long sourceFrameNumber; };
The PerformanceCompositeTiming interface participates in the Performance Timeline and extends the following attributes of the PerformanceEntry interface:
The name
attribute will return the name of the requesting document.
The entryType
attribute will return the DOMString
composite
.
The startTime
attribute will return a DOMHighResTimeStamp
with event's time value [High Resolution Time].
The duration
attribute will return a DOMHighResTimeStamp
of value 0.
sourceFrameNumber
attribute
The sourceFrameNumber
attribute must return the last known source frame number for the event. This is used to correlate PerformanceMainFrameTiming
and PerformanceCompositeTiming
events to measure time-to-frame delays.
The time values stored within the interface must monotonically increase to ensure they are not affected by adjustments to the system clock. The difference between any two chronologically recorded time values must never be negative. The user agent must record the system clock at the beginning of the navigation and define subsequent time values in terms of a monotonic clock measuring time elapsed from the beginning of the navigation.
This section is non-normative.
The interfaces defined in this specification expose potentially sensitive timing information on specific JavaScript activity of a page. However, unlike other interfaces defined in the Performance Timeline, the interfaces defined in this specification do not have any restrictions on sharing timing information through script. This is because the web platform has been designed with the invariant that any script included on a page has the same access as any other script included on that page regardless of the origin of the script.
Thanks to Enne Walker, Rick Byers and Chris Harrelson for their helpful comments.


JPY Futures: looks neutral/bullish near-term
by Pablo PiovanoAccording to flash data from CME Group for JPY futures markets, open interest went up for the third session in a row on Thursday, now by just 396 contracts. Volume, instead, reversed the previous build and shrunk by around 7.4K contracts.
USD/JPY faces further consolidation
USD/JPY keeps navigating the consolidative theme below the 109.00 handle amidst increasing open interest and erratic performance in volume in the Japanese safe haven. That said, extra rangebound looks the most likely scenario for the time being, always closely following the developments from the US-China trade front.


Redirecting…
Several redirections on json-schema.org are special cases:
- The unversioned meta-schema URIs should no longer be used.
- The vocabularies are represented by their specification text.
- The "latest" specification URIs are for convenice of browser
bookmarking only.
Click here if you are not redirected.


Here are all the jobs to be completed this week.
| No. | Address |
|
|---|---|---|
| 00021 | 1234 Austin Drive, Austin TX 77001 | Inspect |
| 00025 | 4321 Bobby Lane, Austin TX 77001 | Cleaning |
| 00026 | 5678 Longand Blvd, Austin TX 77001 | Cleaning |


YOLO Annotation
Lately, I have been reading about YOLO and this note is about how the annotations are stored for training YOLO.
Each image in the dataset should have a corresponding txt
file. The bounding box in the image is represented by each line in the text file. The syntax of the line is as follows:
class_id x y w h
x
and y
are coordinates of the mid point of the bounding box. w
and h
are the width and height of the bounding box. The values for x
, y
, w
and h
are expressed relative to the image(ratio).
Let’s say, im_w
and im_h
are the width and height of an image, and (x_min, y_min)
and (x_max, y_max)
are two diagonally opposite coordinates of a bounding box. To convert them into YOLO metrics, we find the midpoint of the bounding box- ((x_min + x_max) / 2 , (y_min + y_max) / 2)
. The width and height of bounding box is given by x_max - x_min
and y_max - y_min
. Then to express the values relative to image, we divide these values by im_w
and im_h
.
x
= (x_min + x_max) / (2 * im_w)
y
= (y_min + y_max) / (2 * im_h)
w
= (x_max - x_min) / im_w
h
= (y_max - y_min) / im_h
Below is the Python code.
Manivannan has shared an annotation tool and wrote about how to use it. Please note that his tool is in Python 2 and with some edits will work on Python 3.


{% extends "layout.html" %} {% block page_title %} Apply for European Structural and Investment Funding {% endblock %} {% block content %} {% include "includes/phase_banner_alpha.html" %} Home Call list Application overview Previous projects {% include 'includes/page_errors.html' %} About your organisation (1 of 2) Organisation details Previous Projects Has this organisation previously worked on a project funded through ESF, ERDF or EAFRD Has this organisation previously worked on a project funded through ESF, ERDF or EAFRD Yes No Please provide the reference number and fund name for all previous and existing EU-funded projects your organisaiton has been involved in. Alternatively provide the project name, your organisation's role. (Include any ESF, ERDF, EARFD, EAGGF or RDPE projects form the 2000-06 and 2007-2013 programmes.) Reference Fund name Next Save and return to dashboard {% include "includes/application_info.html" %} {% include "includes/secondary_nav.html" %} {% endblock %}
Please provide the reference number and fund name for all previous and existing EU-funded projects your organisaiton has been involved in. Alternatively provide the project name, your organisation's role. (Include any ESF, ERDF, EARFD, EAGGF or RDPE projects form the 2000-06 and 2007-2013 programmes.)


Behavioral Intervention through Mobile Devices: a framework and an example
2015/07/01
Ting-Shuo Yo
Abstract
Here we reported a framework for conducting behavioral intervention through mobile devices with an implemented example for concussion clinic. The proposed framework has a design with separate modules for the clinical content and the technological infrastructure, and hence can be adapted into other applications by replacing the content. The implementation used a web-app front-end (
ionic framework) and a full-stack JavaScript back-end (
MEAN.js), and the source code can be found on GitHub.
1 Introduction
Behavioral intervention technologies (BITs) enable clinic workers to apply behavioral and psychological intervention through digital media. This approach provide new opportunities and strategic advantages in supporting physical and mental health. In this report, we present a real-world BIT design using mobile and cloud technologies for concussion clinic, along with a working prototype.
2 Project Statement
The conventional intervention of concussion patients is unidirectional. The patients receive a booklet after the clinic visit, and whenever a symptom reoccurs, the patient can only follow the instructions on the booklet or visit the clinic again. Meanwhile, the clinic workers have no information about the patients until they come to the clinic again. Thanks to the telecommunication technology today, most patients have their own smartphone and are connected to internet most of the time. This infrastructure provides an advantage to keep the patients and the clinic workers connected and interventions can be delivered interactively.
In this project, we proposed a design leverages the smartphone and cloud technologies for better behavioral intervention in concussion clinic. The proposed system provides three main benefits: (1) real-time tracking, (2) responsive interaction, and (3) enabling large scale data collection for future analysis. The participated patients will install a mobile app with a simple configuration during their clinic visit, and they can use the app to record their own condition any time. A set of predefined logic will determine what intervention to deliver according to the severity of the recorded symptoms, and automatically synchronize the records to the cloud server for clinic workers to review and perform further analysis.
3 System Analysis and Design
In order to fulfill the requirements of real-time tracking, interactive intervention, and data collection, a system infrastructure with mobile client and web server is needed. The general description of the system is illustrated in figure 1. Hence, the design of the system can be divided into two major parts: the mobile client (mobile app) and the cloud data management (web app).
Consulting with the clinic workers, we categorized 3 major user scenario:
-
Initialization phase.
-
Follow up evaluation and responsive intervention.
-
Follow up monitoring.
Each of the scenario involves different parts of the system. The sub-systems used in each scenario are shown in figure 2.
In the initialization phase, the clinic worker has to setup an user ID for the participated patient, and install the mobile app on the patient’s smartphone. After the clinic visit, the paticippated patient will use the mobile app to record his/her own condition and the receive corresponding intervention. The mobile app will automatically synchronize the records to the cloud server, and hence the clinic worker can perform follow up monitoring and analysis without disturbing the participant. Figure 3, 4, and 5 illustrate the user flow of each scenario.
Further system analysis on the mobile app was conducted with the clinic professionals. Figure 6 shows the work flow of the mobile app.
4 Implementation and Deployment
The system was implemented with full-stack javascript. The mobile part used
ionic framework and the server part used
MEAN.js solution. The source code can be found at
Github under the
MIT license, and the deployment instruction can also be found on the
Github.
5 Concluding Remark
The system is currently in testing phase, so we will update the conclusion afterward.


Habit Club is an online community that supports personal growth one habit at a time. We allow you the ability to work on existing habits or start a new habit by joining groups or creating new groups. Habit groups are created by members like you! Choose whether you would like a public or private group.
Track your progress for each habit. Get instant reminders and feedback. Be supported by a community.
Let us help you start a new habit today!


PgnViewerJS was born as the third or fourth attempt to get a nice PGN viewer for our chess club web site. PGN stands for Portable Game Notation which was born in the late 80s, early 90s of the last century. I provided some of the translations there ...
I first started using pgn4web and others as part of our Wordpress Installation, but I had difficulties here and there. At the end, I wanted to have a viewer that was at least as nice as the one from chess.com
The implementation contains the following parts:
To start with PgnViewerJS, you have to do the following steps:
examples
.div
section with a unique ID.script
section that defines which API of the
viewer should be used. See the
examples section how to do it.


The
dotnet nuget push
command pushes a package to the server and publishes it. The push command uses server and
credential details found in the system's NuGet config file or chain of config files. For more information on config files, see
Configuring NuGet Behavior.
NuGet's default configuration is obtained by loading
%AppData%\NuGet\NuGet.config (Windows) or
$HOME/.local/share (Linux/macOS), then loading any
nuget.config or
.nuget\nuget.config starting from
the root of drive and ending in the current directory.
The command pushes an existing package. It doesn't create a package. To create a package, use dotnet pack
.


THE SOONG SISTERS
Directed by Mabel Cheung
The Screen NR 148 min.
"Once upon a time in China there were three sisters. One loved money, one loved power, and the third loved her country."
With this legend, over black-and-white footage of three little girls on swings, begins the historical drama of one of modern China's most fascinating families, in an epic film directed by Mabel Cheung from a screenplay by her partner Alex Law. The quote lays out several things for us - the locus of the movie's heart, the tone of its telling, and the source of some of its problems.
The Soong sisters were the daughters of Charlie Soong (Jiang Wen), an American-educated Chinese missionary end entrepreneur. All three were sent to the States to college. The eldest, Ai-ling (Michelle Yeoh), married a wealthy Chinese financier (Niu Zhen-Hua); the middle sister, Ching-ling (Maggie Cheung), married her father's friend Dr. Sun Yat-Sen (Winston Chao), the revolutionary "Father of Modern China"; the youngest, May-ling (Vivian Wu) married Sun's protE9g=E9 and successor, = Chiang Kai-Shek (Wu Hsing Kuo).
The size and sweep of this movie is impressive, and its historical lessons, though they may be simplistic, impart information about an extraordinary 20th century family of which most of us are sadly ignorant. Hong Kong filmmaker Mabel Cheung takes on the difficult job of weaving a huge amount of information into a movie, under the Herculean restraints of co-production with the mainland Chinese and its heavy burdens of ideological censorship. The film was first released with 18 minutes (mostly dealing with Chiang Kai-Shek) cut by China; that footage has been restored here.
Ms. Cheung handles her arduous task with style and grandeur, but also with the clichE9s and trivialities that so often come with this = kind of historical reduction. She's best on the grand scale: there are images that are stunning in their visual and emotional impact. But ultimately the characters, despite some excellent performances, remain stifled by the movie's inevitable shorthand. There are some inconsistencies in the telling, and some lapses in judgment.
The story's conscience, narrator, and central figure is Mme. Sun, the passionate idealist ("loved her country" ) who seized the ideological banner of revolution at her husband's untimely death, and forged China's relationship with the USSR. Maggie Cheung is very good, as is Michelle Yeoh (Crouching Tiger) as the financier ("loved money"). Perhaps best of all is Wu's steely Chiang. The Soong Sisters is digest history, too truncated even at 2-1/2 hours, but it's worth wading through for the education it provides.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Construct a Hidden Markov Model with states learnt by unsupervised classification.
| Version: | 1.0 |
| Depends: | R (≥ 3.0.0), stats, grDevices |
| Imports: | tcltk, tcltk2, tkrplot, HMM, clValid, class, cluster, FactoMineR, corrplot, chron |
| Published: | 2016-04-22 |
| Author: | Emilie POISSON-CAILLAULT [aut], Paul TERNYNCK [aut, cre] |
| Maintainer: | Paul TERNYNCK <ternynck at lisic.univ-littoral.fr> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | no |
| CRAN checks: | uHMM results |
| Reference manual: | uHMM.pdf |
| Package source: | uHMM_1.0.tar.gz |
| Windows binaries: | r-devel: uHMM_1.0.zip, r-release: uHMM_1.0.zip, r-oldrel: uHMM_1.0.zip |
| OS X binaries: | r-release: uHMM_1.0.tgz, r-oldrel: uHMM_1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=uHMM to link to this page.


--- layout: error title: "404 - viky.ai" description: "Error 404: The requested page does not exist." ---
You can come back to Home.


In this tutorial, we’ll learn how to read, write, and append to files in an asynchronous manner. We’re going to write a simple program that grab text from a file, and saves it in a new file. We’ll also learn how to read a dir in an asynchronous manner recursively.
In this tutorial, we’ll learn how to read, write, and append to files in an asynchronous manner. We’re going to write a simple program that grab text from a file, and saves it in a new file. We’ll also learn how to read a dir in an asynchronous manner recursively.
First we’ll require our dependencies:
const fs = require(‘fs’)
The fs
is the core modules so there’s no need to install this dependency. See documentation: https://nodejs.org/api/fs.html.
The readFile
returns raw buffer if character encoding is not specified.
/*Simple async example*/ const fs = require(‘fs’) const filePath = ‘path/file.txt’ fs.readFile(filePath, (err, data) => { if (err) throw err console.log(data) //<Buffer 61 62 63 0d 0a 64 65 66 0d… })
If the encoding option is specified then readFile
returns a string:
const fs = require(‘fs’) const filePath = ‘path/file.txt’ fs.readFile(filePath, ‘utf-8’, (err, data) => { if (err) throw err console.log(data) //abc def… })
Next, we’ll write the content to a new file and save:
const fs = require(‘fs’) const filePath = ‘path/file.txt’ const newFile = ‘path/newfile.txt’ fs.readFile(filePath, (err, data) => { if (err) throw err fs.writeFile(newFile, data, (err) => { if (err) throw err console.log(newFile + ’ saved’) }) })
The writeFile
writes data to a file, replacing the file if it already exists without giving any warning. data
can be a string or a buffer.
Finally, let’s append some text to previous file so we can keep a record:
const fs = require(‘fs’) const filePath = ‘path/file.txt’ const newFile = ‘path/newfile.txt’ fs.readFile(filePath, (err, data) => { if (err) throw err fs.writeFile(newFile, data, (err) => { if (err) throw err let appendTxt = (new Date) + " Text copied to " + newFile fs.appendFile(filePath, appendTxt, (err) => { if (err) throw err; console.log(filePath + ’ some data appended’); }) }) })
appendFile
append data to a file. It creates new file if it if it does not yet exist.
The Node.js implementation of readdir
is a simple command to read a directory. It is the asynchronous implementation of the file-system directory read:
fs.readdir(‘./’, (err, files) => { if(err) throw err Asynchronous append file files.forEach(entry => { console.log (entry) }) })
This will print all files and folder from the given path on command terminal.
const fs = require(‘fs’) const path = require(‘path’) function readTree (entry) { fs.lstat(entry, (err,stat) => { if (err) throw err if (stat.isDirectory()){ fs.readdir(entry, (err,files) => { if (err) throw err files.forEach( file => { readTree(path.join(entry,file)) }) }) } else { console.log (entry) } }) } readTree (path/of/dir)
The path.join
method is a useful utility that normalizes paths across platforms, since Windows uses back slashes \
whilst others use forward slashes /
to denote path segments.
A lstat
provides information about the path which store in stat
variable.
stat.isDirectory()
return true if the given path is a directory.
Next, we’ll explore the fs.Stats
class and also discuss the difference between the synchronous and asynchronous operations in Node.js.
by updated May 08, 2018


Schmaltzy Croutons
→ Posted February 14, 2021 by Jenny
I am not a big kitchen gear person, and yet, if I’m not careful, I can end up with a thousand knives and stirring spoons and pots and bowls on my counter after making the simplest dinner, resulting in some epic, soul-crushing clean-ups. Somewhere
along the line, I decided that my little Victorinox serrated knife was the only knife for chopping tomatoes, and my 8-inch chef knife is the only one for slicing an avocado, when really, if I weren’t
such a princess, the serrated knife could absolutely do both jobs on nights I’m prepping both. So since last March, when my kitchen (and yours, presumably) turned into an all-hours diner, I’ve been more mindful about what I’m pulling out of
drawers and cabinets. If I’m tossing vegetables in olive oil in a large mixing bowl, can I just use that large bowl for serving the salad? That jam jar containing a tiny bit of leftover homemade vinaigrette — can’t I just build on what’s there
to make a different vinaigrette instead of dirtying a whole new jar? Do I even need to rinse the cast-iron skillet after lunch since I’ll probably use it again at dinner?
As Glennon Doyle* would remind me: I CAN DO HARD THINGS!
That’s how I ended up discovering these croutons. After roasting chicken legs (which would be shredded and tossed into a salad), I was about to take out another sheet pan to bake some croutons when my new mindfulness kicked in. What if I just
roasted the croutons on the same baking sheet, in the sheen of fat that dripped off the chicken? I’d save myself a pan to wash, and croutons baked in chicken fat? As my husband would say “It’s not like it’s gonna be bad.”
He was correct of course. It is here when I call up this sentence I wrote for Real Simple in 2002:“It’s just the thing to take a meal from ho-hum to how nice!” (In the margin, I got a “LOVE!” from my favorite editor, which is why I always
remember it. Hi Tom!)
Note: The salad is the most basic supermarket-bagged romaine, grape tomatoes, avocado, chives, minced red onion, croutons, with a vegan Caesar dressing from my next book. (I realize vegan Caesar drizzled on chicken pieces makes exactly zero sense.)
So you can see: There was a lot of pressure on those croutons to deliver, but they did.
*worth a New Yorker subscription to read Ariel Levy’s profile of Glennon Doyle this week
Subscribe to my newsletter to get the recipe for the croutons (among other things) and to get all my new posts delivered straight to your inbox.
A little bit about me
Welcome! I’m Jenny, author of Dinner: A Love Story and Dinner: The Playbook More


ALL ENTRIES
Total 1215
-
Sunset over the city Photo by Thomas
- 좋아요999
- 조회수999
-
Sunset over the city Photo by Thomas
- 좋아요999
- 조회수999
-
Sunset over the city Photo by Thomas
- 좋아요999
- 조회수999
-
Sunset over the city Photo by Thomas
- 좋아요999
- 조회수999
-
Sunset over the city Photo by Thomas
- 좋아요999
- 조회수999
-
Sunset over the city Photo by Thomas
- 좋아요999
- 조회수999


Active ingredient (in each caplet)
Naproxen sodium 220 mg
(naproxen 200 mg) (NSAID)*
*nonsteroidal anti-inflammatory drug
Purpose
Pain reliever/fever reducer
Uses
- temporarily relieves minor aches and pains due to:
- minor pain of arthritis
- muscular aches
- backache
- menstrual cramps
- headache
- toothache
- the common cold
- temporarily reduces fever
Warnings
Allergy alert: Naproxen sodium may cause a severe allergic reaction, especially in people allergic to aspirin. Symptoms may include:
- hives
- facial swelling
- asthma (wheezing)
- shock
- skin reddening
- rash
- blisters
If an allergic reaction occurs, stop use and seek medical help right away.
Stomach bleeding warning: This product contains an NSAID, which may cause severe stomach bleeding. The chance is higher if you
- are age 60 or older
- have had stomach ulcers or bleeding problems
- take a blood thinning (anticoagulant) or steroid drug
- take other drugs containing prescription or nonprescription NSAIDs (aspirin, ibuprofen, naproxen, or others)
- have 3 or more alcoholic drinks every day while using this product
- take more or for a longer time than directed
Do not use
- if you have ever had an allergic reaction to any other pain reliever/fever reducer
- right before or after heart surgery
Ask a doctor before use if
- the stomach bleeding warning applies to you
- you have a history of stomach problems, such as heartburn
- you have high blood pressure, heart disease, liver cirrhosis, or kidney disease
- you are taking a diuretic
- you have asthma
Ask a doctor or pharmacist before use if you are
- under a doctor’s care for any serious condition
- taking any other drug
When using this product
- take with food or milk if stomach upset occurs
- the risk of heart attack or stroke may increase if you use more than directed or for longer than directed
Stop use and ask a doctor if
- you experience any of the following signs of stomach bleeding:
- feel faint
- vomit blood
- have bloody or black stools
- have stomach pain that does not get better
- pain gets worse or lasts more than 10 days
- fever gets worse or lasts more than 3 days
- you have difficulty swallowing
- it feels like the pill is stuck in your throat
- you develop heartburn
- redness or swelling is present in the painful area
- any new symptoms appear
If pregnant or breast-feeding,
ask a health professional before use. It is especially important not to use naproxen sodium during the last 3 months of pregnancy unless definitely directed to do so by a doctor because it may cause problems in the unborn child or complications during delivery.
Keep out of reach of children.
In case of overdose, get medical help or contact a Poison Control Center right away. (1-800-222-1222)
Directions
- do not take more than directed
- the smallest effective dose should be used
- do not take longer than 10 days, unless directed by a doctor (see Warnings)
- drink a full glass of water with each dose
| Adults and children 12 years and older |
- take 1 caplet every 8 to 12 hours while symptoms last
- for the first dose you may take 2 caplets within the first hour
- do not exceed 2 caplets in any 8- to 12-hour period
- do not exceed 3 caplets in a 24-hour period
|
| Children under 12 years |
|
Other information
- each caplet contains: sodium 20 mg
- store at 20-25°C (68-77°F). Avoid high humidity and excessive heat above 40°C (104°F).
Inactive ingredients
FD&C blue no. 2 aluminum lake, hypromellose, magnesium stearate, microcrystalline cellulose, polyethylene glycol, povidone, talc, titanium dioxide
Questions?
1-800-719-9260
Principal Display Panel
Compare to Aleve® active ingredient
All Day Pain Relief
Naproxen Sodium Tablets, 220 mg
Pain Reliever/Fever Reducer (NSAID)
See New Warnings Information
This Package for Households Without Young Children
Gluten Free
(**Capsule-Shaped Tablets)


We will get to know your company and product on a much deeper level than a few e-mails. We take a more holistic approach to bringing in customers via search. We won't try to trick Google, Bing or Yahoo. We work with them to provide you with lasting returns. Our Goal is provide the best possible customer service and highest return on investment possible to your business.
Pay Per Click Advertising is one of the best ways to get to the front page of google or bing almost instantly. It is essentially the Yellow Pages of the 21st century. With phonebooks now a thing of the past, customers are now pulling out smartphones and search engines to find what they want. We create and maintain campaigns that will continue to bring your website highly targeted traffic.
If your business provides services or product in your local geographic area. Local SEO is one of the best ways to show up qujickly in google.