{% extends "header.html" %} {% block body %}
Now we get to appending a file in python. I will just state again that writing will clear the file and write to it just the data you specify in the write operation. Appending will simply take what was already there, and add the new data to it.
That said, when you actually go to add to the file, you will still use ".write." You only specify that you will be appending instead of writing when you open the file and specify your intentions.
Let's look at an example:
# so here, generally it can be a good idea to start with a newline, since # otherwise it will append data on the same line as the file left off. # you might want that, but I'll use a new line. # another option used is to first append just a simple newline # then append what you want. appendMe = '\nNew bit of information' appendFile = open('exampleFile.txt','a') appendFile.write(appendMe) appendFile.close()
What will happen here is, if exampleFile.txt already exists, the appendMe line will be added to it. If that file does not already exist, then it will be created.


Senior Front-End-Developer
I am now a Civil Servant. I joined the Department of Work and Pension digital department in the Manchester Hub, has a Senior Front-End Developer in April 2019. It's an exciting opportunity and one I am very excited to be a part of has I will be helping to reimagine the digital public service.
It's a great opportunity to work in a collaborative digital hub with the latest tools and technologies, helping to make a positive difference to the lives of millions of people that uses the digital public service.
I work as part of a supportive and closeknit product team, working closely and very collaborative with our UX Researcher, Interaction Designer, Content Writer, QA, Product Owner, Devops, Agile Lead, Developers, and BA's.
Founder and Mentor
On International Women’s Day 2019, I officially launched CodeandStuff (codeandstuff.co.uk) , a coding and networking community for Women and non-binary code newbies and developers in Manchester with weekly events, as I am very passionate about introducing more people into tech and coding, especially women.
I believe that if we want to achieve a tech world with gender equality, representation matters, and I believe that creating a safe weekly space for women in tech and learners where they can learn, with talks, workshops, and connecting code newbies to strong, smart, independent developers in tech is a step in the right direction and a way forward to help balance the scale.
Founder
In September 2018 during National Coding Week, I launched CodePossible (codepossible.org) a platform for those interested in learning how to code. Because I want as many people as possible to take part and try out coding and perhaps they will find that they have a hidden talent because successful coding is about logic.
Code Possible is an educational information platform, with a growing library of learning platfroms, and a collection of getting started information in regards to starting a career as a developer.
I hope my passion for educating and for helping people to learn can inspire others to learn to code and perhaps, like me, have a life-changing successful transition into a career in tech.
Future List 2019
In November, 2018 I was very surprised and honoured to be nominated for the NorthernPowerWowen Future List due to my work with the local tech community, CodePossible, and my mentoring work in helping to get more people expecially women into tech. I was very happy to find out I made the list in Febuary 2019.
I think it's important to champion role models in the North because I was raised by a phenomenally strong woman and have been surrounded by powerful females my entire life and each one has helped shaped me into who I am today. So I strongly believe that representation matters and it’s important that women who are achieving help create a supportive network for other, to empower them to know if they can dream it and are willing to do the work, they can be it.
Ones to watch 2019
I was very happy to hear that I was chosen and added to the CodeFirst:Girls - Ones to Watch 2019 list. The list includes 25 women under 30 doing impressive work in tech and entrepreneurship, and celebrate their career choices and hope to encourage more to follow in their footsteps.
I am very honoured to be included and more motivated to share more on my journey into and reality in tech to help empower more people expecially the younger generation to consider a career in tech.


Preload App
Early experiment, use at your own [high] risk.
Make your website load very fast. Converts your website to a Single Page Application. Or just make it faster, it's up to you. Include the script in your website to see it work:

That's it, your website should be noticeably faster now. You can use the Javascript API or configure it with the options. See the troubleshooting guide if you have any issue.
Experiment tip: open the CDN link, copy the JS and paste it into your website console for testing this project in a real env in ~10s. If there's any error you'll have to do this again.
API
You now have this API available:
// Parse the full current website from scratch
pre.init(OPTS); // Note: it is called onload
// Open the passed urls or link element
pre.open(URL);
// [pre]load a link into memory for later opening
pre.load(URL);
// Replace the current page by a new url+html
pre.replace('/hello', '...');
// Cache instance. Using tiny-lru: https://www.npmjs.com/package/tiny-lru
pre.cache = lru(100, false, 0, 100000);
pre.cache.get(HREF);
// cache.set is mostly internal; highly prefer pre.load(HREF)
pre.cache.set(HREF, { href: HREF, html: HTML });
pre.cache.expire = 1000; // Maximum time of the page
pre.cache.clear(); // Remove all items from cache (login/logout)
// All events happen just BEFORE the actual name, so they can be prevented
// NOTE: not available yet
pre.on('ready', e => {}); // The DOM is ready to be used
pre.on('init', e => {}); // The script initialization is called
pre.on('load', e => {}); // A single URL is attempted to be preloaded
pre.on('preload', e => {}); // Alias for 'load'
pre.on('open', e => {}); // An HREF is going to be open (load+replace)
pre.on('replace', e => {}); // The website content is going to be updated
pre.on('fetch', e => {}); // A HREF is going to be fetched
pre.on('error', e => {}); // There is an error somewhere
pre.on('cache.get', e => {}); // When a link is read from cache
pre.on('cache.set', e => {}); // Update the cache with more HREF+HTML
pre.on('cache.remove', e => {}); // Some HTML is removed from the cache
Options
There are global options and per-element options:
- Global options can be specified on the

element or when callingpre.init({ OPTIONS })
. - Element options should be specified in the element (e.g.,

If the script src target does not exist in the old page but exists in the new page, it will be run. If it already exists in the old page, it will be skipped.
Add this option for these kind of libraries since they only define a global API so we only want them to run once:
- jQuery.js
- moment.js
- etc.
Do not add to scripts that run some code against the current HTML since those will very likely need to run it with the new HTML:
- Inline scripts (will be ignored). To avoid re-rendering inline scripts, see the option ignore.
- prism.js: this will automatically highlight the page code snippets, so it needs to be run on every pageload.
- etc.
Compare the options for loading a script from the new page:

: run the full script after the HTML has loaded.
: run the script only if thesrc
is not in the previous page(s).
: completely ignore the script. Will not be run at all in any case.
ignore
Premonition will completely ignore a script, link, etc. with this option:
</script>

This is useful for some links that you do not want preloaded or scripts that you do not want re-evaluated. Examples:
- Inline scripts that must be run only onload. We cannot prevent those from running on a full page refresh, but we can avoid re-running those.
- Links that are making a request that changes some state. We would recommend in this situation to follow the
HTTP
specification, so links only do GET requests which have no side effects. Leave side effects for<form>
.
Compare the options for loading a script from the new page:

: run the full script after the HTML has loaded.
: run the script only if thesrc
is not in the previous page(s).
: completely ignore the script. Will not be run at all in any case.
Troubleshooting
Very early experiment, contact me if you need any help.


First Name
Last Name
Adress
City
State
Zip/Postal Code
Country
Bulgaria
Phone(
country code
,
area code
,
number
)
(+
)
Email
Birth date
Gender
Other
Male
Female
Starting date
Spring 2015
Summer 2015
Comments/Questions


This port lies in the centre of the north coast of the island of the same name. It sits in a natual amphitheatre surounded by stately 18th and 19th century buildings.
Moor to the north mole or where there is space in front of the town. This harbour gets very crowded and boats can be moored 3 or more deep, practically filling the harbour completely. Be prepared for a wonderful tangle of anchors!
Last updated August 2009.


There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words.
There are many of the variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum,randomised words which don't look even slightly believable you need to be sure there isn't anything hidden.
There are many of the variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum,randomised words which don't look even slightly believable you need to be sure there isn't anything hidden.
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything hidden.
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form
- Stan Marsh ( Real Media President )
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form
- Stan Marsh ( Real Media President )
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form
- Stan Marsh ( Real Media President )
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form
- Stan Marsh ( Real Media President )
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form
- Stan Marsh ( Real Media President )
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form
- Stan Marsh ( Real Media President )
" Without inspiration the best powers of the mind remain dormant. There is a fuel in us which needs to be ignited. "
- Johann Gottfried Herder
@yearning4d_sky what happened? Did you use the same password for all your accounts? about 4 days ago
@yearning4d_sky what happened? Did you use the same password for all your accounts? about 4 days ago
@yearning4d_sky what happened? Did you use the same password for all your accounts? about 4 days ago


>
This is part of the old website. New website begins at fontforge.github.io
Are you a web developer? Help us migrate this page on Github
Generally when designing a font you will not want to use this dialog. What is the point of a glyph which is made up of precomposed text?
But occasionally it is useful. A company's logo might want to live in a single glyph.
This dialog looks rather like the print dialog. You may enter text, display it in a given font, and at a desired pointsize. You may apply OpenType features.
Once you have composed your text, you may insert it into a glyph. The text will be insert as the outlines of the characters you entered. In the simplest case, the text will much as you entered them at the origin of the glyph.
The text will be scaled. If you entered the text with a pointsize of 12, then the outlines will be scaled so that the em-size is 12. If you use a font where the em-size is 1000, and the character "H" is 662, then after scaling the "H" will be 12*662/1000 = 7.9 units high.
(You can, of course, rescale the outlines once they are in the glyph).
If you enter a lot of text, it will wrap. The dialog shows the length of the longest line, and the location at which text will wrap.
Complications arise if you select a path in the glyph before invoking the Insert Text dialog -- then you can bind the text you enter so that it curves with the path. You can have FontForge scale your text so that it exactly fits the path length, or you can position your text at the start, middle or end of the path. Text is bound so that if the path is a horizontal line running from left to right the text will use the path as a baseline and be oriented as you would expect for left to right text, if the path is a horizontal line running right to left, then the text will appear up-side-down. If you don't want the text to use the path as its baseline (if you'd like a gap between the two) then enter a value in "Offset text from path"
Finally FontForge has two modes for binding text. Either it will use the place where the center of the glyph aligns on the path and rotate the entire glyph appropriately for that point, or it will distort each bit of the glyph as is appropriate for where that bit aligns on the path. In the first aproach the letters are cleaner individually but the text as a whole is more jagged.
| path | Glyphs bound as a unit | Glyphs distorted by binding |
|---|---|---|


Installation of the JSME molecule editor
Introduction
This document describes how to embed JSME into a web page.
The first section describes how to migrate pages that use the JME Java applet.
The second part shows how to install JSME using JavaScript.
Migration from JME to JSME
The HTML pages that use the "applet" tag can easily adapted thanks to the provided JavaScript code. Pages that use other methods to embed a Java applet,
using the "object" or the "embed" tags are presently not supported.
HTML modification for pages using the "applet" tags
Many websites still use the JME Java applet. Migrating an HTML page
from JME to JSME is basically a two steps process:
- Include the JSME javascript code
- Rename the java APPLET tag to DIV tag
Example of simple html page with a Java JME applet:

<title>JME Example</title>

<applet code="JME.class" name="JME" archive="JME.jar" width="360" height="315" id="JME">
You have to enable Java and JavaScript in your browser to use JME!
</applet>

The same page after migration to JSME:

<title>JME Example</title>

You have to enable JavaScript in your browser to use JSME!

This example page can be tested in your browser: JME_to_JSME_simple.html
Important warning
Due to an Internet Explorer bug, the id of any DIV element may never be "JSME".
Here is an example for which some older versions of Internet Explorer will fail:

You have to enable JavaScript on your machine !

Accessing the applet variable in the JavaScript code
Java applets can be accessed in the JavaScript code in three different ways:
- document.JME using a variable name
- document.applets[0] using the applet array
- document.getElementById("JME")> using the applet id
With JSME, the equivalent JavaScript applet can be accessed in the JavaScript code in two different ways:
- document.JME using a variable name (identical to Java applets)
- document.jsapplets[0] using the jsapplets array (different to Java applets)
The third method is not supported.
If your HTML page uses the document.applets to access the JME applets, then all occurences of document.applets will need to be replaced by document.jsapplets.
Example:

You have to enable JavaScript on your machine !

You have to enable JavaScript on your machine !

>
The code to access them using the variable name and the jsapplets array is shown below:
<input type="button" value="Get smiles via document.JME1" onclick="alert(document.JME1.smiles());">
<input type="button" value="Get smiles via document.jsapplets[1]" onclick="alert(document.jsapplets[1].smiles());">
Timing issue with the initialization of the JavaScript applet using body.onload()
Java applets can be initialized using some JavaScript code after the page has finished loading. Unfortunately, the "body.onload()" method
that is usually used for this purpose cannot be used with JSME because some JSME instances might not be ready when the body.onload method is called.
To solve this problem, the JSME initialization can call a function named "jsmeOnLoad" that contains custom initialization code.
Example of simple html code with a "body.onload()" for the Java applet JME:

Example of simple html code with an empty "body.onload()" and a "jsmeOnLoad" function for JSME:

Example of JME to JSME pages
Implementation note
After being loaded, the JSME JavaScript code scans the HTML page looking for all DIV elements have a code attribute as code="JME.class".
The JavaScript code that performs this task is available as a function named replaceAllAppletsByJSME().
For more information about this function, see the API section.
Installation of JSME using JavaScript code
To install JSME in a web page requires three items:
- include the JSME JavaScript code
- define a function named jsmeOnLoad that will create a JSME instance
- define a HTML element where the created jsme will be placed

The HTML code above can be tested here.
The use of a the "jsmeOnLoad" function is necessary only if a JSME instance needs to be available immediately after the HTML page has been loaded. For more information, see the timing issue defined above.
The example code above is minimalist, it is actually not very useful because it does not show how to use the JavaScript variable "jsmeApplet" that was created.
Here is a new example with a button that displays the SMILES of the molecule drawn in the editor:

<button type="button" onclick="alert(jsmeApplet.smiles())">Show SMILES</button>

The HTML code above can be tested here.
The function used to created a new JSME instance can accept a third argument. The purpose of this optional argument is to set options to customize the look and behavior of JSME:

<button type="button" onclick="alert(jsmeApplet.smiles())">Show SMILES</button>

The HTML code above can be tested here.
JSME API
The API of JSME includes the API of the java applet JME plus new functions and methods. A summary of the API is presently available as a JavaDoc file.
JSME options
Several options are available to customize the look and behavior of JSME.
Recognized keywords are :
xbutton, noxbutton - show / hide the X button (default is xbutton)
rbutton, norbutton - show / hide the R button (to mark connection of substituent with the main scaffold)
atommovebutton, noatommovebutton - show / hide the atom move button (default is noatommovebutton)
hydrogens, nohydrogens - display / hide hydrogens on heteroatom labels (default is hydrogens)
keephs, removehs - remove hydrogens when reading a molecule with explicit hydrogens (default is keephs). This option can be used to remove hydrogens when pasting a structure with explicit hydrogens comning from e.g. the Pubchem database
keephs, removehsc - remove hydrogens bounded to C when reading a molecule with explicit hydrogens (default is keephs). This option can be used to remove hydrogens when pasting a structure with explicit hydrogens comning from e.g. the Pubchem database
query, noquery - enable / disable query features (default is noquery). In query mode, a SMARTS is generated when a smiles is requested.
autoez, noautoez - automatic generation of SMILES with E,Z stereochemistry (default is autoez)
canonize,nocanonize - SMILES canonicalization and detection of aromaticity supressed (default is canonize)
stereo,nostereo - stereochemistry not considered when creating SMILES (default is stereo)
reaction, noreaction - enable / disable reaction input
multipart, nomultipart - possibility to enter multipart structures (default multipart)
addnewpart, noaddnewpart when reading or pasting a new molecule, add it to the existing molecules or replace them (used only if option multipart is set)
polarnitro, nopolarnitro - prevent automatic conversion of nitro (and similar) groups into nonpolar form (default is nopolarnitro)
number / autonumber - possibility to number (mark) atoms
star, nostar - possibility to highlight an atom (default is nostar). All highlighted atoms will have an atom number equal to 1. The atom numbers are included in the exported SMILES and MOL.
depict, nodepict - the applet will appear without editing buttons, this is used for structure display only (default nodepict)
depictaction, nodepictaction - allow structure editing in depict mode
toggle, notoggle - allow to switch automatically between editing and depict mode (default is notoggle)
paste, nopaste - enabling and disabling the paste action including drop of a MOL/RXN on the applet., can be used together with the depict option to have a read only depiction
border, noborder (used together with the depict option) - displays a border around depicted molecule (default is noborder)
newlook, oldlook - turn on/off the old Java based JME look (default is newlook)
exportinchi, noexportinchi - enable / disable the menu item forInChI export (http://www.inchi-trust.org/)
exportinchikey, noexportinchikey - enable / disable the menu item for InChI key export (http://www.inchi-trust.org/)
exportinchiauxinfo, noexportinchiauxinfo - enable / disable the menu item for InChI auxinfo export (http://www.inchi-trust.org/)
searchinchiKey, nosearchinchiKey - enable / disable the menu item to search InChI key on the web (http://www.inchi-trust.org/)
useopenchemlib, nouseopenchemlib - use the OpenChemLib library (https://github.com/Actelion/openchemlib) for SMILES conversion, 2D coordinates computation and SVG export
exportSVG, noexportSVG - enable / disable the menu item for SVG export (useopenchemlib must be set))
useOclidcode, nouseOclidcode - enable / disable the menu item for OCL export (useopenchemlib must be set))
zoom, nozoom - turn on/off zooming of the molecular drawing area
showdraganddropsymbolindepictmode, noshowdraganddropsymbolindepictmode show or hide the drag and drop symbol (blue triangle) in depict mode
atombg - atom background color - see the demo JSME_atom_highlight_demo.html for an example
depictbg - background color for the depict mode in hex format - no test yet
The option of a JMSE instance can be setup during its creation or afterwards using the options() method. See the JSME API section.
JSME Callbacks
Introduction
JSME provides a callback mechanism where JavaScript functions are called before or after a specific event has happened in JSME. One of the most useful callback is the "AfterStructureModified" that allows the creation of interactive HTML pages that track any structure change, for instance to compute and display of a 3D structure.
The JavaScript functions are defined in the HTML page and set using the "setCallBack()" method. This method needs two arguments, a callback name and a JavaScript function.
Example
function showSmiles(jsmeEvent) {
var jsme = jsmeEvent.src;
var smiles = jsme.smiles();
alert(smiles);
}
jsmeApplet.setCallBack("AfterStructureModified", showSmiles);
The JSME event variable
Each callback function received one argument: a JSMEevent object. This object contains several fields that may or may be not defined according the event type. The fields of JSMEevent are:
- src: the JSME instance that triggered the event. This variable can be useful if the HTML page contains several instances of JSME.
- action: usually the callback name
- atom: 0 or the atom index affected by the event
- bond: 0 or the bond index affected by the event
- molecule: 0 or the molecule index affected by the event
- argument: null or some meaningful data (e.g. a InchiResult object)
Predefined callback names
BeforePaste
AfterPaste
AfterStructureModified
AtomHighlight
BondHighlight
AtomClicked
BondClicked
InchiKeySearch
The JSME callback system is work in progress.
The InchiResult variable
InchiResult objects are generated by the Javascript InChI computation implemented in JSME. The fields of InchiResult are:
- inchi
- key
- auxinfo
- warning
- error


Script: Fetch parameter value from url
I wanna get the query string value, and set it to specific element, how to do that by javascript? Say, http://sample.com?author=andy, how to get author value which can be lately used. see the script below:
function fetchvalue(name)
{
name = name.replace(/[[]/,'\[').replace(/[]]/,'\]');
var regexS = '[\?&]' + name+'=([^&#]*)';
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return '';
else
return results[1];
}
Then you should use this function as fetchvalue(“author”), it will return the “andy”.
......


JavaScript Best Practices
Avoid global variables, avoid new, avoid ==, avoid eval()
Avoid Global Variables
Minimize the use of global variables.
This includes all data types, objects, and functions.
Global variables and functions can be overwritten by other scripts.
Use local variables instead, and learn how to use closures.
Always Declare Local Variables
All variables used in a function should be declared as local variables.
Local variables must be declared with the var keyword, otherwise they will become global variables.
|
|
Strict mode does not allow undeclared variables. |
Declarations on Top
It is a good coding practice to put all declarations at the top of each script or function.
This will:
-
Give cleaner code
-
Provide a single place to look for local variables
-
Make it easier to avoid unwanted (implied) global variables
-
Reduce the possibility of unwanted re-declarations
// Declare at the beginning
var firstName, lastName, price, discount, fullPrice;
// Use later
firstName = "John";
lastName = "Doe";
price = 19.90;
discount = 0.10;
fullPrice = price * 100 / discount;
This also goes for loop variables:
// Declare at the beginning
var i;
// Use later
for (i = 0; i < 5; i++) {
|
|
By default, JavaScript moves all declarations to the top (JavaScript hoisting). |
Initialize Variables
It is a good coding practice to initialize variables when you declare them.
This will:
-
Give cleaner code
-
Provide a single place to initialize variables
-
Avoid undefined values
// Declare and initiate at the beginning
var firstName = "",
lastName = "",
price = 0,
discount = 0,
fullPrice = 0,
myArray = [],
myObject = {};
|
|
Initializing variables provides an idea of the intended use (and intended data type). |
Never Declare Number, String, or Boolean Objects
Always treat numbers, strings, or booleans as primitive values. Not as objects.
Declaring these types as objects, slows down execution speed, and produces nasty side effects:
Example
var x = "John";
var y = new String("John");
(x === y) // is false because x is a string and y is an object.
Or even worse:
Example
var x = new String("John");
var y = new String("John");
(x == y) // is false because you cannot compare objects.
Don't Use new Object()
-
Use {} instead of new Object()
-
Use "" instead of new String()
-
Use 0 instead of new Number()
-
Use false instead of new Boolean()
-
Use [] instead of new Array()
-
Use /()/ instead of new RegExp()
-
Use function (){} instead of new function()
Example
var x1 = {}; // new object
var x2 = ""; // new primitive string
var x3 = 0; // new primitive number
var x4 = false; // new primitive boolean
var x5 = []; // new array object
var x6 = /()/; // new regexp object
var x7 = function(){}; // new function object
Beware of Automatic Type Conversions
Beware that numbers can accidentally be converted to strings or NaN (Not a Number).
JavaScript is loosely typed. A variable can contain different data types, and a variable can change its data type:
Example
var x = "Hello"; // typeof x is a string
x = 5; // changes typeof x to a number
When doing mathematical operations, JavaScript can convert numbers to strings:
Example
var x = 5 + 7; // x.valueOf() is 12, typeof x is a number
var x = 5 + "7"; // x.valueOf() is 57, typeof x is a string
var x = "5" + 7; // x.valueOf() is 57, typeof x is a string
var x = 5 - 7; // x.valueOf() is -2, typeof x is a number
var x = 5 - "7"; // x.valueOf() is -2, typeof x is a number
var x = "5" - 7; // x.valueOf() is -2, typeof x is a number
var x = 5 - "x"; // x.valueOf() is NaN, typeof x is a number
Subtracting a string from a string, does not generate an error but returns NaN (Not a Number):
Example
"Hello" - "Dolly" // returns NaN
Use === Comparison
The == comparison operator always converts (to matching types) before comparison.
The === operator forces comparison of values and type:
Example
0 == ""; // true
1 == "1"; // true
1 == true; // true
0 === ""; // false
1 === "1"; // false
1 === true; // false
Use Parameter Defaults
If a function is called with a missing argument, the value of the missing argument is set to undefined.
Undefined values can break your code. It is a good habit to assign default values to arguments.
Example
function myFunction(x, y) {
if (y === undefined) {
y = 0;
}
}
Read more about function parameters and arguments at Function Parameters
End Your Switches with Defaults
Always end your switch statements with a default. Even if you think there is no need for it.
Example
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
break;
default:
day = "Unknown";
}
Avoid Using eval()
The eval() function is used to run text as code. In almost all cases, it should not be necessary to use it.
Because it allows arbitrary code to be run, it also represents a security problem.


We will continue our theme of exploring aspects of dependence, and study properties of simple random samples. That's a standard name for a very natural kind of random sampling: drawing at random without replacement from a population.
When you sample in this way, information about how the first few draws came out affects the conditional chances of how the other draws will come out – the draws are not independent of each other. However, many remarkable symmetries arise in the distributions of simple random samples. Understanding these is a key to simplifying calculations and gaining insight.
Consider a population of $n$ individuals labeled $1, 2 \ldots , n$. A simple random sample of size $n$ is a random permutation of all the elements. Let's call this sample $(X_1, X_2, \ldots , X_n)$. For any permutation $i_1, i_2, \ldots , i_n$ of the integers 1 through $n$,
$$ P(X_1 = i_1, X_2 = i_2, \ldots, X_n = i_n) = \frac{1}{n!} $$Notice that the right hand side doesn't depend on the particular permutation specified on the left. We say that the "coordinates $X_1, X_2, \ldots , X_n$ are exchangeable."
For each fixed $i$, the $i$th coordinate $X_i$ is an integer between 1 and $n$. To find the marginal distribution of $X_i$, we need to find $P(X_i = k)$ for each $k$ in the range 1 through $n$. Since all permutations are equally likely,
$$ P(X_i = k) = \frac{(n-1)!}{n!} = \frac{1}{n} $$using a now-familiar method of putting item $k$ at coordinate $i$ and letting the other $n-1$ elements vary arbitrarily. Thus for each $i$, the distribution of $X_i$ is uniform on 1 through $n$.
For any two coordinates $i$ and $j$, $$ P(X_i = k, X_j = l) = \frac{1}{n} \cdot \frac{1}{n-1}, ~~ 1 \le k \ne l \le n $$ Once again, the probability on the right doesn't depend on the particular $i$ and $j$ on the left.
We have seen these probabilities earlier in the context of the matching problem. In that problem we were finding probabilities of matches, for example $P(X_i = i, X_j = j)$. But the answers didn't depend on $i$ and $j$; it just mattered that we were looking at two positions. The same is true here.
Suppose a standard deck of cards is well shuffled, by which we will mean that all permutations are equally likely.
Question 1. What is the chance that the 17th card is an ace?
Answer 1. By our calculation above, the 17th card is equally likely to be any of the 52 cards. Of these, four are aces, so the chance that the 17th card is an ace is 4/52.
That's the same as the chance that the first card is an ace, or the chance that the 32nd card is an ace. All of these unconditional marginal probabilities are equal by symmetry. If this seems mysterious, imagine the cards dealt in a circle. You can't tell from that which is "first" and which is "17th".
Question 2. What is the chance that the 17th card is an ace, given that the 32nd card is an ace?
Answer 2. By our calculation of the joint distribution of $X_i$ and $X_j$ above, the answer is the same as the chance that the second card is an ace given that the first card is an ace. That's 3/51.
Often, our sample is a subset of the population, not a rearrangement of the entire population. If you take a simple random sample of 5 cards from a standard deck of 52, then the resulting "hand" is the subset of five cards that you get; the five cards could have appeared in your hand in any sequence.
To find the chance of getting a particular subset of five cards in your hand, you have to count the number of sequences that result in that hand.
Thus the chance of a particular hand is $$ \frac{5 \times 4 \times 3 \times 2 \times 1}{52 \times 51 \times 50 \times 49 \times 48} = \frac{5! 47!}{52!} = \frac{1}{\binom{52}{5}} $$
This shows that dealing 5 cards one by one at random without replacement is probabilistically equivalent to shuffling the cards and pulling out five cards.
The misc
module in scipy
allows you to compute these combinatorial terms.
from scipy import misc
misc.comb(52, 5)
There are almost 2.6 million five-card poker hands. That's a lot of hands. It would be nice to have a theory that helps us work with them and with other simple random samples. In the next section we will start developing such a theory. We will end this one by counting the number of simple random samples drawn from a population.
Suppose you have a population of size $N$ (a fixed integer, not a random variable), and you want to take a simple random sample of size $n \le N$. How many different samples can you draw?
We will assume that the "sample" is the subset of $n$ individuals, who could have appeared in any sequence. That's just like the poker hands, and an analogous argument tells us that the number of different simple random samples is
$$ \binom{N}{n} $$


Guidance
A table listing the subjects that are not being reformed and the reasons why.
Following consultation we adopted a principled approach to the reform of GCSE, AS and A levels in subjects, allowing reformed qualifications that:
Once we determined these principles we identified any subjects that we judged were too similar to qualifications that had already been reformed. We then asked exam boards to make proposals to us, against the principles, for any subjects they wanted to reform. We announced our decisions having reviewed these proposals in May . Following this, exam boards have developed core content requirements in each subject through a process overseen by the Department for Education. We were clear at that time that it was not certain that it would prove possible to develop content in all cases, which would mean that some of the subjects being taken forward following our decisions in May might not be reformed for 2017.
The table below sets out those subjects that will not be reformed and therefore withdrawn. It details the reason for withdrawal, from four scenarios:
Published: 7 October 2015
Updated: 15 December 2015


I'm a map lover, maker, and doer, who currently lives in Hamburg, Germany. Take a look at some projects that I've been working on!
I'm a map lover, maker, and doer, who currently lives in Hamburg, Germany. Take a look at some projects that I've been working on!
Maptime Berlin is quarterly event of map enthusiasts and mapping professionals alike. We offer workshops, have interesting lectures, and we occasionally go on an outting to a map library or exhibtion.
Missing Maps is an OpenStreetMap project that works in conjuction with the Red Cross to help put vulnerable communities on the map. We help map communties that have experienced or will soon experience hurricanes, floods, or other natural disasters.
"Map your Desire Path" is a collaborate project to put the Desire Paths you see in the world around you onto the map. Desire Paths can show where the people "voted with their feet" and can be helpful in planning future cities.


Toggleable via the navbar brand.
Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added with padding-top: 60px; on the body > .container.
padding-top: 60px;
body > .container
Back to the default sticky footer minus the navbar.


A fool may ask more questions in an hour than a wise man can answer in seven years.— English proverb
A— Mefoollunch-and-learn may ask morequestionssecurity improvements in an hour than awise mandeveloper can answer in seven years.
Threat – “anything (e.g., object, substance, human, etc.) that is capable of acting against an asset in a manner that can result in harm”
Vulnerability – “always dependent upon the type and level of force being applied”
Risk – “the probable frequency and probable magnitude of future loss”
— Jack Jones, “Bald Tire”
Our task is to program a computer which gives answers which are subtly and maliciously wrong at the most inconvenient possible moment.
— Ross Anderson and Roger Needham, “Programming Satan’s Computer”

Hello, <?php echo $first_name . ' ' . $last_name; ?>!

Hello,
<?php echo htmlspecialchars($first_name)
. ' ' . htmlspecialchars($last_name); ?>!

Hello, {{first_name}} {{last_name}}!

Hello, {{first_name|safe}} {{last_name|safe}}!

Hello, {first_name} {last_name}!

Hello,
!

query("SELECT * FROM users WHERE username = '" + username + "'");
query('SELECT * FROM users WHERE username = ?;', username);
system("rm -rf $path")
subprocess.run(['rm', '-rf', path])
Use a Content Security Policy.
Use X-Frame-Options.
Use a frame-breaking script.
Do it for everything.
');
</script>
Public-Key-Pins:
pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=";
pin-sha256="M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE=";
max-age=5184000; includeSubDomains;
report-uri="https://www.example.org/hpkp-report"
example.com. IN CAA 0 issue "ca.example.net"
example.com. IN CAA 0 iodef<EMAIL_ADDRESS>example.com. IN CAA 0 iodef "http://iodef.example.com/"
Content-Security-Policy: default-src 'self';
img-src *; media-src media1.com media2.com;
script-src userscripts.example.com
Using a nonce for inline scripts:
Content-Security-Policy: default-src 'self';
script-src 'nonce-4AEemGb0xJptoIGFP3Nd'


--- layout: post title: I think I am in love description: "Functional acquaintance..." modified: 2015-03-27 tags: [] image: feature: stairway.jpg comments: false ---
It's Friday again, 8thLU time! If you are reading this for the first time, 8th Light University is the time set aside on Fridays for us to have talks, work on side projects, to keep mastering our craft! This time we had a bit of a teaser from Skim on his upcoming talk about ECMA-5 vs ECMA-6. Then he gave us this set of exercises by Jafar Husain. It is titled "Functional Programming in Javascript", sounds very enticing, doesn't it? What does 'functional' actually mean? I had a vague idea before, but I can't say I was perfectly clear on the concept.
The rest of the post will make a lot more sense to you if you tried these exercises yourself first. At the start they seem fairly straightforward, you walk yourself through the implementation of ennumerable methods on array in JS, like map, filter
and concatAll
(the latter is the equivalent of flatten
in other languages). You then start chaining them... ok, so you have methods that return something and then you chain them, so values get passed from one funciton to another and another, you have no explicit variable assignment. I have seen and done it before, nothing new or unusual here tbh, I expected this from functional approach, but where's the catch, what is it about functional programming that makes it, sort of, 'fashionable'?
So I was working steadily through the exercises, it was all making sense and then I got to the question 12 (if you don't want to do all the exercises, I challenge you to try that one at least). It has a deeply nested data by which the result needed to be filtered before producing the final result. This is the data:
{% highlight ruby %} var movieLists = [ { name: "Instant Queue", videos : [ { "id": 70111470, "title": "Die Hard", "boxarts": [ { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/DieHard150.jpg" }, { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/DieHard200.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 4.0, "bookmark": [] }, { "id": 654356453, "title": "Bad Boys", "boxarts": [ { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/BadBoys200.jpg" }, { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/BadBoys150.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 5.0, "bookmark": [{ id:432534, time:65876586 }] } ] }, { name: "New Releases", videos: [ { "id": 65432445, "title": "The Chamber", "boxarts": [ { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/TheChamber150.jpg" }, { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/TheChamber200.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 4.0, "bookmark": [] }, { "id": 675465, "title": "Fracture", "boxarts": [ { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/Fracture200.jpg" }, { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/Fracture150.jpg" }, { width: 300, height:200, url:"http://cdn-0.nflximg.com/images/2891/Fracture300.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 5.0, "bookmark": [{ id:432534, time:65876586 }] } ] } ]; {% endhighlight %}You can see two objects inside the movieLists
array, I will refer to them as category, both of categories have videos
property. That property contains video objects - these are the objects we are most interested in for the purpose of this exercise. As a result we need to get the following array of objects:
Just to verbalise this, we need to get an array of objects which contain only specific information out of original video objects, based on what is in the boxarts
property of the video object is an array of boxart objects and we only want one of those included in the result, the one which is 150px wide. I hope that makes sense... We should break this down a bit:
This sounds logical, I will try and follow these general steps. By simpler structure I mean an array which containes the video objects, this shouldn't be so hard. First step, I will map over the movieLists
array:
The result of this operation will be two nested arrays of video objects:
{% highlight ruby %} [ [ { "id": 70111470, "title": "Die Hard", "boxarts": [ { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/DieHard150.jpg" }, { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/DieHard200.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 4.0, "bookmark": [] }, { "id": 654356453, "title": "Bad Boys", "boxarts": [ { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/BadBoys200.jpg" }, { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/BadBoys150.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 5.0, "bookmark": [{ id:432534, time:65876586 }] } ], [ { "id": 65432445, "title": "The Chamber", "boxarts": [ { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/TheChamber150.jpg" }, { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/TheChamber200.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 4.0, "bookmark": [] }, { "id": 675465, "title": "Fracture", "boxarts": [ { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/Fracture200.jpg" }, { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/Fracture150.jpg" }, { width: 300, height:200, url:"http://cdn-0.nflximg.com/images/2891/Fracture300.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 5.0, "bookmark": [{ id:432534, time:65876586 }] } ] ] {% endhighlight %}Next step would be to flatten this, I will use concatAll
function, which is defined within the exercise (it is not a native JS funciton, so if you are trying to run this code in your console, you would need to define it first, refer to the previous exercises in the set). And, remember, we are in a functional universe right now, so we will just chain this function to the previous one:
After flattening our nested arrays:
{% highlight ruby %} [ { "id": 70111470, "title": "Die Hard", "boxarts": [ { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/DieHard150.jpg" }, { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/DieHard200.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 4.0, "bookmark": [] }, { "id": 654356453, "title": "Bad Boys", "boxarts": [ { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/BadBoys200.jpg" }, { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/BadBoys150.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 5.0, "bookmark": [{ id:432534, time:65876586 }] }, { "id": 65432445, "title": "The Chamber", "boxarts": [ { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/TheChamber150.jpg" }, { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/TheChamber200.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 4.0, "bookmark": [] }, { "id": 675465, "title": "Fracture", "boxarts": [ { width: 200, height:200, url:"http://cdn-0.nflximg.com/images/2891/Fracture200.jpg" }, { width: 150, height:200, url:"http://cdn-0.nflximg.com/images/2891/Fracture150.jpg" }, { width: 300, height:200, url:"http://cdn-0.nflximg.com/images/2891/Fracture300.jpg" } ], "url": "http://api.netflix.com/catalog/titles/movies/70111470", "rating": 5.0, "bookmark": [{ id:432534, time:65876586 }] } ] {% endhighlight %}Great, our objects of interest are no longer nested, what's next? The next step on the list above was to go over and get only the data we need, nice! So, as a result I need a new array with new objects contructed from the data of each of the video objects, sounds like map
would be good to use here:
So inside the second map is where I am constructing the new object. For the boxart property all I am doing is filtering through all the boxarts and getting only the one I want. However, the purpose of filter is to return new array, rather than an object itself, which is why I added a sneaky [0]
and only after I call .url
on it.
The result is exactly what I wanted:
{% highlight ruby %} [ { boxart: "http://cdn-0.nflximg.com/images/2891/DieHard150.jpg", id: 70111470, title: "Die Hard" }, { boxart: "http://cdn-0.nflximg.com/images/2891/BadBoys150.jpg" id: 654356453 title: "Bad Boys" }, { boxart: "http://cdn-0.nflximg.com/images/2891/TheChamber150.jpg", id: 65432445, title: "The Chamber" }, { boxart: "http://cdn-0.nflximg.com/images/2891/Fracture150.jpg", id: 675465, title: "Fracture" } ] {% endhighlight %}We got the result, but at what cost? I felt somewhat dirty for having to use index method. And if you read the instructions for the exercise, you would know that I was not supposed to use it. Well that's ok, because I can always use pop
instead, with pop that last map would look like so:
This is less obvious, but its the exact same solution, really. And it's just not good enough, not only because I feel dirty to use [0]
/pop()
here, but also because our solution relies on the fact that a boxart with width of 150 is present for all the video objects in the original data. If filter
doesn't find any items matching the condition it returns empty array. And that means that we are calling [0]
/pop()
on an empty array we will get undefined
, which means we would be calling .url
on undefined and this will error, this is really flaky...
Looks like we need to filter the suitable videos first and then get the relevant data. The problem here is that the filter condition is not based on the value of one of the video object's own properties, but rather on the value within the value for video's boxarts
property... So, if we try to filter, the condition for the filter is going to be long at best. Ok, something like this:
The condition inside the first filter is filtering again through all the values within boxarts
and then checking that the length of that result of this inner filter is not 0, we have boxart 150px wide present. If our data is not consistent, ie some don't have the boxart in the required dimensions, only after a step like this it would be safe to use the map we used previously to get the results:
This is very step by step way of getting result, but it still doesn't make me feel less dirty. There must be a way to make it more consize. Let's rewind and come back to the step where we have just flattened our nested arrays:
{% highlight ruby %} movieLists.map( function( movieList ){ return movieList.videos; }) .concatAll() {% endhighlight %}to be continued...
So I think I am in love with functional and I hold this guy, and also this guy responsible!


View
Extends:
A View is a kind of Stream that is useful for transforming the shape of state for use in components or interfaces. A View caches the result of the function, and will only emit state to subscribers if the new return value is distinct from the previous value.
Constructor Summary
| Public Constructor | ||
| public |
constructor(source: Stream, viewFn: function): View constructor - Takes a source stream, and transforms it through a function. |
Method Summary
| Public Methods | ||
| public |
destroy() destroy - Clean up subscriptions. |
Inherited Summary
| From class Stream | ||
| public get |
state: Immutable: * get state - a getter for returning the current internal state of the Stream. |
|
| public set |
state(newState: type): type: * set state - a setter that's probably more clever than it needs to be. Instead of setting
the internal state, it calls
Like I said, maybe too clever, but I thinks allow for a more delarative style when writing transformers. |
|
| public |
forceState(state: Immutable.Map) forceState - called when hydrating state from another source. |
|
| public |
logStack - Adds a stack to automatically add state changes. |
|
| public |
next(newState: Immutable) next - Receives new state (externally, ideally through a transformer) and verifies that the
new state is different from the Stream's current state before passing on to |
|
| public |
subscribe - takes a callback function that is executed any time the stream received new state. |
Public Constructors
public constructor(source: Stream, viewFn: function): View source
constructor - Takes a source stream, and transforms it through a function. The view function takes state from the source stream and transforms it into returns a new shape of the state for use in a component or interface.


Configure the available policy definitions. These will be the policies made available to users when configuring clients, APIs, and plans.
No policy definitions have been added! Without at least one policy definition users will not be able to add policies to their APIs, Plans, and Clients.
No policy definitions matched your filter criteria. Try something different!


Lock Stock and Two Smoking Barrels
One word. Whoa.
Out of England comes perhaps the most visually exciting and fresh film in the Tarantino ouvre, except it is hardly a copycat. Within it's two hours come some of the most fresh characters, intriguing plot twists, and mesmerizing photography. The soundtrack's cool too.
If there are problems with the film, it's that the story can appear more confusing than it has any right to be. There are no less than twenty significant characters in the film, and them cockney accents don't help. Any detailed synopsis of the story will help. And I'm tempted to not give it, to have the viewer discover it for themselves. But give it I shall, dummied-down:
There are five groups of individuals, plus two knuckleheads and Sting. Group A consists of four friends who pool their money into a high stakes poker game. They lose. They owe a heck-of-a-lot-of-money to Group B. (Group B consists of a local porn king, and two enforcers who collect the money or else). Group A, fearing for their lives, accidentally overhear of a plan from Group C (robbers) to steal from Group D (marijuana growers). They conspire to surprise Group C after the holdup, take the money, and repay group B. They succeed. Group E, (Rastafarian dudes whom Group D rely on for protection) wants revenge.
Now: add a significant subplot involving the two knuckleheads hired to steal two priceless antique guns, and you have the film. It is a given that at one point, it appears that these two smoking barrels will pass hands to nearly every character.
What _Lock Stock_ loses in the American translation, it more than gains in visual style, witty characterizations, great dialogue, unique camera setups, and all-around coolness. I was fortunate to catch this without seeing any commercial for it, and didn't expect the camera to fill me with exhilaration the way it did. Every move is carefully mapped, carefully thought out, for maximum viewing enjoyment.
So many memorable scenes! When the boys first walk into a specialty bar, only to be greeted by a man set on fire. The dazed camerawork in the poker sequence. The drugged out girl. And my favorite: the face-off between an uzi and a b-b gun (guess which holds its own for a while).
A lot of films have been compared to _Pulp Fiction_ throughout the years, but this is the only film that truly deserves the compliment. And it deservedly won the British Oscar for Best Picture last year.
One more thing: the very final scene will stick to your head like no other recent film. Genius.
Nick Scale (1 to 10): 10
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


BloomingLeaf
Undo
Redo
Clear
Full Model
Evaluation Labels
Dynamic Function Labels
Cycle Highlighting
Save
Load
Zoom In
Zoom Out
Open as SVG
Export .leaf
Font Size
Default
Increase
Decrease
Help
Documentation
Legend
Model
From Initial State
Analysis
Detect Cycles
Stencil
History Log
Modelling View
Release 1.0 - Beta
Copyright 2015-2017.
University of Toronto
Department of Computer Science.
All rights reserved.
Powered by:
Copyright 2014-2017.
client IO. All rights reserved.
JointJS: an HTML 5 diagramming component.
http://jointjs.com


You can deploy your Apache Geode configuration files in your system directory structure or in jar files. You determine how you want to deploy your configuration files and set them up accordingly.
Note: If you use the cluster configuration service to create and manage your Apache Geode cluster configuration, the procedures described in this section are not needed because Geode automatically manages the distribution of the configuration files and jar files to members of the cluster. See Overview of the Cluster Configuration Service.
You can use the procedures described in this section to distribute configurations that are member-specific, or for situations where you do not want to use the cluster configuration service.
Main Steps to Deploying Configuration Files
These are the basic steps for deploying configuration files, with related detail in sections that follow.
Default File Specifications and Search Locations
Each file has a default name, a set of file search locations, and a system property you can use to override the defaults.
Changing the File Specifications
You can change all file specifications in the
gemfire.properties
file and at the command line.Deploying Configuration Files in JAR Files
This section provides a procedure and an example for deploying configuration files in JAR files.


amaascore.core.amaas_model.
AMaaSModel
Bases: object
object
amaas_model_attributes
non_interface_attributes
Potentially convert this to attribute annotations
to_interface
Returns only the JSON attributes required when interfacing with the AMaaS Core services. Non-interface attributes are popped out. :return:
to_json
json_handler
to_json_string
amaascore.core.interface.
Interface
Currently this class doesn’t do anything - but I anticipate it will be needed in the future.
generate_config_filename
read_token
amaascore.core.reference.
Reference
Bases: amaascore.core.amaas_model.AMaaSModel
amaascore.core.amaas_model.AMaaSModel
amaascore.core.tenor.
Tenor
check_tenor
tenor_to_relativedelta
to_relativedelta
valid_tenors


Upload a csv file containing the marks in the following format.
Name, Subject 1, Subject 2, Subject 3, Subject 4, Subject 5
ℹ You can have any number of subjects in the file.
If you have an excel sheet with the name of the students and their marks, select File -> Save As and choose Comma Separated Value (.csv) as the file extension and save the file to get the csv file.
Wait for the application to finish generating the graphs and download the zip file containing graphs for each student.


JXTA(TM) Technology Presentations
Last modified August 3, 2005
The JXTA Community is alive and vibrant, sharing information with each
other at conferences, regular Town Hall Meetings and other such gatherings.
Notes from these presentations serve as a historical archive for our community
as well as a resource of technical information.
2004 | 2003 | 2002 | 2001 |
2005 Events
- JavaOne 2005, San Francisco (June 27 - July 1)
- TS-7208 JXTA™ Technology Beyond File Sharing: P2P Grows Up
(Presented by Bernard Traversat)
- LAB-7110 - Building Peer-to-Peer Java™ Technology-Based Applications With JXTA™ Technology
- BOF-9196 Creating Your Own Private Internet Networks with JXTA™ Technology
(presented by Bernard Traversat, Mohamed AbdelAzi, Mike Duigou)
- java.net pavillion presentations
- JXTA Peer Presence - Who's Online for JXTA Applications
(presented by Daniel Brookshier)
- JXTA Community Overview
(presented by Helen Chen JXTA Community Manager)
- JXTA P2P Open-Source Project Overview
(presented by Bernard Traversat)
- Self-organizing networks
(presented by MohammedAbdelazziz)
- NetBeams, Overview (presented by Bill Huynh), Data Store - (presented by JamesLiu)
- JaDiMo - XIOS Hogeschool Limburg
(Presented by Nicky Eichmann & Steven Palmaers)
- Community Meeting, San Francisco, June 26
- Community Update
(Presented by Stephanie Kaul, Sun Microsystems)
- JXTA Technology Update
(Presented by Bernard Traversat, Sun Microsystems)
- JXTA-J2SE (Arroz Congris) Update
(Presented by Mike Duigou, Sun Microsystems)
- JXTA-C (Disneyland) Update
(Presented by Henry Jen & Mike Duigou, Sun Microsystems)
- JXTA-J2ME (JXME) Update
(Presented by Mohamed AbdelAziz, Sun Microsystems)
- JXTA-NetBeans Demo
(Presented by James Todd, Sun Microsystems)
- Community Awards & Recognition
(Presented by Bernard Traversat)
- Collanos Workplace - All-in-One P2P Team Collaboration
(Presented by Franco Dal Molin, Collanos Software AG)
- JVending: A JXTA Based Content Provisioning Server
(Presented by Shane Isbell)
- DataEnvoy v2.0
(Presented by Robert MacGregor, Koyana Inc.)
- proXimio
(Presented by Fabrice Di Meglio)
- Quantum Chess
(Presented by Daniel Brookshier)
- MathGrid: An Experiment in Collaborative Grid Computing
with JXTA
(Presented by R. Alexander Milowski, University of California, Davis)
2004 Events
- JavaOne 2004, San Francisco (June 28 - July 1)
- BOF-1117 Distributed Life in JXTA Technology Knowledge Networks
(Presented by Jeff Zhuk, Internet Technology School)
- TS-1176 The P2P Sockets Project: Easily Create JXTA Technology-Based Peer-to-Peer Applications Using Your JavaTM 2 Platform, Enterprise Edition (J2EE) Skills
(Presented by Brad Neuberg, Paper Airplane)
- BOF-2217 Next Generation Web Services Using JXTA Peer-to-Peer
(Presented by Bernard Traversat, Sun Microsystems)
- Java Communities In Action Meeting
- On-line JXTA tutorial, James Todd, Senior Engineer, Sun Microsystems
- JXTA Technology at JavaOne 2004 Announcement
- LinuxWorld 2004, New York, NY (January 21-23, 2004)
2003 Events
- Project JXTA Town Hall, Santa Clara November 6, 2003
- Project JXTA Town Hall, San Francisco September 16, 2003
- Project JXTA Town Hall Meeting, Linkoping, Sweden (31 August 2003)
- No associated presentations.
- COOUG (16 September 2003)
- Project JXTA Town Hall Meeting, Boston, MA (14 August 2003)
- JXTA Technology Overview and product demonstration
(Presented by Gerry Seidman, IAM Consulting Corp)
- Project
JXTA Community Overview
(Presented by Helen Chen, JXTA Community Manager)
- LinuxWorld 2003, San Francisco, CA (5-7 August 2003)
- JavaOne June 2003, San Francisco, CA
- Project JXTA Town Hall June 2003, San Francisco, CA
- Chat
transcript for Project JXTA 2.0, 15 April 2003
(Presented by Mohamed AbdelAziz and Bernard Travesat)
- Project JXTA Engineering Meeting,
held concurrent with IETF 56, San Francisco, CA (18 March 2003)
- LinuxWorld 2003, New York, NY (21-24 January 2003)
2002 Events
- "Deep South Deep Dive", Atlanta, GA (04-06 December 2002)
- Web Services Edge (XML) 2002, San Jose, CA (03 October 2002)
- Linux World 2002, San Francisco, CA
- JavaOne April 2002, San Francisco, CA
- AUDIOCAST: Project JXTA 1 Year Later, Interview with Bill Joy.
-
JDC On-Line Chat: JXTA for J2ME, Apr. 9, 2002
- First Chat Using myJXTA,
Jan. 15, 2002
-
Java Developer Center (JDC) On-Line Chat, Jan. 8, 2002
2001 Events
- Sun Developer Conference, Project JXTA Headquarter Briefing, Menlo
Park, CA, 13 December 2001
- Peer-to-Peer Working Group (P2PWG) Meeting in Santa Clara, CA, 29
November 2001
- Project JXTA Town Hall Meeting at Comdex Extreme Knowledge Conference
in Las Vegas, 12 November 2001
- Project JXTA Town Hall Meeting at LinuxWorld Conference in San Francisco,
29 August 2001
- Project JXTA BoF Meeting at O'Reilly Open Source Conference in San
Diego, 25 July 2001
- Project JXTA Community BoF Meeting at JavaOne in San Francisco, 05
June 2001
- WEBCAST: JavaOne: Bill Joy Keynote
Address
- WEBCAST: Project
JXTA goes live!
- Wednesday, April 25, 2001


Guild Member Tor:
Alright then, have a good rest. Come back when you would like to choose a new request.


My Amazing one page website
And it's all about mopeds!
Home
My Bikes
Why Bikes?
Try Bikes!
Spy Bikes
Buy Bikes
Follow me on twitter
My Bikes
Peugeot 102sp
Garelli Super Sport XL
Puch Magnum
Why Bikes?
Because they are practical, maneuverable, and fun!
Try Bikes!
My wife Alissa tried mopeds and she loves them!
Spy Bikes!
Checkout one of my favorite projects on garage!
Buy Bikes
Bolt Motorbikesp
1977 Bikes!
Craigslist


Protons (hydrogen atoms) have a property called nuclear spin.
Remember that the RF pulse must match the Larmor frequency exactly for the proton to be able to "excited" by the pulse.
Spin Echo (180° rephasing RF pulse)
Gradient Echo
DWI
Numerous variations have been developed within each of these families, mainly to increase acquisition speed:
T2 weighted spin echo sequences require long TR resulting in long acquisition times.
Image weighting depends on the flip angle for T1 weighting; the greater the angle, the more T1 weighting
Adenoma
FSPGR
Endometrioma
FIESTA = fast imaging employing steady-state aquisition


This example demonstrates how Live and Image person detected . First Take Picture and Click on Submit Button .


Stevedore
A tool for exploring document sets
×
Your documents have been successfully indexed. Happy searching!
Project:
Previous Searches


Enter Attachment Filename Dialog Box
Previous
Top
Next
(You will see this dialog when decoding a file for which Ameol cannot find the name.)
The Enter Attachment Filename dialog box allows you to specify a filename for a file that Ameol is decoding.
Enter a filename for the file and then click the
OK
button.


Fish in fashion: Scientists and designers create products to soothe stressed oceans
ROME: With a third of the world's oceans over-fished and global consumption at an all-time high, the time seems ripe for forward-thinking ventures like U.S.-based Good Catch, which aims to provide "seafood without sacrifice".
The company's first products were launched in February and recreate the texture and flavour of tuna, the world's most popular fin fish, by blending six legumes with algae oil.
Such plant-based offerings could spell big changes, both for consumers in rich countries and in parts of the developing world where people many struggle to get enough nutritious food.
Besides pressures from growing populations and degrading ecosystems, climate change is expected to hit fisheries hard, said Vera Agostini, deputy director of fisheries and aquaculture at the United Nations' Food and Agriculture Organization (FAO).
"Overall (climate) projections for fisheries show decreased catch potential in the tropical regions and increases in northern latitudes," she told the Thomson Reuters Foundation.
"Sadly the areas that rely the most on fish, which is developing countries, are projected to see decreases."
There will also be shifts in the distribution of fish, including their appearance in places where they have not been seen before, she added.
Consumption of fish is at record levels, according to the FAO, at 20.2 kg (44.5 lb) per person compared to 9 kg in 1961.
But the world's craving for fish also offers opportunities, said Good Catch CEO Chris Kerr.
"We eat between 200-300 different types of sea creatures, compared to about 30 types of land animals," he said.
"In this, we have an enormous ability to be creative - both technologically and in employing the best culinary arts."
Good Catch, founded by chef brothers Chad and Derek Sarno, is planning to expand to Britain early next year and launch new frozen appetisers including plant-based crab, fish burgers and white fish.
LAB-GROWN SEAFOOD
Other startups like California-based BlueNalu are growing mercury-free seafood cells in labs to ensure a stable supply chain in the face of over-fishing, illegal fishing and the effects of warming oceans.
BlueNalu's president and CEO Lou Cooperhouse said it had developed a natural process to grow the muscle cells that are a major component of fish without genetic modification.
"We're focused on fin fish as a first broad category, and it's our next objective to go on to crustaceans like lobster and crab and, ultimately, molluscs," he said.
The company expects to test its products on the market within two to three years and start large-scale production in five years.
Until cell-based seafood reaches supermarket shelves, retailers and consumers will have to rely on farmed fish, which already accounts for half of global consumption, the FAO says.
Levels of omega-3 fatty acids, essential for human health, have fallen in farmed fish since over-fishing concerns spawned a switch from feed rich in oily fish to soy and other alternatives.
In response, Johnathan Napier and his team at Britain's Rothamsted Research, an agricultural science centre, have genetically modified plants whose seeds produce the two key acids that make up omega-3.
"If we can use a land-based source of fish oils as a way of augmenting or adding to the stuff from the oceans, then we can relieve the pressure on the oceans," he said, adding that the end result would also be far more affordable.
After 20 years of research and five years of field trials, Napier plans to apply for regulatory approval in North America.
In Europe, GMO crops remain controversial, with very few varieties authorised for growing and some countries like France banning their cultivation, citing environmental risks.
WASTE NOT, WANT NOT
The FAO says innovation is crucial to maintaining fish stocks and can also help struggling fishing communities increase their incomes.
An FAO symposium in Rome that coincides with World Fisheries Day on Thursday is showcasing how fish parts that would otherwise be discarded could be transformed into high fashion.
Brazilian-Italian designer Barbara della Rovere has worked since 2016 with fishermen's wives in Kenya and southern Brazil to transform fish skin into luxurious leather bags and cuffs.
"They treat the skins, and all the remains - bones, flesh and scales - become fertiliser for the local farmers," she said.
"So the entire byproducts that would (normally) be thrown away are used. It's 100% sustainable."
Fish skin is tougher than cow leather because the fibres run in multiple directions, creating a more solid and durable product.
Some of the women involved in the project were previously illiterate but can now read and have their own source of income, she said.
"I'm not an NGO - I still want to sell my bags. But nowadays, you have to think of sustainability."
Read also
Read More
Greener, longer life: More trees reduce premature deaths in cities
City dwellers tend to live longer if they are in leafy neighbourhoods, according to a study published on Wednesday that linked green areas to lower rates of premature death.
Read More
Wealth alone won't save countries from climate change
Wealth alone will not shield economies from the impact of climate change, researchers said on Wednesday, urging governments to build flood defences and early warning systems to stem financial losses.
Read More
Mobile phone warnings set to aid climate-vulnerable Somali nomads
In central Somalia's Beledweyne district, families still reeling from food shortages and livestock deaths after another year of poor rains were surprised by a new disaster last month: brutal floods that completely submerged homes after the Shabelle River burst its banks.
Read More
Tech route to greener cities only 'smart' if residents follow
High-tech solutions to make cities greener already exist - from local clean power grids to electric transport hubs and intelligent buildings - but deploying them fast enough to curb climate change is a challenge, city and business officials said Wednesday.
Read More
Here's a hearty way to get your greens: In a cheesy pan of lasagna
You can make your own pasta dough, labor over the sauce and fillings, and use the best possible cheese for something positively sublime on the one hand, or reach into the freezer for something positively un-sublime on the other.
Read More
US lawmakers propose $180 billion plan to make public housing green
Liberal lawmakers on Thursday proposed a nationwide $180 billion climate change proposal to make public housing environmentally clean, saying the homes of two million low-income Americans could be deployed to fight global warming.


--- location: offhome head: title: subtitle_content: img_path: style: id: '' class: feature-blocks border-top font_color: media: img: url_path: pattern: false parallax: false overlay: blur: false use_content_card: false video: url_path: null type: null posterurl_path: null tint_color: 'rgba(0,0,0,0.0)' cta: headline: btnText: btnType: btnLink: subtext: --- {% include widgets/testimonials-carousel.html %}


Home
About Us
Adoptions
Donate
Blog
ADOPTIONS
Click on our furry friends below to learn more!
For more information about any of our loving doggies looking for a furever home, please call us
(310)473-5585


Welcome to Bicycle-Mania!
Hello there!
Where are you starting from?
Where are you going to?
When are you getting the bike?


Generation of diagrams and flowcharts from text in a similar manner as markdown.
Ever wanted to simplify documentation and avoid heavy tools like Visio when explaining your code?
This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript. Try it using our editor.
Code examples below:
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
sequenceDiagram
participant Alice
participant Bob
Alice->John: Hello John, how are you?
loop Healthcheck
John->John: Fight against hypochondria
end
Note right of John: Rational thoughts <br/>prevail...
John-->Alice: Great!
John->Bob: How about you?
Bob-->John: Jolly good!
gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
section A section
Completed task :done, des1, 2014-01-06,2014-01-08
Active task :active, des2, 2014-01-09, 3d
Future task : des3, after des2, 5d
Future task2 : des4, after des3, 5d
section Critical tasks
Completed task in the critical line :crit, done, 2014-01-06,24h
Implement parser and jison :crit, done, after des1, 2d
Create tests for parser :crit, active, 3d
Future task in critical line :crit, 5d
Create tests for renderer :2d
Add to mermaid :1d
Play with mermaid using this editor or this live editor.
Many thanks to the d3 and dagre-d3 projects for providing the graphical layout and drawing libraries! Thanks also to the js-sequence-diagram project for usage of the grammar for the sequence diagrams.
Mermaid was created by Knut Sveidqvist for easier documentation.
Knut has not done all work by himself, here is the full list of the projects contributors.
Mermaid is supported in a number of publishing systems and editors. Please report if a plugin/editor is missing from the list below:
An editor is available for creating diagrams. With it you can quickly start writing mermaid diagrams. It is possible to:
get a link to edit of the diagram to share a diagram so that someone else can tweak it and send a new link back


Uplift!


This demo shows how to filter and sort a column containing images by using the custom_cell_data delegate and the data-tf-sortKey attribute.
custom_cell_data
data-tf-sortKey


Ruby: manipulate json
I started a project, which used an existing json file full of data. Because not all data was necessary, I decided to clean it up and rename some keywords. Instead of doing that manually, I created a ruby script.
Here is an example of the input and the prefered output json:
This is the script used for modifying this json file:
First, we read the input file (1)
and parse it (2)
. We create an empty array that we will use for storing our new json (3)
. Now we loop over each existing json entry (4)
, create a new object, and fill that object with the information we want to keep (5)
. Once we have looped over all the entries, we are going to save the file as output.json
. To do this, open that file as writable (6)
. If the file does not exist yet, it will automatically be created. For extra readability, we can pretty print the json using the pretty_generate
function (7)
. This will ouput the file as listed above.


An attempt to use Google Cloud Messaging failed at Code For India Hackathon 2015, because of the need to make a cross origin resource sharing request via client side code on the browser. Here's how it can be done via the server.
Investigation pending.


Learning CSS - Padding, Border and Margin
July 6.2014
The skeleton of a web site is constructed from HTML. Instead of bones, HTML defines all of its elements as boxes. Then comes CSS to flesh out the web site and make it beautiful. CSS uses the box model to wrap layers around the box defined by HTML. Each of these layers has unique properties.
Content is at the center of the box model. We can see content in blue. Content is the box that holds holds the site's text and images.
Padding creates a space around the content. Padding takes the background color defined by the content. The brown highlights that appear around the menu items on this page upon hover are created by padding.
Border surrounds the padding and content. It takes the color and design (i.e. solid, dotted, rounded corners) defined by the content. The blue underline on the header of this page is created with a border surrounding only the bottom of the header box.
Margin establishes an invisible force field around the whole package. The blank space above the navigation bar and on either side of the main content of this page are created by margins.
Note: the differences between padding, border and margin can be be unclear because they can be used interchangeably at times. For example, I could indent the title of this page "Tech" by using left margin or left padding. This is possible because there is no border around the content and we are not dealing with different background colors.
Finally, the thickness of each layer begins at the inner layer and extends outwards. When designing a web site, remember that the actual height and width of an element is the sum of the content, plus the layers added by padding, border and margin.


Device model
{{device.deviceModel}}
Asset tag
{{device.assetTag}}
Assigned to
{{device.assignedUser}}
Current Shelf
{{device.shelf.name}}
Due date
{{device.dueDate ? (device.dueDate | date) : ""}}
Status
{{device.assignedUser ? 'Assigned' : 'Unassigned'}}
Overdue
Pending return
Guest Enabled
Marked as damaged
Marked as lost
Last known healthy
{{device.lastKnownHealthy | date}}
Assignment date
{{device.assignmentDate ? (device.assignmentDate | date) : ""}}
Damaged reason
{{device.damagedReason}}


--- layout: page title: About header-img: "img/about-bg.png" ---
Mostly overthinking *insert nail biting emoji*


Open the log. Whichever button you click increases the count on the stored variable
Open the log. Whichever button you click increases the count on a new closure's stored variable. You're assigning different instances of the function to different variables resdivting in different counts


to view
trypsin/chymotrypsin structure
Digestive enzymes, synthesized and secreted by pancreatic acinar cells, breakdown the foods that we eat: starches (amylases), fats (lipases) and proteins (proteases). Pancreatic proteases have long been used in medicine both diagnostically and therapeutically for pancreatic disease, and more recently for their involvement in cancer metastases. Proteases represent a diverse array of enzymes that act on the peptide bonds within proteins. They can be divided into discreet protein families that differ with respect to structure and catalytic type, including serine, threonine, cysteine, aspartic and metallo proteases. The two proteases trypsin and chymotrypsin are grouped into the serine protease family.
Trypsin and chymotrypsin, like most proleotytic enzymes, are synthesized as inactive zymogen precursors (trypsinogen and chymotrypsinogen) to prevent unwanted destruction of cellular proteins, and to regulate when and where enzyme activity occurs. The inactive zymogens are secreted into the duodenum, where they travel the small and large intestines prior to excretion. Zymogens also enter the bloodstream, where they can be detected in serum prior to excretion in urine. Zymogens are converted to the mature, active enzyme by proteolysis to split off a pro-peptide, either in a subcellular compartment or in an extracellular space where they are required for digestion.
Trypsin and chymotrypsin are structurally very similar, although they recognise different substrates. Trypsin acts on lysine and arginine residues, while chymotrypsin acts on large hydrophobic residues such as tryptophan, tyrosine and phenylalanine, both with extraordinary catalytic efficiency. Both enzymes have a catalytic triad of serine, histidine and aspartate within the S1 binding pocket, although the hydrophobic nature of this pocket varies between the two, as do other structural interactions beyond the S1 pocket.
The human pancreas secretes three isoforms of trypsinogen: cationic (trypsinogen-1), anionic (trypsinogen-2) and mesotrypsinogen (trypsinogen-3). Cationic and anionic trypsins are the major isoforms responsible for digestive protein degradation, occurring in a ratio of 2:1, while mesotrypsinogen accounts for less than 5% of pancreatic secretions. Mesotrypsin is a specialised protease known for its resistance to trypsin inhibitors. It is thought to play a special role in the degradation of trypsin inhibitors, possibly to aid in the digestion of inhibitor-rich foods such as soybeans and lima beans. An alternatively spliced mesotrypsinogen in which the signal peptide is replaced with a different exon 1 is expressed in the human brain; the function of this brain trypsinogen is unknown.
There are two isoforms of pancreatic chymotrypsin, A and B, which are known to cleave proteins selectively at specific peptide bonds formed by the hydrophobic residues tryptophan, phenylalanine and tyrosine.
Proteases perform many beneficial functions that are essential to life, but uncontrolled they can be dangerous. Protease inhibitors are used as the major form of control once the protease has been activated. In higher organisms, there is a delicate balance between proteases and their natural inhibitors to help control the activation and catabolism of many intra- and extra-cellular proteins. In mammals, the bloodstream is a major carrier for many glycoproteins that act as protease inhibitors. Protease inhibitors use a reactive site peptide bond to serve as a substrate for various proteases, forming very stable complexes where the inhibitor peptide bond is hydrolysed by the protease extremely slowly, thereby effectively removing the protease from circulation. There are at least eighteen families of protease inhibitors, all of which share a common conformation surrounding the reactive site peptide bond, even though they differ in their global structure. Some members only hydrolyse trypsin, such as chicken ovomucoid, while others hydrolyse both trypsin and chymotrypsin using different inhibitory domains, such as turkey ovomucoid.
Protease inhibitors are ubiquitous in nature. They are widely distributed in plant seeds, particularly in legumes. The presence of these inhibitors in seeds acts as a feeding deterrent, especially in insects where they inhibit midgut proteases. Inhibitors can deter other animals as well; isolated soybean inhibitors have been found to cause enlargement of the pancreas in certain species, such as rat and mouse. Many bacterial species produce protease inhibitors that help them to survive the digestive processes of the gut, such as ecotin in Escherichia coli, which is effective against several different pancreatic proteases because of its flexibility.
Protease inhibitors can have nutritional value as well. The Bowman-Birk inhibitor (BBI) from soybean may play a role in the prevention of tumourigenesis. BBI is also an effective inhibitor of nephrotoxicity induced by the antibiotic gentamicin.


| Package | Description |
|---|---|
| net.shibboleth.utilities.java.support.codec |
A set of helper functions for encoding/decoding data to/from different formats.
|
| net.shibboleth.utilities.java.support.component |
Set of interfaces used to describe basic features of "components" or "modules" within a larger system.
|
| net.shibboleth.utilities.java.support.httpclient |
Classes for working with
Apache HttpClient.
|
| net.shibboleth.utilities.java.support.logic |
Classes that represent basic first order logic concepts.
|
| net.shibboleth.utilities.java.support.net |
Classes for working with HTTP URLs and the protocol.
|
| net.shibboleth.utilities.java.support.primitive |
A set of utilities dealing with Java's primitive types.
|
| net.shibboleth.utilities.java.support.resolver |
Interfaces for searching over data.
|
| net.shibboleth.utilities.java.support.scripting |
Classes for working with JSR-223 scripting environments.
|
| net.shibboleth.utilities.java.support.security |
Helpers for common security related tasks.
|
| net.shibboleth.utilities.java.support.service |
Service support for Shibbleth projects.
A service is something reloads instances of serviceable components. |
| net.shibboleth.utilities.java.support.velocity |
Classes for working with Apache Velocity.
|
| net.shibboleth.utilities.java.support.xml |
A set of helper functions for performing actions on DOM nodes.
|
| Class and Description |
|---|
| NotEmpty
Indicates that the annotated array, string, collection, or other object is not empty.
|
| Class and Description |
|---|
| NonnullAfterInit
Indicates that the annotated item will not be null after initialization of its containing component.
|
| NotEmpty
Indicates that the annotated array, string, collection, or other object is not empty.
|
| Class and Description |
|---|
| NotEmpty
Indicates that the annotated array, string, collection, or other object is not empty.
|
| Class and Description |
|---|
| NonnullElements
Indicates that the annotated collection cannot contain any null elements:
Input collections as parameters MUST NOT contain any null elements.
Collections returned by methods WILL NOT contain any null elements, and if mutable,
callers MUST NOT add a null element.
|
| NotEmpty
Indicates that the annotated array, string, collection, or other object is not empty.
|
| Class and Description |
|---|
| Live
Indicates that the annotated object is "live" and that changes made to it will be reflected in its "owner" and vice
versa.
|
| NonnullAfterInit
Indicates that the annotated item will not be null after initialization of its containing component.
|
| NonnullElements
Indicates that the annotated collection cannot contain any null elements:
Input collections as parameters MUST NOT contain any null elements.
Collections returned by methods WILL NOT contain any null elements, and if mutable,
callers MUST NOT add a null element.
|
| NotEmpty
Indicates that the annotated array, string, collection, or other object is not empty.
|
| Class and Description |
|---|
| NonnullElements
Indicates that the annotated collection cannot contain any null elements:
Input collections as parameters MUST NOT contain any null elements.
Collections returned by methods WILL NOT contain any null elements, and if mutable,
callers MUST NOT add a null element.
|
| NullableElements
Indicates that the annotated collection may contain null elements and, if mutable, null
elements may be added to it safely.
|
| Class and Description |
|---|
| NonnullElements
Indicates that the annotated collection cannot contain any null elements:
Input collections as parameters MUST NOT contain any null elements.
Collections returned by methods WILL NOT contain any null elements, and if mutable,
callers MUST NOT add a null element.
|
| Class and Description |
|---|
| NotEmpty
Indicates that the annotated array, string, collection, or other object is not empty.
|
| Class and Description |
|---|
| NonNegative
Indicates that the annotated item will be non-negative (i.e., greater than or equal to zero).
|
| NonnullAfterInit
Indicates that the annotated item will not be null after initialization of its containing component.
|
| NonnullElements
Indicates that the annotated collection cannot contain any null elements:
Input collections as parameters MUST NOT contain any null elements.
Collections returned by methods WILL NOT contain any null elements, and if mutable,
callers MUST NOT add a null element.
|
| NotEmpty
Indicates that the annotated array, string, collection, or other object is not empty.
|
| Positive
Indicates that the annotated item will be positive (i.e., greater than zero).
|
| Class and Description |
|---|
| NotEmpty
Indicates that the annotated array, string, collection, or other object is not empty.
|
| Class and Description |
|---|
| NotEmpty
Indicates that the annotated array, string, collection, or other object is not empty.
|
| Class and Description |
|---|
| NonnullElements
Indicates that the annotated collection cannot contain any null elements:
Input collections as parameters MUST NOT contain any null elements.
Collections returned by methods WILL NOT contain any null elements, and if mutable,
callers MUST NOT add a null element.
|
| NotEmpty
Indicates that the annotated array, string, collection, or other object is not empty.
|
| NullableElements
Indicates that the annotated collection may contain null elements and, if mutable, null
elements may be added to it safely.
|
| Unmodifiable
Indicates that the annotated object cannot be modified.
|
Copyright © 1999–2015. All rights reserved.


#include <xqc.h>
Go to the source code of this file.
Functions | |
| XQC_Implementation * | createXQillaXQCImplementation (int version) |
| Creates an XQC_Implementation object that uses XQilla. |
| XQC_Implementation* createXQillaXQCImplementation | ( | int | version | ) |
Creates an XQC_Implementation object that uses XQilla.


 I'm not sure if I completely agree, but I'm going to take her advice on this one and not spoon-feed you with what we are, or what's inside of these pages. Judge for yourself.
All I'm going to say is that we are ecstatic to be back with our sophomore issue, and it's been amazing to see such support from you, our readers. And now, I'm going to leave you with a short story-a really short story:


Your browser doesn't support canvas element.
CURRENT: POINTS
POINTS
LINE STRIP
LINE LOOP
LINES
TRIANGLE STRIP
TRIANGLE FAN
TRIANGLES


public class SystemTray extends Object
SystemTray
class represents the system tray for a
desktop. On Microsoft Windows it is referred to as the "Taskbar
Status Area", on Gnome it is referred to as the "Notification
Area", on KDE it is referred to as the "System Tray". The system
tray is shared by all applications running on the desktop.
On some platforms the system tray may not be present or may not
be supported, in this case getSystemTray()
throws UnsupportedOperationException
. To detect whether the
system tray is supported, use isSupported()
.
The SystemTray
may contain one or more TrayIcons
, which are added to the tray using the add(java.awt.TrayIcon)
method, and removed when no longer needed, using the
remove(java.awt.TrayIcon)
. TrayIcon
consists of an
image, a popup menu and a set of associated listeners. Please see
the TrayIcon
class for details.
Every Java application has a single SystemTray
instance that allows the app to interface with the system tray of
the desktop while the app is running. The SystemTray
instance can be obtained from the getSystemTray()
method.
An application may not create its own instance of
SystemTray
.
The following code snippet demonstrates how to access and customize the system tray:
TrayIcon
trayIcon = null;
if (SystemTray.isSupported()) {
// get the SystemTray instance
SystemTray tray = SystemTray.getSystemTray()
;
// load an image
Image
image = Toolkit.getDefaultToolkit().getImage
(...);
// create a action listener to listen for default action executed on the tray icon
ActionListener
listener = new ActionListener
() {
public void actionPerformed
(ActionEvent
e) {
// execute default action of the application
// ...
}
};
// create a popup menu
PopupMenu
popup = new PopupMenu
();
// create menu item for the default action
MenuItem defaultItem = new MenuItem(...);
defaultItem.addActionListener(listener);
popup.add(defaultItem);
/// ... add other items
// construct a TrayIcon
trayIcon = new TrayIcon
(image, "Tray Demo", popup);
// set the TrayIcon properties
trayIcon.addActionListener
(listener);
// ...
// add the tray image
try {
tray.add
(trayIcon);
} catch (AWTException e) {
System.err.println(e);
}
// ...
} else {
// disable tray option in your application or
// perform other actions
...
}
// ...
// some time later
// the application state has changed - update the image
if (trayIcon != null) {
trayIcon.setImage
(updatedImage);
}
// ...
TrayIcon
| Modifier and Type | Method and Description |
|---|---|
void |
add(TrayIcon trayIcon)
Adds a
TrayIcon to the SystemTray . |
void |
addPropertyChangeListener(String propertyName,
PropertyChangeListener listener)
Adds a
PropertyChangeListener to the list of listeners for the
specific property. |
PropertyChangeListener[] |
getPropertyChangeListeners(String propertyName)
Returns an array of all the listeners that have been associated
with the named property.
|
static SystemTray |
getSystemTray()
Gets the
SystemTray instance that represents the
desktop's tray area. |
TrayIcon[] |
getTrayIcons()
Returns an array of all icons added to the tray by this
application.
|
Dimension |
getTrayIconSize()
Returns the size, in pixels, of the space that a tray icon will
occupy in the system tray.
|
static boolean |
isSupported()
Returns whether the system tray is supported on the current
platform.
|
void |
remove(TrayIcon trayIcon)
Removes the specified
TrayIcon from the
SystemTray . |
void |
removePropertyChangeListener(String propertyName,
PropertyChangeListener listener)
Removes a
PropertyChangeListener from the listener list
for a specific property. |
public static SystemTray getSystemTray()
SystemTray
instance that represents the
desktop's tray area. This always returns the same instance per
application. On some platforms the system tray may not be
supported. You may use the isSupported()
method to
check if the system tray is supported.
If a SecurityManager is installed, the AWTPermission
accessSystemTray
must be granted in order to get the
SystemTray
instance. Otherwise this method will throw a
SecurityException.
SystemTray
instance that represents
the desktop's tray areaUnsupportedOperationException
- if the system tray isn't
supported by the current platformHeadlessException
- if
GraphicsEnvironment.isHeadless()
returns true
SecurityException
- if accessSystemTray
permission
is not grantedadd(TrayIcon)
,
TrayIcon
,
isSupported()
,
SecurityManager.checkPermission(java.security.Permission)
,
AWTPermission
public static boolean isSupported()
TrayIcon.setPopupMenu(PopupMenu)
) or an action event (see
TrayIcon.addActionListener(ActionListener)
).
Developers should not assume that all of the system tray
functionality is supported. To guarantee that the tray icon's
default action is always accessible, add the default action to
both the action listener and the popup menu. See the example
for an example of how to do this.
Note: When implementing SystemTray
and
TrayIcon
it is strongly recommended that
you assign different gestures to the popup menu and an action
event. Overloading a gesture for both purposes is confusing
and may prevent the user from accessing one or the other.
false
if no system tray access is supported; this
method returns true
if the minimal system tray access is
supported but does not guarantee that all system tray
functionality is supported for the current platformgetSystemTray()
public void add(TrayIcon trayIcon) throws AWTException
TrayIcon
to the SystemTray
.
The tray icon becomes visible in the system tray once it is
added. The order in which icons are displayed in a tray is not
specified - it is platform and implementation-dependent.
All icons added by the application are automatically
removed from the SystemTray
upon application exit
and also when the desktop system tray becomes unavailable.
trayIcon
- the TrayIcon
to be addedNullPointerException
- if trayIcon
is
null
IllegalArgumentException
- if the same instance of
a TrayIcon
is added more than onceAWTException
- if the desktop system tray is missingremove(TrayIcon)
,
getSystemTray()
,
TrayIcon
,
Image
public void remove(TrayIcon trayIcon)
TrayIcon
from the
SystemTray
.
All icons added by the application are automatically
removed from the SystemTray
upon application exit
and also when the desktop system tray becomes unavailable.
If trayIcon
is null
or was not
added to the system tray, no exception is thrown and no action
is performed.
trayIcon
- the TrayIcon
to be removedadd(TrayIcon)
,
TrayIcon
public TrayIcon[] getTrayIcons()
The returned array is a copy of the actual array and may be
modified in any way without affecting the system tray. To
remove a TrayIcon
from the
SystemTray
, use the remove(TrayIcon)
method.
add(TrayIcon)
,
TrayIcon
public Dimension getTrayIconSize()
TrayIcon.getSize()
in the TrayIcon
class.TrayIcon.setImageAutoSize(boolean)
,
Image
,
TrayIcon.getSize()
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
PropertyChangeListener
to the list of listeners for the
specific property. The following properties are currently supported:
| Property | Description |
|---|---|
trayIcons |
The SystemTray 's array of TrayIcon objects.
The array is accessed via the getTrayIcons() method.This property is changed when a tray icon is added to (or removed from) the system tray. For example, this property is changed when the system tray becomes unavailable on the desktop and the tray icons are automatically removed. |
systemTray |
This property contains SystemTray instance when the system tray
is available or null otherwise.This property is changed when the system tray becomes available or unavailable on the desktop. The property is accessed by the getSystemTray() method. |
The listener
listens to property changes only in this context.
If listener
is null
, no exception is thrown
and no action is performed.
propertyName
- the specified propertylistener
- the property change listener to be addedremovePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
PropertyChangeListener
from the listener list
for a specific property.
The PropertyChangeListener
must be from this context.
If propertyName
or listener
is null
or invalid,
no exception is thrown and no action is taken.
propertyName
- the specified propertylistener
- the PropertyChangeListener to be removedaddPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Only the listeners in this context are returned.
propertyName
- the specified propertyPropertyChangeListener
s associated with
the named property; if no such listeners have been added or
if propertyName
is null
or invalid, an empty
array is returnedaddPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
Dracula Javadoc Sample, Made with Allan Im.


Director:
Morten Tyldum
Starring:
Chriss Pratt, Jennifer Lawrence
Geners:
Love Story and Science fiction
Language:
English