| Tag | Image | Size | Time |
|---|---|---|---|
| v0.0.1 | lyy132646 | 15691 | 2015.5.5 |
| v0.0.2 | lyy132646 | 15691 | 2015.5.5 |
| v0.0.3 | lyy132646 | 15691 | 2015.5.5 |
| Build ID | Triggered by | Date Started | Tags | |
|---|---|---|---|---|
| 4ads13216d | lyy132646 | Today at 4:30 PM | master | |
| 4ads13216d | lyy132646 | Today at 4:30 PM | master | |
| 4ads13216d | lyy132646 | Today at 4:30 PM | master |
| Name | Branch/tags | Dockfile Location | Run trigger | |
|---|---|---|---|---|
| 4ads13216d | lyy132646 | Today at 4:30 PM | master |
|


Presented by Mike Smith, University of Sheffield
michaeltsmith.org.uk
<EMAIL_ADDRESS>@mikethomassmith
In 2012, 2.6 million people died due to outdoor air pollution (mostly heart disease or stroke).
Summary: Air pollution is a big deal.
Note: We'll focus on PM2.5.
Whiteboard
WHO press release 2014: http://www.who.int/mediacentre/news/releases/2014/air-pollution/en/
Only two papers about Kampala's air quality (Stephan Schwander's group), and a new sensor at the US embassy.
(white board)
Began with trying the Shinyei sensor hooked up to a phone (2014).
Engineer Bainomugisha new PI. Ssematimba Joel hardware dev.
We recently switched to a better sensor from AlphaSense.
From left to right: Ssekanjako John, the bodaboda driver; me; Engineer Bainomugisha.
unobtrusive hardware...
Using a GP model, with inputs:
Multiple output GPs: Make each sensor type one output
Funders: DIL Berkeley award.
Engineer and Joel
and Pius Kavuma at the AI Lab (3d printer!)
Schwander, Stephan, et al. "Ambient particulate matter air pollution in Mpererwe District, Kampala, Uganda: a pilot study." Journal of environmental and public health 2014 (2014).
Kirenga, Bruce J., et al. "The state of ambient air quality in Two Ugandan cities: a pilot cross-sectional spatial assessment." International journal of environmental research and public health 12.7 (2015): 8075-8091.


CHFAgent_www is a web interface for a Kentik CHFAgent Proxy. It is an independent Open Source project under a MIT license. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. It is not a product of or supported by Kentik Technolgies Inc.
Copyright (c) 2018 Craig Yamato
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


This site is open source and the code is available here:
You can see more about my other projects on my website
{% endblock content %}


Fighting the opioid and foster crisis by supporting families - The Hill
While it is wonderful that many Americans become foster parents to adopt or “save” children, we need wrap-around supports in local communities, and we need families now more than ever before who are willing to foster children for a period of time while parents overcome addiction. To stop negative societal trends that are ravaged by drug addiction, we need an “all hands on deck” approach to help vulnerable children in our own backyards.
I agree with Senator Lankford that all families impacted by foster care need support and I believe reunification is important. We have fostered multiple children who were reunified, and it was a beautiful thing.
I also think foster children should have a right to permanency. At what point does sticking with a goal of reunification begin to hurt a child’s wellbeing? If a 2.5 year old has been with foster parents over 2 years, how much more harmful would reunification be to the child than staying with the only family they know?
The foster care system is broken in so many ways, and it’s always the kids who are the victims.


4 drug suspects fall, P600K seized
by Melnie Ragasa-JimenaFour drug suspects were arrested while more than P600,000 worth of shabu were seized in separate buy-bust operations in Quezon City on Monday.
Acting Quezon City Police District (QCPD) Director, Police Colonel Ronnie S Montejo said at about 12:30 a.m. yesterday, anti-drug operatives of PS 2 conducted a buy-bust operation at Blk. 2 Lot 2 Sitio Mendez, Bgy. Baesa that led to the arrest of Lito Aquino, 47, of Bgy. Baesa and Judith Gilo alias Dith, 39, of Seminary Road, Toro Hills.
Seized from the suspects were about 90 grams of shabu worth P637,200. Police also confiscated a digital weighing scale, cellular phone and the buy-bust money.
Another buy bust operation was conducted by the same operatives at about 3:15 a.m. yesterday at No. 201B Village Shopping Center Del Monte Avenue, Bgy. Masambong that resulted in the arrest of Joyce Dunford, 28, of Bgy. Balon Bato and Manny Tambal alias Dodong, 33, of Meycuayan, Bulacan.
Police seized three sachets of shabu worth P27,200 and the buy-bust money from the suspects.
Aquino and Dunford were both included in the Directorate for Intelligence (DI) watch list.


Did you just try to add this email address (${contact_email}) to another ${site_title} account? ${contact_name} is trying to add this email address, but they can not add it to their account as long as it is connected with your account.
If this was not you, you can safely ignore this email.


THE DRUID
The Median XL: Ultimative druid class is physically the weakest class in the game, but uses range and damage over time to his advantage or morphs into a fierce creature of nature.
BACKGROUND OF THE MEDIAN XL: ULTIMATIVE DRUID
Founded by Fiacla-Géar, the brother of the ancient barbarian king Bul-Kathos, at the twilight of the nephalem era, the druid colleges were created to centralise and safeguard all knowledge of the powers of the earth and the wild.
As deep within Arreat the Worldstone, created by Inarius to subdue humanity's powers, begun to take effect, humanity slowly but surely lost its powers over the generations. Seeing the end of their era, Fiacla-Géar and Bul-Kathos, themselves among the last of the nephalem, sought to safeguard their knowledge and wisdom during the upcoming dark era.
It is believed that Bul-Kathos was misled by Inarius' angelic appearance and vowed to protect the Worldstone with his tribe's blood. Fiacla-Géar, who was more suspicious about the crystal, was summarily exiled from the barbarian lands by an enraged Bul-Kathos. Even today, the spirit of Bul-Kathos lives on in Mount Arreat, burying trespassers with earthquakes and rockslides, unaware that he is fanatically protecting the stone that doomed humanity.
During his long exile, Fiacla-Géar learned to speak with the spirits of nature - figments of the earth itself, imbued with limited sentience and intelligence by the touch of Inarius and Lilith at Sanctuary's creation. He realised that the curse that had befallen the nephalem did not extend to all of Sanctuary. The earth was an untapped source of magic waiting for humanity to find it.
Tur Dulra and the other druidic colleges teach that humanity should follow no one, neither angelic nor demonic, but should seek the power within themselves and nature. Although the teachings are based on the lore within the druidic holy book, the Scual Fada, allegedly written by Fiacla-Géar but mysteriously in many different scripts and unknown languages, few remember their true origin. Outsiders often look down upon druids as tree huggers, but perhaps they may turn out to be the only ones who are right...
BASE STATS
Strength : 25
Dexterity : 20
Vitality : 15 (65 life)
Energy : 25 (25 mana)
+25 life, +20 mana per level
Gains +2 life per point into vitality
Gains +6 mana per point into energy
PREFERRED WEAPONS
Using the powers of nature, druids crafted many weapons out of untreated wood and stone to preserve the spirits within. To any outsider, the bows and staves are useless, being far too prone to breakage and not at all effective at channelling mana. When a druid wields such a weapon, however, their arrows mysteriously strike true over great distances and the very earth answers their call.
Although shapeshifting druids wield axes, maces, swords or daggers to symbolise the fists and spines of their wereform, the weapon is assimilated in the shapeshifting process, making the details of its design moot. For this reason, the druid circles rely on outside suppliers to provide them with these weapons.
Base cast rate increased by 25% when wielding a staff (reduced number of frames).
PREFERRED ARMOUR
After discovering his totem during his initiation ritual, a novice druid is likely to come across a dying specimen of the spirit animal in what would be an amazing coincidence if you believe in coincidence. If the animal approves of the druid, the druid ritually sacrifices the animal and consecrates the skin, enabling the animal spirit to guard the druid when he wears its furs or feathers.
Many druids have several totem animals. The most commonly seen animals are the wolf, hawk, falcon and ram. In the past, many druids attuned themselves to the feral spirits of the bear and direwolf, but this had undesirable side effects at full moon and often led to an early descent into madness or death by silver crossbow bolt.
SKILLS
| Name | Icon | Effect |
|---|---|---|
| TREEWARDEN TREE | ||
| TREEWARDEN FORM | Humans are among the weakest of nature's sons. To combat the spawn of hell more effectively, the druid communes with the mighty old
treants of the primeval forests and learns how to assume their shape. Effect: morph into a huge tree creature wielding an axe or mace | |
| PUMMEL | Treants tend to the mighty forests, removing old and sick trees and planting young saplings. The treewarden is blessed with giant fists to break dead wood and clear a path through parasitic overgrowth. Effect: melee attack that stuns and deals massive damage in an area | |
| CIRCLE OF LIFE | The sacred circle of life ever turns. Ostara, Midsummer, Mabon, Yule. Animals are born and animals die. Each death feeds the Earth, and the Earth feeds his sons. Passive effect: returns life when you kill an enemy in treewarden form | |
| WILDFIRE | In ancient times, druidic werebears roamed the woods, acting to prevent forest fires. Most descended into lycanthropic madness, and the survivors know that a controlled fire might stop the hellish blaze consuming the world. Effect: melee attack that unleashes a massive wave of fire | |
| IDOL OF SCOSGLEN | The master shapeshifter absorbs the essence of the earth, summoning a protective layer of solid stone to deflect enemy weapons. The spell can only be maintained for a short time and quickly shatters with devastating force. Effect: turn into stone, then break out of the stone, stunning enemies | |
| TRAP RAT TREE | ||
| TRAP RAT FORM | Rare are the occasions when the forces of hell are outsmarted. When Baal twisted and mutated the native quill rats to giant and deadly monsters, the druids of Scosglen studied them and adopted the mutations themselves. Effect: morph into a giant quill rat wielding a dagger | |
| QUILL STORM | Created by Baal's fleshbender mages, this barrage of razor spines spelled the death of many adventurers and inspired the druid circles. Effect: shoot a stream of spikes at a random nearby enemy | |
| EGG TRAP | Despite what some jokers may tell you, shapeshifters cannot reproduce in animal form. While druids of the spine are capable of laying eggs, those eggs contain only more spines and sinew under tension. Effect: lay an egg that sprays the area with spikes when stepped on | |
| FEROCITY | Not satisfied with merely taking Baal's designs, the druids applied selective evolution to actually improve upon them, solving the known combat weakness of the trap rats, their very slow reaction time. Passive effect: increases attack rate and damage in trap rat form | |
| THORN WALL | Using one of their more mysterious combat techniques, trap rat shapeshifters create a barrier of spines at any distance, keeping the enemy army at bay with ease. Effect: creates a wall of spikes | |
| WEREWOLF TREE | ||
| WEREWOLF FORM | Scéal Fada, first of the druids, barely survived his encounter with the Great Wolf. Once his foe was defeated, he fought for many moons to safeguard his sanity from the beast now clawing within. He emerged from this inner struggle with the knowledge to teach the form of the apex predator. Effect: transform into a nocturnal hunter with savage melee abilities | |
| MANA PULSE | Unable to replenish spiritual energy by meditaion while transformed, werewolf shapshifters harvest it from their adversaries with primal strikes. Effect: melee attack that harvests mana | |
| HARBINGER | The unparalleled speed and agility of those who are able to master the shape of the beast are legendary. Closing in great distances in a flash, werewolves deliver swift death to their enemies. Effect: collide with prey in a surge of ravenous hunger | |
| FEED THE PACK | The savage bite and self-restoring lacerations of the wolf are the great levellers. "For the start of New life there must be death, be free now demons for you have paid your debt." Passive effect: slain enemies heal you and respawn as wolf allies | |
| TWISTED CLAW | Elders who have mastered both the primal force of the wind and the shape of the beast are capable of summonning freezing gales with their furious attacks. Effect: melee hit that creates a fast-hitting tornado | |
| ELEMENTAL TREE | ||
| ELEMENTAL | Dances and sacrifices to the volcano spirits strengthen the pact between the druid circles and this particular force of nature. In return, the fire spirits heed the druid?s call in battle. Effect: running fire spirits that explode on the target | |
| HUNTING BANSHEE | These wailing spirits of winter can be heard when the wind howls through the iced caves of North Scosglen. Briefly conjured by a druid, their shriek chills enemies to the bone. Effect: spirit chases random enemies and unleashes a frost nova | |
| PAGAN RITES | Druids believe that life is governed by a circle of life and death. Druidic burial rites are happy and cheerful, for the deceased's death will give rise to new life. Effect: sacrifices corpses in flames, restoring lost life | |
| RAIN OF FIRE | A hail of lava bombs from a distant volcanic eruption rains down to strike the target anywhere in the world, carried by favourable winds. Effect: rain of fire bombards target, then expands over an area | |
| FREEZING GALE | By entering a mystical trance, the master lorekeeper disturbs the local weather patterns, creating a howling storm of supercooled air that remains in the area until the druid's powers eventually fade. Effect: press and hold button to invoke an outward blowing freezing wind | |
| POISON TREE | ||
| POISON FLASH | To a druid, a creature's poison glands naturally evolved over thousands of generations are superior to any of man's sorcerous attempts to magically enslave nature and use it against his enemies. Effect: short ranged poison splash around caster | |
| ELVENSONG | The druid conjures a spirit of nature to sing an ancient and powerful siren song in the language of the birds and the Earthfather?s creations. The elfin melody charms animals and even most twisted demons. Effect: spirit of nature converts enemies to fight for you | |
| PLAGUE AVATAR | It is a common misconception among the uninitiated that all spirits of nature are like the charming dryads or warlike nereids. But fungi and bacteria are also among the sons of the Earthfather and have their own guardian spirits. Effect: floating avatar surrounded by poison clouds | |
| MYTHAL | Old druidic lore tells of the elves, Inarius' first creations that lived and were destroyed by the mad angel before humans saw the light of day. All that remains are ancient ruins and strange antimagical enchantments. Effect: creates a field that breaks enemy resistances | |
| SUMMON ACID FIENDS | The Earthfather's mutated children emerge from their den at the calling of the archdruid.  Effect: frenzied creatures with a poison splash attack | |
| BOW TREE | ||
| LAUGHING GHOST | Wyrdlights, goblins, ghosts and other minor sprites of nature are a playful lot. Launched from a druid's bow, this bone ghost explodes into shrapnel in the midst of the enemies, which it finds hilarious. Effect: shoots a bone flayer that explodes after a set distance | |
| CASCADE | The spirits of the nymphs lend their arrows and bowstrings to the druid's cause, allowing one druid to keep an army at bay. Effect: shoots arrows at all nearby enemies | |
| SPORE SHOT | This parasitic arrow burrows into the target, devouring its flesh with its magical teeth and evolving into two identical copies of itself which then spread among the living. Effect: arrow that repeatedly splits on striking | |
| ELFIN WEAPONS | The adept hunter communes with the nixes and pixies of the nature world, teachers of mystical combat techniques and weaponcraft. Passive effect: increases damage and crushing blow | |
| NOVA SHOT | The master hunter knows that the spirits of nature are all around us. In his forests, none shall surprise the druid and none shall dodge his arrows. Effect: shoots a ring of arrows |
UBERSKILLS
You may choose a single uberskill at character level 90 and above.
| Name | Icon | Effect |
|---|---|---|
| FORCE OF NATURE | Where willpower fails, brute strength may suffice. The Earthfather favours the strong and culls the weak from the herd. Passive effect: increases spell damage based on your strength | |
| FAERIE FIRE | The hunter leaves a cloud of pixie dust in his footsteps. The glittering dust sears those who enter the cloud and its sparkling reflections distract attackers, causing them to miss. Effect: rainbow trail damages enemies and causes attacks to miss | |
| TREMOR | At the call of the archdruid, the Earth itself rises up against the demonic taint and slams into the legions of hell. The bigger they are, the harder they fall. Effect: earthquake damages enemies by a percentage |
ENNEAD SKILL
After completing the Ennead Challenge and keeping the Class Charm in the inventory while at character level 90 and above, you can invest points in this skill.
See THIS PAGE for more information about the Ennead Challenge.
| Name | Icon | Effect |
|---|---|---|
| GOODBERRY | The fruits of the Glor-An-Fhaidha, the mystical tree of life, can bring back mortals from the brink of
death. Wise druids look for large red berries growing on plants that ordinary do not bear fruit. Passive effect: create a Goodberry in the Horadric Cube that boosts life |
BLACK ROAD SKILL
After completing the Black Road Challenge and keeping the Class Charm in the inventory while at character level 90 and above, you can invest points in this skill.
See THIS PAGE for more information about the Black Road Challenge.
| Name | Icon | Effect |
|---|---|---|
| LIFESHIELD | Aside from their healing effect on humans and other animals, the juice of the Glor-An-Fhaidha's
fruits can be applied to armour, making it as hard as the bark of a thousand year tree. Passive effect: consuming a Goodberry also increases defence |
INNATE SKILL
Druids start with the following skill in their icon list.
| Name | Icon | Effect |
|---|---|---|
| MARK OF THE WILD | The druidic witchdoctor taps into the fury of the Earth and its beasts, invoking a brief battle rage in himself or a chosen ally. Effect: raises all damages |


mod_rss will parse and read an XML based RSS feed, then read the entries aloud via a TTS engine such as mod_cepstral. While its reading you can fast forward through articles, rewind, etc.


Thank you for Inviting {DATA.customer.first_name} to JING Tea
Dear {DATA.customer.first_name}
Thank you for inviting your friends to JING Tea.
You have now introduced {TOTAL} friends to JING, so we would like to give you 10 more.
If you would like to invite more friends and family and continue to receive your £5 vouchers simply use the invite friends function in your account.
All the best,
JING Tea.


The primary appeal of using Docker is that "Dockerized" apps can run anywhere. This includes Windows, Mac, and Linux. Each platform must install Docker. Applications run in a virtual Linux environment. Many Linux variants are supported.
The most common use of Docker is to run server software. For example, it could be used to run a web server or a REST server.
At a high level, the steps involved in using Docker include:
DockerFile
that describes an "image".The steps are:
.msi
file.The steps are:
.dmg
file.It is also possible to install Docker in macOS using Homebrew, but it requires more steps. See https://nickcharlton.net/posts/docker-via-homebrew.html.
Instructions vary based on the Linux distribution being used. See https://docs.docker.com/engine/installation/linux/.
The easiest way to verify that the installation was successful
is to download and run the "hello-world" image.
To do this enter: docker run hello-world
.
This will download the image, and output
information related to the download,
the line "Hello from Docker!
",
and information to help you get started using Docker.
It also results in creation of an image and a container.
To see the new image enter: docker images
To see the new container enter: docker ps -a
To run the container again enter: docker start -a {container-id-prefix}
To get help on a docker command enter: docker help {command}
.
For example, docker help start
briefly describes the -a option.
It is used to attach to an existing container.
A Docker image is a filesystem and a set of parameters to use at runtime. It doesn't have state and never changes. Images can run a set of commands and exit, but more commonly they continue running until stopped. Examples include web servers, REST servers, and database daemons. An image runs inside a container.
Images are described by and built from files
that, by convention, are named "Dockerfile
".
When building an image, the -f
option
of the docker build
commmand
can be specified to use a file with a different name.
Some images are labelled as "official". For details on what this means, see https://github.com/docker-library/official-images. For a list of the official images, sorted on the number of times they have been "pulled", see https://hub.docker.com/explore/.
Official programming language images include clojure, elixir, erlang, haskell, ibmjava, julia, gcc, golang, java, jruby, node, openjdk, perl, php, python, ruby, and swift.
Official web server images include glassfish, httpd (Apache), jetty, nginx, and tomcat.
Official database images include cassandra, couchbase, couchdb, mariadb, mongo, mongoexpress, mysql, neo4j, oraclelinux, postgres, redis, and rethinkdb.
Official Linux images include debian, centos, fedora, opensuse, and ubuntu.
Other official images of note include bash, drupal, hello-world, jenkins, maven, rails, redmine, and wordpress.
Before diving into details about Docker, let's walk through some simple examples.
We should only have one image now.
That is the one created while verifying the installation.
Verify this by running docker images
.
Let's create a very simple image that just outputs "Hello, World!" using bash. Here is the Dockerfile that describes the image.
FROM bash CMD echo Hello, World!
To build this image enter: docker build -t my-demo .
Because we didn't already have the bash
base image,
that was downloaded and built.
To see all the current images enter: docker images
We should have three images now. They are
hello-world
, bash,
and my-demo
.
To run the my-demo
image enter: docker run my-demo
This runs the image in a newly created container.
The container still exists.
To see this enter: docker ps -a
To run this container again enter: docker run -a {container-id}
To delete this container enter: docker rm {container-id-prefix}
To delete the my-demo
image enter: docker rmi my-demo
Note that the bash
image on which it depended was not deleted,
but it can be deleted with docker rmi bash
.
It is common to create multiple images that use the same base image
and retain these rather than delete them.
Now let's create an image that outputs "Hello, World!
" using Node.js.
It uses the "chalk" npm package to output colored text.
We are doing this to illustrate using npm packages from a Docker image.
Here is the package.json
file that describes dependencies.
It can also specify a "script" for running the application.
{ "name": "chalk-demo", "version": "1.0.0", "description": "a Hello World app that uses the chalk npm package", "main": "index.js", "scripts": { "start": "node index.js" }, "license": "MIT", "dependencies": { "chalk": "^1.1.3" } }
Here is the JavaScript code from the file index.js
.
const chalk = require('chalk'); // process.argv holds command-line arguments. // The first value is the path to the node executable. // The second value is the path to the file being executed. // The third value (at index 2) is the first command-line argument. const name = process.argv[2] || process.env.name || 'World'; console.log('Hello, ' + chalk.red.bold(name) + '!');
To run this Node application outside of Docker
with no excess output from npm,
enter: npm -s start
Note how "World" is output in red.
Here is the Dockerfile that describes the image to be built. It specifies a specific version of Node, 7.4. An alternative it to request the latest long-term support (LTS) version by replacing the version number with the code name "boron".
FROM node:7.4-onbuild ENV name "" CMD ["npm", "--silent", "start"]
Base images with an "onbuild"
tag
use ONBUILD
instructions to specify
instructions to be executed when the using image is executed.
These instructions are executed as if were inserted
immediately after the FROM instruction.
In the case of node onbuild images, the following
happens automatically when the image is executed:
package.json
file.npm install
which installs the dependencies
described in package.json
.package.json
defines
a start
script.npm start
.
The CMD instruction in the Dockerfile above overrides the one provided
by the node onbuild
image to use the --silent
option.
This suppresses informational messages from npm.
To build the Docker image enter: docker build -t node-demo .
This will take several minutes because it needs to
download and build the node
base image.
Once the base image has been built, rebuilding this image,
or other images that use the same base image,
will build much faster.
To run this image, but not retain the container in which it runs,
enter: docker run -t --rm node-demo
The -t
option tells Docker to run the image in a pseudo-TTY
which is able to process the ANSI escape codes
output by the chalk
package to produce colored text.
The --rm
option tells Docker not to retain
the container it creates after the image exits.
Note that it is preceded by two dashes, not one.
To override the value of the name
environment variable
specified in Dockerfile
and index.js
,
add "-e name={value}
" to the docker run
command.
For example, docker run -t --rm -e name=Mark node-demo
Now let's create an image that writes and reads files on the host.
Here is the package.json
file.
This example has no dependencies.
{ "name": "volume-demo", "version": "1.0.0", "description": "demonstrates reading and writing text files", "main": "index.js", "scripts": { "start": "node index.js" }, "license": "MIT" }
Here is the JavaScript code from the file index.js
.
const fs = require('fs'); const filePath = '/data/test.txt'; const data = 'Hello, World!'; fs.writeFile(filePath, data, err => { if (err) throw err; console.log('write was successful'); fs.readFile(filePath, (err, buf) => { if (err) throw err; console.log('read got:', buf.toString()); }); });
Here is the Dockerfile that describes the image to be built.
FROM node:7.4-onbuild CMD ["npm", "start"]
To build the Docker image enter: docker build -t volume-demo .
To run this image,
enter: docker run --rm -v $HOME/data:/data volume-demo
The -v
option tells Docker to
map the container directory /data
to the host directory data
under your home directory.
After running this, a file named test.txt
will exist
in $HOME/data
directory and it will contain
"Hello, World!
".
Now let's create an image that runs an Express HTTP server using Node.js.
Here is the package.json
file that describes dependencies.
It also specifies a script
for running the application.
{ "name": "express-demo", "version": "1.0.0", "description": "a Hello World Express app", "main": "index.js", "scripts": { "start": "node index.js" }, "license": "MIT", "dependencies": { "express": "^4.14.0" } }
Here is the JavaScript code from the file index.js
.
const express = require('express'); const app = express(); app.get('/hello', (req, res) => { const name = req.query.name || 'World'; res.send(`Hello, ${name}!`); }); const port = 3000; app.listen(port, () => console.log('listening on port', port));
To run this Node application outside of Docker
enter: npm start
and browse localhost:3000/hello?name={your-first-name}
.
Here is the Dockerfile
that describes the image to be built.
FROM node:7.4-onbuild EXPOSE 3000
To build this image enter: docker build -t express-demo .
When a container exposes ports using the EXPOSE instruction,
these ports are only available to processes running in the container.
To use them outside of the container (in the host),
they must be mapped to a host port.
This is specified with the --publish
or -p
option.
For example, -p 3001:3000
specifies that port 3000
inside the container is mapped to the host port 3001.
The same port number can be used for both if
the container port isn't already in use on the host.
To run this image in a container enter:
docker run -d -p 3000:3000 express-demo
The -d
option causes the container
to run in the background (detached mode).
Do not include the --rm
option when using this.
To output log messages from container enter:
docker logs {container-id-prefix}
This is a great way to diagnose issues.
When a container is not running in detached mode, it cannot be
stopped by pressing ctrl-c in the terminal where it is running.
To stop a running container enter:
docker stop {container-id-prefix}
From the Amazon EC2 website, "Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers."
In the next section we will walk through the steps to run a Docker image in a container within an EC2 instance. To prepare for that, this section provides the steps to create a free EC2 account. Skip the rest of this section if you already have an EC2 account.
The next step is to get access and secret keys.
Docker Machine makes it easy to use Docker in cloud provider instances. We'll walk through the steps to create an instance on Amazon EC2. This section assumes you already have an AWS account.
docker-machine create --driver amazonec2 \
--amazonec2-access-key={access-key} \
--amazonec2-secret-key={secret-key} \
--amazonec2-region={region} \
{instance-name}
access-key
and secret-key
can be obtained from the rootkey.csv
file
that was downloaded in the previous section.
The value for region will be similar to "us-west-2".~/.docker/machine/machines/{instance-name}
directory
with several .pem
files and more.
It will take several minutes to complete.
eval $(docker-machine env {instance-name})
docker
" commands to run on the AWS instance
instead of locally.
The environment variables are DOCKER_CERT_PATH
,
DOCKER_HOST
, DOCKER_MACHINE_NAME
,
and DOCKER_TLS_VERIFY
.
Unset these environment variables later
to return to using Docker locally.
To list the current Docker Machine instances enter:
docker-machine ls
To get the IP address of an instance enter:
docker-machine ip {instance-name}
Use the normal docker commands to build images
and run them in containers within the AWS instance.
For example, to build and run our express-demo
,
cd to its directory and enter these commands:
docker build -t express-demo .
docker run -d -p 3000:3000 express-demo
To test this app running in the AWS instance,
browse http://{instance-ip-address}:3000/hello
.
TODO: Why doesn't the server respond?
You should also be able to test this by running
docker run -d -p 8000:80 --name webserver kitematic/hello-world-nginx
and browsing {ip-address}:8000, but that doesn't work either!
To stop a running instance enter
docker-machine stop {instance-name}
To restart a running instance enter
docker-machine restart {instance-name}
To remove a stopped instance enter
docker-machine remove {instance-name}
To ssh into an instance enter:
docker-machine ssh {instance-name}
Dockerfiles contain instructions that describe an image to be built.
Each instruction is on a separate line.
They start with an instruction name followed by its arguments.
Instruction names are not case sensitive, but
the convention is for them to be all uppercase.
To spread arguments over several lines,
end all but the last line with a backslash like in Bash.
Comments are lines that begin with #
.
Comments cannot appear at the ends of instructions.
Each instruction runs independently in a new image created just for it, or ones from previous builds that are in the "build cache". Previous commands do not affect subsequent ones. For example, "RUN cd /usr/local" will not change the working directory used by the next instruction.
This specifies the base image. It is required and MUST be the first instruction.
This instruction sets the value of an environment variable that is used inside the Dockerfile. It cannot be used to change the value of a previously set environment variable. For example, to set ANIMAL to GIRAFFE,
ENV animal giraffe
To refer to this enviroment variable in another instruction,
use ${ANIMAL}
or $ANIMAL
.
Instructions that support references to environment variables include:
ADD
, COPY
, ENV
, EXPOSE
,
LABEL
, ONBUILD
, STOPSIGNAL
,
USER
, VOLUME
, and WORKDIR
.
This sets the default working directory from which commands will execute. It defaults to "/".
This specifies a local filesystem path that will be in the context of the image. This should expose only the files needed by the image. For example, do not use /. A .dockerignore file can be added to any directory to specify files that should not be exposed to the image.
This specifies a Github repository whose files will be in the context of the image.
TODO:
To build an image from a Dockerfile:
docker build [-t {tag}] {Dockerfile-path}
While the -t option can be omitted, it is preferable include it.
Otherwise the image can only be identified by
the id that is automatically assigned.
A tag consists of a name and an an optional version separated from the name by a colon.
For example, my-project:1.2
Typically the "docker build" command is run from the directory that contains Dockerfile. When that is the case, the value for Dockerfile-path can be a period representing the current directory.
If the base image identified in Dockerfile does not already exist locally, its Dockerfile is downloaded from Docker Hub. Docker Hub is a repository of shared Docker images. Next, the base image built. The time required to do this depends on the base image, but it is typically several minutes.
Examples of commonly used base images include bash and node. ADD MORE!
To get a list of all exising images:
docker images
Images have unique ids which are SHA values. These are long and difficult to type. Tags are human readable aliases for image ids. Any number of tags can be added to the same image. To add a tag to an image:
docker tag {id-or-existing-name} {new-name}
To delete an image:
docker rmi [-f] {image-id-prefix-or-tag}
If an image has a tag other than "latest", deleting it requires specifying both the name and tag like this:
If the image is used by an existing container, an error message explaining this will be output. The image can be deleted anyway if the -f option is used. Containers whose images have been deleted can still be rerun because all images it requires were copied into it.
docker rmi [-f] {name}:{tag}
There are multiple versions of an image, eash with a different tag, deleting one by its id, requires using the -f option.
Deleting a tag only deletes the corresponding image if it is the only tag for that image. ???
Here is a bash script that deletes all images.
#!/bin/bash # Removes all images. docker rmi -f $(docker images -q)
During iterative development it is common to rebuild an image multiple times. When an image with the same name as an existing one is built, the previous version remains but is stripped of its name and tag. These are referred to as "dangling images". The following command deletes all of them:
docker rmi $(docker images -qa -f "dangling=true")
This uses two docker commands. First, "docker images" is used to get a list of the ids of all the dangling images. Second, "docker rmi" is used to delete those images. Why isn't there a build option to do this automatically?
A container is a running instance of an image.
To list the current running containers,
enter: docker ps
.
To list all containers including those that are stopped,
enter: docker ps -a
.
To see details about an existing container,
enter: docker inspect {container-id}
.
To restart a container whose image is currently running,
docker restart {container-id}
To rerun a container whose image has exited,
docker start -a {container-id}
This works even if the images used by the container have been deleted because the images have already been copied into the container.
To delete specific containers enter: docker rm {container-ids}
A space-separated list of container id prefixes can be specified.
Each id prefix must uniquely match a single container.
To delete all containers enter: docker rm $(docker ps -qa)
To interact with a running container, open a shell inside it where commands can be entered.
docker exec -it {container-id} /bin/sh
Here is a bash script that deletes all containers.
#!/bin/bash # Removes all containers, including running ones. docker rm -f $(docker ps -qa)
Containers can also provide read-write access to the read-only image filesystem a "Union File System". Changes to files happens in the container, but are not saved in the image. "Volumes" allow these changes to be persisted to the local filesystem.
To specify a volume to be used by a container, use the -v option of the docker run command as follows:
docker run {image-name} -v $(pwd):{directory}brush
It should be possible to edit files under a volume directory and have the image in the container utilize the changes without restarted it. TRY THIS! See https://dzone.com/articles/docker-for-devs-creating-a-developer-image?edition=264895&utm_source=Spotlight&utm_medium=email&utm_campaign=cloud%202017-01-24
The easiest way to share a Docker image is to share its Dockerfile. The recipient can build this image from that.
Another alternative is to register for a Docker Hub account and upload your image there. From here you can browse for shared, downloadable images. For example, docker/whalesay.
TODO:


Mkapa: My life, my purpose
by PETER MUTHAMIAIn Summary
- TANZANIA RISING: Having learnt the ropes at the feet of Mwalimu Julius Nyerere and rose from a newsroom, Benjamin Mkapa was to become head of state of a broke country that badly needed reform and direction. Here’s his story.
Against the backdrop of an economy gone awry, Tanzania’s third president Benjamin William Mkapa took the reins of power of a country wobbling from inflation caused by permissive business heralded by the previous ruksa regime of his predecessor Alli Hassan Mwinyi.
The government could not afford to pay public servants’ salaries, banks were collapsing and there was so much money in the streets chasing too few goods and services.
Inflation stood at 27.4 per cent and revenue collection was erratic and insufficient. Bold decisions had to be arrived at, including dropping some Cabinet ministers and appointment of new Bank of Tanzania governor to rectify the situation.
These revelations as recounted in his autobiography, My Life, My Purpose launched last week in Dar es Salaam.
The first of its kind to be authored by any president sitting or past, the autobiography was published by Mkuki Na Nyota publishers. The launch also marked his 81st birthday.
By the time of writing this article, all the published copies had been sold.
Also Read
-
Hounded writers tell of their woes
-
WHAT’S ON: One year on, Marafiki Night Live thrives
-
BOOKS: ‘The Face’ speaks of culture, identity and relationships
-
GALLERIES: When drawing is just the beginning
Advertisement
The launch was graced by current president John Pombe Magufuli and former presidents Ali Hassan Mwinyi and Jakaya Mrisho Kikwete.
The 320-page autobiography traces his formative years in Lupaso village in the southern Tanganyika with his itinerant catechist father William Matwani, his stern mother Stephanie Nambaga his journey through school and finally studying history, economics and English at Makerere University in Uganda.
During that time, the Nationalist Newspaper was run by indigenous Tanzanians.
After five months in London learning the workings of the newspaper industry, Mr Mkapa was appointed the managing editor (a political appointment).
His role was to ensure that the newspaper supported the political views of his bosses.
First steps on political journey
In 1974, Mr Mkapa was unexpectedly appointed President Mwalimu Nyerere’s press secretary. Handing over to Ferdinand Ruhinda the mantle, he flew to Butiama village whereby he found the president digging and joined him.
From then on, they would be in the shambas digging in the morning hours and later, and even in between, receiving callers.
He would much later join Mwalimu to various meetings in and out of the country.
He was later charged with the duty of starting a National News Agency Shahita (Shirika la Habari Tanzania).
Next, Mr Mkapa was to fly to Nigeria to establish bilateral relationship. He arrived as High Commissioner and presented his credentials to Gen Olusegun Obasanjo.
After a three-month stint in Nigeria, Mwalimu appointed him Foreign Minister—to help shape the liberation of southern African nations.
In 1977, he was nominated a member of parliament and later, high commissioner to Canada.
Between 1976 and 1985 when Mwalimu retired, he had had stints in Nigeria (1976), Canada (1982), USA (1983-1984), twice the Foreign Affairs Minister and Minister of Information and Culture.
Under his successor Ali Hassan Mwinyi, he continued as Minister of Foreign Affairs and then as the minister responsible for information and broadcasting, science, technology and higher education.
Finally, Mr president
He supposes that it is his upbringing which implanted his drive for efficiency and timeliness. For example, he did not accept papers tabled before the Cabinet unless they were properly prepared.
During his tenure as president, he cultivated an aura of approachability, frankness and bluntness that sometimes put him at loggerheads with some ministers and Tanzanians especially when he made the people aware that the country was in financial dire straits and that the public needed to tighten their belts.
One of his earliest tasks was to align Tanzania with IMF, World Bank and in 1976, he visited Baroness Lynda Chalker, the UK Minister for Overseas Development who approached the matter with caution because of the skewed way development funds were managed at the time.
Mkapa finally prevailed
One of milestone achievements was external debt relief under the Highly Indebted Poor Countries (HIPC) run by the World Bank and IMF.
Tanzania had over the years sunk deep into a rut because of the war to liberate Uganda, surging of the world oil prices and inflation.
He understood that bringing government finances into healthy state of affairs required an attack from two fronts; he needed to increase government revenues as well as decrease unnecessary expenditure.
He inherited the government coffers with a paltry $612,567, which was not enough to pay for the country’s recurrent budget, let alone development costs.
Ten years later, the country’s revenue was a healthy $1,796,682.
The foreign exchange reserve covered at only one and-a-half months grew to cover 5-plus months in 2005.
Interest rates plummeted from 36 per cent to 15.2 per cent in 2005. Tanzania Revenue Authority commenced in 1996 as well as the Prevention of Corruption Bureau of Tanzania—and he was christened Mr Clean for it.
According to him, “it was important for him to give to his nation a framework with key attributes high quality livelihood, peace, stability and unity; good governance; well-educated and learning society, and a competitive economy capable of producing sustainable growth and shared benefits”
Mkapa’s regrets
The autobiography gives an insight into some of the infamous scandals that rocked the country during his tenure in office including the External Payment Arears account in whichTsh133 billion ($57 million) was spirited away, theTsh120 billion ($52 million) radar purchase deal, a haphazard privatisation process and the sale of government houses among others.
Mr Mkapa also candidly talks of the torment he went through following the shooting to death of protesters in the post-election period of 2001.


Jesse strives to transform innovative ideas into market products. Jesse has experience leading cross-functional teams in efforts to create, design and manufacture a broad range of products including medical devices, IoT devices, BLE enabled toys & games, and personalized wellness technologies.
Jesse graduated from Tulane University summa cum laude in Mechanical Engineering in 2004 and received his Master’s Degree in 2005 with an emphasis in high energy laser material interaction. He holds patents for a laser based wound closure device and for a sleep inducing biofeedback system.
Served as Project Manager for Sleep Shepherd, a novel wearable device that actively helps you sleep. Led initial product development and prototyping efforts. Managed successful crowdfunding campaign of over $900K. Established manufactuing facilty in China, and organized production and distribution to US & European markets.
Close ProjectLed the design and development of an innovative baby play-gym. The toy actively encourages cognitive development through the use of illuminated visual patterns. These light patterns are coupled with stereo sound in a coordinated effort to both entertain the child while also enhancing basic cognitive skills.
Close ProjectServed as Team Lead to design, prototype, and deliver consumer ready units of SomniCloud sleep system in under 12 weeks. Final deliverables included 12 finished IoT enabled prototypes with accompanying mobile app.
Close ProjectDesigned, modelled, and tested numerous concepts for Great Grips, a low-cost ADA compliant door knob attachment aimed at helping individuals with trouble opening doors. Worked with client to do initial produciton & QC in the U.S. As demand grew, helped client transition production overseas in order to reduce cost & stage product for mass market release.
Close ProjectLed team in design, testing, and clinical testing of laser based medical device used to fuse tissue together. The device delivers laser energy while measuring biological tissue temperature in real-time using a feeback loop to control laser power. Information is provided to the physician via a LCD display intergrated into the system. Interlock safe guards are implemented in both hardware and firmware.
Close ProjectDeveloped and deployed a cloud application to allow for rapid design, approval, and production of new component parts. The system allows engineers to design and update parts in real-time while giving manufacturing and sales access to the most up to date component files including 3D models, 2D machine drawings, and media copy.
Close ProjectDeveloped Django based web platform to scrape real-time data from ESPN.com for use in customized fantasy sports analytics & scoring. PostgreSQL is used to store datasets for remote web access and parsing. Visualizations of head-to-head scoring and other metrics are generated automatically using Python libraries.
Close ProjectCreated Monte Carlo based machine learning algorithm for Emagispace to design modular walls and optimize based on user defined constraints including cost, complexity, and versatility. The system stores optimzed solutions in a database, using previous best solutions as the initial guess for subsequent soltuions.
Close Project


imgViewer2 Plugin - basic marker and note displayHere I extend the imgViewer2 widget to overlay multiple versions of the same image with the a display control to select which one is visible. Because Leaflet comes with lots of display capabilities this can be added with only a few lines of code. |


Audio Samples of the paper "Disentangled speaker and language representations using mutual information minimization and domain adaptation for cross-lingual TTS
We use the combination of VCTK and JVS as training dataset. It includes 107 English and 100 Japanese speakers. We randomly picked 8 Japanese and 8 English speakers as unseen speaker. Audios of unseen speakers were excluded from the training dataset.
All of the utterances below are not included in training data.
Text: The actual primary rainbow observed is said to be the effect of super-imposition of a number of bows.
jvs004 (seen)
Text: Obviously, someone is not doing their job properly.
jvs036 (unseen)
Text: If the red of the second bow falls upon the green of the first, the result is to give a bow with an abnormally wide yellow band, since red and green light when mixed form yellow.


ntp-4.2.8p13
Installation of ntp
There should be a dedicated user and group to take control of the
ntpd daemon after it
is started. Issue the following commands as the root
user:
groupadd -g 87 ntp &&
useradd -c "Network Time Protocol" -d /var/lib/ntp -u 87 \
-g ntp -s /bin/false ntp
The update-leap
command needs to be fixed in order to run properly:
sed -e 's/"(\\S+)"/"?([^\\s"]+)"?/' \
-i scripts/update-leap/update-leap.in
Install ntp by running the
following commands:
./configure CFLAGS="-O2 -g -fPIC" \
--prefix=/usr \
--bindir=/usr/sbin \
--sysconfdir=/etc \
--enable-linuxcaps \
--with-lineeditlibs=readline \
--docdir=/usr/share/doc/ntp-4.2.8p13 &&
make
To test the results, issue: make
check.
Now, as the root
user:
make install &&
install -v -o ntp -g ntp -d /var/lib/ntp
Command Explanations
CFLAGS="-O2 -g -fPIC"
: This environment
variable is necessary to generate Position Independent Code needed
for use in the package libraries.
--bindir=/usr/sbin
: This
parameter places the administrative programs in /usr/sbin
.
--enable-linuxcaps
: ntpd is
run as user ntp, so use Linux capabilities for non-root clock
control.
--with-lineeditlibs=readline
: This
switch enables Readline support
for ntpdc and
ntpq programs. If
omitted, libedit will be used if
installed, otherwise no readline capabilites will be compiled.
Configuring ntp
Config Files
/etc/ntp.conf
Configuration Information
The following configuration file first defines various ntp
servers with open access from different continents. Second, it
creates a drift file where ntpd stores the frequency
offset and a pid file to store the ntpd process ID. Third, it
defines the location for the leap-second definition file
/etc/ntp.leapseconds
, that the
update-leap script
checks and updates, when necessary. This script can be run as a
cron job and the ntp developers
recommend a frequency of about three weeks for the updates. Since
the documentation included with the package is sparse, visit the
ntp website at http://www.ntp.org/ and http://www.pool.ntp.org/ for more
information.
cat > /etc/ntp.conf << "EOF"
# Asia
server 0.asia.pool.ntp.org
# Australia
server 0.oceania.pool.ntp.org
# Europe
server 0.europe.pool.ntp.org
# North America
server 0.north-america.pool.ntp.org
# South America
server 2.south-america.pool.ntp.org
driftfile /var/lib/ntp/ntp.drift
pidfile /var/run/ntpd.pid
leapfile /var/lib/ntp/ntp.leapseconds
EOF
You may wish to add a “Security session”. For explanations,
see
https://www.eecis.udel.edu/~mills/ntp/html/accopt.html#restrict.
cat >> /etc/ntp.conf << "EOF"
# Security session
restrict default limited kod nomodify notrap nopeer noquery
restrict -6 default limited kod nomodify notrap nopeer noquery
restrict <IP_ADDRESS>
restrict ::1
EOF
Synchronizing the Time
There are two options. Option one is to run ntpd continuously and allow it
to synchronize the time in a gradual manner. The other option is
to run ntpd
periodically (using cron) and update the time each time
ntpd is scheduled.
If you choose Option one, then install the /etc/rc.d/init.d/ntp
init
script included in the blfs-bootscripts-20191204 package.
make install-ntpd
If you prefer to run ntpd periodically, add the
following command to root
's
crontab
:
ntpd -q
Execute the following command if you would like to set the
hardware clock to the current system time at shutdown and reboot:
ln -v -sf ../init.d/setclock /etc/rc.d/rc0.d/K46setclock &&
ln -v -sf ../init.d/setclock /etc/rc.d/rc6.d/K46setclock
The other way around is already set up by LFS.
Contents
Installed Programs:
calc_tickadj, ntp-keygen, ntp-wait, ntpd,
ntpdate, ntpdc, ntpq, ntptime, ntptrace, sntp, tickadj and
update-leap
Installed Libraries:
None
Installed Directories:
/usr/share/ntp, /usr/share/doc/ntp-4.2.8
and /var/lib/ntp
Short Descriptions
|
calc_tickadj
|
calculates optimal value for tick given ntp drift file.
|
|
ntp-keygen
|
generates cryptographic data files used by the NTPv4
authentication and identification schemes.
|
|
ntp-wait
|
is useful at boot time, to delay the boot sequence until
ntpd has
set the time.
|
|
ntpd
|
is a ntp daemon that runs in the background and keeps the
date and time synchronized based on response from
configured ntp servers. It also functions as a ntp
server.
|
|
ntpdate
|
is a client program that sets the date and time based on
the response from an ntp server. This command is
deprecated.
|
|
ntpdc
|
is used to query the ntp daemon about its current state
and to request changes in that state.
|
|
ntpq
|
is a utility program used to monitor ntpd operations and
determine performance.
|
|
ntptime
|
reads and displays time-related kernel variables.
|
|
ntptrace
|
traces a chain of ntp servers back to the primary source.
|
|
sntp
|
is a Simple Network Time Protocol (SNTP) client.
|
|
tickadj
|
reads, and optionally modifies, several
timekeeping-related variables in older kernels that do
not have support for precision timekeeping.
|
|
update-leap
|
is a script to verify and, if necessary, update the
leap-second definition file.
|
Last updated on 2020-02-25 07:28:56 -0800


Hi.
Today I installed my Solar system that I'm monitoring with my EmonPi + EmonCMS.
2x 260W Panels
1x 500W APS Inverter
Today I got a peak production of 431W.
I was expecting zero production during the night or even some consumption but there is an almost permanent 3W production (sometimes drops to 2W).
At the beginning I thought this was interference picked up by the CT sensor (I noticed that if one sensor is close to an hi power/intensity cable, it will pick some reading from it), but I think that there is nothing in the vicinity of the CT sensor that could cause this.
Then I made a small test that seems to confirm the 3W reading: if I switch off the circuit breaker that I have exclusively for the solar panels, the reading drops to absolute zero.
In this CT sensor I pass the live wire 10 times and the W reading is divided by ten in the EmonPi firmware, I think this would even reduce the possibility of the CT sensor to pick up any interference because the interference would be divided by 10 also.
Is this normal?
Cheers.
Re: Energy production during the night.
My guess would be that it is a very small consumption but highly reactive. A small phase error can push that near vertical phasor into the next quadrant, making the real component appear negative rather than positive.
Re: Energy production during the night.
I thought of something like that (even don't fully understanding the explanation), but in that case I would think of some erratic reads like some negative, some positive and some zero but this is very consistent.
I know that there isn't absolute absence of light outside, but I'm more inclined to your explanation that of the ghost night production.
I think I will put a rule in the input feed (or pi firmware) forcing it to be zero if lower then 4W, what do you think of that?
Best Regards.
Re: Energy production during the night.
Assuming it's not noise related (and given it goes to 0W when you flip the breaker it doesn't sound like it is) I'd expect the inverter and the phase error to be pretty much steady state throughout the night. You can see in the attached pic, my inverter sits at 2.55W (consumption) throughout the night... varying by only about 200mW.
Your proposed solution sounds good to me.
Re: Energy production during the night.
Is this normal?
Yes, raised many times in the past, and reason as described by dBC.
In emoncms v9.x, you can easily overcome this by adding a couple of processes to your solar input;
If >, skip next (Criteria set to 5)
Reset to ZERO
Log to feed
This will check the input, and if it's less than 5, it will log the value as zero, if it's 5 or more - it will log the input value.
Pre v9 a lot of us hard coded that criteria into the software.
Paul
Re: Energy production during the night.
What value of burden resistor are you using? Even with ten turns around the CT, the maximum 'power' that the CT will be seeing is only 5 kW. With the standard "whole-house" burden value of 22R, that signal will only be spanning a small fraction of the ADC's input range.
When the measurement system is optimally scaled for the largest value that it will ever see, the low-signal performance should be much improved.
If ten independent measurements are taken and averaged, I would expect the noise component to be reduced. But in this case, the number of measurements is not being increased; each one just has a x10 magnitude. So I doubt whether the extra CT turns will significantly reduce the noise.
Re: Energy production during the night.
I think CidiRome is talking about interference from nearby heavily loaded conductors. By looping his conductor of interest through the CT ten times, he's made himself more sensitive to that signal, and less sensitive to the nearby conductors (in as much as any power they do manage to inject will get divided by 10).
Re: Energy production during the night.
Understood. It all depends on the source of the virtual power that is being reported. Is it a genuine signal from somewhere, or quantisation noise from the ADC?
Re: Energy production during the night.
Hi.
I believe that it is not noise (it disappears with the breaker off).
I changed my emonPi firmware so it take readings every second and returns the average every five seconds.
I know this causes the reading from very low to very high (and vice-versa) to have an middle reading in the between, but I'm happy with this because it, will also probably read small bursts of power and consider them in the average that otherwise wouldn't be read.
Cheers.
Re: Energy production during the night.
That seems a strange way to overcome the issue which you initially raised.
Surely if 'there is an almost permanent 3W production', then averaging this will still result in a 3W reading during the night.
Paul
Re: Energy production during the night.
I believe that it is not noise (it disappears with the breaker off).
What is this circuit-breaker supplying? Presumably not the panels which generate DC.
Are you monitoring voltage as well as current? If not, then any night-time consumption by the inverter would be recorded as generation.
Re: Energy production during the night.
Hi.
The breaker is exclusively for the micro-inverter (obviously not for the DC connection between the inverter and the Panels, otherwise it would have to be two breakers anyway, and I thought of disconnecting the panels from the inverter, but I don't want to go to the roof at night only for that).
I have also the AC-AC transformer on my EmonPi, so I'm monitoring the voltage too and I'm getging negative reading on the grid CT sensor when I'm wasting power to grip, so it seems to be working correctly;
Paul Reed:
What is the issue I raised? Why is it strange? Can you elaborate?
Cheers.
Re: Energy production during the night.
"My guess would be that it is a very small consumption but highly reactive."
"[but I] don't fully understanding the explanation."
What dBC is saying is that some power supplies appear to be almost a pure capacitor. In a pure capacitor, the current waveform is displaced exactly 90° from the voltage waveform. When the two are multiplied together to calculate the power, each quarter-cycle cancels the adjacent one, so the average power over one cycle is zero. If there is a small error in your measurement (as there almost certainly will be - that's what the power factor calibration is there to remove, but the error varies with both current and voltage so it's impossible to get it right all the time), then the two waveforms won't appear to be exactly 90° apart and so there will be a small amount of power recorded. Depending on which way the error is, that power can appear either as consumption or as generation (which it is in your case).
If you look here and think that your case is mid-way between diagrams 1 & 4, you can imagine how the power wave will sit exactly balanced across the zero line and average to zero.
Re: Energy production during the night.
I get a constant 18W in the dark on my 19-panel Enphase M250 system. I had assumed in my ignorance of this stuff that this was related to the inverters always outputting 1V at some negligably low low current to let installers see how many inverters there are before they are paired and configured and allowed to generate - and this continuing when they are not generating but see grid power. Makes more sense, sort of, now.
I had been just doing -18 in the feed, but I like the test and skip option so I will move to that - thanks Paul Reed.
Re: Energy production during the night.
I get a constant 18W in the dark on my 19-panel Enphase M250 system.
I have 30 M215s and 10 M250s.
At night, the reading is 48W, but the power factor is .07 so I don't pay much attention to it.
Re: Energy production during the night.
Is that 48W real, or 48VA apparent?
Re: Energy production during the night.
My Ted 5000 reports it as "-0.05kW" and "0.680kVA"
Re: Energy production during the night.
Wow... that's a fair chunk of current for something that's not doing anything.
Re: Energy production during the night.
Remember - it's 40 of them! But it's mostly only circulating vars. The power company won't be too happy about that, though, because they've got to top up the transformer losses and they can't charge Bill for it.
Re: Energy production during the night.
I'm getting 170w during the night. Again, enphase micro inverters! Must be noise. Not sure how I'm supposed to clean it up though! Electrics in loft are a rats nest. (I have 14 inverters)
Re: Energy production during the night.
Solved. I didn't plug in the AC-AC adapter first, then after it had booted plugged in my CTs
Re: Energy production during the night.
?
If you are using the standard emonTx sketch, it detects sensors at boot, and locks out those it doesn't see. Are you sure all your sensors are being read, because a CT plugged in after the sketch is running will always read zero.
Re: Energy production during the night.
Robert: If think in EmonPi that doesn't apply.I think it counts the sensors on boot but only uses the counting for display... but this is only what I remember of the code, I didn't double check,,,
Cheers.
Re: Energy production during the night.
We do not know what timneo is using, so your statement, though accurate, might well be totally misleading.
Re: Energy production during the night.
Hi.
Yes you are right, I agree with you, sorry
So, by what you say, the EmonTX disables the CTs on boot if disconnected... I haven't seen the EmonTX code, always based my investigation on EmonPi.
Re: Energy production during the night.
Yes, I have an emonPi
Funnily enough after I did this, my PV reading went negative. Saw a comment that I needed to reverse the cable clip so I did that this morning.
Now the mains power is negative (and I didn't touch that one...)
So something is still amiss :)
Re: Energy production during the night.
Let's start at the beginning. Whether power/energy is imported or exported depends on the relative phase of voltage and current. Our convention is that import is positive and export is negative.
If your voltage input is capable of being reversed - UK plugs cannot be, but others can be - then reversing the ac adapter in its socket will reverse the phase of the voltage with respect to both currents and that will reverse the sign of BOTH CT1 and CT2 inputs.
Reversing a CT on its cable will reverse the phase of that current with respect to the voltage and that will reverse the sign of only that input.
So, this is the procedure I recommend:
1. If your ac adapter can be reversed in the socket, LABEL IT "This way up" or something like that.
2. Put both CTs on one cable - the PV if you're generating so that you know the direction of power - and check that both read the same and both are positive.
3. Transfer the 'grid' CT to your incomer, making sure it faces the same way, i.e. the side that was towards your inverter points towards the grid.
Re: Energy production during the night.
It's OK, I think there was just a mislabelling event going on.
I now have everything working well
However emoncms.org (or at least my session) is a bit flakey.
I keep loosing dials or the main "apps" suddenly stop working. No idea what's up with it, but logging off, closing my works aged version of firefox and logging back in sometimes fixes it.


This document describes the changes in Ganeti 2.3+ compared to Ganeti 2.3 storage model. It also documents the ExtStorage Interface.
Contents
The aim is to introduce support for externally mirrored, shared storage. This includes two distinct disk templates:
DRBD is currently the only shared storage backend supported by Ganeti. DRBD offers the advantages of high availability while running on commodity hardware at the cost of high network I/O for block-level synchronization between hosts. DRBD’s master-slave model has greatly influenced Ganeti’s design, primarily by introducing the concept of primary and secondary nodes and thus defining an instance’s “mobility domain”.
Although DRBD has many advantages, many sites choose to use networked storage appliances for Virtual Machine hosting, such as SAN and/or NAS, which provide shared storage without the administrative overhead of DRBD nor the limitation of a 1:1 master-slave setup. Furthermore, new distributed filesystems such as Ceph are becoming viable alternatives to expensive storage appliances. Support for both modes of operation, i.e. shared block storage and shared file storage backend would make Ganeti a robust choice for high-availability virtualization clusters.
Throughout this document, the term “externally mirrored storage” will refer to both modes of shared storage, suggesting that Ganeti does not need to take care about the mirroring process from one host to another.
We consider the following use cases:
The design addresses the following procedures:
Additionally, mid- to long-term goals include:
Currently, all storage-related decision-making depends on a number of frozensets in lib/constants.py, typically constants.DTS_NET_MIRROR. However, constants.DTS_NET_MIRROR is used to signify two different attributes:
We propose the introduction of two new frozensets to ease decision-making:
Additionally, DTS_NET_MIRROR will be renamed to DTS_INT_MIRROR to reflect the status of the storage as internally mirrored by Ganeti.
Thus, checks could be grouped into the following categories:
The primary-secondary node concept has primarily evolved through the use of DRBD. In a globally shared storage framework without need for external sync (e.g. SAN, NAS, etc.), such a notion does not apply for the following reasons:
The proposed solution is using the iallocator framework for run-time decision making during migration and failover, for nodes with disk templates in constants.DTS_EXT_MIRROR. Modifications to gnt-instance and gnt-node will be required to accept target node and/or iallocator specification for these operations. Modifications of the iallocator protocol will be required to address at least the following needs:
Basic shared file storage support can be implemented by creating a new disk template based on the existing FileStorage class, with only minor modifications in lib/bdev.py. The shared file disk template relies on a shared filesystem (e.g. NFS, AFS, Ceph, OCFS2 over SAN or DRBD) being mounted on all nodes under the same path, where instance images will be saved.
A new cluster initialization option is added to specify the mountpoint of the shared filesystem.
The remainder of this document deals with shared block storage.
Basic shared block device support will be implemented with an additional disk template. This disk template will not feature any kind of storage control (provisioning, removal, resizing, etc.), but will instead rely on the adoption of already-existing block devices (e.g. SAN LUNs, NBD devices, remote iSCSI targets, etc.).
The shared block device template will make the following assumptions:
To extend the shared block storage template and give Ganeti the ability to control and manipulate external storage (provisioning, removal, growing, etc.) we need a more generic approach. The generic method for supporting external shared storage in Ganeti will be to have an ExtStorage provider for each external shared storage hardware type. The ExtStorage provider will be a set of files (executable scripts and text files), contained inside a directory which will be named after the provider. This directory must be present across all nodes of a nodegroup (Ganeti doesn’t replicate it), in order for the provider to be usable by Ganeti for this nodegroup (valid). The external shared storage hardware should also be accessible by all nodes of this nodegroup too.
An “ExtStorage provider” will have to provide the following methods:
The proposed ExtStorage interface borrows heavily from the OS interface and follows a one-script-per-function approach. An ExtStorage provider is expected to provide the following scripts:
All scripts will be called with no arguments and get their input via environment variables. A common set of variables will be exported for all commands, and some of them might have extra ones.
All scripts except attach should return 0 on success and non-zero on error, accompanied by an appropriate error message on stderr. The attach script should return a string on stdout on success, which is the block device’s full path, after it has been successfully attached to the host node. On error it should return non-zero.
To support the ExtStorage interface, we will introduce a new disk template called ext. This template will implement the existing Ganeti disk interface in lib/bdev.py (create, remove, attach, assemble, shutdown, grow, setinfo), and will simultaneously pass control to the external scripts to actually handle the above actions. The ext disk template will act as a translation layer between the current Ganeti disk interface and the ExtStorage providers.
We will also introduce a new IDISK_PARAM called IDISK_PROVIDER = provider, which will be used at the command line to select the desired ExtStorage provider. This parameter will be valid only for template ext e.g.:
$ gnt-instance add -t ext --disk=0:size=2G,provider=sample_provider1
The Extstorage interface will support different disks to be created by different providers. e.g.:
$ gnt-instance add -t ext --disk=0:size=2G,provider=sample_provider1 \
--disk=1:size=1G,provider=sample_provider2 \
--disk=2:size=3G,provider=sample_provider1
Finally, the ExtStorage interface will support passing of parameters to the ExtStorage provider. This will also be done per disk, from the command line:
$ gnt-instance add -t ext --disk=0:size=1G,provider=sample_provider1,\
param1=value1,param2=value2
The above parameters will be exported to the ExtStorage provider’s scripts as the enviromental variables:
We will also introduce a new Ganeti client called gnt-storage which will be used to diagnose ExtStorage providers and show information about them, similarly to the way gnt-os diagose and gnt-os info handle OS definitions.
A new cluster configuration attribute will be introduced, named “storage_pools”, modeled as a dictionary mapping storage pools to external storage providers (see below), e.g.:
{
"nas1": "foostore",
"nas2": "foostore",
"cloud1": "barcloud",
}
Ganeti will not interpret the contents of this dictionary, although it will provide methods for manipulating them under some basic constraints (pool identifier uniqueness, driver existence). The manipulation of storage pools will be performed by implementing new options to the gnt-cluster command:
$ gnt-cluster modify --add-pool nas1 foostore
$ gnt-cluster modify --remove-pool nas1 # There must be no instances using
# the pool to remove it
Furthermore, the storage pools will be used to indicate the availability of storage pools to different node groups, thus specifying the instances’ “mobility domain”.
The pool, in which to put the new instance’s disk, will be defined at the command line during instance add. This will become possible by replacing the IDISK_PROVIDER parameter with a new one, called IDISK_POOL = pool. The cmdlib logic will then look at the cluster-level mapping dictionary to determine the ExtStorage provider for the given pool.
The gnt-storage client can be extended to support pool management (creation/modification/deletion of pools, connection/disconnection of pools to nodegroups, etc.). It can also be extended to diagnose and provide information for internal disk templates too, such as lvm and drbd.
Design for executing commands via RPC
Design for supporting custom SSH ports for nodes
Enter search terms or a module, class or function name.


[1]
staff were very friendly and as noted no kettle.
[2]
staff were very friendly and as noted no comfortable seating and helpful.


While the 2020 Juno Awards in Saskatoon are still months away, the on-sale date to buy tickets for Canadian music’s biggest night is mere days from now.
Allan Reid, president and CEO of the Juno Awards and the Canadian Academy of Recording Arts and Sciences, was joined by the awards committee based in Saskatoon on Tuesday at TCU Place to announce that tickets for the awards ceremony will go on sale on Friday at 10 a.m.


Allows the user to carry out GLM on very large data sets. Data can be created using the data_frame() function and appended to the object with object$append(data); data_frame and data_matrix objects are available that allow the user to store large data on disk. The data is stored as doubles in binary format and any character columns are transformed to factors and then stored as numeric (binary) data while a look-up table is stored in a separate .meta_data file in the same folder. The data is stored in blocks and GLM regression algorithm is modified and carries out a MapReduce- like algorithm to fit the model. The functions bglm(), and summary() and bglm_predict() are available for creating and post-processing of models. The library requires Armadillo installed on your system. It probably won't function on windows since multi-core processing is done using mclapply() which forks R on Unix/Linux type operating systems.
| Version: | 0.1.2 |
| Depends: | R (≥ 3.2.0), Rcpp (≥ 0.12.3), parallel, methods, stats, uuid (≥ 0.1-2), MASS (≥ 7.3-39) |
| LinkingTo: | Rcpp, RcppArmadillo (≥ <IP_ADDRESS>.0) |
| OS_type: | unix |
| Published: | 2016-07-25 |
| Author: | Chibisi Chima-Okereke |
| Maintainer: | Chibisi Chima-Okereke <chibisi at active-analytics.com> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | yes |
| CRAN checks: | bigReg results |
| Reference manual: | bigReg.pdf |
| Package source: | bigReg_0.1.2.tar.gz |
| Windows binaries: | r-devel: not available, r-release: not available, r-oldrel: not available |
| OS X binaries: | r-release: bigReg_0.1.2.tgz, r-oldrel: bigReg_0.1.2.tgz |
Please use the canonical form https://CRAN.R-project.org/package=bigReg to link to this page.


Named Constants
- psb_dupl_ovwrt_
- Duplicate coefficients should be overwritten
(i.e. ignore duplications)
- psb_dupl_add_
- Duplicate coefficients should be added;
- psb_dupl_err_
- Duplicate coefficients should trigger an error conditino
- psb_upd_dflt_
- Default update strategy for matrix coefficients;
- psb_upd_srch_
- Update strategy based on search into the data structure;
- psb_upd_perm_
- Update strategy based on additional
permutation data (see tools routine description).


Express Entry results: Previous rounds of invitations
Ministerial Instructions respecting invitations to apply for permanent residence under the Express Entry system
#1 –
No program specified
See full text of Ministerial Instruction
| Number of invitations issued | CRS score of lowest-ranked candidate invited |
|---|---|
| 779Footnote * | 886 points |
#2 –
No program specified
See full text of Ministerial Instruction
| Number of invitations issued | CRS score of lowest-ranked candidate invited |
|---|---|
| 779Footnote * | 818 points |
#3 –
Canadian Experience Class
See full text of Ministerial Instruction
| Number of invitations issued | CRS score of lowest-ranked candidate invited |
|---|---|
| 849 | 808 points |
#4 –
No program specified
See full text of Ministerial Instruction
| Number of invitations issued | CRS score of lowest-ranked candidate invited |
|---|---|
| 1,187Footnote * | 735 points |
#5 –
No program specified
See full text of Ministerial Instruction
| Number of invitations issued | CRS score of lowest-ranked candidate invited |
|---|---|
| 1,620Footnote * | 481 points |
#6 –
No program specified
See full text of Ministerial Instruction
| Number of invitations issued | CRS score of lowest-ranked candidate invited |
|---|---|
| 1,637Footnote * | 453 points |
#7 –
No program specified
See full text of Ministerial Instruction
| Number of invitations issued | CRS score of lowest-ranked candidate invited |
|---|---|
| 925Footnote * | 469 points |
#8 –
No program specified
See full text of Ministerial Instruction
| Number of invitations issued | CRS score of lowest-ranked candidate invited |
|---|---|
| 715Footnote * | 453 points |


Anthony Cailan, 29, has worked at restaurants including the Usual in New York, and Bestia, and Animal, in Los Angeles.
Mr Cailan was on the cover of the October issue of Wine & Spirits magazine, which named him a leader of the industry.
Raquel Makler, 22, a wine bar manager, claimed to the New York Times that Mr Cailan assaulted her at his apartment.
Sarah Fernandez, 29, a wine sales representative, also claimed that she had been assaulted at his apartment by the sommelier. Two women who declined to be named made similar allegations.
In an email to the newspaper Mr Cailan said: "The truth is, these allegations against me are false. I look forward to the opportunity to clear my name."
In the last few years the #MeToo movement has led to sexual assault and misconduct allegations against a series of prominent men involved in the restaurant industry.
The wine business is also dominated by men and sexual harassment is common, the New York Times reported after speaking to 30 women across the industry.


Select Your Plan
| Basic |
Plus |
Deluxe |
Pro |
| ₹500/- |
₹1500/- |
₹2500/- |
₹3500/- |
| 20 Pages |
75 Pages |
Unlimited |
Unlimited |
| 3 Users |
5 Users |
Unlimited |
Unlimited |
| 10 Sites |
50 Sites |
100 Sites |
Unlimited |
| 50 MB |
250 MB |
1 GB |
5 GB |
| Included |
Included |
Included |
Included |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Sign Up |
Sign Up |
Sign Up |
Sign Up |


{{- partial "head.html" . -}} {{- partial "google_analytics.html" . -}}
{{- partial "nav.html" . -}}
{{- block "main" . }}{{- end }}
{{- partial "footer.html" . -}}


The Goal
The goal I decided to set up on my blog was a CTA link on my homepage that would hopefully drive users to click on a link to take them to a post I had created with photos of my favorite animal, pandas. I chose this because I thought it would be fun and feel like everyone could use a little cuteness in their day.
To implement the goal I followed steps outlined in the Google Analytics support docs (which can be found here) as well as created a funnel to see how users were getting there. .
The Content Experiment
In hopes to drive more traffic to this page and enhance my results, I decided to restyle the CTA link with a different font and flashier colors to try and make it more attractive to users.
I implemented the experiment by creating Goals in Google Analytics as well as using the A/B Testing tool in Google Optimize. I followed steps which included creating a new variant with color and font changes to compare against the original, then set the test to run for about 4 days to collect a healthy amount of data.
Unfortunately, an error took place at some point during the experiment set up which led to some skewed results. The traffic to the page managed to be recorded, however none of the conversions from the visitors clicking on and following the link were not; Needless to say, the results were not what I had expected.
After reviewing the report and trying to troubleshoot, I followed up with some of my users to see if they felt the button made a difference in terms of catching the eye and drawing more users to the Panda page. All of them felt that it did and stated that they even followed the link, which somehow did not get collected in the report. This goes to show that error in set up can be one of the many reasons why reports may be skewed and not reflect the correct statistics.
Conclusion
If I were to continue building this site, I would definitely give the content experiment another go to get an accurate report of how much styling affects driving users to specific links. Also, I would try to make it more visually appealing by adding different pictures, as well as adding more content to the home and about pages. Additionally, I would also run more analytics tests to see where there is room for improvement on my site and determine where people are dropping off or not staying engaged.


This blog post will explore the different parts of the CSS Box Model. The CSS Box Model is basically the design that wraps around an HTML element. It includes padding, borders, and margins. But what exactly are the differences between those three?
Justin W
This blog post will explore the different parts of the CSS Box Model. The CSS Box Model is basically the design that wraps around an HTML element. It includes padding, borders, and margins. But what exactly are the differences between those three?
Something that I've always had trouble with when working with HTML and CSS is spacing. I always seem to be playing around with the margins and padding to get something into the right position, without knowing exactly what those changes are doing. By visualing each of your HTML elements as a box, things became much easier for me. Once I realized the differences between the different aspects that make up the design of an element, visualizing and coding up the design becomes much easier. Besides the HTML content, the CSS box model is made up of its padding, borders, and margins. Pictured is my own diagram.
The padding of an element is space that is between the HTML content (say, a line of text or an image), and the border, or edge of the element. It basically creates extra space between the content and where the content ends. The background color is inherit to the contents background color, to create the effect that just the content area is growing.
The border of an element is rather self explanatory. It is simply that, a border. It is the end of the visual part of an element, however an element can go beyond a border, which will be discussed below. The border however is the area just around the content and its padding. Its background color is inherit of the color property of the content, although this can be changed along with the border style. Different examples of border styles are dotted, dashed, solid, double, and more. You can also round border edges.
Before I mentioned the space in an element that goes beyond the border. The content and padding and border of an element can all be colored and seen, but the margin can not. It is transparent, and it is used to seperate one element from other elements. It is outside space which does not make the element look any bigger, but is still part of the element, and must be considered when positioning and spacing elements against each other.
Using padding, borders, and margins wisely will be a great benefit to your website, and by using the CSS box model, visualizing how your elements will be placed on a web page becomes much easier. You will want to use padding to spread your element out and increase the space from your content to the border of the background color. You will use borders if you want to emphasize that seperation between the padding and margins. You will use margins to space one element from another without any color being added. Pictured is an image of how to use the code. As you can see, you can type it to specify a direction, or all four directions in one line, in the order of Top, Right, Bottom, Left. For a border, you can define the size in pixels, the style, and then the color.


my pet
my pet is a cat.its name is Geisha.she is 6 m0nths old
Description of geisha
colour-black and white
fluffy fur
has a large tail


DH_PYSUPPORT(1) python-support DH_PYSUPPORT(1) NAME dh_pysupport - use the python-support framework to handle Python modules SYNOPSIS dh_pysupport [debhelper options] [-V X.Y] [-X item [...]] [-n] [module dirs ...] DESCRIPTION dh_pysupport is a debhelper program that will scan your package, detect public modules in /usr/lib/pythonX.Y/site-packages, and move them to the shared Python modules location. It will generate appropriate postinst/prerm scripts to byte-compile modules installed there for all available python versions. It will also look for private Python modules and will byte-compile them with the current Python version. You may have to list the directories containing private Python modules. If a file named debian/pyversions exists, it is used to determine the python versions with which the package can work. Appropriate dependencies on python-support, python and pythonX.Y are put in ${python:Depends}. The ${python:Versions} and ${python:Provides} optional substitution variables are made available as well. OPTIONS module dirs If your package installs private python modules in non-standard directories, you can make dh_pysupport check those directories by passing their names on the command line. By default, it will check /usr/lib/$PACKAGE, /usr/share/$PACKAGE, /usr/lib/games/$PACKAGE and /usr/share/games/$PACKAGE -n, --noscripts Do not modify postinst/postrm scripts. -d This option is deprecated. -V X.Y Force private modules to be bytecompiled with the specific X.Y python version, regardless of the default python version on the system. -X item, --exclude=item Exclude files that contain "item" anywhere in their filename from being taken into account to generate the python dependency. It also excludes them from byte-compilation. You may use this option multiple times to build up a list of things to exclude. CONFORMS TO Python policy as of 2006-08-10 SEE ALSO debhelper(7) This program is a part of python-support but is made to work with debhelper. AUTHORS Josselin Mouette<EMAIL_ADDRESS>Raphael Hertzog<EMAIL_ADDRESS>1.0.15 2012-06-30 DH_PYSUPPORT(1)


MENU
Home
Introduction
Graph
Contact
Smart Farm
Observing through mobile application
Graph Inspection
-click-
Manual Control
-click-
Coming Soon...
About us
Contact us
King's Mongkut Institute of Technology Ladkrabang
Telecommunication Department of Engineering
Email : Smartfarm.KMITL@gmail.com


JSONDecoding
public class JSONDecoding
This non-instantiable object serves as an access point to a registry for JSONConvertibleObjects A JSONConvertibleObject is a custom class or struct which can be converted to and from JSON.
-
Function which returns a new instance of a custom object which will have its members set based on the JSON data.
Declaration
Swift
public typealias JSONConvertibleObjectCreator = () -> JSONConvertibleObject
-
The key used in JSON data to indicate the type of custom object which was converted.
Declaration
Swift
public static let objectIdentifierKey = "_jsonobjid"
-
Register a custom object to be JSON encoded/decoded.
Declaration
Swift
static public func registerJSONDecodable(name nam: String, creator: JSONConvertibleObjectCreator)
-
Instantiate a custom object based on the JSON data. The system will use the
JSONDecoding.objectIdentifierKey
key to locate the custom object creator.Declaration
Swift
static public func createJSONConvertibleObject(values:[String:Any]) -> JSONConvertibleObject?
-
Instantiate a custom object based on the JSON data. The system will use the
name
parameter to locate the custom object creator.Declaration
Swift
static public func createJSONConvertibleObject(name: String, values:[String:Any]) -> JSONConvertibleObject?


The CQL runner was designed to provide a live testbed for your CQL expressions.
The CQL service URL may be configured to point to your own CQL engine (our CQL engine endpoint is used by default)
This is an open-source project–feel free to contribute and leave feedback.
The execution service end is a separate project


| | |
- Builder
- Converter
- Document
- Extractor
- MailMerge
class Builder |
| | |
Methods defined here:
- __init__(self, filename)
- insert_watermark_image(self, image_file, angle, remote_folder='', storage_type='Aspose', storage_name=None)
- :param image_file:
:param angle:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- insert_watermark_text(self, text, angle, remote_folder='', storage_type='Aspose', storage_name=None)
- :param text:
:param angle:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- replace_text(self, old_text, new_text, match_case=False, match_whole_word=False, remote_folder='', storage_type='Aspose', storage_name=None)
- :param old_text:
:param new_text:
:param match_case:
:param match_whole_word:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
|
class Converter |
| | |
Methods defined here:
- __init__(self, filename)
- convert(self, save_format, remote_folder='', storage_type='Aspose', storage_name=None)
- :param save_format:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
Static methods defined here:
- convert_local_file(input_file, save_format)
- :param input_file:
:param save_format:
:return:
|
class Document |
| | |
Methods defined here:
- __init__(self, filename)
- append_document(self, doc_list, remote_folder='', storage_type='Aspose', storage_name=None)
- :param doc_list:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- delete_property(self, property_name, remote_folder='', storage_type='Aspose', storage_name=None)
- :param property_name:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- get_document_info(self, remote_folder='', storage_type='Aspose', storage_name=None)
- :param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- get_properties(self, remote_folder='', storage_type='Aspose', storage_name=None)
- :param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- get_property(self, property_name, remote_folder='', storage_type='Aspose', storage_name=None)
- :param property_name:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- set_property(self, property_name, property_value, remote_folder='', storage_type='Aspose', storage_name=None)
- :param property_name:
:param property_value:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
|
class Extractor |
| | |
Methods defined here:
- __init__(self, filename)
- convert_drawing_object(self, object_index, render_format, remote_folder='', storage_type='Aspose', storage_name=None)
- :param object_index:
:param render_format:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- get_drawing_object_list(self, remote_folder='', storage_type='Aspose', storage_name=None)
- :param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- get_image_data(self, image_index, image_format, remote_folder='', storage_type='Aspose', storage_name=None)
- :param image_index:
:param image_format:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- get_ole_data(self, ole_index, ole_format, remote_folder='', storage_type='Aspose', storage_name=None)
- :param ole_index:
:param ole_format:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- get_text(self, remote_folder='', storage_type='Aspose', storage_name=None)
- :param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
Static methods defined here:
- get_drawing_object(object_uri, output_path, remote_folder='', storage_type='Aspose', storage_name=None)
- :param object_uri:
:param output_path:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
|
class MailMerge |
| | |
Methods defined here:
- __init__(self, filename)
- execute(self, str_xml, with_regions=False, remote_folder='', storage_type='Aspose', storage_name=None)
- :param str_xml:
:param with_regions:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
- execute_template(self, str_xml, with_regions=False, remote_folder='', storage_type='Aspose', storage_name=None)
- :param str_xml:
:param with_regions:
:param remote_folder: storage path to operate
:param storage_type: type of storage e.g Aspose, S3
:param storage_name: name of storage e.g. MyAmazonS3
:return:
| |


When you edit your event it will need to be re-submited for approval by the administrators. Until your changes are approved, your event will continue to appear search results without your new changes.
Confirmation
Are you sure you want to cancel? The changes to your event will not be saved.
Submit
Looks Good! Your event updates will be submitted to the administrators for approval. Until your changes are approved, your event will continue to appear search results without your new changes.


Cookie Store Generator
Location
Estimated Minimum Customers Per Hour
Estimated Maximum Customers Per Hour
Estimated Cookies Purchased Per Customer
Submit


Sociable - Memory Game
- Watch the sequence of colors that is randomly flashed
- Select the colors in the same order
- Watch the (increased by 1) sequence
- Select again the sequence
- Repeat the steps as the sequence grows.
The maximum level is 50.
Level
0
Left moves :
0
NEXT