Catherine Healey
About
(current)
Portfolio
Contact
Contact
Name
Email address
We'll never share your email with anyone else.
Message
Submit


T.I. Designs is a web-design company. Following the concept of minimalism, we design web experiences for our clients. Our websites are responsive and implement Bootstrap for a solid, mobile-first approach.
Our templates are updated regularly so they don't break.
You can use this theme as is, or you can make changes!
We update dependencies to keep things fresh.
You have to make your websites with love these days!


--- title: Tutorial - Easy Embeddings keywords: fastai sidebar: home_sidebar summary: "Using EasyWord, Stacked, and Document Embeddings in the AdaptNLP framework" description: "Using EasyWord, Stacked, and Document Embeddings in the AdaptNLP framework" nb_path: "nbs/04a_tutorial.embeddings.ipynb" ---
We can search for available models to utilize with Embeddings with the HFModelHub
and FlairModelHub
. We'll see an example below:
from adaptnlp import EasyWordEmbeddings, EasyStackedEmbeddings, EasyDocumentEmbeddings
from adaptnlp.model_hub import HFModelHub, FlairModelHub
hub = HFModelHub()
models = hub.search_model_by_name('gpt2'); models
For this tutorial we'll use the gpt2
base model:
model = models[-1]; model
EasyWordEmbeddings
First we'll use some basic example text:
example_text = "This is Albert. My last name is Einstein. I like physics and atoms."
And then instantiate our embeddings tagger:
embeddings = EasyWordEmbeddings()
Now let's run our gpt2
model we grabbed earlier to generate some flair Sentences
:
sentences = embeddings.embed_text(example_text, model_name_or_path=model)
These flair Sentences
hold the embeddings inside of each token
. So to get access to them we need to look at a specific sentence, its specific token, and call .get_embedding()
. For instance below is the embedding representation of "Albert":
token = sentences[0][2]
print(f'Original text: {token.text}')
print('Model: gpt2')
print(f'Embedding: {token.get_embedding()[:10]}')
Using different models is extremely easy to do. Let's try using BERT embeddings with the bert-base-cased
model instead.
Rather than passing in a HFModelResult
or FlairModelResult
, we can also just pass in the raw string name of the model as well:
sentences = embeddings.embed_text(example_text, model_name_or_path='bert-base-cased')
Just like in the last example, we can look at the embeddings in the same way:
token = sentences[0][2]
print(f'Original text: {token.text}')
print('Model: bert-base-cased')
print(f'Embedding: {token.get_embedding()[:10]}')
Let's look at a final example with roBERTa embeddings:
sentences = embeddings.embed_text(example_text, model_name_or_path="roberta-base")
And our generated embeddings:
token = sentences[0][2]
print(f'Original text: {token.text}')
print(f'Model: roberta-base')
print(f'Embedding: {token.get_embedding()[:10]}')
EasyStackedEmbeddings
EasyStackedEmbeddings
allows you to use a variable number of language models to produce our embeddings shown above. For our example we'll combine the bert-base-cased
and distilbert-base-cased
models.
First we'll instantiate our EasyStackedEmbeddings
:
embeddings = EasyStackedEmbeddings("bert-base-cased", "distilbert-base-cased")
And then generate our stacked word embeddings through our embed_text
function:
sentences = embeddings.embed_text(example_text)
We can see our results below:
token = sentences[0][2]
print(f'Original text: {token.text}')
print(f'Models: bert-base-cased, distilbert-base-cased')
print(f'Embedding: {token.get_embedding()[:10]}')
EasyDocumentEmbeddings
Similar to the EasyStackedEmbeddings
, EasyDocumentEmbeddings
allows you to pool the embeddings from multiple models together with embed_pool
and embed_rnn
.
We'll use our bert-base-cased
and distilbert-base-cased
models again:
embeddings = EasyDocumentEmbeddings("bert-base-cased", "distilbert-base-cased")
This time we will use the embed_pool
method to generate DocumentPoolEmbeddings
. These do an average over all the word embeddings in a sentence:
sentences = embeddings.embed_pool(example_text)
As a result rather than having embeddings by token, we have embeddings by document
sentence = sentences[0]
print(f'Original text: {sentence.to_tokenized_string()}')
print(f'Models: bert-base-cased, distilbert-base-cased')
print(f'Embedding: {sentence.get_embedding()[:10]}')
We can also generate DocumentRNNEmbeddings
as well. Document RNN Embeddings run an RNN over all the words in the sentence and use the final state of the RNN as the embedding.
First we'll call embed_rnn
:
sentences = embeddings.embed_rnn(example_text)
And then look at our generated embeddings:
sentence = sentences[0]
print(f'Original text: {sentence.to_tokenized_string()}')
print(f'Models: bert-base-cased, distilbert-base-cased')
print(f'Embedding: {sentence.get_embedding()[:10]}')


KNOW YOUR AKAN NAME
Akan people fron Ghana name their children after the days in which they were born.
Find out your Akan name
Date of birth:
Choose your gender:
select gender
Male
Female
GET NAME


const val SYSTEM_PACKAGES_EXTRA_RESOURCE: String
Location of the file listing the extra system packages exposed from the JDK to the framework


Services and space and equipment provided for a particular purpose; a building or place that provides a particular service or is used for a particular industry. Could be a clinical site, community site, or a mobile facility.
| Properties Defined | Constraints | Value |
|---|---|---|
|
The operational status covers operation values most relevant to beds (but can also apply to rooms/units/chairs/etc. such as an isolation unit/dialysis chair). This typically covers concepts such as contamination, housekeeping, and other activities like maintenance. |
DataType Cardinality |
0..1
|
|
The DBA (doing business as) or most commonly-used name for a facility. |
DataType Cardinality |
1..1
|
|
A list of alternate names the subject is or was known as. |
DataType Cardinality |
0..*
|
|
A text note containing additional details, explanation, description, comment, or summarization. |
DataType Cardinality |
0..1
|
|
Indicates whether a resource instance represents a specific item or a class of items. |
DataType Cardinality Value Set |
0..1
http://hl7.org/fhir/ValueSet/location-mode (REQUIRED)
|
|
A code describing the item at a greater level of detail. |
DataType Cardinality Value Set |
1..1
http://hl7.org/fhir/ValueSet/v3-ServiceDeliveryLocationRoleType (REQUIRED)
|
|
An electronic means of contacting an organization or individual. |
DataType Cardinality |
0..*
|
|
An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations and which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. (Source: HL7 FHIR). |
DataType Cardinality |
0..1
|
|
Physical form of the location, e.g. building, room, vehicle, road. |
DataType Cardinality |
0..1
|
|
The location on the surface of the Earth, described by a latitude and longitude (and optional altitude). |
DataType Cardinality |
0..1
|
|
A facility that moves from place to place, such as Meals-On-Wheels. |
DataType Cardinality |
0..1
|
|
The organization that manages the operation of an activity, facility, or service provision. |
DataType Cardinality |
1..1
|
| Properties Constrained | Constraint | Value |
|---|---|---|
StatusOrActive
Defined in DomainResource
|
DataType
Constrained in Location
|
|
StatusOrActive.CodeableConcept
Defined in DomainResource
|
Value Set
Constrained in Location
|
http://hl7.org/fhir/ValueSet/location-status (REQUIRED)
|
PartOf
Narrative
,
StatusOrActive
,
Identifier
Metadata
,
Language
,
ImplicitRules


{% load static %}
Im a backend developer hailing from Mangalore, a place in the west coast of India.
I have more than 6 years of experience in software development. I am at present, working with Akamai Technologies set up in Bangalore.
I graduated from Visvesvaraya University in 2012 with a B.E in Computers. I have focused my professional career almost exclusively on Python development.
I believe in quality of work and never compromise on quality.
Let's connect if you're interested in working with me.
Good communication can take you places. The art of communication is the language of leadership.
Designing is the most crucial phase in any project development. I put a lot of effort to come up with a perfect design for any project. Once you pass this, the rest is easy.
I believe in working as a team. The best results are found when each and everyone in a team works towards the same goal collaborating with one another.
A well documented product almost maintains itself. I give a lot of importance to documenting my everyday work.
Give me a call OR drop a mail
+91-8970-236033


{% extends 'base.html' %} {% block content %}
Welcome to Tech Reviews, the site that reviews everything tech
under const


NavyBay
Toggle navigation
Share content
Favorites
Buy It
Upload your file.
Category
Music
Video
Text
Document
Upload
Share your content by this code


Firefighters rescue dog from downtown rooftop
Dog escaped onto roof, but couldn't make it back
by Maija InveissMADISON, Wis. - Firefighters from Ladder Company 1 rescued a dog from the roof of a three-story multifamily home on the 100 block of North Butler Street Friday around 11:30 p.m.
According to a release, the dog escaped onto the roof, but with snow and ice on the rooftop, the dog was not able to re-enter the house through the same window it exited.
Firefighters raised the aerial ladder to reach the peak of the roof where the dog was walking. Two firefighters scaled the peak, using dog treats to coax the dog into their arms.
The release said firefighters used webbing to secure the dog as they went back to the ladder. Once on the ladder, the firefighters and dog were lowered back to the ground, where owners were standing with a leash and collar.


Jin Park
Project 1
Project 2
Project 3
JIN PARK | ARTS 486 | WEB JOURNAL
"Instead of a stable truth, I choose unstable possibilities."
-Haruki Murakami, Killing Commendatore
Projects
Project 1
Project 2
Project 3


This is a practice website that I worked on with Albert Lee. The project is part of Epicodus curriculum.
This is a practice website that I worked on with Christy Welch. The project is part of Epicodus curriculum.
This is a practice website that I worked on with Christy Welch. The project is part of Epicodus curriculum.
This is a practice website that I worked on with Christy Welch. The project is part of Epicodus curriculum.


There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable... read more
Portage and Main Outdoor Boilers is named after one of the coldest intersections in the world – the intersection of Portage Avenue and Main Street in Winnipeg, Manitoba, Canada.
Headline will go here and will look like this for the audience.
By: P&M Staff WriterHeadline will go here and will look like this for the audience.
By: P&M Staff WriterThere are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable... read more
Headline will go here and will look like this for the audience.
By: P&M Staff WriterThere are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable... read more
Headline will go here and will look like this for the audience.
By: P&M Staff WriterThere are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable... read more
Headline will go here and will look like this for the audience.
By: P&M Staff WriterThere are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable... read more
Headline will go here and will look like this for the audience.
By: P&M Staff WriterThere are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable... read more
Headline will go here and will look like this for the audience.
By: P&M Staff WriterThere are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable... read more


Special thanks to haoala for his work on the Catch Rate Estimator, Map Solver, and Best Setup tools.
Thanks to Start Bootstrap for the theme.


Reads all model information from a xml file. Provides solution length
detection (solution_length()), creation of random solutions
(get_random_solution()), index translation (translate_global_index()) and
setuptimes for the operations (get_setuptime()).
|
|
__init__(self,
schemafile=' xml/example.xml ' )
Takes the xml-File, that describes the model and builds all necessary
datastructures. |
source code
|
|
|
|
__getattr__(self,
name)
Forwards the getter to a ObjectifiedObject of the model. |
source code
|
|
|
|
_create_allowed_machines_list(self)
Creates a dictionary which contains the ids of all allowed machines
for every operation. |
source code
|
|
|
list
(0, 1), # 1: first job, second operation (1, 0), # 2: second job,
first operation ...]
|
_create_index_translation_list(self)
This function creates an array that is used to translate the global
index (as used in the solution representation), where the Operations
are all in one long sequence, to the job- and operation indexes of
the model. |
source code
|
|
|
|
_create_setuptimes(self)
This function creates a dictionary, which contains all operations
(globally indexed) and stores the setuptime to each. |
source code
|
|
|
number
|
|
|
list
|
|
|
number, number
|
translate_global_index(self,
index)
This function translates a global operation index (as used in the
solution representation) into a tuple, consisting of the job- and
operation-index. |
source code
|
|
|
number
|
|


Gatland's fury over England's antics following Wales' 2019 Six Nations win
by Online EditorsWarren Gatland has revealed his fury over post-match antics by England following Wales’ Six Nations win last February.
The now former Welsh coach, who stepped away from the job at the end of the recent World Cup following a twelve-year tenure, has written a new autobiography – Pride and Passion – that is being released this week.
In it he has slammed the behaviour of Eddie Jones’ beaten English following their 21-13 Principality Stadium loss nine months ago.
It is alleged that Jones’ squad attempted to make a quick getaway from the scene of their defeat rather than fulfil commercial obligations.
It’s also claimed that England had the TV screens switched off at the post-match players’ event because they had no appetite to watch a re-run of the match they had just been beaten in.
(Continue reading below…)
Gatland only learned much later from WRU chairman Gareth Davies that England had wanted the TV screens blanked and he was angered by the English attitude.
Writing in the book, Gatland said: “If I’d known it at the time, I would have hit the roof. I’d had my nose rubbed in it on more than once occasion up the road in London.
“Here in Cardiff, such behaviour was suddenly deemed improper.  When you lose in rugby, you should lose well.”
The book review, carried on wales.online.co.uk, also referred to an incident that took place the day before Wales took on England at the 2015 World Cup.
England players Billy and Mako Vunipola had dropped by the Welsh team hotel to have a coffee with their cousin Taulupe Faletau.
“I butted in to tell Taulupe he’d have been free to pop over to the England base in nearby Bagshot,” said Gatland, taking up the story in his book.
“At which point Mako piped up: ‘Do you think he’d have been allowed in, the way things are with us right now? There’s no fun or smiling over there’.”
WATCH: Warren Gatland’s reason for saying no to the All Blacks job


Stats
People waiting for a match:
Last topic entered:
About
Talk with others about any specific topic you'd like.
After entering something you'd like to talk about,
you will be paired with a person who typed in
the exact same thing (not case sensitive, though).
Have fun, have respect and enjoy!
This site has no ads, so a donation to keep it running is appreciated.


| WWW Access Statistics |
|---|
|
Statistics for the last 12 months Frames version (requires JavaScript) | |
|
Statistics for 2001 Frames version (requires JavaScript) |
Note: If the images on this and the following pages appear to
be broken, your browser probably can't display PNG images.
Please use a PNG-capable browser to view the statistics report.
Follow this link to learn more about the PNG image format.
|
Online Documentation Statistics by http-analyze 2.4, Copyright © 2002 by RENT-A-GURU® Registered Copy. · 378AZEHZ1348023AB352211A1C99 |


The Snowball scripts on this site define the codings of accented letters and other non-ASCII forms in a series of explicit declarations. For example, the German stemmer includes the lines
/* special characters (in ISO Latin I) */
stringdef a" hex 'E4'
stringdef o" hex 'F6'
stringdef u" hex 'FC'
stringdef ss hex 'DF'
In the ISO Latin I code set, hex E4, F6, FC and DF are the numeric values of characters ä, ö, ü and ß respectively. These codings in the stemmer scripts then correspond to the codings used in the sample data.
For a more general approach, you may wish to replace the set of stringdef
s
by a get
directive of the form,
get 'ISO-Latin-1'
possibly compiling with an -include
option that declares the
directory where this and other files are held,
snowball gstem.sbl -o gstem ... -include /home/shazzer/snowball/codesets
Appropriate code sets for ISO Latin I are provided via the links above, and others will be added on demand or if submitted to us.
For Russian, two sets of stringdef
s are given in the script — KOI8-R,
and (commented out) Unicode. For the other stemmers currently on offer the
Unicode placings correspond to the ISO-Latin I placings, so no extra headers
for Unicode need, at present, be given.
If you wish to describe other Latin-alphabet based codesets for use in Snowball headers, you should adhere to the following conventions:
| accent | ASCII form | example | ||
| acute | single quote | e' for é
| ||
| grave | grave | a` for à
| ||
| umlaut | double quote | u" for ü
| ||
| circumflex | circumflex | i^ for î
| ||
| cedilla | comma | c, for ç
| ||
| tilde | tilde | n~ for ñ
| ||
| ring | letter o | ao for å
| ||
| line through | solidus | o/ for ø
| ||
| breve | plus | a+ for ă
| ||
| double acute | letter q | oq for ő
|
And, should they ever arise, use r
for left and right
hook (as in Polish), and v
for hacek (as in Czech).
The ‘line-through’ accent covers a numbers of miscellaneous cases: the
Scandinavian o/
, Icelandic d/
and Polish l/
.
Use ae
and ss
for æ ligature and the German
ß, with
upper case forms AE
and SS
. Use th
for Icelandic thorn.


Share
User Name
Password
About Us
Register for a new account.
First Name:
Last Name:
Date of Birth:
Email:
Password:
Re-enter Password:


Tutorial examples
This directory contains a number of simple Timber examples.
In addition to the pages that describe the programs and comment on
the code, the source files are here and can be compiled and run.
Module Echo is stored in file Echo.t and is compiled
and linked by the shell command
timberc --make=Echo
which produces an executable file called Echo which can be
run by the command
./Echo
This is generalized in the expected way to other programs;
the --make option makes sure that all
(recursively) imported modules are compiled in the proper order
before linking is done.
Some programs require a command line argument as described in the
respective page.
A brief summary of the programs is the following:
- Echo. The archetypical reactive program: user input is
read line by line and echoed to the screen.
- Counter. The quintessential stateful class; its instances
maintain an integer value that can be increased and decreased.
- Echo2. Slight extension of Echo: the output
lines are decorated with line numbers, thus adding state to the
root definition.
- Echo3. Another extension: The last input line is
repeatedly echoed once per second, showing use of Timber time
constructs.
- EchoServer. Still a variation: Echoing user input
over the Internet.
- EchoServer2. A variation of the previous: limiting
the number of concurrently served clients.
- Reflex. A simple reaction time tester.
- MasterMind. A bit more complex: The user chooses a
secret in MasterMind and the program does the guessing.
- Primes. A degenerate reactive program: computes and prints the number of
primes smaller than a given bound and terminates.
- PingTimeServers. Asks a number of network time servers for the current time.


{% extends "layout.html" %} {% block body %}
Toy project to learn web push technology. Currently only use long-polling techique.
I create simple IRC bot that join to some public IRC channels. This bot will listen to all conversation,
and send the message to rtchatlog server.
You can use #rtchatlog at irc.freenode.net as a test channel, and see the output in
this page


--- layout: page title: Lean Prover Zulip Chat Archive permalink: archive/113489newmembers/90887usingexists.html ---
say i have a prop of the form \exists k, 2*k = x, and I want to "bind" k to use it - how to do this?
We need more context. Are you using term mode or tactic mode? What do you mean by "I have a prop"?
does cases h
where h : Exists k, 2 * k = x
do what you want? In term mode you can do let \<k, hk\> := h in
I'm sorry- I should have been more clear. I'm using tactic mode, and have a proposition of type ∃ (k : ℕ), 2 * k = x, and I want to bind k to a variable.
I will try cases now
Then the first part of Chris' answer is what you want
Assuming your assumption is called h
(since you didn't want to disclose this information) then you can write cases h with k hk,


Book Notes: Don't Make Me Think, Revisited by Steve Krug
My notes for the book Don’t Make Me Think, Revisited by Steve Krug.
How People Use The Web
- They don’t read web pages. They scan them.
- They don’t make optimal choices, they satisfy/suffice.
- They don’t figure out how things work. They muddle through them.
Maximize Understanding
- Take advantage of conventions, but realize that clarity trumps consistency.
- Create effective visual hierarchies:
- Which things are most important
- Which things are similar
- Which things are part of others
- Break up pages into defined areas.
- Make it obvious as to what’s clickable.
- Utilize shape, location, and formatting to achieve this.
- Minimize distractions. Consider three kinds of noise:
- Shouting
- Disorganization
- Clutter
- Format text to support scanning
- Use headings effectively
- Break text up into short paragraphs
- Use bullet points
- Highlight important words
Let Users Make Mindless Choices
- Number of clicks is less important than the difficulty of each click
- Each click should give confidence that the user is on the right track
Omit Needless Words
- Eliminate happy talk
- Minimize instructions
Web Navigation
Navigation is not just a feature of a site; it is the site.
Purposes of navigation:
- It tells us what’s here—reveals content
- It tells us how to use the site—should be the only instructions necessary
- It gives us confidence in the people who made it—the best way to make a good impression
Persistent components of every page:
- Logo
- Section Navigation
- Utilities (Account, Login, Logout, etc.)
- Return to home (often logo)
- Search (which should be simple, and always be labeled using the word “Search”)
- Page names (with the correct placement and prominence)
- Current section indicator
- Breadcrumbs (if there are many levels to the site)
Apply the “Trunk Test” to assess usability of any page. Go to a random page and answer the following:
- What site is this?
- What page am I on?
- What are the major sections?
- What are the options at this level?
- Where am I relative to the hierarchy?
- How can I search?
The Home Page
- The home page should convey the big picture. It should include:
- A tagline
- The welcome blurb
- A way to “learn more”
- The home page is one of the most important things to conduct usability testing on.
- Don’t kill the golden goose:
- Placing something on the home page makes it more visible.
- Placing too much on the home page makes the whole page ineffective.
Disagreements About Usability
- Everyone on a web development team has different opinions.
- Developers, designers, marketers, etc. all value different things.
- There is a clash between:
- Hype culture (management, marketing, sales), and
- Craft culture (designers and developers)
The myth of the average user—there is no average user.
All web users are unique and all web use is basically idiosyncratic.
- The antidote to usability conflicts:
- Don’t ask “Do most people like X?”
- Instead, ask “Does this X with this Y, in this context, on this page create a good experience for people that use this site?”
Usability Testing
- If you want a great site, you have to test.
- Testing one user is better than testing none.
- Testing one user early is better than testing 50 near the end.
- Do-it-yourself testing is cheap and cost effective.
- You can find more problems in half a day than you can fix in a month.
- Focus on fixing the most serious problems first.
Mobile Usability
- It’s all about tradeoffs (as is all design).
- But, managing real estate challenges shouldn’t be done at the cost of usability.
- Rely heavily on ‘affordances’—visual cues in an object’s design that suggest how we can use it.
Something is usable if a person of average ability and experience can figure out how to use the thing (i.e. it’s learnable) to accomplish something (effective) without it being more trouble than it’s worth (efficient).
Usability as Common Courtesy
- Users have a ‘reservoir of goodwill’ that will change over the course of their experience on your site.
- It’s idiosyncratic
- It’s situational
- You can refill it
- Sometimes a single mistake can empty it
- Diminishing the reservoir may result in a user abandoning the site, criticism, lower Net Promoter Score, etc.
Things that diminish goodwill
- Hiding info the user wants (e.g. support contacts, pricing)
- Punishing the user for not doing things your way (e.g. input formatting)
- Asking for unnecessary information
- Feigning concern (e.g. “Your call is important to us”)
- Bloat content impeding navigation (e.g. excessive stock images)
- An amateurish website
Things that increase goodwill
- Know what things people want to be able to do—make doing those things easy
- Tell people what they want to know (e.g. shipping cost)
- Save steps wherever possible
- Make information accurate and thorough
- Know what questions users will have, and answer them (FAQs, documentation)
- Creative comforts (printer-friendly web pages)
- Recover from errors gracefully
- When in doubt, apologize
Accessibility
Accessibility is the right thing to do, but it can be difficult to make an accessible site.
Four things to do:
- Fix the usability issues that confuse everyone.
- Test with users using adaptive technologies.
- Read accessibility books (e.g. “Web Accessibility: Web Standards and Regulatory Compliance”)
- Fix the low hanging fruit.
Making Usability Happen Where You Are
- Get your boss/team to watch a usability test
- Pilot a test on your own
- Test the competition
Final Tips
- Don’t use small, low-contrast type
- Don’t put labels inside form fields
- Preserve the distinction between visited and unvisited links
- Don’t float headings between paragraphs—there should be more space above them than below them


Highscore Counter
Source Code
Author
Highscore Counter
This Api create a interface between my games and a Database to store the Players Scores.
Games currently using
Space Harvesters


Project TTD
Time Travel Debugging with Node-ChakraCore
Tasks outstanding: %TOTALCOUNT%
Days remaining in current sprint: %DAYS%
%USERLIST%


This set of instructions will take you through modifying and running the code in the tutorial. To run through the tutorial you will need:
Before beginning the tutorial code we need to check that you can run the OSGi platform and applications. We will refer to the directory that you extracted the zip or tar file in as [toplevel]. We will use Linux commands in the instructions - if you don't know what the equivalent Windows commands are please ask.
To check that you are able to run the OSGi sample code run these commands from a shell prompt:
You should see the Equinox OSGi console come up. The 'ss' command lists the state of the platform. Issue the 'ss' command:
Leave this running in one window as we will return to it later. Open a new window/shell, we will use the new shell to run some samples.
In the new shell, change directory to [toplevel]/bin and copy the following three files into the [toplevel]/dropins directory:
This installs those bundles in the OSGi framework. Back in the OSGi console window, type 'ss' again, you should see three new bundles in the 'INSTALLED' state. Start all three new bundles starting with the greeter.server.osgi bundle. To do this, issue the 'start' command followed by the bundle ID:
Where 'ID' is the number of the bundle.
When you start the greeter.client.osgi bundle you will see some output - we will come back to this later in the tutorial.
Back in the other shell, navigate to [toplevel]/dropins and delete everything - this will uninstall the bundles.
Finally check the OSGi console to confirm that the three bundles have gone by issuing another 'ss' command.
Later in the tutorial you will be using Maven to build the sample code.
The projects org.apache.aries.tutorials.blueprint.greeter.client.osgi, org.apache.aries.tutorials.blueprint.greeter.server.osgi and org.apache.aries.tutorials.blueprint.greeter.api together comprise a simple application demonstrating publication and consumption of an OSGi service. By following the steps below, you will gradually migrate the application to use blueprint, which will demonstrate how blueprint can help to simplify such projects.
In the next section ('Minimum conversion') we will go through the minimum number of steps necessary to convert the client code to use blueprint. In the section after that ('Finishing the client') we will go through some more extensive changes to the client which extend its use of blueprint.
In this section we will take the minimum number of actions to convert the greeter client application to use blueprint.
First, take a look at the the client class, the source is located here:
This class (activator) does two things:
In the following steps we will develop blueprint to carry out the tasks that are currently handled by the activator, the first step is to delete the activator class. For example, on linux:
The next step is to edit the file [toplevel]/source/org.apache.aries.tutorials.blueprint.greeter.client.osgi/pom.xml, and remove the line:
If you were to rebuild the bundle at this point it would still build and deploy, but without the activator the test class would not be invoked and there would be no output when the client bundle was started. In this step we will use blueprint to replace what the activator was doing - creating an instance of the test class and calling one of its methods.
Start by adding an OSGI-INF/blueprint directory under the org.apache.aries.tutorials.blueprint.greeter.client.osgi/src/main/resources folder:
In the newly created blueprint directory, create a blueprint.xml file containing the following blueprint 'template'.
Note: The name of the file can be anything you like that ends in .xml - blueprint.xml is a popular choice.
Now, add a bean element to represent the test class; remember the activator was used to create an instance of this class, now we will use blueprint to do the same. Add the bean element shown below within the blueprint XML element.
The blueprint container will attempt to instantiate the class (GreeterTestClient) with a zero argument constructor by default. However - there is no zero argument constructor in the GreeterTestClient class; the only constructor has the signature GreeterTestClient(BundleContext b, String clientID). We can tell blueprint to use this by adding some arguments inside the bean like this:
These arguments will be fed to the constructor. The string "My blueprint client ID" will be used directly, while the 'blueprintBundleContext' references a special bean - we are not going to worry about this now, it's beyond the scope of the tutorial.
If we were to build and deploy now, we'd discover the GreeterTestClient is constructed, but the 'doRequests' method is not invoked.
For this last part of the puzzle, we'll use the blueprint bean 'init-method' attribute, which specifies a method to be called after a bean is constructed. To use the 'init-method', add
to the bean element. You should now have something like this in your blueprint xml file:
Finally we need to build and re-deploy the client we have just changed.
To build the code, run the script build.sh (or build.bat) in the [toplevel]/scripts directory. The commands are:
To run your sample, from the the [toplevel]/scripts directory:
this will copy the jar files generated in the build step to [toplevel]/dropins and hence install the application.
Now look back to the OSGi console, start the bundles (server first!), and check that they run. Clean the dropins directory again by removing all the files from it.
At this point we have a blueprint client running without a bundle activator. However, when we look at the content of the GreeterTestClient class, it's doing all sorts of OSGi service related things that blueprint could do much more simply. In the next section we will see how use of blueprint can lead to much a much cleaner service invocation.
The client code (GreeterTestClient) was written to demonstrate a few common approaches to invoking an OSGi service. For example, there is a proxy class, hiding a tracker, which passes the requests on to the service (see inner class GreeterMessageServiceProxy). The really quite nasty 'look it up and use it all in one hit.. ' approach is demonstrated in the method doRequestUsingImmediateLookup().
Those experienced with OSGi will recognise the usual hidden selection of service usage bugs, for example, failing to unget the service in all cases, not handling situations when the service goes away after being looked up, etc.
Blueprint can help us avoid most of the common errors demonstrated in this code. So, let's get started and convert this client code to use blueprint.
The current contents of the client is written to show various OSGi ways of invoking a service. Since we're going to have blueprint take care of this for us, we can remove the old OSGi service API usage.
In the class:
Remove the following methods:
Also remove:
Now, you should have removed everything from the class except:
In this section we will add code that makes the client a lot more like a java-bean by adding a setter for the proxy and removing the old bundle context related elements from both the Java code and blueprint xml.
Continuing to edit the GreeterTestClient class, remove all but the first two lines of the 'doRequests' method, it should now just contain:
Now add a setter for the proxy,
and, since we're not using it any more, remove the BundleContext from the class constructor. Like this:
Finally, save and close the GreeterTestClient class.
The last step is to modify the blueprint xml to reflect these changes. Edit the blueprint xml you created earlier:
Remove the following line from the blueprint xml
This ensures that the blueprint matches the modified constructor in the GreeterTestClient class.
At this point we have code which will compile, but is not yet complete. We have a client that will instantly null pointer if we attempt to run it. Looking back at the GreeterTestClient class, when the doRequests() method is invoked by the init-method declaration in the blueprint xml, this in turn calls doRequestUsingProxy() which calls getGreetingMessage() on the proxy variable. However, this variable is initialised to null and never changed.
We need to make sure we set the 'proxy' variable. We can do this using blueprint!
Back in the xml file:
Add a 'reference' element, that refers to the greeter service. To do this add the folowing xml inside <blueprint> but not inside the <bean> element.
This sets up a blueprint component with the ID 'greeterService', which will appear to its users as an instance of the interface specified, with its implementation being backed by an OSGi service claiming to meet that interface.
Note: This is the most simple possible blueprint service - there are many more powerful ways to use services within blueprint.
Notice that we added the 'availability="mandatory"' attribute. This will ensure that the client will not start if if there are no services available implementing the interface. If you started the client before the service in any of the previous steps you would have seen a stack trace, making the service mandatory avoids this issue.
The last step is to inject the 'greeterService' reference into our test client using a property element. Add this line inside the bean definition
This will invoke the 'setProxy' method we added earlier and pass in a blueprint service proxy, hooked up to any OSGi service implementing the GreeterMessageService.
The complete blueprint.xml file should now look like this:
That is all we need to do to the client. At this stage, rebuild the client as you did at the end of the minimum conversion and watch it running in the OSGi console. The steps are repeated here for convenience.
To build the code, run the script build.sh (or build.bat) in the [toplevel]/scripts directory. If you are using your own Maven repository the commands are:
To run your sample, from the the [toplevel]/scripts directory:
this will copy the jar files generated in the build step to [toplevel]/dropins and hence install the application.
Now look back to the OSGi console, start the bundles (server first!), and check that they run. Clean the dropins directory again by removing all the files from it.
We're done with the client, and it's time to turn our attention to the server side of things. Converting the server is very similar to converting the client, but a lot simpler, as the only OSGi related bits in the current server are limited to instantiating and registering the service.
The service creation and registration is once again being handled by a Bundle Activator, this time it's at..
Have a quick look at what this class is doing, make a quick note of how it creates and initialises the service implementation, and how it manages the service registration.
Delete the class. We'll be replacing it entirely with a blueprint version.
Start by adding an OSGI-INF/blueprint directory to the source/org.apache.aries.tutorials.blueprint.greeter.server.osgi/src/main/resources folder.
In the blueprint directory, create an xml file called blueprint.xml.
In the xml file, add the main blueprint element and usual xml boilerplate.
Let's start by having blueprint create the instance of the implementation of our service. Add a bean element with the service implementation class "GreeterMessageServiceImpl" as its target class.
Now we need to initalise it, just as the original activator did. The activator set the sender id in the Service by using the 'setSender' method. We can have blueprint do this for us with a property element.
Great... we have a server bundle, which if built and deployed, would create an implementation of the service and set the sender id on it. Unfortunately, no-one would be able to see it as we have not published it to the OSGi registry. The blueprint '<service>' element is required to publish the service:
Putting it all together, you should have ended up with something a little like this...
Finally, before you rebuild, you will need to edit the file:
and remove the line:
When you build and deploy the server bundle now, we should be able to see it all working as expected again.
Congratulations! You have completed the final step in converting the greeter application to use blueprint.


How to use the Data Transfer Facility
Overview
There are many ways to transfer data directly to your environment using UKCloud's Data Transfer Facility. This guide explains how to set up the two most commonly used methods:
- Transferring virtual machines (VMs)
- Transferring data
Transferring virtual machines
To transfer VM templates to the UKCloud platform you can:
- Use the vCloud Director UI
- Use the OVF Tool
Use the vCloud Director UI
Log in to the UKCloud Portal using the Firefox browser on the UKCloud-provided computer.
For more detailed instructions, see the Getting Started Guide for the UKCloud Portal.
In the navigation panel, expand VMware Cloud and then select the compute service to which you want to transfer the VMs.
On the vCloud Director tab, enter your password and then click Confirm.
Click Add vApp from OVF.
Select the Local file radio button.
Click Browse and locate the local path that contains the OVF file you want to upload, select the file and click Open.
Click Next and then Finish.
You can monitor the progress of the upload via the task window.
Use the OVF Tool
The OVF Tool is useful if you want to script or schedule an import.
To run a simple transfer, first you'll need your API username, which you can find on the UKCloud Portal.
For more information, see How to access vCloud Director through the vCloud API.
Open a PowerShell command prompt and format the OVF Tool command as follows, substituting the parameters as appropriate:
& "c:\\Program Files\VMware\VMware OVF Tool\ovftool.exe" <path_to_ovf> 'vcloud://<api_username>:<password>@vcd.portal.ukcloud.com/?org=<org_name>&vapp=<new_vapp_name>
Transferring data
If you already have VMs running in the UKCloud environment and want to ingest existing data, the two most common ways to achieve this are:
- Use SCP/SFTP
- Use FTPS
Use SCP/SFTP
The data you transfer is encrypted between the Data Transfer Facility PC and the VM running on the UKCloud compute platform.
Set up your VM
You need to use a Linux machine to set up the transfer of data over SCP/SFTP. If you don't already have a server running SSH, you can use a UKCloud Linux template.
Set up your network
You need to create the following firewall and NAT rules.
Firewall rules
| Name | Source | Protocol | Source port | Destination | Translated port |
|---|---|---|---|---|---|
| SCP | <IP_ADDRESS> | TCP | Any | Public IP | 22 |
NAT rules
| Applied on | External IP | Protocol | Source port | Internal IP | Translated port |
|---|---|---|---|---|---|
| nft... | Public IP | TCP | 22 | FTPS server private IP | 22 |
Use FTPS
FTPS provides secure transfer using FTP and SSL. The data you transfer is encrypted between the Data Transfer Facility PC and the VM running on the UKCloud compute platform.
Using FTPS in the Flex-based UI in vCloud Director 8.20
Log in to the UKCloud Portal.
For more detailed instructions, see the Getting Started Guide for the UKCloud Portal
In the navigation panel, expand VMware Cloud and then select the compute service to which you want to transfer the VMs.
On the vCloud Director tab, enter your password and then click Confirm.
Select the the My Cloud tab.
Click the green + sign to add a new virtual application (vApp) from a template.
From the Look in list, select Public Catalogs, then select the All Templates option.
In the search field, enter ftps and run the search.
Select the Skyscape_CentOS_6_FTPS_v1.0.0 template and click Next.
Enter a Name for the vApp, choose the Virtual Datacenter you want to deploy to and then click Next.
On the Configure Resources page, click Next to accept the default settings.
On the Configure Networking page, from the list of Networks, select the network you want to deploy to and click Next.
Note
The network you select must be connected to the internet.
On the Customize Hardware page, click Next to accept the default settings.
On the Ready to Complete page, select the Power on vApp after this wizard is finished check box at the bottom of the page, then click Finish.
When the deployment is complete, open the vApp and take note of the private IP address.
Next you need to:
Using FTPS in the HTML5 tenant portal in vCloud Director 9.1
Log in to the UKCloud Portal.
For more detailed instructions, see the Getting Started Guide for the UKCloud Portal
In the navigation panel, expand VMware Cloud and then select the compute service to which you want to transfer the VMs.
On the vCloud Director tab, enter your password and then click Confirm.
Go to the VDC and select vApps.
Click Build New vApp to add a new virtual application (vApp) from a template.
Enter a name for the vApp and select the VDC to deploy it in.
Click Add Virtual Machine.
In the Create VM dialog box, enter a VM Name and Computer Name (or host name).
From the Type list, select From Template.
In the Templates section, find and select the FTPS template.
Click OK.
Verify the details for your vApp are correct and then click Build to deploy the vApp and VM.
Tip
Close the dialog box to see the status.
When the deployment is complete, in the Virtual Machines section, click Edit to edit the hardware settings.
Setup the network and IP allocation and save the changes.
Make a note of the private IP address assigned to the VM; you'll need this later to set up the NAT rules.
Next you need to:
Determine your cloud IP addresses
Click the Administration tab.
Double-click your VDC.
Click the Edge Gateways tab.
Right-click your edge gateway and select Properties.
Click the Sub-Allocate IP Pools tab and make a note of the IP addresses in the Sub-Allocated IP Pool list.
Click OK.
Add NAT rules
The steps for adding NAT rules depend on whether your edge gateway is a standard edge or an advanced gateway:
Add NAT rules in an advanced gateway
On the Edge Gateways tab, right-click your edge and select Edge Gateway Services.
Select the NAT tab.
Click + DNAT Rule.
From the Applied On list, select the network that you deployed your VM to.
In the Original IP/Range field, enter the external IP addresses you noted in the previous section.
Set the Original Port and Translated Port as listed in the table below.
In the Translated IP/Range field, enter the private IP address you recorded during the VM deployment.
Make sure Enabled is selected and click OK.
Create a DNAT rule for each port listed in the table below:
Original IP/Range Protocol Original Port Translated IP/Range Translated Port Public IP TCP 989 FTPS server private IP 989 Public IP TCP 990 FTPS server private IP 990 Public IP TCP 8080 FTPS server prviate IP 8080 Click Save changes.
Add NAT rules in a standard edge
On the Edge Gateways tab, right-click your edge gateway and select Edge Gateway Services.
Select the NAT tab.
Click Add DNAT.
From the Applied on list, select the network that you deployed your VM to.
In the Original (External) IP/range field, enter the external IP addresses you noted in the previous section.
Set the Original port and Translated port as listed in the table below.
In the Translated (Internal) IP/range, enter the private IP address you recorded during the VM deployment.
Make sure Enabled is selected and click OK.
Create a DNAT rule for each port listed in the table below:
Applied on Original (External) IP Protocol Original port Translated (Internal) IP Translated port nft... Public IP TCP 989 FTPS server private IP 989 nft... Public IP TCP 990 FTPS server private IP 990 nft... Public IP TCP 8080 FTPS server private IP 8080
Add firewall rules
The steps for adding firewall rules depend on whether your edge gateway is a standard edge or an advanced gateway:
Add firewall rules in an advanced gateway
In the Configure Services dialog box for your edge, select the Firewall tab.
Make sure the Enabled toggle is selected.
Click the + button.
Enter the following details:
Field Value Name FTPS Source Click IP and enter <IP_ADDRESS>
Destination Click IP and enter the first address from the sub-allocated IP pool list Service Click + and enter details from the table below Action Allow Repeat this for each rule in the table below:
Protocol Source Port Destination Port TCP Any 989 TCP Any 990 TCP Any 8080 Click Save changes.
Add firewall rules in a standard edge
In the Configure Services dialog box for your edge gateway, select the Firewall tab.
Click Add.
Enter the following details:
Field Value Enabled Select this checkbox Name FTPS Source <IP_ADDRESS> Source port any Destination The first address from the sub-allocated IP pool list Destination port from the list below Protocol TCP Action Allow Log network traffic Select this checkbox Click OK.
Repeat this for each rule in the table below:
Name Source Protocol Source port Destination Translated port
FTPS <IP_ADDRESS> TCP Any Public IP 989 FTPS <IP_ADDRESS> TCP Any Public IP 990 FTPS <IP_ADDRESS> TCP Any Public IP 8080
Configure FTPS
Login to the FTPS server and run the following command:
/usr/local/bin/setupFTPS.sh <public_ip_address>
For example:
/usr/local/bin/setupFTPS.sh <IP_ADDRESS>
Connect with FileZilla
Finally, configure FileZilla using the following settings:
Open FileZilla.
From the menu, select File, then Site manager.
Click New Site.
Enter the following details:
Field Value Host Public IP address FTP protocol FTP... Encryption Require implicit FTP over SSL Logon Type Interactive User ftpuser Click the Transfer Settings tab.
For Transfer Mode, select Passive.
Click Connect.
Feedback
If you have any comments on this document or any other aspect of your UKCloud experience, send them to products@ukcloud.com.


Help
Double click a molecule node to extend the network
Double click a reaction node to delete parts of the network
Hover over a node for more information
Click and hold a node to launch a moro-info pop-up
Colour legend
Yellow molecule - target
Purple molecules - in the building block database
Relative complexity - green: simpler, red: more complex.
Substrate specificity - green: active, red: not active


Add a property (name/value pair) that will be used to configure the Hikari CP DataSource
/ JDBC Driver
.
In the case of a DataSource
, the property names should be prefixed by dataSource.
, these properties
will be translated to Java setters following the Java Bean naming convention.
For example, the property dataSource.cachePrepStmts
will translate into setCachePrepStmts()
with the value
passed as a parameter. See details on
Hikari CP.
In the case of a Driver
, the property will be added to a Properties
instance that will
be passed to the driver during java.sql.Driver#connect(String, Properties) calls.
For MySQL/MariaDB connections, the Pipeline Maven Plugin will uses by default the settings recommended in Hikari CP / MySQL Configuration. To overwrite these settings, define the desired settings in the properties text area with different values.
For other databases than MySQL/MariaDB, we use the default settings of the Hikari CP data source.


Simpler Paper is a very simple and easy to use the document generator. you only need to run a command, All of the Markdown will be automatically integrated into the site.
with just one command, you can easily compile the file and the local preview.
# install
npm install -g simpler-paper
# init
paper i
# dont forget to add some markdown files.
# build to html
paper build
# preview
paper s
# In default, the document will be released to github.
paper deploy
set github pages:
the actual effect:


September 23, 2017 - Day 17
We are always on the cusp of collapse and redemption. Do we then choose to rise, or do we settle and fall?
Stories = meaning. The mind is a meaning-making machine.
Stories have the power to change people’s lives, and we are the narrators.
…
Today, a group of Americans invited me to their table at dinner. They were much older than me and asked a lot of questions.
Yes, I am walking alone. No, it’s not so bad. My feet are ok, I don’t have any blisters. Yeah, I get that often (“You smile a lot!”). Well, my parents weren’t too fond of the idea, but they couldn’t have stopped me even if they had wanted to. Eh, I don’t know if it’s brave, maybe naive and reckless is more accurate. I enjoy the freedom, the simplicity, the clarity of mind. I’ve been learning a lot about myself. Yeah, my friends are supportive. And funny you should ask, I met this girl from Belgium…
“Oh my god. That is such a cute story. Are you going to visit her?”
I hadn’t thought of it. Maybe I should.
…
“Phil, we had such a great time with you. You are a remarkable young man. Don’t worry about dinner, it’s on us.  Actually––.”
Jennifer asked for my Mom’s number and sent her a picture of us.
Thanks Jennifer, Molly, Rex, Carlos, and Jackie.
…
September 24, 2017 - Day 18
A short day, 21 kilometers. It’s Sunday. I’ve stopped at the endearing municipal of Carrión de los Condes. Checked-in at the Santa Maria albergue. Three doors down toward the main street is the church.
Thought about what Molly said last night, about visiting M. It’s audacious, but what the hell. As if the Camino wasn’t already bold enough. Why not?
I called Transavia and asked if they could refund my flight to Amsterdam. Luckily, they did. I now have a bus ticket from Paris to Belgium.
…
When I returned from the grocery store, all of the pilgrims in the albergue were situated around the staircase in the living room. Four nuns were sitting in the front, one with a guitar. We took turns introducing ourselves and telling our reasons for walking the Camino.
I was riveted by the story of an elderly Korean woman. She spoke into her translator and it said:
“A few years ago, I was diagnosed with Parkinson’s Disease, but I wasn’t ready to lose my body. I chose to walk the Camino because of it. I wanted to prove everyone wrong. My family said I was crazy. But so far, I have walked for 300 kilometers, alone. I feel so alive, and I know that I am not alone because God is at my side. He continues to give me strength.”
The nuns ended the night with music. They played their guitar and sang songs in English, Spanish, and Japanese! I was enchanted. These weren’t your traditional nuns.
Wondering how S is doing. Hope he’s feeling better.
…
September 25, 2017 - Day 19
An observation: Every day that we wake and walk, the sun begins behind us, leaving us with only our shadow. This shadow represents our fears, insecurities, and struggles, the things we hesitate to look at in the eye; in essence, our inner demons. We wake each day to confront these demons as we walk towards Santiago. But we cannot get rid of them, because then we must get rid of the sun; no sun and the shadow becomes an engulfing abyss. Rather, we must fully accept the shadow, see it as it is, and nourish it with love. It will always be there so long as we are walk towards our Santiagos, so long as we walk with life, so long as we are trying to honor the inner light within each of us. Without light, life cannot exist, and life cannot exist without shadow. But that’s ok. Because at the end of the day, we are walking towards the sun, towards Santiago, and our shadow is now behind us.
…
I met a French girl named Pauline while wandering around Terradillo de Templarios. She was walking to the next town, so I decided to accompany her until the edge of Terradillo. She’s been walking for over 1000 kilometers, all the way from Paris. Said she was feeling lost, but was ok with it. She wasn’t searching for anything, she simply enjoyed walking.
…
While waiting for the shop to open, an older South Korean woman said I looked like a kind person. That made my day. She did also. I learned she was walking alone. She said the Camino had given her peace and a more full heart.
…
I’ve just had the most interesting dinner with an elderly woman named Elizabeth. She’s 72 years old, walking alone, German. Her eyes glimmered with maternal gentleness.
It was her and I at a small dining table in the restaurant. I started talking to her but soon realized she did not understand a single word. She spoke back in German, and I was just as confused as she. The curve of a wry smile formed on each of our faces as we humored the situation. She continued talking to me in German, and I continued responding in English.
Then the wine came. Glass after glass, drink after drink, the wine flowed like a river. And pretty soon, we were bent over in laughter, pointing at nothings and waving our arms and legs in strange, unintelligible ways. I got drunk with an elderly 72-year-old German lady.
She showed me some pictures of her family, and I showed her mine.
“Ah, beautiful! Beautiful!”
It was a delightfully nonsensical and ridiculous time.
…
September 26, 2017 - Day 20
How can you see the magic if you don’ t believe in it? It’s all around, in the trees, the grass, the flowers, the birdsong. I see it in the sun, I taste it in the wind, I feel it with my smile. This moment, this is it. An ocean of possibility.
…
I ran into San! We haven’t seen each other since Day 1. Crazy. He looks great, and he’s found other friends – Karla, Dori, and Leo. Karla and Dori are from Croatia while Leo is from Czechia. They invited me to have dinner with them. Of course, I gladly accepted.
Afterwards, we went to watch the sunset. I was annoyed by Karla because she was constantly on her phone, talking and blabbering about essentially nothing. I decided to go to the other side of the park to watch it by myself.
I miss M and her present presence.
…
Pauline. She’s here! In my room! She and her French friend, Morgan, are going to start walking tomorrow at 4:30am. They want to see some shooting stars and have invited me to tag along. I was initially hesitant but have agreed to go. Not sure what I’ve dragged myself into, but it should be good.


Landing Page
Special Projects
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.
TAYLOR JOHNSTON
05.25.17
When students at Ohio University see problems on campus, Student Senate wants them to approach the body with the issues to come up with solutions.
The Student Senate executive board consists of President Landen Lama, Vice President Nicole Schneider and Treasurer Zach Woods. Schneider compared the body to a student council in high school when she talked to students at the involvement fair, which takes place in the fall before classes begin.
Laila Riaz | FOR THE POST
The GREEN LIGHT campaign ticket pose in Wolfe Garden on March 27, 2016.
“The first thing I’ve told students at the involvement fair is that we are like a student governing body on campus,” Schneider said. “So a lot of times for the first years, I compare it to what their high school government was, like student council, but it’s kind of upped a level.”
The three executive members stressed the importance of students getting involved on campus. With that, Woods said when freshmen go to the involvement fair there are usually so many organizations recruiting that it actually can discourage them from getting involved, rather than encourage them.
“There’s just so many options you’re just kind of overwhelmed by it but (it’s important) just to find your passion and get involved with it,” Woods said. “Yes, we’re here for academics. Yes, we’re here for our majors and our careers, but getting involved is where you find those connections, where you learn those real life lessons, where you become the person that you are supposed to be.”
One way for freshmen to get involved on campus and with Student Senate is through its internship program. The program is designed to help teach and train students who are interested in joining senate.
Former Student Senate President Hannah Clouser started out with senate through its internship program and will be working in New York City as an actuarial associate in the fall. Lama said the internship program shaped Clouser into the person she is today.
“We have an excellent intern program which is really geared towards freshmen,” Woods said. “We have them on a rotating schedule so they can see which commission they would be most likely to fit (into).”
In Student Senate, there are a variety of different commissions for students to be a part of. A commission is a group of people assigned to officially be in charge of a particular function, and each commission has different roles and responsibilities. For example, the LGBTQA Affairs Commission works with the OU LGBT Center and LGBT community to make sure that group is fairly represented. Interns assist in each commission.
Lama and Woods said they want students to know that they are approachable, and they’re just regular students, regardless of their titles.
“We’re very interesting people. We’re fun. We’re nice,” Woods said. “I’d like to say we’re approachable. Anyone can approach us to talk to us.”
Lama also said the executives want to be an “avenue” for people to come to when they see a problem on campus.
“It’s really just, ‘see something, say something,’ ” Lama said. “If you see something in the university that’s not working, big or small, come to senate.”
Lama will be meeting with incoming OU President Duane Nellis to discuss what’s going to happen next academic year. Nellis will begin serving as OU president June 12.
“I know that President Nellis is ready to hear those complaints and work out how can we make those complaints no longer a complaint,” Lama said.
Back to The Orientation GuideLanding Page
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.


Former drug executive Shkreli's appeal denied by US Supreme Court
Former pharmaceutical executive Martin Shkreli will remain in prison after the U.S. Supreme Court on Monday rejected his effort to overturn his conviction and seven-year sentence for securities fraud and conspiracy.
REUTERS: Former pharmaceutical executive Martin Shkreli will remain in prison after the U.S. Supreme Court on Monday rejected his effort to overturn his conviction and seven-year sentence for securities fraud and conspiracy.
The justices refused to hear Shkreli's appeal of his August 2017 conviction and US$7.36 million forfeiture for cheating investors in two hedge funds he founded, and trying to prop up the stock price of biotechnology company Retrophin Inc, which he once ran.
Shkreli, 36, argued that the jury instructions about the harm to his investors undermined his defense that he had acted in good faith. Shkreli also said the forfeiture was excessive because some investors received profits.
"It was a long shot," Shkreli's lawyer Mark Baker said in an interview. "We're disappointed, but will move on."
Shkreli is serving his sentence at a low-security prison in Allenwood, Pennsylvania. He is eligible for release in September 2023, when he will be 40.
Shkreli, sometimes called "Pharma Bro," achieved notoriety by raising the price of the anti-parasitic drug Daraprim by more than 5,000per cent in 2015 when he was chief executive of Turing Pharmaceuticals, now called Phoenixus AG.
He is also known for his frequent use of social media, including when during his trial he offered US$5,000 for a strand of former U.S. presidential candidate Hillary Clinton's hair. Bail was revoked after Shkreli made that offer.
(Reporting by Jonathan Stempel in New York; Editing by Will Dunham)


Domain Switcher Options
List the domains you would like to switch between.
One per line. Don't include 'http(s)://
Save Options


DGSN BigWhoop frequency view
This shows the signal strength on a specific frequency of DGSN BigWhoop users. Move the slider to adjust the frequency.


The GTranslatifier Jetpack feature helps you translate web pages and selected text using Google Translate.
To translate a web page into your language, just click on the icon in your status bar. To open the translated web page in a new tab, right click or middle click on the icon. To un-translate a translated page, click on the icon again. To translate a specific portion of a web page, select the text you wish to translate and then click on the icon.
The source code for the GTranslatifier Jetpack feature can be found at gtranslatifier.js.
The icon is copyrighted by Google.
Email me to report a bug or suggest a feature.


Sheetsee.js began as a part of my Code for America 2012 Fellowship project, See Penny Work. The idea and original code was to enable cities to easily publish and maintain themselves their budget data. The original sheetsee.js was built into Wordpress templates so that with the See Penny Work template, you could create pages that you only had to name and they would be populated with maps, charts and tables based on the page name corelating with a project in the spreadsheet.
In early 2013, after the CfA Fellowship, I recieved a grant from Mozilla Open News to pull out the sheetsee.js bits and make it a standalone open source library. That brought us to version 2.
The present version makes the project modular, customizable and with more maping and table features.
Sheetsee pairs with tabletop.js a library that handles the messy interactions with the Google Spreadsheets API for you and returns a lovely array of your data. Every instance of Sheetsee begins with running tabletop.js. Well, actually, if you have some data on hand already in JSON format, you can use Sheetsee too :)
Once you've got the data, you're ready to Sheetsee. You can now decide if you want to map, chart or display your data in a table. Sheetsee's table module, sheetsee-tables, comes with sorting, filtering and pagination. Tables use icanhaz.js for very mustache.js-like templating.
Sheetsee-maps is built ontop of Leaflet.js and Mapbox.js and allows you to customize colors and popups of points, lines, polygons or multipolygons.
Finally, Sheetee-charts comes with three basic d3.js charts: bar, circle and line. It is difficult to make a chart that can suit many types of data, but it is easy to choose your own d3 chart and plug it in to sheetsee. Documentation for creating a d3 module is here.
Thanks to Code for America for providing the platform me to build the first version of sheetsee.js for Macon, Georgia.
Thanks to Dan Sinker at Open News for having faith and getting things together to make this Code Sprint happen and thanks to Matt Green at WBEZ for being a willing partner.
Thanks to Max Ogden for emotional support, teaching me JavaScript and answering lots of questions.
Thanks to all the authors and contributors to Tabletop.js, Mapbox.js, Leaflet.js, jQuery, ICanHas.js and d3.js. Thanks to Google and the Internet for existing and to all those who've written tutorials or asked or answered a question on StackOverflow.
Thanks to Mom and Dad for getting a computer in 1996 and the mIRC scripts I started writing that I suppose would eventually lead me here.


Preparation time
less than 30 mins
Cooking time
1 to 2 hours
Serves
Serves 4
It's a classic brunch dish for special occasions, but this recipe would be wonderful at any time of the day. Serve with some fresh crusty bread or a green salad.
For the madras curry paste, toast the coriander seeds, mustard seeds, cumin seeds, chilli powder and turmeric in a dry frying pan over a medium heat. When they start to pop and crackle in the pan, add the peppercorns and toast for another minute. Remove from the heat and set aside.
Add the ginger and garlic to the spice mix and place in a mini blender or pestle and mortar. Add the vinegar and blend or pound to a smooth paste.
For the haddock and rice, place the milk and 500ml/18fl oz water in a large pan. Stud each half of the onion with a clove and bay leaf then add to the milk and bring to the boil.
Place the haddock in a deep roasting tin and pour over the hot milk. Cover with cling film very quickly to seal in the steam and heat. Set aside for approximately 45 minutes.
Remove the cling film and transfer the haddock to a plate. Remove the fish skin and any bones and leave it chunky and as whole as possible.
Wash the rice several times until the water becomes clear. Add the rice, 1 litre/1¾ pint water and the turmeric to a pan and bring to the boil. When boiled cover with a lid and remove from the heat. Set aside for 20 minutes, then spread the cooked rice over a tray to cool.
For the sauce, in a large pan gently fry the onion, garlic and ginger in the sunflower oil until the onions are light golden-brown. Add the madras paste and cook for five minutes then add the chilli, star anise and bay leaf. Add 100ml/3½fl oz water and simmer until the volume of liquid has reduced by half.
Add the double cream and simmer for 10 minutes then transfer to a blender and pulse until smooth. Season to taste with salt and freshly ground black pepper.
To serve, transfer the sauce to a pan and bring to a simmer. Add the rice and gently reheat. Fold in three-quarters of the haddock and heat through.
Meanwhile, fill a large pan with boiling water and the white wine vinegar, and poach the eggs to your liking.
At the last minute, add the remaining haddock and chopped parsley and serve in warm bowls with a poached egg on top. Finish with a spoonful of melted butter, a sprinkle of coriander cress and a little salt and pepper.


Text
Change Text
Add to Text
More Text
Change Text CSS with Multiple Selectors
Change HTML Attributes with Selectors
Set/Add Source Attribute
Set/Add Multiple Attributes
Remove Source Attribute
Text
Add CSS Class
Text
Remove CSS Class
Text
Toggle CSS Class


Well considering I've never tripped before and the only other stuff I've done is cannabis a few times and nutmeg once; this was pretty intense.
It was my second time trying this, the last time I just felt really high (I smoked some good weed with it).  The first time I had just eaten 5 packs of Martha Stewart Heavenly Blue Morning Glory Seeds. I got some weird chills down my spine and some shadow visuals but that was about it. Now here's what happened the second time.
7:00 PM: Picked up 2 1.5 g packs Heavenly Blue and 9 1.5g packs Pearly Gates from the local K-Mart [I don't think Martha Stewart Morning Glory's have pesticides on them to stop kids from eating them.]
7:30 Chewed up all the seeds. The Pearly Gates Tasted Like Shit but the Heavenly Blues tasted a bit like pine nuts. I would reccomend them over any other strain.
9:30 I started thinking nothing was gonna happen even though I figured it would be an hour before they kicked in. Figured I'd wasted 10 bucks.
10:30 I started feeling really heavy like I wanted to just sink into the floor. A lot of ppl don't realize LSA is a sedative, it's actually officially listed as that.
11:00 Started watching the curtains in front of me they seemed to be moving ever so slightly. I at first thought it was the heating vent under them but I was wrong.
12:00 AM: Shit started happening. The tiles on the floor looked like they had little hands on them and when I started to read the newspaper I kinda half expected the people's faces to turn around and look at me.
1:00 Things started moving around before my eyes,looked like things were dancing.
2:30 This was when it started peaking. It got really insane at this point. An interesting fact was that my mind stayed clear the whole time. You know how in the original Nintendo version of Mario 3 all the trees dance in stuff when you're picking a level? It was a lot like that.
 It seemed like eyes and ears were popping out've everything too. I remember looking at a mirror and my reflection looked like some symmetrical psychedelic poster, then it looked almost cartoon like. If I dimmed the lights the shadows would get crazy and I'd be really disoriented. They were kind of like really souped up weed visuals when you take a walk at night.
I also couldn't sleep cause when I closed my eyes it was like I could still see. It got really boring after a while and the peak lasted a couple hours. I was still feeling the effects a few days later. In fact the next morning I could barely move or think so I pretty much slept the whole day. I imagine it was from the sedative qualities of the LSA combined with the fact that I'm sensitive to medicine/drugs, it takes along time for me to metabolize everything. I'd recommend doing it, although I might not do it again (lasts to long and you can't sleep though you just want to lie down). I doubt it fries your brain unless you do it all the time.
Having never done acid I can't really compare them. However I'm sure it's similar, friends that have done both told me it is. For instance everything looks like it's breathing. Ultimately I'm glad I've experienced this. It was nothing like I imagined. Nothing like weed. I didn't gain any insights so I was a bit dissapointed.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


---
layout: index
---
I'm a software engineer at Facebook. Ex engineering manager at Alibaba where I helped build large-scale mobile applications that support millions of daily users.
I love coding in Objective-C/Swift, C++, Python, and Javascript. Currently have interest in on-device machine learning.
我是一名80后程序员，前阿里巴巴高级技术专家，目前就职于Facebook
好读书，求甚解，对知识充满焦虑, 喜欢折腾各种技术，是一个高度自我驱动的人，目前专注于On-Device Machine Learning。记忆力中等偏下，遂有此博客


You will be given a random number at the start of the game.
There are four crystals below.By clicking on a crystal you will add a specific amount of points to your total score.
You win the game by matching your total score to random number,you lose the game if your total score goes above the random number.
The value of each crystal is hidden from you untill you click on it
Each time when the game starts, the game will change the values of each crystal


(Optional) Git branch to checkout. Example: develop
If not specified, HEAD will be used, which points to the default branch configured in your Git repo.


Simple Query
Simple Query - your search phrase will search against all loaded databases
{{term}}
Advanced query
{{result}}
Advanced Query - define specific parameters
Select field:
{{fld}}
Where field:
Equals
Is Like
Search Phrase:
AND (optional)
OR (optional)
Select field:
{{fld}}
Where field:
Equals
Is Like
Search Phrase:
Switch to simple query


New Poem:
March 15th, 2011
trade rotten air for rotten air
defeated reasoning
defeasibility adding knowledge to truth
platonic cave of shadows
in a haze of cognition
desiderata
explananda
a river of gold
March 15th, 2011
trade rotten air for rotten air
defeated reasoning
defeasibility adding knowledge to truth
platonic cave of shadows
in a haze of cognition
desiderata
explananda
a river of gold


2 Poems by Christopher Morgan
Another Jellyfish Poem II
A purple jellyfish came close to drowning.
I pulled it from the ocean’s soggy hands—this time it only burned a little.
I was glad, actually, to know I was alive and real again.
Seemed the jellyfish had become tangled in its own tentacles, stinging and stung
in its confusion. And part of me thought this was deserved.
Then I saw how it shuttered under its pain—I decided to unpeel it. My fingers
throbbed, but its welts were worse than mine.
As it swam back into the tide, I waved, only to be hit by a paper airplane.
I unfolded it and found a message from my sister.
Why did you flee our old house filled with jellyfish?
Why leave the welts and scars behind?
The Bear
While our doors were closed and my sister sleeps, a bear has entered our house. A bear. Sniffing about down the hallway. I wake to it. I’m out of bed and it’s already happening. I can hear it moving quietly beside the dining room table. Pushing chairs aside, but not knocking them over. It’s trying not to make noise. But a bear does. Something heavy thuds behind the steady click of claws on tile. I’m opening my door just a crack. I’m looking down the hall. My sister’s door is open. And nothing else. Of course nothing else. Then I stop. Something in the dark. Large. A couch, slowly moving toward me. Two reflections. Looking straight at me. Now I’m already inside my sister’s room, locking her door. But what can locks do against a bear? It’s making its way down the hallway. Its steps are louder, heavier—the flooring thuds beneath my feet. I don’t know what happens next.
Christopher Morgan is the author of “Shadow Songs” (Sad Spell Press 2015) and the Co-Manager of Nostrovia! Press. He grew up in Detroit and the Bible Belt of Georgia, before settling in the San Francisco Bay Area, where he received his M.A. in Creative Writing and American Lit. The Reviews Coordinator for Alien Mouth, he also edits for tNY Press and Arroyo Literary Review. He loves fables, hiking in the redwoods, Tumblr, Twitter, and happy hour margaritas.


Original presentation by Andy Woodruff for Maptime Boston
Follow along!
briandaviddavidson.com/d3-maptime
Or get the code for examples:
D3 is HARD for beginners. Here at Maptime we'll try to make enough sense of it to get you on your way to making amazing maps, but we strongly recommend spending time with more thorough guides and examples.
If you see the down arrow in the bottom right hand corner of a slide, press down to see links to helpful resources on the subject at hand.
D3 is Data-Driven Documents:
“D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.”
| DC Neighborhood | Population |
|---|---|
| Capitol Hill | 400 |
| Adams Morgan | 900 |
| Brookland | 300 |
| Mt. Pleasant | 600 |
There's more to it, of course, but building on that core concept leads to some pretty amazing stuff.
D3 was created by Mike Bostock back in the simplier time of 2011. It's an open-source library with many additional contributors. (Be sure to check out the work by one of the main contributers, Jason Davies.)
D3 is not a magic tool that draws and styles charts, maps, etc. Rather, it provides a means for YOU to create and style web-standard documents based on your data.*
*That said, there are a handful of cases in which D3 does kind of magically draw something for you based on some parameters. A basic example is an axis.
For now, we'll stick to maps and charts.
Lay down some boilerplate HTML and load the D3 library.

A D3 chart

Let's begin with some of that data I've been yammering on about. We'll use those made up population numbers from the earlier table. Inside the

D3 has some internal magic that can turn GeoJSON data into screen coordinates. This is not unlike other libraries such as Leaflet, but the result is much more open-ended, not constrained to shapes on a tiled Mercator map.
Let's walk through that DC map. First, include the neighborhoods GeoJSON data. We've assigned it to a variable called neighborhoodsJson
in neighborhoods.js which is loaded in the document
.

<title>A D3 map of Washington DC</title>

The first bit of JS code should look similar to what we've already encountered:
var width = 700,
height = 580;
var svg = d3.select( "body" )
.append( "svg" )
.attr( "width", width )
.attr( "height", height );
var neighborhoods = svg.append( "g" );
var albersProjection = d3.geoAlbers()
.scale( 150000 )
.rotate( [77.0369,0] )
.center( [0, 38.9072] )
.translate( [width/2,height/2] );
Whoa, does that say projection? If you hear a cartographer get excited about D3, this is why.
D3 supports the map projections you've always dreamed of.
var albersProjection = d3.geoAlbers()
Back to the code. This is what a basic projection looks like. It creates a function that allows you to plug longitude and latitude values and get projected coordinates back.
For example, having created the albersProjection
variable above, the following call would return some coordinates:
albersProjection( [-77.0369,38.9072] ); // longitude and latitude of the DC area
D3 has a handful of projections built in, but there are tons more supported in an external plugin.*
var albersProjection = d3.geoAlbers()
.scale( 150000 )
.rotate( [77.0369,0] )
.center( [0, 38.9072] )
.translate( [width/2,height/2] );
Back to this.
scale
: How far in or out you are. (Definitely takes some finagaling) rotate
and center
: depending on the projection, you may need to use both of these to center the projection on your area of interest.translate
: a pixel offset, commonly specified to ensure that the center of the projection is in the center of the viewing areaHaving said a minute ago that you can plug longitude/latitude pairs into a projection, it's rare that you will actually explicitly do this. Instead, it tends to happen behind the scenes with path generators.
var geoPath = d3.geoPath()
.projection( albersProjection );
Once again we are creating a function here. A path is a function that takes a GeoJSON feature and returns SVG path data, based on the specified projection. Put differently in a kind of pseudo-code, we're doing this:
var geoPath = function( feature ){
// grab lat/lon coordinates from geojson feature
// do some crazy magic to turn them into screen coordinates
// return SVG path string
}
It helps to remember a path as a function in a moment.
neighborhoods.selectAll( "path" )
.data( neighborhoodsJson.features )
.enter()
.append( "path" )
.attr( "fill", "#ccc" )
.attr( "stroke", "#000" )
.attr( "d", geoPath );
Most of this should look familiar by now. Select a bunch of non-existent things, bind data, append new elements, and apply some attributes. Our elements here are SVG paths, which are basically free-form shapes.
This part can be a little confusing, though:
.attr( "d", geoPath )
First, in SVGs, d
is an attribute that defines the coordinates of a path.
Second, this is where it helps to remember that a D3 path is actually a function. The code above is equivalent to a more familiar syntax:
.attr( "d", function(d){
// do magic and return SVG path string
})
Again, if you don't really get it, don't worry! You can copy this basic template and re-use it for whatever you're mapping. The only thing you need to do is supply your own GeoJSON and tweak the projection to fit your geography. The more you play around, the more you'll understand.
All of the examples herein specified things like color as an attribute on each feature for clarity. But a cleaner way to do it is with CSS. So on the bar chart, for example, instead of
.attr( "fill", "#d1c9b8" )
we could omit that line and include a stylesheet with
path{ fill: #d1c9b8; }
We'll save this for another day, but adding interaction is an obvious next step toward awesome maps.
pois.selectAll( "path" )
.data( poisJson.features )
.enter()
.append( "path" )
.attr( "d", geoPath )
.on( "click", function(){
d3.select(this).remove();
});
D3 uses pretty basic event listeners through the on() method.
D3 makes transitions (i.e., animation) easy, which is useful for anything from design flair to time-series graphics.
d3.select(this)
.attr("opacity",1)
.transition()
.duration( 1000 )
.attr( "x", width * Math.round( Math.random() ) )
.attr( "y", height * Math.round( Math.random() ) )
.attr( "opacity", 0 )
.each("end",function(){
d3.select(this).remove();
})
With a transition()
in there, anything after that will be animated rather than taking effect immediately. Read more about it.
Although our examples used pre-loaded data, D3 has methods for loading data asynchronously. Check out d3.json() and d3.csv() in particular.
D3 is separated out into modules which allows for flexibility. It doesn't require you to import the entire library. You can just grab d3-geo
or d3-selection
. Check out the full list on the d3 repo and read more about ES6 modules.


BIOSKOP KOTA
Home
Now Playing
Coming Soon
Ticket
Pemesanan makanan
Already have an account?
Login
Pilih Kota
Jakarta
Jogja
Bandung
Surabaya
Trailer
Now Playing at Jakarta
Today is March 17, 2017 - Friday
Bintaro
The Invitation
13:00, 15:00, 18:00, 20:00
Sinopsis
Kong: Skull Island
13:00, 15:00, 18:00, 20:00
Sinopsis
Beauty and the Beast
13:00, 15:00, 18:00, 20:00
Sinopsis
Pondok Indah
The Invitation
13:00, 15:00, 18:00, 20:00
Sinopsis
Kong: Skull Island
13:00, 15:00, 18:00, 20:00
Sinopsis
Beauty and the Beast
13:00, 15:00, 18:00, 20:00
Sinopsis
Kelapa Gading
The Invitation
13:00, 15:00, 18:00, 20:00
Sinopsis
Kong: Skull Island
13:00, 15:00, 18:00, 20:00
Sinopsis
Beauty and the Beast
13:00, 15:00, 18:00, 20:00
Sinopsis
Box Iklan
iklan abc


Boro looking for pain relief
Stafford Rangers boss Alex Meechan says the return of injured players will be like having new signings.
by Rosie SwarbrickRangers’ slide to the bottom of the Northern Premier Division has coincided with a mass of injuries. But Meechan hopes to see Jake Charles and Sam Cookson return for Saturday’s crunch home clash with 10th-placed Hyde United.
He said: “I think one or two injury returns would be like new signings for us.
“Jake Charles and Sam Cookson look like they will hopefully be in the reckoning for Saturday which are two major boosts.
“Robbie Thompson-Brown is slowly getting to full fitness. We still have a decision to make on Luke Jones. He has gone to see a consultant, we are waiting on that news.
“Tom Thorley and Theo Bailey-Jones are complicated ones and are going to be longer than what we thought.”
Meechan and joint Boro boss Andy Fearn face another blow as Danny Burns is suspended for Saturday’s clash. And after three straight defeats, Meechan is keen to taste that winning feeling again.
He said: “Everyone will be talking about this game. It is imperative that we win.
“The league table does not lie. After 15 games, we are down there. We just need to dig deep, keep the lads buoyant, make sure they believe in what we are doing – which they do. And we believe in them.
“We need to get a few more back in form and back on the grass. I don’t question anything else other than getting that elusive win. If we can get that win and try to get some momentum, you will see that wins can take a bit of the pressure off.
“There is nothing in this league – everyone can beat each other.”


[ht::head {Grid Subsetting}]
<%nochildlist%>
Repository entries that are recognized as grids (i.e, can be read by the
netCDF-Java Common Data Model (CDM) grid reader (e.g. netCDF, GRIB, GrADS))
provide an option for creating subsets of the grids that can be downloaded
or stored in the repository. From the [ht::menu Entry] menu, select the
[ht::menu {Subset Grid}]:
[ht::screenshot images/datamenu.png]
The Grid Subset form allows you to subset the grid by region, time and variable
and will output the result to a CF compliant netCDF file.
[ht::screenshot images/gridsubset.png]
At the bottom of the subset form is a URL that is configured with any of the form setttings. You can use this to programattically access the grid, e.g., usin cURL.
[ht::screenshot images/gridsubsetlink.png]
:h2 Options
- Horizontal Stride
Sample every Nth grid point where N is the stride value
- Subset Spatially
Enter the spatial bounds for the subset. Click on the [ht::menu {Show Map}] link to pop up a map where you can select the bounds using Shift-Drag. The [ht::menu Clear] link removes the selection.
- Time Range
Set the time range for the subset. Default is all times.
- Add Lat/Lon Variables
For the grid to be CF compliant,
the latitude and longitude values at each point must be included
in the file. If the grid is projected, the grid projection definition is
also stored in the file, which is enough for some software packages.
- Select a folder to publish the results to
If you are logged in and have permission to add files to the repository, you can optionally add the file to the repository. Specify the Folder location and a name for the file.
- Select Variables
Select the variables that you wish to include
in the output file.
[ht::foot]


AIR POLLUTION IN LEEDS HAS BEEN A GROWING CONCERN FOR OUR
READERS FOR SOME TIME.  WE HAVE ANALYSED
THE DATA FOR TRENDS TO SEE IF THERE IS A CORRELATION AS
RESEARCH TO DATE WOULD SUGGEST. WE FIND THAT, IT IS NOT QUITE
AS SIMPLE AS IT MIGHT APPEAR.
AIR POLLUTION IN LEEDS5 YEAR STUDY
YEAR CURVE
Yearly data shows the average NO2
and PM2.5 levels over a 5 year period.
Results tend to suggest the tendency
of air being polluted at the highest
level during the winter months when
the air temperature traditionally gets
lower.
In contrast, the levels of NO2 and
PM2.5 are signifcantly lower during
summer months when air temperature
increases.
WEATHER IMPACT ON AIR QUALITY
Analysing air pollution data for Leeds on an hourly and daily basis covering a
period of 2010 to 2015, several important facts emerge afecting the health of
all those living and working in the area. From the data we are able to see particular
seasonal trends, these show increased levels of dangerous small particle
matter during the winter months. Levels generally show an upward trend
throughout autumn as the weather temperatures drop, this trend is reversed in
the spring as temperatures begin increasing toward summer. In general the
summer months show the lowest levels dangerous air pollution.
There have been periods over the period under study, which show unexplainable
days of extreme contamination. However, the met ofce reported that
particularly bad storms struck the Yorkshire area around the three most prominent
events of very high contamination. Although no direct cause is possible
to attribute to the events, the recurrence of similar outcomes tends to suggest
the thee could be a relationship between the events.
DAILY AIR QUALITY IN LEEDS
Daily Graphic data offers information
regarding daily NO2 levels in Leeds throughout a five year period
(2010-2015).
Results inticate that the highest concentration of NO2 on average
working days can be observed during the peak hours, that
is between the hours of 8-9am in mornings and 5-6pm in the
evening, probably due to the highest circulation of motor
vehicles during these hours.
The lowest levels of air pollution are during a period of late night
and early morning when there traditionally is much lower motor
vehicle usage.
SEVERAL STUDIES TO DATE SUGGEST A RELATION BETWEEN POLLUTION AND THE SYMPTOMS OF ASTHMA
STANFORD UNIVERSITY &
UNIVERSITY OF CALIFORNIA, BERKELEY. (2010)
WHAT :
181 children, with and without asthma in the California
cities of Fresno & Palo Alto.
CONCLUSIONS :
The researchers found that air pollution exposure suppressed
the immune system’s regulatory T cells, which
leads to greater severity of asthma symptoms.
AIR POLLUTION IN LEEDS COMPARED WITH ASTHMA MEDICATION COVERING 5 YEARS
This graph specifcally shows the cost of the medication prescribed
for all respiratory problems in Leeds, from 2010 to 2015.
The evolution of the curve informs us of a substantial upward
trend in the cost of prescribed medication for Asthma or respiratory
problem drugs and that there is a progressive rise of those
costs through the years within the study. Additionally, the graphic
shows the amount of medication prescribed to patients in
Leeds over a period of fve years.
Our principal conclusion is that no specifc pattern can be observed
to explain any signifcant change in asthma medication
prescribed during this period as it relates to air pollution.
The comparative chart depicting air pollution in Leeds, along
with the data concerning asthma medication prescribing during
5 years, is presented as a means of demonstrating graphically
the diference in incidence of high levels of air pollution and the
timing of the prescribing of the medications within the study.
Correlating the statistics provided, the results show that there is
no direct relationship between the two data sets. The amount of
medications prescribed to patients increase in a period during
late spring and early fall, when the level of air pollution is
traditionally lower.
Therefore the results contradict the primary hypothesis much
further research in this area is needed to establish the factors
and causal relationships. Several avenues of exploration are pos-
sible, but weather data covering the period in question must be
a consideration to provide information on another of the
contributing factors involved.
CAUSES OF AIR POLLUTION
CARS
Most cars use internal
combustion engines. This leads to the production of
several pollutants, such as :
carbon monoxide
oxides of nitrogen
un-burnt hydrocarbons
particulate matter
HEATING
The use of solid fuel such as coal or
wood for house heating produces
pollutants.
This pollution can highly vary from
one fuel to another. For example, the
use unseasoned (also called green)
wood which results in a lower temperature
combustion consequently produces
way more pollutants than dry
firewood.
FACTORY
The industries are known to be pollutants,
due to their activities and transformations.
Many of them have need
of power generation, combustion processes
and massive heating requirements.
When efforts are made to
reduce these releases and use more
green energy, they still emit a mixture
of nitrogen oxide (NOx) and nitrogen
dioxide (NO2).
COMPOSITION OF CONTAMINATION PARTICLES
PM2.5 stands for particulate matter with less than 2.5 µm diameter (for information, the diameter of a hair is 50 to 70 µm). They are also referred to as “fine particles” and stay in suspension in the atmosphere. 43% of them are the result of wood combustion, coal combustion or oil combustion. The manufacturing industry represents 9.5%, diesel vehicles 8.4%, construction sector 6.6%, and agriculture and forestry 4.7%.
EFFECTS ON LUNGS
The effects of pollution on the body : every year, 3 millions
people die from diseases caused by air pollution :
that's 5% of the annual global deaths.
As a matter of fact, pollution brings allergies & problems
that can have an impact on the respiratory system. A
long -term exposure can lead to asthma, chronic bronchitis,
lung cancer...
As a matter of fact, pollution brings allergies & problems
that can have an impact on the respiratory system. A
long -term exposure can lead to asthma, chronic bronchitis,
lung cancer...
The consequences are diferent depending on people,
but some groups of population are more at risk : children,
elderly persons, or deprived families with less
access to healthcare.


Salmon Cookies
2353 lake Washington Blvd
Kirkland, WA 98033
Phone:<PHONE_NUMBER>
We are open Monday - Friday 10am - 6pm
Saturday 10am - 2pm
I grew up fishing with my brothers for walleye, bass, and pike in local waters, and my family has always been close. In life it's easy to take the ones you love for granted, but I look back on those times as some of my favorites. I have to say that I’ve been enjoying fishing with family more and more since I got my new Alumacraft. Not only is being out on the boat a blast for everyone, it makes it easy and safe to bring my young nieces and nephew, who aren’t ready to join me wading in a river. Even if we aren’t catching fish, the kids are still excited to ride on Auntie Bekk's boat!
Coming from a family that has always enjoyed time in the outdoors together, I can say that fishing is without a doubt one of the activities that has kept us close. From me to you, here are five reasons hanging out with family and fishing rocks!
2353 lake Washington Blvd
Kirkland, WA 98033
Phone:<PHONE_NUMBER>
We are open Monday - Friday 10am - 6pm
Saturday 10am - 2pm


Configuring builders¶
Discover builders by entry point¶
New in version 1.6.
builder extensions can be discovered by means of entry points so that they do not have to be listed in the :confval:`extensions` configuration value.
Builder extensions should define an entry point in the sphinx.builders
group. The name of the entry point needs to match your builder’s
name
attribute, which is the name passed to the
sphinx-build -b
option. The entry point value should equal the
dotted name of the extension module. Here is an example of how an entry point
for ‘mybuilder’ can be defined in the extension’s setup.py
setup(
# ...
entry_points={
'sphinx.builders': [
'mybuilder = my.extension.module',
],
}
)
Note that it is still necessary to register the builder using
add_builder()
in the extension’s setup()
function.


This is the largest port in Albania and lies on the northern edge of a large, shallow bay. The capital, Tirana, is about 20 miles east of the port.
If making a night entry note that the fairway buoy is unlit (August 2009) and the channel markers are just posts with very low intensity lights, very difficult to see against the town and harbour lights. It has been suggested that an easier approach is from due south of the entrance, just west of the commercial boat anchorage. The entrance is easy to identify from a distance as a gap in the very bright harbour lights.
Position 41°18′27″N, 19°27′12″E.
See Albania Formalities for detailed Clearance Information.
Call Port Control on channel 15 or 16, who will direct the boat to an area of the commercial harbour. Protection is very good but strong southerly winds may cause a surge to the inner basin.
The port captain may insist that a shipping agent is used to deal with formalities and, in fact, this is pretty essential to be able to successfully deal with the paperwork. It is recommended to contact the agent in advance. See Clearance Agents for more details.
Last updated June 2015.
Several wrecks are located near the entrance channel to the Port so take care on the approach. Follow the marked channel as far as the port entrance and go into the main commercial port.
Contact your agent in advance to arrange docking space in the port as there is no special area designated for yachts. On approach you will see a new small craft marina adjacent to the main port entrance, however this is currently closed.
The port walls for berthing are high and protected by very large tyres, so be prepared. The quay is also quite dirty, covered in coal dust/ grain and as this is a working port it can be quite noisy. The Harbourmaster and dock staff are reported to be very helpful, however there are no specific facilities here for yachts. Security in the port is reported to be adequate. See comments below on available facilities for cruisers.
The town is good for supplies, but it can be difficult to find any repair facilities.
Your agent can arrange for diesel fuel and water from a truck as well services to travel inland and security for the yacht.
Note: there is a fuel station across from the supermarket, just a few hundred metres from the port.
Last updated July 2015.