| Top |
| GdkDevice * | associated-device | Read |
| GdkAxisFlags | axes | Read |
| GdkDeviceManager * | device-manager | Read / Write / Construct Only |
| GdkDisplay * | display | Read / Write / Construct Only |
| gboolean | has-cursor | Read / Write / Construct Only |
| GdkInputMode | input-mode | Read / Write |
| GdkInputSource | input-source | Read / Write / Construct Only |
| guint | n-axes | Read |
| gchar * | name | Read / Write / Construct Only |
| guint | num-touches | Read / Write / Construct Only |
| gchar * | product-id | Read / Write / Construct Only |
| GdkSeat * | seat | Read / Write |
| GdkDeviceTool * | tool | Read |
| GdkDeviceType | type | Read / Write / Construct Only |
| gchar * | vendor-id | Read / Write / Construct Only |
| GdkDevice | |
| enum | GdkInputSource |
| enum | GdkInputMode |
| enum | GdkAxisUse |
| enum | GdkAxisFlags |
| enum | GdkDeviceToolType |
| enum | GdkDeviceType |
| enum | GdkGrabOwnership |
| struct | GdkTimeCoord |
The GdkDevice object represents a single input device, such as a keyboard, a mouse, a touchpad, etc.
See the GdkDeviceManager documentation for more information about the various kinds of master and slave devices, and their relationships.
const gchar *
gdk_device_get_name (GdkDevice *device
);
Determines the name of the device.
Since: 2.20
const gchar *
gdk_device_get_vendor_id (GdkDevice *device
);
Returns the vendor ID of this device, or NULL
if this information couldn't
be obtained. This ID is retrieved from the device, and is thus constant for
it.
This function, together with gdk_device_get_product_id()
, can be used to eg.
compose GSettings paths to store settings for this device.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
static GSettings * get_device_settings (GdkDevice *device) { const gchar *vendor, *product; GSettings *settings; GdkDevice *device; gchar *path; vendor = gdk_device_get_vendor_id (device); product = gdk_device_get_product_id (device); path = g_strdup_printf ("/org/example/app/devices/%s:%s/", vendor, product); settings = g_settings_new_with_path (DEVICE_SCHEMA, path); g_free (path); return settings; } |
Since: 3.16
const gchar *
gdk_device_get_product_id (GdkDevice *device
);
Returns the product ID of this device, or NULL
if this information couldn't
be obtained. This ID is retrieved from the device, and is thus constant for
it. See gdk_device_get_vendor_id()
for more information.
Since: 3.16
GdkInputSource
gdk_device_get_source (GdkDevice *device
);
Determines the type of the device.
Since: 2.20
gboolean gdk_device_set_mode (GdkDevice *device
,GdkInputMode mode
);
Sets a the mode of an input device. The mode controls if the device is active and whether the device’s range is mapped to the entire screen or to a single window.
Note: This is only meaningful for floating devices, master devices (and slaves connected to these) drive the pointer cursor, which is not limited by the input mode.
GdkInputMode
gdk_device_get_mode (GdkDevice *device
);
Determines the mode of the device.
Since: 2.20
void gdk_device_set_key (GdkDevice *device
,guint index_
,guint keyval
,GdkModifierType modifiers
);
Specifies the X key event to generate when a macro button of a device is pressed.
gboolean gdk_device_get_key (GdkDevice *device
,guint index_
,guint *keyval
,GdkModifierType *modifiers
);
If index_
has a valid keyval, this function will return TRUE
and fill in keyval
and modifiers
with the keyval settings.
device |
a GdkDevice. |
|
index_ |
the index of the macro button to get. |
|
keyval |
return value for the keyval. |
[out] |
modifiers |
return value for modifiers. |
[out] |
Since: 2.20
void gdk_device_set_axis_use (GdkDevice *device
,guint index_
,GdkAxisUse use
);
Specifies how an axis of a device is used.
device |
a pointer GdkDevice |
|
index_ |
the index of the axis |
|
use |
specifies how the axis is used |
GdkAxisUse gdk_device_get_axis_use (GdkDevice *device
,guint index_
);
Returns the axis use for index_
.
Since: 2.20
GdkDevice *
gdk_device_get_associated_device (GdkDevice *device
);
Returns the associated device to device
, if device
is of type
GDK_DEVICE_TYPE_MASTER
, it will return the paired pointer or
keyboard.
If device
is of type GDK_DEVICE_TYPE_SLAVE
, it will return
the master device to which device
is attached to.
If device
is of type GDK_DEVICE_TYPE_FLOATING
, NULL
will be
returned, as there is no associated device.
Since: 3.0
GList *
gdk_device_list_slave_devices (GdkDevice *device
);
If the device if of type GDK_DEVICE_TYPE_MASTER
, it will return
the list of slave devices attached to it, otherwise it will return
NULL
the list of slave devices, or NULL
. The list must be
freed with g_list_free()
, the contents of the list are
owned by GTK+ and should not be freed.
[nullable][transfer container][element-type GdkDevice]
GdkDeviceType
gdk_device_get_device_type (GdkDevice *device
);
Returns the device type for device
.
Since: 3.0
GdkDisplay *
gdk_device_get_display (GdkDevice *device
);
Returns the GdkDisplay to which device
pertains.
a GdkDisplay. This memory is owned by GTK+, and must not be freed or unreffed.
[transfer none]
Since: 3.0
gboolean
gdk_device_get_has_cursor (GdkDevice *device
);
Determines whether the pointer follows device motion. This is not meaningful for keyboard devices, which don't have a pointer.
Since: 2.20
gint
gdk_device_get_n_axes (GdkDevice *device
);
Returns the number of axes the device currently has.
Since: 3.0
gint
gdk_device_get_n_keys (GdkDevice *device
);
Returns the number of keys the device currently has.
Since: 2.24
GdkAxisFlags
gdk_device_get_axes (GdkDevice *device
);
Returns the axes currently available on the device.
Since: 3.22
void gdk_device_warp (GdkDevice *device
,GdkScreen *screen
,gint x
,gint y
);
Warps device
in display
to the point x
,y
on
the screen screen
, unless the device is confined
to a window by a grab, in which case it will be moved
as far as allowed by the grab. Warping the pointer
creates events as if the user had moved the mouse
instantaneously to the destination.
Note that the pointer should normally be under the control of the user. This function was added to cover some rare use cases like keyboard navigation support for the color picker in the GtkColorSelectionDialog.
device |
the device to warp. |
|
screen |
the screen to warp |
|
x |
the X coordinate of the destination. |
|
y |
the Y coordinate of the destination. |
Since: 3.0
GdkSeat *
gdk_device_get_seat (GdkDevice *device
);
Returns the GdkSeat the device belongs to.
Since: 3.20
GdkGrabStatus gdk_device_grab (GdkDevice *device
,GdkWindow *window
,GdkGrabOwnership grab_ownership
,gboolean owner_events
,GdkEventMask event_mask
,GdkCursor *cursor
,guint32 time_
);
gdk_device_grab
has been deprecated since version 3.20. and should not be used in newly-written code.
Use gdk_seat_grab()
instead.
Grabs the device so that all events coming from this device are passed to
this application until the device is ungrabbed with gdk_device_ungrab()
,
or the window becomes unviewable. This overrides any previous grab on the device
by this client.
Note that device
and window
need to be on the same display.
Device grabs are used for operations which need complete control over the given device events (either pointer or keyboard). For example in GTK+ this is used for Drag and Drop operations, popup menus and such.
Note that if the event mask of an X window has selected both button press
and button release events, then a button press event will cause an automatic
pointer grab until the button is released. X does this automatically since
most applications expect to receive button press and release events in pairs.
It is equivalent to a pointer grab on the window with owner_events
set to
TRUE
.
If you set up anything at the time you take the grab that needs to be cleaned up when the grab ends, you should handle the GdkEventGrabBroken events that are emitted when the grab ends unvoluntarily.
device |
a GdkDevice. To get the device you can use |
|
window |
the GdkWindow which will own the grab (the grab window) |
|
grab_ownership |
specifies the grab ownership. |
|
owner_events |
if |
|
event_mask |
specifies the event mask, which is used in accordance with
|
|
cursor |
the cursor to display while the grab is active if the device is
a pointer. If this is |
[allow-none] |
time_ |
the timestamp of the event which led to this pointer grab. This
usually comes from the GdkEvent struct, though |
Since: 3.0
void gdk_device_ungrab (GdkDevice *device
,guint32 time_
);
gdk_device_ungrab
has been deprecated since version 3.20. and should not be used in newly-written code.
Use gdk_seat_ungrab()
instead.
Release any grab on device
.
Since: 3.0
void gdk_device_get_state (GdkDevice *device
,GdkWindow *window
,gdouble *axes
,GdkModifierType *mask
);
Gets the current state of a pointer device relative to window
. As a slave
device’s coordinates are those of its master pointer, this
function may not be called on devices of type GDK_DEVICE_TYPE_SLAVE
,
unless there is an ongoing grab on them. See gdk_device_grab()
.
[skip]
void gdk_device_get_position (GdkDevice *device
,GdkScreen **screen
,gint *x
,gint *y
);
Gets the current location of device
. As a slave device
coordinates are those of its master pointer, This function
may not be called on devices of type GDK_DEVICE_TYPE_SLAVE
,
unless there is an ongoing grab on them, see gdk_device_grab()
.
Since: 3.0
void gdk_device_get_position_double (GdkDevice *device
,GdkScreen **screen
,gdouble *x
,gdouble *y
);
Gets the current location of device
in double precision. As a slave device's
coordinates are those of its master pointer, this function
may not be called on devices of type GDK_DEVICE_TYPE_SLAVE
,
unless there is an ongoing grab on them. See gdk_device_grab()
.
Since: 3.10
GdkWindow * gdk_device_get_window_at_position (GdkDevice *device
,gint *win_x
,gint *win_y
);
Obtains the window underneath device
, returning the location of the device in win_x
and win_y
. Returns
NULL
if the window tree under device
is not known to GDK (for example, belongs to another application).
As a slave device coordinates are those of its master pointer, This
function may not be called on devices of type GDK_DEVICE_TYPE_SLAVE
,
unless there is an ongoing grab on them, see gdk_device_grab()
.
Since: 3.0
GdkWindow * gdk_device_get_window_at_position_double (GdkDevice *device
,gdouble *win_x
,gdouble *win_y
);
Obtains the window underneath device
, returning the location of the device in win_x
and win_y
in
double precision. Returns NULL
if the window tree under device
is not known to GDK (for example,
belongs to another application).
As a slave device coordinates are those of its master pointer, This
function may not be called on devices of type GDK_DEVICE_TYPE_SLAVE
,
unless there is an ongoing grab on them, see gdk_device_grab()
.
Since: 3.0
gboolean gdk_device_get_history (GdkDevice *device
,GdkWindow *window
,guint32 start
,guint32 stop
,GdkTimeCoord ***events
,gint *n_events
);
Obtains the motion history for a pointer device; given a starting and
ending timestamp, return all events in the motion history for
the device in the given range of time. Some windowing systems
do not support motion history, in which case, FALSE
will
be returned. (This is not distinguishable from the case where
motion history is supported and no events were found.)
Note that there is also gdk_window_set_event_compression()
to get
more motion events delivered directly, independent of the windowing
system.
[skip]
device |
||
window |
the window with respect to which which the event coordinates will be reported |
|
start |
starting timestamp for range of events to return |
|
stop |
ending timestamp for the range of events to return |
|
events |
location to store a newly-allocated array of GdkTimeCoord, or
|
[array length=n_events][out][transfer full][optional] |
n_events |
location to store the length of
|
[out][optional] |
void gdk_device_free_history (GdkTimeCoord **events
,gint n_events
);
Frees an array of GdkTimeCoord that was returned by gdk_device_get_history()
.
[skip]
events |
an array of GdkTimeCoord. |
[array length=n_events] |
n_events |
the length of the array. |
gboolean gdk_device_get_axis (GdkDevice *device
,gdouble *axes
,GdkAxisUse use
,gdouble *value
);
Interprets an array of double as axis values for a given device, and locates the value in the array for a given axis use.
[skip]
GList *
gdk_device_list_axes (GdkDevice *device
);
Returns a GList of GdkAtoms, containing the labels for
the axes that device
currently has.
Since: 3.0
gboolean gdk_device_get_axis_value (GdkDevice *device
,gdouble *axes
,GdkAtom axis_label
,gdouble *value
);
Interprets an array of double as axis values for a given device,
and locates the value in the array for a given axis label, as returned
by gdk_device_list_axes()
[skip]
Since: 3.0
GdkWindow *
gdk_device_get_last_event_window (GdkDevice *device
);
Gets information about which window the given pointer device is in, based on events
that have been received so far from the display server. If another application
has a pointer grab, or this application has a grab with owner_events = FALSE
,
NULL
may be returned even if the pointer is physically over one of this
application's windows.
Since: 3.12
guint64
gdk_device_tool_get_serial (GdkDeviceTool *tool
);
Gets the serial of this tool, this value can be used to identify a physical tool (eg. a tablet pen) across program executions.
Since: 3.22
GdkDeviceToolType
gdk_device_tool_get_tool_type (GdkDeviceTool *tool
);
Gets the GdkDeviceToolType of the tool.
The physical type for this tool. This can be used to figure out what sort of pen is being used, such as an airbrush or a pencil.
Since: 3.22
An enumeration describing the type of an input device in general terms.
|
the device is a mouse. (This will be reported for the core pointer, even if it is something else, such as a trackball.) |
||
|
the device is a stylus of a graphics tablet or similar device. |
||
|
the device is an eraser. Typically, this would be the other end of a stylus on a graphics tablet. |
||
|
the device is a graphics tablet “puck” or similar device. |
||
|
the device is a keyboard. |
||
|
the device is a direct-input touch device, such as a touchscreen or tablet. This device type has been added in 3.4. |
||
|
the device is an indirect touch device, such as a touchpad. This device type has been added in 3.4. |
||
|
the device is a trackpoint. This device type has been added in 3.22 |
||
|
the device is a "pad", a collection of buttons, rings and strips found in drawing tablets. This device type has been added in 3.22. |
An enumeration that describes the mode of an input device.
|
the device is disabled and will not report any events. |
||
|
the device is enabled. The device’s coordinate space maps to the entire screen. |
||
|
the device is enabled. The device’s coordinate space is mapped to a single window. The manner in which this window is chosen is undefined, but it will typically be the same way in which the focus window for key events is determined. |
An enumeration describing the way in which a device axis (valuator) maps onto the predefined valuator types that GTK+ understands.
Note that the X and Y axes are not really needed; pointer devices report their location via the x/y members of events regardless. Whether X and Y are present as axes depends on the GDK backend.
|
the axis is ignored. |
||
|
the axis is used as the x axis. |
||
|
the axis is used as the y axis. |
||
|
the axis is used for pressure information. |
||
|
the axis is used for x tilt information. |
||
|
the axis is used for y tilt information. |
||
|
the axis is used for wheel information. |
||
|
the axis is used for pen/tablet distance information. (Since: 3.22) |
||
|
the axis is used for pen rotation information. (Since: 3.22) |
||
|
the axis is used for pen slider information. (Since: 3.22) |
||
|
a constant equal to the numerically highest axis value. |
Flags describing the current capabilities of a device/tool.
|
X axis is present |
||
|
Y axis is present |
||
|
Pressure axis is present |
||
|
X tilt axis is present |
||
|
Y tilt axis is present |
||
|
Wheel axis is present |
||
|
Distance axis is present |
||
|
Z-axis rotation is present |
||
|
Slider axis is present |
Since: 3.22
Indicates the specific type of tool being used being a tablet. Such as an airbrush, pencil, etc.
|
Tool is of an unknown type. |
||
|
Tool is a standard tablet stylus. |
||
|
Tool is standard tablet eraser. |
||
|
Tool is a brush stylus. |
||
|
Tool is a pencil stylus. |
||
|
Tool is an airbrush stylus. |
||
|
Tool is a mouse. |
||
|
Tool is a lens cursor. |
Since: 3.22
Indicates the device type. See above for more information about the meaning of these device types.
struct GdkTimeCoord { guint32 time; gdouble axes[GDK_MAX_TIMECOORD_AXES]; };
A GdkTimeCoord stores a single event in a motion history.
“associated-device”
property“associated-device” GdkDevice *
Associated pointer or keyboard with this device, if any. Devices of type GDK_DEVICE_TYPE_MASTER
always come in keyboard/pointer pairs. Other device types will have a NULL
associated device.
Flags: Read
Since: 3.0
“axes”
property“axes” GdkAxisFlags
The axes currently available for this device.
Flags: Read
Since: 3.22
“device-manager”
property“device-manager” GdkDeviceManager *
The GdkDeviceManager the GdkDevice pertains to.
Flags: Read / Write / Construct Only
Since: 3.0
“display”
property“display” GdkDisplay *
The GdkDisplay the GdkDevice pertains to.
Flags: Read / Write / Construct Only
Since: 3.0
“has-cursor”
property“has-cursor” gboolean
Whether the device is represented by a cursor on the screen. Devices of type
GDK_DEVICE_TYPE_MASTER
will have TRUE
here.
Flags: Read / Write / Construct Only
Default value: FALSE
Since: 3.0
“input-mode”
property“input-mode” GdkInputMode
Input mode for the device.
Flags: Read / Write
Default value: GDK_MODE_DISABLED
“input-source”
property“input-source” GdkInputSource
Source type for the device.
Flags: Read / Write / Construct Only
Default value: GDK_SOURCE_MOUSE
Since: 3.0
“n-axes”
property“n-axes” guint
Number of axes in the device.
Flags: Read
Default value: 0
Since: 3.0
“name”
property“name” gchar *
The device name.
Flags: Read / Write / Construct Only
Default value: NULL
Since: 3.0
“num-touches”
property“num-touches” guint
The maximal number of concurrent touches on a touch device. Will be 0 if the device is not a touch device or if the number of touches is unknown.
Flags: Read / Write / Construct Only
Default value: 0
Since: 3.20
“product-id”
property“product-id” gchar *
Product ID of this device, see gdk_device_get_product_id()
.
Flags: Read / Write / Construct Only
Default value: NULL
Since: 3.16
“tool”
property “tool” GdkDeviceTool *
The tool that is currently used with this device.
Flags: Read
“type”
property“type” GdkDeviceType
Device role in the device manager.
Flags: Read / Write / Construct Only
Default value: GDK_DEVICE_TYPE_MASTER
Since: 3.0
“vendor-id”
property“vendor-id” gchar *
Vendor ID of this device, see gdk_device_get_vendor_id()
.
Flags: Read / Write / Construct Only
Default value: NULL
Since: 3.16
“changed”
signalvoid user_function (GdkDevice *device, gpointer user_data)
The ::changed signal is emitted either when the GdkDevice has changed the number of either axes or keys. For example In X this will normally happen when the slave device routing events through the master device changes (for example, user switches from the USB mouse to a tablet), in that case the master device will change to reflect the new slave device axes and keys.
device |
the GdkDevice that changed. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“tool-changed”
signalvoid user_function (GdkDevice *device, GdkDeviceTool *tool, gpointer user_data)
The ::tool-changed signal is emitted on pen/eraser GdkDevices whenever tools enter or leave proximity.
device |
the GdkDevice that changed. |
|
tool |
The new current tool |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.22


Class: nuclear_overhauser_and_exchange_spectroscopy-presat
http://nmrML.org/nmrCV#NMR:1400142
Annotations (2)
-
comment "tempdef: The presat for an nuclear overhauser and exchange spectroscopy experiment. A 2D method used to map NOE correlations between protons within a molecule. The nuclear Overhauser effect (NOE) causes changes in peak areas, as a secondary effect of decoupling.
defprov: Daniel Schober
synonym: NOESY-presat" (string)
-
label "nuclear_overhauser_and_exchange_spectroscopy-presat" (string)
Superclasses (1)
Usage (1)
-
Class: nuclear_overhauser_and_exchange_spectroscopy-presat


Drag me into the rectangle!
Note: drag events are not supported in Internet Explorer 8 and earlier versions or Safari 5.1 and earlier versions.


| t01 |
health, mental, COVID-19, mental_health, working, outbreak, risk, %, people, china |
35 |
23 |
| t02 |
PTSD, %, SARS, stress, CI, 95, psychological_distress, symptoms, psychiatric, MERS |
32 |
2 |
| t03 |
months, 6, exercise, capacity, HRQOL, function, hrqol, impairment, discharge, patients |
18 |
2 |
| t04 |
social, support, social_support, depressive_symptoms, recovery, levels, depressive, disasters, low, risk |
17 |
3 |
| t05 |
psychological, staff, nurses, intervention, medical, patients, anxiety, group, ward, = |
18 |
13 |
| t06 |
coping, women, strategies, optimism, cognitive, students, responses, loss, life, dispositional_optimism |
20 |
3 |
| t07 |
sleep, sleep_quality, quality, disturbance(s), fmw, sleep_disturbances, capital, PSQI, social_capital |
12 |
6 |
| t08 |
suicide(s), disaster, victims, adolescents, economic, prescription, HK, celebrity, charcoal |
13 |
1 |
| t09 |
rumor, social_media, media, twitter, engagement, facebook, TKR, AA, social, misinformation |
10 |
2 |
| t10 |
validity, WURSS-21, WURSS-44, reliability, korean, psychometric, scales, responsiveness, SF-8, jackson |
12 |
0 |
| t11 |
physical_symptoms, mood, sickness, attachment, sickness_symptoms, war, association, mood_disorders, exposed, hospital_personnel |
13 |
1 |
| t12 |
fear(s), olfactory, OC, taste, smell, phobia, alleles, swine, disorders |
11 |
2 |
| t13 |
studies, literature, older, older_adults, research, meta-analysis, incidents, review, work-related, violence |
9 |
1 |
| t14 |
fertility, fertiqol, #, experiencing, isolation, homelessness, cues, count, cycles, cdcgrandrounds |
10 |
3 |
| t15 |
MEG3, times, cells, digoxin, HT22, rheumatoid, ht22_cells, arthritis, morphine, pregnancy |
6 |
0 |


The Comebackening
Home
Past Shows
Media
Merchandise
Booking
The Bourbon Gingers
Louisville's Favorite Indie Rap Group.


- Daily forecast
- Date
- High temperature
- Low temperature
- Wind peak (mph)
- Precip. probability
- Precip. total (in)
- Evapo. total (in)
- Average temp
- Max temp (last hour)
- Min temp (last hour)
- Dew point
- Relative humidity
- Surface wind speed (mph)
- 80m wind speed (mph)
- Wind gust (mph)
- Wind direction
- Rainfall (hour)
- Precip. Probability
- Pressure
- Soil temp.
- Sky cover
- Net solar radiation
- Shortwave solar radiation
- Evapotranspiration


by Rob Herman
Contact me on Twitter @Rule0 or check out the source, readme and acknowledgements, or changelog on Github.


Dr. Charles Ofria
Professor of
Computer Science & Engineering
at
Michigan State University
Director of the
BEACON Center for the Study of Evolution in Action
President of the
International Society for Artificial Life
Publications
E-mail: ofria @ cse.msu.edu
Twitter:
@CharlesOfria


Experienced Web Developer with a demonstrated history of working in the computer software industry. Skilled in Java, C#, MVC, CSS, HTML, PHP, SQL and Computer Science. Experienc e in team environments utilizing Scrum & Agile.
Responsible for developing features and fixes on a legacy system built with the Java programming language. The primary responsibilities are to read design specifications, converting the design into working code, and testing design/code until the criteria are met. The team works in sprints where communication between the team and executives is crucial to the success of BBCS.
Responsible for developing web sites and application from concept to final product from customers specifications. Use various languages and tools such as LAMP, Bootstrap and Git to develop and design professional desktop and mobile websites.
Responsible for developing and testing software based upon software specifications and design. We would test and maintain software products to ensure strong functionality and optimization. Used MVC model to design and update software database. Gave assistance to the company for any IT support as a systems administrator.
Set up hardware and install and configure software and drivers Maintain and repair technological equipment (e.g. routers) or peripheral devices Install well-functioning LAN/WAN and other networks and manage components (servers, IPs etc.) Manage security options and software in computers and networks to maintain privacy and protection from attacks Perform regular upgrades to ensure systems remain updated.
Set up hardware and install and configure software and drivers Maintain and repair technological equipment (e.g. routers) or peripheral devices Install well-functioning LAN/WAN and other networks and manage components (servers, IPs etc.) Manage security options and software in computers and networks to maintain privacy and protection from attacks Perform regular upgrades to ensure systems remain updated.


{% extends "master.html" %} {% block extra_css %} {% load static %} {% endblock extra_css %} {% block content %}
{{ vocab }}
"that's a lot of words are you finished now?
%s" % vocabulary
Welcome to the Create URI Page. Here you can access and submit the form to request a persistant URI. Have fun!


CCTV. 央视网, www.cctv.com/newSiteProgram/en/general_info.htm.
“CCTV Headquarters.” The Skyscraper Center, www.skyscrapercenter.com/building/cctv-headquarters/1068.
“Flash Forward Friday: CCTV Headquarters | SkyriseCities.” News,
skyrisecities.com/news/2016/06/flash-forward-friday-cctv-headquarters.
CCTV. 央视网, www.cctv.com/newSiteProgram/en/general_info.htm.
“CCTV Headquarters.” The Skyscraper Center, www.skyscrapercenter.com/building/cctv-headquarters/1068.
“Flash Forward Friday: CCTV Headquarters | SkyriseCities.” News,
skyrisecities.com/news/2016/06/flash-forward-friday-cctv-headquarters.
“百度地图.” 百度地图, map.baidu.com/.
“Gallery of CCTV Headquarters / OMA - 23.” ArchDaily, VELUX,
www.archdaily.com/236175/cctv-headquarters-oma/50181f9028ba0d48240005f4-cctv-headquarters-oma-plan-04.
Ouroussoff, Nicolai. “Koolhaas, Delirious in Beijing.” The New York Times, The New York Times, 11
July 2011, www.nytimes.com/2011/07/13/arts/design/koolhaass-cctv-building-fits-beijing-as-city-of-the-future.html.
“Gallery of CCTV Headquarters / OMA - 23.” ArchDaily, VELUX,
www.archdaily.com/236175/cctv-headquarters-oma/50181f9028ba0d48240005f4-cctv-headquarters-oma-plan-04.
Howarth, Dan, and Dan Howarth. “Rem Koolhaas: ‘Chinese Architecture Will Benefit’ from CCTV
Building.” Dezeen, Dezeen, 27 Nov. 2014, www.dezeen.com/2014/11/26/rem-koolhaas-defends-cctv-building-beijing-china-architecture.
“Arup.” Integrated smart design for the tallest building in Beijing, www.arup.com/projects/china-zun-z15.
Wood, Antony, et al. Best Tall Buildings: a Global Overview of 2013 Skyscrapers: CTBUH Awards.
Routledge, 2014.
Ching, Francis D. K., et al. A Global History of Architecture, John Wiley & Sons, Incorporated, 2010.
ProQuest Ebook Central, https://ebookcentral-proquest-com.ezproxy.lib.utexas.edu/lib/utxa/detail.action?docID=698776.
Ericson, Staffan, and Kristina Riegert. Media Houses: Architecture, Media and the Production of Centrality.
Peter Lang, 2010.
Lacayo, Richard. “The Architecture of Autocracy.” Foreign Policy; Washington, 2008,
search.proquest.com/docview/224030803/abstract/E757CDD2A773426CPQ/1?accountid=7118.
“CCTV Headquarters.” The Skyscraper Center, www.skyscrapercenter.com/building/cctv-headquarters/1068.
“Gallery of CCTV Headquarters / OMA - 9.” ArchDaily, VELUX,
www.archdaily.com/236175/cctv-headquarters-oma/50181f4c28ba0d48240005e5-cctv-headquarters-oma-photo.
cctvupload. “Rem Koolhaas and CCTV New Site 1/2.” YouTube, YouTube, 1 Jan. 2009,
www.youtube.com/watch?v=fJJK0R5o4zk.


# Adminator HTML5 Admin Template
**Adminator** is a responsive Bootstrap 4 Admin Template. It provides you with a collection of ready to use code snippets and utilities, custom pages, a collection of applications and some useful widgets. Preview of this awesome admin template available here: https://colorlib.com/polygon/adminator/index.html
# Preview
### Screenshot
![Adminator admin dashboard template preview](https://colorlib.com/wp/wp-content/uploads/sites/2/adminator-free-admin-dashboard-template.jpg)
### Demo Site: [Here](https://colorlib.com/polygon/adminator/index.html)
## TOC
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installing & Local Development](#installing--local-development)
- [Files/Folder Structure](#filesfolders-structure)
- [Deployment](#deployment)
- [Built With](#built-with)
- [Changelog](#changelog)
- [Authors](#authors)
- [License](#license)
## Getting Started
In order to run **Adminator** on your local machine all what you need to do is to have the prerequisites stated below installed on your machine and follow the installation steps down below.
#### Prerequisites
- Node.js
- Yarn or NPM
- Git
- libpng-dev *linux only*
#### Installing & Local Development
Start by typing the following commands in your terminal in order to get **Adminator** full package on your machine and starting a local development server with live reload feature.
```
> git clone https://github.com/puikinsh/Adminator-admin-dashboard.git adminator
> cd adminator
> npm install
> npm run dev
```
## Files/Folders Structure
Here is a brief explanation of the template folder structure and some of its main files usage:
```
└── src # Contains all template source files.
│ └── assets # Contains JS, CSS, images and icon fonts.
│ │ └── scripts # Contains all JavaScript files.
│ │ │ └── charts # Chart.js, Sparkline & Pie Chart plugins init.
│ │ │ └── chat # All chat app JS code.
│ │ │ └── constants # Template constant values like color values.
│ │ │ └── datatable # Date table plugin init.
│ │ │ └── datepicker # Bootstrap datepicker init.
│ │ │ └── email # All email app code.
│ │ │ └── fullcalendar # Fullcalendar plugin init.
│ │ │ └── googleMaps # Google maps API integration code.
│ │ │ └── masonry # Masonry layout code.
│ │ │ └── popover # Bootstrap popover plugin init.
│ │ │ └── scrollbar # Perfect scrollbar plugin init.
│ │ │ └── search # Topbar toggle search init.
│ │ │ └── sidebar # Sidebar JS code.
│ │ │ └── skycons # Animated icons plugin init.
│ │ │ └── utils # Basic utils used for proper rendering.
│ │ │ └── vectorMaps # Vector maps plugin init.
│ │ │ └── index.js # Indicator file.
│ │ │
│ │ └── static # Contains the non-code files.
│ │ │ └── fonts # Contains icon fonts.
│ │ │ └── images # Contains all template images/svg.
│ │ │
│ │ └── styles # Contains all SCSS files.
│ │ └── spec # Contains custom SCSS files.
│ │ │ └── components # Contains all template components.
│ │ │ └── generic # Contains basic scaffolding styles.
│ │ │ └── screens # Contains views specific styles.
│ │ │ └── settings # Contains all template variables.
│ │ │ └── tools # Contains all mixins.
│ │ │ └── utils # Contains helper classes.
│ │ │ └── index.scss # Indicator file.
│ │ │
│ │ └── vendor # Contains all plugin files & custom styles.
│ │ └── index.scss # Indicator file.
│ │
│ └── *.html # All HTML pages files .
└── webpack # Contains Webpack init code.
│ └── plugins # Contains all Webpack plugins config.
│ └── rules # Contains Loaders config code.
│ └── config.js # Contains Webpack config object.
│ └── devServer.js # Webpack dev server config code.
│ └── manifest.js # All build system constants.
│
└── .babelrc # Babel ES6 Transpiler.
└── .editorconfig # Keep same coding styles between code editors.
└── .eslintrc.yml # JavaScript Linting.
└── .gitattributes # Git Attributes.
└── .gitignore # Ignored files in Git.
└── .stylelintrc.yml # SCSS/CSS Linting.
└── browserslist # Supported Browsers.
└── CHANGELOG.md # Versioning.
└── package.json # Package metadata.
└── README.md # Manual file.
└── webpack.config.js # Webpack main config file.
└── yarn.lock # Yarn metadata.
```
## Deployment
In deployment process, you have two commands:
1. Build command
Used to generate the final result of compiling src files into build folder. This can be achieved by running the following command:
```
> npm run build
```
2. Preview command
Used to create a local dev server in order to preview the final output of build process. This can be achieved by running the following command:
```
> npm run preview
```
## Built With
- [Babel](https://babeljs.io/)
- [Webpack](https://webpack.js.org/)
- [Eslint](https://eslint.org/)
- [Sass](http://sass-lang.com/)
- [Postcss](http://postcss.org/)
- [Stylelint](https://stylelint.io/)
- [Bootstrap](http://getbootstrap.com/)
- [Chart.js](http://www.chartjs.org/)
- [Datatables](https://datatables.net/)
- [Easy Pie Chart](http://rendro.github.io/easy-pie-chart/)
- [Fullcalendar](https://fullcalendar.io/)
- [Jquery](https://jquery.com/)
- [Jquery Sparkline](https://omnipotent.net/jquery.sparkline/)
- [Jvectormap](http://jvectormap.com/)
- [Load Google Maps API](https://github.com/yuanqing/load-google-maps-api)
- [Lodash](https://lodash.com/)
- [Masonry](https://masonry.desandro.com/)
- [Moment](https://momentjs.com/)
- [Perfect Scrollbar](https://github.com/utatti/perfect-scrollbar)
- [Skycons](https://darkskyapp.github.io/skycons/)
- [Fontawesome](http://fontawesome.io/)
- [Themify Icons](https://themify.me/themify-icons)
- [Roboto Font](https://fonts.google.com/specimen/Roboto)
- [Bootstrap Datepicker](https://bootstrap-datepicker.readthedocs.io/en/latest/)
## Changelog
#### V 1.0.0
Initial Release
## Authors
[Colorlib](https://colorlib.com)
## More info
- [Bootstrap Dashboards](https://colorlib.com/wp/free-bootstrap-admin-dashboard-templates/)
- [Bootstrap Templates](https://colorlib.com/wp/free-bootstrap-templates/)
- [HTML Templates](https://colorlib.com/wp/free-html-website-templates/)
- [Free Admin Dashboards](https://colorlib.com/wp/free-html5-admin-dashboard-templates/)
- [Website Templates](https://colorlib.com/wp/templates/)
- [Free CSS Templates](https://colorlib.com/wp/free-css-website-templates/)
- [WordPress Themes](https://colorlib.com/wp/free-wordpress-themes/)
## License
Adminator is licensed under The MIT License (MIT). Which means that you can use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the final products. But you always need to state that Colorlib is the original author of this template.


I am a 4th year student studying information technology management in Technological University Dublin. I am due to graduate in 2020 with an Honours Bachelor of Science Degree. I am a hardworking and movitavated person who works well in teams as well as on my own.
Technological University Dublin
| Year | Module | Grade |
|---|---|---|
| Third year | Advanced Switching and Routing | C |
| Third year | Big Data Technology | B |
| Third year | Server-Side Web | B |
| Third year | Innovation and Enterprise | B |
| Third year | operating systems | B |
| Third year | Cloud Distribution | C+ |
| Second year | Computer Service management | D |
| Second year | Web Design and Development | D |
| Second year | Discrete Mathematics 2 | C+ |
| Second year | Database Design and Programming | C |
| Second year | IT Scripting and Automation | C |
| Second year | Database Administration | C |
| Second year | Networking 1 | B- |
| Second year | Software Quality Assurance & Testing | B- |
| Second year | Management Science | C |
| Second year | Networking 2 | C |
| Second year | Financial Management | B+ |
| Second year | Information Security | D |
| First year | Database Fundamentals | D |
| First year | Computer Architecture | C+ |
| First Year | Business & Information Systems | C |
| First year | Software Development 1 | B- |
| First year | Learning to Learn at 3rd level | B- |
| First year | Operating Systems Fundamental | D |
| First year | Fundamentals of Interface and Web | B |
| First year | Statistics | C+ |
| First year | Software Development 2 | D |
| First year | Object Oriented Systems Analysis | C |
| First year | Social Media Communications | D |
| First year | Discrete Mathematics 1 | C |
The project will be based around Embedded Business intelligence for healthcare providers with Power BI. The aim is to be able to show how healthcare providers can use embedded business intelligence to make important decisions from historic data. The Power BI visuals will be embedded in a web application. Embedded Business intelligence allows the end user to have access to dashboards, visualisations and reports without having to learn a new technology by embedding the reports within the organisation’s current application.
The role may include capacity planning, installation, configuration, database design, migration, performance monitoring, security, troubleshooting, as well as backup and data recovery.
Business intelligence is a combination of software applications, software tools, and procedures through which organizations work with data from both internal and external sources. The tasks carried out include Obtain data, Structure data for analysis, Implement and test queries on the data sets, Compile reports and data visualizations for corporate decision-making
Data analysis is a process of inspecting, cleansing, transforming and modeling data with the goal of discovering useful information, informing conclusion and supporting decision-making


Elcano DIY robot kit
The Elcano Project is developing low-cost hardware and software kits to convert any vehicle to self-drive. We are concentrating on recumbent tricycles, since that produces a real people mover at a total cost of under $5000. Our kits could also be used in full-sized cars or toy RC cars.
The kits are based on Arduino microcontrollers, and allow you to connect them robustly into a compact, low power package. The basic package uses several processors:
C2 – Dual control: low level vehicle control, either from the driver or the AI.
C3 – Pilot: Detects obstacles and feeds settings for the next path segment to C2.
C4 – Path Planner: Computes the best route from current location to destination.
C5 – Reverse pilot (optional): May supplement C3 and C6.
C6 – Navigator: Reads GPS, INU, Odometer, Sonars, etc. to get best position estimate.
C7 – Vision: Locates certain features of interest.
C8 – Simulator interface: Replaces sensor inputs with outputs of PC simulator.
Processing is supported by a set of custom circuit boards:
MegaShieldDB – Plugs into C2 and brings out signals on robust cables, making the wheels spin and steer.
MegaShieldTrio – Houses C3, C4, C6, INU and GPS. It can also be configured to include C5.
Sonar – Houses five sonar range finders, covering 180 degrees.
MegaShieldSim – Houses C8 and connects to the MegaShieldTrio.
Panel – Operator status information and switches.
E-stop – Remote E-stop and joystick for operator control.
The heart of the system is the flexible MegaShieldTrio board. It includes a proto-board area and may be useful for any project based on three or four Arduinos. The standard configuration uses an Arduino Mega SDK for C6, and Arduino Nanos for C4 and C3. The Mega SDK is a USB host and will interface to an Android smart phone. Shields can be plugged into C6 and C4. The MegaShieldTrio has plugs for odometers and two sonar boards. Alternatively, the board accepts a Digilent Max 32 as C6. It can also be built to use an Arduino Uno for C6 and and an Arduino Nano for C5. The main communications link between processors is serial.
The C7 vision processor may be any suitable platform, and communicates with C6 over USB. It will also use USB to talk to a camera. The C7 processor could be quite extensive, and incorporate V2V, I2V, radar and Lidar. The system will work without any C7 processor.
A PC based simulator is under development. It will use USB to communicate with C8; C8 then generates all the sensor signals for the AI. These include a simulated video camera to C7. It also supplies the signals that would come from GPS, INU, Odometry and Sonars.


About
Passionate Software Developer with 2 years of professional experience building a web application. Currently working at a startup company, and this position provided me various opportunities to learn different positions that not bounded to one position.


DataObject¶
One of the key features of primrose
is that it keeps data in memory. As data is shuffled among nodes for reading, processesing, modeling, and writing, it is readily available for nodes to use without unnecessary serialization and deserialization.
A central object receives new data, stores it, hands it to nodes that request it, and does all the book-keeping under the hood. This is the DataObject
.
DataObject
is a repository, a single instance that is handed to each node (in the sequence determined by the DAGRunner
) to both add new data, but also to consume data, either reading it, transforming it, or popping it off the DataObject
completely.
This concept is so central to primrose
that is plays a pivotal role in the notion of a node and running a node. That is, AbstractNode
has a method:
def run(self, data_object):
"""
run the node. For a reader, that means read, for a writer that means write etc.
Args:
data_object (DataObject): DataObject instance
Returns:
(tuple): tuple containing:
data_object (DataObject): instance of DataObject
terminate (bool): terminate the DAG?
"""
Every node in the DAG, receives the DataObject
, runs (does whatever it needs to do) and returns that same DataObject. It might add new data, it might consume data, or it might just return it as is.
Saving Data¶
DataObject
is designed to hide some of the decisions and underlying book-keeping. If you want to save some data, you call the add
method:
data_object.add(self, some_object)
That’s it! This will save the data some_object
, associating it with the node that did the saving.
some_object
can be anything at all. It might be a data frame, a string, a dictionary, any object that Python can handle.
For instance, a CsvReader
might implement its run
method as:
filename = self.node_config['filename']
logging.info('Reading {} from CSV'.format(filename))
df = pd.read_csv(filename)
data_object.add(self, df)
terminate = df.empty
return data_object, terminate
taking the filename listed in the config, reading into a pandas dataframe, and checking for empty data frame, and return data_object
.
Specifying a key¶
The data is saved with a default key (DataObject.DATA_KEY
). However, you can use your own key:
data_object.add(self, some_object, some_key)
such as
data_object.add(self, df, "tennis_df")
This is important if you wish to save multiple objects:
data_object.add(self, df1, "DF1")
data_object.add(self, df2, "DF2")
although you could always save as a single dictionary:
data_object.add(self, {"DF1": df1, "DF2": df2})
You have options.
Getting Data¶
Typically, a node will need data that was stored in another node, upstream in the DAG. Thus, the typical action in a node is to save data (data_object.add()
above) and/or to get upstream data. To do the latter, use get_upstream_data
:
data = data_object.get_upstream_data(self.instance_name,
pop_data=False,
rtype=DataObjectResponseType.KEY_VALUE.value)
The first argument is the name of the requestor (typically self.instance_name
). Which node is requesting the data? This is used to determine which nodes are upstream of the focal node.
The pop_data
flag determines whether you want to pop the data off the DataObject
, oin which it will be garbge collected when no longer referenced. This is important as you might not want more and more data accumulating in memory.
Specifying form of data¶
The last input to get_upstream_data
is rtype
, short for DataObjectResponseType
, which specifies how you want the data delivered.
Single objects¶
The simplest scenario is you just want a single object back. For instance, suppose the only upstream node was a reader that read data into a dataframe. You just want that data frame. In that case, you can specify
rtype=DataObjectResponseType.VALUE.value
For instance,
df = self.get_upstream_data(instance_name,
rtype=DataObjectResponseType.VALUE.value)
will deliver the data to df
.
If, however, there are multiple keys for the upstream node, instread of single data object, you will receive a dictionary of all the data, such {"DF1": df1, "DF2": df2}
.
Single dictionaries¶
A more complex scenario is if an upstream node saved multiple objects, such as
data_object.add(self, df1, "DF1")
data_object.add(self, df2, "DF2")
In this case, it is likely easiest to get a single dictionary back (especially if you don’t know how many objects were saved and with what keys). For this, specify
rtype=DataObjectResponseType.KEY_VALUE.value
This will return a single dictionary back, which in the case of the above example will be
{"DF1": df1, "DF2": df2}
It will combine the separate, individual keys and objects into a single dictionary for you. To be clear, for this option, specify KEY_VALUE
in get_upstream_data
:
data_dictionary = self.get_upstream_data(instance_name,
rtype=DataObjectResponseType.KEY_VALUE.value)
Set of Dictionaries¶
The last scenario is the most complex. Suppose that multiple upstream nodes feed into a node. For instance, perhaps 3 readers feed into a pipeline node. For this, you will want to get the data but associated with each upstream node; that is, a dictionary of instance_name keys and their data dictionaries. For this, specify
rtype=DataObjectResponseType.INSTANCE_KEY_VALUE.value
This will return a single dictionary but where the keys are the names of the upstream nodes, and the values are dictionaries of the stored data and their associated key:
{'instance_name': {'key': value}, 'instance_name2': {'key2': value2}, ... }
Filtering data¶
You can also filter data for a given data key. You could request data with KEY_VALUE
or INSTANCE_KEY_VALUE
and inspect the key yourself but you can also use
data_object.get_filtered_upstream_data(self, instance_name, filter_for_key)
where filter_for_key
filters for data keys. For instance, with stored data
{'instance_name': {'key': value}, 'instance_name2': {'key2': value2}, ... }
and calling
data_object.get_filtered_upstream_data(self, instance_name, 'key2')
would return {'key2': value2}
.
If you ask for INSTANCE_KEY_VALUE
but there is a single key, you will still recive a dictionary keyed with instance name ({'instance_name': {'key': value}
).
Other methods¶
DataObject
has other methods for inspecting data currently stored in DataObject
such as upstream_keys()
which provides the keys and get()
which gets the data for a given instance name. It also handles local caching of data. However, the add()
and get_upstream_data()
are the methods most often used in nodes.


Issue 6744: List all classes of an element inside the Element Path
Steps to reproduce
- Open Firebug
- Switch to the HTML panel
- Inspect the blue
<div>
(#test
) above
Expected result
- The Element Path item for the selected element should display div#test.a.b.c.


Miles Lauchli
Democrat
Customer Experience Specialist, Occipital Inc.
Bachelor's of Arts in Honors English - University of Denver Bachelor's of Arts in Spanish - University of Denver Certificate in Web Development - Front Range Community College
80501
I have voted in every election since I turned 18. I have recently donated money to Bernie Sanders's primary campaign in February 2020 and Isaac McCorkle's campaign against Ken Buck in October 2020.
I have not been a part of any such organizations. In college I participated in several protests, as well as organized my own, but that was back in 2009.
I have recently been working to further the Black Lives Matter movement through donation and activism. I have peacefully protested and set up small community outreach projects to bring awareness to the voices of BIPOC.
I am at a point in my life where I want to start working to make a larger difference in my community. I was thrilled to see congressional redistricting changes on the ballot in 2018 but I never thought I would be someone who could sit on the Commission. However, as younger Congresspeople are entering the House and Senate, and watching Mayor Buttigieg as a real contender during the Democratic primary, I realized there is no reason to strive to make a larger difference, politically speaking. As a millennial, I feel as though my voice is underrepresented in government. I want to change that. I believe partisan politics has gerrymandered Colorado’s districts into a map that serves not constituents but politicians. With the introduction of this Commission, we have a chance to right this injustice. I am tired of feeling helpless and want a more active role in shaping my community.
Since 2016, I have done much to reach out to and understand "the other side". In the last four years, the political temperature of the country has risen alarmingly, and often we stay comfortably in our own echo chambers.I regularly subscribe to political analysis from left, right, and center, and I feel I have a great handle on the matters of importance for all. I am a patient person who listens, but I am not a passive person who will compromise his values. I understand the implications of my own privilege and the mandate I have to use that privilege to care for the disenfranchised. As a teacher and customer support representative, I have developed a great skill of taking complicated ideas and distilling them into their simplistic essence, and I intend to use this skill on the Commission.
I am not so arrogant as to believe that I know better than others, and if someone presents a compelling, evidence-based argument, I am willing and happy to change my opinion. However, I also believe that I come from a well-reasoned foundation that I am willing to argue for. I believe consensus comes first from mutual understanding and respect. If we are unwilling to listen to our opponents and only dismiss them as incompetent, we further the political polarization. This Commission is about compromise and doing what is best for Coloradans, and I believe my patience, rationality, education, and humility will be useful in helping to navigate the hot-headed emotional landscape that divides the left from the right and come to a place of agreement.
male


Compute crop sensitive indices. These indices are intended to capture the changes in temperature extremes during anthesis, but can also be applied to other phenological stages.
anthesis(object, ...) # S3 method for default anthesis(object, day.one, ...) # S3 method for array anthesis(object, day.one, ...) # S3 method for clima_ls anthesis(object, ...) # S3 method for sf anthesis(object, day.one, ..., as.sf = TRUE)
| object | a data.frame (or any object that can be coerced to data.frame)
with geographical coordinates (lonlat), or an object of class |
|---|---|
| ... | additional arguments passed to methods. See details |
| day.one | a vector of class |
| as.sf | logical, to return an object of class 'sf' |
Challinor et al. (2016). Nature Climate Change 6(10):6954-958
https://doi.org/10.1038/nclimate3061
Trnka et al. (2014). Nature Climate Change 4(7):637–43.
https://doi.org/10.1038/nclimate2242
A dataframe with crop sensitive indices with n colunms depending on the number of thresholds passed to each index:
high temperature stress using daily MEAN temperature, and given as percentage number of days a certain threshold is exceeded
high temperature stress using daily MAX temperature, and given as percentage number of days a certain threshold is exceeded
heat stress event, and given as percentage number of days a a certain threshold is exceeded for at least two consecutive days
heat stress event, and given the maximum number of days a certain threshold is exceeded for at least two consecutive days
The function uses pre-defined threshold to compute the indices. For hts_mean (32, 35, 38 Celsius), for hts_max (36, 39, 42 Celsius) and for hse (31 Celsius). See Additional arguments
Additional arguments:
The thresholds can be adjusted using the arguments hts_mean.threshold
,
hts_max.threshold
and hse.threshold
, which are a numeric (or
vector of numeric)
last.day
: an object (optional to span) of class Date
or
any other object that can be coerced to Date
(e.g. integer, character
YYYY-MM-DD) for the last day of the time series
span
: an integer (optional to last.day) or a vector with
integers (optional if last.day is given) for the length of
the time series to be captured
Other temperature functions:
ETo()
,
GDD()
,
temperature()
data("modis", package = "climatrends") anthesis(modis, day.one = "2013-10-27", last.day = "2013-11-04", hse.threshold = c(33.5))


{% extends "./base_sign_in.html" %} {% block login_form %}
Account Created
Sign up successful and verification email sent. You can be as productive as possible by verifying your email.
Sign In
{% endblock %}


Plain button, only label set:
Button from existing markup: Click Here!
Toggle button, icon added:
Group of plain buttons with one separator:
Group of toggle buttons, some with icons:
Group of toggle buttons, one should always remain selected:


--- layout: page weight: 100 title: Marketing Email Overview navigation: show: true ---
SendGrid's Marketing Email tool is a powerful web and API based interface that allows you to compose and send scheduled marketing campaigns from your SendGrid account. Marketing Emails can be split tested, lists can be managed, and recipients can manage their subscriptions. You can upload your marketing email to Facebook or Twitter directly from SendGrid, and much more!


Joy for Gordon Elliot, as Fury Road prevails in Navan
Meanwhile, there was success for Henry de Bromhead and Chris’s Dream in the Ladbrokes Troytown Handicap Chase.
by The42 TeamFURY ROAD PREVAILED in today’s ”Monksfield” Novice Hurdle at Navan.
Gordon Elliot’s horse justified its favourite status with a comfortable 18th-length win.
Ridden by Davy Russell, the path to victory was made easier after the much-fancied Abacadabras had to withdraw prior to the race.
“It was straightforward, as it should have been, but he’s a nice horse and is better than that form,” Elliot told Racing TV afterwards.
“He could step right out to three miles if we wanted, and he jumps very well.
“He could go for the three-mile race at Limerick or the Lawlor’s race at Naas. He’s a big, staying horse.”
Meanwhile, there was success for Henry de Bromhead and Chris’s Dream in the Ladbrokes Troytown Handicap Chase, claiming the €59,000 prize ahead of Fitzhenry and Portmore Lough in second and third respectively.
“Brian [Acheson, owner] suggested this race, and it made a lot of sense. Robbie was brilliant on him, and he’s a very good horse,” De Bromhead told Racing TV.
“His form tailed off a bit last season, so we’ll have to watch that, and it seems he doesn’t want too much racing. We went to Aintree full of confidence, and he was well beaten — then he ran no sort of race at Punchestown.
“Christmas will probably come too soon, so maybe we will look at something like the Thyestes — but to be honest, I haven’t really looked beyond today.”


Add the training categories you want to make mandatory for your staff. It will help you identify
who is missing training and let you know when
training expires.
| Mandatory training categories | Job roles |
|---|---|
| {{ records.category }} |
{{ job.title }}
|


Hi guys,
We are looking for some freelancer who can work with me on some project.
As it is an idea, so I don't guarantee to pay or generate any kind of revenue out of it. Passionate people can join me instantly. As my target for team formation is till November 1st, 2017.
Buddies (no need of expert knowledge we will build it here together) :
NOTE :
Those who are really interested can message me personally and also can leave there contact number so I can contact them.


Introduction
The primary use cases of eventkit are
to send events between loosely coupled components;
to compose all kinds of event-driven data pipelines.
The interface is kept as Pythonic as possible, with familiar names from Python and its libraries where possible. For scheduling asyncio is used and there is seamless integration with it.
See the examples and the introduction notebook to get a true feel for the possibilities.
Installation
pip3 install eventkit
Python version 3.6 or higher is required.
Examples
Create an event and connect two listeners
import eventkit as ev
def f(a, b):
print(a * b)
def g(a, b):
print(a / b)
event = ev.Event()
event += f
event += g
event.emit(10, 5)
Create a simple pipeline
import eventkit as ev
event = (
ev.Sequence('abcde')
.map(str.upper)
.enumerate()
)
print(event.run()) # in Jupyter: await event.list()
Output:
[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D'), (4, 'E')]
Create a pipeline to get a running average and standard deviation
import random
import eventkit as ev
source = ev.Range(1000).map(lambda i: random.gauss(0, 1))
event = source.array(500)[ev.ArrayMean, ev.ArrayStd].zip()
print(event.last().run()) # in Jupyter: await event.last()
Output:
[(0.00790957852672618, 1.0345673260655333)]
Combine async iterators together
import asyncio
import eventkit as ev
async def ait(r):
for i in r:
await asyncio.sleep(0.1)
yield i
async def main():
async for t in ev.Zip(ait('XYZ'), ait('123')):
print(t)
asyncio.get_event_loop().run_until_complete(main()) # in Jupyter: await main()
Output:
('X', '1')
('Y', '2')
('Z', '3')
Real-time video analysis pipeline
self.video = VideoStream(conf.CAM_ID)
scene = self.video | FaceTracker | SceneAnalyzer
lastScene = scene.aiter(skip_to_last=True)
async for frame, persons in lastScene:
...
Distributed computing
The distex library provides a
poolmap
extension method to put multiple cores or machines to use:
from distex import Pool
import eventkit as ev
import bz2
pool = Pool()
# await pool # un-comment in Jupyter
data = [b'A' * 1000000] * 1000
pipe = ev.Sequence(data).poolmap(pool, bz2.compress).map(len).mean().last()
print(pipe.run()) # in Jupyter: print(await pipe)
pool.shutdown()
Inspired by:
Documentation
The complete API documentation.


| SplitString |
open class SplitString
A container utility class for strings split into two. |
| StringSplitter |
open class StringSplitter
As of Kotlin 1.10, there is still some performance overhead in splitting strings by a literal. As such, string splitting in Java is currently still more performant than in Kotlin. |
| CommandMap |
typealias CommandMap = MutableMap<String, ICommand<*>>
|
| CommandSet |
typealias CommandSet = MutableSet<ICommand<*>>
Represents a mutable set of ICommand. |
| CommandStack |
typealias CommandStack = Stack<ICommand<*>>
Represents a mutable stack of ICommand. |
| CommandStringMap |
typealias CommandStringMap = MutableMap<ICommand<*>, String>
Represents a mutable map of ICommand to String, used in subcommmand parsing. The opposite of CommandMap. |
| ImmutableCommandMap |
typealias ImmutableCommandMap = Map<String, ICommand<*>>
|
| PrefixMap |
typealias PrefixMap = MutableMap<String, CommandMap>
Represents a mutable map of String to CommandMap. |


{% extends "base_generic.html" %} {% block content %}
You have visited this page {{num_visits}} time{{num_visits|pluralize:'s'}}


EECS Research Students Symposium - 2016
April 28-29, 2016
Venue: Faculty Hall, Indian Institute of Science
HOME
COMMITTEE
CALL FOR ABSTRACTS
SCHEDULE
ALUMNI EVENT
INDUSTRY PARTICIPATION
RELATED LINKS
GALLERY
Sponsors:


This workshop will focus on the bridging of the cyberinfrastructure/data visualization and polar communities and is scheduled for November 3 - 4, 2014 in New York City at the Parsons New School for Design. Improving the use and the value of existing data sets over the polar regions is crucial to promote science and support new discoveries. Ultimately, collaborations between data visualization experts and polar scientists will foster the understanding of the variability of the polar regions at different timescales, with implicit benefit for the society.
The participants will be motivated by several public Polar datasets that will be acquired and made available before the starting date of the workshop. One of the expected outcomes is to produce high impact and novel prototypes and data visualizations that will be made available under open source licenses. Releasing the prototypes will allow the NSF to make longer-term investments in technologies and visualizations that can be adopted by the community. The workshop will also increase cross agency collaboration between NSF, NASA, NOAA and other Arctic/Polar related agencies.
The organizing committee is composed of both cyberinfrastructure and polar experts, including participation from academia, industry, the federally funded research and development centers, and from the broader open source community. The workshop will: (1) recommend several sets of open source software for data and metadata processing; scientific workflow management; data curation; and data dissemination; (2) identify some relevant Polar data visualization techniques and assess the needs and challenges of visualizing Polar datasets; (3) package, deliver, and make available the outcomes of the workshop via a public website; and (4) provide input to the NSF Polar CyberInfrastructure program officer through a final report.
Parsons - The New School
66 W 12th St, 7th floor (Between Fifth Avenue and Sixth Avenue)
New York, NY 10011
Indrani Das, Lamont-Doherty Earth Observing Laboratory, Columbia University
S. McKenzie, Skiles University of California Los Angeles (UCLA)
David Reagan, Indiana University
Lewis John, McGibbney NASA Jet Propulsion Laboratory
Jeffrey Schmaltz, NASA Goddard Space Flight Center
Ryan Boller, NASA Goddard Space Flight Center
Tyler Palsulich, New York University (NYU)
Chalalai Chaihirunkarn, Carnegie Mellon University
WenWen Li, Arizona State Unviersity
Jeremiah Dabney, University of Alaska, Fairbanks
Matthew Savoie, National Snow and Ice Data Center (NSIDC)/University of Colorado - Boulder
Justin Paul-Peters, Indiana University
John Morton, Lamont-Doherty Earth Observing Laboratory, Columbia University
Suzanne Carbotte, Lamont-Doherty Earth Observing Laboratory, Columbia University
Christopher Sweeney, US Coast Guard Academy
Carol Costanza, University of Wisconsin-Madison
Aaron Presnall, Jefferson Institute
Stephen Diggs, Scripps/Univeristy of California San Diego
Kanchana Welagedara, Computer Society of Sri Lanka/Apache Software Foundation
Zoran Hrncic, Jefferson Institute
Mia Bennett, University of California Los Angeles (UCLA)
Allen Pope, National Snow and Ice Data Center (NSIDC)/University of Colorado - Boulder
Maziyar Boustani, NASA Jet Propulsion Laboratory
Scott Pearse, National Center for Atmospheric Research (NCAR)
Rachel Obbard, Dartmouth University
Laura Kehrl, University of Washington APL Polar Science Center
Martin Lehmann, University of Aalborg
Saskia van Manen, Open University, UK
Jesse Johnson, University of Montana
Curtis Lisle, KnowledgeVis, Inc.
Yuan Ho, Unidata/UCAR
Bruce Caron, New Media Studio/University of California Santa Barbara
Geetha Ratnam, Scripps/Univeristy of California San Diego
Eric Nienhouse, National Center for Atmospheric Research (NCAR)
Christine Laney, University of Texas El Paso (UTEP)
Alex Boghosian, Lamont-Doherty Earth Observing Laboratory, Columbia University
Paul Ramirez, NASA Jet Propulsion Laboratory
Justin Fields, Rails Dog
Zhong Liu, George Mason University
Dr. Annie Bryant Burgess: University of Southern California
Dr. Suzanne Carbotte: Columbia University
Dr. Bruce Caron: New Media Research Institute
Dr. Patrick Driscoll: Aalborg University, Denmark
Mr. Christopher Goranson: Presidential Innovation Fellow (GSA)
The NSF DataViz Hackathon for Polar CyberInfrastructure is licensed under the
Apache Software License, version 2.0


[§342G-120] Recycling facility reporting. Recycling facilities, in addition to any requirements under chapter 342H, shall prepare or maintain the documents involving empty beverage containers, as required by the department. [L 2002, c 176, pt of §2]


These should be green:
HasAttribute
ExactMatch
ContainsWord
ContainsString
StartsWithSegment
StartsWithString
EndsWithString
These should be red:
HasAttribute
ExactMatch
ContainsWord
ContainsString
StartsWithSegment
StartsWithString
EndsWithString


Author: Bartosz Baranowski Level: Intermediate Technologies: Hibernate 3 Summary: Example that uses Hibernate 3 for database access. Compare the code in this quickstart to the hibernate4 quickstart to see the changes needed to upgrade to Hibernate 4.
This is a simple JSF 2.0 example based on the hibernate4
quickstart. Its purpose is to demonstrate how you can use Hibernate 3 in your application.
This quickstart, like the log4j
quickstart, demonstrates how to define a module dependency. However, this quickstart goes beyond that and also demonstrates the following:
You can compare this quickstart to the hibernate4
quickstart to see the code differences between Hibernate 3 and Hibernate 4.
All you need to build this project is Java 6.0 (Java SDK 1.6) or better, Maven 3.0 or better.
The application this project produces is designed to be run on JBoss Enterprise Application Platform 6 or JBoss AS 7.
If you have not yet done so, you must Configure Maven before testing the quickstarts.
The following shows the command line to start the server with the web profile:
For Linux: JBOSS_HOME/bin/standalone.sh
For Windows: JBOSS_HOME\bin\standalone.bat
NOTE: The following build command assumes you have configured your Maven user settings. If you have not, you must include Maven setting arguments on the command line. See Build and Deploy the Quickstarts for complete instructions and additional options.
Type this command to build and deploy the archive:
mvn clean package jboss-as:deploy
This will deploy target/jboss-as-hibernate3.war
to the running instance of the server.
The application will be running at the following URL: http://localhost:8080/jboss-as-hibernate3/.
When you are finished testing, type this command to undeploy the archive:
mvn jboss-as:undeploy
You can also start the server and deploy the quickstarts from Eclipse using JBoss tools. For more information, see Use JBoss Developer Studio or Eclipse to Run the Quickstarts
If you want to debug the source code or look at the Javadocs of any library in the project, run either of the following commands to pull them into your local repository. The IDE should then detect them.
mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc


2 minutes
The mind can be our most valuable asset and our greatest enemy
Note
The mind is our most valuable asset. But it also can be our biggest enemy. It’s ironic. If we learn to condition it, to calm it, to control it to focus on the positive and the drive to improve ourselves, we can go a long way to making our life better. Letting the bad thoughts float past us, because that’s what they are - fleeting. We have lived out so many terrible things in our heads that will never come to pass. And they are not helping in any way. Only making us feel worse and sometimes, leading to terrible things. What a mind can do when it’s influenced by something like the internet! It’s scary to think about. Mindfulness, meditation, constant care is what the mind requires. You can let it flow, let the ideas come, but when a bad one appears on the horizon, don’t let it take root. Think about how it’s helping you right now, the answer will probably be in no way is it helping you. Then let it pass by focusing on the body, by focusing on something tangible, so that the bad thought can go its way out of the mind. And therein lies the key to a healthy mind. Well, at least I hope so.
Links to this note
226 Words
2021-02-21 00:00 +0200


Constructor
new Collection(collectionName) → {Collection}
The Collection class holding the date from the selected data source
Parameters
| Name | Type | Description |
|---|---|---|
| collectionName | String | The name of the selected collection. Leave empty if you want an empty collection but with all methods |
Returns
Collection
An array object with some extra methods added to it
Static Methods
| Name | Description |
|---|---|
| decorate | Takes a collection object an appends all methods to it that are needed. This way we can work with a native array as a collection |
-
decorate(collection)static
-
Takes a collection object an appends all methods to it that are needed. This way we can work with a native array as a collection
Parameters
Name Type Description collection jsonOdm.Collection


mesg — permit or deny messages
mesg
[y | n
]
The mesg utility sets or displays the messaging status of the controlling terminal.
The mesg operates on the first of standard input, standard output and standard error which is associated with terminal device.
y
Allow other users to send messages to the controlling terminal.
n
Prevent other users from sending messages to the controlling terminal.
If no options are specified, mesg writes the current messaging status to standard output.
The following error values are returned:
The mesg utility conforms to the Single UNIX Specification, Version 3 (SUSv3).
talk (1) , write (1) .


This is a content template which can receive content variables such as the recipients name.
{{name}}, you gotta see the following image:
Thanks Tino


Twisted Web code examples
twisted.web.client
- getpage.py - use
twisted.web.client.getPage
to download a web
page.
- dlpage.py - add callbacks to
twisted.web.client.downloadPage
to display errors
that occur when downloading a web page
XML-RPC
- xmlrpc.py XML-RPC server with
several methods, including echoing, faulting, returning
deferreds and failed deferreds
- xmlrpcclient.py - use
twisted.web.xmlrpc.Proxy
to call remote XML-RPC
methods
- advogato.py - use
twisted.web.xmlrpc
to post a diary entry to
advogato.org; requires an advogato account
Virtual hosts and proxies
- proxy.py -
use
twisted.web.proxy.Proxy
to make the simplest
proxy
- logging-proxy.py - example of
subclassing the core classes of
twisted.web.proxy
to log requests through a proxy
- reverse-proxy.py - use
twisted.web.proxy.ReverseProxyResource
to make
any HTTP request to the proxy port get applied to a specified
website
- rootscript.py - example use of
twisted.web.vhost.NameVirtualHost
- web.py - an example of both using the
processors
attribute to set how certain file types
are treated and using
twisted.web.vhost.VHostMonsterResource
to reverse
proxy
.rpys and ResourceTemplate
- hello.rpy.py - use
twisted.web.static
to create a static resource to
serve
- fortune.rpy.py - create a
resource that returns the output of a process run on the
server
- lj.rpy.py - use
twisted.web.microdom
,
twisted.web.domhelpers
, and chained callbacks to
extract and display parts of a livejournal user's rss page
- report.rpy.py - display
various properties of a resource, including path, host, and
port
- users.rpy.py - use
twisted.web.distrib
to publish user directories
as for a "community web site"
- simple.rtl - example use of
twisted.web.resource.ResourceTemplate
Miscellaneous
- webguard.py - pairing
twisted.web
with twisted.cred
to
guard resources against unauthenticated users
- silly-web.py - bare-bones
distributed web setup with a master and slave using
twisted.web.distrib
and
twisted.spread.pb
- google.py - use
twisted.web.google
to get the I'm Feeling Lucky
page for a search term
- soap.py - use
twisted.web.soap
to publish SOAP methods
Index
Version: 12.1.0


Here's a garbage website supposedly about a vacation! It's full of lorem ipsum text and uses bootstrap's grid system to create three columns.
I went to college at UC Santa Cruz and got a BA in Environmental Studies. After graduation, I worked for several years as an Inspector for Marin County Department of Agriculture/Weights & Measures. I most enjoyed working with farms helping get them certified Organic, but found myself drawn to the more creative aspects of the job.
I moved to Portland in 2016 and started working for a local construction company primarily doing residential remodels. I liked the physical aspect of the job but was mostly fulfilled by the tasks that required high precision. Trimming out windows beat framing walls any day. Eventually I got a job working for The Joinery, a local hardwood furniture manufacturer. I still work there today and really enjoy it.
The work I'm currently doing has a suprising amount of parallels to coding. They both create product from the ground up where each step builds on the last. It's taught me to be intentional about my workflow, seeing each step through to completion before moving on. There's no Edit>Undo in woodworking and I think that has improved my approach. It's all about patience and conscientiousness.
I've really enjoy the experience I've had coding so far. I've completed a Beginning Java course from Treehouse and am now in the middle of the Epicodus evening class. I'm excited to start learning Javascript and see what projects I can create in the digital realm after several years working on more physical projects.


@import data.{DASUser, SchemeClaim}
@(form: Form[_], user: DASUser, claimedSchemes: Seq[SchemeClaim])
@proposition = {
}
@main("Welcome to DAS", insideHeader = proposition) {
Logged in as @user.name
@if(claimedSchemes.isEmpty) {
You have not yet claimed any PAYE Schemes
} else {
Your claimed schemes
}
}


Today we're releasing an update to address a potential XSS vulnerability that can arise when using user data as a
key
. Typically "safe" data is used for a key
, for example, an id from your database, or a
unique hash. However there are cases where it may be reasonable to use user generated content. A carefully crafted
piece of content could result in arbitrary JS execution. While we make a very concerted effort to ensure all text is
escaped before inserting it into the DOM, we missed one case. Immediately following the discovery of this
vulnerability, we performed an audit to ensure we this was the only such vulnerability.
This only affects v0.5.x and v0.4.x. Versions in the 0.3.x family are unaffected.
Updated versions are available for immediate download via npm, bower, and on our download page.
We take security very seriously at Facebook. For most of our products, users don't need to know that a security issue has been fixed. But with libraries like React, we need to make sure developers using React have access to fixes to keep their users safe.
While we've encouraged responsible disclosure as part of Facebook's whitehat bounty program since we launched, we don't have a good process for notifying our users. Hopefully we don't need to use it, but moving forward we'll set up a little bit more process to ensure the safety of our users. Ember.js has an excellent policy which we may use as our model.
You can learn more about the vulnerability discussed here: CVE-2013-7035.


{% extends "admin/base_site.html" %} {% load i18n %}{% load url from future %} {% block bodyclass %}grp-doc{% endblock %} {% block content-class %}{% endblock %} {% block title %}Grappelli Documentation » Modules{% endblock %} {% block extrahead %} {% endblock %} {% block breadcrumbs %}
The very essential component of Grappelli is a .grp-module.
It wraps pieces of content which belong together.
The horizontal layout within a module is basically structured by one ore more .grp-row.
A row stretches over the full width of the parent module.
It represents one piece of content or contains multiple pieces of content which belong together.
There might be a description for a module - just put a p.grp-description in a .grp-row.
Some text describing the module
Row
Row
Row
{% filter force_escape %}
Module
Some text describing the module
Row
Row
Row
{% endfilter %}
Rows might be split into two or more cells.
To do so assign .grp-cells to the .grp-row you want to carry the cells.
Each cell within that row is a .grp-cell then.
Cell
Cell
Cell
{% filter force_escape %}
Module
Cell
Cell
Cell
{% endfilter %}
Modules may be nested up to three levels.
Row
Row
Row
Row
Row
Row
{% filter force_escape %}
Parent Module
Child Module
Row
Row
Child Module
Grandchild Module
Row
Row
Grandchild Module
Row
Row
{% endfilter %}
Usually a module starts with a heading but you might as well use it without one.
Just be aware of the fact that modules without headings do not appear in document outlines.
Especially when nesting modules headings are meaningful because they give a description of the nested levels.
If you are going to use collapsible modules you have to use headings (as they act as collapsible-handlers).
Row
Row
Row
Row
Row
{% filter force_escape %}
Heading 2
Row
Row
{% endfilter %}
{% filter force_escape %}
Row
Row
Row
{% endfilter %}
It's very easy to turn modules into collapsible ones.
To do so just add .grp-collapse to the .grp-module you want to be collapsible.
With adding .grp-open or .grp-closed you define whether the collapsible module is opened or closed initially.
Now you have to define a .grp-collapse-handler. Usually that's the heading of the collapsible module but you may assign to other elements as well.
Finally you have to use some javascript code (e.g. with the source code below).
Row
Row
Row
Row
{% filter force_escape %}
Parent Module
Child Module
Row
Row
Child Module
Row
Row
{% endfilter %}
{% filter force_escape %}
(function($) {
$(document).ready(function() {
$("#grp-content-container .grp-collapse").grp_collapsible();
});
})(grp.jQuery);
{% endfilter %}


gh codespace
Connect and manage your codespaces in GitHub.
More information: home page
- Create a codespace in GitHub interactively:
gh codespace create
- List all available codespaces:
gh codespace list
- Connect to a codespace via SSH interactively:
gh codespace ssh
- Transfer a specific file to a codespace interactively:
gh codespace cp path/to/source_file remote:path/to/remote_file
- List the ports of a codespace interactively:
gh codespace ports
- Display the logs from a codespace interactively:
gh codespace logs
- Delete a codespace interactively:
gh codespace delete
- Display help for a subcommand:
gh codespace code|cp|create|delete|edit|... --help


The advantages of Naive Bayes include :
The disadvantages of Naive Bayes include :
Here is an example with a test cancer diagnostic (more on Udacity) :
$$P(C|pos) = {P(pos|C) P(C)\over P(pos)}$$
$$P(¬C|pos) = {P(pos|¬C) P(¬C)\over P(pos)}$$
We want to train a car to decide weither or not it can drive faster or if it should slow down depending on the terrain. Two features will be taken into account in this project :
I will describe the procedure I went through step by step using Gaussian Naive Bayes as classifiers.
We first need to create a dataset of terrain with the features bumpiness and steepness along with a label "fast" or "slow". From this labeled dataset, we will be able to build a decision tree to help the car make it's decision : "Should I go slow or fast?"
### Modified from: Udacity - Intro to Machine Learning
import random
def makeTerrainData(n_points):
random.seed(42)
### generate random data for both features 'grade' and 'bumpy' with an error
grade = [random.random() for ii in range(0,n_points)]
bumpy = [random.random() for ii in range(0,n_points)]
error = [random.random() for ii in range(0,n_points)]
### data are labeled depending on their features and error.
### label "slow" if labels = 1.0
### label "fast" if labels = 0.0
labels = [round(grade[ii]*bumpy[ii]+0.3+0.1*error[ii]) for ii in range(0,n_points)]
### adjust labels for extreme cases (>0.8) of bumpiness or steepness
for ii in range(0, len(y)):
if grade[ii]>0.8 or bumpy[ii]>0.8:
labels[ii] = 1.0
### split into train set (75% of data generated) and test sets (25% of data generated)
features = [[gg, ss] for gg, ss in zip(grade, bumpy)]
split = int(0.75*n_points)
features_train = features[0:split]
features_test = features[split:]
labels_train = labels[0:split]
labels_test = labels[split:]
return features_train, labels_train, features_test, labels_test
The outputs are as follows for n_points = 10 :
| features_train | labels_train | features_test | labels_test | ||
|---|---|---|---|---|---|
| grade | bumpiness | slow = 1.0 | fast = 0.0 | grade | bumpiness | slow = 1.0 | fast = 0.0 |
| 0.64 | 0.22 | 1.0 | 0.09 | 0.59 | 0.0 |
| 0.03 | 0.51 | 0.0 | 0.42 | 0.81 | 1.0 |
| 0.28 | 0.03 | 0.0 | 0.03 | 0.01 | 0.0 |
| 0.22 | 0.20 | 0.0 | |||
| 0.74 | 0.64 | 1.0 | |||
| 0.68 | 0.54 | 1.0 | |||
| 0.89 | 0.22 | 1.0 |
For n_points = 1000, we get the following repartition of test points. We consider the feature 'bumpiness' on the x-axis and 'grade' on the y axis. Each feature in a gradient between 0 and 1. Each point previously generated has two coordinates bumpiness and grade. When we plot the test points (features_test) - representing 25% of our generated data - we can see the pattern separating the points labeled 'slow' and 'fast'.
Testing set plotted with their labels
Testing set includes all features_test (grade, bumpiness) with their labels_test (slow or fast)
Now with our training set (features_train), we can train our classifier to predict a point's label depending on its features. We will use the class sklearn.naive_bayes.GaussianNB().
from prep_terrain_data import makeTerrainData
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score
### generate the dataset for 1000 points (see previous code)
features_train, labels_train, features_test, labels_test = makeTerrainData(1000)
### create the classifier
clf = GaussianNB()
### fit the training set
clf.fit(features_train, labels_train)
### now let's make predictions on the test set
prediction = clf.predict(features_test)
### measure of the accuracy score by comparing the prediction with the actual labels of the testing set
accuracy = accuracy_score(labels_test, pred)
Here I plotted the points from the testing set (features_test) with their labels (labels_test). On top is the prediction made by the classifier after fitting on the training set.
Decision tree with min_samples_split = 2
| Classifier | Training time (sec) | Predict time (sec) | Accuracy |
|---|---|---|---|
| Gaussian Naive Bayes | 0.003 | 0.001 | 0.884 |
Enron was one of the largest US companies in 2000. At the end of 2001, it had collapsed into bankruptcy due to widespread corporate fraud, known since as the Enron scandal. A vast amount of confidential information including thousands of emails and financial data was made public after Federal investigation.
In this project, I will apply Gaussian Naive Bayes to identify authors of emails in the Enron Corpus.
A big first part of the project is the preprocessing of emails which is described in more details here.
Once the emails are preprocessed and separated into a training and a testing set, the class sklearn.naive_bayes.GaussianNB() can be used.
from sklearn.naive_bayes import GaussianNB
def nb_email(features_train, features_test, labels_train, labels_test):
clf = GaussianNB()
t0 = time()
pred = clf.fit(features_train, labels_train)
print ("naive bayes training time :", round(time() - t0, 3), "s")
t0 = time()
pred2 = clf.predict(features_test)
print ("naive bayes predict time :", round(time() - t0, 3), "s")
accuracy = accuracy_score(labels_test, pred2)
print ("naive bayes accuracy :", accuracy)
def main():
from_sara_file = "from_sara.txt"
from_chris_file = "from_chris.txt"
word_data, from_data = preprocess_email(from_sara_file, from_chris_file)
features_train, features_test, labels_train, labels_test = vectorize(word_data, from_data)
nb_email(features_train, features_test, labels_train, labels_test)
if __name__ == '__main__':
main()
| Classification algorithm | Training time (sec) | Predict time (sec) | Accuracy |
|---|---|---|---|
| Gaussian Naive Bayes | 9.182 | 1.905 | 97.497 |


Log in
Sign up
How it works
Passers
Home
Account Setup
Personal Details
Current Address
ID Upload
Create your Service Seeker account
This is step 1
Or Sign up using
Facebook
Google
Tell us about yourself, Mate
Please make sure that the information contained in this form is valid and truthful
Your birthdate
What is your current address?Mate
Please make sure that the information contained in this form is valid and truthful
This is the last step, Mate
Upload Government Issued ID
Your information is secured
Select ID Type
Government issued ID
Drivers License
Police Clearance Certificate
SSS ID
Upload image of ID
Drag your image here or click in this area.
Quick Tips: