The most visible part of forms-angular is the form-input directive which takes a schema in the scope and creates inputs. These schemas can be very simple as in the example below:

 <form> <form-input schema="name" /> </form>

This simple bit of markup creates a small schema and stores it in the $scope as name(you wouldn't normally it like this, but it illustrates things well) then in a form invokes the form-input directive, telling it to use the schema just created.
Unfortunately displaying the resulting form stops the page scrolling to the internal links, so we have decided to omit it - there are plenty of examples accessible elsewhere on the site.
Mongoose is a popular package that simplifies using MongoDB with Node JS. Mongoose requires that a schema is created for each 'model'. As you will have seen in the Get Started section, forms-angular can convert Mongoose schemas into the schemas that the form-input directive uses, which saves a lot of coding by hand and makes it very easy to keep your front and back ends in sync.
As many models as you want can be registered with forms-angular by calling the addResource
method of the forms-angular object as shown in the
Get Started section. If you have more than a few models it is a good idea to put them in their own
directory and loop through it.
A trivially simple schema looks like this:
var ApplicantSchema = new Schema({ surname: {type:String, required:true, index:true}, forename: {type:String, index:true}, });
Each schema element (or field) has a type and optionally a number of other properties. Many of these properties are used by forms-angular to generate appropriate behaviour on the front end. The appropriate input types are used, and client side validation keeps round trips down (we cannot say "to a minimum" as work remains to be done in this area).
You can get an idea of what forms-angular does with a vanilla Mongoose JS schema by looking at this schema and the form generated from it.
For comprehensive information about Mongoose schemas visit the Mongoose JS website.
In a couple of places forms-angular uses the concept of 'list fields' - fields that generally allow the user to quickly see what they are dealing with - for example in the case of a person the forename and surname would be list fields. They don't have to be unique, they just have to be useful. List fields are used:
A field may be specified to be a list field by adding a truthy value for a list key
in the schema element: forename: {type:String, list:true}
List fields can be generated on both the front and back end, and it is done as follows:
The mark-up of generated forms can be influenced by use of the form object in the
schema type: surname: {type:String, form:{label:'Family Name', size:'large'}}
The form object can have the following keys:
This example schema and this form shows many of these options in use.
Sometimes it is hard within a Mongoose schema to detail exactly how you want the associated form or forms to be laid out. One particular class of layout features that currently cannot be requested within a Mongoose schema are containers. Hopefully this will be addressed in a forthcoming release but if you need them now then you need to create a schema by hand (or dynamically in code).
An example of a use of containers would be:
<form-input ng-init="names=[ {containerType:'fieldset',title:'Name',content: [ {id:'f_surname',label:'Surname',name:'surname',type:'text'}, {id:'f_forename',label:'forename',name:'forename',type:'text'} ] } ]" schema="names"></form-input>
Other containers are tab, well, well-large and well-small.
If you want to "roll your own" you can do something like:
 <form-input ng-init="names=[ {containerType:'redBorder',title:'Name',titleTagOrClass:'bigRed',content: [ {id:'f_surname',label:'Surname',name:'surname',type:'text'}, {id:'f_forename',label:'forename',name:'forename',type:'text'} ] } ]" schema="names"></form-input>
Where container type is seen as a class for a div and a titleTagOrClass of h1..h6 is interpreted as a heading tag and anything else as a class to be applied to a paragraph (as in the example). If a title is specified without a corresponding titleTagOrClass then
 is used as a default.
It is easy to create custom form schemas which are a subset of the whole schema by specifying the fields to include and any options. See the static in this example. The custom form schemas are invoked as follows:
Custom schemas are a good way to allow access to only part of a document, for instance if a customer record contained operational and accounts information an accounts user would require a different view of the data (that would include account balance) than a user from operations (who would not have access to the account balance). Consider the following:
var AddressSchema = new Schema({
type: { type: String, default: 'Home', enum: ['Delivery', 'Invoice', 'Historic'] },
street: String,
town: String,
postalCode: String
}, {_id: false});
and in the customer model
addressList: {type: [AddressSchema], mergeKey: 'type', form: {pane: 'Address', labels: 'Addresses'}}
We need a way of having the delivery address appear on one form (for the operation user) and the invoice address on the finance form, even though they are in the same field.
forms-angular has the concept of a subkey for this scenario. The custom schema for the operations user would contain:
addressList: {subkey: {keyList: {type: 'Delivery'}, containerType: 'well-small', title: 'Address', titleTagOrClass: 'h5'}}
while that for finance might include
addressList: {subkey:
[
{keyList: {type: 'Invoice'}, containerType: 'well-small', title: 'Invoice To:'},
{keyList: {type: 'Delivery'}, containerType: 'well-small', title: 'Deliver To:'}
]
}
Note that subkey can be an object or an array of objects. Where there are multiple sub docs that match the subkey the first will be used.


|
My Project
|
Public Attributes | |
| struct nn_fsm | fsm |
| int | state |
| struct nn_epbase | epbase |
| struct nn_usock | usock |
| struct nn_backoff | retry |
| struct nn_stcpmux | stcpmux |
| struct nn_dns | dns |
| struct nn_dns_result | dns_result |
| char | buffer [256] |
| char nn_ctcpmux::buffer[256] |
| struct nn_dns nn_ctcpmux::dns |
| struct nn_dns_result nn_ctcpmux::dns_result |
| struct nn_epbase nn_ctcpmux::epbase |
| struct nn_fsm nn_ctcpmux::fsm |
| struct nn_backoff nn_ctcpmux::retry |
| int nn_ctcpmux::state |
| struct nn_stcpmux nn_ctcpmux::stcpmux |
| struct nn_usock nn_ctcpmux::usock |


Brief History of HTML
- Invented by Tim Berners-Lee.
- Created "hypertext" to share scientific papers.
- First web page August 6, 1991.
- Standardized by World Wide Web Consortium (w3c).
Anatomy of a Website
Your Content
+ HTML: Structure
+ CSS: Presentation
= Your Website
HTML: What is it?
- HTML stands for
Hyper
Text
Markup
Language
- A text file that is "marked up" with tags.
- The markup tags tell the Web browser how to display the page.
- An HTML file can be created using a simple text editor or a WYSIWIG editor.
- Saved with
.html
extension.
- The native language of web browsers.
HTML tags
Each tag has a "start tag", "end tag", some content in between, and optional attributes.
content
The Iron Yard
Basic HTML file
Open a new pen in codenpen.io
Exercise Time!
Create a webpage that looks like this screenshot.
You can copy some of the text and hyperlink URLs from theironyard.com/locations.


Buton "Go Top"
* Daca folositi imagini/icons realizate de altcineva, verificati licenta si conditiile de utilizare:
Icons made by
Dave Gandy
from
www.flaticon.com
is licensed by
CC 3.0 BY


Parallel coordinates is a common way of visualizing high-dimensional geometry and analyzing multivariate data. To show a set of points in an n-dimensional space, a backdrop is drawn consisting of n parallel lines, typically vertical and equally spaced. A point in n-dimensional space is represented as a polyline with vertices on the parallel axes; the position of the vertex on the ith axis corresponds to the ith coordinate of the point. In this visualization we have multivariate share market random dataset. Table is dynamically generated according to the dataset. To view all the variables of a particular data item hover the mouse on the table. Green color of the line indicates that change % is positive and Red line indicates that change % is negative whereas blue line means change % is 0(In context of share market). Update button generates new random dataset and plot them.


Evaluates traveltimes and ray paths using predefined Earth (or other planet) models. Includes phase plotting routines. The IASP91 (Kennett and Engdahl, 1991 <doi:10.1111/j.1365-246X.1991.tb06724.x>) and AK135 (Kennett et al., 1995 <doi:10.1111/j.1365-246X.1995.tb03540.x>) Earth models are included, and most important arrival phases can be evaluated.
| Version: | 1.5 |
| Suggests: | RSEIS |
| Published: | 2018-08-31 |
| Author: | Jake Anderson, Jonathan Lees; largely translated from the TTBOX Matlab toolbox by Martin Knapmeyer (http://www.dr-knapmeyer.de/downloads/) |
| Maintainer: | Jake Anderson <ajakef at gmail.com> |
| License: | GPL-2 | GPL-3 [expanded from: GPL] |
| NeedsCompilation: | no |
| CRAN checks: | TauP.R results |
| Reference manual: | TauP.R.pdf |
| Package source: | TauP.R_1.5.tar.gz |
| Windows binaries: | r-devel: TauP.R_1.5.zip, r-release: TauP.R_1.5.zip, r-oldrel: TauP.R_1.5.zip |
| OS X binaries: | r-release: TauP.R_1.5.tgz, r-oldrel: TauP.R_1.5.tgz |
| Old sources: | TauP.R archive |
Please use the canonical form https://CRAN.R-project.org/package=TauP.R to link to this page.


<%=n.docs%> documents were read in.
<%if(prefilter.thresh.1>0){%>Filtering to only use documents containing at least <%=prefilter.thresh.1%> of the following words:
<%=paste(prefilter.words.1, collapse=", ")%>
<%if(prefilter.thresh.2>0){%>
as well as any of these words:
<%=paste(prefilter.words.2,collapse=", ")%>
<%}%>
<%=n.docs.f%> remain after filtering
<%}%>Documents are scored according to the occurrence of words in the following lexicons derived from the categories of the Harvard Inquirer: Economic combines "Econ@" and "ECON", Legal uses "Legal", Political combines "Polit@" and "POLIT" and Social combines "Role" and "SocRel". The scores given are the fraction of words in each document that are found in the relevant lexicon.


Hail is a multicoin cryptocurrency wallet, designed to be able to support many different cryptocurrencies and currently supporting bitcoin and ethereum.
Hail is named after the While at bitpay, I became very interesting in the bitpay wallet client and spent a lot of time trying to understand how it worked. At the time, the bitpay wallet client ( and it's open source variant, copay ) relied on a custom backend called BWS or bitpay wallet services ( CWS was the open source variant ). While poking around the code and trying to understand how wallet software worked, I realized that some private/public keypairs were stored server side to make it easier to detect which addresses belonged to which user, and had this confirmed by a senior dev.
The senior dev told me it was impossible/infeasible to do this any other way, however I didn't agree. Having spent some time looking into how noncustidal wallets worked, and after some conversations on #bitcoin-dev I felt confident enough to try to prove that senior dev wrong.


--- layout: post title: home tags: [] status: publish type: post published: true meta: {} ---
Welcome to Teacup In A Storm, online solutions providers, specialising in custom web applications, database driven sites, with a focus on accessible, user centric and standards based design.
Based in London England, Teacup In A Storm, have helped a number of clients spanning the globe.
Delivering solutions that empower your users to complete their tasks with minimum effort or confusion is what drives our process. “Form follows function” is the guiding principle of each and every stage of implementing your solution. For more information on us, checkout our about us section.
If on the other hand you'd like to know more about what we do and how we do it, why not see how we can help you.
At Teacup In A Storm we put you and your users first!!


rxButton is used to create buttons based on the dynamic state of the application. There are several styles of buttons available, and they are documented in the Encore Framework Styleguide.
disable


Welcome {{ expert }}
You have been identified as an expert in cognitive neuroscience, and we need your help to define terms in the Cognitive Atlas. The Cognitive Atlas is a collaborative knowledge building project that aims to develop a knowledge base (or ontology) that characterizes the state of current thought in cognitive science. This data portal will provide instructions on how to do this.
- Log in to the cognitive atlas
We have generated a username and password for you, sent in a separate email. This will ensure that you are given credit for your work. You should log in here and then return here to follow links to your assigned terms.
You have been assigned the following terms for annotation:
-
{% for term,url in terms %}
- {{ term }} {% endfor %}
You should ensure that the definition is correct and optimal, and create a new one in the case it is not defined at all. You can do this by clicking on:
The most important part of the ontology is defining relationships between concepts. If you think of the ontology like a graph, these are the branches that connect the nodes. They are essential. You can add a term to any kind of relationship by clicking on The ontology has the relationships "is a" and "part" of defined, for both parent and child terms. You can use the "Atlas view" to get intuition about these relationships, or look at an example.


This example draws a single vector star each tick, then composites it onto an existing cache using DisplayObject.updateCache(); to avoid the cost of rendering the vectors each frame.
This provides a similar result as setting stage.autoclear to false, but can be managed on a per instance basis.


It's cheap.
It's really cool!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Sell your old books!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!
Try to scroll this section and look at the navigation bar while scrolling! Try to scroll this section and look at the navigation bar while scrolling!


Maybird Lake via White Pine Lake Trailhead
Directions:
The White Pine trailhead sits on the south side of the road 5.6 miles up Little
Cottonwood Canyon Road, past Tanner’s Campground.
After the road bends from traveling northeast to southeast, watch for a road closure gate on the south side of the road. Directly after this gate (which should be standing 10+ ft in the air if the road is open), there is a right turn that is easy to miss.
Trail Description:
The trail begins on the south side of the trailhead parking lot behind the restrooms.
Begin by crossing the bridge over Little Cottonwood Creek and following the trail approximately 1
mile to the “Y” where the trail to White Pine Lake takes a sharp
left and heads east, and the trails to
Red Pine and Maybird head west. A sign points the way, and because these trails are heavily used
in the winter, they will be easily distinguishable. Head west at the "Y" where the White Pine Lake Trail and Red Pine Lake Trail diverge.
The trail to Maybird Lake follows the Red Pine Lake trail along the western side of the mountain in a southerly direction.
At 1.25 miles
up the trail, on a clear day, the view down Little Cottonwood Canyon opens up and you can see
down canyon, across the Salt Lake Valley, and to the Oquirrhs on the other side. It’s a grand view.
You are also graced with vista of steep chutes down the north side of Little Cottonwood Canyon as
you traverse this section of the trail. The second leg of the trail concludes at 2.23 miles where an
easy-to-miss wooden bridge crosses Red Pine Creek. Keep your eyes open for the bridge as it will
be covered in deep snow.
The trail breaks here for the second time. If you continue straight up the
trail you will find yourself in Red Pine Canyon, but to reach Maybird you will head to the right by
crossing over the bridge and heading in a westerly direction. This is the Red Pine turnoff. The third
leg of the trail continues to the ridge for a total of approximately 2.75 miles. The ridge has no strong
distinguishing factors, other than you can look down to the west where Maybird Lakes reside, and
the views of the surrounding mountains are beautiful. Conclude the trail at a spot where you can
enjoy the view and have lunch.
Return on the same path.
Distance:
About 6.5 miles roundtrip
Elevation Gain:
Elevation at trailhead: 7700 ft
Elevation at Doughnut Falls: 9700 ft
Gain: 2000 ft
Trail Rating:
Difficult.
This is a trail that we have not attempted as we haven't made it to the bridge known as thee Red Pine turnoff.
Known Avalanche Locations:
High: There are a couple of avalanche runs along the Maybird trail. During
considerable avalanche danger don’t even come into this area. Of the three trails that start from
this trailhead, Maybird is the safest, but you
will
cross a number of avalanche paths.
Parking Spaces:
Yes
Restroom Facilities:
Yes
Source: www.snowshoeutah.com and www.hikesandlakes.com/littlecottonwoodcanyon.html


THE WHISTLE BLOWER A film review by Wayne Citrin Copyright 1987 Wayne Citrin
Britain seems to be a hotbed of spy scandal these days and the interest seems to have made its way into art. There's the uproar over SPYCATHCHER, new biographies of Anthony Blount, and several books on the British Secret Service. In the movies, we have last spring's DEFENSE OF THE REALM, and this summer's THE FOURTH PROTOCOL, and THE WHISTLE BLOWER. I haven't seen THE FOURTH PROTOCOL, but THE WHISTLE BLOWER is far inferior to DEFENSE OF THE REALM, although they both cover similar ground. In DEFENSE OF THE REALM, a newspaperman who breaks a sex/spy scandal involving an MP discovers that this is merely a smokescreen for something far more disturbing (even to a jaded moviegoer like me). In THE WHISTLE BLOWER a Russian mole in a British electronic intelligence organization, and the death of a number of people in suspicious circumstances, draws the interest of one of the organization's Russian linguists, and then of his father, played by Michael Caine (who also appears in THE FOURTH PROTOCOL). Unfortunately, unlike DEFENSE OF THE REALM, which offers us something new in the way of political thriller, THE WHISTLE BLOWER offers us little beyond conventional spy stuff that is done much more inventively by John LeCarre. Caine seems to do little in the film except listen to people of the right and the left make speeches defending their actions. The ending is both a letdown and not entirely comprehensible.
I think that the premise of THE WHISTLE BLOWER would have been more effective if the story had been told differently. Film is a visual medium and story- telling in film is most effective then this visual aspect is exploited, and verbal exposition is kept to a minimum. DEFENSE OF THE REALM used the visual possibilities of film admirably, although it was far from polished. THE WHISTLE BLOWER resorts to tired cliches and boring speeches we've heard before.
For comparison, in an earlier review I gave DEFENSE OF THE REALM 3 stars out of 4, although I might give it 3-1/2 stars now. I would only give THE WHISTLE BLOWER 2 stars. It's not awful, only disappointing.
Wayne Citrin (ucbvax!citrin)
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Update onboard ESP8285 firmware
Introduction:
At present, MaixPy series adopt M1W module as the core module development boards: MaixDock(M1W), MaixGo
Normally we don’t need to update the firmware of the WIFI SOC ESP8285 inside the module, but if there is a bug in the use process, and a new version of the firmware is released, we can update the firmware
The ESP8285 in the M1W module used by MaixDock and MaixGo burns AT firmware by default
Verify that ESP8285 can work normally
- MaixPy verifies whether ESP8285 is working properly
View the end of text routine
External USB to serial module test
Use USB to serial port module, connect according to the following table, and then power on
| M1W | USB Module | Description |
|---|---|---|
| M1W GND | GND | Common ground |
| K210 (IO6)/ESP8285 TX | RX | - |
| K210 (IO7)/ESP8285 RX | TX | - |
| k210 RST (ground before power on, pull down RST during the whole process) | GND |
After power-on, the board will output serial port (here XCOM, baud rate 115200) to verify whether ESP8285 starts normally
AT command set
ESP8285 and ESP8266 are the same series of products, using the same set of AT commands
ESP8285/ESP8266/ESP32 latest AT command set https://github.com/espressif/esp-at/blob/v<IP_ADDRESS>_esp8266/docs/ESP_AT_Commands_Set.md
Update ESP8285 firmware steps
Before burning ESP8285 firmware, first understand the ESP8285 burning principle:
ESP8285 firmware burning principle
When ESP8285 is powered on, it will determine the state of the boot stapping pin and determine the boot mode, such as:
ets Jan 8 2013,rst cause:1, boot mode:(3,2)
The first digit (3) of the printed boot mode represents the current boot mode.
Boot mode is determined by the 3-bit value of strapping pin [GPIO15, GPIO0, GPIO2]. As shown in the following table
Show:
| 3-bit value of strapping pin/[GPIO15, GPIO0, GPIO2] | Boot mode |
|---|---|
| 7 / [1, 1, 1] | SDIO HighSpeed V2 IO |
| 6 / [1, 1, 0] | SDIO LowSpeed V1 IO |
| 5 / [1, 0, 1] | SDIO HighSpeed V1 IO |
| 4 / [1, 0, 0] | SDIO LowSpeed V2 IO |
| 3 / [0, 1, 1] | Flash Boot |
| 2 / [0, 1, 0] | Jump Boot |
| 1 / [0, 0, 1] | UART Boot |
| 0 / [0, 0, 0] | Remapping |
Please see the following table for the IO level of ESP8285 entering different modes:
| Mode | CH_PD(EN) | RST | GPIO15 | GPIO0 | GPIO2 | TXD0 |
|---|---|---|---|---|---|---|
| UART download mode | High | High | Low | Low | High | High |
| Flash operating mode | High | High | Low | High | High | High |
| Chip Test Mode | - | - | - | - | - | Low |
That is, ESP8285 enters UART download mode, the first bit of the startup information mode should be mode:(1, X), as follows:
ets Jan 8 2013,rst cause:1, boot mode:(1,1)
Taking MaixDock as an example, you can see the schematic diagram of MaixDock as follows:
Preparation
Here is MaixDock(M1W), Windows 10 system as an example
- Hardware: MaixDock, USB Type-C data cable
Software:
ESP firmware update tool: ESP8285 flash_download_tools
- Espressif's official website download link: flash_download_tools
ESP8285 AT firmware:
- Download link: ESP8266 AT bin
- Espressif's official download link: espressif_esp8266-at
Windows uses flash_download_tools to update ES8285 (here, MaixDock is taken as an example):
Follow the configuration below to connect to MaixDock,
Connect the USB to serial port module and ESP8285, the connection method has been introduced above
Before power-on, GPIO0 needs to be pulled down, that is, the contact in the upper left corner next to the antenna is grounded to enter the UART download mode.
Open flash_download_tools
Download MaixDock ESP8285 firmware
Select ESP8285 serial port (usually the serial port number is relatively large)
Set download options:
Configure the corresponding options as shown in the figure, note that the baud rate must be set to 115200**
Click Start to update the firmware and wait for the update to complete
Verify that the update is complete
- Use the XCOM baud rate of 115200, open the ESP8285 serial port, and output
AT\r\n
, as shown in the figure, it promptsOK
to flash in successfully
- Use the XCOM baud rate of 115200, open the ESP8285 serial port, and output
LINUX uses esp_tool to update ES8285 (here, MaixDock is taken as an example):
Follow the configuration below to connect to MaixDock,
Install esptool
pip3 install esptool
Download MaixDock ESP8285 firmware
ls /dev/ttyUSB* # View USB serial port esptool --port /dev/ttyUSB0 write_flash 0x0 ESP8285-AT-V1.7.4_8Mbit_40Mhz.bin # Burn the firmware
Verify that the update is complete
Use XCOM baud rate 115200, open ESP8285 serial port, output
AT\r\n
, as shown in the figure, promptOK
, then flashing is successful
MaixPy routine test:
import network, time
from machine import UART
from Maix import GPIO
from fpioa_manager import fm
# En SEP8285 rst
#fm.register(8, fm.fpioa.GPIOHS0, force=True)
#wifi_en=GPIO(GPIO.GPIOHS0, GPIO.OUT)
#wifi_en.value(1)
# En SEP8285 rst
fm.register(0, fm.fpioa.GPIOHS0, force=True)
wifi_io15=GPIO(GPIO.GPIOHS0, GPIO.OUT)
wifi_io15.value(0)
fm.register(8, fm.fpioa.GPIOHS1, force=True)
wifi_en=GPIO(GPIO.GPIOHS1, GPIO.OUT)
wifi_en.value(1)
# for new MaixGO board, if not, remove it
#fm.register(0, fm.fpioa.GPIOHS1, force=True)
#wifi_io15_en=GPIO(GPIO.GPIOHS1, GPIO.OUT)
#wifi_io15_en.value(0)
fm.register(6, fm.fpioa.UART2_RX, force=True)
fm.register(7, fm.fpioa.UART2_TX, force=True)
uart = UART(UART.UART2,115200,timeout=1000, read_buf_len=4096)
def wifi_enable(en):
global wifi_en
wifi_en.value(en)
def wifi_deal_ap_info(info):
res = []
for ap_str in info:
ap_str = ap_str.split(",")
info_one = []
for node in ap_str:
if node.startswith('"'):
info_one.append(node[1:-1])
else:
info_one.append(int(node))
res.append(info_one)
return res
#wifi_enable(0)
time.sleep(2)
nic = network.ESP8285(uart)
ap_info = nic.scan()
ap_info = wifi_deal_ap_info(ap_info)
ap_info.sort(key=lambda x:x[2], reverse=True) # sort by rssi
for ap in ap_info:
print("SSID:{:^20}, RSSI:{:>5}, MAC:{:^20}".format(ap[1], ap[2], ap[3]))


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 8-10
Despite using lots of ingredients, these fresh canapés are very easy to make and pretty healthy too! The dairy-free mayonnaise is a winner - but you can use regular mayo if you prefer.
For the mayo, put all the ingredients in a jug and blend using a hand blender until thick and creamy - about 10 seconds. Store in an airtight container in the fridge (it will keep for about 2 weeks).
For the prawn and mango cups, arrange the lettuce leaves on a large platter. Top each with a teaspoon of mayonnaise, a slice of avocado and then a prawn half. Scatter with mango, season with salt and pepper, drizzle with lemon juice and top with herbs.
For the pork and water chestnut lettuce cups, mix the mince in a bowl with the sesame oil, fish sauce, soy sauce, ginger and garlic. Put to one side while you prepare the other ingredients.
Heat the oil in a large wok or heavy-based frying pan. When hot, stir-fry the mince over a high heat, breaking it up to a fine crumb. Cook until it is no longer pink. Add the water chestnuts, cabbage and peas. Stir fry until the cabbage is wilted (2-3 minutes), adding a splash of water if pan is too dry. Remove from heat and stir in the oyster sauce and chilli flakes, if using.
Mix in the spring onions. Transfer to a bowl and serve with lettuce leaves to wrap and peanuts to garnish. Serve the prawn and mango cups alongside.


| PostgreSQL 9.0.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Appendix F. Additional Supplied Modules | Next |
The fuzzystrmatch module provides several functions to determine similarities and distance between strings.
| Caution |
At present, fuzzystrmatch does not work well with multibyte encodings (such as UTF-8). |
The Soundex system is a method of matching similar-sounding names by converting them to the same code. It was initially used by the United States Census in 1880, 1900, and 1910. Note that Soundex is not very useful for non-English names.
The fuzzystrmatch module provides two functions for working with Soundex codes:
soundex(text) returns text difference(text, text) returns int
The soundex
function converts a string to its Soundex code.
The difference
function converts two strings to their Soundex
codes and then reports the number of matching code positions. Since
Soundex codes have four characters, the result ranges from zero to four,
with zero being no match and four being an exact match. (Thus, the
function is misnamed — similarity
would have been
a better name.)
Here are some usage examples:
SELECT soundex('hello world!'); SELECT soundex('Anne'), soundex('Ann'), difference('Anne', 'Ann'); SELECT soundex('Anne'), soundex('Andrew'), difference('Anne', 'Andrew'); SELECT soundex('Anne'), soundex('Margaret'), difference('Anne', 'Margaret'); CREATE TABLE s (nm text); INSERT INTO s VALUES ('john'); INSERT INTO s VALUES ('joan'); INSERT INTO s VALUES ('wobbly'); INSERT INTO s VALUES ('jack'); SELECT * FROM s WHERE soundex(nm) = soundex('john'); SELECT * FROM s WHERE difference(s.nm, 'john') > 2;
This function calculates the Levenshtein distance between two strings:
levenshtein(text source, text target, int ins_cost, int del_cost, int sub_cost) returns int levenshtein(text source, text target) returns int
Both source and target can be any non-null string, with a maximum of 255 bytes. The cost parameters specify how much to charge for a character insertion, deletion, or substitution, respectively. You can omit the cost parameters, as in the second version of the function; in that case they all default to 1.
Examples:
test=# SELECT levenshtein('GUMBO', 'GAMBOL'); levenshtein ------------- 2 (1 row) test=# SELECT levenshtein('GUMBO', 'GAMBOL', 2,1,1); levenshtein ------------- 3 (1 row)
Metaphone, like Soundex, is based on the idea of constructing a representative code for an input string. Two strings are then deemed similar if they have the same codes.
This function calculates the metaphone code of an input string:
metaphone(text source, int max_output_length) returns text
source has to be a non-null string with a maximum of 255 characters. max_output_length sets the maximum length of the output metaphone code; if longer, the output is truncated to this length.
Example:
test=# SELECT metaphone('GUMBO', 4); metaphone ----------- KM (1 row)
The Double Metaphone system computes two "sounds like" strings for a given input string — a "primary" and an "alternate". In most cases they are the same, but for non-English names especially they can be a bit different, depending on pronunciation. These functions compute the primary and alternate codes:
dmetaphone(text source) returns text dmetaphone_alt(text source) returns text
There is no length limit on the input strings.
Example:
test=# select dmetaphone('gumbo'); dmetaphone ------------ KMP (1 row)


We would like to show you a description here but the site wont allow us. Start from hundreds of examples in the Gallery or drag and drop to create your own. The Shortcuts app enables you to create personal shortcuts with multiple steps from your favorite apps.
Download Free French Script Mt Regular Font Dafontfree Net
French Script Mt Regular Download For Free View Sample Text Rating And More On Fontsgeek Com
French Script Font Download
French Script Mt Font Download Free Legionfonts
Download Free French Script Mt Regular Font Dafontfree Net
Download Free French Script Mt Regular Font Dafontfree Net
Siri Shortcuts deliver a quick way to get things done with your apps with just a tap or by asking Siri.
Download Free French Script Mt Font Free Frscript Ttf Regular Font For Windows
Download Free French Script Mt Regular Font Dafontfree Net
Download Free French Script Mt Font Free Frscript Ttf Regular Font For Windows
Download Free Font French Script At
French Script Mt Regular Download For Free View Sample Text Rating And More On Fontsgeek Com
French Script Mt Font Download Free Legionfonts
French Script Font Free Download The Fonts Magazine
Gfogxovpjxvf4m
Fontsmarket Com Download French Script Mt Font For Free
French Script Mt Font Free Download
Identifont French Script
French Script Italic Font Free Download Free Fonts 2020 Free Fonts Download Free Script Fonts Free Font
French Script Free Font Download
French Script Mt Bold Font Free Download Download 14607 Free Commercial Use Script Fonts
Free French Script Font Page 6 Line 17qq Com
French Script Mt Font Free Download
Download Free French Script Mt Font Free Frscript Ttf Regular Font For Windows
French Script Mt Free Font Maisfontes Com
Download Free French Script Mt Regular Font Dafontfree Net
Instant Download Embroidery Fonts French Script Font Etsy In 2021 Embroidery Fonts Script Fonts Design French Script Fonts
French Script Mt Normal Font Free Download Image Result For French Script Mt Normal Font Free Download Download Free French Script Mt Regular Font Frenchscriptmt Ttf French Script Mt
French Script Font Monogram Alphabet Design Svg Eps Dxf Etsy
Download Machine Embroidery Alphabet French Script Font Etsy
French Script Mt Bold Font Download
Free French Script Font Download D0wnloadmil
French Script Font Family License Fonts Com
Le French Free Font Dealjumbo Com Discounted Design Bundles With Extended License


Josephine Skriver Puts Bikini Bod On Display In Sri Lanka
November 24, 2019
Josephine Skriver Puts Bikini Bod On Display In Sri Lanka
Josephine Skriver shared a sizzling pic from Sri Lanka, as she showed off her bikini bod while posing poolside. Her swimsuit had a classic cut, and she sat on the edge of an infinity pool with the ocean visible in the backdrop. The small bikini top left her cleavage on display, while her toned midriff could be seen. She braced herself up with her arms and bent her knees.
 She accessorized with a blue Raiders baseball cap, and she noted in the caption that she’s watching the game all the way from South Asia. She also sported a small charm necklace.
Josephine looked into the distance to her right, smiling widely. Her multiple earrings could be seen, while it looked like she wore minimal makeup, including pink lipstick. And although she posed by the pool with her hands and knees by the water, her body appeared to be dry.
Behind the stunner were multiple palm trees and small green shrubbery. The sky was mostly covered in clouds, although a little bit of blue peeked through in the horizon.
Fans left tons of compliments in the comments section, along with asking the bombshell a number of questions.

“Sending to you all love and kisses here from Brazil,” expressed an admirer.
“U always bless my feed with beautiful contents jo!!” exclaimed a fan.
Others asked Josephine a variety of questions, some which she took the time to answer, like this one.
Loading...
“How’s your wedding plans going?” wondered a fourth Instagram user.
“Slow and steady forward haha,” said the model.
Josephine and her boyfriend were engaged around this time last year, and she’s since noted that the wedding is planned for sometime next spring or summer.
The stunning beauty often shares her support for the Raiders around game days, as she did last month. This time, she was seen not in a bikini but in a black lingerie set. She wore a different Raiders cap that featured the logo imposed on top of an American flag. She posed outdoors on a deck, while showing off her bare booty. Her face was obscured by her hat, while trees and greenery could be seen in the background.


Baby Immunization
Home
About
Services
Contact us
Login
Our Services
Record Your Baby Data Online To Access It Anywhere
Vaccines List
Vaccines Scheduled
Vaccines Administered
Medicine List
Medicine Taken
Baby Height
Baby Weight
Baby Age


Classes
The following classes are available globally.
-
A class representing the MicroProfile claims as listed in MicroProfile specs.
See moreDeclaration
Swift
public class ClaimsMicroProfile : Claims
-
A class representing OpenID related claims as decsribed in OpenID specs.
See moreDeclaration
Swift
public class ClaimsOpenID : Claims
-
A thread safe encoder that signs the JWT header and claims using the provided algorithm and encodes a
JWT
instance as either Data or a JWT String.Usage Example:
See morestruct MyClaims: Claims { var name: String } var jwt = JWT(claims: MyClaims(name: "John Doe")) let privateKey = "<PrivateKey>".data(using: .utf8)! let rsaJWTEncoder = JWTEncoder(jwtSigner: JWTSigner.rs256(privateKey: privateKey)) do { let jwtString = try rsaJWTEncoder.encodeToString(jwt) } catch { print("Failed to encode JWT: \(error)") }
Declaration
Swift
public class JWTEncoder : BodyEncoder
-
A thread safe decoder that decodes either Data or a JWT String as a
JWT
instance and verifies the signiture using the provided algorithm.Usage Example:
See morestruct MyClaims: Claims { var name: String } let publicKey = "<PublicKey>".data(using: .utf8)! let rsaJWTDecoder = JWTDecoder(jwtVerifier: JWTVerifier.rs256(publicKey: publicKey)) do { let jwt = try rsaJWTDecoder.decode(JWT<MyClaims>.self, fromString: exampleJWTString) } catch { print("Failed to decode JWT: \(error)") }
Declaration
Swift
public class JWTDecoder : BodyDecoder


| From | To | Passengers |
|
Return Flight | # |
|---|---|---|---|---|---|
| {{booking.from}} | {{booking.to}} | {{booking.passengers}} {booking.passengers, plural, =1 {Passenger} other {Passengers}} | {booking.children, plural, =0 {No children} =1 {One child} =2 {Two children} other {More than two children}} | {booking.returnFlight, select, yes {Yes} no {No}} | {{booking.date | date: 'M/d/y'}} |
| BOOKINGS.from | BOOKINGS.to | {{'BOOKINGS.passengers' | translate}} | {{'BOOKINGS.children' | translate:params}} | # | |
|---|---|---|---|---|---|
| {{booking.from}} | {{booking.to}} | {{booking.passengers}} {{ booking.passengers | i18nPlural:bookingTranslation.passengerPlural }} | {{ booking.children | i18nPlural:bookingTranslation.childrenPlural }} | {{ booking.returnFlight | i18nSelect: bookingTranslation.returnFlightSelect }} | {{booking.date | date: bookingTranslation.dateFormat}} |


Put an identifier of an entity or activity in the field below and submit for retrieving the provenance record (backwards in time). If you want provenance information for an agent, enter its ID and additionally check the Agent option.
You can check the list of available
entities,
activities and
agents for valid IDs.


OC Register Local B2.
Comprehensive news story on the history and plans for the vacant former Marine Corps Air Station base in Tustin, which include apartments, retail stores, sprawling parks and more. Story involved months of researching city documents and interviews.
Tustin News A1.
In-depth feature on a cancer survivor who produces a complex Nativity scene in his garage each year and hosts a canned food drive. Thousands come visit the display, which includes an estimated 500-600 Christmas lights and uses 200 amps of electricity.
OC Register Local B1.
 He lands on "Jimmy Kimmel Live!" and meets Iron Man. This was one in a series of stories about the Rainbow Loom marathon.
OC Register Local B1.
Historical feature on the former Marine Corps base during World War II. On Victory over Japan Day, a former U.S. Navy wife recalls events on the base and the challenges of life during war. Included the now-vacant hangars, two of the world's largest freestanding wooden structures.
Daily Bruin News A1.
Investigative story on an UCLA epidemiologist and whether or not he was not reappointed to his position because his department did not support his research. Following the publication of this story, the School of Public Health extended his appointment for the time being.
OC Register articles covering Tustin, Dana Point, Laguna Niguel and other areas from June 2013 to present 2015.
TakePart.com stories covering politics, education, environment, health and other topics from January 2012 to August 2013.
UCLA Daily Bruin stories covering campus events, national news and other issues from September 2009 to June 2013.
© Kelly Zhou 2015.


A planned song, about to be released on a variety of platforms. A 30 second sample is under production!
An unreleased 2-minute track representing John's favorite beats synchronized into one special track for your listening pleasure. Release date late 2019.
The first track John ever released.
John Doe has spent the last few years of his life learning how to DJ and create different types of music. He treats music production as a hobby but wants to turn it into a career, and hopes to major in music in college. He also enjoys being a part of the school band and hopes to be a drum major his senior year,
John Doe is heavily involved within his school and community at large. Doe spends a lot of time volunteering and is very dedicated to helping others; recently agreed to DJ for a local 5k event that will be raising money for a local soup kitchen, using his talents to directly benefit the others around him.
DJ
Videographer


This tutorial serves as the quick start for PDFDig.
PDFDig is written in Python, so you should prepare Python environment first. Both Python 2 and Python 3 are OK.
Since PDFDig only provides Command Line Interface(CLI) utilities currently, we strongly recommand Windows users to use Cygwin, a linux-like environment for Windows, as running environment for PDFDig to get full features of PDFDig.
Installing Cygwin is pretty easy and straightforward.
- Download setup.exe.
- Run setup.exe and follow its navigation.
- When setup.exe asks you to Select Packages, make sure you have selected Python Default and then python: Python language interpreter.
- After installation, you may try python –version within Cygwin Terminal.
PDFDig does not extract content from PDF documents directly by itself, but use a efficient utility, pdftotext, which is freely available and included by default with many Linux distributions. Xpdf provides a pdftotext port to Windows platform.
Unix/Linux users:
pdftotext is available and included by default with many Linux distributions. If pdftotext does not exsit in your system, install poppler-utils package.
Check Test:
You can test pdftotext, just run
$ pdftotext -v
Copyright 2005-2011 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2004 Glyph & Cog, LLC
$ tar jxvf pdfdig-1.0.tar.bz2
$ cd pdfdig-1.0
$ sudo python setup.py install
After the installation, PDFDig will copy PDFDig library to Python library and install 4 executable utilities in your system.
PDFDig provides you 4 Command Line Interface(CLI) utilities, helps to process PDF documents and do the text processing in command line, so you may need a terminal in Unix/Linux or run cmd in Windows before using these utilities.
Refer to PDFDig Utility for details.


What Dreams May Come (1998) 113 min.
It's terribly frustrating to have read a book that no-one else you know has. As it stands, I know but one other person who has read Richard Matheson's life-after-death novel 'What Dreams May Come', and that's only because I made her read it over a decade ago. Now that the film version has hit the screens, I find myself at another level of frustration: that the film and the book are not quite the same thing, and I'm right back where I started from. I still can't share the experience.
This shouldn't come as any surprise. Matheson's intensively-researched novel was captivating because it took subject matter that was dangerously new-agey, pseudo-religious, or just plain gooey, and turned into something that managed to be thoughtful and somehow authentic. Obviously, such metaphysics lend themselves to the printed page more readily than the cinema screen, which is why I had never entertained for a second the idea that this book would ever be made into a film. Yet here it is, with NZ director Vincent Ward at the helm. So far, so good. Ward has a history of powerful visual imagery in his work to date and is an intelligent, discerning film-maker. This is also the director who walked out on his first Hollywood assignment (ALIEN 3) as soon as it departed from his original concept and has refrained from taking on any other project since, so it would seem safe to assume that Ward would handle Matheson's book with some integrity.
WHAT DREAMS MAY COME is titled after Hamlet's famous soliloquy about death, so it should not come as much of a surprise when Chris Neilsen (Robin Williams) shuffles off his mortal coil ten minutes into the story and eventually finds his way to an afterlife created by visual cues from the memories of those who inhabit it.  For a while we share Chris' exploration of his new world, and it is as blissful as any you could imagine; but, as David Byrne says, heaven is a place where nothing ever happens, so it isn't too long before Chris is going further afield (read: hell) to reconcile himself with his wife Annie (Annabella Sciorra).
The first half of Ward's film depicts a heaven-world so beautifully realized that it's almost as if he and his crew went there to get location footage. It is like nothing else you've ever seen on film. For a while the vivid colors and intricate detail make this a spectacle which can be seen only on a large canvas. But then something peculiar happens - as the story shifts from heaven-world to hell-world, the visuals become less impressive. Furthermore, just at the point where Chris is finally taking action and doing something, the story gets piled up with flashbacks that interrupt the narrative and prevent his quest from becoming the epic it deserves. Given the impressionistic, painterly world of 'Summerland' (as Matheson refers to it), it's only natural to expect Hell to be influenced by the works of Bosch, Hogarth, or even Gustave Dore. Initially, the journey is promising (I like the way that Chris and Annie's initial boating encounter is perverted into a shoreline of wrecked vessels) but in the end Hell becomes gloomy and run-down, and Ward shoots most of the sequences there with Williams and Sciorra in close-up so that we don't even really get to see a lot of it.  So Ward's solution is to make Hell boring. After ten minutes we're pining for the wide open spaces of Summerland again, which is where everyone in this story belongs, and of course, ends up.
WHAT DREAMS MAY COME is a difficult film to gauge - you don't want to be unfair to it because it does manage to take you places you haven't seen before in the movies. Yet the journey may just be too careful, too measured, and too contemplative for its own good, which is why it is not for all tastes (although anybody who is genuinely interested in film should check it out for its cinematic qualities alone). Also, for a non-religious afterlife there seems to be an excess of guilt around, which gets a little wearying. And even after Chris gets everything he wants, he still wants to get back to the 'real' world. It's just as Schopenhauer has always said: satisfaction in human beings is impossible, because whenever one desire is fulfilled, ten others jump in their place; and even if they were all fulfilled, satisfaction would only become boredom. I guess we all know this deep inside, which is why the final scene doesn't seem as corny as it otherwise might (the last line is really sweet, in a karmic kinda way).
I appreciate the intelligence behind this film and the bold way it is set almost entirely in the afterlife, and ultimately, I felt that it did not do the book a disservice (as for visualizations of hell, it still doesn't beat a Strontium Dog comic I read serialized in 2000 A.D. when I was a teenager), and I suppose I should be satisfied with that: yes, it takes us into Hamlet's 'undiscovered country', and quite convincingly. It does at least make me want to read the book again. And maybe this time I won't be the only one. So if you liked the movie, read the novel. And if you didn't like the movie...well, read it anyway.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Find a set of differentially expressed genes between two user defined volumes of interest based on JuBrain maps.
The tool downloads expression values of user specified sets of genes from Allen Brain API.
Then, it uses zscores to find which genes are expressed differentially between the user specified regions of interests.
After the analysis is finished, the genes and their calculated p values are displayed. There is also an option of downloading the gene names and their p values
and the roi coordinates used in the analysis.
Please select two regions of interest, and at least one gene :


Environment and Metadata¶
Singularity containers support environment variables and labels that you can add to your container during the build process. If you are looking for environment variables to set up the environment on the host system during build time, see the build environment section.
Overview¶
Environment variables can be included in your container by adding them in your definition file:
In the
%environment
section of your definition file.
Bootstrap: library
From: default/alpine
%environment
VARIABLE_ONE = hello
VARIABLE_TWO = world
export VARIABLE_ONE VARIABLE_TWO
Or in the
%post
section of your definition file.
Bootstrap: library
From: default/alpine
%post
echo 'export VARIABLE_NAME=variable_value' >>$SINGULARITY_ENVIRONMENT
You can also add labels to your container using the %labels
section like so:
Bootstrap: library
From: default/alpine
%labels
OWNER = Joana
To view the labels within your container you use the inspect
command:
$ singularity inspect mysifimage.sif
This will give you the following output:
{
"OWNER": "Joana",
"org.label-schema.build-date": "Monday_07_January_2019_0:01:50_CET",
"org.label-schema.schema-version": "1.0",
"org.label-schema.usage": "/.singularity.d/runscript.help",
"org.label-schema.usage.singularity.deffile.bootstrap": "library",
"org.label-schema.usage.singularity.deffile.from": "debian:9",
"org.label-schema.usage.singularity.runscript.help": "/.singularity.d/runscript.help",
"org.label-schema.usage.singularity.version": "3.0.1-236.g2453fdfe"
}
Many of these labels are created by default, but you can also see the custom label that was added in the example above.
The inspect
command has additional options that
are useful for viewing the container’s metadata.
Environment¶
If you build a container from the Container Library or Docker Hub, the environment will be included with the container at build time. You can also define new environment variables in your definition file as follows:
Bootstrap: library
From: default/alpine
%environment
#First define the variables
VARIABLE_PATH=/usr/local/bootstrap
VARIABLE_VERSION=3.0
#Then export them
export VARIABLE_PATH VARIABLE_VERSION
You may need to add environment variables to your container during the %post
section. For instance, maybe you will not know the appropriate value of a
variable until you have installed some software. To add variables to the
environment during %post
you can use the $SINGULARITY_ENVIRONMENT
variable with the following syntax:
%post
echo 'export VARIABLE_NAME=variable_value' >>$SINGULARITY_ENVIRONMENT
Text in the %environment
section will be appended to the file
/.singularity.d/env/90-environment.sh
while text redirected
to $SINGULARITY_ENVIRONMENT
will appear in the file
/.singularity.d/env/91-environment.sh
. If nothing is redirected to
$SINGULARITY_ENVIRONMENT
in the %post
section, the file
/.singularity.d/env/91-environment.sh
will not exist.
Because files in /.singularity.d/env
are sourced in alpha-numerical order,
variables added using $SINGULARITY_ENVIRONMENT
take precedence over those
added via the %environment
section.
If you need to define a variable in the container at runtime, when you execute
Singularity pass a variable prefixed with SINGULARITYENV_
. These variables
will be transposed automatically and the prefix will be stripped. For example,
let’s say we want to set the variable HELLO
to have value world
. We can
do that as follows:
$ SINGULARITYENV_HELLO=world singularity exec centos7.img env | grep HELLO
HELLO=world
The --cleanenv
option can be used to remove the host environment and execute
a container with a minimal environment.
$ singularity exec --cleanenv centos7.img env
LD_LIBRARY_PATH=:/usr/local/lib:/usr/local/lib64
SINGULARITY_NAME=test.img
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/home/gmk/git/singularity
LANG=en_US.UTF-8
SHLVL=0
SINGULARITY_INIT=1
SINGULARITY_CONTAINER=test.img
Without the --cleanenv
flag, the environment on the host system will be
present within the container at run time.
If you need to change the $PATH
of your container at run time there are
a few special environmental variables you can use:
SINGULARITYENV_PREPEND_PATH=/good/stuff/at/beginning
to prepend directories to the beginning of the$PATH
SINGULARITYENV_APPEND_PATH=/good/stuff/at/end
to append directories to the end of the$PATH
SINGULARITYENV_PATH=/a/new/path
to override the$PATH
within the container
Labels¶
Your container stores metadata about its build, along with Docker labels, and
custom labels that you define during build in a %labels
section.
For containers that are generated with Singularity version 3.0 and later, labels are represented using the rc1 Label Schema. For example:
$ singularity inspect jupyter.sif
{
"OWNER": "Joana",
"org.label-schema.build-date": "Friday_21_December_2018_0:49:50_CET",
"org.label-schema.schema-version": "1.0",
"org.label-schema.usage": "/.singularity.d/runscript.help",
"org.label-schema.usage.singularity.deffile.bootstrap": "library",
"org.label-schema.usage.singularity.deffile.from": "debian:9",
"org.label-schema.usage.singularity.runscript.help": "/.singularity.d/runscript.help",
"org.label-schema.usage.singularity.version": "3.0.1-236.g2453fdfe"
}
You will notice that the one label doesn’t belong to the label schema, OWNER
.
This was a user provided label during bootstrap.
You can add custom labels to your container in a bootstrap file:
Bootstrap: docker
From: ubuntu: latest
%labels
OWNER Joana
The inspect
command is useful for viewing labels and other container
meta-data. The next section will detail its various options.
The inspect
command¶
The inspect
command gives you the ability to print out the labels and/or
other metadata that was added to your container using the definition file.
--labels
¶
This flag corresponds to the default behavior of the inspect
command. When
you run a singularity inspect <your-container.sif>
you will get output like
this.
$ singularity inspect --labels jupyter.sif
{
"org.label-schema.build-date": "Friday_21_December_2018_0:49:50_CET",
"org.label-schema.schema-version": "1.0",
"org.label-schema.usage": "/.singularity.d/runscript.help",
"org.label-schema.usage.singularity.deffile.bootstrap": "library",
"org.label-schema.usage.singularity.deffile.from": "debian:9",
"org.label-schema.usage.singularity.runscript.help": "/.singularity.d/runscript.help",
"org.label-schema.usage.singularity.version": "3.0.1-236.g2453fdfe"
}
This is the same as running singularity inspect jupyter.sif
.
--deffile
¶
This flag gives you the def file(s) that was used to create the container.
$ singularity inspect --deffile jupyter.sif
And the output would look like:
Bootstrap: library
From: debian:9
%help
Container with Anaconda 2 (Conda 4.5.11 Canary) and Jupyter Notebook 5.6.0 for Debian 9.x (Stretch).
This installation is based on Python 2.7.15
%environment
JUP_PORT=8888
JUP_IPNAME=localhost
export JUP_PORT JUP_IPNAME
%startscript
PORT=""
if [ -n "$JUP_PORT" ]; then
PORT="--port=${JUP_PORT}"
fi
IPNAME=""
if [ -n "$JUP_IPNAME" ]; then
IPNAME="--ip=${JUP_IPNAME}"
fi
exec jupyter notebook --allow-root ${PORT} ${IPNAME}
%setup
#Create the .condarc file where the environments/channels from conda are specified, these are pulled with preference to root
cd /
touch .condarc
%post
echo 'export RANDOM=123456' >>$SINGULARITY_ENVIRONMENT
#Installing all dependencies
apt-get update && apt-get -y upgrade
apt-get -y install \
build-essential \
wget \
bzip2 \
ca-certificates \
libglib2.0-0 \
libxext6 \
libsm6 \
libxrender1 \
git
rm -rf /var/lib/apt/lists/*
apt-get clean
#Installing Anaconda 2 and Conda 4.5.11
wget -c https://repo.continuum.io/archive/Anaconda2-5.3.0-Linux-x86_64.sh
/bin/bash Anaconda2-5.3.0-Linux-x86_64.sh -bfp /usr/local
#Conda configuration of channels from .condarc file
conda config --file /.condarc --add channels defaults
conda config --file /.condarc --add channels conda-forge
conda update conda
#List installed environments
conda list
Which is a definition file for a jupyter.sif
container.
--runscript
¶
This flag shows the runscript for the image.
$ singularity inspect --runscript jupyter.sif
And the output would look like:
#!/bin/sh
OCI_ENTRYPOINT=""
OCI_CMD="bash"
# ENTRYPOINT only - run entrypoint plus args
if [ -z "$OCI_CMD" ] && [ -n "$OCI_ENTRYPOINT" ]; then
SINGULARITY_OCI_RUN="${OCI_ENTRYPOINT} $@"
fi
# CMD only - run CMD or override with args
if [ -n "$OCI_CMD" ] && [ -z "$OCI_ENTRYPOINT" ]; then
if [ $# -gt 0 ]; then
SINGULARITY_OCI_RUN="$@"
else
SINGULARITY_OCI_RUN="${OCI_CMD}"
fi
fi
# ENTRYPOINT and CMD - run ENTRYPOINT with CMD as default args
# override with user provided args
if [ $# -gt 0 ]; then
SINGULARITY_OCI_RUN="${OCI_ENTRYPOINT} $@"
else
SINGULARITY_OCI_RUN="${OCI_ENTRYPOINT} ${OCI_CMD}"
fi
exec $SINGULARITY_OCI_RUN
--test
¶
This flag shows the test script for the image.
$ singularity inspect --test jupyter.sif
This will output the corresponding %test
section from the definition file.
--environment
¶
This flag shows the environment settings for the image. The respective
environment variables set in %environment
section ( So the ones in
90-environment.sh
) and SINGULARITY_ENV
variables set at runtime (that
are located in``91-environment.sh``) will be printed out.
$ singularity inspect --environment jupyter.sif
And the output would look like:
==90-environment.sh==
#!/bin/sh
JUP_PORT=8888
JUP_IPNAME=localhost
export JUP_PORT JUP_IPNAME
==91-environment.sh==
export RANDOM=123456
As you can see, the JUP_PORT
and JUP_IPNAME
were previously defined in
the %environment
section of the defintion file, while the RANDOM variable
shown regards to the use of SINGULARITYENV_
variables, so in this case
SINGULARITYENV_RANDOM
variable was set and exported at runtime.
--helpfile
¶
This flag will show the container’s description in the %help
section of its
definition file.
You can call it this way:
$ singularity inspect --helpfile jupyter.sif
And the output would look like:
Container with Anaconda 2 (Conda 4.5.11 Canary) and Jupyter Notebook 5.6.0 for Debian 9.x (Stretch).
This installation is based on Python 2.7.15
--json
¶
This flag gives you the possibility to output your labels in a JSON format.
You can call it this way:
$ singularity inspect --json jupyter.sif
And the output would look like:
{
"attributes": {
"labels": "{\n\t\"org.label-schema.build-date\": \"Friday_21_December_2018_0:49:50_CET\",\n\t\"org.label-schema.schema-version\": \"1.0\",\n\t\"org.label-schema.usage\": \"/.singularity.d/runscript.help\",\n\t\"org.label-schema.usage.singularity.deffile.bootstrap\": \"library\",\n\t\"org.label-schema.usage.singularity.deffile.from\": \"debian:9\",\n\t\"org.label-schema.usage.singularity.runscript.help\": \"/.singularity.d/runscript.help\",\n\t\"org.label-schema.usage.singularity.version\": \"3.0.1-236.g2453fdfe\"\n}"
},
"type": "container"
}
Container Metadata¶
Inside of the container, metadata is stored in the /.singularity.d
directory. You probably shouldn’t edit any of these files directly but it may be
helpful to know where they are and what they do:
/.singularity.d/
├── actions
│ ├── exec
│ ├── run
│ ├── shell
│ ├── start
│ └── test
├── env
│ ├── 01-base.sh
| ├── 10-docker2singularity.sh
│ ├── 90-environment.sh
│ ├── 91-environment.sh
| ├── 94-appsbase.sh
│ ├── 95-apps.sh
│ └── 99-base.sh
├── labels.json
├── libs
├── runscript
├── runscript.help
├── Singularity
└── startscript
actions: This directory contains helper scripts to allow the container to carry out the action commands. (e.g.
exec
,run
orshell
) In later versions of Singularity, these files may be dynamically written at runtime.env: All *.sh files in this directory are sourced in alpha-numeric order when the container is initiated. For legacy purposes there is a symbolic link called
/environment
that points to/.singularity.d/env/90-environment.sh
.labels.json: The json file that stores a containers labels described above.
libs: At runtime the user may request some host-system libraries to be mapped into the container (with the
--nv
option for example). If so, this is their destination.runscript: The commands in this file will be executed when the container is invoked with the
run
command or called as an executable. For legacy purposes there is a symbolic link called/singularity
that points to this file.runscript.help: Contains the description that was added in the
%help
section.Singularity: This is the definition file that was used to generate the container. If more than 1 definition file was used to generate the container additional Singularity files will appear in numeric order in a sub-directory called
bootstrap_history
.startscript: The commands in this file will be executed when the container is invoked with the
instance start
command.


Once you have JanusGuards defined, you’re ready to start guarding filesystem events. There are generic logfiles included in both apps.
Logfiles
Using the glog
logging framework that most Kubernetes-related projects also
leverage, you can locate logfiles in both janusd and januscontroller
containers at /tmp/janusd.INFO
and /tmp/januscontroller.INFO
. The
janusd logs will show actual fanotify
events that were granted or denied
access to as they happened, where januscontroller log will only include
Kubernetes controller-related log messages such as receiving new guards,
connecting the controller to daemons via gRPC, and pods being created, deleted,
and updated that a guard cares about.


Moving to https://github.com/pulibrary/cicognara-rails/issues/384
closed
by Esmé Cowles at 2019-11-06 15:59:24.I've updated https://figgy.princeton.edu/catalog/73ea73df-7388-46d0-b14f-afca969ca63c to be dcl:3wm
closed
by Esmé Cowles at 2019-11-06 16:05:27.labeled
by David Platt at 2019-11-06 21:46:18.labeled
by David Platt at 2019-11-06 21:46:18.assigned
by David Platt at 2019-11-06 21:46:58.closed
by David Platt at 2019-11-06 21:47:22.btw the Appendix is NOT what i reffered to what Heidelberg has as Addendum.
See Heidelberg order here (you have to open subject to see the chapters which isn't ideal)
https://digi.ub.uni-heidelberg.de/en/sammlungen/cicognara.html
best!
labeled
by Esmé Cowles at 2019-11-06 15:59:13.labeled
by None at 2019-11-06 22:08:52.labeled
by None at 2019-11-06 00:59:31.labeled
by None at 2019-11-06 00:59:31.These are missing, but instead of sending the person to the circulation desk it shows it's old location - https://locator-prod.princeton.edu/index.php?loc=f&id=994986&embed=true - https://locator-prod.princeton.edu/index.php?loc=f&id=1707253&embed=true - https://locator-prod.princeton.edu/index.php?loc=f&id=1287942&embed=true
These are missing and go to the circulation desk - https://locator-prod.princeton.edu/index.php?loc=f&id=2004363&embed=true - https://locator-prod.princeton.edu/index.php?loc=f&id=2930025&embed=true - https://locator-prod.princeton.edu/index.php?loc=f&id=3344112&embed=true
Here is an example of two different call numbers - https://locator-prod.princeton.edu/index.php?loc=f&id=1382929&embed=true https://locator-prod.princeton.edu/index.php?loc=f&id=1382929&embed=true
Fall back to original location if item is missing.
assigned
by None at 2019-11-06 14:50:23.review_requested
by None at 2019-11-06 13:25:09.head_ref_force_pushed
by None at 2019-11-06 13:29:11.head_ref_force_pushed
by None at 2019-11-06 13:30:07.closed
by None at 2019-11-06 14:20:52.head_ref_deleted
by None at 2019-11-06 14:21:03.Thanks Mark, this is really helpful!
Changes made.
referenced
by None at 2019-11-06 14:27:18.merged
by None at 2019-11-06 14:27:18.closed
by None at 2019-11-06 14:27:19.head_ref_deleted
by None at 2019-11-06 14:27:22.assigned
by None at 2019-11-06 21:29:14.labeled
by James R. Griffin III at 2019-11-06 14:16:49.labeled
by James R. Griffin III at 2019-11-06 14:19:13.labeled
by James R. Griffin III at 2019-11-06 14:20:31.labeled
by James R. Griffin III at 2019-11-06 14:25:07.labeled
by James R. Griffin III at 2019-11-06 14:25:07.Also, note that this also affects the "Collection context" tab component (as Scope note
) in child containers (e. g. https://plantain-staging.princeton.edu/catalog/AC230AC230_c251)
labeled
by James R. Griffin III at 2019-11-06 14:27:16.referenced
by James R. Griffin III at 2019-11-06 14:47:50.merged
by James R. Griffin III at 2019-11-06 14:47:50.closed
by James R. Griffin III at 2019-11-06 14:47:50.head_ref_deleted
by James R. Griffin III at 2019-11-06 14:47:54.assigned
by None at 2019-11-06 15:25:21.referenced
by None at 2019-11-06 15:26:36.referenced
by None at 2019-11-06 15:42:06.closed
by James R. Griffin III at 2019-11-06 16:06:05.head_ref_force_pushed
by None at 2019-11-06 15:42:06.mentioned
by James R. Griffin III at 2019-11-06 15:42:15.subscribed
by James R. Griffin III at 2019-11-06 15:42:15.referenced
by James R. Griffin III at 2019-11-06 16:06:04.merged
by James R. Griffin III at 2019-11-06 16:06:04.closed
by James R. Griffin III at 2019-11-06 16:06:05.head_ref_deleted
by James R. Griffin III at 2019-11-06 16:06:08.assigned
by None at 2019-11-06 15:35:07.referenced
by None at 2019-11-06 15:40:08.closed
by James R. Griffin III at 2019-11-06 16:06:49.referenced
by James R. Griffin III at 2019-11-06 16:06:49.merged
by James R. Griffin III at 2019-11-06 16:06:49.closed
by James R. Griffin III at 2019-11-06 16:06:49.head_ref_deleted
by James R. Griffin III at 2019-11-06 16:06:52.labeled
by None at 2019-11-06 16:11:30.Here is the dpul commit that integrated the figgy viewer: https://github.com/pulibrary/pomegranate/commit/b085769089d8eef3032f1e0af0f382641cf40041
Here is the arclight custom viewer documentation: https://github.com/projectblacklight/arclight/wiki/Digital-Object-Viewers
labeled
by James R. Griffin III at 2019-11-06 19:27:11.referenced
by Christina Chortaria at 2019-11-06 22:06:15.merged
by Christina Chortaria at 2019-11-06 22:06:15.closed
by Christina Chortaria at 2019-11-06 22:06:15.Deployed to staging and looks good.
Coverage remained the same at 100.0% when pulling 04802805a93b0951e61195dadbb9ab964a8ac220 on 656-viewer-url into 8dac914a42844ca78ae706b137c160ee905d5085 on master.
deployed
by Trey Pendragon at 2019-11-06 19:13:48.ready_for_review
by None at 2019-11-06 19:16:59.referenced
by Esmé Cowles at 2019-11-06 19:24:50.merged
by Esmé Cowles at 2019-11-06 19:24:50.closed
by Esmé Cowles at 2019-11-06 19:24:50.referenced
by None at 2019-11-06 19:11:38.closed
by Esmé Cowles at 2019-11-06 19:24:50.assigned
by Francis Kayiwa at 2019-11-06 12:54:58.referenced
by James R. Griffin III at 2019-11-06 14:48:28.merged
by James R. Griffin III at 2019-11-06 14:48:28.closed
by James R. Griffin III at 2019-11-06 14:48:28.head_ref_deleted
by James R. Griffin III at 2019-11-06 14:48:33.referenced
by Francis Kayiwa at 2019-11-06 15:27:47.merged
by Francis Kayiwa at 2019-11-06 15:27:47.closed
by Francis Kayiwa at 2019-11-06 15:27:47.head_ref_deleted
by Francis Kayiwa at 2019-11-06 15:27:51.referenced
by Francis Kayiwa at 2019-11-06 15:29:35.merged
by Francis Kayiwa at 2019-11-06 15:29:35.closed
by Francis Kayiwa at 2019-11-06 15:29:35.head_ref_deleted
by Francis Kayiwa at 2019-11-06 15:29:38.review_requested
by Francis Kayiwa at 2019-11-06 16:52:04.referenced
by Francis Kayiwa at 2019-11-06 17:31:33.merged
by Francis Kayiwa at 2019-11-06 17:31:33.closed
by Francis Kayiwa at 2019-11-06 17:31:34.head_ref_deleted
by Francis Kayiwa at 2019-11-06 17:31:38.Also mention that the server needs to be white listed on lib-pony-expr. Point to: https://github.com/pulibrary/pul-the-hard-way/blob/master/services/smtp-mail-server.md
closed
by Francis Kayiwa at 2019-11-06 17:31:54.review_requested
by Francis Kayiwa at 2019-11-06 21:16:57.TODO when we get the go-ahead to "go live": - [ ] Change URL from prds to research-data - [ ] Publish basic pages - [ ] Enable menu items - [ ] Copy / paste homepage content node body from library-stage.princeton.edu/research-data - [ ] Enable PRDS Search Block module
TODO for Axa: - [ ] Add prds tag to basic pages (to make content searchable within section) - [ ] Add images to basic pages (right now will show up as broken images)
head_ref_force_pushed
by Axa Mei Liauw at 2019-11-06 14:56:23.renamed
by Axa Mei Liauw at 2019-11-06 15:09:55.assigned
by Axa Mei Liauw at 2019-11-06 19:05:00.Emails to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>are now pointing to the correct LibAnswers queue emails. The following forms were edited:
https://library.princeton.edu/ask-us https://library.princeton.edu/help/e-mail https://library.princeton.edu/help/appointments https://library.princeton.edu/help/library-instruction-request https://library.princeton.edu/help/report-problem
@kevinreiss do we want to change<EMAIL_ADDRESS>to<EMAIL_ADDRESS>assigned
by Axa Mei Liauw at 2019-11-06 19:00:46.mentioned
by Kevin Reiss at 2019-11-06 20:41:49.subscribed
by Kevin Reiss at 2019-11-06 20:41:49.head_ref_force_pushed
by Axa Mei Liauw at 2019-11-06 17:15:33.review_requested
by Axa Mei Liauw at 2019-11-06 17:15:54.mentioned
by Shaun Ellis at 2019-11-06 17:16:27.subscribed
by Shaun Ellis at 2019-11-06 17:16:27.assigned
by Axa Mei Liauw at 2019-11-06 17:19:59.assigned
by Axa Mei Liauw at 2019-11-06 19:05:40.review_requested
by Axa Mei Liauw at 2019-11-06 20:42:48.review_requested
by Axa Mei Liauw at 2019-11-06 20:42:57.


Please make sure that you are using a browser that supports CSS3 filters or activate them via about:flags if you are running Microsoft Edge.
CSS3 filters allow you to change the rendering of an element before it is displayed in the document. You can blur, hue-rotate, sepia, saturate, etc. elements using a styling instruction with the 'filter' property.
You can even animate filters with @keyframes.


Class collections.CheckedSet
All Packages Class Hierarchy This Package Previous Next Index
Class collections.CheckedSet
java.lang.Object
|
+----collections.CheckedCollection
|
+----collections.CheckedSet
- public class CheckedSet
- extends CheckedCollection
- implements UpdatableSet
-
CheckedSet(UpdatableSet)
- Wrap Set s inside a checker
-
checkInclude(Collection, Collection, Object, boolean)
- Helper for checking includ*
-
clone()
- Make a Checked clone of underlying collection
-
include(Object)
- Checks collections.UpdatableSet.include according to its specification
-
includeElements(Enumeration)
- Checks collections.UpdatableSet.includeElements
-
including(Object)
- Checks collections.Set.including
-
prev()
- return casted version of CheckedCollection.prev.
-
thys()
- return casted version of CheckedCollection.thys.
CheckedSet
public CheckedSet(UpdatableSet s)
- Wrap Set s inside a checker
clone
protected Object clone() throws CloneNotSupportedException
- Make a Checked clone of underlying collection
- Overrides:
- clone in class CheckedCollection
thys
public UpdatableSet thys()
- return casted version of CheckedCollection.thys.
prev
public UpdatableSet prev()
- return casted version of CheckedCollection.prev.
include
public synchronized void include(Object element) throws IllegalElementException
- Checks collections.UpdatableSet.include according to its specification
- See Also:
- include
including
public synchronized Set including(Object element) throws IllegalElementException
- Checks collections.Set.including
- See Also:
- including
includeElements
public synchronized void includeElements(Enumeration e) throws IllegalElementException, CorruptedEnumerationException
- Checks collections.UpdatableSet.includeElements
- See Also:
- includeElements
checkInclude
protected void checkInclude(Collection nc,
Collection oc,
Object element,
boolean verchk)
- Helper for checking includ*
All Packages Class Hierarchy This Package Previous Next Index


TODO list for OBJ3
- Clean up source code (remove unused/redundant code, add more
documentation).
- Re-investigate old bug reports for the 2.04 release.
- Integrate FOOPS into the release.
- Integrate TOOR into the release.
- Integrate EqLog into the release.
- Integrate 2OBJ into the release.
[ Index ]
[ Readme ]
[ FAQ ]
[ Release Notes ]
[ To-Do List ]
[ Bug List ]
[ Source ]
[ Papers ]
[ Bibliography ]
[ License ]
by Joseph R. Kiniry<EMAIL_ADDRESS>Last modified: Mon Sep 29 15:37:56 CEST 2003


?The
New'Y˜rk
copyright
reserved
botanical
garden
Angelonia
angustifolia
Bentham,
in
DC
Prodr.
10:
254.
1846.
Kerry
Barringer
1981
NEW
YORK
BOTANICAL
GARDEN
0
334028
PLANTS
FROM
HARVARD
TROPICAL
GARDEN
SOLEDAD,
Cl
EN
FU
EGOS#
PROVINCE
OF
SANTA
CLARA.
CUBA
No.
8330
Angelonia
salicariuefolia
Kunth.
;
"Fernandina"
£-3
ft.
high.
FIs.
violet,
continuous
bloomer.
Collected
for
the
Arnold
Arbohetum
by
J.
G.
Jack.
Aug.
*1,
193i,
01334028
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


--- layout: post status: publish published: true title: ThoughtWorks Brisbane Office author: display_name: Fabio Pereira login: admin email<EMAIL_ADDRESS>url: http://fabiopereira.me author_login: admin author_email<EMAIL_ADDRESS>author_url: http://fabiopereira.me wordpress_id: 320 wordpress_url: http://fabiopereira.me/blog/2010/06/22/thoughtworks-brisbane-office/ date: '2010-06-22 06:45:31 +1000' date_gmt: '2010-06-22 13:45:31 +1000' categories: - Technical tags: [] comments: [] ---
A ThoughtWorks office in Brisbane was officially opened last week. We had already had an office in Brisbane, but it’s been closed and now we reopened it.
Trevor, our CEO came to cut the ribbon. We had a Declaration of Independency from Sydney and Melbourne offices and at the restaurant I had snails for the first time, with Romain’s and Danni’s support :)
I’m still based in Sydney, but assigned to a project in Brisbane for around 3 months. I’m pretty happy with it, especially because of the great people we have here.
Go Brisbane!!! Thanks Danni and Super Dooper Dan Gower for the help setting up the office.
Photos by Danni McBride


It’s been almost 28 hours since I last slept, so I apologise if this
post contains a few spelling or grammatical errors. As soon as I
become aware of them, rest assured I will quickly put them to right.
Today’s git commit occurred
while I was working on getting a web development test VM / environment working. The
goal was to update a CGI script when I pushed to the dev vm.
Here is the first such attempt.
I’ve started using emacs, which is an act of such great blasphemy for
a red-blooded stalwart vim-wielding hacker such as myself that I find
it difficult to come to grips with sometimes. But there is a method to
my madness, and it isn’t just that my morals are so comprised right
now in this nadir of my life that I’ve even started learning
javascript (a running joke).
UPDATE: originally this post was only about doing this in git. Since I use
mercurial almost as much as I use git, I decided to look into how to do it
with mercurial too.
I recently was explaining to someone that as a coder, I do (or should do)
a lot more than just code. I figured since I hadn’t written anything here in
a while, I’d put my thoughts down here.
i found myself needing to generate a patchfile today from a git repo. it turns
out to be a very easy task.
I recently was explaining to someone that as a coder, I do (or should do)
a lot more than just code. I figured since I hadn’t written anything here in
a while, I’d put my thoughts down here.
the tl;dr
Coders code. That much is obvious from the title, but there is much more that
can and should be involved for anyone writing real code, at least for UNIX
coders.
intro
So you’ve spent the last couple weeks / months / years writing some really
brilliant bit of software that you think would benefit a lot of people. Or
maybe, just a few, but you still are of the mindset that since you did the
work to solve this problem, other people might have the same problem and if
they had the solution, they could concentrate on other problems. Regardless
of the quality of code and the development process you followed, which endless
books have been written on the subject, there is still a lot more work to
be done if you intend to make your software both useful and accessible to
other people. You still need to make sure you have a reasonable portable
(for the scope of the usefulness of your code) build system, good documentation,
an easily accessible online place for people to get your code, and proper
follow-through. Let’s talk through these bits.
One of the most important parts of becoming a useful developer is to find a
workflow that maximises productivty. There are plenty of methodologies and tools
people have come up with just for this - Agile, XP, BDD, TDD, RDD, and many
others. Of course, most everyone has their own unique flavour, and of course
I’m going to talk about mine. I’ve spent a lot of time trying different things
(and too much time going back to just grinding out code). This is the first post
of a milti-part series on how I’ve increased my productivity and what I do to
get things done. Unfortunately, my personal projects are sort of haphazard still,
but I have enjoyed success with this at work.
RGTDD has made a difference in how I develop code and stay productive;
furthermore, above just using a specific development methodology, I’ve found
certain tools to assist me in being productive.
in the past, i found simon budig’s woof script
but i wanted an SSL-secured version. i finally got around to writing an
SSL-secured version. i’d started one in december, but i was still fairly new to
python, but i finally pulled it off. the repo can be found
here.
interestingly enough, if you look at the git commit logs there are three
activity clusters: when i started the project in december, a brief period in
may when i started the major rewrite to include my own http server, and a
flurry of activity today when i added in ssl support.
so what does it do? as the name implies, it serves a file via https and by
default serves it only once. it’s designed to allow quick filesharing between
two systems; the transfer is protected by SSL. i won’t rewrite the documentation
here, so be sure to check the documentation to take a look at usage. perhaps
it will be useful to you as well.
This document was originally a LaTeX document; I’ve taken the pains to
convert it by hand to markdown. There are some points where the fact
that I don’t have footnotes in here makes some of the sentences a bit
awkward; one day I’ll clean them up, I promise.
If you see any LaTeX artifacts (or other errors) lurking, feel free to
let me know!
Introduction
Recently at work I have been using the
PyCrypto libraries quite a bit.
The documentation is pretty good, but there are a few areas that took me a bit
to figure out. In this post, I’ll be writing up a quick overview of the
PyCrypto library and cover some general things to know when writing
cryptographic code in general. I’ll go over symmetric, public-key, hybrid,
and message authentication codes. Keep in mind this is a quick introduction and
a lot of gross simplifications are made. For a more complete introduction to
cryptography, take a look at the references at the end of this article. This
article is just an appetite-whetter - if you have a real need for information
security you should hire an expert. Real data security goes beyond this quick
introduction (you wouldn’t trust the design and engineering of a bridge to
a student with a quick introduction to civil engineering, would you?)
i recently started learning
objective caml. while it may be
better documented than say standard ML, i’ve still had a few difficulties
getting started. i’ll be keeping notes here, and my github account will
probably document quite a number of lessons learned.
one of the most difficult parts about starting development in ocaml is
that the best development environment i’ve found so far is emacs with
tuareg-mode. i personally hate emacs (being a vim or straight vi/nvi type of
character) but tuareg-mode is extremely useful. (using emacs also has the
side-effect of starting me on org-mode). getting started on ubuntu was fairly
easy:
as well as a number of the ocaml libraries (which i recommend using aptitude
to look through and install). i ended up installing the Jane Street core and
the netclient libraries right off that bat.
on OS X using macports, i just had to
`port install ocaml caml-findlib tuareg-mode.el`
there are a couple other libraries you can install (like netclient) as well.
build notes:
when building new module interfaces (*.cmi), make sure to do
i just finished getting ctrans into
a workable state. what is ctrans? in short, it translates comments in a
foreign-language (i.e. russian) to english using google translate and some
regex magic.
the project started when one of my buddies and i started looking at the zeus
source code. zenmower got the first peek
and mentioned all the comments being in russian; i started poking around looking
for something to translate the comments. after ten minutes i couldn’t find
anything, so as they say, if you want something done do it yourself. i snagged
a python snippet to run google translate
on text passed in. it seemed to work pretty well and handled breaking the text
up into chunks, so i cleaned it up a bit to fit my coding standards and started
writing code to plug into that.
i slapped together some regexes to scan for c-style comments and later
scripting-language (i.e. python, perl, ruby) style ‘#’ comments. a couple of
iterations later, i had some mostly-working code that featured
* file extension-based comment scanning (i.e. look for c-style comments in
.cpp files, script-style comments in .pl files)
* a directory scanning mode and a single-file mode
* multiprocess directory scanning: the script builds a list of files that should
be scanned (based solely on file extensions) and maps a pool of workers to scan
through that list of files. i’ll talk more on the multiprocessing design later.
unicode notes
this code worked pretty well on the test files i generated, but choked on the
zeus source, throwing the dreaded
UnicodeDecodeError and
UnicodeEncodeError. after
digging around and finding someexcellentresources on
unicode that helped jog
my memory and clarify a few things i wasn’t thinking about. i came up with a
few notes for dealing with different file encodings:
you decode a stream of bytes being read into the program from whatever
encoding the file came in (i.e. utf-8) to a unicode string.
you encode a unicode string to whatever file encoding you want it output as;
for most files, you will likely want utf-8. if you want to print the string, it
needs to be the same encoding as your terminal (i.e.
sys.getdefaultencoding()).
it matters what encoding the file you are reading is. this was a problem for
me, since the zeus source files were often not in utf-8 or ascii.
file encoding detection if you really don’t know what format the file is in
is extremely difficult and programatically doing this is akin to black magic.
the chardet module is very useful but not
always correct. case in point - the two test source files that ship with ctrans
are saved as utf-8, but watch what happens when we try to guess the encoding on
the python test file:
123
In [6]: ctrans.guess_encoding('./test.py')
[+] attemtping to autodetect coding for ./test.py
[+] detected coding ISO-8859-2 for file ./test.py (confidence: 0.90)
that’s a 90% confidence that the file uses a different encoding than it actually
does. automagic should be used sparingly and with supervision.
concurrency notes
one design issue that came up is that of concurrency. i had to decide whether to
launch new processes for each network connection (i.e. chunk of text being
translated) or per-file (resulting in several network connections in sequence
per process). the network connections were definitely the bottleneck, but i had
to make sure the text would be returned in the proper sequence (order is sort
of important in source files). in this case, the simplest answer to ensure
the correctness of information, and given that files are the smallest atomic
units, is to launch a new process to translate a file. given a list of the files
that need to be translated, python’s multiprocessing.Pool.map() makes it
incredibly easy to set up a worker pool.
concurrency also factored into how the file encoding guessing would work -
my original idea was to modify the global variable decodeas and set this based
on whatever encoding the file was guessed to be. however, proper concurrency
requires locking and ensuring the consistency of that variable’s state. it
requires far less work to return the encoding as a string and set a local
variable in the scan_file() function - the encoding string takes a minimal
amount of memory and avoids the variable getting into an inconsistent state.
end notes
ctrans is still in a fairly rough state, but i think given the original goals -
giving zenmower and me fast english translations (as best as could be done) of
the comments in the source - the program does this fairly well. of course,
it stills requires verification to ensure that the proper encodings are being
used but it does work fairly quickly, the biggest slowdown typically being the
network speed.
the first commit was 2011-05-11 in the afternoon and the latest commit with
what i consider revison 1.0 was committed 2011-05-13 - two days of coding,
mostly hampered by network issues at home, to get working code.
the source code is available at the github repo linked at the beginning. one
planned improvement is to guess file encodings based on the average encoding
detected in a directory (i.e. to compensate for possible variations in detected
encoding and baesd on the assumption that encoding doesn’t vary over a
directory). the code also could be cleaned up quite a bit.
the important thing is that i have working code to show…


GPA Calculator
Calculate Desired GPA
Calculate Semester GPA
Credit Hours:
Class Grade:
Credit Hours:
Class Grade:
Credit Hours:
Class Grade:
Credit Hours:
Class Grade:
Credit Hours:
Class Grade:
Credit Hours:
Class Grade:


Budget Tracker App
Status:
Creating
Balance
2000
Click on a expense to edit its title or content
Expense($)
+
-
/
x
Description
Submit
Delete All Expenses


Your property details have been received. It will be reviewed by our staff within 24 hours.
Property type: Free Listing
Property status: Pending


Rock,Paper,Scissors
Fork me on
Github
Pick your weapon and fight the computer
The computer picks ...
Play Again


Enable users to add a row of fields to an HTML input form. In this code, after the HTML loads, addForm() is called. Clicking the Add Line button calls a function, addLine(), which calls addField() once for each field in the new input line. The elements, label and input, are formatted using CSS.
Loop through the HTML form lines and store the data into an array of objects, where each property of an object contains the data in the input field of the HTML entry form.
Loop through the HTML form lines and store the data into an array of objects, where each property of an object contains the data in the input field of the HTML entry form.
| Local Name | Local DOB | Local Age | Local Zodiac |
|---|---|---|---|
| Deng Xiaoping | 1904-08-22 | 115 | Dragon |
| Dwight Eisenhower | 10-14-1890 | 128 | Libra |


The encoded image is images/encoded.png. Save incoming encoded images over that file.
 Choose the one that matches the incoming encoded image.


Why Test?
Performance Testing
$ siege -n1000 -c10
or LoadImpact.com
Functional Testing / Form Validation
#a11y = accessibility
You have a test plan
You point, and click, and click, and point, and type…
You just haven’t written it
Write it down
Better yet, automate it!
No Excuses
I don't know
It's too hard
I don't have time to do any extra work
It's not my job
Consider that your job is to build stuff that works.
You have an obligation to see if it works, right?
over 25 years ago
You can't optimize what you don't measure
Google recommends your page should load in < half a second.
Regression Testing
When you your customers find a bug,
how do you make sure it doesn't happen again?
Cucumber
Ruby, JavaScript, PHP, Java or C#
Tests = Specifications = Documentation
Tests = Reduce the fear of change
Don't Forget Monitoring!
New Relic


|
BitShares-Core
6.1.0
BitShares blockchain implementation and command-line interface software
|
#include <iostream.hpp>
Public Member Functions | |
| virtual | ~istream () |
| virtual size_t | readsome (char *buf, size_t len)=0 |
| virtual size_t | readsome (const std::shared_ptr< char > &buf, size_t len, size_t offset)=0 |
| istream & | read (char *buf, size_t len) |
| istream & | read (const std::shared_ptr< char > &buf, size_t len, size_t offset=0) |
| virtual char | get () |
| void | get (char &c) |
Provides a fc::thread friendly cooperatively multi-tasked stream that will block 'cooperatively' instead of hard blocking.
Definition at line 11 of file iostream.hpp.
|
inlinevirtual |
Definition at line 14 of file iostream.hpp.
|
virtual |
Definition at line 267 of file iostream.cpp.
|
inline |
Definition at line 33 of file iostream.hpp.
| istream & fc::istream::read | ( | char * | buf, |
| size_t | len | ||
| ) |
read len bytes or throw, this method is implemented in terms of readsome.
| fc::eof_exception | if len bytes cannot be read |
Definition at line 274 of file iostream.cpp.
| istream & fc::istream::read | ( | const std::shared_ptr< char > & | buf, |
| size_t | len, | ||
| size_t | offset = 0 |
||
| ) |
Definition at line 282 of file iostream.cpp.
|
pure virtual |
read at least 1 byte or throw, if no data is available this method should block cooperatively until data is available or fc::eof is thrown.
| fc::eof | if at least 1 byte cannot be read |
Implemented in fc::asio::istream< AsyncReadStream >, graphene::net::stcp_socket, fc::tcp_socket, fc::ifstream, fc::buffered_istream, fc::cin_t, and fc::stringstream.
|
pure virtual |


Sorry The car with requested color are busy! We have Something for you
Book different color car and
Exclusive! Get 5% discount on ride just provide your same phone number
Book now
---------------Book now-----------


9 New
User Notifications
Alerts
Events
Logs
Hello,
ADHD Group
Mark Andre
<EMAIL_ADDRESS>Section
My Profile
2
Activity
Messages
FAQ
Support
Logout
Dashboard
Dashboard
Child Data (fMRI)
Input fMRI data (.nii or .nii.gz)
Predict
ADHD prediction:
Non-ADHD prediction:
Adult Data (eye movements)
Input eye movement data (.csv or .xlsx)
Predict
ADHD prediction:
Non-ADHD prediction:


Send
IT
Pricing
Contact Us
Sign Up
Login
☰
Home
Pricing
Contact Us
Sign Up
Login
Get a quick qoute on delivery fee to your desination
Dimension
Package Estimated Weight
lb
kg
Get Delivery Rate


I will argue that although it is an artifact, software cannot be identified with any concrete object, that is, any object having spatio-temporal location.
Strongly disagree. I take the opposite, materialist view, that software can be located. There are copies of software, there is an idea of software, but software’s second requirement (per suber) is that it should be materially implemented.
It is ths dual nature view (both abstract and concrete), as per Colburn, 2000, which makes software weird and confusing af.
His point is that software, like musical works, depend on humans for their existence (first because they create them with only their initial intentions).
also he has a very narrow definition of “purpose” -> games or digital audio have no purpose?


This project undertook the analysing and encoding of a selection of John Carpenter's film scores using a mixture of different software applications and programming languages.
As a musician I have always had a fascination for the work that goes into writing, composing and performing a music score that encapsulates the atmosphere of a film.
John Carpenter is not only famous for writing and directing many successful movies from the horror / fantasy genres, he is also highly acclaimed for composing and performing music scores for many of his movies.
What John Carpenter achieved with some of his scores shows a perfect balance of simple, minimalistic, atmospheric, and memorable music, which highly complemented his movie’s dramatics, atmospherics, and tensions.
The idea was to analyse three main theme songs from three of John Carpenter’s movies and compare them with shorter pieces of music from each movie. The analysis includes looking for similarities in musical notation such as recurring notes and melodies, keys and key changes, etc.
The dataset includes a mixture of self- transcribed musical notation, self-generated midi files, audio and visual analyses derived from different software applications such as MuseScore, Excel, Sonic Visualiser and Music21. There is also encoded metadata included for each piece. The dataset is publicly available on GitHub here
To visualise the musical data there are charts and histograms of the musical notes generated by midi and spread sheets of selected musical data.
The musical notation for each of the six music pieces is published in html Web pages. Please note that this is not in any way supposed to be the accurate musical notation for the music that was analysed. It is more to present how it is possible to publish music notation into html pages.
There are several sources available online which have collected different forms of data related John Carpenter's music.
Some sources are primarily concerned with metadata about John Carpenter's recorded and released output. These are generally focused on basic information such as artist, title, year released, and album, but some have included BPM and even genre.
There is desriptive information available on John Carpenter's music written in blogs such as Liberty Park Music, which describe in detail the music's composition, harmony, rhythm, breaks in patterns, melody and the music's role in the movies.
There are videos on YouTube which give a step-by-step tutorial on how a musician can reproduce the synthesizer, electric piano, and drum machine sounds of some of John Carpenter's music, with a description of some of the types of musical patterns is included.
Some musical notation and sheet music from the movie 'Halloween' is available online, which has been notated by users of the MuseScore software. One user in particular has notated separate parts of the piece - the piano and the synth parts. The user also gives descriptive information such as arranger.
No other resources containing visual musical data analsyes were found online.
Here's a taster into the piano music of Halloween (1979). The music was extracted from playing the original music through Ableton Live. To transcribe the music, it was turned into a MIDI file then ran through MusicScore, which gives you this basic (but not horrible) piano sound.
This exercise is compare the music and tempo of the original theme for Escape from New York (1984) with music encoded by software. It is very similar, but the musical output created with the MIDI file is not 100% accurate, and therefore there's a chance that extra or less musical notes have been added in error.
Listen to Escape from New York (1981) Main Theme from the video above and compare with the piano version created with MuseScore below
Developed by Allan G. McCafferty


A forum is a subject area within CIX Forums where messages are posted which can be read by all members of the forum. CIX Forums exist in three forms - open (anybody can join), closed (forum will be listed but you can only be joined by a moderator) and closed confidential (not listed).
There are lots of forums on CIX Forums covering all manner of subjects and each of these is overseen by a moderator. A CIX forum can also hold files that can be downloaded by members of the forum.
For a full list of CIX forums select the Show All Forums from the CIX Forums Menu.