Mitmproxy lets you specify an arbitrary number of patterns that define text replacements within flows. Each pattern has 3 components: a filter that defines which flows a replacement applies to, a regular expression that defines what gets replaced, and a target value that defines what is substituted in.
Replace hooks fire when either a client request or a server response is received. Only the matching flow component is affected: so, for example, if a replace hook is triggered on server response, the replacement is only run on the Response object leaving the Request intact. You control whether the hook triggers on the request, response or both using the filter pattern. If you need finer-grained control than this, it's simple to create a script using the replacement API on Flow components.
Replacement hooks are extremely handy in interactive testing of applications. For instance you can use a replace hook to replace the text "XSS" with a complicated XSS exploit, and then "inject" the exploit simply by interacting with the application through the browser. When used with tools like Firebug and mitmproxy's own interception abilities, replacement hooks can be an amazingly flexible and powerful feature.
The replacement hook command-line options use a compact syntax to make it easy to specify all three components at once. The general form is as follows:
/patt/regex/replacement
Here, patt is a mitmproxy filter expression, regex is a valid Python regular expression, and replacement is a string literal. The first character in the expression (/ in this case) defines what the separation character is. Here's an example of a valid expression that replaces "foo" with "bar" in all requests:
:~q:foo:bar
In practice, it's pretty common for the replacement literal to be long and complex. For instance, it might be an XSS exploit that weighs in at hundreds or thousands of characters. To cope with this, there's a variation of the replacement hook specifier that lets you load the replacement text from a file. So, you might start mitmdump as follows:
mitmdump --replace-from-file :~q:foo:~/xss-exploit
This will load the replacement text from the file ~/xss-exploit.
Both the --replace and --replace-from-file flags can be passed multiple times.
The R shortcut key in mitmproxy lets you add and edit replacement hooks using a built-in editor. The context-sensitive help (h) has complete usage information.
| command-line |
|
|---|---|
| mitmproxy shortcut | R |


Mipui
Mipui is a free and open-source collaborative web application for creating, editing and viewing grid-based maps for tabletop or role-playing games.
Start creating a map now!No registration is neccessary, and there's nothing to download or install.
Features
Simple
Mipui employs a limited but expressive set of tools, avoiding the bloat that exists in some other map editors while still remaining rich enough for most everyday gaming needs. In particular, no textures are used, instead opting for a symbolic approach.
Real-time collaboration
Mipui has real-time collaboration between multiple authors. Just share the link with someone else and watch their edits live. No registration necessary.
It's also possible to share a read-only view of the map, so that maps you create can easily be shared with any number of total strangers - aka the Internet. It's easy to remix existing maps with the "fork" option.
Friendly
Mipui contains a lot of small features that help with worry-free editing, including undo/redo support, the ability to resize the grid without deleting existing content, zoom and pan tools, copy and paste, etc.
Cloud storage
Every Mipui map is automatically saved to the cloud every few seconds, and never expires.
Licensing and Commercial Use
You may use maps created using Mipui for any purpose, commercial or not, and you do not have to credit the Mipui tool or its author in your publication (though that would be nice of you). However, the following caveats apply:- The token images are not made by me and are licensed CC-BY. It means that if you publish a map that contains those you need to credit their authors, for example by linking to the detailed artist breakdown page.
- If you fork another map and publish something built on that, it probably counts as derivative work and so is subject to the laws around that.
Developer Information
Visit the developer's guide.Supported Browsers
Mipui supports Chrome, Firefox and Safari. Visit the Browser Support Page for more information.Credits
Mipui is developed and maintained by Alon Mishne. Contact me at<EMAIL_ADDRESS>Mipui's implementation uses the following resources:
- Firebase by Google
- FireSaver.js by Eli Grey
- Game icons by various artists, available on game-icons.net. Also see a detailed artist breakdown.
- Material icons by Google
- Shadowcasting Tutorial by Eric Lippert
- Cross-hatching texture by Syrkres
- node-sanitize-filename Node module by Sam Hocevar
- SparkMD5 by Joseph Myers
Mipui was inspired by many things, but first and foremost is ANAmap by Sébastien Bénard. In fact, Mipui started from me using his app and thinking "oh this is cool, but I wish it had just a few more features... I wonder if I can do that myself."
Special thanks to my D&D group, Ornak's Freedom, for the initial motivation!
Contact
Bug reports and feature requests can be posted to the UserReport feedback forum or as issues on the Github project. For anything else feel free to email me at<EMAIL_ADDRESS>Other resources
Privacy policyUpdate history
Business plan (or: how is this free?)


Dominant Pollutant: Carbon Monoxide.
Last Updated : Hours Ago
Weather forceast-24hours (Precipitation ,Humidity, Windspeed)
What are you breathing ?
Carbon Monoxide
Allowed conc : 900 ppb
Sources :Typically originates from incomplete combustion of carbon fuels, such as that which occurs in car engines and power plants.
Effects :When inhaled, carbon monoxide can prevent the blood from carrying oxygen. Exposure may cause dizziness.
Nitrogen Dioxide
Allowed conc : 45 ppb
Sources :Main sources are fuel burning processes, such as those used in industry and transportation.
Effects :Exposure may cause increased bronchial reactivity in patients with asthma, lung function decline in patients with COPD, and increased risk of respiratory infections, especially in young children.
Ozone
Allowed conc : 40 ppb
Sources :Ozone is created in a chemical reaction between atmospheric oxygen, nitrogen oxides, carbon monoxide and organic compounds, in the presence of sunlight.
Effects :Ozone can irritate the airways and cause coughing, a burning sensation, wheezing and shortness of breath. Additionally, ozone is one of the major components of photochemical smog.
Inhalable Particulate Matter
Allowed conc : 150 μg/m3
Sources :Main sources are combustion processes (e.g. indoor heating, wildfires), mechanical processes .
Effects :Inhalable particles can penetrate into the lungs. Short term exposure can cause irritation of the airways, coughing.
Fine particulate matter
Allowed conc : 35 μg/m3
Sources :Main sources are combustion processes (e.g. power plants, indoor heating, car exhausts, wildfires), mechanical processes.
Effects :Fine particles can penetrate into the lungs and bloodstream. Short term exposure can cause irritation of the airways, coughing .
Sulfur dioxide
Allowed conc : 35 ppb
Sources :The largest source of SO2 in the atmosphere is the burning of fossil fuels by power plants and other industrial facilities. Smaller sources of SO2 emissions include: industrial processes such as extracting metal from ore.
Effects :Sulfur dioxide affects human health when it is breathed in. It irritates the nose, throat, and airways to cause coughing, wheezing.
Health Recommendations
Avoid intense activities outdoors.
Stay away from busy roads, construction sites, open fires and other sources of smoke.
Regulary meet your familly doctor and check status of your Respiratory System.
Do not travel in chaotic area.
Keep healthy diet for children.
Their lungs are still developing, and air pollution can interfere with this biological process.Their bodies are less able to metabolize, detoxify, and excrete the toxicants contained in air pollution.
Wear mask while travelling outdoor.
Stay away from raodside travel. If you develope ithing sensation or breathing problems ,visit nearby doctor as soon as possible.
Do not involve in heavy exerise.
Always keep your medications with youself and never miss prescribed medications. Keep away from vehicle ,polluted areas.
Avoid public places and do not smoke, it is injurious to your baby!
Pregnant women and children should avoid exposure to paint fumes and limit their time in freshly painted rooms.
Predictions
We try to predict concentrations of pollutants for next 12 hours from current time using our Machine learning models which are running on cloud platforms.


|
Xerces-C++
3.1.4
|
The DOMXPathNSResolver
interface permit prefix strings in the expression to be properly bound to namespaceURI strings.
More...
Public Member Functions | |
Destructor | |
| virtual | ~DOMXPathNSResolver () |
| Destructor. More... | |
Functions introduced in DOM Level 3 | |
| virtual const XMLCh * | lookupNamespaceURI (const XMLCh *prefix) const =0 |
| Look up the namespace URI associated to the given namespace prefix. More... | |
Non-standard extension | |
| virtual const XMLCh * | lookupPrefix (const XMLCh *URI) const =0 |
| Non-standard extension. More... | |
| virtual void | addNamespaceBinding (const XMLCh *prefix, const XMLCh *uri)=0 |
| Non-standard extension. More... | |
| virtual void | release ()=0 |
| Called to indicate that this object (and its associated children) is no longer in use and that the implementation may relinquish any resources associated with it and its associated children. More... | |
Protected Member Functions | |
Hidden constructors | |
| DOMXPathNSResolver () | |
The DOMXPathNSResolver
interface permit prefix strings in the expression to be properly bound to namespaceURI strings.
DOMXPathEvaluator
can construct an implementation of DOMXPathNSResolver
from a node, or the interface may be implemented by any application.
|
protected |
|
virtual |
Destructor.
|
pure virtual |
Non-standard extension.
Associate the given namespace prefix to the namespace URI.
| prefix | of type XMLCh - The namespace prefix to bind. An empty or null string denotes the default namespace. |
| uri | of type XMLCh - The associated namespace URI. If this argument is null or an empty string then the existing binding for this prefix is removed. |
|
pure virtual |
Look up the namespace URI associated to the given namespace prefix.
| prefix | of type XMLCh - The prefix to look for. An empty or null string denotes the default namespace. |
Non-standard extension.
XPath2 implementations require a reverse lookup in the static context. Look up the prefix associated with the namespace URI
| URI | of type XMLCh - The namespace to look for. |
|
pure virtual |
Called to indicate that this object (and its associated children) is no longer in use and that the implementation may relinquish any resources associated with it and its associated children.
Access to a released object will lead to unexpected result.


IN COURT
Evil Scots woman left baby blind in one eye and brain damaged then tried to blame 2-year-old for attack
by Wilma RileyAN evil Scots woman left a baby brain-damaged and blind in one eye - then tried to blame the horrendous injuries on a two-year-old.

The offence was committed on various occasions between May 2 and June 16, last year, when he was aged between three weeks and nine weeks old at addresses in the Falkirk area.
The High Court in Glasgow heard that the baby suffered multiple rib fractures, bleeding on the brain,a broken right wrist, fractures to the base of both big toes and a detached retina.
Prosecutor Kath Harper said: "The accused told the police the injuries may have been caused when she dropped the baby and said some of the injuries could have been caused by a two-year-old child.
Ms Harper told the court: "This is inconsistent with the medical findings.
"It is the opinion of consultant paediatrician Rosemart Grattan that any injury causing bleeding on the brain has the potential to endanger life.”
The court was told the injuries to the baby's feet are suggestive of an impact or crush injury and the injuries to the wrist and the ribs were consistents with a squeezing injury.
The rib fractures required excessive force.
Consultant ophthalmologist Jennifer Ann Gillen examined the baby's eyes and confirmed he had a detached retina. She said she had never seen this type of injury in a young baby and such an injury would require some form of blunt force trauma.
The little boy who is now 19 months old cannot speak and is unable to walk, although he can crawl. Doctors say any assessment of long-term cannot be made until he is older.
The court heard that on one occasion when Thomson was looking after the baby a neighbour heard the baby crying and the accused shouting: "Shut up you f***ing little bastard."

Thomson denied shouting and swearing at the baby.
When she was charged with assaulting the boy Thomson told police: "I would never hurt a baby."
Judge Lady Rae told Thomson: "These were appalling injuries caused to a newborn. This is a very serious matter."
She remanded Thomson in custody and deferred sentence until next month.
Defence QC Bert Kerrigan will give his plea in mitigation then.


--- layout: default ---
The version {{ site.current_version }} of out dataset has {{ site.number_of_apps }} real apps published on Google Play Store or on F-Droid Store.
As all applications that compose our dataset are open-source you can access directly their code to do whaterver you want, for instance, static analysis.
Get the list of repository, clone them and that's done. Enjoy!
{{ post.content | truncatewords: 10 }}
navigate_next


|
Embedded Artistry Framework
Embedded Systems C++ Framework
|
#include "condition_variable.hpp"
#include "event_flag.hpp"
#include "msg_queue.hpp"
#include "mutex.hpp"
#include "semaphore.hpp"
#include "thread.hpp"
#include <cassert>
Classes | |
| class | embvm::VirtualOSFactory< TFactory > |
| Factory interface for creating RTOS-related objects. More... | |
Namespaces | |
| embvm | |
| Embedded framework core interfaces, classes, and definitions. | |
Variables | |
| constexpr size_t | DEFAULT_STACK_SIZE = 4096 |
|
inline |


public class Networking
extends java.lang.Object
OkHttpClient
and Retrofit
singletons.
We only want to instantiate these classes once per app.| Constructor and Description |
|---|
Networking() |
| Modifier and Type | Method and Description |
|---|---|
static BaseService |
getBaseService()
Get
BaseService singleton. |
static CdnService |
getCdnService()
Get
CdnService singleton. |
static CloudService |
getCloudService()
Get
CloudService singleton. |
static okhttp3.OkHttpClient |
getHttpClient()
Get http fsClient singleton.
|
static UploadService |
getUploadService()
Get
UploadService singleton. |
static void |
invalidate()
Sets all singletons to null so they'll be recreated.
|
static void |
setBaseService(BaseService baseService) |
static void |
setCdnService(CdnService cdnService) |
static void |
setCloudService(CloudService cloudService) |
static void |
setHttpClient(okhttp3.OkHttpClient httpClient) |
static void |
setUploadService(UploadService uploadService) |
public static okhttp3.OkHttpClient getHttpClient()
public static void setHttpClient(okhttp3.OkHttpClient httpClient)
public static BaseService getBaseService()
BaseService
singleton.public static void setBaseService(BaseService baseService)
public static CdnService getCdnService()
CdnService
singleton.public static void setCdnService(CdnService cdnService)
public static UploadService getUploadService()
UploadService
singleton.public static void setUploadService(UploadService uploadService)
public static CloudService getCloudService()
CloudService
singleton.public static void setCloudService(CloudService cloudService)
public static void invalidate()


Rough Idea Project Cars 2 Combined Window.
Shows the combined telemetry graphs of multiple laps and multiple race lines. All attributes selected in any lap window will show up on in the combined window as well. The combined window also has a slider so you can see your position on the race line and the value of the telemetry graph at that point of the race line.
Can be moved across the combined window to show what point on the race line and what value the telemetry was at that point.


Our Genie
Traditionally, genies are associated with intricately carved bronze oil
lamps. Originating from Arab legends, genies often make us think of ancient spirits and dark mysterious caves.
To others, however, genies conjure up an image of a certain cartoon and jovial Disney character.
No one would have thought that our genie would be inside a small plastic red
lamp from IKEA.
It was a pleasant June afternoon- one of those picturesque summer days,
complete with lazily drifting dandelion puffs and cloudless skies. We strolled aimlessly into IKEA, desperate
for a break from the shining sun. Skipping through the aisles, we explored the nooks and crannies of the giant
Swedish furniture store. After plopping onto countless couches and rearranging countless cabinets, we finally
neared the �As-is� section, a place for rejected or broken goods. Rows of tables, couches and chairs greeted us,
each one with its own abnormality. Some had tan dirt marks, others were missing a leg or a drawer. We perused
through the rows until stumbling upon a dusty little red lamp with a torn yellow tag. "Won�t Turn On - Needs
Repairs. $3". For some mysterious reason, we decided to buy this tiny lamp.
When we got home, we examined this curious plastic anomaly. Just as we
expected, when we plugged it in and flicked the switch, nothing happened. We unplugged the lamp and I sighed,
sadky brushing the dust off of its light.
Suddenly the lamp flickered on, whirring and clicking. The light seemed to
swirl like golden dust. Slowly, the golden light formed into a shimmering ball.
�Thank you for freeing me- you may have three wishes,� the ball boomed, its
voice filling the room.
Clearly, our genie was not a traditional genie, it had an updated lamp and a
refreshing new appearance. We had found a modern genie.


Need to go to a different page.
Using window.location(url) makes a hard dependency in the application and breaks the ability to test.


{% load i18n lfs_theme_tags %}
{% include "lfs/mail/mail.css" %}{% blocktrans with firstname=order.customer_firstname lastname=order.customer_lastname %}Dear {{ firstname }} {{ lastname }}{% endblocktrans %},
{% trans "your order has been paid." %}
{% include "lfs/mail/order_details.html" %}
{% email_html_footer %}


Home
Gallery
Contact and About
The Gallery
Credits are stored in /credits/credits.txt. Please do remove the photos inserted in this sample and put in your own photos. Remove this element before publishing.
©2021 Anvilator


| History | Exam | 1st Investigation | Other Investigations |
|---|---|---|---|
| Insomnia disorder | |||
| difficulty in initiating sleep, waking frequently, poor concentration, depressed mood | decreased alertness, red and puffy eyes, absence of physical signs suggesting organic illness |
|
|
| Depression | |||
| depressed mood, sadness, emotional distress, anxiety, irritability, anhedonia, feeling hopeless, loss of self-esteem, sleep problems, appetite troubles, weight loss or gain, loss of energy, poor concentration, suicidal ideation, symptoms of psychosis or mania | Apsychomotor slowing, agitation, blunted affect |
|


Lit Demo
Lazy data (reactive controllers)
Dedicated custom elements (context-provider | context-consumer)
Provider in shadow dom with consumer in light dom (slotted)


{{ 'registration.footnote' | translate }}
Note: Grassroot is currently deployed for South African mobile phone numbers. Foreign numbers, or email only registrations, will work, but some functionality may be restricted.
{{'registration.otp-modal.label' | translate}}


Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsumis simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem ipsumis a placeholder text commonly used to demonstrate
Lorem ipsumis a placeholder text commonly used to demonstrate
Lorem ipsumis a placeholder text commonly used to demonstrate
Lorem ipsumis a placeholder text commonly used to demonstrate
Lorem ipsumis a placeholder text commonly used to demonstrate
Lorem ipsumis a placeholder text commonly used to demonstrate
Lorem ipsumis a placeholder text commonly used to demonstrate


The underlying theme of this project is a weather forecast application.
The application prompts the user to enter a city to which they are then presented with a table detailing the weather forecast of the city for the coming seven days.
This table displays such information like cloud cover, temperature and wind direction among other information.
The user can also navigate through the website easily using the navigation bar on the top of the page.


{% extends "base.html" %} {% load static %} {% block title %}Credentialing Application Submitted{% endblock %} {% block content %}
Your application has been received. We will respond shortly. You can keep track of your credential applications in your credentialing settings.


BREAKING: Buhari presides over FEC meeting - The Nation Newspaper
by https://www.facebook.com/CheerfulpraiseAugustine Ehikioya, Abuja
President Muhammadu Buhari on Wednesday presided over the Federal Executive Council (FEC) meeting.
The meeting started at the Council Chamber of the Presidential Villa, Abuja around 11am.
This was his first FEC meeting after returning to Nigeria last Friday from London where he went on a private visit.
The opening Christian prayer was said by Minister of Transportation, Rotimi Amaechi while the Minister of Education, Adamu Adamu offered the Muslim prayer.
Before the commencement of the meeting proper, a minute silence was observed for former Secretary to the Federal Government, (SGF) Chief Ufot Ekaette, who passed on at the age of 80.
Read Also: Buhari condoles Atiku over Aide’s death
Also, a minute silence was observed for former Minister of Information, Chief Alex Opeyemi Akinyele, who passed at the age of 81.
In attendance at the meeting are Vice President Yemi Osinbajo, almost all ministers, Secretary to the Government of the Federation, Boss Mustapha and National Security Adviser, Maj. Gen. Babagana Monguno (rtd).
The meeting was still in progress at the time of filing this report.


Install and use Composer
Difficulty: 2
Time: 10 minutes
Composer is a tool used to manage program dependencies. This article assumes you have already installed php, git and curl
This will create a file, composer.phar in your project directory.
composer.phar file
to "composer" (optional)
/etc/profile
to change your path so that composer will execute;
PATH=$PATH:/usr/local/bin/composer export PATH
There are two ways you can use composer; create a file defining your project or from the command line.
{ "require": { "vendorname/projectname": "verison [wildcards are supported]" } }
{ "require": { "laravel/laravel": "4.2.*" } }
php composer install
Since the ultimate goal when using Composer is to create a project, it may make sense to simply create the project using Composer's create-project command rather than configure dependencies.
You have just learned how to use Composer to manage project dependencies.


Documentation Contents
Minor changes to
java.io
in Java SE 1.2
The following changes to package
java.io
were introduced in Java SE 1.2. Minor changes to this package were:
The
out
field of the
PrintWriter
class is now protected rather than private, so that subclasses may access it
The
RandomAccessFile
class supports a new
setLength
method; and
The
StringWriter(int)
constructor is now public.
The following constructors check for
null
input parameters:
The constructors
PrintStream(OutputStream out)
and
PrintStream(OutputStream out, boolean autoFlush)
will throw a
NullPointerException
if the parameter
out
is
null
.
The constructors
InputStreamReader(InputStream in)
and
InputStreamReader(InputStream in, String enc)
will throw a
NullPointerException
if the
in
parameter is
null
.
The constructors
OutputStreamWriter(OutputStream out)
and
OutputStreamWriter(OutputStream out, String enc)
will throw a
NullPointerException
if the
out
parameter is
null
.
The protected constructors
Reader(Object lock)
and
Writer(Object lock)
now throw
NullPointerException
if the
lock
parameter is
null
.


FAST, CHEAP, AND OUT OF CONTROL A film review by Steve Rhodes Copyright 1997 Steve Rhodes
RATING (0 TO ****): ***
Errol Morris is one of our most accomplished documentarians. His A BRIEF HISTORY OF TIME explores the meaning of life and infinity through the mind of the brilliant physicist Stephen Hawking. His THE THIN BLUE LINE investigates a possibly innocent man sentenced to death for murder. And finally, what some consider his best, GATES OF HEAVEN examines people's feelings about a couple of California pet cemeteries.
FAST, CHEAP, AND OUT OF CONTROL takes everything we know about the construction of a documentary and twists it around in fascinating ways. Rather than choose one subject, he picks four seemingly unrelated topics and then interlaces and intertwines them.
All coming loosely under the category of wild animals, the subjects include a circus wild animal trainer (Dave Hoover), a topiary gardener (George Mendonca), a mole-rat specialist (Ray Mendez) and an MIT robot scientist (Rodney Brooks).
The prerequisite for a good documentary filmmaker is a knack for choosing the right subjects to interview, and all four of these look straight out of central casting. Each has his own quirks that make him photogenic. Dave has the rugged good looks of the Marlboro Man, George has beady eyes from his meticulous work, Ray wears a butterfly bow tie with his plaid shirt, and Rodney has wide saucer-like eyes when his imagination goes wild.
In a highly non-linear format, Morris keeps the audio from one section going when he switches to the visual of another. As Ray talks about the colonizing habits of mole-rats, the most insect-like mammal, the camera moves on to the circus performers and people in the stands. Using such techniques he forms a bond between the disparate material.
Another secret of the film's success is the use of an Academy Award winning cinematographer, Robert Richardson (JFK). Most known for his collaboration with Oliver Stone, Richardson's work was one of the best parts of Stone's most recent film U-TURN.
"Its all done from memory," George says telling us his topiary secrets. "You know what an animal looks like, and you start making an animal." He has been working on the same garden almost forever. The spinster who owned the house and grounds died over twenty years ago, but he keeps on tending her large and magnificent gardens. Perhaps because George has the only stationary animals in the story, I found this part the weakest link.
Better is the confident but ever cautious lion tamer. Dave grew up watching and worshipping Clyde Beatty, a real life animal trainer as well as an actor in adventure B movies like THE LOST JUNGLE. Morris includes old black-and-white movie footage of Beatty fighting wild animals as well as warriors incongruously dressed in Roman helmets with large wings on their backs.
"If you're not scared of them, you're in big trouble," Dave tells us about his wild animals. After relating one horror story after another, he admits that most trainers never retire, and heart attacks, not animals, kill most of them. A funny guy, he explains the reason lion tamers point the four legs of a chair at the lion. "His mind is distracted from his original thought - eat the man in the white pants," he says.
The robot scientist has a simple approach to problems. He likes to find out what every one assumes and then negates it. Everyone assumes, for example, that one needs stability to walk. After observing ants who fall all the time but are highly mobile, he designed a robot that could move by falling along. The film's title comes from his proposal for massive numbers of small robots for scientific exploration.
Rodney likes to build contraptions without knowing how they will get along in their environment. "If you analyze it too much, life becomes almost meaningless," he says. His goal is to "understand life by building something that is lifelike." His robots may have lifelike mannerisms, but they resemble nothing in nature with the possible exception of insects. Their bodies of moving circuit boards are quite a contrast to the interspersed science fiction footage of man-like robots. Ever the dreamer, Rodney talks of a future with twenty tiny robots for a dollar, whose sole purpose would be to come alive and clean your television whenever it is turned on.
My favorite part was Ray's mole-rats. Small moles without fur, they live in large ant-like colonies.  Their feces are normally hard, except when they have hungry children. Their kids live on a diet of soft feces, and the adults can control whether to emit the hard ones or the soft ones.
FAST, CHEAP, AND OUT OF CONTROL runs a fast 1:20. It is rated PG and would be fine for kids five and up, but younger ones might be scared by the lions. I recommend the picture to you and give it ***.
**** = A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show. Don't waste your money. 0 = Totally and painfully unbearable picture.
REVIEW WRITTEN ON: October 9, 1997
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Ping-Pong
Rules:
Ping Pong will count up to your number from 1 with the following exceptions:
- Numbers divisible by 3 become "ping"
- Numbers divisible by 5 become "pong"
- Numbers divisible by 3 and 5 become "Ping-Pong"
Please Enter Your Input Again.
The number should be from 1 and above.


PEDIA-LAX - glycerin suppository
C.B. Fleet Company, Inc.
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
Active Ingredient
(in each suppository)
Glycerin 1 g.................Hyperosmotic Laxative
Use
For relief of occasional constipation.
This product generally produces a bowel movement in 1/4 to 1 hour.
Warnings
For rectal use only.
May cause rectal discomfort or a burning sensation.
Ask a doctor before using any laxative if child has
- abdominal pain, nausea, or vomiting
- a sudden change in bowel habits lasting more than 2 weeks
- already used a laxative for more than 1 week
Stop use and consult a doctor if child has
- rectal bleeding
- no bowel movement within 1 hour of using this product
These symptoms may indicate a serious condition.
Keep out of reach of children
If swallowed, get medical help or contact a Poison Control Center right away.
Directions
Single daily dosage
children 2 to under 6 years
|
1 suppository, or as directed by a doctor
|
children under 2 years
|
ask a doctor
|
Insert suppository well up into rectum. Suppository need not melt completely to produce laxative action.
Other Information
- Store container tightly closed.
- Keep away from excessive heat.
- MOUTH OF JAR SEALED FOR SAFETY. IF FOIL IMPRINTED WITH GREEN FLEET EMBLEM IS BROKEN OR MISSING, DO NOT USE.
Inactive Ingredients
edetate disodium, purified water, sodium hydroxide, stearic acid
Questions?
1-866-255-6960 or www.pedia-lax.com
C.B. Fleet Company, Inc.


The Arduino Family of Microcontrollers
Devices
Applications
Links
Links
Sparkfun Electronics
www.sparkfun.com
Arduino Home
www.arduino.cc
Adafruit
www.adafruit.com
Arduino USA
www.store-usa.arduino.cc


{% extends "layout.html" %} {% set active_page = 'vote' %} {% block body %}
Errors were encountered and your vote was not registered!


I'm on a mission to improve the health, both physical and mental, and happiness of over 1 mm+ people over the next decade. The healthcare, food, and education systems in the US are currently ineffective or as Justin Mares says, totally f*cked, I want to change that by working with companies and on projects that contribute to a healthier and happier America.
I'm currently Assistant General Manager at Mainstreet Entertainment in Tallahassee, Florida. In the past I've been Product and Quality Assurance at Titus Human Performance, Head of Education and VIP Instructors at Teachable, worked and consulted with best-selling authors, Y Combinator startups and Fortune 500 businesses to create courses, and produced some courses of my own that have been taken by over 200,000 students worldwide.
This site is a collection of my past work, projects and talks I've done. Sometimes I write on Medium about whatever gets me excited, and you can learn html and css from me here for free.
While taking a hiatus from the Tech and Startup Industry I've tested how I can bring my tech background into brick and mortar businesses and gotten back to my roots in the Food and Beverage and Hospitality industries. Mainstreet Entertainment and Iconic Corners Management groups have a portfolio of 3 restaurants and nightlife venues in Tallahassee, FL. My main focus has been with Potbelly's. In the past 16 months we've increased revenue from previous years 66%, hired over 100 people, brought in a permanent food vendor, created automated systems to make the place easier to run, been awarded one of the top 8 college bars in the US by Barstool, and brought in such big name acts as Steve Aoki, Chase Rice, and YBN Cordae, among others.
During my time at MSE and IC I brought together 3 of Tallahassee's most iconic venues and a multiple promotional groups to create this annual December bar crawl to raise money for Salvation Army's Angel Tree Program. In 2019, we raised over $20,000, 100% of the proceeds provided gifts for hundreds of kids in need through out the Big Bend area.
Headed up the redesign of the UI/UX for the SPEAR system, a human and economic performance optimization (HEPO) platform that large programs, including the entire SOCOM use. At it's core it tracks different outputs/inputs for an individual - what they eat, workouts, blood reports, dna reports, sleep patterns, performance tests, cognitive tests, wearable tech, injuries - and uses AI and Machine Learning to find causation and correlation and determine ultimately what it takes for each individual to keep them performing at their best.
A brick and mortar analytics business. They use WiFi in businesses to track key metrics of customers' behavior patterns that were previously only available to e-commerce companies. I was in charge of creating an automated system for the delivery and install of our WiFi equipment, client relationships and onboarding new clients, creating an automated onboarding application that they can revisit, and redesigning the UI/UX of the WiFi registration page for our clients' customers.
An online education startup that was acquired by Hotmart in March 2020 for around $250 million according to TechCrunch. I was one of the first 6 hired employees. My responsibilities included running the webinars for both acquiring and training new customers, reaching out to potential high value clients and creating courses with them, and creating courses to teach people how to be successful teaching online.
I founded Maker-Based Education in 2014 to teach people how to build websites in less than 20 hours. Over 200,000 people have taken my courses on HTML and CSS.
While working on Maker-Based Education we created One Million Lines to challenge ourselves and the Leon County School System to get coding education into the curriculum and have their students write over 1 million lines of code. The movement lead to our curriculum being taught in various schools through the Big Bend area.
Founded by Landon Cooper, Miles 2 Give was a 3 man team that ran from San Francisco to Ocean City, MD and raised over $206,000 for Sarcoma Cancer research and awareness. I was in charge of all e-commerce and online operations, setting up partnerships, meetups and fundraising events, creating apparel, and running with them for the last quarter of the trip. This is the project I'm most grateful and proud to be a part. Not really because of the money, but because of the impact we had and the relationships we formed.
To see a detailed timeline of my work experience click here.
Thanks for stopping by. If you enjoy my work and are looking to get ahold of me you can do that here.
Ryan


I am a rising sophomore at Cornell University. Currently, I study Computer Science in the College of Engineering and plan to get a minor in Fine Arts or Game Design.
In my spare time I enjoy reading, listening to music, animating, drawing, sightseeing, and photography.
About this Website
This is the improved and revamped version of my first website. Made from scratch using Sublime Text 2 (with Vintage), my new favorite text editor.


The Project Euler website appears to have died, so I'm writing a post as a tribute to its memory. An old but fun problem goes like this:
2^15 = 32768, and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.
What is the sum of the digits of the number 2^1000?
The simplest way to approach this problem is to brute force it in a programming language with big integer support, e.g., Python:
N=2**1000
mysum=0
while N>0:
N, r = divmod(N,10)
mysum += r
print mysum
RIP, Project Euler.


BODHISATTWA SAHA
Hi!
Thank you for checking out this webpage.
I will try to talk about myself briefly on this page.
SKILLS
I am primarily interested in 3D animation and working to develop my skills as 3D artist. I mainly focus on character modelling and animation and ofcourse try out all other aspects as well.
ASPECTS I HAVE GRIP OVER
- 3D modelling
- 3D UV editing
- 3D Sculpting
- 3D Retopology
- 3D Character rigging
- 3D Character Animation
SOFTWARES I CURRENTLY USE
- Autodesk Maya
- Autodesk Mudbox
- Pixologic Zbrush
- Adobe Photoshop
- Shoutcut (Video Editing software)
FIELDS I AM CURRENTY WORKING TO GET A GRIP ON
MY HOBBIES
Playing videogames
Sketching
Working out


Climate Change Indicators: Weather and Climate
Rising global average temperature is associated with widespread changes in weather patterns. Scientific studies indicate that extreme weather events such as heat waves and large storms are likely to become more frequent or more intense with human-induced climate change. This chapter focuses on observed changes in temperature, precipitation, storms, floods, and droughts.
- Why does it matter?
Long-term changes in climate can directly or indirectly affect many aspects of society in potentially disruptive ways. For example, warmer average temperatures could increase air conditioning costs and affect the spread of diseases like Lyme disease, but could also improve conditions for growing some crops. More extreme variations in weather are also a threat to society. More frequent and intense extreme heat events can increase illnesses and deaths, especially among vulnerable populations, and damage some crops. While increased precipitation can replenish water supplies and support agriculture, intense storms can damage property, cause loss of life and population displacement, and temporarily disrupt essential services such as transportation, telecommunications, energy, and water supplies.
Summary of Key Points
- U.S. and Global Temperature. Average temperatures have risen across the contiguous 48 states since 1901, with an increased rate of warming over the past 30 years. Eight of the top 10 warmest years on record have occurred since 1998. Average global temperatures show a similar trend, and all of the top 10 warmest years on record worldwide have occurred since 1998. Within the United States, temperatures in parts of the North, the West, and Alaska have increased the most.
- High and Low Temperatures. Many extreme temperature conditions are becoming more common. Since the 1970s, unusually hot summer days (highs) have become more common over the last few decades in the United States. Unusually hot summer nights (lows) have become more common at an even faster rate. This trend indicates less “cooling off” at night. Although the United States has experienced many winters with unusually low temperatures, unusually cold winter temperatures have become less common—particularly very cold nights (lows). Record-setting daily high temperatures have become more common than record lows. The decade from 2000 to 2009 had twice as many record highs as record lows.
- U.S. and Global Precipitation. Total annual precipitation has increased over land areas in the United States and worldwide. Since 1901, precipitation has increased at an average rate of 0.08 inches per decade over land areas worldwide. However, shifting weather patterns have caused certain areas, such as the Southwest, to experience less precipitation than usual.
- Heavy Precipitation. In recent years, a higher percentage of precipitation in the United States has come in the form of intense single-day events. The prevalence of extreme single-day precipitation events remained fairly steady between 1910 and the 1980s but has risen substantially since then. Nationwide, nine of the top 10 years for extreme one-day precipitation events have occurred since 1990. The occurrence of abnormally high annual precipitation totals (as defined by the National Oceanic and Atmospheric Administration) has also increased.
- Tropical Cyclone Activity. Tropical storm activity in the Atlantic Ocean, the Caribbean, and the Gulf of Mexico has increased during the past 20 years. Storm intensity is closely related to variations in sea surface temperature in the tropical Atlantic. However, changes in observation methods over time make it difficult to know for sure whether a longer-term increase in storm activity has occurred. Records collected since the late 1800s suggest that the actual number of hurricanes per year has not increased.
- River Flooding. Increases and decreases in the frequency and magnitude of river flood events vary by region. Floods have generally become larger across parts of the Northeast and Midwest and smaller in the West, southern Appalachia, and northern Michigan. Large floods have become more frequent across the Northeast, Pacific Northwest, and parts of the northern Great Plains, and less frequent in the Southwest and the Rockies.
- Drought. Average drought conditions across the nation have varied since records began in 1895. The 1930s and 1950s saw the most widespread droughts, while the last 50 years have generally been wetter than average. However, specific trends vary by region. A more detailed index developed recently shows that over the period from 2000 through 2015, roughly 20 to 70 percent of the U.S. land area experienced conditions that were at least abnormally dry at any given time. However, this index has not been in use for long enough to compare with historical drought patterns.
- A Closer Look: Temperature and Drought in the Southwest. The southwestern United States is particularly sensitive to changes in temperature and thus vulnerable to drought, as even a small decrease in water availability in this already arid region can stress natural systems and further threaten water supplies.


A Generation
I’ve written many posts here about business, technology, and the like. The reason I’ve been so delayed in updating, in addition to the busyness of life, is because this post has been brewing in my head for quite some time. I just haven’t been able to sit down and actually compose it until now for some reason.
So many of my posts have been about the web and how things will change in the future. Well while in this post it is still strongly related I want to talk a bit more about the social aspect. Of how I feel the next generation will insight change in much of the world because of the web. With the web and all of its utilities, youtube, aim, twitter, email, people no longer feel they’re separated by thousands of miles. Also its allowed any old joe to take on the form of publisher. I’ll concede that my generation watches more television than any generation prior, that sex and STD’s are at a higher rate than ever before. But in large part I believe the whole of the generation is following and simply consuming then information put out by the generation ahead of them.
BUT, there is a small group within the generation that cares about change. That small group is now able to gather mass following, to cause others to thing, and to actually make a difference. This generation seems to have done this through simply expressing themselves. To them its not about making money, or having a cult following, its about personal expression.
Here’s a few examples of what I mean about people expressing themselves:


The most regal and advanced race of species, who are always ahead of their peers in terms of technology and advancement. Each year TRACE conducts a fest meant for the technocrats of CEA. The fest is conducted with great pomp and show. TRACE provides a platform at which not just the members of TRACE but the whole CEA gets involved. TRACE took the initiative to introduce CEA to the world of LINUX, the leading and popularly used OS. The CEA-LUG(Linux Users Group) was established solely for this purpose. In our future plans, the TRACE has visioned a Wi-Fi campus(wireless internet access to anyone in CEA campus) and an advance EDGE technology, with the computerisation of library and the introduction of various services for students.


Electoral Bonds: Opposition Leaders React To HuffPost India Exclusive
The 'HuffPost India' investigation by journalist Nitin Sethi showed how, 2 days before announcing electoral bonds, the Modi govt dismissed the RBI's warnings on the scheme.
by Meryl SebastianReacting to HuffPost India’s exclusive report on electoral bonds, opposition leaders and politicians on Monday criticised the Modi government and called on it to respond.
The report, published on Monday morning, is part of #PaisaPolitics, a HuffPost India investigative series by journalist Nitin Sethi that looks into how the Modi government brought untraceable funds into Indian politics.
Days before unveiling electoral bonds, the Modi government pretended to ask the RBI for its opinion, only to summarily dismiss the central bank’s reservations, documents show.
The report found that former finance minister Arun Jaitley took just hours to dismiss the RBI’s warning that electoral bonds could funnel black money into politics and destabilise the Indian currency.


functional children symptoms abdominal pain patients {border-style (.%) FGID px;} #ffffff;} study improvement diagnosis disorders Pediatr diagnostic gastrointestinal Rome alarm bowel significant Gastroenterol treatment FGIDs Nutr Table criteria organic presented px; symptoms. visit {font-family constipation follow font-size irritable performed presence Pediatric diagnosed disease double; pediatric tertiary years (.%), Functional Gastroenterology III age border-color border-width characteristics clinical data diagnosis. difference disorders: dyspepsia levels pain, primary related severe single solid; studies {font-style {font-weight Benninga Furthermore, Gastroenterology, Hepatology Nutrition based bold care courier; different early em; finding majority medical migraine nutritional positive pt;} received referred significantly tests type


Verify that cloud logs are monitored.
Cloud logs must be monitored to identify security problems in real-time, so that effective counter-measures can be implemented. By reviewing archived and current logs, you can also identify resources which may have been accessed improperly, the date and times of access, and IP source.
If logs are not reviewed, security events such as exceptions and faults may go unrecognized, with increasing loss of data and business.
Cloud logs should be turned on in CloudTrail at the earliest possible time. The service itself does not add additional cost. Use Amazon Simple Notification Service (SNS) notifications when you need to respond quickly to log deliveries, such as for analysis and reporting. The logs are delivered to S3 buckets you specify, and you may minimize storage costs for S3 by archiving the logs to your own external storage media. The specific interval for log delivery, archiving to Glacier, or removal to offline storage should be defined in your security management plan.
To verify that cloud logs are monitored:
Identify responsible personnel. Find employees responsible for monitoring the cloud logs and interview them to make sure that logs are monitored.
Examine logs. Have the responsible personnel display some of the cloud logs to make sure that they are current and show a sufficient level of detail.
The following steps summarize the implementation of CloudTrail monitoring logs.
Create a Bucket Policy. It is necessary to attach a policy to the S3 bucket that allows CloudTrail access. In the next step, When you use the console or CLI to create the S3 bucket, a policy is automatically created and attached to the bucket. Information is pre-filled, such as allowed SIDs, folder name, owner ID, and prefix, and these can be edited if necessary. If you choose to manually create a policy first, do it now.
Create and Update a Trail. Trails are created with the AWS CloudTrail console or through the command line interface (CLI). It is necessary to turn on CloudTrail first, and then create an S3 bucket (or use an existing one) for log delivery. When you create a new S3 bucket with CloudTrail, a policy is automatically created as described in step 1. If using an existing S3 bucket, you will manually attach a policy as mentioned in step 1. Creating an SNS topic for log delivery notification is optional. Turn on the trail, and after 15 minutes API calls will appear in the published log files.
Create a Trail with CLI. CloudTrail features can be created with the CLI:
aws create-subscription
(create a trail)aws update-subscription
(set new options for the trail)aws cloudtrail describe-trails
(retrieve settings)aws cloudtrail get-trail-status
(retrieve status)View Events. Go to the API Activity History in the CloudTrail console to filter and view events. Display the details for an event to access the resource name, and links (if they exist). Optionally, you can view the event in JSON format.
View Events with CLI. At the CLI, you can view events for the last seven days with the aws cloudtrail lookup-events
command, which has options to filter events.
Control User Access. Create an IAM group with appropriate permissions and add individual IAM users as necessary. Create a group for users who need full access to actions. Create a separate group for users who only require viewing information. Two default policies can be used for these purposes: AWSCloudTrailFullAccess
and AWSCloudTrailReadOnlyAccess
. Now add users to the groups, and assign passwords.
Retrieve and View Log Files. Log files are published to the specified S3 bucket in a gzip archive (.gz). Once located, they can be retrieved with S3 console, CLI, or S3 API. Since the files are written in JSON format, they can be viewed directly if your browser has a JSON viewer add-on.
Configure Amazon SNS Notifications. When you set up a trail, an option can be used to configure a new Amazon SNS topic with notifications. Create the trail with the console or the aws cloudtrail create-subscription
CLI command. This attaches a policy to allow publishing of the topic to you.


An opinionated nginx sites conf generator.
Select a site type, fill in the form and copy the conf.
Copy the below and paste into your conf file


Internet Protocols(IP/TCP)
level 4(Application layer)
DNS
HTTP(S)
level 3(Transport layer)
TCP
UDP
level 2(Internet layer)
IP
ICMP
IPsec
level 1(Link layer)
ARP


I am experienced in leveraging agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition.
Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.
Capitalize on low hanging fruit to identify a ballpark value added activity to beta test. Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.
Podcasting operational change management inside of workflows to establish a framework. Taking seamless key performance indicators offline to maximise the long tail. Keeping your eye on the ball while performing a deep dive on the start-up mentality to derive convergence on cross-platform integration.
 In the winter, I am an avid skier and novice ice climber. During the warmer months here in Colorado, I enjoy mountain biking, free climbing, and kayaking.
When forced indoors, I follow a number of sci-fi and fantasy genre movies and games on Play station.I love music and i paly piano and guitar in free time, listen new compositions and then try to play them on instruments.


| Opcode/Instruction | Op/En | 64/32 bit Mode Support | CPUID Feature Flag | Description |
| 0F 38 07 /r1 PHSUBSW mm1, mm2/m64 | RM | V/V | SSSE3 | Subtract 16-bit signed integer horizontally, pack saturated integers to mm1. |
| 66 0F 38 07 /r PHSUBSW xmm1, xmm2/m128 | RM | V/V | SSSE3 | Subtract 16-bit signed integer horizontally, pack saturated integers to xmm1. |
| VEX.NDS.128.66.0F38.WIG 07 /r VPHSUBSW xmm1, xmm2, xmm3/m128 | RVM | V/V | AVX | Subtract 16-bit signed integer horizontally, pack saturated integers to xmm1. |
| VEX.NDS.256.66.0F38.WIG 07 /r VPHSUBSW ymm1, ymm2, ymm3/m256 | RVM | V/V | AVX2 | Subtract 16-bit signed integer horizontally, pack saturated integers to ymm1. |
Notes: 1. See note in Section 2.4, “Instruction Exception Specification” in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 2A and Section 22.25.3, “Exception Conditions of Legacy SIMD Instructions Operating on MMX Registers” in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A.
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| RM | ModRM:reg (r, w) | ModRM:r/m (r) | NA | NA |
| RVM | ModRM:reg (r, w) | VEX.vvvv (r) | ModRM:r/m (r) | NA |
(V)PHSUBSW performs horizontal subtraction on each adjacent pair of 16-bit signed integers by subtracting the most significant word from the least significant word of each pair in the source and destination operands. The signed, saturated 16-bit results are packed to the destination operand (first operand). When the source operand is a 128-bit memory operand, the operand must be aligned on a 16-byte boundary or a general-protection exception (#GP) will be generated. Legacy SSE version: Both operands can be MMX registers. The second source operand can be an MMX register or a 64-bit memory location.
128-bit Legacy SSE version: The first source and destination operands are XMM registers. The second source operand is an XMM register or a 128-bit memory location. Bits (VLMAX-1:128) of the corresponding YMM destination register remain unchanged.
In 64-bit mode, use the REX prefix to access additional registers. VEX.128 encoded version: The first source and destination operands are XMM registers. The second source operand is an XMM register or a 128-bit memory location. Bits (VLMAX-1:128) of the destination YMM register are zeroed. VEX.256 encoded version: The first source and destination operands are YMM registers. The second source operand can be an YMM register or a 256-bit memory location.
Note: VEX.L must be 0, otherwise the instruction will #UD.
PHSUBSW (with 64-bit operands) mm1[15-0] = SaturateToSignedWord(mm1[15-0] - mm1[31-16]); mm1[31-16] = SaturateToSignedWord(mm1[47-32] - mm1[63-48]); mm1[47-32] = SaturateToSignedWord(mm2/m64[15-0] - mm2/m64[31-16]); mm1[63-48] = SaturateToSignedWord(mm2/m64[47-32] - mm2/m64[63-48]); PHSUBSW (with 128-bit operands) xmm1[15-0] = SaturateToSignedWord(xmm1[15-0] - xmm1[31-16]); xmm1[31-16] = SaturateToSignedWord(xmm1[47-32] - xmm1[63-48]); xmm1[47-32] = SaturateToSignedWord(xmm1[79-64] - xmm1[95-80]); xmm1[63-48] = SaturateToSignedWord(xmm1[111-96] - xmm1[127-112]); xmm1[79-64] = SaturateToSignedWord(xmm2/m128[15-0] - xmm2/m128[31-16]); xmm1[95-80] =SaturateToSignedWord(xmm2/m128[47-32] - xmm2/m128[63-48]); xmm1[111-96] =SaturateToSignedWord(xmm2/m128[79-64] - xmm2/m128[95-80]); xmm1[127-112]= SaturateToSignedWord(xmm2/m128[111-96] - xmm2/m128[127-112]); VPHSUBSW (VEX.128 encoded version) DEST[15:0]= SaturateToSignedWord(SRC1[15:0] - SRC1[31:16]) DEST[31:16] = SaturateToSignedWord(SRC1[47:32] - SRC1[63:48]) DEST[47:32] = SaturateToSignedWord(SRC1[79:64] - SRC1[95:80]) DEST[63:48] = SaturateToSignedWord(SRC1[111:96] - SRC1[127:112]) DEST[79:64] = SaturateToSignedWord(SRC2[15:0] - SRC2[31:16]) DEST[95:80] = SaturateToSignedWord(SRC2[47:32] - SRC2[63:48]) DEST[111:96] = SaturateToSignedWord(SRC2[79:64] - SRC2[95:80]) DEST[127:112] = SaturateToSignedWord(SRC2[111:96] - SRC2[127:112]) DEST[VLMAX-1:128] ← 0 VPHSUBSW (VEX.256 encoded version) DEST[15:0]= SaturateToSignedWord(SRC1[15:0] - SRC1[31:16]) DEST[31:16] = SaturateToSignedWord(SRC1[47:32] - SRC1[63:48]) DEST[47:32] = SaturateToSignedWord(SRC1[79:64] - SRC1[95:80]) DEST[63:48] = SaturateToSignedWord(SRC1[111:96] - SRC1[127:112]) DEST[79:64] = SaturateToSignedWord(SRC2[15:0] - SRC2[31:16]) DEST[95:80] = SaturateToSignedWord(SRC2[47:32] - SRC2[63:48]) DEST[111:96] = SaturateToSignedWord(SRC2[79:64] - SRC2[95:80]) DEST[127:112] = SaturateToSignedWord(SRC2[111:96] - SRC2[127:112]) DEST[143:128]= SaturateToSignedWord(SRC1[143:128] - SRC1[159:144]) DEST[159:144] = SaturateToSignedWord(SRC1[175:160] - SRC1[191:176]) DEST[175:160] = SaturateToSignedWord(SRC1[207:192] - SRC1[223:208]) DEST[191:176] = SaturateToSignedWord(SRC1[239:224] - SRC1[255:240]) DEST[207:192] = SaturateToSignedWord(SRC2[143:128] - SRC2[159:144]) DEST[223:208] = SaturateToSignedWord(SRC2[175:160] - SRC2[191:176]) DEST[239:224] = SaturateToSignedWord(SRC2[207:192] - SRC2[223:208]) DEST[255:240] = SaturateToSignedWord(SRC2[239:224] - SRC2[255:240])
| PHSUBSW: | __m64 _mm_hsubs_pi16 (__m64 a, __m64 b) |
| (V)PHSUBSW: | __m128i _mm_hsubs_epi16 (__m128i a, __m128i b) |
| VPHSUBSW: | __m256i _mm256_hsubs_epi16 (__m256i a, __m256i b) |
None.
See Exceptions Type 4; additionally
| #UD | If VEX.L = 1. |


[Fate's Whisper]:
I hear a soft voice whisper in my ear;
"...the wind never sleeps,
The waves of change are turning.
The paths of darkness and light intersect,
A new song of dawn begins..."
"Listen to the call of fate.
You, who will shape the face of the continent!
Go see Maestro Reorin...
Master Smith of the Platinum race awaits you in the land of Oren..."
"...and,
in the bottomless pit of despair, let new hope flower,
and arm yourself anew with the well-trained flames of eternal torment..."
Close Window


# DeviceAtlas Device Detection API #
The DeviceAtlas Device Detection API provides a way to detect devices based on
the HTTP headers. Using the headers, the API returns device information such as
screen width, screen height, is mobile, vendor, model etc.
To see a full list of properties in DeviceAtlas please visit:
https://deviceatlas.com/resources/available-properties .
### Data File ###
The DeviceAtlas API relies on a device data file to function. DeviceAtlas
provides daily data file updates so it is recommended to download the data file
on a regular basis. This can be done manually from your account page or
automated via the https://deviceatlas.com/getJSON page.
For more information please see:
https://deviceatlas.com/resources/getting-the-data
### Dependencies ###
This library does not depend on any third party libraries.
### Library ###
The DeviceAtlas Device Detection API consists of four libraries as below:
#### DeviceAtlas Common (Api/) ####
Contains the shared libraries which are common between the DeviceAtlas APIs.
When using the DeviceApi and DeviceApiWeb, the required files from this library
will be included automatically by the API. Keep the relative paths of the
libraries as they are in the downloaded package.
#### DeviceApi (Api/Device/Mobi_Mtld_Da_Device_DeviceApi) ####
The main DeviceApi that loads the Device data and detects and returns the
properties for a set of request headers or the user-agent. Client-side
properties can be optionally passed to this library to get more accurate
results.
#### DeviceApiWeb (Api/Device/Mobi_Mtld_Da_Device_DeviceApiWeb) ####
A small extension to the main API that allows automatic extraction of the
request headers and client-side properties from the request. It is preferred to
use this library for real-time device detections in web applications.
#### CacheProvider (Api/CacheProvider/) ####
Contains an interface for cache-provider classes that can be used with the
DeviceApi and DeviceApiWeb. Also contains three classes which implement the
interfaces for APC, Memcache and a file-cache.
### The 2.x API Interface ###
* This is the new standard interface, common across the DeviceAtlas APIs.
* This interface is intended to be simple to use, as the interface includes
custom objects for getting the detected property set and getting a single
property value.
* Unlike the former interface, this interface is not a set of static methods.
This allows the interface to have more encapsulation, requiring fewer and
simpler methods. This new API is highly maintainable and flexible for future
improvements and new features.
* The DeviceApiWeb extension makes it possible to do device lookups based on the
request or a whole set of HTTP headers. This allows the API to make a more
precise detection and return properties with more accurate values. For example,
some browsers distribute the user-agent information into different headers, so
it is almost impossible to correctly detect the device properties, such as type
and model from the user-agent header itself. With this new interface, the API
is able to overcome these situations.
### Basic Usage ###
The API can be used as follows:
* Inside a web application.
To lookup the properties of the device which sent the request:
```php
// the detection is done based on the current HTTP request
require_once "/path/to/Api/Device/DeviceApiWeb.php";
/* (1) create an instance with default API configs */
$deviceApi = new Mobi_Mtld_DA_Device_DeviceApiWeb();
/* (2) load the data file */
try {
$deviceApi->loadDataFromFile("/path/to/datafile.json");
} catch (Exception $x) {
// handle the exceptions related to loading the data file
}
/* (3) look up device properties */
$properties = $deviceApi->getProperties();
/* (4) use the properties - e.g. detect mobile device */
// if there is a property named "mobileDevice" and the value is true
if ($properties->contains("mobileDevice", true)) {
// example 1: Get the screen width for image optimization
$displayWidth = $properties->containsKey("displayWidth")?
$properties->get("displayWidth")->asInteger(): 100;
// example 2: Get the device vendor name
$vendor = $properties->containsKey("vendor")?
$properties->get("vendor")->asString(): "";
// example 3: Touch screen optimization
$useBiggerIcons = $properties->contains("touchScreen", true);
// example 4: Send Geo Location JS to client?
$supportsGeoLocation = $properties->contains("js.geoLocation", true);
// example 5: The Properties class implements the magic __get so you can:
// if property does not exists then the value will be null
// otherwise you get a typed value
$model = $properties->model; // null or string
$isTablet = $properties->isTablet; // null or boolean
$displayHeight = $properties->displayHeight; // null or integer
}
```
* Not in a web application or not for real-time device lookups.
To lookup the properties by manually passing the headers to the API:
Note that the DeviceApiWeb is an extension of DeviceApi so all the
functionality shown below is also available in DeviceApiWeb.
```php
// the detection is done based on (HTTP headers) or user-agent string
require_once "/path/to/Api/Device/DeviceApi.php";
/* (1) create an instance with default API configs */
$deviceApi = new Mobi_Mtld_DA_Device_DeviceApi();
/* (2) load the data file */
try {
$deviceApi->loadDataFromFile("/path/to/datafile.json");
} catch (Exception $x) {
// handle the exceptions related to loading the data file
}
/* (3) look up device properties by HTTP headers */
$headers = array(
"HEADER NAME" => "HEADER VALUE",
);
$properties = $deviceApi->getProperties($headers);
/* (3) look up device properties by user-agent string */
$userAgent = "THE USER AGENT VALUE";
$properties = $deviceApi->getProperties($userAgent);
/* (4) use the properties - e.g. detect mobile device */
// if there is a property named "mobileDevice" and the value is true
if ($properties->contains("mobileDevice", true)) {
// example 1: Get the screen width for image optimization
$displayWidth = $properties->containsKey("displayWidth")?
$properties->get("displayWidth")->asInteger(): 100;
// example 2: Get the device vendor name
$vendor = $properties->containsKey("vendor")?
$properties->get("vendor")->asString(): "";
// example 3: Touch screen optimization
$useBiggerIcons = $properties->contains("touchScreen", true);
// example 4: Send Geo Location JS to client?
$supportsGeoLocation = $properties->contains("js.geoLocation", true);
// example 5: The Properties class implements the magic __get so you can:
// if property does not exists then the value will be null
// otherwise you get a typed value
$model = $properties->model; // null or string
$isTablet = $properties->isTablet; // null or boolean
$displayHeight = $properties->displayHeight; // null or integer
}
```
### Client-side Component ###
In addition to the properties from the data file, properties can be gathered
from the client's browser and used both on the client side and on the server
side. Please see the client side readme file for more information.
#### Usage With Client-side Component ####
In addition to normal usage, DeviceAtlas has the capability to capture client
side properties and merge them into the server side properties.
The "deviceatlas.min.js" file must be included on your webpage in order for it
to detect the client side properties. The client side properties are returned to
the server in a cookie called DAPROPS. The contents of this cookie are
automatically detected with the request headers or can be passed separately,
with Headers or a User-Agent, to get the combined properties back.. Both sets of
properties are used in additional logic to determine other properties such
iPhone and iPad models which are normally not detectable.
* Inside a web application.
To lookup the properties of the device which sent the request:
```php
// the detection is done based on the HTTP request
/* (1) create an instance with default API configs */
$deviceApi = new Mobi_Mtld_DA_Device_DeviceApiWeb();
/* (2) load the data file */
try {
$deviceApi->loadDataFromFile("/path/to/datafile.json");
} catch (Exception $x) {
// handle the exceptions related to loading the data file
}
/* (3) look up device properties */
$properties = $deviceApi->getProperties();
/* (4) use the properties - e.g. detect mobile device */
// if there is a property named "mobileDevice" and the value is true
if ($properties->contains("mobileDevice", true)) {
// example 1: Get the screen width for image optimization
$displayWidth = $properties->displayWidth;
// example 2: Get the device vendor name
$vendor = $properties->containsKey("vendor")?
$properties->get("vendor")->asString(): "";
// example 3: Touch screen optimization
$useBiggerIcons = $properties->contains("touchScreen", true);
// example 4: Send Geo Location JS to client?
$supportsGeoLocation = $properties->contains("js.geoLocation", true);
// example 5: Get the device orientation (degrees)
$deviceOrientation = $properties->containsKey("bjs.deviceOrientation")?
$properties->get("bjs.deviceOrientation")->asInteger(): 0;
}
```
* Not in a web application or not for real-time device lookups.
To lookup the properties by manually passing the headers and the client-side
properties to the API:
Note that the DeviceApiWeb is an extension of DeviceApi so all functionalities
shown below are also available in DeviceApiWeb.
```php
// the detection is done based on (HTTP headers) or user-agent string
/* (1) create an instance with default API configs */
$deviceApi = new Mobi_Mtld_DA_Device_DeviceApi();
/* (2) load the data file */
try {
$deviceApi->loadDataFromFile("/path/to/datafile.json");
} catch (Exception $x) {
// handle the exceptions related to loading the data file
}
/* (3) look up device properties by HTTP headers */
$clientSide = "PROPERTY1:VALUE1|PROPERTY2:VALUE2|PROPERTY3:VALUE3";
$headers = array(
"HEADER NAME" => "HEADER VALUE",
);
$properties = $deviceApi->getProperties($headers, $clientSide);
/* (3) look up device properties by user-agent string */
$userAgent = "THE USER AGENT VALUE";
$properties = $deviceApi->getProperties($userAgent, $clientSide);
/* (4) use the properties - e.g. detect mobile device */
// if there is a property named "mobileDevice" and the value is true
if ($properties->contains("mobileDevice", true)) {
// example 1: Get the screen width for image optimization
$displayWidth = $properties->displayWidth;
// example 2: Get the device vendor name
$vendor = $properties->containsKey("vendor")?
$properties->get("vendor")->asString(): "";
// example 3: Touch screen optimization
$useBiggerIcons = $properties->contains("touchScreen", true);
// example 4: Send Geo Location JS to client?
$supportsGeoLocation = $properties->contains("js.geoLocation", true);
// example 5: Get the device orientation (degrees)
int deviceOrientation = $properties->containsKey("bjs.deviceOrientation")?
$properties->get("bjs.deviceOrientation")->asInteger(): 0;
}
```
### Examples ###
Various examples are included in this package to clearly demonstrate the API
features, usage and some use cases. These examples are very simple and are
heavily commented.
#### Basic Usage ####
Includes six examples. Three simple command line examples which
use DeviceApi to detect and get properties from header sets and client-side
component. These examples show how the headers and client-side components
help getting precise property values from Opera mini browsers and iPhone
devices. Three simple web examples to be used in a web application. These
examples use the DeviceAtlasWeb and the request object to automatically detect
and get the properties for the request. Using the client-side-component is shown
in these web examples.
#### Redirection ####
This web example uses the DeviceApiWeb to get properties for
the current request and then uses some basic property values to decide which
website provides the most suitable content for the device making the request.
#### Content Adaptation ####
This web example uses the DeviceApiWeb to get properties for the device making
the current request and then uses some basic property values to choose a suitable
template to wrap around the content.
#### Analytics ####
This web example uses the DeviceApi to get properties for user-agents from a
given list. Some properties such as vendor, browser name and device type are
aggregated and the results are displayed as graphs and numbers.
#### Content Targeting ####
This example uses the DeviceApiWeb to detect the device and use some of its
properties to show certain advertisements and download links which may be
related or of interest to the user, considering his/her device.
This is a web example.
Note that in the web examples which use the DeviceApiWeb, the client side
properties are taken into account automatically by the API if the cookie exists
on the browser. This means if the cookie already exists within your browser you
will still see the client side properties in a getProperties call which has not
included the DeviceAtlas client side component. You can delete the cookie
manually to see the differences between the results from examples which use the
client side component and those that don't.
To run the web application examples, follow these steps:
* Edit the example files and update the data file path.
* Run the CLI examples from command line.
* Run the web applications in a browser http://yourwebserver/ExampleName/ .
### Upgrading ###
If you are currently using a DeviceAtlas Enterprise API version prior to 2.0.
Please see the [Upgrade readme file](README.Upgrade.html) for more information.
### Optimizations ###
When the DeviceApi or DeviceApiWeb are used in a stateless environment such as in
a Web Server, the data file has to be loaded on each request because PHP is
a stateless language. While this works, it greatly impacts performance. To
address this issue this API provides two ways to optimize the memory usage and
lookup performance.
#### Data File Optimization ####
It is highly recommended to use the data file optimizer. The optimizer breaks
the data file into smaller parts and caches them on the disk. The API will use
the cached data instead and will only lead the data needed for a certain lookup
into the memory.
```php
$config = new Mobi_Mtld_DA_Device_Config();
$config->setUseTreeOptimizer(true);
$deviceApi = new Mobi_Mtld_DA_Device_DeviceApiWeb($config);
try {
$deviceApi->loadDataFromFile("/path/to/datafile.json");
} catch (Exception $x) {
}
```
Using the DeviceApi or DeviceApiWeb as shown above will:
* Automatically optimize the data file (datafile.json).
* Automatically sense a newer data file when the data file is replaced or changed
and will optimize the new data file and renew the optimization cache.
* The API will use the cached data files for optimized device lookups when they
are available.
Note: as soon as the API senses a new data file, it will perform an optimization
process on it's usage. This means that, in a web application, the first request
after a data file update will experience a small lag. If you wish to eliminate
this lag, you may manually run the optimization process using a command line tool
which comes with the API package.
```php
php ExtraTools/DeviceApiCache/data-file-optimizer.php -c /path/to/datafile.json
```
Using this command line tool you can also perform the following actions:
* Get a small speed and memory usage analysis report by comparing the data file
with the optimized data file.
```php
php ExtraTools/DeviceApiCache/data-file-optimizer.php -a /path/to/datafile.json
```
* Clear the optimization cache files of a data file.
```php
php ExtraTools/DeviceApiCache/data-file-optimizer.php -d /path/to/datafile.json
```
If you want to manually update the optimization caches with the command line tool
then you may want to turn off the DeviceApi data file change checking which would
be unnecessary:
```php
$config = new Mobi_Mtld_DA_Device_Config();
$config->setUseTreeOptimizer(true);
$config->setIgnoreDataFileChanges(true);
$deviceApi = new Mobi_Mtld_DA_Device_DeviceApiWeb($config);
try {
$deviceApi->loadDataFromFile("/path/to/datafile.json");
} catch (Exception $x) {
}
```
By default the optimized data caches will be put inside the system temp directory,
however you can change this temp/cache directory:
```php
$config = new Mobi_Mtld_DA_Device_Config();
$config->setUseTreeOptimizer(true);
$config->setOptimizerTempDir('/path/to/my/temp-directory');
$deviceApi = new Mobi_Mtld_DA_Device_DeviceApiWeb($config);
try {
$deviceApi->loadDataFromFile("/path/to/datafile.json");
} catch (Exception $x) {
}
```
The custom temp directory, if implemented, must always be passed to the command
line tool as shown below:
```php
php ExtraTools/DeviceApiCache/data-file-optimizer.php -c /path/to/datafile.json -t /custom/temp-directory
php ExtraTools/DeviceApiCache/data-file-optimizer.php -a /path/to/datafile.json -t /custom/temp-directory
php ExtraTools/DeviceApiCache/data-file-optimizer.php -d /path/to/datafile.json -t /custom/temp-directory
```
#### Using Cache Providers ####
While the DeviceAtlas API lookups are very fast, caching the lookup results will
eliminate repeated unnecessary future lookups. Currently there are three cache
providers available APC, Memcache and file-cache. The API can be configured to
cache the results for a request, header set or user-agent. For future requests
the API will return the cached results if they exists.
```php
$config = new Mobi_Mtld_DA_Device_Config();
require_once '/path/to/Api/CacheProvider/ApcCacheProvider.php';
$config->setCacheProvider(new Mobi_Mtld_DA_CacheProvider_ApcCacheProvider());
$deviceApi = new Mobi_Mtld_DA_Device_DeviceApiWeb($config);
/* (2) load the data file */
try {
$deviceApi->loadDataFromFile("/path/to/datafile.json");
} catch (Exception $x) {
}
```
The default cache expiry time is 86400 seconds, which is one day. To change this
time limit, pass the new value to the cache provider constructor like this:
```php
$config = new Mobi_Mtld_DA_Device_Config();
require_once '/path/to/Api/CacheProvider/ApcCacheProvider.php';
$config->setCacheProvider(new Mobi_Mtld_DA_CacheProvider_ApcCacheProvider(604800));
```
If you want to use a cache provider that is not available within the DeviceAtlas
package:
Create a class that implements the
Mobi_Mtld_DA_CacheProvider_CacheProviderInterface located in
/path/to/Api/CacheProvider/CacheProviderInterface.php
#### Using both optimizations together ####
The two optimizations are not related to each other, you may use only one of the
optimizations or both together.  All rights reserved. https://deviceatlas.com _


Hello,
I'm using emoncms on an raspberry pi with an external hd in a very old version since 2 years. Yesterday I installed an emontx V3 to monitor my energy consumption and it worked immediatly!
After that i also updated the emoncms Webserver. I read that the module rfm12pi is no longer supported and to use the new emonhub modulem is the better decision.
So, I installed also emonhub. After that my feeds didn't work anymore. I couldn't receive any data. The emnonhub installed correctly, but I got the following error:
2015-11-15 21:23:20,782 WARNING emonCMS send failure: wanted 'ok' but got '

Fatal error: Uncaught exception 'Exception' with message 'ABORTED: Engine id '1' is not supported.' in /var/www/emoncms_new/Modules/feed/feed_model.php:71
Stack trace:
#0 /var/www/emoncms_new/Modules/feed/feed_model.php(530): Feed->EngineClass('1')
#1 /var/www/emoncms_new/Modules/process/process_processlist.php(211): Feed->insert_data('25',<PHONE_NUMBER>,<PHONE_NUMBER>, 136)
#2 [internal function]: Process_ProcessList->log_to_feed('25',<PHONE_NUMBER>, 136, NULL, Object(Process))
#3 /var/www/emoncms_new/Modules/process/process_model.php(47): call_user_func_array(Array, Array)
#4 /var/www/emoncms_new/Modules/process/process_model.php(87): Process->__call('log_to_feed', Array)
#5 /var/www/emoncms_new/Modules/process/process_model.php(87): Process->log_to_feed('25',<PHONE_NUMBER>, 136, NULL)
#6 /var/www/emoncms_new/Modules/input/input_controller.php(169): Process->input(1447615099, -136, '2:-1,1:25,4:28,...')
#7 /var/www/emoncms_new/core.php(64): input_controller()
#8 /var/www/emoncms_new/index.php(122): controller('input')
#9 {main}
t in /var/www/emoncms_new/Modules/feed/feed_model.php on line 71

I didn't find any hint in the forum yet, so I like to ask if any knows this problem.
To loose no data, I switched back to rfm12pi and now it works as before.
Thanx in advance,
Michael
Re: Problems with emonhub after updating
Hi Michael.
The error message you supply tells us there is an issue in emoncms and that error message is being passed back to emonhub, which in turn is objecting because it expects "ok" to confirm succesful posting.
Is emonhub loglevel set to "DEBUG" in emonhub.conf? this may provide more info IF emoncms is erroring due to a bad posting from emonhub.
Is "$display_errors = false" set in emoncms settings.php ? This isn't likely to fix the issue but it will stop emoncms tripping emonhub up unnecessarily and is therefore the correct setting for use with emonhub.
When you say you have reverted to the rfm2pi module, do you mean with the older emoncms or with the new v9?
The emoncms error seems to point to a unsupported data engine so could (hopefully) be just a setting in emoncms settings.php, pay particular attention to the "feed settings" as you have to specify which engines to NOT to support.
Although feed engine type 1 is not available as "timestore" is no longer used . You will probably need to convert the timestore feeds, see usefulscripts, perhaps someone in the know about timestore can assist further.
Paul
Re: Problems with emonhub after updating
Perhaps the same issue/fix this user had?
http://openenergymonitor.org/emon/node/11526
Re: Problems with emonhub after updating
Hi Paul,
thanx for your answer. I'll try that and post the result.
Michael
Re: Problems with emonhub after updating
Hi Bill,
thanx for the hint. I already stumpled many times over that entry. I didn't think, that this solution is a real one, because I couldn't understand, how the cache in an external browser could affect a service on my pi, even if this browser isn't connect. I'd tried it nevertheless and the result was as predicted.
Michael
Re: Problems with emonhub after updating
Hi Paul,
till now no succes. I started emonhub again, this time in DEBUG Mode. It seems to work correctly, because I can see the data of the sensors coming in, but also the error persists.
What I didn't do yet, is to transform my feeds. There I have an question: Is mysql no longer supported? I got a little confused with the various possibilities to store the data. Have understood it right, that all these PHPFINA, PHPFIWA and so on are only file based methods to store the data.
I had my data in a mysql database and I like to continue with that. So, if I convert my data in my be PHPFINA, I don't need the mysql database any more?
You asked if I used the v9 version of rfm12: No. It was the previos installation that I had and sorry, but I don't know the version, neither do I know how to find out.
Ok, if there's something new, I'll post it.
Michael
Re: Problems with emonhub after updating
I'm not altogether sure of the steps that you took with this installation, but...
Do you have 2 rf interfaces running at the same time, the rfm12pi software and emonhub? i.e. Was the rfm12pi software installed first, then when you have installed v9 you have also installed emonhub?
if so, that may explain the error you are having, and to correct it, you will need to remove the rfm12pi software, so you only have emonhub handling the data.
Does that sound likely pb66?
Paul
Re: Problems with emonhub after updating
Hi Paul,
I know, that only one of the two, is allowed to run at the same time. I installed both, but only started the one I'm testing with. I think I don't made a mistake there.
So, for today this is it. Will continue tomorrow.
Thank you, for your help!!
Michael
Re: Problems with emonhub after updating
@Paul - What you say is correct but unlikely to be the issue at hand as the reported error is generated by emoncms, confirmed now as Michael seems confident that part is ok,
@Bill - I think that post may be a bit of ared herring as I cannot see any link between the reported error (which is of the same type) and clearing the cache, I think that error was unrelated to the reason a browser cache "fixed" the issue and the "engine 1" error was fixed or is still present. On that post the error is reported as emoncms.log contents rather than a reply recorded in emonhub.log.
@Michael - the main check should be is "$display_errors = false" set in emoncms settings.php ? then you can see if the correctly parsed data is being forwarded to emoncms and if an "ok" response is given,
As long as emoncms receives the data and confirms receipt, emonhub should be fully functional and then you can see if the data is or isn't being processed in emoncms.
mySQL is supported in v9 (if not excluded by the "hidden engines" settings in settings.php) it is normal for mySQL feeds NOT to be active in low-write mode to reduce SDcard wear but since you have a hdd you should be ok with SQL feeds, the mySQL tables for non-feed data ie settings, users, dashboards, inputs etc are present in all emoncms versions and not to be confused with the mySQL data feeds.
You can get a report of all your feeds including engine type using
http://IP.OR.HOST/emoncms/feed/list.json&apikey=123456.......
Do you have any timestore "engine 1" feeds? if so are they active ?
I wouldn't worry too much about converting feeds just yet until it's confirmed to be needed, at most it should only be datastore (engine type 1) that could be an issue if you have that type and the issue persists after emonhub is posting without the error being returned, with the correct "$display_errors = false" set there should only be one of 2 replies expected from emoncms "ok" is successful and "" is not,
As yet we cannot be sure of the accuracy or validity of the error message, since it could be under suspicion due to the possible red-herring or coincidental "cache fix".
Paul
Re: Problems with emonhub after updating
Hi Paul,
here is the list of my feeds:
[
{"id":"9","name":"20 Spannung","userid":"1","tag":"null","datatype":"1","public":"0","size":"1976876","engine":"1","time":false,"value":null,"processList":""},
{"id":"12","name":"10 Temperatur","userid":"1","tag":null,"datatype":"1","public":"0","size":"1976836","engine":"1","time":false,"value":null,"processList":""},
{"id":"13","name":"18 Temperatur","userid":"1","tag":null,"datatype":"1","public":"0","size":"1976828","engine":"1","time":false,"value":null,"processList":""},
{"id":"14","name":"18 Spannung","userid":"1","tag":null,"datatype":"1","public":"0","size":"1976820","engine":"1","time":false,"value":null,"processList":""},
{"id":"7","name":"20 Temperatur","userid":"1","tag":null,"datatype":"1","public":"0","size":"1976916","engine":"1","time":false,"value":null,"processList":""},
{"id":"20","name":"20 Feuchte","userid":"1","tag":null,"datatype":"1","public":"0","size":"395564","engine":"1","time":false,"value":null,"processList":""},
{"id":"18","name":"19 Spannung","userid":"1","tag":null,"datatype":"1","public":"0","size":"988524","engine":"1","time":false,"value":null,"processList":""},
{"id":"17","name":"19 Temperatur","userid":"1","tag":null,"datatype":"1","public":"0","size":"988532","engine":"1","time":false,"value":null,"processList":""},
{"id":"34","name":"Phase2neu ","userid":"1","tag":null,"datatype":"1","public":"0","size":null,"engine":"1","time":false,"value":null,"processList":""},
{"id":"25","name":"Phase1","userid":"1","tag":null,"datatype":"1","public":"0","size":null,"engine":"1","time":false,"value":null,"processList":""},
{"id":"26","name":"Phase2","userid":"1","tag":null,"datatype":"1","public":"0","size":null,"engine":"1","time":false,"value":null,"processList":""},
{"id":"27","name":"Phase3","userid":"1","tag":null,"datatype":"1","public":"0","size":null,"engine":"1","time":false,"value":null,"processList":""},
{"id":"28","name":"Energie1","userid":"1","tag":null,"datatype":"1","public":"0","size":null,"engine":"1","time":false,"value":null,"processList":""},
{"id":"29","name":"Energie2","userid":"1","tag":null,"datatype":"1","public":"0","size":null,"engine":"1","time":false,"value":null,"processList":""},
{"id":"30","name":"VerbrauchTag2","userid":"1","tag":null,"datatype":"2","public":"0","size":null,"engine":"0","time":false,"value":null,"processList":""},
{"id":"31","name":"VerbrauchTag1","userid":"1","tag":null,"datatype":"2","public":"0","size":null,"engine":"0","time":false,"value":null,"processList":""},
{"id":"32","name":"Energie3","userid":"1","tag":null,"datatype":"1","public":"0","size":null,"engine":"1","time":false,"value":null,"processList":""},
{"id":"33","name":"VerbrauchTag3","userid":"1","tag":null,"datatype":"2","public":"0","size":null,"engine":"0","time":false,"value":null,"processList":""},
{"id":"35","name":"New Virtual Feed","userid":"1","tag":"Virtual","datatype":"1","public":"0","size":null,"engine":"7","time":null,"value":null,"processList":""},
{"id":"36","name":"Spannung Node9","userid":"1","tag":null,"datatype":"1","public":"0","size":null,"engine":"1","time":false,"value":null,"processList":""},
{"id":"37","name":"node:9:12","userid":"1","tag":"Node 9","datatype":"1","public":"0","size":null,"engine":"0","time":false,"value":null,"processList":""},
{"id":"38","name":"node:9:12","userid":"1","tag":"Node 9","datatype":"1","public":"0","size":null,"engine":"0","time":false,"value":null,"processList":""}
]
As you see there are lots of engine:1. I'll try to convert my data and see if this will help.
I'll also switch off the display_error and see what I get.
Till later!
Something else: Where can I get rfm12 V9 or how can I see if I have it already? 'sudo service rfm12piphp status' doesn't tell me anything...
Michael
Re: Problems with emonhub after updating
Hi all,
sorry, that I didn't show up earlier. I'd tried all your suggestions but it didn't bring me anywhere. So, i decided to back up my data and perform a complete new installation. So, here I am.
The good part is: Emonhub is running without errors and I can the data coming in.
The bad part: If I try to create a new fees, I get the error: Feed could not be created, undefined.
So, I searched the forum and there many cases, but none of them worked for me!
Do you have any idea?
Thanx in advance!!
Michael
Re: Problems with emonhub after updating
Can you give a link to which installation guide you used please.
Also did you install a fresh OS, and which one - Wheezy or Jessie?
Paul
Re: Problems with emonhub after updating
Hi Micheal,
I haven't been about much lately and missed your last but one post.
rfm12piphp is replaced by emonHub so there is no v9 or need for it.
As Paul says more info would help, but the usual suspect is the feed folder permissions
Paul
Re: Problems with emonhub after updating
Hi Paul,
I used the guide that comes with the installation:
https://github.com/emoncms/emoncms/blob/9.0/docs/RaspberryPi/readme.md
I didn't install a new OS (i have wheezy), only deleted all emoncms things.
Thx,
Michael
Re: Problems with emonhub after updating
Hi together,
at last I succeded!
The problem with the new installation was the browser cache!! (Someone mentioned this before, but in other circumstances). I used accidentally another browser, normaly firefox, and t o build a new fedd worked immediatly. So I cleared the cache in firefox and from that time it worked also.
I had then a working system (V9), but without my old data. To transfer the old timestore in the old database to the new database as phpfiwa I did the following:
Thanks a lot for your help!
Till next tme,
Michael


iTunes 6.0.1 and Cover Art
-
AdamG
Just downloaded and installed Synergy 2.1 ... sweet. Cover art only works intermittanly in the floater, however. The software was only successful in locating and displaying one cover so far that wasn't already in iTunes. I've verified that covers for the songs I'm playing exist on Amazon and were located by Clutter, so I would expect that Synergy would find the same covers, but it doesn't. Is this a problem with iTunes 6.0.1 or something else?
-
Greg Hurrell
There are no known problems with Synergy 2.1 and iTunes 6.0.1. The cover downloads do sometimes take a while to appear because Synergy keeps them in a queue and only issues them to Amazon after a set interval. This is because Amazon in the past has blocked access to their servers by Synergy because they saw too many hits and not enough sales. So I had to increase the interval between queries. If you're patient, the results eventually will come in.
This is still an ongoing issue. I still do get the occasional email from Amazon commenting that they are seeing too many hits and not enough sales. When they pulled the plug (back in late 2003) they did so without any advance warning. So I have to tread carefully because I don't want them to pull the rug out from under me again.
-
AdamG
Thanks for the reply. I understand the delay now, and why it's intermittant.
I really like your software. Elegant. Simple. Does what it's supposed to do. Nice work.
Reply
This topic is now closed.


Hi,
I am successfully collecting data from an emonTX V3 but want to add several emonTH to record temperature and humidity in different rooms. This will finally link to some RF TRV for heating.
The question I have is how to I received data from several emonTH and emonTX at the same time. I am using a JeeLink to received data with the following sketch:
//Simple RFM12B wireless demo - Receiver - no ack //Glyn Hudson openenergymonitor.org GNU GPL V3 12/4/12 //Credit to JCW from Jeelabs.org for RFM12 #include <JeeLib.h> #define myNodeID 30 //node ID of Rx (range 0-30) #define network 210 //network group (can be in the range 1-250). #define RF_freq RF12_433MHZ //Freq of RF12B can be RF12_433MHZ, RF12_868MHZ or RF12_915MHZ. Match freq to module typedef struct { int power1, power2, power3, power4, Vrms, temp; } PayloadTX; // create structure - a neat way of packaging data for RF comms PayloadTX emontx; const int emonTx_NodeID=10; //emonTx node ID void setup() { rf12_initialize(myNodeID,RF_freq,network); //Initialize RFM12 with settings defined above Serial.begin(9600); #ifdef DEBUG Serial.println("RF12B demo Receiver - Simple demo"); Serial.print("Node: "); Serial.print(myNodeID); Serial.print(" Freq: "); if (RF_freq == RF12_433MHZ) Serial.print("433Mhz"); if (RF_freq == RF12_868MHZ) Serial.print("868Mhz"); if (RF_freq == RF12_915MHZ) Serial.print("915Mhz"); Serial.print(" Network: "); Serial.println(network); #endif // DEBUG } void loop() { if (rf12_recvDone()){ if (rf12_crc == 0 && (rf12_hdr & RF12_HDR_CTL) == 0) { int node_id = (rf12_hdr & 0x1F); //extract nodeID from payload if (node_id == emonTx_NodeID) { //check data is coming from node with the corrct ID emontx=*(PayloadTX*) rf12_data; // Extract the data from the payload Serial.print(emontx.power1); // Solar power produced Serial.print(","); Serial.print(emontx.power2); // Power consumed Serial.print(","); Serial.println(emontx.temp); // Temperature } } } }
How would I extend this to read from multiple emonTH?
Thanks in advance,
Geoff
Re: emonTH and emonTX V3
Updated formatting
Re: emonTH and emonTX V3
The bit you are interested in is:
if (node_id == emonTx_NodeID) { //check data is coming from node with the corrct ID
emontx=*(PayloadTX*) rf12_data; // Extract the data from the payload
Serial.print(emontx.power1); // Solar power produced
Serial.print(",");
Serial.print(emontx.power2); // Power consumed
Serial.print(",");
Serial.println(emontx.temp); // Temperature
}
That decodes information received from node "emonTx_NodeID". You need similar code for each node you wish to receive from. You'll need to add the appropriate data structure to decode the data, of course, and you must give each node within radio range its own, unique, node ID.
For the emonTHs, you'll need something like this:
typedef struct { // RFM12B RF payload datastructure
int temp;
int temp_external;
int humidity;
int battery;
} PayloadTH;
PayloadTH emonth1, emonth2, emonth3;
and then
if (node_id == emonTH1_NodeID) { //check data is coming from node with the correct ID
emontx=*(PayloadTH*) rf12_data; // Extract the data from the payload
Serial.println(emonth1.temp_external);
// [etc]
}
for each emonTH.
Re: emonTH and emonTX V3
Thanks Robert. I'll let you know how I get on.
Re: emonTH and emonTX V3
Richard - all up and running. I needed to upload the sketch to the emonTH - I had expected this to come preloaded with software as per the emonTX V3.


Links to specific controllers
Ultra Calculator (CalculatorController#calculator(String, String))
Show Password (PasswordController#passGen(String, Map))
Rings Quoted (RingsQuote#findLOTRquote(Map))
Requires API key in properties
Api Documentation (SpringSwaggerConf)
Ultra Agent (UserAgentController#welcome(String, Map))
Flip a coin and guess the result! (game)
Play space Invaders
Text Word Counter (TextCounterController#textCounter(String, Map))
Ultra Counter
Show my home!
Sandbox
time
@
Your IP is
Your Host is
The JAVA version used is
Today's lucky colour is
Temperatura actual en Zaragoza
ºC
Access to the password generator


reinit
The command reinitializes mocha to the state in which it starts operation when mocha is typed at the shell.


Jackpot! Lottery tickets on sale for 1st time in Mississippi
by Associated PressJACKSON, Miss. (AP) — Mississippi residents don’t have to leave the state to buy lottery tickets anymore.
Tickets go on sale Monday. The tickets will be available in roughly 1,200 convenience stores and other sites.
For decades Mississippi was one of only six states without a lottery. There was strong opposition from politically powerful churches.
But the state’s lack of money for road maintenance changed that.
In 2018, lawmakers authorized a lottery as the state was forced to close hundreds of unsafe bridges. The first $80 million a year from lottery revenue will go to highways, then the rest goes to education.
Democratic state Rep. Alyce Clarke of Jackson will buy the ceremonial first ticket Monday morning at a convenience store in south Jackson.
She’s advocated for a lottery for years.