Copyright Notice
"Clone
me," says Dolly sheepishly
The following copyright notice applies to all files collectively called the Network Time Protocol Version 4 Distribution. Unless specifically declared otherwise in an individual file, this notice applies as if the text was explicitly included in the file.
/***********************************************************************
* *
* Copyright (c) David L. Mills 1992-1998 *
* *
* Permission to use, copy, modify, and distribute this software and *
* its documentation for any purpose and without fee is hereby *
* granted, provided that the above copyright notice appears in all *
* copies and that both the copyright notice and this permission *
* notice appear in supporting documentation, and that the name *
* University of Delaware not be used in advertising or publicity *
* pertaining to distribution of the software without specific, *
* written prior permission. The University of Delaware makes no *
* representations about the suitability this software for any *
* purpose. It is provided "as is" without express or implied *
* warranty. *
**********************************************************************/
The following individuals contributed in part to the Network Time Protocol Distribution Version 4 and are acknowledged as authors of this work.
-
Mark Andrews<EMAIL_ADDRESS>Leitch atomic clock controller
-
Viraj Bais<EMAIL_ADDRESS>and Clayton Kirkwood<EMAIL_ADDRESS>port to WindowsNT 3.5
-
Karl Berry<EMAIL_ADDRESS>syslog to file option
-
Piete Brooks<EMAIL_ADDRESS>MSF clock driver, Trimble PARSE support
-
Steve Clift<EMAIL_ADDRESS>OMEGA clock driver
-
Casey Crellin<EMAIL_ADDRESS>vxWorks (Tornado) port and help with target configuration
-
Casey Crellin<EMAIL_ADDRESS>VxWorks (Tornado) port and help with target configuration
-
Torsten Duwe<EMAIL_ADDRESS>Linux port
-
John A. Dundas III<EMAIL_ADDRESS>Apple A/UX port
-
Dennis Ferguson<EMAIL_ADDRESS>foundation code for NTP Version 2 as specified in RFC-1119
-
Glenn Hollinger<EMAIL_ADDRESS>GOES clock driver
-
Mike Iglesias<EMAIL_ADDRESS>DEC Alpha port
-
Jim Jagielski<EMAIL_ADDRESS>A/UX port
-
Jeff Johnson<EMAIL_ADDRESS>massive prototyping overhaul
-
William L. Jones<EMAIL_ADDRESS>RS/6000 AIX modifications, HPUX modifications
-
Dave Katz<EMAIL_ADDRESS>RS/6000
AIX port
-
Craig Leres<EMAIL_ADDRESS>4.4BSD port, ppsclock, Maganavox GPS clock driver
-
George Lindholm<EMAIL_ADDRESS>SunOS 5.1 port
-
Louis A. Mamakos<EMAIL_ADDRESS>MD5-based authentication
-
Derek Mulcahy<EMAIL_ADDRESS>and Damon Hart-Davis<EMAIL_ADDRESS>ARCRON
MSF clock driver
-
Lars H. Mathiesen<EMAIL_ADDRESS>adaptation of foundation code for Version 3 as specified in RFC-1305
-
David L. Mills<EMAIL_ADDRESS>Version 4 foundation, Spectractom WWVB, Austron GPS, Arbiter GPS, CHU,
Heath, ATOM, ACTS, KSI/Odetics, IRIG clock drivers; PPS support; precision
kernel; NTPv4 changes
-
Wolfgang Moeller<EMAIL_ADDRESS>VMS port
-
Jeffrey Mogul<EMAIL_ADDRESS>ntptrace utility
-
Tom Moore<EMAIL_ADDRESS>i386 svr4 port
-
Rainer Pruy<EMAIL_ADDRESS>monitoring/trap scripts, statistics file handling
-
Dirce Richards<EMAIL_ADDRESS>Digital UNIX V4.0 port
-
Nick Sayer<EMAIL_ADDRESS>SunOS streams modules
-
Frank Kardel
<EMAIL_ADDRESS>PARSE <GENERIC> driver (14 reference clocks), STREAMS modules for PARSE,
support scripts, syslog cleanup
-
Ray Schnitzler<EMAIL_ADDRESS>Unixware1 port
-
Michael Shields<EMAIL_ADDRESS>USNO clock driver
-
Jeff Steinman<EMAIL_ADDRESS>Datum PTS clock driver
-
Harlan Stenn<EMAIL_ADDRESS>GNU automake/autoconfigure makeover
-
Kenneth Stone<EMAIL_ADDRESS>HP-UX port
-
Ajit Thyagarajan<EMAIL_ADDRESS>IP multicast support
-
Tomoaki TSURUOKA<EMAIL_ADDRESS>TRAK clock driver
-
Paul A Vixie<EMAIL_ADDRESS>TrueTime
GPS driver, generic TrueTime clock driver
-
Ulrich Windl<EMAIL_ADDRESS>corrected and validated HTML documents according to the HTML DTD
-
Wilfredo Sánchez<EMAIL_ADDRESS>added support for NetInfo
David L. Mills <mills@udel.edu>


Welcome to the Home Page!
Click here to see the disney dwarfs.
Click here to see the tolkien dwarves.
Click here for memes


Bartleby the Scrivener, from Herman Melville's 1853 story of that name, is one of the most numinous characters in literature. Though fictional, he has always seemed to me to be a role model, a man to emulate if we wish to live a better life. Handily, for those of us seeking to Be Bartleby, the estimable John Ptak at Ptak Science Books has gathered into a single list all the separate utterances of our hero. Armed with the list, we can confine our own speech to the words and phrases spoken by the scrivener. Note how splendidly appropriate they are to almost every conceivable situation.
“I would prefer not to.”
“I would prefer not to.”
“What is wanted?”
“I would prefer not to.”
“I would prefer not to.”
“I prefer not to”
“I prefer not to”
“I would prefer not to”
“I prefer not.”
“I would prefer not to.”
“I would prefer not to.”
“At present I prefer to give no answer”
“At present I would prefer not to be a little reasonable”
“I would prefer to be left alone here”
“No more”
“Do you not see the reason for yourself?”
“I have given up copying”
“I would prefer not”
“I am very sorry, sir”
“Sitting upon the banister,”
“No, I would prefer not to make any change”
“There is too much confinement about that. No, I would not like a clerkship; but I am not particular.”
“I would prefer not to take a clerkship”
“I would not like it at all; though, as I said before, I am not particular.”
“No, I would prefer to be doing something else.”
“Not at all. It does not strike me that there is any thing definite about that. I like to be stationary. But I am not particular.”
“No: at present I would prefer not to make any change at all.”
“I know you, and I want nothing to say to you.”
“I know where I am”
“I prefer not to dine to-day,”
“It would disagree with me; I am unused to dinners.”


QQmlFileSelector Class
A class for applying a QFileSelector to QML file loading More...
| Header: | #include <QQmlFileSelector> |
| qmake: | QT += qml |
| Since: | Qt 5.2 |
| Inherits: | QObject |
Public Functions
| QQmlFileSelector(QQmlEngine *engine, QObject *parent = Q_NULLPTR) | |
| ~QQmlFileSelector() | |
| QFileSelector * | selector() const |
| void | setExtraSelectors(QStringList &strings) |
| void | setExtraSelectors(const QStringList &strings) |
| void | setSelector(QFileSelector *selector) |
- 32 public functions inherited from QObject
Static Public Members
| QQmlFileSelector * | get(QQmlEngine *engine) |
- 10 static public members inherited from QObject
Additional Inherited Members
- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 2 signals inherited from QObject
- 1 public variable inherited from QObject
- 9 protected functions inherited from QObject
- 2 protected variables inherited from QObject
Detailed Description
A class for applying a QFileSelector to QML file loading
QQmlFileSelector will automatically apply a QFileSelector to qml file and asset paths.
It is used as follows:
QQmlEngine engine; QQmlFileSelector* selector = new QQmlFileSelector(&engine);
Then you can swap out files like so:
main.qml Component.qml asset.png +unix/Component.qml +mac/asset.png
In this example, main.qml will normally use Component.qml for the Component type. However on a unix platform, the unix selector will be present and the +unix/Component.qml version will be used instead. Note that this acts like swapping out Component.qml with +unix/Component.qml, so when using Component.qml you should not need to alter any paths based on which version was selected.
For example, to pass the "asset.png" file path around you would refer to it just as "asset.png" in all of main.qml, Component.qml, and +linux/Component.qml. It will be replaced with +mac/asset.png on Mac platforms in all cases.
For a list of available selectors, see QFileSelector
.
Your platform may also provide additional selectors for you to use. As specified by QFileSelector, directories used for selection must start with a '+' character, so you will not accidentally trigger this feature unless you have directories with such names inside your project.
If a new QQmlFileSelector is set on the engine, the old one will be replaced. Use QQmlFileSelector::get() to query or use the existing instance.
Member Function Documentation
QQmlFileSelector::QQmlFileSelector(QQmlEngine *engine, QObject *parent = Q_NULLPTR)
Creates a new QQmlFileSelector with parent object parent, which includes its own QFileSelector. engine is the QQmlEngine you wish to apply file selectors to. It will also take ownership of the QQmlFileSelector.
QQmlFileSelector::~QQmlFileSelector()
Destroys the QQmlFileSelector object.
[static]
QQmlFileSelector *QQmlFileSelector::get(QQmlEngine *engine)
Gets the QQmlFileSelector currently active on the target engine.
QFileSelector *QQmlFileSelector::selector() const
Returns the QFileSelector instance used by the QQmlFileSelector.
This function was introduced in Qt 5.7.
See also setSelector().
void QQmlFileSelector::setExtraSelectors(QStringList &strings)
Adds extra selectors contained in strings to the current QFileSelector being used. Use this when extra selectors are all you need to avoid having to create your own QFileSelector instance.
void QQmlFileSelector::setExtraSelectors(const QStringList &strings)
Adds extra selectors contained in strings to the current QFileSelector being used. Use this when extra selectors are all you need to avoid having to create your own QFileSelector instance.
void QQmlFileSelector::setSelector(QFileSelector *selector)
Sets the QFileSelector instance for use by the QQmlFileSelector to selector. QQmlFileSelector does not take ownership of the new QFileSelector. To reset QQmlFileSelector to use its internal QFileSelector instance, call setSelector(0).
See also selector().


I am a 32 year old mother of 2 young boys, now 6 and 4. I also received my graduate education in nursing from one of the world's leading universities. With marital problems and the normal every day stress of being a mother, I began to experience extreme generalized anxiety. I was initially placed on Lexapro. It was great, but made me too tired to function. My PCP recommended Paxil but I quickly learned it did nothing for me. I then started Effexor 37.5mg XR once every day. It too made me very tired. But it also made me feel sedate. I figured out that if I took it at bedtime, I was able to sleep better than I had ever before. My PCP raised the does to 75mg XR once a day. I was off and running.
I experienced a warm chilling sensation over my entire body at random times. It was a good feeling. Weird, but good. I had an increase in my appetite. Nothing crazy, I had a 5 lb. weight gain as a result. I had mild headaches during the first 2 to 3 weeks of begining the drug. I was more even tempered and patient with my children. Life was good.
I begin to experience a strange sensation after about a month or so of taking Effexor. If I missed a dose, I would notice at random times a visual vibration. The best way I can describe this is if you have ever watched a football game on TV, occasionally the players hit into a camera just enough that we see the picture vibrate. Or taking home video and the person doing the filming is shaking slightly. I have heard similar descriptions called 'brain shivers', 'electric buzzes', 'shock waves', 'electric shocks', vertigo, and nystagmus. I am assuming nystagmus is what it really is. When these 'shivers' occur, they happen (to me) rapidly and last anywhere from 1 to 3 seconds. Their frequency seems to be directly related to falling blood levels. If I missed 1 dose, they were not as frequent nor lasting as if I had missed 3 or 4 doses.
This 'shiver' or nystagmus as I believe, was fairly troubling as I tried to withdraw from the medication. But there was something else I experienced as more painful and bothersome. First let me complicate the story with the addition of another medication. After being on the Effexor for about 6 months or so, and seeing a therapist I was Dx. as having ADD (NOT attention deficit Hyperactivity disorder). I was placed on 30mg of Adderall XR (I tried one of my nanny's one occassion and thought, wow! someone turned the lights on!).
Anyway, I continued on this regime for another year and a half and decided I would try to come off the Effexor. I tried the cold turkey method. After 2 weeks of 'brain shivers' I began to experience the chills again only they were not the pleasent sensation I remembered when I first started the drug. I began to experience the chills multiple times of the day.  I could feel the sensation start at my feet and like a wave go all the way up to my neck and over my scalp. I would get the erector pili response as well (goose bumps). It literally felt as though the hair on my head was on end.
It was a warm rush but I felt ice cold. I mean like someone immersed me in ice cold water but internally I was very hot. I would become dizzy as well. On 2 occassions, I experienced a sudden onset of abdominal cramping, severe nausea, severe dizziness, profuse sweating to the point of soaking my shirt and sweat literally dripping onto the floor. I know enough to realize I was begining to lose consciousness. I was also hyperventilating. When the episodes would (thankfully) subside, my face and hands were ghastly white and my lips were grayish. More than likely I experienced a sudden and severe drop in blood pressure.
It took a full 6 weeks of weaning myself off the Effexor. It took another 2 to 3 weeks before my body felt back to normal (no shivers at all).
In my experience, and based on my education, I feel Effexor is a great drug for controlling generalized anxiety disorder. In the case of depression, I can not speak to Effexor's efficacy.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


---
layout: definitions
---
Subspaces $V_1, \dots, V_k\subseteq W$ are independent if for $v_1+\dots + v_k=0$, where $v_1\in V_1, \dots, v_k\in V_k$, then $v_1=\dots = v_k=0$.
Concepts
Coming soon
Used In
Coming soon
Hypothesis
Coming soon
Results
Coming soon


"FENCE "(Hebrews gader), Numbers 22:24 (R.V.). Fences were constructions of unmortared stones, to protect gardens, vineyards, sheepfolds, etc. From various causes they were apt to bulge out and fall(Psalm 62:3). In Psalm 80:12, R.V. (see Isaiah 5:5), the psalmist says,“Why hast thou broken down her fences?” Serpents delight to lurk in the crevices of such fences (Ecclesiastes 10:8; comp. Amos 5:19).
"FENCE "(Hebrews gader), Numbers 22:24 (R.V.). Fences were constructions of unmortared stones, to protect gardens, vineyards, sheepfolds, etc. From various causes they were apt to bulge out and fall(Psalm 62:3). In Psalm 80:12, R.V. (see Isaiah 5:5), the psalmist says,“Why hast thou broken down her fences?” Serpents delight to lurk in the crevices of such fences (Ecclesiastes 10:8; comp. Amos 5:19).


This is the widgets for accordion, look at the example!
This is the widgets for accordion, look at the example!
This is the widgets for accordion, look at the example!
This is the widgets for accordion, look at the example!
This is the widgets for accordion, look at the example!


About me
Hi, my name is Ahbleza and I'm an Indigenous person passionate about web development and creating functional and responsive websites. I've always been fascinated with technology and the internet but more so recently due to the pandemic; I began my journey to learn the necessary skills to ensure I can deliver products customers will love and be proud of. Being new, there are many things for me to learn and if there's something you've seen and desire, if I don't know how to do it then I will learn how to do it and deliver! I will be working on my technical writing to add that to my skills.


{% extends "players/layout.html" %} {% set active_page = 'players' %} {%block maincontent%}
| client_id | Connected | Heartbeat | Heartbeats | IP Address | Status |
|---|---|---|---|---|---|
| {{client.client_id}} | {{client.create_date | dt}} | {{client.heartbeat | dt}} | {{client.num_heartbeats}} | {{client.ip_address}} | {{client.status | status}} |


(Deprecated API)
(Deprecated API)
(Deprecated API)
Same great maps plus a SLA, support, and control over ads
Note: The Google Maps Javascript API Version 2 has been officially deprecated as of May 19, 2010. The V2 API will continue to work as per our deprecation policy, but we encourage you to migrate your code to version 3 of the Maps Javascript API.
The maps on http://maps.google.com
contain UI elements for allowing user interaction through the map. These
elements are known as controls and you can include variations of
these controls in your Google Maps API application. You can also build
your own custom controls by subclassing the GControl
class.
The Maps API comes with a handful of built-in controls you can use in your maps:
GLargeMapControl3D
- a large pan/zoom control
as now used on Google Maps. Appears in the top left corner of the map by default.GLargeMapControl
- a simpler large pan/zoom control. Appears in
the top left corner of the map by default.GSmallMapControl
- a smaller pan/zoom control. Appears in the top
left corner of the map by default.GSmallZoomControl3D
- a small zoom control
(with no panning controls) as now used on Google Maps.GSmallZoomControl
- a small zoom control
(no panning controls) used in the small map blowup windows used
to display driving directions steps on Google Maps.GScaleControl
- a map scaleGMapTypeControl
- buttons that let the user
toggle between map types (such as Map and Satellite)GHierarchicalMapTypeControl
- a selection of
nested buttons and menu items for placing many map type selectors.GOverviewMapControl
- a collapsible overview
map in the corner of the screenGNavLabelControl
- a dynamic label indicating
the "address" of the current viewport, appropriate to
zoom level.All of these controls are based on the GControl
object.
The GMapTypeControl
and GHierarchicalMapTypeControl
are
special cases because they are also configurable. These controls add functionality
to change the GMapType
currently used by the map within
the Google Maps API. For more information on configuring these controls, see
Modifying the Makeup of Standard Controls.
By default, a GMapTypeControl
displays a set of standard map types:
G_NORMAL_MAP
displays the normal, default 2D tiles of Google MapsG_SATELLITE_MAP
displays photographic tilesG_HYBRID_MAP
displays a mix of photographic tiles and a tile layer
for prominent features (roads, city names)For additional map types, see the Map Types section.
You may also define your own custom map types if you have imagery or overlays you have defined.
By default, the Google Maps API provides three map types: G_NORMAL_MAP
,
G_SATELLITE_MAP
, and G_HYBRID_MAP
. You may alter the map types available
to a map by removing them via GMap2.removeMapType()
or adding them via
GMap2.addMapType()
. Whenever you create a map type control, it uses the
currently attached map types and makes them available via the control. Note that you
must specify any relationships between map types before you add the control in order
for the map type control to pick up those relationships.
The code below removes G_HYBRID_MAP
from the available map types attached to a map,
leaving only two map types. Once we add the GMapTypeControl
, only those two map types
are available.
var map = new GMap2(document.getElementById("map_canvas"), { size: new GSize(640,320) } ); map.removeMapType(G_HYBRID_MAP); map.setCenter(new GLatLng(42.366662,-71.106262), 11); var mapControl = new GMapTypeControl(); map.addControl(mapControl); map.addControl(new GLargeMapControl());
View example (control-maptypes.html)
You add controls to the map with the GMap2
method addControl()
.
For example, to add the panning/zooming control you see on
Google Maps to your map, you would include the following line
in your map initialization:
map.addControl(new GLargeMapControl());
You can add multiple controls to a map. In this case, we add the
built-in GSmallMapControl
and GMapTypeControl
controls, which let us pan/zoom the map and switch
between Map and Satellite modes, respectively. The standard controls are
fully operational once they are included on a map.
var map = new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(37.4419, -122.1419), 13);
View example (control-simple.html)
The addControl
method takes an optional second
GControlPosition
parameter that lets you specify the
position of the control on your map. This value can be one of the
following values, each specifying a corner of the map in which to place
the control:
G_ANCHOR_TOP_RIGHT
G_ANCHOR_TOP_LEFT
G_ANCHOR_BOTTOM_RIGHT
G_ANCHOR_BOTTOM_LEFT
If this argument is excluded, the Maps API uses the default position specified by the control.
The GControlPosition
may optionally specify an offset
indicating how many pixels from the edge of the map to place the control.
These offsets are specified using a GSize
object.
This example adds the GMapTypeControl
to the top right corner of
the map with 10 pixels of padding. Double-clicking anywhere on the map
removes that control and places it in the bottom right corner of the map.
var map = new GMap2(document.getElementById"map_canvas")); var mapTypeControl = new GMapTypeControl(); var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10)); var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10)); map.addControl(mapTypeControl, topRight); GEvent.addListener(map, "dblclick", function() { map.removeControl(mapTypeControl); map.addControl(new GMapTypeControl(), bottomRight); }); map.addControl(new GSmallMapControl()); map.setCenter(new GLatLng(37.4419, -122.1419), 13);
View example (control-positioning.html)
See the
GControlPosition
class reference for more information.
Most of the controls within the Google Maps API provide a simple
control with standard behavior. Some controls, however, require
initialization for proper usage. For example, the
GHierarchicalMapTypeControl
generally requires
some initialization to show map types within a cascading "menu" in
the correct order.
This example adds the a G_PHYSICAL_MAP
map type with a
crosshair tile layer overlay to the map, and then creates a
GHierarchicalMapTypeControl
to
arrange the additional map types added to the map.
// define the crosshair tile layer and its required functions var crossLayer = new GTileLayer(new GCopyrightCollection(""), 0, 15); crossLayer.getTileUrl = function(tile, zoom) { return "./include/tile_crosshairs.png"; } crossLayer.isPng = function() {return true;} // Create a new map type incorporating the tile layer var layerTerCross = [ G_PHYSICAL_MAP.getTileLayers()[0], crossLayer ]; var mtTerCross = new GMapType(layerTerCross, G_PHYSICAL_MAP.getProjection(), "Ter+"); var map = new GMap2(document.getElementById("map_canvas"), { size: new GSize(640,320) } ); map.addMapType(G_PHYSICAL_MAP); map.addMapType(mtTerCross); map.setCenter(new GLatLng(37.4419, -122.1419), 4); var mapControl = new GHierarchicalMapTypeControl(); // Set up map type menu relationships mapControl.clearRelationships(); mapControl.addRelationship(G_SATELLITE_MAP, G_HYBRID_MAP, "Labels", false); mapControl.addRelationship(G_PHYSICAL_MAP, mtTerCross, "Crosshairs"); // Add control after you've specified the relationships map.addControl(mapControl); map.addControl(new GLargeMapControl());
View example (control-initialization.html)
The Google Maps API allows you to specify a set of UI behavior to your map all at once, rather than specify controls or behaviors individually. You can deploy these sets in one of two ways:
http://maps.google.com
GMapUIOptions
object to set up a custom set of controls.The first case is the simplest, as it doesn't involve manipulation of an object. The
latter process requires modification of a GMapUIOptions
object, which contains
a set of properties that specify the UI behavior of the map.
Rather than specifying and setting up individual controls, you may wish to specify that
your map exhibit the look and feel of the http://maps.google.com
interface.
You can do so using the GMap2.setUIToDefault()
method. This method adds a
set of controls and user input behavior to your map corresponding to what's available in
the UI on Google Maps. This behavior is also dynamic; if the UI to
http://maps.google.com
changes, you'll automatically get any new UI behavior
once the API updates to reflect those changes.
Note: the UI available to API applications via this
method may not always reflect all features available on
Google Maps as there will usually be a delay between when a feature
shows up on http://maps.google.com
and when it is added to the API.
The following code shows how simple it is to add this functionality to a map:
var map = new GMap2(document.getElementById("map_canvas"), { size: new GSize(400,149) } ); map.setCenter(new GLatLng(42.366662,-71.106262), 11); map.setUIToDefault();
The behavior of setUIToDefault()
differs slightly based on the size of
the map. Larger maps use the standard complement of controls, while smaller maps use
a subset of smaller controls. These differences are shown below:
For large maps of 400x150 pixels or larger, the following controls are added to the map:
GMapTypeControl
holding the set of G_DEFAULT_MAP_TYPES
map typesGLargeMapControl3D
enabling full zoom/pan functionalityGScaleControl
that displays the scale in use by the mapView example (control-defaultUI-large.html)
For smaller maps which are either less than 400 pixels wide or less than
150 pixels tall, setUIToDefault()
instead adds the following controls to the
map:
GMenuMapTypeControl
holding a drop-down menu of the
G_DEFAULT_MAP_TYPES
map typesGSmallZoomControl3D
enabling zoom functionality (no pan control is added)Such a set of controls is more economical in screen real estate for small maps.
View example (control-defaultUI-small.html)
Regardless of which control set is in use, setUIToDefault()
also adds the
following functionality which is available in http://maps.google.com
:
If you wish to modify any of this behavior, you should instead use a
GMapUIOptions
object, as shown in the following section.
GMapUIOptions
ObjectThe GMapUIOptions
object contains a set of properties that specify
control placement and UI behavior, which you may modify. For a full set of properties,
see the GMapUIOptions
reference.
Rather than write a GMapUIOptions
structure from scratch, you may wish
to prepopulate it with the UI behavior available on Google Maps. To do so,
use the GMap2.getDefaultUI()
method. Once populated, you can modify
individual properties to tweak the behavior and initialize the map's UI controls using
the GMap2.setUI()
method.
The following code retrieves the default UI on a "large" map, removes the
GScaleControl
and resets the map to use the modified UI.
map = new GMap2(document.getElementById("map_canvas"), { size: new GSize(400,150) } ); map.setCenter(new GLatLng(41.897997,-87.790203), 11); var customUI = map.getDefaultUI(); customUI.controls.scalecontrol = false; map.setUI(customUI);
View example (control-uiOptions.html)
The Google Maps API also allows you to create custom map controls
by subclassing GControl
. (Technically, you don't "subclass"
an object in JavaScript but instead assign a
prototype
object to an instance of the
GControl
object.)
To create a usable custom control, you are required to define
handlers for at least two methods on the class:
initialize()
and getDefaultPosition()
. The
initialize()
method must return a DOM element,
while the getDefaultPosition()
method must return an
object of type GControlPosition
.
All map controls should be added to the map container
which can be accessed with GMap2
's getContainer()
method.
In this example, we create a simple zoom control that has textual links rather than the graphical icons used in the standard Google Maps zoom control.
// A TextualZoomControl is a GControl that displays textual "Zoom In" // and "Zoom Out" buttons (as opposed to the iconic buttons used in // Google Maps). // We define the function first function TextualZoomControl() { } // To "subclass" the GControl, we set the prototype object to // an instance of the GControl object TextualZoomControl.prototype = new GControl(); // Creates a one DIV for each of the buttons and places them in a container // DIV which is returned as our control element. We add the control to // to the map container and return the element for the map class to // position properly. TextualZoomControl.prototype.initialize = function(map) { var container = document.createElement("div"); var zoomInDiv = document.createElement("div"); this.setButtonStyle_(zoomInDiv); container.appendChild(zoomInDiv); zoomInDiv.appendChild(document.createTextNode("Zoom In")); GEvent.addDomListener(zoomInDiv, "click", function() { map.zoomIn(); }); var zoomOutDiv = document.createElement("div"); this.setButtonStyle_(zoomOutDiv); container.appendChild(zoomOutDiv); zoomOutDiv.appendChild(document.createTextNode("Zoom Out")); GEvent.addDomListener(zoomOutDiv, "click", function() { map.zoomOut(); }); map.getContainer().appendChild(container); return container; } // By default, the control will appear in the top left corner of the // map with 7 pixels of padding. TextualZoomControl.prototype.getDefaultPosition = function() { return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7)); } // Sets the proper CSS for the given button element. TextualZoomControl.prototype.setButtonStyle_ = function(button) { button.style.textDecoration = "underline"; button.style.color = "#0000cc"; button.style.backgroundColor = "white"; button.style.font = "small Arial"; button.style.border = "1px solid black"; button.style.padding = "2px"; button.style.marginBottom = "3px"; button.style.textAlign = "center"; button.style.width = "6em"; button.style.cursor = "pointer"; } var map = new GMap2(document.getElementById("map")); map.addControl(new TextualZoomControl()); map.setCenter(new GLatLng(37.441944, -122.141944), 13);


--- layout: post title: Bookmarks for May 3rd from 22:01 to 22:45 tags: - aggregator - backbone.js - canvas - ci - client - development - extending - filtering - flickr - framework - game - html5 - inspiration - javascript - jquery - js1k - menu - minecraft - mobile - mochito - module - node.js - npm - plugin - routes - server - timeline - travis - tumble - twitter - vimeo - yahoo status: publish type: post published: true meta: aktt_notify_twitter: 'no' ---
These are my links for May 3rd from 22:01 to 22:45:


Play with ethics exploring and adding dilemmas.
Help to list and specify more and less preferable ethical scenarios.
Description
Correct actions
Features
Key takeaway/Duties
It can be inferred that there are (prima facie) duties to:
Rules
-
An action is ethically preferable to another if it
Cases
Remco Bloemen on dillema Autonomous Vehicles :Somehow comments at least two levels facebook like comment. Mentions @Nell Watson (one more color needed)
ReplyOla on feature Harm :Lorem ipsum dolores etc.
ReplyRemco Bloemen on dillema Autonomous Vehicles :
Part of the dilemma, lorem ipsum
Somehow comments at least two levels facebook like comment. Mentions @Nell Watson (one more color needed)
ReplyRemco Bloemen on dillema Autonomous Vehicles :
The driver of the car is either speeding, comment comment comment comment commet certain circumstances, normal rules of the road can be fairly circumvented. Comment comment comment Alternative version of a comment with a quote.
ReplyDescription
Correct actions
Key takeaway/Duties
It can be inferred that there are (prima facie) duties to:
Rules
-
An action is ethically preferable to another if it
Cases
Remco Bloemen on dillema Autonomous Vehicles :Somehow comments at least two levels facebook like comment. Mentions @Nell Watson (one more color needed)
ReplyOla on feature Harm :Lorem ipsum dolores etc.
ReplyRemco Bloemen on dillema Autonomous Vehicles :
Part of the dilemma, lorem ipsum
Somehow comments at least two levels facebook like comment. Mentions @Nell Watson (one more color needed)
ReplyRemco Bloemen on dillema Autonomous Vehicles :
The driver of the car is either speeding, comment comment comment comment commet certain circumstances, normal rules of the road can be fairly circumvented. Comment comment comment Alternative version of a comment with a quote.
ReplyAutonomous Vehicles
Added by Remco BloemenComment
The request page is not found!
(it might be under construction, check back later!)
Remco Bloemen added case: Name 1
Reply Comment


REPEAT
Description
Begins a REPEAT… UNTIL clause.
Results
Begins a loop to be terminated with UNTIL.
Example
; create a game loop repeat ; inside the game loop, create a loop that happens ; while the player is pressing the -B- button repeat ; do something until key(key_b)> 0 until x > 76
Back to Keywords


check
Single
check
1.15
check
Double
check
Custom: 1.2
check
Item
check
Another Item
Add space before paragraphAdd space after paragraphCustom spacing...
Selection Group Menu - Svg
Single
1.15
Double
Custom: 1.2
Add space before paragraphAdd space after paragraphCustom spacing...


Get more ↓
Something is wrong when initializing the player. May be several reasons:
- Flash is disabled or locked
- Necessary script is missing
- Vkontakte disabler broke
- Any problems and we'll mend<EMAIL_ADDRESS>To search for work and play, you need to log into vkontakte. So here's magic button:
Hint: Sometimes after this we need to refresh the page
All is well, ok! I am a good program and I have a lot to eat.


{% extends "layout_task-list.html" %} {% block page_title %} Money Claims Prototype {% endblock %} {% block home_link %} ../task-list {% endblock %} {% block proposition_header %} {% set my_account="1" %} {% include "includes/propositional_navigation.html" %} {% endblock %} {% block content %} {% include "includes/phase_banner_beta.html" %} Back How was your {% if data['claim-type'] == 'services' %}agreement{% else %}contract{% endif %} with Mary Richards made? In writing Verbally {% if data['contract'] != 'yes' or data['claim-type'] == 'services' %} Other - for example, by paying for a specific service {% endif %} {% include 'prototypes/prototype-aug-2019/includes/contact.html' %} {% endblock %}


Toggle nav
Options
Home
API
About
Cozy Classroom
Maybe a nice icon here
Index1
Index2
Index3
Index4
View results
Results
Index1
Index2
Index3
Index4
Index1
4
30%
Index2
3.5
20%
Index3
2
40%
Index4
3.5
10%
Detailed data
Temperature
3,929,481
/ (Logged in)
1,143,393
/tour
938,287
/features/something
749,393
/features/another-thing
695,912
/users/username
501,938
/page-title
392,842
/some/page-slug
298,183
View all data through API


Mary Richards' response
Mary Richards had said they disagree with the claim and want to explain their side.
Mary Richards said:
I understand that you're not happy with the work on the roof. I'd really like to get this sorted out. The last thing I want is to go to court over this.


WE ARE GAMERS
Frontline Gaming is a dedicated E-sports team looking to give amateur players a place to shine and thrive. Hopefully with enough recognition, we can give these players opportunities to grow, where they can not get anywhere else.
TOURNAMENTS
This paragraph explains how the company throws online tournaments where players can win money and get recognized by other professional E-sports teams. Tournaments have been rising in the community and many players are able to make enough to live off of these winnings
CONTENT CREATORS
Aside from competitive gaming, We also have a team of content creators and streamers playing a variety of games. Games ranges from FPS to MOBA to RPG to anything else you can think of! Contact us if you think this is the right category for you.


- Author:
- Joakim Eriksson, Niclas Finne
Introduction
This is a brief introduction how to program ESB sensor nodes over radio under Windows. It is assumed that you already have the environment setup for programming ESB sensor nodes using JTAG cable.
Configuring SLIP under Windows XP
This section describes how to setup a SLIP connection under Windows. A SLIP connection forwards TCP/IP traffic to/from the sensor nodes and lets you communicate with them using standard network tools such as ping
.
- Click start button and choose 'My Computer'. Right-click 'My Network Places' and choose 'Properties'.
- Click 'Create a new connection'.
- Select 'Set up an advanced connection'.
- Select 'Connect directly to another computer'.
- Select 'Guest'.
- Select a name for the slip connection (for example 'ESB').
- Select the serial port to use when communicating with the sensor node.
- Add the connection by clicking 'Finish'.
- A connection window will open. Choose 'Properties'.
- Click on 'Configure...' and deselect all selected buttons. Choose the speed 57600 bps.
- Close the modem configuration window, and go to the 'Options' tab in the ESB properties. Deselect all except 'Display progress...'.
- Go to the 'Networking' tab. Change to 'SLIP: Unix Connection' and deselect all except the first two items in the connection item list.
- Select 'Internet Protocol (TCP/IP)' and click 'Properties'. Enter the IP address '<IP_ADDRESS>'.
- Click 'Advanced' and deselect all checkboxes in the 'Advanced TCP/IP Settings'. Go to the 'WINS' tab and deselect 'Enable LMHOSTS lookup' if it is selected. Also select 'Disable NetBIOS over TCP/IP'.
Setup ESB for over the air programming
Make sure you have the latest version of Contiki (older versions of Contiki might not work with SLIP under Windows).
- Each node needs an IP address for OTA to work. The node id is used to construct an IP address for the node. If you specify 2 as node id, the node will have the IP address <IP_ADDRESS>. Each node should have its own unique node id. To set the node id move to the directory '
contiki-2.x/examples/esb
' and run make burn-nodeid.u nodeid=X
Use the number 1, 2, 3, etc, as the node id (X
) for the nodes. This will give the nodes the IP addresses <IP_ADDRESS>, <IP_ADDRESS>, etc. The node id only needs to be set once for each node and it will remain even when new applications are uploaded onto the node.
- You need to compile a core and upload it onto the nodes. All nodes must run the same core. Move to the directory '
contiki-2.x/examples/esb
' and run make WITH_CODEPROP=1 core
make WITH_CODEPROP=1 core.u
to upload the core to your nodes.
- Attach the ESB node to the serial port and make sure it is turned on. Select your ESB SLIP connection in your 'Network Connections' and choose 'Connect' (or double click on it). If everything works Windows should say that you have a new connection.
- Set the IP address for the node by pinging it (it will claim the IP address of the first ping it hears). Note that the slip interface has IP address <IP_ADDRESS> but the node will have the IP address <IP_ADDRESS>.
If everything works the node should click and reply to the pings.
You also need a program to send the application to connected nodes. Compile it by running
Send programs over the air
Contiki applications to be installed via radio are compiled somewhat different compared to normal applications.
Make sure you have a node with IP address <IP_ADDRESS> connected to your serial port and have SLIP activated. Then compile and send a testprogram by running
make beeper.ce
./send <IP_ADDRESS> beeper.ce


Ocala events
-
sending email server 2003 vb
12 year old boy shoots a 27 point buck - YouTube
Nov 9, 2012 . http://www.patcapp.com http://www.ecastactors.com This is crazy! Great shot and an awesome hunter kid!
http://www.youtube.com/watch?v=N7llZzHg0WI27-Point Buck Harvested By 12-Year-Old in Minnesota
Dec 28, 2012 . This young hunter harvested a 27-point, 229-pound Monster Buck in Minnesota in early November of 2012 giving him a story that he will be .
http://cheaperthandirt.com/blog/?p=35254Twelve-year-old Shoots 27-point, 229-pound Monster ... - Outdoor Hub
Nov 8, 2012 . Dylan Beach-Bittner of Motley, Minnesota took a nearly 30-point buck known around his community as the monster buck from a.
http://www.outdoorhub.com/news/twelve-year-old-shoots-27-point-229-pound-monster-buck-in-minnesota/
freestone realty northbrook il Upcoming events in Ocala
27 point buck mn Hottest Tickets
-
Apr 11seaborne hospital seaborne dr dover nh
Amway Center -
Apr 28de dieppe hotel paris france
Amway Center -
Jun 25forclosure property in indiana
Bob Carr Performing Arts Center -
Mar 30dome of the rocko
Amway Center -
Aug 271603 north nimitz highway honolulu
Amway Center -
Jun 21carolina snapshot coupon code
Amway Center -
Sep 13line 6 floor board
Francis Field -
Mar 17marion county georgia tax assessment
St Augustine Amphitheatre -
Oct 8dave mcgovern race walking
Amway Center -
May 4dave mcgovern race walking
Bob Carr Performing Arts Center
Ocala's best venues
-
Life and Times in the Great Outdoors: November 2012
Nov 30, 2012 . November 27, 2012- Lake Of The Woods Tourism Ice report. . 8 Point Buck. Keewatin's Jay Liend scored this nice 8 point buck yesterday.
http://lifeandtimesinthegreatoutdoors.blogspot.com/2012_11_01_archive.html -
12-Year-Old Bags 27-Pointer in Minnesota | GoHUNTn
Nov 9, 2012 . Beach-Bittner was hunting on his aunt's farm with his stepfather near Sebeka, Minnesota when he downed the 27-point non-typical with his .
http://www.gohuntn.com/gohuntn/12-year-old-bags-27-pointer-in-minnesota/ -
2012 Camp Ripley Archery Hunt B Summary - Minnesota ...
Oct 28, 2012 . Caption: Brandon Rademacher of Brainerd, MN bagged this 204-pound, 12-point buck at the Camp. Ripley Archery Hunt on October 27 th .
http://files.dnr.state.mn.us/recreation/hunting/deer/2012-cr2-summary.pdfhome
98 people's favorite
-
Deer hunting photo: 15 point buck - Grand Rapids Herald-Review ...
Nov 18, 2012 . Chad Clough is pictured with his 15 point 245 pound dressed buck with . Polar Bear Plunge Presented by Law Enforcement for Speical Olympics Minnesota . Wed, Feb 27, 6:00 pm CST; Grand Rapids Armory, Grand Rapids .
http://www.grandrapidsmn.com/sports/outdoors/image_12d8979c-3022-11e2-bc1d-001a4bcf887a.html -
Is Jeff Iverson's Non-Typical Minnesota Buck New State Record ...
Sep 24, 2012 . Jeff Iverson tagged a monster buck in Minnesota this last week. Is it enough to crown him the new Gopher State record holder?
http://www.northamericanwhitetail.com/2012/09/24/is-jeff-iversons-non-typical-minnesota-buck-new-state-record/


SweetAlert automatically centers itself on the page and looks great no matter if you're using a desktop computer, mobile or tablet. It's even highly customizable, as you can see below!
The type of the modal. SweetAlert comes with 4 built-in types which will show a corresponding icon animation: "warning", "error", "success" and "info". You can also set it as "input" to get a prompt modal. It can either be put in the object under the key "icon" or passed as the third parameter of the function.
icon
is used to add a customized icon for the modal. Should contain a string with the path to the image.
A message with auto close timer. timer
is default set to null
. You can set timer in ms (milliseconds).
If closeOnClickOutside
is set to true
, the user can dismiss the modal by clicking outside it.
You can set buttons: true
to show both buttons, or buttons: false
to hide all buttons. By default, only the confirm button is shown.
A replacement for the "prompt" function. You can set content
as "input" to get a prompt modal.
Search for a movie. e.g. "La La Land" to view the AJAX request for example.
Use this to change the text on the "Confirm"-button. If showCancelButton
is set as true
, the confirm button will automatically show "Confirm" instead of "OK".
Use className: "btn-warning"
option to change the background color of the "Confirm"-button.


Instructions: Highlight the cells in your Excel sheet you want to include in your table, then copy and paste them directly into this box. Click next to make sure your data is formatted correctly.
Instructions: Deselect any columns of data you don't want to include in your table. You can toggle them on and off. The headers highlighted in gray will be included.
Instructions: Using the dropdowns, pick the order in which you'd like your headers to appear in your table.
Instructions: Preview your data and make sure it uploaded correctly. Give your table and title and some chatter. If you want to change what your column headers say, click on the to edit the text, then click the to save your new header.
Copy and paste this code to embed your table.
test
Direct URL to your table:


Use this menu option to find or replace a search term in the present document using the dialog Find and Replace. The search can be repeated by clicking on the menu item Find Next.


This site was made for my TC349 -- Client Side Web Development class as a final project. I wanted to do an "about me" website from the bottom up, and write the Javascript by hand. I spent a little bit learning how to use JQueury from http://www.codecademy.com and then applied it to the concept of my design. Originally I wanted to do a box-model where the grids of the website overlapped when you highlighted them, but during coding I didn't like the way it turned out, so I changed gears. Instead, I decided to include pictures of myself and have the squares use the JQueury function "FadeIn" and "FadeOut" to have the squares color pictures when highlighted. I liked the result of this code much more and chose to use it in the final design.
The total time it took to create the website from start to finish took 10 hours. It's a rather simple site, and I don't think I'm the most talented designer, but am pleased with the result for a first serious attempt at a web design. After implementing the box model I found it a little difficult to properly fit writing into the small spaces, and there's little room for expansion. All in all, I think it was a nice learning experience.
The assets of my webpage can be found in my github repository at https://github.com/MaxwellGBrown/tc349, along with the rest of my course submissions for TC349.


 Come here, sit, grab a cup of coffee, and let’s talk briefly about it.
Today a lot is said about APIs. Everything has an API, every programmer (newbie to expert) uses tons of API. Also, today we can see a lot of people talking about microservices and the idea of total separation of backend, frontend, web services or whatever. So we can (and we do) hear a lot about REST/RESTful APIs. We have 3 current problems with it:
1. Many new programmers don’t have a single clue of what a Rest API is.
2. It’s probable that they’re using Rest APIs and don’t know about it.
3. When they feel that they should learn more about it, there’s hardly any good and accessible material to learn it.
So here’s a extremely simplistic approach to try to explain what is a Rest API
Starting with the concept of API, which stands for Application Programming Interface, it’s just an interface which you, dear programmer, will be dealing with to extract whatever you (or your program) want.
Suppose your program needs to create a connection with a given database, normally you do:
1. You import the library that will abstract the connection with the database
2. You create an object to represent a Connection with the database
3. You call functions that this object provide to you, so you can do whatever you want (and whatever they provide)
Here’s a silly example:
from database_library import Connection
connection = Connection()
connection.OpenConnection()
… do whatever you want
connection.CloseConnection()
When you called those function, you were dealing with the interface that the object provided to you, sure the object may be doing thousand of things at the moment you call its functions, but, it doesn’t matter to you, does it?
So the library that you imported is giving you something you want, offering a service or a resource. That’s the sole purpose of an API. It’s a layer that you can use to get things from other(s) component(s).
So, it’s easy to deduct that, the better the engineer planned the API, the easier it will be to deal with and extract what you want, and the contrary is true.
But still, you’re processing the core of this API in your own machine, which isn’t that great, here’s when the API evolves to whole web hosted services, so you can request this API something, and this API can give you something, through the WEB, via HTTP request. And that’s amazing.
And the community, recently, decided that the request and response that happen between applications and APIs, should be done with JSON, so this communication can become uniform and APIs can talk to other APIs effortlessly.
So, basically, what’s going on is:
So… yes, you make your function calls, now, with just a simple URL + HTTP methods, wanna see a real example? We can just send a request to the Facebook’s API by accessing this URL: http://graph.facebook.com/contatodigo
Which will request my profile’s data, and the Facebook’s API will return:
{
"id": "100001638888259",
"first_name": "Rodrigo",
"gender": "male",
"last_name": "Ara\u00fajo",
"link": "https://www.facebook.com/contatodigo",
"locale": "pt_BR",
"name": "Rodrigo Ara\u00fajo",
"username": "contatodigo"
}
As simple as that.
Now with this basic idea explained, we can do a simple Rest API using Python and Flask. (I’m assuming you’re already familiar with both technologies).
All we’re gonna do is, using the flask routing, create routes to the users so they can interact with the resources of our API. Let’s suppose our API will serve and receive only Books. So this is the resource we’re dealing with, users may use our API to get Books and insert new Books, so our only URIs will be:
1. /bookapi/v1.0/books with a GET method, which will just return the list of books
2. /bookapi/v1.0/books with a POST method, which will insert a book
So after the API is built, you or you program can get books or insert books by sending HTTP request to the API’s URIs, simple as that. I’ll be very straight forward, here’s the code:
#!flask/bin/python
from flask import Flask, jsonify, request
app = Flask(__name__)
books = [
{
'id': 1,
'title': u'Game of Thrones',
'description': u'Cool dragons',
'finished': False
},
{
'id': 2,
'title': u'50 shadows of grey',
'description': u'It start as bullshit, end as a huge bullshit',
'finished': True
}
]
@app.route('/bookapi/v1.0/books/', methods=['GET'])
def get_books():
return jsonify({'books': books})
@app.route('/bookapi/v1.0/books', methods=['POST'])
def create_book():
if not request.json or not 'title' in request.json:
abort(404)
book = {
'id': books[-1]['id'] + 1,
'title': request.json['title'],
'description': request.json.get('description', ""),
'finished': False
}
books.append(book)
return jsonify({'book': book}), 201
if __name__ == '__main__':
app.run(debug=True)
Note that we’re creating a simple in-memory database, which is a simple python’s dict. This could be a database. But for the sake of simplicity, I’m using just a dict.
When the requests come, it verifies the route that the user is asking for, which is: what resources is he/she wanting? and then, the code do whatever it must do (remember the API idea of hiding the complexity, the user requesting just want the result), and then it put everything in a JSON and returns it. That simple!
Of course, many improvements and extensions (there are infinity possibilities) can be made to this code, but, here’s a skeleton of the idea of an API, it’s just a start. One good practice it’s to not return the ID of the resource, but return just its URI, which is surely a great idea. Another good practice is to ask authentication in every HTTP request, so your API won’t be exposed to everybody. There are, indeed, endless improvements, but in this code, you, that are completely beginner to the API’s concept, can now understand what’s going on underneath and start planning and building your own API using Flask.


Your Logo
VOR
First Section
Second Section
Third Section
Fourth Section
First Slide
Second Slide
VOR


Copyright © 2009 Marc Worrell Date: 2009-04-17
Behaviours: gen_server.
Authors: Marc Worrell (marc@worrell.nl).
| code_change/3 | Convert process state when code is changed. |
| define_custom_pivot/3 | Let a module define a custom pivot columns() -> [column()] column() -> {ColumName::atom(), ColSpec::string()}. |
| get_pivot_data/2 | |
| get_pivot_title/1 | |
| get_pivot_title/2 | Fetch the first title from the record for sorting. |
| handle_call/3 | Trap unknown calls. |
| handle_cast/2 | Poll the queue for the default host. |
| handle_info/2 | Handling all non call/cast messages. |
| init/1 | Initiates the server. |
| insert_queue/2 | Insert a rsc_id in the pivot queue. |
| insert_task/3 | Insert a slow running pivot task. |
| insert_task/4 | Insert a slow running pivot task. |
| insert_task/5 | Insert a slow running pivot task with unique key and arguments. |
| insert_task_after/6 | Insert a slow running pivot task with unique key and arguments that should start after Seconds seconds. |
| lookup_custom_pivot/4 | Lookup a custom pivot; give back the Id based on a column. |
| pg_lang/1 | Translate a language to a language string as used by postgresql. |
| pivot/2 | An immediate pivot request for a resource. |
| pivot_resource/2 | Pivot a resource, collect all texts for indexing and some extra to be indexed fields. |
| pivot_resource_update/2 | Return a modified property list with fields that need immediate pivoting on an update. |
| poll/1 | Poll the pivot queue for the database in the context. |
| queue_all/1 | Rebuild the search index by queueing all resources for pivot. |
| start_link/1 | Starts the server. |
| terminate/2 | This function is called by a gen_server when it is about to terminate. |
code_change(OldVsn, State, Extra) -> {ok, NewState}
Convert process state when code is changed
define_custom_pivot(Module, Columns::columns(), Context) -> ok
Let a module define a custom pivot columns() -> [column()] column() -> {ColumName::atom(), ColSpec::string()}
get_pivot_data(Id, Context) -> any()
get_pivot_title(Props) -> any()
get_pivot_title(Id, Context) -> any()
Fetch the first title from the record for sorting.
handle_call(Message::Request, From, State) -> {reply, Reply, State} | {reply, Reply, State, Timeout} | {noreply, State} | {noreply, State, Timeout} | {stop, Reason, Reply, State} | {stop, Reason, State}
Trap unknown calls
handle_cast(Message::Msg, State) -> {noreply, State} | {noreply, State, Timeout} | {stop, Reason, State}
Poll the queue for the default host
handle_info(Info, State) -> {noreply, State} | {noreply, State, Timeout} | {stop, Reason, State}
Handling all non call/cast messages
init(SiteProps::Args) -> {ok, State} | {ok, State, Timeout} | ignore | {stop, Reason}
Initiates the server.
insert_queue(Id, Context) -> any()
Insert a rsc_id in the pivot queue
insert_task(Module, Function, Context) -> any()
Insert a slow running pivot task. For example syncing category numbers after an category update.
insert_task(Module, Function, UniqueKey, Context) -> any()
Insert a slow running pivot task. Use the UniqueKey to prevent double queued tasks.
insert_task(Module, Function, UniqueKey, Args, Context) -> any()
Insert a slow running pivot task with unique key and arguments.
insert_task_after(Seconds, Module, Function, UniqueKey, Args, Context) -> any()
Insert a slow running pivot task with unique key and arguments that should start after Seconds seconds.
lookup_custom_pivot(Module, Column, Value, Context) -> Id | undefined
Lookup a custom pivot; give back the Id based on a column. Will always return the first Id found.
pg_lang(X1) -> any()
Translate a language to a language string as used by postgresql
pivot(Id, Context) -> void()
An immediate pivot request for a resource
pivot_resource(Id, Context) -> void()
Pivot a resource, collect all texts for indexing and some extra to be indexed fields.
pivot_resource_update(UpdateProps, RawProps) -> any()
Return a modified property list with fields that need immediate pivoting on an update.
poll(Context) -> void()
Poll the pivot queue for the database in the context
queue_all(Context) -> any()
Rebuild the search index by queueing all resources for pivot.
start_link(SiteProps) -> {ok, Pid} | ignore | {error, Error}
Starts the server
terminate(Reason, State) -> void()
This function is called by a gen_server when it is about to terminate. It should be the opposite of Module:init/1 and do any necessary cleaning up. When it returns, the gen_server terminates with Reason. The return value is ignored.
Generated by EDoc, Apr 11 2012, 20:41:27.


La Matanza v0.0001 - Mayo 2015
Your browser does not support canvas. Please try again with a different browser.


{% extends "base.html" %} {% block title %} My account {% endblock %} {% block page_title %} My account {% endblock %} {% block content %}
Hello, {{ current_user.name }}
{% if hidden_addresses %} Your email address(es) and their hash values.
| Hash | {% for address in hidden_addresses %}|
|---|---|
| {{address.email}} | {{address.email_hash}} |


{% extends "base_generic.html" %} {% block content %}
I am Doctor A. Evil. I was born in 1927 in the town of Evil of the constellation Evilness. I have three brothers. Jonathon, Joe, and Jerry. Jonathon is my favorite brother. We used to do... evil together. We were really good at math as well. We got staight E's. My favorite number was 94523934.
I'm really proud of the day Jonathon was riding his bike down the hill and fell off because he went too fast. I knew he would go too fast. It was my first evil.
My dad Jeff and my mother Jane.
The thesaurus. It's worse than the dictionary.
The Social Network. It feels like a personal autobiography.
I like all the colors so much I can't pick one.
An end to hunger.


*** User 2017-05-02 17:30:24.098 ***
17:30:24.098 [info] Disabling blocking sync...
*** User 2017-05-02 17:30:24.103 ***
17:30:24.103 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-1@MacBook-Pro-de-Anne-France'
*** User 2017-05-02 17:30:25.585 ***
17:30:25.585 [info] Enabling membership...
*** User 2017-05-02 17:30:25.587 ***
17:30:25.586 [info] Disabling blocking sync...
*** User 2017-05-02 17:30:25.591 ***
17:30:25.591 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-2@MacBook-Pro-de-Anne-France'
*** User 2017-05-02 17:30:27.076 ***
17:30:27.076 [info] Enabling membership...
*** User 2017-05-02 17:30:27.078 ***
17:30:27.078 [info] Disabling blocking sync...
*** User 2017-05-02 17:30:27.083 ***
17:30:27.083 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-3@MacBook-Pro-de-Anne-France'
*** User 2017-05-02 17:30:27.313 ***
Joining node: 'node-3@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 55510
*** User 2017-05-02 17:30:27.314 ***
Joining issued: 'node-3@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 55510
*** User 2017-05-02 17:30:27.314 ***
Joining node: 'node-2@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 55493
*** User 2017-05-02 17:30:27.315 ***
Joining issued: 'node-2@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 55493
*** User 2017-05-02 17:30:27.315 ***
Joining node: 'node-1@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 55481
*** User 2017-05-02 17:30:27.316 ***
Joining issued: 'node-1@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 55481
*** User 2017-05-02 17:30:27.377 ***
Waiting for join to complete with manager: partisan_default_peer_service_manager
*** User 2017-05-02 17:30:27.378 ***
Finished.
*** CT 2017-05-02 17:30:27.378 *** COVER INFO
Adding nodes to cover test: ['runner@MacBook-Pro-de-Anne-France']
*** CT 2017-05-02 17:30:27.387 *** COVER INFO
Successfully added nodes to cover test: []
*** User 2017-05-02 17:30:27.387 ***
Case finished: sql_join_uncontracted_latency_test
*** User 2017-05-02 17:30:34.433 ***
17:30:34.433 [info] Application lasp exited with reason: stopped
*** User 2017-05-02 17:30:34.434 ***
17:30:34.434 [info] Application partisan exited with reason: stopped
=== Ended at 2017-05-02 17:30:34
=== successfully completed test case
=== Returned value: ok
Test run history
| Top level test index


My coworker, Kat, needed to set up meetings with our 13 elementary schools. Appointment slots would have been a lot of clicking back and forth on calendar events plus her dates were variable and subject to change. She set up a spreadsheet with each school on a row. The challenge was to set up data validation rules that would automatically update after a school made a selection.
cracks knuckles
The first thing to do was to list out all the possible dates. Updating a spreadsheet is easier than changing a validation object in Apps Script. I can also loop the sheet and make structural adjustments on the fly.
Once that list was done, we wrote a function to set validation on the sheet using the date.
Now that validation is set, we needed to listen for changes to the spreadsheet. The onOpen
function has an event object which holds information about where and how the sheet was edited. This let us limit the function to changes in columns two or three only. If a cell was edited (ie the validation dropdown was changed by the user) the function gathers event data and passes it along to the workhorse.
Now we can update the validation range. Loop through the entire range of dates backwards. Once a matching row is found, delete the row. Looping backwards prevents your index from changing. We also remove validation from the edited cell at this point so it doesn’t show an error for having a value outside the validation list.
Because validation is pulled from a range, deleting the row (and the value) removes it as an option in all of the other cells! Once the sheet is finished and everyone has a date, you could even add a short loop to push dates to your Google calendar as all day events.
Here’s the full script if you want to add it to your sheet.
Featuredimage is Array of Rivets flickr photo by jim.choate59 shared under a Creative Commons (BY-NC-ND) license
Written on March 23rd , 2018 by Brian Bennett Categorized in: Code
Leave a comment


| | |
- __builtin__.object
-
- Machine
- Plant
class Machine(__builtin__.object) |
| |
Provides the implementation of a Machine in a Plant. |
| |
Methods defined here:
- __init__(self, name, quantity=1, canUnhook=False, precedence=False, breaks=[])
- name is the unique Machine name.
precedence is whether the quantity should be dealt with as capacity or
as parallel different Machine instances.
canUnhook is whether a crane can leave an Order at this Machine or not.
quantity is the number of available machines of this type (name) in
the Plant.
- setOfBreaks(self)
- toXml(self, xmlDoc)
- Exports the Machine instance to an XML tree node and returns the node
instance. xmlDoc to used to create the XML tree node element.
Static methods defined here:
- fromXml(element)
- Creates a Machine instance from XML node tree element and returns it.
Data descriptors defined here:
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
|
class Plant(__builtin__.object) |
| |
Provides the implementation of a Plant (factory) with a list of Machine
instances. |
| |
Methods defined here:
- __init__(self)
- machines is a list of ordered Machine instances (by sequence in Plant).
minProcTime is the minimum (constant) processing time for any Order
going through the Plant. This is the summation of all the times between
every two Machine instances in the Plant.
- addMachine(self, machine)
- Add a Machine instance to the Plant. If the Machine instance or its
name is already in the list of machines, an Exception will be thrown.
After adding a Machine instance, minProcTime is updated.
- toXml(self)
- Creates an XML tree node from the Plant instance and returns it.
- toXmlFile(self, filename)
- Saves the Plant instance to an XML file.
Static methods defined here:
- fromXml(xmlDoc)
- A static method that loads a Plant instance (and returns it) from
an XML document. xmlDoc is the document instance.
- fromXmlFile(filename)
- A static methods that loads a Plant instance (and returns it) from
an XML file (str filename).
Data descriptors defined here:
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
| |


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 2
Let your kids cook dinner! Creamy chicken and bacon is topped with crunchy filo pastry in this easy pie.
Before cooking, wash your hands and put on an apron. Weigh or measure all the ingredients.
Use the scissors to cut the cooked chicken breast and bacon up and put them into the bottom of the ovenproof dish. (Ask a grown-up for help with the scissors.) Tear up the mushrooms and put them on top of the chicken.
Remove the tops and tails the green beans with your fingers, then snap into smaller lengths (about 2cm/1in) and add them to the dish.
Put the fresh tarragon into a small bowl. Add the cream, then the stock powder. Stir in the flour then pour over the chicken and bean mixture.
You’ll need to find a grown-up to help you melt the butter in a small saucepan. Brush the squares of filo pastry one at a time with melted butter. Scrunch the filo pastry sheets up loosely and place them on top of your pie.
Ask a grown-up to place the casserole dish on a baking tray and put in the preheated oven for 25-30 minutes or until the filo topping is golden-brown and crisp and the filling is piping hot. Serve with steamed carrots.


I was in a need to design a simple a web page as quickly as possible without going to the learning curve of HTML and CSS again. Drag-and-drop website builder will be the top choice in this case. Since most of the visual website builders are available as online service, that means they are mostly base on subscription plan which I did not plan to dive in yet. After all, I just need a simple one-page web page with the least complexity.
I thought Adobe Muse was a great choice
Despite the End-Of-Life announcement that Adobe Muse is going to stop and remove from the Adobe product list soon, existing users can still continue to build a website on it. Muse is also the only standalone web page builder I’ve found through some intensive research which makes it my first priority to try as I have some ways to pirate the Adobe Cloud(shameful and I know it).
Like any other visual-based web page builder, Muse biggest selling point was build a website without coding at all. The famous Adobe brand gave me confidence that this product would be worthwhile if I invest some solid learning hours on it.
I was dead wrong
After spending 3 to 4 days of googling, watching tutorials, and experimenting on the product itself. I gave up.
- While you might be able to crack the Muse, it requires a valid Adobe account connection to use the Adobe Typekit to use the font database which is crucial to the design.
- Since this is a drag-and-drop site with very limited coding ability, one will mainly depend on the ready-made widgets which is often selling independently on a widget market.
- Since my ultimate goal is to draft the web page and export HTML code for hosting purpose, people said the Muse generated code was dirty as hell.
- The software learning curse is steep, especially there is only minimal tutorial and support resource available online.
- Picking up the software skill’s at such difficulty might not worth it since it is going to be obsolete soon anyway.
I wish I could spend the time and effort somewhere else for the simple site building, seriously. Stop looking at the Muse if you are about to explore the world of web development like me.
On top of that, I found Webflow suits most of my need with a really intuitive interface and awesome tutorials. More on that in the next post I guess.
Have a great day!
Posted from my blog with SteemPress : https://fr3eze.vornix.blog/thumbs-down-to-the-adobe-muse-look-elsewhere-web-developers/
This page is synchronized from the post: ‘Thumbs down to the Adobe Muse. Look elsewhere, web developers!’


| range_sortna {bit} | R Documentation |
In one pass over the vector NA
s are treated according to parameter
na.last
exactly like sort
does, the range
,
number of NA
s and unsortedness is determined.
range_sortna(x, decreasing = FALSE, na.last = NA)
x |
an integer vector |
decreasing |
(currently only |
na.last |
|
an integer vector with NA
s are treated and an attribute
range_na
with four elements
min integer
max integer
number of NAs
0 for sorted vector and 1 for is.unsorted
range_sortna(c(0L,1L,NA,2L)) range_sortna(c(2L,NA,1L,0L)) range_sortna(c(0L,1L,NA,2L), na.last=TRUE) range_sortna(c(2L,NA,1L,0L), na.last=TRUE) range_sortna(c(0L,1L,NA,2L), na.last=FALSE) range_sortna(c(2L,NA,1L,0L), na.last=FALSE)


I would like to display the usual electrical values on a SPI LCD display, type Nokia 3310, connected to a Raspi.There is as well a RFM69Pi connected to the Raspi.
I know there is a SPI library written for Python. One of the possible solution is to take the emonhub_interfacer.py file and put some code in there because I think this file is already logging frames to the emonhub log file.
What do you think? Will that work?
Thanks
Walter
Re: Raspberry Pi and SPI LCD display
This is probably a question for Paul (pb66), the developer of the python scripts for the emonhub module.
Thanks
Walter
Re: Raspberry Pi and SPI LCD display
Hi Walter, I'm not so sure I can help you much. Having no experience with either SPI or LCD means it isn't looking good for any useful help. When I first read you post I was going to attached a link to Glyn's recent work for the LCD display on the emonPi, but then I recalled that was I²C not SPI.
The only pointer's that spring to mind right now are that IF looking to integrate this with emonHub in it's current form a custom reporter maybe marginally easier to send a stream of data frames. Before investing too much time or effort into integrating this functionality you should develop the (probably) code to communicate with and populate the display from a frame of values. Then tackle getting the values from emonhub to that script as I think you will want to have some sort of filtering and/or labeling of data.
The ability to stream data frames from emonhub to a display via SPI or I²C would be a great addition but is currently difficult due to emonhubs "send all to each" structure and the in ability to read from emoncms calculated feeds out of the box. This will change (hopefully soon'ish) and then certain data can be included or excluded to form a "custom channel" for the display.
In the interim the method of communication and interface to the display can still be designed and then be reused when the time comes.
An alternative method to supply data to your new display interface could be to just "fetch" feed data from emoncms. The "fetch" api allows you to define a list of feeds to get the current value of. This has the advantage of giving the new script the control of what data and how often, as well as packaging it up into a single frame of a set structure per update so collation and naming is no longer a problem. This would closely mimic how emonhub could eventually tackle the same task.
Paul
Re: Raspberry Pi and SPI LCD display
Hello Paul
Thanks a lot for your detailed information. That helps me a lot.
Some time ago, you posted in this forum a python test script you use to simulate frames uploads to emoncms. I took that file and added a function to generate random numbers for power, etc. I installed the service and the other .py scripts from GitHub. So, now I have a working system to upload some stuff to emoncms.
I have also found the python SPI library on the Adafruit Web site. I should be able to combine these modules and simulate data for posting to emoncms and display them on the LCD. Let's see...
Thanks again
Walter


| Vendor Name | Valcom Consulting Group Inc. |
|---|---|
| Reference Number | W8476-4501343733 |
| Contract Date | 3-2-2016 |
| Description of Work | Technical Engineering and Maintenance Services (TEMS) (Excludes requirements related to armament, R&D and R&O) |
| Delivery Date | 28-2-2018 |
| Contract Value | $258,992.69 |
| Comments | This contract was competitively sourced. This contract is a call-up against a Public Services and Procurement Canada procurement tool. |
| Additional Comments | The Department of National Defence established a contract for one (1) Intermediate, Integrated Logistics Support Specialist, for a period of two (2) years, with the option to extend the term of the Contract by up to one (1) additional one (1) year option |


#### OpenTrack Forecasts Time Series Analysis & Sales Forecasting of
Motor Parts
#### Plot 1 Plotting Sales Without Resampling to months or any other
offset.
#### Plot 2 Plotting Sales data by Resampling to month start
frequency.
#### Plot 3 Decomposing Time Series Data into Distinct Components. >
Observed > Trend > Seasonal > Residual
#### Plot 4 Validating Forecasts
#### Plot 5 Finally Producing & Visualizing forecasts
#### Plot 6 State wise sales of various Motor Parts.


Text mining with Spark & sparklyr
This article focuses on a set of functions that can be used for text mining with Spark and sparklyr
. The main goal is to illustrate how to perform most of the data preparation and analysis with commands that will run inside the Spark cluster, as opposed to locally in R. Because of that, the amount of data used will be small.
Data source
For this example, there are two files that will be analyzed. They are both the full works of Sir Arthur Conan Doyle and Mark Twain. The files were downloaded from the Gutenberg Project site via the gutenbergr
package. Intentionally, no data cleanup was done to the files prior to this analysis. See the appendix below to see how the data was downloaded and prepared.
readLines("arthur_doyle.txt", 10)
## [1] "THE RETURN OF SHERLOCK HOLMES,"
## [2] ""
## [3] "A Collection of Holmes Adventures"
## [4] ""
## [5] ""
## [6] "by Sir Arthur Conan Doyle"
## [7] ""
## [8] ""
## [9] ""
## [10] ""
Data Import
Connect to Spark
An additional goal of this article is to encourage the reader to try it out, so a simple Spark local mode session is used.
library(sparklyr)
library(dplyr)
sc <- spark_connect(master = "local", version = "2.1.0")
spark_read_text()
The spark_read_text()
is a new function which works like readLines()
but for sparklyr
. It comes in handy when non-structured data, such as lines in a book, is what is available for analysis.
# Imports Mark Twain's file
# Setting up the path to the file in a Windows OS laptop
twain_path <- paste0("file:///", getwd(), "/mark_twain.txt")
twain <- spark_read_text(sc, "twain", twain_path)
# Imports Sir Arthur Conan Doyle's file
doyle_path <- paste0("file:///", getwd(), "/arthur_doyle.txt")
doyle <- spark_read_text(sc, "doyle", doyle_path)
Data transformation
The objective is to end up with a tidy table inside Spark with one row per word used. The steps will be:
- The needed data transformations apply to the data from both authors. The data sets will be appended to one another
- Punctuation will be removed
- The words inside each line will be separated, or tokenized
- For a cleaner analysis, stop words will be removed
- To tidy the data, each word in a line will become its own row
- The results will be saved to Spark memory
sdf_bind_rows()
sdf_bind_rows()
appends thedoyle
Spark Dataframe to thetwain
Spark Dataframe. This function can be used in lieu of adplyr::bind_rows()
wrapper function. For this exercise, the columnauthor
is added to differentiate between the two bodies of work.
all_words <- doyle %>%
mutate(author = "doyle") %>%
sdf_bind_rows({
twain %>%
mutate(author = "twain")}) %>%
filter(nchar(line) > 0)
regexp_replace
- The Hive UDF, regexp_replace, is used as a sort of
gsub()
that works inside Spark. In this case it is used to remove punctuation. The usual[:punct:]
regular expression did not work well during development, so a custom list is provided. For more information, see the Hive Functions section in thedplyr
page.
all_words <- all_words %>%
mutate(line = regexp_replace(line, "[_\"\'():;,.!?\\-]", " "))
ft_tokenizer()
ft_tokenizer()
uses the Spark API to separate each word. It creates a new list column with the results.
all_words <- all_words %>%
ft_tokenizer(input.col = "line",
output.col = "word_list")
head(all_words, 4)
## # Source: lazy query [?? x 3]
## # Database: spark_connection
## author line word_list
## <chr> <chr> <list>
## 1 doyle THE RETURN OF SHERLOCK HOLMES <list [5]>
## 2 doyle A Collection of Holmes Adventures <list [5]>
## 3 doyle by Sir Arthur Conan Doyle <list [5]>
## 4 doyle CONTENTS <list [1]>
ft_stop_words_remover()
ft_stop_words_remover()
is a new function that, as its name suggests, takes care of removing stop words from the previous transformation. It expects a list column, so it is important to sequence it correctly after aft_tokenizer()
command. In the sample results, notice that the newwo_stop_words
column contains less items thanword_list
.
all_words <- all_words %>%
ft_stop_words_remover(input.col = "word_list",
output.col = "wo_stop_words")
head(all_words, 4)
## # Source: lazy query [?? x 4]
## # Database: spark_connection
## author line word_list wo_stop_words
## <chr> <chr> <list> <list>
## 1 doyle THE RETURN OF SHERLOCK HOLMES <list [5]> <list [3]>
## 2 doyle A Collection of Holmes Adventures <list [5]> <list [3]>
## 3 doyle by Sir Arthur Conan Doyle <list [5]> <list [4]>
## 4 doyle CONTENTS <list [1]> <list [1]>
explode
- The Hive UDF explode performs the job of unnesting the tokens into their own row. Some further filtering and field selection is done to reduce the size of the dataset.
all_words <- all_words %>%
mutate(word = explode(wo_stop_words)) %>%
select(word, author) %>%
filter(nchar(word) > 2)
head(all_words, 4)
## # Source: lazy query [?? x 2]
## # Database: spark_connection
## word author
## <chr> <chr>
## 1 return doyle
## 2 sherlock doyle
## 3 holmes doyle
## 4 collection doyle
compute()
compute()
will operate this transformation and cache the results in Spark memory. It is a good idea to pass a name tocompute()
to make it easier to identify it inside the Spark environment. In this case the name will be all_words
all_words <- all_words %>%
compute("all_words")
Full code
This is what the code would look like on an actual analysis:
all_words <- doyle %>%
mutate(author = "doyle") %>%
sdf_bind_rows({
twain %>%
mutate(author = "twain")}) %>%
filter(nchar(line) > 0) %>%
mutate(line = regexp_replace(line, "[_\"\'():;,.!?\\-]", " ")) %>%
ft_tokenizer(input.col = "line",
output.col = "word_list") %>%
ft_stop_words_remover(input.col = "word_list",
output.col = "wo_stop_words") %>%
mutate(word = explode(wo_stop_words)) %>%
select(word, author) %>%
filter(nchar(word) > 2) %>%
compute("all_words")
Data Analysis
Words used the most
word_count <- all_words %>%
group_by(author, word) %>%
tally() %>%
arrange(desc(n))
word_count
## # Source: lazy query [?? x 3]
## # Database: spark_connection
## # Groups: author
## # Ordered by: desc(n)
## author word n
## <chr> <chr> <dbl>
## 1 twain one 20028
## 2 doyle upon 16482
## 3 twain would 15735
## 4 doyle one 14534
## 5 doyle said 13716
## 6 twain said 13204
## 7 twain could 11301
## 8 doyle would 11300
## 9 twain time 10502
## 10 doyle man 10478
## # ... with more rows
Words used by Doyle and not Twain
doyle_unique <- filter(word_count, author == "doyle") %>%
anti_join(filter(word_count, author == "twain"), by = "word") %>%
arrange(desc(n)) %>%
compute("doyle_unique")
doyle_unique
## # Source: lazy query [?? x 3]
## # Database: spark_connection
## # Groups: author
## # Ordered by: desc(n), desc(n)
## author word n
## <chr> <chr> <dbl>
## 1 doyle nigel 972
## 2 doyle alleyne 500
## 3 doyle ezra 421
## 4 doyle maude 337
## 5 doyle aylward 336
## 6 doyle catinat 301
## 7 doyle sharkey 281
## 8 doyle lestrade 280
## 9 doyle summerlee 248
## 10 doyle congo 211
## # ... with more rows
doyle_unique %>%
head(100) %>%
collect() %>%
with(wordcloud::wordcloud(
word,
n,
colors = c("#999999", "#E69F00", "#56B4E9","#56B4E9")))
Twain and Sherlock
The word cloud highlighted something interesting. The word lestrade is listed as one of the words used by Doyle but not Twain. Lestrade is the last name of a major character in the Sherlock Holmes books. It makes sense that the word “sherlock” appears considerably more times than “lestrade” in Doyle’s books, so why is Sherlock not in the word cloud? Did Mark Twain use the word “sherlock” in his writings?
all_words %>%
filter(author == "twain",
word == "sherlock") %>%
tally()
## # Source: lazy query [?? x 1]
## # Database: spark_connection
## n
## <dbl>
## 1 16
The all_words
table contains 16 instances of the word sherlock in the words used by Twain in his works. The instr Hive UDF is used to extract the lines that contain that word in the twain
table. This Hive function works can be used instead of base::grep()
or stringr::str_detect()
. To account for any word capitalization, the lower command will be used in mutate()
to make all words in the full text lower cap.
instr & lower
Most of these lines are in a short story by Mark Twain called A Double Barrelled Detective Story. As per the Wikipedia page about this story, this is a satire by Twain on the mystery novel genre, published in 1902.
twain %>%
mutate(line = lower(line)) %>%
filter(instr(line, "sherlock") > 0) %>%
pull(line)
## [1] "late sherlock holmes, and yet discernible by a member of a race charged"
## [2] "sherlock holmes."

## [16] "late sherlock holmes, and yet discernible by a member of a race charged"
spark_disconnect(sc)
Appendix
gutenbergr package
This is an example of how the data for this article was pulled from the Gutenberg site:
library(gutenbergr)
gutenberg_works() %>%
filter(author == "Twain, Mark") %>%
pull(gutenberg_id) %>%
gutenberg_download() %>%
pull(text) %>%
writeLines("mark_twain.txt")


Tom is a Software Engineer, he enjoys exploring application-level concurrency primitives, delving deeper into areas of distributed systems, embedded programming and deterministic finite automata.
He holds a BSc in Computer Science from The University of Auckland.
Areas of interest throughout his study include artificial intelligence/machine learning (compsci 367) and quantum mechanics (physics 251).
I'm currently working as a Senior Software Engineer at Klarna.
Use arrow keys or swipe the screen to control snake.


1. This is an example of a serif font.
2. This is an example of a sans-serif font.
3. This is an example of a monospace font.
4. This is an example of a cursive font.
5. This is an example of a fantasy font.
6. This is an example of a math font.
7. This is an example of an emoji font.
8. This is an example of a fangsong font.


Former Commander of the Air Force passes away
Retired General Amos Lapidot, the 10th Commander of the Air Force passes away, age 85.
by Arutz Sheva StaffRetired General Amos Lapidot passed away; he was 85. He will be buried on Thursday at Ramat HaSharon cemetery.
Lapidot, born in Kfar Saba, was a combat pilot in the 1956 Sinai War, in 1956 he was promoted to commander of Squadron 113. During the Six Day War, he was a Mirage squadron commander. In 1973 he was appointed as Haztor base commander, he held this position for the duration of the Yom Kippur War. During the war, his plane was damaged during a sortie, he still managed to emergency land, saving the aircraft.
In 1982, Lapidot was promoted to General and became the commander of the Air Force. In 1985 he oversaw the mission to bomb PA headquarters in Tunisia. After his retirement from the IDF he became politically active, he objected to Israeli control of Judea and Samaria, and was number 108 for Meretz in the 2009 elections.


Tim Ferriss is a contemporary author with well known titles and a rolodex that includes superstar athletes, business executives of Fortune 500 hundred companies, Politicians, and power house investors.
Why should I know Tim Ferriss?
I’ve known about his books for a while. I think they are cool, but his hard core fans really live by them. If anything I think he can teach people how to maximize the efficiency of their time and provide life lessons that help them stockpile resources. These are two critical things in the life of people seeking greater truth in the world. You need your work time to be efficienct so you can get on with the other pursuits in your life. You also need a healthy body as life get’s pretty hard when you’re out of shape, constantly sick, or mentally unwell.
The lessons in Tools of Titans continue to nudge me forward!
Some of the lessons that are in that book are amazing. What’s amazing to me I’m pretty sure will be different from what you find amazing, but I”m confidant you’ll find gems in this book that will change your thought process.
There are business lessons.
There are life lessons.
There are deeply personal experiences.
There are financial suggestions.
I find that as I’m working on different aspects of my life and continue reading and rereading sections I come across the right section that applies to a situation I’m currently in.
It can apply and be about you
All the stories are coming from very successful people, but I think a main take away for me was that many weren’t born as an off-the-shelf success. Folks had to train and work at it. If you’re not feeling successful or happy about your life right now realize it’s not a death sentence. You can change that and if you can spare $20 to get this book and read some stories you might find some guidance.
Namaste and good luck!
A selection of his best known creations
http://tim.blog/podcast/
The 4-Hour Work Week
The 4-Hour Body
The 4-Hour Chef
Tools of Titans
https://steemitimages.com/0x0/https://steemitimages.com/0x0/http://i.imgur.com/qQHBITS.png
This page is synchronized from the post: ‘Have you met me yet? Tim Ferriss’


_annelids
_nematodes
_molluscs
Unlike arthropods, these invertebrates do not have jointed legs.
Annelids are segmented worms with soft bodies. Most of the worm’s body consists of identical segments, giving it a ‘ringed’ appearance.
_Earthworm
_Earthworms are annelids
_Nematodes
Nematodes are tiny, thin worms without segments. Many species are free-living but others are parasites that cause disease.
For example, hookworms can infect humans.
Light micrograph of a soil-dwelling bisexual nematode worm which feeds on bacteria
Caenorhabditis elegans is a free-living nematode about 1 mm long
Molluscs usually have a broad muscular foot and may also have a shell. Examples of molluscs include snails, slugs, squids and octopuses.


My Random Quote Machine
Quotes About Inspirational
I have not failed. I've just found 10,000 ways that won't work.
-Thomas A. Edison
New Quote


By dropping down the selector and selecting what you see most fit for each question, at the end, click Calculate Compatibility to see if you're the one for me!


The distribution of ASF outbreaks in China, August 2018–July 2020.
“/”, representing no relevant information.


I am a problem solver. Steve Jobs once said, "Everyone in this country should learn to program a computer, because it teaches you to think." The best way to solve a problem is having a framework and by practicing! Attention to detail and intricacy are all important qualities of mine.
I'm always working on projects that expand my knowledge and fuel my desire to learn new technologies. My favorite resources include Google, documentation, Udemy, and YouTube.
My customer service experience proves to be a favorable factor in my communcation skills. I love conversing with coworkers and helping others in need. It's my passion and I plan to make it my career through code.


"Never get into a hot tub where you can't see the bottom."
The Hot Cookin' Splash Page
Flip It to Skip It
Flip It to Skip It
Github


Emoncms auto-update and RESTful service using JSON questions
Submitted by casestudies on Tue, 29/10/2013 - 23:52
Hi,
This isn't concerning a problem with emoncms. I had some questions on how the software all functions together to get the end result. I'm in the process of creating my own RESTful service using Flask (Python). I'm trying to create a webpage that will auto-update values on the page. The Flask script is setup to query some values and then create JSON which is sent back to the client. The client in this case will be a kiosk display.
After many attempts, I did get the client to read the JSON from the Flask server. However, I think after running the browser on the page for a day, it may have crashed the browser. I'm using Chrome for development. I noticed in the Web Tools > Resources under Scripts that each time the client queries the Flask server, it creates a new JSON file. Not sure if this could be the issue I'm having or if this is bad for memory, etc.
errors at the second line in the json file. JSON file looks like the following:
{
"pvs": {
"index1": {
"keyname": 1
...
},
.....
}
}
Looking at EMONCMS in the Resources window, the JSON file is simply replaced (updated) when new data is displayed. How is this behavior achieved? What files, and parts of files, should I look at to try to make my service work? This system will be part of a kiosk where a few computers connected to monitors will load the webpage that contains the CSS and Javascript. The Javascript will send requests to the RESTful server. The returned data will then be placed into the DOM of the webpage. The javascript will also change the display kiosk as needed (such as changing colors of divs depending on returned values). In otherwords, I'm concerned that adding files to the browser resources will crash the browser/computer. The monitors will run 24/7. I'd like to make it so that they are stable and can stay running without having to worry about them.
Emoncms auto-update and RESTful service using JSON questions
Submitted by casestudies on Tue, 29/10/2013 - 23:52Hi,
This isn't concerning a problem with emoncms. I had some questions on how the software all functions together to get the end result. I'm in the process of creating my own RESTful service using Flask (Python). I'm trying to create a webpage that will auto-update values on the page. The Flask script is setup to query some values and then create JSON which is sent back to the client. The client in this case will be a kiosk display.
After many attempts, I did get the client to read the JSON from the Flask server. However, I think after running the browser on the page for a day, it may have crashed the browser. I'm using Chrome for development. I noticed in the Web Tools > Resources under Scripts that each time the client queries the Flask server, it creates a new JSON file. Not sure if this could be the issue I'm having or if this is bad for memory, etc.
I'm having to use JSONP to return data from the server as I kept getting errors related to http://en.wikipedia.org/wiki/Same_origin_policy if I didn't. If I don't use JSONP, I get an
Uncaught SyntaxError: Unexpected token :
errors at the second line in the json file. JSON file looks like the following:
{
"pvs": {
"index1": {
"keyname": 1
...
},
.....
}
}
Looking at EMONCMS in the Resources window, the JSON file is simply replaced (updated) when new data is displayed. How is this behavior achieved? What files, and parts of files, should I look at to try to make my service work? This system will be part of a kiosk where a few computers connected to monitors will load the webpage that contains the CSS and Javascript. The Javascript will send requests to the RESTful server. The returned data will then be placed into the DOM of the webpage. The javascript will also change the display kiosk as needed (such as changing colors of divs depending on returned values). In otherwords, I'm concerned that adding files to the browser resources will crash the browser/computer. The monitors will run 24/7. I'd like to make it so that they are stable and can stay running without having to worry about them.
Thanks in advance!