Build Environment¶
It’s commonly the case that you want to customize your build environment, such as specifying a custom cache directory for layers, or sending your Docker Credentials to the registry endpoint. Here we will discuss those topics.
Cache Folders¶
To make download of layers for build and pull faster and less redundant, we
use a caching strategy. By default, the Singularity software will create
a set of folders in your $HOME
directory for docker layers, Singularity Hub
images, and Docker metadata, respectively:
$HOME/.singularity
$HOME/.singularity/docker
$HOME/.singularity/shub
$HOME/.singularity/metadata
Fear not, you have control to customize this behavior! If you don’t want
the cache to be created (and a temporary directory will be used), set SINGULARITY_DISABLE_CACHE
to
True/yes, or if you want to move it elsewhere, set SINGULARITY_CACHEDIR
to the full path
where you want to cache. Remember that when you run commands as sudo
this will use root’s home at /root
and not your user’s home.
Temporary Folders¶
Singularity also uses some temporary directories to build the squashfs filesystem,
so this temp space needs to be large enough to hold the entire resulting Singularity image.
By default this happens in /tmp
but can be overridden by setting SINGULARITY_TMPDIR
to the full
path where you want the squashfs temp files to be stored. Since images
are typically built as root, be sure to set this variable in root’s
environment.
If you are building an image on the fly, for example
singularity exec docker://busybox /bin/sh
by default a temporary runtime directory is created that looks like /tmp/.singularity-runtime.xxxxxxxx
.
This can be problematic for some /tmp
directories that are hosted at
Jetstream/OpenStack, Azure, and possibly EC2, which are very small. If
you need to change the location of this runtime, then export the
variable SINGULARITY_LOCALCACHEDIR
.
SINGULARITY_LOCALCACHEDIR=/tmp/pancakes
export SINGULARITY_LOCALCACHEDIR
singularity exec docker://busybox /bin/sh
The above runtime folder would be created under /tmp/pancakes/.singularity-runtime.xxxxxxxx
Pull Folder¶
For details about customizing the output location of pull, see the pull docs. You have the similar ability to set it to be something different, or to customize the name of the pulled image.
Environment Variables¶
All environmental variables are parsed by Singularity python helper functions, and specifically the file defaults.py is a gateway between variables defined at runtime, and pre-defined defaults. By way of import from the file, variables set at runtime do not change if re-imported. This was done intentionally to prevent changes during the execution, and could be changed if needed. For all variables, the order of operations works as follows:
First preference goes to environment variable set at runtime
Second preference goes to default defined in this file
Then, if neither is found, null is returned except in the case that
required=True
. Arequired=True
variable not found will system exit with an error.Variables that should not be displayed in debug logger are set with
silent=True
, and are only reported to be defined.
For boolean variables, the following are acceptable for True, with any kind of capitalization or not:
("yes", "true", "t", "1","y")
Cache¶
The location and usage of the cache is also determined by environment variables.
SINGULARITY_DISABLE_CACHE If you want to disable the cache, this
means is that the layers are written to a temporary directory. Thus,
if you want to disable cache and write to a temporary folder, simply
set SINGULARITY_DISABLE_CACHE
to any true/yes value. By default, the cache is not disabled.
SINGULARITY_CACHEDIR Is the base folder for caching layers and
singularity hub images. If not defined, it uses default of $HOME/.singularity
. If
defined, the defined location is used instead.
If SINGULARITY_DISABLE_CACHE
is set to True, this value is ignored in favor of a temporary
directory. For specific sub-types of things to cache, subdirectories
are created (by python), including $SINGULARITY_CACHEDIR/docker
for docker layers and $SINGULARITY_CACHEDIR/shub
for
Singularity Hub images. If the cache is not created, the Python script
creates it.
SINGULARITY_PULLFOLDER While this isn’t relevant for build, since build is close to pull, we will include it here. By default, images are pulled to the present working directory. The user can change this variable to change that.
SINGULARITY_TMPDIR Is the base folder for squashfs image
temporary building. If not defined, it uses default of $TEMPDIR
. If defined,
the defined location is used instead.
SINGULARITY_LOCALCACHEDIR Is the temporary folder (default /tmp
) to
generate runtime folders (containers “on the fly”) typically a run
, exec
, or shell
or a docker://
image. This is different from where downloaded layers are cached
($SINGULARITY_CACHEDIR
) or pulled (SINGULARITY_PULLFOLDER
) or where a (non on-the-fly build) happens ( $SINGULARITY_TMPDIR
). See
temporary folders above for an example. You can generally determine the value of this
setting by running a command with --debug
, and seeing the last line “Removing
directory:”
singularity --debug run docker://busybox echo "pizza!"
...
DEBUG [U=1000,P=960] s_rmdir() Removing directory: /tmp/.singularity-runtime.oArO0k
Defaults¶
The following variables have defaults that can be customized by you via environment variables at runtime.
Docker¶
DOCKER_API_BASE Set as index.docker.io
, which is the name of the registry. In
the first version of Singularity we parsed the Registry argument from
the build spec file, however now this is removed because it can be
obtained directly from the image name (eg, registry/namespace/repo:tag
). If you don’t specify a
registry name for your image, this default is used. If you have
trouble with your registry being detected from the image URI, use this
variable.
DOCKER_API_VERSION Is the version of the Docker Registry API
currently being used, by default now is v2
.
DOCKER_OS This is exposed via the exported environment variable SINGULARITY_DOCKER_OS
and pertains to images that reveal a version 2 manifest with a
manifest list. In the case that the list is present, we must choose
an operating system (this variable) and an architecture (below). The
default is linux
.
DOCKER_ARCHITECTURE This is exposed via the exported environment
variable SINGULARITY_DOCKER_ARCHITECTURE
and the same applies as for the DOCKER_OS
with regards to being used in context
of a list of manifests. In the case that the list is present, we must
choose an architecture (this variable) and an os (above). The default
is amd64
, and other common ones include arm
, arm64
, ppc64le
, 386
, and s390x
.
NAMESPACE Is the default namespace, library
.
RUNSCRIPT_COMMAND Is not obtained from the environment, but is a
hard coded default (“/bin/bash”). This is the fallback command used in
the case that the docker image does not have a CMD or ENTRYPOINT.
TAG Is the default tag, latest
.
SINGULARITY_NOHTTPS This is relevant if you want to use a
registry that doesn’t have https, and it speaks for itself. If you
export the variable SINGULARITY_NOHTTPS
you can force the software to not use https when
interacting with a Docker registry. This use case is typically for use
of a local registry.
Singularity Hub¶
SHUB_API_BASE The default base for the Singularity Hub API,
which is https://singularity-hub.org/api
. If you deploy your own registry, you don’t need
to change this, you can again specify the registry name in the URI.
General¶
SINGULARITY_PYTHREADS The Python modules use threads (workers) to
download layer files for Docker, and change permissions. By default,
we will use 9 workers, unless the environment variable SINGULARITY_PYTHREADS
is defined.
SINGULARITY_COMMAND_ASIS By default, we want to make sure the
container running process gets passed forward as the current process,
so we want to prefix whatever the Docker command or entrypoint is with
exec
. We also want to make sure that following arguments get passed, so we
append "$@"
. Thus, some entrypoint or cmd might look like this:
/usr/bin/python
and we would parse it into the runscript as:
exec /usr/bin/python "$@"
However, it might be the case that the user does not want this. For this
reason, we have the environmental variable RUNSCRIPT_COMMAND_ASIS
. If defined as
yes/y/1/True/true, etc., then the runscript will remain as /usr/bin/python
.


Smart Devices
INSA
5th
60.25
Sensors Introduction
11.25
Microcontroller and Open-Source Hardware (M&OSH)
27.5
CDA, manufacturing and integration of nanotechnology sensors
14
Communication
INSA
5th
63.75
Protocol for Connected Objects
33.25
Digital Wireless Communication for Connected Objects
5
Energy for Connected Objects (recovery, transfer)
7.5
Security for Network of connected objects
7.5
Emerging Network (SDN, NGN)
10.5
Communication
INSA
5th
63.75
Protocol for Connected Objects
33.25
Digital Wireless Communication for Connected Objects
5
Energy for Connected Objects (recovery, transfer)
7.5
Analysis and Data Processing, Business Applications
INSA
5th
37.5
Software Engineering
6.25
SPOC/Hackathon/Seminaries
8.25
Innovative project
INSA
5th
80.75
Innovation and Humanity
INSA
5th
95.5
Innovation/Social Acceptability/Business Development
20
Creativity Methods/TRIZ Method
20.5
Individualized Professional Development
10


--- layout: basic category: CFG ---
We're planning a day packed full of motivational talks, insightful panel discussions, illuminating tech talks as well as networking and a chance to hear from tech companies about what they are looking for in candidates.
Whether you are looking to become a developer, want to work in start ups, a big tech company or just want to see whether it could be for you, the conference will give you an insight into the amazing developments happening in technology, as well as inform you on how you can break your way in.
For more information http://www.codefirstgirls.org.uk
{% for post in site.posts %} {% if post.category == 'CFG' %} {% include episode.html %} {% endif %} {% endfor %}


|
Class Summary |
| ChangeStructure |
Change the structure of the program into `switch-case' structure. |
| CoCo |
CoCo - Coarse Grain Parallelization Compiler by using COINS
CoCo is a compiler driver which generates coarse grain parallelized code. |
| Conditions |
The bit vector for the status of the MDF. |
| ControlDependence |
Find the control dependences between macro tasks. |
| DataAccessCondition |
The data access condition is a condition about data dependency. |
| DataDependence |
Find data dependences between macro tasks. |
| DeclareExternVariables |
Declaration of the extern variables. |
| DeclareGlobalVariables |
Declaration of the global variables. |
| DeclareLocalVariables |
Declaration of the local variables. |
| DeclarePragmas |
Declaration of the pragmas. |
| DeclarePtestVariables |
Declarations of the PTEST variables. |
| ExecutionDecisionCondition |
The excecution decision condition is a condition used by the dynamic
scheduler. |
| FCoCo |
FCoCo - Coarse Grain Parallelization Compiler by using COINS for Fortran
FCoCo is a compiler driver which generates coarse grain parallelized code. |
| FindScc |
Find the strong connected component in the current control flow graph. |
| FinishCondition |
The status when a macro task finish execution. |
| MacroFlowGraph |
This class represents a macro flow graph. |
| MacroTask |
This class represents a macro task. |
| MdfConditions |
The conditions for the dynamic scheduler |
| MdfDriver |
The driver of the MDF module. |
| MdfEnvironment |
The environment of the MDF module. |
| MdfModule |
This class holds the macro flow graphs in the current compile unit. |
| NonExecutionDecisionCondition |
The non-execution decision condition is a condition used by the dynamic
scheduler. |
| PostDominators |
Analyze postdominators in the current macro flow graph. |
| ReconstructHir |
Reconstruct the current HIR before generating the macro flow graph. |
| TreatIf |
This class treats `IF statement'. |
| TreatLoop |
This class treats `LOOP statement'. |
| TreatNode |
This class treats some statements specially in MDF module. |
| TreatSwitch |
This class treats `SWITCH statement'. |
| Util |
The utilities for the MDF module. |


CompanyLogo
Home
Contact
About
Login/Signup
Terms
Updates
Health-care Engineering
Search
Filter Search
Upload Resume


Util Module¶
This module contains functions that support launching web tools in HUBzero containers.
-
get_proxy_addr
()¶ - For web tools running in a HUBzero container, returns the path and URL.
Returns: A tuple containing the path and the full url for the HUBzero container. If this code is not in a HUB container, it will return a path of “/” and an empty string (“”) for the url. >>> get_proxy_addr() ('/weber/19158/ueeOziQBKV1GCU6N/81/', 'https://proxy.help.hubzero.org/weber/19158/ueeOziQBKV1GCU6N/81/')
- Returns the cookie name and value for a HUBzero container. Web tools that do their own security checking will need to check the received cookies for a matching name and value. Cookies are set when launching a tool from HUBzero, so browsers without the cookie will not be able to connect to the running web tool.
Returns: A tuple containing (name, value). Empty strings are returned if the code is run outside a HUBzero container. >>> get_cookie() ('weber-auth-help-hubzero-org', '19159:e6baae54ba5ed9c6')
-
check_access
(app)¶ For Dash applications, provide cookie-based authentication. For the server, port must be 8000 and host ‘<IP_ADDRESS>’.
Parameters: app – a Dash object. import dash import dash_core_components as dcc import dash_html_components as html from hublib.util import get_proxy_addr, check_access app = dash.Dash(url_base_pathname=get_proxy_addr()[0]) check_access(app) app.layout = html.Div(children=[ html.H1(children='Hello Dash'), html.Div(children=''' Dash: A web application framework for Python. '''), dcc.Graph( id='example-graph', figure={ 'data': [ {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'}, {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'}, ], 'layout': { 'title': 'Dash Data Visualization' } } ) ]) if __name__ == '__main__': app.run_server(port=8000, host='<IP_ADDRESS>')


In times like this, I have now undertood that if I do not practice on coding I shall forget everything which is horrible, extremely I even think of avoiding the topic what a distressing feeling.
This section still seems


This is a div element that is next to an ul element
This is a paragraph (not a div)
This is another div element (will not be selected)
This is also a div element that is next to an ul element
This is another paragraph (not a div)
This is another div element (will not be selected)


BUYCreditCard Class Reference
| Inherits from | NSObject |
|---|---|
| Conforms to | BUYSerializable |
| Declared in | BUYCreditCard.h |
Overview
This represents raw credit card data that the user is posting. You MUST discard this object as soon as it has been posted to Shopify’s secure environment.
nameOnCard
The full name on the credit card First and Last in this format: ‘First Last’.
@property (nonatomic, copy) NSString *nameOnCard
Declared In
BUYCreditCard.h
number
The full credit card number. This should be a numerical value without spaces, dashes or any other special characters.
@property (nonatomic, copy) NSString *number
Declared In
BUYCreditCard.h
expiryMonth
The month that the credit card expires, as a numerical value (i.e. 12 for December).
@property (nonatomic, copy) NSString *expiryMonth
Declared In
BUYCreditCard.h
expiryYear
The last two digits of the year in which the credit card expires (i.e. 18 for 2018).
@property (nonatomic, copy) NSString *expiryYear
Declared In
BUYCreditCard.h


The algorithm framework allows adding multiple alpha classes to your algorithm and generates Insights on all of them. The combined stream of Insights is then passed to the Portfolio Construction model. Nothing special is required to achieve this - simply use the AddAlpha()
methods to add each one. Below is an example of combining two Alpha Models to be used in one algorithm:
// Define alpha model as a composite of the rsi and ema cross models AddAlpha( new RsiAlphaModel() ); AddAlpha( new EmaCrossAlphaModel() );
# Define alpha model as a composite of the rsi and ema cross models self.AddAlpha( RsiAlphaModel() ) self.AddAlpha( EmaCrossAlphaModel() )
As many Alpha Models as required can be added to the algorithm. Each Alpha Model has a unique name, and the Insights generated are automatically named according to the source Alpha Model which created it.


When the internal SCM is not specified, it will be cloned from the external one.
Internal
At least one of the SCMs is required.Only R/W SCM with the following format git+ssh://{{exactHost}}/<repository-name>.git is allowed.Invalid or unsupported format (only git+ssh:// is supported).
Required field.Invalid or unsupported format.
Required field.
External
At least one of the SCMs is required.Invalid or unsupported format.


Using Embedly’s video APIs, Reddit Inc wanted to share it’s interesting video analytics with it’s online community. Reddit Inc commissioned a small in-video analytics card on videos posted to Reddit.
I designed several versions with compact space and readability in mind. The goal was to make an informative and have a simple UI while not making it hard to navigate or be a wall of data. I built out the static prototype, which me and a team of engineers built out the analytics iteratively.
View SiteHill Holliday, a prolific advertising giant was rolling out a new, responsive, modular client facing site. The site would need to work and be impactful across all devices, from phones to flat screen TVs.
I built a lightweight responsive framework using SASS. The project was built with modular CSS that can be add and removed. I built a living style guide and test pages showing the modular nature of the sections.
Rise was a campaign by Liberty Mutual focusing on overcoming odds and adversity to achieve the impossible. Featuring eight Olympic athletes and the trials they faced on the road to becoming a professional athletes.
I focused on building a lightweight responsive framework in SASS. Built with progressive enhancement in mind the main functionality of the site was built to work with older mobile browsers in mind.
LinkedIn, USA Today, and Reddit are all users of Embedly products to make tracking and analytic visualizations easier for both their developers and marketers.
The dashboard application was in need of a face-lift. I was tasked with both wire framing and prototyping a new slick UI. This also involved a restructuring of the user flow architecture. I also developed the majority of the static pages using a combination of SASS and Javascript.
View SiteKiser Permanente, America's leading integrated health plan company wanted to build a new iteration of their health news aggregation site. The news on this site would be curated and backed by Kiser Permanente.
For the new iteration, built on Wordpress I did the majority of theme design and theme implementation. I organized and built a taxonomy for the many custom post types.


Dave and Kelly led Brian in his black jeep, quest John in his red jeep, Paul and Cindy in their flat fender and Curtis in his Bronco down the highway to Texas Creek on a sunny Sunday...We decided to do the loop instead of the rocks...Everything started out just fine but then we ran into snow...at first it wasn't too bad but before we knew it got deeper and deeper...Dave had some problems with getting stuck but he was "breaking trail" for the rest of us...It actually came to a decission of go back or go ahead...We figured that ahead would be better as behind was not all that great...We made it to the hill...And wished we had turned around...It was a mess the mud was the slimey nasty stuff and was hard to get going in...Dave and Kelly got stuck...Paul managed to get by them and then pulled them up the hill...then Brian and John tried both of them got stuck and Brian winched himself up while Curtis got past John and helped him up the hill by pulling him. With clouds rolling in and dark creeping up on us we ran down to the rocks really quick so all could see what they looked like and then headed out. With mud flying from our tires we headed down the highway to home.


I had a wonderful two weeks in Thailand
I'm using custom city secret VIP plan from TRIPLSI and boy I'm enjoying what they are producing while I'm traveling around the world. Amazing professionals. I will always recommend their services. Beyond expectations. My website was up and running in notime and my webshop is really cool.


My First Website
This is the first website I am going to make. It will teach me the basics of html and css
HTML learning Goals
- Page Structure
- Element Attributes
- Tag types
- Linking in other resources
CSS learning goals
- What properties are
- How you use elements, and element attributes to change styles
- How CSS styles cascade
- How to include these styles
| TH 1 |
TH 2 |
TH 3 |
TH 4 |
| TD 1 1 |
TD 1 2 |
TD 1 3 |
TD 1 4 |
| TD 2 1 |
TD 2 2 |
TD 2 3 |
TD 2 4 |
| TD 3 1 |
TD 3 2 |
TD 3 3 |
TD 3 4 |


previous
play
next
stop
mute
max volume
repeat
shuffle
Update Required
To play the media you will need to either update your browser to a recent version or update your
Flash plugin
.


Nikifor and Trofim play the following game: they write some positive integer smaller than 2,000,000,000
and take turns one after another. Nikifor is the first to make a move. The turn is made by the following rule:
from the written integer any non-zero digit is subtracted, and the new integer replaces the old one on the desk.
For example for integer 40534, the next move can be: 40530, 40531 or 40529.
The winner is the player who writes zero on the desk.
Write a program to decide who will win if both players do their best.
The input contains the positive integer from which the game is started.
In the first line you must write 1 if Nikifor wins and 2 otherwise. If Nikifor wins then in the second line you must output the move in the first turn which guarantees victory for him. If there are many such moves then output any of them.
Input: 14 Output: 1 4


The professional staff of HR NETwork is available on an hourly consulting basis to offer their expertise and assistance to deal with employee concerns and issues, develop programs, set up internal processes, or develop company policies and procedures. Our rates are significantly lower than the "big" consulting firms.


SCREAM (1996)
A film review by Steve Kong Copyright 1997 Steve Kong
Scream is a movie that is not afraid to poke fun at the genre from which it comes from. Wes Craven is well known for his horror films, his most known is Nightmare on Elm Street. In Scream Craven knows that the slasher films are dead, and that most audiences aren't going to be scared of a murderer in a mask, or are they?
In Scream all the characters are literate in horror films. They know the ins and the outs of what to do if there is a crazed serial killer in your town. They know who and who are not at risk of falling victim to the crazed serial killer. And this sets up for a strange horror film that is funny in most respects. Craven makes good at building up tension in each scene, and if it is not a scene where tension is needed, Craven keeps us guessing as to who the killer really is. Craven, working off of Kevin Williamson's script, crafts a movie that is not a complete spoof or comedy, but is a tense scary film that doesn't worry about poking fun at itself.
All the actors and actresses put in a good effort in Scream. It was nice to see Skeet Ulrich with a better role to work with, the last time I saw him he was in the disappointing film Touch with Bridgette Fonda. Neve Campbell does a good job as Sidney the main character in Scream.
The film is fun, but it is not for the weak of heart or stomach. The film is a horror film so a lot of blood shed is expected, but the film does get pretty violent at times. If you're in for a good scare, see this film. If you want a fun film to watch, see this film. Don't miss Scream. And as a character reminds us, never ever say, "I'll be right back."
!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=! steve kong<EMAIL_ADDRESS>spy on me at: http://home.earthlink.net/~boiled/steve-cam.html movie reviews: http://www.geocities.com/Hollywood/Lot/2259/ "try not. do. or do not. there is no try." - yoda !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


WEB TECHNOLOGY You probably know that computers don't communicate with each other the way that people do. Instead, computers require codes, or directions. These binary codes and commands allow computers to process needed information. Every second, billions upon billions of ones and zeros are processed in order to provide you with the information you need. So what does that have to do with your ability to post your latest pictures online? Everything. The methods by which computers communicate with each other through the use of markup languages and multimedia packages is known as web technology. In the past few decades, web technology has undergone a dramatic transition, from a few marked up web pages to the ability to do very specific work on a network without interruption. Let's look at some examples of web technology.
Learning Web Technology is essential today because Internet has become the number one source to information, and many of the traditional software applications have become Web Applications. Web Applications have become more powerfull and can fully replace desktop application in most situations. Thats why you need to know basic Web Programming, including HTML, CSS and JavaScript. To create more powerful Web Sites and Web Applications you also need to know about Web Servers, Database Systems and Web Frameworks like PHP, ASP.NET, etc.
It all started with Internet (1960s) and the World Wide Web - WWW (1991). The first Web Browser, Netscape, came in 1994. This was the beggining of a new era, where everything is connected on internet, the socalled Internet of Things (IoT).


Greetings Y'all!
I'm a web developer hailing from the lands of San Antonio, Texas.
After working years at a local car wash as a manager, I decided one day I needed a change of pace and atmosphere. A serendipitous occurrence took place in my life that led me to web development. Since then, I've graduated from Thinkful, an online coding bootcamp, and have been working on projects at every opportunity. My life's never been better.
About Me
There's a couple different hobbies in my life that help contribute to the skill and interest I have in this field.
- Fitness / Health
- Music / Art
Let me explain:
My passion for fitness has allowed me to build discipline and grit throughout the last few years of my life. Web development also requires both of those values including patience and fortitude.
I come from a family with a strong love for the arts. Unsurprisingly, this love has crossed over into my life, as well. I believe having a creative spirit and an artistic motivation can assist anyone in this field. There is much joy in creative expression, as well as seeing a finished product come to fruition.
Finally, my experience in customer service and management has forced me to reckon with the reality of social interaction. It's extremely important. I enjoy connecting with well-rounded fellow developers, and my interpersonal skills make me solid team member across the board.
What I've Done and What I Can Do
Throughout my career as a full-stack developer I've acquired a broad range of skills. I'm proficient in HTML, CSS, and Javascript, including several frameworks such as ReactJS and Node.js. I also am well-acquianted with Python, Ruby, and PHP.
Here are a couple of projects that I'm most proud of:
Yggdrasil: Interactive Map
My fascination with Norse paganism has inspired me to create a stylized interactive map of the Nine Worlds. This website and mobile app is designed to be entrancing and educational. Check it out here.
Tools used: Javascript, Node.js, JQuery
Wordsmith Adventure
This project was envisioned from the love I have for RPGs. Wordsmith Adventure is not only an RPG, but a typing game for all ages. As you adventure through a vast fantasy experience and level up your character, your typing skills will increase in real life, as well. Check it out here.
Tools used: Javascript, React, Ruby


Expecta 0.1.3 Reference
Expecta
A Matcher Framework for Objective-C/Cocoa
INTRODUCTION
The main advantage of using Expecta over other matcher frameworks is that you do not have to specify the data types. Also, the syntax of Expecta matchers is much more readable and does not suffer from parenthesitis. If you have used Jasmine before, you will feel right at home!
OCHamcrest
objective-c
assertThat(@"foo", is(equalTo(@"foo")));
assertThatUnsignedInteger(foo, isNot(equalToUnsignedInteger(1)));
assertThatBool([bar isBar], is(equalToBool(YES)));
assertThatDouble(baz, is(equalToDouble(3.14159)));
vs.
objective-c
expect(@"foo").toEqual(@"foo");
expect(foo).Not.toEqual(1);
expect([bar isBar]).toEqual(YES);
expect(baz).toEqual(3.14159);
SETUP
Use CocoaPods
```ruby dependency ‘Expecta’, ‘~> 0.1.3’
dependency ‘Specta’, ‘~> 0.1.3’ # specta bdd framework
```
or
- Clone from Github.
- Run
rake
in project root to build. - Copy and add all header files in
products
folder to the Spec/Test target in your Xcode project. - For OS X projects, copy and add
libExpecta-macosx.a
inproducts
folder to the Spec/Test target in your Xcode project.
For iOS projects, copy and addlibExpecta-ios-universal.a
inproducts
folder to the Spec/Test target in your Xcode project. - Add
-ObjC
to the “Other Linker Flags” build setting for the Spec/Test target in your Xcode project. - Add the following to your test code.
```objective-c
define EXP_SHORTHAND
import “Expecta.h”
```
If EXP_SHORTHAND
is not defined, expectations must be written with EXP_expect
instead of expect
.
Expecta is framework-agnostic. It works well with OCUnit (SenTestingKit) and OCUnit-compatible test frameworks such as Specta, GHUnit and GTMUnit. Expecta also supports Cedar.
BUILT-IN MATCHERS
expect(x).toEqual(y);
compares objects or primitives x and y and passes if they are identical (==) or equivalent (isEqual:).
expect(x).toBeIdenticalTo(y);
compares objects x and y and passes if they are identical and have the same memory address.
expect(x).toBeNil();
passes if x is nil.
expect(x).toBeTruthy();
passes if x evaluates to true (non-zero).
expect(x).toBeFalsy();
passes if x evaluates to false (zero).
expect(x).toContain(y);
passes if an instance of NSArray or NSString x contains y.
expect(x).toBeInstanceOf([Foo class]);
passes if x is an instance of a class Foo.
expect(x).toBeKindOf([Foo class]);
passes if x is an instance of a class Foo or if x is an instance of any class that inherits from the class Foo.
expect([Foo class]).toBeSubclassOf([Bar class]);
passes if the class Foo is a subclass of the class Bar or if it is identical to the class Bar. Use toBeKindOf() for class clusters.
expect(x).toBeLessThan(y);
expect(x).toBeLessThanOrEqualTo(y);
expect(x).toBeGreaterThan(y);
expect(x).toBeGreaterThanOrEqualTo(y);
expect(x).toBeInTheRangeOf(y,z);
More matchers are coming soon!
INVERTING MATCHERS
Every matcher’s criteria can be inverted by prepending .Not
: (It is with a capital N
because not
is a keyword in C++.)
expect(x).Not.toEqual(y);
compares objects or primitives x and y and passes if they are not equivalent.
ASYNCHRONOUS TESTING
Every matcher can be made to perform asynchronous testing by prepending .isGoing
or .isNotGoing
:
expect(x).isGoing.toBeNil();
passes if x becomes nil before the timeout.
Default timeout is 1.0 second. This setting can be changed by calling [Expecta setAsynchronousTestTimeout:x]
, where x is the desired timeout.
WRITING NEW MATCHERS
Writing a new matcher is easy with special macros provided by Expecta. Take a look at how .toBeKindOf()
matcher is defined:
EXPMatchers+toBeKindOf.h
```objective-c
import “Expecta.h”
EXPMatcherInterface(toBeKindOf, (Class expected)); // 1st argument is the name of the matcher function // 2nd argument is the list of arguments that may be passed in the function call. // Multiple arguments are fine. (e.g. (int foo, float bar))
define toBeAKindOf toBeKindOf
```
EXPMatchers+toBeKindOf.m
```objective-c
import “EXPMatchers+toBeKindOf.h”
EXPMatcherImplementationBegin(toBeKindOf, (Class expected)) { BOOL actualIsNil = (actual == nil); BOOL expectedIsNil = (expected == nil);
prerequisite(^BOOL{
return !(actualIsNil || expectedIsNil);
// Return `NO` if matcher should fail whether or not the result is inverted using `.Not`.
});
match(^BOOL{
return [actual isKindOfClass:expected];
// Return `YES` if the matcher should pass, `NO` if it should not.
// The actual value/object is passed as `actual`.
// Please note that primitive values will be wrapped in NSNumber/NSValue.
});
failureMessageForTo(^NSString *{
if(actualIsNil) return @"the actual value is nil/null";
if(expectedIsNil) return @"the expected value is nil/null";
return [NSString stringWithFormat:@"expected: a kind of %@, "
"got: an instance of %@, which is not a kind of %@",
[expected class], [actual class], [expected class]];
// Return the message to be displayed when the match function returns `YES`.
});
failureMessageForNotTo(^NSString *{
if(actualIsNil) return @"the actual value is nil/null";
if(expectedIsNil) return @"the expected value is nil/null";
return [NSString stringWithFormat:@"expected: not a kind of %@, "
"got: an instance of %@, which is a kind of %@",
[expected class], [actual class], [expected class]];
// Return the message to be displayed when the match function returns `NO`.
}); } EXPMatcherImplementationEnd ```
CONTRIBUTION
You can find the public Tracker project here.
CONTRIBUTION GUIDELINES
- Please use only spaces and indent 2 spaces at a time.
- Please prefix instance variable names with a single underscore (
_
). - Please prefix custom classes and functions defined in the global scope with
EXP
.
CONTRIBUTORS
LICENSE
Copyright © 2011-2012 Peter Jihoon Kim. This software is licensed under the MIT License.


Working with PHP Structure
The Theme presents many sections inside
Sections are divided in php files and they located in ../sections/
You can include these in your index.php to create your home page or in other page:
- Blog - Include th list of articles
- Callout - Write an highlited message with title, subtitles and icons
- Clients - Add a carousel of logos
- Contact - Add a form contact and one box address
- Counters - Add some services counter
- Features - Add box for your info
- Form - Add another form contact
- Images - Add some animated images
- Map - Add a google map
- Overwiev - Add box details
- Playground - Add a video section
- Portfolio - Add a grid list of projects
- Quotes - Set multiple message by some people
- Services - Add others box informations
- Team - Add box for your team
- Widgets - Add an area widgets
To use section in your page or index, include related php file with php include function
e.g. include('blog.php');
Working with HTML Structure
The sections are entirely splitted in a single page.
You can recognize a section by its id.
E.g. section blog has id="blog"
and class="section"
Note! - To make easy the page composition, we have also cloned the sections in html files in order to copy and past the content in other page.
Find out the sections in the folder sections.
In the theme are already present 4 home type:
- Home with Slider Intro - file
index
- Home with Video Intro - file
index-video
- Home with Image Fixed in Intro - file
index-parallax
- Home without Intro - file
index-no-sidebar
Note! - VIDEO and AUDIO works only in remote mode!
In each home are present a given set of sections
PHP Structure - The sections are included in a div identified with wrap and inclused by a php funciton.
HTML Structure - The sections are sequential and entirely spitted in html page
to find out a section you must search the id of section. Eg. blog has id="blog"
Note! - In Home Video, Home Slider, Home Parallax, the second section is an 'intro', the first section instead is always a 'menu' section.
Each Intro Section and Menu section is relative to its home page structure.
If you want create a normal home page without intro full height, you must not use an intro section.
See for example the structure of index-no-intro
.
To create a custom home page, you can mix any section but first you have to insert the menu section and eventually in second postion the intro section.
See this sample structure for example (no intro)
Note! - To create a custom home page without intro, you have to attach the 'menu-dark' content on top page
- menu-dark
- features
- blog
- portfolio
- map
- contact
- widgets
- copy
With Intro Video
Note! - The menu to be used for Home Video is always 'menu-index-video' (section)
- menu-index-video
- intro-video
- features
- blog
- portfolio
- map
- contact
- widgets
- copy
Note! - In the structure PHP, the head.php file and foot.php file which contain inclusions css and js, are included in index page.
PHP Structure
In the theme are included 2 variables related to 2 principals colors of the theme.
These are declared in config.php
You can edit $fs_clr
and $nd_clr
and set them with hex or rgba color code
In adding you can edit also the alpha color, these are used for parallax layer or bg transparent - $fs_alpha
, $nd_alpha
In head.php
are inclused other theme colors, these are fixed by the develop team, but if you want, you could change after.
These colors are white .wh-clr
, clear grey .gr1-clr
, medium grey .gr2-clr
and dark grey .gr3-clr
. These are used for title, subtitle, header section, and various box styles.
In addition to using class to set font color, you can use the color classes to set border-color (e.g. .brd-gr2-clr
), background (e.g. .bg-fs-clr
), and hover color (e.g. .nd-clr-hov
)
Below the custom colors in head.php
, are present others customizations releated to some classes of the theme. Edit with care!
HTML Structure
The classes are located in custom.css
GRID SYSTEM
The theme included a responsive grid based on flow columns
The classes are located in grid.css
You can use these classes to insert lined up content in your page
.col-1-6
- Attach a width of 1/6 of the content
.col-1-5
- Attach a width of 1/5 of the content
.col-1-4
- Attach a width of 1/4 of the content
.col-1-3
- Attach a width of 1/3 of the content
.col-1-2
- Attach a width of 1/2 of the content
In adding to fit better your page are present also other grid classes as .col-2-3
, .col-2-4
, .col-3-4
, .col-2-5
, .col-3-5
, .col-4-5
, .col-2-6
, .col-3-6
, .col-4-6
, .col-5-6
.
SPACINGS
You can use useful classes related to padding and margin to edit your content.
These classes are located in custom.css
.marg-25
- attach 25px of margin to tag
.marg-50
- attach 50px of margin to tag
.marg-75
- attach 75px of margin to tag
.marg-100
- attach 100px of margin to tag
.padd-25
- attach 25px of padding to tag
.padd-50
- attach 50px of padding to tag
.padd-75
- attach 75px of padding to tag
.padd-100
- attach 100px of padding to tag
Other possible combinations - You can mix direction or axis y/x
.padd-top-25
- attach 25px of padding-top to tag
.padd-bott-50
- attach 50px of padding-bottom to tag
.margin-left-75
- attach 75px of margin-left to tag
.margin-right-100
- attach 100px of margin-right to tag
.padd-x-25
- attach 25px of padding left and right to tag
.padd-y-50
- attach 50px of padding top and bottom to tag
.marg-x-75
- attach 75px of margin left and right to tag
.marg-y-100
- attach 100px of margin top and bottom to tag
TRANSITIONS
You can use useful classes to attach some css3 animations to your box content
The classes are located in custom.css
.transit
- add a transition about 0.3s erase-in-out
.transit-fade
- add a fade transition
.transit-left
- add a transition from left
.transit-right
- add a transition from right
.transit-top
- add a transition from top
.transit-bottom
- add a transition from bottom
.transit-bouncein
- add a bounce in transition
.transit-flip
- add a 3d transition
.transit-rotate
- add a rotate transition
.transit-pulse
- add a pulse transition
.transit-bounce
- add a bounce transition
.transit-words
- add a transition to the letters of a text
In adding to customize your transitions, you can set some parameters inserting these data attribute in your html tag (not valid for transit-words)
data-delay="millisec"
- define the duration of the transition
data-appear="true/false"
- set the start of transition when scroll page
Note! - The Theme includes many options and parameters about some sections already set in js code and easy to edit by user directly from the html code
VIDEO
Video Section can be set with some parameters
- To create a video section, you must to create a container div before and mark it with an 'id'.
- Then You need to include inside an 'anchor' tag.
At this 'a' tag you need to attach a data attribute (data-property
)
with the following properties :
videoURL (link video), containment ('id' of the wrapper'), showControls (true/false), autoPlay (true/false), mute (true/false), startAt (seconds from start video) and opacity (from 0 to 1).
- In the end you have to attach a class and an id to 'a' tag
Check the content located in playground
file section to start to edit it and using it
LIGHTBOX
To set a lightbox image, you must attach the class .lightbox
to the 'anchor' which contains the href="url"
related to the image source.
To set a lightbox group, you must also attach the rel="group"
attribute to the 'anchor'.
CHANGE PAGE
To avoid to do appear the curtain white after page change, you have to attach a data-curtain="false"
attribute to the 'anchor' tag.
ICONS
The theme uses Feather Set Icons. You can see all icons here.
SCROLL TO SECTION
To set the content to reach in scroll down/up mode, you have to attach an id="#id to reach"
SCROLL TO SECTION IN EXTERNAL PAGE
You can link in a external page add an hashtag to the destination url in the 'anchor' tag
See the example: href="page.php#section_id"
GOOGLE MAP
To customize your map consult the map
file section
You can set the address (data-address
), the color (data-color
) and the saturation (data-saturation
).
In adding you can attach multiple mark positions with data-mark-address
attribute and insert inside your content.
To start to customize your map clone the map content already set located in map
section, and edit the parameters


330,000 French homes without power as first major winter snow hits
Agency Reporter
Some 330,000 homes have been left without power after the first major snows of the winter hit south-eastern France, electricity network operator Enedis said on Friday morning.
A 63-year-old man was killed on Thursday evening when a tree fell on him as he tried to clear another fallen tree from a roadway in Isere department, public broadcaster FranceInfo reported.
Local authorities said the A7 motorway in Isere was closed to heavy goods vehicles, but restrictions imposed on other routes on Thursday were lifted.
READ ALSO: Life and time of ex-French President Chirac
State railway company SNCF cancelled all trains between Grenoble and the Rhone Valley town of Valence.
Several other lines in the region would be out of action until the afternoon or suffer disturbances, it said.
(NAN)


sealed-air-corporation
Businessmodel of Sealed Air Corporation
Customer Segments
Sealed Air provides a range of products and services to a diverse range of customers, primarily businesses associated with manufacturing processes and food handling. The Company serves customers across the following industries, among others:
- Foodservice and Hospitality Businesses, including foodservice outlets such as restaurants, cafes, delis, and caterers, as well as hotels and other hospitality providers;
- Food and Beverage Companies, including producers of various consumer packaged goods, specialist brewing and beverage manufacturers, and food retailers;
- Medical and Healthcare, including pharmaceutical and medical manufacturing companies, and healthcare providers;
- Construction and Facilities Management, including building service contractors, specialist construction firms, and facilities management providers;
- Ecommerce, including online retailers across various segments;
- Transportation and Logistics, including transportation companies, and logistics service providers; and
- Government, including local and federal government bodies and public entities. Sealed Air serves a number of high-profile customers, including Coca Cola, McDonald’s India, and Kroger Corporation. In 2015 no customer or affiliated group of customers accounted for 10% or more of Sealed Air’s consolidated net sales.
Sealed Air’s largest market is North America, principally comprising its native US. The Company, however, has an extensive international customer base, serving customers in 169 countries across Latin America, Asia Pacific, Europe, Africa, and the Middle East.
Value Propositions
Sealed Air provides value to its customers in the following ways:
- Its industry standing and reputation, with the Company broadly recognised as one of the leading providers of food safety and facility hygiene services, having a positive track record for providing effective and reliable services, and counting a number of high-profile businesses among its customers;
- Its portfolio of brands, with the Company controlling a wide range of packaging and hygiene brands, including Cryovac, Jiffy, Diversey, and Instapak, which are widely used across the Company’s target industries;
- Its broad range of solutions, with the Company offering a broad range of products and services, including food hygiene and medical packaging products, that provide solutions across multiple industries;
- Its international operations, with the Company maintaining an operational presence in the US and 61 other countries across the Americas, Asia Pacific, Europe, Africa, and the Middle East, serving clients across 169 countries worldwide; and
- Its extensive patent portfolio, with the Company controlling a wide array of patents, using proprietary technologies in its products and processes, making its offering unique in the market. ### Channels
Sealed Air operates a website at www.sealedair.com, through which it provides information on its various products, services, and target industries. The Company does not operate an online sales channel; it does, however, operate an online customer portal at www.myextracare.sealedair.com, through which customers are able to access various tools and resources, and access customer support.
Sealed Air employs approximately 7,100 sales, marketing and customer service personnel around the world, who sell and market the Company’s products to and through a large number of distributors, fabricators, converters, e-commerce and mail order fulfillment firms, and contract packaging firms, as well as directly to end-users. The Company operates a network of sales and service locations, as well as dedicated retail centres, across the Americas, Asia Pacific, Europe, Africa, and the Middle East.
Sealed Air sales operations are supported by a network of facilities, including distribution infrastructure, as well as a network of 29 American Society for Testing and Materials International-approved Product Care design and testing centres.
Customer Relationships
Sealed Air does not sell products and services to its customers on a self-service basis. It does, however operate an online customer portal, which allows customers to access certain resources and tools without interacting with members of the Company’s sales and service teams.
Sealed Air largely makes its sales directly to customers, consulting with them over a period of time to establish the details of each individual sales and supply contract. While the Company seeks to establish long-term relationships and recurring business, it does not currently have any material long-term contracts for the distribution of its products.
To support its equipment systems and the marketing of its solutions, Sealed Air provides field technical services to its customers worldwide, including system installation, integration and monitoring systems, repair and upgrade services, operator training in the efficient use of its systems, and equipment layout and design services.
The Company also operates three Packforum innovation and learning centres located in the US, France, and China, through which its assists customers in identifying the appropriate packaging materials and systems to meet their needs, as well as offering ideation services, educational seminars, employee training and customised graphic design services.
Customers can also contact Sealed Air’s dedicated support staff over the phone, by email, or via an online contact form in order to receive personalised responses to queries and enquiries. Additionally, customers are able to follow the Company’s activities, and interact with its personnel directly, through its various social media accounts, including with Facebook, Twitter, LinkedIn, and YouTube.
Key Activities
Sealed Air develops, markets and sells various products and solutions designed to provide food safety and security, facility hygiene, and product protection.
The Company aligns its operations into three core reportable business segments: Food Care, which provides integrated system solutions for customers in the food industry; Diversey Care, which integrates cleaning chemicals, floor care machines, cleaning tools and equipment, and a range of services, including application and employee training, auditing of hygiene and appearance, and water and energy management; and Product Care, which provides various packaging and product care solutions, considering cushioning, void fill, surface protection, retail display, containment and dunnage needs.
Sealed Air serves customers across a broad range of industries, including the foodservice, healthcare and medical, and logistics sectors.
Key Partners
Sealed Air works closely with a network of partners across multiple business sectors. These partners include:
- Supplier and Vendor Partners, including suppliers of raw materials, equipment, and tools used in the Company’s manufacturing processes, as well as providers of services and technologies that are used more broadly across the enterprise;
- Channel and Distribution Partners, including the Company’s network of third-party sales and distribution partners, including specialist distributors, which support the Company’s sales and marketing operations;
- Research and Development Partners, including various research and education institutions and other companies that work with the Company on developing new and innovative products and processes;
- Industry Partners, including various industry bodies and regulators, with which the Company works to promote and maintain standards within the relevant industries; and
- Strategic and Alliance Partners, including companies across multiple sectors with which the Company collaborates on joint projects. Sealed Air has a number of partnerships in place, including a strategic partnership with UPS to improve packaging and shipping solutions, and a distribution tie-up with Box On Demand. The Company also partners with many of its customers to provide integrated packaging and hygiene solutions, with a view to enhancing their brands in the marketplace.
Key Resources
Sealed Air’s key resources are its intellectual properties and technologies, its raw materials and equipment, its supply chain, its network of manufacturing and other facilities, its IT and communications infrastructure, its, sales and marketing channels, its partnerships, and its personnel.
Sealed Air is the owner or licensee of more than 4,000 US and foreign patents and patent applications, as well as over 10,600 US and foreign trademark registrations and trademark applications that relate to many of its products, manufacturing processes and equipment. Searches of records published by the US Patent and trademark Office identified a number of patent applications filed in Sealed Air’s name. including applications entitled ‘Dispensing and sealing system’, ‘Automated inflation device’ and ‘Fluid level sensor’.
Sealed Air also owns and or leases a number of physical properties that are key to its operations, notably its network of 103 manufacturing facilities across the Americas, Asia Pacific, Europe, the middle East, and Africa.
Cost Structure
Sealed air incurs costs in relation to the development of its technologies and solutions, the procurement of materials and equipment, the procurement of services, the operation of its manufacturing and distribution facilities, the maintenance of its IT and communications infrastructure, the operation of its sales and marketing channels, the management of its partnerships, and the retention of its personnel.
In 2015 Sealed Air recorded total cost of sales in the amount of $4.44 billion and selling, general and administrative costs totalling $1.65 billion. The Company’s research and development costs for the year were $129 million.
Revenue Streams
Sealed Air generates revenue through the sale of various food hygiene and packaging products, as well as the provision of various related services. Its revenue is derived under sales and service contracts.
In 2015 Sealed Air generated net sales for the year in the amount of $7.03 billion, down slightly on the $7.75 billion recorded by the Company in 2014. Close to half of the Company’s revenue, around $3.41 billion, was generated by the Company’s Food Care segment, with the Company’s remaining revenue generated relatively evenly by its Diversey Care and Product Care segments.


--- title: How Different Groups Spend Their Day layout: post ---
Another great visualization from the New York Times.


7 Habits of Highly Effective People
Tue, 21 Feb 2017 @ General Notes
1. Be proactive Focus your energy on what you can control – your circle of influence. Things that are out of your control (your circle of concerns) should be the least priority in your mind.
2. Begin with the end in mind This is the big picture view of everything. You do something because it’s related to your end goal. Having end goal in mind lets you prioritize your task. The goal helps you to creatively develop and find the “required” tasks to achieve your goals.
3. Put first things first All the tasks that you perform can be categorized into 4 quadrants. The priority of the tasks should be in the following order : Not urgent, but important > Urgent, important > Urgent, not important > Not urgent, not important
4. Think win/win This is the ultimate relationship goal. All involved parties benefit from the relationship. The relationship flourishes and all involved parties would do anything to keep the relationship going.
5. Seek first to understand, then to be understood This is the key to the effective communication. You have to listen and understand your audience before you try to deliver your message. Once you understand their reasons from their perspective, then you can adapt your message to their situation so that you can be understood.
6. Synergize This refers to putting together all the available resources and optimize their capabilities to achieve the best possible output. In simple words- work together, complement each other, strategize and optimize the capabilities .


Event Heading 3 XX Dec | 11am-11pm
Create a brighter future for people with blood cancer by joining us at the Leukaemia Foundation’s Light the Night walk
Cost: Donation
Venue: Great Court, UWA
Register: xxxxxxxxxx.org.au