Preparation time
less than 30 mins
Cooking time
1 to 2 hours
Serves
Makes 1 x 23cm/9in cake
Dietary
Ian made 5 tiers of this cake for the Bake Off final, but here's a pared-back version to try at home - it tastes gorgeous!
For this recipe you will need 2 piping bags, a basket weave nozzle and a small star nozzle.
Preheat the oven to 180C/160C Fan/Gas 4. Grease and line the base of a 23cm/9in springform cake tin.
For the cake, melt the butter in a saucepan then whisk in the sugar, eggs and orange oil until smooth and well combined.
Sift the flour, bicarbonate of soda and ground spices into a large mixing bowl. Stir in the salt. Fold the butter mixture into the dry ingredients until combined. Fold in the carrots, sultanas, pecans, orange zest and juice. Pour the mixture into the prepared tin and bake for 1 hour, or until a skewer comes out clean when inserted into the middle (check after 45 minutes and cover the top of the cake with baking parchment if the cake is browning too much). Leave to cool in the tin for a few minutes then transfer to a wire rack to cool completely.
For the glaze, put the orange juice and sugar in a saucepan and cook until the volume of liquid has reduced to a sticky glaze. Brush the top of the cake with the glaze while it is still warm.
For the icing, slowly beat the butter and icing sugar together using an electric mixer. When combined, add the vanilla paste and orange oil. Continue to mix for another few minutes until light and fluffy. With the mixer on the slowest speed, add the cream cheese bit by bit until just incorporated.
Set aside a quarter of the icing and add a little orange food colouring, transfer to a piping bag fitted with a basket weave nozzle. Set aside a few tablespoons of the icing, mix in the green food colouring and transfer to a piping bag fitted with a small plain nozzle. (The coloured icings will be used to pipe a carrot shape on top of the cake.)
Cut the cooled cake in half horizontally and spread a third of the plain icing on the bottom layer, then replace the top. Neatly cover the top and sides of the cake with icing. Set aside to allow the icing form a crust. Transfer any remaining plain icing into a piping bag fitted with a small star nozzle.
For the decorations, pipe a carrot on top of the cake using the orange and green icings. Pipe stars of the plain icing around the bottom of the cake. Decorate the sides of the cake with the pecan halves, using a little extra icing to help them stick.


Click on the button to open the dropdown menu, and use the input field to search for a specific dropdown link.
| Country | Export Value |
|---|---|
| Country1 | value1 |
| Country2 | value2 |
| Country3 | value3 |
| Country4 | value4 |
| Country4 | value4 |
| Country5 | value5 |
| All Others | Other Value |


---
layout: page
title: About Us
description: Meet the Quartet!
background: '/img/bg-about.jpg'
---
Meet the Quartet
We're a group of four members of the Sound of the Rockies chorus who've expanded our harmonic escapades to the smaller, riserless stage of the quartet format.
We love performing in all kinds of places, from restaurants to senior homes to offices.
-
Mike Skaff - Lead
-
Mark Palmer - Tenor
-
Kevin Kaiser - Bass
-
Paul Ashour - Baritone


Home About Work Contact Hi, welcome to my personal website My name is Felipe an enthusiast in technology and open source projects
My name is Felipe an enthusiast in technology and open source projects


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object Thing
public class Thing
This represents an object that can be put in the game.
| Field Summary | |
|---|---|
java.awt.geom.Point2D.Double |
acc
acceleration |
boolean |
falling
if this is falling to its death because of a hole in the floor |
static byte |
FROM_ABOVE
|
static byte |
FROM_BELOW
|
static byte |
FROM_EVERYWHERE
|
static byte |
FROM_LEFT
|
static byte |
FROM_NONE
|
static byte |
FROM_RIGHT
|
static byte |
FROM_SIDE
|
int |
height
|
java.awt.geom.Point2D.Double |
pos
position |
java.awt.geom.Point2D.Double |
posLast
last position |
java.awt.geom.Point2D.Double |
vel
velocity |
int |
width
|
| Constructor Summary | |
|---|---|
Thing()
creates a new Thing with coordinates (0,0), width of 1 and height of 1 |
|
Thing(double x,
double y,
int width,
int height)
Creates a new Thing with coordinates (x,y) and the specified width and height |
| Method Summary | |
|---|---|
void |
addSpawn(Thing t)
adds t to spawn queue |
void |
bumpX()
called when this Thing bumps into another Thing, changes X velocity |
void |
bumpY()
called when this Thing bumps into another Thing, chanes Y velocity |
boolean |
canLink(Thing other)
determines whether or not this Thing can link with other |
void |
draw(java.awt.Graphics g,
java.awt.image.ImageObserver o,
Hero hero)
draws this to g |
boolean |
dying()
returns true if this is moving through the air as a result of kill(double x, double y), false if not |
boolean |
enableGravity()
determines if this should be affected by gravity |
java.awt.image.BufferedImage |
figureOutDrawImage()
returns the in-game image |
byte |
fromWhere(Thing t)
determines where a Thing came from when a collision occurs |
int[] |
getDrawCoords(Hero hero)
returns an array of values that is used to determine where this should be drawn on the screen |
Thing |
getSpawn()
removes the item from the spawn queue from this and returns it |
void |
init()
called when added to the room and to the spawn menu, intializes fields |
void |
init(Serializer s)
initializes fields based on the configuration of s |
boolean |
inPlayerView(Hero hero)
determines whether or not this is in the view of the Hero specified |
boolean |
isFast()
determines if this is fast enough to kill TEnemies |
boolean |
isStatic()
determines if this has the capability to move |
void |
kill()
queues the parent Room, if any, to remove this |
void |
kill(java.awt.geom.Point2D.Double vel)
sets the velocity of the object to a value, once it is off screen then it is removed from the room |
boolean |
killed()
returns whether or not this should be removed from its parent Room |
void |
link(Thing other)
links this Thing to another (pipes, etc.) |
void |
makeSpriteUnderground()
changes the in-game image of this Thing to the underground theme, if it has one |
int |
numBools()
returns number of booleans that this Serializer representation should contain |
int |
numClasses()
returns number of classes that this Serializer representation should contain |
int |
numDoubles()
returns number of doubles that this Serializer representation should contain |
int |
numInts()
returns number of ints that this Serializer representation should contain |
void |
onTouch(Thing t)
called when this Thing touches another Thing |
java.awt.image.BufferedImage |
preview()
returns image that is to be displayed in the spawn menu |
void |
revive()
queues the room to not remove this Thing if previously told to do so |
Serializer |
serialize()
converts this to a Serializer so it can be written to a file |
void |
setPos(double x,
double y)
sets the current position |
void |
setPos(java.awt.geom.Point2D.Double pos)
sets the current position |
void |
setSpawnPos(double x,
double y)
sets the position when it is in the spawn menu |
void |
think()
called every frame, updates velocity, position, etc |
boolean |
touching(Thing t)
determines if t is touching this |
void |
updatePosLast()
writes the last position to memory |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final byte FROM_NONE
public static final byte FROM_ABOVE
public static final byte FROM_BELOW
public static final byte FROM_LEFT
public static final byte FROM_RIGHT
public static final byte FROM_EVERYWHERE
public static final byte FROM_SIDE
public java.awt.geom.Point2D.Double pos
public java.awt.geom.Point2D.Double posLast
public java.awt.geom.Point2D.Double vel
public java.awt.geom.Point2D.Double acc
public boolean falling
public int width
public int height
| Constructor Detail |
|---|
public Thing(double x, double y, int width, int height)
x
- x coordinatey
- y coordinatewidth
- widthheight
- heightpublic Thing()
| Method Detail |
|---|
public int[] getDrawCoords(Hero hero)
hero
-
public java.awt.image.BufferedImage figureOutDrawImage()
public void draw(java.awt.Graphics g, java.awt.image.ImageObserver o, Hero hero)
g
- o
- hero
- public boolean inPlayerView(Hero hero)
hero
-
public Serializer serialize()
public int numInts()
public int numDoubles()
public int numBools()
public int numClasses()
public void init(Serializer s)
s
- public void init()
public void addSpawn(Thing t)
t
- public Thing getSpawn()
public void updatePosLast()
public boolean dying()
public boolean touching(Thing t)
t
-
public void makeSpriteUnderground()
public void onTouch(Thing t)
t
- the other Thingpublic byte fromWhere(Thing t)
t
- the other Thing
public void kill()
public void revive()
public void kill(java.awt.geom.Point2D.Double vel)
vel
- the velocity that it will movepublic void link(Thing other)
other
- Thing to link topublic boolean canLink(Thing other)
other
- the Thing that is checked against
public java.awt.image.BufferedImage preview()
public boolean killed()
public void think()
public void setPos(double x, double y)
public void setPos(java.awt.geom.Point2D.Double pos)
public void bumpX()
public void bumpY()
public boolean isStatic()
public boolean isFast()
public void setSpawnPos(double x, double y)
x
- coord of mousey
- coord of mousepublic boolean enableGravity()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Load a GEDCOM file to browse the familty tree.
Select a file or load by URL:
The files are only processed in the browser and are not sent to a server.


Modules are separate groups stored in the root ‘processing/’ group. Modules are designed to store the results of intermediate data processing that is required before scientific analysis can be performed on experimental data (e.g., spike sorting or image segmentation). Each module publishes one or more ‘interfaces’, which are units that present a specific aspect of the data. For example, the Clustering interface provides the time of an event with its cluster number. See the standard documentation for a description of each interface and a list of what data each interface publishes.
Many interfaces share the same API, while some more complex interfaces require additional functions and procedures. Each interface is described below, followed by the API.
BehavioralEvents
BehavioralEpochs
BehavioralTimeSeries
The objective of these interfaces is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another modality data (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a folder having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-folder “BehavioralTimeSeries”. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data.
Clustering
Clustered spike data, whether from automatic clustering tools (e.g., klustakwik) or as a result of manual sorting. A Clustering module publishes the following datasets:
| Name | API call to set | Description |
|---|---|---|
| times, number, peak_over_rms | set_clusters() ...) | Convenience function to set fields ‘num’, ‘times’ and peak_over_rms (see API description below) |
| description (text) | set_value(“description”, ...) | Description of clusters or clustering (e.g., cluster 0 is electrical noise, clusters curated using Klusters, etc) |
ClusterWaveforms
The mean waveform shape, including standard deviation, of the different clusters. Ideally, the waveform analysis should be performed on data that is only high-pass filtered. This is a separate module because it is expected to require updating. For example, IMEC probes may require different storage requirements to store/display mean waveforms, requiring a new interface or an extension of this one. A ClusterWaveform module publishes the following datasets:
| Name | API call to set | Description |
|---|---|---|
| waveform_mean (float array) | set_value(“waveform_mean”, ...) | The mean waveform for each cluster, using the same indices for each wave as cluster numbers in the associated Clustering module (i.e, cluster 3 is in array slot [3]). Waveforms corresponding to gaps in cluster sequence should be empty (e.g., zero-filled) |
| waveform_sd (float array) | set_value(“waveform_sd”, ...) | Times of events that features correspond to (can be a link). Array structure: [# events] |
| waveform_filtering (text) | set_value(“waveform_filtering” , ...) | Filtering applied to data before generating mean/sd |
| clustering_interface (Clustering object or text path) | set_value_as_link( “clustering_interface”, ...) | HDF5 link to Clustering interface that was the source of the clustered data |
CompassDirection
With a CompassDirection interface, a module publish one or more SpatialSeries objects that store a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to “0” and which is the direction of rotation (this should be “clockwise”). The si_unit for the SpatialSeries should be “radians” or “degrees”.
DfOverF
dF/F information about a region of interest (ROI). Each DfOverF interface publishes one or more RoiResponseSeries. Storage hierarchy of dF/F should be the same as for segmentation (ie, same names for ROIs and for image planes).
EventDetection
Detected spike events from voltage trace(s).
| Name | API call to set | Description |
|---|---|---|
| times (double array) | set_value(“times”, ...) or set_value_as_link(“times”,...) | Times of events that features correspond to (can be a link). Array structure: [# events] |
| detection_method (text) | set_value(“detection_method”, ...) | Description of how events were detected, such as voltage or dV/dT threshold, plus relevant values |
| source_electricalseries (TimeSeries object or text path) | set_value_as_link(” source_electricalseries”, ...) | HDF5 link to TimeSeries that this data was calculated from. Metadata about electrodes and their position can be read from that TimeSeries so necessary to store that information here |
EventWaveform
Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. Each EventWaveform interface publishes one or more SpikeEventSeries.
EyeTracking
Eye-tracking data. Each interface publishes one or more SpatialSeries that store direction of gaze.
FeatureExtraction Features, such as PC1 and PC2, that are extracted from signals stored in a SpikeEvent TimeSeries or other source.
| Name | API call to set | Description |
|---|---|---|
| features (float array) | set_value(“features”, ...) | Array of features extracted for each event Array structure: [# events][# channels] [# features] |
| times (double array) | set_value(“times”, ...) or set_value_as_link(“times”,...) | Times of events that features correspond to (can be a link). Array structure: [# events] |
| description (text array) | set_value(“description”, ...) | Description of features (eg, “PC1”) for each of the extracted features. Array structure: [# features] |
| electrode_idx (int array) | set_value(“electrode_idx”, ...) | Indices to electrodes described in the experiment’s electrode map array in general/extracellular_ephys. Array structure: [# channels] |
FilteredEphys
Ephys data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each’s TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Each interface hase one or more ElectricalSeries.
Fluorescence
Fluorescence information about a region of interest (ROI). Each Fluorescence interface has one or more RoiResponseSeries. Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes).
ImageSegmentation
Stores pixels in an image that represent different regions of interest (ROIs). Pixels are stored in both lists and 2D maps representing image intensity. All segmentation data is stored in a “segmentation” subfolder. Each ROI is stored in its own subfolder within ImageSegmentation, with the ROI folder containing both a 2D mask and a list of pixels that make up this mask. Also for masking neuropil. If segmentation is allowed to change with time, a new interface is required (e.g., use the former version of this one, with img_mask_0 and start_time_0).
| Name | API call to set | Description |
|---|---|---|
| img_mask, pix_mask, roi_description | add_roi_mask_img() or add_roi_mask_pixels() | Creates the definition of a region of interest |
| reference_image | add_reference_image() or add_reference_image_as_link() | Adds a reference image that ROIs are based on |
| imaging_plane | create_imaging_plane() | Creates space to store data from one imaging plane |
LFP
LFP data from one or more channels. Each LFP interface has one or more ElectricalSeries. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries description or comments field.
MotionCorrection
Publishes an image stack where all frames are shifted (registered) to a common coordinate system, to account for movement and drift between frames.
| Name | API call to set | Description |
|---|---|---|
| original, corrected images; xy_translation | add_corrected_image() | Adds a motion-corrected image to the interface |
Position
Position data, whether along the x, x/y or x/y/z axis. Each interface stores one or more SpatialSeries storing position.
PupilTracking
Eye-tracking data. Each PupilTracking interface has one or more TimeSeries storing pupil size.
UnitTimes
Event times in observed units (eg, cell, synapse, etc). The UnitTimes folder contains a folder for each unit. Name of the folder should match value in source module, if that is possible/relevant (e.g., name of ROIs from Segmentation module).
| Name | API call to set | Description |
|---|---|---|
| times, description and source | add_unit() | Defines a unit, including event times and description |
Processing module. This is a container for one or more interfaces that provide data at intermediate levels of analysis
Modules should be created through calls to NWB.create_module(). They should not be instantiated directly
Creates an interface within the module. Each module can have multiple interfaces. Standard interface options are:
BehavioralEpochs – general container for storing and publishing intervals (IntervalSeries)
BehavioralEvents – general container for storing and publishing event series (TimeSeries)
BehavioralTimeSeries – general container for storing and publishing time series (TimeSeries)
Clustering – clustered spike data, whether from automatic clustering tools or as a result of manual sorting
ClusterWaveform – mean event waveform of clustered data
CompassDirection – publishes 1+ SpatialSeries storing direction in degrees (or radians)
DfOverF – publishes 1+ RoiResponseSeries showing dF/F in observed ROIs
EventDetection – information about detected events
EventWaveform – publishes 1+ SpikeEventSeries of extracellularly recorded spike events
EyeTracking – publishes 1+ SpatialSeries storing direction of gaze
FeatureExtraction – salient features of events
FilteredEphys – publishes 1+ ElectricalSeries storing data from digital filtering
Fluorescence – publishes 1+ RoiResponseSeries showing fluorescence of observed ROIs
ImageSegmentation – publishes groups of pixels that represent regions of interest in an image
LFP – a special case of FilteredEphys, filtered and downsampled for LFP signal
MotionCorrection – publishes image stacks whos frames have been corrected to account for motion
Position – publishes 1+ SpatialSeries storing physical position. This can be along x, xy or xyz axes
PupilTracking – publishes 1+ standard TimeSeries that stores pupil size
UnitTimes – published data about the time(s) spikes were detected in an observed unit
Completes the module and writes changes to disk.
Returns HDF5 path of module
Set description field in module
Adds a custom key-value pair (ie, dataset) to the root of the module.
key (string) A unique identifier within the TimeSeries
value (any) The value associated with this key
attrs (dict) Dictionary of key-value pairs to be stored as attributes
Interfaces represent particular processing tasks and they publish (ie, make available) specific types of data. Each is required to supply a minimum of specifically named data, but all can store data beyond this minimum
Interfaces should be created through Module.create_interface(). They should not be created directly
Adds a TimeSeries to the interface, setting the storage path of the TimeSeries. When a TimeSeries is added to an interface, the interface manages storage and finalization of it
Add a previously-defined TimeSeries to the interface. It will be added as an HDF5 link
ts_name (text) name of time series as it will appear in the interface
path (text) path to the time series
Finish off the interface and write pending operations to disk
Returns HDF5 path to this interface
Identify source(s) for the data provided in the module. This can be one or more other modules, or time series in acquisition or stimulus
Adds a custom key-value pair (ie, dataset) to the interface
key (string) A unique identifier within the TimeSeries
value (any) The value associated with this key
Create a link to another NWB object
key (text) Name of link as it will appear in TimeSeries
value (text, TimeSeries or Interface) The object to be linked to, or the path to that object
Conveninece function to set interface values. Includes sanity checks for array lengths
times (double array) Times of clustered events, in seconds. This may be a link to times field in associated FeatureExtraction module. Array structure: [num events]
num (int array) Cluster number for each event Array structure: [num events]
description (text) Description of clusters or clustering (e.g., cluster 0 is electrical noise, clusters curated using Klusters, etc)
peak_over_rms (float array) Maximum ratio of waveform peak to RMS on any channel in the cluster (provides a basic clustering metric). Array structure: [num clusters]
Add a reference image to the segmentation interface
plane (text) name of imaging plane
name (text) name of reference image
img (byte array) raw pixel map of image, 8-bit grayscale
Adds an ROI to the module, with the ROI defined within a 2D image.
image_plane (text) name of imaging plane
roi_name (text) name of ROI
desc (text) description of ROI
img (2D float array) description of ROI in a pixel map (float[y][x])
Adds an ROI to the module, with the ROI defined using a list of pixels.
image_plane (text) name of imaging plane
roi_name (text) name of ROI
desc (text) description of ROI
pixel_list (2D int array) array of [x,y] pixel values
weights (float array) array of pixel weights
width (int) width of reference image, in pixels
height (int) height of reference image, in pixels
Defines imaging manifold. This can be a simple 1D or 2D manifold, a complex 3D manifold, or even random access. The manifold defines the spatial coordinates for each pixel. If multi-planar manifolds are to be defined separately, a separate imaging plane should be used for each. Non-planar manifolds should be stored as a vector.
Pixels in the manifold must have a 1:1 correspondence with image segmentation masks and the masks and manifold must have the same dimensions.
Adds a motion-corrected image to the module, including the original image stack, the x,y delta necessary to shift the image frames for registration, and the corrected image stack. NOTE 1: All 3 timeseries use the same timestamps and so can share/ link timestamp arrays
NOTE 2: The timeseries passed in as ‘xy_translation’ and ‘corrected’ will be renamed to these names, if they are not links to existing timeseries
NOTE 3: The timeseries arguments can be either TimeSeries objects (new or old in case of latter 2 args) or strings. If they are new TimeSeries objects, they will be stored within the module. If they are existing objects, a link to those objects will be created
orig (ImageSeries or text) ImageSeries object or text path to original image time series
xy_translation TimeSeries storing displacements of x and y direction in the data[] field
corrected Motion-corrected ImageSeries
Adds data about a unit to the module, including unit name, description and times.
unit_name (text) Name of the unit, as it will appear in the file
unit_times (double array) Times that the unit spiked
description (text) Information about the unit
source (text) Name, path or description of where unit times originated
Add auxiliary information (key-value) about a unit. Data will be stored in the folder that contains data about that unit.
unit_name (text) Name of unit, as it appears in the file
key (text) Key under which the data is added
value (any) Data to be added
Extended (subclassed) finalize procedure. It creates and stores a list of all units in the module and then calls the superclass finalizer.


Pakistan made Kartarpur Corridor to eradicate hatred: FM Qureshi
by https://www.facebook.com/dunyanewsISLAMABAD (Dunya News) – Foreign Minister Shah Mehmood Qureshi said Pakistan has made Kartarpur Corridor to eradicate hatred and urged India to change its policy over Kashmir if it also wants peace.
The foreign minister spoke to BBC and maintained that Kartarpur Corridor is spreading love and is a goodwill message by Islamabad. India never responded to Pakistan’s various attempts of restoring peace, he stressed.
Shah Mehmood Qureshi said Prime Minister Imran Khan had announced immediately after assuming charge that Pakistan will move two steps forward if India takes one for establishing peace, but India responded with criticism, border violations and confrontation.
People of occupied Kashmir as well as Pakistan have rejected India’s unconstitutional, illegal and unilateral move of scrapping IoK’s autonomy and no Kashmiri leaders are supporting New Delhi’s narrative, Qureshi reiterated.


{% feed_meta %} {% include analytics.html %}
{{ site.title }}
Work
Teaching
About
Blog
{{ content }}


Preparation time
overnight
Cooking time
10 to 30 mins
Serves
Serves 2
Deep-fried broccoli and macadamia nuts add crunch to delicately baked cod.
Equipment: You will need a deep-fat fryer or a deep, heavy-bottomed frying pan.
Place the sliced lemon, peppercorns and vanilla pod in a bowl and pour over the sugar syrup. Steep overnight, then drain.
Preheat the oven to 220C/200C Fan/Gas 7. Heat an ovenproof frying pan with a dash of olive oil. Once hot, fry the cod flesh-side down until a golden crust forms. Turn the cod over, then bake for 6–8 minutes. Remove the cod from the oven, rest for 3–5 minutes and peel off the skin.
Preheat the vegetable oil in a deep-fat fryer or frying pan. Beat the egg white and sparkling water together in a shallow bowl. Combine the flours in a second shallow bowl. Coat the broccoli and sage in the egg white mixture, then in the flours, then deep-fry for 3–5 minutes (CAUTION: hot oil can be dangerous. Do not leave unattended). Drain on kitchen paper.
Meanwhile, melt the butter in another frying pan and sauté the spinach and green beans until just cooked.
For the relish, mix the nuts, herbs, garlic, oil and lemon zest and juice in a bowl and set aside.
To serve, divide the green beans between two plates. Top with the cod. Garnish with the broccoli, lemons and sage.


{% extends "layout.html" %} {% block page_title %} GOV.UK prototyping kit {% endblock %} {% block content %} BETA This is a new service – your feedback will help us to improve it. Back to sections you must complete Your overseas hazardous waste transfers Transfer to Substance 2017 total Method Operation More detail Delete Vanheede Zinc 25 tonnes Weighing Recovery View transfer Delete Add a new overseas waste transfer {% endblock %}
BETA This is a new service – your feedback will help us to improve it.


{% block head %}{% endblock %}
2019
Dashboard
Interface
Environment
Climate:
Temperature
Precipitation (rain)
Infrastructure:
City trees
Green spaces
Waste management
Mobility
Overview:
Public transportation
Bicycle
Car
Safety:
Traffic incidents
Extra
City amenities
City initiatives
About this site
{% block content %}{% endblock %}
{% block scripts %}{% endblock %}


Martijn Schoonvelde
Welcome! I am an Assistant Professor European Politics & Society at University of Groningen.
Prior to this, I worked as an Assistant Professor in Political Science at University College Dublin. I also worked a postdoctoral fellow in Political Science at the Vrije Universiteit Amsterdam; as a Max Weber Fellow at the European University Institute in Florence; and as a research fellow at the University of Exeter. I received my PhD from Stony Brook University.
In my work, I use computational text analysis methods to study political rhetoric and political communication more broadly. My methodological interests concern issues related to multilingual text analysis and images as a means of political communication.
I am co-founder of the Connected_Politics Lab at UCD. I am also a member of the European research infrastructure project OPTED “Observatory for Political Texts in European Democracies”, based at University College Dublin where I remain an affiliation as a Visiting Assistant Professor.
I tweet under hjms.
Martijn Schoonvelde
news
| Apr 13, 2020 | New MSc in Politics and Data Science accepting students for Fall 2020 |
| Nov 11, 2019 | Connected_Politics Lab website online. |
| Aug 5, 2019 | Guest lecture on elite political rhetoric at SICSS Bamberg. |
| Jun 18, 2019 | QTA-Dublin text analysis workshop at UCD. |
| May 16, 2019 | Text analysis course for MA students at CEU. Materials here. |


- DatabaseInitializer - Class in tools
-
initialize the SQLite database
- DatabaseInitializer() - Constructor for class tools.DatabaseInitializer
-
constructor for DatabaseInitializer
- Date - Class in representation
-
Class for dates
ID and systemDate and displayDate as String
- Date(int) - Constructor for class representation.Date
-
constructor
- Date(int, String, String) - Constructor for class representation.Date
-
constructor
- Date.DateBuilder - Class in representation
-
builds the Date object
- DateBuilder() - Constructor for class representation.Date.DateBuilder
-
- DateLoader - Class in tools
-
SQL to receive all saved Dates for a company
- DateLoader() - Constructor for class tools.DateLoader
-
- DateService - Class in resources
-
sets up REST resource for dates
- DateService() - Constructor for class resources.DateService
-
- dbcontroller - Static variable in class tools.DatabaseInitializer
-
new DatabaseInitializer
- debug - Static variable in class server_core.RequestFilter
-
'true' iff in debug mode, i.e., no security features are checked.
- displayDateValue(String) - Method in class representation.Date.DateBuilder
-
builds display date value


--- layout: post title: A guide to a "safer" SSH! date: 2019-08-12 18:19:22.000000000 +05:30 type: post parent_id: '0' published: true password: '' status: publish tags: [Daily Logs, Linux SysAdmin, Projects, Ansible, SSH, DevOps, Security] meta: _publicize_job_id: '33985292546' timeline_notification: '1565614166' author: login: priyankasaggu119 email<EMAIL_ADDRESS>display_name: priyankasaggu119 first_name: '' last_name: '' permalink: "/2019/08/12/a-guide-to-a-safer-ssh/" ---
August 11, 2019
Now after working on remote VPS for a good decent time, I have understood that it's not difficult to connect to remote nodes via SSH. Rather the concern is to connect to these remote nodes in a more safe and secure manner. Therefore, when this thought is taken into consideration, we need to work on certain things to ensure the security aspect.
So, this post will walk you through a demonstrated list of almost all the major steps that can be taken in this regard.
And now that when I am trying to learn writing "infrastructure as code" using ansible. I will try implementing this task of efficient configuration management, SSH-hardening & SSH-security via writing ansible roles again.
I recommend you to go and checkout some of the previous posts on ansible and iptables. That way, it would be quite easy for you to understand the norms used later in this post.
Taking this basic foundation further and not wasting a second more now, let's quickly start writing our ansible code for the today's use-case.
$ sudo mkdir playbooks
$ cd playbooks
$ sudo touch playbook.yml
$ sudo ansible-galaxy init users
$ sudo ansible-galaxy init packages
$ sudo ansible-galaxy init ssh
$ sudo ansible-galaxy init iptables
$ sudo ansible-galaxy init fail2ban
And this will give you a directory tree structure like one shown below ( and all the nested roles will be similar to ones like "users").
.
├── playbook.yml
├── users
│ ├── defaults
│ │ └── main.yml
│ ├── files
│ ├── handlers
│ │ └── main.yml
│ ├── meta
│ │ └── main.yml
│ ├── README.md
│ ├── tasks
│ │ └── main.yml
│ ├── templates
│ ├── tests
│ │ ├── inventory
│ │ └── test.yml
│ └── vars
│ └── main.yml
├── packages
├── ssh
├── iptables
└──fail2ban
---
- name: Provisioning a new SSH-hardened and more secure server.
hosts: sshnodes
become_user: root
become: true
become_method: sudo
vars:
username: testuser
# For password, we are required to pass a password hash/digest.
# So, I will be using python's hashlib module to create secure hash(or message digest) for our password.
# passwordhash = python -c 'import hashlib; print(hashlib.pbkdf2_hmac('sha256', b'examplepassword', b'examplesalt', 100000))'
password: passwordhash
publickey: ~/.ssh/id_rsa.pub
roles:
- users
- packages
- ssh
- iptables
- fail2ban
...
Here, we have our driving file ready. So, let's move further writing the actual hardening elements now.
---
# tasks file for users
- name: Ensure wheel group is present
group:
name: wheel
state: present
- name: Ensure wheel group has sudo privileges
lineinfile:
dest: /etc/sudoers
state: present
regexp: "^%wheel"
line: "%wheel ALL=(ALL:ALL) ALL"
validate: "/usr/sbin/visudo -cf %s"
- name: Install the `sudo` package
package:
name: sudo
state: latest
- name: Create the non-root user account
user:
name: "{{username}}"
password: "{{password}}"
shell: /bin/bash
update_password: on_create
groups: wheel
append: yes
...
---
# tasks file for packages
- name: Upgrading all packages (Ubuntu/Debian)
apt:
upgrade: dist
- name: Install a few more packages
package:
name: "{{item}}"
state: present
with_items:
- vim
- htop
- net-tools
- name: Install the `unattended-upgrades` package
package:
name: unattended-upgrades
state: present
- name: Copy the `20auto-upgrades` configuration file
copy:
src: /etc/ansible/playbooks/packages/templates/20-auto-upgrdaes.j2
dest: /etc/apt/apt.conf.d/20auto-upgrades
owner: root
group: root
mode: 0644
...
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
---
# tasks file for ssh
- name: Add local public key for key-based SSH authentication
authorized_key:
user: "{{username}}"
state: present
key: "{{ lookup('file', item) }}"
with_fileglob: public_keys/*.pub
- name: Harden sshd configuration
lineinfile:
dest: /etc/ssh/sshd_config
regexp: "{{item.regexp}}"
line: "{{item.line}}"
state: present
with_items:
- regexp: "^#?PermitRootLogin"
line: "PermitRootLogin no"
- regexp: "^^#?PasswordAuthentication"
line: "PasswordAuthentication no"
- regexp: "^#?AllowAgentForwarding"
line: "AllowAgentForwarding no"
- regexp: "^#?AllowTcpForwarding"
line: "AllowTcpForwarding no"
- regexp: "^#?MaxAuthTries"
line: "MaxAuthTries 2"
- regexp: "^#?MaxSessions"
line: "MaxSessions 2"
- regexp: "^#?TCPKeepAlive"
line: "TCPKeepAlive no"
- regexp: "^#?UseDNS"
line: "UseDNS no"
- regexp: "^#?AllowAgentForwarding"
line: "AllowAgentForwarding no"
- name: Restart sshd
systemd:
state: restarted
daemon_reload: yes
name: sshd
...
---
# tasks file for iptables
- name: Install the `iptables` package
package:
name: iptables
state: latest
- name: Flush existing firewall rules
iptables:
flush: true
- name: Firewall rule - allow all loopback traffic
iptables:
action: append
chain: INPUT
in_interface: lo
jump: ACCEPT
- name: Firewall rule - allow established connections
iptables:
chain: INPUT
ctstate: ESTABLISHED,RELATED
jump: ACCEPT
- name: Firewall rule - allow port ping traffic
iptables:
chain: INPUT
jump: ACCEPT
protocol: icmp
- name: Firewall rule - allow port 22/SSH traffic
iptables:
chain: INPUT
destination_port: 22
jump: ACCEPT
protocol: tcp
- name: Firewall rule - allow port80/HTTP traffic
iptables:
chain: INPUT
destination_port: 80
jump: ACCEPT
protocol: tcp
- name: Firewall rule - allow port 443/HTTPS traffic
iptables:
chain: INPUT
destination_port: 443
jump: ACCEPT
protocol: tcp
- name: Firewall rule - drop any traffic without rule
iptables:
chain: INPUT
jump: DROP
- name: Firewall rule - drop any traffic without rule
iptables:
chain: INPUT
jump: DROP
- name: Install `netfilter-persistent` && `iptables-persistent` packages
package:
name: "{{item}}"
state: present
with_items:
- iptables-persistent
- netfilter-persistent
...
[DEFAULT]
# Ban hosts for one hour:
bantime = 3600
# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport
[sshd]
enabled = true
maxretry = 3
---
# tasks file for fail2ban
- name: Install the `fail2ban` package
package:
name: fail2ban
state: latest
- name: Override some basic fail2ban configurations
copy:
src: /etc/ansible/playbooks/fail2ban/templates/jail.local.j2
dest: /etc/fail2ban/jail.local
owner: root
group: root
mode: 0644
...
So, finally we are done writing our all 5 ansible roles required to establish and ensure a secure SSH connection, the last thing is to try testing if all the plays work fine way or not.
$ ansible-playbook playbook.yml
and if you get an output like one shown below. You are good to go.
____________
< PLAY RECAP >
------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
<IP_ADDRESS> : ok=24 changed=9 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
Cheers, We have reached our goal for this article.
But I have something more before I end.
The above ansible playbook which we have written for securing the SSH remote connection is undoubtedly serving our purpose to a large extend. But nothing can be made perfect in just one go.
It is always recommended to keep an eye on the system's processes and services to get a deeper insight of what things are working properly and what other things requires more attention from our end. And for this purpose, an auditing tool sounds handy.
So, our last step would be to quickly setup an auditing tool for us, here, the Lynis.
Lynis is a battle-tested security tool for systems running Linux, macOS, or Unix-based operating system. It performs an extensive health scan of your systems to support system hardening and compliance testing. The project is open source software with the GPL license and available since 2007.
$ sudo apt-get install git
$ git clone https://github.com/CISOfy/lynis
$ sudo chown -R 0:0 lynis
$ cd lynis
$ su -
# ./lynis audit system
And after a long dedicated scan, it will give you a detailed report which includes measures like Hardening index, Tests performed etc.
As we see, the Lynis scan on our newly deployed VM (hardened using the above playbook) has a Hardening index of 74 which is highly appreciable for our work.
Along with this report, it will also output warnings and suggestions that can be used to improve the results to higher extents. You can check the entire Lynis scan log at "/var/log/lynis.log".
And bam! 🙌 This is the end of this article. :D
[UPDATE: I have improved some part of the above playbook for optimized execution and simpler look. You can check the updated post here. ]


{{- $collection := index .Data (.Feature.collection | default "features" ) -}} {{ range (index $collection .Feature.feature) }}


Properties p = new Properties();
// set the initial context factory
p.put("java.naming.factory.initial ", "org.apache.openejb.client.LocalInitialContextFactory");
// change some logging
p.put("log4j.category.OpenEJB.options ", " debug");
p.put("log4j.category.OpenEJB.startup ", " debug");
p.put("log4j.category.OpenEJB.startup.config ", " debug");
// create some resources
p.put("movieDatabase", "new://Resource?type=DataSource");
p.put("movieDatabase.JdbcDriver ", " org.hsqldb.jdbcDriver");
p.put("movieDatabase.JdbcUrl ", " jdbc:hsqldb:mem:moviedb");
// override properties on your "movie-unit" persistence unit
p.put("movie-unit.hibernate.dialect ", "org.hibernate.dialect.HSQLDialect");
// set some openejb flags
p.put("openejb.jndiname.format ", " {ejbName}/{interfaceClass}");
p.put("openejb.descriptors.output ", " true");
p.put("openejb.validation.output.level ", " verbose");
InitialContext initialContext = new InitialContext(p);
OpenEJB Embedded Configuration
Defaults, Overrides and Order
When booting up OpenEJB for testing via the LocalInitialContextFactory
or the newer EJBContainer.createEJBContainer()
API part of EJB 3.1
there is quite a bit of flexibility to how things are configured.
OpenEJB will function fine with no configuration at all and will happily create things as needed and select defaults for everything. So in a real sense configuration is all about overriding those defaults. There are several places to put your overrides and an a specific order how they are applied. Here they are in order of preference; 1 = highest, 5 = lowest.
InitialContext
-
InitialContext properties
-
jndi.properties from the classpath
-
System properties
-
openejb.xml declarations/properties
-
service-jar.xml declarations/properties (internal concept) }
EJBContainer API
-
EJBContainer.createEJBContainer(Map) entries
-
System properties
-
openejb.xml declarations/properties
-
service-jar.xml declarations/properties (internal concept)
It opens up some interesting possibilities in how you configure your
environment. You could do 100% of your configuration in your test case
via InitialContext propertes, or you could do say 80% in a
jndi.properties file or openejb.xml file and 20% in your test case via
InitialContext properties. You can put 100% of your configuration in a
jndi.properties
or openejb.xml
file and override them via
InitialContext
properties.
You can manage the properties how you wish and there is no need for redundant definitions if you do not want them.
What is configurable?
Everything you can configure via an openejb.xml (minus the element) can be configured/overridden via properties. See Configuring Containers in Tests and Configuring DataSources in Tests.
Everything in your logging.properties can be configured/overridden via properties. See Configuring Logging in Tests.
The properties of persistence units declared in a persistence.xml can be configured/overridden via properties. See Configuring PersistenceUnits in Tests.
OpenEJB has many flags that can also be set as properties. See OpenEJB Properties for details on those.
Example of using InitialContext properties
Example of using jndi.properties
Here’s an example of the same properties being specified via a
jndi.properties file
. This file just needs to be placed in the
classpath, not in a subdirectory of a path in the classpath such as
META-INF, but at the root of any of the paths in the classpath.
# set the initial context factory
java.naming.factory.initial = org.apache.openejb.client.LocalInitialContextFactory
# change some logging
log4j.category.OpenEJB.options = debug
log4j.category.OpenEJB.startup = debug
log4j.category.OpenEJB.startup.config = debug
# create some resources
movieDatabase = new://Resource?type=DataSource
movieDatabase.JdbcDriver = org.hsqldb.jdbcDriver
movieDatabase.JdbcUrl = jdbc:hsqldb:mem:moviedb
# override properties on your "movie-unit" persistence unit
movie-unit.hibernate.dialect = org.hibernate.dialect.HSQLDialect
# set some openejb flags
openejb.jndiname.format = {ejbName}/{interfaceClass}
openejb.descriptors.output = true
openejb.validation.output.level = verbose
Then OpenEJB can be booted via the InitialContext
as normal.
Properties can still be used to override any of the above properties:
Properties p = new Properties();
p.put("openejb.validation.output.level ", " medium");
InitialContext initialContext = new InitialContext(p);


KMD Labs spent the last few months of 2018 testing cross chain migrations, a CryptoConditions smart contract example which acts to move coins from one asset chain to another within the same cluster. Testing has continued into 2019, with an upcoming bounty challenge competitio...


$100.00
0 sats
0 customers/second
$0.00/second
0 employees
Food
Level 0
+1 Level for $100.00
1,000 ft
2
0 products/customer
$0.00/product


Now, mark scam rocks KU
Marks of BBA and BCA examinations found to have been modified
by Staff ReporterThe University of Kerala is facing a mark scam that threatens to tarnish the integrity of the establishment.
Close on the heels of the controversies in APJ Abdul Kalam Technological University and Mahatma Gandhi University over moderation of marks, a scam appears to be unfolding in Kerala University where marks of many students have been illegally modified.
Database breach
With the malpractice having been committed through unauthorised access of a restricted database, the confidentiality of the examination system has come under a cloud.
The marks obtained by students pursuing BBA and BCA courses in examinations conducted since 2016 have been found to be modified.
A preliminary inquiry by the university found that illegal alteration of moderated marks were made from June 20, 2018 to September 7, 2019 for papers of 16 subjects.
As a result, the total marks provided as moderation for the answer scripts in question had been increased from 76 to 132. The moderated marks have been increased by as many as six marks in certain cases.
It was found that the database had been accessed using the login credentials of the then Deputy Registrar of the examination sections.
Official suspended
At a hearing conducted by Pro Vice Chancellor A.R. Renuka, the officer said she had shared her user ID with other employees in the sections in violation of the norms.
She had been placed under suspension, pending inquiry.
Vice Chancellor V.P. Mahadevan Pillai has ordered an internal probe, led by Pro Vice Chancellor P.P. Ajayakumar, into the issue.
A three-member technical committee will also investigate the extent of the database breach.
The inquiry report is expected in a few days, following which the issue will be taken up for discussion at a Syndicate meeting scheduled for November 22, sources said.
Former Syndicate member Jyothikumar Chamakkala, a secretary of the Kerala Pradesh Congress Committee, termed the issue a serious one, which could potentially erode confidence in the university’s functioning.
Legal action must be initiated against those responsible, he added.


Java Agent is a thin layer that sits between the JVM and your application.
Java Application ------------------------------------------ Java Agent java.lang.instrument package ------------------------------------------ JVM
Provides services that allow Java programming language agents to instrument programs running on the JVM. The mechanism for instrumentation is modification of the byte-codes of methods.
An agent is deployed as a JAR file. An attribute in the JAR file manifest specifies the agent class which will be loaded to start the agent.


Simple but Handy Postgres Features
It seems each week when I’m reviewing data with someone a feature comes up that they had no idea existed within Postgres. In an effort to continue documenting many of the features and functionality that are useful, here’s a list of just a few that you may find handy the next time your working with your data.
Psql, and \e
This one I’ve covered before, but it’s worth restating. Psql is a great editor that already comes with Postgres. If you’re comfortable on the CLI you should consider giving it a try. You can even setup you’re own .psqlrc
for it so that it’s well customized to your liking. In particular turning \timing
on is especially useful. But even with all sorts of customization if you’re not aware that you can use your preferred editor by using \e
then you’re missing out. This will allow you to open up the last run query, edit it, save–and then it’ll run for you. Vim, Emacs, even Sublime text works just take your pick by setting your $EDITOR
variable.
Watch
Ever sit at a terminal running a query over and over to see if something on your system changed? If you’re debugging something whether locally or even live in production, watching data change can be key to figuring out. Instead of re-running your query you could simply use the \watch
command in Postgres, this will re-run your query automatically every few seconds.
1 2 3 4 5 6 |
|
JSONB pretty print
I love JSONB as a datatype. Yes, in cases it won’t be the optimal for performance (though at times it can be perfectly fine). If I’m hitting some API that returns a ton of data, I’m usually not using all of it right away. But, you never know when you’ll want to use the rest of it. I use Clearbit this way today, and for safety sake I save all the JSON result instead of de-normalizing it. Unfortunately, when you query this in Postgres you get one giant compressed text of JSON. Yes, you could pipe out to something like jq, or you could simply use Postgres built in function to make it legible:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Importing my data into Google
This one isn’t Postgres specific, but I use it on a weekly basis and it’s key for us at Citus. If you use something like Heroku Postgres, dataclips is an extremely handy feature that lets you have a real-time view of a query and the results of it, including an anonymous URL you can it for it. At Citus much like we did at Heroku Postgres we have a dashboard in google sheets which pulls in this data in real-time. To do this simple select a cell then put in: =importdata("pathtoyourdataclip.csv")
. Google will import any data using this as long as it’s in CSV form. It’s a great lightweight way to build out a dashboard for your business without rolling your own complicated dashboarding or building out a complex ETL pipeline.
I’m sure I’m missing a ton of the smaller features that you use on a daily basis. Let me know @craigkerstiens the ones I forgot that you feel should be listed.


School name is required
Affiliation code is required
Phone number is required
Phone number not valid
Phone number is not valid
Helpline number is required
Use xxx-xxxxxx format
Address is required
School Email is required
School Email is not valid
School Password is required
If you do not enter password, old password is used in edit case and for new user default password is chosen as - 123456
School Url not valid
School board is required
School Medium is required
School Type is required
{{progress1}}
File too large {{school.logo.size / 1000000|number:1}}MB: max 20M
{{progress2}}


Description
In Internet of Things, there’s a component called data analytic. Data analytic is an application to conclude a conclusion about sensor data. The data is focus on heart rate. With this application, user can look for their heart rate data as time-series trend, trend by time. There’s a graph visualization, condition illustration, and detailed conclusion about your heart rate trend.
Developer
Agus Adyandana
155150200111179
aadyandana@gmail.com


Home
About
All Posts
Download
GitHub project
Currently v1.0.0
© 2018. All rights reserved.
sdorsett.github.io
Things I find interesting
All Posts
This is a complete list of all blog posts:
Using Terraform to deploy an OVH public cloud server.
Using Vagrant to deploy an OVH public cloud server.
Using rclone to manage OVH Public Cloud swift storage
Using the Openstack cli to create a server on OVH public cloud
Manually creating an openstack server on OVH public cloud
Exploring the OVH public cloud and opensource tools that can use it.
Scripted Packer build, ovftool export and Vagrant .box file creation
Using ovftool to convert Packer generated virtual machines into Vagrant .box files
Copying our existing CentOS 6.7 template and adding the Puppet agent
Creating our first Packer template for installing CentOS 6.7 with vmtools
Setting up Packer, ovftool and Apache web server on a CentOS virtual machine
Installing a ESXi 6.0 virtual machine for use with Packer
Setting up a pipeline for creating Packer .box files
Creating a vCSA 5.5 .box template on CentOS 6.5 for vagrant deployment
Installing vagrant and the vagrant-vcenter provider on CentOS 6.5
Using packer on CentOS 6.5 to create an ESXi .box template for vagrant deployment
Using packer on OS X to create an ESXi .box template for vagrant deployment
Installing Vagrant and the vagrant-vcloud plugin on CentOS 6.x
Introducing the vagrant-vcloud provider
Creating a Puppet manifest and integrating it with Vagrant
Using advanced vagrant-vsphere provider settings and vCenter guest customization
Creating a CentOS 6.x template that is customized for Vagrant
Installing Vagrant and the vagrant-vsphere plugin on CentOS 6.x
Vagrant and why it is useful in learning Puppet


-
10 June 2019 version 1
New
£1,474,183
-
15 March 2019 version 2
Updated
£3,225,520
-
£4,725,425
-
9 March 2019 version 2
Updated
£568,805
-
£528,805
-
£1,680,657
-
Funding for apprentices on non-levy training.
September 2017 version 2
-
Funding for apprentices on non-levy training.
September 2017 version 1
-
Adult education budget (AEB), 16 to 18 traineeships and loans facilities funding allocation statement.
August 2017 version 1
-
Funding for apprentices who started their training before 1 May 2017.
August 2017 version 1


{{+bindTo:partials.standard_nacl_api}}
| void(* | MouseLockLost )(PP_Instance instance) |
The PPP_MouseLock
interface contains a function that you must implement to receive mouse lock events from the browser.
| void(* PPP_MouseLock::MouseLockLost)(PP_Instance instance) |
MouseLockLost() is called when the instance loses the mouse lock, such as when the user presses the ESC key.
| [in] | instance | A PP_Instance identifying one instance of a module. |


Install another fork of donkeycar
Occasionally you may want to run with changes from a separate fork of donkey. You may uninstall one and install another. That's fastest, but leaves you with only the forked version installed:
To get back to the stock donkey install:


the and with were influenza was for virus antibodies al, against < (Fig AAV antibody vaccine that AAV�?HA serum mice which The from titers Cal// WIV vectors cells broadly animals not AAV�?cHA induced sera using per vector between immunization protection viruses {background determined before groups indicated challenge reactive stalk ELISA HAI ferrets protective AAV�?NP induce lung technical after FcγR�?activating HA�?stalk are head headless heterologous margin vaccines & also only pre�?challenge viral {border-style However, added immune response used vaccination weight Statistical homologous neutralizing px;} responses #ffffff;} AAV�?vectored FcγR all antigen but group human inactivated mouse plates significance this well (Thermo binding hemagglutinin individual performed two assay both cHA data ferret immunity mean AAV�?HA, AAV�?cHA, IgG This Virol: antibodies. clinical expressing incubated into more most other pandemic test these AAV�?GFP Figure Fischer MDCKII antigenic antigens epitopes indicate induction samples .). Fig compared conformational different each infection loss production shown toward All Dunn's HA, IgA KrammerF, Scientific) activation can cell chimeric comparison conserved disease might min pooled three times (:,; (:; (Figs B). HA�?head Immunol: Influenza PBS control described done either has including multiple nasal negative region represent respiratory time virus. while (HN)pdm After Furthermore, Interestingly, PaleseP, TanGS, analyzed animal associated been constructs could day detected duplicates. expression gene had high indicating protein reduced severe subtypes testing within �?GFP, �?cHA, (*P (AAV�?HA, (HN); AAV�?HA�?immunized C). Germany) Mean Nat Sci additional adeno�?associated analysis and/or contained dilution doses during epitope expressed groups. have humans levels measured non�?neutralizing observed plasmids px; reporter show study tested their transfected vaccine. {font-family (Appendix A). Cells Data F). Germany). HN, Kruskal–Wallis Med: Table WHO buffer challenged development dilutions domain due duplicates). first font-size four homogenates immunogenicity increased infected intranasal lethal likely peptide peptides protect protected seasonal signal strains titer total under via viruses. vitro washed wild�?type (pH (red AAV�?GFP�?immunized AAV�?NP, AAV�?vector Acad Agilent Click Clin Ferrets Fisher HaiR, LINK NachbagauerR, Natl Proc Source USA: Vaccine: Yassine able based collab: containing derived did divergent double; ferrets. file. given group). here however, humoral immunized increase inhibition intranasally lack murine over points) protection. protects purified recognizing reducing replication results same screen severity signs strong submucosal such universal use vaccinated vaccines. work °C. (black **P Adeno�?associated D). E). For HA�?specific Hence, Hum IL�? Lines MargineI, MillerMS, Mol PLoS PaleseP Substrate These Thus, Vaccine Wilson, WilsonJM activating amino anti�?V�?tag bars border-color border-width broad capsid capsids cellular challenge, challenge. coated detection developed differences dose further glands higher i.e., identified incubation indicates induces load low lungs mHL mainly maximum mean. novel obtained our period post�?infection pre�?existing pre�?immune produced reactivity receptor regions respective secondary showed significant solid; staining stalk�?specific studies suited survival temperature thus tissue transfection van virus, virus�?specific von {font-style {font-weight �?week (AAV�?GFP) (OD (Pep), (WHO, (cHA) A/Michigan// A/Puerto AAV�?HL, AAV�?NP�?immunized Broadly B�?cell Cal//�?specific Cell Cell: ELISAs EVA). EVB). EVC). FcγR�?reporter Friedman Front Garcia�?SastreA, Gene Geneva, HSO. HeW, Health Here, Institute JegaskandaS, LeonPE, Lipofectamine Lung Moreover, MullarkeyCE, One: Optical PR, Pandemic Plates QIV QIV�?immunized RavetchJV Rico// S). SD. Scientific). Solution Switzerland: TMB�?ELISA Ther: Ultra Unexpectedly, Upon V�?tag WilsonPC, World according acid active amounts anesthetized animals, antibodies, applied available avian body bold bronchi cells, cells. chicken clear complete conferred confirmed contain contains contrast, correlated correlation coupled courier; culture currently cycle delivery den density design detectable distinct does effect efficiently elicit elicited em; epithelial evaluated even e�? ferrets, finding group) group, group. highly immunization, immunoblot immunogenic included infectious injection intervals. intramuscular limited lines: lower observations one onto parental period, platforms points polyclonal pools prepared presence prime proteins pt;} quadrivalent quantified reacting reaction recently related require requires separated sequential stained stopped strains. suggest suggested taken targeting than therapy through tract transmembrane turbinates until vectored verified viruses, washing, °C— �?Step™ �?day �?mHL �?mHL, �?mer


rdomains.Rmd
The latest development version of the package will always be on GitHub. To install the package from GitHub and to load the installed package:
#library(devtools) install_github("themains/rdomains")
To install the package from CRAN, type in:
install.packages("rdomains")
Next, load the package:
library(rdomains)
To get category of the content from shallalist, first download the latest file using:
And then, get the category using:
shalla_cat("http://www.google.com")
## domain_name shalla_category
## 1 google.com searchengines
To get category of the content from DMOZ, first download the archived parsed CSV file using:
And then, get the category using:
dmoz_cat("http://www.google.com")
Probability that Domain Hosts Adult Content Based on features of Domain Name and Suffix alone:
adult_ml1_cat("http://www.google.com")
## domain_name category
## 1 google.com 0.3133728
Start by getting the API key from virustotal.
Get virustotal category by running:
virustotal_cat("http://www.google.com")
## domain bitdefender dr_web alexa google websense trendmicro
## 1 http://www.google.com searchengines chats google searchengines advertisements search engines portals
Get the content category of a domain according to McAfee (Trusted):
trusted_cat("http://www.google.com")
## url status categorization reputation
## 2 http://www.google.com Categorized URL - Search Engines Minimal Risk
To get the category of content from Amazon (Alexa) (which provides it via DMOZ), start by getting credentials from https://aws.amazon.com/. Next, set the environment variables:
Sys.setenv("AWS_ACCESS_KEY_ID", "key_id") Sys.getenv("AWS_SECRET_ACCESS_KEY", "secret_key")
Then run,
alexa_cat(domain="http://www.google.com")[1,]
## Title AbsolutePath
## 1 Search Engines/Google Top/Computers/Internet/Searching/Search_Engines/Google


the-traveler is a small npm package which wraps around the Destiny 2 API. It uses Promises for a modern workflow in your application.
npm install the-traveler
yarn add the-traveler
To use this package you will need to obtain an API access key from the Bungie.net developer website. Please visit https://www.bungie.net/en/Application to obtain your access token.
After obtaining your access token you are ready for using the Destiny 2 API in your next awesome project.
import Traveler from 'the-traveler';
import { ComponentType } from 'the-traveler/build/enums';
const traveler = new Traveler({
apikey: 'pasteYourAPIkey',
userAgent: 'yourUserAgent', //used to identify your request to the API
});
If you want to use this package inside a ES5 project you can import it like so:
var Traveler = require('the-traveler').default;
const Enums = require('the-traveler/build/enums')
const traveler = new Traveler({
apikey: 'yourAPIkey',
userAgent: 'yourUserAgent' //used to identify your request to the API
});
//Access the enums (example componentType profiles)
var profilesType = Enums.ComponentType.Profiles;
If you want to show the URLs the API wrapper is requesting, just add debug: true
to the configuration array when instantiate a Traveler
object
const traveler = new Traveler({
apikey: 'pasteYourAPIkey',
userAgent: 'yourUserAgent', //used to identify your request to the API
debug: true
});
With version v1.0.0
the structure of the library changed quite a bit. Not in terms of functionality but in terms of how the different methods are called. The Traveler
object contains different attributes indicating the different resource endpoints. For example if you want to use endpoints from Destiny 2 you call them by:
traveler.destiny2.<method>
If you want to access OAuth related methods, they are located under:
traveler.oauth.<method>
This decision was made to better seperate the calls according to their destination. You can find the different resource endpoints in the documentation.
If you want to use OAuth to get access to endpoints which require user approval provide the Traveler
object with your OAuth clientId
and if you are using a confidential client type additionally the clientSecret
.
import Traveler from 'the-traveler';
const traveler = new Traveler({
apikey: 'pasteYourAPIkey',
userAgent: 'yourUserAgent', //used to identify your request to the API
oauthClientId: 'yourClientId',
oauthClientSecret: 'yourClientSecret',
});
Please ensure that you specified a redirectURL
in your application settings on https://www.bungie.net/en/Application.
After you have done that, you can generate the authentication URL which has to be visited by your users to approve your application. The URL is constructed with the following schema: https://www.bungie.net/en/OAuth/Authorize?client_id={yourClientID}&response_type=code
.
const authUrl = traveler.oauth.generateOAuthURL(); // The URL your users have to visit to give your application access
If a user visit this site and approve your application he/she will be redirected to the redirectURL
you specified. This URL is expaned with query parameter called code
: https://www.example.com/?code=hereComesTheCode
This is the code you need to obtain the OAuth Access token with the getAccessToken()
method.
traveler.oauth.getAccessToken(hereComesTheCode).then(oauth => {
// Provide your traveler object with the oauth object. This is later used for making authenticated calls
traveler.oauth = oauth;
}).catch(err => {
console.log(err)
})
The OAuth response schema is depended on the client type you are using. With a public
type the response does not contain a refresh_token
. This means that a user has to authenticate everytime again after the OAuth access token has expired.
Response:
{ access_token: '',
token_type: 'Bearer',
expires_in: 3600,
membership_id: '' }
If you are using a confidential
client type the response will contain a refresh_token
which can be used to get a new access_token
without requiring the user to approve your app again. Use this refresh_token
to prevent you from getting errors if the access_token
has expired. In the following you can see such a response with the method to renew the token.
Response:
{ access_token: '',
token_type: 'Bearer',
expires_in: 3600,
refresh_token: '',
refresh_expires_in: 7776000,
membership_id: '' }
Use refresh:
traveler.oauth.refreshToken(traveler.oauth.refresh_token).then(oauth => {
// take the refresh token from the oauth object you provided when initialize the oauth to the traveler
// Provide your traveler object with the oauth object. This is later used for making authenticated calls
traveler.oauth = oauth;
}).catch(err => {
console.log(err)
})
So the refresh procedure has to be initiated manually, there is no automatic refresh implemented.
To wrap this up, the flow is the following:
clientId
and clientSecret (only for confidential)
authUrl
and redirect users to itcode
parameter from your redirectURL
code
to get the OAuth object
and apply it to the Traveler object
authorization url
againtraveler.oauth.refreshtoken
to renew the accessToken
, without user interaction by traveler.refreshToken()
async
and await
to overcome the callback hell
, see Async await approach (pseudo-code)The npm package comes with d.ts
files to allow autocompletion and type checking if you are using the-traveler
within Typescript.
There are some other noteworthy information which could help to resolve some issues with the Destiny 2 API.
The response object from the API is always constructed like the following snippet indicates. The Response
will contain the actual request data, while ErrorCode
, ThrottleSeconds
, ErrorStatus
, Message
and MessageData
will hold additional data about the sucess of our request.
{ Response: Array or Object,
ErrorCode: 1,
ThrottleSeconds: 0,
ErrorStatus: 'Success',
Message: 'Ok',
MessageData: {} }
Some information in the Destiny API is privacy protected. If the user set the pricacy settings, and you do not use oauth for those users, it is not possible to obtain specific information through the API. The different pricacy indicators are the following:
Here are some examples on how to use the library. You can find exhaustive examples in the documentation
Query:
traveler
.destiny2
.searchDestinyPlayer('2', 'playername')
.then(player => {
console.log(player);
}).catch(err => {
//do something with the error
})
Response:
{ Response:
[ { iconPath: '/img/theme/destiny/icons/icon_psn.png',
membershipType: 2,
membershipId: '4611686018433838874',
displayName: 'Playername' } ],
ErrorCode: 1,
ThrottleSeconds: 0,
ErrorStatus: 'Success',
Message: 'Ok',
Here all character specific components are queried. You can either use normal strings or use the integrated enums.
Query:
import Traveler from 'the-traveler';
import {ComponentType} from 'the-traveler/build/enums'
const traveler = new Traveler({
apikey: 'pasteYourAPIkey',
userAgent: 'yourUserAgent' //used to identify your request to the API
});
traveler
.destiny2
.getCharacter('2', '4611686018452033461', '2305843009265042115', { components: ['200', '201', '202', '203', '204', '205'] }).then(result => {
console.log(result);
}).catch(err => {
console.log(err);
});
// OR
traveler
.destiny2
.getCharacter('2', '4611686018452033461', '2305843009265042115', {
components:
[
ComponentType.Characters,
ComponentType.CharacterInventories,
ComponentType.CharacterProgressions,
ComponentType.CharacterRenderData,
ComponentType.CharacterActivities,
ComponentType.CharacterEquipment
]
}).then(result => {
console.log(result);
}).catch(err => {
console.log(err);
});
Response (First level):
{ Response:
{ inventory: { privacy: 2 },
character: { data: [Object], privacy: 1 },
progressions: { privacy: 2 },
renderData: { data: [Object], privacy: 1 },
activities: { privacy: 2 },
equipment: { data: [Object], privacy: 1 },
itemComponents: {} },
ErrorCode: 1,
ThrottleSeconds: 0,
ErrorStatus: 'Success',
Message: 'Ok',
MessageData: {} }
Just a thought about using async
and await
async () => {
const traveler = new Traveler({
apikey: 'pasteYourAPIkey',
userAgent: 'yourUserAgent', //used to identify your request to the API
oauthClientId: 'yourClientId',
oauthClientSecret: 'yourClientSecret',
});
traveler.oauth = await traveler.getAccessToken(accessCode);
// OR
traveler.oauth = await traveler.refreshToken(refreshToken);
// now do your calls
}
To use the manifest you first have to download it via 'traveler.downloadManifest(manifestUrl, filename)'. Be aware that you have to install node-sqlite3 to use the manifest class
The manifestUrl
can be every URL contained in the response of traveler.getManifest()
This method will download the specified manifest, unzip it and save it as filename
. Afterwards you are able to create a new instance of the Manifest
class. With this it is possible to query the saved file with valid sqlite queries. A good hint for querying is noted in the Gist from @vpzed. The result is retrieved asynchronously which makes it possible to integrate it with the async
await
flow.
common way:
import Traveler from 'the-traveler';
import Manifest from 'the-traveler/build/Manifest'
traveler.destiny2.getDestinyManifest().then(result => {
traveler.destiny2.downloadManifest(result.Response.mobileWorldContentPaths.en, './manifest.content').then(filepath => {
const manifest = new Manifest(filepath);
manifest.queryManifest('SELECT name FROM sqlite_master WHERE type="table"').then(queryResult => {
console.log(queryResult);
}).catch(err => {
console.log(err);
});
}).catch(err => {
console.log(err);
})
})
async way:
import Traveler from 'the-traveler';
import Manifest from 'the-traveler/build/Manifest'
async ()=> {
const result = await traveler.destiny2.getDestinyManifest();
const filepath = await traveler.destiny2.downloadManifest(result.Response.mobileWorldContentPaths.en, './manifest.content');
const manifest = new Manifest(filepath);
const queryResult = await manifest.queryManifest('SELECT name FROM sqlite_master WHERE type="table"')
}
Please visit the official documentation for the API to check if the endpoints are working or if they are still in preview. If you find endpoints in preview, please keep in mind that errors can occur quite often. If the endpoints get finalized also this package will adopt changes and test the functionalities.
Huge thanks to @BenHollis and bungie-api-ts to provide the type definitions for the library, all credits for those are going to him/them
the-traveler uses SemVer for versioning. For the versions available, see the tags on this repository.
Do you have any issues or recommendations for this package ? Feel free to open an issue in the issue section.
This project is licensed under the MIT License - see the LICENSE.md file for details
the-traveler package isn't endorsed by Bunge and doesn't reflect the views or opinions of Bungies or anyone officially involved in producing or managing Destiny 2. Destiny 2 and Bungie are trademarks or registered trademarks of Bungie, Inc. Destiny 2 © Bungie.


This example demonstrates the drawer, as well as using window.postMessage to communicate between WebViews.
window.postMessage


logout
|
status
Configuration:
Network settings:
Connect using Ethernet:
Connect using wifi:
Wifi SSID:
Wifi Password:
IP Address:
Auto
Subnet Mask:
Gateway:
DNS:
Auth Server:
Realm:
Keypad settings:
Unlatch duration:
seconds
Allow remote trigger of latch
Auxiliary function A:
Auxiliary function B:
Auxiliary function C:
Auxiliary function D:
General settings:
Change admin password:
Confirm new password:
Disable this admin interface (Recommended)
Admin interface can be re-enabled using *88


-Try it free for unlimited time.
-No credit card details required.
-Switch/cancel to any other plan when required.
-per boat
-Switch to any other plan when required.


| HOME | DOWNLOAD | DOCUMENTATION | FAQ |
> Home > Documentation > Fortran 95 > Localized Spectral Analysis
SHMTDebias
Invert for the global power spectrum given a multitaper spectrum estimate formed with spherical cap localization windows.
Usage
call SHMTDebias (mtdebias
, mtspectra
, lmax
, tapers
, lwin
, k
, nl
, lmid
, n
, taper_wt
, exitstatus
)
Parameters
mtdebias
: output, real*8, dimension (2, ceiling((lmax
+1)/nl
))- The global power spectrum (column 1) and uncertainty (column 2). The midpoints of the N spherical harmonic bins are given in
lmid
. mtspectra
: input, real*8, dimension (2,lmax
+1)- The localized multitaper spectrum estimate and uncertainty, obtained from a routine such as
SHMultitaperCSE
orSHMultitaperSE
. lmax
: input, integer- The spherical harmonic bandwidth of the localized multitaper spectrum estimates.
tapers
: input, real*8, dimension (lmaxt
+1,k
)- An array of the K windowing functions, arranged in columns, obtained from a call to
SHReturnTapers
. lwin
: input, integer- The spherical harmonic bandwidth of the windowing functions in the array
tapers
. k
: input, integer- The number of tapers utilized in the multitaper spectral analysis.
nl
: input, integer- The global power spectrum is assumed to be constant within bins of spherical harmonic wdith
nl
. In addition, the global power spectrum will be assumed to be constant beyondlmax
. lmid
: output, real*8, dimension ((lmax
+1)/nl
+1)- The midpoints of the spherical harmonic bins for which the global power spectrum is constant.
n
: output, integer- The number of bins used in
mtdebias
andlmid
. taper_wt
: input, optional, real*8, dimension (k
)- The weights used in calculating the multitaper spectral estimates. Optimal values of the weights (for a known global power spectrum) can be obtained from the routine
SHMTVarOpt
. exitstatus
: output, optional, integer- If present, instead of executing a STOP when an error is encountered, the variable exitstatus will be returned describing the error. 0 = No errors; 1 = Improper dimensions of input array; 2 = Improper bounds for input variable; 3 = Error allocating memory; 4 = File IO error.
Description
SHMTDebias
will invert for the global power spectrum given a localized multitaper spectrum estimate formed from spherical cap localization windows. This linear inverse problem is inherently underdetermined, and in order to achive a unique solution it is assumed that the global spectrum is constant in bins of width nl
, and that the global power spectrum is constant for degrees greater than lmax
. In practice nl
should be increased until the global power spectrum is everywhere positive (negative values would be unphysical) and the variances are reasonable. Further details can be found in Wieczorek and Simons (2007).
This set of linear equations is solved using the method of singular value decomposition as outlined in Press et al. (1992, pp. 670-672). Each value of the multitaper spectrum estimate mtspectra(1,:)
, as well as the corresponding rows of the transformation matrix, is divided by the uncertainties of the estimate mtspectra(2,:)
. The solution and uncertainty are given by eqs 15.4.17 and 15.4.19 of Press et al. (1992, p. 671), respectively.
If taper_wt
is not specified, the weights will all be assumed to be equal to 1/K
.
References
Press, W.H., S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery, Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd ed., Cambridge Univ. Press, Cambridge, UK, 1992.
Wieczorek, M. A. and F. J. Simons, Minimum-variance multitaper spectral estimation on the sphere, J. Fourier Anal. Appl., 13, 665-692, doi:10.1007/s00041-006-6904-1, 2007.
See also
shmultitaperse, shmultitapercse, shreturntapers, shmtvaropt, shmtcouplingmatrix
> Home > Documentation > Fortran 95 > Localized Spectral Analysis
| Laboratoire Lagrange | Observatoire de la Côte d'Azur | © 2017 SHTOOLS |


| Navigation | |
|
Loomy allows easy navigation between several elements in your template are related content. These are the navigations you can perform:
Probably the most used navigation. Loomy provides an action (CTRL+SHIFT+G by default) that allows you to navigate from a template to it's corresponding class and vice-versa.
This navigation allows you to navigate from a component tag in your template to that component class. Just press CTRL+Click on the tag itself.
If you have bound a component parameter with a property you can now just press CTRL+Click on the parameter value in your template and you will navigate to the method that corresponds to the given property.
This navigation allows you to navigate from a component tag in your template to that component documentation displayed in the Tapestry ToolWindow. This action is associated by default to the key CTRL+Shift+D, so just use when the cursor is on a component tag and you'll see it's documentation. |


The Portable Document Format (PDF) was not designed for tabular data. Sadly, a lot of open data is shared as PDFs and getting tables out for analysis and record-keeping is a pain. Excalibur makes PDF table extraction very easy. You can download the extracted tables as CSVs or an Excel spreadsheet. All data remains on your machine.
There are both open and closed-source tools that are widely used for PDF table extraction.  Excalibur is powered by Camelot (written by one of the authors) which gives users complete control over table extraction. If you don't get the desired output with default settings, you can tweak them and get the job done!
Excalibur can detect tables in your PDFs automatically. For cases where it doesn't, you can tweak table extraction settings, save them as presets and then apply them on different PDFs with similar table structures. After v0.5.0, Excalibur will have a web API which can be used to start table extraction jobs and download extracted tables when jobs finish.
Excalibur can be configured with MySQL and Celery to execute table extraction jobs in a parallel and distributed manner. By default, jobs are executed sequentially. You can check out the documentation at https://excalibur-py.readthedocs.io for more details.
You can upload your PDF using the web interface. You can also see previous uploads. All file storage and processing happens on your own local or remote machine, which means that you have complete control over your data.
You don't need to draw table areas and column separators in most cases, because Excalibur can do that automatically.
You can draw table areas and also add column separators in cases where the tables are buried deep inside the text on the page.
Each new table extraction rule (table areas, column separators and other settings) is saved by default. You can load it next time you see a PDF with a similar table structure.
Excalibur can be easily installed using pip which is a package manager for Python packages.
Or you can just download the executable and run it directly!
Download Now!Copyright © Camelot Dev 2018
Made with in New Delhi, India


 This is due to their real and genuine fear that they are in danger
of serious harm or persecution due to their race, religion, nationality, sex or
political opinion. This is always an issue of insecurity over internal wars,
invasion of outside forces or events that seriously disturb the order in their
country. This insecurities affect so many young people with 18.2% being young people
between 5-11 years and 35% between 12-30 years.
This has affects when it comes to development as those who are mostly affected are
the young and women who play key roles in community development. In these camps they
always lack quality education, proper health care and are still affected by
insecurity as their camps are always targeted by militia. Some of the young people
in these camps are ready to return home or are willing to beat all odds to remain
relevant in our society today through fighting the menace, insecurity which is
destroying most African countries.
The refugee program focuses on helping young refugees realize their dreams by
capitalizing on capacity building them on matters of security, community
development, personal development and team building. We need to have them focus on
being ambassadors of progressive attitude transformation and be drivers of economic
development in these camps and there mother countries. The program bases on creating
peace ambassadors and economic empowered young refugees who support themselves.


Before Change
rtol = 1e-3
atol = 1e-6
y0 = [1/3, 2/9]
for method in ["RK23", "RK45", "Radau", "BDF"]:
for t_span in ([5, 9], [5, 1]):
res = solve_ivp(fun_rational, t_span, y0, rtol=rtol,
max_step=0.5, atol=atol, method=method,
After Change
assert_raises(ValueError, method, fun_rational, t_span[0], y0, t_span[1], max_step=-1)
solver = method(fun_rational, t_span[0], y0, t_span[1], rtol=rtol, atol=atol, max_step=1e-20)
message = solver.step()
assert_equal(solver.status, "failed")
assert_("step size is less" in message)
assert_raises(RuntimeError, solver.step)


Breakpoints¶
-
class
lauterbach.trace32.rcl.
Breakpoint
(connection, *, action=None, address=None, type=None, impl=None, enabled=True, **kwargs)¶ -
property
address
¶ The breakpoint’s address.
- Getter
Returns this symbols name.
- Setter
Sets this symbol’s name.
- Type
string
-
class
Action
¶ An enumeration.
-
class
Type
¶ An enumeration.
-
class
Impl
¶ An enumeration.
-
delete
()¶ Delete Breakpoint.
-
disable
()¶ Disable breakpoint.
-
enable
()¶ Enable breakpoint.
-
set
()¶ Set Breakpoint.
-
property


A Language for Distributed, Eventually Consistent Computations
Lasp is a new programming model designed to simplify large scale, fault-tolerant, distributed programming. It leverages ideas from distributed dataflow extended with convergent replicated data types, or CRDTs. This supports computations where not all participants are online together at a given moment. The initial design supports synchronization-free programming by combining CRDTs together with primitives for composing them inspired by functional programming. This lets us write long-lived fault-tolerant distributed applications, including ones with nonmonotonic behavior, in a functional paradigm.
Listen to Christopher Meiklejohn discuss the inspiration and design for the Lasp programming model.
Follow these two easy steps to get a Lasp instance running with Docker! (For this image to run correctly, the docker-machine needs to be configured with more than one processor.)
Lasp's prototype implementation is provided as an Erlang library. Erlang is an excellent language for distribution and concurrency, and allows us to prototype new features for Lasp quickly. Below is a code sample for creating a distributed set and applying a map function to the set.
There have been several talks about Lasp, but for a good overview of how the language and runtime work:
Conference and workshop papers relating to Lasp and its predecesors, have been presented at:


Hierarch Kekropus:
The woman in the blue dress distributed these Tablets of Vision all over the world.
It will be very difficult to find the locations of them all, hidden as they are in the
secret and dangerous places.
Even if you do find their locations, you will still require a mystical object called the
Resonance Amulet in order to decipher the secret of the Tablets...
The Demon Beleth is also seeking the knowledge contained within the Tablets -- you must
prevent him from acquiring it at all costs!
"I will find the Tablets before Beleth does."


About Me
I grew up in Wisconsin, went to college in Indianapolis, and moved to San Francisco in 2002. I spent most of 2016 in New Orleans, where I dressed up as a pirate and sold absinthe to tourists. In December, I moved back to the Bay Area and am now living in Oakland.
When I’m not in class learning to code, I’m a freelance writer. I also enjoy riding my bikes (the pedal kind, not the vroom vroom kind,) cooking, reading books with pictures, highbrow beer, live music, reading books without pictures, comedy, lowbrow wine, smelly cheeses (ask me about the cheese factory century,) cats, record collecting, cooking, and non-smelly cheeses.


SpanClient¶
Many frameworks exist for quickly declaring REST-ful API’s, but few exist for quickly declaring clients to consume them.
A good, pre-built client to make interacting with your API painless goes a long way toward your API’s usability. SpanClient seeks to make declaring a high-level client as painless as declaring the services that feed it.
Lets declare a small client can interact with an API that stores names of people. We need to make two methods: one that fetches a name based on a UUID, and one that posts a new name to be assigned a uuid:
import uuid
import marshmallow
from spanclient import SpanClient, handles, MimeType, ClientRequest
class NameSchema(marshmallow.Schema):
id = marshmallow.fields.UUID()
first = marshmallow.fields.Str()
last = marshmallow.fields.Str()
REQ = SpanClient.REQ
class MyClient(SpanClient):
DEFAULT_HOST_NAME = "api.names.com"
DEFAULT_PROTOCOL = "https"
@handles.get(
"/names/{name_id}",
resp_schema=NameSchema()
)
async def fetch_name(self, name_id: uuid.UUID, req: ClientRequest=REQ) -> dict:
req.path_params["name_id"] = name_id
@handles.post(
"/names",
mimetype_send=MimeType.YAML,
req_schema=NameSchema(exclude=["id"]),
mimetype_accept=MimeType.YAML,
resp_codes=201,
resp_schema=NameSchema()
)
async def create_name(self, name: dict, req: ClientRequest=REQ) -> dict:
req.update_obj = name
client = MyClient()
That’s all it takes!
The first method:
Fetches name objects from “www.names.api/names/{name_id}”
Uses the passed
name_id
value for the{name_id}
url path paramLoads the response body using
NameSchema()
Automatically use the loaded response body as the method’s return value.
The second method:
Takes in a name object and uses
NameSchema(exclude=["id"])
to serialize the request body as YAML data.Requests YAML data back from the server.
Deserialized the response body using
NameSchema()
.Checks that the response code is
201
.Update the existing
name
object in-place with the returned data rather than returning a new one.Use the existing name object as the method’s return value.
Both Methods:
Will raise errors sent back from the server using native python exceptions.
Send requests asynchronously using asyncio.
Important
SpanClient is designed to work with SpanServer, and follows it’s conventions for passing errors, paging, and encoding content.
- Quickstart
- Declare a Client
- Add a Method
- Return Values
- Check Response Code
- Handling Response / Return
- Request Body
- Content-Type Encoding
- Request a Content-Type
- Content-Type Sniffing
- Content-Type Handlers
- Path Parameters
- Query Parameters
- Projection URL Params
- Request Headers
- Request Body Schema
- Response Body Schema
- Update Data In-Place
- Response Errors
- Paged Endpoints
- Test Utilities
- API Guide