The idea is to produce a batteries included version of SNOBOL4 that can be used for scripting, CGI applications, GUI applications and general programming. SNOLIB is a work in progress. I don't expect to complete it, but will just keep adding and changing components as my needs change.
Most of the components are .lss files which are literate SNOBOL4. These files are run through utility “stangle” to produce source. The source is then run through “ifs” to process %if conditionals and %include. The final phase runs the code through “embed” which can separate files and run any additional needed processing.
The majority of these library routines have been written by others. Gimpel, Budne and many others have provided useful routines for SNOBOL4 over the years. Some of this work is original, but that pales in comparision to the useful nature of the routines that I have incorporated from other sources. Special thanks to Phil Budne for his work on CSNOBOL4.
To load all of these routines into the code
program, try
SLOAD('ALL.INC')
in the code
utility. This takes but a fraction
of a second.
There are many more choices for programing now. C provides a reasonable choice for low-level development. For higher level languages, Scheme, Python and others are available. structured programming would seem like an odd choice. However, it is a simple language, and well suited to many problem domains. I believe that it can be a very productive choice, if some of its shortcomings can be addressed. Its very simplicity makes for productivity. SNOBOL4 has a very shallow learning curve. It is provably accessible to (for instance) people in the humanities. The compiler/interpreter is very small (by todays standards). We can view SNOBOL4 as a sophisticated version of BASIC. Since SNOBOL4 handles strings and parsing so well, it encourages meta-programming.
Given that things like SNOCONE to provide sntactic sugar and object oriented programming are simple to provide in SNOBOL4, the only reason that SNOBOL4 is not more popular is historical. SNOBOL4 was a standard language in the 70's, but was considered too resource intensive (compared with FORTRAN, COBOL and ASSEMBLER). When computing resources caught up to SNOBOL, other languages and systems were developed to take its place. Perl, Python, Ruby and other systems took its place. Still, SNOBOL4 provides most of the desirable features of these systems in a very simple and focussed system.
SNOBOL4's shortcomings are very well known, and are (in most cases) easy enough to overcome. The simplicity of the language allows for debugging and inspection tools to be written by even neophyte users. The complexity of pattern matching unfortunately encourages “cargo-cult” programming in the pattern sub-language. I want to pursue a SNOBOL6 effort, that melds the fundamentals of what makes SNOBOL4 great with the features of modern programming systems. This library is meant as a step in that direction. I do not believe ICON was the right approach, in that it eliminated too much of the essence of SNOBOL in an effort to modernize the language.
Javascript is the main competition. We need to work with Javascript, and thus this library provides JSON as an important element. Javascript is the code execution choice in the client browser, and we have to interoperate with it for modern application delivery. Thus CGI and the other HTML components are also critical pieces of this library.
At absolute worst, this work can be used to teach DOGs (Dumb Old Guys) new tricks, such as how browser based applications actually work at a low level. All components of this library are at a source level and are immediately inspectable and manipulable.
CSNOBOL4 is an implementation of SNOBOL4 based on the original SIL implementation. As such, it is very mature and stable, but, since the SIL reference implementation dates from 1969, doesn't offer any particular amenities for program development. Most programs were entered on punched cards, and programming was mostly a “pen and paper” activity. Computer time was very expensive, so the computer itself was not used to ease the programming process (except, perhaps, to generate cross-references).
This project is an attempt to address some of these shortcomings. In 1969, SNOBOL4 was run on an IBM 360 computer, which was considered a “Mainframe”. I started this development on an Intel ATOM based netbook, which is actually the slowest system I have access to. Still, this system is over one thousand times faster (1.6Ghz single core with hyper-threading) than the IBM 360 based on execution times published in SNOBOL4 reference “Green Book” using the IBM 360 SIL implementation and the CSNOBOL4 SIL implementation on my netbook. As well, my netbook has 1GB of memory, as compared to (typically) under 1MB for the IBM 360 (again, 1000 times more), and many times the mass storage capacity (160GB internal, and multiple terrabytes external - easily many thousand times the capacity). The other system I use for development is an Intel i3 system with 4GB of RAM. This system is over 2000 times faster than the IBM 360 at single thread execution, and over 4000 times faster because it is dual core. it has 4000 times the RAM of the IBM 360.
This 3 or more orders of magnitude increase in capacity should be
used to make the programming task easier. SNOBOL4 was originally,
and still is, generally an interpretive system. But, we have access
to additional utility software, and ideas which were not available
back in 1969. Automatic dependency checking with MAKE
,
revision control with RCS
(and, further systems like
GIT
), full screen interactive editors, diagramming
tools, formatting, spell check, test driven development and Donald
Knuth's marvelous idea of “Literate Programming”.
Literate programming is the art of writing computer programs in such a way that the source code is presented clearly and engagingly for a human reader while still making it available to the compiler. Literate programming embeds source code within its technical documentation; it permits the code to be presented in an order that suits the human reader, then re-orders the code for compilation. It does require good tracking of line references back to the original literate source so that compile errors can be easily fixed.
Donald Knuth invented literate programming during the development of his TeX typesetting program in 1981 in response to a challenge from Tony Hoare to publish the source code to TeX. Knuth admits to being terrified at the prospect of publishing his code, but, drawing on the ideas of holon programming developed by Pierre Arnoul de Marneffe, Knuth developed the original WEB system that combined program code and technical documentation into a single document that provided a clear, engaging description to a human reader and simultaneously provided source code to the compiler.
This is an implementation of the tangle
and
weave
programs (here known as stangle
and sweave
). This implementation is not tied to a
particular language, and will work with C, Pascal, Assembler,
SNOBOL4 and more, and “mixed language” files utilizing my
embed
processor.
I have started to look at snocone to make SNOBOL4 more palatable to other developers. However snocone originally had no provision to generate library components; does not respect incoming -LINE directives; always enforced a MAIN routine; and guarantees label collision (L.1 etc.) if modules are attempted. rebus was another possibility, but snocone was chosen because it is easier to modify for my needs. See snocone for details of this language processor.
snocone has been modified to support the following features. Each of these features is included to help with developing modules (separate translation units).
| -m flag | The -m flag has been added to suppress the generation of a MAIN program in the translation output. This allows modules to be coded with snocone. |
| -CONTROL CARD passthrough | Control card (specifically -INCLUDE) are passed through to the output on translation. This allows snocone programs to use SNOBOL4 library routines. |
| // passthrough | Lines beginning with // are passed through to the output on translation. The leading // is stripped. Note that the line must begin with // without leading whitespace. These lines are retained and emitted when the procedure definitions are output. //-include allows files to be included and be available. // lines are deferred and output when function definitions are generated. //// passes through lines immediately. This is used to introduce SNOBOL4 directly into code. Again the line must begin with //// without leading whitespace. The //// is stripped and the resulting line is immediately generated. |
| LABEL= | Normally, snocone generates labels of the for L.n where n is a number beginning with 1. These labels will conflict if multiple translation units are combined. LABEL=string sets the leadin to be string instead of L. and can eliminate this problem. For example LABEL=INC. will generate labels INC.1, INC.2 etc. If -m is used to generate a module, and LABEL= is not used, the default label prefix will be the filename (with .sc removed). This gives good results for my code. |
| -LINE parsing |
|
| Prologue | If generating a MAIN., prologue now generates a call to CSNOBOL4. Extra options are not yet supported, and need to be manually inserted. The standard prologue is: #!/usr/bin/bash exec "snobol4" "-b" "$0" "$@" -PLUSOPS 1 MAIN. CODE('MAIN') |
The snocone translater is run after the code has been tangled. This is done because the code generation done by snocone is not oriented toward lines, but tokens, and conditionals would be difficult to do after tangling.
The //// feature is dangerous. If used in the middle of a sequence of snocone statements, the passthrough output may not appear at the correct point. However, it is useful outside of procedures, and can be used to completely implement a procedure in SNOBOL4. For example:
-INCLUDE 'CHARS.INC' procedure incr(n) { return n + 1; } procedure proc2(x) { //// OUTPUT = 'test: x = ' x }
This implements an incr procedure written in snocone,
and a proc2 procedure, declared in snocone but the body is
completely written in native SNOBOL4. The -INCLUDE
is actually a part of MAIN. Since CHARS.INC
simply assigns character values, that is then done after the
START.
routine branches to MAIN.
This
sequence is a bit different, but should work fine in practice. Note
that -INCLUDE
is the same as ////-INCLUDE
'CHARS.INC'
but is a bit more readable.
If generating a module (to be included in another program), the
include should be //-INCLUDE 'file'
instead. This
forces the include (or other startup statement) to be generated
when the function definitions are output. This is needed because
modules do not begin execution at the top because they have no
main function.
Unit tests should be incorporated with the code; this means
that these tests are to be directly included into the literate
source. The STANGLE_ROOT=unit_test
environment variable
to stangle
is used to select an alternate root chunk
to generate unit tests.
These components were not developed using TDD (test driven
development). However, a test section has been added as a
<<unit_test>>
root code chunk to each of the
library components. Most of these are empty, and simply succeed. Some
do have action. The test component of FILE.lss is FILE.tst. This
is an executable and should return &CODE=0 on test success
and &CODE=1 on failure. If the test requires interactivity,
automatic verification may not be possible (see STCL.lss).
The workflow begins with preparing ideas. This is done as a mental process, and is recorded on computer with an editor, or transcribed from paper.
I generally use my own interactive editor cpmed
to prepare documentation
and programs. I would not recommend that anyone else use it, but
the important characteristic is that it allows filtering of text
through external tools, like spell
and fmt
.
The purpose of a text editor (especially a programming editor) is to enter and revise ASCII (and, these days, UTF-8) text, conveniently and precisely. Text must be entered quickly in the format required by the language processor, and revisions should be fast and accurate. Any on-screen representation must facilitate these goals, without interfering with the creative process.
The text editor will be used in three “modes”. First is entering text, where the text is known, or being composed. This requires positioning to the entry location (via a find function, or by line number), a ruler to assist in horizontal formatting (possibly a margin bell or vertical rules, and tabulation controls).
The second mode is text revision. Again, rapid location to the position, from information given by the language processor (error message), or to other desired locations, followed by entry, deletion or replacement.
The third mode is simply reading. A clean and uncluttered display is best, perhaps assisted by line numbering or change notification devices.
Editing automation is important for routine use. Being able to integrate editing into other parts of the workflow is vital, and being able to bend the editor to the authors will is very useful, and makes for a satisfying experience.
The two editors in common use (vi
and
emacs
) have many of the desired traits. I use my
own editor, but the actual editor used is a personal decision of
the author.
Completed projects are to be browsed and read. Other peoples
idea recorded in computer form are also to be read. I found it
difficult to stretch the editor completely to browsing or reading
and not compromise the editing function (and have both work to my
satisfaction). So I introduce a tool called list
for
this purpose. It provides nothing but a full-screen view of
the document with no other distractions to the reading process.
But, my preferred reading software is a web browser. I use the
Firefox Web Browser that provides a rich reading experience. A
document can be displayed with nice type fonts, and illustrations
are displayed.
For this reason, the target of the documention production process will be html format, suitable for rendering by Firefox. Other browsers may function as well.
Diagrams provide important insight into problems. I find that drawing a picture can help me reason about an issue, and that providing such illustration can help explain to others.
Entry of such diagrams may be difficult. We want the resultant diagram to render with Firefox. External drawing tools abound (for example, dia). But, our primary tool is the editor, and we want to capture diagrams without excessively interrupting the edit process.
To this end, I have been using a tool called ditaa. This takes a diagram in the document, represented as simple “ASCII art”, and converts it to a “.png” format suitable for rendering by Firefox.
ditaa is not included in this archive. ditaa is a
JAVA application, and will require the installation of
a JAVA run-time (JRE). ditaa
is available
(free software) from
ditaa.sourceforge.net. ditaa may be available in your
package repositories (if you are using Linux). It comes in the
repositories for Fedora (yum install ditaa).
A C compiler will also be needed for some of the components
(P64, FFI, JIT and the compile
utility). The
compile
utility will also require a source distribution
of CSNOBOL4.
If these components are not desired, the Makefile can be edited to remove them.
ditaa is run as a filter for html files, where it locates diagrams, converts them, and inserts the correct reference into the resultant (new) html code. An example (from the ditaa documentation) follows:
A benefit to using ditaa as compared to an external drawing tool is that the image is available (albeit in a cruder form) when viewing the ASCII source in the editor, or list tool.
Being able to capture editing changes and revert changes made in error is a useful feature of modern programming environments. I use RCS for this purpose. There are distributed system (such as GIT) in use today. RCS is nice in that it is very simple, and easy to use. Since I generally work on projects alone, I find RCS entirely suitable. However, SNOLIB now uses GIT, because the project is hosted on github. github SNOLIB
The literate source itself may be broken into multiple source files
for convenience of editing. There should be a single “main”
literate source file, that includes other files as needed for
the project. Thus, processing begins with the ifs
utility. The environment variable IFSLC=@
is set
to define the lead-in character to the @ sign. Includes are then
specified by @INCLUDE(FILE)
. LSS=SNOBOL4
(or C, or ASM) to allow ifs
to generate line references
to the literate source.
The combined literate source is then sent through
stangle
. Again, LSS=SNOBOL4
is used to
generate appropriate line references for error tracking.
After tangling, the source code is processed by ifs
again, to do conditional processing. This time, the “normal”
lead-in character % is used. This may also include needed files
to determine conditional processing. After this, the code is
processed with embed
. This allows creation of needed
support files, and compilation using the C compiler and other needed
building tasks. The output of embed
is the final INCLUDE
file or executable, if the source language was SNOBOL4. However,
it is possible that the source language may be something else
(for example, SNOCONE). If SNOCONE, the file must be processed by
snocone
as either a module or main program.
IFSLC=@ LSS=SNOBOL4 ifs infile | LSS=SNOBOL4 stangle | LSS=SNOBOL4 ifs | embed >outfile
The same commands are used to produce unit tests.
STANGLE_ROOT=unit_test
is added to provide a different
root for the tangle operation. This should produce a runnable file
that implements unit tests for this component.
IFSLC=@ LSS=SNOBOL4 ifs infile | STANGLE_ROOT=unit_test LSS=SNOBOL4 stangle | LSS=SNOBOL4 ifs | embed >outfile
The documentation is produced from the same literate source
file. Again, pieces may need to be gathered using ifs
.
The literate source is then processed by sweave
to
produce html output. A footer is added automatically referring
to index.html
which should be the “head” of the
documentation for the project. The html is processed by the
ditaa
utility to convert ASCII diagrams to png
diagrams in the html file.
Line number tracking is not important when generating the
documentation output so LSS
is not used while weaving.
IFSLC=@ ifs infile | sweave > html_file ditaa html_file --html --overwrite
A single .lss
input file will produce a library file or
an executable, an html documentation file with illustrations;
possibly C header files and loadable .so
objects, and
unit tests. Since embed
is used, other artifacts are
also easily generated (for example, data files for the unit tests).
From the diagram, twelve or so programs are typically executed to convert the literate source into the library or program, produce the documentation, and the unit test. Actually, if an external compiler is needed, possibly 16 or more programs may be invoked (C preprocessor, C compiler, linker) although these are not shown on the diagram.
Compile activities are coordinated using make.
S1 IFS @ PREFIX Collect all source together to process with stangle/sweave. The source may be in separate file to ease editing. S2 STANGLE <<>> Tangle together the chunks from the input producing a file in correct sequence for the language processor. Begin tangle with the <<>> chunk. S3 G360 Simple pre-processing of source code. Currently, replaces ← with =, but can do other macro expansion tasks. This will be important later, to add syntax sugar. S4 IFS % PREFIX Does file level includes and conditionals for the code. Sort out 32/64 bit issues, platform issues etc. at this phase. This is for software configuration. S5 EMBED Extracts in-line files (C, FORTRAN, data, etc.). Runs additional commands to process them (eg. C compiler to produce loadable objects). S6 SNOCONE If the source is SNOCONE rather than SNOBOL4, translate the SNOCONE to SNOBOL4. S7 INCLUDE FILE OR PROGRAM We now have the target include file or program. S8 STANGLE <> Tangle the source using < > as the root chunk. This extracts the unit test source. S9 SEE S3 S10 SEE S4 S11 SEE S5 S12 UNIT TEST We now have the unit test built and ready to be run. S13 SWEAVE Process the literate source, formatting documentation and code for publication. S14 DITAA Convert ASCII diagrams in documentations to real drawings S15 DOCUMENTATION HTML documentation prepared, with diagrams.
SNOLIB supplies a number of utilities to assist in the programming process. These are described in the Utilities document.
Repair UTF-8. Add to unit test coverage. FastCGI interface.


|
FreeRTOS port on GAP8/RISC-V
|
Data Fields | |
| size_t | xAvailableHeapSpaceInBytes |
| size_t | xSizeOfLargestFreeBlockInBytes |
| size_t | xSizeOfSmallestFreeBlockInBytes |
| size_t | xNumberOfFreeBlocks |
| size_t | xMinimumEverFreeBytesRemaining |
| size_t | xNumberOfSuccessfulAllocations |
| size_t | xNumberOfSuccessfulFrees |
| size_t HeapStats_t::xAvailableHeapSpaceInBytes |
Referenced by vPortGetHeapStats().
| size_t HeapStats_t::xMinimumEverFreeBytesRemaining |
Referenced by vPortGetHeapStats().
| size_t HeapStats_t::xNumberOfFreeBlocks |
Referenced by vPortGetHeapStats().
| size_t HeapStats_t::xNumberOfSuccessfulAllocations |
Referenced by vPortGetHeapStats().
| size_t HeapStats_t::xNumberOfSuccessfulFrees |
Referenced by vPortGetHeapStats().
| size_t HeapStats_t::xSizeOfLargestFreeBlockInBytes |
Referenced by vPortGetHeapStats().
| size_t HeapStats_t::xSizeOfSmallestFreeBlockInBytes |
Referenced by vPortGetHeapStats().


--- voc: https://media.ccc.de/v/sotm2019-2478-bilingual-breakout-session-community-building-and-empowerment-in-south-french-speaking-countries-in-africa-haiti recordings: [{'size': 695, 'length': 6382, 'mime_type': 'video/mp4', 'language': 'eng', 'filename': 'sotm2019-2478-eng-Bilingual_Breakout_Session_-_Community_building_and_empowerment_in_South_French-speaking_countries_in_Africa_Haiti_hd.mp4', 'state': 'new', 'folder': 'h264-hd', 'high_quality': True, 'width': 1280, 'height': 720, 'updated_at': '2019-10-03T23:36:33.418+02:00', 'recording_url': 'https://cdn.media.ccc.de/events/sotm/2019/h264-hd/sotm2019-2478-eng-Bilingual_Breakout_Session_-_Community_building_and_empowerment_in_South_French-speaking_countries_in_Africa_Haiti_hd.mp4', 'url': 'https://api.media.ccc.de/public/recordings/41085', 'event_url': 'https://api.media.ccc.de/public/events/36bf966f-d070-561e-ba27-241108eab814', 'conference_url': 'https://api.media.ccc.de/public/conferences/sotm2019'}] layout: session academic: true title: "Bilingual Breakout Session – Community building and empowerment in South: French-speaking countries in Africa+Haiti" code: "NCSSPK" speaker_names_with_affiliations: ['Séverin Menard', 'Nicolas Chavent (Associations Les Libres Géographes (LLG) et Projet Espace OSM Francophone (ProjetEOF))'] extra_tags: room: "Kleiner Hörsaal" length: "01:30" time: "Sunday, 11:30" resources: [] recording: False ---
This breakout session will produce a narrative about how since 2010, OpenStreetMap communities emerged in Haiti and expanded to Western and Central Africa after 2012 partly as the result of a combined set of support actions spanning technical and organizational OSM trainings, voluntary and professional OSM mapping projects, OSM local and international volunteering programs, documentation as well as preparedness and crisis mapping work... Tied to the overall support of the global OSM community and the commitment of Haitian and African mappers, these actions allowed the OSM project to come forth in the form of a network of organized and self-standing communities and economic stakeholders in Haiti, Western and Central Africa cognizant of and active with OpenStreetMap, Open data and free geomatics.
Like in Milano's Bird of Feathers sessions last year, this talk will be collectively built with African mappers involved in these multi-years activities and ideally co-facilitated by those from Western Africa successful in getting visas and traveling to Heidelberg. This talk is meant to introduce a Bird of Feathers session opened to anyone active or interested in growing OSM the grassroots way in the hard environment of the countries of the Global South and especially southern countries of Africa.
Additional scholars from Africa may also join.


JumpCutterlite
Automatically compress silence in a video!
Input File
URL (not yet working)
Output File
Silent Threshold
Sounded Speed
Silent Speed
Frame Margin
Sample Rate
Frame Rate
Frame Quality
Constructed Command Line:
Command Line Output:
Version = 14 Sept 2020
PySimpleGUI Version <IP_ADDRESS>


Meal Type
Any
Breakfast
Snack
Appetizer
Main Course
Cook Time
Any
30 Mins
45 Mins
60 Mins
90 Mins
120 Mins
Search for Recipe
Recipe Outline
How to use the App
Pick meal type and cook time
Click on the Search button
Scroll on the list of Recipes
Select a recipe
You will see Points of interest on a particular city of that country
Click on the View Recipe button
Follow the recipe steps
Click on Full Recipe Button for addition details


KBO Linked Data Technical info
URL's used
for individuals
The used URL's are composed according to following pattern:
http://data.kbodata.be/{concept}/{identifier}#id
- concept: the type of entity e.g organisation, address, ...
- identifier: the kbo identifier where '.' have been replaced by '_'.
Examples:
http://data.kbodata.be/organisation/0308_357_159#id
http://data.kbodata.be/address/2_189_876_354#id
The full pattern of all entities in the database: ^http://data.kbodata.be/(activity|activitygroup|address|classification|conceptscheme|contacttype|entitycontact|juridicalform|juridicalsituation|language|nace2003|nace2008|organisation|status|typeofaddress|typeofdenomination|typeofenterprise|activity|softwareagent)/(.*)#id$
for classes and properties
We use, except for one, classes and properties from well-know vocabularies. These vocabularies are:
- schema
- org
- rov
- oslo
- rdfs
- rdf
- vcard
- skos
- owl
- void
- dcterms
- foaf
- kbo
- locn
- xsd
We added one property being orgMainActivity with identifier http://data.kbodata.be/def#orgMainActivity. As you might expect the definition can be found at this address.
conneg (content negotiation)
The linked data server supports content negotiation for following formats:
- html
- rdf/xml (default)
- turtle
- ntriples
- jsonld
Use when doing a HTTP GET as header:
| Accept | for a response format as |
|---|---|
| rdf | |
| */* | rdf |
| text/html | html |
| application/rdf+xml | rdf |
| text/turtle | turtle |
| text/plain | ntriples |
| application/ld+json | json-ld |
representation URL’s
The respective representations of the document describing an entity are directly retrievable by using following extensions:
| Extension | for a response format in |
|---|---|
| .html | html |
| .rdf | rdf |
| .ttl | turtle |
| .nt | ntriples |
| .jsonld | json-ld |
CORS
This server has CORS support. When one adds a Origin header to a HTTP GET request, the response will contain a Access-Control-Allow-Origin.
VOID description
A description of the dataset according to the Vocabulary of Interlinked Datasets VoID with minimal provenance information PROV data can be found at: KBO dataset
Reconciliation server
The Reconciliation API is a simple web service supporting the interlinking of other datasets to the KBO dataset. This API accepts a simple string e.g. label as input and returns a list of potential matching identifiers in ranked order.
This API implements almost completely the OpenRefine Reconciliation API of which you can find the information at: Ordnance Survey en OpenRefine.
With as result that this API can be used directly from within OpenRefine/ LODRefine.
Not implemented yet queries using: * a union of types * properties
This API can be found at : KBOdata reconcilitiation API.
Data dumps
A data dump in turtle can be found in zip download
SPARQL endpoint
A Sparql endpoint is available at KBOdata sparql endpoint.
Fragments server
Applying the latest forays into Linked Data from Ghent university, a fragments endpoint is available at KBOData fragments endpoint.


UI Samples
IBM PC
The PC machine was popular in the 80's and many compatible machines were produced.
Apple ][
TRS-80
Commodore 64
Old, old machines
Amstrad
Osborn
UI Samples Page 2
Bands:
Journey
REO Speedwagon
Foreigner
Press Me!


I'm from a small town in Connecticut where I lived until I went to College in Illinois. Since then, I've lived in Montana, Florida, and just recently moved to the Detroit area. My wife and I live in Warren with our very cute one-year-old son and our very jealous dog.
I've been teaching myself coding in my spare time over the last few months to get the sense of it and it's really fun! I really enjoy the challenge of running into new problems and figuring out how to fix them.
Before I started learning how to code, my go-to spare time activity was writing fiction. I'm unpublished, but storytelling is my passion. I'm excited for coding to be my day job so I can use my spare time for storytelling again!
I love to travel! Most recently, my wife and I travelled to Guam to visit her sister and brother-in-law and their new baby. My favorite place I've ever been is Israel.
Speaking of interest in things overseas, I'm an avid soccer fan! My favorite team is Tottenham Hotspur who play in the English Premier League. They had their best season in a long time last year, but weren't able to win the league. I'm pretty excited about the possibility of a Detroit-based MLS expansion team coming in the next few years. Not excited about the extra traffic, though...
My favorite quote is from Ender's Game by Orson Scott Card:
There are times when the world is rearranging itself, and at times like that, the right words can change the world.


test-footenotes¶
The section with a reference to [AuthorYear]¶
Header1 |
Header2 |
|---|---|
Content |
Content |
The rubric title with a reference to [AuthorYear]
- 2
First
First footnote: 2
Second footnote: 1
Third footnote: 3
GitHub Page: https://github.com/sphinx-doc/sphinx
Mailing list<EMAIL_ADDRESS>The section with a reference to 5¶
- 5
Footnote in section
- URL in term
Description Description Description …
- Footnote in term 6
Description Description Description …
- Term in deflist
Description2
- 6
Footnote in term
- 7
Footnote in caption
name |
desc |
|---|---|
a |
b |
a |
b |
- 8
Foot note in table
name |
desc |
|---|---|
This is a reference to the code-block in the footnote: I am in a footnote |
This is one more footnote with some code in it 11. |
This is a reference to the other code block: I am also in a footnote |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |
a |
b |


Grid works well for a layout with a known number of columns. The columns can be configured with multiple breakpoints to specify the column span of each child. Breakpoints makes is easy to adapt the layout to different screen sizes.
Each breakpoint is named using t-shirt sizes and relates to a defined screen size or bigger:
If you have concerns about HTML validity related to the custom attributes, you can prefix the
attributes above with
data-*
. That way your HTML will be valid and it will function exactly the same. Here is an example:


Rating Calculator
Own Rating:
Own Rating Deviation:
If you click the "Submit" button, the form-data will be sent to a page called "/action_page.php".


{{globalize/UK|date=November 2014}} {{Infobox prepared food | name = Fried bread | image = File:Scrambled eggs veggie sausage mushrooms and fried bread cc flickr user loopzilla.jpg | caption = Fried bread (right) as part of a cooked breakfast | alternate_name = Fried slice | country = Britain | region = | creator = | course = | type = Bread | served = | main_ingredient = | variations = | calories = | other = }}
Fried bread is a slice of bread which is fried.
A full English breakfast will often include fried bread<ref>{{cite book | url=http://books.google.com/books?id=rjIEAAAAMBAJ&pg=PA12 | title=The Rotarian | year=January 2001 | pages=12}}</ref> fried in oil, butter, lard, or bacon drippings. A traditional Irish breakfast is usually accompanied by soda bread but in Northern Ireland an Ulster fry can contain fried soda farls.
{{reflist}}
{{British bread}} {{Irish bread}}
{{bread-stub}} {{Breakfast-stub}}


Available Reports
Custom Query
Compose a new ticket query by selecting filters and columns to display.
SQL reports and saved custom queries Sort by: Identifier Title
{1} Active Tickets
- List all active tickets by priority.
- Color each row based on priority.
{2} Active Tickets by Version
This report shows how to color results by priority, while grouping results by version.
Last modification time, description and reporter are included as hidden fields for useful RSS export.
{3} Active Tickets by Milestone
This report shows how to color results by priority, while grouping results by milestone.
Last modification time, description and reporter are included as hidden fields for useful RSS export.
{4} Assigned, Active Tickets by Owner
List assigned tickets, group by ticket owner, sorted by priority.
{5} Assigned, Active Tickets by Owner (Full Description)
List tickets assigned, group by ticket owner. This report demonstrates the use of full-row display.
{6} All Tickets By Milestone (Including closed)
A more complex example to show how to make advanced reports.
{7} My Tickets
This report demonstrates the use of the automatically set USER dynamic variable, replaced with the username of the logged in user when executed.
{8} Active Tickets, Mine first
- List all active tickets by priority.
- Show all tickets owned by the logged in user in a group first.


class msiempy.device.ESM(NitroObject): (source)
Enterprise Security Manager interface.
Object do not contain data, it's a simple interface to data structures / values returned by the SIEM or helper methods.
| Method | __init__ | Undocumented |
| Method | text | Returns "ESM object" |
| Method | json | Not implemented |
| Method | refresh | Not implemented |
| Method | time | Returns: str: ESM time (GMT) |
| Method | buildstamp | Returns: Buildstamp string Example: 10.0.2<PHONE_NUMBER>1031 |
| Method | version | Returns: simple version string Example: 10.1.0 |
| Method | status | Get various ESM statuses. |
| Method | disks | Returns: self.status()['hdd'] |
| Method | ram | Returns: self.status()['ram'] |
| Method | backup_status | Returns: dict : Backup status and timestamps. |
| Method | callhome | Check callhome connection. |
| Method | rules_status | Returns: Rules autocheck status and timestamps. |
| Method | get_alerts | Tells the ESM to retrieve alerts from the provided device ID. |
| Method | recs | Get list of receivers name and id |
| Method | tz_offsets | Builds table of ESM timezones including offsets. |
| Method | timezones | Builds table of ESM timezones and names only. No offsets. |
| Method | tz_name_to_id | Get the timezone ID from it's name. |
| Method | tz_id_to_name | Get the timezone name from it's ID. |
| Method | type_id_to_venmod | Get the datasource vendor info from it's type_id . |
| Method | venmod_to_type_id | Get the datasource type_id info from it's vendor and model . |
| Method | rules_history | Returns: Policy Editor rule history. |
| Method | _map_status_int_fields | Undocumented |
| Instance Variable | _fields | Undocumented |
| Method | _get_timezones | Gets list of timezones from the ESM. |
| Method | _get_ds_types | Retrieves device table from ESM |
| Method | _format_ds_types | Callback to create type_id/vendor/model table |
Inherited from NitroObject:
| Class | NitroJSONEncoder | Custom JSON encoder that will use the approprtiate propertie depending of the type of NitroObject. TODO support json json dumping of QueryFilers, may be by making them inherits from NitroDict. |
| Instance Variable | nitro | msiempy.core.session.NitroSession object. Interface to the SIEM. |
Get various ESM statuses.
dict
Avail: 7977MB, Used: 7857MB, Free: 119MB
sda3 Size: 491GB, Used: 55GB(12%), Available: 413GB, Mount: /
Other functions exist to return subsets of this data also.
SYS_GETSYSINFO
Returns: Rules autocheck status and timestamps.
status
.Example:
{ 'rulesAndSoftwareCheckEnabled': True 'rulesAndSoftLastCheck': '07/06/2017 10:28:43', 'rulesAndSoftNextCheck': '07/06/2017 22:28:43',}
Get list of receivers name and id
list[tuple(name, id)]
Builds table of ESM timezones including offsets.
list[tuple()]
: list of timezone tuples(name, id, offset)
Example:
[(1, 'Midway Island, Samoa', '-11:00'), (2, 'Hawaii', '-10:00'), ... ]
Builds table of ESM timezones and names only. No offsets.
dict
: {timezone_id:timezone_name, ...}
Retrieves device table from ESM
list
of tuples output from callback: _format_ds_types()Callback to create type_id/vendor/model table
venmods
(obj
): request object from _get_ds_typeslist of tuples
:
[(542, 'McAfee', 'SaaS Email Protection') (326, 'McAfee', 'Web Gateway') (406, 'Microsoft', 'ACS - SQL Pull') (491, 'Microsoft', 'Endpoint Protection - SQL Pull') (348, 'Microsoft', 'Exchange')]


A web page is a text document written in a language called HTML. Web browsers read these documents, and then interpret and display them.
Coding happens when programmers write text in a language that a computer can understand. The computer can then follow the instructions the programmer wrote. For example, the computer might do this by making text like this:
I'm learning to code!
look like this:
I'm learning to code!
Programmers need to write exactly the way a computer understands (also known as writing with correct "syntax"). For example, if you forget to close a  tag, the computer won't be able to figure out what you had intended to make bold. This "stupidity" can be very frustrating, but it also gives programmers incredible power: if you know how to talk to a computer than you can tell it to do anything you want.
 And that's okay. If you forget how to make text italic in HTML, you can always just look it up.
You will be using HTML in the next few lessons, so it will be helpful if you're comfortable with the jargon.
Tag:
An HTML tag is always contained within angled brackets. Most tags have an opening tag (
 for example) and a closing tag, (
). Some tags (called "void" tags) do not require a closing tag (like the
 tag).
Element
An HTML element refers to everything within a set of opening and closing tags.
Attribute:
This is a property of an HTML element. For example, to set the href attribute of an anchor tag to the Udacity URL, you would write


UFC 244 video: Embedded, part 4 - ‘Respect to the dead’
by Tim BurkeUFC 244 is almost here, and as usual, Embedded is here as well. The show that gives you an inside look at the marquee contestants on PPVs has issued the fourth episode for this weekend’s big show in the The Big Apple, and it serves as a brief introduction to the fighters at the top of the card.
We start things off with Stephen Thompson, who gets in a workout after his flight. He discusses his dad being in his corner since the start of his combat sports career, and what opponent Vicente Luque might bring to the table.
Kelvin Gastelum is training with his manager at Renzo Gracie’s. He prefers to train late since he’ll be fighting late.
 He cracks a couple of jokes about Ben Askren, and discusses opponent Nate Diaz. He also said having respect for Diaz doesn’t change how he feels about the fight.
Nate is in a coffee shop with Kron Gracie. Gracie talks about them looking out for each other. Diaz goes out for his workout and the east coast loves him.  That’s funny.
Finally Gastelum is up. Someone in the crowd asks if he’ll get a title shot if he beats Darren Till. He lets the rest of the crowd answer that in the affirmative.
And that’s it! UFC 244 goes down tomorrow night in MSG.


Data science to examine social, health, financial, and environmental data mashups. Thinking differently with data from different disciplines.
In this example, we conduct a preliminary investigation between risk and death from natural hazards or natural causes in the United States. We look at geographic distribution and medicare payments as a financial proxy to show how different states may suffer non-uniformly from various health hazards.
Diana and Marie used their backgrounds in finance and environmental science to exercise new skills in data analytics and consider connections between the natural world and society.
Fatalities due to Natural Hazards are going down, largely from better warnings and forecasts, but property damages increasing. The most deadly events today tend to be earthquakes and tsunamis, an issue on densely populated coasts because of overall less predictability.
After the earthquake in Northridge, California, heart attacks rose by 35% in the week following the disaster, with increases also being reported in other areas, including Taiwan. However, in another earthquake, in Loma Pietra, California in 1989 no increases were reported.


Johnathan Doe
Founder and CEO of Square Inc
Michael Slats
Project Lead at Airbnb.com
Our 10 day trial is 100% free and does not require credit card information to start. If at the end of your trial you would like to upgrade, great. If not, you can cancel your account altogether, or let us mark it as inactive for you to come back to later.
Absolutely. You can switch between our paid plans, or cancel your account altogether, whenever you like. We will adjust any payments accordingly.
No. You get the full featured, unlimited version of Startup completely free for 10 days. Once you're ready to upgrade, you may choose a plan which suits your needs.
We accept payments from MasterCard, Visa, Visa Debit and American Express. We do not accept PayPal. Remember, you do not need to supply card details to start your free trial.


Analogy for HTML, CSS, DOM - How would you describe it?
I enjoy interior design, and even home shows on tv, so this how I would explain HTML, CSS and the DOM.
HTML - Is the living room, a bare room structure that doesn’t quite feel homely, just as the plain text of html is basic and doesn’t stand out on a webpage.
CSS- Is where we incorporate the design elements of, wallpaper, light fixtures, curtains, carpets and furniture we choose. Just like CSS is applied to change the style and layout of our webpage.
DOM - Is the design or vision board that shows what colours and styles are to be used, and where these will be applied, along with any additional touches such as, personal art pieces on the wall.
What is meant by boxifying design?
The entire webpage is a box, which can be divided into smaller boxes within each other. boxifying is to box up all elements on the page, such as the title, an image and text descirption. This makes it easier to manage and alter when needed.
What is the box model?
The box model is slightly different. It consists of the margin, border, padding and content which can be tweaked for all our boxes to create different and beautiful styles and effects.


|
Welcome to DIScover
Understanding DIScover
Getting Started With DIScover
The Model Browser Interface
Querying an Information Model
Querying Your Source Code
Working With the Viewer
Working With the Minibrowser
Filtering Lists
Working With Groups
Creating a Group
Saving a Group
Renaming a Group
Deleting a Group
Adding Entities to a Group
Removing Entities From a Group
Copying Entities From One Group to Another
Viewing Group Contents
Exporting Group Contents
Refreshing the Active Groups List
Exiting the Group Manager
Group Operations
Sample Group Operations
Working With Graphical Views
Working With Source Code
Impact Analysis
Caliper
Metrics
Dormant
Simplify.h
Developer Xpress
|


Currently I am a graduate student pursuing my Master's degree in Computer Science with interests in Information Retrieval, Web development and Artificial Intelligence.
At Defense R&D Establishment (DRDO), I led and worked in a team under the guidance of a scientist for our Senior year project. I worked on our system end-to-end and made valuable contributions in design and implementation. The project involved coding in Embedded C and Python on hardware platforms like AVR microcontroller, DSP and ARM11 based Raspberry Pi module. This project stood out amongst the rest as it required competency in various areas in electronics as well as sound programming skills.
At Northeastern University, I am pursuing my interests and currently working towards building my profile in Information Retrieval and Web Development.
With an amalgamation of knowledge in Computer Science and Electronics, I am interested in positions in the software industry as well as in industries requiring a mixture of both.
Currently I am looking for Co-Op and Internship opportunities for Summer and Fall 2017 in my areas of interest and would like to work on challenging projects while learning new technologies and languages.
Languages:
Core Java, Python, C, Racket, Embedded C
Operating Systems:
Windows, Linux (Ubuntu and Raspbian)
Software Tools:
PyCharm, WebStorm, Heroku, Eclipse, Git, VisualDSP++, Atmel Studio, Proteus
Databases:
SQL, MongoDB
Web Technologies:
JavaScript, AngularJS, Node.js, Express, REST API, HTML5, CSS3, Bootstrap, jQuery
Happy Journey
Search Engine Design
Real-time Event Monitoring System
Call me or drop me an email
+1-857-308-9616
shah.sauri@husky.neu.edu


Deepika Padukone calls husband Ranveer Singh her super drug
by FilmfareIf you are someone who loves Bollywood romances just like us, then we have some interesting update for you on Ranveer Sigh and Deepika Padukone. Winning us with their romance yet again, this time it’s their social media PDA which has got all our attention. While usually, we see Singh flirting with his ladylove and leaving cutesy comments, this time DP is the one who has done it.
It all happened when the actress took to her social media and posted a picture of Ranveer’s t-shirt that read, “Love is a Super Power”. The snap featured only Ranveer’s back, Deepika captioned it as, “& you...my super drug!”
Check out her post here.
Sweet much!
Meanwhile, the couple recently celebrated their first wedding anniversary in Tirupati and Amritsar. They first visited Venkateswara Temple, Tirumala, and then the Golden Temple where they were accompanied by their families including Ranveer’s parents, sister Ritika Bhavnani and Deepika's parents and sister Anisha Padukone.
On the work front, Ranveer and Deepika will be next seen in Kabir Khan's '83. While the actor will portray the role of cricket legend Kapil Dev, Deepika will play his wife, Romi Bhatia. Other than this, Mrs Singh will also be seen in Meghna Gulzar's Chhapaak alongside Vikrant Massey.


|
Graphitti
A toolkit/software architecture to ease creating high-performance neural network simulators
|
A class that performs stimulus input (implementation Regular). More...
Go to the source code of this file.
Functions | |
| void | getValueList (const string &valString, vector< BGFLOAT > *pList) |
| Helper function for input vaue list (copied from Driver.cpp and modified for BGFLOAT) | |
A class that performs stimulus input (implementation Regular).
//
Definition in file SInputRegular.cpp.


The SnapRx elogbook system seeks to provide a venue for all pharmacists, pharmaceutical companies including their affiliated drugstores, dispensing outlets, and distribution centers to comply with the mandate of recording all prescriptions dispensed to be recorded in an appropriate recording system. This privacy policy is to inform all Users about what and how data is collected through the SnapRx elogbook system, how it is used and shared. By accepting the Privacy Policy, the User consents to freely giving information and the use of the data under this Privacy Policy.
This Privacy Policy is entered by and between the registered User and mClinica.
This Privacy Policy applies to the SnapRx elogbook system which includes the SnapRx elogbook mobile Application (“App”), website (“Site”), and other services that may be accessed by the App or the Site.
If the User accepts the Privacy Policy and thereafter uses the App or the Site, the User consents to the collection, use, and sharing of any personal data that may be provided under this Privacy Policy.
This Privacy Policy may be changed or modified at any time. Notifications will be sent to the User regarding any material changes made or to be made. Users may review the said changes before they become effective.
Registration and Account Profile – The User will provide the following information upon registration and setting up of his account:
Posting and Uploading – After registration and once the account has been set up, the User may upload a photo of the prescription of the drugs dispensed and input the details of said prescription in the verified fields provided. The details to be posted shall include:
Device and Location – Use of the App and site allows the Data Controller to have access to the Users IP address, proxy server, operating system, and or the mobile carrier. Whenever the App is used or the website accessed via a mobile device, the Data Controller also gains access to the Users current location.
Primarily, data is used to ensure compliance of the pharmacies to the government’s policy regarding the collection of prescription and dispensing data. Data will be used to perform other health research and regulatory requirements.
The Data Controller may share available data to its affiliates, offices, partners, and service providers to provide and develop the App and the Site and other services, or as otherwise legally required.
The User's Personal Data may be used for legal purposes by the Data Controller, in Court or in the stages leading to possible legal action arising from improper use of this Application or the related services. The User declares to be aware that the Data Controller may be required to reveal personal data upon request of public authorities or as allowed by law.
For operation and maintenance purposes, this Application and any third party services may collect files that record interaction with this Application (System logs) or use for this purpose other Personal Data (such as IP Address).
More details concerning the collection or processing of Personal Data may be requested from the Data Controller at any time.


Dearest one
On a very good day. I'm happy to inform you about my success in getting those funds transferred under the cooperation of a new partner from paraguay. Presently i'm in Paraguay for investment projects with my own share of the total sum.Meanwhile,i didn't forget your past efforts and attempts to assist me in transferring those funds despite that it failed us some how.
Now contact my secretary in Burkina Faso his name is Mr Ahmed Ibrahim him Email<EMAIL_ADDRESS>. $750.000.00 dollars which i kept for your compensation for all the past efforts and attempts to assist me in this matter.I appreciated your efforts at that time very much. so feel free and get in touched with my secretary Mr Ahmed Ibrahim and instruct him where to send the amount to you.
Please do let me know immediately you receive it so that we can share the joy after all the sufferness at that time. in the moment, I’m very busy here because of the investment projects which me and the new partner are having at hand.Finally, remember that I had forwarded instruction to the secretary on your behalf to receive that money, so feel free to get in touch with Mr Ahmed Ibrahim , he will send the amount to you without any delay.
Salam
Mr Ahmed Ibrahim.
Presently in Paraguay. MSN Hotmail sur i-mode : envoyez et recevez des e-mails depuis votre téléphone portable !


{% extends "emails/base_email.html" %}
{% load chunks %}
{% load render %}
{% block content %}
{% get_chunk 'email_password_reset' as password_reset%}
{% render password_reset.content as rendered_chunk%}
{% include 'emails/includes/base/text_row_with_title.html' with text=rendered_chunk%}
{% endblock %}


Before Change
print("%s is missing!" % pdb_subdir)
missing_pdbs.append(pdb_subdir)
continue
computed_feature = compute_pdbbind_features(featurizer, pdb_subdir,
pdb_code)
if feature_len is None:
feature_len = len(computed_feature)
if len(computed_feature) != feature_len:
print("Featurization failed for %s!" % pdb_code)
continue
y_inds.append(ind)
features.append(computed_feature)
time2 = time.time()
print("TIMING: PDBBind Featurization took %0.3f s" % (time2 - time1))
After Change
args = []
for ind, pdb_code in enumerate(ids):
args.append((ind, pdb_code, pdbbind_dir, featurizer))
results = p.map(compute_single_pdbbind_feature, args)
feature_len = None
for result in results:
if result is None:
continue


/* Copyright 2015 Christine S. MacNeill
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by appli cable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Not yet defined. To be further worked on.
var immutable = require('seamless-immutable');
/**
* Representation of a capability, a concept to be developed in future versions.
* @constant
*/
var capabilities = immutable({});
module.exports = cap;


Hermione Granger is from movie Harry Potter.
She is Harry’s best friend. And she is smart and logical, but she is a little bit different than other wizards.
Hidden detailed information about Hermione Granger in wizardingworld
- a strong female character
- confident with her weakness
a muggle-born
- a hard worker, so she becomes an honor student


| CSC1015F |
|---|
| Introduction to Computer Science: What is Computer Science, Applications of Computing, History of Computing, Computer Hardware (Machine Architecture), Computer Software (System Software, Applications), Algorithms, Programming Languages Introduction to Python Syntax: Basic syntax, variables, operators, comments, expressions, output Conditionals: Boolean expressions and logical conditions, If statements, nested ifs, if-else, if ladders, Loops: for, while, nested loops Strings and Input Functions: parameters, return values Testing: debugging, equivalence classes Arrays: lists, dictionaries, sets, multi-dimensional arrays Recursion Sorting and Searching File I/O: text files, exceptions Number Systems: Machine representations of data, Binary operations, Boolean algebra |
| csc1015f_assignment_0 |
| csc1015f_assignment_1 |
| csc1015f_assignment_2 |
| csc1015f_assignment_3 |
| csc1015f_assignment_4 |
| csc1015f_assignment_5 |
| csc1015f_assignment_6 |
| csc1015f_assignment_7 |
| csc1015f_assignment_8 |
| csc1015f_assignment_9 |
| CSC1016S |
|---|
| Introduction to Object Oriented Programming (OOP), Java syntax OO Design, UML I, Classes and Instances Methods, Variables, Constructors Statics, References, Aggregation/Composition Inheritance, Polymorphism, UML II Graphics, GUIs Abstract data types, Interfaces, Generics, Design Patterns Arrays, Linked lists Stacks, Queues Testing with JUnit Ethics in Computing and ICT for Development Ethics; Professional Practice; Legalities of Software Systems; Open Source Software Development; ICT for Development |
| csc1016s_assignment_1 |
| csc1016s_assignment_2 |
| csc1016s_assignment_3 |
| csc1016s_assignment_4 |
| csc1016s_assignment_5 |
| csc1016s_assignment_6 |
| csc1016s_assignment_7 |
| csc1016s_assignment_8 |
| csc1016s_assignment_9 |
| CSC2001F |
|---|
| Data Structures 1: Analysis of Algorithms: We will discuss how to express the running times of algorithms in a way that enables us to distinguish an efficient algorithm from an inefficient one. Trees (general, binary, AVL): We will study tree data structures, their applications, their algorithms and various techniques for ensuring their efficiency. We will end by studying Hash Tables in order to learn how to store large amounts of data in ways that are relatively easy to index and search. Data Structures 2: Searching must sometimes be done in terms of priority. Priority queues ensure that the information is always ordered so that the information with the highest priority is easily accessible. This is a good thing because retrieval can occur in constant time. Priority queues, and also B-tree indexes, will be studied. On a final note, we will discuss some graph algorithms because indexing and searching operations typically do not occur independently but rather as a sequence. It is therefore important to find ways of doing so optimally. For each of the data structures, we will discuss their pros and cons, as well as application examples for which each one is best suited. Databases: This module aims to develop an understanding of what makes a good database and an awareness of the issues in database management. On completion of the module students should be able to design, create, populate and query a database. |
| csc2001f_assignment_1 |
| csc2001f_assignment_2 |
| csc2001f_assignment_3 |
| csc2001f_assignment_4 |
| CSC2002S |
|---|
| Parallel and Concurrent Programming This module covers the basic principles and practice of parallel and concurrent programming with threads in Java, with aim of highlighting both the power and inherent complications of multithreaded programming. Topics: Introduction to parallel and concurrent programming, with definitions and overview of hardware; Threads; Parallel algorithms; Parallel Performance; Mutual exclusion; Thread safety; Condition Deadlock and Reader/Writer problem; Other topics - GUI’s and cancellation Mobile design and Development Mobile Development is an in-depth view and discussion on evolving mobile interface design principles with the objective of creating improved mobile user experiences. Topics: What is Mobile?; Mobile Operating Systems; Coding Apps; Mobile Web; UI Design Principles for Mobile; Input and Visualizations Computer Architecture This is an introduction to high-level concepts in modern computer architecture. Topics include: assembler; principles and implementation of CPU architecture; pipelining; multicore architectures; caching; virtualization; CPU/memory performance; RAM; and secondary storage. Additional topics, such as interfacing, GPUs and USB may be covered as well. |
| csc2002s_assignment_1 |
| csc2002s_assignment_2 |
| csc2002s_assignment_3 |
| csc2002s_assignment_4 |
| EEE2050F |
|---|
| The purpose of this course is to introduce second year students to a wide range of digital system concepts with a specific focus on embedded systems. This course aims to give students a strong foundation in embedded systems by introducing them to digital system fundamentals, including: information representation, Boolean algebra, logic gate behaviour, combinational and sequential digital circuits, digital building blocks and algorithmic state machines; C programming with a focus on microcontroller applications; basic microcontroller usage, including an introduction to computer architecture, general purpose input/outputs, analogue to digital convertors and basic timers. |
| eee2050f_prac_1_b |
| eee2050f_prac_2_b |
| eee2050f_prac_3_b |
| eee2050f_prac_4_b |
| CSC3002F |
|---|
| Networks Starting with the application layer network configurations and popular tools, the focus will be on the TCP/IP suite’s transport, network, and data link layers. Operating Systems This is an introduction to the structure and organisation of operating systems. Major topics include storage management (paging/segmentation, virtual memory, file systems) and protection and security issues. |
| csc3002f_assignment_1 |
| csc3002f_assignment_2 |
| csc3002f_assignment_3 |
| CSC3003S |
|---|
| Advanced Software Design 1 and 2 This part of the course is about software design, that is, how to turn ideas into quality effective and efficient code in a systematic and controlled manner. We start by reviewing O-O & UML, project management and software development methodologies. We investigate software development with SCRUM. Software architecture is an important topic together with design patterns. Theory of Algorithms Algorithms are central to computing. This course describes how algorithms are categorised. We learn interesting algorithms in each category and analyse their complexity. Theory of Computation This part of the course focuses on the question: What are the fundamental capabilities and limitations of computers? We study this question by considering the central areas of the theory of computation: automata, computability, and complexity. |
| csc3003s_assignment_1 |
| CSC3022H |
|---|
| Introduction to C++ C++ program structure; pointers and C++ memory management model; streams and I/O; object orientation in C++; resource management; operator overloading; function objects; templates; the STL; exceptions |
| csc3022h_assignment_1 |
| csc3022h_assignment_2 |
| csc3022h_assignment_3 |
| csc3022h_assignment_4 |
| csc3022h_assignment_5 |
| ML_LABS |
|---|
| Introduction to Machine Learning Types of learning – supervised, unsupervised, evolutionary, reinforcement; neural networks; Naïve Bayes networks; generative learning algorithms; clustering; Q-learning; policy and value function approximation. |
| ML_LAB_1 |
| ML_LAB_2 |
| ML_LAB_3 |
| ML_LAB_4 |
| ML_LAB_5 |
| ML_LAB_6 |
| ML_LAB_7 |
| ML_LAB_8 |
| ML_LAB_9 |
| EEE3096S |
|---|
| This course integrates aspects of embedded systems and computer architecture. This course builds upon the Embedded Systems 1 (ES1) second year course, which provided fundamental knowledge of electronics, computer architecture and embedded system design. The course is divided into two parts. Part I involves computer architecture, operating systems, and using a single board computer embedded platform and an embedded Linux operating system in case studies and in practicals. A miniproject (Project A) is performed which involves implementing a state machine and performing thorough analysis of its design and performance. Part 2 concerns digital system design, focusing on HDL coding and applying these skills in lab practicals to simulation state machines and other constructs that are useful in embedded system design. |
| eee3096s_prac_1 |
| eee3096s_prac_2 |
| eee3096s_prac_3 |
| eee3096s_prac_4 |
| eee3096s_prac_5 |
| eee3096s_prac_6_a |
| eee3096s_prac_6_b |


Resources
Teacher Guide (HS)
Teacher Guide (College)
This teacher guide will provide you with a better understanding as to how the tools of the TrEnCh-Ed program are organized and how they can be potentially used in your classroom. These tools can be used in teaching the high school Next Generation Science Standards (NGSS), the Advanced Placement (AP) Environmental Science course, and introductory climate science and ecology college courses. The tools are also designed to align with the AAAS Vision and Change in Undergraduate Biology Education.
The worksheets contain additional background and questions to facilitate inquiry-based learning. We additionally include a folder with resources for teaching the basics of climate science as background for the TrEnCh-Ed activities. Fill out this request form with information about your educational role to access the answer keys.
Worksheets (HS- and College-level)
Answer Keys (HS- and College-level)
Educators interested in helping us better these resources are encouraged to fill out this feedback form of TrEnCh-Ed. As well, we have created a folder to collect any edits you make to the materials we provide to help us continue to improve TrEnCh-Ed.
Glossary
- Acclimation: An individual level (generally non-genetic) physiological or behavioral response to a change in the environment that enables the individual to cope with this change (e.g. a plant growing deeper roots (to access moisture deeper in the soil) in response to a drought). See also: “Plasticity”.
- Adaptation: A change in the genetic makeup of a population as a result of natural selection in which a beneficial trait becomes more common (e.g. male birds developing colorful feathers because this increases their success in mating).
- Allele: A specific version of a gene.
- Amplitude: The degree of difference from an average (e.g. the extent of variability in temperature from the mean)
- Biomimetic: Something that mimics or is inspired by a biological process.
- Climatic Gradient: A directional change in climate (e.g. temperature, precipitation) along a geographic axis (e.g. a fall in temperature with increasing elevation on a mountain, an increase in precipitation with decreasing latitude).
- Critical Thermal Minimum/Maximum: The minimum and maximum temperatures at which an organism can function.
- Diapause: A period during which an organism is dormant and development is paused, usually seen in invertebrates.
- Dispersal: The movement of an individual or a propagule (seed, spore) across space, leading to gene flow.
- Distribution Range: The geographic area in which a species or population can be found.
- Ectotherm: An organism whose body temperature is dependent on external heat sources rather than internal physiology.
- Elevational Transect: A series of sites located along an elevational gradient, at which scientific observations are made.
- Fitness: The number of offspring an individual or population produces which go on to successfully breed themselves.
- Fitness Constraint: Any factor that limits the fitness of an individual or population (e.g. a limited number of mates; limited food resources; environmental stress).
- Frequency: The rate at which something occurs or is repeated.
- Gene: A sequence of nucleotides in a fixed location on a chromosome that encodes (contains instructions to make) a protein that performs a particular function.
- Gene Flow: The movement of alleles between populations.
- Genotype: The genetic makeup of an individual.
- Instar: A phase in the development of an invertebrate.
- Local Adaptation: The process by which a population becomes more genetically well-suited to the specific environmental conditions where it is found, as a result of limited gene flow.
- Metabolism: The chemical processes taking place inside an organism that maintain life.
- Morphology: The physical form and structure of a living thing.
- Natural Selection: The process by which alleles encoding for traits that increase fitness become more common and alleles encoding for traits that decrease fitness become less common.
- Phenology: The timing of important events in the life of an organism.
- Phenotype: The set of observable traits belonging to an individual.
- Physiology: The physical and chemical functions and activity of living things.
- Plasticity: The ability of an individual to change its phenotype in response to the environment without changing its genotype. See also: “Acclimation”.
- Range Shift: A change in the geographic area in which a species of population can be found.
- Sedentary: Of an animal, meaning that it lives in the same place throughout its life. For example, a mussel attached to a rock.
- Space-For-Time Substitution: An ecological technique by which sites that are separated in space are used as analogues for sites that are separated in time.
- Thermal Generalist/Specialist: An organism that is capable of functioning at a wide range of temperatures vs. one that can only function within a narrow temperature window.
- Thermoregulation: The process by which an organism maintains its preferred body temperature, either through internal physiological processes or behavioral changes.
- Trait: Any characteristic of an organism (e.g. coat color); a functional trait is one that is important in determining an organism’s ecology or evolution.


---
layout: post
title: Last Day
tags:
- Tumble
status: publish
type: post
published: true
meta:
_edit_last: '1'
dsq_thread_id: '23860994'
---
After nearly four years with IBM, the day has arrived. My final day with IBM as my employer.
During my time at IBM I found the BlueMail to be the most usable email and calendar client. I religiously tagged all my saved emails.
And so I generated a tag cloud of all my emails. I think it is pretty indicative of what's itching my brain during my IBM tenure:
[caption id="attachment_188" align="alignnone" width="835" caption="Brandon Smith's Wordle"][/caption]
Image generated by the fine work of Wordle.net


This is a JavaScript code quiz with five multiple choice questions. You have 75 seconds to answer all five questions. If you miss a question, 15 seconds will be deducted from the time left. Click begin to start the quiz, good luck.


|
JNIPort for Dolphin Smalltalk |
|
|
Back to Goodies |
Calling from Java into SmalltalkJNIPort has a limited ability to allow Java code to callback into Smalltalk. I must emphasise that the operative word here is limited; the feature is not suitable for creating a tight integration between the two worlds because:
However, it is better than nothing.
An example of using it to display the Smalltalk class hierarchy in a Swing
The Callback QueueJava's “native”, as it were, way of calling out from Java to another language is to use “native method”, which are like normal Java methods except that a programmer uses JNI to implement the method body, rather than writing it in Java. Because of the problem with threads (which you should read if you are thinking of using callbacks at all), JNIPort does not directly support this way of working (although it is used internally by JNIPort). Instead it provides Java classes that maintain a queue of Requests and Notifications; you create a request or notification (collectively a callback, or callback object) and place it on the queue, Dolphin takes requests off the queue and processes them, then returns the answer (if any is required) to the caller. The section on threads talks about the implementation of this queue, this section is about how to use it. The section on the problem with threads provides much more detail, but it is important to realise that the way that the queue works depends crucially on the operating system thread that is using it. Dolphin executes all Smalltalk code on one OS thread, which I call the Smalltalk thread, and if that thread is executing Java code then no Smalltalk code can run at all. This has implications for anyone programming with callbacks. One consequence is that you have to be careful about deadlocks (the threads section has the details), another is that callbacks made from the Smalltalk thread are handled differently from those made by other threads. If Java code running on some other thread issues a callback, then the callback object is placed on the queue and then that thread either waits for a response, or just goes about its other business. Dolphin, running on the Smalltalk thread, will see the request, process it, and (optionally) return an answer to the caller. On the other hand, if the Java code was running on the Smalltalk thread in the first place, then it places the callback on the queue in the normal way, and then calls back (a JNI callback) into Dolphin where all the requests on the requests on the queue are handled before control returns to the original caller. (So the caller is blocked, as far as Java is concerned, even if it did not want to wait for an answer.) Callback Objects
Callback objects are instances of the Java classes
You supply the tag, originator, and parameter when you create a notification object
(there are also a bunch of convenience constructors that package
arguments up into the parameter object in various ways). You send a notification
by invoking its
The pattern is similar for requests, the important difference is that
Dolphin will supply either a return value or will record the fact that
an exception was thrown from the handler. The simplest way to get the return
value is to call the request object's
You can, instead, call the request object's The Callback RegistryPlease note: I am still unhappy with the details of how handlers are set and invoked — expect changes in future versions of JNIPort.
On the other side of the wall, in Smalltalk space, Java callbacks are
managed by the callback registry. It takes callback objects off
the queue, and then uses each request's tag to find the corresponding
handler. The handler is an object that understands
If the callback was a Notification, then the handler is evaluated in a context where all Smalltalk or Java exceptions are trapped and ignored. The result of evaluating the handler is also discarded.
If the callback was a request then the handler is evaluated in a
context where all Smalltalk or Java exceptions are trapped and recorded
in the request object. If no exception is thrown, then the result of
evaluating the handler is recorded in the request. This must
be a Java object or Once the handler has returned, JNIPort notifies the callback object that it is now “complete” which wakes up any Java thread that was blocked waiting for the result.
You find the callback registry by sending Java Events
Fortunately Java API's do not often make very much use of coding patterns
that would require callbacks from Java to Smalltalk; for example Java's
idiomatic pattern of iteration uses external iterators
( There is one glaring exception to this tendency: AWT/Swing “events”. Java (since version 1.4) has provided some support for handling events without having to code explicit subclasses (like inner classes, for instance), and JNIPort builds on that to provide a way to translate Java events into Smalltalk events. This part of Java is new enough to warrant a little background explanation.
In Java, an event is represented by a method in an interface. For instance the
window closing event is represented by the
The normal way that some other object “receives” the event is that
it (or one of its inner-class objects) implements the
Java 1.4 introduced a new way of creating handlers that is less inflexible,
Proxies and Invocation Handlers. A proxy is an adaptor
that is created to implement some interface by forwarding the event methods
to an invocation handler. The invocation handler is a object with the single
method,
JNIPort uses this to translate Java events into Smalltalk events.
To observe (in Smalltalk) events generated by some Java object, you first
find the event method represented as a
Next you ask it for an event forwarder. JNIPort uses the new Java features
to create a listener for the event (i.e. an object implementing the interface)
which forwards the event data (the
A side effect of Please note that the event's source must be represented by a canonical Smalltalk object, or else the event will be triggered off a newly created reference to the Java object each time, not from whatever one your code is observing. The last step is to add the forwarder object to the list of listeners of any Java objects that you are interested in. Once it has been added (you can and should re-use it for all the event sources) it will translate the event from Java space into Smalltalk space.
For example, say we have references to two Java objects, both of which
generate the event In Smalltalk we can create a forwarder for the ping event by finding the right method:
and asking it for an event forwarder:
We can then add the forwarder to both source objects' lists of listeners:
Which is enough to forward events into Smalltalk space. However we have to ensure that the Smalltalk events are triggered off the right wrapper objects:
before we can start observing the triggered events:
One warning: JNIPort uses the method object as the tag to identify the callback, which means that you can't have more than one forwarder for the same event. I can't think of any reason why you'd need more than one forwarder (since they all do the same thing), but if I ever do then I may remove the restriction. |
Copyright © Chris Uppal, 2003-2005
Java, JNI (probably), JVM (possibly), and God knows what else, are trademarks of Sun Microsystems, Inc.


Quickly get a project started with any of the 20 templates below. The templates range from using parts of the framework to custom components and layouts as well as Bootstrap experiments.
Examples that focus on implementing uses of built-in components provided by Bootstrap.
Brand new components and templates to help you quickly get started with Bootstrap and demonstrate best practices for adding onto the framework.
Taking the default navbar component and showing how it can be moved, placed, and extended.
Examples that focus on future-friendly features or techniques.


For the final summer evening in Paris, four devrellers gathered once more on the banks of the Seine for our third event. The small size, and the fair weather meant that conversation was far less structured, but talk centered around Briq, and how to convince developers to invest in a new platform.


Welcome to the Telerik Platform push notifications sample hybrid app. Tap on the button below to enable push notifications on the device.
© Telerik Inc.


PRON
: pronoun
Definition
Pronouns are words that substitute for nouns or noun phrases, whose meaning is recoverable from the linguistic or extralinguistic context.
Since Japanese does not have a specific class of posessive personal pronoun, 我が “my” is classified into ADJ as well as other words in the same class in UniDic, instead of labeling DET or PRON.
Examples
- personal pronouns (1st person): 私, 我, 拙者, … “I” (
pronoun
/ 代名詞) - personal pronouns (2nd person): あなた, 君, 貴殿，… “you” (
pronoun
/ 代名詞) - personal pronouns (3rd person): 彼 “he”, 彼女 “she” (
pronoun
/ 代名詞) - interrogative pronouns:何 “what”, 誰 “who”, いつ “when”, どこ “where” (
pronoun
/ 代名詞) - ここ “here”, そこ “there” (
pronoun
/ 代名詞)
Treebank Statistics (UD_Japanese)
There are 49 PRON
lemmas (0%), 49 PRON
types (0%) and 931 PRON
tokens (1%).
Out of 14 observed tags, the rank of PRON
is: 11 in number of lemmas, 11 in number of types and 13 in number of tokens.
The 10 most frequent PRON
lemmas: これ, それ, ここ, 彼, 私, これら, そこ, こちら, 彼女, 彼ら
The 10 most frequent PRON
types: これ, それ, ここ, 彼, 私, これら, そこ, こちら, 彼女, 彼ら
The 10 most frequent ambiguous lemmas: 私 (PRON 72, NOUN 4), そこ (PRON 37, NOUN 1), いずれ (PRON 22, ADV 1), それぞれ (ADV 20, PRON 15), その他 (PRON 8, NOUN 1), みんな (ADV 9, PRON 6), 僕 (PRON 6, NOUN 1), 君 (NOUN 8, PRON 5), 皆 (PRON 4, NOUN 2)
The 10 most frequent ambiguous types: 私 (PRON 72, NOUN 4), そこ (PRON 37, NOUN 1), いずれ (PRON 22, ADV 1), それぞれ (ADV 20, PRON 15), その他 (PRON 8, NOUN 1), みんな (ADV 9, PRON 6), 僕 (PRON 6, NOUN 1), わたし (PRON 5, VERB 1), 君 (NOUN 8, PRON 5), 皆 (PRON 4, NOUN 2)
- 私
- そこ
- いずれ
- それぞれ
- その他
- みんな
- 僕
- わたし
- 君
- 皆
Morphology
The form / lemma ratio of PRON
is 1.000000 (the average of all parts of speech is 1.059217).
The 1st highest number of forms (1) was observed with the lemma “あちこち”: あちこち.
The 2nd highest number of forms (1) was observed with the lemma “あちら”: あちら.
The 3rd highest number of forms (1) was observed with the lemma “あなた”: あなた.
PRON
does not occur with any features.
Relations
PRON
nodes are attached to their parents using 7 different relations: ja-dep/nsubj (261; 28% instances), ja-dep/obl (251; 27% instances), ja-dep/nmod (224; 24% instances), ja-dep/iobj (100; 11% instances), ja-dep/obj (83; 9% instances), ja-dep/root (11; 1% instances), ja-dep/acl (1; 0% instances)
Parents of PRON
nodes belong to 8 different parts of speech: VERB (557; 60% instances), NOUN (282; 30% instances), ADJ (56; 6% instances), NUM (11; 1% instances), ROOT (11; 1% instances), PROPN (7; 1% instances), ADV (5; 1% instances), PRON (2; 0% instances)
19 (2%) PRON
nodes are leaves.
672 (72%) PRON
nodes have one child.
181 (19%) PRON
nodes have two children.
59 (6%) PRON
nodes have three or more children.
The highest child degree of a PRON
node is 10.

Out of 16 observed tags, the rank of PRON
is: 8 in number of lemmas, 11 in number of types and 15 in number of tokens.

The 1st highest number of forms (1) was observed with the lemma “_”: _.
The 2nd highest number of forms (1) was observed with the lemma “何”: _.
The 3rd highest number of forms (1) was observed with the lemma “何れ”: _.
PRON
does not occur with any features.
Relations
PRON
nodes are attached to their parents using 14 different relations: ja-dep/nmod (242; 33% instances), ja-dep/nsubj (175; 24% instances), ja-dep/dep (144; 19% instances), ja-dep/dobj (77; 10% instances), ja-dep/iobj (75; 10% instances), ja-dep/case (8; 1% instances), ja-dep/root (6; 1% instances), ja-dep/advcl (5; 1% instances), ja-dep/ccomp (3; 0% instances), ja-dep/nsubjpass (3; 0% instances), ja-dep/compound (2; 0% instances), ja-dep/conj (2; 0% instances), ja-dep/acl (1; 0% instances), ja-dep/advmod (1; 0% instances)
Parents of PRON
nodes belong to 9 different parts of speech: VERB (448; 60% instances), NOUN (234; 31% instances), ADJ (45; 6% instances), ROOT (6; 1% instances), ADV (3; 0% instances), CONJ (3; 0% instances), INTJ (2; 0% instances), NUM (2; 0% instances), PRON (1; 0% instances)
85 (11%) PRON
nodes are leaves.
484 (65%) PRON
nodes have one child.
142 (19%) PRON
nodes have two children.
33 (4%) PRON
nodes have three or more children.
The highest child degree of a PRON
node is 7.


Being happy mostly means to notice, to understand that you are happy. You can feel huge happiness and of course I wish it to you. But almost as important to be able to notice and dip into small ones.
They can last several minutes, few seconds or even less. They can consist from visual, tactile sensations, smells, physical feelings all combinations of them. Every moment is unique because everything external can be repeated, but you, your current mood, thoughts, ability to feel and so on - all those unique and exists only 'now'. Be observant and thoughtful. Spy those moments. Be brief but try to find best words to preserve moment.
It's an extra delight to get them out of the jar occasionally. To remember oneself (every single part of your at that moment) and environment, to try to restore even tiny detail. To feel again, not such bright as first time, but adding today's accents. Perhaps every single memory can bring more connected ones... Wipe of the dust and put back into the jar. Till next time.
 This can be roots to keep you strong, your wellspring of inspiration, origin of changes and refuge."
So make a greatest gift to oneself, fill it to the top and check What next??? section


My name is Zac, and I'm an avid learner based in the greater Boston area. I am passionate about faith, gaming, and all things tech. My journey into the tech field started with learning HTML and CSS as a hobby elementary school, and has progressed most recently as I've added and refined new skills to break into the field professionally. My passion for learning and love for creative problem-solving pushes me to constantly learn new techniques and ways to create.


| fkUtilities reference pages |
v=LOADSCRIPT(file) v=LOADSCRIPT(rootdir,file)
v=LOADSCRIPT(file) this will evaluate the given file and return the variables created by the script. If the script defines a "parent" variable which points to a valid script file, then that parent file is loaded first and combined with the variables defined in the child script.
v=LOADSCRIPT(rootdir,file) this will use the script file located in the given root directory.
| normalize | Toolbox page | saveconfig |


[SCB-26] Upgrade to HttpClient 3.0.1 from HttpClient 2.0.2 | |
| Status: | Open |
| Project: | Scraping |
| Component/s: | scraping-engine |
| Affects Version/s: | scraping-engine-0.6 |
| Fix Version/s: |
| Type: | Improvement | Priority: | Major |
| Reporter: | Alan B. Canon | Assignee: | Henri Yandell |
| Resolution: | Unresolved | ||
| Environment: |
| Description |
| Problem statement: The 0.5 release of scraping-engine depends on HttpClient 2.0.2. A more recent stable version of this dependency, HttpClient 3.0.1, is available from Apache Commons. HttpClient 3.0.1 offers improved functionality which would expand the capabilities of scraping-engine, if the latter could be built using it. However, the HttpClient.startSession() method of HttpClient 2.0.2, which scraping-engine uses in spite of it being a deprecated method, is entirely absent in the HttpClient 3.0.1 version of the API. It is referenced in two classes within scraping-engine, namely HttpFetcher and HttpsFetcher, where it is invoked as a part of those classes own startSession() methods. Suggested fix: reimplement startSession() within HttpFetcher and HttpsFetcher to use methods compatible with HttpClient 3.0.1, including a call to the constructors for org.apache.commons.httpclient.HttpURL and org.apache.commons.httpclient.HttpsURL. For example, the body of the proposed new implementation of HttpsFetcher.startSession() looks like this: client.getHostConfiguration().setHost( new HttpsURL( cfg.getString("username"), cfg.getString("password"), url.getHost(), port, url.getPath(), url.getQuery() ) ); Modules affected: src/java/org/osjava/scraping/AbstractHttpFetcher.java src/java/org/osjava/scraping/HttpFetcher.java src/java/org/osjava/scraping/HttpsFetcher.java The benefit of the suggested fix is the possibility to run scraping-engine using either HttpClient 2.0.2 or 3.0.1. A potential pitfall of the above method is that the constructors for HttpURL and HttpsURL throw a subclass of java.io.IOException, namely org.apache.commons.httpclient.URIException. This may cause a compile-time incompatibility with existing custom implementations of Fetcher. However, within the existing API, the only invocation of the AbstractHttpFetcher.startSession() method is found within AbstractHttpFetcher.fetch(), and it already traps IOExceptions. As an alternative to adding the throws clause, the new implementations could catch this exception, issue a logging message, and then consume the exception (as opposed to re-throwing it, although a later exception is almost certain to occur as a consequence.) A hybrid between this method and that described above could be acheived with the addition of a property file setting to conditionally suppress the throwing of URIExceptions from startSession(). |


§52D-2 Chief of police. A chief of police shall be appointed and may be removed as prescribed by the charter of each county. The chief of police shall annually make a report to the police commission on the state of affairs and condition of the police department. [L 1989, c 136, pt of §2; am L 2010, c 92, §2]


PIRCS 1C forcing boundary conditions are now available for the PIRCS community. This simulation is planned to be a multi-year case covering much of North America. The data format is the same as PIRCS 1B, with integers in ASCII. The main difference from PIRCS 1A and 1B, in addition to length of simulation, is the southward extension of the domain by 5 degrees latitude, as agreed upon at the PIRCS Copenhagen meeting, May 2000.
Some details:
Please let us know any problems you encounter using the data, sending email to pircs@iastate.edu.


So basically it used a lambda calculus all-in-one library written by myself in Scala called LamcalcJ. And cross compiled it to JavaScript using ScalaJS.
First I used a technique called trampoline to optimize compiler, pretty printer and reducer. Smash long call stack into heap. So prevented any potential stack overflow exception in VM runtime. Then for reducer when it found and reduced one redex in lambda term. It doesn't restart from scratch. Depend on reduction strategy it will continue search next redex from current position.
First limit your max reduction step. It will still produce result when max step reached. Unfortunately it can't be implement in the ways that you can click a button to interrupt reduction. The trampoline monad itself has a backdoor that when it detected current thread is interrupted. It will throw an exception to abort. That will work in JVM but not in JS. Because we only have one thread in JS. And when some JS code is evaluating browser just stop responding. There is no way to interrupt current thread to stop reduction (At least by my knowledge).
Yes. But not yet implemented in frontend. PR please!
Yes. But not yet implemented in frontend. PR please!


sequence program: A {_parameter} that refers to the number of a {_program} that should be selected when the SEQUENCE PROGRAM {_footswitch} is tapped. This allows a sequence of programs to be set up in advance, and stepped through easily in performance. In the Digital Chroma, it is set by holding the footswitch and selecting the program while it is held. In the Toolkit, it is set by {_long-press long-pressing} the target program {_button} in the Programs {_screen}, and {_tap tapping} the "sequence" button.
The {_default_value} of the parameter is previous, which reloads whatever program was selected (including any unsaved edits) before the current one. This program can always be stepped to by long-pressing the footswitch, which provides a way to recover if the footswitch is tapped accidentally.


VIMU (VIsual MUsic) is a web application that not only simplifies the process of music mixing, but also allows customization of music visuals in a fun and enjoyable way. It allows easy mapping of local audio to keys on the computer keyboard and you will be able to create your own unique musical piece by simply tapping on the keys.
This project is done in a group of 4 members, as part of CS3240 module.
While learning to compose electronic music may be an exciting idea, the steep learning curve and heavy investments into buying controllers, such as launchpad, may deter many from getting started in this niche field. My team notice this gap and want to create a platform for aspiring musicians to have a taste of how it is like to be in this field, by allowing them to play around with music composition in a fun and engaging way, such that they can make a better decision whether electronic music is for them.
Figma | InVision | HTML | CSS | Bootstrap | jQuery
To better understand the needs and frequently used features by electronic musicians, my team decided to conduct contextual inquiries with Electronic Music Lab (EML) members from National University of Singapore (NUS), who create and perform original electronic music live at various events.
We went down to one of their Ableton Live basic workshop held on 15 September 2018 and conducted contextual inquiries with their current and new members. As we talked to them, we also asked them to do a think-aloud and demonstrate how they use the features in Ableton Live. After they finished the tasks, we also asked them the problems they face when creating/performing music. Below are some interesting findings:
Performance by NUS EML
Besides conducting user studies, we also looked into current available applications for music mixing. From our research, applications in the market belong to two extreme fields. One extreme involves many advanced and complex tools that allows musicians to compose and mix music very precisely on the application (usually paid), while the other extreme is too simple and does not allow much customization (usually free).
Ableton Live (used by NUS EML) is an advanced software music sequencer and digital audio workstation for professionals to compose and perform music live. It consists of many features and effects that allows musicians to create fine adjustments to music and also supports mapping of music to keyboard or external controllers.
Although it can be a great application, the cheapest intro version costs USD 99 while the complete integrated version costs USD 749. Besides the cost, due to the wide variety of features available in the application, even with video tutorials, it will take some time for a beginner to get the hang of it.
Patatap and Mikutap are examples of web applications that allows users to get started with music mixing easily by simply tapping on keyboard keys.
Patatap (left), Mikutap (right)
Both uses visualizations, together with preloaded music, to create a fun experience for all users, regardless of their musical abilities. However, they are limited in scalability as both music and visualizations are preloaded and cannot be customized to users’ needs.
After researching into the current applications and findings from the user studies, my team decided to come up with an intermediate-level platform, which combines the key ideas of the applications. To prevent users from being overloaded with too many features, key features in Ableton Live will be extracted out to let users have a taste of it. Yet, we would like to retain the fun element in music composition by keeping the idea of music visualizations in Patatap and Mikutap but allowing more flexibility by letting users map their own audio and customize the type of visuals shown.
Our main target audience will be for aspiring musicians who would like to try electronic music composition but are unsure if it is their field and do not want to dive too deep into actual electronic music composition yet. VIMU will be a good platform for them to get started as it allows them to try out key features in music mixing in a fun and enjoyable way.
Our secondary target audience will be the performers who would like to create better engagement with their audience through displaying interesting visualizations when they perform. VIMU allows customization in terms of mapping of audio to keyboard keys and type of visualizations shown (including colour and shapes). This new form of interaction with the audience can potentially make live performances more captivating.
Following are the personas I have created for our two target audience after discussion with my team:
My team followed parallel prototyping and decided to allow every member to have the freedom to design their own layouts and incorporate the features they deem necessary for the application for the first prototype.
For my first prototype, I decided to incorporate almost all the features listed by the users, while ensuring that these features are made obvious and simple for users to understand.
Performance Mode
Noise Level Chart
Visualization Customization
After reviewing all the prototype designs, we decided to adopt a minimalist design and make VIMU a single page application (Yee Ru’s layout design) to reduce the number of screens such that the UI is simple and easy to navigate. As the main focus of the application is on the keyboard and visuals, we decided to make the keyboard occupy the most space as the keys contain information like track name and track progression. This is similar to my design for visualization and audio mapping, where the keyboard occupies half of the screen and the editing area occupying the other half. However, my idea of supporting different types of keyboards was scraped as we decided to focus on the most common keyboard design (QWERTY) for our final prototype. Also, after much discussion, we chose to remove the record/export feature as we felt that it belongs to a good-to-have feature but not essential to our main application. Sound wave display was also decided to be added in as it is the only way to visualize the sound in the application.
Below is the layout of the design we have agreed on after the discussion:
With the layout established, each of us again created a second prototype to decide on the overall design and feel of the application. I decided to stick to my original prototype colour scheme – orange, as it is a gender-neutral colour and I felt that it will appeal to both genders. Following Neilson’s Heuristics H-4 (Consistency and standards), standard icons are also used to indicate hiding of keyboard, editing mode and information.
For this round’s prototype, we took a vote on the design and colour scheme and we all chose my teammate -- Marlene’s design. For her design, users are able to choose between a few colour schemes and the rounded edged buttons gives a better feel and look to the keyboard.
For the editing mode, Yee Ru’s design to enclose the track name in a box and colour it, creates a better understanding that the track is draggable from a key to another.
Yee Ru's Draggable Design
With that, we began to work on our final interactive prototype.
For our final prototype, I created the overall layout for the application on HTML (using Bootstrap and jQuery) to facilitate further collaboration. Besides the overall layout, I am also responsible for the keyboard design.
Following is a comparison between my teammate – Marlene’s prototype (left) and the HTML layout I have created (right):
Performance Mode
Edit Mode
However, as we worked on the project, we realized that the space allocated to sound and visuals customization was not sufficient. Hence, we decided to switch to tabbing between the two editing modes instead. The image below shows the changes made (blue box):


Summary is required.
Summary must be minimum 3 characters long.
Summary should be maximum 64 characters long.
Only Alphanumeric, spaces, underscores and dashes allowed
Message is required.
Message must be minimum 3 characters long.
Message should be maximum 1024 characters long.
Only Alphanumeric, spaces, underscores, dots, commas and dashes allowed
All tenants the notification is applicable to.Please note that tenants cannot be changed after a notification is created.This limitation is for maintaining tracking accuracy.
Type is a required field.
The first day this notification is valid and visible to users. The start date and time is considered to be in UTC. Current UTC Time : {{currentUTCTime}}
The last day this notification is valid and visible to users. The end date and time is considered to be in UTC. Current UTC Time : {{currentUTCTime}}
If Chceked, An Email is sent to all users associated with each selected Tenant both to announce this newly created notification as well when it is updated.