TTX can dump TrueType and OpenType fonts to an XML-based text format, which is also called TTX. TTX files have a .ttx file extension.
TTX detects what kind of files it is fed: it will output a .ttx file when it sees a .ttf or .otf, and it will compile a .ttf or .otf when the input file is a .ttx file. By default, the output file is created in the same folder as the input file, and will have the same name as the input file but with a different extension. TTX will never overwrite existing files, but if necessary will append a unique number to the output filename (before the extension), eg.: "Arial#1.ttf".
When using TTX from the command line there are a bunch of extra options, these are explained in the help text, as displayed when typing "ttx -h" at the command prompt. These additional options include:
BASE, CBDT, CBLC, CFF, COLR, CPAL, DSIG, EBDT, EBLC, FFTM, GDEF, GMAP, GPKG, GPOS, GSUB, JSTF, LTSH, MATH, META, OS/2, SING, SVG, TSI0, TSI1, TSI2, TSI3, TSI5, TSIB, TSID, TSIJ, TSIP, TSIS, TSIV, VDMX, VORG, cmap, cvt, fpgm, gasp, glyf, hdmx, head, hhea, hmtx, kern, loca, maxp, name, post, prep, sbix, vhea and vmtxOther tables are dumped as hexadecimal data.
TrueType fonts use glyph indices (GlyphID's) to refer to glyphs in most places. While this is fine in binary form, it is really hard to work with for humans. Therefore we use names instead.
The glyph names are either extracted from the 'CFF ' table or the 'post' table, or are derived from a Unicode 'cmap' table. In the latter case the Adobe Glyph List is used to calculate names based on Unicode values. If all of these mthods fail, names are invented based on GlyphID (eg. "glyph00142").
It is possible that different glyphs use the same name. If this happens, we force the names to be unique by appending "#n" to the name (n being an integer number). The original names are being kept, so this has no influence on a "round tripped" font.
Because the order in which glyphs are stored inside the TT font is important, we maintain an ordered list of glyph names in the font.
Let me take this opportunity to mention that if you have special needs (eg. custom font monipulators, dufferent table formats, etc.): I am available for contracting.
Python
Copyright (c) 2001-2003 Python Software Foundation. All Rights Reserved.
Copyright (c) 2000 BeOpen.com. All Rights Reserved.
Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved.
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved.
Numeric Python (NumPy)
Copyright (c) 1996. The Regents of the University of California. All rights reserved.


- 基础
- 栈：基于数组的实现
- 栈：基于链表的实现
- 队列：基于数组的实现
- 队列：基于链表的实现
- Lists: Array Implementation (available in java version)
- Lists: Linked List Implementation (available in java version)
- Lists: Linked List Implementation (available in java version)
- 递归
- 索引搜索类算法：
- 线性搜索：
- 二分搜索树
- AVL Trees (Balanced binary search trees)
- 红黑树
- Splay Trees
- Open Hash Tables (Closed Addressing)
- Closed Hash Tables (Open Addressing)
- Closed Hash Tables, using buckets
- Trie (Prefix Tree, 26-ary Tree)
- Radix Tree (Compact Trie)
- Ternary Search Tree (Trie with BST of children)
- B Trees
- B+ Trees
- 排序
- 类堆数据结构
- 图算法
- Breadth-First Search
- Depth-First Search
- Connected Components
- Dijkstra's Shortest Path
- Prim's Minimum Cost Spanning Tree
- Topological Sort (Using Indegree array)
- Topological Sort (Using DFS)
- Floyd-Warshall (all pairs shortest paths)
- Kruskal Minimum Cost Spanning Tree Algorithm
- 动态编程
- 几何算法
- 2D Rotation and Scale Matrices
- 2D Rotation and Translation Matrices
- 2D Changing Coordinate Systems
- 3D Rotation and Scale Matrices
- 3D Changing Coordinate Systems
- Others ...
- Disjoint Sets
- Huffman Coding (available in java version)


ChulaQ
Database System
Home
Queue
Information
Contact
Home
About us
Queue
News
Contact
Colorlib All rights reserved
Queue
Home
Queue
Find the Patient Information
Name:
Department:
Select Depertment
Medicine
Surgery
Dentist
Check up
Start Time
09:00
10:00
11:00
End Time
10:00
11:00
12:00
Find
Appiontment ID
First Name
Last Name
Patient ID
Department
Doctor First name
Doctor Last Name
Doctor ID
Date
Start Time


DEAD ALIVE (aka BRAINDEAD) RATING: 8 / 10 --> Great movie
For more reviews and movie trivia, visit http://www.joblo.com
Invite George A. Romero, Sam Raimi and Terry Gilliam over for a night of Zombies, Bloody Mary's and some great conversation, secretively slip a few dozen hits of orange-moon-pied acid drops into their respective drinks, stir, serve on the rocks, and you will only be slightly prepared for the bloody onslaught of style, horror, annihilation and gruesomely decorated psychosis that director Peter Jackson has bestowed upon this world in the form of this film. This movie is essentially for the 90's, what NIGHT OF THE LIVING DEAD was for the 60's, and EVIL DEAD 2 (7.5/10) was for the 80's.  All I could say is "wow".
PLOT: A man who has always lived under the oppression of his own mother, suddenly finds himself taking care of her, after she gets bitten by a rare rat-monkey at a local zoo. It turns out that the bite from the animal actually turns people into flesh-eating human zombies, and so his mother slowly but surely crumbles into that state herself. As more and more people get bit, the man's house turns into an absolute slaughterhouse for the dead, the living, and the undead. Blood, carnage, decapitations, and did I mention blood...ensue.
 It also has the most gore, the most guts, the most blood, the most style and the most mutilations, that I have ever had the privilege to be completely repulsed by as well. This movie starts off slow, and looks like a highly stylized film ready to thrill you with its eye for the quaint shot, but sadistically turns into one of the most disgusting horror movies to ever greet the screen.
THIS FILM IS NOT FOR THE FAINT-HEARTED!
This gorefest is filled with shots of body parts being ripped apart from one another, limbs flying all around, and human insides taking on a life of their own. Mrs. JoBlo could not take the whole film, and had to be relieved of her duties as shotgun watcher, as the film progressed with only me holding a barf bag to my side. I really do not know enough about this film's background to know of Mr. Jackson's technique in this film's regard, but suffice it to say that the man does an excellent job of coming up with a plasma-infested horror spectacle that will not leave anyone lest an opinion. Timothy Balme also does an excellent job of playing the straight-guy within this mess of butchered torsos, even as he literally mows through them by the end. His character was just like Bruce Campbell in EVIL DEAD 2. A chunk of straight man material, plenty of black humour and a whole lot of psychological head-trippings. Which reminds me, this film is not meant to be a straight-forward horror extravaganza. It's got its tongue firmly placed in cheek with a lot of off-humour pieces as well, like the one that has the priest kicking some crazy zombie butt in the graveyard, and another one that features our protagonist taking the baby zombie out for a carriage stroll in the park.
This film will never leave your mind once you have seen it, and will most certainly make a sickening impression on you, at first glance. You might change your mind afterwards and respect its style, wondrous craft of filmmaking and overall gruesome effect (as I did), or decide that it's one of the sickest and vile things that you have ever had the indecency to witness in your entire lifetime as an adult on this planet, and regurgitate your appetite for ever taking in another horror movie. But even with a fabricated absence of this film from your memory, you will never be able to forget the fact that you were one of the lucky ones to have witnessed one of the bloodiest, sickest and campiest fiestas of murder ever presented on film!! Trust me, you'll feel better in the morning :)
Little Known Facts about this film and its stars: BRAINDEAD was the original title for this movie, but Vidmark changed it to DEAD ALIVE. The mad funeral director's assistant is played by director Peter Jackson himself. He was born in New Zealand, and also directed 1996's THE FRIGHTENERS (7/10). He is presently working on all three parts of THE LORD OF THE RINGS trilogy, which will be shot back-to-back. New Line Cinema has apparently committed more than $130 million to produce this live action, special effects-packed trilogy of films based on J.R.R. Tolkien's internationally renowned fantasy novel. The filming is scheduled to begin in May 1999 in New Zealand, with the first episode due for Christmas 2000 release. Peter Jackson's favorite scene, in which the "baby" is taken for a carriage ride in the park, was shot on the last two days only, because there was some money left in the budget. The film apparently only cost $3 million to make, with the director not making one cut from his original script. Peter Jackson was one of the first people approached to script the JASON VS FREDDY movie, but had to decline due to other commitments. During the lawnmower scene in this movie, blood was pumped at five gallons per second.
Review Date: January 3, 1999 Director: Peter Jackson Writers: Stephen Sinclair, Frances Walsh and Peter Jackson Producer: Jim Booth Actors: Timothy Balme as Lionel Diana Penalver as Paquita Maria Sanchez Elizabeth Moody as Mum Ian Watkin as Uncle Les Genre: Horror Year of Release: 1992
Visit JoBlo's Movie Emporium http://www.joblo.com
(c) 1998 Berge Garabedian
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


test.bindingAndTranslate.message
test.assets.fontAwesome
Know we try to include some images:
test.api.message test.api.data
test.proxies.message


How the process all goes down
For our first meeting via a method of your choice (e.g. E-mail, Skype, G-Chat, face to face, etc.) we will discuss your project and the sounds you are looking for. If possible you will provide me with examples to aid me in creating the sounds you need. Soon after I will provide you with a demo of my work free of charge.
For a more indepth look click here


Besides the convenience functions described in the previous section, there are a few other static support functions:
Regex.Escape (string )
Given a string, Regex.Escape(⋯) returns a copy of the string with regex metacharacters escaped. This makes the original string appropriate for inclusion in a regex as a literal string.
For example, if you have input from the user in the string variable SearchTerm, you might use it to build a regex with:
Dim UserRegex as Regex = New Regex("^" & Regex.Escape(SearchTerm) & "$", _
RegexOptions.IgnoreCase)
This allows the search term to contain regular-expression metacharacters without having them treated as such. If not escaped, a SearchTerm value of, say, ':-)' would result in an ArgumentException being thrown (☞419).
Regex.Unescape (string)
This odd little function accepts a string, and returns a copy with certain regex character escape sequences interpreted, and other backslashes removed. For example, if it's passed '\:\-\)', it returns ':-)'.
Character shorthands are also decoded. If the original string has '\n', it's actually replaced with a newline in the returned string. Or if it has '\u1234', the corresponding Unicode character will be inserted into the string. All character shorthands listed at the top of page 407 are interpreted.
I can't imagine a good regex-related use for Regex.Unescape, but it may be useful as a general tool for endowing VB strings with some knowledge of escapes.
Match.Empty
This function returns a Match object that represents a failed match. It is perhaps useful for initializing a Match object that you may or may not fill in later, but do intend to query later. Here's a simple example:
Dim SubMatch as Match = Match.Empty 'Initialize, in case it's not set
in the loop below
Dim Line as String
For Each Line in EmailHeaderLines
'If this is the subject, save the match info for later ...
Dim ThisMatch as Match = Regex.Match(Line, "^Subject:\s*(.*)", _
RegexOptions.IgnoreCase)
If ThisMatch.Success
SubMatch = ThisMatch
End If
Next
If SubMatch.Success
Console.WriteLine(SubMatch.Result("The subject is: $1"))
Else
Console.WriteLine("No subject!")
End If
If the string array EmailHeaderLines actually has no lines (or no Subject lines), the loop that iterates through them won't ever set SubMatch, so the inspection of SubMatch after the loop would result in a null reference exception if it hadn't somehow been initialized. So, it's convenient to use Match.Empty as the initializer in cases like this.
Regex.CompileToAssembly(⋯)
This allows you to create an assembly encapsulating a Regex objectsee the next section.


Class Voice represents a sample that is currently playing through the PCM device. (Class Sample represents the static portion of a sample.) PIano, at launch time, pre-allocate 128 voices that will be associated to samples dynamically when a new sound will be required to be played. The number of pre-allocated voices can be easily changed in the Poly class definition (poly.h).
A voice (an instance of the class Voice), during its life, goes through a variety of states that enable the synchronization of events that occurs in 4 concurrent threads:
o Midi callback processing (when a user interact with the keyboard)
o PCM callback processing (when the PCM device requires new sound data)
o In the Sample File Opener thread (when its time to open a sample file to read more data)
o In the Samples Feeder thread (when its time to feed new sample data in the FIFO buffer)
As you may have inferred, the Voice class is at the center of the activities allowing the generation of sounds to be sent to the PCM device.
The main duty of an instance of this class is to supply sound data from a single sample file to the Poly::mixer method in bundles of 256 frames. When a voice is first activated, it starts by supplying frames that have been pre-loaded at the time the Samples Library has been instantiated (at program startup or when a new library is loaded in memory). This will give (hopefully) sufficient time to background threads to open the sample file and start to feed a FIFO (First In, First Out) buffer. At the end of the pre-loaded frame buffer, the instance will then start to read data from the FIFO until the end of the sample or a request by the user (through MIDI) to stop a note being played.
A frame contains two float values, one for each side of a stereophonic sound. The PCM device is programmed to require 44100 frames per second. A bundle will supply ~5.8ms (256 / 44100) of data to the PCM device. Once a request is received by the application, the maximum latency to produce changes is then less than or equal to 11.6ms (A note is requested by the user: at the time the note is struck on the keyboard, there is already a bundle being played, a second bundle is in preparation by PIano, the note tricked will be taken into account no later than in the next bundle to be prepared).
As is often the case, a Samples Library maybe lacking some of the notes required to fulfill the entire keyboard keys. This class allow for scaling of notes to reflect the pitch of the targeted note.
On the dynamics of the Voice Class
The following state diagram presents the various states through which a voice is going through when a sound is required to be played.
A voice will be played only when its global state is ACTIVE. At startup, all voices are DORMANT and INACTIVE. When a sound is requested, a voice is activated by associating it to a sample and changing its state to OPENING and ACTIVE. Once the file associated with the sample has been opened, the state is changed to ALIVE. The FIFO associated with the voice is then being feed by the SamplesFeeding thread. When a request is made to stop to play a voice, the sound is fade out, diminishing its volume to zero for the next second or the end of the sample data if it comes before. When fade out is complete, the voice states is then put as INACTIVE and CLOSING. If the voice's fade out is completed before the file has been opened (state ALIVE), it will then be put in the CLOSING state anyway.
Fade out processing is done by the Poly::mixer() method, as it implies an optimization on computations done with the ARM NEON intrinsic instructions.
Definition at line 118 of file voice.h.


Our mission is to convey information and show food to everyone.
We believe everyone deserves to know news about food, and the website would be a better place if we were willing to listen, share and build community through the stories about the food we have.
Values based on empathy for ultimate freedom that define who we are.
Hanifa chairunnisa born in Batam on July 15, 2001.


Bayelsa governor-elect visits Tinubu in Abuja
by Olalekan AdetayoOlalekan Adetayo, Abuja
Bayelsa State Governor-elect, David Lyon, on Monday evening visited the national leader of the All Progressives Congress, Asiwaju Bola Tinubu, in his residence in Asokoro, Abuja.
The visit came a few hours after the Independent National Electoral Commission declared Lyon of the APC the winner of the governorship election held in the state on Saturday.
The governor-elect was accompanied on his visit to Tinubu by the Minister of State, Petroleum Resources, Timipre Sylva.
Sylva is a former governor of the state and also a leader of the party in the state.
Tinubu’s spokesman posted a photograph from the visit on his Facebook page on Monday evening.
Lyon had earlier paid a similar thank you visit to President Muhammadu Buhari at the Presidential Villa, Abuja.
The national chairman of the APC, Adams Oshiomhole; some governors elected on the platform of the party and Sylva accompanied him to the meeting with the President.


minifoxx - a minimal Foxx app
Please enter your name:
Your name is: {{name}}.
New item:
Add
ID
Value
Delete
{{x.id}}
{{x.value}}
Delete


Relational Algebra
McGill
Relational Algebra
SQL
Databases
Action
Another action
Something else here
Separated link
One more separated link
Submit
Login
operators:
sigma
pi
Operations
π
ρ
σ
⨝
∧
∨
Enter your query:
Enter


India is gifted with varied cultures,
festivals and traditions is unmistakably a land with many reasons to celebrate.
So we thought why not own this space.Why not make every occasion special ?Why not develop a sweet
tooth ?Why not make people rejoice every moment! Big or small.Inspired by the above thought, we commenced Ribbons & Balloons in 2005.Since inception, our motto is to elevate our customers' expectations and make them feel proud that they carry value for money products. Each of our product offering is an outcome of our commitment to quality and excellence. Till today, our honest pricing has not been a pinch to their pockets. And we will continue to maintain the same in the future along with Quality as
the prime focus.Keep rejoicing every moment in your life!
Warm Regards,Satish Shetty
Managing Director


To my favorite family member in the galaxy...
I hope this card finds you well. I heard you just graduated college. Congratulations, kid! I wish you luck finding a job. I know times ain't the greatest right now and the economy's in tough shape. But, you're smart and I know you'll pull through.
Your mom & dad might have told you that I've decided to sign on with the UAC Space Marines on Mars. I'll be manning the outpost on Phobos, which should be a total cake walk. Nothing exciting ever happens on Phobos.
Your parents may have also told you I've got an old solar sail freighter tucked away in storage from my time with the merchant fleet. She's not big, but she's a good ship.
I'll be on deployment for two years with an option to re-up if things work out. While I'm gone, the freighter is yours. Last I checked, there were still about twenty crates of electronics in the hold. Maybe you can sell some of it and pay off your student loan.
Speaking of dinero, kid, look inside the envelope. I slipped a ten spot in there for you. It's not a lot, but maybe you can buy yourself a graduation burger or something.
Best of luck in whatever you decide to do.
Uncle Dave


WordPress has become one of the most popular Content Management System because of its flexibility, ease of use and simple code structure. Lot of premium themes are available with outstanding features and design most of the themes are made in way for making blogging simple for non-technical users.
One can create a good looking website that can impress people within a short time using WordPress and a premium theme, even though you are not prominent with WordPress. Minimal Page loading time is very much important for any website as is an important part of user experience also for SEO.
Below are some tips that may be followed for creating an optimized WordPress website
1. Avoid Premium Themes
Even though premium themes are helpful for creating websites in a short time it has its own disadvantages. Most of the themes come up with a lot of features that we do not use in our website because each time while the site loads the themes will be loading the dependencies and customizing premium themes which can cause some validation errors and inturn will slow down your website. There may be a lot of plugins included for helping the users but it may also be a factor for slowing doen the website.
What you can do?
Its like customizing a premium bike to your needs and customizing a usual bike to meet your needs You can start building your website from a bootstrap starter theme which is free for download
http://themekraft.com/tk-wordpress-bootstrap-starter-theme/
_tk is a best option for building a custom theme. It is bundled with all the bootstrap elements which can help you learn the basics of bootstrap from their website easily and start building your theme. While doing this there wont be any unwanted features or plugins which will slow your website to slow down. Since we are using bootsrap you dont have to be worried about responsiveness of the website.
2. Use an Optimization plugin
There are a lot of optimization plugins available for WordPress. I would recommend to go for autoptimize as it will minify and compress your styles and scripts and will move the scripts to the footer, styles to header. Also it will minify the HTML code itself making your page really light.
3. Use google page speed insights
Use google page speed insights
https://developers.google.com/speed/pagespeed/insights/
Google page speed insight is a good friend for finding the reasons that hinders your website speed. It also provides instruction for fixing the issues.
4.  You can test its working in google page speed insights.
5. Optimize your images
Optimize all the images in your website use this code in your functions.php for generating the images for your required size
// without parameter -> Post Thumbnail (as set by theme using set_post_thumbnail_size())
the_post_thumbnail();
the_post_thumbnail('thumbnail'); // Thumbnail (default 150px x 150px max)
the_post_thumbnail('medium'); // Medium resolution (default 300px x 300px max)
the_post_thumbnail('large'); // Large resolution (default 640px x 640px max)
the_post_thumbnail('full'); // Original image resolution (unmodified)
the_post_thumbnail( array(100,100) ); // Other resolutions


Upload an avatar (cropped to square, retina size). Try dragging a file!
Upload an avatar (preset value)


The Truck Route Planner (TRP) is intended to be an interactive, easy to understand trip-planning application for goods movement in Metro Vancouver. It improves on existing regional way-finding and trip planning tools, which was identified as an implementation priority in the Regional Goods Movement Strategy (RGMS).
TransLink also provides a Truck Route Reference Guide and Map (2.6 MB), which pulls together basic information about the region’s truck route network. The TRP builds on this static map in the form of a web-based map application with multiple layers, such as truck parking facilities, card locks, and height clearances. It is intended to augment, rather than replace existing regional and municipal maps and trip planning tools.
A key feature of the TRP is a route query function which generates potential routes that comply with municipal truck route bylaws. This feature allows users to plan bylaw-compliant routes throughout the region quickly and easily. Users simply enter vehicle dimensions, a starting point, and destination to generate a potential route that factors in information such as height and weight restrictions.
The TRP was developed in partnership between TransLink and the Province with input from municipalities and industry.
This application is intended to be used as a pre-trip planner. Do not operate a vehicle while using this application.


The ODAP is guided and overseen by the ODAP Partnership, a
collaboration among nationwide research studies, public health agencies,
the NHS and clinicians and scientists.
Scope
The purpose of the ODAP is to facilitate biomedical research to
advance understanding of severe infectious disease* and other exposures
of public health interest.** Research within the ODAP is strictly
limited to this purpose.
* Severe infectious disease - this term describes all severe
infectious agents, including new, re-emerging or therapy-resistant forms
of existing infectious agents. ** Other exposures of public health
interest: this term describes new or unexplained poisoning, or exposure
to harmful energy sources such as electromagnetic radiation.
What it is
The purpose of the outbreak data analysis platform is to provide an
accessible, usable data resource to enable research relevant to COVID-19
and future outbreaks. This will accelerate scientific understanding of
new outbreaks for the benefit of patients and the protection of the
public.
It will create a UK-wide capability by curating and linking outbreak
relevant data from clinical records, research studies and audit data. It
brings together key initiatives and leadership across the UK including
ISARIC, COG-UK, MRC CLIMB and GenOMICC.
The platform combines a national Trusted Research Environment (TRE)
infrastructure collocated with >£100M of world-class computational
and data science capacity including the UK National Supercomputer, with
a UK-wide governance framework.
What it isn’t
It is not a replacement for public health activities. The platform
will work closely with public health agencies across the 4 nations and
with UK HSA, providing research insights and data feeds where useful to
augment surveillance capacity, and a tried-and-tested route to engage
additional analytic capacity and expertise from the academic
sector.
It is not a viral sequence analysis platform. The excellent MRC
CLIMB resource (a partner in this programme) provides excellent
resources and infrastructure for analysis, presentation and sharing of
viral sequences.
It is not a replacement for existing TREs. The analysis platform is
a focused capability of the UKSA-accredited TRE hosted by Public Health
Scotland, and will provide curated data feeds to TREs across the UK to
facilitate and supplement data held elsewhere as part of a UK federated
network.
Design of the platform
Data held
The platform already contains a unique aggregation of UK sovereign
data assets, including the complete data resources of the
ISARIC4C/CO-CIN, GenOMICC, PHOSP and UK-CIC studies, together with viral
sequence data from COG-UK, and linkage to NHS clinical records and
structured clinical audit data. This creates a unique opportunity to
combine clinical, biological, genomics and virology research in as
secure, openly-accessible framework. Manual curation of these linked
datasets, in a single platform, is a key step to maximise data quality
and usability.
Compute power
The platform is located at the UK National Supercomputer, and uses a
range of capabilities from rom Private Cloud TRE infrastructure to large
shared memory systems and massively parallel processing power. There is
currently 2.5Pb of storage in use, expandable to many Petabytes as
required. GPU servers are in place for massively-parallel applications
such as genomics and image analysis
An API structure has been built for real-time data sharing with other
trusted research environments across the UK, and to facilitate efficient
data pipelines to supply surveillance feeds to public health.
Structure
There are two routes of access to the analysis platform
(Figure 1):
NHS Trusted Research Environment (Safe Haven) for access to personal
clinical data and data collected without explicit consent.
Rapid-access flexible compute for access to non-disclosive research
data collected with explicit consent.
Within both of these environments there are two levels of access,
governed by the data contributors:
Publishable “open access” data which any user can use and report as
they wish, according to data protection and privacy rules;
Embargoed active research data, shared by academic investigators and
available for linked analysis but not for publication without agreement
from all contributors.
This design is intended to demonstrate trust in order to encourage
immediate contributions of research data from academic collaborators. It
makes data available immediately for discovery, whilst protecting the
rights of data creators and contributors.
Research outputs
The proposal builds upon an established track record of impact. By
generating, integrating and analysing clinical, biological, genetic and
virological data on patients with Covid-19 in UK hospitals, the outbreak
analysis platform has facilitated research that:
provided essential weekly updates to SAGE that guide the public
health response isaric4c.net/reports/,
Group, P.-C. C. et al. Physical,
cognitive and mental health impacts of COVID-19 following
hospitalisation a multi-centre prospective cohort study.
medRxiv 2<IP_ADDRESS>54057 (2021) doi:10.1101/2<IP_ADDRESS>54057.


HEAD
Bitcoin address generator
=======
Address Generator
>>>>>>> 5a897414bf4a0fdc6df6bf01714a2edff6e3c04f
Generate Bitcoin Key Pairs
Number of addresses
Update interval
(if small, worse performance. If too big browser can crash)
Bitcoind Installation path
(Optional)
Execution time:
Addresses generated so far:
Public addresses
Private Keys
Public addresses
(Dot comma separated)
Bitcoind Import format


All Classes
Company
CompanyApiFacade
CompanyField
Customer
CustomerApiFacade
CustomerField
Debt
DebtApiFacade
DebtField
IcApiFacade
IcConflictingException
IcException
ICheckableField
IcRuntimeException
IModel
IRoutable
Item
ItemField


Class: c3.Selection.Options
| Defined in: | js/c3.coffee |
Overview
c3 selection options are used to allow the user of a c3 visualization to define a set of values and accessors callbacks to set the styles, classes, event handlers, text, etc of specific set of DOM nodes defined in that visualization's c3 selection.
For example, the user can set these options in the circle_options
property in a scatter plot layer to describe
how those circles should behave. Because they are persisted in an options object, the c3
visualization can continue to use them to update the circles based on new data, etc.
The user can also usually dynamically change the options at a later time, and the changes
will be reflected when the visualization redraws or restyles.
The c3 selection options class is really just a convention which described the types of properties users can set. You don't actually need to instantiate this class prototype, just make sure that the object you use has the same property names.
Variables Summary
- class =
-
undefined
[String, Function] A function or value to set the CSS class of the DOM nodes. The function is called with the datum and index of the data elements as arguments. The
this
context is setup to refer to the DOM node. - classes =
-
undefined
[Object] An object to set CSS classes. Keys in the object represent class names and values are either a boolean or a function that returns a boolean that determines if that class should be added or removed from the node. The functions are passed the datum and index of the data element as arguments. The
this
context is setup to refer to the DOM node. - styles =
-
undefined
[Object] An object to set CSS styles. Keys in the object represent style names and values are either a value or a function that returns the value to set the style. A null value will remove the style from the node. The functions are passed the datum and index of the data element as arguments. The
this
context is setup to refer to the DOM node. - events =
-
undefined
[Object] An object to set event handlers for the DOM nodes. Keys in the object represent event names and values are the event handler functions that will be called. The handlers are setup and called by D3 which pass the datum and index of the data element as arguments. The
this
context refers to the DOM node. Event names may be namespaced to manage multiple handlers on the same event, please see d3.selection.on. Note that the conventions used by D3 for managing multiple handlers and namespacing are different from JQuery's event handling. - text =
-
undefined
[String, Function] A string or function to set the text of the DOM nodes. This is not applicable for all node types. If this is a function, it will be called with the datum and index of the data element as arguments and the
this
context setup to refer to the DOM node. - html =
-
undefined
[String, Function] A string or function to set the child HTML content for the DOM nodes. This is not applicable for all node types. If this is a function, it will be called with the datum and index of the data element as arguments and the
this
context setup to refer to the DOM node.Using this instead of text can be useful in some circumstances where you would like to use HTML markup for the text. For example: "
This is <b>bold</b> text
". However, if you use this for that reason remember that you need to escape certain characters properly as you normally would in html. Please also consider user-provided strings and security, as unsafe scripts may be included. Usinghtml
will take precedence over settingtext
for a selection. - title =
-
undefined
[String, Function] A string or function to set tooltips for the DOM nodes. Setting this will cause the selection's nodes to have child
<title>
nodes created. If this is a function, it will be called with the datum and index of the data element as arguments and thethis
context setup to refer to the DOM node. - animate =
-
undefined
[Boolean] Request animation of the nodes when positioning their attributes. New nodes will not animate, they will be immediately set to their new position. However, new nodes will fade in and old nodes will fade out unless the opacity style is defined.
- duration =
-
undefined
[Number] Duration for any requested animations in ms. Defaults to 750ms
- animate_old =
-
undefined
[Boolean] Animate the positioning of old elements as they are removed in addition to fading out


|
lwIP
2.1.3
Lightweight IP stack
|
Functions | |
| err_t | udp_send (struct udp_pcb *pcb, struct pbuf *p) |
| err_t | udp_sendto (struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *dst_ip, u16_t dst_port) |
| err_t | udp_sendto_if (struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *dst_ip, u16_t dst_port, struct netif *netif) |
| err_t | udp_sendto_if_src (struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *dst_ip, u16_t dst_port, struct netif *netif, const ip_addr_t *src_ip) |
| err_t | udp_bind (struct udp_pcb *pcb, const ip_addr_t *ipaddr, u16_t port) |
| void | udp_bind_netif (struct udp_pcb *pcb, const struct netif *netif) |
| err_t | udp_connect (struct udp_pcb *pcb, const ip_addr_t *ipaddr, u16_t port) |
| void | udp_disconnect (struct udp_pcb *pcb) |
| void | udp_recv (struct udp_pcb *pcb, udp_recv_fn recv, void *recv_arg) |
| void | udp_remove (struct udp_pcb *pcb) |
| struct udp_pcb * | udp_new (void) |
| struct udp_pcb * | udp_new_ip_type (u8_t type) |
User Datagram Protocol module
Bind an UDP PCB.
| pcb | UDP PCB to be bound with a local address ipaddr and port. |
| ipaddr | local IP address to bind with. Use IP_ANY_TYPE to bind to all local interfaces. |
| port | local UDP port to bind with. Use 0 to automatically bind to a random port between UDP_LOCAL_PORT_RANGE_START and UDP_LOCAL_PORT_RANGE_END. |
ipaddr & port are expected to be in the same byte order as in the pcb.
Bind an UDP PCB to a specific netif. After calling this function, all packets received via this PCB are guaranteed to have come in via the specified netif, and all outgoing packets will go out via the specified netif.
| pcb | UDP PCB to be bound. |
| netif | netif to bind udp pcb to. Can be NULL. |
Sets the remote end of the pcb. This function does not generate any network traffic, but only sets the remote address of the pcb.
| pcb | UDP PCB to be connected with remote address ipaddr and port. |
| ipaddr | remote IP address to connect with. |
| port | remote UDP port to connect with. |
ipaddr & port are expected to be in the same byte order as in the pcb.
The udp pcb is bound to a random local port if not already bound.
| void udp_disconnect | ( | struct udp_pcb * | pcb | ) |
Remove the remote end of the pcb. This function does not generate any network traffic, but only removes the remote address of the pcb.
| pcb | the udp pcb to disconnect. |
| struct udp_pcb* udp_new | ( | void | ) |
Creates a new UDP pcb which can be used for UDP communication. The pcb is not active until it has either been bound to a local address or connected to a remote address.
| struct udp_pcb* udp_new_ip_type | ( | u8_t | type | ) |
Create a UDP PCB for specific IP type. The pcb is not active until it has either been bound to a local address or connected to a remote address.
| type | IP address type, see lwip_ip_addr_type definitions. If you want to listen to IPv4 and IPv6 (dual-stack) packets, supply IPADDR_TYPE_ANY as argument and bind to IP_ANY_TYPE. |
| void udp_recv | ( | struct udp_pcb * | pcb, |
| udp_recv_fn | recv, | ||
| void * | recv_arg | ||
| ) |
Set a receive callback for a UDP PCB. This callback will be called when receiving a datagram for the pcb.
| pcb | the pcb for which to set the recv callback |
| recv | function pointer of the callback function |
| recv_arg | additional argument to pass to the callback function |
| void udp_remove | ( | struct udp_pcb * | pcb | ) |
Removes and deallocates the pcb.
| pcb | UDP PCB to be removed. The PCB is removed from the list of UDP PCB's and the data structure is freed from memory. |
Sends the pbuf p using UDP. The pbuf is not deallocated.
| pcb | UDP PCB used to send the data. |
| p | chain of pbuf's to be sent. |
The datagram will be sent to the current remote_ip & remote_port stored in pcb. If the pcb is not bound to a port, it will automatically be bound to a random port.
| err_t udp_sendto | ( | struct udp_pcb * | pcb, |
| struct pbuf * | p, | ||
| const ip_addr_t * | dst_ip, | ||
| u16_t | dst_port | ||
| ) |
Send data to a specified address using UDP.
| pcb | UDP PCB used to send the data. |
| p | chain of pbuf's to be sent. |
| dst_ip | Destination IP address. |
| dst_port | Destination UDP port. |
dst_ip & dst_port are expected to be in the same byte order as in the pcb.
If the PCB already has a remote address association, it will be restored after the data is sent.
| err_t udp_sendto_if | ( | struct udp_pcb * | pcb, |
| struct pbuf * | p, | ||
| const ip_addr_t * | dst_ip, | ||
| u16_t | dst_port, | ||
| struct netif * | netif | ||
| ) |
Send data to a specified address using UDP. The netif used for sending can be specified.
This function exists mainly for DHCP, to be able to send UDP packets on a netif that is still down.
| pcb | UDP PCB used to send the data. |
| p | chain of pbuf's to be sent. |
| dst_ip | Destination IP address. |
| dst_port | Destination UDP port. |
| netif | the netif used for sending. |
dst_ip & dst_port are expected to be in the same byte order as in the pcb.


val <ERROR CLASS>.extension: <ERROR CLASS>
Finds an extension of the given Path
Extension is a substring of a Path.fileName after last dot


I'm a Korean-Canadian Software Engineer who likes to build and solve problems with code. Especially using React, TypeScript, Tailwind CSS, and Python.
Currently, I am a Software Engineer at and previously co-founded the nonprofit OpenMeal . Before that, I graduated from Columbia University with a degree in Computer Science.
When I'm not coding, you can find me running, shooting cityscape photos, or being a sneakerhead.


|
105. Div 3 Time Limit: 0.25 sec, Memory Limit: 1 MB There is sequence 1, 12, 123, 1234, ...,<PHONE_NUMBER>0, ... . Given first N elements of that sequence. You must determine amount of numbers in it that are divisible by 3. Input Input contains N (1<=N<=231 - 1). Output Write answer to the output. Sample Input 4 Sample Output 2 |


The skin-ebay/icon module allows access to individual icons in the Skin icon font via CSS class names.
NOTE: Skin is in the midst of a transition from a font-based icon system to an SVG-based icon system. All icons listed below are being converted to SVG on a per-need basis.


python -V
wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar -jxvf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure
make
make install
/usr/local/bin/python2.7 -V
Python 2.7.3
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
python -V
solve yum issue:
vi /usr/bin/yum
#!/usr/bin/python
to
#!/usr/bin/python2.6.6
Notes: keep the file there, as you might need to install bz2 module later, and at that time you need to rebuild python


The incident reportedly took place around 2.30am on Nov. 13 at a boarding house in Denpasar.
“The suspect entered the victim’s room through the window, with the intent to steal. But he didn’t find anything valuable,” I Wayan Arta Ariawan from the Denpasar Police explained, as quoted by Bali Express.
Upon noticing that the victim, identified by her initials SS, was still asleep, Ariawan said that the suspect, who has been identified as Achmad Yahya Nurrochim, then took off his clothes and approached her bed.
SS woke up when he was on her side and began screaming when she realized the presence of a naked stranger.
“The victim then started shouting … The suspect tried to cover her mouth. But she fought back, and began shouting even louder,” Ariawan said.
Achmad then ran away from SS’ room naked, leaving behind all his clothes. It doesn’t seem like many people saw him, as the incident occurred at dawn.
SS filed a report to the Denpasar Police soon after and authorities were able to track Achmad down and arrested him that same afternoon.
Ariawan said Achmad confessed to his crimes during interrogation. Under Indonesia’s criminal code, the suspect faces a maximum sentence of 12 years in prison for the alleged rape attempt.
Read more news and updates from Bali here.


an introduction
... an attempt to apply patterns to a project's build infrastructure in order to promote comprehension and productivity by providing a clear path in the use of best practices ...
reference for those working with Maven for the first time, but is also intended to serve as a cookbook with self-contained references and solutions for common use cases
What is the intention of Maven? What does it want to address?
reference book by http://www.sonatype.com
Maven was born of the very practical desire to make several projects at Apache work in the same way. So that developers could freely move between these projects, knowing clearly how they all worked by understanding how one of them worked. If a developer spent time understanding how one project built it was intended that they would not have to go through this process again when they moved on to the next project. The same idea extends to testing, generating documentation, generating metrics and reports, ... Apache Maven
Tool for build management of software, supports ...
Tool for build management of software, supports ...
artifact gets uniquely identified by coordinates
type of artifact, predefined:
version1.0-SNAPSHOTversion
<major>.<minor>.<incremental>-<qualifier>
1.0-SNAPSHOT has to be read as
...currently under development ...
remote/local repository resolves SNAPSHOT for uniqness
1.0-20140220-120003-1
...deployed to repository shortly after 12:00 on februray 20th of 2014, first snapshot deployment...
define acceptable ranges, let the repository decide which version to take
using ONE configuration file pom.xml
effective pom is at runtime, multiple infos get aggregated
/conf/settings.xml
/.m2/settings.xml
/pom.xml
... including project inheritance/pom.xml
... profiles
mvn help:effective-pom .... see online reference for further details
configurable via pom, default values are:
./src/main
./src/main/java
./src/main/resources
./src/test/..
./target/classes
./target
dependencies ... dependency groupIdorg.junitgroupId artifactIdjunitartifactId version4.8.11version scopetestscope dependency ... dependencies
... other software artifacts, this project depends on (runtime, compile, test, ...)
... manage versions and configuration of optional dependencies, often used together with inheritance (parent project)
dependencyManagement ... dependencies ... dependency groupIdorg.junitgroupId artifactIdjunitartifactId version4.8.11version dependency ... dependencies dependencyManagement ... dependencies ... dependency groupIdorg.junitgroupId artifactIdjunitartifactId ... dependency ... dependencies
... type of dependency ...
more scopes available: runtime
, system
...see Apache Maven documentation
... to deal with jar hell
since a <dependency>
is an artifact as well, with an own pom.xml
including a <dependencies>
section, it is possible to calculate transitive dependencies.
dependency groupIdorg.hibernategroupId artifactIdhibernateartifactId version3.2.7.GAversion dependencymvn dependency:tree -Dverbose=true
com.bisnode.sandbox:project:jar:1.0-SNAPSHOT +- ... \- org.hibernate:hibernate:jar:3.2.7.GA +- net.sf.ehcache:ehcache:jar:1.2.3 +- javax.transaction:jta:jar:1.0.1B +- commons-logging:commons-logging:jar:1.0.4 +- asm:asm-attrs:jar:1.5.3 +- dom4j:dom4j:jar:1.6.1 +- antlr:antlr:jar:2.7.6 +- cglib:cglib:jar:2.1_3 +- asm:asm:jar:1.5.3 \- commons-collections:commons-collections:jar:2.1.1
after packaging an artifact, it needs to be published in order for others to use it
repository
entries in pom.xml
clean
, default
and site
)| validate | validate the project is correct and all necessary information is available to complete a build |
|---|---|
| ... | |
| generate-source | generate any source code for inclusion in compilation (e.g. out of xsd schema) |
| ... | |
| compile | compile the source code |
| ... | |
| test-compile | compile test sourcecode to test target directory |
| test | run compiled test sourcecode, using unit test framework |
| ... | |
| package | packaging in a distributable artifact (jar, war, ear, pom, ..) |
| ... | |
| install | publish packaged artifact to local repository |
| deploy | publish packaged artifact to remote repository |
Maven Plugins
... do the actual work !
pom.xml
parent groupIdcom.bisnodegroupId groupIdinformatics-parentgroupId groupId0.0.2groupId parent
see also POM Inheritance
see also POM Aggregation
modules moduleserver-sidemodule moduleclient-sidemodule modules
maven site plugin ... mvn site
Do you need to start from scratch ?
mvn archetype:generateDo you want to define your own archetype ?
{maven.home}/conf/settings.xml
: system wide configuration - actually maven instance (3.1.1, 3.0.4, 2.2.10, ...) {user.home}/.m2/settings.xml
: user specific, independent of maven versionWhat should be configured in settings
and NOT in pom
?
.... those which should not be bundled to any specific project, or distributed to an audience
server
credentials for server access
mirror
global remote repository proxy
activeProfiles
global profile activation
see also settings reference
... change settings dependening on the environment it is built. see profile in maven reference
pom
(build, modules, repositories, dependencies, reporting, distributionManagement, ...)groupId
org.apache.maven.plugins
and org.codehaus.mojo
settings ... pluginGroups pluginGrouporg.mortbay.jetty/pluginGroup /pluginGroups ... /settingsmvn org.mortbay.jetty:jetty-maven-plugin:run
excluding dependencies of your dependency
... intended to allow users to aggregate the project output along with its dependencies, modules, site documentation, and other files into a single distributable archive. see assembly plugin documentation
classifier{descriptor id}classifier
jar-with-dependencies
) or write your own descriptor (Assembly Descriptor format)example: yukon 2.0 application server
... is used to release a project with Maven,
saving a lot of repetitive, manual work. see release plugin documentation
deploy site-deploy
)... see plugin page for more
Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome, Safari or Firefox browser.


[gecode-users] Heap memory exhaustion
Guido Tack
tack at ps.uni-sb.de
Sun Feb 24 12:17:53 CET 2008
Joe Porter wrote:
> I'm having a problem with Gecode 2.0.0 on Windows XP Professional.
> My application seems to work fairly well on many cases, but I have
> two cases that run for about 9 minutes before declaring that the
> heap memory is exhausted.
This is hard to analyze without some more facts about your model.
E.g., how many variables do you create, and how big are the initial
domains? What kind of variables (IntVar, SetVar, CpltSetVar?) and
constraints?
> Summary
> propagations: 37440926
> failures: 18387289
> clones: 18387303
> commits: 36777015
> peak memory: 646672 KB
Apparently the search space is huge. This is normally no problem for
Gecode, unless the search tree is also very, very deep (memory
consumption should be linear in the tree depth). So if you have many
variables with large domains and little propagation, the tree could be
very deep, and the result is that the system gives up. In this case,
I'm not sure you can solve the problem by just using more memory,
you're going to need a "stronger" model. If, on the other hand, the
tree is not so deep, it must be a bug (a memory leak) in Gecode, and
we'd be most interested to get your actual model so that we can find
out what's wrong.
Cheers,
Guido
More information about the gecode-users
mailing list


We especially welcome contributions from people from groups underrepresented in free and open source software!
Our community aspires to be a respectful place. Please read and abide by our Code of Conduct.
To explore issues across the entire organization, check out Public Lab issues.
If you're new, and looking to get involved, you're in the right place. Check out our README to get started.
If you're new to GitHub, using branches, or opening pull requests, read here for an introduction.
If you have trouble, check out our chatroom to ask for help, or you can talk directly with the other contributors on our Gitter chatroom or just open an issue and we'll write back!
We have a welcoming "workflow" that supports you in getting started, then helps you reach out to welcome someone else in turn!
We've prepared extra-welcoming "first timers only" issues just for you.
Use your new skills to assist someone else who's just starting out. Browse issues below to see who needs help!
Read below to learn how to create a "first timers only " issue yourself!
Here are a selection of issues we've made especially for first-timers. We're here to help, so just ask if one looks interesting, by leaving a comment!
No issues left? See issues across this org here, and see the almost-as-good "candidates" below. Or learn how to prepare new first-timers-only issues here.
Once you've completed a first-timers-only issue, there are plenty of other challenges we'd love to have your help on.
In "candidates" below, there are some issues we think would make good first-timers-only issues, but haven't finished formatting. They could make a good second-time contribution!
We put a lot of work into our first-timer-only issues. But if we haven't been able to prepare any recently, here's a set of candidates we haven't yet had time to prepare, but which have most of the needed information. (Also: Learn how to help turn these into first-timers-only issues to help keep welcoming people in!
After finishing a first-timers-only issue, you're uniquely suited to help others make their own first contribution. We'd love to help you welcome another new person into our community! Here are some ways to help:
Create your own first-timers-only issue to welcome others into the project.
Also consider other ways you can support even without coding!
These people took some time out of their busy schedule to help in welcoming newcomers by creating FTO issues:
Here are some stale issues across all of our repositories which might utilize your help. Once you've completed the first-timer-only and/or help-wanted issues, you can take a look here to help someone else. Also, issue labels are always helpful while deciding to work on any issue.
( this list contains issues which haven't been updated for the past 10 days )
Below is the list of active contributors,
This project was made possible by many contributors, including the following GitHub users:
This is the section of all the repositories of PUBLIC LAB we've made especially for first-timers. We're here to help, so just click on it if one looks interesting.


{% extends "layout.html" %} {% block body %} {{question.name}} {{question.question}} This question is worth {{question.points}} points {%if question.id in team.questions_status and team.questions_status[question.id]["correct"] %} You have already answered this question correctly {%else%} Submit {%endif%} {% endblock %}
{{question.question}}
This question is worth {{question.points}} points


|
mtoc++
1.5
mtoc++: Doxygen filter for MatLab .m files
|
Public Member Functions | |
| ConfFileScanner (const std.string &filename, const std.string &conffilename) | |
| int | execute () |
| const char * | get_conffile () |
Public Attributes | |
| DocuList | param_list_ |
| DocuList | return_list_ |
| DocuListMap | field_docu_ |
| DocuBlock | docuheader_ |
| DocuBlock | docubody_ |
| DocuBlock | docuextra_ |
| GroupSet | groupset_ |
| DocuList | vars_ |
Definition at line 17 of file confscanner.h.


Circles
Define two circles and find out the relationships between them
Center on x-axis
Center on y-axis
Radius
Circle 1
Circle 2
Display result
Representation of the circles on a cartesian plane.


This is an overview page of various ways to run you app during development. Choose one of the access points below to launch the app.
Sorry dude - but FLP plugins are only for SAPUI5 and not OpenUI5


--- layout: country title: United Kingdom ---
No events listed :(
Coderwave organises Catch the wave is a series of free coding events for beginners.
Know any? Send us an email or add your initiative to this page with a Pull request on GitHub!


A benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results. As used on jsPerf.com.
Benchmark
Benchmark.Deferred
Benchmark.Deferred.prototype.reject
Benchmark.Deferred.prototype.resolve
Benchmark.Event
Benchmark.Suite
Benchmark.Suite.prototype.abort
Benchmark.Suite.prototype.add
Benchmark.Suite.prototype.clone
Benchmark.Suite.prototype.filter
Benchmark.Suite.prototype.reset
Benchmark.Suite.prototype.run
Benchmark.filter
Benchmark.formatNumber
Benchmark.invoke
Benchmark.join
Benchmark.runInContext
Benchmark.prototype.abort
Benchmark.prototype.clone
Benchmark.prototype.compare
Benchmark.prototype.emit
Benchmark.prototype.listeners
Benchmark.prototype.off
Benchmark.prototype.on
Benchmark.prototype.reset
Benchmark.prototype.run
Benchmark.prototype.toString
Benchmark.Deferred.prototype.benchmark
Benchmark.Deferred.prototype.cycles
Benchmark.Deferred.prototype.elapsed
Benchmark.Deferred.prototype.timeStamp
Benchmark.Event.prototype.aborted
Benchmark.Event.prototype.cancelled
Benchmark.Event.prototype.currentTarget
Benchmark.Event.prototype.result
Benchmark.Event.prototype.target
Benchmark.Event.prototype.timeStamp
Benchmark.Event.prototype.type
Benchmark.Suite.options
Benchmark.Suite.options.name
Benchmark.Suite.prototype.aborted
Benchmark.Suite.prototype.length
Benchmark.Suite.prototype.running
Benchmark.options
Benchmark.options.async
Benchmark.options.defer
Benchmark.options.delay
Benchmark.options.id
Benchmark.options.initCount
Benchmark.options.maxSamples
Benchmark.options.maxTime
Benchmark.options.minSamples
Benchmark.options.minTime
Benchmark.options.name
Benchmark.options.onAbort
Benchmark.options.onComplete
Benchmark.options.onCycle
Benchmark.options.onError
Benchmark.options.onReset
Benchmark.options.onStart
Benchmark.options.operationsPerRound
Benchmark.options.ranking
Benchmark.platform
Benchmark.support
Benchmark.version
Benchmark.prototype.aborted
Benchmark.support.browser
Benchmark.prototype.compiled
Benchmark.prototype.count
Benchmark.prototype.cycles
Benchmark.support.decompilation
Benchmark.prototype.error
Benchmark.prototype.fn
Benchmark.prototype.hz
Benchmark.prototype.operationsPerRound
Benchmark.prototype.running
Benchmark.prototype.setup
Benchmark.prototype.stats
Benchmark.prototype.teardown
Benchmark.support.timeout
Benchmark.prototype.times
Benchmark#stats.deviation
Benchmark#stats.mean
Benchmark#stats.moe
Benchmark#stats.rme
Benchmark#stats.sample
Benchmark#stats.sem
Benchmark#stats.variance
Benchmark#times.cycle
Benchmark#times.elapsed
Benchmark#times.period
Benchmark#times.timeStamp
Benchmark(name, fn, [options={}])
Ⓢ ⓉThe Benchmark constructor.
Note: The Benchmark constructor exposes a handful of lodash methods to
make working with arrays, collections, and objects easier. The lodash
methods are:
each/forEach
, forOwn
,
has
, indexOf
,
map
, and reduce
name
(string): A name to identify the benchmark.fn
(Function|string): The test to benchmark.[options={}]
(Object): Options object.// basic usage (the `new` operator is optional)
var bench = new Benchmark(fn);
// or using a name first
var bench = new Benchmark('foo', fn);
// or with options
var bench = new Benchmark('foo', fn, {
// displayed by `Benchmark#toString` if `name` is not available
id: 'xyz',
// called when the benchmark starts running
onStart: onStart,
// called after each run cycle
onCycle: onCycle,
// called when aborted
onAbort: onAbort,
// called when a test errors
onError: onError,
// called when reset
onReset: onReset,
// called when the benchmark completes running
onComplete: onComplete,
// compiled/called before the test loop
setup: setup,
// compiled/called after the test loop
teardown: teardown
});
// or name and options
var bench = new Benchmark('foo', {
// a flag to indicate the benchmark is deferred
defer: true,
// benchmark test function
fn: function (deferred) {
// call `Deferred#resolve` when the deferred test is finished
deferred.resolve();
}
});
// or options only
var bench = new Benchmark({
// benchmark name
name: 'foo',
// benchmark test as a string
fn: '[1,2,3,4].sort()'
});
// a test's `this` binding is set to the benchmark instance
var bench = new Benchmark('foo', function () {
'My name is '.concat(this.name); // "My name is foo"
});
Benchmark.Deferred(clone)
Ⓢ ⓉThe Deferred constructor.
clone
(Object): The cloned benchmark instance.Benchmark.Deferred.prototype.reject([err])
Ⓢ ⓉTrigger error for deferred benchmark.
[err]
(Error):Benchmark.Deferred.prototype.resolve()
Ⓢ ⓉHandles cycling/completing the deferred benchmark.
Benchmark.Event(type)
Ⓢ ⓉThe Event constructor.
Every Event instance has these members at least:
timeStamp
: the event creation timestamp (via _.now()
)
global
: a reference to the global
context which is also available to the setup
/fn
/teardown
benchmark functions/code.
type
: the type
value when that constructor argument is a String.type
(Object|string): The event type.Benchmark.Suite(name, [options={}])
Ⓢ ⓉThe Suite constructor.
Note: Each Suite instance has a handful of wrapped lodash methods to
make working with Suites easier. The wrapped lodash methods are:
each/forEach
, indexOf
,
map
, and reduce
name
(string): A name to identify the suite.[options={}]
(Object): Options object.// basic usage (the `new` operator is optional)
var suite = new Benchmark.Suite;
// or using a name first
var suite = new Benchmark.Suite('foo');
// or with options
var suite = new Benchmark.Suite('foo', {
// called when the suite starts running
onStart: onStart,
// called between running benchmarks
onCycle: onCycle,
// called when aborted
onAbort: onAbort,
// called when a test errors
onError: onError,
// called when reset
onReset: onReset,
// called when the suite completes running
onComplete: onComplete
});
Benchmark.Suite.prototype.abort()
Ⓢ ⓉAborts all benchmarks in the suite.
(Object): The suite instance.
Benchmark.Suite.prototype.add(name, fn, [options={}])
Ⓢ ⓉAdds a test to the benchmark suite.
name
(string): A name to identify the benchmark.fn
(Function|string): The test to benchmark.[options={}]
(Object): Options object which is passed into the Benchmark constructor for this test.(Object): The suite instance.
// basic usage
suite.add(fn);
// or using a name first
suite.add('foo', fn);
// or with options
suite.add('foo', fn, {
onCycle: onCycle,
onComplete: onComplete
});
// or name and options
suite.add('foo', {
fn: fn,
onCycle: onCycle,
onComplete: onComplete
});
// or options only
suite.add({
name: 'foo',
fn: fn,
onCycle: onCycle,
onComplete: onComplete
});
Benchmark.Suite.prototype.clone(options)
Ⓢ ⓉCreates a new suite with cloned benchmarks.
options
(Object): Options object to overwrite cloned suite options.(Object): The new suite instance.
Benchmark.Suite.prototype.filter(callback)
Ⓢ ⓉAn Array#filter
like method.
callback
(Function|string): The filter()
function/alias called per iteration.(Object): A new suite of benchmarks that passed the callback
filter.
Benchmark.Suite.prototype.reset()
Ⓢ ⓉResets all benchmarks in the suite.
(Object): The suite instance.
Benchmark.Suite.prototype.run([options={}])
Ⓢ ⓉRuns the suite.
[options={}]
(Object): Options object.(Object): The suite instance.
// basic usage
suite.run();
// or with options
suite.run({ async: true, queued: true });
Benchmark.filter(array, callback)
Ⓢ ⓉA generic Array#filter
like method.
array
(Array): The array to iterate over.callback
(Function|string): The function/alias called per iteration.
'successful'
: exclude those benchmark runs which have errored out, haven’t run, or have a hz
*(calculated frequency, i.e. number of runs per second)* of Infinity
'ranking'
: exclude those benchmarks which do not participate in ranking, i.e. have their ranking
option set to a truthy value or undefined.
'fastest'
: …
'slowest'
: …(Array): A new array of values that passed callback filter.
// get odd numbers
Benchmark.filter([1, 2, 3, 4, 5], function (n) {
return n % 2;
}); // -> [1, 3, 5];
// get fastest benchmarks
Benchmark.filter(benches, 'fastest');
// get slowest benchmarks
Benchmark.filter(benches, 'slowest');
// get benchmarks that completed without erroring
Benchmark.filter(benches, 'successful');
Benchmark.formatNumber(number)
Ⓢ ⓉConverts a number to a more readable comma-separated string representation.
number
(number): The number to convert.(string): The more readable string representation.
Benchmark.invoke(benches, name, [args])
Ⓢ ⓉInvokes a method on all items in an array.
benches
(Array): Array of benchmarks to iterate over.name
(Object|string): The name of the method to invoke OR options object.[args]
(…*): Arguments to invoke the method with.(Array): A new array of values returned from each method invoked.
// invoke `reset` on all benchmarks
Benchmark.invoke(benches, 'reset');
// invoke `emit` with arguments
Benchmark.invoke(benches, 'emit', 'complete', listener);
// invoke `run(true)`, treat benchmarks as a queue, and register
// invoke callbacks
Benchmark.invoke(benches, {
// invoke the `run` method
name: 'run',
// pass a single argument
args: true,
// treat as queue, removing benchmarks from front of `benches`
// until empty
queued: true,
// called before any benchmarks have been invoked.
onStart: onStart,
// called between invoking benchmarks
onCycle: onCycle,
// called after all benchmarks have been invoked.
onComplete: onComplete
});
Benchmark.join(object, [separator1=','], [separator2=': '])
Ⓢ ⓉCreates a string of joined array values or object key-value pairs.
object
(Array|Object): The object to operate on.[separator1=',']
(string): The separator used between key-value pairs.[separator2=': ']
(string): The separator used between keys and values.(string): The joined result.
Benchmark.runInContext([context=root])
Ⓢ ⓉCreate a new Benchmark
function using the given context
object.
[context=root]
(Object): The context object.(Function): Returns a new Benchmark
function.
Benchmark.prototype.abort()
Ⓢ ⓉAborts the benchmark without recording times.
(Object): The benchmark instance.
Benchmark.prototype.clone(options)
Ⓢ ⓉCreates a new benchmark using the same test and options.
options
(Object): Options object to overwrite cloned options.(Object): The new benchmark instance.
var bizarro = bench.clone({
name: 'doppelganger'
});
Benchmark.prototype.compare(other)
Ⓢ ⓉDetermines if a benchmark is faster than another.
other
(Object): The benchmark to compare.(number): Returns -1
if slower, 1
if faster, and 0
if indeterminate.
Benchmark.prototype.emit(type, [args])
Ⓢ ⓉExecutes all registered listeners of the specified event type.
type
(Object|string): The event type or object.[args]
(…*): Arguments to invoke the listener with.(*): Returns the return value of the last listener executed.
Benchmark.prototype.listeners(type)
Ⓢ ⓉReturns an array of event listeners for a given type that can be manipulated to add or remove listeners.
type
(string): The event type.(Array): The listeners array.
Benchmark.prototype.off([type], [listener])
Ⓢ ⓉUnregisters a listener for the specified event type(s), or unregisters all listeners for the specified event type(s), or unregisters all listeners for all event types.
[type]
(string): The event type.[listener]
(Function): The function to unregister.(Object): The current instance.
// unregister a listener for an event type
bench.off('cycle', listener);
// unregister a listener for multiple event types
bench.off('start cycle', listener);
// unregister all listeners for an event type
bench.off('cycle');
// unregister all listeners for multiple event types
bench.off('start cycle complete');
// unregister all listeners for all event types
bench.off();
Benchmark.prototype.on(type, listener)
Ⓢ ⓉRegisters a listener for the specified event type(s).
type
(string): The event type.listener
(Function): The function to register.(Object): The current instance.
// register a listener for an event type
bench.on('cycle', listener);
// register a listener for multiple event types
bench.on('start cycle', listener);
Benchmark.prototype.reset()
Ⓢ ⓉReset properties and abort if running.
(Object): The benchmark instance.
Benchmark.prototype.run([options={}])
Ⓢ ⓉRuns the benchmark.
[options={}]
(Object): Options object.
async
(Object): The benchmark instance.
// basic usage
bench.run();
// or with options
bench.run({ async: true });
Benchmark.prototype.toString()
Ⓢ ⓉDisplays relevant benchmark information when coerced to a string.
(string): A string representation of the benchmark instance.
Benchmark.Deferred.prototype.benchmark
Ⓢ ⓉThe deferred benchmark instance.
Benchmark.Deferred.prototype.cycles
Ⓢ ⓉThe number of deferred cycles performed while benchmarking.
Benchmark.Deferred.prototype.elapsed
Ⓢ ⓉThe time taken to complete the deferred benchmark (secs).
Benchmark.Deferred.prototype.timeStamp
Ⓢ ⓉA timestamp of when the deferred benchmark started (ms).
Benchmark.Event.prototype.aborted
Ⓢ ⓉA flag to indicate if the emitters listener iteration is aborted.
Benchmark.Event.prototype.cancelled
Ⓢ ⓉA flag to indicate if the default action is cancelled.
Benchmark.Event.prototype.currentTarget
Ⓢ ⓉThe object whose listeners are currently being processed.
Benchmark.Event.prototype.result
Ⓢ ⓉThe return value of the last executed listener.
Benchmark.Event.prototype.target
Ⓢ ⓉThe object to which the event was originally emitted.
Benchmark.Event.prototype.timeStamp
Ⓢ ⓉA timestamp of when the event was created (ms).
Benchmark.Event.prototype.type
Ⓢ ⓉThe event type.
Benchmark.Suite.options
Ⓢ ⓉThe default options copied by suite instances.
Benchmark.Suite.options.name
Ⓢ ⓉThe name of the suite.
Benchmark.Suite.prototype.aborted
Ⓢ ⓉA flag to indicate if the suite is aborted.
Benchmark.Suite.prototype.length
Ⓢ ⓉThe number of benchmarks in the suite.
Benchmark.Suite.prototype.running
Ⓢ ⓉA flag to indicate if the suite is running.
Benchmark.options
Ⓢ ⓉThe default options copied by benchmark instances.
Benchmark.options.async
Ⓢ ⓉA flag to indicate that benchmark cycles will execute asynchronously by default.
Benchmark.options.defer
Ⓢ ⓉA flag to indicate that the benchmark clock is deferred.
Benchmark.options.delay
Ⓢ ⓉThe delay between test cycles (secs).
Benchmark.options.id
Ⓢ ⓉDisplayed by Benchmark#toString
when a name
is not available
(auto-generated if absent).
Benchmark.options.initCount
Ⓢ ⓉThe default number of times to execute a test on a benchmark’s first cycle.
Benchmark.options.maxSamples
Ⓢ ⓉThe maximum sample size required to perform statistical analysis.
Benchmark.options.maxTime
Ⓢ ⓉThe maximum time a benchmark is allowed to run before finishing (secs).
Note: Cycle delays aren’t counted toward the maximum time.
Benchmark.options.minSamples
Ⓢ ⓉThe minimum sample size required to perform statistical analysis.
Benchmark.options.minTime
Ⓢ ⓉThe time needed to reduce the percent uncertainty of measurement to 1
% (secs).
Benchmark.options.name
Ⓢ ⓉThe name of the benchmark.
Benchmark.options.onAbort
Ⓢ ⓉAn event listener called when the benchmark is aborted.
Benchmark.options.onComplete
Ⓢ ⓉAn event listener called when the benchmark completes running.
Benchmark.options.onCycle
Ⓢ ⓉAn event listener called after each run cycle.
Benchmark.options.onError
Ⓢ ⓉAn event listener called when a test errors.
Benchmark.options.onReset
Ⓢ ⓉAn event listener called when the benchmark is reset.
Benchmark.options.onStart
Ⓢ ⓉAn event listener called when the benchmark starts running.
Benchmark.options.operationsPerRound
Ⓢ ⓉThe default number of tests run per benchmark function call: set this if you want the ops/sec to represent the number of single operations when your benchmark code is itself a loop or a repeating sequence of the same operations.
Benchmark.options.ranking
Ⓢ ⓉA flag to indicate that the benchmark participates in the ranking process, i.e.
will be included in ‘fastest’/‘slowest’ filtered reports.
Non-ranked benchmarks, when used as part of a suite, may for example serve as
additional/‘foreign’ reference material in overview reports which report all
benchmark results, not just the slowest or fastest one(s). Such non-ranked
benchmarks do not ‘pollute’ the fastest/slowest results and can therefor be
used to, for example, compare the other benchmarks against an more or less
reduced/simplified version of the code-under-test without having that one
‘win everything’ and serve as 100
% (= fastest) reference for the rest.
When you don’t specify the ranking
option for a benchmark, then it
is assumed to be ranked (ranking = true
is default).
Benchmark.platform
Ⓢ ⓉPlatform object with properties describing things like browser name,
version, and operating system. See platform.js
.
Benchmark.support
Ⓢ ⓉAn object used to flag environments/features.
Benchmark.version
Ⓢ ⓉThe semantic version number.
Benchmark.prototype.aborted
Ⓢ ⓉA flag to indicate if the benchmark is aborted.
Benchmark.support.browser
Ⓢ ⓉDetect if running in a browser environment.
Benchmark.prototype.compiled
Ⓢ ⓉThe compiled test function.
Benchmark.prototype.count
Ⓢ ⓉThe number of times a test was executed.
Benchmark.prototype.cycles
Ⓢ ⓉThe number of cycles performed while benchmarking.
Benchmark.support.decompilation
Ⓢ ⓉDetect if function decompilation is supported.
Benchmark.prototype.error
Ⓢ ⓉThe error object if the test failed.
Benchmark.prototype.fn
Ⓢ ⓉThe test to benchmark.
Benchmark.prototype.hz
Ⓢ ⓉThe number of executions per second.
Benchmark.prototype.operationsPerRound
Ⓢ ⓉThe number of tests per single benchmark execution:
this represents the number of single operations when your benchmark
code is itself a loop or a repeating sequence of the same operations.
This value MAY be set up by the setup
code to override the default of 1
.
Benchmark.prototype.running
Ⓢ ⓉA flag to indicate if the benchmark is running.
Benchmark.prototype.setup
Ⓢ ⓉCompiled into the test and executed immediately before the test loop.
// basic usage
var bench = Benchmark({
setup: function () {
var c = this.count,
element = document.getElementById('container');
while (c--) {
element.appendChild(document.createElement('div'));
}
},
fn: function () {
element.removeChild(element.lastChild);
}
});
// compiles to something like:
var c = this.count,
element = document.getElementById('container');
while (c--) {
element.appendChild(document.createElement('div'));
}
var start = new Date;
while (count--) {
element.removeChild(element.lastChild);
}
var end = new Date - start;
// or using strings
var bench = Benchmark({
setup: '\
var a = 0;\n\
(function () {\n\
(function () {\n\
(function () {',
fn: 'a += 1;',
teardown: '\
}())\n\
}())\n\
}())'
});
// compiles to something like:
var a = 0;
(function () {
(function () {
(function () {
var start = new Date;
while (count--) {
a += 1;
}
var end = new Date - start;
}())
}())
}())
Benchmark.prototype.stats
Ⓢ ⓉAn object of stats including mean, margin or error, and standard deviation.
Benchmark.prototype.teardown
Ⓢ ⓉCompiled into the test and executed immediately after the test loop.
Benchmark.support.timeout
Ⓢ ⓉDetect if the Timers API exists.
Benchmark.prototype.times
Ⓢ ⓉAn object of timing data including cycle, elapsed, period, start, and stop.
Benchmark#stats.deviation
Ⓢ ⓉThe sample standard deviation.
Benchmark#stats.mean
Ⓢ ⓉThe sample arithmetic mean (secs).
Benchmark#stats.moe
Ⓢ ⓉThe margin of error.
Benchmark#stats.rme
Ⓢ ⓉThe relative margin of error (expressed as a percentage of the mean).
Benchmark#stats.sample
Ⓢ ⓉThe array of sampled periods.
Benchmark#stats.sem
Ⓢ ⓉThe standard error of the mean.
Benchmark#stats.variance
Ⓢ ⓉThe sample variance.
Benchmark#times.cycle
Ⓢ ⓉThe time taken to complete the last cycle (secs).
Benchmark#times.elapsed
Ⓢ ⓉThe time taken to complete the benchmark (secs).
Benchmark#times.period
Ⓢ ⓉThe time taken to execute the test once (secs).
Benchmark#times.timeStamp
Ⓢ ⓉA timestamp of when the benchmark started (ms).


Blogger’s Note from Feb2013: This article was originally posted on the WisdomGroup blog in Jan2007. In hindsight, my precicted timeline was too aggressive. However, the rest of the post remains sound.
If Woolworth’s sold diamond rings, you’d have a million of ‘em baby!
~Fats Waller, Piano composer/performer, circa 1915
Woolworth’s and Fats Waller are long gone, but Waller’s tounge-in-cheek prediction will come to pass in the next few years. Diamonds will sell for $10.00 per carat in the year 2015. Advances in the fabrication of synthetic/cultured diamonds will drive down the price and value of these “precious” gems. At the same time, the needs of computer manufacturers and huge economies of scale will make it worthwhile for diamond fabricators to roll out cheap diamonds by the pound.
Yes, They’re Real
The diamonds I’m talking about are chemically identical to diamonds found in the mines of South Africa, Canada, and other spots around the world. I’m not talking about cubic zirconium. I mean man-made diamonds that are arguably superior to diamonds found in mines. Mined diamonds occur in nature, and they are formed when carbon is exposed to millions of years of heat and pressure beneath the earth’s surface. Volcanic activity can play a role. As natural diamonds form and harden, they tend to envelope impurities within. These impurities, (the diamond industry calls them “inclusions”) can greatly reduce the value of a diamond.
But man-made diamonds contain zero inclusions.
There are several ways to make a diamond. Some methods duplicate the heat and pressure deep within our planet. Others grow a diamond from a “seed” crystal in a special chamber. Regardless of technique, a man-made diamond will only contain inclusions if that is what the manufacturer wants. Cultured diamonds are real, and they’re more attractive.
Wired Magazine’s Diamond Revelation
Check out this article in Wired Magazine. The writer interviews two diamond makers right here in the United States. Apollo Diamond, Inc. sells diamonds for jewelry and technology. Gemesis sells colored diamonds that are rare in nature (very expensive), but so easy to make in their Florida-based warehouse. Other entrepreneurs are sure to follow, and prices will certainly fall. The biggest drop will come when diamond-makers in China, India, and other manufacturing powerhouses come online.
Are Cheap Diamonds Worth Making?
Computer industry insiders are familiar with Moore’s Law. The law says that computers will double in processing capacity and halve in price every eighteen months. Moore’s Law has held true for over forty years since Moore first announced his prediction in the early 1960’s. But now Moore’s law is approaching a wall.
Today’s microprocessors are made of silicon. Each new microprocessor generation contains double the number of transistors of the previous generation. Two byproducts of cramming lots of transistors on a piece of silicon: processing power (good) and heat (bad). Heat must be removed from the system in order for it to work properly, and that’s why computers have fans, heat sinks, and (in some cases) liquid cooling systems. Even better: Make chips that can take the heat!
Diamonds Can Stand the Heat
Diamonds withstand heat that would evaporate silicon. Researchers at the University of Arkansas have demonstrated that “Diamond, the best thermal conductor known, is the ultimate choice… in the next generation compact, high power and high speed computer.” Other Universities and research institutes have found similar results. Google the term “diamond substrate circuit” and you will find over 600,000 hits. The only problem: Right now, diamonds are too expensive.
Prices Driven Downward
Diamond prices will plummet in a wonderful downward spiral as the following factors converge:
- Silicon exhausts its potential as the material of choice for chip production. Too many transistors, too much heat will cause the demise of silicon.
- Computer users demand more and more power every year, and computer manufacturers will oblige or be driven out of business by competitors.
- More diamond makers come online in low cost, high volume manufacturing countries like China and India.
What About the Diamond Cartel?
Some argue that the powerful diamond cartel, an entity that has held the line on diamond prices since 1905, will squelch the synthetic diamond movement. They’ve allegedly toppled governments in their quest for global diamond control.
But the diamond cartel has never come up against the fiercely competitive beings of the technology industry. Microsoft, Intel, Apple, Dell, HP, IBM, Google, Sun, SGI, AT&T, Oracle, and all the rest are fiercely aggressive, amazingly brilliant, and they love to win. These companies have honed their skills against each other in a global marketplace that devours companies that make mistakes. Do you really think the diamond cartel can stand up against technology industry titans?
Another factor: Governments are hungry for weapons, and weapons are driven by computer technology. A government bent on military might will not bow to the wishes of a cartel that sells shiny stones.
The bottom line: The diamond cartel will be broken.
Why “ten dollars” and “2015”?
Simple. I pulled those numbers out of thin air. Almost. I was at a family reunion two years ago when I first decided to make my diamond theory public. My cousins are very opinionated (unlike me), and I needed to get my point across in a direct, simple, and shocking way. The idea “ten dollars in ten years” came to mind, hence Ten Dollars per Carat in 2015 (the year was 2005).
It’s hard to get the numbers exactly right when predicting the future. But the trend is clear. Synthetic diamonds (or “cultured” diamonds, take your pick) will plummet in price over the next few years. People will realize that they are:
- chemically identical to mined diamonds
- superior in terms of the “four C’s”: color, cut, clarity, and carat
- mass produced and readily available to everybody
Further, technology companies will demand diamond-based circuitry in their quest for faster and smaller computers. The future is clear. Diamonds will sell for ten dollars per carat in the year 2015.


To edit the connection settings of an existing FTP site in your favorites list, open the favorite manager by doing any of the following:
Tools -> Manage Favorites
menu item
from the menu bar
Doing any of the above actions will open the
Manage Favorites
dialog.
The
Manage Favorites
dialog displays a list of all your favorite FTP sites in alphabetical
order. From the list, select (highlight) the FTP site that you would
like to edit and click on the
Edit
button. This will open another dialog titled
Update Favorite FTP Site
dialog.
In the
Update Favorite FTP Site
dialog, change the connection information as needed and click on the
Save
button to save your changes.
Clicking
on the Cancel button would discard your changes and closes the dialog.
For details on various tabs and
fields in the
Update Favorite FTP Site
dialog, please refer to the Adding a Favorite
section.


Popular Science
The future is fantastic!
Home
About
All Posts
Post
Login
Logout
All Stories
Categories
{{category.name}} ({{category.posts.length}})


EASTER 4 MONDAY
Entrance Antiphon
Christ, having risen from the dead, dies now no more; death will no longer have dominion over him, alleluia.
Collect
O God, perfect light of the blessed, by whose gift we celebrate the paschal mysteries on earth, bring us, we pray, to rejoice in the full measure of your grace for ages unending. Through our Lord...
FIRST READING Acts 11:1-18
A reading from the Acts of the Apostles
In those days: The
apostles and the brethren who were in
The word of the Lord.
RESPONSORIAL PSALM Psalm 42:2-3; 43:3.4 (R. see 42:3ab))
R. My soul is thirsting for you, the living God.
Or Alleluia!
Like the deer that yearns for running streams, so
my soul is yearning for you, my God. My soul is thirsting for God, the living
God; when can I enter and appear before the face of God?
R. My soul is thirsting for you, the living God.
 They will bring me to your holy mountain,
to the place where you dwell.
R. My soul is thirsting for you, the living God.
And I will come to the altar of God, to God, my joy
and gladness. To you I will give thanks on the harp, O God, my God.
R. My soul is thirsting for you, the living God.
ALLELUIA John 10:14
R. Alleluia. I am the good shepherd, says the Lord; I know my own, and my own know me. R. Alleluia.
GOSPEL John 10:1-10 (Or Alternative)
A reading from the holy Gospel according to John
At that time: Jesus said, "Truly, truly, I say
to you, he who does not enter the sheepfold by the door but climbs in by
another way, that man is a thief and a robber; but he who enters by the door is
the shepherd of the sheep. To him the gatekeeper opens; the sheep hear his
voice, and he calls his own sheep by name and leads them out. When he has
brought out all his own, he goes before them, and the sheep follow him, for
they know his voice. A stranger they will not follow, but they will flee from
him, for they do not know the voice of strangers." This figure Jesus used
with them, but they did not understand what he was saying to them.  All who came before me are thieves and robbers; but the sheep did not
heed them. I am the door; if any one enters by me, he will be saved, and will
go in and out and find pasture. The thief comes only to steal and kill and
destroy; I came that they may have life, and have it abundantly.
ALTERNATIVE GOSPEL John 10:11-18
At that time: Jesus said, “I am the good shepherd.
The good shepherd lays down his life for the sheep. He who is a hireling and
not a shepherd, whose own the sheep are not, sees the wolf coming and leaves
the sheep and flees; and the wolf snatches them and scatters them. He flees
because he is a hireling and cares nothing for the sheep. I am the good
shepherd; I know my own and my own know me, as the Father knows me and I know
the Father; and I lay down my life for the sheep. And I have other sheep, that are not of this fold; I must bring them also,
and they will heed my voice. So there shall be one flock, one shepherd. For
this reason the Father loves me, because I lay down my life, that I may take it
again. No one takes it from me, but I lay it down of my own accord. I have
power to lay it down, and I have power to take it again; this charge I have
received from my Father."
The Gospel of the Lord.
Prayer over the Offerings
Receive, O Lord, we pray, these offerings of your exultant Church, and, as you have given her cause for such great gladness, grant also that the gifts we bring may bear fruit in perpetual happiness. Through Christ our Lord.
Communion Antiphon
Jesus stood in the midst of his disciples and said to them: Peace be with you, alleluia.
Prayer after Communion
Look with kindness upon your people, O Lord, and grant, we pray, that those you were pleased to renew by eternal mysteries, may attain in their flesh the incorruptible glory of the resurrection. Through Christ our Lord.


Shopping List
Recipes
Weekly Menu
Shopping List
Profile
About Us
Individual
Group
Meat
Chicken Breast - 500g
Beef - 500g
Dairy
Trim Milk - 2L
Fruit & Vegetables
Carrot - 1 medium
Potato - 4 medium
Apple - 5


Samuel Muiga Mwangi
sam291
java
Ping Pong will count up to you number from 1 with the following exceptions:


Some tests for me
data template on non-template
Hello
data template on non-template and data-list using that template on the same item
Y
with feed with 2 items
X
with 2li and feed with 2 items
Z
Z
always
same
data-variable="a"
data-variable="b"
data-variable="sideOuter"
data-list="innerlist-d-inner"
h4


Implementation
This is an implementation of AES-128 in C. No modes are given here. The code is just for study because many famous projects have given very efficient implementations. This code has been tested with valgrind-3.11.0.
Interfaces
- void aes_key_schedule_128(const uint8_t *key, uint8_t *roundkeys);
- @purpose: Key schedule for AES-128
- @par[in]key: 16 bytes of master keys
- @par[out]roundkeys: 176 bytes of round keys
- void aes_encrypt_128(const uint8_t *roundkeys, const uint8_t *plaintext, uint8_t *ciphertext);
- @purpose: Encryption. The length of plain text and cipher text should be one block (16 bytes). They may point to the same memory.
- @par[in]roundkeys: round keys
- @par[in]plaintext: plain text
- @par[out]ciphertext: cipher text
- void aes_decrypt_128(const uint8_t *roundkeys, const uint8_t *ciphertext, uint8_t *plaintext);
- @purpose: Decryption. The length of cipher text and plain text should be one block (16 bytes). They may point to the same memory.
- @par[in]roundkeys: round keys
- @par[in]ciphertext: cipher text
- @par[out]plaintext: plain text
AES-128
|
AES is a block cipher, which belongs to symmetric cipher. It is designed by the very famous cryptographer Joan Daemen and Vincent Rijmen. The block size of AES is 128-bit, the key size has three different versions: 128-bit, 192-bit and 256-bit. Here we introduce the structure and implementation of AES-128(the version with 128-bit keys). The stucture of AES is shown in the right figure. There are four main parts:
|
Cipher State
|
Supppose the 128-bit of a block (or round keys) is arrange as a 4x4 metrix, as shown in the figure a), where T0 is the least significant byte, and T15 is the most significant byte. In order to describe, we rename it in another way, as shown in figure b). |
AddRoundKey
The 128-bit plain text (or cipher text) is XOR-ed with the 128-bit round keys.
SubBytes
Every byte of the state is replaced according to Sbox (in encryption) or Inverse-Sbox (in decryption).
ShiftRows
|
ShiftRows is shown in the right figure. That is to say, in encryption: 1) The first line is not changed. 2) The second line is rotated shift left by 8-bit. 3) The third line is rotated shift left by 16-bit. 4) The fourth line is rotated shift left by 24-bit. |
|
MixColumns
Open Source
| Src | Src | Src |


@(tickets: com.avaje.ebean.Page[Ticket]) @main("Ticket dashboard") {
| Ticket No. | Reported By | Created By | Assigned To | Status | Action | |
|---|---|---|---|---|---|---|
|<EMAIL_ADDRESS>| @ticket.reportedBy.firstName | @ticket.createdUser.firstName | @ticket.assignedTo.firstName | @ticket.status | @if(ticket.status == "CLOSED") {View Ticket | } else {Edit Ticket | }


--- subject: Password Reset Request --- Hi {\{firstname\}} Thank you for requesting a password reset, you can now update your password using the following link: Password Reset
Hi {\{firstname\}}
Thank you for requesting a password reset, you can now update your password using the following link:


Hello
(
), welcome to Solar ERS System!
Logout
New Reimbursement
Reimbursement Amount
Description
Upload Receipt File
Reimbursement Type
Lodging
Travel
Food
Other
Reset Form
Submit Form
Reimbursement List
Pendings
Approved
Denied
Reimbursement Detail
Applied Amount
Submitted Time
Resolved Time
Description
Receipt
Initiator
Resolver
Application Status
Reimbursement Type


|
PAL
A Platform Abstraction Layer connects the mbed-client with the underlying platform.
|
| void dbgPrintf | ( | const char * | function, |
| uint32_t | line, | ||
| const char * | format, | ||
| ... | |||
| ) |
Printf like function with prefix of function and line.
| [in] | function | name of the current function |
| [in] | line | line number to be printed |
| [in] | format | print format (just like printf) |
| int32_t pal_osAtomicIncrement | ( | int32_t * | valuePtr, |
| int32_t | increment | ||
| ) |
Perform an atomic increment for a signed32 bit value
| [in,out] | valuePtr | the address of the value to increment |
| palStatus_t pal_osDelay | ( | uint32_t | milliseconds | ) |
Wait for a specified time period in milliseconds.
| [in] | milliseconds | the amount of milliseconds to wait before proceeding. |
| uint64_t pal_osKernelSysMilliSecTick | ( | uint64_t | sysTicks | ) |
Converts value from kernel system ticks to milliseconds.
| [in] | sysTicks | the amount of kernel system ticks to convert into millieseconds |
| uint32_t pal_osKernelSysTick | ( | void | ) |
Get the RTOS kernel system timer counter.
| uint64_t pal_osKernelSysTick64 | ( | void | ) |
Get the RTOS kernel system timer counter.
| uint64_t pal_osKernelSysTickFrequency | ( | void | ) |
Get the system tick frequency
| uint64_t pal_osKernelSysTickMicroSec | ( | uint64_t | microseconds | ) |
Converts value from microseconds to kernel sys tick
| [in] | microseconds | the amount of microseconds to convert into system ticks |
| palStatus_t pal_osMessageGet | ( | palMessageQID_t | messageQID, |
| uint32_t | timeout, | ||
| uint32_t * | messageValue | ||
| ) |
Get a Message or Wait for a Message from a Queue.
| [in] | messageQID | the handle for the memory pool |
| [in] | timeout | timeout in milliseconds |
| [out] | event | the data to send |
| palStatus_t pal_osMessagePut | ( | palMessageQID_t | messageQID, |
| uint32_t | info, | ||
| uint32_t | timeout | ||
| ) |
Put a Message to a Queue.
| [in] | messageQID | the handle for the memory pool |
| [in] | info | the data to send |
| [in] | timeout | timeout in milliseconds |
| palStatus_t pal_osMessageQueueCreate | ( | uint32_t | messageQSize, |
| palMessageQID_t * | messageQID | ||
| ) |
Create and initialize a message queue.
| [in] | messageQSize | size of the message queue. |
| [out] | memoryPoolID | holds the created memory pool ID handle - zero value indecates an error. |
| palStatus_t pal_osMessageQueueDestroy | ( | palMessageQID_t * | messageQID | ) |
Delete a message queue object.
| [in,out] | messageQID | the handle for the message queue, in success:(*messageQID = NULL). |
| palStatus_t pal_osMutexCreate | ( | palMutexID_t * | mutexID | ) |
Create and initialize Mutex object
| [out] | mutexID | holds the created mutex ID handle - zero value indecates an error. |
| palStatus_t pal_osMutexDelete | ( | palMutexID_t * | mutexID | ) |
Delete a Mutex object.
| [in,out] | mutexID | Mutex handle to delete, in success:(*mutexID = NULL). |
| palStatus_t pal_osMutexRelease | ( | palMutexID_t | mutexID | ) |
Release a Mutex that was obtained by osMutexWait.
| [in] | mutexID | the handle for the mutex |
| palStatus_t pal_osMutexWait | ( | palMutexID_t | mutexID, |
| uint32_t | millisec | ||
| ) |
Wait until a Mutex becomes available.
| [in] | mutexID | the handle for the mutex |
| [in] | millisec | the timeout for the waiting operation if the timeout expires before the semaphore is released and error will be returned from the function, PAL_RTOS_WAIT_FOREVER can be used. |
| void* pal_osPoolAlloc | ( | palMemoryPoolID_t | memoryPoolID | ) |
Allocate a single memory block from a memory pool.
| [in] | memoryPoolID | the handle for the memory pool |
| void* pal_osPoolCAlloc | ( | palMemoryPoolID_t | memoryPoolID | ) |
Allocate a single memory block from a memory pool and set memory block to zero.
| [in] | memoryPoolID | the handle for the memory pool |
| palStatus_t pal_osPoolCreate | ( | uint32_t | blockSize, |
| uint32_t | blockCount, | ||
| palMemoryPoolID_t * | memoryPoolID | ||
| ) |
Create and initialize a memory pool.
| [in] | blockSize | size of single block in bytes. |
| [in] | blockCount | maximum number of blocks in memory pool. |
| [out] | memoryPoolID | holds the created memory pool ID handle - zero value indecates an error. |
| palStatus_t pal_osPoolDestroy | ( | palMemoryPoolID_t * | memoryPoolID | ) |
Delete a memory pool object.
| [in,out] | memoryPoolID | the handle for the memory pool, in success:(*memoryPoolID = NULL). |
| palStatus_t pal_osPoolFree | ( | palMemoryPoolID_t | memoryPoolID, |
| void * | block | ||
| ) |
Return an memoryPoolID memory block back to a specific memory pool.
| [in] | memoryPoolHandle | the handle for the memory pool |
| [in] | block | the block to free |
| void pal_osReboot | ( | void | ) |
Initiates a system reboot
| palStatus_t pal_osSemaphoreCreate | ( | uint32_t | count, |
| palSemaphoreID_t * | semaphoreID | ||
| ) |
Create and initialize a Semaphore object
| [in] | count | number of available resources |
| [out] | semaphoreID | holds the created semaphore ID handle - zero value indecates an error. |
| palStatus_t pal_osSemaphoreDelete | ( | palSemaphoreID_t * | semaphoreID | ) |
Delete a Semaphore object
| [in,out] | semaphoreID | Semaphore handle to delete, in success:(*semaphoreID = NULL). |
| palStatus_t pal_osSemaphoreRelease | ( | palSemaphoreID_t | semaphoreID | ) |
Release a Semaphore token.
| [in] | semaphoreID | the handle for the semaphore |
| palStatus_t pal_osSemaphoreWait | ( | palSemaphoreID_t | semaphoreID, |
| uint32_t | millisec, | ||
| int32_t * | countersAvailable | ||
| ) |
Wait until a Semaphore token becomes available.
| [in] | semaphoreID | the handle for the semaphore |
| [in] | millisec | the timeout for the waiting operation if the timeout expires before the semaphore is released and error will be returned from the function, PAL_RTOS_WAIT_FOREVER can be used. |
| [out] | counteresAvailable | the number of semaphore available at the call if semaphore is available, if semaphore was not available (timeout/error) zero is returned. |
| palStatus_t pal_osThreadCreate | ( | palThreadFuncPtr | function, |
| void * | funcArgument, | ||
| palThreadPriority_t | priority, | ||
| uint32_t | stackSize, | ||
| uint32_t * | stackPtr, | ||
| palThreadLocalStore_t * | store, | ||
| palThreadID_t * | threadID | ||
| ) |
Creates and starts thread function.
| [in] | function | function pointer to the thread callback function. |
| [in] | funcArgument | argument for the thread function. |
| [in] | priority | priotity of the thread. |
| [in] | stackSize | the stack size of the thread can NOT be 0. |
| [in] | stackPtr | pointer to the thread's stack can NOT be NULL. |
| [in] | store | pointer to thread's local sotre, can be NULL. |
| [out] | threadID | holds the created thread ID handle - zero value indecates an error. |
| palThreadID_t pal_osThreadGetId | ( | void | ) |
Get ID of the current thread
| void* pal_osThreadGetLocalStore | ( | void | ) |
Get the storage of current thread
| palStatus_t pal_osThreadTerminate | ( | palThreadID_t * | threadID | ) |
Terminates and free allocated data for the thread.
| [in] | threadID | thread ID to stop and terminate. |
| palStatus_t pal_osTimerCreate | ( | palTimerFuncPtr | function, |
| void * | funcArgument, | ||
| palTimerType_t | timerType, | ||
| palTimerID_t * | timerID | ||
| ) |
Creates a Timer.
| [in] | function | function pointer to the timer callback function. |
| [in] | funcArgument | funcArgument for the timer callback function. |
| [in] | timerType | timer type to be created - (periodic or oneShot). |
| [out] | timerID | holds the created timer ID handle - zero value indecates an error. |
| palStatus_t pal_osTimerDelete | ( | palTimerID_t * | timerID | ) |
Delete the timer object
| [in,out] | timerID | the handle for the timer to delete, in success:(*timerID = NULL). |
| palStatus_t pal_osTimerStart | ( | palTimerID_t | timerID, |
| uint32_t | millisec | ||
| ) |
Start or restart a timer.
| [in] | timerID | the handle for the timer to start |
| [in] | millisec | the amount of time in milliseconds to set the timer to. |
| palStatus_t pal_osTimerStop | ( | palTimerID_t | timerID | ) |
Stop a timer.
| [in] | timerID | the handle for the timer to stop |