Tasks and Datasets in ParlAI¶
Authors: Alexander Holden Miller, Filipe de Avila Belbute Peres, Jason Weston
ParlAI can support fixed dialogue data for supervised learning (which we call a dataset) or even dynamic tasks involving an environment, agents and possibly rewards (we refer to the general case as a task).
In this tutorial we will go over the different ways a new task (or dataset) can be created.
All setups are handled in pretty much the same way, with the same API, but there are less steps of course to make a basic dataset.
Getting a New Dataset Into ParlAI: the simplest way¶
Let’s look at the easiest way of getting a new dataset into ParlAI first.
If you have a dialogue, QA or other text-only dataset that you can put in a text file in the format we will now describe, you can just load it directly from there, with no extra code!
Here’s an example dataset with a single episode with 2 examples:
text:hello how are you today? labels:i'm great thanks! what are you doing?
text:i've just been biking. labels:oh nice, i haven't got on a bike in years! episode_done:True
Suppose that data is in the file /tmp/data.txt
Note
There are tabs between each field above which are rendered in the browser as four spaces. Be sure to change them to tabs for the command below to work.
 Essentially, there is one training example every line, and each field in a ParlAI message is tab separated with the name of the field, followed by a colon. E.g. the usual fields like ‘text’, ‘labels’, ‘label_candidates’ etc. can all be used, or you can add your own fields too if you have a special use for them.
Creating a New Task: the more complete way¶
Of course after your first hacking around you may want to actually check this code in so that you can share it with others!
Tasks code is located in the parlai/tasks
directory.
You will need to create a directory for your new task there.
If your data is in the ParlAI format, you effectively only need a tiny bit of boilerplate to load it, see e.g. the code for the fromfile task agent we just used.
But right now, let’s go through all the steps. You will need to:
Add an
__init__.py
file to make sure imports work correctly.Implement
build.py
to download and build any needed data (see Part 1: Building the Data).Implement
agents.py
, with at least aDefaultTeacher
which extendsTeacher
or one of its children (see Part 2: Creating the Teacher).Add the task to the the task list (see Part 3: Add Task to Task List).
Below we go into more details for each of these steps.
Part 1: Building the Data¶
We first need to create functionality for downloading and setting up the dataset
that is going to be used for the task. This is done in the build.py
file.
Useful functionality for setting up data can be found in parlai.core.build_data
.
import parlai.core.build_data as build_data
import os
Now we define our build method, which takes in the argument opt
,
which contains parsed arguments from the command line (or their default),
including the path to the data directory. We can also define a version string,
so that the data is removed and updated automatically for other ParlAI users
if we make changes to this task (here it was just left it as None
).
We then use the build_data utilities to check if this data hasn’t been
previously built or if the version is outdated. If not, we proceed to creating
the directory for the data, and then downloading and uncompressing it.
Finally, we mark the build as done, so that build_data.built()
returns
true from now on. Below is an example of setting up the MNIST dataset.
def build(opt):
# get path to data directory
dpath = os.path.join(opt['datapath'], 'mnist')
# define version if any
version = None
# check if data had been previously built
if not build_data.built(dpath, version_string=version):
print('[building data: ' + dpath + ']')
# make a clean directory if needed
if build_data.built(dpath):
# an older version exists, so remove these outdated files.
build_data.remove_dir(dpath)
build_data.make_dir(dpath)
# download the data.
fname = 'mnist.tar.gz'
url = 'http://parl.ai/downloads/mnist/' + fname # dataset URL
build_data.download(url, dpath, fname)
# uncompress it
build_data.untar(dpath, fname)
# mark the data as built
build_data.mark_done(dpath, version_string=version)
Part 2: Creating the Teacher¶
Now that we have our data, we need an agent that understand the task’s structure
and is able to present it. In other words, we need a Teacher
.
Every task requires an agents.py
file in which we define the agents for the task.
It is there that we will define our teacher.
Teachers already in the ParlAI system use a series of subclasses, each with
additional functionality (and fewer methods to implement). These follow the path
Agent
=> Teacher
=> FixedDialogTeacher
=> DialogTeacher
=> ParlAIDialogTeacher
.
(Note there is also a FbDialogTeacher, but this is deprecated – although some datasets in ParlAI still currently use it.)
The simplest method available for creating a teacher is to use the
ParlAIDialogTeacher
class, which makes the process very simple if the text
data is already formatted in the ParlAI Dialog format.
(In fact, even if your text data is not in the ParlAI Dialog format, it might
be simpler to parse it into this format and use the ParlAIDialogTeacher
.)
This is shown in the section ParlAIDialogTeacher.
If the data is not in this format, one can still use the DialogTeacher
which automates much of the work in setting up a dialog task,
but gives the user more flexibility in loading the data from the disk.
This is shown in the section DialogTeacher.
If the data is still a fixed set (e.g. is not dynamic, is based on fixed files)
and even more functionality is needed, such as providing extra information
like the answer indices for the SQuAD dataset, one can use the
FixedDialogTeacher
class. This is shown in the section FixedDialogTeacher.
Finally, if the requirements for the task do not fit any of the above, one can still write a task from scratch without much trouble. This is shown in the section Task from Scratch. For example, a dynamic task which adjusts its response based on the received input rather than using fixed logs is better suited to this approach.
The methods for a teacher to implement for each class are as follows:
- class Teacher
__init__()
,observe()
,act()
- class FixedDialogTeacher
__init__()
,get()
,num_examples()
,num_episodes()
- class DialogTeacher
__init__()
,setup_data()
- class ParlAIDialogTeacher
__init__()
ParlAIDialogTeacher¶
For this class, the user must implement at least an __init__()
function, and
often only that.
In this section we will illustrate the process of using the ParlAIDialogTeacher
class by adding the Twitter dataset.
This task has data in textual form and has been formatted to follow the ParlAI Dialog format.
It is thus very simple to implement it using ParlAIDialogTeacher
.
More information on this class and the dialog format can be found in the teachers documentation.
In this task, the agent is presented with questions about movies that are answerable from Wikipedia.
Every task requires a DefaultTeacher
. Since we are subclassing ParlAIDialogTeacher
,
we only have to initialize the class and set a few option parameters, as shown below.
class DefaultTeacher(ParlAIDialogTeacher):
def __init__(self, opt, shared=None):
super().__init__(opt, shared)
opt = copy.deepcopy(opt)
# get datafile
opt['datafile'] = _path(opt, '')
We can notice there was a call to a _path()
method, which returns the path to the correct datafile.
The path to the file is then stored in the options dictionary under the datafile
key.
This item is passed to setup_data()
so that subclasses can just override the path instead of the function.
We still need to implement this _path()
method. The version for this example is presented below.
It first ensures the data is built by calling the build()
method described in Part 1.
It then sets up the paths for the built data.
from .build import build
def _path(opt, filtered):
# build the data if it does not exist
build(opt)
# set up path to data (specific to each dataset)
dt = opt['datatype'].split(':')[0]
return os.path.join(opt['datapath'], 'Twitter', dt + '.txt')
And this is all that needs to be done to create a teacher for our task using ParlAIDialogTeacher
.
To access this data, we can now use the display_data.py
file in the examples
directory:
python examples/display_data.py -t twitter
DialogTeacher¶
For this class, the user must also implement their own setup_data()
function,
but the rest of the work of supporting hogwild or batching, streaming data from
disk, processing images, and more is taken care of for them.
In this section we will demonstrate the process of using the DialogTeacher
class by adding a simple question-answering task based on the MNIST dataset.
This task depends on visual data and so does not fit the basic ParlAIDialogTeacher
class described above. Still, using DialogTeacher
makes it easy to
implement dialog tasks such as this one.
In this task, the agent is presented with the image of a digit and then asked to answer which number it is seeing. A sample episode is demonstrated below. Note that we display an ASCII rendition here for human-viewing, and while you could try to train a model on the ASCII, the pixel values and several preprocessing options are available instead.
[mnist_qa]: Which number is in the image?
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@83 c@@@@@@@@@@
@@@@@@@@@@@@@h: ,@@@@@@@@@@
@@@@@@@@@@@@c .&@@@@@@@@@
@@@@@@@@@@@: ., :@@@@@@@@@
@@@@@@@@@@A c&@2 8@@@@@@@@
@@@@@@@@@H ;@@@H h@@@@@@@@
@@@@@@@@9: ,&@@G. #@@@@@@@@
@@@@@@@@h ,&@@A @@@@@@@@@
@@@@@@@@; H@&s r@@@@@@@@@
@@@@@@@@: ::. #@@@@@@@@@
@@@@@@@@h ;@@@@@@@@@@
@@@@@@@@h G@@@@@@@@@@
@@@@@@@@@A,:2c :@@@@@@@@@@@
@@@@@@@@@@@@@: 3@@@@@@@@@@@
@@@@@@@@@@@@&, r@@@@@@@@@@@@
@@@@@@@@@@@@: A@@@@@@@@@@@@
@@@@@@@@@@@@ 2@@@@@@@@@@@@
@@@@@@@@@@@@ ,@@@@@@@@@@@@@
@@@@@@@@@@@@ 3@@@@@@@@@@@@@
@@@@@@@@@@@@ ,&@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[labels: 9|nine]
[cands: seven|six|one|8|two| ...and 15 more]
[Agent]: nine
We will call our teacher MnistQATeacher
. Let’s initialize this class first.
class MnistQATeacher(DialogTeacher):
def __init__(self, opt, shared=None):
# store datatype
self.datatype = opt['datatype'].split(':')[0]
# store identifier for the teacher in the dialog
self.id = 'mnist_qa'
# strings for the labels in the class (digits)
# (information specific to this task)
self.num_strs = ['zero', 'one', 'two', 'three', 'four', 'five',
'six', 'seven', 'eight', 'nine']
# store paths to images and labels
opt['datafile'], self.image_path = _path(opt)
super().__init__(opt, shared)
The id
field names the teacher in the dialog. The num_strs
field is
specific to this example task. It is being used simply to store the text
version of the digits.
We also call our _path()
method (defined below). The opt['datafile']
item
is passed to setup_data()
when it is called by DialogTeacher, which we will
also define below.
The version of _path()
for this example is presented below.
It first ensures the data is built by calling the build()
method described above.
It then sets up the paths for the built data. This should be specific to the dataset being used.
If your dataset does not use images, the image_path
is not necessary, for example.
Or if your task will use data other than labels, the path to the file containing this information can also be returned.
You do not need to put this in a separate function like we do here, but could also encode directly in the class.
def _path(opt):
# ensure data is built
build(opt)
# set up paths to data (specific to each dataset)
dt = opt['datatype'].split(':')[0]
labels_path = os.path.join(opt['datapath'], 'mnist', dt, 'labels.json')
image_path = os.path.join(opt['datapath'], 'mnist', dt)
return labels_path, image_path
By creating MnistQATeacher
as a subclass of DialogTeacher
,
the job of creating a teacher for this task becomes much simpler:
most of the work that needs to be done will limit itself to defining a setup_data
method.
This method is a generator that will take in a path to the data and yield a
pair of elements for each call.
The first element of the pair is a tuple containing the following information:
(query, labels, reward, label_candidates, path_to_image)
.
The second is a boolean flag new_episode?
which indicates if the current
query starts a new episode or not.
More information on this format can be found in the documentation under DialogData
in the teachers documentation
(setup_data
is provided as a data_loader to DialogData
).
The sample setup_data
method for our task is presented below.
def setup_data(self, path):
print('loading: ' + path)
# open data file with labels
# (path will be provided to setup_data from opt['datafile'] defined above)
with open(path) as labels_file:
self.labels = json.load(labels_file)
# define standard question, since it doesn't change for this task
self.question = 'Which number is in the image?'
# every episode consists of only one query in this task
new_episode = True
# define iterator over all queries
for i in range(len(self.labels)):
# set up path to curent image
img_path = os.path.join(self.image_path, '%05d.bmp' % i)
# get current label, both as a digit and as a text
label = [self.labels[i], self.num_strs[int(self.labels[i])]]
# yield tuple with information and new_episode? flag (always True)
yield (self.question, label, None, None, img_path), new_episode
As we can see from the code above, for this specific task the question is always the same,
and thus it is fixed. For different tasks, this would likely change at each iteration.
Similarly, for this task, each episode consists of only one query, thus
new_episode?
is always true (i.e., each query is the start of its episode).
This could also vary depending on the task.
Looking at the tuple provided by the iterator at each yield,
we can see that we defined a query, a label and an image path.
When working with DialogTeacher
in visual tasks, we provide the path to the
image on disk so that the dialog teacher can automatically load and process it.
The “image-mode” command line argument allows for a number of post-processing
options, including returning the raw pixels, extracting features using
pre-trained image models (which are cached and loaded from file the next time)
or as above converted to ASCII.
Finally, one might notice that no reward or label candidates were provided in
the tuple (both are set to None
). The reward is not specified because it is
not useful for this supervised-learning task. The label candidates, however,
were not specified per-example for this task because we instead use a single set
of universal candidates for every example in this task (the digits from ‘0’ to ‘9’).
For cases like this, with fixed label candidates, one can simply define a method
label_candidates()
that returns the unchanging candidates, as demonstrated below.
For cases where the label candidates vary for each query, the field in the tuple can be used.
def label_candidates(self):
return [str(x) for x in range(10)] + self.num_strs
The only thing left to be done for this part is to define a DefaultTeacher
class.
This is a requirement for any task, as the create_agent
method looks for a teacher named this.
We can simply default to the class we have built so far.
class DefaultTeacher(MnistQATeacher):
pass
And we have finished building our task.
FixedDialogTeacher¶
For this class the user must define at least __init__()
, a get()
function,
and num_examples()
and num_episodes()
. The user must also handle data
loading and storage on their own, which can be done during intialization.
However, like with its child DialogTeacher, batching and hogwild will still be
handled automatically, as well as metric updating and reporting, example iteration,
and more.
In this section we will demonstrate the use of this class with the VQAv2 visual question-answering task. Since we want to return additional fields apart from the standard ones used in DialogTeacher (text, labels, reward, candidates, an image, and whether the episode is done), we’ll extend FixedDialogTeacher instead. We’ll also demonstrate the use of the multithreaded loader that is available, which can be helpful for speeding up image loading by beginning to load the next example while the current one is being looked at by the model.
In this task, the agent is presented with an image of a scene and then asked to answer a question about that scene. A sample episode is demonstrated below.
[vqa_v2]: What is this man holding?
[labels: skateboard]
[Agent]: skateboard
We will call our teacher OeTeacher
(for open-ended teacher, since it doesn’t provide the agent with label candidates).
Let’s initialize this class first.
class OeTeacher(FixedDialogTeacher):
"""VQA v2.0 Open-Ended teacher, which loads the json VQA data and
implements the ``get`` method to return additional metadata.
"""
def __init__(self, opt, shared=None):
super().__init__(opt)
self.image_mode = opt.get('image_mode', 'none')
if shared and 'ques' in shared:
# another instance was set up already, just reference its data
self.ques = shared['ques']
if 'annotation' in shared:
self.annotation = shared['annotation']
self.image_loader = shared['image_loader']
else:
# need to set up data from scratch
data_path, annotation_path, self.image_path = _path(opt)
self._setup_data(data_path, annotation_path)
self.image_loader = ImageLoader(opt)
self.reset()
There are a few parts to this initialization.
First, we store the image mode so the we know how to preprocess images.
Then, we check if this teacher is being initialized with a shared
parameter.
This is used during hogwild or batching to share data within a batch or between
threads without each instance having to initialize from scratch. See the
Batching and Hogwild tutorial for more information on this.
If shared
is empty, then we’ll move on to loading our data.
Finally we’ll reset the class so parents can initialize class fields to support threaded loading, metrics, and more.
Let’s take a quick look at the fucntions which set up the data and share it between instances just so we see how those are set up.
def _setup_data(self, data_path, annotation_path):
print('loading: ' + data_path)
with open(data_path) as data_file:
self.ques = json.load(data_file)
if not self.datatype.startswith('test'):
print('loading: ' + annotation_path)
with open(annotation_path) as data_file:
self.annotation = json.load(data_file)
def share(self):
shared = super().share()
shared['ques'] = self.ques
if hasattr(self, 'annotation'):
shared['annotation'] = self.annotation
shared['image_loader'] = self.image_loader
return shared
Next up, we need to implement num_examples()
and num_episodes
for the
FixedDialogTeacher teacher to work correctly. These are very straightforward,
and we only have one question per episode, so we can reuse that definition.
def num_examples(self):
return len(self.ques['questions'])
def num_episodes(self):
return self.num_examples()
Next we need to implement the get()
function. This has two arguments: which
episode we want to pull from, and then the index within that episode of the
specific example we want. Since every episode has only one entry in this dataset,
we provide a default for the keyword and ignore it.
We also define the DefaultTeacher class to refer to this one. This task also includes another teacher which includes multiple choice candidates, but we don’t include that in this tutorial.
def get(self, episode_idx, entry_idx=0):
qa = self.ques['questions'][episode_idx]
question = qa['question']
action = {
'id': self.id,
'text': question,
'image_id': qa['image_id'],
'episode_done': True
}
if not self.datatype.startswith('test'):
# test set annotations are not available for this dataset
anno = self.annotation['annotations'][episode_idx]
action['labels'] = [ans['answer'] for ans in anno['answers']]
return action
class DefaultTeacher(OeTeacher):
pass
At this point, the class is done! However, we’ll extend it a little further to
take advantage of a few utility methods that allow for loading the next image
in the background by overriding the next_example()
method of FixedDialogTeacher
(the method that calls our get()
method).
def reset(self):
super().reset() # call parent reset so other fields can be set up
self.example = None # set up caching fields
self.next_example() # call this once to get the cache moving
def next_example(self):
"""Returns the next example from this dataset after starting to queue
up the next example.
"""
ready = None
# pull up the currently queued example
if self.example is not None:
if self.image_mode != 'none':
# move the image we loaded in the background into the example
image = self.data_queue.get()
self.example['image'] = image
ready = (self.example, self.epochDone)
# get the next base example: super().next_example() calls self.get()
self.example, self.epochDone = super().next_example()
if self.image_mode != 'none' and 'image_id' in self.example:
# load the next image in the background
image_id = self.example['image_id']
self.submit_load_request(image_id)
# return the previously cached example
return ready
This method uses the submit_load_request()
method to start a background
thread loading the next image, loading previously finished work with with
self.data_queue.get()
. It calls super().next_example()
to prepare the
next example it’s going to return, which calls the get()
method we defined,
and then returns the previously cached example. Note that here we also call
next_example()
in the reset()
function to start filling the cache.
This extra functionality helps in particular with loading images–for this task, adding the threading helped a model to process an epoch approximately 2.5x faster. Further speedups can be accomplished with the Pytorch dataloader, adding another 6.5x speedup. A tutorial on how to use this dataloader is forthcoming.
Task from Scratch¶
In this case, one would inherit from the Teacher class.
For this class, at least the act()
method and probably the observe()
method must be overriden. Quite a bit of functinoality will not be built in,
such as a support for hogwild and batching, but metrics will be set up and
can be used to track stats like the number of correctly answered examples.
In general, extending Teacher directly is not recommended unless the above classes definitely do not fit your task. We still have a few remnants which do this in our code base instead of using FixedDialogTeacher, but this will require one to do extra work to support batching and hogwild if desired.
However, extending teacher directly is necessary for non-fixed data.
For example, one might have a like the full negotiation version of the
dealnodeal
task, where episodes are variable-length (it continues until one
player ends the discussion).
In this case, just implement the observe()
function to handle seeing the
text from the other agent, and the act()
function to take an action
(such as sending text or other fields such as reward to the other agent).
Part 3: Add Task to Task List¶
Now that our task is complete, we must add an entry to the task_list.py
file in parlai/tasks
.
This file just contains a json-formatted list of all tasks, with each task represented as a dictionary.
Sample entries for our tasks are presented below.
[
# other tasks...
{
"id": "MTurkWikiMovies",
"display_name": "MTurk WikiMovies",
"task": "mturkwikimovies",
"tags": [ "all", "QA" ],
"description": "Closed-domain QA dataset asking MTurk-derived questions about movies, answerable from Wikipedia. From Li et al. '16. Link: https://arxiv.org/abs/1611.09823"
},
{
"id": "MNIST_QA",
"display_name": "MNIST_QA",
"task": "mnist_qa",
"tags": [ "all", "Visual" ],
"description": "Task which requires agents to identify which number they are seeing. From the MNIST dataset."
},
{
"id": "VQAv2",
"display_name": "VQAv2",
"task": "vqa_v2",
"tags": [ "all", "Visual" ],
"description": "Bigger, more balanced version of the original VQA dataset. From Goyal et al. '16. Link: https://arxiv.org/abs/1612.00837"
},
# other tasks...
]
Part 4: Executing the Task¶
A simple way of testing the basic functionality in a task is to run the
display_data.py
example in the examples
directory.
Now that the work is done, we can pass it to ParlAI by using the -t
flag.
For example, to execute the MTurk WikiMovies task we should call:
python display_data.py -t mturkwikimovies
To run the MNIST_QA task, while displaying the images in ascii format, we could call:
python display_data.py -t mnist_qa -im ascii
And for VQAv2:
python display_data.py -t vqa_v2


Module openmoko
Library for managing a OpenMoko smartphone.
Uses the omhacks tool.
See http://manpages.ubuntu.com/manpages/precise/man1/om.1.html
It is possible to provide default values applied automatically at startup. For this a configuration field
matching a method name must exist. Examples:
deviceloaders.openmoko.usb_charger_mode = 'charge-battery'
deviceloaders.openmoko.usb_mode = 'host'
deviceloaders.openmoko.gps_power = {true, true}
Usage:
local toribio = require 'toribio' local om = toribio.wait_for_device('openmoko') print (om.battery_energy())
Functions
| init (conf) | Initialize and starts the module. |
| usb_mode (mode) | Set USB mode. |
| usb_charger_mode (chargermode) | Set USB powering mode. |
| usb_charger_limit (currlim) | Set the current limit on the USB port. |
| touchscreen_lock (on) | Locks the touchsreen. |
| battery_charger_limit (currlim) | Set the current limit on the battery charger. |
| battery_energy () | Return the battery charge level. |
| bt_power (power) | Power the bluetooth module. |
| gps_power (power, keep_on_in_suspend) | Power the gps module. |
| gsm_power (power) | Power the gsm module. |
| wifi_power (power) | Power the wifi module. |
| wifi_maxperf (iface, on) | Enable the maxperf mode for wifi. |
| wifi_keep_bus_on_in_suspend (on) | Keep de wifi bus powered on suspend. |
| screen_power (power) | Power the screen. |
| screen_glamo_bus_timings (timing) | Control the glamo timings. |
| backlight_brightness (level) | Control the backlight brigthness. |
| led_vibrator_power (level, ontime, offtime) | Control the vibrator power. |
| led_power_orange_power (on, ontime, offtime) | Control the orange light of the power button. |
| led_power_blue_power (on, ontime, offtime) | Control the blue light of the power button. |
| led_aux_red_power (on, ontime, offtime) | Control the red light of the aux button. |
Tables
| conf | Configuration Table. |
Fields
| name | Name of the device. |
| module | Module name. |
Functions
- init (conf)
-
Initialize and starts the module.
This is called automatically by toribio if the load attribute for the module in the configuration file is set to
true.
Parameters:
- conf the configuration table (see conf).
- usb_mode (mode)
-
Set USB mode.
In device mode the phone can talk to
USB hosts (PCs or phones in host mode). In host mode the phone
can talk to USB devices. Also see usb.charge.mode
Parameters:
- mode Optional, either 'host' or 'device' changes the mode.
Returns:
-
The mode as set.
- usb_charger_mode (chargermode)
-
Set USB powering mode.
Normally you want to charge
the battery in device mode and power the USB bus in host mode
but it is possible to for example use an external battery power
the USB bus so that the phone can be in host mode and still
charge itself over USB. Also see usb.mode
Parameters:
- chargermode optional. Either 'charge-battery' or 'power-usb'
Returns:
-
The mode as set.
- usb_charger_limit (currlim)
-
Set the current limit on the USB port.
Control the current that the phone will draw
from the USB bus. When the phone is in device mode and some
gadget driver is loaded it will negotiate the highest allowed
charging current automatically. However, if you are using a dumb
external USB battery it might be necessary to force larger limit
than the default of 100 mA. Do not set the limit to be too large
if your charger can not handle it!
When powered from an "dumb" device, the phone sets a 100mA limit by default.
Parameters:
- currlim Optional the current limit in mA. Supported values are 0, 100, 500 and 1000.
Returns:
-
The current limit as set.
- touchscreen_lock (on)
-
Locks the touchsreen.
This is useful when you want to keep the phone running in a pocket and
don't want the backlight to turn on every time you accidentally
touch the screen. Locking is done in a way that does not depend
on X so if X server crashes and restarts your screen will still
stay locked.
Parameters:
- on True to lock false to unlock, nil to keep.
Returns:
-
The current lock mode as set.
- battery_charger_limit (currlim)
-
Set the current limit on the battery charger.
Usually is set equal to usbchargelimit, but can be lower when powering from USB and only want to keep
battery charged and leave enough power for the rest of the phone.
Parameters:
- currlim Optional the current limit in mA. Supported values are 0, 100, 500.
Returns:
-
The current limit as set.
- battery_energy ()
-
Return the battery charge level.
Returns:
-
a percentage of full charge.
- bt_power (power)
-
Power the bluetooth module.
Parameters:
- power true to enable, false to disable, nil to keep.
Returns:
-
the mode as set
- gps_power (power, keep_on_in_suspend)
-
Power the gps module.
Parameters:
- power true to enable, false to disable, nil to keep.
- keep_on_in_suspend true to enable, false to disable, nil to keep
Returns:
-
the power as set, the suspend mode as set.
- gsm_power (power)
-
Power the gsm module.
Parameters:
- power true to enable, false to disable, nil to keep.
Returns:
-
the mode as set
- wifi_power (power)
-
Power the wifi module.
Parameters:
- power true to enable, false to disable, nil to keep.
Returns:
-
the mode as set
- wifi_maxperf (iface, on)
-
Enable the maxperf mode for wifi.
Enabling this increases
energy consumption but lowers latency.
Parameters:
- iface network interface (usually "eth1")
- on true to power on, false to power down, nil to keep as is.
Returns:
-
the mode as set
- wifi_keep_bus_on_in_suspend (on)
-
Keep de wifi bus powered on suspend.
Needed for wake on wlan.
Parameters:
- on true to power on, false to power down, nil to keep as is.
Returns:
-
the mode as set
- screen_power (power)
-
Power the screen.
Parameters:
- power true to enable, false to disable, nil to keep.
Returns:
-
the mode as set
- screen_glamo_bus_timings (timing)
-
Control the glamo timings.
Reads or sets the timings of the memory bus between the CPU and
the glamo graphics chip. Numbers are SRAM interface timings of
the CPU. According to http://lists.openmoko.org/pipermail/community/2010-July/062495.html
using 2-4-2 is more appropriate, view that article and following
discussion for more details.
Parameters:
- timing either '4-4-4' or '2-4-2', nil to keep.
Returns:
-
the timing as set
- backlight_brightness (level)
-
Control the backlight brigthness.
Reports true brightness only if the screen
has not been blanked with screen.power
Parameters:
- level the percentage of maxbrighness, nil to keep.
Returns:
-
the level as set.
- led_vibrator_power (level, ontime, offtime)
-
Control the vibrator power.
Parameters:
- level the vibrating power, in the 0..255 range
- ontime if provided with offtime, will blink at the indicated rate (milliseconds)
- offtime if provided with ontime, will blink at the indicated rate (milliseconds)
Returns:
-
the level as set.
- led_power_orange_power (on, ontime, offtime)
-
Control the orange light of the power button.
Parameters:
- on true switches on, false off, nil keeps as is.
- ontime if provided with offtime, will blink at the indicated rate (milliseconds)
- offtime if provided with ontime, will blink at the indicated rate (milliseconds)
Returns:
-
the parameters as set.
- led_power_blue_power (on, ontime, offtime)
-
Control the blue light of the power button.
Parameters:
- on true switches on, false off, nil keeps as is.
- ontime if provided with offtime, will blink at the indicated rate (milliseconds)
- offtime if provided with ontime, will blink at the indicated rate (milliseconds)
Returns:
-
the parameters as set.
- led_aux_red_power (on, ontime, offtime)
-
Control the red light of the aux button.
Parameters:
- on true switches on, false off, nil keeps as is.
- ontime if provided with offtime, will blink at the indicated rate (milliseconds)
- offtime if provided with ontime, will blink at the indicated rate (milliseconds)
Returns:
-
the parameters as set.
Tables
- conf
-
Configuration Table.
This table is populated by toribio from the configuration file. Can also be used to automatically
setup the openmoko calling the method with provided parameters. For example, to automatically
start with a blinkig led, the following entrie could be added to the configuration file:
deviceloaders.openmoko.ledauxredpower = {true, 500, 500}_.
Fields:
- load whether toribio should start this module automatically at startup.


class HelloWorld < Iowa::Component attr_accessor :number def timeframe now = Time.now.hour case when now > 20, now < 5 "night" when now > 17 "evening" when now > 11 "afternoon" else "morning" end end def current_time Time.now.asctime end def lucky_numbers r = [] until r.length == 8 n = rand(32) r << n unless r.include? n end r end end


Hello world! This is HTML5 Boilerplate.
GitHub is interesting to learn. GitHub web-based Git or version control repository. It offers all of the distributed version control source code management (SCM) functionality of Git as well adding its own features rafal P. say Git as a
"Great service for every developer"


- Take a snapshot: /snapshot
- See the stream: /video_feed
- Switch LED on: /led_on
- Switch LED off: /led_off
LED (PIN {{pin}}) is: ?
Adjust config.json and restart server for changes!
Pin for LED: pin: {{pin}}
Delay before snapshot (seconds): shapshot_delay: {{shapshot_delay}}


class Query
Convenience class for producing SQLite queries.
Builder
class Builder
<init>
Query(filter: Filter)
filter
val filter: Filter


×
Remove Unnecessary Things from ISO file
Windows 7
Integrate7 Script - It gets Windows 7 ISO image (any language, any architecture), download all post-SP1 updates directly from Microsoft site and create new bootable Windows 7 ISO (with all updates integrated). Removes all bloatware (Telemetry, Diagnostics, Windows Defender).
Windows 8
W8.1-Tweak-Pack - They include deleting registry entries and tasks folders, they are not a component removal but you can remove components using NTLite. You can also use MSMG Toolkit to modify the ISO file as per your needs. But, you can directly use Windows 10 AME instead of getting Windows 8 ISO file and doing this big work.


Reliable and affordable, Our company is fast becoming one of the leading manufacturers of heating equipment in the UK supplying boilers, radiators and towel warmers nationwide.
During more than 50 years of manufacturing experience, we've established an enviable reputation for producing cost effective, high efficiency equipment that's easy to install and maintain.
But we also understand that creating a great product is only half the story and take pride in providing unflagging aftersales support. Our reassuring, "can-do" attitude ensures that no-one is more committed to lasting customer satisfaction.
All our products are fitted with specially selected components and have CE and WRAS certification. We are a member of Benchmark, the industry code of practice for the installation and commissioning of domestic hot water central heating systems. We obtain British Gas Service listings at the earliest opportunity, ensuring the highest levels of quality, reliability and service.
We are the division of Generic Ltd, itself a subsidiary of GenCorp of the top 200 companies in the world. Our head office and main distribution centre is based in Bradford and runs alongside a parallel operation in Germany and a sales office in France.
Our continuing commitment means that over 80% of our boiler packaging materials can be recycled.


Asteroids was one of my favorite arcade games back in the day.
I had to make a version for myself.
I have kept true to the basic features of the classic game, except for the vector graphics that is.
This game is setup so that nearly all of the game data is read from text files when the program starts.
The user can modify the data in these text files to change almost any aspect of the play and/or the images and sounds used.
I first introduce the game itself.
I will then give a detailed description of the configuration files (mentioned above).
You will find a link to 3 zip files at the end of this article containing everything.
** Asteroids **
The program starts with a welcome menu. There are 2 buttons for choosing the control mode.
The game can be played with either mouse or keyboard. Instructions appear on the welcome menu.
Play can go indefinitely, as long as you score enough points to earn ships faster than you wreck them.
A couple of more screenshots. Busting rocks:
Getting shot:
Finally, when the game ends, a game over menu appears.
What's that ufo shooting at?
The options here are to quit or return to the welcome menu for another game.
** The configuration files **
I have used a system of several text files for storing most of the game data.
I will cover them as they apply to each of several areas.
1) Adjusting ship properties and designing levels.
I put the data for all of this in the file "levels_config.txt" located in the main folder.
The first 3 lines look like this:
10000 6 10.0 20.0 0.3 0.01
1000 10.0
100 200 300
The 1st line has all the data for the good guy ship.
The 6 numbers are:
# of points per new ship (10000)
max. # of shots in flight at once (6)
speed of shots in pixels per frame (px/fr) (10.0)
maximum ship speed (20.0)
acceleration rate in px/fr^2 (0.3)
speed damping rate (0.01)
The 2nd line is the data for the bad guy ships.
score value (1000)
speed of shots (10.0)
The 3rd line is for the score values of the asteroids
Large(100) medium(200) small(300)
The rest of the file is for defining the levels.
First, the number of levels is given (4).
Then, data for each level is given:
1) Number of asteroids (3)
1 line of data for each asteroid
2) Number of bad ships (2)
1 line of data for each bad ship.
Example from file:
4 <- number of levels
3
0 4 200.0 700.0 0.1 -1.4
0 4 -80.0 200.0 1.0 1.1
0 4 820.0 100.0 -1.1 1.0
2
0 2 80 700 -50.0 100.0 3.0 0.0
1 2 60 500 850.0 500.0 -4.0 0.0
The data above is for level 1.
The data for each asteroid consists of six numbers. Example values are from the 1st ship.
Which frame set on the sprite sheet (0)
Number of frames to delay animation (asteroids tumble slowly) (4)
Initial x position (200.0)
Initial y position (700.0)
Initial x speed (0.1)
Initial y speed (-1.4)
The data for each bad ship consists of eight numbers. Example values are from the 1st ship.
Which frame set on the sprite sheet, normal animation. (0)
Which frame set on the sprite sheet, explosion animation. (2)
Firing period (in frames) (80)
Launch period (in frames) (700)
Initial x position (-50.0)
Initial y position (100.0)
Initial x speed (3.0)
Initial y speed (0.0)
There will be 4 blocks of data like this. The file supplied has 5,3 7,4 9,3 (asteroids, bad ships)
for the remaining 3 levels.
The last bad ship is repeated as long as the level lasts.
The last level repeats indefinitely.
** end description of "levels_config.txt" **
Most of the data that affects the game play is located n the above described file, but I wanted it to be
possible to change which image and sound files are used.
The sound is easiest.
In the folder "AudioClips" is a text file "list_audio_files.txt" is a list of the filenames for the 5
sounds used in this game. The existing files are all .wav but other formats should also work (except
mp3-there is a proprietary issue).
The order must be preserved and there must be 5 filenames.
The 5 sounds listed are, in order:
Good ship weapon sound
Bad ship weapon sound
Explosion sound
Welcome menu music (looping)
Game over menu music (looping)
The file for each sprite sheet contains data about the frames on the sheet.
The list of config. filenames for the sprite sheets is in "bmpImages/list_config_files.txt"
Presently these are:
bmpImages/goodShip_config.txt
bmpImages/badShip_config.txt
bmpImages/rocks_config.txt
bmpImages/smallShot_config.txt
bmpImages/digits_config.txt
We'll look at the 1st of these (for good ship) to see how the data is organized
Content of "bmpImages/goodShip_config.txt" is:
bmpImages/gOneB.bmp
3 4 48 48
0 4 24 34
1 4 24 19
2 14 48 48
First line = name of image file.
Second line = 4 numbers.
# of frame sets (3)
# of columns of frames on sheet (4)
size of frames, width (48)
size of frames, height (48)
Then ,one line for each frame set (3), Four numbers per line:
Which row the frame set begins on (0,1,2)
The number of frames in the set (4,4,14)
Actual width of the frames in this set (24,24,48)
Actual height of the frames in this set (34,19,48)
** end of configuration file explanations **
Here are the files for the game.
It seems that there is a 1Mb upload size limit for attached files, so I had to split up the files into 3 files:
1) Asteroids.zip
contains: 3 folders - source_code, bmpImages, AudioClips
and 2 files: Asteroids_stat.exe, levels_config.txt
The folder "AudioClips" contains only a text file "list_audio_files.txt".
The 5 .wav files on this list must go into the AudioClips folder.
2) Audio_1.zip
contains: 2 dlls for audio - openal32.dll, libsndfile-1.dll
and 4 of the .wav files
The dlls go in the same folder as Asteroids_stat.exe.
The 4 .wav files go in the folder "AudioClips"
3) Audio_2.zip
contains: The 5th .wav file "levelBK3.wav"
I hope you have fun tinkering with the game play.
If you develop any killer levels please share them with me!
I accept (and respond to) PMs.
Attachments:
[Asteroids.zip]
[Audio_1.zip]
[Audio_2.zip]


Pacific Fig. anomalies response surface SST PWC model global precipitation solar forcing equatorial wind < ensemble cycle {border-style TSI px;} warming #ffffff;} Appendix, climate pattern time SLP Smax central increase lag mean tropical AMIP signals temperature Pacific, observed positive regression simulations variability westerly zonal Clim SOLAR eastward evidence ocean Geophys Materials Methods analysis changes coefficients sensitivity weakened winds ΔSLP (–) AMIP-ZM ENSO GHG MLR WVC associated change circulation decadal hydrological mechanism period responses sea thermocline western Bjerknes Res atmospheric coupled hydrology irradiance observational px; reduced simulated stronger {font-family Atmos Indian PWC, SSTs W/m century eastern feedback following font-size global-mean indicate influence muted patterns rainfall reduction troposphere weakening weakens weaker However, National Oceans Walker averaged climatological data dataset detected double; forced increased increases low-order observations series significant similar supported .%/K, CMIP East Indo-Pacific Model PWC. Pacific. Smax, United University anomalies, atmosphere–ocean border-color border-width branch direct easterlies east–west forcings generally historical indicates individual likely monthly overall provide radiative reanalyses results shift solid; studies taken warmer zonally {font-style {font-weight -W/m .), CR, Centre Circulation Denmark ERA, Earth Gray HadSLPr Kaplan Kingdom Loon Meehl NCEP, Ocean Sci Smin Solar Southern Units West affects amplified amplitude analyze areas article bold bottom-up chance courier; described differences em; ensemble, gradient, gradients hPa identifies independent interannual magnitude maximum models oscillation phase predictions pressure probability pt;} reanalysis refer robust runs signal spectral terms using van versus water


--- layout: post date: 2012-01-20 time: "09:00:00" authors: ["Greg Wilson"] title: The First Bootcamp of 2012 tags: ["Space Telescope Science Institute"] ---
We just wrapped up the first bootcamp of 2012 at the Space Telescope Science Institute. 14 scientists with a wide variety of computational backgrounds spent two days learning about testing, version control, program structure, the basics of Python, and the psychology of learning and programming. We're following up with 6 weeks of online material, partly because that's what fits everyone's schedules, and partly to see whether a blended approach works better than either strategy on its own.
And on a completely different topic, this diagram from the Discover magazine web site sums up every scientist-vs-journalist debate ever:


No matching user found.
No matching user found.
The username associated with the email you entered is marked as inactive. Please contact an administrator to activate the account.
The token entered is invalid or expired. To request a new token, choose the "Forgot Password" link below.
The token entered is invalid or expired. To request a new token, choose the "Forgot Password" link below.
The token entered has already been processed. No new updates were made. To request a new token, choose the "Forgot Password" link below.
Please enter a valid password.
The password and confirm password fields did not match.
[[#{password.unknown}]]


Korean red ginseng may be taken to combat weakness, add extra energy to an athletic performance, and boost mental efficiency.
Ginseng naturally vasodilates blood vessels especially in the peripherals of the body.
Our Ginseng is a perfect natural substitute to other chemically harmful pre and post workout supplements.
We have tailored our Ginseng extract to concentrate on increased blood flow.
How did we do it?
Typically, Ginseng is harvested after 6 years of growth which results in more fibrous and less ginsenisode density. We harvest from years 4-5 to harvest smaller but more potent ginseng roots. We then use whole-root processing that does not require peeling.
 We haven't ignored this issue like many other products on the market. Which is why we add a fermented ginseng concentrate to help the breakdown process called GINST15. This increases the aborption of the ginseng fifteen-fold and quadruples the rate of absorption!
Our capsules are designed to dissolve in the gut, allowing for the potent formula to be released exactly when it should. Giving you the burst of ginseng benefits all at once, which is why it gives your that pre-workout energy boost!
Red Ginseng from Korea contains ginsenosides.  Ginsenosides are believed to work as natural adaptogens in the body, meaning that they allow the body to adapt to stress in a natural manner.
We are so confident we will refund your purchase if you are not satisfied!


Each developer, whether a veteran or begineer, has the ability and freedom to work on whatever he/she desires. Supported by peers and mentors, ideas will enter our physical world by the labor of a hand and the creation of a mind. Fueled by an atmosphere of achievement, several brillant projects will be created. Your reward? Knowledge, power, self-impovement, untold glory. For the truly astounding, there will be a cash prize of an astounding size akin to winning the lottery! Not convinced? Food, enjoy the food.
Boelter Hall
This is a local hackathon for the community. So, no.
Only if you bring it
Well it starts at a time and ends 12 hours after.
That is not a question!
This is a local hackathon for the community. So, no.
Only if you bring it
Well it starts at a time and ends 12 hours after.


This is a multi-part message in MIME format.
=09
5/3/2017
=09
Dear JEVIN,
Your payment is now 26 days past due, and a late fee has been charged=
to your account. Please make a payment of $399.22 to bring your account=
current. Prosper reports past due payment history at day 30 and will=
continue to submit every 30 days thereafter until the loan is current.=20
If you've already made this payment, thank you very much. No action is=
needed on your part.
If you're finding it difficult to make your payment or to pay the entire=
amount, please give us a call at<PHONE_NUMBER>. We'd like to see if we=
can help get your payments back on track. You can also resolve this imm=
ediately by clicking on the link below.=20
http://www.prosper.com/MakePayment/Funnel?utm_source=3Dborrower_payment_=
past_due_notice_generic_version&utm_medium=3Demail&utm_campaign=3Dsystem=
_event&utm_content=3Dmake_payment
Loan: 544505
Missed due date: 4/7/2017
Past due amount: $399.22
Total due: $1,041.33
Your past due amount will bring your account current. The total amount=
due covers fees, past due payments and upcoming payments.=20
Please call us at<PHONE_NUMBER>, from 8am-9pm (ET) Mon-Fri / 9am-5:30pm=
(ET) Sat. You may also email us at<EMAIL_ADDRESS>Regards,=20
Prosper=20
Notice: This is an attempt to collect a debt and any information obtaine=
d will be used for that purpose.
5/3/2017
Call us at<PHONE_NUMBER>
8am-9pm (ET) Mon-Fri
9am-5:30pm (ET) Sat.


RGBReturns an integer number from 0 to 16777215 obtained by combining the red, green, and blue values (each ranging from 0 to 255) to represent a color.green - any numeric expression or numeric field containing a value ranging from 0 to 255blue - any numeric expression or numeric field containing a value ranging from 0 to 255Numbers returned by this function can be passed as the color parameter in the TextColor or TextColorRemove functions. The RGB function uses the following formula to calculate the result:red * 2562 + green * 256 + bluewhere 2562 = 65536Tip To determine the RGB value of a color, in Layout mode, click the Fill color palette in the formatting bar and choose Other Color. In OS X, select the Color Sliders tab. Values are shown for each of the basic colors.RGB(255;0;0) returns 16711680 representing red.RGB(0;255;0) returns 65280 representing green.RGB(0;0;255) returns 255 representing blue.RGB(0;0;0) returns 0 representing black.RGB(255;255;255) returns 16777215 representing white.


--- layout: post title: "@Disclosedtech: Edsurge and Coursera" date: 2017-02-17 12:37:00 +0000 tags: image: https://s3.amazonaws.com/hackedu/2017-02-17-pigeon.jpg imagecredits: https://www.flickr.com/photos/soualte/4366080164 ---
"Should Online Courses Go Through 'Beta Testing'? How One Provider Taps 2,500 Volunteers," Edsurge wrote on February 17, 2017. This article fails to disclose that Edsurge and the provider in question, Coursera, share investors: Learn Capital and GSV Capital.
For more information about this and other disclosure alerts, read this blog post.


What's for Dinner
Name of dish
time to cook:
:
Exclude ingredients
More filters
Search
Zip Code:
locate


Installation¶
Installing Yeti is pretty straightforward. This procedure was tested on Ubuntu 16.04, but YMMV.
Install dependencies:
$ sudo apt-get install build-essential git python-dev mongodb redis-server libxml2-dev libxslt-dev zlib1g-dev python-virtualenv wkhtmltopdf
Install Yarn:
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn
Download Yeti:
$ git clone https://github.com/yeti-platform/yeti.git
Activate virtualenv if you want to, then install requirements:
$ cd yeti
$ [sudo] pip install -r requirements.txt
$ yarn install
Quick & dirty¶
Start the web UI (will spawn a HTTP server on http://localhost:5000
):
$ ./yeti.py webserver
This will only enable the web interface - if you want to use Feeds and Analytics, you’ll be better off starting the workers as well:
$ celery -A core.config.celeryctl.celery_app worker --loglevel=ERROR -Q exports -n exports -Ofair -c 2 --purge
$ celery -A core.config.celeryctl.celery_app worker --loglevel=ERROR -Q feeds -n feeds -Ofair -c 2 --purge
$ celery -A core.config.celeryctl.celery_app worker --loglevel=ERROR -Q analytics -n analytics -Ofair -c 2 --purge
$ celery -A core.config.celeryctl.celery_app worker --loglevel=ERROR -Q oneshot -n oneshot -c 2 --purge
$ celery -A core.config.celeryctl beat -S core.scheduling.Scheduler --loglevel=ERROR
Or, to bootstrap a production use instance of Yeti on Ubuntu 16.04 (without the Redis tweaks), everyone’s favorite command:
$ curl https://raw.githubusercontent.com/yeti-platform/yeti/master/extras/ubuntu_bootstrap.sh | sudo /bin/bash
There is also support for other platforms:
- CentOS:
extras/centos_bootstrap.sh
Production use¶
For production use, it may be better to daemonize Yeti and tweak redis for performance.
Install nginx
and uwsgi
:
$ sudo apt-get install nginx uwsgi
Optimize redis¶
Some optimizations for redis (taken from here):
Add the following lines in /etc/sysctl.conf
:
# redis tweak
vm.overcommit_memory = 1
Add the following lines in /etc/rc.local
:
# disable transparent huge pages (redis tweak)
See here for details: https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/
# increase max connections
echo 65535 > /proc/sys/net/core/somaxconn or (sysctl -w net.core.somaxconn=65535)
exit 0
Install systemd services¶
Copy all files in extras/systemd/*
to /lib/systemd/system/
. If you’d
rather have the web content served through nginx (recommended for production),
copy yeti_uwsgi.service
, otherwise you’ll be fine with yeti_web.service
.
Enable the scripts with:
$ sudo systemctl enable yeti_<SERVICENAME>.service
And start with:
$ sudo systemctl start yeti_<SERVICENAME>.service
systemd protips:
$ sudo service yeti_web start|stop|restart
or
$ sudo systemctl start|status|stop yeti_web
To enable the systemd scripts once you’ve installed them:
sudo systemctl enable yeti_web
If you’re running nginx, add the following configuration to one of the nginx server directives:
server {
listen 80;
server_name yeti;
location / {
include uwsgi_params;
uwsgi_pass <IP_ADDRESS>:8000;
}
}
Replace the listen
and server_name
directives as you see fit.
Keeping Yeti up-to-date¶
Keeping Yeti up-to-date is not that hard. You just need to cd
into the
directory and git pull. In some cases, the database schema might change
a bit, and we always recommend running:
$ ./yeti.py syncdb
before restarting Yeti. Note that Yeti will automatically check if its code and databases are not synchronized and will apply migrations automatically when the webserver is launched.


Notebooks
Story: Words and sentences: given by !nanni and Tamme in Mowbray
Words and sentences: given by !nanni and Tamme in Mowbray
Title
Words and sentences: given by !nanni and Tamme in Mowbray
Collection
Summary
!nanni and Tamme (at Mowbray) contribute words and sentences relating to everyday life in their country. Some words have been given in Herero, but there are also references to other groups of people in the area, such as the Ovaherero and the Makoba (and what they call things).
Comments
1) This story is found in Book XI & XII-1
Contributors
Date
1 September 1879 (started)
Categories
Words and sentences, Custom and daily life, Relations with others
Keywords
vocabulary (!kun) , vocabulary (Herero) , vocabulary (Ovaherero) , vocabulary (Makoba) , vocabulary (given by !nanni and Tamme at Mowbray) , words and sentences (!kun) , words and sentences (Herero) , words and sentences (given by !nanni and Tamme at Mowbray) , names (of groups in Hereroland) , names (of peoples in !kun country) , names (Ovaherero) , names (Makoba) , Makoba (vocabulary) , Makoba (what they call things) , Ovaherero (vocabulary) , Ovaherero (what they call things) , languages (heard in !kun country)
Story Pages
8970-8972


Show the result of 2 numbers the user enters on the home page to multiply.
Type in 2 numbers to be multiplied below.
Number 1:
Number 2:


Command Line Interfaces¶
On installation, wann_genetic registers these CLI entry points (using the --help
option displays usage).
Running an experiment¶
run_experiment [-h] [--comment COMMENT] PATH
Used for executing a single experiment (placed at
PATH
) (see Getting Started).Optional:
- -h, --help
show help message
- --comment COMMENT
add comment field to params
Experiment series generation¶
generate_experiment_series [-h] [--build_dir BUILD_DIR] SERIES_SPEC_FILE
Simple templating tool to generate a series of experiments from a series specification file (see Generating Series of Experiments for details).
Optional:
- -h, --help
show this help message and exit
- --build_dir BUILD_DIR, -o
output directory for experiment specification files (defaults to ‘build’)
Plotting and reporting¶
compile_report [-h] [--path PATH] [--weights WEIGHTS] [--samples SAMPLES]
Run evaluations on best individuals (stored in hall of fame) and compile a report.
Optional:
- -h, --help
show help message
- --path PATH
path to experiment (defaults to current working directory)
- --weights WEIGHTS, -w
number of weights to use during evaluation
- --samples SAMPLES, -s
number of samples to use
draw_network [-h] [--path PATH] [--function_names] [--function_plots] [--names] ID
Draw network plot for individual with given id.
Optional:
- -h, --help
show help message
- --path PATH, -p PATH
path to experiment (defaults to current working directory)
- --function_names, -l
use names of activation as node labels
- --function_plots, -g
use plot functions on nodes
- --names, -n
use names of nodes as labels
plot_gen_lines [-h] [--path PATH] measure [measure ...]
Draw line plot of generation metrics (if mulitple measures are given, they will be drawn in the same graph).
Optional:
- -h, --help
show help message
- --path PATH, -p PATH
path to experiment (defaults to current working directory)
plot_gen_quartiles [-h] [--path PATH] measure [measure ...]
Draw quartile plots of generation metrics (if multiple measures are given, multiple file will be created).
Optional:
- -h, --help
show help message
- --path PATH, -p PATH
path to experiment (defaults to current working directory)


---
title: Compact spacing
category: tables
order: 5
description: If you need tighter spacing on your tables, simply add .table-sm
to the <table>
and the cell padding is reduced throughout.
---
| Country | Capital | Population | Language | |
|---|---|---|---|---|
| USA | Washington D.C. | 309 million | English | |
| Germany | Berlin | 81 million | German | |
| Sweden | Stockholm | 9 million | Swedish |


Gecode::FlatZinc::FlatZincOptions Class Reference
Options for running FlatZinc models More...
#include <flatzinc.hh>
Public Member Functions | |
| FlatZincOptions (const char *s) | |
| Constructor. | |
| void | parse (int &argc, char *argv[]) |
| Parse options from arguments argv (number is argc). | |
| virtual void | help (void) |
| Print help text. | |
| int | solutions (void) const |
| bool | allSolutions (void) const |
| double | threads (void) const |
| bool | free (void) const |
| unsigned int | c_d (void) const |
| unsigned int | a_d (void) const |
| unsigned int | node (void) const |
| unsigned int | fail (void) const |
| unsigned int | time (void) const |
| int | seed (void) const |
| double | step (void) const |
| const char * | output (void) const |
| Gecode::ScriptMode | mode (void) const |
| double | decay (void) const |
| RestartMode | restart (void) const |
| double | restart_base (void) const |
| unsigned int | restart_scale (void) const |
| bool | nogoods (void) const |
| unsigned int | nogoods_limit (void) const |
| bool | interrupt (void) const |
| void | allSolutions (bool b) |
Search options | |
|
| |
| Gecode::Driver::IntOption | _solutions |
| How many solutions. | |
| Gecode::Driver::BoolOption | _allSolutions |
| Return all solutions. | |
| Gecode::Driver::DoubleOption | _threads |
| How many threads to use. | |
| Gecode::Driver::BoolOption | _free |
| Use free search. | |
| Gecode::Driver::DoubleOption | _decay |
| Decay option. | |
| Gecode::Driver::UnsignedIntOption | _c_d |
| Copy recomputation distance. | |
| Gecode::Driver::UnsignedIntOption | _a_d |
| Adaptive recomputation distance. | |
| Gecode::Driver::UnsignedIntOption | _node |
| Cutoff for number of nodes. | |
| Gecode::Driver::UnsignedIntOption | _fail |
| Cutoff for number of failures. | |
| Gecode::Driver::UnsignedIntOption | _time |
| Cutoff for time. | |
| Gecode::Driver::IntOption | _seed |
| Random seed. | |
| Gecode::Driver::StringOption | _restart |
| Restart method option. | |
| Gecode::Driver::DoubleOption | _r_base |
| Restart base. | |
| Gecode::Driver::UnsignedIntOption | _r_scale |
| Restart scale factor. | |
| Gecode::Driver::BoolOption | _nogoods |
| Whether to use no-goods. | |
| Gecode::Driver::UnsignedIntOption | _nogoods_limit |
| Depth limit for extracting no-goods. | |
| Gecode::Driver::BoolOption | _interrupt |
| Whether to catch SIGINT. | |
| Gecode::Driver::DoubleOption | _step |
| Step option. | |
Execution options | |
|
| |
| Gecode::Driver::StringOption | _mode |
| Script mode to run. | |
| Gecode::Driver::BoolOption | _stat |
| Emit statistics. | |
| Gecode::Driver::StringValueOption | _output |
| Output file. |
Detailed Description
Options for running FlatZinc models
Definition at line 205 of file flatzinc.hh.
Constructor & Destructor Documentation
| Gecode::FlatZinc::FlatZincOptions::FlatZincOptions | ( | const char * | s | ) | [inline] |
Constructor.
Definition at line 237 of file flatzinc.hh.
Member Function Documentation
| void Gecode::FlatZinc::FlatZincOptions::parse | ( | int & | argc, | |
| char * | argv[] | |||
| ) | [inline] |
Parse options from arguments argv (number is argc).
The options are parsed from position one onwards until no more options are detected. After parsing, the parsed arguments have been removed.
Reimplemented from Gecode::BaseOptions.
Definition at line 286 of file flatzinc.hh.
| virtual void Gecode::FlatZinc::FlatZincOptions::help | ( | void | ) | [inline, virtual] |
Print help text.
Reimplemented from Gecode::BaseOptions.
Definition at line 295 of file flatzinc.hh.
| int Gecode::FlatZinc::FlatZincOptions::solutions | ( | void | ) | const [inline] |
Definition at line 302 of file flatzinc.hh.
| bool Gecode::FlatZinc::FlatZincOptions::allSolutions | ( | void | ) | const [inline] |
Definition at line 303 of file flatzinc.hh.
| double Gecode::FlatZinc::FlatZincOptions::threads | ( | void | ) | const [inline] |
Definition at line 304 of file flatzinc.hh.
| bool Gecode::FlatZinc::FlatZincOptions::free | ( | void | ) | const [inline] |
Definition at line 305 of file flatzinc.hh.
| unsigned int Gecode::FlatZinc::FlatZincOptions::c_d | ( | void | ) | const [inline] |
Definition at line 306 of file flatzinc.hh.
| unsigned int Gecode::FlatZinc::FlatZincOptions::a_d | ( | void | ) | const [inline] |
Definition at line 307 of file flatzinc.hh.
| unsigned int Gecode::FlatZinc::FlatZincOptions::node | ( | void | ) | const [inline] |
Definition at line 308 of file flatzinc.hh.
| unsigned int Gecode::FlatZinc::FlatZincOptions::fail | ( | void | ) | const [inline] |
Definition at line 309 of file flatzinc.hh.
| unsigned int Gecode::FlatZinc::FlatZincOptions::time | ( | void | ) | const [inline] |
Definition at line 310 of file flatzinc.hh.
| int Gecode::FlatZinc::FlatZincOptions::seed | ( | void | ) | const [inline] |
Definition at line 311 of file flatzinc.hh.
| double Gecode::FlatZinc::FlatZincOptions::step | ( | void | ) | const [inline] |
Definition at line 312 of file flatzinc.hh.
| const char* Gecode::FlatZinc::FlatZincOptions::output | ( | void | ) | const [inline] |
Definition at line 313 of file flatzinc.hh.
| Gecode::ScriptMode Gecode::FlatZinc::FlatZincOptions::mode | ( | void | ) | const [inline] |
Definition at line 314 of file flatzinc.hh.
| double Gecode::FlatZinc::FlatZincOptions::decay | ( | void | ) | const [inline] |
Definition at line 318 of file flatzinc.hh.
| RestartMode Gecode::FlatZinc::FlatZincOptions::restart | ( | void | ) | const [inline] |
Definition at line 319 of file flatzinc.hh.
| double Gecode::FlatZinc::FlatZincOptions::restart_base | ( | void | ) | const [inline] |
Definition at line 322 of file flatzinc.hh.
| unsigned int Gecode::FlatZinc::FlatZincOptions::restart_scale | ( | void | ) | const [inline] |
Definition at line 323 of file flatzinc.hh.
| bool Gecode::FlatZinc::FlatZincOptions::nogoods | ( | void | ) | const [inline] |
Definition at line 324 of file flatzinc.hh.
| unsigned int Gecode::FlatZinc::FlatZincOptions::nogoods_limit | ( | void | ) | const [inline] |
Definition at line 325 of file flatzinc.hh.
| bool Gecode::FlatZinc::FlatZincOptions::interrupt | ( | void | ) | const [inline] |
Definition at line 326 of file flatzinc.hh.
| void Gecode::FlatZinc::FlatZincOptions::allSolutions | ( | bool | b | ) | [inline] |
Definition at line 328 of file flatzinc.hh.
Member Data Documentation
How many solutions.
Definition at line 209 of file flatzinc.hh.
Return all solutions.
Definition at line 210 of file flatzinc.hh.
How many threads to use.
Definition at line 211 of file flatzinc.hh.
Use free search.
Definition at line 212 of file flatzinc.hh.
Decay option.
Definition at line 213 of file flatzinc.hh.
Copy recomputation distance.
Definition at line 214 of file flatzinc.hh.
Adaptive recomputation distance.
Definition at line 215 of file flatzinc.hh.
Cutoff for number of nodes.
Definition at line 216 of file flatzinc.hh.
Cutoff for number of failures.
Definition at line 217 of file flatzinc.hh.
Cutoff for time.
Definition at line 218 of file flatzinc.hh.
Random seed.
Definition at line 219 of file flatzinc.hh.
Restart method option.
Definition at line 220 of file flatzinc.hh.
Restart base.
Definition at line 221 of file flatzinc.hh.
Restart scale factor.
Definition at line 222 of file flatzinc.hh.
Whether to use no-goods.
Definition at line 223 of file flatzinc.hh.
Depth limit for extracting no-goods.
Definition at line 224 of file flatzinc.hh.
Whether to catch SIGINT.
Definition at line 225 of file flatzinc.hh.
Step option.
Definition at line 226 of file flatzinc.hh.
Script mode to run.
Definition at line 231 of file flatzinc.hh.
Emit statistics.
Definition at line 232 of file flatzinc.hh.
Output file.
Definition at line 233 of file flatzinc.hh.
The documentation for this class was generated from the following file:


High-throughput, flexible and affordable DNA analysis solutions. RAPiD Genomics offers DNA genotyping and data analysis solutions that suits your unique application
| Plate 1 | {{plate0Stg}} | |
|---|---|---|
| Plate 2 | {{plate1Stg}} | |
| Plate 3 | {{plate2Stg}} | |
| Plate 4 | {{plate3Stg}} | |
| Plate 5 | {{plate4Stg}} | |
| Plate 6 | {{plate5Stg}} | |
| Plate 7 | {{plate6Stg}} | |
| Plate 8 | {{plate7Stg}} | |
| Plate 9 | {{plate8Stg}} |
| {{uname}} | {{dname}} |
| Created | {{dateCreate}} | |
|---|---|---|
| Due | {{dateDue}} | |
| Last Edit | {{dateLastEdit}} | |
| Arrival | {{dateArrive}} | |
| Organism | {{currOrganism}} | |
| Stage | {{currStage}} | |
| Probes | {{currProbes}} | |
| Total Probes | {{currTotProbes}} | |
| Shearing Method | {{currShearing}} | |
| Total Sequencing | {{currSeq}} | |
| Machine | {{currMachine}} |


Constructor
new Scrawl()
Creates an instance of Scrawl.
Parameters:
| Name | Type | Description |
|---|---|---|
props.width |
number | width of canvas |
props.height |
number | height of canvas |
props.attr |
object | attr of the scrawl path, you can see react-native-svg#common-props |
- Source:
Extends
- Component
Members
(static) defaultProps
defaultProps of Scrawl
- Source:
(static) propTypes
propTypes of Scrawl
- Source:
(static) this.state
state of Scrawl
Properties:
| Name | Type | Description |
|---|---|---|
this.state.d |
Array.<object> | the paths of scrawl |
- Source:
Methods
clear()
clear this.paths & this.state.d
- Source:
(private) componentWillMount()
componentWillMount of react lief cycle
- Source:
(private) handleEnd(e)
Handler of PanResponder
Parameters:
| Name | Type | Description |
|---|---|---|
e |
any |
- Source:
(private) handleMove(evt, gestureState)
Handler of PanResponder
Parameters:
| Name | Type | Description |
|---|---|---|
evt |
any | |
gestureState |
any |
- Source:
(private) handleStart(evt, gestureState)
Handler of PanResponder
Parameters:
| Name | Type | Description |
|---|---|---|
evt |
any | |
gestureState |
any |
- Source:
toDataURL(callback)
Get the base64 code of image.
Parameters:
| Name | Type | Description |
|---|---|---|
callback |
Base64Callback |
- Source:
Returns:
react-native-svg's SVG toDataURL function return value


Preparation time
less than 30 mins
Cooking time
30 mins to 1 hour
Serves
Serves 4
A classic casserole recipe that the whole family will enjoy. You can use chicken thighs or legs in place of the chicken breasts.
From Meat and Two Veg by Fiona Beckett.
Pat the chicken breasts dry with kitchen paper then dip in the flour, shaking off any excess.
Heat a large, deep, lidded frying pan or casserole for a couple of minutes over a moderately high heat. Add one tablespoon of oil then, when that is hot, add half the butter.
Place the chicken breasts in the pan, skin-side down and fry for 2-3 minutes, or until the skin is nicely browned. Turn the breasts over, turn the heat down and fry the other side for 1-2 minutes. Remove the chicken breasts to a plate, discard the fat in the pan and wipe it clean.
Return the pan to a moderate heat and add the remaining oil and butter. Add the onion, carrot and celery, stir well, cover the pan and cook for five minutes, or until the vegetables are beginning to soften.
Stir in the thyme and any leftover flour. Add the chicken stock and cider, bring to the boil and add the sliced apples. Turn the heat down and return the chicken pieces to the pan, spooning the vegetables and apple over them. Replace the lid and simmer for about 35-40 minutes, turning the chicken breasts over half way through. Add a little extra cider or chicken stock if needed. Check the seasoning, adding extra salt or pepper to taste.


Plugin Information |
|---|
View utPLSQL on the plugin site for more information. |
The utplsql plugin is a tool to parse the output of utplsql to have test reports in Jenkins.
This plugin is for utplsql v2 only. For v3 please use the xunit plugin.
Version history
Version 0.6.1 (Feb 15, 2014)
- Simplified regular expression handling to be more robust (Fixed JENKINS-21657)
- Fixed JENKINS-21752
Version 0.5 (Jul 07, 2013)
- Compatibility with newer jUnit test recorder was broken
- Elapsed time is parsed as well, if present (Thanks to Christophe Deniaud)
- Plugin moved to github
Version 0.4 (Feb 13, 2011)
- Update link in help
Version 0.3 (Jun 12, 2010)
- Some improvements in texts/unittests
- Some smaller bugfixes
- first public release
Version 0.2
- First version, working on slaves, never released to public
Version 0.1
- First working version, did not work on slaves, never released to public


Casper
Home
New Post
Categories
arrow_drop_down
DIY
Cooking
Travel
Music
Quotes
Title:
Text:
Author:
Category:
Choose Category Option
Cooking
DIY
Travel
Soccer
Inspirational Quotes
Music
Submit


---
layout: default
title: Cedric Nugteren | CLBlast
current: 4
redirect_from:
- /clblast.html
- /clblast/
---
CLBlast is a modern, lightweight, performant and tunable OpenCL BLAS library written in C++11. It is designed to leverage the full performance potential of a wide variety of OpenCL devices from different vendors, including desktop and laptop GPUs, embedded GPUs, and other accelerators. CLBlast implements BLAS routines: basic linear algebra subprograms operating on vectors and matrices.
The library is not tuned for all possible OpenCL devices: if out-of-the-box performance is poor, please run the tuners first. See
the README on GitHub for a list of already tuned devices and instructions on how to tune yourself and contribute to future releases of the CLBlast library.
View on
CLBlast on GitHub.
Use CLBlast instead of clBLAS:
- When you care about achieving maximum performance.
- When you want to be able to inspect the BLAS kernels or easily customize them to your needs.
- When you run on exotic OpenCL devices for which you need to tune yourself.
- When you are still running on OpenCL 1.1 hardware.
- When you prefer a C++ API over a C API (C API also available in CLBlast).
- When you value an organized and modern C++ codebase.
- When you target Intel CPUs and GPUs or embedded devices.
- When you can benefit from the increased performance of half-precision fp16 data-types.
Use CLBlast instead of cuBLAS:
- When you want your code to run on devices other than NVIDIA CUDA-enabled GPUs.
- When you want to tune for a specific configuration (e.g. rectangular matrix-sizes).
- When you sleep better if you know that the library you use is open-source.
- When you are using OpenCL rather than CUDA.
When not to use CLBlast:
- When you run on NVIDIA's CUDA-enabled GPUs only and can benefit from cuBLAS's assembly-level tuned kernels.


{%extends 'index.html'%} {%block title%}404{%endblock%} {%block content%} 404 Opps! This page Could Not Be Found! Sorry bit the page you are looking for does not exist, have been removed or name changed Home {%endblock%}
Sorry bit the page you are looking for does not exist, have been removed or name changed


I was getting frustrated with all the baggage that comes with AngularJS and its awful documentation (I still don't have a proper understanding of directives!) when I stumbled on KnockoutJS. It focuses on doing one thing very well, and doesn't force a particular flavor of MVC on you. Its documentation is awesome and has an approach to tutorials that, in my humble opinion, are more natural than the ones at Khan Academy.
And there's an interesting pattern in how it wraps observables.
To get around problems with IE, you access and modify KnockoutJS variables via functions. This has a handy side effect in that everything it touches is sanitized. In other words, you can have observable brython objects that are modified and returned directly without any javascript baggage! You don't even have to wrap the ko library in a JSObject… just use it directly in your python script. The only thing you have to remember is which objects are observable and which ones aren't - but you'd have to do that in javascript, too.
There is an oddity, however; KnockoutJS doesn't call brython class functions for events properly (of course, it's expecting javascript). You can get around it, though, by wrapping the function with lambda.
Here's an example:
index.html:
<!doctype html>

x
y

<input data-bind="value: x" />
<input data-bind="value: y" />

<svg style="width:500px;height:200px;border:1px solid">
<circle r="10" data-bind="attr: {cx: x, cy: y}, event: { mousedown: mouseDown }"/>
</svg>

exvg.py:
class Point:
def __init__(self):
self.x = ko.observable(100)
self.y = ko.observable(50)
# This is a little funky:
self.mouseDown = lambda data, event : self._mouseDown(event)
def _mouseDown(self, event):
# I want to drag relative to the parent SVG element
containerRect = event.target.parent.getBoundingClientRect()
startX = containerRect.left
startY = containerRect.top
def mouseMove(event):
self.x(event.clientX-startX)
self.y(event.clientY-startY)
def mouseUp(event):
# In theory I should unbind the specific function, but brython
# chokes when I try to unbind mouseUp from mouseup
doc.unbind('mouseup')
doc.unbind('mousemove')
# I override other events until we're done dragging
event.preventDefault()
doc.bind('mousemove',mouseMove)
doc.bind('mouseup',mouseUp)
ko.applyBindings(Point())
The result:


Feature Squeezing
Detecting Adversarial Examples in Deep Neural Networks
Although deep neural networks (DNNs) have achieved great success in many computer vision tasks, recent studies have shown they are vulnerable to adversarial examples. Such examples, typically generated by adding small but purposeful distortions, can frequently fool DNN models. Previous studies to defend against adversarial examples mostly focused on refining the DNN models. They have either shown limited success or suffer from expensive computation. We propose a new strategy, feature squeezing, that can be used to harden DNN models by detecting adversarial examples. Feature squeezing reduces the search space available to an adversary by coalescing samples that correspond to many different feature vectors in the original space into a single sample.
By comparing a DNN model’s prediction on the original input with that on the squeezed input, feature squeezing detects adversarial examples with high accuracy and few false positives. If the original and squeezed examples produce substantially different outputs from the model, the input is likely to be adversarial. By measuring the disagreement among predictions and selecting a threshold value, our system outputs the correct prediction for legitimate examples and rejects adversarial inputs.
So far, we have explored two instances of feature squeezing: reducing the color bit depth of each pixel and smoothing using a spatial filter. These strategies are straightforward, inexpensive, and complementary to defensive methods that operate on the underlying model, such as adversarial training.
The figure shows the histogram of the L1 scores on the MNIST dataset between the original and squeezed sample, for 1000 non-adversarial examples as well as 1000 adversarial examples generated using both the Fast Gradient Sign Method and the Jacobian-based Saliency Map Approach. Over the full MNIST testing set, the detection accuracy is 99.74% (only 22 out of 5000 fast positives).
Paper
Weilin Xu, David Evans, Yanjun Qi. Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks. 2018 Network and Distributed System Security Symposium. 18-21 February, San Diego, California. Full paper (15 pages): [PDF]
Code
http://evademl.org/zoo/ (includes all the code needed to reproduce the experiments in the paper)
Team
Weilin Xu (Lead PhD Student)
Yanjun Qi (Facutly Co-Advisor)
David Evans (Faculty Co-Advisor)


COWPOKE(1) COWPOKE(1) NAME cowpoke - Build a Debian source package in a remote cowbuilder instance SYNOPSIS cowpoke [options] packagename.dsc DESCRIPTION Uploads a Debian source package to a cowbuilder host and builds it, optionally also signing and uploading the result to an incoming queue. OPTIONS The following options are available: --arch=architecture Specify the Debian architecture(s) to build for. A space sepa‐ rated list of architectures may be used to build for all of them in a single pass. Valid arch names are those returned by dpkg- architecture(1) for DEB_BUILD_ARCH. --dist=distribution Specify the Debian distribution(s) to build for. A space sepa‐ rated list of distributions may be used to build for all of them in a single pass. Either codenames (such as sid, or squeeze) or distribution names (such as unstable, or experimental) may be used, but you should usually stick to using one or the other con‐ sistently as this name may be used in file paths and to locate old packages for comparison reporting. --buildd=host Specify the remote host to build on. --buildd-user=name Specify the remote user to build as. --create Create the remote cowbuilder root if it does not already exist. If this option is not passed it is an error for the specified --dist or --arch to not have an existing cowbuilder root in the expected location. --return=[path] Copy results of the build to path. If path is not specified, then return them to the current directory. The given path must exist, it will not be created. --no-return Do not copy results of the build to RETURN_DIR (overriding a path set for it in the configuration files). --dpkg-opts='opt1 opt2 ...' Specify additional options to be passed to dpkg-buildpackage(1). Multiple options are delimited with spaces. This will override any options specified in DEBBUILDOPTS in the build host's pbuilderrc. --help Display a brief summary of the available options and current con‐ figuration. --version Display the current version information. CONFIGURATION OPTIONS When cowpoke is run the following configuration options are read from global, per-user, and per-project configuration files if present. File paths may be absolute or relative, the latter being relative to the BUILDD_USER's home directory. Since the paths are typically quoted when used, tilde expansion will not be performed on them. Global defaults These apply to every arch and dist in a single cowpoke invocation. BUILDD_HOST The network address or fqdn of the build machine where cowbuilder is configured. This may be overridden by the --buildd command line option. BUILDD_USER The unprivileged user name for operations on the build machine. This defaults to the local name of the user executing cowpoke (or to a username that is specified in your SSH configuration for BUILDD_HOST), and may be overridden by the --buildd-user command line option. BUILDD_ARCH The Debian architecture(s) to build for. This must match the DEB_BUILD_ARCH of the build chroot being used. It defaults to the local machine architecture where cowpoke is executed, and may be overridden by the --arch command line option. A (quoted) space separated list of architectures may be used here to build for all of them in a single pass. BUILDD_DIST The Debian distribution(s) to build for. A (quoted) space sepa‐ rated list of distributions may be used to build for all of them in a single pass. This may be overridden by the --dist command line option. INCOMING_DIR The directory path on the build machine where the source package will initially be placed. This must be writable by the BUILDD_USER. PBUILDER_BASE The filesystem root for all pbuilder COW and result files. Arch and dist specific subdirectories will normally be created under this. The apt cache and temporary build directory will also be located under this path. SIGN_KEYID If this option is set, it is expected to contain the gpg key id to pass to debsign(1) if the packages are to be remotely signed. You will be prompted to confirm whether you wish to sign the packages after all builds are complete. If this option is unset or an empty string, no attempt to sign packages will be made. UPLOAD_QUEUE If this option is set, it is expected to contain a 'host' specifi‐ cation for dput(1) which will be used to upload them after they are signed. You will be prompted to confirm whether you wish to upload the packages after they are signed. If this option is unset or an empty string, no attempt to upload packages will be made. If SIGN_KEYID is not set, this option will be ignored entirely. BUILDD_ROOTCMD The command to use to gain root privileges on the remote build machine. If unset the default is sudo(8). This is only required to invoke cowbuilder and allow it to enter its chroot, so you may restrict this user to only being able to run that command with escalated privileges. Something like this in sudoers will enable invoking cowbuilder without an additional password entry required: youruser ALL = NOPASSWD: /usr/sbin/cowbuilder Alternatively you could use SSH with a forwarded key, or whatever other mechanism suits your local access policy. Using su -c isn't really suitable here due to its quoting requirements being some‐ what different to the rest. DEBOOTSTRAP The utility to use when creating a new build root. Alternatives are debootstrap or cdebootstrap. RETURN_DIR If set, package files resulting from the build will be copied to the path (local or remote) that this is set to, after the build completes. The path must exist, it will not be created. This option is unset by default and can be overridden with --return or --no-return. Arch and dist specific options These are variables of the form: $arch_$dist_VAR which apply only for a particular target arch/dist build. arch_dist_RESULT_DIR The directory path on the build machine where the resulting pack‐ ages (source and binary) will be found, and where older versions of the package that were built previously may be found. If any such older packages exist, debdiff will be used to compare the new package with the previous version after the build is complete, and the result will be included in the build log. Files in it must be readable by the BUILDD_USER for sanity checking with lintian(1) and debdiff(1), and for upload with dput(1). If this option is not specified for some arch and dist combination then it will default to $PBUILDER_BASE/$arch/$dist/result arch_dist_BASE_PATH The directory where the COW master files are to be found (or cre‐ ated if the --create command line option was passed). If this option is not specified for some arch or dist then it will default to $PBUILDER_BASE/$arch/$dist/base.cow CONFIGURATION FILES /etc/cowpoke.conf Global configuration options. Will override hardcoded defaults. ~/.cowpoke Per-user configuration options. Will override any global configu‐ ration. .cowpoke Per-project configuration options. Will override any per-user or global configuration if cowpoke is called from the directory where they exist. If the environment variable COWPOKE_CONF is set, it specifies an additional configuration file which will override all of those above. Options specified explicitly on the command line override all configuration files. COWBUILDER CONFIGURATION There is nothing particularly special required to configure a cowbuilder instance for use with cowpoke. Simply create them in the flavour you require with `cowbuilder --create` according to the cowbuilder documenta‐ tion, then configure cowpoke with the user, arch, and path information required to access it, on the machines you wish to invoke it from (or alternatively configure cowpoke with the path, arch and distribution information and pass the --create option to it on the first invocation). The build host running cowbuilder does not require cowpoke installed locally. The build machine should have the lintian and devscripts packages installed for post-build sanity checking. Upon completion, the build log and the results of automated checks will be recorded in the INCOMING_DIR. If you wish to upload signed packages the build machine will also need dput(1) installed and configured to use the 'host' alias specified by UPLOAD_QUEUE. If rsync(1) is available on both the local and build machine, then it will be used to transfer the source package (this may save on some transfers of the orig.tar.* when building subsequent Debian revisions). The user executing cowpoke must have SSH access to the build machine as the BUILDD_USER. That user must be able to invoke cowbuilder as root by using the BUILDD_ROOTCMD. Signing keys are not required to be installed on the build machine (and will be ignored there if they are). If the package is signed, keys will be expected on the machine that executes cowpoke. When cowpoke is invoked, it will first attempt to update the cowbuilder image if that has not already been done on the same day. This is checked by the presence or absence of a cowbuilder-$arch-$dist-update-log-$date file in the INCOMING_DIR. You may move, remove, or touch this file if you wish the image to be updated more or less often than that. Its con‐ tents log the output of cowbuilder during the update (or creation) of the build root. NOTES Since cowbuilder creates a chroot, and to do that you need root, cowpoke also requires some degree of root access. So all the horrible things that can go wrong with that may well one day rain down upon you. cow‐ builder has been known to accidentally wipe out bind-mounted filesystems outside the chroot, and worse than that can easily happen. So be care‐ ful, keep good backups of things you don't want to lose on your build machine, and use cowpoke to keep all that on a machine that isn't your bleeding edge dev box with your last few hours of uncommitted work. SEE ALSO cowbuilder(1), pbuilder(1), ssh-agent(1), sudoers(5). AUTHOR cowpoke was written by Ron<EMAIL_ADDRESS>April 28, 2008 COWPOKE(1)


NetArranger Example
Tools:
Zoom in
|
Zoom out
|
Left
|
Right
|
Up
|
Down
|
Continue arranging
Click on a node to highlight outgoing connections
Drag nodes to help arrange the graph
Refresh the page to start from a new random distribution
by
Elod Csirmaz
Download NetArranger from
GitHub


Using the quotesondesign.com API for quotes since that was suggested as having clear documentation
Only worked on the functionality - APIs can be difficult in China, and Twitter is blocked forcing me to rely on a shaky VPN


|
Panda3D
|
Public Types | |
| enum | ConstraintParam { CP_erp = 1, CP_stop_erp = 2, CP_cfm = 3, CP_stop_cfm = 4 } |
Public Member Functions | |
| enableFeedback (bool value) | |
| float | getAppliedImpulse () |
| float | getBreakingThreshold () |
| Returns the applied impluse limit for breaking the constraint. More... | |
| float | getDebugDrawSize () |
| float | getParam (BulletConstraint::ConstraintParam num, int axis) |
| BulletRigidBodyNode | getRigidBodyA () |
| BulletRigidBodyNode | getRigidBodyB () |
| bool | isEnabled () |
| Returns TRUE if the constraint is enabled. More... | |
| setBreakingThreshold (float threshold) | |
| Sets the applied impulse limit for breaking the constraint. More... | |
| setDebugDrawSize (float size) | |
| setEnabled (bool enabled) | |
| setParam (BulletConstraint::ConstraintParam num, float value, int axis) | |
| Public Member Functions inherited from TypedObject | |
| TypeHandle | getType () |
| int | getTypeIndex () |
| Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
| bool | isExactType (TypeHandle handle) |
| Returns true if the current object is the indicated type exactly. More... | |
| bool | isOfType (TypeHandle handle) |
| Returns true if the current object is or derives from the indicated type. More... | |
| Public Member Functions inherited from ReferenceCount | |
| int | getRefCount () |
| Returns the current reference count. More... | |
| ref () | |
| Explicitly increments the reference count. More... | |
| bool | testRefCountIntegrity () |
| Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
| bool | testRefCountNonzero () |
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
| bool | unref () |
| Explicitly decrements the reference count. More... | |
Static Public Member Functions | |
| static TypeHandle | getClassType () |
| Static Public Member Functions inherited from TypedReferenceCount | |
| static TypeHandle | getClassType () |
| Static Public Member Functions inherited from TypedObject | |
| static TypeHandle | getClassType () |
| Static Public Member Functions inherited from ReferenceCount | |
| static TypeHandle | getClassType () |
Public Attributes | |
| float | applied_impulse |
| float | breaking_threshold |
| Returns the applied impluse limit for breaking the constraint. More... | |
| float | debug_draw_size |
| bool | enabled |
| Returns TRUE if the constraint is enabled. More... | |
| BulletRigidBodyNode | rigid_body_a |
| BulletRigidBodyNode | rigid_body_b |
| Public Attributes inherited from TypedObject | |
| TypeHandle | type |
| Returns the TypeHandle representing this object's type. More... | |
| Public Attributes inherited from ReferenceCount | |
| int | ref_count |
| The current reference count. More... | |
| enum ConstraintParam |
| enableFeedback | ( | bool | value | ) |
| float getAppliedImpulse | ( | ) |
| float getBreakingThreshold | ( | ) |
Returns the applied impluse limit for breaking the constraint.
|
static |
| float getDebugDrawSize | ( | ) |
| float getParam | ( | BulletConstraint::ConstraintParam | num, |
| int | axis | ||
| ) |
| BulletRigidBodyNode getRigidBodyA | ( | ) |
| BulletRigidBodyNode getRigidBodyB | ( | ) |
| bool isEnabled | ( | ) |
Returns TRUE if the constraint is enabled.
| setBreakingThreshold | ( | float | threshold | ) |
Sets the applied impulse limit for breaking the constraint.
If the limit is exceeded the constraint will be disabled. Disabled constraints are not removed from the world, and can be re-enabled.
| setDebugDrawSize | ( | float | size | ) |
| setEnabled | ( | bool | enabled | ) |
| setParam | ( | BulletConstraint::ConstraintParam | num, |
| float | value, | ||
| int | axis | ||
| ) |
| float applied_impulse |
| float breaking_threshold |
Returns the applied impluse limit for breaking the constraint.
| float debug_draw_size |
| bool enabled |
Returns TRUE if the constraint is enabled.
| BulletRigidBodyNode rigid_body_a |
| BulletRigidBodyNode rigid_body_b |


disclap: Discrete Laplace Exponential Family
Discrete Laplace exponential family for models such as a generalized linear model
| Version: |
1.5 |
| Published: |
2014-04-07 |
| Author: |
Mikkel Meyer Andersen and Poul Svante Eriksen |
| Maintainer: |
Mikkel Meyer Andersen <mikl at math.aau.dk> |
| License: |
GPL-2 |
| NeedsCompilation: |
no |
| Materials: |
NEWS |
| In views: |
Distributions |
| CRAN checks: |
disclap results |
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=disclap
to link to this page.


All functions
|
|
clean_metadata_hydro()
|
Hydrological metadata cleaning |
|
clean_metadata_meteo()
|
Meteorological metadata cleaning |
|
hydro()
|
Hydrological data |
|
hydro_abbrev
|
Definitions of hydrological parameters used for shortening column names |
|
hydro_annual()
|
Semi-annual and annual hydrological data |
|
hydro_daily()
|
Daily hydrological data |
|
hydro_metadata()
|
Hydrological metadata |
|
hydro_monthly()
|
Monthly hydrological data |
|
hydro_shortening()
|
Shortening column names for hydrological variables |
|
hydro_stations
|
Location of the hydrological stations |
|
meteo()
|
Meteorological data |
|
meteo_abbrev
|
Definitions of meteorological parameters used for shortening column names |
|
meteo_daily()
|
Daily meteorological data |
|
meteo_hourly()
|
Hourly meteorological data |
|
meteo_metadata()
|
Meteorological metadata |
|
meteo_monthly()
|
Monthly meteorological data |
|
meteo_shortening()
|
Shortening column names for meteorological variables |
|
meteo_sounding()
|
Sounding data |
|
meteo_stations
|
Location of the meteorological stations |


The non-directed network visualization represents co-occurences of characters in the scene-by-scene plot descriptions. The nodes (circles) indicate the different characters. Green nodes are Javanese in origin and pink ones are also found in the Indian versions of the stories. The size of the nodes corresponds to their degree (larger nodes have a higher number of connections). An edge (line) between two characters means they are present in the same scene. The thickness of the edges represents the number of times two characters appear together in the same scene. Clicking on a character's node reveals more information
More detailed results of the network analysis can be found in these articles:
Escobar Varela, M. (2019) Towards a digital, data-driven wayang kulit encyclopedia, Indonesia and the Malay World, DOI: 10.1080/13639811.2019.1553382
Schauf, A., & Escobar Varela, M. (2018). Searching for hidden bridges in co-occurrence networks from Javanese wayang kulit. Journal of Historical Network Research, 2(1), 26-52. https://doi.org/10.25517/jhnr.v2i1.42


Global Variables
- src
- base
- _global-variables.scss
Description
If you're customizing sandbox, the global variables file is the place to start. Here you can set the font stack, font color, and other settings used throughout the framework.
| Identifier | Value |
|---|---|
| $FONT_STACK | -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif |
| $FONT_COLOR | $alpha-black |
| $BODY_BACKGROUND_COLOR | rgb(250, 250, 250) |
| $BORDER_COLOR | $medium-white |
| $BORDER_ACTIVE_COLOR | $dark-white |
| $GRID_SYSTEM | 12 |
| $UNIT_SPACING | 1.2rem |
| $SPACING_LEVELS | 4 |
| $RADIUS_ROUND | 200em |
| $BUTTON_BORDER_RADIUS | 0.1875em |
| $CONTROL_HEIGHT | 2.25em |
| $CONTROL_SHADOW_SPREAD | 0.1875em |
| $DISABLED_OPACITY | 0.5 |


Mayur is a student of computer science he is working with programming languages and he is begginer at designing ui's, he want to do PhD in CS, He inspires students to be productive.
Skills: Blogs Meetups Programming Board Games Designing Listening
As a CSE student i am passionate to learn Cross platform application development, also like to design pages and ui's, i want to become a front-end web developer .