Stability: 2 - Unstable; API changes are being discussed for
future versions. Breaking changes will be minimized. See below.
Use require('crypto')
to access this module.
The crypto module offers a way of encapsulating secure credentials to be used as part of a secure HTTPS net or http connection.
It also offers a set of wrappers for OpenSSL’s hash, hmac, cipher, decipher, sign and verify methods.
Returns an array with the names of the supported ciphers.
Example:
var ciphers = crypto.getCiphers();
console.log(ciphers); // ['AES-128-CBC', 'AES-128-CBC-HMAC-SHA1', ...]
Returns an array with the names of the supported hash algorithms.
Example:
var hashes = crypto.getHashes();
console.log(hashes); // ['sha', 'sha1', 'sha1WithRSAEncryption', ...]
Creates a credentials object, with the optional details being a dictionary with keys:
pfx
: A string or buffer holding the PFX or PKCS12 encoded private
key, certificate and CA certificateskey
: A string holding the PEM encoded private keypassphrase
: A string of passphrase for the private key or pfxcert
: A string holding the PEM encoded certificateca
: Either a string or list of strings of PEM encoded CA
certificates to trust.crl
: Either a string or list of strings of PEM encoded CRLs
(Certificate Revocation List)ciphers
: A string describing the ciphers to use or exclude.
Consult
http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT
for details on the format.If no ‘ca’ details are given, then node.js will use the default publicly trusted list of CAs as given in http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt.
Creates and returns a hash object, a cryptographic hash with the given algorithm which can be used to generate hash digests.
algorithm
is dependent on the available algorithms supported by the
version of OpenSSL on the platform. Examples are 'sha1'
, 'md5'
,
'sha256'
, 'sha512'
, etc. On recent releases, openssl
list-message-digest-algorithms
will display the available digest
algorithms.
Example: this program that takes the sha1 sum of a file
var filename = process.argv[2];
var crypto = require('crypto');
var fs = require('fs');
var shasum = crypto.createHash('sha1');
var s = fs.ReadStream(filename);
s.on('data', function(d) {
shasum.update(d);
});
s.on('end', function() {
var d = shasum.digest('hex');
console.log(d + ' ' + filename);
});
The class for creating hash digests of data.
It is a stream that is both readable and writable. The
written data is used to compute the hash. Once the writable side of
the stream is ended, use the read()
method to get the computed hash
digest. The legacy update
and digest
methods are also supported.
Returned by crypto.createHash
.
Updates the hash content with the given data
, the encoding of which
is given in input_encoding
and can be 'utf8'
, 'ascii'
or
'binary'
. If no encoding is provided and the input is a string an
encoding of 'binary'
is enforced. If data
is a Buffer
then
input_encoding
is ignored.
This can be called many times with new data as it is streamed.
Calculates the digest of all of the passed data to be hashed. The
encoding
can be 'hex'
, 'binary'
or 'base64'
. If no encoding
is provided, then a buffer is returned.
Note: hash
object can not be used after digest()
method has been
called.
Creates and returns a hmac object, a cryptographic hmac with the given algorithm and key.
It is a stream that is both readable and writable. The
written data is used to compute the hmac. Once the writable side of
the stream is ended, use the read()
method to get the computed
digest. The legacy update
and digest
methods are also supported.
algorithm
is dependent on the available algorithms supported by
OpenSSL - see createHash above. key
is the hmac key to be used.
Class for creating cryptographic hmac content.
Returned by crypto.createHmac
.
Update the hmac content with the given data
. This can be called
many times with new data as it is streamed.
Calculates the digest of all of the passed data to the hmac. The
encoding
can be 'hex'
, 'binary'
or 'base64'
. If no encoding
is provided, then a buffer is returned.
Note: hmac
object can not be used after digest()
method has been
called.
Creates and returns a cipher object, with the given algorithm and password.
algorithm
is dependent on OpenSSL, examples are 'aes192'
, etc. On
recent releases, openssl list-cipher-algorithms
will display the
available cipher algorithms. password
is used to derive key and IV,
which must be a 'binary'
encoded string or a buffer.
It is a stream that is both readable and writable. The
written data is used to compute the hash. Once the writable side of
the stream is ended, use the read()
method to get the computed hash
digest. The legacy update
and digest
methods are also supported.
Creates and returns a cipher object, with the given algorithm, key and iv.
algorithm
is the same as the argument to createCipher()
. key
is
the raw key used by the algorithm. iv
is an initialization
vector.
key
and iv
must be 'binary'
encoded strings or
buffers.
Class for encrypting data.
Returned by crypto.createCipher
and crypto.createCipheriv
.
Cipher objects are streams that are both readable and
writable. The written plain text data is used to produce the
encrypted data on the readable side. The legacy update
and final
methods are also supported.
Updates the cipher with data
, the encoding of which is given in
input_encoding
and can be 'utf8'
, 'ascii'
or 'binary'
. If no
encoding is provided, then a buffer is expected.
If data
is a Buffer
then input_encoding
is ignored.
The output_encoding
specifies the output format of the enciphered
data, and can be 'binary'
, 'base64'
or 'hex'
. If no encoding is
provided, then a buffer is returned.
Returns the enciphered contents, and can be called many times with new data as it is streamed.
Returns any remaining enciphered contents, with output_encoding
being one of: 'binary'
, 'base64'
or 'hex'
. If no encoding is
provided, then a buffer is returned.
Note: cipher
object can not be used after final()
method has been
called.
You can disable automatic padding of the input data to block size. If
auto_padding
is false, the length of the entire input data must be a
multiple of the cipher’s block size or final
will fail. Useful for
non-standard padding, e.g. using 0x0
instead of PKCS padding. You
must call this before cipher.final
.
For authenticated encryption modes (currently supported: GCM), this
method returns a Buffer
that represents the authentication tag that
has been computed from the given data. Should be called after
encryption has been completed using the final
method!
Creates and returns a decipher object, with the given algorithm and key. This is the mirror of the createCipher() above.
Creates and returns a decipher object, with the given algorithm, key and iv. This is the mirror of the createCipheriv() above.
Class for decrypting data.
Returned by crypto.createDecipher
and crypto.createDecipheriv
.
Decipher objects are streams that are both readable and
writable. The written enciphered data is used to produce the
plain-text data on the the readable side. The legacy update
and
final
methods are also supported.
Updates the decipher with data
, which is encoded in 'binary'
,
'base64'
or 'hex'
. If no encoding is provided, then a buffer is
expected.
If data
is a Buffer
then input_encoding
is ignored.
The output_decoding
specifies in what format to return the
deciphered plaintext: 'binary'
, 'ascii'
or 'utf8'
. If no
encoding is provided, then a buffer is returned.
Returns any remaining plaintext which is deciphered, with
output_encoding
being one of: 'binary'
, 'ascii'
or 'utf8'
. If
no encoding is provided, then a buffer is returned.
Note: decipher
object can not be used after final()
method has been
called.
You can disable auto padding if the data has been encrypted without
standard block padding to prevent decipher.final
from checking and
removing it. Can only work if the input data’s length is a multiple of
the ciphers block size. You must call this before streaming data to
decipher.update
.
For authenticated encryption modes (currently supported: GCM), this
method must be used to pass in the received authentication tag.
If no tag is provided or if the ciphertext has been tampered with,
final
will throw, thus indicating that the ciphertext should
be discarded due to failed authentication.
Creates and returns a signing object, with the given algorithm. On
recent OpenSSL releases, openssl list-public-key-algorithms
will
display the available signing algorithms. Examples are 'RSA-SHA256'
.
Class for generating signatures.
Returned by crypto.createSign
.
Sign objects are writable streams. The written data is
used to generate the signature. Once all of the data has been
written, the sign
method will return the signature. The legacy
update
method is also supported.
Updates the sign object with data. This can be called many times with new data as it is streamed.
Calculates the signature on all the updated data passed through the sign.
private_key
can be an object or a string. If private_key
is a string, it is
treated as the key with no passphrase.
private_key
:
key
: A string holding the PEM encoded private keypassphrase
: A string of passphrase for the private keyReturns the signature in output_format
which can be 'binary'
,
'hex'
or 'base64'
. If no encoding is provided, then a buffer is
returned.
Note: sign
object can not be used after sign()
method has been
called.
Creates and returns a verification object, with the given algorithm. This is the mirror of the signing object above.
Class for verifying signatures.
Returned by crypto.createVerify
.
Verify objects are writable streams. The written data
is used to validate against the supplied signature. Once all of the
data has been written, the verify
method will return true if the
supplied signature is valid. The legacy update
method is also
supported.
Updates the verifier object with data. This can be called many times with new data as it is streamed.
Verifies the signed data by using the object
and signature
.
object
is a string containing a PEM encoded object, which can be
one of RSA public key, DSA public key, or X.509 certificate.
signature
is the previously calculated signature for the data, in
the signature_format
which can be 'binary'
, 'hex'
or 'base64'
.
If no encoding is specified, then a buffer is expected.
Returns true or false depending on the validity of the signature for the data and public key.
Note: verifier
object can not be used after verify()
method has been
called.
Creates a Diffie-Hellman key exchange object and generates a prime of
the given bit length. The generator used is 2
.
Creates a Diffie-Hellman key exchange object using the supplied prime.
The generator used is 2
. Encoding can be 'binary'
, 'hex'
, or
'base64'
. If no encoding is specified, then a buffer is expected.
The class for creating Diffie-Hellman key exchanges.
Returned by crypto.createDiffieHellman
.
Generates private and public Diffie-Hellman key values, and returns
the public key in the specified encoding. This key should be
transferred to the other party. Encoding can be 'binary'
, 'hex'
,
or 'base64'
. If no encoding is provided, then a buffer is returned.
Computes the shared secret using other_public_key
as the other
party’s public key and returns the computed shared secret. Supplied
key is interpreted using specified input_encoding
, and secret is
encoded using specified output_encoding
. Encodings can be
'binary'
, 'hex'
, or 'base64'
. If the input encoding is not
provided, then a buffer is expected.
If no output encoding is given, then a buffer is returned.
Returns the Diffie-Hellman prime in the specified encoding, which can
be 'binary'
, 'hex'
, or 'base64'
. If no encoding is provided,
then a buffer is returned.
Returns the Diffie-Hellman prime in the specified encoding, which can
be 'binary'
, 'hex'
, or 'base64'
. If no encoding is provided,
then a buffer is returned.
Returns the Diffie-Hellman public key in the specified encoding, which
can be 'binary'
, 'hex'
, or 'base64'
. If no encoding is provided,
then a buffer is returned.
Returns the Diffie-Hellman private key in the specified encoding,
which can be 'binary'
, 'hex'
, or 'base64'
. If no encoding is
provided, then a buffer is returned.
Sets the Diffie-Hellman public key. Key encoding can be 'binary'
,
'hex'
or 'base64'
. If no encoding is provided, then a buffer is
expected.
Sets the Diffie-Hellman private key. Key encoding can be 'binary'
,
'hex'
or 'base64'
. If no encoding is provided, then a buffer is
expected.
Creates a predefined Diffie-Hellman key exchange object. The
supported groups are: 'modp1'
, 'modp2'
, 'modp5'
(defined in RFC
2412) and 'modp14'
, 'modp15'
, 'modp16'
, 'modp17'
,
'modp18'
(defined in RFC 3526). The returned object mimics the
interface of objects created by crypto.createDiffieHellman()
above, but will not allow to change the keys (with
diffieHellman.setPublicKey() for example). The advantage of using
this routine is that the parties don’t have to generate nor exchange
group modulus beforehand, saving both processor and communication
time.
Example (obtaining a shared secret):
var crypto = require('crypto');
var alice = crypto.getDiffieHellman('modp5');
var bob = crypto.getDiffieHellman('modp5');
alice.generateKeys();
bob.generateKeys();
var alice_secret = alice.computeSecret(bob.getPublicKey(), null, 'hex');
var bob_secret = bob.computeSecret(alice.getPublicKey(), null, 'hex');
/* alice_secret and bob_secret should be the same */
console.log(alice_secret == bob_secret);
Asynchronous PBKDF2 applies pseudorandom function HMAC-SHA1 to derive
a key of given length from the given password, salt and iterations.
The callback gets two arguments (err, derivedKey)
.
Synchronous PBKDF2 function. Returns derivedKey or throws error.
Generates cryptographically strong pseudo-random data. Usage:
// async
crypto.randomBytes(256, function(ex, buf) {
if (ex) throw ex;
console.log('Have %d bytes of random data: %s', buf.length, buf);
});
// sync
try {
var buf = crypto.randomBytes(256);
console.log('Have %d bytes of random data: %s', buf.length, buf);
} catch (ex) {
// handle error
// most likely, entropy sources are drained
}
NOTE: Will throw error or invoke callback with error, if there is not enough
accumulated entropy to generate cryptographically strong data. In other words,
crypto.randomBytes
without callback will not block even if all entropy sources
are drained.
Generates non-cryptographically strong pseudo-random data. The data returned will be unique if it is sufficiently long, but is not necessarily unpredictable. For this reason, the output of this function should never be used where unpredictability is important, such as in the generation of encryption keys.
Usage is otherwise identical to crypto.randomBytes
.
The class used for working with signed public key & challenges. The most
common usage for this series of functions is when dealing with the <keygen>
element. http://www.openssl.org/docs/apps/spkac.html
Returned by crypto.Certificate
.
Returns true of false based on the validity of the SPKAC.
Exports the encoded public key from the supplied SPKAC.
Exports the encoded challenge associated with the SPKAC.
The default encoding to use for functions that can take either strings
or buffers. The default value is 'buffer'
, which makes it default
to using Buffer objects. This is here to make the crypto module more
easily compatible with legacy programs that expected 'binary'
to be
the default encoding.
Note that new programs will probably expect buffers, so only use this as a temporary measure.
The Crypto module was added to Node before there was the concept of a unified Stream API, and before there were Buffer objects for handling binary data.
As such, the streaming classes don’t have the typical methods found on other Node classes, and many methods accepted and returned Binary-encoded strings by default rather than Buffers. This was changed to use Buffers by default instead.
This is a breaking change for some use cases, but not all.
For example, if you currently use the default arguments to the Sign class, and then pass the results to the Verify class, without ever inspecting the data, then it will continue to work as before. Where you once got a binary string and then presented the binary string to the Verify object, you’ll now get a Buffer, and present the Buffer to the Verify object.
However, if you were doing things with the string data that will not
work properly on Buffers (such as, concatenating them, storing in
databases, etc.), or you are passing binary strings to the crypto
functions without an encoding argument, then you will need to start
providing encoding arguments to specify which encoding you’d like to
use. To switch to the previous style of using binary strings by
default, set the crypto.DEFAULT_ENCODING
field to ‘binary’. Note
that new programs will probably expect buffers, so only use this as a
temporary measure.


Running further education courses
Game-based eVideo (ESF-Project)
Content
We offer an online research project which discusses, develops and evaluates modern teaching-/learning scenarios for the education and continuing education, under use of innovative audio-/video technology and game-based narrative structures or motivation factors (e.g. in virtual worlds like Second Life, in the presence apprenticeship with media support, in the online apprenticeship with web 2.0 and for mobile Learning).
- Overview about topical discussions and developments in the serious games- and video technology area
- Possibility of discussion possibility with professional experts in games- and video area
- Knowledge of topical information technologies and communication technologies (Web 2.0 & Social Software)
- Active usage of the modern FHTW-infrastructure (learning platform, video conferences
- solutions, wiki, labour etc.) - Construction of an individual, relevant architecture of information which can serve as a basis for structured lifelong learning
- Development of absolutely new teaching and learning scenarios in presented, interdisciplinary teamwork leads if necessary to new fields of work, cooperations and subsequent projects (Learning 2.0)
- Exchange and interlinking with project-cooperation partners - knowledge of modern presentation forms of structured results and real test and realisation of different presentation technologies (online as offline) - construction of an individual, relevant architecture of information which can serve as a basis for structured lifelong learning
- Instructions to a modern online identity or business card
Target audience
Innovative, eager with research, video and or games and or design and or weave 2.0-and or teaching-oriented and learning-oriented employees, job-seekers and students who have interest in a modern continuing education in an open university sphere with optimised basic conditions.
Methodology
Blended Learning draught as a work accompanying mix from Virtual Classroom components, collaborative online study, study groups-based research projects and real life workshops.
Certificate
As an end a certificate can be acquired beside the certificate of attendance (for 1 semester) if both semesters were finished successfully.


If there exists one or more outlier in a data set, then the rule will be slightly different. If there is an outlier on the lower side, then to draw the lower whisker join the lower quartile and the lowest non-outlier data point. If there is an outlier on the upper side, then to draw the upper whisker join the upper quartile and the highest non-outlier value.
in-context


Basic Router Example
This basic router example uses hash based url routing.
Example
Click on one of the following to change the URL Hash. The content below should change accordingly.
Set hash to
#abc
or
#def
or
#ghi
or
#jkl
.
This is the ABC hash route.
This is the DEF hash route.
This is the GHI hash route.
This is the JKL hash route.
You should never see this content.


def register(self, bdb):
with bdb.savepoint():
schema_sql = "SELECT version FROM bayesdb_metamodel WHERE name = ?"
cursor = bdb.sql_execute(schema_sql, (self.name(),))
version = None
try:
row = cursor.next()
def register(self, bdb):
with bdb.savepoint():
version = bayesdb_metamodel_version(bdb, self.name())
if version is None:
bdb.sql_execute(nig_normal_schema_1)
version = 1


Needle was Robb and Bran and Rickon, her mother and her father, even Sansa. Needle was Winterfell’s grey walls, and the laughter of its people. Needle was the summer snows, Old Nan’s stories, the heart tree with its red leaves and scary face, the warm earthy smell of the glass gardens, the sound of the north wind rattling the shutters of her room. Needle was Jon Snow’s smile.


You can fund this farm by increasing or reducing the number of units to suit what you’d love to fund. As your number of farms changes, The Total Price, Total Returns and Total Payout are automatically calculated for you to see. Satisfied? Click on Fund Now.
Some quick example text to build on the card title and make up the bulk of the card's content.


Please Note: This sample is provided for guidance only. The provided information, including samples and examples, is not guaranteed for accuracy or legality. Letters and other correspondence should be edited to fit your personal situation. Select and delete this paragraph before printing.
12345 Steinway Street, Astoria, NY 11103
Bedrooms: 3 Bedroom
Amenities:
Refrigerator
Dishwasher
Garbage Disposal
Microwave
No Pets
Monthly rental rate: $1850
Unit(s) square footage: 950
Availability date: 2013-09-30
Description:
Features include travertine tile island kitchen with granite countertops and all appliances included, fireplace, huge patio, neutral colored carpets, cable hook-ups, and a two-car garage To learn more please email John Doe or Jane Doe at<EMAIL_ADDRESS>or call 718.123.XXXX


--- layout: default title: Home ---
I'm Resha, a Computer Vision and Machine Learning enthusiast. I have done several AI and Robotics related projects. I am interested in implementing AI in biomedical engineering and life science.
The duty of the man who investigates the writings of scientists, if learning the truth is his goal, is to make himself an enemy of all that he reads, and … attack it from every side.
— Ibn al-Haytham
If, in some cataclysm, all of scientific knowledge were to be destroyed, and only one sentence passed on to the next generations of creatures, what statement would contain the most information in the fewest words? I believe it is the atomic hypothesis (or atomic fact, or whatever you wish to call it) that all things are made of atoms...
— Richard Feynman
B.Eng., Electrical Engineering, Universitas Gadjah Mada, Yogyakarta, 2016
This website is powered by Jekyll + Hyde. The source code is on github.


--- layout: post title: We did warn you… date: '2009-01-26T13:16:00.001Z' tags: [ef] modified_time: '2009-01-26T13:16:37.737Z' blogger_id: tag:blogger.com,1999:blog-4015568221071268916.post-4135997685058432718 comments: true blogger_orig_url: http://serialseb.blogspot.com/2009/01/we-did-warn-you.html ---
Received in my inbox today from an ex-colleague. This made me smile.
Subject: ARGH THE FUCKIN ENTITY FRAMEWORK!
Received: 29 January 2009What a load of s******t
Sorry had to get that off my chest...
Received: 26 January 2009 11:27
Lead Dev - "Oh it's really good you just drag and drop your tables on and it creates all your classes for you"
N - "F********* OFF"
Received: 26 January 2009 13:08
Just spent the last 2.5 hours hand editing some XML. Probably due to a bug in the "designer" but who knows.
Bring back NHibernate :-(
No comment.


This is a paper summary of Learning to Search for Dependencies
I am a M.S. student in Department of Electrical Engineering, UCLA. My research is interested in spans the areas of Natural Language Processing and Machine Learning. Currently, I am researching learning to search approach to solve structure prediction problems. I also working on implementing a natural language processing library in PyTorch about transition-based dependency parsers.
M.S. in Electrical Engineering, 2016-2018
University of California, Los Angeles
B.S. in Electrical Engineering, 2011-2015
Iowa State University
Machine Learning project for predicting a best used car purchased at auction.
🐒 Best Student Paper Award, The 17th IEEE International Conference on Nanotechnology, October 2017
🐒 Magna Cum Laude Honor, Iowa State University, December 2015
🐒 Dean’s List Honor, Iowa State University, December 2015
This is a paper summary of Learning to Search for Dependencies


4WildLife is a sustainability brand founded to help save endangered wildlife living in the air, land or water around the world for ourselves and future generations.
4WildLife accomplishes its mission by raising awareness and funds from the sale of sustainability oriented consumer products whose design is based on different endangered species.
4WildLife then invests a portion of each sale into one or more non-profit organization(s) whom it deems are best able to help the correlated endangered species to survive and thrive through improvements in human-wildlife coexistence and sustainability.
In addition to offering unique sunglasses designs based on endangered species who live on the land, in the air and in the water around the world, 4WildLife will offer additional sustainability consumer products uniquely designed to capture and protect the beauty and essence of each endangered species.


Overwatch 2, Diablo IV & WoW Shadowlands Feature at Blizzcon
by Mike SandersBlizzcon 2019 is currently underway and given the widely negative reception they received last year, many believed that Blizzard was going to come out swinging big time this year!
Blizzcon 2019
So, one day in, how are they doing? Well, quite frankly, they haven’t disappointed. In what may represent the biggest Blizzcon ever, Blizzard has announced Overwatch 2, Diablo 4, World of Warcraft Shadowlands and even some new Hearthstone content!
Let’s check out some of those glorious trailers!
Overwatch 2
I must admit that while I had more than an inkling that Overwatch 2 was in production, I didn’t expect it to be announced at this year’s Blizzcon. I personally thought it would be next year. Particularly since most people were expecting Diablo IV and possibly the expectation that this would’ve been enough from Blizzard to keep everyone happy.
I’m not complaining though. Overwatch 2 is on the way and based on the trailer, perhaps we’re going to get some new mechanics in terms of ultimate abilities combining.
Diablo IV
The one that we all expected is indeed on the way! Admittedly, it would’ve been tantamount to suicide for Blizzard not to have announced this game given the hugely negative reception they saw over Diablo Immortal last year.
If this trailer is anything to go by, however, Diablo IV is looking pretty amazing!
World of Warcraft Shadowlands
Again, I wasn’t necessarily expecting the announcement of (yet another) World of Warcraft expansion, but based on this trailer its certainly giving us some solid fan service.
We get to see Sylvannas fight Bolvar Fordragon (the latest Lich King whom, the last we saw, we’d all presumed was happy being a perpetual popsicle). Alas, it seems his sacrifice was for nought as he lost the crown and, indeed, has seen it shattered exposing a whole new world!
I’ll happily admit, this trailer is by far my favourite of the bunch. Even if I have no intention of playing this expansion.
Hearthstone Decent of Dragons
While I’ve never actually played Hearthstone, I do understand its attraction. Perhaps most interesting, however, is to see Blizzard pushing it quite hard again.
If Hearthstone isn’t, however, your thing the trailer has a pretty awesome song that reminds me (more than a little) of Flash Gordon. Maybe that’s just me…
Anything Else?
While all of these announcements are certainly pretty awesome, and definitely have some amazing trailers to accompany them, I still think that Blizzard may have one card left up their sleeve with the Warcraft 3 remake.
To be honest, as amazingly happy as I am to see Overwatch 2 and Diablo 4, I’m still holding out hope that this will get a confirmed release date. Fingers crossed, one for this year.
We will, of course, keep you posted with all of the latest Blizzcon news. For now, however, this is more than enough to digest!
What do you think? Which is your favourite trailer? – Let us know in the comments!


Tim Underwood
Tim’s project attempts to recreate Edward Thomas’s ‘In Pursuit of Spring’ using modern digital mapping technologies (GPS location systems, Google Earth, Google Street View, what3words and OpenStreetMap) in an attempt to discover what has changed and what has remained along Thomas’s route.
This project has two parts; a print-on-demand book available through the Blurb platform and an ePub with additional material published through the Internet Archive.


space key control behaviour | A/S key control emitter | enter key control destroy
Add Behaviours: Gravity + Alpha


Kai Mills
Student/Programmer
About
I am a person.
My Skills
I do things
Skill 1
Skill 2
HTML
Contct Me
Cash me ousside. How bow dah?
My Site


My name is Joe.
I'm a web developer and tinkerer.
I work at Sovrn as a full-stack software engineer.
Using some pretty cool technologies,
we make it easier for website owners to prosper.
Like header suite,
a UI flow and adserving technology
that makes it easy to set up an ad auction with prebidjs.
I'm always looking for cool new projects to work on
Check out my github at
And shoot me an email at
joe.collins121@gmail.com


This sample that align to the same behavior as the legacy sample, to demonstrate the use compared to the legacy sample.
At the top right it shows what transition occured and where we are currently at.
To display the transition, a number of transition handlers has simply been configured to set that as a text on the $rootScope
.
Where we are currently at is configured as a secondary ui-view
called hint.


{% extends "layout/layout.html" %} {% from "_helper.html" import href_image_button %} {% block content %} {{ href_image_button ("none", "fa-repeat", "/mesh/test") }} Experiment Management {# change redirects. currently to qStat#}


My name is Cody Lawson, I’m a UI/UX Designer and Front-End Developer with over 5 years of experience creating beautiful and easy to use applications for the web. I love data visualization and creating animations that tell a story as well as inform.
01. Experience and Skills
As a User Interface Engineer at Esri I worked on dozens of web applications for companies like Walmart, Shell, and PG&E, as well as government agencies like the National Geospatial Agency (NGA) and the Department of Energy (DOE).
Projects ranged from relatively minor engagements with just a few people and lasting a couple months, to larger efforts with multiple scrum teams developing for two or more years.
I have experience with modern web technologies such as jQuery, Backbone and Underscore, Dojo, Tooling (Grunt & Gulp), and SCSS.
02. Sample Project: Guy Carpenter
Never heard of Guy Carpenter? They’re the industry leader for reinsurance, the practice of splitting risk across multiple companies so that when the next Hurricane Sandy hits New York one company isn’t left with the bill to renovate the Empire State building.
AdvantagePoint allows analysts and actuaries to monitor their properties and see how they might be affected by catostrophic events.
03. Sample Project: Walmart
Walmart has thousands of locations world-wide, and every country has different laws when it comes to business practices.
We developed Walmart Compliance as a single-page dashboard where managers and compliance officers can see, at a glance, how the company stacks up in every region.
Some more things I worked on arrow_forward


The arithmetic coding package is an open-soruce implementation of a generic arithemtic coder and decoder, along with byte stream models that are subclasses of Java's I/O streams. The implementation of arithmetic coding is based on:
Example statistical models include a uniform distribution, simple unigram model, and a parametric prediction by partial matching (PPM) model. The PPM model is based on:
Models other than PPM may be integrated for compression.
License: The arithcode package is licensed under the standard Apache 2.0 license.
You only need the jar to run the arithcode package, but you need the source distribution to build and test it.
The source distribution includes JUnit, which is required for testing, but not for building the jar or using the jar.
The distribution also includes Witten and Bell's Calgary corpus, which includes a range of different kinds of byte data for testing compression algorithms.
The package has an Apache Ant build file which has targets to build the jar, test, and document the package. So just download the source, unpack it and run any of the following ant targets:
The original papers cited in the introduction are quite readable. I've also provided a tutorial with further references.
Here are results for the Calgary corpus for speed and compression for various lengths of PPM.
And just for laughs, some historical results illustrating the progress of compilers and processors and memory.
Thanks to the original authors for making their source and corpora available.
Thanks also to Garrick Toubassi for patching a bug in version 1.1; it only arose in fairly extreme boundary conditions, making its diagnosis a very nice piece of debugging indeed.


Element module.
MIT. See LICENSE for full details.
The ui element base class.
Construct the element.
| Element parent | An optional parent of this element. |
Construct the element.
The unique id of this element.
The string id.
The parent element if any.
The parent element or null.
Alias representing a command callback.
The CommandArgs struct passed to the CommandCallback on invocation.
The element that issued the command.
Any unique extra data.
The callback which was invoked as the command.
Data populated from a event binding created using the bind method.
The number of any button that was pressed.
The key code of any key pressed.
The horizontal position of the mouse relative to the widget.
The vertical position of the mouse relative to the widget.
Mouse wheel delta.
Key symbol of any key pressed.
The horizontal position of the mouse relative to the screen.
The vertical position of the mouse relative to the screen.


Module: Sprockets::PathDependencyUtils
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Included In:
| |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Instance Chain:
|
|
| Defined in: | lib/sprockets/path_dependency_utils.rb |
Overview
Internal: Related PathUtils helpers that also track all the file system calls they make for caching purposes. All functions return a standard return value and a Set of cache dependency URIs that can be used in the future to see if the returned value should be invalidated from cache.
entries_with_dependencies("app/assets/javascripts")
# => [
# ["application.js", "projects.js", "users.js", ...]
# #<Set: {"file-digest:/path/to/app/assets/javascripts"}>
# ]
The returned dependency set can be passed to resolve_dependencies(deps) to check if the returned result is still fresh. In this case, entry always returns a single path, but multiple calls should accumulate dependencies into a single set thats saved off and checked later.
resolve_dependencies(deps)
# => "\x01\x02\x03"
Later, resolving the same set again will produce a different hash if something on the file system has changed.
resolve_dependencies(deps)
# => "\x03\x04\x05"
Constant Summary
PathUtils
- Included
Instance Method Summary
-
#entries_with_dependencies(path)
Internal: List directory entries and return a set of dependencies that would invalid the cached return result.
-
#stat_directory_with_dependencies(dir)
Internal: List directory filenames and associated Stats under a directory.
-
#stat_sorted_tree_with_dependencies(dir)
Internal: List directory filenames and associated Stats under an entire directory tree.
URIUtils
- Included
| #build_asset_uri | Internal: Build Asset URI. |
| #build_file_digest_uri | Internal: Build file-digest dependency URI. |
| #encode_uri_query_params | Internal: Serialize hash of params into query string. |
| #join_file_uri | Internal: Join file: URI component parts into String. |
| #join_uri | Internal: Join URI component parts into String. |
| #parse_asset_uri | Internal: Parse Asset URI. |
| #parse_file_digest_uri | Internal: Parse file-digest dependency URI. |
| #parse_uri_query_params | Internal: Parse query string into hash of params. |
| #split_file_uri | Internal: Parse file: URI into component parts. |
| #split_uri | Internal: Parse URI into component parts. |
| #valid_asset_uri? | Internal: Check if String is a valid |
PathUtils
- Included
| #absolute_path? | On Windows, ALT_SEPARATOR is \ Delegate to Pathname since the logic gets complex. |
| #atomic_write | Public: Write to a file atomically. |
| #directory? | Public: Like |
| #entries | Public: A version of |
| #file? | Public: Like |
| #find_matching_path_for_extensions | Internal: Match paths in a directory against available extensions. |
| #find_upwards | Internal: Find target basename checking upwards from path. |
| #join | Public: Joins path to base path. |
| #match_path_extname | Internal: Match path extnames against available extensions. |
| #path_extnames | Internal: Get path’s extensions. |
| #path_parents | Internal: Returns all parents for path. |
| #paths_split | Internal: Detect root path and base for file in a set of paths. |
| #relative_path? | Public: Check if path is explicitly relative. |
| #relative_path_from | Public: Get relative path from |
| #set_pipeline | Public: Sets pipeline for path. |
| #split_subpath | Internal: Get relative path for root path and subpath. |
| #stat | Public: Like |
| #stat_directory | Public: Stat all the files under a directory. |
| #stat_sorted_tree | Public: Recursive stat all the files under a directory in alphabetical order. |
| #stat_tree | Public: Recursive stat all the files under a directory. |
Instance Method Details
#entries_with_dependencies(path)
Internal: List directory entries and return a set of dependencies that would invalid the cached return result.
path - String directory path
Returns an Array of entry names and a Set of dependency URIs.
# File 'lib/sprockets/path_dependency_utils.rb', line 44
def entries_with_dependencies(path) return entries(path), Set.new([build_file_digest_uri(path)]) end
#stat_directory_with_dependencies(dir)
Internal: List directory filenames and associated Stats under a directory.
dir - A String directory
Returns an Array of filenames and a Set of dependency URIs.
# File 'lib/sprockets/path_dependency_utils.rb', line 56
def stat_directory_with_dependencies(dir) return stat_directory(dir).to_a, Set.new([build_file_digest_uri(dir)]) end
#stat_sorted_tree_with_dependencies(dir)
Internal: List directory filenames and associated Stats under an entire directory tree.
See PathUtils#stat_sorted_tree
dir - A String directory
Returns an Array of filenames and a Set of dependency URIs.
# File 'lib/sprockets/path_dependency_utils.rb', line 68
def stat_sorted_tree_with_dependencies(dir) deps = Set.new([build_file_digest_uri(dir)]) results = stat_sorted_tree(dir).map do |path, stat| deps << build_file_digest_uri(path) if stat.directory? [path, stat] end return results, deps end


|
Latest news: |
|
Check it out at the products
page. |
| Latest releases: |
|
*
HideIt 2.0.1: Utility
for hiding/showing files and folder and password-protect them. Version
2.0.1 fixes a bug in the registration procedure. QuickFiles
1.0: A file
utility with many features. This is a replacement for Maxplorer.
($5,-
ShareWare) * = Updated |
|
Copyright © 1999-2000 by Ruud van
Falier, MacinSoft
|


Mum watches in horror as train pulls away with her kids still on board
The mum had jumped onto the platform for some "fresh air" on an overnight train in Italy but it pulled off leaving her young children to fend for themselves
by Sam Elliott, https://www.mirror.co.uk/authors/sam-elliott/A stranded mum watched on in horror as a train with her children onboard pulled away without her.
Brigitta M got off the train in her pyjamas for some fresh air and the doors suddenly closed before she could get back onboard.
The mother-of-three from St Poelten, Austria, was travelling on an overnight train with her three children, 11-year-old-twins and a 12-year-old, to Venice in Italy when the train stopped in Pordenone.
She wanted the family to get some fresh air but disaster struck and the train left without her.
She said: "My son was feeling sick so we got off for some fresh air and to go to the toilet.
"Once I had sorted my son and got him back on board, the doors suddenly closed. The train remained for a further five minutes on the platform, but I was not allowed back on.
"I ran after the train in my pyjamas."
The woman denies that she was outside having a cigarette break.
She said: "It was only after the incident and I had been assured the kids were OK, that I lit up a cigarette."
She called police who contacted the train personnel who managed to locate the children and look after them until they could be reunited with their mother.
She said: "My kids are well cared for, I try not to let them watch too much TV or play with mobile phones. When possible we always travel by train."
Brigitta took the next train to Venice where she was reunited with her children who were being looked after by train station staff.


The statements below represent values which people consider important in their work. These are satisfactions which people often seek in their jobs or as a result of their jobs. They are not all considered equally important; some are very important to some people but of little importance to others. Read each statement carefully and indicate how important it is to you.
Work which permits one to invent new things, design newproducts, or develop new ideas.
Work which permits one to plan and lay out work for others.
Work which gives one the feeling of accomplishment in doing a job well.
Work which is carried out under pleasant conditions not too hot or too cold, noisy, dirty, etc.
Work which is carried out under a supervisor who is fair and with whom one can get along.

Work which brings one into contact with fellow workers whom you like.
Work which permits one to make beautiful things and to contribute beauty to the world.
Work which gives one standing on the eyes of others and evokes respect.
Work which permits one to work in his/her own way, as fast or slow as he/she wishes.
Work which provides an opportunity to do different types of tasks.
Work which pays well and enables one to have the things he/she wants.
Work which enables one to contribute to the welfare of others.
Work which provides opportunity for independent thinking and for learning how and why things work.


here is a couple of pictures of my favorite car, the peugoet onyx. doors open and closed.
the Terrafugia TF-X... a flying car! my favorite!
here is an earlier Terrafugia that you can buy if you are a multimillionare.it's wings are folding out.
In Melbourne, I saw this Ford Escort MkI!
I also saw a Ferrari F430 which sounded beautiful!


spinehx.AnimationState
- type
- class
Stores state for an animation and automatically mixes between animations.
Instance Methods
- parameters
delay
May be <= 0 to use duration of previous animation minus any mix duration plus the negative delay.
- see
- #addAnimation(Animation, boolean, float)
- see
- #addAnimation(Animation, boolean)
- parameters
animation
May be null.
- see
- #setAnimation(Animation, boolean)


Intravital microscopy is a very promising method of studying cells in their native environment, aquiring images in 3d and across time inside living subjects. Previous work has shown the use of this technique for viewing cell behaviour in vivo [4,5]. Processing of this type of data can be very tedious when done by hand - seperating the structures of import from the background must often be done frame by frame - leading to a desire for automated tools for this purpose. Automatic segmentation for HSCs exist, but is often restricetd to two dimensions [6] or does not take advantage of the extra information given by having 3d stacks across time [7] (being restricted purely 3d data). This project creates a lightweight segmentation pipeline for HSCs that addresses these issues by taking into account the entirety of the 4d data.
HSCs are found in the red bone marrow, inside a very complicated niche which regulates their function [2,3]. The data for this project are microscopy images of the bone marrow from mice models [qqqq]. Two dimensional images are taken at varying depths inside the marrow to create a 3d snapshot (or "stack") of the marrow niche at that time. This is repeated at regular intervals, which creates a series of stacks across time and produces the 4d data that enables this pipeline.
The pipeline follows four stages: preprocessing, blob finding, blob filtering and tracking.
Given a binary stack, this step connects adjacent bright pixels to form blobs. The interactive simulation to the right shows a 3d view of a cell that was obtained using this method.
For each xy slice of the stack, the algorithm connects pixels that are next to each other to create 2d blobs. These 2d blobs are then merged with other blobs that are "adjacent" to them in the z direction to create 3d blobs.Filtered blobs are tracked across time. This also serves as the final filter, where tracks that are too small or that do not move enough are removed.


Press n or j to go to the next uncovered block, b, p or k for the previous block.
| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| js | 0% | 0/0 | 0% | 0/0 | 0% | 0/0 | 0% | 0/0 | |
| lib/bootstrap/dist/js | 0% | 0/1769 | 0% | 0/1519 | 0% | 0/380 | 0% | 0/1072 | |
| lib/jquery-validation-unobtrusive | 0% | 0/262 | 0% | 0/202 | 0% | 0/86 | 0% | 0/177 | |
| lib/jquery-validation/dist | 0% | 0/1496 | 0% | 0/1562 | 0% | 0/372 | 0% | 0/1044 | |
| lib/jquery/dist | 0% | 0/5501 | 0% | 0/6575 | 0% | 0/1187 | 0% | 0/3642 |


Unionist voters ‘stumbling into DUP trap over Brexit united Ireland fears’
SDLP leader Colum Eastwood urged people to opt for candidates opposed to withdrawal from the EU during next month’s General Election.
Unionist voters are stumbling into a DUP trap linking Brexit proposals to a united Ireland, SDLP leader Colum Eastwood said.
The nationalist from the Irish border city of Londonderry urged people to opt for candidates opposed to withdrawal from the EU during next month’s General Election.
Democratic Unionists believe Prime Minister Boris Johnson’s proposed deal would create a regulatory border between Northern Ireland and the rest of the UK due to its mechanisms to protect all-Ireland trade.
Mr Eastwood said: “It is unfortunate that people have followed them into that trap.
“They have done untold damage to the image of unionism right across the world and I think that is unfortunate.
“People should begin to understand that if you keep voting the way you have always voted you are going to get the same result.”
The SDLP has stood aside candidates in three constituencies – North Belfast, East Belfast and North Down – to give pro-Remain candidates the best chance of triumphing.
Their critics have accused them of sectarianism since their targets in each case are DUP candidates.
The number of votes the SDLP command in East Belfast and North Down is small.
Mr Eastwood said: “The calculation is simple, we want to take as many Brexiteers out of the UK Parliament as possible.”
The DUP’s deputy leader Nigel Dodds is defending his seat in North Belfast.
The SDLP stood aside for Mr Dodds’ Sinn Fein opponent, John Finucane, the son of murdered solicitor Pat Finucane.
Mr Eastwood admitted it was uncomfortable for his party not to be standing in any constituency, particularly given its criticism of Sinn Fein for not taking their seats, but said the SDLP had no prospect of winning North Belfast.
“In North Belfast it is an empty seat or Nigel Dodds – I prefer an empty seat.
“Nigel Dodds has been the architect of a bad Brexit and people understand that.”
The DUP has vetoed Theresa May and Boris Johnson’s proposed withdrawal deals.
Mr Eastwood said nobody could substantiate claims his party’s decision to step aside in key constituencies was sectarian.
He also countered unionist fears raised about the constitutional future but said the DUP’s support for Brexit made a united Ireland more likely.
The SDLP leader said: “The border won’t move one inch because of it.”
The party’s Claire Hanna is running in South Belfast against the DUP.
Sinn Fein withdrew from the constituency to give her the best chance of winning the seat.
Mr Eastwood praised her work in opposing Brexit.
He said: “We would make some team at Westminster.”
Abortion was recently legalised in Northern Ireland after MPs legislated for the move.
It is an issue which has split nationalists and unionists.
Mr Eastwood said he did not support locking people up for having a termination but said the Stormont Assembly was the best place to deal with the issue.
“People have been lied to and people have used the issue for their own political purposes.
“Change is coming because of High Court cases.
“We can shape the change or let others shape it for us.”


The package provides a simple ‘robotstxt’ class and accompanying methods to parse and check ‘robots.txt’ files. Data fields are provided as data frames and vectors. Permissions can be checked by providing path character vectors and optional bot names.
Robots.txt files are a way to kindly ask webbots, spiders, crawlers, wanderers and the like to access or not access certain parts of a webpage. The de facto ‘standard’ never made it beyond a informal “Network Working Group INTERNET DRAFT”. Nonetheless, the use of robots.txt files is widespread (e.g. https://en.wikipedia.org/robots.txt, https://www.google.com/robots.txt) and bots from Google, Yahoo and the like will adhere to the rules defined in robots.txt files - although, their interpretation of those rules might differ (e.g. rules for googlebot).
As the name of the files already suggests robots.txt files are plain text and always found at the root of a domain. The syntax of the files in essence follows a fieldname: value
scheme with optional preceding user-agent: ...
lines to indicate the scope of the following rule block. Blocks are separated by blank lines and the omission of a user-agent field (which directly corresponds to the HTTP user-agent field) is seen as referring to all bots. #
serves to comment lines and parts of lines. Everything after #
until the end of line is regarded a comment. Possible field names are: user-agent, disallow, allow, crawl-delay, sitemap, and host.
Let us have an example file to get an idea how a robots.txt file might look like. The file below starts with a comment line followed by a line disallowing access to any content – everything that is contained in root (“/
”) – for all bots. The next block concerns GoodBot and NiceBot. Those two get the previous permissions lifted by being disallowed nothing. The third block is for PrettyBot. PrettyBot likes shiny stuff and therefor gets a special permission for everything contained in the “/shinystuff/
” folder while all other restrictions still hold. In the last block all bots are asked to pause at least 5 seconds between two visits.
# this is a comment
# a made up example of an robots.txt file
Disallow: /
User-agent: GoodBot # another comment
User-agent: NiceBot
Disallow:
User-agent: PrettyBot
Allow: /shinystuff/
Crawl-Delay: 5
For more information have a look at: http://www.robotstxt.org/norobots-rfc.txt, where the robots.txt file ‘standard’ is described formally. Valuable introductions can be found at http://www.robotstxt.org/robotstxt.html as well as at https://en.wikipedia.org/wiki/Robots_exclusion_standard - of cause.
## [1] TRUE
## [1] FALSE
First, let us load the package. In addition we load the dplyr package to be able to use the magrittr pipe operator %>%
and some easy to read and remember data manipulation functions.
The first step is to create an instance of the robotstxt class provided by the package. The instance has to be initiated via providing either domain or the actual text of the robots.txt file. If only the domain is provided, the robots.txt file will be downloaded automatically. Have a look at ?robotstxt
for descriptions of all data fields and methods as well as their parameters.
rtxt
is of class robotstxt
.
## [1] "robotstxt"
Printing the object lets us glance at all data fields and methods in rtxt
- we have access to the text as well as all common fields.  If you're\n# irresponsible, your access to the site may be blocked.\n#\n\n# advertising-related bots:\nUser-agent: Mediapartners-Google*\n\n[... 653 lines omitted ...]"
##
## $domain
## [1] "wikipedia.org"
##
## $robexclobj
## <Robots Exclusion Protocol Object>
## $bots
## [1] "Mediapartners-Google*" "IsraBot"
## [3] "Orthogaffe" "UbiCrawler"
## [5] "DOC" "Zao"
## [7] "" "[... 28 items omitted ...]"
##
## $comments
## line comment
## 1 1 #
## 2 2 # robots.txt for http://www.wikipedia.org/ and friends
## 3 3 #
## 4 4 # Please note: There are a lot of pages on this site, and there are
## 5 5 # some misbehaved spiders out there that go _way_ too fast. If you're
## 6 6 # irresponsible, your access to the site may be blocked.
## 7
## 8 [... 173 items omitted ...]
##
## $permissions
## field useragent value
## 1 Disallow Mediapartners-Google* /
## 2 Disallow IsraBot
## 3 Disallow Orthogaffe
## 4 Disallow UbiCrawler /
## 5 Disallow DOC /
## 6 Disallow Zao /
## 7
## 8 [... 370 items omitted ...]
##
## $crawl_delay
## [1] field useragent value
## <0 rows> (or 0-length row.names)
##
## $host
## [1] field useragent value
## <0 rows> (or 0-length row.names)
##
## $sitemap
## [1] field useragent value
## <0 rows> (or 0-length row.names)
##
## $other
## [1] field useragent value
## <0 rows> (or 0-length row.names)
##
## $check
## function (paths = "/", bot = "*")
## {
## spiderbar::can_fetch(obj = self$robexclobj, path = paths,
## user_agent = bot)
## }
## <bytecode: 0x000000001bac20f0>
## <environment: 0x000000001bac1478>
##
## attr(,"class")
## [1] "robotstxt"
Checking permissions works via rtxt
’s check
method by providing one or more paths. If no bot name is provided "*"
- meaning any bot - is assumed.
## [1] TRUE FALSE
## [1] TRUE TRUE
## [1] TRUE FALSE
While working with the robotstxt class is recommended the checking can be done with functions only as well. In the following we (1) download the robots.txt file; (2) parse it and (3) check permissions.
## $useragents
## [1] "*" "Mediapartners-Google" "AdsBot-Google"
## [4] "adidxbot"
##
## $comments
## [1] line comment
## <0 rows> (or 0-length row.names)
##
## $permissions
## field useragent value
## 1 Allow * /ads/public/
## 2 Allow * /svc/news/v3/all/pshb.rss
## 3 Disallow * /ads/
## 4 Disallow * /adx/bin/
## 5 Disallow * /archives/
## 6 Disallow * /auth/
## 7 Disallow * /cnet/
## 8 Disallow * /college/
## 9 Disallow * /external/
## 10 Disallow * /financialtimes/
## 11 Disallow * /idg/
## 12 Disallow * /indexes/
## 13 Disallow * /library/
## 14 Disallow * /nytimes-partners/
## 15 Disallow * /packages/flash/multimedia/TEMPLATES/
## 16 Disallow * /pages/college/
## 17 Disallow * /paidcontent/
## 18 Disallow * /partners/
## 19 Disallow * /restaurants/search*
## 20 Disallow * /reuters/
## 21 Disallow * /register
## 22 Disallow * /thestreet/
## 23 Disallow * /svc
## 24 Disallow * /video/embedded/*
## 25 Disallow * /web-services/
## 26 Disallow * /gst/travel/travsearch*
## 27 Disallow Mediapartners-Google /restaurants/search*
## 28 Disallow AdsBot-Google /restaurants/search*
## 29 Disallow adidxbot /restaurants/search*
##
## $crawl_delay
## [1] field useragent value
## <0 rows> (or 0-length row.names)
##
## $sitemap
## field useragent
## 1 Sitemap *
## 2 Sitemap *
## 3 Sitemap *
## value
## 1 http://spiderbites.nytimes.com/sitemaps/www.nytimes.com/sitemap.xml.gz
## 2 http://www.nytimes.com/sitemaps/sitemap_news/sitemap.xml.gz
## 3 http://spiderbites.nytimes.com/sitemaps/sitemap_video/sitemap.xml.gz
##
## $host
## [1] field useragent value
## <0 rows> (or 0-length row.names)
##
## $other
## [1] field useragent value
## <0 rows> (or 0-length row.names)
paths_allowed(
paths = c("images/","/search"),
domain = c("wikipedia.org", "google.com"),
bot = "Orthogaffe"
)
##
wikipedia.org
google.com
## [1] TRUE FALSE


| Figure 1 |
Global surface temperature change (from Skeptical Science [ ... |
| Figure 2 |
Pathways to major adult problems. IUGR: intrauterine growth ... |
| Figure 3 |
The relationship between environmental change, climate chang ... |
| Figure 4 |
Modalities and mechanisms by which children may be more susc ... |
| Figure 5 |
Ecological factors in Child Wellbeing (Stanley). |


vegetables are packed with soluble as well as insoluble dietary fiber known as non-starch polysaccharides (NSP) such as cellulose, mucilage, hemi-cellulose, gums, pectin...etc. These substances absorb excess water in the colon, retain a good amount of moisture in the fecal matter, and help its smooth passage out of the body. Thus, sufficient fiber offers protection from conditions like chronic constipation, hemorrhoids, colon cancer, irritable bowel syndrome, and rectal fissures.
fruits, are low in calories and fats but contain good amounts of vitamins and minerals. All the Green-Yellow-Orange vegetables are rich sources of calcium, magnesium, potassium, iron, beta-carotene, vitamin B-complex, vitamin-C, vitamin-A, and vitamin K. As in fruits, vegetables too are home for many antioxidants. These health benefiting phyto-chemical compounds firstly; help protect the human body from oxidant stress, diseases, and cancers, and secondly; help the body develop the capacity to fight against these by boosting immunity.
Fruits are low in calories and fats but contain good amounts of vitamins and minerals. All the Green-Yellow-Orange vegetables are rich sources of calcium, magnesium, potassium, iron, beta-carotene, vitamin B-complex, vitamin-C, vitamin-A, and vitamin K. As in fruits, vegetables too are home for many antioxidants. These health benefiting phyto-chemical compounds firstly; help protect the human body from oxidant stress, diseases, and cancers, and secondly; help the body develop the capacity to fight against these by boosting immunity.


GOME_L2
Variables
The table below lists the variables that are present in the HARP product that results from an ingestion of GOME_L2
data.
field name |
type |
dimensions |
unit |
description |
|---|---|---|---|---|
datetime_stop |
double |
{time} |
[seconds since 2000-01-01] |
time of the measurement at end of integration time |
datetime_length |
double |
{time} |
[s] |
measurement integration time |
orbit_index |
int32 |
absolute orbit number |
||
latitude |
double |
{time} |
[degree_north] |
tangent latitude of the measurement |
longitude |
double |
{time} |
[degree_east] |
tangent longitude of the measurement |
latitude_bounds |
double |
{time, 4} |
[degree_north] |
corner latitudes for the ground pixel of the measurement |
longitude_bounds |
double |
{time, 4} |
[degree_east] |
corner longitudes for the ground pixel of the measurement |
O3_column_number_density |
double |
{time} |
[molec/cm^2] |
ozone total column |
O3_column_number_density_uncertainty |
double |
{time} |
[molec/cm^2] |
error on the ozone total column |
NO2_column_number_density |
double |
{time} |
[molec/cm^2] |
NO2 total column |
NO2_column_number_density_uncertainty |
double |
{time} |
[molec/cm^2] |
error on the NO2 total column |
cloud_fraction |
double |
{time} |
[] |
cloud fraction |
cloud_fraction_uncertainty |
double |
{time} |
[] |
cloud fraction error |
cloud_top_height |
double |
{time} |
[km] |
cloud top height |
cloud_top_height_uncertainty |
double |
{time} |
[km] |
cloud top height uncertainty |
cloud_top_pressure |
double |
{time} |
[hPa] |
cloud top pressure |
cloud_top_pressure_uncertainty |
double |
{time} |
[hPa] |
cloud top pressure uncertainty |
cloud_top_albedo |
double |
{time} |
[] |
cloud top albedo |
cloud_top_albedo_uncertainty |
double |
{time} |
[] |
cloud top albedo uncertainty |
surface_pressure |
double |
{time} |
[hPa] |
surface pressure |
surface_height |
double |
{time} |
[km] |
surface height |
surface_albedo |
double |
{time} |
[] |
surface albedo |
solar_zenith_angle |
double |
{time} |
[degree] |
solar zenith angle at top of atmosphere |
viewing_zenith_angle |
double |
{time} |
[degree] |
line of sight zenith angle at top of atmosphere |
relative_azimuth_angle |
double |
{time} |
[degree] |
relative azimuth angle at top of atmosphere |
scan_subindex |
int8 |
{time} |
relative index (0-3) of this measurement within a scan (forward + backward) |
|
scan_direction_type |
int8 |
{time} |
scan direction for each measurement; enumeration values: forward (0), backward (1) |
|
index |
int32 |
{time} |
zero-based index of the sample within the source product |
Ingestion options
The table below lists the available ingestion options for GOME_L2
products.
option name |
legal values |
description |
|---|---|---|
ozone |
vcd1 |
the fitting window choice for ozone to ingest; either window 0 (default) or window 1 (ozone=vcd1) |
Mapping description
The table below details where and how each variable was retrieved from the input product.
field name |
mapping description |
|
|---|---|---|
datetime_stop |
path |
/ddr[]/glr/datetime |
datetime_length |
description |
set to a fixed value of 1.5s for all pixels |
orbit_index |
path |
/pir/start_orbit |
latitude |
path |
/ddr[]/glr/corners[4]/lat |
longitude |
path |
/ddr[]/glr/corners[4]/lon |
description |
each longitude will be transformed from a value in the range 0 - 360 to a value in the range -180 - 180 |
|
latitude_bounds |
path |
/ddr[]/glr/corners[0:3]/lat |
description |
the corners are rearranged in the following way: 1,3,2,0 |
|
longitude_bounds |
path |
/ddr[]/glr/corners[0:3]/lon |
description |
the corners are rearranged in the following way: 1,3,2,0 |
|
O3_column_number_density |
condition |
ozone unset |
path |
/ddr[]/irr/vcd[0]/total |
|
condition |
ozone=vcd1 |
|
path |
/ddr[]/irr/vcd[1]/total |
|
O3_column_number_density_uncertainty |
condition |
ozone unset |
path |
/ddr[]/irr/vcd[0]/total, /ddr[]/irr/vcd[0]/error |
|
description |
relative error is converted to absolute error by multiplying with measured value |
|
condition |
ozone=vcd1 |
|
path |
/ddr[]/irr/vcd[1]/total, /ddr[]/irr/vcd[1]/error |
|
description |
relative error is converted to absolute error by multiplying with measured value |
|
NO2_column_number_density |
path |
/ddr[]/irr/vcd[2]/total |
NO2_column_number_density_uncertainty |
path |
/ddr[]/irr/vcd[2]/total, /ddr[]/irr/vcd[2]/error |
description |
relative error is converted to absolute error by multiplying with measured value |
|
cloud_fraction |
condition |
version=1 |
path |
/ddr[]/irr/icfa/frac |
|
condition |
version>1 |
|
path |
/ddr[]/irr/ocra/cloud_frac |
|
cloud_fraction_uncertainty |
condition |
version=1 |
path |
/ddr[]/irr/icfa/frac, /ddr[]/irr/icfa/err_frac |
|
description |
relative error is converted to absolute error by multiplying with measured value |
|
condition |
version>1 |
|
path |
/ddr[]/irr/ocra/cloud_frac, /ddr[]/irr/ocra/cloud_frac_error |
|
description |
relative error is converted to absolute error by multiplying with measured value |
|
cloud_top_height |
available |
optional |
condition |
version>1 |
|
path |
/ddr[]/irr/rocinn/height |
|
cloud_top_height_uncertainty |
available |
optional |
condition |
version>1 |
|
path |
/ddr[]/irr/rocinn/height, /ddr[]/irr/rocinn/height_error |
|
description |
relative error is converted to absolute error by multiplying with measured value |
|
cloud_top_pressure |
condition |
version=1 |
path |
/ddr[]/irr/icfa/press |
|
condition |
version>1 |
|
path |
/ddr[]/irr/rocinn/pressure |
|
cloud_top_pressure_uncertainty |
condition |
version=1 |
path |
/ddr[]/irr/icfa/press, /ddr[]/irr/icfa/err_press |
|
description |
relative error is converted to absolute error by multiplying with measured value |
|
condition |
version>1 |
|
path |
/ddr[]/irr/rocinn/pressure, /ddr[]/irr/rocinn/pressure_error |
|
description |
relative error is converted to absolute error by multiplying with measured value |
|
cloud_top_albedo |
available |
optional |
condition |
version>1 |
|
path |
/ddr[]/irr/rocinn/albedo |
|
cloud_top_albedo_uncertainty |
available |
optional |
condition |
version>1 |
|
path |
/ddr[]/irr/rocinn/albedo, /ddr[]/irr/rocinn/albedo_error |
|
description |
relative error is converted to absolute error by multiplying with measured value |
|
surface_pressure |
condition |
version=1 |
path |
/ddr[]/irr/icfa/surf_press |
|
condition |
version>1 |
|
path |
/ddr[]/irr/surface_pressure |
|
surface_height |
available |
optional |
condition |
version>1 |
|
path |
/ddr[]/irr/surface_height |
|
surface_albedo |
available |
optional |
condition |
version>1 |
|
path |
/ddr[]/irr/surface_albedo |
|
solar_zenith_angle |
path |
/ddr[]/glr/sza_toa[1] |
viewing_zenith_angle |
path |
/ddr[]/glr/line_sight_toa[1] |
relative_azimuth_angle |
path |
/ddr[]/glr/rel_azi_toa[1] |
scan_subindex |
path |
/ddr[]/glr/subset_counter |
description |
relative index (0-3) of this measurement within a scan (forward + backward) |
|
scan_direction_type |
path |
/ddr[]/glr/subset_counter |
description |
the scan direction is based on the subset_counter of the measurement; 0-2: forward (0), 3: backward (1) |


The Learning Continues - Some Rails Magic
I’m long due another update on how my progress with Tealeaf is going, but I just can’t force myself to write it… Let me just say I dived deep into Rails and am trying to wrap my head around it’s magic (actually, there’s no magic at all, just conventions that Rails assumes - definitely need to write something about it soon!).
Meanwhile, I figured I’ll post notes on the latest video lecture I watched. If you stumbled upon this blog of mine and are thinking about joining Tealeaf, this is an example of what we learn there. Making these sort of notes is not mandatory of course, everything you need is in video format. But I like to make them, it helps me memorize more. Okay, no more rambling, move on the notes (these are from Lecture 3 of the Rails course).
Rails Forms
sidenote: in Rails we can refer to a key by a symbol (in params hash, for example) even though it’s a string (a hash with indifferent access)
Creating a form - how to do that using 3 ways (on an example of a new (creating) post form)
1. Pure HTML
1 2 3 4 5 |
|
this wouldn’t as a deault work in Rails, because of a ‘protect_from_forgery’ validation error (if we removed protect_from_forgery from application_controller.rb, this would work)
this is not the best from the point of security of our app
This is the most manual way, we never do this in Rails. We’d need to hack our application_controller and we definitely don’t want that.
2. Rails form helper
1 2 3 4 5 6 7 |
|
this adds authenticity_token (which is hidden in html), which is needed for this ‘protect_from_forgery’ validation to work helpers give us these little things that speeds up the work and saves us from some weird edge case errors
label element is correlated with input element (refers to it); is used for screenreaders that recognizes what’s what (useful for blind internet users for example, to help them) <— try to develop a habit of setting label elements
This would work just as the above HTML form.
3. Rails model-backed form
1 2 3 4 5 6 7 |
|
we need to set our @something variable in the controller (PostsController in case of @post) for it to work of course
it assumes a lot of things for us
creates an additional nested structure in our session params (adding another nested hash for ‘post’ key, where it assigns stuff specific to post, like title, etc.)
naming conventions for how Rails saves these variables to create that nested structure can be seen when inspecting the HTML code (in browser), it has this format: post[title]
!(that’s why in code (especially Rails 3.x) we can see a lot of code that looks like this: Post.new(params[:post]))
!also, thus we can do a mass assignment to Post object like this: Post.new(‘title’=>‘some title’) or Post.new(title: ‘some title’, url: ‘some url’) <— these keys are our setter methods that come from ActiveRecord::Base; essentially that’s because we have the columns called that in our database ‘posts’ table
we can also use virtual attributes as keys here (like user:, category:, etc. <— we set associations to these earlier)
we can’t just add random fields here though (like f.text_field :whatever) do to the connection we have with other layers (that Rails assumes) - we can only use variables that we can use mass assignments with (our table columns) as keys
otherwise the connection (assumption, convention) breaks and we’d get a ‘NoMethod’ error we can add whatever variable we please in case of ‘Rails form helpers’, because then we just save them in our session params and not using these model-backed relations
Use whenever we can!
To use this model-backed form, we need to appropriately set our ‘create’ action in posts_controller.rb file:
1
|
|
Strong parameters can be a cause of a lot of silent bugs (because they are security-related, there are usually no specific error messages)
!note: we don’t want to use .create, because first we need to fulfill validation requirements - strong parameters (check below, then continue here) - so we need to change this like:
1 2 3 4 5 6 7 8 9 10 |
|
!!!!! This above is very important pattern that needs to be memorized !!!!!
if we create (.save method) our post, we want to redirect
else (in case we hit a validation error, etc.), we want to render our template where we tried to create from again (which would now show our errors, letting the user know what needs to be done to create)
Strong Parameters
back in Rails 3.x this was solved through ‘attr_accessible’, which we set in our models example:
attr_accessible :title, :url, :description
this above essentially whitelisted the mentioned variables for mass assignment
Cons of this approach:
people overdid that and whitelisted everything, whenever hit an error (thus, losing security)
this needed to be set in the ‘Model’ layer, and the concern is actually in the actions (‘Controller’)
Rails 4 solves this by using strong parameters instead of attr_accessible
we can set this in the Controller
we can set this based on an user
We set it as a private method:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
this require(:post) relates to our nested structured hash (we need a :post top-level key in our params, and then we set which lower-level (post) keys we want to permit to mass assignment)
.permit! - permits everything thus we can use it like this:
1 2 3 4 5 6 7 |
|
Strong parameters can be a cause of a lot of silent bugs (because they are security-related, there are usually no specific error messages)
Validations
Always added to the ‘Model’ layer
We use them like this:
1 2 3 4 5 |
|
this above means we need to have a title when creating a Post object
if we try to create the Post without the title, we get a rollback (we get returned ‘false’; why? because we use if statement in our pattern in the Controller)
note: we can create our post ‘in memory’, the error will only appear when we try to hit a database with a query (try to save it)
to check what the error is, we can use .errors method (e.g. post.errors) in the console
when we hit that, we get a @messages hash with errors
then we can use a pre-set syntax post.error.full_messages, to return all the error communicates in an array (e.g. [“Title can’t be blank”, “Url can’t be blank”])
This above is a weird way to save validation errors, but this is Rails convention (to set these types of errors on an object itself)
Looking back at our model-backed form:
1 2 3 4 5 6 7 8 9 |
|
We can see that if there’s an error, we render the view with the form again. We do it, so the user (client) will be able to fix their mistakes (we also need to add specific error communicates to the view - need to display the errors):
1 2 3 4 5 6 |
|
we can style these above appropriately ofc
this is another pro to using model-backed forms, because we get those nice errors
!Careful: if we hit an error, in our view (HTML in browser), our errors ‘error fields’ automatically gets wrapped in an additional div (class=“field_with_errors”) - this is somethign Rails adds for us out of the box, then it’s up to us to only give it a whatever style we want (CSS) (we can highlight the field, etc.)
Re-using our previously created form for edit and update action
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
looking at HTML, this issues a POST request to /posts/id, but we have no route for this - instead it goes to the ‘update’ action
if we look closer inspecting HTML, there are a few hidden things wrapped in a div, one of them looking like this:
1
|
|
this is where our HTML verb (method) is actually re-assigned to PATCH (Rails uses session params for this, because some browsers only supports GET and POST methods <— another Rails convention)
!!!!! - form_for is smart enough to recognize if our instance variable (@post in the example) refers to an existing object or creating a new one and will set the correct verb/method (in the hidden element) accordingly —- thus we can extract our form to a partial and use it for different actions (create, edit, etc.) !!!!!
Our form partial that we could create here would effectively be used by 4 actions (new, create, edit, update) - thus we need to be very careful here.
since our form uses @post instance variable, each action needs to have it defined make sure to test all the paths that we use/redirect to (especially error cases)
before_action (in Rails 3.x - before_filters)
If we notice that in many of our actions we use some code many times, we can extract this to before_actions (which works like before filter in Sinatra):
1 2 3 4 5 6 7 8 9 10 11 |
|
‘:set_post’ sets our action to be executed before each action
‘only:’ filters this to certain actions we want
since we can set some repeating actions to that kind of before filter, we can end up having some empty methods (Rails conventions again!)
before_action is usually used for two purposes:
to set up instance variable for action
redirect based on some condition
Non-stadard flow
Example of non-standard flow: create comment form that appears on the post page (in opposition to stadard flow, where it would be on create comment page).
1 2 3 4 5 6 7 8 9 |
|
1 2 3 4 5 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
The path we want here is: /posts/:post_id/comments(.:format) - @post needs to be an existing object (we’re on show post page, so that’s okat) - @comment needs to be a new object
Sum Up
And that’s it. Quite some notes, as I look at it right now. I know that it’s not too pretty (and really chaotic!), I’m making notes in my text editor (Sublime 3) and formatting it would take a lot of my precious time ;) But it’s the content that matters, right? The least I could do was to extract and format the code, which I did with a help of a cool Wordpress plugin I just found yesterday, CodeColorer.
The video lasted for about 2.5 hours (split into two parts) and is just one in a series that there are in each Tealeaf course.


My name is Joseph Harskamp, though my friends just call me Joe. I grew up on a farm in Northwest Iowa, but currently live in Northern Virginia with my wife and dog.
I learned a lot living on a farm, like the value of a solid work ethic, honesty, and respect. Those values stayed with me, and are part and parcel of who I am. I enjoy tinkering with things, whether it's an old car, a website, or some old gadget I've found, my curiosity is what fuels my passion. I love to take things apart, examine their inner workings, and reassemble them to a state better than before.
I love learning and growing in every aspect of my life. I enjoy hiking, video games, craft beer, board games, and of course, programming. I'm a bit quirky, with an artistic streak, but little skill in physical mediums like paints or pencils, so I use pixels to express myself. I like to think that I look at things from different angles than most people. I also have great people skills, and like to be around others, though I'm just as fine all by myself.
If you want a resume, there's a link on this page, or you can contact me for any information you may need.


---
layout: post
title: The Web is not 'dead'
date: '2010-08-18T18:03:00.000+02:00'
author: Dave Van den Eynde
tags:
modified_time: '2010-08-18T18:03:47.657+02:00'
blogger_id: tag:blogger.com,1999:blog-10546079.post-1097625226577861230
blogger_orig_url: http://www.groovbird.com/2010/08/web-is-not-dead.html
---
Got my eyes on this so-called article today, claiming that the Web as we know it is dead.
Just because there's a lot more traffic going to peer-to-peer and video applications doesn't mean that the Web is dead. I'm sure most of that video is fed over HTTP, the protocol that the Web is built on, and uses URLs to get found. Most of the third party applications that don't need a browser to talk to their servers using Web Services in one form or another, so I wouldn't consider that 'dead' either.
The fact that people are using more and more devices that can reach the Web without actually using a browser also doesn't mean that the Web is dead. In fact, more and more devices (handhelds, smartphones, music players, consoles) actually gain a modern useful browser that can be used to browse all of the Web instead of being limited to device-specific formats such as WAP. So I'd say there's more useful browsers these days than before.
The writer of that article clearly doesn't have a clue about what makes all these useful apps work. I just felt like pointing that out to anyone that takes that article at face value.


I am getting right to the point. I used Calea Zacatchchichi extract with no effects. None, actually I believe it briefly took me off rhythm with my dreams.
I dream nightly, in multiples, and know my dream cycle well.
Maybe it was the extract? However, I did notice how the extract made me feel. Not high or drunk but somewhat herbal in the feeling, mostly in my head. Nothing worth elaborating on. Although the Calea did seem to give me lighter sleep than usual.
I recommend if you have Calea extract put one drop on your tongue. Watch out! The taste is not extremely pungent in the beginning but the bitter, nasty, taste amplifies the longer it sits on your tongue, and have a strong mint ready! I find mint to be the best flavor for neutralizing the effects of this troll feces. As a matter of fact 'Mentos' I now particularly enjoy. Do you remember the Mentos commercials 'The Fresh Maker' you couldn't stomach the commercials let alone the candy, well I have found a use for these nasty candy-isle protrusions.
1. Chew on a Mentos, half chewed
2. Down the Calea juice, one swift drink
3.
4. Donít go without Mentos.
5. Don't worry the Mentos will neutralize the effects of the Calea.
6. If going to bed brush your teeth with some mint toothpaste.
Here is a nice anecdote that came with the extract:
Calea Zacatchchichi:
Bitter Herb, Sweeter Dreams
'The Chontal Indians of Oaxaca, Mexico traditionally prepare a hot water infusion or tea, made from a handful of dried leaves of Calea Zacatchchichi, the plant they call 'thle-Pelakano' or 'leaves of God.' The brew is said to help produce dreams and promote visions in the dreaming state.
Calea is a fantastically bitter herb. It's easily the most cloyingly bitter botanical we've encountered. Natives gulp their Calea tea with a strange grimace and smoke Calea 'cigarettes' afterward to help quell the bitterness. This extract not only concentrates the active principles, but also the bitterness. Try diluting the extract with only as much liquid as can be downed in a single swift swallow. You can follow up with a chase of water or juice. A piece of hard candy, a strong mint or slice of fresh ginger can help provide extra relief. Then, of course, you can do as the natives do and light up a Calea smoke. Happy Dreams!'
In conclusion, I will say that I may try brewing some Calea tea, or possibly smoking some of the herb. The extract did nothing for me and I varied the doses considerably too: less recommended doses to more-than-recommended. I didn't loose much as my dreams are vivid as usual. Recently I bought some Valerian Root extract and find it relaxing, I like it better than the Calea, however no dream amplification with either product. I don't recommend NOT trying Calea however I would recommend brewing some tea or try smoking to notice any effects.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Dat Protocol
Dat extensions
Extensions are additional message-types used in the Dat protocol's exchange between computers. They are used to add optional or experimental features to Dat.
Each extension is identified by a token, such as "session-data" or "ping". Developers are free to create and use their own extensions, but should avoid conflicting with any existing tokens. Refer to this list to see which tokens are in use. New extensions can be proposed as DEPs.
This list includes the extensions which have been formally reviewed and accepted by the Dat Working Group.
Extensions:
session-data
0006-session-data-extension


Lorem Ipsum
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Where does it come from?
Contrary to popular belief, Lorem Ipsum is not simply random text.  Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.
1 | print 'hello world!' |
Why do we use it?
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
4.95
Comentar!
Nombre usuario
Esto es un comentario, Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Nombre usuario
Esto es un comentario, Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. U.


Home
Disabled
Dropdown link
Add a new user
Another action
Something else here
Contact Us
This is not the end! this is just skyfall
just for fun!!
Search
Section 1: Basic info
Name: John Doe
Place: India
Section 2: Resume
John's Resume
Section 3: Webs
John's github profile
John's linkedin profile
Section 3: External videos
A youtube video
a smartphone review video
A youtube video, inserted in your webpage with object tag
Visit his channel
Section 5: Everything Else
Cricket
(playing more than watching)
Football
(watching)
books
(reading)
movies
(somewhat)
music
(listening)


{%extends "confreg/confadmin_base.html" %} {%block title%}Cross conference emails{%endblock%} {%block layoutblock%}
Cross conference emails are emails that are sent to attendees of one or more conferences based on dynamic rules.
| Time | Sender | Subject |
|---|---|---|
| {{e.sentat}} | {{e.sendername}} <{{e.senderaddr}}> | {{e.subject}} |


Theoretical background¶
Lorenz-Mie Theory (LMT)¶
Note
The Lorenz-Mie Theory or (LMT for short) is a framework that can be used to find exact solution of the scattered field considering a plane wave incident to a scatterer with a certain geometry. The solution is usually written in the form of an infinite summation which, of course, has to be truncated. PyMieSim is a library which does solve the equations in order to retrieve plenty of important informations. It is to be noted that in all the library, the angles \(\theta\) and \(\phi\) are defined as in a spherical coordinate system as shown in the following figure.
Note
Here are few of the most important relations governing the PyMieSim library.
Stokes parameters:
\[ \begin{align}\begin{aligned}&I = \big| E_x \big|^2 + \big| E_y \big|^2\\.&\\&Q = \big| E_x \big|^2 - \big| E_y \big|^2\\.&\\&U = 2 \mathcal{Re} \big\{ E_x E_y^* \big\}\\.&\\&V = 2 \mathcal{Im} \big\{ E_x E_y^* \big\}\end{aligned}\end{align} \]
Scattering properties¶
Note
There are many properties of the scatterer that might be useful to know such as: - scattering efficiency - extinction efficiency - absorption efficiency - back-scattering efficiency - ratio of front and back scattering - optical pressure efficiency - anisotropy factor g
Those parameters can be computed using PyMieSim according to those equations.
An and Bn coefficients:¶
From the An and Bn coefficients, we can retrieve many useful properties of the scatterer and scattered far-fields. Those are complementary to the Cn and Dn coefficient (for near-field properties) which we do no compute with PyMieSim at the moment. Depending on the scatterer geometry, all those coefficient may vary. Here we have three example which are available with the PyMieSim library.
Note
Sphere
Note
Cylinder
Note
Core/Shell sphere
Generalized Lorenz-Mie Theory (GLMT)¶
Note
Coming soon
Coupling mechanism¶
Note
There are two main coupling mechanisms, coherent coupling and non-coherent coupling. For instance, photodiode collect light via a non-coherent mechanism. On the other part, fiber optic LP mode collects light in a coherent way and as such they usually collect a lot less light but they add additional information on the sample studied.
Mathematically they are defined as follows:
It is to be noted that the coherent coupling definition is derived from the coupled mode theory which remains true as long as the parallax approximation is also true. Furthermore, this coupling is what we would call centered coupling. It means that the scatterer is perfectly centered with the detector. Even though it doesn’t affect so much the non-coherent coupling coupling, it can largely affect coherent coupling.
To take into account the effect of transversal offset of the scatterer, we define the footprint of the scatterer.
Thus, we can compute the mean coupling as the mean value of \(\eta_{l,m}\)


My name is Megan Fontenot and I am a Section Lead at Lambda School. I am an enthusiastic coder and programmer, and I enjoy using my skills to contribute to the exciting technological advances that my product teams develop while ensuring they meet the required goals and deadlines in their sprints. I graduated from Lambda School’s full-stack Web Development curriculum in 2019. While in school, I learned the essentials of full-stack development as well as how to uphold an agile life cycle to ensure efficient development.
I took a contract position at Lambda School in student leadership directly after graduation and was promoted to my current position in January of 2020.  I enjoy watching sci-fi movies (the cheesier, the better), binge reading whole series’ of books, and counting down the months until the next Marvel movie.
Specialist in need. Generalist at heart.
Cool things I've worked on.
When I'm not working working on projects or solving problems I spend my time teaching others to program, both privately in person and remotely. Here are some of the domains I've helped students with...


A simple way of allowing the user to manage places to visit and also suggesting attractions and points of interest, based on reviews, to the user.
Select one or multiple destinations/attractions and find the shortest and most efficient route to visit all these destinations.
Using a combination of Bluetooth and GPS we allow you to keep track of your friends location and warn you if they are moving away from you.
Keeps track of all the places you have visited and automatically removes them from your To-Visit list!
Current apps/websites provide info such as temperature and weather but some critical information like languages spoken, currency, conversion rates, electrical socket type and voltage information are not provided. The app would provide these details to the user when he/she is planning the trip
Simplified user interface with only essential information displayed. No ads, no paragraph of text! We keep it simple and clean for you.


WITNESS LIST State Affairs Committee April 12, 2002 -10:00A Interim Committee Charge No. 1 ON: Allison, Jim (County Judges & Commissioners Assoc.), Austin, TX Barr, Mayor Kenneth (City of Fort Worth), Fort Worth, TX Bass, James (TxDOT), Austin, TX Behrens, Michael (TxDOT), Austin, TX Brown, Commissioner Tim (Bell County, Conference of Urban Counties, NASCO-North America's Superhighway Coalition), Belton, TX Eckels, Judge Robert (Harris County, Conference of Urban Counties), Houston, TX Ender, Lynda (Texas Senior Advocacy Coalition, Senior Citizens of Greater Dallas), Dallas, TX Gadbois, Glenn (Just Transportation Alliances), Austin, TX Greyson, Councilmember Sandy (City of Dallas, Dallas Regional Mobility Coalition), Dallas, TX Johnson, Chairman John (Texas Transportation Commission), Austin, TX Liggett, Judge Kenneth (Clay County, Cross Plains Rural Transportation Council), Henrietta, TX Lomax, Tim (Texas Transportation Institute), College Station, TX McCullough, Steve, City Manager (City of Irving), Irving, TX Morris, Michael (North Central Texas Council of Governments), Arlington, TX Nichols, Commissioner Robert (Texas Transportation Commission), Austin, TX Perryman, Dr. Ray (The Perryman Group), Waco, TX Randall, James (TxDOT), Austin, TX Thompson, Judge John (Polk County, County Judges & Commissioners Assoc., Alliance for I-69, Gulf Coast Stategic Highway), Livingston, TX Toews, Curtis (Legislative Budget Board), Austin, TX Wheeless, Commissioner Skipper (Runnels County, County Judges & Commissioners Assoc.), Ballinger, TX Whitley, Commissioner Glen (Tarrant County, Conference of Urban Counties), Hurst, TX Registering, but not testifying: On: Box, Dorothy (Older Womens League (OWLS), Dallas Chapter), Dallas, TX Chron, Rick (Texas Towing & Storage Assoc.), Plano, TX Lee, Jeanette (Senior Citizens of Greater Dallas), Dallas, TX Moy, Ann (Senior Citizens of Greater Dallas-AGE Program), Dallas, TX Interim Committee Charge No. 3 ON: Robson, Anastasia (Self), Cypress, TX


Safari IT Books Language Constructs Functional Programming Haskell Safari IT Books Programming Programming Programming Bryan O'Sullivan Donald Bruce Stewart John Goerzen O'Reilly Media, Inc. Real World Haskell, 1st Edition22.3. The ParserNow that we have the database component, we need to have
code to parse the podcast feeds. These are XML files that contain various
information. Here's an example XML file to show you what they look
like: <?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd" version="2.0">
<channel>
<title>Haskell Radio</title>
<link>http://www.example.com/radio/</link>
<description>Description of this podcast</description>
<item>
<title>Episode 2: Lambdas</title>
<link>http://www.example.com/radio/lambdas</link>
<enclosure url="http://www.example.com/radio/lambdas.mp3"
type="audio/mpeg" length="10485760"/>
</item>
<item>
<title>Episode 1: Parsec</title>
<link>http://www.example.com/radio/parsec</link>
<enclosure url="http://www.example.com/radio/parsec.mp3"
type="audio/mpeg" length="10485150"/>
</item>
</channel>
</rss>
Out of these files, we are mainly interested in two
things: the podcast title and the enclosure URLs. We use the HaXml toolkit to parse
the XML file. Here's the source code for this component: -- file: ch22/PodParser.hs
module PodParser where
import PodTypes
import Text.XML.HaXml
import Text.XML.HaXml.Parse
import Text.XML.HaXml.Html.Generate(showattr)
import Data.Char
import Data.List
data PodItem = PodItem {itemtitle :: String,
enclosureurl :: String
}
deriving (Eq, Show, Read)
data Feed = Feed {channeltitle :: String,
items :: [PodItem]}
deriving (Eq, Show, Read)
{- | Given a podcast and an PodItem, produce an Episode -}
item2ep :: Podcast -> PodItem -> Episode
item2ep pc item =
Episode {epId = 0,
epCast = pc,
epURL = enclosureurl item,
epDone = False}
{- | Parse the data from a given string, with the given name to use
in error messages. -}
parse :: String -> String -> Feed
parse content name =
Feed {channeltitle = getTitle doc,
items = getEnclosures doc}
where parseResult = xmlParse name (stripUnicodeBOM content)
doc = getContent parseResult
getContent :: Document -> Content
getContent (Document _ _ e _) = CElem e
{- | Some Unicode documents begin with a binary sequence;
strip it off before processing. -}
stripUnicodeBOM :: String -> String
stripUnicodeBOM ('\xef':'\xbb':'\xbf':x) = x
stripUnicodeBOM x = x
{- | Pull out the channel part of the document.
Note that HaXml defines CFilter as:
> type CFilter = Content -> [Content]
-}
channel :: CFilter
channel = tag "rss" /> tag "channel"
getTitle :: Content -> String
getTitle doc =
contentToStringDefault "Untitled Podcast"
(channel /> tag "title" /> txt $ doc)
getEnclosures :: Content -> [PodItem]
getEnclosures doc =
concatMap procPodItem $ getPodItems doc
where procPodItem :: Content -> [PodItem]
procPodItem item = concatMap (procEnclosure title) enclosure
where title = contentToStringDefault "Untitled Episode"
(keep /> tag "title" /> txt $ item)
enclosure = (keep /> tag "enclosure") item
getPodItems :: CFilter
getPodItems = channel /> tag "item"
procEnclosure :: String -> Content -> [PodItem]
procEnclosure title enclosure =
map makePodItem (showattr "url" enclosure)
where makePodItem :: Content -> PodItem
makePodItem x = PodItem {itemtitle = title,
enclosureurl = contentToString [x]}
{- | Convert [Content] to a printable String, with a default if the
passed-in [Content] is [], signifying a lack of a match. -}
contentToStringDefault :: String -> [Content] -> String
contentToStringDefault msg [] = msg
contentToStringDefault _ x = contentToString x
{- | Convert [Content] to a printable string, taking care to unescape it.
An implementation without unescaping would simply be:
> contentToString = concatMap (show . content)
Because HaXml's unescaping works only on Elements, we must make sure that
whatever Content we have is wrapped in an Element, then use txt to
pull the insides back out. -}
contentToString :: [Content] -> String
contentToString =
concatMap procContent
where procContent x =
verbatim $ keep /> txt $ CElem (unesc (fakeElem x))
fakeElem :: Content -> Element
fakeElem x = Elem "fake" [] [x]
unesc :: Element -> Element
unesc = xmlUnEscape stdXmlEscaper
Let's look at this code. First, we declare two types:
PodItem and Feed. We will be transforming the XML document
into a Feed, which then contains items.
We also provide a function to convert an PodItem into an Episode as defined in
PodTypes.hs. Next, it is on to parsing. The parse function takes a String representing the XML content as well as a
String representing a name to use in
error messages, and then returns a Feed. HaXml is designed as a "filter" converting data of one
type to another. It can be a simple straightforward conversion of XML to
XML, or of XML to Haskell data, or of Haskell data to XML. HaXml has a
data type called CFilter, which is
defined like this: type CFilter = Content -> [Content]
That is, a CFilter
takes a fragment of an XML document and returns 0 or more fragments. A
CFilter might be asked to find all
children of a specified tag, all tags with a certain name, the literal
text contained within a part of an XML document, or any of a number of
other things. There is also an operator (/>) that chains CFilter functions together. All of the data that
we're interested in occurs within the <channel> tag, so first we want to get at
that. We define a simple CFilter: channel = tag "rss" /> tag "channel"
When we pass a document to channel, it will search the top level for the
tag named rss. Then, within that, it
will look for the channel tag. The rest of the program follows this basic approach.
txt exTRacts the literal text from a
tag, and by using CFilter functions, we
can get at any part of the document.
|