{% if err %}
Your PDF file '{{ realname }}' has been encrypted successfully.
You can download the protected file to your computer and view it in your browser.
Your PDF file '{{ realname }}' has been decrypted successfully.
You can download it to your computer and view it in your browser.
{{ err }}


The Radx C++ package was developed at NCAR to provide support for the new CfRadial radar data format, and to provide translation between common radar data formats.
The software is open source and freely available as a community resource. It is designed to be run on LINUX and MacOSX platforms, but should also run on Windows under Cygwin.
Radx comprises a C++ library, which may be used by developers, and a number of applications built on that library.
You may download the softare and build it using the standard configure utility.
We recommend you download not only the Radx package, but also all of the files on the ftp site, so that you can build a suitable version of NetCDF to support Radx.
A tar file of the latest Radx library may be downloaded from here.
The name of the tar file will be Radx-yyyymmdd.src.tgz, where yyyymmdd refers to the date on which the tar file was created.
After download, untar the file as follows:
tar -xvfz Radx-*.tgz
The Radx library may be built using a standard configure script.
A script build_radx is provided to build all support libraries and applications, using configure. This will build the HDF5, NetCDF and ununits2 packages, as well as Radx.
Generally you would build the package using:
build_radx /usr/local
to install in the standard /usr/local
location, or perhaps
build_radx /opt/local
to install in a non-standard location, for example /opt/local
The build_netcdf script will build just the support libraries.
Please read the README file at the top level, for further information.
Radx applications are built using the Radx library, and other libraries as needed.
The following applications are available:
| Radx-based applications | |||
|---|---|---|---|
| Application name | Description | Usage | Default params file |
| RadxPrint | Print radial data | RadxPrint_usage | RadxPrint_params |
| RadxCheck | Check CfRadial files | RadxCheck_usage | RadxCheck_params |
| RadxConvert | Convert between radial file formats | RadxConvert_usage | RadxConvert_params |
| RadxDiff | Check 2 Radx-supported files for differences | RadxDiff_usage | RadxDiff_params |
| RadxEvad | Compute Enhanced VAD | RadxEvad_usage | RadxEvad_params |
| RadxFilter | Filter data fields in range | RadxFilter_usage | RadxFilter_params |
| RadxMergeFields | Merge fields from 2 sets of radial data files | RadxMergeFields_usage | RadxMergeFields_params |
| Radx2Grid | Convert from irregular polar to a regular Cartesian or polar grid | Radx2Grid_usage | Radx2Grid_params |
| RadxCov2Mom | Compute moments from covariances | RadxCov2Mom_usage | RadxCov2Mom_params |
| RadxPartRain | Derive NCAR particle-ID and precipitation rate from dual-polarization fields | RadxPartRain_usage | RadxPartRain_params |
| FixCfradialPaths | Fix path names for CfRadial files, to conform to the expected directory and file naming conventions | FixCfradialPaths_usage | FixCfradialPaths_params |
| FixRadxPointing | Correct pointing errors in radial data | FixRadxPointing_usage | FixCfradialPaths_params |
Details are given below on:
There are two main features which are important to the user:
You can obtain the command line usage of an application by invoking the -h or -help command line argument. For example:
yields the usage
RadxConvert -h
The Radx applications use the NCAR Table-Driven Run-time Parameter (TDRP) package to handle parameters.
To create a default (or template) parameter file, use the -print_params command line option.
For example:
creates the following file contents.
RadxConvert -print_params > RadxConvert.params
These parameter files are self-documenting, using comments inserted by the author of the code.
The user edits the default parameter file to control the application to produce the desired behavior.
To run the application, the user invokes the -params command line option.
For example:
will convert all of the files between 12 UTC and 13 UTC on 2009/10/08, using the parametes specified in the parameter file.
RadxConvert -params RadxConvert.params -start "2009 10 08 12 00 00" -end "2009 10 08 13 00 00"
RadxPrint allows you to print data from any of the files supported by Radx.
By default, the contents are printed in a generic form, which does not reflect the way the data is stored in the file format.
By using the -native option, you can see the details of how data is stored in DORADE or UF files.
Use ncdump to see the details of how data is stored in CfRadial or Foray netCDF files.
RadxCheck performs some basic checks on a CfRadial file, to ensure that it conforms with the format specification.
Use ncdump to see the details of how data is stored in CfRadial files.
RadxConvert allows you to convert data stored in one format to a different format.
RadxConvert can read/write the following formats:
| Radx file format support | |||
|---|---|---|---|
| Format | Read access | Write access | |
| CfRadial - NCAR/EOL/UNIDATA | Yes | Yes | |
| DORADE - NCAR/EOL | Yes | Yes | |
| UF - Universal Format | Yes | Yes | |
| Foray-1 netCDF - NCAR/EOL | Yes | Yes | |
| DOE ARM netcdf - precedes CfRadial | Yes | No | |
| MDV radial - NCAR/RAL | Yes | Yes | |
| NEXRAD msg31 level 2 archive | Yes | Yes | |
| NEXRAD msg1 level 2 archive | Yes | No | |
| SIGMET - raw format (Vaisala) | Yes | No | |
| RAPIC - BOM Australia | Yes | No | |
| HRD - HRD NOAA | Yes | No | |
| LEOSPHERE LIDAR, ASCII format | Yes | No | |
| EEC - now supports CfRadial | Yes | N/A |
RadxDiff performs a logical difference between 2 files supported by Radx. You can set the levels of the checks both on the command line and in the parameter file. This application is intended to check that the information content of the files is consistent, rather than the fact that everything is exactly equal.
To see the exact differences between two files, run:
RadxPrint -rays -data -f filename1 > /tmp/filename1.txt
RadxPrint -rays -data -f filename2 > /tmp/filename2.txt
The .txt ASCII files will contain all of the information in the Radx files. Then use the normal unix diff utilities to check for differences between the two. For example:
tkdiff filename1.txt filename2.txt
Since the output from RadxPrint can be rather long, this procedure might take too much memory. In order to only examine the top of each file, use the following:
RadxPrint -rays -data -f filename1 | head -n 10000 > /tmp/filename1.txt
RadxPrint -rays -data -f filename2 | head -n 10000 > /tmp/filename2.txt
RadxEvad RadxEvad reads in Doppler data from a polar radar file, computes volumetric VAD (VVP) winds and writes them out to NetCDF.
The implementation in Mdv2Vad is based on the paper 'An Improved Version of the Extended Velocity-Azimuth Display Analysis of Single-Doppler Radar Data' by Thomas Metejka and Ramesh C. Srivastava, Journal of Atmospheric and Oceanic Technology, Vol 8, No 4, August 1991. The code is designed to match the terminology in the paper as fas as is posible. Please refer to the paper for a detailed explanation of the method.
RadxMergeFields allows you to merge fields from a primary set of radial files with fields from a secondary set of files.
The ray geometry is determined from the primary data set. If the secondary data set has a different geometry, the data will be mapped onto the geometry of the primary data set.
Radx2Grid performs coordinate transformations from the polar grid on which radar data is collected to a regular grid.
The following regular grids are supported:
RadxCov2Mom computes radar moments from raw covariances. The advantage of storing the covariances is that later on you can go back and re-compute the moments with updated calibration values and improved algorithms.
For this to work, during data acquisition you need to save the covariance fields for the dual-polarization mode you are working in. These details are provided in the default parameter file.
You will also need a calibration file, in XML - see this example
RadxPartRain computes the NCAR Particle Identification, and the NCAR precipition estimates, from dual polarization data.
These algorithms need to be tuned for each of the various wavelengths. See the following examples:
The Radx C++ library provides an API for handling ray-by-ray radial data from radars and lidars. The basic API is designed to be file-format independent. For example, the RadxVol class is a general purpose class for data volumes, irrespective of format.
Radx provides adapters to read and write data files, as follows:
| Radx file format support | |||
|---|---|---|---|
| Format | Read access | Write access | Radx lib Adapter class |
| CfRadial - NCAR/EOL/UNIDATA | Yes | Yes | NcfRadxFile |
| DORADE - NCAR/EOL | Yes | Yes | DoradeRadxFile |
| UF - Universal Format | Yes | Yes | UfRadxFile |
| Foray-1 netCDF - NCAR/EOL | Yes | Yes | ForayNcRadxFile |
| DOE ARM netcdf | Yes | No | DoeNcRadxFile |
| NEXRAD msg1 level 2 archive | Yes | Yes | NexradNcRadxFile |
| NEXRAD msg31 level 2 archive | Yes | Yes | NexradNcRadxFile |
| SIGMET - raw format (Vaisala) | Yes | No | SigmetNcRadxFile |
| RAPIC - BOM Australia | Yes | No | RapicRadxFile |
| HRD - HRD/NOAA | Yes | No | HrdRadxFile |
| LEOSPHERE LIDAR, ASCII format | Yes | No | LeoRadxFile |
The Foray-1 netCDF file format has been replaced by CfRadial. Therefore, write access is not provided for this format.
The Radx library is well commented, both in the header files and implementation files, to assist the programmer in its use.
Doxygen documentation is provided here.


Options
Devices
email
password
cast
update device list
check_circle
device name
associated since
active


Shane Zachary Cranor
Born May 4, 2001, 7:25 am, 7 pounds, 13 oz., 21 inches
Photos of Shane's first year
- Shane's first week - hospital photos,
first car ride, first sponge bath, meeting the grandparents, etc.
- Shane's nursery and quilt
- Shane's second and third weeks - cute
pictures around the house, a visit from Bubby and Zaydee, a trip to the
grocery store, and a visit from Aunt Ginny and Uncle Jeff
- Shane's fourth week - Shane's many
faces, diaper photo, bouncy seat, photos with dad, first sink bath,
first bottle, trip to Trader Joe's and South Street Trattoria
- Shane's fifth week - Shane's naming
ceremony and photos with great grandparents and Uncle Jeremy and Aunt Amber
- Shane's sixth and seventh weeks - front porch, going to work with mom and dad, foot in mouth, computing, first quilt show, beginning to grasp, visit from grandma Connie, and other cute photos
- Shane's eighth and ninth weeks -
lifting head and fencer pose, trip to USENIX conference, got milk?
photo, meeting Milind, cuddling with dad after a bath, a little smile,
first week with Yvonne, and looking out family room window
- Shane's tenth through fourteenth weeks
- lots of smiley pictures and two mad ones, visits from grandparents,
trying out the Ultra Saucer and the Baby Bjorn, passport photo
- Shane's fifteenth through seventeenth
weeks - trip to Maryland to meet Cousin Justin and to help
Great Grandpa Bob celebrate his eightieth birthday, trip to Kentucky
to visit more Great Grandparents, and tummy time photo
- Shane's eighteenth through
twentieth weeks - Wearing hats, playing with Mira, visit from
Grandparents Cranor and Great Grandmother Ginnie, trip to Deleware,
and more
- Shane's twenty-first through
twenty-fourth weeks - going to work, visit from Grandma Connie,
trip to Cleveland, trying solid food, playing on quilt, sitting on
Dad's shoulders, bathtub
- Shane's twenty-fifth through
twenty-seventh weeks - visit to Deleware, TPRC conference,
Halloween
- Shane's twenty-eighth through
thirty-second weeks - trip to Denver, Thanksgiving, Hanukah, visit
from Gopal, visit from Neil and Jacqueline, sink photos
- Shane's thirty-third through
thirty-fifth weeks - Trip to Maryland, Christmas, New Years,
visit from WashU friends
- Shane's thirty-sixth through
thirty-eighth weeks - two little snow storms, trip to North
Carolina, Joe's O's, and more
- Shane's thirty-ninth through
forty-first weeks - trip to NYC, playing with newspapers,
pushing cart, Valentine's day
- Shane's Forty-second through
forty-fifth weeks - standing, visit with grandparents, parade,
teeth
- Shane's forty-sixth through
fiftieth weeks - more standing, playing, eating, and
sleeping
- Shane's fiftieth through
fifty-second weeks - trips to San Francisco, St. Louis, and Kentucky
Privacy policy
This page maintained by Shane's Mom


Technical Blog #3
Arrays vs. Hashes
8/15/15
Although arrays and hashes appear to be similar at first glance, they are quite different and serve different purposes within Ruby, without deviating too far from each other. They are both used to store some sort of data. They both are indexed, and called on the same scale(array[0] and hash[0]). They both can be modified, whether it is adding something to the current array or hash, or taking something out. And lastly, they are both objects within the Ruby language.
For all of their similarities, they are still quite different. Yes, they both store bits of data, but if dive a little deeper, we start to find some differences. An array, is a structure within Ruby that stores strings, integers, really any type of data within it. Everything store in the array is indexed and can be accessed if you what position the data is that you would like to access. For example, if I had an array that stored the following data: array = ['red', 1, true, 1455, 'let/'s learn about arrays'] To access the data in the array, each piece of data is indexed beginning with 0. So if I wanted to pull the string red out of the array, I would enter array[0]. Every element within the array is the succeeding number, so to pull 1 out of the array, I would do array[1], and to pull out 'let's learn about arrays' I would enter in array[4] or array[-1](you can access the last item in an array by putting in [-1] as the index, and every element from there will be minus 1). Arrays are helpful when you have one type of data that isn't tied to another piece of data.
However, what if you had a piece of data that had a corresponding piece of data with it. For example, a username and a password. Or a credit card number and a password. I suppose you could have one array that stores the usernames and credit card numbers and then another array that stores the passwords or pin numbers, but rather than going through all of that work, you can create a hash. A hash is a way to store a piece of data that also has a corresponding piece of data. It takes a key, and then for each key it will also store a value. So for every username(key), you can also store a password(value.) For every credit card(key) you can also store a pin number(value). Hashes come in handy when you have data that needs to stay tied together, and they make it easy to access either the key or the value when given one or the other.


| Music for Reading; "KILL" © 1996SUNZINC. by RM and HK Arranged by MW |
(sunz-uv-ale-ee-en-tek-nowl-oh-gee)s' |
Enter-Active Indoctrination©". |
Your indoctrination consists of four content assimilation and behaviour analysis exercises and one response prompt. To entice you to submit to this process for your own good, we're offering a World Wide Web exclusive to you: a "FREE COPY" of "Songs from the Hot Zone". You're Welcome© to begin choosing from the options below or to
return to the first menu.
Either way, Your Welcome© awaits!
As does you FREE COPY!
That Could Be Construed As Implying An Agenda But Are Actually Satirical. Really. |
A Selection Of Our Musical Products Utilizing A Euphemistic Form Of Categorization |
Links To (sunz) Alien Media Services |
For Your Edification |
Abductee Outreach Program |
HERE! |


|
Sense Android Library
2.7.0
Android library project for the Sense Platform
|
Public Member Functions | |
| void | doSample () |
| boolean | isActive () |
| void | notifyListeningRestarted (String msg) |
| void | notifyListeningStopped (String msg) |
| void | setGpsListening (boolean listen) |
| void | setNetworkListening (boolean listen) |
| void | setSampleRate (long sampleDelay) |
| void | startSensing (long sampleDelay) |
| void | stopSensing () |
| Public Member Functions inherited from nl.sense_os.service.shared.BaseSensor | |
| long | getSampleRate () |
| void | setSampleRate (long sampleDelay) |
| Public Member Functions inherited from nl.sense_os.service.shared.BaseDataProducer | |
| boolean | addSubscriber (DataProcessor dataProcessor) |
| boolean | hasSubscriber (DataProcessor dataProcessor) |
| boolean | hasSubscribers () |
| void | removeSubscriber (DataProcessor dataProcessor) |
Static Public Member Functions | |
| static LocationSensor | getInstance (Context context) |
Public Attributes | |
| final BroadcastReceiver | distanceAlarmReceiver |
Static Public Attributes | |
| static final long | MIN_SAMPLE_DELAY = 5000 |
Protected Member Functions | |
| LocationSensor (Context context) | |
Additional Inherited Members | |
| Protected Attributes inherited from nl.sense_os.service.shared.BaseDataProducer | |
| Vector< AtomicReference < DataProcessor > > | subscribers = new Vector<AtomicReference<DataProcessor>>() |
Represents the location sensor. Implements the basic Android LocationListener to receive location updates from the OS.
Generates data for the following sensors:
|
protected |
Constructor.
| context |
|
virtual |
Performs a sample. Called by the PeriodicPollAlarmReceiver.
Implements nl.sense_os.service.shared.PeriodicPollingSensor.
|
static |
Factory method to get the singleton instance.
| context |
|
virtual |
Called by the PeriodicPollAlarmReceiver to check if the sensor is still active.
Implements nl.sense_os.service.shared.PeriodicPollingSensor.
|
virtual |
Set the sample rate
This method sets the rate at which the sensor starts its sensing. A subscribed DataProcessor will get data at least with the frequency of this sample delay, if this SenseSensor has new data.
| sampleDelay | The sample delay value in seconds |
Implements nl.sense_os.service.shared.SenseSensor.
|
virtual |
Start sensing
This method starts the sensor to sense at a certain sample rate.
| sampleDelay | Specifies the initial sample rate. |
Implements nl.sense_os.service.shared.SenseSensor.
|
virtual |
| final BroadcastReceiver nl.sense_os.service.location.LocationSensor.distanceAlarmReceiver |
Receiver for periodic alarms to calculate distance values.


Main Dialog Box
Toolbar Operations
The individual commands on the toolbar are listed and described in the Operations page.
Installation
So what is being installed? Usually a bunch of files, some of which have shortcuts in the start menu and/or on the desktop. So that means we must have a way of specifying the various files. This is done in a dialog box with lists which are kept in combo boxes. The user may specify a new Feature and it will be added to the Feature combo box so that it may be modified later. The user may specify a new component and it will be added to the Component/Shortcut Name combo box so that its attributes may be specified and modified later.
So there can be one or more features and each feature can contain one or more components. The rest of the task is just filling in the blanks. The remainder of this page will describe each field, button, check box in the dialog box. The description will go from top to bottom of the dialog box because that is the usual way of filling them in.
Product Section
Product Name
Choose a name for the product. For WixApp, the Product Name is WixApp. If your project name is Foo, then chose Foo for the Product Name. This is used by Wix to identify the product in Windows (the registry in particular).
As a convenience (or annoyance) When using the File/New command the Product Name will be copied to the Installer Name, first Feature Name, and first Component Name fields. They may be edited later.
Company Name
Both the creator and the distributor company names will be the same.
Installer Name
This name is the WixApp data file name and its extension is ".wxd".
Version Number
The version number that will be used in the installer to decide if this is a later version (or the same if this option is set) than the version already installed.
There are two methods for determining the version number.
- Editing the value in the version edit box
- Setting the "Version No. Available check box for an application (an "exe" file with an "rc" resource file)
If there is no application in the installation and/or no application is selected to supply the version number then the value in the edit box is used. When an application is selected wix determines if it is an application and has a Version number. If all three conditions are true then the application's version number is displayed in the Version edit box.
Control Panel Icon
For most installations this will be the icon that appears in the Programs and Features page in the Control Panel. Command Line programs appear to not use this icon.
Features
A Product may contain any number of features. The drop down combo box, New and Delete Buttons allows one to exaime, edit and delete a specific feature. Each Feature may have any number of Components. Components are just files with installation attributes.
There are three controls: a combo box, a "New" button and a "Delete" button and two attributes. Click (Select) on "New" to create a new feature. This is just a name for a group of components. Every time a feature is selected the entire Componet/Shortcut Name combo box is changed. This is what allows one to create a massive tree of Features and Components.
The two explicit attributes, directory names, apply to every Component in the feature. The Start Menu name is optional by Component, see Component description below.
But first lets describe the attributes of a feature. There are three attributes, two of which are explicitly specified and one that is implicitely specified.
Name
The Feature Name combo box represents a list of features. Each name in the combo box is a "Feature." Each Feature may contain one or more "Components." The edit (visible) portion of the combo box shows the current feature. The corresponding components are then shown in the Component portion of the dialog box with the "current" component shown in the Component/Shortcut Name edit portion of that combo box.
The Delete Button deletes the feature currently showing in the Feature Name combo box and all Components that are contained in that feature. Use the button carefully.
Program files Dir Name
When a project is installed the files are copied to a directory under the "Program Files (x86)" directory. The name of the directory to which the files are copied is given in this edit box. It may be one or more levels by using a backslash between directory names (e.g. Foo\Goo\Moo).
Start Menu Name
Shortcuts may be stored in the Windows Start Menu (see component below for check box). The name of the directory in the Start Menu is given in this edit box. It too may have many levels (e.g. "Company Name\Foo").
Default Source Directory, An Implicit Attribute
After pressing the File/New command and finding the Solution file, the directory in which the Solution file resides becames the default source file directory. However, that directory probably is not the directory in which the files destined to be installed reside. So when browing for a file in a component (or icon) and selecting a file, the directory in which the file resides becomes the "default" source directory for that feature (or all icons). This is useful when one needs to find a large number of files. It also suggests that a feature be organized around a single source file directory just for convenience. It is not necessary to do so, however.
Components
The attributes of the "current" Component are shown in this section of the dialog box. Each time one selects a different component the attributes are changed that correspond to that Component. The New and Delete Buttons do the appropriate thing. Editing the name of the Component in the Combo/Edit Box is also possible.
Name
This name identifies the component within Wix but it will also be used for the shortcuts on the start menu and desktop. Choosing New adjacent to the combo box will create a new component. Delete will delete the component. Spaces are allowed in component names.
Browse
The Browse button will bring up an open file dialog box and show the current default source directory for the Feature. Note, that the default source directory is changed to the directory chosen for the component. Choose the file to be associated with the component. Only the last little bit of the path will be shown giving confirmation of the file name chosen. The path attribute is required.
Description
This will be used in a popup when the mouse lingers over the icon for the application or in the application's properties box.
Start Menu Check Box
Check when an entry in the start menu is to be placed. The Start Menu name is a Feature Attribute.
Desk Top Check Box
Check when a shortcut is to be placed on the desk top. No provision is made for folders.
Version No. Available Check Box
Some windows applications use aresource (an "rc") file and it contains a version number. This is compiled into the application and can be used for the version number of the installation. However, some applications do not have a version number built in (or they are just additional files not applications). Only check this item when a version number can be extracted from the app by Wix. If the application has a version number it will be displayed in the Version edit box in the Product Area.
If no application is chosen such that Wix can extract a version number then the alternative is to set the version number in the Version edit box in the Product area.
On Path Check Box
Some applications need a Command Line interface. One requirement is that it be easily found. Putting the path of the Program Files directory in which the application resides makes it possible for the user to invoke the app from the command line without knowing where it is. Check this box to place the directory on the System Environment variable Path.
Login Starup App Check Box
Some applications must be started when Windows starts when a login occurs. The Product may includes an executable that starts during login and also have a normal windows application that can be started from the Start Menu or the Desktop.
OS Check Boxes
It is possible to limit the installation of a component by referring to the OS version number (i.e. VersionNT). This value is supported in Win 2000 through the near future. I've only allowed three different OSes to be selected.
If Win7 is checked then all installation on Win7 and all future operating systems will be allowed but older ones will not. If two OS check boxes are selected then the OSes inclusive between the two OSes will allow installation (note, Win7 always allows future OSes too). Selecting one check box will only allow installation to that OS.
This feature has not been tested in a while so it may not actually do anything useful.
Select Icon
Both a drop down and a Browse button. When a new Icon is to introduced to the installer use the Browse button to select the icon. Later, the drop down combo box will have a list of icons and one can be selected that way.


{% extends "pages/base.html" %} {% block content %}
Written by {{blog_post.author}} on {{blog_post.timestamp}}
Some quick example text to build on the card title and make up the bulk of the card's content.
Card link Another linkSome quick example text to build on the card title and make up the bulk of the card's content.
Card link Another link


This section describes a programming interface by means of which new constraints can be written. The interface consists of a set of predicates provided by this library module. Constraints defined in this way can take arbitrary arguments and may use any constraint solving algorithm, provided it makes sense. Reification cannot be expressed in this interface; instead, reification may be achieved by explicitly passing a 0/1-variable to the constraint in question.
Global constraints have state, which may be updated each time the constraint is resumed. The state information may be used e.g. in incremental constraint solving.
The following two predicates are the principal entrypoints for defining and posting new global constraints:
clpfd:dispatch_global(
+Constraint,
+State0,
-State,
-Actions)
extendibleWhen defining a new constraint, a clause of this predicate must be added. Its body defines a constraint solving method and should always succeed determinately. When a global constraint is called or resumed, the solver will call this predicate to deal with the constraint.
Please note: the constraint is identified by its principal functor; there
is no provision for having two constraints with the same name in
different modules. It is good practice to include a cut in
every clause of clpfd:dispatch_global/4
.
State0 and State are the old and new state respectively.
The constraint solving method must not invoke the constraint solver recursively e.g. by binding variables or posting new constraints; instead, Actions should be unified with a list of requests to the solver. Each request should be of the following form:
exit
fail
=
V in
R in_set
Scall(
Goal)
clpfd
module.
Goal is executed as any Prolog goal, but in a context where some constraints may already be enqueued for execution, in which case those constraints will run after the completion of the call request.
fd_global(
:Constraint,
+State,
+Susp)
fd_global(
:Constraint,
+State,
+Susp,
+Options)
Susp is a list of F(Var) terms where Var is a variable to suspend on and F is a functor encoding when to wake up:
dom(
X)
min(
X)
max(
X)
minmax(
X)
val(
X)
Options is a list of zero or more of the following:
source(
Term)
copy_term/3
, and
shown in the answer constraint if clpfd:full_answer
holds, equals
Constraint, module name expanded. With this option, the
symbolic form will instead be Term. In particular, if Term
equals true
, the constraint will not appear in the Body
argument of copy_term/3
. This can be useful if you are
posting some redundant (implied) constraint.
idempotent(
Boolean)
true
(the default), the constraint solving method is assumed
to be idempotent. That is, in the scope of
clpfd:dispatch_global/4
, the solver will not check for the
resumption conditions for the given constraint, while performing its
Actions. If false
, an action may well cause the solver to resume
the constraint that produced the action.
If a variable occurs more than once in a global constraint that is being posted, or due to a variable-variable unification, the solver will no longer trust the constraint solving method to be idempotent.
For an example of usage, see A Global Constraint Example.
The following predicate controls operational aspects of the constraint solver:
fd_flag(
+FlagName,
?OldValue,
?NewValue)
overflow
error
fail
debug
on
and off
(the default). For iternal use by
library(fdbg)
.


%-formatting
%-formatting has been part of the language since at least version 1.0. If you’ve done anything with Python prior to Python 3 you know it.
"%s %s" % ('Hello', 'World',)
It is more or less the equivalent to C’s sprintf
with all its ups and downs. It gets the job done but you have to do quite a bit of work around it.
Since this only supports a limited set of types you have to convert your custom objects into one of these before passing it into the string formatter.
Many years later, the native string datatype was extended with a format
method:
str.format()
… was added in Python 2.6 in October 2008 alongside things like context-managers. As has been detailed in PEP-3101 it tries to solve some of the shortcoming of the old % binary operator like it only supporting a limited set of types or actually its handling of the right-side component of the whole expression which had some special cases that easily lead to errors.
>>> "%s" % ("lala",)
'lala'
>>> "%s" % "lala"
'lala'
Since .format
is a method and not an operator (which is mapped to a binary method), handling of arguments has become more explicit. If you pass a string, it is interpreted as a string. If you pass a tuple containing just one string, it is interpreted as a tuple containing one string:
>>> "{}".format("lala")
'lala'
>>> "{}".format(("lala",))
"('lala',)"
Compared to % it also supported giving your parameters names without having to work with dictionaries out of the box:
"{firstname} {lastname}".format(firstname="Horst", lastname="Gutmann")
Initially, this was intended as a complete replacement for the %-operator (it was planned to deprecate the old-style formatting functionality with Python 3.1) but that never fully happened. The core features of this string formatter are mostly the same as with the old %-operator, but the syntax is a bit different and IMHO more intuitive. Actually, because of that Ulrich and I created pyformat.info to help people migrate to the new system.
But, obviously, PEP-3101 didn’t stop at just cleaning up the old feature-set. It also introduced a protocol that allows for a more versatile interaction with custom classes:
class Country:
def __init__(self, name, iso):
self.name, self.iso = name, iso
def __format__(self, spec):
if spec == 'short':
return self.iso
return self.name
country = Country("Austria", "AUT")
print("{}".format(country))
print("{:short}".format(country))
You can think of the __format__
method as a __str__
for string formatting that you can pass options. The moment you have a __format__
method in your object, it will be used instead of __str__
when you’re using the format-method (unless you do something like "{!s}".format(country)"
).
You can actually find a nice example for how to use that within the datetime.date class in Python 3.4:
class date:
...
def __format__(self, fmt):
if len(fmt) != 0:
return self.strftime(fmt)
return str(self)
This allows you to format dates directly within the “parent” string format so that you no longer have to first convert your date into a string and then pass that into the string formatter:
import datetime
print("Today is {:%A}".format(datetime.datetime.now()))
# Today is Thursday
PEP-0498: String Interpolation
While it’s right now the recommended way to doing string formatting, .format
is quite verbose:
a = "Hello"
b = "World"
"{} {}".format(a, b)
# vs.
"%s %s" % (a, b,)
PEP-0498 tries to improve this situation by offering something that has been common to other languages like Ruby, Scala and Perl for quite some time: Interpolated strings. Here expressions can be integrated directly into the string itself which means you don’t have to call any additional functions explicitly.
ES2015 introduced this feature to the JavaScript-world “recently” where it is referred to as “template strings”:
const username = "Horst";
const welcomeMsg = `Hello, ${username}!`;
In Python backticks have a bit of history up to Python 3.0 so they are not available. Introducing them again would also once again affect the basic syntax of the language. Instead, another literal-prefix was introduced: f
.
a = "Hello"
b = "World"
f"{a} {b}"
f"{a + ' ' + b}"
You no longer need to explicitly call the .format()
method of a string but simply mark the format with the f
prefix and inline the expressions you want to have included in the final string. Otherwise they are supposed to offer the same functionality as what you get out of .format()
. These formatted strings are also referred to as “f-strings” in the documentation.
That actually looks pretty nice but as Python 3.6 is slated for release in another 12 months you will have to wait a little longer. That being said, the code is already there so you could just grab a Python 3.6 pre-release or tip using something like pyenv and give it a go ?
And there is more. There is another PEP (0501) which wants to introduce i-strings that result in lazily evaluated string so that you can for instance do i18n or security checks on them before the final evaluation. While that proposal has been deferred until further discussions have taken place, it looks like a neat idea.
But back to f-strings: If you want to know more about why string interpolation was solved the way it has been, take a look at PEP-0502 which includes a detailed discussion of the motivation behind and inspiration from other languages for this feature.


This function helps to perform real time mask detection and face recognition with webcame.
Image/Video Processing
This function allows user to process static media for mask detection and face recognition. It also allow to add new face encoding to allow detecting new faces.


This is just a quick-and-dirty demo page, extracted from http://gilmoreorless.github.io/sydcss-preso-gradient-circus/
Use left/right arrows to select different examples, and the number keys 1-4 to change the view.


Wintria
, coming soon!
we currently have
1M
articles indexed, with many more to come!
designed and engineered in Laguna Beach, California
"We're changing the way you experience your news"
Like us on Facebook
Follow us on Twitter
A startup by
Lucas Ou-Yang
and
Nithin Jilla


Security Policy
Security Policy
Supported Versions
Use this section to tell people about which versions of your project are currently being supported with security updates.
| Version | Supported |
|---|---|
| 5.1.x | :white_check_mark: |
| 5.0.x | :x: |
| 4.0.x | :white_check_mark: |
| < 4.0 | :x: |
Reporting a Vulnerability
Use this section to tell people how to report a vulnerability.
Tell them where to go, how often they can expect to get an update on a reported vulnerability, what to expect if the vulnerability is accepted or declined, etc.


Amazon will happily charge you for running instances and/or associated ephemeral storage until the cows come home - it’s your responsibility to turn things off. The Right Way to do this for running instances is to terminate.
The caveat here is that everything ephemeral will be deleted (excluding volumes that you created/attached).
To terminate:
In the ‘Instances’ tab, select your instance and then go to the Actions menu.
Instance state should be either “shutting down” or “terminated”.
Return to index: Starting up an Amazon Web Services machine


Required libraries:
Links:
INTRODUCTION The goal of my final project was to implement as much of Holtkamper's paper describing a real-time and interactive smoke and steam simulation [1] as possible. Holtkamper's method emphasizes real-time simulation and visually correct interaction between the smoke and objects in the virtual environment. Although I did not have time to implement the interaction of the smoke with objects in the environment, my project allows for different visual styles of smoke and arbitrary wind-like forces to be applied to the smoke. BACKGROUND Three major previous techniques for simulating smoke are particle system simulation, image synthesis and physically-based simulation. In particles systems, single particles or clusters of particles move through the simulation space. Their positions and velocities are updated according to simple force equations. Particle systems tend to be much more flexible than other simulation methods. Image synthesis methods of smoke simulation typically modulate Perlin's noise function [2] to yield density for display. However, image synthesis methods are limited by their inability to easily include arbitrary objects in the simulation. Physically-based simulations of smoke typically compute the Navier-Strokes equations. This can yield high-quality renderings, but the computational cost is high. Equation solvers of this sort can also be limited by their solution domain; it can again be difficult to include arbitrary objects. SIMULATION OVERVIEW The simulation approach taken by Holtkamper involves combining particle systems with image synthesis and some rendering tricks. The particles are rendered as semi-transparent textured billboards. TURBULENCE SPACE
The turbulence space is where the turbulent appearance of the smoke is
calculated. Turbulence space is nothing more than a function
modulating Perlin noise:
PARTICLE SIMULATION Once a particle cluster is released into the simulation space, it is now under control of the particle system. Each cluster has a position, velocity and temperature. The individual particles in each cluster maintain their own densities. The position and velocity of each cluster are updated each timestep by the equations and The force is given by the sum of gravitational, convection, frictional and user-defined forces: The user-defined global force can be specified as beginning and end magnitudes and directions for a specified duration. The force is smoothly interpolated over the duration.The smoke also gradually dissolves during its movement due to a dissipation calculation applied to each particle that attenuates its density: The values of the constants in these equations have physical bases that are explained in Appendix A of the paper.PARTICLE RENDERING The particles are rendered as semi-transparent textured billboards with alpha values set to their densities. The billboards are oriented to always face the viewer. In order to reduce rendering artifacts from alpha blending, the particles are sorted and rendered in back-to-front order. The images below show the Gaussian texture used and what the simulation looks like without and with the texture applied.
CONCLUSIONS My simulation runs in real-time, as desired. I ran the simulation >1000 clusters with 10 particles/cluster at 1000x1000 resolution and the framerate was real-time. The test machine was a P4 2.4GHz using a GeForce4 Ti 4200 graphics card. I think the simulation looks reasonably realistic. The movies (linked at the top of this page) demonstrate the simulation much better than still pictures. Compared to the movies provided by Holtkamper, I think my simulation lives up to the visual quality of his. FUTURE WORK One of my original extended goals was to include objects in the simulation that the smoke would interact with. A method to do this is described in the paper, albeit not entirely clearly. Ideally the objects could move dynamically. And as always, it would also be neat to displace some of the processing of the simulation to the GPU. REFERENCES [1] Holtkamper, Thorsten. Real-time gaseous phenomena: a phenomenological approach to interactive smoke and steam. Proceedings of the 2nd international conference on Computer graphics, virtual reality, visualization and interaction in Africa, pp. 25-30, 2003. [2] Perlin, K. An image synthesizer, ACM SIGGRAPH Computer Graphics, v.19 n.3, p.287-296, Jul. 1985 |


Auto Mart
Home
My Ads
Place Ad
Sign Out
Place your Ad here
Body Type
Hatchback
SUV
Convertible
Sedan
Coupe
Truck
Trailer
Van
State
New
Used
Place Ad


WITNESS LIST Economic Development Committee September 14, 1998-9:30A NAFTA On: Eeds, Walter (Texas DPS) Garces, Jorge (Office of Sec. of State) Gutierrez, Hector (City of El Paso) Hinojosa, Walter (Texas AFL-CIO) Mills, Lester (Texas DPS) Rath, Diane (TWC) Sapp, Gary (Hunt Bldg. Corp.) Sheridan, Mike (TWC Executive Director) Smith, Dave (Asst. TAA Coordinator)


Advanced Usage¶
This section explains less common functionality of REEM.
Custom Datatypes¶
REEM is designed to be customizable. Out of the box, it supports transferring native python types and numpy arrays.
You can, however, define how any type of data is stored in Redis using a Ship
object.
Inside the module, reem.ships
is the abstract class SpecialDatatypeShip
. If you define your own ship, you must
subclass SpecialDatatypeShip
and fill in the methods. The class’s documentation is below
-
class
reem.ships.
SpecialDatatypeShip
¶ -
check_fit
(value)¶ Determine if this ship will handle
value
This method returns true if
value
is data that this ship is supposed to handle. If this ship handled all numpy arrays, it would check ifvalue
’s type is a numpy array.- Parameters
value – object to check
Returns: True if ship will handle
value
-
write
(key, value, client)¶ Write
value
to Redis at the specifiedkey
usingclient
Given a Redis client, execute any number of needed commands to store the
value
in Redis. You are required to use the key given for REEM to find it. If you must store multiple pieces of information, use a Redis Hash which acts like a one level dictionary.- Parameters
key (str) – The Redis key name this ship must store data under
value – The value to write into Redis
client – A ReJSON Redis Client pipeline
Returns: None
-
read
(key, client)¶ Retrieve necessary information from Redis
Given a Redis client, execute ONE command to retrieve all the information you need to rebuild the data that was stored in
write
from Redis. This method should execute the command that allows you to retrieve all data stored under key- Parameters
key (str) – a keyname that contains data stored by
write
client –
A ReJSON Redis Client pipeline
Returns: None
-
interpret_read
(responses)¶ Translate Redis data into a local object
Redis will reply to you with something according to what read command you executed in
read
. This method takes whatever Redis replied with and turns it into an object identical to what was initially passed towrite
as value.- Parameters
responses – Redis’s reply data based on
read
method
Returns: An object identical to what was initially written to Redis.
-
get_label
()¶ Return a unique string identifier
This method should return a string that uniquely identifies this ship. REEM will use it to determine what ship to use to decode data that is already stored in Redis.
- Returns
the string identifier
- Return type
str
-
To use a ship, include it as an argument when creating a RedisInterface
object.
interface = RedisInterface(host="localhost", ships=[CustomShip()])
Numpy Arrays
Numpy Arrays are stored in Redis through ships. If you want to keep the default ship for numpy arrays when including your custom ships, you must include the default numpy ship in your list of ships.
interface = RedisInterface(host="localhost", ships=[reem.ships.NumpyShip(), CustomShip()])
See the implementation of the Numpy Ship below
class NumpyShip(SpecialDatatypeShip):
def check_fit(self, value):
return type(value) in [np.array, np.ndarray]
def write(self, key, value, client):
client.hset(key, "arr", bytes(memoryview(value.data)))
client.hset(key, "dtype", str(value.dtype))
client.hset(key, "shape", str(value.shape))
client.hset(key, "strides", str(value.strides))
def get_label(self):
return "default_numpy_handler"
def read(self, key, client):
client.hgetall(key)
def interpret_read(self, responses):
hash = responses[0]
dtype = eval("np.{}".format(hash[b'dtype'].decode('utf-8')))
shape = hash[b'shape'].decode("utf-8")[1:-1]
shape = tuple([int(s) for s in shape.split(",") if len(s) > 0])
arr = np.frombuffer(hash[b'arr'], dtype)
arr = np.reshape(arr, shape)
return arr


So what is going on?
This is an example of a two column layout using CSS that makes the two columns look like they are the same length even though they are not. The two divs (sidebar and content) that are the columns are both in another div (holder) that has a background image that gives the illusion.
HTML

Side Bar…
…

Content…

CSS—Static, Fluid
body #holder{
background-image : url(bg.png);
background-position : left;
background-repeat : repeat-y;
float : left;
}
body #holder #sidebar{
float : left;
width : 190px;
padding : 5px;
}
body #holder #content{
margin-left: 200px;
padding: 0 10% 0 5%;
}
You can also view this example with a both columns static, both columns fluid, and also with a left fluid column and a right static by switching to the alternate stylesheet “Static, Static,”“Fluid, Fluid,” or “Fluid, Static”
- In Mozilla, go to View > Use Style > Static, Static.
- In Opera, go to View > Style > Static, Static.
- For Phoenix users you will need Alternate Stylesheet Switcher Extension to do the same thing as Mozilla.
CSS—Static, Static
body #holder{
background-image : url(bg.png);
background-position : left;
background-repeat : repeat-y;
float : left;
width: 650px;
}
body #holder #sidebar{
float : left;
width : 190px;
padding : 5px;
}
body #holder #content{
margin-left: 200px;
padding: 0 10% 0 5%;
}
CSS—Fluid, Static
body #holder{
background-image : url(bg2.png);
background-position : left;
background-repeat : repeat-y;
float : left;
width: 100%
}
body #holder #sidebar{
float : right;
width : 190px;
padding : 5px;
}
body #holder #content{
margin: 0 250px 0 auto;
padding: 0 5% 0 10%;
}
CSS—Fluid, Fluid
body #holder{
background-image : url(bg3.png);
background-position : 50% 0;
background-repeat : repeat-y;
float : left;
width: 100%
}
body #holder #sidebar{
float : right;
width : 40%;
padding: 0 3% 0 7%;
}
body #holder #content{
width : 40%;
padding: 0 3% 0 7%;
}


K Nearest Neighbors
09 Dec 2017Objective: This blog introduces a supervised learning algorithm called K-nearest-neighbors (KNN) followed by application on regression and classification on iris-flower dataset. All code are written in python from scratch with comparable result using high level scikit-learn machine learning library.
Content:
1. Introduction
The KNN algorithm is a simple, robust and versatile classifier in supervised learning algorithm toolbox. In spite of its simplicity, KNN can outperform more powerful classifiers in some specific applications. The name ‘nearest neighbors
’ reveals some facts about the algorithm, that is, prediction is made based on their neighbors
aka vectors that are close to it in high dimensional space.
That ‘close neighbors’ is determined by the distance
between unlabeled data to labeled data. How distance
is measured and how their neighbors
determines label of data will be discussed in next part.
2. KNN methodology
2.1. Unsupervised learning recap
KNN is one of the supervised learning algorithm, this means that we are given a labeled dataset containing training observations where is a vectors, training data containing features of data and is label of training example , normally, is a number representing the category where the training example belonged to. Our goal is to find the relationship between and or learn a function so that given an unlabeled observation , can predict the corresponding output .
2.2. KNN characteristics: Non-parametric, instance-based, lazy learning.
Non-parametric:
A learning model that summarizes data with a set of parameters of fixed size (independent of the number of training examples) is called a parametric model. No matter ho much data you throw at a parametric model, it won’t change its mind about how many parameters it needs. [1]
Nonparametric methods do not make strong assumptions about the form of the mapping function. By not making assumption, they are free to learn any functional form from the training data.
Nonparametric methods are good when you have a lot of data and no prior knowledge, and when you don’t want to worry too much about choosing just the right feature [1]
Instance-based:
KNN doesn’t explicitly learn a fixed model. Instead, it memorizes all the training instances then use them as knowledge to make prediction. In KNN, predictions are made individually, for each test data, KNN loops through all training set, calculates the distances between the test data we are trying to predict and every single data in training set then choose the appropriate label based on K nearest data point to the test data.
Lazy learning:
Because of predicting test data individually by going through the whole training set, KNN doesn’t learn anything. Training time is 0, all predictions are made in testing time. This is not very desirable, we normally want to optimize performance time (test time).
2.3. Distance and weight
Distance: There are several choices when it comes to distances, how we could measure the distance between test data and training data?
There are several options: Euclidean, Hamming, Manhattan, Minkowski, Tanimoto, Jaccard, Mahalanobis, etc.
Weight: Similar to weight in a neural network model, weights are used so that different data points will have different affects on the test data. In KNN, it makes sense if we increase the weight of training data points which are closer to test data point.
2.4. Algorithm
Suppose we have a training set consisting training observations for . Our goal is to predict label of unlabeled observation
Step 1:
Calculate distances between to every single training example. A popular choice is Euclidean distance given by:
\begin{equation} \tag{1}\label{eq:1} d(\mathbf{x}, \mathbf{x^i}) = ||\mathbf{x} - \mathbf{x^i}||^2_2 = \sqrt{(\mathbf{x_1}-\mathbf{x^i_1})^2+…(\mathbf{x_m}-\mathbf{x^i_m})^2} \end{equation}
is the number of features (or dimensions) of vector .
Step 2: Choose , the number of neighbors to have an affects on label of . Call as the set of points that are closest to based on the distances we have calculated in step 1.
Step 3:
Calculate conditional probability for each class.
\begin{equation} \tag{2}\label{eq:2} P(y=j|X=\mathbf{x}) = \frac{1}{K} \sum_{i \in A}I(y^{(i)}=j) \end{equation}
= 0 when statement is false and 1 when statement is true.
: Probability of (label of ) to be given test data .
Step 4:
Finally, our input gets assigned to the class with the largest probability.
To recap, the label of test data is the most common label around it.
In the algorithm above, we use ‘uniform’ weight, we treat every neighbor equally no matter how close it is to . However we can use ‘distance’ weight: The distance to will also be taken into account.
The following weight function could be use: \begin{equation} \tag{3}\label{eq:3} w_i = exp(\frac{-||\mathbf{x}-\mathbf{x^i}||^2_2}{\lambda ^2}) \end{equation}
That weight function will let data points which are closer have more effects on the output . By adding different weights to neighbors of , the conditional probability in becomes:
\begin{equation} \tag{4}\label{eq:4} P(y=j|X=\mathbf{x}) = \frac{1}{K} w_i \sum_{i \in A}I(y^{(i)}=j) \end{equation}
3. Application with python
3.1. Regression
In this apart, I will generate sample point on 2D plane and perform KNN to do regression. In this part, euclidean distance function is used and weight=’uniform’ (means all neighbors are treated the same). Script is written from scratch, at the end, I will use scikit-learn library to compare the result.
import numpy as np
import matplotlib.pyplot as plt
import copy
from bisect import bisect_left
from sklearn import neighbors
#########################################################
"""
Additional funtions for KNN
"""
def takeClosest(myList, myNumber):
"""
Assumes myList is sorted. Returns closest value to myNumber.
If two numbers are equally close, return the smallest number.
"""
pos = bisect_left(myList, myNumber)
if pos == 0:
return myList[0]
if pos == len(myList):
return myList[-1]
before = myList[pos - 1]
after = myList[pos]
if after - myNumber < myNumber - before:
return after
else:
return before
def takeKClosest(myList, myNumber,k):
"""
Assumes myList is sorted. Returns closest value to myNumber
Return a list of k numbers from myList that are closest to myNumber
"""
myListCopy = copy.deepcopy(myList) # myList will be manipulated a copy is needed
listNum = [] # list of k numbers closest to myNumber
for i in range(0,k):
"""
Algorithm: Find a closest number to k then remove that number from myListCopy
"""
closestNum = takeClosest(myListCopy, myNumber)
listNum.append(closestNum)
del myListCopy[myListCopy.index(closestNum)]
return listNum
def takeKClosestIdx(myList, myNumber, k):
"""
Get the index of k closest numbers to myNumber
"""
closestNums = takeKClosest(myList, myNumber, k)
listIdx = []
for i in closestNums:
listIdx.append(myList.index(i)) # index() function looks up index of number in list
return listIdx
#########################################################
# Generate sample data
np.random.seed(0) # Get one random set of number every time running the program
X = np.sort(5 * np.random.rand(40, 1), axis=0) # generate 40 values in range (0,5)
y = np.sin(X).ravel() # ravel function spread out matrix to a single row
# Add noise to targets
y[::5] += 1 * (0.5 - np.random.rand(8)) #get a random number every 5 steps
# Fit regression model
x0 = np.linspace(0,5,500) # x0 is used to visualize regression model
y0 = [] # our goal is to fill out y0 based on x0
k_neighbors = 3
# treat every data uniformly, calculate means of k nearest value to each element in x0
for i in x0:
listIdx = takeKClosestIdx(X.ravel().tolist(), i, k_neighbors) # .ravel().tolist() transform numpy array to list
sumY = 0
for j in listIdx:
sumY += y[j]
y0.append(sumY/k_neighbors)
# Plot graph
plt.figure(1)
plt.subplot(211) # first graph of figure 1
plt.title("KNN implemented from scratch")
plt.plot(X,y,'ro') # plot data
plt.plot(x0,y0) # plot regression model
plt.subplots_adjust(hspace=0.3) #adjust space between 2 graphs
# Second graph using scikit-learn
plt.subplot(212) # second graph of figure 1
plt.title("KNN using scikit-learn")
for i, weights in enumerate(['uniform']):
knn = neighbors.KNeighborsRegressor(k_neighbors, weights=weights)
y0 = knn.fit(X, y).predict(x0[:, np.newaxis])
plt.plot(X, y, 'ro')
plt.plot(x0, y0)
plt.show()
3.2. Classification
In this part, we perform KNN on iris flower dataset to classify 3 types of iris flowers:
The dataset consists of 150 sample data (5 features: Petal Length , Petal Width , Sepal Length , Sepal width) with label (0,1,2) corresponding to 3 types of flowers. We will split 150 example to training set (100 samples) and test set (50 samples). Accuracy of the classifier that we will build can go up to 96%-100%.
import numpy as np
import matplotlib.pyplot as plt
import random
from sklearn import neighbors, datasets
from sklearn.metrics import accuracy_score
import math
import operator
#########################################################
"""
Additional funtions for KNN
"""
def euclideanDistance(vector1, vector2):
"""
Calculate euclideanDistance of 2 vectors (in a list format)
"""
if vector1.shape != vector2.shape:
raise ValueError('Two vector not in same length')
length = len(vector1)
distance = 0
for x in range(length):
distance += pow((vector1[x] - vector2[x]), 2)
return math.sqrt(distance)
def getKNeighbors(trainingSet, trainingSetLabel, testInstance, k):
"""
Return the list of k nearest neighbors label
"""
neighbors = []
distances = []
for i in range(0,len(trainingSetLabel)):
distances.append((euclideanDistance(testInstance, trainingSet[i]), trainingSetLabel[i]))
distances.sort(key=operator.itemgetter(0)) # sort distance based on first element of each tuples in list (euculidean distance)
for i in range(0,k):
neighbors.append(distances[i][1]) #Add k nearest neighbors to list
return neighbors
def getHighestVote(myList):
"""
Return most common occurrence item in a list
"""
voteDict = {}
for vote in myList:
if voteDict.get(vote) == None:
voteDict[vote] = 1
else:
voteDict[vote] += 1
maxVote = 0
for key, value in voteDict.items():
if value > maxVote:
maxVote = key
return maxVote
def predictNearestNeighbor(trainingSet, trainingSetLabel, testInstance, k):
"""
Return the prediction based on KNN algorithm
"""
neighbors = getKNeighbors(trainingSet, trainingSetLabel, testInstance, k)
return(getHighestVote(neighbors))
def accuracy_score(groundTruth, prediction):
"""
Return accuracy score of prediction
"""
if len(groundTruth) != len(prediction):
raise ValueError('Prediction and groundTruth not in same length')
accuracyCount = 0
length = len(prediction)
for i in range(0,length):
if groundTruth[i] == prediction[i]:
accuracyCount += 1
accuracy_score = accuracyCount/length
return round(accuracy_score,3)
def main():
# Load iris dataset
iris = datasets.load_iris()
iris_X = iris.data # 150 data points, 4 features (Petal Length , Petal Width , Sepal Length , Sepal width)
iris_y = iris.target # label/class of 150 data points (0,1,2)
k_neigbors = 5
# Shuffle data by shuffling the index
randIndex = np.arange(iris_X.shape[0])
np.random.shuffle(randIndex)
iris_X = iris_X[randIndex]
iris_y = iris_y[randIndex]
# Split training set/ test set (100/50)
X_train = iris_X[:100,:]
X_test = iris_X[100:,:]
y_train = iris_y[:100]
y_test = iris_y[100:]
#apply KNN classifier to each test data
y_predict = []
for i in range(0,len(y_test)):
y_predict.append(predictNearestNeighbor(X_train, y_train, X_test[i], k_neigbors))
print(accuracy_score(y_predict, y_test)) #output: 0.98
main()
4. Discussion
4.1. Hyperparameter
There are several hyperparameter that we can tweet to find the best solution:
1.K: High resulted in more noise-tolerant, it means small will make the KNN very sensitive to noise/ outlier.
Small K means more sensitive to noise, resulted in overfitting
2.Distance function
4.2. Speed of execution
Speed of KNN is considered as low because there are no prior knowledge before testing time, KNN doesn’t learn anything during training time.
4.3. Normalization
Normalization (use same scale for all metric data by changing the scale to 0-1). It is quite important in KNN because different scale could cause unbalance to distance. This leads to the situation where large scale data have more impact to the output than low scale data.
5. Reference
[1] Artificial Intelligence: A Modern Approach, page 737, 757
[2] https://machinelearningmastery.com/parametric-and-nonparametric-machine-learning-algorithms/
[3] https://kevinzakka.github.io/2016/07/13/k-nearest-neighbor/
[4] https://en.wikipedia.org/wiki/Iris_flower_data_set
[5] https://machinelearningcoban.com/2017/01/08/knn/
[6] https://www.analyticsvidhya.com/blog/2017/09/30-questions-test-k-nearest-neighbors-algorithm/


Sancho was dropped against Barcelona for disciplinary reasons: Dortmund
by Pulse News Agency International by AFPJadon Sancho was dropped from Borussia Dortmund's starting lineup at Barcelona this week following another disciplinary problem, club officials said on Friday, but the English starlet is not being sold.
Sancho did not start Wednesday's Champions League game. He came on at half-time with Dortmund losing and scored a remarkable goal to make the final score 3-1 to Barca.
Dortmund general manager Michael Zorc said German press reports that the 19-year-old missed a team breakfast and morning warm-up and arrived late for a talk by coach Lucien Favre, were wide of the mark.
"It's not exactly that," Zorc said Friday, but he did not deny there was an incident. "We talked about it internally, with him and with the team. For us the case is closed, we look forward. Jadon is a normal player and part of the team."
Sancho sent out a tweet on Thursday saying he had shown his committment on the field and intended to do so against Hertha Berlin at the weekend.
"Think I showed heart n desire last night anyway we will try our best to get the 3 points on Saturday!" wrote Sancho.
Zorc insisted the club were not about to be forced to sell Sancho.
"I do not have the impression that we are going towards a transfer this winter, according to the conversations we had with him and his agents," said Zorc.
Dortmund bought Sancho in 2017 for 7.8 million euros ($8.57 million) from Manchester City, where he had never played in the first team. He has since become an England international.
He has six goals and nine assists in 18 club games this season but was also dropped for one match and fined for coming back late from international duty in October.
cpb/rbj/pb/jc


|
Panda3D
|
Public Member Functions | |
| def | __init__ (self, cam) |
| def | __getitem__ (self, key) |
| def | camUpdate (self, lens=None) |
| def | getHeight (self) |
| def | getHfov (self) |
| def | getVfov (self) |
| def | getWidth (self) |
| def | mouseUpdate (self) |
| def | setFov (self, hfov, vfov) |
| def | setHfov (self, hfov) |
| def | setOrientation (self) |
| def | setVfov (self, vfov) |
| def | updateFilmSize (self, width, height) |
| Public Member Functions inherited from DirectObject | |
| def | __init__ (self) |
| def | accept (self, event, method, extraArgs=[]) |
| def | acceptOnce (self, event, method, extraArgs=[]) |
| def | addTask (self, *args, **kwargs) |
| def | detectLeaks (self) |
| def | doMethodLater (self, *args, **kwargs) |
| def | getAllAccepting (self) |
| def | ignore (self, event) |
| def | ignoreAll (self) |
| def | isAccepting (self, event) |
| def | isIgnoring (self, event) |
| def | removeAllTasks (self) |
| def | removeTask (self, taskOrName) |
Static Public Attributes | |
| int | regionCount = 0 |
| Static Public Attributes inherited from DirectObject | |
| def | accept_once = acceptOnce |
| def | add_task = addTask |
| def | detect_leaks = detectLeaks |
| def | do_method_later = doMethodLater |
| def | get_all_accepting = getAllAccepting |
| def | ignore_all = ignoreAll |
| def | is_accepting = isAccepting |
| def | is_ignoring = isIgnoring |
| def | remove_all_tasks = removeAllTasks |
| def | remove_task = removeTask |
| def __init__ | ( | self, | |
| cam | |||
| ) |
| def __getitem__ | ( | self, | |
| key | |||
| ) |
| def camUpdate | ( | self, | |
lens = None |
|||
| ) |
| def getHeight | ( | self | ) |
| def getHfov | ( | self | ) |
| def getVfov | ( | self | ) |
| def getWidth | ( | self | ) |
| def mouseUpdate | ( | self | ) |
| def setFov | ( | self, | |
| hfov, | |||
| vfov | |||
| ) |
| def setHfov | ( | self, | |
| hfov | |||
| ) |
| def setOrientation | ( | self | ) |
| def setVfov | ( | self, | |
| vfov | |||
| ) |
| def updateFilmSize | ( | self, | |
| width, | |||
| height | |||
| ) |
| bottom |
| cam |
| camLens |
| camNode |
| dr |
| far |
| fovH |
| fovV |
| iRay |
| isSideways |
| left |
| mouseDeltaX |
| mouseDeltaY |
| mouseLastX |
| mouseLastY |
| mouseX |
| mouseY |
| near |
| nearHeight |
| nearVec |
| nearWidth |
| originX |
| originY |
| orthoFactor |
|
static |
| right |
| scaleX |
| scaleY |
| top |


Hot Restaurant
Make your reservation
View Tables
Home
Table Reservation
Name
Phone Number
Email
Unique ID
Submit


Properties
Private Readonly _dart_bottomCenter
Private Readonly _dart_bottomLeft
Private Readonly _dart_bottomRight
Private Readonly _dart_center
Private Readonly _dart_centerLeft
Private Readonly _dart_centerRight
Private Readonly _dart_contains
_dart_
contains: (offset: IOffset) => boolean = ...
Type declaration
-
-
Parameters
Returns boolean
Private Readonly _dart_getAspectRatio
_dart_getAspectRatio: () => number = ...
Private Readonly _dart_getFlipped
_dart_
getFlipped: () => ISize = ...
Private Readonly _dart_getHashCode
_dart_getHashCode: () => number = ...
Private Readonly _dart_getHeight
_dart_getHeight: () => number = ...
Private Readonly _dart_getIsEmpty
_dart_getIsEmpty: () => boolean = ...
Private Readonly _dart_getIsFinite
_dart_getIsFinite: () => boolean = ...
Private Readonly _dart_getIsInfinite
_dart_getIsInfinite: () => boolean = ...
Private Readonly _dart_getLongestSide
_dart_getLongestSide: () => number = ...
Private Readonly _dart_getShortestSide
_dart_getShortestSide: () => number = ...
Private Readonly _dart_getWidth
_dart_getWidth: () => number = ...
Private Readonly _dart_toString
_dart_toString: () => string = ...
Private Readonly _dart_topCenter
Private Readonly _dart_topLeft
Private Readonly _dart_topRight


This example integrates the jquery-ui-contextmenu plugin, which is maintained independantly from Fancytree and is based on jQuery UI Menu (part of jQuery UI 1.9+).
jquery.fancytree.js project home Link to this page Example Browser View source code


| Thumbnail | Status | Client | Start Date | Due Date | Latest Update | Cost | Last Update | Alerts | Go to Request |
|---|---|---|---|---|---|---|---|---|---|
| In Progress | @CandySix | Sept. 1
|
Oct. 30
|
1 day ago | $10 | @Melabrook:
I just finished the line-art. Let me know what you think? |
2 days until project deadline! | Click here | |
| Completed | @Podestris | Sept. 18
|
Oct. 27 | 3 days ago | $15 | @Melabrook:
Of course, I took it off! Here's the finished work, I hope you like ... |
Click here | ||
| Completed | @DeadUpon | Aug. 29 | Oct. 26 | 3 days ago | $10 | @DeadUpon:
OMG I love it! Thanks :D I'll write you a review in the next few days. |
@DeadUpon has not written a review for this order. | Click here | |
| New Request | @ABCUser |
|
7 days | $15 | @ABCUser has reqested a Character Drawing: Full-body. | @ABCUser's request is 7 days old! | Click here |


Contact Us
[ Contact Us ]
- Information/Support:
- Suggestions/Requests:
- Business Development:
- Press Inquiries:
- Advertising:
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>{% extends 'base.html' %} {% load static %} {% block stylesheet %} {% endblock %} {% block content %}
Contact Us


{{/* .file: filename of image .fileWeb: full path to image, relative to the web root .fileDisk: full path to image, relative to the file root .img: image element (passed through imageConfig) .alt: alt text */}}


Help for this Node - this para will be used in the palette.
Replace this with actual help for the node you are creating.
Input msg
- payload (string | buffer)
- Optionally, the payload of the message to send to all connected client browser tabs.
- topic (string)
- Optionally, the MQTT topic to use. Takes preference over the topic defined in settings.
Output msgs
- Standard output msg
- payload (string | buffer)
-
A copy of any inbound payload unless altered by the front-end page.
- topic (string)
-
A copy of any inbound topic if present. Otherwise, the topic from the node's settings. Could be changed by the front-end
page but it really isn't recommended.
Node Settings
- Name (string) node-input-name
- A short description shown in the admin interface
- Topic (string) node-input-topic
- A topic name to use if the incoming msg does not contain one.


The LATAM Quiz: How much do you know about Latin America?
Start Quiz!
How many countries make up Latin America?
28
23
29
30
Submit
What is the largest country in South America?
Argentina
Colombia
Venezuela
Brazil
Submit
What are the colors of the Brazilian flag?
red, blue, white
green, red, blue, orange
green, yelloe, blue
white, purple, green, yellow
Submit
Which LATAM country has won the Miss Universe Beauty Pageant the most?
Puerto Rico
Venezuela
Brazil
Mexico
Submit


Please post to our google group if you need support or have a technical question.
If you find an error in the documentation, please file a ticket or submit a pull request.
Clone the guzzle-docs repo and submit pull requests.


Thank you for downloafing and installing the application! Before proceeding to the application please make sure you fully understand the following:
- All the information entered by you must be up to date, accurate, and valid
- We are going to take you current geo-location for the purpose of searching the near-by locations
- Your profile details (your name and number) are going to be saved on our servers and will be visible to the Users of the application.
We advice that you read our
Privacy Policy and Terms of Use before clicking "I agree".


Dartmouth is a most attractive cruising destination. Not only does it have a stunningly scenic entrance and an old town full of interest; it is possible to sail the 8 miles up the picturesque River Dart to the ancient town of Totness, passing many peaceful anchorages on the way.
Poition 50°20.6'N,03°34'W.
The entrance is narrow and deep, and is possible in most conditions, although it can be lively in strong on-shore winds.
In Dartmouth itself, there are 3 marinas, several Harbour Authority pontoons (marked with blue flags) and visitors' buoys all along the river. There is also an anchorage opposite the town, just north of Darthaven Marina. There is a dinghy pontoon directly adjacent to the Town Quay and Boat Float.
Further up the river, at Dittisham, there are also visitors' buoys.
The most convenient of the DHA's visitors' moorings, is both sides of the Town Quay pontoon near the ferry. Take care with the strong tidal stream which flows through here, as the up stream end is barred by a pedestrian bridge and there is no room for error!
Note there is no berthing on the DHA ferry landing, even at night. The ferry runs very late and begins very early in the morning. It runs back and forth every few minutes and is the only way across the Dart River.
All visitor's mooring are clearly marked. During July and August, the fees are doubled after the first 14 days. Daily Harbour Dues are levied on all boats using the river and these are normally collected along with any mooring fees.
A useful website: Dart Harbour Authority
Last updated April 2016.
[Show additional 4 entries for this category]


We know your pain.
We're here to help.
Coming soon!
What about...
'title'
'year'
'rating'
'actors
'plot'
see on IMDB


Honzi/Personal Bests/Hearthstone/Madness at the Darkmoon Faire
| Armor Vendor
| 1
| Rare
| Neutral
|
| 1
|
| Felscream Blast
| 1
| Common
| Demon Hunter
| 2
|
|
| Illidari Studies
| 1
| Common
| Demon Hunter
| 2
|
|
| Mystery Winner
| 1
| Common
| Hunter
| 2
|
|
| Prize Plunderer
| 1
| Rare
| Rogue
| 1
|
|
| Resizing Pouch
| 1
| Common
| Druid/Hunter
| 1
|
|
| Revolve
| 1
| Common
| Shaman
| 2
|
|
| Safety Inspector
| 1
| Rare
| Neutral
| 2
|
|
| Spiked Wheel
| 1
| Common
| Warrior
| 1
|
|
| Stage Dive
| 1
| Rare
| Warrior
| 2
|
|
| Throw Glaive
| 1
| Rare
| Demon Hunter
| 1
|
|
| Wicked Whispers
| 1
| Rare
| Warlock
| 1
|
|
| Bola Shot
| 2
| Common
| Hunter
| 2
|
|
| Bumper Car
| 2
| Rare
| Warrior
| 1
|
|
| Cagematch Custodian
| 2
| Common
| Shaman
| 2
|
|
| Conjure Mana Biscuit
| 2
| Common
| Mage
| 2
|
|
| Costumed Entertainer
| 2
| Common
| Neutral
| 2
|
|
| Crabrider
| 2
| Common
| Neutral
| 2
|
|
| Dancing Cobra
| 2
| Common
| Hunter
| 2
|
|
| Deathmatch Pavilion
| 2
| Epic
| Shaman
| 2
|
|
| Felfire Deadeye
| 2
| Common
| Demon Hunter/Hunter
| 2
|
|
| Foxy Fraud
| 2
| Common
| Rogue
| 2
|
|
| Game Master
| 2
| Common
| Mage
| 2
|
|
| Imprisoned Phoenix
| 2
| Common
| Mage/Shaman
| 1
|
|
| Insight
| 2
| Common
| Priest
| 2
|
|
| Lunar Eclipse
| 2
| Common
| Druid
| 1
|
|
| Midway Maniac
| 2
| Common
| Warlock
| 2
|
|
| Minefield
| 2
| Common
| Warrior
| 2
|
|
| Nitroboost Poison
| 2
| Common
| Rogue/Warrior
| 1
|
|
| Open the Cages
| 2
| Common
| Hunter
| 2
|
|
| Parade Leader
| 2
| Common
| Neutral
| 2
|
|
| Prize Vendor
| 2
| Common
| Neutral
| 1
| 1
|
| Redeemed Pariah
| 2
| Common
| Demon Hunter
| 2
|
|
| Redscale Dragontamer
| 2
| Common
| Paladin
| 2
|
|
| Rock Rager
| 2
| Common
| Neutral
| 1
|
|
| Shenanigans
| 2
| Rare
| Rogue
| 1
|
|
| Showstopper
| 2
| Common
| Neutral
| 2
|
|
| Snack Run
| 2
| Rare
| Paladin
| 2
|
|
| Solar Eclipse
| 2
| Common
| Neutral
| 2
|
|
| Stage Hand
| 2
| Common
| Warrior
| 2
|
|
| Swindle
| 2
| Common
| Rogue
| 2
|
|
| Wriggling Horror
| 2
| Common
| Neutral
| 1
|
|
| Acrobatics
| 3
| Common
| Demon Hunter
| 2
|
|
| Backfire
| 3
| Common
| Warlock
| 2
|
|
| Banana Vendor
| 3
| Common
| Neutral
| 2
|
|
| Cloak of Shadows
| 3
| Epic
| Rogue
| 1
|
|
| Darkmoon Dirigible
| 3
| Common
| Neutral
| 2
|
|
| Darkmoon Statue
| 3
| Common
| Neutral
| 2
|
|
| Day at the Faire
| 3
| Common
| Paladin
| 2
|
|
| Dreadlord's Bite
| 3
| Common
| Demon Hunter
| 2
|
|
| Faire Arborist
| 3
| Rare
| Druid
| 2
|
|
| Fairground Fool
| 2
| Common
| Priest
| 2
|
|
| Feat of Strength
| 3
| Rare
| Warrior
| 2
|
|
| Free Admission
| 3
| Rare
| Warlock
| 1
|
|
| Gyreworm
| 3
| Common
| Neutral
|
| 2
|
| Imprisoned Celestial
| 3
| Rare
| Paladin
| 2
|
|
| Inconspicuous Rider
| 3
| Common
| Neutral
| 2
|
|
| Insatiable Felhound
| 3
| Common
| Demon Hunter
| 2
|
|
| Ironclad
| 3
| Common
| Warrior
| 2
|
|
| Line Hopper
| 3
| Common
| Demon Hunter
| 2
|
|
| Luckysoul Hoarder
| 3
| Rare
| Demon Hunter/Warlock
| 1
|
|
| Man'ari Mosher
| 3
| Common
| Warlock
| 2
|
|
| Moontouched Amulet
| 3
| Rare
| Druid
| 2
|
|
| Palm Reading
| 3
| Rare
| Priest
| 1
|
|
| Pit Master
| 3
| Rare
| Shaman
| 2
|
|
| Relentless Pursuit
| 3
| Common
| Demon Hunter
| 2
|
|
| Revenant Rascal
| 3
| Epic
| Warlock
| 1
|
|
| Saddlemaster
| 3
| Rare
| Hunter
| 1
|
|
| Stormstrike
| 3
| Common
| Shaman
| 2
|
|
| Ticket Master
| 3
| Rare
| Rogue
| 1
|
|
| Whack-A-Gnoll Hammer
| 3
| Rare
| Shaman
| 2
|
|
| Auspicious Spirits
| 4
| Rare
| Priest
| 1
|
|
| Barricade
| 4
| Common
| Paladin/Warrior
| 2
|
|
| Circus Amalgam
| 4
| Common
| Neutral
| 2
|
|
| Circus Medic
| 4
| Common
| Neutral
| 2
|
|
| Dunk Tank
| 4
| Rare
| Shaman
| 1
|
|
| Fantastic Firebird
| 4
| Common
| Neutral
| 2
|
|
| Felfin Navigator
| 4
| Common
| Neutral
| 2
|
|
| Felsaber
| 4
| Common
| Demon Hunter
| 2
|
|
| Fire Breather
| 4
| Rare
| Warlock
| 2
|
|
| Knife Vendor
| 4
| Common
| Neutral
| 2
|
|
| Reknowned Performer
| 4
| Common
| Demon Hunter
| 2
|
|
| Ring Toss
| 4
| Rare
| Mage
| 1
|
|
| Rinling's Rifle
| 4
| Legendary
| Hunter
| 1
|
|
| Sword Eater
| 4
| Common
| Warrior
| 2
|
|
| Derailed Coaster
| 5
| Rare
| Neutral
| 1
|
|
| Firework Elemental
| 5
| Common
| Mage
| 1
|
|
| Fleethoof Pearltusk
| 5
| Common
| Neutral
| 2
|
|
| Fortune Teller
| 5
| Common
| Priest
| 2
|
|
| Mistrunner
| 5
| Common
| Shaman
| 1
| 1
|
| Optimistic Ogre
| 5
| Common
| Neutral
| 1
|
|
| Claw Machine
| 6
| Common
| Neutral
| 2
|
|
| Ring Matron
| 6
| Common
| Warlock
| 2
|
|
| Expendable Performers
| 7
| Epic
| Demon Hunter
| 1
|
|
| Libram of Judgement
| 7
| Common
| Paladin
| 1
|
|
| Silas Darkmoon
| 7
| Legendary
| Neutral
| 1
|
|
| Strongman
| 7
| Common
| Neutral
| 1
|
|
| Umbral Owl
| 7
| Rare
| Druid
| 1
| 1
|
| G'huun the Blood God
| 8
| Legendary
| Priest
| 1
|
|
| Grand Finale
| 8
| Rare
| Mage
| 1
|
|
| Jewel of N'Zoth
| 8
| Epic
| Hunter
| 2
|
|
| Ancient Void Hound
| 9
| Epic
| Demon Hunter
| 1
|
|
| Fizzy Elemental
| 9
| Rare
| Druid
| 2
|
|
| Y'Shaarj, the Defiler
| 10
| Legendary
| Neutral
| 1
|
|


{% extends "podcasts/base.html" %}{% load molly_search %}{% load i18n %} {% load molly_utils %} {% block content %} {# The following detects the existence of an Apple device and offers a redirect to the iTunes U app on said device. Only relevant if institution has feed on iTunes U #} {% if device|device_has_parent:"apple_generic" and show_itunesu_link %}
{% trans "It looks like you're using an Apple device! You can also get all the University's podcasts via your iTunes U app, which gives you extra features like downloads for later listening/viewing." %}
{% trans "Please note that this will close Safari." %}


Presenter(s): Richard Trott, UCSF
Your higher education institution likely offers dozens of online resources for educators, students, researchers, and the public. And each of these online resources likely has its own search tool. But users can’t be expected to search in dozens of different interfaces to find what they’re looking for. A typical solution for this issue is federated search. As modern browsers advance, it becomes easier and easier to create your own federated search.
This presentation will cover common techniques and pitfalls in building a federated search. We will discuss what principles guided our decisions when implementing our own federated search. We will show tools we’ve built and our findings from building and using experimental prototypes.


| Sentiment: Positive +6 | Export |
| Contact | Time | Duration | From - To | Status | Recording |
|---|---|---|---|---|---|
| {{call?.Contact || call?.from}} | {{call?.endTime | date: 'HH:mm:ss'}} | {{call?.duration}} | from:{{call?.from}} to:{{call?.to}} |
{{call?.status}} | {{call?.recordingURL}} |


After realizing Computer Science is where my passion lies, I have definitely learned to love it and face challenges head-on. I have always been a type of person that loved helping people and it can be seen in the experiences I have gained so far such as an Ambassador for the new coming students during Fall 2018 semester at Liberty University; being involved in the Recruiting program over the Summer of 2018; a year and a half experiences as NCAA Athletics Tutor and so much more. I’m a team player who incorporates creativity and honest in everything I do. Connect with me over LinkedIn for Networking, Career Opportunities, and more!
CERE (the Center of Engineering Research & Education) help promote research and development through our upcoming state-of-the-art industry labs.
Helpdesk Student Workers help directly with students, faculty, and staff to resolve problems that may exist with their computers. They seat at the front desk to assist customers by creating tickets, distinguishing the problem and directing them to the correct technician. Once in a while, we get to be the technicians to help with troubleshooting, fixing software, operating system problems, etc.
Over my winter break, I helped High School students with their Application process for College, and guide them through the process of taking the SAT and TOEFL exam by giving presentations, helpful website, answering any questions they might have, and so much more.
GPA: 3.79
GPA: 4.0
Aside from my education, I play sports in my spare time and do adventurous things for fun. I am bilingual and is always looking to learn different languages including Programming ones.


Participation {{vm.participation.id}}
- Repository Url
-
{{vm.participation.repositoryUrl}}
- Build Plan Id
-
{{vm.participation.buildPlanId}}
- Initialization State
-
{{vm.participation.initializationState}}
- Initialization Date
-
{{vm.participation.initializationDate | date:'medium'}}
- Student
-
{{vm.participation.student.login}}
- Exercise
-
{{vm.participation.exercise.title}}


Endpoint
2
Dashboard
Interface
Simulator
Operation:
Start Simulator
Stop Simulator
Settings
Custom Settings:
bootstrap server:
producer topic:
consumer topic:
timeout (ms):
Save Parameters
Dashboard
Endpoint Producer
Messages sent to Kafka broker appear here:
Endpoint Consumer
Messages received from Kafka broker appear here:


Free Time To-Do Checklist
Movies
Free Time To-Do Checklist
Home
TV Shows
Movies
(current)
Books
Video Games
Title:
Want to watch
Already watched
Genre:
None
Action-Film
Adventure-Film
Animation
Comedy
Crime-Film
Drama-Film
Documentary
Fantasy
Film Noir
Horror
Romance Film
Science-Fiction
Western
Add
Reset
Must Watch Movies:
Already Watched Movies:


This hike is located at O‘ahu Hawaii, USA, Pearl City, HI 96782
And you can also go to the website
here
Waimano Falls Trail is a 2.8 mile moderately trafficked out and back trail located near Pearl City, Hawaii that features a waterfall and is rated as moderate. The trail offers a number of activity options and is accessible year-round. Dogs are also able to use this trail but must be kept on leash.


three.js
+
ammo.js
+
Steffe
=
Browser Physics
. Arrow keys=control car, leftclick=pick object or rotate scene, Rightclick=zoom, Wheelclick=shoot sphere, g=toggle shadows, h=toggle stats, space=reset scene


Setting: Mostly in my room with deep trance music playing, room lit by candlelight. Some of the experience took place outside (night) at a scenic park near my house.
Previous drug experiences: a lot of pot, LSD, Shrooms, Mescaline, Coke, DXM, E, Dimenhydrinate (Dramamine), hydrocodone many times (though this was only the second time I had combined it with pot), Darvon, Nitrous, etc, etc, the list goes on…
 I was having a friend spend the night that night who had never done hydrocodone before but was really interested in it, so I hooked him up with some as well. It was only about 6:00 and luckily my older brother decided to come over, and man does he always have the finest herb, so of course, we were all going to smoke that night too…
T+ 1:00 - We all decided to go for a walk to the park near my house to smoke a joint and enjoy the scenery.  After about 20 minutes of walking around the park completely stoned off our asses, I got lost in the park that I know so well, don't know how, but I got lost. Finally after the other two found me, we decided to go back to the house to take the hydrocodone.
T+ 1:30 - We got back to the house and went straight to my room to avoid having to talk to my parents. As I walked in I instantly turned on the stereo and put on some mellow trance music and lit some candles to set the mood for the sedative effects of the hydrocodone. My brother told us to wait until we just start to comedown from the bud to take the hydrocodone and to take small doses at first and work our way up to what we think we can handle. Little did I know that I was going to have one of the most unforgettable experiences of my life.
T+ 2:15 - I broke one of the many hydrocodone 5/500 tabs in half and took it, while 'B' took half of one as well. We had two different kinds of it: 5/500 and 7.5/500, and about 25 pills of each. (5/500 simply means 5 mg of hydrocodone cut with 500 mg of acetaminophen.)
T+ 2:35 - I got tired of waiting for the effects of 2.5 mg of hydrocodone to take its small effect and decided to take the other half, plus one whole 5/500. 'B' decided to only take another 5/500.
T+ 3:20 - I was starting to feel the effects kicking in. I had felt as if some sort of sphere of heat and numbness was expanding from my stomach outward throughout my entire body. I felt great, like nothing could hurt me or nothing could go wrong in the world. Around this time 'B' told me that my ceiling fan blades were candy canes, and sure enough they were morphing into candy canes and back to the normal blades, back and forth. This was also the last time that my brother and I heard from 'B' for almost the remainder of the night. The rest of the time he spent passed out on my futon.
I decided to lay down and listen to the music I had put on. This is where the amazing stuff started to happen. I could actually see the music as it was playing. Its really difficult to explain, but it was VERY similar to the effects of LSD, but more intense and beautiful. I had intense closed eye visuals, not of geometrical patterns like LSD, but of colorful non-existent lands covered with beautiful multicolored landscaping. I could actually wonder off into my visuals and 'walk' around viewing in amazement. One of the best 'interactive' visuals I had was were I was walking around in this bright green, psychedelic field full of crosses that stood about 12 feet high and melted into swirls of bright elegant colors, kind of like a candle melting slowly…
----Passed out for a while----
T+ 5:20 - I awoke to find myself mysteriously lying on the floor in my living room with my brother watching some cartoon. For some reason I felt the need to eat something, so I went and cooked a hot pocket. I strongly recommend not eating while on hydrocodone, as the hotpocket I had cooked tasted like dirty gravel and I almost puked from the taste. Anyways, I ended up going back to my room and woke 'B' up to give him the rest of the hotpocket. Sure enough, he ate it, mumbled some gibberish, and passed back out. At around this time, my brother and I decided to split half of a 7.5/500. Shortly after downing the pill I realized that I shouldn't have taken it; for I was sitting on the floor petting a dog that didn't exist. I thought there was a dog there, I could see it and hear it, but there was no dog. (Later I found out it was a laundry basket).
For the rest of the night I spent my time lying in the middle of the floor of my room listening and 'seeing' music (and many other strange non-existent animals/objects). I ended up falling asleep somewhere around 6:00am and awoke the next day feeling like I had gotten the best nights sleep in my life.  All in all I felt great and the experience was extraordinary and spiritual. Since my experience I have quit all other drugs for this wonderful combination of pain killers and some smoked herb, for it has won me over. :)
--Wisdom
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.


New High Score!
Add to Leaderboard
Error Posting Score
Try Again
Play
New High Score!
Add to Leaderboard
Success, account created!
Write down your private key!
Name: user
Leaderboard
Play


Revolve
An Evolutionary Robotics Toolkit
Solving problems using evolution
- Genome, "DNA"
- Phenome
- Fitness
- Selection & Reproduction (combination & mutation)
- Candidate solutions
Evolutionary Robotics
- In simulation
- In real time, real space
- Evolution of Things
Simulation
- Hardware: (still) slow & expensive
- Many iterations required
- What to investigate?
Simulation: Requirements
- Flexible
- Fast to set up
- Fast to execute
The Robot Evolve Toolkit
- Builds on top of
- Fast where it matters:
- Simulation: fast to execute
- Setup: fast to implement
Revolve basics: the specification
Given:
- A predefined set of (arbitrary) body parts, with predefined
attachment slots
Revolve basics: the specification
Given:
- A labeled tree graph blueprint
+
Revolve basics: the specification
Revolve can construct a robot to simulate with Gazebo.
+
=
Research
Off-line versus on-line evolution
What happens between off-line and on-line?
Experimental setup
- Three scenarios, off-line to on-line
- Genome: Revolve spec + neural network
- RoboGen [1] body parts
[1] http://www.robogen.org
Body parts
"Wheels are boring"
Scenarios: similarities
- Infinite flat plane
- Random starting population
- Fitness: f(p) = v + 5s
- Parent selection: 4-tournament
- 3000 total individuals
- 15 initial robots
Scenarios: differences
| Sc. 1 | Sc. 2 | Sc. 3 |
| Evaluation | One at a time | One at a time | Active population |
| Scheme | 15 + 15 | 15 + 1 | 1 child every 15s |
| Survivor | Best 15 | Best 15 | Percentage with minimum |
Scenarios: baseline & performance
- No reproduction
- No selection
- Execution speed
Results
Fitness - final populations
Fitness - progression
Gene Diversity
Retention rate
Fitness diversity
Experiment conclusions
- Fitness differences
- Continuous evaluation - larger diversity
- Local optimum? Longer runs required.
- More robust fitness?
Performance
Recommendations & Future Work
- Documentation
- Reality gap
- Sensors & brains
- Parameter tuning
- Artificial Ecosystems (Triangle of Life)


African Storybook Project
These stories are in the 11 official languages of South Africa. These enjoyable stories will assist young children as they learn to read. Because the stories are in a language familiar to the children, as well as a language they are learning, the children will have fun practicing while they learn to love reading.
- English
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- Afrikaans
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- isiNdebele
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- isiXhosa
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- isiZulu
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- Sepedi
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- Sesotho (Lesotho)
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- Sesotho (South Africa)
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- Setswana
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- Siswati
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- Tshivenda
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud
- Xitsonga
- First words
- First sentences
- First paragraphs
- Longer paragraphs
- Read aloud