Class KJUR.jws.JWS
JSON Web Signature(JWS) class
Defined in: jws-3.3.js.
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
JSON Web Signature(JWS) class.
|
| Field Attributes | Field Name and Description |
|---|---|
| <static> |
KJUR.jws.JWS.jwsalg2sigalg
static associative array of general signature algorithm name from JWS algorithm name
|
| Method Attributes | Method Name and Description |
|---|---|
| <static> |
KJUR.jws.JWS.getEncodedSignatureValueFromJWS(sJWS)
get Encoed Signature Value from JWS string.
|
| <static> |
KJUR.jws.JWS.getJWKthumbprint(o)
get RFC 7638 JWK thumbprint from JWK object
This method calculates JWK thmubprint for specified JWK object
as described in
RFC 7638.
|
| <static> |
KJUR.jws.JWS.inArray(item, a)
check whether item is included by array
|
| <static> |
KJUR.jws.JWS.includedArray(a1, a2)
check whether array is included by another array
|
| <static> |
KJUR.jws.JWS.isSafeJSONString(s)
check whether a String "s" is a safe JSON string or not.
|
| <static> |
KJUR.jws.JWS.parse(sJWS)
parse header and payload of JWS signature
This method parses JWS signature string. |
| <static> |
KJUR.jws.JWS.parseJWS(sJWS)
parse JWS string and set public property 'parsedJWS' dictionary.
|
| <static> |
KJUR.jws.JWS.readSafeJSONString(s)
read a String "s" as JSON object if it is safe.
|
| <static> |
KJUR.jws.JWS.sign(alg, spHead, spPayload, key, pass)
generate JWS signature by specified key
This method supports following algorithms. |
| <static> |
KJUR.jws.JWS.verify(sJWS, key, acceptAlgs)
verify JWS signature by specified key or certificate
This method verifies a JSON Web Signature Compact Serialization string by the validation algorithm as described in the section 5 of Internet Draft draft-jones-json-web-signature-04. |
| <static> |
KJUR.jws.JWS.verifyJWT(sJWT, key, acceptField)
This method verifies a
RFC 7519
JSON Web Token(JWT).
|
This class provides JSON Web Signature(JWS)/JSON Web Token(JWT) signing and validation.
Supported Algorithms
Here is supported algorithm names for KJUR.jws.JWS.sign and KJUR.jws.JWS.verify methods.| alg value | spec requirement | jsjws support |
|---|---|---|
| HS256 | REQUIRED | SUPPORTED |
| HS384 | OPTIONAL | SUPPORTED |
| HS512 | OPTIONAL | SUPPORTED |
| RS256 | RECOMMENDED | SUPPORTED |
| RS384 | OPTIONAL | SUPPORTED |
| RS512 | OPTIONAL | SUPPORTED |
| ES256 | RECOMMENDED+ | SUPPORTED |
| ES384 | OPTIONAL | SUPPORTED |
| ES512 | OPTIONAL | - |
| PS256 | OPTIONAL | SUPPORTED |
| PS384 | OPTIONAL | SUPPORTED |
| PS512 | OPTIONAL | SUPPORTED |
| none | REQUIRED | SUPPORTED(signature generation only) |
- NOTE1
- HS384 is supported since jsjws 3.0.2 with jsrsasign 4.1.4.
- NOTE2
- Some deprecated methods have been removed since jws 3.3 of jsrsasign 4.10.0.
Removed methods are following:
- JWS.verifyJWSByNE
- JWS.verifyJWSByKey
- JWS.generateJWSByNED
- JWS.generateJWSByKey
- JWS.generateJWSByP1PrvKey
// JWS signing sJWS = KJUR.jws.JWS.sign(null, '{"alg":"HS256", "cty":"JWT"}', '{"age": 21}', "password"); // JWS validation isValid = KJUR.jws.JWS.verify('eyJjdHkiOiJKV1QiLCJhbGc...', "password"); // JWT validation isValid = KJUR.jws.JWS.verifyJWT('eyJh...', "password", { alg: ['HS256', 'HS384'], iss: ['http://foo.com'] });
- Since:
- jsjws 1.0
- Since:
- jws 3.0.0
- Parameters:
- {String} sJWS
- JWS signature string to be verified
- Throws:
- if sJWS is not comma separated string such like "Header.Payload.Signature".
- Returns:
- {String} string of Encoded Signature Value
jwk = {"kty":"RSA", "n":"0vx...", "e":"AQAB", ...}; thumbprint = KJUR.jws.JWS.getJWKthumbprint(jwk);
- Parameters:
- {String} o
- JWK object to be calculated thumbprint
- Since:
- jsrsasign 5.0.2 jws 3.3.2
- Returns:
- {String} Base64 URL encoded JWK thumbprint value
KJUR.jws.JWS.inArray('b', ['b', 'c', 'a']) => true KJUR.jws.JWS.inArray('a', ['b', 'c', 'a']) => true KJUR.jws.JWS.inArray('a', ['b', 'c']) => false
- Parameters:
- {String} item
- check whether item is included by array
- {Array} a
- check whether item is included by array
- Since:
- jws 3.2.3 This method verifies whether an item is included by an array. It doesn't care about item ordering in an array.
- Returns:
- {Boolean} check whether item is included by array
KJUR.jws.JWS.includedArray(['b'], ['b', 'c', 'a']) => true KJUR.jws.JWS.includedArray(['a', 'b'], ['b', 'c', 'a']) => true KJUR.jws.JWS.includedArray(['a', 'b'], ['b', 'c']) => false
- Parameters:
- {Array} a1
- check whether set a1 is included by a2
- {Array} a2
- check whether set a1 is included by a2
- Since:
- jws 3.2.3 This method verifies whether an array is included by another array. It doesn't care about item ordering in a array.
- Returns:
- {Boolean} check whether set a1 is included by a2
If a String "s" is a malformed JSON string or an other object type this returns 0, otherwise this returns 1.
- Parameters:
- {String} s
- JSON string
- Returns:
- {Number} 1 or 0
This method parses JWS signature string. Resulted associative array has following properties:
- headerObj - JSON object of header
- payloadObj - JSON object of payload if payload is JSON string otherwise undefined
- headerPP - pretty printed JSON header by stringify
- payloadPP - pretty printed JSON payload by stringify if payload is JSON otherwise Base64URL decoded raw string of payload
- sigHex - hexadecimal string of signature
KJUR.jws.JWS.parse(sJWS) -> { headerObj: {"alg": "RS256", "typ": "JWS"}, payloadObj: {"product": "orange", "quantity": 100}, headerPP: '{ "alg": "RS256", "typ": "JWS" }', payloadPP: '{ "product": "orange", "quantity": 100 }', sigHex: "91f3cd..." }
- Parameters:
- {String} sJWS
- string of JWS signature to parse
- Since:
- jws 3.3.3
- Throws:
- if sJWS is malformed JWS signature
- Returns:
- {Array} associative array of parsed header and payload. See below.
- Parameters:
- {String} sJWS
- JWS signature string to be parsed.
- Since:
- jws 1.1
- Throws:
- if sJWS is not comma separated string such like "Header.Payload.Signature".
- if JWS Header is a malformed JSON string.
If a String "s" is a malformed JSON string or not JSON string, this returns null, otherwise returns JSON object.
- Parameters:
- {String} s
- JSON string
- Since:
- 1.1.1
- Returns:
- {Object} JSON object or null
This method supports following algorithms.
| alg value | spec requirement | jsjws support |
|---|---|---|
| HS256 | REQUIRED | SUPPORTED |
| HS384 | OPTIONAL | SUPPORTED |
| HS512 | OPTIONAL | SUPPORTED |
| RS256 | RECOMMENDED | SUPPORTED |
| RS384 | OPTIONAL | SUPPORTED |
| RS512 | OPTIONAL | SUPPORTED |
| ES256 | RECOMMENDED+ | SUPPORTED |
| ES384 | OPTIONAL | SUPPORTED |
| ES512 | OPTIONAL | - |
| PS256 | OPTIONAL | SUPPORTED |
| PS384 | OPTIONAL | SUPPORTED |
| PS512 | OPTIONAL | SUPPORTED |
| none | REQUIRED | SUPPORTED(signature generation only) |
- NOTE1:
- salt length of RSAPSS signature is the same as the hash algorithm length because of IETF JOSE ML discussion.
- NOTE2:
- To support HS384, patched version of CryptoJS is used. See here for detail.
- NOTE3: From jsrsasign 4.10.0 jws 3.3.0, Way to provide password for HS* algorithm is changed. The 'key' attribute value is passed to KJUR.crypto.Mac.setPassword so please see KJUR.crypto.Mac.setPassword for detail. As for backword compatibility, if key is a string, has even length and 0..9, A-F or a-f characters, key string is treated as a hexadecimal otherwise it is treated as a raw string.
// sign HS256 signature with password "aaa" implicitly handled as string sJWS = KJUR.jws.JWS.sign(null, {alg: "HS256", cty: "JWT"}, {age: 21}, "aaa"); // sign HS256 signature with password "6161" implicitly handled as hex sJWS = KJUR.jws.JWS.sign(null, {alg: "HS256", cty: "JWT"}, {age: 21}, "6161"); // sign HS256 signature with base64 password sJWS = KJUR.jws.JWS.sign(null, {alg: "HS256"}, {age: 21}, {b64: "Mi/8..a="}); // sign RS256 signature with PKCS#8 PEM RSA private key sJWS = KJUR.jws.JWS.sign(null, {alg: "RS256"}, {age: 21}, "-----BEGIN PRIVATE KEY..."); // sign RS256 signature with PKCS#8 PEM ECC private key with passcode sJWS = KJUR.jws.JWS.sign(null, {alg: "ES256"}, {age: 21}, "-----BEGIN PRIVATE KEY...", "keypass"); // header and payload can be passed by both string and object sJWS = KJUR.jws.JWS.sign(null, '{alg:"HS256",cty:"JWT"}', '{age:21}', "aaa");
- Parameters:
- {String} alg
- JWS algorithm name to sign and force set to sHead or null
- {String} spHead
- string or object of JWS Header
- {String} spPayload
- string or object of JWS Payload
- {String} key
- string of private key or mac key object to sign
- {String} pass
- (OPTION)passcode to use encrypted asymmetric private key
- Since:
- jws 3.0.0
- Returns:
- {String} JWS signature string
This method verifies a JSON Web Signature Compact Serialization string by the validation algorithm as described in the section 5 of Internet Draft draft-jones-json-web-signature-04.
Since 3.2.0 strict key checking has been provided against a JWS algorithm in a JWS header.
- In case 'alg' is 'HS*' in the JWS header, 'key' shall be hexadecimal string for Hmac{256,384,512} shared secret key. Otherwise it raise an error.
- In case 'alg' is 'RS*' or 'PS*' in the JWS header, 'key' shall be a RSAKey object or a PEM string of X.509 RSA public key certificate or PKCS#8 RSA public key. Otherwise it raise an error.
- In case 'alg' is 'ES*' in the JWS header, 'key' shall be a KJUR.crypto.ECDSA object or a PEM string of X.509 ECC public key certificate or PKCS#8 ECC public key. Otherwise it raise an error.
- In case 'alg' is 'none' in the JWS header, validation not supported after jsjws 3.1.0.
NOTE1: The argument 'acceptAlgs' is supported since 3.2.0.
Strongly recommended to provide acceptAlgs to mitigate
signature replacement attacks.
NOTE2: From jsrsasign 4.9.0 jws 3.2.5, Way to provide password for HS* algorithm is changed. The 'key' attribute value is passed to KJUR.crypto.Mac.setPassword so please see KJUR.crypto.Mac.setPassword for detail. As for backword compatibility, if key is a string, has even length and 0..9, A-F or a-f characters, key string is treated as a hexadecimal otherwise it is treated as a raw string.
// 1) verify a RS256 JWS signature by a certificate string. isValid = KJUR.jws.JWS.verify('eyJh...', '-----BEGIN...', ['RS256']); // 2) verify a HS256 JWS signature by a certificate string. isValid = KJUR.jws.JWS.verify('eyJh...', {hex: '6f62ad...'}, ['HS256']); isValid = KJUR.jws.JWS.verify('eyJh...', {b64: 'Mi/ab8...a=='}, ['HS256']); isValid = KJUR.jws.JWS.verify('eyJh...', {utf8: 'Secret秘密'}, ['HS256']); isValid = KJUR.jws.JWS.verify('eyJh...', '6f62ad', ['HS256']); // implicit hex isValid = KJUR.jws.JWS.verify('eyJh...', '6f62ada', ['HS256']); // implicit raw string // 3) verify a ES256 JWS signature by a KJUR.crypto.ECDSA key object. var pubkey = KEYUTIL.getKey('-----BEGIN CERT...'); var isValid = KJUR.jws.JWS.verify('eyJh...', pubkey);
- Parameters:
- {String} sJWS
- string of JWS signature to verify
- {Object} key
- string of public key, certificate or key object to verify
- {String} acceptAlgs
- array of algorithm name strings (OPTION)
- Since:
- jws 3.0.0
- Returns:
- {Boolean} true if the signature is valid otherwise false
- Header.alg
- alg is specified in JWT header.
- alg is included in acceptField.alg array. (MANDATORY)
- alg is proper for key.
- Payload.iss (issuer) - Payload.iss is included in acceptField.iss array if specified. (OPTION)
- Payload.sub (subject) - Payload.sub is included in acceptField.sub array if specified. (OPTION)
- Payload.aud (audience) - Payload.aud is included in acceptField.aud array or the same as value if specified. (OPTION)
- Time validity
- If acceptField.verifyAt as number of UNIX origin time is specifed for validation time, this method will verify at the time for it, otherwise current time will be used to verify.
- Payload.exp (expire) - Validation time is smaller than Payloead.exp.
- Payload.nbf (not before) - Validation time is greater than Payloead.nbf.
- Payload.iat (issued at) - Validation time is greater than Payloead.iat.
- Payload.jti (JWT id) - Payload.jti is included in acceptField.jti if specified. (OPTION)
- JWS signature of JWS is valid for specified key.
// simple validation for HS256 isValid = KJUR.jws.JWS.verifyJWT("eyJhbG...", "616161", {alg: ["HS256"]}), // full validation for RS or PS pubkey = KEYUTIL.getKey('-----BEGIN CERT...'); isValid = KJUR.jws.JWS.verifyJWT('eyJh...', pubkey, { alg: ['RS256', 'RS512', 'PS256', 'PS512'], iss: ['http://foo.com'], sub<EMAIL_ADDRESS><EMAIL_ADDRESS>verifyAt: KJUR.jws.IntDate.get('20150520235959Z'), aud: ['http://foo.com'], // aud: 'http://foo.com' is fine too. jti: 'id123456' });
- Parameters:
- {String} sJWT
- string of JSON Web Token(JWT) to verify
- {Object} key
- string of public key, certificate or key object to verify
- {Array} acceptField
- associative array of acceptable fields (OPTION)
- Since:
- jws 3.2.3 jsrsasign 4.8.0
- Returns:
- {Boolean} true if the JWT token is valid otherwise false


Engage Social Factor 1
Friday, May 11th, 2012 - Evening
Recently, I've found that I have wanted to be more connected than I have in past years. I've generally eschewed Facebook, Twitter and other social networking services. My general impression is that if I want to talk to you, I'll talk to you. If you want to talk to me, you can talk to me. I didn't really feel the need to use these social networks to do this - I had a cell phone and I had email, and I used both constantly.
The big change for me, I think, was realizing that most of my longer term friends have fallen out of contact with me - not because they didn't try to stay in touch, but because I tend to neglect non-immediate relationships. I have more recent friends that I connect with directly in different ways, but I'm extremely bad about staying in touch or responding in a timely fashion. My prioritization is on work email - if you're not writing me at my work email (and even then only if you capture my attention), I'll mentally file it under "Process Later"... and never come back to it.
I've gotten a little better with texts, but overall, I realized that I was probably losing touch with people I like and wanted to stay in touch with.
Further, as time has progressed, I also realized it made me into a modern hermit. It is hard to represent yourself as a relevant technologist when you actively avoid Facebook. These services have had a massive impact on every aspect of consumer technology. More and more services are leveraging social networking for traditionally local silos; my lack of experience in this area was a drag on my own skill set.
I joined Google+, but it didn't quite suffice on either front. The dam cracked, and I joined Facebook on a recent trip. So, here we are. To my friends, I'm sorry for falling out of touch. If I haven't added you on Facebook; please add me! I try to check it every day or two. I'm still getting the hang of things, so my apologies if I end up spamming you with random crap. I'm very permission phobic, but the control doesn't seem super granular yet.
As for this blog, I've tried to blog in stops and starts over the years, to generally no avail. We'll see how long I can keep this up. I intend to share my general thoughts on my industry and my own personal projects.


10 temporarily free and 15 on-sale apps and games for the holiday weekend
by Jordan PalmerThere's a long weekend ahead for some of us, but that means it's time for app sales, too. Today's list is also small like Wednesday's, but it features Reed and Reed 2, both of which are fun.
Free
Apps
- Motivate Me! Encourage Me! $0.99 -> Free; Sale ends in 3 days
- Social Lite $0.99 -> Free; Sale ends in 5 days
Games
- Stone Of Souls $0.99 -> Free; Sale ends in 4 days
- Delivery RPG $2.49 -> Free; Sale ends in 5 days
- Freecell Solitaire (Full) $0.99 -> Free; Sale ends in 5 days
- 2 Player Quiz Pro $1.99 -> Free; Sale ends in 7 days
- Reed $0.99 -> Free; Sale ends in 7 days
- Reed 2 $0.99 -> Free; Sale ends in 7 days
Icon packs & customization
- Hexadark - Hexa Icon Pack $0.99 -> Free; Sale ends in 2 days
- OSX Icon Pack $0.99 -> Free; Sale ends in 5 days
Sale
Apps
- G-Stomper Producer $12.99 -> $7.99; Sale ends in 3 days
- Audit Assistant - Site Auditing, Snagging, Inspect $2.99 -> $1.49; Sale ends in 7 days
- ReactionLab 2 - Particle Sandbox $2.77 -> $1.57; Sale ends in 7 days
- Site Inspection - Snagging, Site Auditing, faults $2.99 -> $1.49; Sale ends in 7 days
Games
- The Last Roman Village $1.99 -> $1.39; Sale ends in 3 days
- Volt $1.99 -> $0.99; Sale ends in 3 days
- Crash Dive $6.99 -> $3.49; Sale ends in 4 days
- Hovercraft Shifter Endless Racer $3.99 -> $0.99; Sale ends in 4 days
- Beholder 2 $7.99 -> $2.99; Sale ends in 6 days
- Lock's Quest $7.99 -> $5.49; Sale ends in 6 days
- M.A.C.E. Space Shooter $1.99 -> $0.99; Sale ends in 6 days
- The Last Warlock $3.49 -> $0.99; Sale ends in 6 days
- Unbroken Soul $2.49 -> $0.99; Sale ends in 6 days
Icon packs & customization
- Verticons Icon Pack $1.59 -> $0.99; Sale ends in 2 days
- Address Widget - Travel & Vacation Address $4.99 -> $0.99; Sale ends in 5 days


This site displays four datasets related to coastal hurricane impacts.
First, the
NOAA Emergency Response
Imagery collected after storm events. Second,
USGS predictions of overwash probabilities. Third,
USGS observations of overwash extents. Fourth, results from a
machine learning predictor of overwash occurence
based on
labeled NOAA images.
The code that underlies this map can be seen in the
project repository.
This site is an academic research project — the map and data presented
here are intended solely for informational purposes. We do not intend or
imply any guarantee on the accuracy (or completeness) of any data
displayed on this site. (this disclaimer was adapted from the
NOAA ERI website.)


Front end web developer with background in animation and advertising. Passionate in user-experience and interaction by delivering optimized creative solution.
In the past seven years working at Publicis Seattle, I had the opportunity to create a wide array of deliverables including 3D assets, animatics, social media video content, micro-sites and hundreds of fully animated H5 digital banners in all shapes and sizes. I am confident that I can bring creative solutions to all your digital needs in the most efficient way possible.
Portfolio
Website should be a work of art that reflects owner's mission, style, and personality(if applicable). I strongly believe web content should be engaging and interactive and that's what I hope to bring into the tech industry. Front-end is just as important as the back-end.
About Me
I worked in an advertising agency for the past seven years. First as motion graphic designer, then I transitioned into a front end web developer in the last four years. After my department got outsourced to Toronto, I have been actively seeking ways to become a better full stack developer. My goal is to work in smaller game companies as front end web developer with working knowledge in the back end. My strength is in the ability to design, animate, and deploy engaging web applications and I have confidence I can adapt to any workflow effectively and efficiently.


{% extends "base.html" %} {% load i18n %} {% load duration switzerland %} {% block title %}{% trans "Payment successful" %} - {{ block.super }}{% endblock %} {% block page_title %}{% trans "Payment successful" %} {% endblock %} {% block content %}
{% trans "The payment was successful." %}
{% trans "My registered activities" %} — {% trans "My invoices" %}


This function is similar to [[compatibleNativize]], but takes
a LogDecoding, and puts the results in an object. Note
that this does not return the entire event info, but just the
args
for the event.
This function is similar to nativize, but takes a ReturndataDecoding. If there's only one returned value, it will be run through compatibleNativize but otherwise unaltered; otherwise the results will be put in an object.
Note that if the ReturndataDecoding is not a ReturnDecoding,
this will just return undefined
.
WARNING! Do NOT use this function in real code unless you absolutely have to! Using it in controlled tests is fine, but do NOT use it in real code if you have any better option!
This function is a giant hack. It will throw exceptions on numbers that don't fit in a Javascript number. It loses various information. It was only ever written to support our hacked-together watch expression system, and later repurposed to make testing easier.
If you are not doing something as horrible as evaluating user-inputted Javascript expressions meant to operate upon Solidity variables, then you probably have a better option than using this in real code!
(For instance, if you just want to nicely print individual values, without attempting to first operate on them via Javascript expressions, we have the ResultInspector class, which can be used with Node's util.inspect() to do exactly that.)
Remember, the decoder output format was made to be machine-readable. It shouldn't be too hard for you to process. If it comes to it, copy-paste this code and dehackify it for your use case, which hopefully is more manageable than the one that caused us to write this.
Generated using TypeDoc
This function is similar to unsafeNativize, but is intended to be safe, and also allows for different output formats. The only currently supported format is "ethers", which is intended to match the way that Truffle Contract currently returns values (based on the Ethers decoder). As such, it only handles ABI types, and in addition does not handle the types fixed, ufixed, or function. Note that in these cases it returns
undefined
rather than throwing, as we want this function to be used in contexts where it had better not throw. It also does not handle circularities, for similar reasons.To handle numeric types, this function takes an optional numberFormatter option that tells it how to handle numbers; this function should take a BigInt as input. By default, this function will be the identity, and so numbers will be represented as BigInts.
Note that this function begins by calling abify, so out-of-range enums (that aren't so out-of-range as to be padding errors) will not return
undefined
. Out-of-range booleans similarly will return true rather thanundefined
. However, other range errors may returnundefined
; this may technically be a slight incompatibility with existing behavior, but should not be relevant except in quite unusual cases.In order to match the behavior for tuples, tuples will be transformed into arrays, but named entries will additionally be keyed by name. Moreover, indexed variables of reference type will be nativized to an undecoded hex string.


Megadeth
The Legends of metal
An earlier lineup of Megadeth with Chris Broderick, Dave Mustaine, Shawn Drover and David
Discography
1984
- Killing Is My Business... and Business Is Good!
1987
- Peace Sells... but Who's Buying?
1979
- So Far, So Good... So What!
1979
- Rust in peace
1997
- Countdown of excintition
1991
- Youthanasia
1997
- Criptic Writings
1997
- Risk
1994
- The World Needs a Hero
1997
- The System Has Failed
2006
- United Abominations
2000
- Endgame
2000
- Thirteen
2000
- Super Collider
2000
- Dystopia
"Moving on is simple thing, what it leaves behind is hard""
If you have time, you should read more about this timeless band on his
Wikipedia entry
.


Nothing Ear (1) review: Style… and substance?
Jul 30, 2021The heart of tech
TNW's CEO?
Mercedes unveils EV lineup: the beauty, the beast, and the ugly duckling
Debunking the mysteries of deep reinforcement learning
The countdown has started TNW Conference 2021 is less than 30 days away!
Germany wants to ensure your phone last up to 7 years
The countdown has started TNW Conference 2021 is less than 30 days away!
advert here
Your sardonic source for consumer tech stories
Human-centric AI news and analysis
Driving the future of sustainable mobility
No-nonsense perspectives on startup growth
Inside money, markets, and Big Tech
Driving the future of sustainable mobility
Nothing Ear (1) review: Style… and substance?
Jul 30, 2021Nothing Ear (1) review: Style… and substance?
Nothing Ear (1) review: Style… and substance?
Nothing Ear (1) review: Style… and substance?
Nothing Ear (1) review: Style… and substance?
Nothing Ear (1) review: Style… and substance?
Nothing Ear (1) review: Style… and substance?
TNW takes center stage in the tech industry, offering creative media campaigns, sizzling tech events, bespoke innovation programs, and prime office locations in Amsterdam.


Climate Viewer Mobile's live updates on severe weather, earthquakes, fires, and other life-threatening events will give you peace of mind in one all-inclusive app. With cutting-edge technology, real-time situational awareness, and a visual tour of our planetary health risks, look no further. We have you covered, spread the word! This website is under construction, please report any issues and have fun! Knowing is half the battle. Click here for instructions.
Instructions
Changes
January 28, 2016 - GeoJSON layers now show a list of all of the markers. You can click on the list to fly to that location!
January 19, 2016 - Bing Maps Aerial (satellite view) is now set as the default background layer.


Expert knowledge of Python, using both, Python 2 and Python 3.
Senior developer experience.
I have been building things in Python and Django for more than five years now.
I use this web framework to build secure and scalable applications. Django has allowed me to write, modify and debug code as quickly as possible, so that I can focus most of my energies on thinking and designing the products behind my code.
Rapid application deployment, reducing time spent on setup. Portability, reducing incompatibilities between production and development environments, between different developers environments and between different infrastructure solutions.
Keep your application configuration and environment under version control. Reuse of ready-to-use containers built, tested and maintained by the community.
Smaller footprint than classical Virtual Machines, which contributes to quicker and more reliable deployments and smaller infrastructure costs.
Helps to reduce developers overhead, regarding planning, setup and maintenance of more complex system requirements.
I have experience working with different data sources and data storages.
In my previous positions, I have participated in data architecture design, proposing approaches and implementations.
I am self-driven, curious, analytical and excited to handle large data sets.
Good knowledge of statistics. Strong knowledge of databases (both relational and non-relational). Proven ability to write efficient SQL statements.
In-depth knowledge of Linux (servers and desktops). I feel comfortable scripting with Bash and Python. Passionate about Linux and open source technology.
| Name | Jose Garcia |
|---|---|
| jose.eduardo.gd (at) gmail.com | |
| Phone |<PHONE_NUMBER>5 |
| Right time to call | From 15:00 to 17:00 |
| Github | https://github.com/JoseKilo |
| https://uk.linkedin.com/in/jose-egd/en |


Encoding method
Alphabet (letters and spaces, not case sensitive)
Binary (all characters)
Host text (should be longer than encoded text)
Encoded text
Embedded text (paste encoded text here)
Decoded text


'The Morning Show' is up for multiple Golden Globe awards
Source: Apple
What you need to know
- "The Morning Show" has been nominated for multiple Golden Globe awards.
- One of those awards is for best series drama.
- It's up against some big names, though.
The Golden Globes are always a big deal in Hollywood and this year is Apple's big chance to announce the arrival of Apple TV+ with a bang. And "The Morning Show" might just be about to do that after it picked up multiple nominations across a couple of categories.
The biggest of those is as the best TV series drama that could see the show become a household name. Both of the show's biggest stars, Jennifer Aniston and Reece Witherspoon, are also both up for best actress nominations.
The Golden Globes ceremony will be held on January 5 2020 so we – and Apple – don't have to wait too long to find out whether there's a win here or not. Given the competition is made up of Big Little Lies, The Crown, Killing Eve and Succession, that's not going to be easy to attain.
Save 40% and get three months of wireless service for just $45
This follows the news that Billy Crudup has also been nominated for a Critics Choice award.
It's been something of a topsy turvy couple of months for "The Morning Show" following the launch of Apple TV+. Initially it was panned by critics but some of them have started to change their tune. Importantly, viewers seem to have been more kind to the show although it's debatable whether it's hit the highs we might have expected given the cast and the promotion Apple gave it prior to the Apple TV switch-on.
We may earn a commission for purchases using our links. Learn more.


| About | I set a goal for myself to find a real product to improve in some way and I settled on the interface for Safeway's home delivery app. This is my attempt at a cleaner, more user friendly interface for home grocery delivery. |
| What I Learned | I went through a number of sketches before landing on the idea of using the whole screen, plush modals for adding things to the cart. I feel like the pictures are really what make sites like this fun to use and I didn't want to give up any of that screen real estate if I could help it. After that some of the challenges I worked on were things like flattening the array that comes back from the database (initially there was white space between categories), and creating a database architecture that would allow me to access all the info I needed (using the .populate function in MongoDB) to both store and retrieve information. |
| Technologies | MongoDB, Express, Angular, Nodejs, Angular-Bootstrap, JavaScript, HTML5, CSS3 |
| About | I've worked on learning a number of languages, but Spanish is the one I know best (after English). I feel that most programs focus too heavily on grammar and not enough on vocabulary, and some work too hard to be "conversational" to actually use the words for yourself (you end up just memorizing phrases). I wanted to build a site that teaches a foriegn language focusing on the most common words and putting them together grammatically so that you can say the things you want to say. This course was designed for self study so learners could be successful in a tradition Spanish 1 course. |
| What I Learned | Some of the challenges I faced with this project was the database design, the UX of the course, and creating some basic personalization so that the user is more invested in the project. Another of One of the takeaways from this was the difficulty in doing instructional design - setting things up to make it easy to learn is difficult. I liked figuring out how to delay the written words to show up in sync with the sound clips to make them more congruous for the user. |
| Technologies | MongoDB, Express, Angular, Nodejs, Angular-Materialize, Angular-Audio, Angular-cookies, JavaScript, HTML5, CSS3 |
| About | This is a social media website for the non-profit Silicon Valley Faces, which teaches leadership skills to High Schoolers with the goal of building communities free of bias, bigotry and violence by transforming youth into community builders and empowering crime victims to thrive. The site was designed to help the organizers keep in touch with graduates/alumni and other stakeholders in the program. |
| What I Learned | There were 8 of us, and learning to deal with merge conflicts, commenting code for others use, writing clearly, using good naming conventions, refactoring code and using includes to make the files more readable were all key. In addition, this project was developed according to the Scrum/Agile methodology, and I found the experience of breaking the project into tasks which we tracked with sticky notes on the Sprint Backlog to be valuable experience as well. Testing, deploying increments of the product, and then testing again to make sure it really works once it's out of production was important. |
| Technologies | MongoDB, Express, Angular, Nodejs, Angular-Bootstrap, Regex, Youtube - Embed, JavaScript, HTML5, CSS3 |
| About | I'm always trying to teach myself new things, and I use youtube as one of my resources. A few years back I felt frustrated that I didn't have the tools to keep track of what videos I had watched, what I thought was good about each video, what timestamps I thought were particularly valuable, etc. This site was designed to rectify that problem. Users can keep track of what they like with the site, but it's optimized to help people learn. |
| What I Learned | This was by far my most UX centered development experience. I went through several drafts as I condensed the site into a single page application and pushed through the technical challenges that I experienced as a result. I was especially happy with the way I manipulated the url so that users could pull directly from the browser window without requiring extra steps of the user. I also liked writing the regex expression used in the search function, and the algorithms that change the position value of every video in the list. |
| Technologies | MongoDB, Express, Angular, Nodejs, Angular-Bootstrap, Regex, JavaScript, HTML5, CSS3 |
| About | There are a lot of times in life where you want to work out, but don't own equipment and don't have time to make it to the gym. This project gives you a variety of plyometric workouts requiring no equipment that you can complete in roughly 20 minutes. It also has the ability to connect users so they can see each other's workouts and keep each other motiviated and accountable. |
| What I Learned | This was my first project in MEAN and I learned alot in terms of setting up routes, setting up MongoDB, connecting libraries such as angular-bootstrap, the basic CRUD operations and login/registration. |
| Technologies | MongoDB, Express, Angular, Nodejs, Angular-Bootstrap, JavaScript, HTML5, CSS3 |
| About | The idea behind this app was that of the sharing economy - you can rent out that kayak in your garage when you're not using it and both you and the person you rent it to can benefit. I allows you to upload items, pick out items, decide when you want to rent them, communicate with the seller, and then pay with a credit card. |
| What I Learned | My main focus here was incorporating the Stripe API that allows users to make a payment, along with learning the Rails framework generally. In terms of Rails, I thought the ORM was interesting the way it allowed you to define the relationships in the data ahead of time in a very different way from MongoDB. |
| Technologies | Ruby on Rails, Stripe gem, Ruby, HTML5, CSS3, Bootstrap |


--- layout: page weight: 0 title: Billing seo: robots: NOINDEX, FOLLOW navigation: show: true ---
You can retrieve invoices and usage data about your users through the website or via the Distributor API.
Whenever you create an user under your account, they immediately begin their billing cycle from that day forward. The billing cycle is one month, and they will be invoiced the same day the account was created the following month.
If a user decides to close their account during their billing period, we will prorate the amount left on the next bill.
Following are brief descriptions of the various API calls needed to manage billing issues, click the API call name for further details:
Retrieve invoices and usage information.
Retrieve usage information between billing periods for intermediate billing.


Welcome to Puma
5: Spoony Bard.
Note:
Puma
5 now automatically usesWEB_CONCURRENCY
env var if set see this post for an explanation. If your memory use goes up after upgrading toPuma
5 it indicates you're now running with multiple workers (processes). You can decrease memory use by tuning this number to be lower.
Puma
5 brings new experimental performance features, a few quality-of-life features and loads of bugfixes. Here's what you should do:
- Review the Upgrade section below to see if any of 5.0's breaking changes will affect you.
- Upgrade to version 5.0 in your Gemfile and deploy.
- Try the new performance experiments outlined below and report your results back to the
Puma
issue tracker.
Puma
5 was named Spoony Bard by our newest supercontributor, @wjordan. Will brought you one of our new perf features for this release, as well as many other fixes and refactors. If you'd like to name a Puma
release in the future, take a look at CONTRIBUTING.md and get started helping us out :)
Puma
5 also welcomes @MSP-Greg as our newest committer. Greg has been instrumental in improving our CI setup and SSL features. Greg also named our 4.3.0 release: Mysterious Traveller.
What's New
Puma
5 contains three new "experimental" performance features for cluster-mode Pumas running on MRI.
If you try any of these features, please report your results to our report issue.
Part of the reason we're calling them experimental is because we're not sure if they'll actually have any benefit. People's workloads in the real world are often not what we anticipate, and synthetic benchmarks are usually not of any help in figuring out if a change will be beneficial or not.
We do not believe any of the new features will have a negative effect or impact the stability of your application. This is either a "it works" or "it does nothing" experiment.
If any of the features turn out to be particularly beneficial, we may make them defaults in future versions of Puma
.
Lower latency, better throughput
From our friends at GitLab, the new experimental wait_for_less_busy_worker
config option may reduce latency and improve throughput for high-load Puma
apps on MRI. See the pull request for more discussion.
Users of this option should see reduced request queue latency and possibly less overall latency.
Add the following to your puma.rb
to try it:
wait_for_less_busy_worker
# or
wait_for_less_busy_worker 0.001
Production testing at GitLab suggests values between 0.001
and 0.010
are best.
Better memory usage
5.0 brings two new options to your config which may improve memory usage.
nakayoshi_fork
nakayoshi_fork
calls GC a handful of times and compacts the heap on Ruby 2.7+ before forking. This may reduce memory usage of Puma on MRI with preload enabled. It's inspired by Koichi Sasada's work.
To use it, you can add this to your puma.rb
:
nakayoshi_fork
fork_worker
Puma 5 introduces an experimental new cluster-mode configuration option, fork_worker
(--fork-worker
from the CLI). This mode causes Puma to fork additional workers from worker 0, instead of directly from the master process:
10000 \_ puma 4.3.3 (tcp://<IP_ADDRESS>:9292) [puma]
10001 \_ puma: cluster worker 0: 10000 [puma]
10002 \_ puma: cluster worker 1: 10000 [puma]
10003 \_ puma: cluster worker 2: 10000 [puma]
10004 \_ puma: cluster worker 3: 10000 [puma]
It is compatible with phased restarts. It also may improve memory usage because the worker process loads additional code after processing requests.
To learn more about using refork
and fork_worker
, see 'Fork Worker'.
What else is new?
- Loads of bugfixes.
- Faster phased restarts and worker timeouts.
- pumactl now has a
thread-backtraces
command to print thread backtraces, bringing thread backtrace printing to all platforms, not just *BSD and Mac. (#2053) - Added incrementing
requests_count
to Puma.stats. (#2106) - Faster phased restart and worker timeout. (#2220)
- Added
state_permission
to config DSL to set state file permissions (#2238) - Ruby 2.2 support will be dropped in Puma 6. This is the final major release series for Ruby 2.2.
Upgrade
- Setting the
WEB_CONCURRENCY
environment variable will now configure the number of workers (processes) that Puma will boot and enable preloading of the application. - If you did not explicitly set
environment
before, Puma now checksRAILS_ENV
and will use that, if available in addition toRACK_ENV
. - If you have been using the
--control
CLI option, update your scripts to use--control-url
. - If you are using
worker_directory
in your config file, change it todirectory
. - If you are running MRI, default thread count on Puma is now 5, not 16. This may change the amount of threads running in your threadpool. We believe 5 is a better default for most Ruby web applications on MRI. Higher settings increase latency by causing GVL contention.
- If you are using a worker count of more than 1, set using
WEB_CONCURRENCY
, Puma will now preload the application by default (disable withpreload_app! false
). We believe this is a better default, but may cause issues in non-Rails applications if you do not have the properbefore
andafter
fork hooks configured. See documentation for your framework. Rails users do not need to change anything. Please note that it is not possible to use the phased restart with preloading. - tcp mode and daemonization have been removed without replacement. For daemonization, please use a modern process management solution, such as systemd or monit.
connected_port
was renamed toconnected_ports
and now returns an Array, not an Integer.
Then, update your Gemfile:
gem 'puma', '< 6'


Special for south indian food
More Info
Famous for its ambience
Famous for chinese cuisine
Famous for its awesome interior
Famous for its punjabi food
Famous for its awesome chinese taste
Very old hotel with awesome taste
It is famous for its malwan taste
Cheap and best quality food
Relaxing place to have food
Famous for punjabi food
Best place for office goers and corporate workers to work in cafes


(#)
!!! ERROR:
This is an error.
Id
: `DoNotMock`
Summary
:
Severity
: Error
Category
: Correctness
Platform
: Any
Vendor
: slack
Identifier
: slack-lint
Contact
: https://github.com/slackhq/slack-lints
Feedback
: https://github.com/slackhq/slack-lints
Min
: Lint 8.0 and 8.1
Compiled
: Lint 8.0 and 8.1
Artifact
: [com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html)
Affects
: Kotlin and Java files and test sources
Editing
: This check runs on the fly in the IDE editor
Implementation
: [Source Code](https://github.com/slackhq/slack-lints/blob/main/slack-lint-checks/src/main/java/slack/lint/mocking/MockDetector.kt)
Tests
: [Source Code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/mocking/DoNotMockMockDetectorTest.kt)
Copyright Year
: 2021
Do not mock classes annotated with `@DoNotMock`, as they are explicitly
asking not to be mocked in favor of better options (test fakes, etc).
These types should define explanations/alternatives in their
annotation.
(##) Example
Here is an example of lint warnings produced by this check:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text
test/test/slack/test/TestClass.kt:6:Error: Do not mock TestClass: Use
fake() [DoNotMock]
@Mock lateinit var mock1: TestClass
-----------------------------------
test/test/slack/test/TestClass.kt:7:Error: Do not mock TestClass2: Use
fake() [DoNotMock]
@Mock lateinit var mock2: TestClass2
------------------------------------
test/test/slack/test/TestClass.kt:8:Error: Do not mock TestClass3:
BECAUSE REASONS [DoNotMock]
@Mock lateinit var mock3: TestClass3
------------------------------------
test/test/slack/test/TestClass.kt:9:Error: Do not mock TestClass4:
BECAUSE REASONS [DoNotMock]
@Mock lateinit var mock4: TestClass4
------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Here is the source file referenced above:
`test/test/slack/test/TestClass.kt`:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers
package slack.test
@slack.lint.annotations.DoNotMock("Use fake()")
interface TestClass {
fun fake(): TestClass? = null
}
@com.google.errorprone.annotations.DoNotMock("Use fake()")
interface TestClass2 {
fun fake(): TestClass2? = null
}
@slack.lint.annotations.DoNotMock
interface TestClass3 {
fun fake(): TestClass3? = null
}
@com.google.errorprone.annotations.DoNotMock
interface TestClass4 {
fun fake(): TestClass4? = null
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can also visit the
[source code](https://github.com/slackhq/slack-lints/tree/main/slack-lint-checks/src/test/java/slack/lint/mocking/DoNotMockMockDetectorTest.kt)
for the unit tests for this check to see additional scenarios.
The above example was automatically extracted from the first unit test
found for this lint check, `MockDetector.kotlinTests`.
To report a problem with this extracted sample, visit
https://github.com/slackhq/slack-lints.
(##) Including
!!!
This is not a built-in check. To include it, add the below dependency
to your project. This lint check is included in the lint documentation,
but the Android team may or may not agree with its recommendations.
```
// build.gradle.kts
lintChecks("com.slack.lint:slack-lint-checks:0.3.0")
// build.gradle
lintChecks 'com.slack.lint:slack-lint-checks:0.3.0'
// build.gradle.kts with version catalogs:
lintChecks(libs.slack-lint-checks)
# libs.versions.toml
[versions]
slack-lint-checks = "0.3.0"
[libraries]
slack-lint-checks = {
module = "com.slack.lint:slack-lint-checks",
version.ref = "slack-lint-checks"
}
```
0.3.0 is the version this documentation was generated from;
there may be newer versions available.
[Additional details about com.slack.lint:slack-lint-checks](com_slack_lint_slack-lint-checks.md.html).
(##) Suppressing
You can suppress false positives using one of the following mechanisms:
* Using a suppression annotation like this on the enclosing
element:
```kt
// Kotlin
@Suppress("DoNotMock")
fun method() {
problematicStatement()
}
```
or
```java
// Java
@SuppressWarnings("DoNotMock")
void method() {
problematicStatement();
}
```
* Using a suppression comment like this on the line above:
```kt
//noinspection DoNotMock
problematicStatement()
```
* Using a special `lint.xml` file in the source tree which turns off
the check in that folder and any sub folder. A simple file might look
like this:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<lint>
<issue id="DoNotMock" severity="ignore" />
</lint>
```
Instead of `ignore` you can also change the severity here, for
example from `error` to `warning`. You can find additional
documentation on how to filter issues by path, regular expression and
so on
[here](https://googlesamples.github.io/android-custom-lint-rules/usage/lintxml.md.html).
* In Gradle projects, using the DSL syntax to configure lint. For
example, you can use something like
```gradle
lintOptions {
disable 'DoNotMock'
}
```
In Android projects this should be nested inside an `android { }`
block.
* For manual invocations of `lint`, using the `--ignore` flag:
```
$ lint --ignore DoNotMock ...`
```
* Last, but not least, using baselines, as discussed
[here](https://googlesamples.github.io/android-custom-lint-rules/usage/baselines.md.html).


GOALS:
Download
TODO:
Copy
Save
Delete Finished Goals
Finished goals
New message
×
Event Name:
Date:
Dark Mode
+
S+


Dr. Kumar is the Lillian and Morrie Moss Chair of Excellence Professor in the Department of Computer Science at the University of Memphis and director of the Center of Excellence for Mobile Sensor Data-to-Knowledge (MD2K).
Zachary Ives is a Professor of Computer and Information Science at the University of Pennsylvania, as well as the Associate Dean for Masters and Professional Programs at Penn's School of Engineering and Applied Science.
Dr. Sim is a Professor of Medicine and Co-Director of Biomedical Informatics at the University of California, San Francisco’s Clinical and Translational Sciences Institute.
Dr. Srivastava is a Professor of Electrical Engineering and Computer Science at the University of California, Los Angeles.He also leads the Computation Team for the MD2K Center.


Emojis Notation Calculator
This is a calculator which converts from powers of 10 to the Emojis notation used in
Antimatter Dimensions
.
Input: e
Calculate!
Output:
Warning: The result may have lost precision!


Welome to Slay The Dragon! You have just embarked upon a very dangerous journey! Your mission, should you choose to accept, is simple, slay the dragon!
But you are just one warrior, how will you preform such a task? Many before you have tried and failed. There is only one way to suceed. You must strike the dragon three consecutive times in order to slay him for good. Are you up to the challenge?


Fraser Davidson
UX Designer
Fraser Davidson
UX Designer
Kabio Basile
UX Designer
Sean Mcabe
UX Designer
Tim Boelaars
UX Designer
David Lanham
UX Designer
Jeremiah Shaw
UX Designer
Jackie Tran
UX Designer
Ionut Zamfir
UX Designer
Matthew Smith
UX Designer
Dana Tanamachi
UX Designer
Louie Mantia
UX Designer
Shaun Moynihan
UX Designer
Dustin Wallace
UX Designer
Veerle Pieters
UX Designer
Charlie Waite
UX Designer
Mason Yarnell
UX Designer
Justin Pervorse
UX Designer


ColDef
(api in module ui.grid.edit
)
Column Definitions for edit feature
If specified, either a value or function evaluated before editing cell. If falsy, then editing of cell is not allowed
function($scope){ //use $scope.row.entity and $scope.col.colDef to determine if editing is allowed return true; }
cell template to used when editing this column. can be Url or text template
Defaults to gridOptions.editableCellTemplate
enable editing on column
If true, then editor is invoked as soon as cell receives focus. Default false
!! requires cellNav feature !!


These are the best Nigerian companies to work for according to Jobberman
by Emmanuel Abara BensonThe 2019 best 100 companies to work for in Nigeria have been unveiled by Jobberman. As expected, the list is dominated by many of the biggest and most valuable companies in the country. These companies also cut across different sectors of the economy.
Note that over 60, 000 companies were surveyed to arrive at the top one hundred. The research was conducted based on feedback from respondents drawn from major cities such as Lagos, Abuja, Port Harcourt, and others.
The pervading theme of the research is employee satisfaction and happiness. Jobberman also highlighted the key parameters of the respondents in the survey thus:
- Gender: 64% male and 36% female
- Age Group: Majority of the respondents (60%) were aged between 25-35
- Location: 62% of respondents are based in Lagos, 8% are based in Abuja, 6% in Port Harcourt, and the remaining 24% in other parts of the country.
- Highest education level: Majority of the respondents (62% of them) have bachelor’s degree
- Job Level: Majority of the respondents (41%) are mid-career professionals
- Employment status: Of course, majority of the respondents are employed; 74% of them
- Top 5 industries that many of the respondents work in include: technology, banking and finance, education & training, manufacturing, internet & communications
- Top 5 job roles of the respondents include: IT & software, accounting, auditing & finance, administrative, sales, customer service
- Salary Bracket: 39% of the respondents earn between N50, 000 to N150, 000
[READ MORE: Louis Vuitton acquires American jeweller, Tiffany for $16 billion]
At the end of the survey, about 3,148 valid responses were used in the final analysis to arrive at the top one hundred best companies to work for in Nigeria. The names of the companies are listed below in order of ranking, with one being the best.
- Shell
- Chevron
- Dangote
- NNPC
- Nestle
- ExxonMobile
- MTN
- Total
- Andela
- KPMG
- Nigerian Breweries
- PwC
- Guaranty Trust Bank
- Unilever
- Glo
- Nigerian Bottling Company
- Guinness
- Deloitte
- British American Tobacco
- First Bank of Nigeria
- NLNG
- Central Bank of Nigeria
- Zenith Bank
- Access Bank
- Julius Berger
- Paystack
- Microsoft
- PZ Cussons
- Procter & Gamble
- General Electric
- United Nations
- Airtel
- National Broadcasting Commission
- Flour Mills of Nigeria
- Cadbury
- Interswitch
- Jumia
- Oando
- United Bank for Africa
- Schlumberger
- Federal Inland Revenue Service
- Agip
- FrieslandCampina Wamco Nigeria
- Stanbic IBTC Bank
- GlaxoSmitheKline Nigeria
- Ernest and Young
- Sahara Energy
- UNICAF
- Seplat
To see the rest of the companies, download the full report here.


We optimize infrastructure!
- embrace scalable portals
- repurpose user-centric convergence
- syndicate ubiquitous e-tailers
- benchmark open-source solutions
- integrate integrated initiatives
- target collaborative e-tailers
- enable plug-and-play content
- monetize interactive infrastructures


// optional arguments
block([{*}, ..., {*},] () => {
// configuration closure
})
Webpkr scripts are configuration scripts. As the script executes, it configures a tree of configuration nodes. During the evaluation phase, tree nodes are evaluated to generate a webpack
configuration object.
| Under Development. |
A configuration script is made of up of multiple statements and script blocks. A script block inserts a new node in the the configuration tree and takes optional parameters.
If the final parameter is a closure, it is treated as a configuration closure which configures the newly created node. Any optional parameters are available to the node during the subsequent evaluation phase.
// optional arguments
block([{*}, ..., {*},] () => {
// configuration closure
})
Top level script blocks map to top level keys of the webpack
configuration object. Where there is a potential clash of names (e.g. with module
or path
), the script block name is appended with a $
symbol.
The build script is JavaScript code, and can contain any valid JavaScript, such as method definitions, require
statements, classes etc.
The directory containing the project build file. Defaults to process.cwd()
.
// webpack.config.js
module.exports = require( 'webpkr' )( { projectDir: __dirname } );
The build directory of this project where all the output will be generated. Defaults to projectDir/build
.
Environment script blocks allow conditional inclusion (or exclusion) during the evaluation phase based on the value of the NODE_ENV
environment variable.
Sub-blocks are evaluated only when NODE_ENV=development
.
development( () => {
// development-only scripts
})
Sub-blocks are evaluated only when NODE_ENV=production
.
production( () => {
// production-only scripts
})
Sub-blocks are evaluated only when NODE_ENV=testing
.
testing( () => {
// testing-only scripts
})
Sub-blocks are evaluated only when NODE_ENV=staging
.
staging( () => {
// staging-only scripts
})
In some cases, it may be necessary to control the order the order of evaluation, e.g. to ensure the order of loading of css files.
| Do not depend solely on the position of a script block if order of evaluation is important. |
Instructs the evaluation phase to evaluate the nodes contained within before other nodes.
// ensures that base.css is loaded before style.css
entry({main: './css/style.css'})
doFirst( () => {
entry({main: './css/base.css'})
})
Instructs the evaluation phase to evaluate the nodes contained within after other nodes.
// ensures that style.css is loaded after base.css
doLast( () => {
entry({main: './css/style.css'})
})
entry({main: './css/base.css'})
The order of evaluation within doFirst and doLast is not guaranteed.
|
string
The base directory for resolving entry points and loaders from configuration. Relative paths are resolved from projectDir
.
context('src')
// => projectDir/src
string | [string] | object { <key>: string | [string] }
The point or points to enter the application. See entry. Webpkr will merge multiple calls to entry()
:
Arrays will be merged with arrays or individual strings.
Objects will merged/extended by key.
| Attempting to merge an array with an object will result in an error. |
| webpkr script | webpack configuration |
|---|---|
|
|
The top-level output
script block configures webpack
output settings.
output(() =>{
filename( 'bundle.js' )
path$( 'dist' )
} )
|
To avoid potential name clashes, |
The top-level module$
script block configures the webpack
module key.
module$( () => {
rule( () => { } )
rule( () => { } )
} )
|
To avoid name clashes, |
The rule
script block defines a rule which is matched to requests when modules are created. Rule blocks are grouped into the module.rules
array during the evaluation phase.
module$( () => {
rule( () => {
test( /\.css$/ )
use( ExtractTextPlugin.extract( {
fallback: 'style-loader',
use: 'css-loader',
} ) )
} )
rule( () => {
test( /\.scss$/ )
use( ExtractTextPlugin.extract( {
fallback: 'style-loader',
use: [
{ loader: 'css-loader' },
{ loader: 'sass-loader' },
]
} ) )
} )
} )
The following script blocks are available within the rule
script block:


Bolivian president announces resignation amid unrest
Bolivian President Evo Morales has announced his resignation, seeking to calm the country after weeks of unrest over a disputed election that he had claimed to win.
He made the move on Sunday hours after the Organisation of American States called for a new a presidential election, citing irregularities in the October 20 vote.
Speaking earlier, Bolivia’s military chief called for Mr Morales to step down so that stability can be restored.
Speaking on national television, Gen Williams Kaliman also appealed to Bolivians to desist from violence.


To launch it through GOG Galaxy
If you use enable MultiMC support and normal/vanilla Minecraft is not installed, you will not be able to install it via GOG Galaxy as Minecraft will show up as installed.
The path is invalid or leads to something that is not an executable, please try again.


This is a page "ms-appx-web:///showFeed.html" that will receive a message when postMessage is pressed in the local context and will display it:


#include <GuContactPoint.h>
Public Member Functions | |
| PX_ALIGN (16, PxVec3 normal) | |
| The normal of the contacting surfaces at the contact point. More... | |
| PX_ALIGN (16, PxVec3 point) | |
| The point of contact between the shapes, in world space. More... | |
| PX_ALIGN (16, PxVec3 targetVel) | |
Public Attributes | |
| PxReal | separation |
| The separation of the shapes at the contact point. A negative separation denotes a penetration. More... | |
| PxReal | maxImpulse |
| The max impulse permitted at this point. More... | |
| PxReal | staticFriction |
| The static friction coefficient. More... | |
| PxU8 | materialFlags |
| Material flags for this contact (eDISABLE_FRICTION, eDISABLE_STRONG_FRICTION). More... | |
| PxU16 | forInternalUse |
| internal structure used for internal use only More... | |
| PxU32 | internalFaceIndex1 |
| The surface index of shape 1 at the contact point. This is used to identify the surface material. More... | |
| PxReal | dynamicFriction |
| The dynamic friction coefficient. More... | |
| PxReal | restitution |
| The restitution coefficient. More... | |
| physx::Gu::ContactPoint::PX_ALIGN | ( | 16 | , |
| PxVec3 | normal | ||
| ) |
The normal of the contacting surfaces at the contact point.
For two shapes s0 and s1, the normal points in the direction that s0 needs to move in to resolve the contact with s1.
| physx::Gu::ContactPoint::PX_ALIGN | ( | 16 | , |
| PxVec3 | point | ||
| ) |
The point of contact between the shapes, in world space.
| physx::Gu::ContactPoint::PX_ALIGN | ( | 16 | , |
| PxVec3 | targetVel | ||
| ) |
| PxReal physx::Gu::ContactPoint::dynamicFriction |
The dynamic friction coefficient.
| PxU16 physx::Gu::ContactPoint::forInternalUse |
internal structure used for internal use only
Referenced by physx::Gu::ContactBuffer::contact().
| PxU32 physx::Gu::ContactPoint::internalFaceIndex1 |
The surface index of shape 1 at the contact point. This is used to identify the surface material.
Referenced by physx::Gu::ContactBuffer::contact().
| PxU8 physx::Gu::ContactPoint::materialFlags |
Material flags for this contact (eDISABLE_FRICTION, eDISABLE_STRONG_FRICTION).
| PxReal physx::Gu::ContactPoint::maxImpulse |
The max impulse permitted at this point.
| PxReal physx::Gu::ContactPoint::restitution |
The restitution coefficient.
| PxReal physx::Gu::ContactPoint::separation |
The separation of the shapes at the contact point. A negative separation denotes a penetration.
Referenced by physx::Gu::ContactBuffer::contact().
| PxReal physx::Gu::ContactPoint::staticFriction |
The static friction coefficient.


| Resource |
Fetch |
Format |
Columns |
Data |
Valid |
Entries |
Oldest |
Latest |
Total (GBP) |
|
Spend over £25,000 in Calderstones Partnership NHS Foundation Trust - April 2011
|
|
Monthly download Apr 2011
|
✔
|
✔
|
✔
|
✔
|
✔
|
1
|
2011-01-04
|
2011-01-04
|
122976.31
|
|
Spend over £25,000 in Calderstones Partnership NHS Foundation Trust - May 2010 - March 2011
|
|
2010 November return
|
✔
|
✔
|
✔
|
✔
|
✔
|
1
|
2010-11-18
|
2010-11-18
|
31812.99
|
|
2010 September return
|
✔
|
✔
|
✔
|
✔
|
✔
|
3
|
2010-09-07
|
2010-09-28
|
82089.89
|
|
2011 January return
|
✔
|
✔
|
✔
|
✔
|
✔
|
2
|
2011-01-19
|
2011-01-26
|
148316.0
|
|
2010 July return
|
✔
|
✔
|
✔
|
✔
|
✔
|
5
|
2010-07-02
|
2010-07-27
|
189095.36
|
|
2010 June return
|
✔
|
✔
|
✔
|
✔
|
✔
|
3
|
2010-06-01
|
2010-06-22
|
94905.08
|
|
2011 March return
|
✔
|
✔
|
✔
|
✔
|
✔
|
2
|
2011-03-15
|
2011-03-30
|
119988.4
|
|
2010 August return
|
✔
|
✔
|
✔
|
✔
|
✔
|
1
|
2010-03-08
|
2010-03-08
|
26104.74
|
|
2010 May return
|
✔
|
✔
|
✔
|
✔
|
✔
|
3
|
2010-05-18
|
2010-05-25
|
99219.93
|
|
Spend over £25,000 in Calderstones Partnership NHS Foundation Trust - August 2011
|
|
Monthly download August 2011
|
✔
|
✔
|
✔
|
✔
|
✔
|
1
|
2011-08-31
|
2011-08-31
|
36000.0
|
|
Spend over £25,000 in Calderstones Partnership NHS Foundation Trust - December 2011
|
|
Monthly download December 2011
|
✔
|
✔
|
✔
|
✔
|
✔
|
2
|
2011-05-12
|
2011-05-12
|
86618.4
|
|
Spend over £25,000 in Calderstones Partnership NHS Foundation Trust - January 2012
|
|
Monthly download January 2012
|
✔
|
✔
|
✔
|
✔
|
✔
|
1
|
2012-01-18
|
2012-01-18
|
48061.18
|
|
Spend over £25,000 in Calderstones Partnership NHS Foundation Trust - July 2011
|
|
Monthly download July 2011
|
✔
|
✔
|
✔
|
✔
|
✔
|
2
|
2011-05-07
|
2011-11-07
|
60696.62
|
|
Spend over £25,000 in Calderstones Partnership NHS Foundation Trust - June 2011
|
|
Monthly download June 2011
|
✔
|
✔
|
✔
|
✔
|
✔
|
1
|
2011-06-06
|
2011-06-06
|
31200.0
|
|
Spend over £25,000 in Calderstones Partnership NHS Foundation Trust - November 2011
|
|
Monthly download November 2011
|
✔
|
✔
|
✔
|
✔
|
✔
|
1
|
2011-01-11
|
2011-01-11
|
38175.59
|
|
Spend over £25,000 in Calderstones Partnership NHS Foundation Trust - October 2011
|
|
Monthly download October 2011
|
✔
|
✔
|
✔
|
✔
|
✔
|
1
|
2011-10-10
|
2011-10-10
|
55413.6
|
|
Spend over £25,000 in Calderstones Partnership NHS Foundation Trust - September 2011
|
|
Monthly download September 2011
|
✔
|
✔
|
✔
|
✔
|
✔
|
3
|
2011-09-15
|
2011-09-28
|
133221.8
|


{% extends "base.html" %} {% block navbar %} {{ modules.NavBar('applications') }} {% end %} {% block sidebaritems %}
{% end %} {% block body %}AirNotifier is a REST server for apple push notification service, users and resources management, it's a strong and generic backend for iOS apps.


This webpage is to help you test uploading, viewing, and editing while using your IDE setup.
In this code, you will find a few different HTML tags and elements that we will discuss more in Week 2.
You can do a great many things with only HTML and CSS alone, such as changing the color of this font. And even changing the type of font presented!
We can change any number of things, much like a Word Processor:
Now you try!
Hello, it's me, Andy.


This animation is interactive
When all the transformations have been applied, you can drag both the $\hat{\imath}$ vector and the $\hat{\jmath}$ vector.


This demo is based on the work of Lefohn et al. (TVCG' 03) on level sets. The distance field is inititialized with a circular region and iteratively approximates the target region by applying a simple speed function moving the distance field towards the target intensity.
Click and drag in image to center seed point (selecting target intensity value) and adjust seed radius.
Log output...
| Iterations | Alpha | Epsilon |
|---|---|---|


Not Connected
Status Report:
Speed: 0 km/h
Current Distance: 0 meters
Range Left: 0
Odometer: 0
Riding Time: 0
Battery Level: NA
Acceleration: 0 %
Left Brake: 0 %
Right Brake: 0 %
Command Report:
Command Successful: false
Lock Status: locked
Led Status: off


Chaplets
Chaplet of All Souls
Prayed using the regular Marian rosary.
One the crucifix, recite Psalm 130 (the De Profundis):
Out of the depths I have cried to thee, O Lord: Lord, hear my voice. Let thy ears be attentive to the voice of my supplication. If thou, O Lord, wilt mark iniquities: Lord, who shall stand it. For with thee there is merciful forgiveness: and by reason of thy law, I have waited for thee, O Lord. My soul hath relied on his word: My soul hath hoped in the Lord. From the morning watch even until night, let Israel hope in the Lord. Because with the Lord there is mercy: and with him plentiful redemption. And he shall redeem Israel from all his iniquities.
On the first bead, pray the "Our Father."
On each of the next three beads, pray the following:
O good Jesus, have mercy on the souls in Purgatory
(or mention name)
and grant to them eternal rest.
First Decade
Pray the following:
I offer You,
my Saviour,
this first decade
for the souls of all of my relatives,
through the Precious Blood
which You shed for them in Your Agony
in the Garden of Gethsemane.
O good Jesus,
have mercy on them!
On the first bead, pray the "Our Father."
On each of the small beads (the "Hail Mary" beads):
Repeat the "O good Jesus" prayer.
Second Decade
Pray the following:
I offer You,
my Saviour,
this second decade
for the souls of all those who have shown me kindness,
through the Precious Blood
which You shed for them in Your Scourging.
O good Jesus,
have mercy on them!
On the first bead, pray the "Our Father."
On each of the small beads (the "Hail Mary" beads):
Repeat the "O good Jesus" prayer.
Third Decade
Pray the following:
I offer You,
my Saviour,
this third decade
for the souls of those whom I have at any time offended, through the Precious Blood
which You shed for them in carrying Your Cross to Calvary.
O good Jesus,
have mercy on them!
On the first bead, pray the "Our Father."
On each of the small beads (the "Hail Mary" beads):
Repeat the "O good Jesus" prayer.
Fourth Decade
Pray the following:
I offer You,
my Saviour,
this fourth decade
for the souls of my friends and companions,
through the Precious Blood
which You poured forth upon the Cross,
and through the sorrows which Mary,
our tender Mother,
endured at the foot of the Cross.
O good Jesus,
have mercy on them!
On the first bead, pray the "Our Father."
On each of the small beads (the "Hail Mary" beads):
Repeat the "O good Jesus" prayer.
Fifth Decade
Pray the following:
I offer You,
my Saviour,
this fifth decade
for the soul of my father and/or Mother and/or relative.
I offer You,
for this soul so dear to me,
the Precious Blood
and the sacerd water from Your Heart,
pierced by the lance.
O good Jesus,
open to this soul the gate of heaven,
and grant me the grace
to be reunited with it
forever in the bosom of Your goodness.
On the first bead, pray the "Our Father."
On each of the small beads (the "Hail Mary" beads):
Repeat the "O good Jesus" prayer.
Chaplet of Conversion
The Chaplet of Conversion consists of a crucifix and 33 beads.
On the crucifix:
Say the Apostles' Creed (for the unbelievers of the world).
On the first bead:
Pray the "Our Father" (for the grace of conversion for the world).
On the second bead:
Pray the "Hail Mary" (honoring the Father for the exaltation of Mary, a mere creature, and for choosing to honor her with the title Queen of Heaven and Mediatrix of all graces).
On the third bead:
Pray the "Hail, Holy Queen."
Repeat the following section five times:
On the large bead:
"O Holy Mother, I join you at the foot of your Son's Cross to implore mercy and conversion for the souls of the world. With you I offer the wounds of your Son Jesus to the Father in atonement for the sins of the world, past, present and to come."
On each of the five small beads:
"Through the sorrowful, bleeding, Immaculate Heat of Mary, and in union with the suffering of her Son Jesus on the Cross, I implore from the Father the grace of conversion for the world."
At the end of each mystery:
Pray the "Hail Mary."
At the end of the chaplet:
Pray three "Glory Be's" (in honor of the Blessed Trinity) and the "Hail, Holy Queen."
Chaplet of Divine Mercy
Prayed using the regular Marian rosary.
On the crucifix:
Make the sign of the cross and say, "In the name of the Father, and of the Son, and of the Holy Spirit. Amen"
Optional prayers on the first bead:
1. You expired, Jesus, but the source of life gushed forth for souls, and
the ocean of mercy opened up for the whole world. O Fount of Life,
unfathomable Divine Mercy, envelop the whole world and empty
Yourself out upon us.
2. O Blood and Water, which gushed forth from the Heart of Jesus as a
fountain of Mercy for us, I trust in You!
On the second bead: Our Father...
On the third bead: Hail Mary...
On the fourth bead: The Apostle's Creed
On the large bead before each decade (the "Our Father" bead):
Eternal Father, I offer you the Body and Blood, Soul and Divinity of
Your Dearly Beloved Son, Our Lord, Jesus Christ, in atonement for our
sins and those of the whole world.
On the small beads of each decade (the "Hail Mary" beads):
For the sake of His sorrowful Passion, have mercy on us and on the whole world.
After the last decade:
Holy God, Holy Mighty One, Holy Immortal One, have mercy on us and on the whole world. (Recite three times.)
Optional closing prayer:
Eternal God, in whom mercy is endless and the treasury of compassion
— inexhaustible, look kindly upon us and increase Your mercy in us,
that in difficult moments we might not despair nor become
despondent, but with great confidence submit ourselves to Your holy
will, which is Love and Mercy itself.
Chaplet of Faith
Prayed using the regular Marian rosary.
Opening prayer:
“My God, I believe, I adore, I hope and I love You. I beg pardon of You for those who do not believe, do not adore, do not hope and do not love You.”
On the large beads (the "Our Father" beads):
Say the Apostles' Creed.
On the small beads (the "Hail Mary" beads):
“Jesus, Mary, I love You, save souls, save the consecrated.”
After the fifth decade, conclude by praying the "Hail, Holy Queen" five times.
Chaplet of Mercy and Forgiveness
Prayed using the regular Marian rosary.
On the crucifix:
In the name of the Father, and of the Son, and of the Holy Spirit. Amen.

You came from heaven to earth
to save all mankind.
You are the Savior of the World.
You taught us to pray:
'Our Father, who art in heaven,
hallowed be Thy name;
Thy kingdom come;
Thy will be done on earth
as it is in heaven.
Give us this day our daily bread;
and forgive us our trespasses
as we forgive those who trespass against us;
and lead us not into temptation,
but deliver us from evil.
For Thine is the kingdom,
the power and the glory,
now and forever.
Amen.'
On the "Our Father" beads:
Merciful Jesus, our Redeemer,
You said, "ask and you shall receive."
We humbly ask You to hear our prayer,
forgive us our sins
and grant us Your peace and salvation.
We praise You now and forever.
On the "Hail Mary" beads:
Holy God, Holy Mighty One,
Holy Immortal One,
have mercy on us.
At the end of each decade:
Most Blessed Virgin Mary,
Mother of God,
intercede for us.
At the end of the last decade:
Most blessed Virgin Mary,
Mother of God,
intercede for us,
for the forgiveness of our sins,
peace and eternal salvation
from your loving Son,
our Lord Jesus Christ,
the only Son of the Living God,
and we praise you,
we bless His name now and forever.
Pray the "Glory Be."
Chaplet of St. Michael the Archangel
On the medal:
O God, come to my assistance
O Lord, make haste to help me.
Glory be...
Nine salutations in honour of the nine Choir of Angels (prayed on each set of four beads):
- By the intercession of St. Michael and the celestial Choir of Seraphim,
may the Lord make us worthy to burn with the fire of perfect charity. Amen.
1 Our Father, 3 Hail Marys - . By the intercession of St. Michael and the celestial Choir of Cherubim,
may the Lord vouchsafe to grant us grace to leave the ways of wickedness
to run in the paths of Christian perfection. Amen.
1 Our Father, 3 Hail Marys -
By the intercession of St. Michael and the celestial Choir of Thrones,
may the Lord infuse into our hearts a true and sincere spirit of humility. Amen.
1 Our Father, 3 Hail Marys - By the intercession of St. Michael and the celestial Choir of Dominions,
may the Lord give us grace to govern our senses and subdue our unruly passions. Amen.
1 Our Father, 3 Hail Marys - By the intercession of St. Michael and the celestial Choir of Powers,
may the Lord vouchsafe to protect our souls against the snares and temptations of the devil. Amen.
1 Our Father, 3 Hail Marys - By the intercession of St. Michael and the celestial Choir of Virtues,
may the Lord preserve us from evil and suffer us not to fall into temptation. Amen.
1 Our Father, 3 Hail Marys - By the intercession of St. Michael and the celestial Choir of Principalities,
may God fill our souls with a true spirit of obedience. Amen.
1 Our Father, 3 Hail Marys - . By the intercession of St. Michael and the celestial Choir of Archangels,
may the Lord give us perseverance in faith and in all good works, in order that we gain the glory of Paradise. Amen
1 Our Father, 3 Hail Marys - By the intercession of St. Michael and the celestial Choir of Angels,
may the Lord grant us to be protected by them in this mortal life and conducted hereafter to eternal glory. Amen.
1 Our Father, 3 Hail Marys
After the nine salutations, pray one Our Father on each of the four concluding beads (one in honor of St. Michael, one in honor of St. Gabriel, one in honor of St. Raphael, and one in honor of our Guardian Angel).
Concluding prayers:
O glorious Prince St. Michael, chief and commander of the heavenly hosts, guardian of souls,
vanquisher of rebel spirits, servant in the house of the Divine King, and our admirable
conductor, thou who dost shine with excellence and superhuman virtue, vouchsafe to deliver
us from all evil, who turn to thee with confidence, and enable us by thy gracious protection to
serve God more and more faithfully every day.
Pray for us, O glorious St. Michael, Prince of the Church of Jesus Christ,
that we may be made worthy of His promises.
Almighty and Everlasting God, who by a prodigy of goodness and a merciful desire for the salvation of all men, hast appointed the most glorious Archangel, St. Michael, Prince of Thy Church, make us worthy, we beseech Thee, to be delivered from all our enemies that none of them may harass us at the hour of death, but that we may be conducted by him into the august presence of Thy Divine Majesty. This we beg through the merits of Jesus Christ, our Lord. Amen.
Chaplet of the Holy Wounds
Prayed using the regular Marian rosary.
On the crucifix, make the sign of the cross.
On the next four beads:
First bead:
O Jesus, Divine Redeemer, be merciful to us and to the whole world. Amen.
Second bead:
Strong God, holy God, immortal God, have mercy on us and on the whole world. Amen.
Third bead:
Grace and mercy, O my Jesus, during present dangers; cover us with Thy Precious Blood. Amen.
Fourth bead:
Eternal Father, grant us mercy through the Blood of Jesus Christ, Thine only Son; grant us
mercy, we beseech Thee. Amen, Amen, Amen.
On each of the remaining large beads (the "Our Father" beads):
Eternal Father, I offer Thee the Wounds of our Lord Jesus Christ to heal the wounds of our souls.
On each of the remaining small beads (the "Hail Mary" beads):
My Jesus, pardon and mercy, through the merits of Thy Holy Wounds.
Chaplet of the Sacred Heart
Prayed using the regular Marian rosary.
On the Crucifix:
O Jesus give us Thy Heart as a pledge of Thy love
and as a place of refuge
that we may find there a secure repose during our life
and sweet comfort at the hour of our death.
One the first five beads:
One Our Father
Three Hail Marys
The Apostles' Creed
On each of the remaining large beads (the "Our Father" beads):
Thee I adore, praise and love O Sacred Heart of my dear Jesus penetrated with grief at the thought of so many offences which have been hitherto committed against Thee in the Most Holy Sacrament of the Altar. I offer up to Thee in satisfaction there of the amiable Heart of Thy most beloved Mother with the merits of the saints. Amen.
On each of the remaining small beads (the "Hail Mary" beads):
O Sacred Heart of Jesus, burning with love of us, inflame our hearts with love of Thee.


What is Socios?
SocIoS is an abstraction layer for aggregating data and functionality from several social networks. The SocIoS API provides a single access point to the Rest APIs exposed by the underlying social networks. It comprises an abstraction layer on top of SNS exposing operations that encapsulate the functionality of the underlying SN APIs. For each supported SN a respective adaptor has been developed. Currently, the component provides support for the following Social Networks: FlickR, DailyMotion, YouTube, MySpace, Google+ and Instagram. Support for additional social networks can be added by implementing the adaptor interface provided.
Installation
For this project we used Eclipse Java EE IDE for Web Developers. Version: Kepler Service Release 2
Glassfish
We used:
- GlassFish Server Open Source Edition 4.1
- jdk1.8.0_20
In order to deploy SocIos on a Glassfish server you will need:
- The "socios.properties" file located inside the "codeFiles" folder
- The "srcDoc" folder
- The "ResourcesForGlassfish" folder
Steps:
- Create and register applications for the social networks you want to use (see next section).
- In the "socios.properties" file replace the dummy values with your own application credentials.
- Move the socios.properties file in: "\glassfish4.1\glassfish\domains\domain1\lib\classes".
- In eclipse create a Dynamic Web Project and name it "SociosApi" (make sure that the correct target runtime for your glassfish is selected).
- Copy the "web.xml" file from the "ResourcesForGlassfish" folder, in the "SociosApi\WebContent\WEB-INF" folder of your eclipse project (if a "web.xml" file already exists there, then replace it).
- Copy all the libs of the "ResourcesForGlassfish"->"libDoc" folder in "SociosApi\WebContent\WEB-INF\lib". (Eclipse will automatically detect the new libraries and add them to the build bath).
- Copy all the subfolders of "srcDoc" folder in the "src" folder of your project in eclipse.
- Deploy the project ("Run As -> Run on Server").
If everything went ok, you should be able to navigate to the wsdl and the wadl:
- http://localhost:8080/SociosApi/SociosApiSoapService?wsdl
- http://localhost:8080/SociosApi/rest/application.wadl
Calling this url:
should return "hello!!".
Tomcat
We used:
- Apache Tomcat 7.0
- jdk1.7.0_67
In order to deploy SocIos on a Tomcat server you will need:
- The "socios.properties" file located inside the "codeFiles" folder
- The "srcDoc" folder
- The "ResourcesForTomcat" folder
Steps:
- Create and register applications for the social networks you want to use (see next section).
- In the "socios.properties" file replace the dummy values with your own application credentials.
- Move the socios.properties file in: "\tomkat7\conf".
- In eclipse create a Dynamic Web Project and name it "SociosApi" (make sure that the correct target runtime for your apache tomcat is selected).
- Copy the "web.xml" and the "sun-jaxws.xml" files from the "ResourcesForTomcat" folder, in the "SociosApi\WebContent\WEB-INF" folder of your eclipse project (if a "web.xml" file already exists there, then replace it).
- Copy all the libs of the "ResourcesForTomcat"->"libDoc" folder in "SociosApi\WebContent\WEB-INF\lib". (Eclipse will automatically detect the new libraries and add them to the build bath).
- Copy all the subfolders of "srcDoc" folder in the "src" folder of your project in eclipse.
- Right click the project, and export it on a .war file.
- Copy the .war file in the "\tomcat7\webapps" folder.
- Start the tomcat server from a console ("\tomcat7\bin>startup.bat").
If everything went ok, you should be able to navigate to the wsdl and the wadl:
- http://localhost:8080/SociosApi/SociosApiSoapService?wsdl
- http://localhost:8080/SociosApi/rest/application.wadl
Calling this url:
should return "hello!!".
Registering Applications with Social Networks
Socios retrieves data by calling the Restful web services exposed by the social networks. However, consuming these services requires a registered application (one for each social network supported by Socios). The procedure of creating and registering an application is more or less the same for every social network and explained in detail in each network's webpage for developers.
When an application is succesfully registered, the social network provides the developer with some confidential tokens. Afterwards, one can call the Rest API of the social network on behalf of this application, by passing these credentials as part of the http-request. In this way, the social network monitors each application's activity. Obviously, any request with invalid or no credentials is ignored by the social network's servers.
Unfortunately, the social networks only entitle a limited number of calls per hour to each registered application. Therefore, if you want to use Socios, you need to create and register one application for each social network you are interested in.
After geting your credentials, you need to create a file, name it "socios.properties", and fill in the values just like in this example ("fb" stands for "facebook", "gp" for "google plus", "ig" for "instagram" and "yt" for "youtube"). You can just leave out the variables that correspond to the social networks you don't care about.
Our copy of Socios is deployed on Glassfish Server 4.1, and our socios.properties file lies on the folder: "\glassfish4.1\glassfish\domains\domain1\lib\classes". If you also happen to work with a Glassfish server, that's where you should also save your socios.properties file, and the code will read the values when the project is deployed on the server. If you want to use another server... then you are going to need to make a few changes on the code. Good luck!


Viral simulation
Translations: русский
Project
I was impressed by Harry Stevens's article at Washington Post on outbreaks like COVID-19. His work was clear and easy to understand, but I wanted to be able to control the parameters of such simulation. That's why I made this project.
Warning!
This simulation is not an accurate model of how real diseases spread through a population.
Rules
Rules are simple:
- There is a restricted territory.
- People are represented by circles.
- Some of the population are self-isolating while others roam freely.
- At the beginning of the simulation part of the population is infected.
- Infected person spreads the infection to a healthy individual on contact with a set probability.
- After some time infected recovers and acquires immunity. Now they could neither get infected again nor infect others.
- Also infected could die with a set probability. This is called a case fatality rate.
Settings
50%
1%
100%
25%
1%
Healthy:
Infected:
Immune:
Dead:


Greedy algorithm for maximum independent set
29 Jan 2018One more post of our GT CoA series. The introductory post is here. We skip the third talk, Lempel-Ziv: a “one-bit catastrophe” but not a tragedy because we have already covered this paper, see this post. The fourth talk of the meeting was about greedy algorithms for maximum independent set, presented by Mathieu Mari. Once again, the text will not deal much with the actual work of the speaker, but more with the background of it.
Maximum independent sets are hard to find
Maximum independent set is an algorithmic problem, which asks to find the maximum set of nodes of the input graph such that not two nodes of the set are adjacent. As the problem is NP-hard, one naturally look for approximation algorithms. Unfortunately it is impossible to design a non-trivial polynomial-time approximation algorithm, unless you know what happens1.
On the other hand, these hardness results are for worst-case general graphs, and it is still interesting to study the behaviour of very simple algorithms. This post is about greedy algorithms.
A greedy algorithm and when it fails
A greedy algorithm for maximum independent set is the following:
Start with all nodes unlabelled.
Until all nodes are labelled:
Choose an unlabelled node with the minimum of unlabelled neighbours;
Label this node with 1, and its unlabelled neighbours with 0;
Output the set of nodes labelled with 1.
The idea of choosing a node whose degree in the remaining unlabelled part of the graph comes from a simple intuition: if I choose a node with high degree, I will label a lot of nodes in one step, which is bad because it decreases a lot the number of nodes that are candidates to be in the independent set. But because of what we said before, we know that this has to fail sometimes. Here is an example. There are three sets of nodes : ${x}$, ${a_1,…., a_k}$ and ${b_1,…,b_k}$. The vertex $x$ is linked to every $a_i$, every $a_i$ is linked to every $b_j$, and the $b_j$ form a clique. On this graph, the algorithm will first pick $x$, and then pick a node in ${b_1,…,b_k}$, and stop. The independent set returned has size 2, but ${a_1,…., a_k}$ is an independent set of size $k$, therefore the approximation ratio is roughly the size of the instance.
And when it succeeds
The first thing one can say about this graph, is that it uses very high degree nodes. What happens if we consider bounded degree graphs? Then for maximum degree $\Delta$, greedy achieves the approximation of ratio $\frac{\Delta+2}{3}$2, which is not that bad. A second thing one can say, is that this graph does not seem generic, for example it does not look like a random graph. And greedy is quite good on random graphs actually, it achieves a ratio 2 in expectation3.
Random graph are not that common in applications though, either on real-world graphs or on network architecture. What about trees, what about planar graphs? Once again greedy is a good choice: it provides a 6-approximation on planar graphs, and is optimal for trees.
There is a general method to prove that greedy is optimal for trees, and also on other graph classes, such as maximal outerplanar graphs, cographs, and split graphs. First note that if there is a node $v$ in the graph such that its neighbours and itself form a clique, then this node belongs to one of the maximum independent sets. Indeed only one node from the clique can be in the set, and we can always take the node $v$, because there cannot be a conflict with a node outside the clique. If the class of graphs at hand has the property that the nodes with the lowest degree have such clique neighbourhoods, then the greedy algorithm never makes a bad choice, and is optimal. In trees, the lowest degree nodes are the leaves, and they have such a property, because they have only one neighbour, thus the greedy algorithm is optimal.
How good is greedy on a particular graph?
Ok, so greedy can be very bad, but it can also be good. And this can depend not only on the graph but also on the choices made by the algorithm : at every step there can be several nodes with minimum degree, and the choice can dramatically change the output. But can we predict how good or bad greedy can be? Can we know which execution of the algorithm will give the best outcome, without running it ? Mathieu and his co-author’s answer is basically “no”.
Footnotes
-
Some precisions about the non-approximability results. The precise results is that it is NP-hard to get a $n^{1-\epsilon}$ approximation of the maximum independent set. It comes from the paper Clique is hard to approximate within $n^{1–\epsilon}$ by Johan Håstad and is proved with the PCP machinery. Note that the title of the paper is about the maximum clique problem and not the independent set, but for general graphs this is the same problem: just take the complement of the input graph. ↩
-
See Greed is good: Approximating independent sets in sparse and bounded-degree graphs by Halldórsson and Radhakrishnan. ↩
-
See On independent sets in random graphs by Coja-Oghlan and Efthymiou. ↩


Eat your way through Orange County! Orange County is home to eateries and restaurants of any type of food you can imagine.
From casual beach side cafes to dining along the Newport Harbor, explore what Orange County has to offer.
Ruby's Diner, Huntington Beach
Ruby's Diner is a chain with dozens of locations around the country.
However, none are as iconic as the location on the end of the Huntington Beach Pier.
After a day at the beach, patrons can enjoy a nice, sit-down meal, or order some fries and a
shake at the convinient window. This Ruby's is iconic and a must visit during a trip.
Cauldron Creamery, Costa Mesa
Cauldron is a local delicacy that was started in a garage in Orange County in 2014.

When looking for a cold treat to cool down after a long day, Cauldron is a great option.
Mi Casa, Orange
Mi Casa is best described as a hole in the wall taco shack in Orange. If you're looking for a fancy
5 star restaurant, this isn't the place. But if you are looking for some of the best tacos in Southern California,
look no further.


Supports various numeric types, including complex numbers, efficient bignums, exact rational numbers, units.
This package is used by Kawa to provide the full Scheme "numeric tower".
Javadoc generated documentation of the class is available online.
gnu.bytecode
is currently distributed as part of
Kawa, though it can be used independent
of the rest of Kawa.


| WWW Access Statistics for 2001 |
|---|
| Month | Hits | Files | Cached | Pageviews | Sessions | KB sent |
|---|---|---|---|---|---|---|
| December 2001 | 56333 | 37276 | 14763 | 6530 | 1435 | 530785 |
| November 2001 | 58411 | 42398 | 9895 | 7276 | 1696 | 495499 |
| October 2001 | 61286 | 39836 | 14266 | 7440 | 1390 | 433901 |
| September 2001 | 41008 | 25994 | 8196 | 4180 | 1204 | 217515 |
| August 2001 | 0 | 0 | 0 | 0 | 0 | 0 |
| July 2001 | 0 | 0 | 0 | 0 | 0 | 0 |
| June 2001 | 0 | 0 | 0 | 0 | 0 | 0 |
| May 2001 | 0 | 0 | 0 | 0 | 0 | 0 |
| April 2001 | 0 | 0 | 0 | 0 | 0 | 0 |
| March 2001 | 0 | 0 | 0 | 0 | 0 | 0 |
| February 2001 | 0 | 0 | 0 | 0 | 0 | 0 |
| January 2001 | 0 | 0 | 0 | 0 | 0 | 0 |
| Total | 217038 | 145504 | 47120 | 25426 | 5725 | 1677699 |
| Average | 18086 | 12125 | 3926 | 2118 | 477 | 139809 |
|
Frames version (requires JavaScript) |
Back to the Main Page Registered Copy. · 378AZEHZ1348023AB352211A1C99 |
3D model (requires VRML) |
|


You are logged in as 'USER'.
You have the following application roles: [ROLE_USER, ROLE_ADMIN]
Please go to your user management page to change your user password and to inspect your LIFS application roles.


[1]
rooms and left them for a long period of time such as that.
[2]
rooms nice and quiet and found we tried both the rooms and the wall.


{% extends "base.html" %} {% block head %} {% endblock %} {% block content %}
For your reference, the Custom Installer Builder has generated ZIP archives of any cryptographic keys associated with your installer. Once your browsing session expires, you cannot access these keys again.
| Download private keys | You must download an archive of the private keys that were generated for new users. |
| Download public keys | It is strongly recommended that you download an archive of the public keys of all users. |


The ALICE Transition Radiation Detector (TRD) at CERN is planned for a major upgrade in 2017/18. One of the main tasks of the ALICE TRD is the identification of particles, mainly electrons and pions. The upgrade will increase interaction rate of particles, which means new particle identification algorithms need to be developed. The particle identification algorithms are divided into online and offline algorithms. The online algorithms are used to determine the most effective data to be stored by the TRD while the offline algorithms use the data to determine the classification of the particles.
The focus of this section is the development of the online algorithm to create an 8-bit value known as a Particle Identifier (PID) number. The PID number is used to represent a particle’s tracklet obtained from the TRD.
The new hardware limiations of ALICE requires the development of a new online storage algorithm. This means there is a need to determine a new efficient and effective algorithm to store PID numbers which replaces the current tracklet information.
This project aims to determine whether the use artificial neural networks are better suited for PID generation than a summation approach. Additionally the artificial neural network approach is tested to determine the most effective structure for the neural network for the online PID generation algorithm.
The summation approach and the approach using artificial neural networks are compared based on pion efficiencies and the PID frequency distribution from the results from simulated data created with AliRoot. The pion efficiency is used to determine the number of pions misclassified as electrons at a fixed electron efficiency. The electron efficiency that is generally used is 90%.
The approach using artificial neural networks to create 8-bit PID numbers are divided into two sections. The first approach creates a single 8-bit PID number and the second creates two 4-bit PID numbers. Each of the artificial neural networks are tested with different input types. These inputs are either the raw tracklet information, preprocessed variables or both. The preprocessed variables are based on observations from the average tracklet results from thousands of particles.
The artificial neural networks are trained with supervised learning with the backpropagation algorithm. The training data used was from particles created with simulations from AliRoot.
In this project, the summation approach and artificial neural network approach have been tested on simulated data to determine which will be better suited to the upgraded system at ALICE.
The summation approach was found to produce worse results than the neural network approach. The PID numbers for the summation approach tended to be grouped for electrons and pions at low PID numbers. The pion efficiency produced with the summation approach was 57.7% at an electron efficiency of 90% which is significantly high. The artificial neural network approach produced pion efficiencies which ranged between 40% and 55% depending on the network used. The neural network approach also improved on the summation approach by creating PID numbers which went across the whole PID range and created a clear division between pions and electrons.
The artificial neural network approach that created two 4-bit PID numbers showed improved results compared to the summation approach as the pion efficiencies were generally lower.
Additionally the inputs from both preprocessed variables and raw tracklet data showed improved results than only using the raw tracklet data or only preprocessed variables.
The results from simulated particle data showed that the approach using artificial neural networks produced better pion efficiencies and PID freqency distributions than the summation approach.
The artificial neural network approach that used inputs from preprocessed variables and unprocessed variables that created two 4-bit PID numbers showed improved results compared to the other networks tested and has potential for the implementation in online PID generation algorithms.


| dtw-package | Dynamic Time Warp algorithms in R |
| aami3a | ANSI/AAMI EC13 Test Waveforms, 3a and 3b |
| aami3b | ANSI/AAMI EC13 Test Waveforms, 3a and 3b |
| asymmetric | Step patterns for DTW |
| asymmetricP0 | Step patterns for DTW |
| asymmetricP05 | Step patterns for DTW |
| asymmetricP1 | Step patterns for DTW |
| asymmetricP2 | Step patterns for DTW |
| countPaths | Count the number of possible warping paths |
| dtw | Dynamic Time Warp |
| dtwDist | Compute a dissimilarity matrix |
| dtwPlot | Plotting of dynamic time warp results |
| dtwPlotAlignment | Plotting of dynamic time warp results |
| dtwPlotDensity | Plotting of dynamic time warp results |
| dtwPlotThreeWay | Plotting of dynamic time warp results: annotated warping function |
| dtwPlotTwoWay | Plotting of dynamic time warp results: pointwise comparison |
| dtwWindow.plot | Global constraints and windowing functions for DTW |
| dtwWindowingFunctions | Global constraints and windowing functions for DTW |
| is.dtw | Dynamic Time Warp |
| is.stepPattern | Step patterns for DTW |
| itakuraWindow | Global constraints and windowing functions for DTW |
| mori2006 | Step patterns for DTW |
| mvm | Minimum Variance Matching algorithm |
| mvmStepPattern | Minimum Variance Matching algorithm |
| noWindow | Global constraints and windowing functions for DTW |
| plot.dtw | Plotting of dynamic time warp results |
| plot.stepPattern | Step patterns for DTW |
| print.dtw | Dynamic Time Warp |
| print.stepPattern | Step patterns for DTW |
| rabinerJuangStepPattern | Step patterns for DTW |
| rigid | Step patterns for DTW |
| sakoeChibaWindow | Global constraints and windowing functions for DTW |
| slantedBandWindow | Global constraints and windowing functions for DTW |
| stepPattern | Step patterns for DTW |
| symmetric1 | Step patterns for DTW |
| symmetric2 | Step patterns for DTW |
| symmetricP0 | Step patterns for DTW |
| symmetricP05 | Step patterns for DTW |
| symmetricP1 | Step patterns for DTW |
| symmetricP2 | Step patterns for DTW |
| t.stepPattern | Step patterns for DTW |
| typeIa | Step patterns for DTW |
| typeIas | Step patterns for DTW |
| typeIb | Step patterns for DTW |
| typeIbs | Step patterns for DTW |
| typeIc | Step patterns for DTW |
| typeIcs | Step patterns for DTW |
| typeId | Step patterns for DTW |
| typeIds | Step patterns for DTW |
| typeIIa | Step patterns for DTW |
| typeIIb | Step patterns for DTW |
| typeIIc | Step patterns for DTW |
| typeIId | Step patterns for DTW |
| typeIIIc | Step patterns for DTW |
| typeIVc | Step patterns for DTW |
| warp | Apply a warping to a given timeseries |
| warpArea | Compute Warping Path Area |


Thank you for taking the personality profile. We will evaluate the results and get back with you shortly.


Be Inspired and Add your Quotes Today!
0'>Check the Best quote
{{bestQuote}}
{{highestCounter}}
{{dislikeCounter}}


--- title: Packages Needed author: Siobhan Oberg date: '2021-08-04' slug: packages-needed categories: - Capstone - Coding - R tags: - Capstone - Coding - R ---
Here is a list of the packages I had to install to run my code for my capstone project.
install.packages(“readr”)
install.packages(“tidyverse”)
install.packages(“dplyr”)
install.packages(“assertive”)
install.packages(“stringr”)
install.packages(“lubridate”)
install.packages(“VIM”)
install.packages(“maps”)
install.packages(“ggmap”)
install.packages(“ggplot2”)
install.packages(“rgdal”)
install.packages(“raster”)
install.packages(“sf”)
install.packages(“leaflet”)