- gc - Variable in class blitzEdit.application.CircuitCanvas
-
- gc - Variable in class blitzEdit.application.LibraryCanvas
-
- get() - Static method in class blitzEdit.core.BlueprintContainer
-
- getAnkerPoint() - Method in class blitzEdit.core.Connector
-
Returns the anker point of this connector, aka the original position just after deployment
- getBlueprint(String) - Method in class blitzEdit.core.BlueprintContainer
-
Returns blueprint which typename matches type
- getBlueprint(int, int) - Method in class blitzEdit.core.ComponentLibrary
-
Uses contains() of LibraryEntry rect to check if (x,y)
is in the entry boundaries and returns the entry if true.
- getBlueprint(double, double) - Method in class blitzEdit.core.ComponentLibrary
-
Uses getBlueprint(int x, int y).
- getBlueprints() - Method in class blitzEdit.core.BlueprintContainer
-
- getC1() - Method in class blitzEdit.core.Line
-
returns Connector 1 of this line
- getC2() - Method in class blitzEdit.core.Line
-
returns Connector 2 of this line
- getConnectedComponents() - Method in class blitzEdit.core.Component
-
Returns List of all connected Components
- getConnections() - Method in class blitzEdit.core.Connector
-
Returns all connectors which are connected to this connector
- getConnectorOfConnection(Connector) - Method in class blitzEdit.core.Component
-
Returns the
Connector
which is connected to conn
- getConnectorOfConnection(Component) - Method in class blitzEdit.core.Component
-
Returns the
Connector
which is connected to Component comp
- getConnectors() - Method in class blitzEdit.core.Component
-
- getConRelRot() - Method in class blitzEdit.core.ComponentBlueprint
-
- getCornerPoint(Point, short, Point, short) - Method in class blitzEdit.core.Line
-
Private method called by drawLine
Returns a Point specifying the Corner Point for this line, considering
the position and rotation of the connected connectors.
- getCurrentCircuitCanvas() - Method in class blitzEdit.application.BlitzEdit
-
Uses the TabPane to check which circuit canvas is currently active.
- getCurrentLibraryCanvas() - Method in class blitzEdit.application.BlitzEdit
-
Uses the Accordion to check which library canvas is currently active.
- getCurrentLibraryTitledPane() - Method in class blitzEdit.application.BlitzEdit
-
Uses the Accordion class to check which library is currently selected.
- getCurrentTab() - Method in class blitzEdit.application.BlitzEdit
-
Uses the TabPane class to check which circuit tab is currently selected.
- getElements() - Method in class blitzEdit.core.Circuit
-
- getElementsByPosition(int, int) - Method in class blitzEdit.core.Circuit
-
Returns all Elements at the designated Location
- getElementsByPosition(double, double) - Method in class blitzEdit.core.Circuit
-
Returns all Elements at the designated Location
- getElementsByPosition(int, int, int, int) - Method in class blitzEdit.core.Circuit
-
Returns all Elements in the designated Rectangle
- getElementsByPosition(double, double, double, double) - Method in class blitzEdit.core.Circuit
-
- getElementsByPosition(String) - Method in class blitzEdit.core.Circuit
-
Returns all
Elements
with the designated typename
- getFilesInDirectory(File, boolean) - Static method in class tools.FileTools
-
Reads all files in the given directory.
- getHeight() - Method in class blitzEdit.core.Circuit
-
Returns overall height of Circuit
- getLibraryBlueprints() - Method in class blitzEdit.core.ComponentLibrary
-
Getter
- getLines() - Method in class blitzEdit.core.Circuit
-
Returns all Lines in Circuit
- getMousePosition() - Method in class blitzEdit.application.CircuitCanvas
-
Returns the current mouse position in this canvas or the last position before it left the node.
- getName() - Method in class blitzEdit.core.Circuit
-
Returns the name of Circuit
- getName() - Method in class blitzEdit.core.ComponentProperty
-
- getOwner() - Method in class blitzEdit.core.Connector
-
returns the owner of this connector
- getPanes() - Method in class blitzEdit.application.TutorialPanel
-
- getPath() - Method in class blitzEdit.core.Circuit
-
Returns the filesystem path of Circuit
- getPosition() - Method in class blitzEdit.core.Element
-
Returns the location of this Element
- getProperties() - Method in class blitzEdit.core.Component
-
Returns List Containing all
Properties
of this Component
- getProperty(String) - Method in class blitzEdit.core.Component
-
- getRelativeRotation() - Method in class blitzEdit.core.Connector
-
Returns this connectors relative rotation to its owner
- getRelPos() - Method in class blitzEdit.core.ComponentBlueprint
-
- getRelPos() - Method in class blitzEdit.core.Connector
-
returns the relative Position of this Connector
- getRotation() - Method in class blitzEdit.core.Connector
-
returns the absolute rotation of this connector
- getRotation() - Method in class blitzEdit.core.RotatableElement
-
returns the rotation in degrees
- getScale() - Method in class blitzEdit.core.ComponentLibrary
-
Getter
- getSelectedLines() - Method in class blitzEdit.core.Circuit
-
Uses getLines() and returns all lines with SelectionMode.Selected.
- getSelectionMode() - Method in class blitzEdit.core.Element
-
- getSelectionMode() - Method in class blitzEdit.core.Line
-
- getSizeX() - Method in class blitzEdit.core.ComponentBlueprint
-
- getSizeX() - Method in class blitzEdit.core.Element
-
Returns x-size of this Element
- getSizeY() - Method in class blitzEdit.core.ComponentBlueprint
-
- getSizeY() - Method in class blitzEdit.core.Element
-
Returns y-size of this Element
- getSvgFilePath() - Method in class blitzEdit.core.Component
-
returns Path of Components svg-image
- getSvgFilePath() - Method in class blitzEdit.core.ComponentBlueprint
-
- getSvgFileString() - Method in class blitzEdit.core.Component
-
Returns the file string of the svg-image
- getSvgFileString(String) - Static method in class tools.SvgRenderer
-
Used to get the xml string of a svg file.
- getSvgHeight(String) - Static method in class tools.SvgRenderer
-
Searches the svgString for svg tag and extracts the height property.
- getSvgWidth(String) - Static method in class tools.SvgRenderer
-
Searches the svgString for svg tag and extracts the width property.
- getType() - Method in class blitzEdit.core.Component
-
Returns a String containing the typename of this Component
- getType() - Method in class blitzEdit.core.ComponentBlueprint
-
- getType() - Method in class blitzEdit.core.ComponentProperty
-
- getUnit() - Method in class blitzEdit.core.ComponentProperty
-
- getValue() - Method in class blitzEdit.core.ComponentProperty
-
- getWidth() - Method in class blitzEdit.core.Circuit
-
Returns overall width of Circuit
- getX() - Method in class blitzEdit.core.Element
-
Returns x-coordinate of this Elements location
- getXCoordinates() - Method in class tools.RotatableRectangle
-
Used to get the x positions of the corners after a rotation.
- getY() - Method in class blitzEdit.core.Element
-
Returns y-coordinate of this Elements location
- getYCoordinates() - Method in class tools.RotatableRectangle
-
Used to get the y positions of the corners after a rotation.
- GlobalSettings - Class in tools
-
Contains global variables used for actions affecting multiple canvas.
- GlobalSettings() - Constructor for class tools.GlobalSettings
-
- GraphicDesignContainer - Class in tools
-
Container for all graphical design variables used in the programm as colors, line widths and cursors.
- GraphicDesignContainer() - Constructor for class tools.GraphicDesignContainer
-
- grid_color - Static variable in class tools.GraphicDesignContainer
-
- grid_line_width - Static variable in class tools.GraphicDesignContainer
-
- grid_spacing - Static variable in class tools.GraphicDesignContainer
-
- GridOnOff - Variable in class blitzEdit.application.BlitzEdit
-
- gridOnOff() - Method in class blitzEdit.application.CircuitCanvas
-


Drive API requires OAuth2.0 for authentication. PyDrive makes your life much easier by handling complex authentication steps for you.
- Select ‘Application type’ to be Web application.
- Click on ‘more options’ in hostname settings
- Input http://localhost:8080/ for both ‘Redirect URIs’ and ‘JavaScript origins’.
client_secrets.json is the file that has all authentication information of your application. Put this file in your working directory.
Create quickstart.py file and copy and paste the following code.
from pydrive.auth import GoogleAuth
gauth = GoogleAuth()
gauth.LocalWebserverAuth() # Creates local webserver and auto handles authentication
Run this code with python quickstart.py and you will see a web browser asking you for authentication. Click Accept and you are done with authentication. For more details, take a look at documentation: OAuth made easy
There are many methods to create and update file metadata and contents. With PyDrive, all you have to know is Upload() method which makes optimal API call for you. Add the following code to your quickstart.py and run it.
from pydrive.drive import GoogleDrive
drive = GoogleDrive(gauth)
file1 = drive.CreateFile({'title': 'Hello.txt'}) # Create GoogleDriveFile instance with title 'Hello.txt'
file1.SetContentString('Hello World!') # Set content of the file from given string
file1.Upload()
This code will create a new file with title Hello.txt and its content Hello World!. You can see and open this file from Google Drive if you want. For more details, take a look at documentation: File management made easy
PyDrive handles paginations and parses response as list of GoogleDriveFile. Let’s get title and id of all the files in the root folder of Google Drive. Again, add the following code to quickstart.py and execute it.
# Auto-iterate through all files that matches this query
file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
for file1 in file_list:
print 'title: %s, id: %s' % (file1['title'], file1['id'])
You will see title and id of all the files and folders in root folder of your Google Drive. For more details, take a look at documentation: File listing made easy


| Class | Description |
|---|---|
| BuriedAgentsCommandFilter |
A CommandFilter that discards commands from buried agents.
|
| CiviliansDeadOrRescuedTerminationCondition |
A TerminationCondition that terminates the simulation once all Civilians are either rescued or dead.
|
| DeadAgentsCommandFilter |
A CommandFilter that discards commands from dead agents.
|
| LineOfSightPerception |
Line of sight perception.
|
| SingleCommandFilter |
A CommandFilter that ensures only one non-communication command is allowed per agent.
|
| StandardAgentRegistrar |
Class that registers standard agents.
|
| StandardCommandCollector |
A CommandCollector that will wait until a non-communication command has been received from each agent.
|
| StandardPerception |
Legacy implementation of perception with a GUI.
|
| StandardWorldModelViewerComponent |
A KernelGUIComponent that will view a standard world model.
|
| Exception | Description |
|---|---|
| MapValidationException |
An exception class for map validation errors.
|


web developer/app developer freelancer/geek
Do you like my work on this website? Want to view the source code? Head over to my GitHub page and download the entire code. Don't forget to check out some other work I have been doing.


Aris projects, greenfield powered
|
Aris
|
Code
|
Title
|
Owner
|
# Namespaces |
# Deployments |
Actions |
|
|
{{entity.aris}} |
{{entity.code}} |
{{entity.title}} |
{{entity.owner_name}}
|
{{entity.service_domains?.names | length}} |
{{entity.service_domains?.deployments | length}} |
|
| No Entity found. |
|
|


--- layout: post authors: ["Aleksandra Pawlik"] title: "Software Carpentry for Women in Science and Engineering UK" date: 2015-10-28 time: "13:00:00" tags: ["Women in Science and Engineering"] ---
The Software Sustainability Institute in collaboration with ARCHER and Women in HPC is organising the first Software Carpentry workshop for Women in Science and Engineering (WiSE) in the UK. The event will take place at the University of Manchester on 14-15 December 2015.
The course is aimed at female postgraduate students, researchers and engineers who are familiar with basic programming concepts like loops, conditionals, arrays, and functions but need help to translate this knowledge into practical tools to help them work more productively. Apart from learning a set of useful skills the participants will have a unique opportunity to network and discuss their experiences in working in computational research area. The Software Sustainability Institute, ARCHER, and Women in HPC are planning to run the WiSE events on regular basis at different sites in the UK.


PHI
PRECISION HEALTH INFORMATICS
Semantic EHR
Terms
search
Search Concepts
Filter by patients
Filter by docs
Patient ID
Total Mentions
Positive Mentions
History/hypothetical Mentions
Negative Mentions
Other Experiencers
Patient ID
Total Mentions
Positive Mentions
History/hypothetical Mentions
Negative Mentions
Other Experiencers
< prev
1/1
next >
-
-
-
-
-
-


What is Mailboxen
Mailboxen is an open-source app that lets you configure and maintain a simple, secure SMTP mail server in the comfort of your local desktop environment. Mailboxen was born out of Y Combinator Hackathon and is currently under development to become more robust and usable.
Check out the source code to stay on top of the current progress.
Why did we build Mailboxen?
We are strong supporters of internet security and privacy. Emails stored by email providers like Gmail, Yahoo and Hotmail have been submitted to authorities without a search warrant (via the Stored Communications Act) and without user notification. It is time for users to take ownership of their emails, and decentralize the internet again.
What Mailboxen can do for you?
- Easy to setup: your mail server is up and running in under 5 minutes.
- No hardware required: it runs in the cloud.
- Privacy: user has full control of who have access to the data.
Secure and reliable mail servers are difficult, tedious and time consuming to set up and maintain. Most people either resort to giving up their privacy by using free email services like Gmail and paying the overhead of administrating their mail servers.
Mailboxen can use any filesystem for backend storage: including open-sourced GlusterFS, NFS, etc. For additional Security, user can choose to use a secure filesystem with end-to-end encryption (e.g. ObjectiveFS).
Feedback and bug reports
Send us your feedback or bug reports to dh@dhfromkorea.com


check out the teams who attended #SMRmay18
filter these >
Don't have an account?Sign up
I'm a jobseeker
not signed up
Don't have an account?sign up
I'm hiring


The Web starts with a user who, through a browser, accesses the internet. The internet is the largest network of computers in the world. Computers that host the files that make up the web are called servers. HTTP is the main protocol of the web.
A Browser interprets and displays web pages that are text documents written in HTML.
HTML, or HyperText Markup Language, documents are the heart of the web. It includes text content, markup, references to other documents and links to other pages. Here's a link to some more information.
HTML vocaabulary
Coding is writing text in a language computers can understand, such as HTML.  However, computers will never also never make erroneous interpretations. If a coder can't remember the details it is possible to simply look them up.


The SUMO challenge encourages the development of algorithms for complete understanding of 3D indoor scenes from 360° RGB-D panoramas with the goal of enabling social AR and VR research and experiences. The target 3D models of indoor scenes include all visible layout elements and objects complete with pose, semantic information, and texture. Algorithms submitted are evaluated at 3 levels of complexity corresponding to 3 tracks of the challenge: oriented 3D bounding boxes, oriented 3D voxel grids, and oriented 3D meshes.
The SUMO challenge dataset is derived from processing scenes from the SUNCG dataset to produce 360° RGB-D images represented as cubemaps and corresponding 3D mesh models of all visible scene elements. The mesh models are further processed into a bounding box and voxel-based representation. The dataset format is described in detail here.
1024 X 1024 RGB images
1024 X 1024 Depth Maps
2D Semantic Information
3D Semantic Information
3D Object Pose
3D Element Texture
3D Bounding Boxes Scene Representation
3D Voxel Grid Scene Representation
3D Mesh Scene Representation
The SUMO Challenge is organized into three performance tracks based on the output representation of the scene. A scene is represented as a collection of elements, each of which models one object in the scene (e.g., a wall, the floor, or a chair). An element is represented in one of three increasingly descriptive representations: bounding box, voxel grid, or surface mesh. For each element in the scene, a submission contains the following outputs listed per track.
3D Bounding Box
3D Object Pose
Semantic Category of Element
3D Bounding Box
3D Object Pose
Semantic Category of Element
Location and RGB Color of Occupied 3D Voxels
3D Bounding Box
3D Object Pose
Semantic Category of Element
Element's textured mesh (in .glb format)
Evaluation of a 3D scene focuses on 4 keys aspects: Geometry, Appearance, Semantic and Perceptual - (GASP) Details of the metrics for each track are provided here.
Upload your results to our EvalAI submission page (under construction).
Winners of the 2018 pilot edition of the SUMO Challenge will be announced at the SUMO Workshop held in conjunction with ACCV 2018 in Perth, Australia on December 3rd. See the official SUMO Challenge Contest Rules.
$2500 cash prize
Titan X GPU
Oral Presentation
$2000 cash prize
Titan X GPU
Oral Presentation
$1500 cash prize
Titan X GPU
Oral Presentation


DO NOT FORMAT. More...
Classes | |
| class | AbstractMagicMember |
| A magic member. More... | |
| class | AbstractRefClass |
| class | DocBlockTrait |
| class | Log |
| Static logger. More... | |
| class | MagicType |
A ReflectionNamedType that supports annotated unions and other helpful things. More... | |
| interface | MemberInterface |
| A QOL interface to keep all the member types consistent. More... | |
| class | RefClass |
| Classes, Traits, and Interfaces. More... | |
| class | RefConstant |
| class | RefInterface |
| class | RefMemberTrait |
| Common overrides and functions for reflection members. More... | |
| class | RefMethod |
| Extracts info from a method. More... | |
| class | RefParam |
| class | RefProperty |
| class | RefTrait |
| class | RefXML |
| Reflects to XML. More... | |
| class | TestAbstract |
| class | TestClass |
| Class comment. More... | |
| interface | TestInterface |
| An interface. More... | |
| interface | TestInterface2 |
| interface | TestInterface3 |
| class | TestTrait1 |
| A trait. More... | |
| class | TestTrait2 |
| Another trait. More... | |
| class | Util |
| Helper functions. More... | |
| class | VisibilityTrait |
| Adds visibility helper to member reflections. More... | |
| interface | XMLWriterInterface |
| IoC when content being written by {. More... | |
DO NOT FORMAT.
This code is deliberately trash in order to fuzz the docblock parser and generally test things.
Please never let your code look like this.


The Properties View shows the property values for the currently selected object. The class of the object determines the properties that will appear here.
Editing Values
Double clicking on any property value will bring up the Edit Dialog that is appropriate for that property type - hitting F4 while on a cell will have the same effect. Hitting F2 while on a cell will let you edit its contents in place, or you can just start typing over the existing value.
If you right click on a property value, you will get a popup menu that will give you access to the clipboard, and depending on the property type, will also display other commands. For instance, a Link property will display menu items letting you jump to the objects that are being linked to.
Note: If you change the class of an object which already has property values filled in, and the new class does not have the same properties associated with it, the old properties will still be visible in the Properties View - you can delete them if you wish by hitting the Delete key while on the property values.


Build a profile based on your skills
You can use it to help you:
- build a CV
- write an application for a job or an apprenticeship
- prepare for an interview
- prepare to meet a careers adviser
A CV or job application will be more valuable if you can provide real-life examples of your experience and achievements rather than listing duties and responsibilities.
Your experience
If you need help filling in the profile builder, contact our careers advisers for guidance.


Next: define-setf-expander, Previous: define-modify-macro, Up: Data and Control Flow Dictionary
The "short form":
defsetf
access-fn update-fn [documentation]
⇒ access-fn
The "long form":
defsetf
access-fn lambda-list ({store-variable}*)
[[{declaration}* | documentation]] {form}*
⇒ access-fn
access-fn—a symbol which names a function or a macro.
update-fn—a symbol naming a function or macro.
lambda-list—a defsetf lambda list.
store-variable—a symbol (a variable name).
declaration—a declare expression; not evaluated.
documentation—a string; not evaluated.
form—a form.
defsetf defines how to setf a place of the form (access-fn ...) for relatively simple cases. (See define-setf-expander for more general access to this facility.)
It must be the case that the function or macro named by access-fn evaluates all of its arguments.
defsetf may take one of two forms, called the "short form" and the "long form," which are distinguished by the type of the second argument.
When the short form is used, update-fn must name a function (or macro) that takes one more argument than access-fn takes. When setf is given a place that is a call on access-fn, it expands into a call on update-fn that is given all the arguments to access-fn and also, as its last argument, the new value (which must be returned by update-fn as its value).
The long form defsetf resembles defmacro. The lambda-list describes the arguments of access-fn. The store-variables describe the value
or values
to be stored into the place. The body must compute the expansion of a setf of a call on access-fn.
The expansion function is defined in the same lexical environment in which the defsetf form appears.
During the evaluation of the forms, the variables in the lambda-list and the store-variables are bound to names of temporary variables, generated as if by gensym or gentemp, that will be bound by the expansion of setf to the values of those subforms. This binding permits the forms to be written without regard for order-of-evaluation issues. defsetf arranges for the temporary variables to be optimized out of the final result in cases where that is possible.
The body code in defsetf is implicitly enclosed in a block whose name is access-fn
defsetf ensures that subforms of the place are evaluated exactly once.
Documentation is attached to access-fn as a documentation string of kind setf.
If a defsetf form appears as a top level form, the compiler must make the setf expander available so that it may be used to expand calls to setf later on in the file. Users must ensure that the forms, if any, can be evaluated at compile time if the access-fn is used in a place later in the same file. The compiler must make these setf expanders available to compile-time calls to get-setf-expansion when its environment argument is a value received as the environment parameter of a macro.
The effect of
(defsetf symbol-value set)
is built into the Common Lisp system. This causes the form (setf (symbol-value foo) fu) to expand into (set foo fu).
Note that
(defsetf car rplaca)
would be incorrect because rplaca does not return its last argument.
(defun middleguy (x) (nth (truncate (1- (list-length x)) 2) x)) ⇒ MIDDLEGUY (defun set-middleguy (x v) (unless (null x) (rplaca (nthcdr (truncate (1- (list-length x)) 2) x) v)) v) ⇒ SET-MIDDLEGUY (defsetf middleguy set-middleguy) ⇒ MIDDLEGUY (setq a (list 'a 'b 'c 'd) b (list 'x) c (list 1 2 3 (list 4 5 6) 7 8 9)) ⇒ (1 2 3 (4 5 6) 7 8 9) (setf (middleguy a) 3) ⇒ 3 (setf (middleguy b) 7) ⇒ 7 (setf (middleguy (middleguy c)) 'middleguy-symbol) ⇒ MIDDLEGUY-SYMBOL a ⇒ (A 3 C D) b ⇒ (7) c ⇒ (1 2 3 (4 MIDDLEGUY-SYMBOL 6) 7 8 9)
An example of the use of the long form of defsetf:
(defsetf subseq (sequence start &optional end) (new-sequence) `(progn (replace ,sequence ,new-sequence :start1 ,start :end1 ,end) ,new-sequence)) ⇒ SUBSEQ
(defvar *xy* (make-array '(10 10))) (defun xy (&key ((x x) 0) ((y y) 0)) (aref *xy* x y)) ⇒ XY (defun set-xy (new-value &key ((x x) 0) ((y y) 0)) (setf (aref *xy* x y) new-value)) ⇒ SET-XY (defsetf xy (&key ((x x) 0) ((y y) 0)) (store) `(set-xy ,store 'x ,x 'y ,y)) ⇒ XY (get-setf-expansion '(xy a b)) ⇒ (#:t0 #:t1), (a b), (#:store), ((lambda (&key ((x #:x)) ((y #:y))) (set-xy #:store 'x #:x 'y #:y)) #:t0 #:t1), (xy #:t0 #:t1) (xy 'x 1) ⇒ NIL (setf (xy 'x 1) 1) ⇒ 1 (xy 'x 1) ⇒ 1 (let ((a 'x) (b 'y)) (setf (xy a 1 b 2) 3) (setf (xy b 5 a 9) 14)) ⇒ 14 (xy 'y 0 'x 1) ⇒ 1 (xy 'x 1 'y 2) ⇒ 3
documentation; (setf documentation), setf; psetf,
define-setf-expander, get-setf-expansion,
Generalized Reference, Syntactic Interaction of Documentation Strings and Declarations
forms must include provision for returning the correct value (the value
or values
of store-variable). This is handled by forms rather than by defsetf because in many cases this value can be returned at no extra cost, by calling a function that simultaneously stores into the place and returns the correct value.
A setf of a call on access-fn also evaluates all of access-fn’s arguments; it cannot treat any of them specially. This means that defsetf cannot be used to describe how to store into a generalized reference to a byte, such as (ldb field reference).
is used to handle situations that do not fit the restrictions imposed by defsetf and gives the user additional control.
Next: define-setf-expander, Previous: define-modify-macro, Up: Data and Control Flow Dictionary


---
layout: portfolio_1
title: Veloce | Inkoop | Ruby on Rails Developer Consultancy Requirement Bangalore
description: Request a quote on your Ruby on Rails Project
---
Veloce
Client:
Veloce
Development hours:
1200
Technologies:
Ruby on Rails, HTML, CSS, Rescue, Google Drive, Dropbox, Box, Pusher
A project management tool that helps you to move forward faster. It has amazing features like Timeline of projects, files management with various storage options, realtime UI.


Open connection
Close connection
sends on button:
Send
sends on enter
sends on keydown
multa
multb
result
status


SessionCipher
public struct SessionCipher<Context: KeyStore>
The main entry point for Signal Protocol encrypt/decrypt operations.
This class can be used to establish a session by processing a pre key bundle and for all subsequent encrypt/decrypt operations within that session.
-
The local data store to use for state information
Declaration
Swift
private var store: Context
-
The address of the remote party
Declaration
Swift
private var remoteAddress: Context.Address
-
Construct a session cipher for encrypt/decrypt operations on a session. In order to use a SessionCipher, a session must be created by processing a pre key bundle or a PreKeySignalMessage.
The store and global contexts must remain valid for the lifetime of the session cipher.
When finished, free the returned instance by calling session_cipher_free().
Declaration
Swift
public init(store: Context, remoteAddress: Context.Address)
Parameters
store
The KeyStore to store all state information in
remoteAddress
The remote address that messages will be encrypted to or decrypted from.
Return Value
A freshly allocated session cipher instance
-
Encrypt a message.
Throws
Errors of TypeSignalError
Declaration
Swift
public func encrypt(_ message: Data) throws -> CipherTextMessage
Parameters
message
The plaintext message bytes, optionally padded to a constant multiple.
Return Value
The ciphertext message encrypted to the recipient+device tuple
-
Decrypt a message.
Note
Possible errors:invalidMessage
if the input is not valid ciphertext.duplicateMessage
if the input is a message that has already been received.legacyMessage
if the input is a message formatted by a protocol version that is no longer supported.invalidKeyID
when there is no local pre_key_record that corresponds to the pre key ID in the message.invalidKey
when the message is formatted incorrectly.untrustedIdentity
when the identity key of the sender is untrusted.legacyMessage
if the input is a message formatted by a protocol version that is no longer supported.noSession
if there is no established session for this contact.invalidType
if the type of the message is not supportedDeclaration
Swift
public func decrypt(_ message: CipherTextMessage) throws -> Data
-
Decrypt a message.
Note
Possible errors:invalidMessage
if the input is not valid ciphertext.duplicateMessage
if the input is a message that has already been received.legacyMessage
if the input is a message formatted by a protocol version that is no longer supported.invalidKeyID
when there is no local pre_key_record that corresponds to the pre key ID in the message.invalidKey
when the message is formatted incorrectly.untrustedIdentity
when the identity key of the sender is untrusted.Throws
SignalError
errorsDeclaration
Swift
public func decrypt(preKeySignalMessage ciphertext: PreKeySignalMessage) throws -> Data
Parameters
ciphertext
The PreKeySignalMessage to decrypt.
Return Value
The decrypted plaintext
-
Decrypt a message.
Note
Possible errors:invalidMessage
if the input is not valid ciphertext.duplicateMessage
if the input is a message that has already been received.legacyMessage
if the input is a message formatted by a protocol version that is no longer supported.noSession
if there is no established session for this contact.Throws
SignalError
errorsDeclaration
Swift
public func decrypt(signalMessage ciphertext: SignalMessage) throws -> Data
Parameters
ciphertext
The SignalMessage to decrypt.
Return Value
The decrypted plaintext.
-
Build a new session from a
SessionPreKeyBundle
retrieved from a server.Throws
SignalError
errorsDeclaration
Swift
public func process(preKeyBundle bundle: SessionPreKeyBundle) throws
Parameters
bundle
A pre key bundle for the destination recipient, retrieved from a server.
-
Gets the version of the session associated with this session cipher.
Declaration
Swift
func getSessionVersion() throws -> UInt8
Return Value
The session version
-
Load the session record for the remote address
Declaration
Swift
private func loadSession() throws -> SessionRecord
Return Value
The session record
-
Try to decrypt a SignalMessage with one of the stored sessions in the
SessionRecord
. If a session can decrypt the message it will be promoted to the active session.Throws
Errors of typeSignalError
Declaration
Swift
private func decrypt(from record: SessionRecord, and signalMessage: SignalMessage) throws -> Data
Parameters
record
The
SessionRecord
containing the sessionssignalMessage
The message to decrypt
Return Value
The decrypted plaintext
-
Try to decrypt a
SignalMessage
with a specificSessionState
.Declaration
Swift
private func decrypt(from state: SessionState, and signalMessage: SignalMessage) throws -> Data
Parameters
state
The
SessionState
to trysignalMessage
The message to decrypt
Return Value
The decrypted plaintext
-
Retrieve previously stored message keys or create them from the chain.
Throws
SignalError
errorsDeclaration
Swift
private func getOrCreateMessageKeys( state: SessionState, theirEphemeral: PublicKey, chainKey: RatchetChainKey, counter: UInt32) throws -> RatchetMessageKeys
Parameters
state
The state in which decryption happens
theirEphemeral
The public key of the receiver chain to use
chainKey
The current chain key
counter
The counter of the message in the chain
Return Value
The keys for the message
-
Retrieve the chain key for a state and receiver chain key.
Throws
SignalError
errorsDeclaration
Swift
private func getOrCreateChainKey(state: SessionState, theirEphemeral: PublicKey) throws -> RatchetChainKey
Parameters
state
The state in which decryption happens
theirEphemeral
The public key of the receiver chain to use
Return Value
The keys for the chain
-
Encrypt a message.
Declaration
Swift
private func getCiphertext(messageVersion: UInt8, messageKeys: RatchetMessageKeys, plaintext: Data) throws -> Data
Parameters
messageVersion
The ciphertext message version
messageKeys
The keys used for encryption
plaintext
The data to encrypt
Return Value
The encrypted ciphertext
-
Get the initialization vector for the message version.
Declaration
Swift
private func getIV(for version: UInt8, messageKeys: RatchetMessageKeys) -> Data
Parameters
version
The message version
messageKeys
The message keys
Return Value
The iv
-
Decrypt a message.
Declaration
Swift
private func getPlaintext(messageVersion: UInt8, messageKeys: RatchetMessageKeys, ciphertext: Data) throws -> Data
Parameters
version
The ciphertext message version
messageKeys
The keys used for encryption
plaintext
The data to encrypt
Return Value
The encrypted ciphertext


Now I had programmatic access to FlashJesterPunk's game media I could set about writing an installer for my Wii clone. This would need to be a little more complicated than simply extracting the files as I am not planning on distributing the game media with the app for copyright reasons.
The steps I need to reproduce from the Linux build process are:
The installer should check if the archive is already present on the sdcard before downloading to cater for the case where the Wii's Wifi is not functioning.
Fortunately there is some sample Http download code for the Wii available on the WiiBrew site. This demonstrates how to initialise the Wii network and request the file.
The only file we need from the Zip is the data1.xav file. We will need to use an unzip library to extract this file. A suitable unzip implementation is the mini-unzip code for the zLib library. This only required minor changes to compile for the Wii.
Once extracted we need to check the archive is identical to the one the xavreader code expects. This can be done by checking the MD5 sum. Here is a suitable implementation of MD5 which can be adapted for the Wii.
All the game media is hidden inside a custom archive called data1.xav. Fortunately our previous investigations have allowed us to read the contents. Reading and saving these into the correct directories is straightforward.
There are two types of audio in FJP's game, OggVorbis files and Amiga TrackerMod music files (*.xm files). The TrackerMod files will play directly using SDL_Mixer on the Wii so can be extracted as is. The OggVorbis files require processing first.
The Wii audio system can be initialised in only two ways, for 32KHz or 48KHz audio. The SDL_Mixer implementation appears only to play 32KHz audio successfully. Therefore we must re-sample the audio to 32KHz as part of the installation.
A suitable method for this is to convert the Ogg files to Wav format using the ivovrbisfile_example code shipped with the Tremor Ogg library. Then this Wav can be re-sampled using the resample code shipped with libsamplerate. To use libsamplerate this library, and the required libsndfile library, must be compiled for the Wii. Fortunately Erik de Castro Lopo's code is very portable and will configure and compile easily under devkitpro.
I made a few small changes to the config data. These are distributed as udiff files. I couldn't find a suitable simple unified diff patch util that will compile for the Wii so wrote my own based on the specifications here.
The PC build process will package this as a Zip which can then be extracted using the mini-unzip code used previously.
The only other work is to wrap it in a simple GUI (using SDL) and provide some feedback on the installation process. Unfortunately due to the speed of an sdcard for file read/writes the installation process will be significantly slower on the Wii than on a PC.
The final code suitable for the Wii or Linux can be found at the sourceforge project.


We weren’t at Paynes Prairie Preserve very long, so this should be a short post. We stopped here for a couple of nights on our way to Cedar Key, FL from Jacksonville, but we wished we could have stayed longer! It was a nice campground with water and electric hookups and a dump station. Cell signal was solid for both AT&T and Verizon, the bathrooms were decent, and they had showers with hot water. Our site was spacious with a bit of privacy from the spanish-moss covered trees. I wish we had gotten a photo!
We spoke with the camp host for a while to get an idea of which trails to go on, and he even gave us some fresh oranges from his house in Florida! Although the campground was great, we loved exploring the park itself even more. If you go, you have to make it to the Visitor Center which has many trails beginning nearby it. The campground is connected to the visitors center by a trail, but it’s pretty long and we didn’t have bikes yet so we drove instead. From the Visitor’s Center, we climbed to the observation deck over the prairie and saw wild horses as well as other wildlife from the deck.
We also explored some of the trails (which were also driving distance from the campground) where we saw armadillos, wild horses, and deer.
Apparently sometimes the horses get pretty close to the observation tower and you can also see bison out there as well! The horses we saw were pretty far out and we didn’t see any bison while we were there.
One con was we didn’t find a great place to exercise our dogs during our stay. Many of the trails do not allow pets because of the wildlife and alligators, so we couldn’t take them with us on some hikes. But the trails nearby the campground did allow pets for the most part which was nice, and had we had their e-collars we probably could have bent the rules and let them run a bit on some of the wider, grassier trails :).
Overall, this was a great stop! It’s only a 15 minute drive to Gainesville, yet you are surrounded by nature and wildlife. We would definitely be back here to explore more of the trails (especially once we have bikes since the park is large and spread out)!


This file was created from the following Jupyter-notebook: docs/preproc_example_pavlov.ipynb
Interactive version:
Interactive version:
Example: Preprocessing of a full dataset with multiple subjects¶
This is an example of a real dataset of a recent study from our cognitive neuroscience lab at the University of Tromsø.
The notebook cannot be run without the underlying data (which can be found at https://osf.io/7wcej/) but it can be used as an example to tweak for your own studies.
[1]:
import sys
import pypillometry as pp
import pylab as plt
plt.rcParams.update({'figure.max_open_warning': 0}) ## suppress a warning
import pandas as pd
import numpy as np
import os, glob
[3]:
# load all raw datasets
exclude=["20_pav", "8_pav", "1_pav_pilot"] ## these subject did not have usable data
# here, data is already stored in pypillometry's own format as .pd files
pdfiles=glob.glob("data/eyedata/*.pd")
datasets=[pp.PupilData.from_file(fname) for fname in pdfiles]
# datasets are stored in a dict structure
datasets={d.name.split("_")[0]:d for d in datasets if d.name not in exclude}
[4]:
# specify pre-processing parameters per subj
default_param={"min_duration":10, # min duration of a blink
"min_offset_len":2, # offset/onset-length for blink-detection
"min_onset_len":3,
"vel_onset":-5, # velocity thresholds for onset and offset
"vel_offset":5,
"strategies":["zero","velocity"], # strategies for blink-detection
"distance":100, # minimum distance between two blinks
"margin":(50,150), # margins for Mahot algorithm
"cutoff":5} # lowpass-filter cutoff (Hz)
# create dict with parameters per subject
# all subjects get the same set of default parameters initially
params={subj:default_param.copy() for subj in datasets.keys()}
[5]:
## fine-tuning of the parameters per subject (this is done iteratively by
## inspecting the per-subject PDF-files generated below and changing parameters)
subj="4"
params[subj]["vel_onset"]=-10
params[subj]["min_onset_len"]=3
params[subj]["min_duration"]=5
subj="6"
params[subj]["strategies"]=["zero"]
subj="7"
params[subj]["vel_onset"]=-10
subj="9"
params[subj]["vel_onset"]=-10
subj="10"
params[subj]["vel_onset"]=-10
subj="12"
params[subj]["margin"]=(50,200)
params[subj]["vel_onset"]=-10
subj="13"
params[subj]["vel_onset"]=-10
subj="14"
params[subj]["margin"]=(50,220)
params[subj]["vel_onset"]=-10
subj="15"
params[subj]["margin"]=(50,350)
params[subj]["vel_onset"]=-10
subj="16"
params[subj]["margin"]=(50,300)
params[subj]["vel_onset"]=-10
params[subj]["min_onset_len"]=3
params[subj]["min_duration"]=5
subj="17"
params[subj]["vel_onset"]=-10
subj="21"
params[subj]["vel_onset"]=-100
params[subj]["vel_offset"]=100
params[subj]["min_offset_len"]=2
params[subj]["min_onset_len"]=2
subj="23"
params[subj]["vel_onset"]=-10
params[subj]["min_onset_len"]=2
params[subj]["min_duration"]=5
subj="24"
params[subj]["margin"]=(50,320)
params[subj]["vel_onset"]=-10
params[subj]["min_onset_len"]=3
params[subj]["min_duration"]=1
subj="25"
params[subj]["margin"]=(50,350)
params[subj]["vel_onset"]=-10
subj="29"
params[subj]["margin"]=(100,400)
params[subj]["vel_onset"]=-10
subj="30"
params[subj]["margin"]=(100,300)
params[subj]["vel_onset"]=-20
subj="31"
params[subj]["margin"]=(100,300)
params[subj]["vel_onset"]=-10
subj="32"
params[subj]["vel_onset"]=-10
subj="34"
params[subj]["margin"]=(70,350)
params[subj]["vel_onset"]=-10
subj="35"
params[subj]["margin"]=(50,250)
params[subj]["vel_onset"]=-10
params[subj]["min_duration"]=5
subj="36"
params[subj]["margin"]=(100,300)
params[subj]["vel_onset"]=-10
params[subj]["min_duration"]=5
subj="37"
params[subj]["margin"]=(80,250)
params[subj]["vel_onset"]=-10
params[subj]["min_duration"]=1
subj="39"
params[subj]["vel_onset"]=-10
params[subj]["min_onset_len"]=3
params[subj]["min_duration"]=5
subj="40"
params[subj]["margin"]=(60,200)
params[subj]["vel_onset"]=-10
subj="41"
params[subj]["margin"]=(60,230)
params[subj]["vel_onset"]=-20
params[subj]["min_duration"]=3
subj="42"
params[subj]["vel_onset"]=-10
params[subj]["min_duration"]=0
subj="43"
params[subj]["vel_onset"]=-10
params[subj]["min_duration"]=0
subj="46"
params[subj]["margin"]=(80,220)
params[subj]["vel_onset"]=-20
params[subj]["min_onset_len"]=3
params[subj]["min_duration"]=0
subj="47"
params[subj]["vel_onset"]=-10
subj="49"
params[subj]["vel_onset"]=-10
subj="50"
params[subj]["vel_onset"]=-10
params[subj]["min_duration"]=0
subj="51"
params[subj]["margin"]=(50,220)
params[subj]["vel_onset"]=-10
subj="53"
params[subj]["vel_onset"]=-10
params[subj]["min_duration"]=0
subj="54"
params[subj]["margin"]=(50,220)
params[subj]["vel_onset"]=-10
subj="55"
params[subj]["margin"]=(50,250)
params[subj]["vel_onset"]=-10
subj="56"
params[subj]["vel_onset"]=-10
params[subj]["min_duration"]=0
subj="57"
params[subj]["margin"]=(80,150)
params[subj]["vel_onset"]=-10
params[subj]["min_duration"]=0
[6]:
## run pre-proc pipeline on all subjects and produce PDFs for inspection
preprocs={}
for subj,d in datasets.items():
print(d.name)
pars=params[subj]
dp=d.blinks_detect(min_duration=pars["min_duration"],strategies=pars["strategies"],
vel_onset=pars["vel_onset"], vel_offset=pars["vel_offset"],
min_onset_len=pars["min_onset_len"], min_offset_len=pars["min_offset_len"])\
.blinks_merge(distance=pars["distance"])\
.blinks_interp_mahot(margin=pars["margin"], vel_onset=pars["vel_onset"], vel_offset=pars["vel_offset"])\
.lowpass_filter(cutoff=pars["cutoff"])
d.plot_segments(overlay=dp, pdffile="pics/%s.pdf"%d.name, ylim=(dp.sy.min(), dp.sy.max()))
preprocs[subj]=dp
4_pav
> Writing PDF file 'pics/4_pav.pdf'
39_pav
> Writing PDF file 'pics/39_pav.pdf'
44_pav
> Writing PDF file 'pics/44_pav.pdf'
27_pav
> Writing PDF file 'pics/27_pav.pdf'
56_pav
> Writing PDF file 'pics/56_pav.pdf'
35_pav
> Writing PDF file 'pics/35_pav.pdf'
11_pav
> Writing PDF file 'pics/11_pav.pdf'
37_pav
> Writing PDF file 'pics/37_pav.pdf'
29_pav
> Writing PDF file 'pics/29_pav.pdf'
54_pav
> Writing PDF file 'pics/54_pav.pdf'
25_pav
> Writing PDF file 'pics/25_pav.pdf'
46_pav
> Writing PDF file 'pics/46_pav.pdf'
13_pav
> Writing PDF file 'pics/13_pav.pdf'
6_pav
> Writing PDF file 'pics/6_pav.pdf'
17_pav
> Writing PDF file 'pics/17_pav.pdf'
21_pav
> Writing PDF file 'pics/21_pav.pdf'
42_pav
> Writing PDF file 'pics/42_pav.pdf'
33_pav
> Writing PDF file 'pics/33_pav.pdf'
50_pav
> Writing PDF file 'pics/50_pav.pdf'
2_pav
> Writing PDF file 'pics/2_pav.pdf'
15_pav
> Writing PDF file 'pics/15_pav.pdf'
19_pav
> Writing PDF file 'pics/19_pav.pdf'
52_pav
> Writing PDF file 'pics/52_pav.pdf'
31_pav
> Writing PDF file 'pics/31_pav.pdf'
40_pav
> Writing PDF file 'pics/40_pav.pdf'
23_pav
> Writing PDF file 'pics/23_pav.pdf'
10_pav
> Writing PDF file 'pics/10_pav.pdf'
26_pav
> Writing PDF file 'pics/26_pav.pdf'
45_pav
> Writing PDF file 'pics/45_pav.pdf'
49_pav
> Writing PDF file 'pics/49_pav.pdf'
34_pav
> Writing PDF file 'pics/34_pav.pdf'
57_pav
> Writing PDF file 'pics/57_pav.pdf'
5_pav
> Writing PDF file 'pics/5_pav.pdf'
9_pav
> Writing PDF file 'pics/9_pav.pdf'
7_pav
> Writing PDF file 'pics/7_pav.pdf'
12_pav
> Writing PDF file 'pics/12_pav.pdf'
55_pav
> Writing PDF file 'pics/55_pav.pdf'
36_pav
> Writing PDF file 'pics/36_pav.pdf'
47_pav
> Writing PDF file 'pics/47_pav.pdf'
24_pav
> Writing PDF file 'pics/24_pav.pdf'
3_pav
> Writing PDF file 'pics/3_pav.pdf'
43_pav
> Writing PDF file 'pics/43_pav.pdf'
51_pav
> Writing PDF file 'pics/51_pav.pdf'
32_pav
> Writing PDF file 'pics/32_pav.pdf'
16_pav
> Writing PDF file 'pics/16_pav.pdf'
30_pav
> Writing PDF file 'pics/30_pav.pdf'
53_pav
> Writing PDF file 'pics/53_pav.pdf'
22_pav
> Writing PDF file 'pics/22_pav.pdf'
41_pav
> Writing PDF file 'pics/41_pav.pdf'
14_pav
> Writing PDF file 'pics/14_pav.pdf'
1_pav
> Writing PDF file 'pics/1_pav.pdf'
[24]:
# write down notes about each subject when going through the preprocs
notes={
'1':"last 5 mins missing; else quite ok, a few semi-blinks not properly detected",
"2":"many blinks after min 17; but reconstruction works very well",
"3":"fine",
"4":"fine (after tuning); a couple of short blinks that do not go all the way down to zero",
"5":"an awful lot of blinks; reconstruction seems to work but subj should probably be excluded",
"6":"fine (after tuning); very nice data with few blinks",
"7":"ok after tuning; weird stuff min 32-33",
"8":"missing data",
"9":"fine (after tuning); worse data in second half but ok",
"10":"many blinks, probably exclude",
"11":"usable but quite a few blinks (especially in the last part from min 33)",
"12":"fine after tuning but many blinks in second half",
"13":"usable but quite a few blinks; some segments are bad but should be ok due to exclusion crit",
"14":"fine",
"15":"exclude, many blinks and long opening-period after blinks",
"16":"fine; very nice data with few blinks",
"17":"usable but quite a few blinks",
"18":"missing",
"19":"usable (borderline), many blinks but nice reconstruction",
"20":"missing",
"21":"fine; except from min 37; incredibly fast transients!",
"22":"exclude; way to many blinks to do anything with this",
"23":"fine",
"24":"fine; very slow opening-transient",
"25":"borderline; a lot of blinks (more towards end) and a few weird artifacts in the second half",
"26":"fine; great, clean data!",
"27":"exclude",
"28":"missing",
"29":"usable; slow opening-transient",
"30":"fine",
"31":"fine",
"32":"fine",
"33":"usable; many blinks in second half",
"34":"fine",
"35":"borderline; lots of blinks during later segments",
"36":"borderline; esp near the end",
"37":"borderline; blinks consist of many consecutive, short-blinks",
"38":"missing",
"39":"fine (after tuning)",
"40":"borderline; many blinks throughout",
"41":"fine",
"42":"fine; has some of the weird triple-blinks",
"43":"fine; missing from min 34 (last block?)",
"44":"fine",
"45":"exclude; many blinks throughout",
"46":"usable",
"47":"fine",
"48":"missing",
"49":"fine",
"50":"fine",
"51":"fine",
"52":"fine",
"53":"fine",
"54":"fine",
"55":"usable; borderline towards the end",
"56":"usable, worse towards end",
"57":"exclude"
}
exclude_preproc=["5","10", "15", "22", "27","45","57"]
[8]:
## save table with preproc-parameters per subj
df=pd.DataFrame(params).T
df.index.name = 'subj'
df.reset_index(inplace=True)
df.subj=pd.to_numeric(df.subj)
df.sort_values("subj", inplace=True)
#df.reset_index(inplace=True)
df.to_csv("preproc_params.csv")
[9]:
## save table with notes
pd.DataFrame(notes.items(), columns=["subj","notes"]).to_csv("preproc_notes.csv")
[26]:
## write final prep-processed files for further analysis
preprocs={subj:d for subj,d in preprocs.items() if subj not in exclude_preproc}
pp.pd_write_pickle(preprocs, "data/export/eye_preproc.pd")
[29]:
## save table with final summary of preprocs
tab=pd.DataFrame([{**d.summary(), **{"ncues":len([lab for lab in d.event_labels if lab.startswith("C_")]),
"nfb":len([lab for lab in d.event_labels if lab.startswith("F_")]),
"nresp":len([lab for lab in d.event_labels if lab.startswith("R_")]),
"subj":d.name.split("_")[0],
"note":notes[d.name.split("_")[0]]}}
for d in preprocs.values()])
#tab.drop(columns=["baseline_estimated", "response_estimated"])
tab["perc_interpolated"]=tab.ninterpolated/tab.n*100.
scols=["subj","perc_miss","perc_interpolated","nevents","blinks_per_min","duration_minutes","note"]
tab.subj=pd.to_numeric(tab.subj)
tab.sort_values("subj",inplace=True)
tab[scols].to_csv("preproc_summary.csv")
This file was created from the following Jupyter-notebook: docs/preproc_example_pavlov.ipynb
Interactive version:
Interactive version:


Advanced Visualization: Font Properties
This short protocol reviews options for font properties.
Working with Fonts
Cytoscape has several label/font properties that are not shown by default. The full list of relevant label/font properties is accessible under Style→Properties. The following properties are available:
- Label: defines the label, often used to create a passthrough mapping
- Label Font Face: this is the font face used
- Label Font Size: font size, can be used for continuous mapping
- Label Position: where the font is placed
- Label Transparency: the transparency of the font
- Label Width: maximum width of the label, longer labels will be wrapped
Label Mapping
The Label property is most often used to create a passthrough mapping from a network attribute to the node or edge label. In this example, the COMMON attribute is mapped to the Node Label. This example uses the Yeast Perturbation example session file.
- Click the Map. column of the Label property. Note that there is an existing mapping for COMMON.
- Under Column, select another attribute to map to, for example a column containing gene or protein symbols.
- Under Mapping Type, select Passthrough Mapping.
- Notice that the labels in the network are updated. Switch it back to COMMON.
Label Font Face and Size
The Label Font Face is most commonly used to change the look of all labels for nodes, by changing the default. The Label Font Size is often mapped using the same attribute as the Node Size.
- Click the Label Font Face property.
- Click on the Def. column and select a default font for all labels.
- Click the Label Font Size property.
- Setup an approprite mapping, for example using Node Degree as the Mapping Column, and defining a Continuous Mapping.
Label Position
The position of the label on the node or edge can be manipulated via the Label Position property, and this is most often used to set the node/edge label position for the whole network by changing the default. In the example below, the node label is placed in the upper right corner of the node.
- Click the Label Font Face property of the Node tab.
- Click on the Def. column to bring up the Label Position interface.
- Drag the rectangle representing the label to the upper right of the main rectangle representing the node. Click OK to apply.
Label Transparency
The Label Transparency is most commonly set for the whole network, meaning the default. In the example below, the transparency for edge lables has been decreased.
- Click the Label Transparency property.
- Click on the Def. column and select a new transparency parameter in the interface.


|
| Local Properties | Local Methods | |
| Managed Object Types | Data Object Types | All Properties | All Methods |
Properties
| Name | Type | Description |
|---|---|---|
| defaultExpression* P | AlarmExpression[] |
The default setting for each alarm expression, used to populate the
initial client wizard screen.
|
| description P | AlarmDescription |
The static descriptive strings used in alarms.
|
Methods
| Methods defined in this Managed Object |
|---|
| AcknowledgeAlarm, AreAlarmActionsEnabled, ClearTriggeredAlarms, CreateAlarm, EnableAlarmActions, GetAlarm, GetAlarmState |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the AlarmManager used to make the method call. |
| alarm P | ManagedObjectReference
to a Alarm |
The Alarm to acknowledge.
|
| entity P | ManagedObjectReference
to a ManagedEntity |
The ManagedEntity for which to acknowledge the Alarm.
|
Return Value
| Type | Description |
|---|---|
| None |
Faults
| Type | Description |
|---|---|
| InvalidArgument | Thrown if the tuple doesn't exist. |
| InvalidRequest | Thrown if the referenced alarm/entity is null |
| ManagedObjectNotFound | Thrown if the referenced alarm/entity is invalid. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Events
| Type | |
|---|---|
| None |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the AlarmManager used to make the method call. |
| entity P | ManagedObjectReference
to a ManagedEntity |
The managed entity to look up.
|
Return Value
| Type | Description |
|---|---|
| xsd:boolean |
Faults
| Type | Description |
|---|---|
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Events
| Type | |
|---|---|
| None |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the AlarmManager used to make the method call. |
| filter | AlarmFilterSpec |
|
Return Value
| Type | Description |
|---|---|
| None |
Faults
| Type | Description |
|---|---|
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Events
| Type | |
|---|---|
| None |
In addition to the Alarm.Create privilege, may also require the Global.ScriptAction if a RunScriptAction action is specified in the AlarmSpec.
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the AlarmManager used to make the method call. |
| entity P | ManagedObjectReference
to a ManagedEntity |
The entity with which the alarm is associated.
|
| spec | AlarmSpec |
The specification for the new alarm.
|
Return Value
| Type | Description |
|---|---|
| ManagedObjectReference
to a Alarm | A reference to the Alarm object created by the operation. |
Faults
| Type | Description |
|---|---|
| DuplicateName | Thrown if an alarm with the name already exists. |
| InvalidArgument | Thrown if the specification is invalid. |
| InvalidName | Thrown if the alarm name is empty or too long. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Events
| Type | |
|---|---|
| None |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the AlarmManager used to make the method call. |
| entity P | ManagedObjectReference
to a ManagedEntity |
The managed entity on which to set a schedule.
|
| enabled | xsd:boolean |
true, if alarms are enabled during the schedule.
|
Return Value
| Type | Description |
|---|---|
| None |
Faults
| Type | Description |
|---|---|
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Events
| Type | |
|---|---|
| None |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the AlarmManager used to make the method call. |
| entity* | ManagedObjectReference
to a ManagedEntity |
The entity. If not set, alarms are returned for
all visible entities.
|
Return Value
| Type | Description |
|---|---|
| ManagedObjectReference[]
to a Alarm[] | A reference to the Alarm objects returned by the operation. |
Faults
| Type | Description |
|---|---|
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Events
| Type | |
|---|---|
| None |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the AlarmManager used to make the method call. |
| entity P | ManagedObjectReference
to a ManagedEntity |
The entity.
|
Return Value
| Type | Description |
|---|---|
| AlarmState[] | The state of instantiated alarms. |
Faults
| Type | Description |
|---|---|
| InvalidRequest | Thrown if the referenced entity is null. |
| ManagedObjectNotFound | Thrown if the referenced entity is invalid. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
Events
| Type | |
|---|---|
| None |
| Top of page | Local Properties | Local Methods | |
| Managed Object Types | Data Object Types | All Properties | All Methods |


Rigging Physics from Rescue Response Gear on Vimeo.
BLUEWATER ROPES HQ "How Ropes Are Made" from Cedar Wright on Vimeo.
Knots, Hitches & Bends: The Basics from Raven Collective Media on Vimeo.


A tribute to the 'Missile Man' of India
Dr. A.P.J. Abdul Kalam
Avul Pakir Jainulabdeen “A. P. J.” Abdul Kalam was the 11th President of India, serving from 2002 to 2007. Kalam was born and raised in Rameswaram, Tamil Nadu, and studied physics and aerospace engineering.
He spent the next four decades as a scientist and science administrator, mainly at the Defence Research and Development Organisation (DRDO) and Indian Space Research Organisation (ISRO), and was intimately involved in India’s civilian space program and military missile development efforts.
- 1931 - APJ Kalam was born into a poor family. His father had only one boat to support his family.
- 1954 - Kalam completed his graduation from Saint Joseph’s College, Tiruchirappalli.
- 1955 - He enrolled at the Madras Institute of Technology.
- 1960 - Kalam joined the Aeronautical Development Establishment of the Defence Research and Development Organisation.
- 1970 - 1990 - Kalam made an effort to develop the Polar Satellite Launch Vehicle (PSLV) and SLV-III projects, both of which proved to be successful. Kalam was known as the ‘Missile Man’ of India due to his continued, successful work with ballistic missiles and launch vehicle technology.
- 2000 - Kalam published 'Wings of Fire'. An autobiography that gives a detailed account of his childhood, his personal life and career.
- 2002 - 2007 - Kalam served as the 11th President of India. He was known as “the People’s President” because of his simple and down-to-earth attitude.
- 2003 and 2006 - He was awarded the MTV Youth Icon award twice.
- 27 July 2015 - Kalam travelled to Shillong to deliver a lecture on "Creating a Livable Planet Earth" at the Indian Institute of Management Shillong. While climbing a flight of stairs, he experienced some discomfort, but was able to enter the auditorium after a brief rest. He was rushed to the hospital but soon passed on due to cardiac arrest.
Facts
Kalam was the third President of India to have been honored with a Bharat Ratna, India's highest civilian honor. He was one the most loved presidents and will be dearly missed. His dream and vision of a better tomorrow will live on in our hearts for eternity.


<choices>
The <choices> element contains a list of <choice> elements. It is used when the user will need to choose one of several actions while performing the steps of a task.
<choice>
Category: Task elements


|
Meanco
|
The company that developed vis.js for the main part, almende is ./we_need_help.md "not able to maintain the project at the moment". So help from the community is very needed and welcome!
There are new issues with questions how to use vis.js opened almost every day. Be part of the community and help answer them!
A better way to ask questions on how to use vis.js is stackoverflow. Questions are posed here also and need to be answered by the community. Please help answering questions here also.
A new issue is often opened fast and then forgotten. Please help go trough the old issues (especially the questions) and ask the creator of the issues if the problem still exists before closing the issue. The support team uses the issue inactive label to mark these issues.
The visjs.org webpage is hosted on the gh-pages branch. If you find a typo or anything else that should be improved feel free to create a pull-request to gh-pages. Please make changes in your own fork of gh-pages so the support team can view the changes in your hosted fork.
We have a collection of examples. Please help by creating interesting new ones that show a specific problem or layout. Keep the examples easy to understand for beginners and remove unnecessary clutter.
If you use vis.js to develop something beautiful feel free to create a pull-request to our show cases page in the gh-pages branch](//github.com/almende/vis/tree/gh-pages/showcase). These showcases are displayed on our webpage and we are always looking for new examples.
Every software has bugs. We also have quite a nice collection ;-) Feel free to fix as many bugs as you want!
You can not only help by fixing bugs, but also by confirming the bug or even creating a minimal code example to prove this bug exists.
A lot of people have a lot of ideas for improving vis.js. We label these issues as Feature-Request. Feel free to implement a new feature by creating a new Pull-Request.
Some issues are labeled For everybody!. These are a good starting point.
We use GitHub's two-step review to make sure pull-requests are clean. You can help by checking out pull-request branches and testing them. You also can comment on lines of code and make sure the pull-request introduces no new bugs or typos.
There are some rules for pull-request:
lib
, not to the builds which are located in the folder dist
.Happy Helping!!


| spect {pomp} | R Documentation |
Power spectrum computation and spectrum-matching for partially-observed Markov processes.
## S4 method for signature 'data.frame'
spect(
data,
vars,
kernel.width,
nsim,
seed = NULL,
transform.data = identity,
detrend = c("none", "mean", "linear", "quadratic"),
params,
rinit,
rprocess,
rmeasure,
...,
verbose = getOption("verbose", FALSE)
)
## S4 method for signature 'pomp'
spect(
data,
vars,
kernel.width,
nsim,
seed = NULL,
transform.data = identity,
detrend = c("none", "mean", "linear", "quadratic"),
...,
verbose = getOption("verbose", FALSE)
)
## S4 method for signature 'spectd_pomp'
spect(
data,
vars,
kernel.width,
nsim,
seed = NULL,
transform.data,
detrend,
...,
verbose = getOption("verbose", FALSE)
)
## S4 method for signature 'spect_match_objfun'
spect(data, seed, ..., verbose = getOption("verbose", FALSE))
## S4 method for signature 'objfun'
spect(data, seed = NULL, ...)
data |
either a data frame holding the time series data,
or an object of class ‘pomp’,
i.e., the output of another pomp calculation.
Internally, |
vars |
optional; names of observed variables for which the power spectrum will be computed. By default, the spectrum will be computed for all observables. |
kernel.width |
width parameter for the smoothing kernel used for calculating the estimate of the spectrum. |
nsim |
number of model simulations to be computed. |
seed |
optional; if non- |
transform.data |
function; this transformation will be applied to the observables prior to estimation of the spectrum, and prior to any detrending. |
detrend |
de-trending operation to perform. Options include no detrending, and subtraction of constant, linear, and quadratic trends from the data. Detrending is applied to each data series and to each model simulation independently. |
params |
optional; named numeric vector of parameters.
This will be coerced internally to storage mode |
rinit |
simulator of the initial-state distribution.
This can be furnished either as a C snippet, an R function, or the name of a pre-compiled native routine available in a dynamically loaded library.
Setting |
rprocess |
simulator of the latent state process, specified using one of the rprocess plugins.
Setting |
rmeasure |
simulator of the measurement model, specified either as a C snippet, an R function, or the name of a pre-compiled native routine available in a dynamically loaded library.
Setting |
... |
additional arguments supply new or modify existing model characteristics or components.
See When named arguments not recognized by |
verbose |
logical; if |
spect
estimates the power spectrum of time series data and model
simulations and compares the results. It can be used to diagnose goodness
of fit and/or as the basis for frequency-domain parameter estimation
(spect.match
).
A call to spect
results in the estimation of the power spectrum for
the (transformed, detrended) data and nsim
model simulations. The
results of these computations are stored in an object of class
‘spectd_pomp’.
When spect
operates on a spectrum-matching objective function (a ‘spect_match_objfun’ object), by default, the
random-number generator seed is fixed at the value given when the objective function was constructed.
Specifying NULL
or an integer for seed
overrides this behavior.
An object of class ‘spectd_pomp’, which contains the model, the data, and the results of the spect
computation.
The following methods are available:
produces some diagnostic plots
displays a summary
gives a measure of the agreement of the power spectra
Some Windows users report problems when using C snippets in parallel computations.
These appear to arise when the temporary files created during the C snippet compilation process are not handled properly by the operating system.
To circumvent this problem, use the cdir
and cfile
options to cause the C snippets to be written to a file of your choice, thus avoiding the use of temporary files altogether.
Daniel C. Reuman, Cai GoGwilt, Aaron A. King
D.C. Reuman, R.A. Desharnais, R.F. Costantino, O. Ahmad, J.E. Cohen. Power spectra reveal the influence of stochasticity on nonlinear population dynamics. Proceedings of the National Academy of Sciences 103, 18860-18865, 2006
D.C. Reuman, R.F. Costantino, R.A. Desharnais, J.E. Cohen. Color of environmental noise affects the nonlinear dynamics of cycling, stage-structured populations. Ecology Letters 11, 820-830, 2008.
More on methods based on summary statistics:
abc()
,
basic_probes
,
nlf
,
probe_match
,
probe()
,
spect_match
More on pomp elementary algorithms:
elementary_algorithms
,
kalman
,
pfilter()
,
pomp-package
,
probe()
,
simulate()
,
trajectory()
,
wpfilter()


Hi,
I have been trying to solve this issue for the last few days and have read everything that this forum and google has to offer but alas I cannot figure it out.
I have been using the standard openenergymonitor system for a few years now to monitor home power usage.
Recently I have wanted to expand to other monitoring so I am playing with a new emoncms installation to try other sensors. The emoncms I am using is the emonSD-17Jun2015.img.zip image.
With the new sensors I am using RF69 radios and a direct USB connection with a moteinousb to RPi. I have also tried direct serial connection to the RPi with the same result.
The problem is, that when I add a EmonHubSerialInterfacer to the configuration I get the following message on the console:
root@emonpi:~# Exception in thread SerialDirect:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner self.run()
File "/home/pi/emonhub/src/interfacers/emonhub_interfacer.py", line 73, in run rxc = self.read()
File "/home/pi/emonhub/src/interfacers/EmonHubserialInterfacer.py", line 81, in read c = new_cargo(rawdata=f)
NameError: global name 'new_cargo' is not defined
and the emonhub.log:
pi@emonpi /var/log/emonhub $ cat emonhub.log
2015-07-05 11:31:59,015 INFO MainThread EmonHub emonHub 'emon-pi' variant v1.0
2015-07-05 11:31:59,017 INFO MainThread Opening hub...
2015-07-05 11:31:59,019 INFO MainThread Logging level set to DEBUG
2015-07-05 11:31:59,020 INFO MainThread Creating EmonHubSerialInterfacer 'SerialDirect'
2015-07-05 11:31:59,024 DEBUG MainThread Opening serial port: /dev/ttyUSB0 @ 9600 bits/s
2015-07-05 11:31:59,027 INFO MainThread Creating EmonHubMqttInterfacer 'MQTT'
2015-07-05 11:31:59,029 INFO MainThread MQTT Init mqtt_host=<IP_ADDRESS> mqtt_port=1883
2015-07-05 11:31:59,036 DEBUG MainThread MQTT Subscribed to channel' : ToEmonCMS
2015-07-05 11:31:59,038 INFO MainThread Creating EmonHubEmoncmsHTTPInterfacer 'emoncmsorg'
2015-07-05 11:31:59,041 DEBUG MainThread emoncmsorg Subscribed to channel' : ToEmonCMS
2015-07-05 11:31:59,138 INFO MQTT Connecting to MQTT Server
2015-07-05 11:31:59,147 INFO MQTT connection status: Connection successful
2015-07-05 11:31:59,149 DEBUG MQTT CONACK => Return code: 0
2015-07-05 11:31:59,252 INFO MQTT on_subscribe
2015-07-05 12:18:08,720 WARNING MainThread SerialDirect thread is dead
2015-07-05 12:18:08,928 WARNING MainThread SerialDirect thread is dead
I have cut everything back to basics so only sending node number and humidity, here is the minicom report of serial input on the Pi:
pi@emonpi /var/log $ minicom -D /dev/ttyUSB0 -b 9600
Welcome to minicom 2.6.1
OPTIONS: I18n
Compiled on Apr 28 2012, 19:24:31.
Port /dev/ttyUSB0
Press CTRL-A Z for help on special keys
19 6450
19 6450
19 6450
19 6450
19 6440
19 6450
19 6450
19 6450
19 6450
19 6450
I have tried all the different datacode suggestions (including no datacode) but cannot seem to prevent emonhub from crashing.
Any suggestions would be most appreciated.
Cheers,
Paddy
Re: EMONHUB Crashing on Direct Serial Receive
I don't think you have configured anything to cause this issue, from what I see the "serial-direct" settings appear correct and the node/datacode settings will not influence this type of error.
The traceback and error suggest an import issue, looking at the emonhub "emon-pi" variant repo, it's unclear (to me) exactly how the import hierarchy is structured, but it does appear the Cargo module is imported directly into the EmonHubJeeInterfacer rather than the core EmonHubInterfacer and therefore not seen in the SerialInterfacer, so you could try adding "import Cargo" to the imports in EmonHubSerialInterfacer, usually found at /home/pi/emonhub/src/interfacers/EmonHubSerialInterfacers.py.
Paul
Re: EMONHUB Crashing on Direct Serial Receive
Hi Paul,
Thanks for taking the time to look at this.
I added import Cargo to the imports as below and rebooted but I still get the same error message.
pi@emonpi ~/emonhub/src/interfacers $ sudo nano EmonHubSerialInterfacer.py
import serial
import time
import Cargo
from pydispatch import dispatcher
import emonhub_interfacer as ehi
"""class EmonhubSerialInterfacer
Regards,
Paddy
Re: EMONHUB Crashing on Direct Serial Receive
Try changing new_cargo on line 81 to Cargo.new_cargo as used in the JeeInterfacer..
Paul
Re: EMONHUB Crashing on Direct Serial Receive
Hi Paul,
I actually just found that difference and the change fixed the problem.
I would never have thought to look there without your pointer.
Thank you very much!
Cheers,
Paddy
Re: EMONHUB Crashing on Direct Serial Receive
Thanks for letting us know, I have submitted a pull request to the repo for a patch
Paul
Re: EMONHUB Crashing on Direct Serial Receive
Hi Paul,
I may have found another glitch. Data was logging fine for a while and then I got this error at the console:
root@emonpi:~# Exception in thread SerialDirect:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner self.run()
File "/home/pi/emonhub/src/interfacers/emonhub_interfacer.py", line 73, in run rxc = self.read()
File "/home/pi/emonhub/src/interfacers/EmonHubserialInterfacer.py", line 90, in read c.nodeid = int(f[0])
ValueError: invalid literal for int() with base 10: 'sendtoWait'
Cheers.
Paddy
Re: EMONHUB Crashing on Direct Serial Receive
Hi Paddy,
This is happening because there is some non-numeric content ie 'sendtoWait' coming in via the serial and tripping emonhub up. basically that "c.nodeid = int(f[0])" comes way before any validation or sanity checks are done and it fall over if f[0] isn't an int.
I sthere a particular reason you have opted for the "emon-pi" variant? is there something you need on the "current" post emonPi image that isn't on the "previous" pre emonPi image?
The reason I ask is the original emonHub has better error handling, not only would this particular fault not occur, if it did it would be easier to fix as it would appear in the logs.
The version you are using is based heavily on the "experimental" branch of emonhub which was not a release version just a proof of concept, Additional work has been done to it by T & G to implement new features predominantly to marry the emonPi to the latest v8.5 low-write emoncms and so some parts have probably been bug tested more than others. It was probally assumed the serial port is permanently occupied by the emonPi board or a RFM2Pi.
You can either try testing for an int immediately before that code, which is a quick and very dirty fix that may just push the issue down the line, ensure you only ever get the correct data format coming in via the serial port, introduce some proper sanity checks (but I would argue this isn't the right place for them) or use the previous image with "original" emonhub.
I would recommend the latter and use original emonhub for what is being specifically discussed here.
Paul
Re: EMONHUB Crashing on Direct Serial Receive
Hi Paul,
I guess I just went with the latest SD Image. I haven't really been following the recent emon developments and I am not sure what post emonPi and pre emonPi is? I didn't pick up from this post that this was "experimental" as it indicated that this is what is currently shipping on new hardware http://openenergymonitor.org/emon/node/10729
Out of frustration I did try an older image this weekend but I couldn't even get the web page up on that.
Where can I get the latest version of the "original" emonhub? As you suggest this sounds like what I should be using.
Cheers,
Paddy
Re: EMONHUB Crashing on Direct Serial Receive
emonPi is the latest hardware release out of the OEM stable, it was crowd funded on kickstarter recently.
There was a new SDcard image with a lot of changes released for the emonPi and that same image is intended to replace the SDcard image that was "current" immediately prior to the emonPi release.
So the Post emonPi release image is more cutting edge and has a lot of good stuff focused more towards the emonPi where as the earlier image is less biased to the emonPi and far more familiar, tried and tested for trying less mainstream stuff (IMO)
The emonPi image contains a version of emonHub called "emon-pi" which is BASED on the experimental branch, As I said additional work has been done to make it suit the emonPi image, I didn't say it was experimental, but it is focused and still being developed.
See the OLD: Raspberry Pi 2 pre-built SD card image (emonSD-13-03-15.img) BETA thread for the earlier image. Or was this the image you tried but had issues with?
Paul
Re: EMONHUB Crashing on Direct Serial Receive
Hi Paul,
I guess the terminology may be a little confusing. I have been running emon on raspberry Pi's with RFM12Pi's for a couple of years, but I don't have an emonPi.
Anyway even after fixing my code I am finding the emon-pi version of emonHub quite unstable, so will go to as pre emonp-pi version as you suggest. The version that I tried and had issues with was indeed emonSD-13-03-15.img but I shall give it another go.
Thanks again for your help.
Cheers,
Paddy


Blue Light Event
Hi Singaenas,
Please use this flashing blue light for the song Love Poem:
1. Set maximum screen brightness.
2. Switch off fingerlights and lightsticks.
3. Wave your phone with the blue screen facing IU when she sings Love Poem.
To open this page in full screen, add this web page to your home screen and launch from there!
[Tap to close]


| Package | com.developmentarc.core.datastructures.utils |
| Class | public class Queue |
| Property | Defined by | ||
|---|---|---|---|
| hasItems : Boolean [read-only]
Used to determine if items are currently stored inside the
Queue.
| Queue | ||
| length : int [read-only]
The number of items currently in the Queue.
| Queue |
| Method | Defined by | ||
|---|---|---|---|
|
Queue(direction:String)
Creates a new Queue passing in the direction of Queue.
| Queue | ||
|
add(item:*):void
Adds an item to the Queue.
| Queue | ||
|
addAt(item:*, position:int = -1):void
Adds an item to the Queue at the location specified.
| Queue | ||
|
last():*
This method is used to access the last item in the Queue
depending upon the direction of the Queue.
| Queue | ||
|
next():*
This method is used to access the next item in the Queue
depending upon the direction of the Queue.
| Queue | ||
|
remove(item:*, numberOfItems:int):void
Removes the specfied item from the queue.
| Queue | ||
|
removeAll():void
Removes all items from the queue.
| Queue | ||
|
removeAt(position:int):Boolean
Removes an item at the specified position.
| Queue |
| Constant | Defined by | ||
|---|---|---|---|
| FIFO : String = "FIFO" [static]
| Queue | ||
| LIFO : String = "LIFO" [static]
| Queue |
| hasItems | property |
hasItems:Boolean
[read-only]Used to determine if items are currently stored inside the Queue.
Implementation public function get hasItems():Boolean
| length | property |
length:int
[read-only]The number of items currently in the Queue.
Implementation public function get length():int
| Queue | () | constructor |
public function Queue(direction:String)
Creates a new Queue passing in the direction of Queue. The default direction is FIFO, accepted values are FIFO and LIFO.
Parametersdirection:String — The order items are removed by the nex() call.
|
| add | () | method |
public function add(item:*):void
Adds an item to the Queue. The order the items are added to the queue is important because this determines the order they are removed when next() is called.
Parametersitem:* — The item to add to the end of the Queue.
|
| addAt | () | method |
public function addAt(item:*, position:int = -1):void
Adds an item to the Queue at the location specified. If the value is less then zero the item is put at the beginning of the queue. If the value is equal to or greater then the length of the Queue then the item is put at the end of the Queue.
Parametersitem:* — The item to add to the Queue.
|
|
position:int (default = -1 ) — The position to place the item at.
|
| last | () | method |
public function last():*
This method is used to access the last item in the Queue depending upon the direction of the Queue. If the Queue is typed FIFO (default) the last item in the Queue, i.e. length -1, is returned. If the the Queue is typed LIFO then the first item in the queue, i.e. position 0, is returned.
Returns* — The last item in the Queue dependent upon the direction.
|
| next | () | method |
public function next():*
This method is used to access the next item in the Queue depending upon the direction of the Queue. If the Queue is typed FIFO (default) the first item in the Queue, i.e. position 0, is returned. If the the Queue is typed LIFO then the last item in the queue, i.e. position length -1, is returned.
Returns* — The next item in the Queue dependent upon the direction.
|
| remove | () | method |
public function remove(item:*, numberOfItems:int):void
Removes the specfied item from the queue. If the item is in the Queue more then one time then the numberOfItems value is used to determine how many of the repeated items should be remove. The default is all items are removed from the queue. Passing 1 or more will then determine how many times the item is removed.
The order items are removed depends on the direction of the the Queue. If the Queue is FIFO then the removal starts at the beginning of the Queue to find items to remove. If the Queue is LIFO the method starts at the end of the Queue and works forward.
Parametersitem:* — The item to find and remove.
|
|
numberOfItems:int — The number of instances of the item to remove.
|
| removeAll | () | method |
public function removeAll():void
Removes all items from the queue.
| removeAt | () | method |
public function removeAt(position:int):Boolean
Removes an item at the specified position. If the position is invalid then a false value is returned stating that the item was not removed at the provided position. If the position is valid the method returns a true for success.
Parametersposition:int — The position in the Queue to remove.
|
Boolean — True for successful removal, false for an invalid position.
|
| FIFO | constant |
public static const FIFO:String = "FIFO"
| LIFO | constant |
public static const LIFO:String = "LIFO"


Your temperature right now is
+
-
Reset Temperature
Power saving mode is
Power Saving On
Power Saving Off
Usage:
Find your city
Search


“Sattiyā viya omaṭṭho, ḍayhamānova matthake; Kāmarāgappahānāya, sato bhikkhu paribbaje”ti. … Tisso thero ….
Like they’re struck by a sword, like their head was on fire, a mendicant should go forth mindfully to give up sensual desire.


Hi. I am an Assistant Professor, Dept. of Mathematics, Shiv Nadar University. I specialise in solving Partial Differential Equations using numerical methods. I am particularly fond of using OpenFOAM, an open source package for discretizing PDEs using Finite Volume Method. At present we are working on developing following modules in OpenFOAM: Shape Optimisation codes, Immersed Boundary Methods. We are also extensively using the newly developed OpenFOAM's overset mesh support to study designs of Vertical Axis Wind Turbines (VAWT).
solidBodyMotionFunction
class which is convenient for solving flow
around moving bodies. However, all the option under this class like, linearMotion, rotatingMotion,
etc all seem to solve flow around presribed motion. I have written a new
sixDoFDynamicMotion
class, which is a child of solidBodyMotionFunction
,
which has a private member motion_
of the type sixDoFRigidBodyMotion
. The
member motion_
, is responsible for integrating pressure and shear force around the
given patch, and solve for the resulting translation and rotations. The resulting motion is returned
as a septernion
, through the transform()
function. This is tested on two
examples. Trajectory of a projectile motion, and a simple pendulum. Source code can be found here.
Standard OpenFOAM-v1812 has a module called dynamicRefineFvMesh. This adaptive mesh refinement tool does not seem to be applicable for two dimensional problems. Shonibare and Ahmad Baniabedalruhman recently described how to adapt this adaptive mesh tools for two dimensional problems. However, CFD community struggled to implement their ideas. See this cfd-online forum.
Eventually, Luca Cornolti shared a working for code for adaptive mesh refinement for 2d problems. His initial code were for foam-extend. This repository is simple adaptation Luca's work for OpenFOAM-v1812. The animated screenshot clearly shows that it works.
We are developing a simulation framework where it would be possible for aerodynamics engineers to easily test the efficiency of their wind turbines ... read more
Dept. of Mathematics, IIT Bombay, Mumbai, Mar 12-16th, 2018.
Co-organized with Prof. Neela Natarajan, HOD, Dept. of Mathematics, IIT Bombay
This notes explains OpenFoam implements two of the most widely used Finite Volume discretization of Navier Stoke’s Equation: PISO & SIMPLE.
This is a very short (but sufficient) course for learning symbolic computation, e.g, differentiation, integration, equation solving, etc, on the Python module SymPy.


If you don’t know yet what Seesmic from Loic is about, check out his presentation at VON. (I am actually mentioned twice as oliver from germany and the greetings from germany at the end :))
<object width="425" height="366"><param name="movie" value="http://www.youtube.com/v/W1tFCQQrIh8&rel=1&border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/W1tFCQQrIh8&rel=1&border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="366"></embed></object>
In short, Loic is trying to build a quasi Twitter for Video, but kind of making it into a real new age TV Platform. Next to letting everyone post a video, see those by their friends, there will be shows automatically generated by videos through voting mechanisms in channels. These might be edited summaries but I am still not shure how these will work in an automated manner. Next he is trying to build small Seesmic Cafes all over the world in major cities where people can come, hang out, and have some chats in front of the camera.
I’ve been playing with the platform for a bit at the moment and I really do like it. The biggest problem is that I need more filters to get the content from my friends only, because otherwise videos become too much. But the fun thing is that this is a wonderful move on the mobile side. Just imagine getting the videos via the podcast client on your Nokia N95, and allowing you to easily answer from the N95. Now imagine something big happens somewhere. As I said ages ago, press is not longer going to be the first on the scene, and with something like Seesmic, with a good Atom interface to post video, and something that pulls together channels based on user feedback, I can see the videos run on CNN now in my head.


Description
Units
Unit Price (Incl. GST)
Amount (Incl. GST)
Created by @mithicher. Built with tailwindCSS and AlpineJS. SVG icons from Tabler Icons.