Pip-Services-Aws-Dotnet
Here is a list of all documented class members with links to the class documentation for each member:
- _ -
_actions :
PipServices3.Aws.Containers.LambdaFunction
_configPath :
PipServices3.Aws.Containers.LambdaFunction
_connection :
PipServices3.Aws.Clients.LambdaClient
_connectionResolver :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Connect.AwsConnectionResolver
_connectTimeout :
PipServices3.Aws.Clients.LambdaClient
_counters :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Containers.LambdaFunction
,
PipServices3.Aws.Services.LambdaService
_credentialResolver :
PipServices3.Aws.Connect.AwsConnectionResolver
_dependencyResolver :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Containers.LambdaFunction
,
PipServices3.Aws.Services.LambdaService
_lambda :
PipServices3.Aws.Clients.LambdaClient
_logger :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Services.LambdaService
_opened :
PipServices3.Aws.Clients.LambdaClient
_schemas :
PipServices3.Aws.Containers.LambdaFunction
_tracer :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Containers.LambdaFunction
,
PipServices3.Aws.Services.LambdaService
_uri :
PipServices3.Aws.Clients.LambdaClient
- a -
AccessId :
PipServices3.Aws.Connect.AwsConnectionParams
AccessKey :
PipServices3.Aws.Connect.AwsConnectionParams
Account :
PipServices3.Aws.Connect.AwsConnectionParams
ActAsync() :
PipServices3.Aws.Services.LambdaService
Action :
PipServices3.Aws.Services.LambdaAction
Arn :
PipServices3.Aws.Connect.AwsConnectionParams
AwsConnectionParams() :
PipServices3.Aws.Connect.AwsConnectionParams
- c -
CallAsync< T >() :
PipServices3.Aws.Clients.LambdaClient
CallCommandAsync< T >() :
PipServices3.Aws.Clients.CommandableLambdaClient
CallOneWayAsync< T >() :
PipServices3.Aws.Clients.LambdaClient
CloseAsync() :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Count.CloudWatchCounters
,
PipServices3.Aws.Log.CloudWatchLogger
,
PipServices3.Aws.Services.LambdaService
CloudWatchCounters() :
PipServices3.Aws.Count.CloudWatchCounters
CloudWatchLogger() :
PipServices3.Aws.Log.CloudWatchLogger
Cmd :
PipServices3.Aws.Services.LambdaAction
CommandableLambdaClient() :
PipServices3.Aws.Clients.CommandableLambdaClient
CommandableLambdaFunction() :
PipServices3.Aws.Containers.CommandableLambdaFunction
CommandableLambdaService() :
PipServices3.Aws.Services.CommandableLambdaService
Configure() :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Connect.AwsConnectionResolver
,
PipServices3.Aws.Count.CloudWatchCounters
,
PipServices3.Aws.Log.CloudWatchLogger
,
PipServices3.Aws.Services.LambdaService
- d -
DefaultAwsFactory() :
PipServices3.Aws.Build.DefaultAwsFactory
- e -
ExecuteAsync() :
PipServices3.Aws.Containers.LambdaFunction
- f -
FromConfig() :
PipServices3.Aws.Connect.AwsConnectionParams
FromString() :
PipServices3.Aws.Connect.AwsConnectionParams
- g -
GetActions() :
PipServices3.Aws.Services.ILambdaService
,
PipServices3.Aws.Services.LambdaService
GetCommand() :
PipServices3.Aws.Services.LambdaService
,
PipServices3.Aws.Utils.AwsLambdaHelper
GetCorrelationId() :
PipServices3.Aws.Services.LambdaService
,
PipServices3.Aws.Utils.AwsLambdaHelper
GetHandlerAsync() :
PipServices3.Aws.Containers.LambdaFunction
GetParameters() :
PipServices3.Aws.Utils.AwsLambdaHelper
GetPropertyByName() :
PipServices3.Aws.Utils.AwsLambdaHelper
- i -
Instrument() :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Containers.LambdaFunction
,
PipServices3.Aws.Services.LambdaService
InstrumentError() :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Containers.LambdaFunction
,
PipServices3.Aws.Services.LambdaService
InvokeAsync< T >() :
PipServices3.Aws.Clients.LambdaClient
IsOpen() :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Count.CloudWatchCounters
,
PipServices3.Aws.Log.CloudWatchLogger
,
PipServices3.Aws.Services.LambdaService
- l -
LambdaFunction() :
PipServices3.Aws.Containers.LambdaFunction
LambdaService() :
PipServices3.Aws.Services.LambdaService
- m -
MergeConfigs() :
PipServices3.Aws.Connect.AwsConnectionParams
- o -
OpenAsync() :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Containers.LambdaFunction
,
PipServices3.Aws.Count.CloudWatchCounters
,
PipServices3.Aws.Log.CloudWatchLogger
,
PipServices3.Aws.Services.LambdaService
- p -
Partition :
PipServices3.Aws.Connect.AwsConnectionParams
- r -
Region :
PipServices3.Aws.Connect.AwsConnectionParams
Register() :
PipServices3.Aws.Containers.CommandableLambdaFunction
,
PipServices3.Aws.Containers.LambdaFunction
,
PipServices3.Aws.Services.CommandableLambdaService
,
PipServices3.Aws.Services.LambdaService
RegisterAction() :
PipServices3.Aws.Containers.LambdaFunction
,
PipServices3.Aws.Services.LambdaService
RegisterActionWithAuth() :
PipServices3.Aws.Services.LambdaService
RegisterInterceptor() :
PipServices3.Aws.Services.LambdaService
RegisterServices() :
PipServices3.Aws.Containers.LambdaFunction
ResolveAsync() :
PipServices3.Aws.Connect.AwsConnectionResolver
Resource :
PipServices3.Aws.Connect.AwsConnectionParams
ResourceType :
PipServices3.Aws.Connect.AwsConnectionParams
RunAsync() :
PipServices3.Aws.Containers.LambdaFunction
- s -
Save() :
PipServices3.Aws.Count.CloudWatchCounters
,
PipServices3.Aws.Log.CloudWatchLogger
Schema :
PipServices3.Aws.Services.LambdaAction
Service :
PipServices3.Aws.Connect.AwsConnectionParams
SetReferences() :
PipServices3.Aws.Clients.LambdaClient
,
PipServices3.Aws.Connect.AwsConnectionResolver
,
PipServices3.Aws.Containers.LambdaFunction
,
PipServices3.Aws.Count.CloudWatchCounters
,
PipServices3.Aws.Log.CloudWatchLogger
,
PipServices3.Aws.Services.LambdaService
- v -
Validate() :
PipServices3.Aws.Connect.AwsConnectionParams
- w -
Write() :
PipServices3.Aws.Log.CloudWatchLogger
Generated by
1.8.13


{% load static %}
Beat the Curve - Info-Quiz
Menu
Beat The Curve
Welcome,
{{ user.username }}
Dashboard
Overview
My actions
Current situation
Simulations
Quiz
User Settings
×
Wrong!
Try again...
OK !
Info - Quiz !!
Inform yourself in a fun way
Randomly displayed questions. See the bottom of the page for sources
Q & A on coronaviruses (COVID-19) - WHO
Advice for the public - WHO
Debunking the Five Most Common Handwashing Myths - ICT
Q & A on COVID-19 - ECDC
Myth busters on COVID-19 - WHO


I search through lines of code across many technologies while trying to manage my frustration. This is a blog to remind people who write code that our job is not all about fixing bugs and getting stressed out for deadlines.
C# Angular


Man charged in connection with death of woman found in burning car
The mum-of-four from Livingston was described by her children as "strong and compassionate."
by Jane Hamilton, https://www.dailyrecord.co.uk/authors/jane-hamilton/A man has been arrested and charged in connection with the death of a woman found dying inside a burning car.
Tragic Ann Drummond , 47, was discovered with serious injuries in a field near Bathgate in June this year.
She died in Glasgow Royal Infirmary two days later.
The mum-of-four from Livingston was described by her children as "strong and compassionate."
A 47-year-old man is expected to appear at Livingston Sheriff Court on Friday in connection with her death.


A fun, interactive way to help your children learn the benefits of healthy eating.
Your children will see the effects of their eating habits reflected through their Digipet.
Eating well will cause their digipet to appear happy and energetic. Too much junk food could give their pet a tummy ache.


Realme 5s with Snapdragon 665 SoC appears on GeekBench -
by Efe UdinRate this post
According to a recent Realme schedule, it has an event for November 20 where it will probably release the Realme X2 Pro in India. A couple of days back, a new teaser from Flipkart showed the Realme 5s with a massive 5,000 mAh battery. This smartphone will also come with a 48MP quad-camera and interestingly, it will also arrive on November. Now, this smartphone has now made its first appearance on GeekBench.
According to the GeekBench listing, this device will come with a Qualcomm Snapdragon 665 processor and 4GB of RAM. The Realme 5s has the model number “RMX1925”, on the Geekbench website. The phone’s single-core running score is 314 while the multi-core running score is 1386 (Geekbench 5 benchmark). In addition, the listing also shows that the Realme 5s will run on Android 9 Pie operating system with 4GB of RAM.
Previously, it has been confirmed that the Realme 5s mobile will be equipped with a 6.51-inch high-definition display. This smartphone comes with a 48MP camera (quad-rear camera setup) and the battery capacity is 5000 mAh. In addition, the phone will also be available in three colors which include blue, purple and red. Like we said earlier, this smartphone will arrive on November 20.


Transit strike could strand over 100K commuters in Metro Vancouver, says TransLink CEO
Bus drivers, maintenance workers say they’ll walk off the job Wednesday
by Katya SlepianTransLink’s CEO said 100,000 people who take the bus to work in Metro Vancouver could be stranded if the transit strike goes ahead this Wednesday.
Kevin Desmond called on both sides in an ongoing labour dispute between the Coast Mountain Bus Company and its workers’ union to head back to the table to avert the “unnecessary” strike.
Speaking at the Waterfront Station in Vancouver, Kevin Desmond bargaining would only work if both sides came back to the table “without any preconditions.”
Unifor, which represents 5,000 bus drivers and skilled trades people working for CMBC, has been engaging in job action since Nov. 1. Up till now, that job action has consisted of bus drivers ditching uniforms and overtimes bans for maintenance workers and drivers.
The union announced last week that if the labour dispute was not resolved, its members would walk off the job Wednesday and buses would not run for three days.
Desmond said 160,000 people take the bus to work every day, and 100,000 of them don’t have a driver’s licence or access to a car. In total, 350,000 take the bus every day.
“I urge the union not to punish the transit users of this region. There is still time to end this,” Desmond said. According to Coast Mountain Bus Company, which operates buses in TransLink’s system, Unifor has refused four calls for mediation.
Desmond did not call on government to intervene.
“I happen to believe in collective bargaining. The workers have a right to collectively bargain with management,” he said, noting that unions and employees under TransLink have reached many deals in the past.
Desmond said TransLink has been working with alternate service providers, although he pointed out that “you can’t replace a bus system that transports 350,000 people every day.”
Those providers include Mobi, a bike sharing partner, which will increase the number of bikes available. TransLink will provide more bike parking and bike valets which will park the bikes in parkades near stations.
“Carpooling agencies like gobyRIDE and Liftango are increasing service levels throughout Metro Vancouver,” Desmond said. TransLink’s vanpooling service to UBC will continue to be available.
Car share companies like Evo and Car2Go will expand their pickup and drop off boundaries too, he noted.
SkyTrain, the Canada Line, the West Coast Express and Handy Dart are not affected by the strike, although Desmond warned they could be busier than usual.
Desmond said SkyTrain will be running extra trains and will have additional staff on hand to deal with the influx.
Unifor is expected to hold a press conference on the transit strike this afternoon.
READ MORE: SFU student starts fundraiser to hire charter bus as transit shutdown looms
READ MORE: $150M sticking point: Coast Mountain, Unifor fight over wage gap as transit lockout looms
READ MORE: What happens if Metro Vancouver bus drivers start a ‘good work’ strike?


Installation¶
feign
can be installed by downloading the zipball from github.
pip install https://github.com/ezsolti/feign/zipball/master
Uninstall with the command
pip uninstall feign
Dependencies:
NumPy
Matplotlib
Getting data¶
Mass attenuation coefficients can be obtained from the XCOM webpage, or by downloading the XCOM software. When creating your own datafiles, do not
forget to include an energy grid which covers your energy region of interest, because feign
is unable to
extrapolate the mass attenuation coefficients. Also try to use a reasonably dense energy grid which can catch the energy
dependence of the mass attenuation coefficient, otherwise the interpolation will not be a decent approximation.
When creating your own data files, make sure that the columns are separated by white spaces (eventhough XCOM allows for separating with “|”).
Test data files are also available at feign’s github repo. Mass attenuation coefficients are there for some materials common in passive gamma spectroscopy of nuclear fuel (uranium-dioxid, water, air, lead, aluminium, copper, stainless steel). Save these files to your prefarred location and include the paths when creating Material() objects. When you have gathered your own datafiles, you can link them to Material() objects with the following method:
uo2=Material('1')
uo2.set_path(('/yourpath/UO2.dat',1))
set_path()
expects a tuple, the first element is the path to the data file, and the second element clarifies which column should be used from the file (since you might have several columns, for example attenuaton with or without coherent scattering).
Some explanation on how to create mass attenuation data with XCOM from Serpent2 bumat files is also under development and will be added soon.


From: Joe Stegman Sent: Wednesday, October 15, 2003 4:25 AM To: Mark Boulter; Iain Heath; Scott Berry Subject: Data Talk Got time to brainstorm ideas for a PDC demo?
Got time to brainstorm ideas for a PDC demo?


BOOKING Your privacy is important to us. It is VA Retreat's policy to respect your privacy and comply with any applicable law and regulation regarding any personal information we may collect about you, including across our website, https://varetreats.co.uk, and other sites we own and operate. Personal information is any information about you which can be used to identify you. This includes information about you as a person (such as name, address, and date of birth), your devices, payment details, and even information about how you use a website or online service. In the event our site contains links to third-party sites and services, please be aware that those sites and services have their own privacy policies. After following a link to any third-party content, you should read their posted privacy policy information about how they collect and use personal information. This Privacy Policy does not apply to any of your activities after you leave our sitarket research activities may uncover data and insights, which we may combine with information about how visitors use our site to improve our site and your experience on it. Security of Your Personal Information requirements of applicable law; and (ii) we will protect the transferred personal information in accordance with this privacy policy. Your Rights and Controlling Your Personal Information Your choice: By providing personal information to us, you understand we will collect, hold, use, and disclose your personal information in accordance with this privacy policy. You do not have to provide personal information to us, however, if you do not, it may affect your use of our website or the products and/or services offered on or through it. Information from third parties: If we receive personal information about you from a third party, we will protect it as set out in this privacy policy. If you are a third party providing personal information about somebody else, you represent and warrant that you have such person’s consent to provide the personal information to us. Marketing permission: If you have previously agreed to us using your personal information for direct marketing purposes, you may change your mind at any time by contacting us using the details below. Access: You may request details of the personal information that we hold about you. Correction: If you believe that any information we hold about you is inaccurate, out of date, incomplete, irrelevant, or misleading, please contact us using the details provided in this privacy policy. We will take reasonable steps to correct any information found to be inaccurate, incomplete, misleading, or out of date. Non-discrimination: We will not discriminate against you for exercising any of your rights over your personal information. Unless your personal information is required to provide you with a particular service or offer (for example providing user support), we will not deny you goods or services and/or charge you different prices or rates for goods or services, including through granting discounts or other benefits, or imposing penalties, or provide you with a different level or quality of goods or services.
Agree to terms
Next


(Video) LFC fan creates hilarious meme-filled flick of Reds’ 3-1 win over Man City
by Ste CarsonIf you’re active on social media, you’ve probably heard of a Liverpool fan called When I’m Elmo’ – or, simply, just Elmo. This person creates videos, originally shared on Reddit, but no shared on their Twitter profile too.
Like similar creations by people like HUGE_HOG, these videos are often hilarious and filled with memes and references to pop culture.
Ever time there’s a big win, supporters on social media eagerly anticipate their next creation, and Elmo’s latest is a doozy, with references to the new Star Wars film and Pokemon games.
Take a watch of the video by clicking here.


Local structures of Li 2MSiO 4:Eu (M = Ca, Sr, and Ba) with a fixed M1O n -polyhedron connected by neighbor polyhedra (SiO 4-tetrahedra, LiO 4-tetrahedra, and M’O n -polyhedra); LCSO (a), LSSO (b), and LBSO (c). Blue, green, and yellow colors represent SiO 4-tetrahedron, LiO 4-tetrahedron, and MO n -polyhedron, respectively.


DoctorBot
COVID-19 DETECTOR
Caring for better life. Leading the way in medical excellence
Track COVID-19 Symptoms


| Supported keys |
Next/previous channel Application navigation |
arrows down/up, button R1/L1, W/S, NumPad2/NumPad8 |
|
arrows left/right, PageUp/PageDown, A/D, B/F, F2/F3, NumPad4/NumPad6 |
| Next/previous channel (step 10) |
PageUp/PageDown |
| First/last channel |
Home/End |
| Play previous channel |
Left (when playing) |
| Play/OK |
Enter, space, R2, NumPad5, button A, button Start, Capslock, Comma, Semicolon, Grave |
| Stop/back |
Esc, F4, Delete, Button X, button B |
| Menu/info |
I, G, NumPad+, Tab, F1, F6, F7, F8, Button L2 |
| Play channel by it's number |
0..9 |
| Set teletext page number |
0..9 (when teletext on) |
| Refresh |
F5, Numpad 0, Left CTRL |


BUS-MALL
Shop & Miles = Miles & Smiles
Please sellect our products to have great discounts on the new shopping era!
Please be patient; operation is on progress... here we go to the results:


{% set pageTitle = "We have sent your NHS number to you" %} {% set mainClasses = "nhsuk-main-wrapper--s" %} {% set version = "letter" %} {% extends "includes/layout.html" %} {% block content %}
It should arrive instantly if you selected text or email. If you selected letter it should arrive in 5 days.
If you do not receive it after 5 days please contact your GP surgery to get your NHS number. If you're not sure what your GP surgery is, you can find a GP here.
You can also find your NHS number in the NHS App. If you have not used it before, you will need to register.


Tue Mar 29, 2011
There was some good news on the Netflix front yesterday as the company announced a deal with Paramount Studios. This brings some serious cool to the Canadian version of Netflix, which has a astonishingly meagre library compared its big brother in the States. We now have Iron Man 2 - and the USA doesn’t - I mean, how awesome is that. But just when you thought the awesomeness was over, Netflix delivered another boon to Canadians:
Starting today, watching movies & TV shows in Canada will use 2⁄3 less data on average with minimal impact to video quality. For example, watching 30 hours of Netflix movies & TV shows will only use 9 GB of data, well below most Canadian ISP data caps. Previously, 30 hours from Netflix typically used 31 GB.
Why the change? We know that many of our Canadian members have monthly Internet data caps. This new default account setting will significantly reduce the amount of data Netflix delivers to you each month.
Way to stick to Shaw and Telus. I welcome our new Netflix overlords. Keep the cool coming guys.


Distats
Click to open chat file
If you don't have the chat file of a server. Use this application
https://dht.chylex.com/
Messages Per User
Messages Activity
Channel Activity
Activity Troughout a day


Album covers: Internet trumps iTunes
-
Kabeyun
Hi, WC & forums. Longtime Synergy user & fan. I just noticed that Synergy will display album cover art retrieved from the net (which is sometimes inaccurate) rather than using embedded iTunes album covers. Can Synergy be set to prioritize embedded art. SIA if a repeat post. TIA.
-
Greg Hurrell
Reply
This topic is now closed.


The SplObjectStorage class
(PHP 5 >= 5.3.0, PHP 7)
简介
The SplObjectStorage class provides a map from objects to data or, by ignoring
data, an object set. This dual purpose can be useful in many cases involving
the need to uniquely identify objects.
类摘要
SplObjectStorage implements Countable , Iterator , Serializable , ArrayAccess {
/* 方法 */
public void addAll ( SplObjectStorage $storage )
public void attach ( object $object [, mixed $data = NULL ] )
public bool contains ( object $object )
public int count ( void )
public object current ( void )
public void detach ( object $object )
public string getHash ( object $object )
public mixed getInfo ( void )
public int key ( void )
public void next ( void )
public bool offsetExists ( object $object )
public mixed offsetGet ( object $object )
public void offsetSet ( object $object [, mixed $data = NULL ] )
public void offsetUnset ( object $object )
public void removeAll ( SplObjectStorage $storage )
public void removeAllExcept ( SplObjectStorage $storage )
public void rewind ( void )
public string serialize ( void )
public void setInfo ( mixed $data )
public void unserialize ( string $serialized )
public bool valid ( void )
}
范例
Example #1 SplObjectStorage as a set
attach($o1);
$s->attach($o2);
var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));
$s->detach($o2);
var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));
?>
以上例程会输出：
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
Example #2 SplObjectStorage as a map
以上例程会输出：
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
Table of Contents
• SplObjectStorage::addAll — Adds all objects from another storage
• SplObjectStorage::attach — Adds an object in the storage
• SplObjectStorage::contains — Checks if the storage contains a specific
object
• SplObjectStorage::count — Returns the number of objects in the storage
• SplObjectStorage::current — Returns the current storage entry
• SplObjectStorage::detach — Removes an object from the storage
• SplObjectStorage::getHash — Calculate a unique identifier for the contained
objects
• SplObjectStorage::getInfo — Returns the data associated with the current
iterator entry
• SplObjectStorage::key — Returns the index at which the iterator currently
is
• SplObjectStorage::next — Move to the next entry
• SplObjectStorage::offsetExists — Checks whether an object exists in the
storage
• SplObjectStorage::offsetGet — Returns the data associated with an object
• SplObjectStorage::offsetSet — Associates data to an object in the storage
• SplObjectStorage::offsetUnset — Removes an object from the storage
• SplObjectStorage::removeAll — Removes objects contained in another storage
from the current storage
• SplObjectStorage::removeAllExcept — Removes all objects except for those
contained in another storage from the current storage
• SplObjectStorage::rewind — Rewind the iterator to the first storage element
• SplObjectStorage::serialize — Serializes the storage
• SplObjectStorage::setInfo — Sets the data associated with the current
iterator entry
• SplObjectStorage::unserialize — Unserializes a storage from its string
representation
• SplObjectStorage::valid — Returns if the current iterator entry is valid
User Contributed Notes 7 notes
===============================================================================
Note some inconsistent/surprising behavior in SplObjectStorage to preserve
backwards compatibility. You can't properly use foreach with key/value syntax.
$value)
{
// $key is NOT an object, $value is!
// Must use standard array access to get strings.
echo $spl[$value] . "\n"; // prints "value a", then "value b"
}
// it may be clearer to use this form of foreach:
foreach ($spl as $key)
{
// $key is an object.
// Use standard array access to get values.
echo $spl[$key] . "\n"; // prints "value a", then "value b"
}
?>
See https://bugs.php.net/bug.php?id=49967
===============================================================================
Please note that SplObjectStorage has a Bug introduced with 5.4.0, breaking
object lookup in cloned instances of derived classes that overwrite getHash().
This is a confirmed Bug: https://bugs.php.net/bug.php?id=67582
Example:
attach(new TestObject());
foreach($list as $x) var_dump($list->offsetExists($x)); // TRUE
$list2 = clone $list;
foreach($list2 as $x) var_dump($list2->offsetExists($x)); // FALSE
?>
===============================================================================
For anyone having issues with SplObjectStorages containing corrupt member
variables after garbage collection (FatalErrorException after serializing): we
used following fix to great effect
===============================================================================
I needed to merge SplObjectStorages.
attr = 'obj 1';
$object2 = new StdClass;
$object2->attr = 'obj 2';
$object3 = new StdClass;
$object3->attr = 'obj 3';
$SplObjectStorage_1->attach($object1);
$SplObjectStorage_1->attach($object2);
$SplObjectStorage_1->attach($object3);
// Another one object set
$SplObjectStorage_2 = new SplObjectStorage();
$object4 = new StdClass;
$object4->attr = 'obj 4';
$object5 = new StdClass;
$object5->attr = 'obj 5';
$object6 = new StdClass;
$object6->attr = 'obj 6';
$SplObjectStorage_2->attach($object4);
$SplObjectStorage_2->attach($object5);
$SplObjectStorage_2->attach($object6);
/**
* Merge SplObjectStorage
*
* @param how many SplObjectStorage params as you want
* @return SplObjectStorage
*/
function mergeSplObjectStorage() {
$buffer = new SplObjectStorage();
if( func_num_args() > 0 ) {
$args = func_get_args();
foreach ($args as $objectStorage) {
foreach($objectStorage as $object) {
if(is_object( $object ) ) {
$buffer->attach($object);
}
}
}
}
else{
return FALSE;
}
return $buffer;
}
$merge = mergeSplObjectStorage($SplObjectStorage_1, $SplObjectStorage_2);
?>
count();
?>
Will output :
6
rewind();
while($merge->valid()) {
$object = $merge->current();
var_dump($object);
$merge->next();
}
?>
Will ouput :
object(stdClass)#2 (1) {
["attr"]=>
string(5) "obj 1"
}
object(stdClass)#3 (1) {
["attr"]=>
string(5) "obj 2"
}
object(stdClass)#4 (1) {
["attr"]=>
string(5) "obj 3"
}
object(stdClass)#6 (1) {
["attr"]=>
string(5) "obj 4"
}
object(stdClass)#7 (1) {
["attr"]=>
string(5) "obj 5"
}
object(stdClass)#8 (1) {
["attr"]=>
string(5) "obj 6"
}
My two cents.
===============================================================================
Do not use SplObjectStorage::detach when forach'ing over items in the storage
as this skips the second (and only second) element.
Example:
i = $i;
}
}
$container = new \SplObjectStorage();
$container->attach(new A(1));
$container->attach(new A(2));
$container->attach(new A(3));
$container->attach(new A(4));
$container->attach(new A(5));
foreach ($container as $item) {
echo $item->i . "\n";
$container->detach($item);
}
echo "== Left in storage ==\n";
foreach ($container as $item) {
echo $item->i . "\n";
}
/* Outputs:
1
3
4
5
== Left in storage ==
2
*/
?>
===============================================================================
I rewrote some scripts and changed object storage with arrays to
SplObjectStorage. At some point I needed support of array_rand() but I did not
find a function to return a random attached object of an SplObjectStorage
object.
So here is my solution for random access to SplObjectStorage:
attach($o1);
$s->attach($o2);
$random = rand(0,$s->count()-1);
$s->rewind();
for($i=0;$i<$random;$i++) {
$s->next();
}
var_dump($s->current());
?>
===============================================================================
I have two things to note about SplObjectStorage:
#1: A reference to the object itself is stored (not just a hash to compare
against the object) and it must be removed before the object is destroyed and
the destructor is executed.
#2: SplObjectStorage::rewind() MUST be called to initiate the iterator and
before SplObjectStorage::current() will return an object (and I think the only
way to retrieve an object?) rather than automatically starting at the first
element as I expected it to, like an array for example. This assumption is
based on SplObjectStorage::current() returning NULL until
SplObjectStorage::rewind() is called once the objects are contained. As a note,
always use REWIND before iterating through or fetching objects.
\r\n");
}
}
# Create object and storage
$bar = new foo();
$s = new SplObjectStorage();
# Rewind early just as a test
$s->rewind();
# attach the object
$s->attach($bar, array('test'));
# Unset the object; destructor does NOT fire
unset($bar);
print("Object has been unset
\r\n");
# First demonstrate that REWIND must be called to initialize the iterator
$obj = $s->current();
var_dump($obj);
print("- Note the NULL (from \$s->current())
\r\n");
# Initialize, and then detach the current (and only) object
$s->rewind();
$s->detach( $s->current() );
# The destructor should NOW execute
?>
Output:
Object has been unset
NULL - Note the NULL (from $s->current())
--- DESTRUCTOR FIRED!!


Send Message
Thank You !
Your email has been delivered.
Privacy Assured
Please give honest feedback for improvement


Software Dev who loves a challenge and wants to help people grow in tech. I desire to work on apps that help make small waves in our big world. Creating programs that inspire others and help to make change even in the smallest of ways.
 Their thoughts, their dreams, and maybe their experiences.
Tech used: Rails, Ruby, PostgresQL, JavaScript, SCSS, Bootstrap, HTML, CSS, Ajax, Heroku
Confessions Of A Black Girl
This app was designed for child caregivers to share their experiences in order to help give other caregivers support and ultimately help them make informed choices.
Tech used: Rails, Ruby, PostgresQL, ReactJS, SCSS, Bootstrap, JSX, Axios, Administrate, Heroku
Nanny Helper
This project is inspired by my google sheets doc of all of the books I have read over the last three years. I wanted a place that I created to store those books as well as my ratings and opinions of
them.
Tech used: Ruby, Rails, jQuery, HTML, SCSS, Bootstrap, JavaScript, Handlebars, Flexbox, Ajax, Heroku
My Library Project


Update May 27, 2012
I’m leaving this post up for History; however, the currently recommended way to update drupal core and drupal modules, for minor version updates, is to use drush (the drupal shell).cd [drupal directory] drush pm-updateDrush pm-update will: check for updates for your drupal instance, inform you of the current status of drupal-core and all of your modules and it will ask if you want drush to update your drupal installation. You can answer yes or no. It is safe to check the update status, drush will not make any updates until you answer “y”. You can also check for security updates only with:
drush pm-update --security-only
Back to previous post
I found a couple of drupal sites on a web server that were badly in need of security updates. They are no longer being maintained by a developer but they are still in use by a user community so I didn’t like the idea of taking them down just because they are a security vulnerability, as they still have a great deal of value for people who use them. So I decided to update them with the patches that are available at fuerstnet.If you follow the link above to fuerstnet, the site provides patches from all of the minor versions of drupal up to the most recent security level. So, if you check your drupal site’s status at “admin/reports/status” (in drupal 6). And you see that you’re drupal version is currently drupal 6.14. (That’s 4 security releases out of date!) Then you can go to fuerstnet and download the drupal-6.14-to-6.18.patch security fixes only patch, or you can download the 6.14-to-to-6.20.patch (which includes bug fixes + security fixes.).
The first thing you need to do is make sure you have a current back-up of the database and the drupal file system.
1. Quick back-up of the file system:
cp -R DRUPAL_ROOT DRUPAL_ROOT-bk
2. Copy of database:
mysqldump -uDB-USER -p DB-NAME > ~/DRUPAL-SITE-NAME.db-backup-DATE.sql
or you can do the database back-up with drush:
drush sql-dump –result-file=~/DRUPAL-SITE-NAME.db_backup-DATE.sql
Of course, you need to replace all of the ALL_CAPS names up above with the names that correspond with your site. Now on to the update procedure:
The procedure, as outlined at fuerstnet, is:
1. copy the patch into you’re drupal root directory.
2. put your site into maintenance mode. “admin/settings/site-maintenance” (in drupal 6)
3. cd into the DRUPAL_ROOT directory.
4. patch -p1 –dry-run < DRUPALPATCH
(replace DRUPALPATCH with the name of your patch, ie drupal-6.14-to-6.20.patch)
if you do not see any errors in the output of the patch command, then you can run the command again for real.
5. patch -p1 < DRUPALPATCH
Next you have to run update.php, which if you have drush you can run like so:
6. drush updatedb
or you can visit http://YOUR-DRUPAL-SITE/update.php
7. next: test your site, update any modules that need updating and then don’t forget to pull your site out of maintenance mode.
Another possibility is to run the upgrades in drush with the shell command:
> drush pm-update –security-only
This command will update your site with any available security updates. It will first show you a list of updates that are available and ask if you if you want to proceed. You must answer y or n. This command is great, because you can run it in the root directory of any of your drupal sites and it will show you which updates are available. Also if you have site-aliases set up, you can run it against all of your aliases one at a time and you don’t have to leave the comfort of your /home directory!
> drush @dev pm-update –security-only
(where @dev is an alias name for one of your sites.)
Of course you can run the update command without the –security-only and it will offer to update all of your modules, themes and core drupal files.
[However I ran into trouble with this approach as it updated the themes as well on one of the sites I was updating and the original site developer had customized the theme instead of creating a new them and customizing that! So I restore the theme from backup. Of course when drush updates modules and themes it backs up the old ones in a directory outside the drupal directory, so if there is a mishap, such as overwriting a customized theme, you can restore and clear cache to restore the old theme. Although there is that safety net, I still now prefer to update security-fixes only at first, and then run non-security modules fixes one at a time and run the theme fixes manually. Schwew, big aside.]
After running the drush pm-update, which can be shortened to drush up,
I like to run a quick:
> drush updatedb
to make sure the database has been updated properly, and:
> drush cc all
to make sure the caches are cleared.
And once you have all of your sites aliased, it is simple to ssh into your web server and run the drush up –security-only command once a week to check that all of your sites are up to date with the security fixes.


Just enter your team's nickname and get back their roster of players.
If you are not familiar with the nicknames, here are some :
hawks, celtics, pistons, lakers


ExploreDebbie
Home
(current)
About
Contact
Explore
Women's Fashion
Men's Fashion
Children's Fashion
Place an order now!

Choose the
best!
Shop Now!
×
Contact Us!


Continuous Classification using Deep Neural Networks
Nick Strayer
2017-12-08
Chapter 1 Introduction
1.1 Continuous Classification
Imagine you are watching a movie. A friend walks in late and asks “what did I miss?” You tell him that the main character has just escaped from a nasty predicament and has defeated the antagonist. What you have done is classification of a sequence. The sequence in this case is the frames of the movie and your classification was what was occurring in the movie at that moment. You could have given the same answer if you just saw a single frame, but most likely your assessment of the state of the movie depended on events you saw before and the context in which they placed the most recent frame.
What continuous classification in the context of statistics and machine learning is is an attempt to train computers to watch data like you watched the movie and be able to report the status of the generating system at any given point. Sometimes seeing the most recent data is all that is needed, but more interesting and challenging problems need the algorithm to be able to make decisions about a current time while leveraging context from previous history to do so.
This report is a brief run through past attempts at continuous classification and a deeper explanation of the current state of the art methods.
1.2 Potential applications of continuous classification models
The following are just a few examples of biomedical applications made possible with effective continuous classification models.
1.2.1 Activity Prediction
With the advent of wearable devises such as fitbits and apple watches the amount of high temporal resolution data we have streaming from individuals is exploding and showing no sign of letting up.
Continuous classification models could be used to to assess the state of the wearer at any moment. Simple applications of this could be for things like detecting different exercise types (e.g. running vs. weightlifting) which is implemented by unpublished methods internally by companies such as fitbit.
More advanced and potentially impactful methods could be extended to predicting more subtle but medically relevant states such as dehydration or sleep apnea (sleep apnea citation). Preliminary work in these areas has shown surprising success with data as limited as heart-rate and motion indication being enough to predict sleep apnea and various cardiovascular risk states with ___ accuracy compared to invasive gold standards.
1.2.2 EHR monitoring
With more and more information on patients being accrued in governmental and hospital databases we have a clearer than ever picture of a patient’s health over long periods of time. Unfortunately, due to a combination of overwhelming quantities and noise levels in the data our ability to make use of these data has not kept up with their quantity.
Sequential models can help ease the burden on health practitioners in making use of these data. For instance, a model could be trained on a patient’s records to predict the likelihood of cardiovascular events. This model could then alert a doctor of potential risk in order to facilitate timely interventions. This could be especially helpful in large clinical settings where personal doctor-patient relationships may not be common.
(Insert reference to applications on these data already performed)
1.2.3 Hospital Automation
Patient monitoring systems already have alarms to alert staff of occurring anomaly for a patient. Continuous classification methods could extend these methods to more subtle actions (patient is experiencing pain and needs a change in the medications administered by their IV) or to give staff more heads-up time before an event occurs (model predicts patient has a high change of going into afribulation in the next five mins). These methods, if successfully implemented could help hospitals more efficiently allocate resources and potentially save lives.
1.3 History of methods
While sources of data to perform it on have recently greatly expanded, the interest in performing continuous classification is not a new topic. Many methods have been proposed for the task to varying degrees of success. Below is a brief review of some of the more successful methods and their advantages and limitations.
1.3.1 Windowed regression
Perhaps the most intuitive approach to the problem of incorporating context from previous time points into your prediction is to use a windowed approach. Broadly, in these approaches a window of some width (in previous observation numbers or time length) is sequentially run over the data and then the model uses information from within that window to predict.
The data obtained from the window may have some form of summary applied to it. This could be a mean, median, or any other function which is then used to predict with. By summarizing the multiple data-points into a single (or few) values noisy data can be made slightly cleaner but at the cost of potentially throwing away useful information captured by the interval (such as trajectory.)
If the data are kept intact mode advanced methods are available. These include dynamic time warping (Time warping citation) or kernel methods (see next section). This allows much more information to be retained in the sample but at the cost of setting a limit on how far back your model can learn dependencies in the data. For instance if your window is one hour long but an activity lasts two hours your model will have a very hard time recognizing it. This is equivalent to an infinitely strong prior on the interaction timeline (window prior assumptions citation).
1.3.2 Transformation methods
As mentioned before, when a window is scanned across the time dimension of data, one of the ways of extracting information is by performing some transformation on the data. Common examples include wavelet or Fourier transforms. These methods attempt to separate the data into separate components. For instance, Fourier transforms applied to accelerometer data from an individuals wrist can be used to detect the frequencies associated with walking and running(Transformed accelerometer citation). These methods have also been used extensively in electrical systems and signal processing to help determine the state of the system.
A few limitations are imposed by these methods. First, as mentioned before, they are still subject to the windowing constraints. Secondly, they rely on the data to be periodic or oscillatory in nature. For instance, the accelerometer data oscillated back and forth as the individual’s arms moved in their gate and electrical systems are inherently oscillatory. Data such as heart-rate or step counts as produced by devices like apple watches and fitbits is a rather stable signal (although before output it may not be) and thus transformation methods are unable to separate them into frequency domains at reasonable time scales. In addition, these methods are unable to deal with non-numeric data which severally limits them in heterogeneous data domains such as EHR data.
1.3.4 Advantages of deep learning methods
Before we dive into the mathematical underpinnings of deep learning methods for continuous classification we will go over how they solve many of the aforementioned issues from traditional methods.
<IP_ADDRESS> Less Domain Knowledge Needed
One of the ways that it helps to think about deep learning is as a computer program that learns what to do. In his popular blog post _Software 2.0) Andrej Karapathy makes the argument that deep learning is powerful because it helps avoid traditional tedium like explicitly defining cases for the computer to deal with. One of the ways this is applicable to our problems is the ability for most data to be a kind-of ‘plug-and-play’ process.
This can be seen in the context of the input data form. If you had data from say an accelerometer it would go into the same neural network as data from a more static heart-rate sensor would. The models are flexible enough to learn how to deal with these input patterns without requiring the researcher to explicitly define a transformation based on the data. This allows the same methods to be applied to many domains and further reduces the amount of analyst decisions to be made, which has the potential to make performance assessments more accurate (Frank’s automate as much of the model as possible citation).
<IP_ADDRESS> Can find and deal with arbitrary time dependencies
Deep learning models are theoretically capable of learning time dependencies of infinite length and strength (Universal approximation theorem). While obviously it is impossible to supply a network with enough data to fit enough parameters to do so, the fact remains that deep learning methods are capable of handling time dependencies (even of very long length (stateful LSTM citation) ). In addition to being able to model these dependencies they do so without any need for explicitly telling the model the length of the dependencies and also using substantially fewer parameters than an extended hidden Markov model (RNN textbook citation).
For example, an recurrent neural network (RNN) can automatically learn that if a person swims and then runs, they will most likely be biking next, but it could also remember that a patient was given a flu vaccine three months prior and thus their symptoms most likely don’t indicate the flu but a cold. The power of this flexibility to automatically learn arbitrary time dependency patterns is powerful in not only its ability to create accurate models, but potentially for exploration of causal patterns.
<IP_ADDRESS> Multiple architectures for solving traditional problems
In a similar vein, one of the decisions that does need to be made with deep learning: which network architecture to use, conveniently is rather robust to the problem of continuous classification. For instance: convolutional neural networks that have achieved great success in computer vision were actually originally designed for time series data, and recent advanced such as dilated convolutions allow for them to search as far back in the time-series as needed to find valuable information for classification. Recurrent neural networks (which will be elaborated on in the following sections) are also fantastic for time-series data, as they explicitly model the autocorrelation found in the data via a recurrent cycle in their computation graph. This allows them to read data much like one reads a book, selectively remembering past events that have applicability to the current state.
<IP_ADDRESS> Downsides
As a result of being so flexible deep learning models require a lot of data to properly tune all their parameters without over fitting. This results in not only more data being needed (with some exceptions such as Bayesian methods) but also, when combined with their non-convexity, requires a large amount of computation power.


ABOUT
TODO: Some content about the author of photos etc.
GALLERY
TODO: automated system for easy pic upload and managment.
CONTACT
TODO: contact information simple is enough.
LOGIN
TODO: Form for login -> control panel if true
TODO: Some content about the author of photos etc.
TODO: automated system for easy pic upload and managment.
TODO: contact information simple is enough.
TODO: Form for login -> control panel if true


|
Copyright
© 2013 BERNAMA. All rights reserved.
This material may not be published, broadcast, rewritten or
redistributed in any form except with the prior express permission
of BERNAMA.
Disclaimer.
Best viewed in Internet Explorer 6.0 & above with 800 x 600 pixels |


{% include "sign_up_email.html" %}
Note: Your magic link will expire in 1 day, and can only be used one time.
Link was generated {{ timeCreated }} IP: {{ ip }} {{ ipInfo }}


Introduction to Typescript
Typescript is an open source language developed by Microsoft and is a superset of Javascript. Let's have a look at its
key features and how to install it and configure it in order to run our first typescript app.
Key Features:
- Easy to configure
- Get translated into nice Javascript
- Syntax and Type similar to Java
- Let and const, function scope variable and Immutable variable
- Arrow Expressions
- For of / For in
- Class and Interfaces
- Access Modifiers
- Module
- Ambient Declaration
- Decorators / Annotations
Easy to configure
You can install typescript by downloading it from the npm repository.
npm install -g typescript
If you don't know if you have npm and Node.Js installed, run the following commands in your terminal to check it:
node -v in
npm -v
If you don't have Node.js and npm, download it from here: https://nodejs
.org/en/download/, or Mac users can use brew :
brew install node
Ubuntu users can use apt-get:
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs
To test if the environment is fully working, clone the following typescript sample project from github https://github.com/magemello/typescript-sample-project
or copy and paste the following class in a .ts file
helloworld.ts
function sayHello(name) {
return "Hello World! I'm " + name;
}
let user = "Mario Romano";
document.body.innerHTML = sayHello(user);
then from the terminal run the typescript compiler, and if everything is setup correctly you should see a .js file appear:
tsc helloworld.ts
Now your folder contains 2 helloworld files, a .ts and .js. Great, the next step is easy. To show
the content of our hello world file inside a browser we need a .html that includes the generated
.js file.
index.html
<!DOCTYPE html>

<title>TypeScript sample project</title>

Get translated into nice Javascript
Typescript is compiled in nice readable Javascript. Because of the compiler there are two levels of errors:- Compiler errors (example 2)
- Runtime errors (example 3)
//Javascript (1)
var testVar = 123;
testVar.trim();
//Uncaught TypeError: testVar.trim is not a function(…)
//Typescript (2)
let testVar : string = 123;
testVar.trim();
//Compiler error: Type 'number' is not assignable to type 'string'.
//Typescript (3)
let testVar : any = 123;
testVar.trim();
//Runtime error: ORIGINAL EXCEPTION: TypeError: testVar.trim is not a function
The compilers setting are defined in the tsconfig.json. The tsconfig.json file specifies the root files and the compiler options required to compile the project. The option ModuleResolution has 2 different strategies: Classic or Node, by default is node. I recommend to use node, classic its there just for backward compatibility.
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"removeComments": true,
"declaration": true,
"outDir": "dist"
},
"exclude": [
],
"files": [
],
"filesGlob": [
]
}
Syntax and Type similar to Java
Typescript is easy to learn for a java developer, also because there are some resemblances between their types.
Java Typescript
Object ====> any
void ====> void
boolean ====> boolean
array[] ====> array[]
String
char ====> string
int
long ====> number
short
Let and const, function scope variable and Immutable variable
In Typescript is not recommended to declare variables using var. To declare a variable you can use let or const.Now let's see what is the difference between let that is block scope and var that is function scoped:
//Javascript (1)
var people = 100;
if (people === 100) {
var people = 200;
//output: 200
console.log(people);
}
//output: 200
console.log(people);
//Typescript (2)
let people = 100;
if (people === 100) {
let people = 200;
//output: 200
console.log(people);
}
//output: 100
console.log(people);
Const is block scope as well and is also immutable, so after the initialization you can not change the value of the const elements, let's see what it means:
const people = 123;
if (people === 123) {
const people = 456; // Allowed as its block scoped
}
people = 456; // ERROR: Left-hand side of an assignment expression cannot be a constant
Arrow function / Lambda
- You don't need to keep typing function
- It lexically captures the meaning of this
- It lexically captures the meaning of arguments
//Arrow function/lambda
let filter: (peopleName: string[], name: string) => string = function (peopleName, name) {
for (var currentName of peopleName) {
if (currentName === name) {
return name;
}
}
}
//Output: mario
console.log(filter(['mario', 'luigi', 'wario'], 'mario'));
//Arrow function/lambda less verbose
let filter2 = (peopleName: string[], name: string) => {
for (var currentName of peopleName) {
if (currentName === name) {
return name;
}
}
}
//Output: mario
console.log(filter2(['mario', 'luigi', 'wario'], 'mario'));
Functions with => operator keep the outside context, so you don't have to do anymore hack like "self = this" to keep the
context.
//Javascript
function People() {
this.people = 100;
var self = this;
this.addOne = function() {
self.people++;
}
}
var community = new People();
setTimeout(community.addOne, 1000);
//Output: 100
setTimeout(function() {
console.log(community.people);
}, 2000);
//Typescript
class People {
people:number = 100;
addOne = () => {
this.people++;
}
}
var community = new People();
setTimeout(community.addOne, 1000);
//Output: 101
setTimeout(function() {
console.log(community.people);
}, 2000);
For of vs For in
A nice add of EC6 that you can use also in Typescript is the "for of" that iterates over the value of an array instead of the old "for in" that iterates over the key:
const people1 = ['mario', 'luigi', 'wario'];
for (let key in people1) {
//Output: 0, 1, 2
console.log(key);
}
const people2 = ['mario', 'luigi', 'wario'];
for (let person of people2) {
//Output: mario, luigi, wario
console.log(person);
}
Class and Interfaces
EC6 an Typescript have introduced classes. Classes are important to structure the code in elegant object oriented way.
class car {
color: string;
setColor(color: string): void {
this.color = color;
}
printColor(): void{
console.log(this.color);
}
}
Defining an Interface we can define a common behaviour for our classes and be more explicit about the functionality they provide. A key difference between Typescript and Java is that compatibility of interfaces is determined by the properties on the interface, rather than by the inheritance chain.
//Interface
interface Cars {
color: string;
setColor(color: string): void;
}
//Implements the interface
class Ferrari implements Cars {
color: string;
setColor(color: string): void {
this.color = color;
}
printColor(): void {
console.log(this.color);
}
}
//Execution
let supercar = new Ferrari();
supercar.setColor('red');
//Output: red
supercar.printColor();
You can also define abstract Class
//The abstract class
abstract class Ferrari {
color: string;
setColor(color: string): void {
this.color = color;
}
abstract printColor(): void;
}
//Implements the abstract class
class FerrariGto implements Ferrari {
color: string;
setColor(color: string): void {
this.color = color;
}
printColor(): void{
console.log(this.color);
}
}
let gto = new FerrariGto();
gto.setColor('yellow');
//Output: yellow
gto.printColor();
Or simply extend a class
//Original class
class FerrariGto {
car: string = 'Ferrari';
color: string;
setColor(color: string): void {
this.color = color;
}
getColor(): string {
return this.color;
}
printName(): void{
console.log(this.color);
}
}
//Extend class
class FerrariGtoSport extends FerrariGto {
color: string;
printName(): void{
console.log(this.car + " " + this.getColor() + " sport");
}
}
let gtoSport = new FerrariGtoSport();
gtoSport.setColor('red');
//Output: Ferrari red sport
gtoSport.printName();
Access Modifiers
With classes of course came also access modifiers. Be aware that the access modifiers are not translated to javascript, but you can still get benefit out of it at compile time.| Modifier | public |
private |
protected |
|---|---|---|---|
| class instances | yes | no | no |
| class | yes | yes | yes |
| class children | yes | no | yes |
Module - Import and Export
When you write code by default it is in the global scope, so how do we define scopes in typescript?We use the import and export keyword to do that. The export keyword creates a local scope that can be stored in a separate file. But now you need to include this external file, to do that you can use the import keyword. To load this module at runtime you have to use a module loader, you can choose between :
- CommonJS, server side
- SystemJS, wrap CommonJS for in browser use
- Require.js (AMD) for in browsers use
- Isomorphic (UMD)
- ECMAScript 2015 native modules (ES6)
gto.ts
export class FerrariGto {
color: string;
setColor(color: string): void {
this.color = color;
}
printColor(): void{
console.log(this.color);
}
}
gto-sport.ts
import { FerrariGto } from "./gto.ts"
export class FerrariGtoSport extends FerrariGto {
color: string;
setColor(color: string): void {
this.color = color;
}
printColor(): void{
console.log(this.color + " sport");
}
}
If you want to check an example where is utilized SystemJS, you can clone this Github project from the official typescript
repository: SystemJS and Typescript.
Ambient Declarations
One of the first problems that you may have is how to use an old library written in javascript with typescript?TypeScript allows you to use existing JavaScript libraries in TypeScript using Ambient declarations. Let's say for example that in our index.html we are importing jQuery and we want to use it inside our .ts file, this is how to do it:
index.html
<!DOCTYPE html>

<title>TypeScript sample project</title>

helloworld.ts
declare var $;
function sayHello(name) {
return "Hello World! I'm " + name;
}
let user = "Mario Romano";
$('body').html(sayHello(user));
Decorators / Annotations
Decorators use the form @expression, what a decorators does is add at runtime functionality to the annotated element. Decorators can be applied on:- Class
- Method
- Accessor
- Property
- Parameter
- Metadata
@sealed
class Greeter {
private _x: number;
greeting: string;
@format("Hello, %s")
greeting: string;
constructor(message: string) {
this.greeting = message;
}
@enumerable(false)
greet() {
return "Hello, " + this.greeting;
}
@validate
greetHello(@required name: string) {
return "Hello " + name + ", " + this.greeting;
}
@configurable(false)
get x() {
return this._x;
}
}
Typings
Typings is the simple way to manage and install TypeScript definitions. It uses typings.json
{
"ambientDependencies": {
"es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd",
"jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#5c182b9af717f73146399c2485f70f1e2ac0ff2b"
}
}


{% extends 'templates/nhs_layout.html' %} {% block pageTitle %}NHS.UK prototyping kit{% endblock %} {% block content %} Welcome to the NHS.UK prototyping kit This is the index.html page - we recommend you put links to key pages here. Pages Example pages {% endblock %}
This is the index.html page - we recommend you put links to key pages here.


EBD - Easton Bible DIctionary
Hammelech
HAMMELECH
"HAMMELECH "the king’s, the father of Jerahmeel, mentioned in
Jeremiah 36:26
. Some take this word as a common noun, “the king”, and understand that Jerahmeel was Jehoiakim’s son. Probably, however, it is to be taken as a proper name.
"HAMMELECH "the king’s, the father of Jerahmeel, mentioned in Jeremiah 36:26. Some take this word as a common noun, “the king”, and understand that Jerahmeel was Jehoiakim’s son. Probably, however, it is to be taken as a proper name.


Discover the peaceful living of Bali’s greeneries at The Pramana Hotel & Resort. Situated in spacious landscape between tropical fruit and rare trees, this best villa in Ubud will indulge you during your holiday. Get a high quality lazy day with reading your favorite book under the cooling shade next to the pool or having a laid back under the sun with water flow from the river as your back sound.
Exclusive holiday back in style! Surrounded with the green lush, The Pramana Hotel & Resort combines a lifestyle, luxury and Balinese authentic living style to offer. Strategically located Kumbuh Village, Ubud-Bali, this Ubud accommodation only 15 minutes drives from the artistic Ubud Center and 90 minutes from Ngurah Rai International Airport.
Featured with 30 appointed rooms and villas in Balinese style, The Pramana Hotel & Resort offers more than just a luxury accommodation. Each classy yet elegant room and villa are equipped with ethnic touch that invites you to relax after your tiring day. Stay Up to date since this best villa has the business center and enjoy the green view while sipping an ice-cold drinks or you can have a dining experience in the cozy restaurant. The Pramana Hotel & Resort with its luxury accommodation will be a perfect place to stay at Ubud, Bali.


My Books Store
Add Book
Title
Author
Isbn
Pages
Status
Choose read status
Read
Not read
Title
Author
isbn
Pages
Status


BTREPLAY
Section: (8)Updated: December 8, 2007
Index Return to Main Contents
NAME
btreplay - recreate IO loads recorded by blktrace
SYNOPSIS
btreplay [ options ] <dev...>
DESCRIPTION
The btrecord and btreplay tools provide the ability to record and replay IOs captured by the blktrace utility. Attempts are made to maintain ordering, CPU mappings and time-separation of IOs.
The blktrace utility provides the ability to collect detailed traces from the kernel for each IO processed by the block IO layer. The traces provide a complete timeline for each IO processed, including detailed information concerning when an IO was first received by the block IO layer --- indicating the device, CPU number, time stamp, IO direction, sector number and IO size (number of sectors). Using this information, one is able to replay the IO again on the same machine or another set up entirely.
The basic operating work-flow to replay IOs would be something like:
- -
-
Run blktrace to collect traces. Here you specify the
device or devices that you wish to trace and later replay IOs upon. Note:
the only traces you are interested in are QUEUE requests ---
thus, to save system resources (including storage for traces), one could
specify the -a queue command line option to blktrace. - -
-
While blktrace is running, you run the workload that you
are interested in.  - -
-
You extract the pertinent IO information from the traces saved by
blktrace using the btrecord utility. This will parse
each trace file created by blktrace, and crafty IO descriptions
to be used in the next phase of the workload processing. - -
-
Once btrecord has successfully created a series of data
files to be processed, you can run the btreplay utility which
attempts to generate the same IOs seen during the sample workload phase.
OPTIONS
-c <num>
--cpus=<num>
- Set number of CPUs to use.
-d <dir>
--input-directory=<dir>
- Set input directory. This option requires a single parameter providing the directory name for where input files are to be found. The default directory is the current directory (.).
-F
--find-records
- Find record files automatically This option instructs btreplay to go find all the record files in the directory specified (either via the -d option, or in the default directory (.).
-h
--help
- Show help and exit.
-i <basename>
--input-base=<basename>
-
Set base name for input files.
Each input file has 3 fields:
- 1.
-
Device identifier (taken directly from the device name of the
blktrace output file). - 2.
-
btrecord base name --- by default ``replay''. - 3.
-
The CPU number (again, taken directly from the
blktrace output file name). This option requires a single parameter that will override the default name (replay), and replace it with the specified value.
-I <num>
--iterations=<num>
- Set number of iterations to run. This option requires a single parameter which specifies the number of times to run through the input files. The default value is 1
-M <filename>
--map-devs=<filename>
-
Specify device mappings.
This option requires a single parameter which specifies the name of a
file contain device mappings. The file must be very simply managed, with
just two pieces of data per line:
- -
-
The device name on the recorded system (with the '/dev/'
removed). Example: /dev/sda would just be sda. - -
-
The device name on the replay system to use (again, without the
'/dev/' path prepended).An example file for when one would map devices /dev/sda and /dev/sdb on the recorded system to dev/sdg and sdh on the replay system would be:
- sda sdg
sdb sdh
The only entries in the file that are allowed are these two element lines --- we do not (yet?) support the notion of blank lines, or comment lines, or the like.
The utility allows for multiple -M options to be supplied on the command line.
-N
--no-stalls
- Disable pre-bunch stalls. When specified on the command line, all pre-bunch stall indicators will be ignored. IOs will be replayed without inter-bunch delays.
-x <factor>
--acc-factor=<factor>
- Specify acceleration factor. Default value is 1 (no acceleration).
-v
--verbose
- Enable verbose output. When specified on the command line, this option instructs btreplay to store information concerning each stall and IO operation performed by btreplay. The name of each file so created will be the input file name used with an extension of .rep appended onto it. Thus, an input file of the name sdab.replay.3 would generate a verbose output file with the name sdab.replay.3.rep in the directory specified for input files. In addition, btreplay will also output to stderr the names of the input files being processed.
-V
--version
- Show version number and exit.
-W
--write-enable
- Enable writing during replay. As a precautionary measure, by default btreplay will not process write requests. In order to enable btreplay to actually write to devices one must explicitly specify the -W option.
AUTHORS
btreplay was written by Alan D. Brunelle. This man page was created from the btreplay documentation by Bas Zoetekouw.
REPORTING BUGS
Report bugs to<EMAIL_ADDRESS>Copyright © 2007 Alan D. Brunelle, Alan D. Brunelle and Nathan Scott.This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law.
This manual page was created for Debian by Bas Zoetekouw. It was derived from the documentation provided by the authors and it may be used, distributed and modified under the terms of the GNU General Public License, version 2.
On Debian systems, the text of the GNU General Public License can be found in /usr/share/common-licenses/GPL-2.
SEE ALSO
The full documentation for btreplay can be found in /usr/share/doc/blktrace on Debian systems.blktrace (8), blkparse (1), btrecord (8)
Index
This document was created by man2html, using the manual pages.
Time: 05:34:24 GMT, December 24, 2015


Light and Heavy Tests
Plugin tests run in a real, rather than mocked, IntelliJ Platform environment and use real implementations for most of the application and project components.
Loading all the project components for a project in order to run tests is a fairly expensive operation, and we want to avoid doing it for each test. Dependently on the loading and execution time we make a difference between heavy tests and light tests available in IntelliJ Platform test framework:
- Heavy tests create a new project for each test.
- Light reuse a project from the previous test run when possible.
Light and heavy tests use different base classes or fixture classes, as described below.
The standard way of writing a light test is to extend the following classes:
LightPlatformCodeInsightFixtureTestCase
for tests that don’t have any Java dependencies.LightCodeInsightFixtureTestCase
for tests that require the Java PSI or any related functionality.
When writing a light test, you can specify the requirements for the project that you need to have in your test, such as the module type, the configured SDK, facets, libraries etc. You do so by extending the LightProjectDescriptor
class and returning your project descriptor from LightCodeInsightFixtureTestCase.getProjectDescriptor()
. Before executing each test, the project will be reused if the test case returns the same project descriptor as the previous one, or recreated if the descriptor is different.
The setup code for a multi-module Java project looks something like that:
final TestFixtureBuilder<IdeaProjectTestFixture> projectBuilder = IdeaTestFixtureFactory.getFixtureFactory().createFixtureBuilder(getName());
// Repeat the following line for each module
final JavaModuleFixtureBuilder moduleFixtureBuilder = projectBuilder.addModule(JavaModuleFixtureBuilder.class);
myFixture = JavaTestFixtureFactory.getFixtureFactory().createCodeInsightFixture(projectBuilder.getFixture());


This service doesn't support Internet Explorer (IE).
Please use either Edge, Chrome, Safari, FireFox, etc.
Reset
Functionality
Integrity
Conditions
VAT
Reset
EN 19361-1 Electronic invoicing
ID
Business Term
Data type
Card.
Req. ID
Business Rules
ID
Desc
Business Term
Target


Introduction: Hello! I'm Jo, thanks for coming to my page to learn more about me!
I am an experienced Front-End Developer with a strong background in delivering large-scale public sector projects. Prior to joining Deloitte, where I am currently contributing to the development of a high-profile registration and ordering system, I have worked as a Front-End Engineer at Beamly Consultancy as a UX/UI developer.
I am well-versed in the software development lifecycle, including writing clean code and implementing test-driven development practices. This allows me to consistently produce work of high quality and reliability.
At Deloitte, I have been working on projects in the commerce domain utilising my technical knowledge and practical experience in industry, I am well-equipped to effectively contribute to and deliver results for any project I am involved in.
Background: After 6+ years in the tech industry, this provided key commercial experience and developed vast transferable skills such as communication, teamwork, and organisation. Such examples are in addition to the technical programming skills gained at Deloitte and Makers Academy.
Key Technologies: JavaScript (ES6), React, Node.js, Express, Sinatra, Git workflow, SASS, CSS, HTML
Contributed to the build of a large-scale public sector ordering and registering platform for health testing client.
Contributed to the build of headless CMS product and design system using HTML 5, SCSS, JavaScript, React.js and Redux Updated and improved suite of components as part of a dedicated agile squad.
I was the first point of contact for 87 global clients, determining business needs and led the team to deliver projects on budget and on time.
Managed content delivery and optimisation of UK + 5 International Miss Selfridge e-commerce websites, mobile sites and apps, led a team of on-site digital assistants and offshore developers in India.
A 16-week intensive software engineering bootcamp. Working in a group setting following an Agile framework, using daily standups to ensure delivery of our target features. We used a TDD approach to create a series of fullstack applications using a combination of Ruby and Javascript with frameworks such as Node and React.
I was a student on a 10-week part-time course where I learnt to build responsive websites with HTML, CSS, and simple JavaScript. This course kick-started my career change, and I was able to transfer from a Delivery Management role to a Software Engineering role at the company I was working for at the time.
The course equipped me with offers a practical and repeatable methodology that achieves an ideal balance between the standards, rigour and visibility required for proper project management, and the fast-pace, change and empowerment provided by Agile.
Kesteven and Grantham Girls School - A levels in Business, Media, Theatre and Dance.
Maintenance and pipeline instrumentation - I have deployed my projects using Github Marketplace actions
Passionate about UI: During my time at Beamly my strengths were in being able to take a visual design in sketch, and transforming this into a fully functioning website/campaign page through Javascript, React and HTML/CSS, with pixel-perfect precision. I collaborated well with the UX team and was able to help meet the delivery deadlines which delighted clients.
Keen eye for detail while re-platforming the legacy websites from WordPress to React, this required redirecting legacy URLs to the new URLs, this taught me about regular expressions as all redirects were implemented through a JSON file, and needed a keen eye for detail. Additionally, this was sometimes in Russian or Chinese, so required special attention.
Accessibility - After Topshop was sued for lack of accessibility in 2018, this was due to alt images not having appropriate 'alt' tags and colour contrasting below satisfactory standards. I suggested to the next company I worked for that this be addressed to avoid any legal issues in future.
Performance - While running site tests at Arcadia, I spotted that the images provided by the Design teams were huge and slowed site performance down. I suggested we reduce the imagery size (while not compromising quality) for faster site performance; This improved the website load speed by 50%.
UAT testing, A/B testing - While working at Arcadia, I was running site analytics on Adobe Omniture (homepage tracking report) every week. I noticed that the homepage hero's second and third image on the slider was not generating many clicks. Therefore no traffic was reaching those pages. We decided to run A/B testing to see if the website homepage could be improved, I coded a few different examples, and the analytics proved over the coming months that this was the right decision as the visitors preferred to see all imagery upon landing on the homepage.
Mobile-first mentality - When building a website for a new client, I used my knowledge gained from General assembly. When queried on how to mobile optimise, I suggested we as developers use a triple nested flexbox as the design was in a grid-like format so would be the best approach. I had noticed that 80% of the audience was mobile users, so Mobile-first decisions should be at the forefront of decision making and flexbox allowed this. We built the website using mobile-first, and it launched in 2019.
Apart from being a web developer, I love staying fit and healthy by going to the gym. I am a member at At Your Beat Dance Studio and Base Dance studios, where I go to dance classes a few times a week via ClassPass. I also like to mix this up with Yoga and Pilates.
I also dedicate some time to volunteering for a Charity - 'Reenage' a charity which organises meet ups with elders in my local area, in a bid to tackle loneliness in the community. Here I organise tea parties for small group in my area on the weekends.
I have always been one for getting involved in multiple aspects of company life from social committees to Corporate Social Responsibility societies. I have been part of every social committee for every company I have worked for, even stemming back to university life where I was on the social secretary for the Leeds University Cheerleaders.
I am a qualified scuba diver
|
Reengage Portal Full Stack application used to help with my volunteer work with the elderly for Reengage charity. Built using React, Node, Express and MongoDB. To hear more about the tech stack and agile workflow - here is a short video demonstration from the final project demo day This is live here |
Acebook Full Stack application which is a simplified dupe of social media website - Facebook built using React, Node, Express and Mongodb. Tested in JEST and Cypress |
Makers b&b Full Stack application which is a simplified dupe of booking website - Airbnb built using Ruby, Javascript, Sinatra, PostgreSQL. Tested in RSPEC (unit) and Capybara(feature) |
|
Personal Website Front-end application showcasing my personal portfolio built using Javascipt, jQuery, HTML, SASS (currently converting to React) [deployed](https://www.joanne-young.co.uk/) |
News Summary API Front-end application using the Guardian newspaper API to display news articles on a single page application built using Javascript and Fetch API |
Weather API app Front-end application using the Open Weather API to display current weather conditions on a single page application built using Javascript and Fetch API Project deployed here - here. |
|
Bank Technical Test This technical test demonstrates test driven development, high code quality and Object Orientated Principles. Users can withdraw and deposit cash and print statement via REPL Built using Vanilla Javascript and Jasmine for testing |
Bowling Kata Users can input bowling scores and keep record of the game built using Vanilla Javascript and Jasmine for testing |
Thermostat API app Front-end application allowing users to increase or decrease temperature with configuration settings Built in Vanilla Javascript. Using Open weather API to pull in current temperature information |