Choose how you want to set up Ameol.
CIX Forums sets up Ameol to access CIX Forums only.
CIX Forums plus Email and Newsgroups sets up Ameol to access CIX Forums plus your internet e-mail and newsgroups.
Click Next to continue when you have made your choice.


--- layout: post bodyClass: gen-theme gen-drinking-list theme-peter-pan title: "Peter Pan (1953)" date: 2016-10-07 01:00:00 last_modified_at: 2016-10-07 01:00:00 excerpt: "Peter Pan (1953), the Drinking Game" categories: Movie tags: Peter Pan, 1953, Cartoon, comedy, Disney, 1953, movie, drinking game image: feature: peter-pan-2.jpg topPosition: 0px bgContrast: dark bgGradientOpacity: darker syntaxHighlighter: no ---
Let's all learn to fly, on BOOZE!!! Let us have a flash from the past (before most of us were born) from 1953 Disney classic, Peter Pan.


The strange reason why Siya Kolisi was made Springboks captain
by Tom VinicombeSiya Kolisi’s appointment as captain of the Springboks has been widely considered one of the best decisions of coach Rassie Erasmus’ tenure.
Kolisi, one of South Africa’s form player over the last few years, is an excellent leader, a fantastic player and has united the nation as the Springboks’ first black captain.
Kolisi’s elevation to captain was never a political statement, however, and there was never any wider meaning to the selection.
“To be honest with you, the initial appointment of Siya as captain, my plan never was this big thing to get the country behind us and have another plan with Siya,” said Erasmus.
The Stormers flanker is black, but that’s just a coincidence – he’s clearly now the best man for the job.
Continue reading below…
To begin with, however, not a lot of thought actually went into instilling Kolisi as the Springboks’ leader.
“I’m quite honest with you now, and you’ll one day hear from the players how Siya was appointed captain,” Erasmus said.
“Siya was actually the best Super Rugby-performing team captain, and that’s the reason why he became captain of the Springboks. It was very sudden on him – I didn’t have a lot of conversations with him before that first test match he became the captain.
“So, it wasn’t like four or five months where we sat down and worked out a strategy and a plan.”
Despite Kolisi’s somewhat arbitrary (but not irrational) election, there’s no question that he’s forged a reputation as one of South Africa’s modern greats.
The Port Elizabeth-born loose forward has the backing of not just his own team, but a whole nation.
Erasmus has admitted that he was somewhat taken aback by the reaction to Kolisi’s appointment.
“I was a bit naive, because the whole emotional things that went around that in South Africa, about having the first black captain for the Springboks, certainly caught Siya off guard, it caught me off guard.”
It wasn’t the easiest of starts to Kolisi, with all the weight of expectations on his shoulders, but he’s grown into the role considerably.
“I thought his game suffered a little bit in the first few games,” said Erasmus. “Then he got better and better, and we always knew he was a great player.
“When that got better, he got an injury, and when he got back from the injury, then he had to be captain again, and we had to get him slowly back into the mix for the World Cup.
“But the timing is great now. The last two games, he had great games again, and we also managed his gametime really well. He is firing fit to have a good final.
Now, Kolisi is in line to make his 50th appearance for the Springboks on the biggest of stages, a World Cup final.
“It’s his 50th test match, and it is fitting and a wonderful occasion for a guy to be the captain, the first black captain – now it’s also sunk into me. I understand how big it is, and I am not so naive any more.
“It is a wonderful story, and for him to handle those emotional – not stress – but emotional extras, which come with something that I didn’t expect, is just wonderful, and really, well done by him.”
The 28-year-old could still very much be in the frame for the 2023 World Cup in France, but he will naturally be putting all his efforts into Saturday’s fixture with England.
Regardless of what happens, Kolisi has already cemented his place in South African rugby folklore.
Cheslin Kolbe is back for the Rugby World Cup final after sitting out South Africa’s semi-final win over Wales:


NUMA
Section: Linux Programmer's Manual (7)
Updated: 2012-08-05
Index
Return to Main Contents
NAME
numa - overview of Non-Uniform Memory Architecture
DESCRIPTION
Non-Uniform Memory Access (NUMA) refers to multiprocessor systems
whose memory is divided into multiple memory nodes.
The access time of a memory node depends on
the relative locations of the accessing CPU and the accessed node.
(This contrasts with a symmetric multiprocessor system,
where the access time for all of the memory is the same for all CPUs.)
Normally, each CPU on a NUMA system has a local memory node whose
contents can be accessed faster than the memory in
the node local to another CPU
or the memory on a bus shared by all CPUs.
NUMA system calls
The Linux kernel implements the following NUMA-related system calls:
get_mempolicy(2),
mbind(2),
migrate_pages(2),
move_pages(2),
and
set_mempolicy(2).
However, applications should normally use the interface provided by
libnuma;
see "Library Support" below.
/proc/[number]/numa_maps (since Linux 2.6.14)
This file displays information about a process's
NUMA memory policy and allocation.
Each line contains information about a memory range used by the process,
displaying---among other information---the effective memory policy for
that memory range and on which nodes the pages have been allocated.
numa_maps
is a read-only file.
When
/proc/<pid>/numa_maps
is read, the kernel will scan the virtual address space of the
process and report how memory is used.
One line is displayed for each unique memory range of the process.
The first field of each line shows the starting address of the memory range.
This field allows a correlation with the contents of the
/proc/<pid>/maps
file,
which contains the end address of the range and other information,
such as the access permissions and sharing.
The second field shows the memory policy currently in effect for the
memory range.
Note that the effective policy is not necessarily the policy
installed by the process for that memory range.
Specifically, if the process installed a "default" policy for that range,
the effective policy for that range will be the process policy,
which may or may not be "default".
The rest of the line contains information about the pages allocated in
the memory range, as follows:
- N<node>=<nr_pages>
-
The number of pages allocated on
<node>.
<nr_pages>
includes only pages currently mapped by the process.
Page migration and memory reclaim may have temporarily unmapped pages
associated with this memory range.
These pages may show up again only after the process has
attempted to reference them.
If the memory range represents a shared memory area or file mapping,
other processes may currently have additional pages mapped in a
corresponding memory range.
- file=<filename>
-
The file backing the memory range.
If the file is mapped as private, write accesses may have generated
COW (Copy-On-Write) pages in this memory range.
These pages are displayed as anonymous pages.
- heap
-
Memory range is used for the heap.
- stack
-
Memory range is used for the stack.
- huge
-
Huge memory range.
The page counts shown are huge pages and not regular sized pages.
- anon=<pages>
-
The number of anonymous page in the range.
- dirty=<pages>
-
Number of dirty pages.
- mapped=<pages>
-
Total number of mapped pages, if different from
dirty
and
anon
pages.
- mapmax=<count>
-
Maximum mapcount (number of processes mapping a single page) encountered
during the scan.
This may be used as an indicator of the degree of sharing occurring in a
given memory range.
- swapcache=<count>
-
Number of pages that have an associated entry on a swap device.
- active=<pages>
-
The number of pages on the active list.
This field is shown only if different from the number of pages in this range.
This means that some inactive pages exist in the memory range that may be
removed from memory by the swapper soon.
- writeback=<pages>
-
Number of pages that are currently being written out to disk.
CONFORMING TO
No standards govern NUMA interfaces.
NOTES
The Linux NUMA system calls and
/proc
interface are available only
if the kernel was configured and built with the
CONFIG_NUMA
option.
Library support
Link with -lnuma
to get the system call definitions.
libnuma
and the required
<numaif.h>
header are available in the
numactl
package.
However, applications should not use these system calls directly.
Instead, the higher level interface provided by the
numa(3)
functions in the
numactl
package is recommended.
The
numactl
package is available at
The package is also included in some Linux distributions.
Some distributions include the development library and header
in the separate
numactl-devel
package.
SEE ALSO
get_mempolicy(2),
mbind(2),
move_pages(2),
set_mempolicy(2),
numa(3),
cpuset(7),
numactl(8)
Index
- NAME
-
- DESCRIPTION
-
- NUMA system calls
-
- /proc/[number]/numa_maps (since Linux 2.6.14)
-
- CONFORMING TO
-
- NOTES
-
- Library support
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:55:22 GMT, September 18, 2014


CHPASSWD
Section: System Management Commands (8)Updated: 07/24/2009
Index Return to Main Contents
NAME
chpasswd - update passwords in batch modeSYNOPSIS
- chpasswd [options]
DESCRIPTION
By default the supplied password must be in clear-text, and is encrypted by chpasswd. Also the password age will be updated, if present.
The default encryption algorithm can be defined for the system with the ENCRYPT_METHOD variable of /etc/login.defs, and can be overwiten with the -e, -m, or -c options.
chpasswd first update the password in memory, and then commit all the changes to disk if no errors occured for any users.
This command is intended to be used in a large system environment where many accounts are created at a single time.
OPTIONS
The options which apply to the chpasswd command are:
-c, --crypt-method
-
Use the specified method to encrypt the passwords.
The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc support these methods.
-e, --encrypted
- Supplied passwords are in encrypted form.
-h, --help
- Display help message and exit.
-m, --md5
- Use MD5 encryption instead of DES when the supplied passwords are not encrypted.
-s, --sha-rounds
-
Use the specified number of rounds to encrypt the passwords.
The value 0 means that the system will choose the default number of rounds for the crypt method (5000).
A minimal value of 1000 and a maximal value of 999,999,999 will be enforced.
You can only use this option with the SHA256 or SHA512 crypt method.
By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in /etc/login.defs.
CAVEATS
Remember to set permissions or umask to prevent readability of unencrypted files by other users.
You should make sure the passwords and the encryption method respect the system's password policy.
CONFIGURATION
The following configuration variables in /etc/login.defs change the behavior of this tool:
ENCRYPT_METHOD (string)
-
This defines the system default encryption algorithm for encrypting passwords (if no algorithm are specified on the command line).
It can take one of these values:
- * DES (default)
- * MD5
- * SHA256
- * SHA512
-
Note: this parameter overrides the MD5_CRYPT_ENAB variable.
MD5_CRYPT_ENAB (boolean)
-
Indicate if passwords must be encrypted using the MD5-based algorithm. If set to
yes, new passwords will be encrypted using the MD5-based algorithm compatible with the one used by recent releases of FreeBSD. It supports passwords of unlimited length and longer salt strings. Set to
no
if you need to copy encrypted passwords to other systems which don't understand the new algorithm. Default is
no.
This variable is superceded by the ENCRYPT_METHOD variable or by any command line option used to configure the encryption algorithm.
This variable is deprecated. You should use ENCRYPT_METHOD.
SHA_CRYPT_MIN_ROUNDS (number), SHA_CRYPT_MAX_ROUNDS (number)
-
When
ENCRYPT_METHOD
is set to
SHA256
or
SHA512, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line).
With a lot of rounds, it is more difficult to brute forcing the password. But note also that more CPU resources will be needed to authenticate users.
If not specified, the libc will choose the default number of rounds (5000).
The values must be inside the 1000-999999999 range.
If only one of the SHA_CRYPT_MIN_ROUNDS or SHA_CRYPT_MAX_ROUNDS values is set, then this value will be used.
If SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS, the highest value will be used.
FILES
/etc/passwd
- User account information.
/etc/shadow
- Secure user account information.
/etc/login.defs
- Shadow password suite configuration.
SEE ALSO
passwd(1), newusers(8), login.defs(5), useradd(8).
Index
This document was created by man2html, using the manual pages.
Time: 05:34:24 GMT, December 24, 2015


MARTHA AND I A film review by James Berardinelli Copyright 1995 James Berardinelli
RATING (0 TO 10): 6.0
Germany, 1990 U.S. Availability: varies (1994-5) Running Length: 1:47 MPAA Classification: No MPAA Rating (Mature themes, nudity) Theatrical Aspect Ratio: 1.85:1
Cast: Marianne Saegebrecht, Michel Piccoli, Vaclav Chalupa, Ondrej Vetchy, Bozidara Turzonova Director: Jiri Weiss Producers: Marius Schwartz and Sabine Tettenborn Screenplay: Jiri Weiss Cinematography: Viktor Ruzicka Music: Jiri Stivin U.S. Distributor: Cinema Four Inc. In German with subtitles
MARTHA AND I, a tale about living in the Sudeten region of Czechoslovakia at the dawn of Nazi occupation, is a confused motion picture that doesn't know whether it wants to be a coming-of-age story, an offbeat romance, or a statement against prejudice. Although poorly edited with a jumpy narrative, MARTHA AND I has a number of affecting moments, but the film doesn't tell enough of any of its three stories for the conclusion, which weaves them together, to have much impact.
The movie begins in 1935 in the household of Emil (Vaclav Chalupa), a Jewish boy who lives with his mother (the father deserts the family in an opening scene). When some innocent groping with the housemaid comes to light, Emil is sent to live with his Uncle Ernst (Michel Piccoli), a wealthy gynecologist with sophisticated views on birth control, abortion, and the non-exploitation of workers. Ernst is having marital troubles, and after discovering his young Hungarian wife in bed with another man, he divorces her and asks his housekeeper, Martha (Marianne Saegebrecht, from BAGDAD CAFE) to marry him. Ernst's four sisters object strenuously, seeing the portly, middle-aged German woman as a gold-digger. Martha's brothers, stout supporters of Hitler, are equally outraged. But, defying both sides of the family, the two carry out their matrimonial plans, supported only by Emil (who has aged and is now played by Ondrej Vetchy).
MARTHA AND I opens as a coming-of-age drama following the adolescent exploits of Emil as he learns about sex, violence, and life. These sequences, directed with all the authenticity of someone recalling his own childhood, work well, exposing the uncertainties of this troubled time through the eyes of a boy. However, somewhat inexplicably, film maker Jiri Weiss shifts not only the focus of the story, but the point-of-view as well. Emil becomes an incidental character (barring the epilogue, he's not in the final quarter of the film), as the marriage between Ernst and Martha takes center stage.
What follows is an uneven melding of love (between the married couple) and hate (towards them from outside forces). One of the reasons MARTHA AND I often fails to hit the right notes is that it skips around. With the exception of the three principals, none of the characters is more than half-developed. Also, while the plight of the Jews under Hitler's anti-Semitic onslaught is never trivialized, it is presented in an insulated context. The closest we ever come to seeing a concrete example of anti-Jewish feeling is when Ernst is fired from his clinic.
It's never clear who the "I" is in MARTHA AND I, and that's a central problem. If it's Ernst, why is the first half of the film told from Emil's point-of-view, and why is he employed as the narrator? And if it's Emil, why does his character fade into obscurity just when his story is really beginning to interest us? MARTHA AND I might have been more successful if developed as two separate films. In this configuration, it never finds the stable tone necessary to draw the audience in. The result is a picture more interesting for its historical perspective than for the plight of its characters.
- James Berardinelli<EMAIL_ADDRESS>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


[ all classes ]
[ emily.command.fun ]
Coverage Summary for Class: GifCommand (emily.command.fun)
| Class | Class, % | Method, % | Line, % |
|---|---|---|---|
| GifCommand | 0% (0/ 1) | 0% (0/ 6) | 0% (0/ 12) |
1 /*
2 * Copyright 2017 github.com/kaaz
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 package emily.command.fun;
18
19 import com.google.api.client.repackaged.com.google.common.base.Joiner;
20 import com.mashape.unirest.http.HttpResponse;
21 import com.mashape.unirest.http.JsonNode;
22 import com.mashape.unirest.http.Unirest;
23 import emily.command.meta.AbstractCommand;
24 import emily.main.BotConfig;
25 import emily.main.DiscordBot;
26 import emily.templates.Templates;
27 import net.dv8tion.jda.core.entities.Message;
28 import net.dv8tion.jda.core.entities.MessageChannel;
29 import net.dv8tion.jda.core.entities.User;
30
31 /**
32 * !joke
33 * gives you a random chuck norris joke with chuck norris replaced by <@user>
34 */
35 public class GifCommand extends AbstractCommand {
36 public GifCommand() {
37 super();
38 }
39
40 @Override
41 public String getDescription() {
42 return "Gifs from giphy";
43 }
44
45 @Override
46 public String getCommand() {
47 return "gif";
48 }
49
50 @Override
51 public String[] getUsage() {
52 return new String[]{
53 "gif //shows random gif",
54 "gif <tags> //random gif based on tags"
55 };
56 }
57
58 @Override
59 public String[] getAliases() {
60 return new String[]{};
61 }
62
63 @Override
64 public String execute(DiscordBot bot, String[] args, MessageChannel channel, User author, Message inputMessage) {
65 try {
66 String tags = "";
67 if (args.length > 0) {
68 tags = "&tag=" + Joiner.on("+").join(args);
69 }
70 HttpResponse<JsonNode> response = Unirest.get("http://api.giphy.com/v1/gifs/random?api_key=" + BotConfig.GIPHY_TOKEN + tags).asJson();
71 return response.getBody().getObject().getJSONObject("data").getString("url");
72 } catch (Exception ignored) {
73 //this exception is about as useful as a nipple on a male
74 }
75 return Templates.command.gif_not_today.formatGuild(channel);
76 }
77 }


Source: https://data.gov.uk/dataset/anonymised_mot_test
Data from every MOT test performed from 2005 to 2013, totalling {{ recordCount }} rows.
Stuff
The confusion matrix shows the class predicted by the model (column) versus the actual class of the sample (row).
A perfect predictor would give a diagonal green line from top left to bottom right, showing every class predicted correctly.
In this case, the random forest is attemting to predict the banded pass rate (0: 0% - 10%, 1: 10 - 20%, 2: 20 - 30%, ... 9: 90% - 100%). Since virtually no classes of vehicle exist where the pass rate is less than 40% it doesn't do very well at those levels, however, from 40% to 80% it does pretty well.
Total number of records is {{ makeCount }}.
Number of tests by vehicle manufacturer.
Total number of records is {{ makeAndModelCount }}.
Number of tests by manufacturer and model.
Number of tests for vehicles of various colours.
Number of tests for vehicles of various colours.
Pass rate (%) for vehicles of ages 0 - 20 years. At around 15 years the pass rate reaches a minimum, implying that most cars don't make it to this age.
Pass rate (%) for vehicles aged 0 to 100 years. As cars get older, they are better cared for, their value increases and they are used less. This may be the cause of the higher pass rates. Note that the pass rate exceeds that for brand new cars somewhere around 60-70 years.
Pass rate (%) by mileage up to 200,000 miles.
Pass rate (%) by mileage up to 1,000,000 miles.
Number of MOT test records for vehicles of ages 0 to 20 years. The MOT test is not mandatory for most vehicles until they are three years old. Note that this doesn't equate to number of unique vehicles, as a failed vehicle is normally retested.
Cumulative distribution of MOT tests for vehicles of ages 0 to 20 years. The MOT test is not mandatory for most vehicles until they are three years old.
Number of MOT test records for vehicles of ages 0 to 100 years. Note that this doesn't equate to number of unique vehicles, as a failed vehicle is normally retested.
Cumulative distribution of MOT tests for vehicles of ages 0 to 100 years. The 95th percentile is somewhere around the 15 year mark..


I moved to Nashville in 2004.
Strangely
enough, not for
music
although it didn't take long to get involved in the music scene. Between shows, art and motorcycles, I've
built up what I think is a pretty cool community of friends and family.
I found a passion for coding while working in the motorcycle
industry
and have
since decided to chase after that passion
at full force. I've found it to be one of the most rewarding endeavors I've gone after. If there's anything
I've
discovered about myself, it's that I love solving problems, personal growth and helping people. With a
dedication to
efficiency and
relationships, it feels like I've finally found a career path I can get excited about - and one that allows
a constant opportunity for growth.
Utilizing C#/.NET, as well as React and vanilla Javascript, I've spent time delving into what makes an easy to use and functioning web application. From UI/UX to back-end architectural theory, I'm eager to further my knowledge of what goes into Software Development both for the user and the developer!
With an eagerness to learn and an ever-evolving understanding of
Mobile-First
Design,
I'm more than ready to start learning what it takes to design and implement modern mobile applications
with React or whatever it takes!
(Checkout Resolute below to see my first attempt)
Click any of the links below to get in touch with me. Or feel free to call! Thanks for looking!


Description
Solution
Vulnerable Code
Log
%issue_trackers%
Name:
Location:
Risk:
CVSS3 Score:
Matched Signature:


The emblem of the Order dates from the second Supreme Council meeting May 12, 1883, when it was designed by James T. Mullen, who was then Supreme Knight.
A quick glance at the emblem indicates a shield mounted upon the Formee Cross. The shield is that associated with a medieval Knight. The Formee Cross is the representation of a traditionally artistic design of the Cross of Christ through which all graces of redemption were procured for mankind. This then represents the Catholic spirit of the Order.
Knights of Columbus logo Mounted on the shield are three objects: a fasces standing vertically, and, crossed behind it, an anchor and a dagger or short sword. The fasces from Roman days is symbolic of authority which must exist in any tightly-bonded and efficiently operating organization. The anchor is the mariner’s symbol for Columbus, patron of the Order, while the short sword or dagger was the weapon of the Knight when engaged upon an errand of mercy. Thus, the shield expresses Catholic Knighthood in organized merciful action, and with the letters, K. of C., it proclaims this specific form of activity.
Red is then the symbol of Faith, of belief in Christ, in the Redemption and in the knowledge and love of Jesus Christ. White is the color of the Eucharistic Host, pledge of God’s Eucharistic presence among men, of the infinite love God has for man and the overwhelming affection which the God-man has for each individual.
White is then the symbol of Christ-like Charity.
Blue is the color of Our Lady’s mantle, in which she wrapped her beloved Son, through Whom came salvation to a sinful world. Blue is then the symbol of Hope.
© Knights of Columbus - Kansas State Council
For comments or questions please email webmaster@kansas-kofc.org


Javaris Taylor CIS 155 V1 Project I wasn't very sure what I was to be putting into this section for V1. I was simply following along and turning in the work but not truly understanding what I was applying.


~~~ tilde.city Frequently Asked Questions (FAQ) ~~~
- Who runs this thing?
- Tim Wilde, aka
<EMAIL_ADDRESS>aka
twilde on keybase, aka
@krellis on twitter.
- What can I do with it?
- Lots of things! A better question is what can't you do with it? Also
lots of things! Such as:
- SPAM (or send any e-mail outside of tilde.city, in fact!)
- Attempt to hack into any systems, internal or external
- Charge fees for / re-sell access
- Give away access to friends - just have them request their
own account!
- Send tons of outbound network traffic. Outbound ports are
disabled by default, send me a note if you want one opened.
- How much does it cost?
- Nothing! Zero, zilch, nada. However, I reserve the right to terminate
the service or your account if you do something naughty, and provide no
uptime or reliability guarantees.
- But, but, you said your goal is for high-reliability and
scalability!
- Very observant, you're right! That is our goal, but this is free here!
I can't guarantee anything - I'll do my best, but that's really it. If
a community forms and steps up, things will get better. That's up to
all of you!
- Okay, how do I sign up?
- I'm glad you asked! Just create yourself an SSH keypair (GitHub has
a great article on how, as do
the tilde.club folks) and e-mail the public key (and only the public
key!) along with your desired username to<EMAIL_ADDRESS>If you tell me a
little about yourself I'd love to hear it, but it's not necessary.
- Why are you doing this?
- I'm a systems engineer by day, and a friend of mine at work fired up
another tilde.club clone (check him out at
tilde.camp!), so I decided to give it a
shot as well. I didn't like the "we're not accepting new users" thing
at tilde.club, so I decided to use my systems engineering experience to
try to design my version scalably. We'll see whether or not I actually
manage to make that work. :)
[ tilde.city home ]


Woman Accidentally Sends Letter Of Resignation To Boss To Print Out
by Emma RosemurgeyWhat could possibly be more hilarious than sending your boss a letter of resignation to print off in his own office?
Well, arguably, it was even funnier when writer Beth Ashley gave her boss the shock of his life by asking him to print off her boyfriend’s letter, forgetting it was titled ‘letter of resignation’.
Beth claims she agreed to write her boyfriend’s letter of resignation for him after his long working hours meant he wouldn’t get a few moments to type one out last month.
But after tapping it up, the 22-year-old copywriter sent the document to her unsuspecting manager Andrew Clarke, asking for it to be printed out.

The writer shared a screenshot of the exchange on social media with the caption:
Wrote my bf’s resignation letter and sent it to my manager so he could print it for me but I forgot to provide any context.
‘My boyfriend is changing jobs and his job is high hours, so he asked me if I would have time to write a letter because he literally wouldn’t have any time,’ Beth explained. ‘I just typed one up for him but my tech is broken in the office so I had to ask Andy to print it off for me.’
She continued:
I didn’t give him any context and just sent him a document that said ‘resignation letter’ and asked him to print it off. He was half-joking.
He knows my boyfriend very well so I think he had put two and two together that it was going to be my boyfriend’s letter, but instead he decided to rinse me in his reply.
He was sat directly opposite me but he didn’t take his headphones off and talk to me, he just responded. I just howled laughing so loudly.
Other people in the office were asking what we were laughing at and he just printed it.
I don’t think there was any point where he was like…’oh my god, she’s leaving and she’s actually asking me to print this letter off and hand it to me.’
 We have a good relationship.
Beth has even had tonnes of messages from concerned followers who are worried she might’ve lost her job as a result of the mishap.
‘It’s all fine now. I still work there. No one has fired me,’ she confirmed.
Beth said:
[My boss] was told he went viral by his little brother [as he isn’t very active on social media]. When he went viral I was hoping he wouldn’t find out.
He told me he got this phone call when I came into the office, and I asked if he was annoyed at me and wanted me to put my Twitter on private. He just found it funny.
He’s not mean or anything, but I think he’s finding it funny how funny everyone else is finding it.
To us, it was sort of like five minutes of laughing and now it’s over, but the internet is finding it funny for well over a week.
We got over it fairly quickly but people are giving it permanency with plenty of retweets.
The tweet went so viral Beth even jokingly offered to help write resignation letters for others for just £15.
She continued:
To be honest I was just quite skint and thought it would be funny to offer to write resignation letters. I have had people ask though.
Most people genuinely can’t write them, so even if they’re not looking for a sassy reproach, they were asking, ‘will you do it?’
I haven’t taken any letter-writing gigs up, genuinely, but I have written a few people’s CVs.

Emma Rosemurgey is an NCTJ trained Journalist who started her career by producing The Royal Rosemurgey newspaper in 2004, which kept her family up to date with the goings on of her sleepy north east village. She graduated from the University of Central Lancashire in Preston and started her career in regional newspapers before joining Tyla (formerly Pretty 52) in 2017, and progressing onto UNILAD in 2019.


Content before
First tab
Some content,
anything.
Second tab
Height!
Third tab
More content.
Content after
View
sources on github


make gcc 步驟 : ./configure make LANGUAGES=c make stage1 make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O2" make stage2 make CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O2" make compare make install CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O" LANGUAGES="LIST"


Managing Test Data¶
Keeping the test data (input and output values) properly managed is vital for the success of the automated tests.
To do that, Golem tests can store the data in a separate file.
Using the Data Table¶
Let's rewrite the previous example but extracting all the data values outside of the code:
validate_article_title.py
description = 'Search an article in Wikipedia'
def test(data):
go_to(data.URL)
send_keys(('id', 'searchInput'), data.search_value)
click(('id', 'searchButton'))
verify_text_in_element(('id', 'firstHeading'), data.article_title)
def teardown():
close()
validate_article_title.csv
| URL | search_value | article_title |
|---|---|---|
| http://en.wikipedia.org/ | automation | Automation |
With this improvement, we don't have to modify the code each time the test values change.
With the Web Module, the result is the following:
Multiple data sets
If you need to execute the same test, but with different values each time (the steps are the same but the input and output values change) in Golem you can add more data sets (more rows to the data table). Golem will automatically execute the same test once per each row in the data table.
For example, consider the previous data file, but with added rows:
| URL | search_value | article_title |
|---|---|---|
| http://en.wikipedia.org/ | automation | Automation |
| http://en.wikipedia.org/ | webdriver | Selenium (software) |
| http://es.wikipedia.org/ | chimichanga | Chimichanga |
| http://fr.wikipedia.org/ | soupe à l'oignon | Soupe à l'oignon |
Using that data file, Golem will run the same test 4 times, using each time a different data set.
Check this out
In the third and fourth rows we used a different URL, so we can even point the same test to different environments by just changing the data sets.
Next, go to Using Page Objects


@(
util: lib.Util,
user: Option[io.apibuilder.api.v0.models.User]
)
@doc.main(routes.DocController.playRoutesFile.url, user, Some("Code Generators")) {
Generating the code for high-quality client libraries to access
services described in API Builder is one of our primary goals. API Builder
supports client generation in mulitple languages, and depending on community interest
additional languages can be contributed over time.
We spend a lot of time designing exactly how we want developers to
interact with the client libraries, and are proud of how simple
the current client libraries are to use and read. A few
specific principles guiding our work:
- Minimal Dependencies: Where possible, we prefer
client libraries that use native dependencies of web frameworks
(e.g. clients for Play Framework that require zero additional
dependencies). Where impossible, we take extra care to
minimize needed dependencies and to use the
most standard dependencies possible.
- Readability: Each client library is first written by
hand. We then automate the generation of that hand-written
client. The goal is to make the generated client
indistinguishable from a hand-written one. We will never reach
100%, but we believe we are very close.
- Single File: When you download a client from API Builder,
you will download one fully contained, fully functional
file. This makes it simple to either drop the file directly into
your project, or to build a library with the standard tooling necessary to
share the client.
Notes for Play 2.x Client
Notes for Ning Client
}


Regression Diagnostics and Specification Tests¶
Introduction¶
In many cases of statistical analysis, we are not sure whether our statistical model is correctly specified. For example when using ols, then linearity and homoscedasticity are assumed, some test statistics additionally assume that the errors are normally distributed or that we have a large sample. Since our results depend on these statistical assumptions, the results are only correct of our assumptions hold (at least approximately).
One solution to the problem of uncertainty about the correct specification is to use robust methods, for example robust regression or robust covariance (sandwich) estimators. The second approach is to test whether our sample is consistent with these assumptions.
The following briefly summarizes specification and diagnostics tests for linear regression.
Heteroscedasticity Tests¶
For these test the null hypothesis is that all observations have the same error variance, i.e. errors are homoscedastic. The tests differ in which kind of heteroscedasticity is considered as alternative hypothesis. They also vary in the power of the test for different types of heteroscedasticity.
het_breuschpagan
Lagrange Multiplier Heteroscedasticity Test by Breusch-Pagan
het_white
Lagrange Multiplier Heteroscedasticity Test by White
het_goldfeldquandt
test whether variance is the same in 2 subsamples
Autocorrelation Tests¶
This group of test whether the regression residuals are not autocorrelated. They assume that observations are ordered by time.
durbin_watson
Durbin-Watson test for no autocorrelation of residuals
printed with summary()
acorr_ljungbox
Ljung-Box test for no autocorrelation of residuals
also returns Box-Pierce statistic
acorr_breusch_godfrey
Breusch-Pagan test for no autocorrelation of residuals
- missing
?
Non-Linearity Tests¶
linear_harvey_collier
Multiplier test for Null hypothesis that linear specification is correct
acorr_linear_rainbow
Multiplier test for Null hypothesis that linear specification is correct.
acorr_linear_lm
Lagrange Multiplier test for Null hypothesis that linear specification is correct. This tests against specific functional alternatives.
spec_white
White’s two-moment specification test with null hypothesis of homoscedastic and correctly specified.
Tests for Structural Change, Parameter Stability¶
Test whether all or some regression coefficient are constant over the entire data sample.
Known Change Point¶
- OneWayLS :
flexible ols wrapper for testing identical regression coefficients across predefined subsamples (eg. groups)
- missing
predictive test: Greene, number of observations in subsample is smaller than number of regressors
Unknown Change Point¶
breaks_cusumolsresid
cusum test for parameter stability based on ols residuals
breaks_hansen
test for model stability, breaks in parameters for ols, Hansen 1992
recursive_olsresiduals
Calculate recursive ols with residuals and cusum test statistic. This is currently mainly helper function for recursive residual based tests. However, since it uses recursive updating and does not estimate separate problems it should be also quite efficient as expanding OLS function.
- missing
supLM, expLM, aveLM (Andrews, Andrews/Ploberger)
R-structchange also has musum (moving cumulative sum tests)
test on recursive parameter estimates, which are there?
Multicollinearity Tests¶
- conditionnum (statsmodels.stattools)
– needs test vs Stata –
cf Grene (3rd ed.) pp 57-8
- numpy.linalg.cond
(for more general condition numbers, but no behind the scenes help for design preparation)
- Variance Inflation Factors
This is currently together with influence and outlier measures (with some links to other tests here: http://www.stata.com/help.cgi?vif)
Normality and Distribution Tests¶
jarque_bera
printed with summary()
test for normal distribution of residuals
- Normality tests in scipy stats
need to find list again
omni_normtest
test for normal distribution of residuals
printed with summary()
normal_ad
Anderson Darling test for normality with estimated mean and variance
kstest_normal
lilliefors
Lilliefors test for normality, this is a Kolmogorov-Smirnov tes with for normality with estimated mean and variance. lilliefors is an alias for kstest_normal
qqplot, scipy.stats.probplot
- other goodness-of-fit tests for distributions in scipy.stats and enhancements
kolmogorov-smirnov
anderson : Anderson-Darling
likelihood-ratio, …
chisquare tests, powerdiscrepancy : needs wrapping (for binning)
Outlier and Influence Diagnostic Measures¶
These measures try to identify observations that are outliers, with large residual, or observations that have a large influence on the regression estimates. Robust Regression, RLM, can be used to both estimate in an outlier robust way as well as identify outlier. The advantage of RLM that the estimation results are not strongly influenced even if there are many outliers, while most of the other measures are better in identifying individual outliers and might not be able to identify groups of outliers.
RLM
example from example_rlm.py
import statsmodels.api as sm ### Example for using Huber's T norm with the default ### median absolute deviation scaling data = sm.datasets.stackloss.load() data.exog = sm.add_constant(data.exog) huber_t = sm.RLM(data.endog, data.exog, M=sm.robust.norms.HuberT()) hub_results = huber_t.fit() print(hub_results.weights)
And the weights give an idea of how much a particular observation is down-weighted according to the scaling asked for.
Influence
Class in stats.outliers_influence, most standard measures for outliers and influence are available as methods or attributes given a fitted OLS model. This is mainly written for OLS, some but not all measures are also valid for other models. Some of these statistics can be calculated from an OLS results instance, others require that an OLS is estimated for each left out variable.
resid_press
resid_studentized_external
resid_studentized_internal
ess_press
hat_matrix_diag
cooks_distance - Cook’s Distance Wikipedia (with some other links)
cov_ratio
dfbetas
dffits
dffits_internal
det_cov_params_not_obsi
params_not_obsi
sigma2_not_obsi


{% extends '__base.html' %} {% block title %} Research Groups | {{ block.super }} {% endblock %} {% block content %}
The University of Toronto is home to many computational research groups, with world class faculty and students from all around the world. Computational specialties range from fluid mechanics to machine learning. This page serves as a directory for active computational research groups at the University of Toronto.


Sense and Sensibility
by Jane Austen
Chapter XX
Additional Information
- Year Published: 1811
- Language: English
- Country of Origin: England
- Source: Austen, J. (1811). Sense and Sensibility. London, England: T. Egerton.
-
Readability:
- Flesch–Kincaid Level: 9.5
- Word Count: 2,669
- Genre: Romance
- Keywords: 19th century literature, british literature, jane austen
- ✎ Cite This
Downloads
As the Miss Dashwoods entered the drawing–room of the park the next day, at one door, Mrs. Palmer came running in at the other, looking as good humoured and merry as before. She took them all most affectionately by the hand, and expressed great delight in seeing them again.
“I am so glad to see you!” said she, seating herself between Elinor and Marianne, “for it is so bad a day I was afraid you might not come, which would be a shocking thing, as we go away again tomorrow. We must go, for the Westons come to us next week you know. It was quite a sudden thing our coming at all, and I knew nothing of it till the carriage was coming to the door, and then Mr. Palmer asked me if I would go with him to Barton. He is so droll! He never tells me any thing! I am so sorry we cannot stay longer; however we shall meet again in town very soon, I hope.”
They were obliged to put an end to such an expectation.
“Not go to town!” cried Mrs. Palmer, with a laugh, “I shall be quite disappointed if you do not. I could get the nicest house in world for you, next door to ours, in Hanover–square. You must come, indeed. I am sure I shall be very happy to chaperon you at any time till I am confined, if Mrs. Dashwood should not like to go into public.”
They thanked her; but were obliged to resist all her entreaties.
“Oh, my love,” cried Mrs. Palmer to her husband, who just then entered the room—“you must help me to persuade the Miss Dashwoods to go to town this winter.”
Her love made no answer; and after slightly bowing to the ladies, began complaining of the weather.
“How horrid all this is!” said he. “Such weather makes every thing and every body disgusting. Dullness is as much produced within doors as without, by rain. It makes one detest all one’s acquaintance. What the devil does Sir John mean by not having a billiard room in his house?
The rest of the company soon dropt in.
“I am afraid, Miss Marianne,” said Sir John, “you have not been able to take your usual walk to Allenham today.”
Marianne looked very grave and said nothing.
“Oh, don’t be so sly before us,” said Mrs. Palmer; “for we know all about it, I assure you; and I admire your taste very much, for I think he is extremely handsome. We do not live a great way from him in the country, you know. Not above ten miles, I dare say.”
“Much nearer thirty,” said her husband.
“Ah, well! There is not much difference. I never was at his house; but they say it is a sweet pretty place.”
“As vile a spot as I ever saw in my life,” said Mr. Palmer.
Marianne remained perfectly silent, though her countenance betrayed her interest in what was said.
“Is it very ugly?” continued Mrs. Palmer—“then it must be some other place that is so pretty I suppose.”
When they were seated in the dining room, Sir John observed with regret that they were only eight all together.
“My dear,” said he to his lady, “it is very provoking that we should be so few. Why did not you ask the Gilberts to come to us today?”
“Did not I tell you, Sir John, when you spoke to me about it before, that it could not be done? They dined with us last.”
“You and I, Sir John,” said Mrs. Jennings, “should not stand upon such ceremony.”
“Then you would be very ill–bred,” cried Mr. Palmer.
“My love you contradict every body,” said his wife with her usual laugh. “Do you know that you are quite rude?”
“I did not know I contradicted any body in calling your mother ill–bred.”
“Ay, you may abuse me as you please,” said the good–natured old lady, “you have taken Charlotte off my hands, and cannot give her back again. So there I have the whip hand of you.”
Charlotte laughed heartily to think that her husband could not get rid of her; and exultingly said, she did not care how cross he was to her, as they must live together. It was impossible for any one to be more thoroughly good–natured, or more determined to be happy than Mrs. Palmer. The studied indifference, insolence, and discontent of her husband gave her no pain; and when he scolded or abused her, she was highly diverted.
“Mr. Palmer is so droll!” said she, in a whisper, to Elinor. “He is always out of humour.”
Elinor was not inclined, after a little observation, to give him credit for being so genuinely and unaffectedly ill–natured or ill–bred as he wished to appear. His temper might perhaps be a little soured by finding, like many others of his sex, that through some unaccountable bias in favour of beauty, he was the husband of a very silly woman,—but she knew that this kind of blunder was too common for any sensible man to be lastingly hurt by it.— It was rather a wish of distinction, she believed, which produced his contemptuous treatment of every body, and his general abuse of every thing before him. It was the desire of appearing superior to other people. The motive was too common to be wondered at; but the means, however they might succeed by establishing his superiority in ill–breeding, were not likely to attach any one to him except his wife.
 Will you come and spend some time at Cleveland this Christmas? Now, pray do,—and come while the Westons are with us. You cannot think how happy I shall be! It will be quite delightful!—My love,” applying to her husband, “don’t you long to have the Miss Dashwoods come to Cleveland?”
“Certainly,” he replied, with a sneer—“I came into Devonshire with no other view.”
“There now,”—said his lady, “you see Mr. Palmer expects you; so you cannot refuse to come.”
They both eagerly and resolutely declined her invitation.
“But indeed you must and shall come. I am sure you will like it of all things. The Westons will be with us, and it will be quite delightful. You cannot think what a sweet place Cleveland is; and we are so gay now, for Mr. Palmer is always going about the country canvassing against the election; and so many people came to dine with us that I never saw before, it is quite charming! But, poor fellow! It is very fatiguing to him! For he is forced to make every body like him.”
Elinor could hardly keep her countenance as she assented to the hardship of such an obligation.
“How charming it will be,” said Charlotte, “when he is in Parliament!—Won’t it? How I shall laugh! It will be so ridiculous to see all his letters directed to him with an M.P.—But do you know, he says, he will never frank for me? He declares he won’t. Don’t you, Mr. Palmer?”
Mr. Palmer took no notice of her.
“He cannot bear writing, you know,” she continued— “he says it is quite shocking.”
“No,” said he, “I never said any thing so irrational.  This is always the way with him! Sometimes he won’t speak to me for half a day together, and then he comes out with something so droll—all about any thing in the world.”
She surprised Elinor very much as they returned into the drawing–room, by asking her whether she did not like Mr. Palmer excessively.
“Certainly,” said Elinor; “he seems very agreeable.”
“Well—I am so glad you do. I thought you would, he is so pleasant; and Mr. Palmer is excessively pleased with you and your sisters I can tell you, and you can’t think how disappointed he will be if you don’t come to Cleveland.—I can’t imagine why you should object to it.”
Elinor was again obliged to decline her invitation; and by changing the subject, put a stop to her entreaties. She thought it probable that as they lived in the same county, Mrs. Palmer might be able to give some more particular account of Willoughby’s general character, than could be gathered from the Middletons’ partial acquaintance with him; and she was eager to gain from any one, such a confirmation of his merits as might remove the possibility of fear from Marianne. She began by inquiring if they saw much of Mr. Willoughby at Cleveland, and whether they were intimately acquainted with him.
“Oh dear, yes; I know him extremely well,” replied Mrs. Palmer;—“Not that I ever spoke to him, indeed; but I have seen him for ever in town. Somehow or other I never happened to be staying at Barton while he was at Allenham. Mama saw him here once before;— but I was with my uncle at Weymouth. However, I dare say we should have seen a great deal of him in Somersetshire, if it had not happened very unluckily that we should never have been in the country together. He is very little at Combe, I believe; but if he were ever so much there, I do not think Mr. Palmer would visit him, for he is in the opposition, you know, and besides it is such a way off. I know why you inquire about him, very well; your sister is to marry him. I am monstrous glad of it, for then I shall have her for a neighbour you know.”
“Upon my word,” replied Elinor, “you know much more of the matter than I do, if you have any reason to expect such a match.”
“Don’t pretend to deny it, because you know it is what every body talks of. I assure you I heard of it in my way through town.”
“My dear Mrs. Palmer!”
“Upon my honour I did.—I met Colonel Brandon Monday morning in Bond–street, just before we left town, and he told me of it directly.”
“You surprise me very much. Colonel Brandon tell you of it! Surely you must be mistaken. To give such intelligence to a person who could not be interested in it, even if it were true, is not what I should expect Colonel Brandon to do.”
“But I do assure you it was so, for all that, and I will tell you how it happened. When we met him, he turned back and walked with us; and so we began talking of my brother and sister, and one thing and another, and I said to him, ‘So, Colonel, there is a new family come to Barton cottage, I hear, and mama sends me word they are very pretty, and that one of them is going to be married to Mr. Willoughby of Combe Magna. Is it true, pray? for of course you must know, as you have been in Devonshire so lately.’”
“And what did the Colonel say?”
“Oh—he did not say much; but he looked as if he knew it to be true, so from that moment I set it down as certain. It will be quite delightful, I declare! When is it to take place?”
“Mr. Brandon was very well I hope?”
“Oh! Yes, quite well; and so full of your praises, he did nothing but say fine things of you.”
“I am flattered by his commendation. He seems an excellent man; and I think him uncommonly pleasing.”
“So do I.— Mamma says he was in love with your sister too.— I assure you it was a great compliment if he was, for he hardly ever falls in love with any body.”
“Is Mr. Willoughby much known in your part of Somersetshire?” said Elinor.
“Oh! Yes, extremely well; that is, I do not believe many people are acquainted with him, because Combe Magna is so far off; but they all think him extremely agreeable I assure you. Nobody is more liked than Mr. Willoughby wherever he goes, and so you may tell your sister. She is a monstrous lucky girl to get him, upon my honour; not but that he is much more lucky in getting her, because she is so very handsome and agreeable, that nothing can be good enough for her. However, I don’t think her hardly at all handsomer than you, I assure you; for I think you both excessively pretty, and so does Mr. Palmer too I am sure, though we could not get him to own it last night.”
Mrs. Palmer’s information respecting Willoughby was not very material; but any testimony in his favour, however small, was pleasing to her.
“I am so glad we are got acquainted at last,” continued Charlotte.—“And now I hope we shall always be great friends. You can’t think how much I longed to see you! It is so delightful that you should live at the cottage! Nothing can be like it, to be sure! And I am so glad your sister is going to be well married! I hope you will be a great deal at Combe Magna. It is a sweet place, by all accounts.”
“You have been long acquainted with Colonel Brandon, have not you?”
“Yes, a great while; ever since my sister married.— He was a particular friend of Sir John’s. I believe,” she added in a low voice, “he would have been very glad to have had me, if he could. Sir John and Lady Middleton wished it very much. But mama did not think the match good enough for me, otherwise Sir John would have mentioned it to the Colonel, and we should have been married immediately.”
“Did not Colonel Brandon know of Sir John’s proposal to your mother before it was made? Had he never owned his affection to yourself?”
“Oh, no; but if mama had not objected to it, I dare say he would have liked it of all things. He had not seen me then above twice, for it was before I left school. However, I am much happier as I am. Mr. Palmer is the kind of man I like.”


diff_secuTrial.Rd
During ongoing studies it is possible that changes to the DataCapture interface
are made. Sometimes these changes may call for adjustments in analysis code.
It is considered good practice to run diff_secuTrial()
on the last export
and the current export of a project to at least make yourself aware of
potential changes to the setup. If there are differences, the results of this function should
be interpreted as a first indicator since they may not cover all alterations.
Information is returned on new forms and variables.
A detailed list of changes can be produced in the FormBuilder with
"Compare project setup".
diff_secuTrial(x, y)
| x | a |
|---|---|
| y | a |
If there are differences, diff_secuTrial()
will produce a list of vectors.
The fist vector informs about new forms and the second vector informs about
new variables.
# read exports # v1 is essentially a clone of the CTU05 setup ctu06_v1 <- read_secuTrial(system.file("extdata", "sT_exports", "change_tracking", "s_export_CSV-xls_CTU06_version1.zip", package = "secuTrialR"))#># v2 contains 2 additional forms (mnpctu06anewform, mnpctu06anothernewform) and # 2 additional variables (new_item_in_fu, new_item_in_new_form) ctu06_v2 <- read_secuTrial(system.file("extdata", "sT_exports", "change_tracking", "s_export_CSV-xls_CTU06_version2.zip", package = "secuTrialR"))#># return diff diff_secuTrial(ctu06_v1, ctu06_v2)#> $new_forms #> [1] "mnpctu06anewform" "mnpctu06anothernewform" #> #> $new_variables #> [1] "new_item_in_fu" "new_item_in_new_form" #> #> $removed_forms #> character(0) #> #> $removed_variables #> character(0) #>


Complete RESTful API¶
Here we describe the details of the REST API endpoints that are provided by StreamingBandit. Note that, with the exception of the two Core API calls, all the calls require authentication (for details see the Login API specs below).
Core API¶
The core API contains the getaction and setreward calls (or, alternatively the decision and summary step of a bandit policy).
-
GET
(?i)/getaction/(?P<exp_id>w+)
¶ Get an action given a context for a specific exp_id.
Example
- Parameters
exp_id (int) – Experiment ID as specified in the url.
key (string) – The key corresponding to the experiment.
context (optional) (JSON) – The context to be evaluated.
- Returns
A JSON that standard only includes action. When debug is toggled, it returns the context as well. When Advice ID is toggled, it will also return an Advice ID that can be used to set the reward later on.
- Raises 400
If the key is not supplied.
- Raises 401
If the key or exp_id is invalid.
-
GET
(?i)/setreward/(?P<exp_id>w+)
¶ Update the parameters and set a reward for a given experiment.
For parameters, there are two options (next to the mandatory key and exp_id). The first option is supplying all the information manually, meaning that you supply the following parameters:
Context
Action
Reward
Example
http://example.com/setreward/EXP_ID?key=KEY&context=CONTEXT &action=ACTION&reward=REWARD
When you have toggled the Advice ID in the experiment properties (second option), and have received an Advice ID from the getaction call, you only have to supply the following parameters:
Advice ID
Reward
Example
http://example.com/setreward/EXP_ID?key=KEY &advice_id=ADVICE_ID&reward=REWARD
- Parameters
exp_id (int) – Experiment ID as specified in the url.
key (string) – The key corresponding to the experiment.
context (optional) (JSON) – The context for the current update.
action (optional) (JSON) – The action for the current update.
advice_id (optional) (string) – The advice_id for the current full update loop.
reward (JSON) – The reward for the current update.
- Returns
A JSON indicating success.
- Raises 400
If key is not supplied.
- Raises 401
If the key or exp_id is invalid.
Stats API¶
The Stats API provides endpoints to retrieve data concerning running experiments. It is possible to retrieve the current state of the stored parameters, retrieve logged data, or retrieve summaries regarding the use of an experiment.
-
GET
(?i)/stats/(?P<exp_id>w+)/currenttheta
¶ Get the current theta.
Example
- Requires
A secure cookie, obtained by logging in.
- Parameters
exp_id (int) – The experiment ID for the theta that is to be retrieved.
- Returns
A JSON of the current theta.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
GET
(?i)/stats/(?P<exp_id>w+)/hourlytheta
¶ Get a dict of all logged thetas.
Example
- Requires
A secure cookie, obtained by logging in.
- Parameters
exp_id (int) – The experiment ID for the thetas that are to be retrieved.
limit (optional) (int) – Set an optional limit to the amount of logs returned.
- Returns
A list of JSONs of the hourly logged thetas.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
GET
(?i)/stats/(?P<exp_id>w+)/log
¶ Get all the (manually) logged data.
Example
- Requires
A secure cookie, obtained by logging in.
- Parameters
exp_id (int) – The experiment ID for the logs that are to be retrieved.
limit (optional) (int) – Set an optional limit to the amount of logs returned.
- Returns
A list of JSONs of the logs.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
GET
(?i)/stats/(?P<exp_id>w+)/actionlog
¶ Get all the (automatically) logged get_action data.
Example
- Requires
A secure cookie, obtained by logging in.
- Parameters
exp_id (int) – The experiment ID for the logs that are to be retrieved.
limit (optional) (int) – Set an optional limit to the amount of logs returned.
- Returns
A list of JSONs of the logs.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
GET
(?i)/stats/(?P<exp_id>w+)/rewardlog
¶ Get all the (automatically) logged set_reward data.
Example
- Requires
A secure cookie, obtained by logging in.
- Parameters
exp_id (int) – The experiment ID for the logs that are to be retrieved.
limit (optional) (int) – Set an optional limit to the amount of logs returned.
- Returns
A list of JSONs of the logs.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
GET
(?i)/stats/(?P<exp_id>w+)/simulationlog
¶ Get all the logged simulation data.
Example
- Requires
A secure cookie, obtained by logging in.
- Parameters
exp_id (int) – The experiment ID for the logs that are to be retrieved.
limit (optional) (int) – Set an optional limit to the amount of logs returned.
- Returns
A list of JSONs of the logs.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
GET
(?i)/stats/(?P<exp_id>w+)/summary
¶ - Get a summary, consisting of:
The number of get_action calls
The date of the last get_action call
The number of set_reward calls
The date of the last set_reward call
Example
- Requires
A secure cookie, obtained by logging in.
- Parameters
exp_id (int) – The experiment ID for the summary that are to be retrieved.
- Returns
A JSON object consisting of the summary.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
Evaluation API¶
The evaluation API provides the functionality to simulate the running of an experiment. Simulation will execute, in sequence, the getcontext, getaction, getreward, and setreward code as specified when creating a new experiment.
-
GET
(?i)/eval/(?P<exp_id>w+)/simulate
¶ Simulate your experiment based on four scripts, which create a closed feedback loop.
Example
http://example.com/eval/EXP_ID/simulate?N=1000&log_stats=True &verbose=True&seed=10
- Requires
A secure cookie, obtained by logging in.
- Parameters
exp_id (int) – Experiment ID as specified in the url.
N (int) – The number of simulation draws.
log_stats (bool) – Flag for logging the results in the database (default is False)
verbose (bool) – Flag for displaying the results in the returning JSON object (default is True)
seed (optional) (int) – Set numpy seed.
- Returns
A JSON indicating success when verbose flag is False, and a JSON with all the data when verbose flag is True.
- Raises 400
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
Admin API¶
The admin endpoints provide the functionality to create, alter, and delete experiments.
-
GET
(?i)/exp
¶ Retrieve a list of experiments running on this server
Example
- Requires
A secure cookie obtained by logging in.
- Returns
A JSON containing exp_id and name pairs.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
POST
(?i)/exp
¶ Create a new experiment
Example
- http://example.com/exp
- {“name”NAME, “get_context”CODE, “get_action”CODE,
“get_reward” : CODE, “set_reward” : CODE, “advice_id” : True, “hourly_theta” : True, “delta_hours” : DELTA_HOURS, “default_reward” : DEFAULT_REWARD}
Note
The parameters for the POST calls have to be posted in the body as a JSON object.
- Requires
A secure cookie obtained by logging in.
- Parameters
name (string) – Name of the experiment.
get_context (optional) (string) – String of python code for get context code.
get_action (optional) (string) – String of python code for get action code.
get_reward (optional) (string) – String of python code for get reward code.
set_reward (optional) (string) – String of python code for set reward code.
hourly_theta (bool) – Bool indicating whether the state of Theta should be stored hourly.
advice_id (bool) – Bool indicating whether the getadvice and setreward calls should return an advice_id.
delta_hours (int) – If advice_id is True, supply this to give the number of hours that an advice_id should be stored (between 0 and 99999).
default_reward (dict) – If advice_id is True, supply this to give the default reward for advice_id’s that are over their delta_hours limit.
- Returns
A JSON of the form:
{ "id" : The assigned experiment id, "name" : The name of the experiment (checked for duplicates), "error" : (Optional) error message "key" : The key for the experiment }
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
GET
(?i)/exp/defaults
¶ Get the list with default available experiments.
Example
- Requires
A secure cookie obtained by logging in.
- Returns
A JSON with the default experiments.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
GET
(?i)/exp/defaults/(?P<default_id>w+)
¶ Retrieve properties of a default experiment.
Example
- Requires
A secure cookie obtained by logging in.
- Parameters
default_id (int) – The ID of the default experiment.
- Returns
A JSON containing the experiment properties.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
GET
(?i)/exp/(?P<exp_id>w+)
¶ Retrieve a specific experiment running on this server
Example
- Requires
A secure cookie obtained by logging in.
- Parameters
exp_id (int) – Experiment ID for the experiment that is to be retrieved.
- Returns
A JSON containing all the info for the expriment.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
DELETE
(?i)/exp/(?P<exp_id>w+)
¶ Delete an experiment
Example
- Requires
A secure cookie obtained by logging in.
- Parameters
exp_id (int) – The ID of the experiment to be deleted.
- Returns
A JSON showing the deleted experiment.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
PUT
(?i)/exp/(?P<exp_id>w+)
¶ Edit an experiment
Example
http://example.com/exp/EXP_ID {“name” : NAME, “getcontext” : CODE, “getaction” : CODE,
“getreward” : CODE, “setreward” : CODE, “advice_id” : True, “hourly_theta” : True, “delta_hours” : DELTA_HOURS, “default_reward” : DEFAULT_REWARD}
Note
The parameters for the PUT calls have to be posted in the body as a JSON object.
- Requires
A secure cookie obtained by logging in.
- Parameters
name (string) – Name of the experiment.
get_context (optional) (string) – String of python code for get context code.
get_action (optional) (string) – String of python code for get action code.
get_reward (optional) (string) – String of python code for get reward code.
set_reward (optional) (string) – String of python code for set reward code.
hourly_theta (bool) – Bool indicating whether the state of Theta should be stored hourly.
advice_id (bool) – Bool indicating whether the getAdvice and setReward calls should return an advice_id.
delta_hours (int) – If advice_id is True, supply this to give the number of hours that an advice_id should be stored.
default_reward (dict) – If advice_id is True, supply this to give the default reward for advice_id’s that are over their delta_hours limit.
- Returns
A JSON indicating success.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
GET
(?i)/exp/(?P<exp_id>w+)/resetexperiment
¶ Reset the theta of an experiment.
Example
http://example.com/exp/EXP_ID/resetexperiment?key=KEY &theta_key=THETA_KEY&theta_value=THETA_VALUE
- Requires
A secure cookie obtained by logging in.
- Parameters
exp_id (int) – The experiment ID.
key (string) – The key of the experiment.
theta_key (optional) (string) – The key for theta used when setting theta in the setReward and getAction code.
theta_value (optional) (string) – The value for theta used when setting theta in the setReward and getAction code.
- Raises 401
If the theta_key or theta_value does not exist or is not valid.
- Raises 401
If the experiment does not belong to this user or the exp_id is wrong.
- Raises 401
If user is not logged in or if there is no secure cookie available.
-
POST
(?i)/user
¶ Add a user to StreamingBandit.
Example
http://example.com/user {“username” : USERNAME, “password” : PASSWORD}
Note
The parameters for the POST calls have to be posted in the body as a JSON object.
- Parameters
username (string) – The preferred username.
password (string) – The preferred password.
- Returns
JSON indicating success.
- Raises 400
If user with username already exists.
Login API¶
The login API provides secure authentication.
-
POST
(?i)/login
¶ Handler to login and retrieve a secure cookie.
Example
http://example.com/login {“username” : USERNAME, “password” : PASSWORD}
Note
The parameters for the POST calls have to be posted in the body as a JSON object.
- Parameters
username (string) – Experiment ID as specified in the url.
password (string) – The number of simulation draws.
- Raises 401
If wrong username or password.
-
GET
(?i)/logout
¶ Handler to logout and clear the set secure cookie.
Example


Uses of Interface
com.opengamma.strata.product.Trade
-
Packages that use Trade Package Description com.opengamma.strata.loader.csv Loader that reads market data from CSV files.com.opengamma.strata.loader.fpml Loader that can convert files to financial instruments.com.opengamma.strata.market.curve Definitions of curves.com.opengamma.strata.product Entity objects describing trades and products in financial markets.com.opengamma.strata.product.bond Entity objects describing bonds.com.opengamma.strata.product.capfloor Entity objects describing Ibor cap/floor.com.opengamma.strata.product.cms Entity objects describing Constant Maturity Swap (CMS) or CMS cap/floor.com.opengamma.strata.product.common Entity objects shared between other packages.com.opengamma.strata.product.credit Entity objects describing Credit Default Swap (CDS) and CDS index.com.opengamma.strata.product.deposit Entity objects describing financial instruments representing a simple deposit with interest.com.opengamma.strata.product.dsf Entity objects describing Deliverable Swap Futures (DSFs).com.opengamma.strata.product.etd Entity objects describing Exchange Traded Derivatives (ETDs).com.opengamma.strata.product.fra Entity objects describing a forward rate agreement (FRA).com.opengamma.strata.product.fx Entity objects describing financial instruments in the foreign exchange market.com.opengamma.strata.product.fxopt Entity objects describing options in the foreign exchange market.com.opengamma.strata.product.index Entity objects describing contracts based on rate indices.com.opengamma.strata.product.payment Entity objects describing simple payment financial instruments.com.opengamma.strata.product.swap Entity objects describing a swap.com.opengamma.strata.product.swaption Entity objects describing options on swaps, known as swaptions.com.opengamma.strata.report.framework.expression Provide the ability to extract data using textual expressions. -
-
Uses of Trade in com.opengamma.strata.loader.csv
Classes in com.opengamma.strata.loader.csv with type parameters of type Trade Modifier and Type Interface Description interface
TradeCsvWriterPlugin<T extends Trade>
Pluggable CSV trade writer.Methods in com.opengamma.strata.loader.csv with type parameters of type Trade Modifier and Type Method Description default <T extends Trade>
TTradeCsvInfoResolver. completeTradeCommon(CsvRow row, T trade)
Completes the trade, potentially parsing additional columns.<T extends Trade>
ValueWithFailures<List<T>>TradeCsvLoader. parse(Collection<CharSource> charSources, Class<T> tradeType)
Parses one or more CSV format trade files with a quiet type filter.Methods in com.opengamma.strata.loader.csv that return types with arguments of type Trade Modifier and Type Method Description ValueWithFailures<List<Trade>>
TradeCsvLoader. load(ResourceLocator... resources)
Loads one or more CSV format trade files.ValueWithFailures<List<Trade>>
TradeCsvLoader. load(Collection<ResourceLocator> resources)
Loads one or more CSV format trade files.default Optional<Trade>
TradeCsvInfoResolver. overrideParseTrade(String typeUpper, CsvRow row, TradeInfo info)
Parses any kind of trade from CSV before standard matching.ValueWithFailures<List<Trade>>
TradeCsvLoader. parse(Collection<CharSource> charSources)
Parses one or more CSV format trade files.ValueWithFailures<List<Trade>>
TradeCsvLoader. parse(Collection<CharSource> charSources, List<Class<? extends Trade>> tradeTypes)
Parses one or more CSV format trade files with an error-creating type filter.default Optional<Trade>
TradeCsvInfoResolver. parseOtherTrade(String typeUpper, CsvRow row, TradeInfo info)
Parses any kind of trade from CSV after standard matching.Optional<Trade>
FxNdfTradeCsvPlugin. parseTrade(Class<?> requiredJavaType, CsvRow baseRow, List<CsvRow> additionalRows, TradeInfo info, TradeCsvInfoResolver resolver)
Optional<Trade>
FxSingleBarrierOptionTradeCsvPlugin. parseTrade(Class<?> requiredJavaType, CsvRow baseRow, List<CsvRow> additionalRows, TradeInfo info, TradeCsvInfoResolver resolver)
Optional<Trade>
IborCapFloorTradeCsvPlugin. parseTrade(Class<?> requiredJavaType, CsvRow baseRow, List<CsvRow> additionalRows, TradeInfo info, TradeCsvInfoResolver resolver)
Optional<Trade>
SecurityTradeCsvPlugin. parseTrade(Class<?> requiredJavaType, CsvRow baseRow, List<CsvRow> additionalRows, TradeInfo info, TradeCsvInfoResolver resolver)
Optional<Trade>
TradeCsvParserPlugin. parseTrade(Class<?> requiredJavaType, CsvRow baseRow, List<CsvRow> additionalRows, TradeInfo info, TradeCsvInfoResolver resolver)
Parses a single CSV format trade from the input.Methods in com.opengamma.strata.loader.csv with parameters of type Trade Modifier and Type Method Description default List<String>
TradeCsvInfoSupplier. headers(Trade trade)
Returns the list of additional headers this supplier provides.default Map<String,String>
TradeCsvInfoSupplier. values(List<String> headers, Trade trade)
Gets the values associated with the headers.Method parameters in com.opengamma.strata.loader.csv with type arguments of type Trade Modifier and Type Method Description ValueWithFailures<List<Trade>>
TradeCsvLoader. parse(Collection<CharSource> charSources, List<Class<? extends Trade>> tradeTypes)
Parses one or more CSV format trade files with an error-creating type filter.void
TradeCsvWriter. write(List<? extends Trade> trades, Appendable output)
Write trades to an appendable in the applicable full details trade format. -
Uses of Trade in com.opengamma.strata.loader.fpml
Methods in com.opengamma.strata.loader.fpml that return Trade Modifier and Type Method Description Trade
FpmlParserPlugin. parseTrade(FpmlDocument document, XmlElement tradeEl)
Parses a single FpML format trade.Methods in com.opengamma.strata.loader.fpml that return types with arguments of type Trade Modifier and Type Method Description List<Trade>
FpmlDocumentParser. parseTrades(ByteSource source)
Parses FpML from the specified source, extracting the trades.List<Trade>
FpmlDocumentParser. parseTrades(XmlElement fpmlRootEl, Map<String,XmlElement> references)
Parses the FpML document extracting the trades.List<Trade>
FpmlDocumentParser. parseTrades(XmlFile xmlFile)
Parses FpML from the specified XML document, extracting the trades. -
Uses of Trade in com.opengamma.strata.market.curve
Methods in com.opengamma.strata.market.curve that return Trade Modifier and Type Method Description Trade
CurveNode. trade(double quantity, MarketData marketData, ReferenceData refData)
Creates a trade representing the instrument at the node. -
Uses of Trade in com.opengamma.strata.product
Subinterfaces of Trade in com.opengamma.strata.product Modifier and Type Interface Description interface
ProductTrade
A trade that is directly based on a product.interface
ResolvableSecurityTrade
A trade that has a security identifier that can be resolved using reference data.interface
ResolvableTrade<T extends ResolvedTrade>
A trade that can to be resolved using reference data.interface
SecuritizedProductTrade<P extends SecuritizedProduct>
A trade that is directly based on a securitized product.interface
SecurityQuantityTrade
A trade that is based on security, quantity and price.Classes in com.opengamma.strata.product that implement Trade Modifier and Type Class Description class
GenericSecurityTrade
A trade representing the purchase or sale of a security, where the security is embedded ready for mark-to-market pricing.class
SecurityTrade
A trade representing the purchase or sale of a security, where the security is referenced by identifier.Methods in com.opengamma.strata.product that return Trade Modifier and Type Method Description Trade
Trade. withInfo(PortfolioItemInfo info)
Returns an instance with the specified info. -
Uses of Trade in com.opengamma.strata.product.bond
Classes in com.opengamma.strata.product.bond that implement Trade Modifier and Type Class Description class
BillTrade
A trade representing a bill.class
BondFutureOptionTrade
A trade representing an option on a futures contract based on bonds.class
BondFutureTrade
A trade representing a futures contract based on a fixed coupon bond.class
CapitalIndexedBondTrade
A trade representing a capital indexed bond.class
FixedCouponBondTrade
A trade representing a fixed coupon bond. -
Uses of Trade in com.opengamma.strata.product.capfloor
Classes in com.opengamma.strata.product.capfloor that implement Trade Modifier and Type Class Description class
IborCapFloorTrade
A trade in an Ibor cap/floor. -
Uses of Trade in com.opengamma.strata.product.cms
Classes in com.opengamma.strata.product.cms that implement Trade Modifier and Type Class Description class
CmsTrade
A trade in a constant maturity swap (CMS). -
Uses of Trade in com.opengamma.strata.product.common
Methods in com.opengamma.strata.product.common with parameters of type Trade Modifier and Type Method Description static PortfolioItemSummary
SummarizerUtils. summary(Trade trade, ProductType type, String description, Currency... currencies)
Creates a summary instance for a trade. -
Uses of Trade in com.opengamma.strata.product.credit
Classes in com.opengamma.strata.product.credit that implement Trade Modifier and Type Class Description class
CdsCalibrationTrade
A trade in a single-name credit default swap (CDS) used for credit curve calibration.class
CdsIndexCalibrationTrade
A trade in a CDS index used for credit curve calibration.class
CdsIndexTrade
A trade in a CDS index.class
CdsTrade
A trade in a single-name credit default swap (CDS). -
Uses of Trade in com.opengamma.strata.product.deposit
Classes in com.opengamma.strata.product.deposit that implement Trade Modifier and Type Class Description class
IborFixingDepositTrade
A trade in an Ibor fixing deposit.class
TermDepositTrade
A trade in a term deposit. -
Uses of Trade in com.opengamma.strata.product.dsf
Classes in com.opengamma.strata.product.dsf that implement Trade Modifier and Type Class Description class
DsfTrade
A trade representing a futures contract based on an interest rate swap. -
Uses of Trade in com.opengamma.strata.product.etd
Subinterfaces of Trade in com.opengamma.strata.product.etd Modifier and Type Interface Description interface
EtdTrade
A trade in an exchange traded derivative (ETD).Classes in com.opengamma.strata.product.etd that implement Trade Modifier and Type Class Description class
EtdFutureTrade
A trade representing an ETD future.class
EtdOptionTrade
A trade representing an ETD option. -
Uses of Trade in com.opengamma.strata.product.fra
Classes in com.opengamma.strata.product.fra that implement Trade Modifier and Type Class Description class
FraTrade
A trade in a forward rate agreement (FRA). -
Uses of Trade in com.opengamma.strata.product.fx
Subinterfaces of Trade in com.opengamma.strata.product.fx Modifier and Type Interface Description interface
FxOptionTrade
A foreign exchange option trade such as a FxVanillaOptionTrade.interface
FxTrade
A foreign exchange trade, such as an FX forward, FX spot or FX option.Classes in com.opengamma.strata.product.fx that implement Trade Modifier and Type Class Description class
FxNdfTrade
A trade in a Non-Deliverable Forward (NDF).class
FxSingleTrade
A foreign exchange trade, such as an FX forward or FX spot.class
FxSwapTrade
A trade in an FX swap. -
Uses of Trade in com.opengamma.strata.product.fxopt
Classes in com.opengamma.strata.product.fxopt that implement Trade Modifier and Type Class Description class
FxSingleBarrierOptionTrade
A trade in an FX single barrier option.class
FxVanillaOptionTrade
A trade in a vanilla FX option. -
Uses of Trade in com.opengamma.strata.product.index
Classes in com.opengamma.strata.product.index that implement Trade Modifier and Type Class Description class
IborFutureOptionTrade
A trade representing an option on a futures contract based on an Ibor index.class
IborFutureTrade
A trade representing a futures contract based on an Ibor index.class
OvernightFutureTrade
A trade representing a futures contract based on an Overnight index. -
Uses of Trade in com.opengamma.strata.product.payment
Classes in com.opengamma.strata.product.payment that implement Trade Modifier and Type Class Description class
BulletPaymentTrade
A bullet payment trade. -
Uses of Trade in com.opengamma.strata.product.swap
Classes in com.opengamma.strata.product.swap that implement Trade Modifier and Type Class Description class
SwapTrade
A trade in a rate swap. -
Uses of Trade in com.opengamma.strata.product.swaption
Classes in com.opengamma.strata.product.swaption that implement Trade Modifier and Type Class Description class
SwaptionTrade
A trade in an option on an underlying swap. -
Uses of Trade in com.opengamma.strata.report.framework.expression
Methods in com.opengamma.strata.report.framework.expression that return types with arguments of type Trade Modifier and Type Method Description Class<Trade>
TradeTokenEvaluator. getTargetType()
Methods in com.opengamma.strata.report.framework.expression with parameters of type Trade Modifier and Type Method Description EvaluationResult
TradeTokenEvaluator. evaluate(Trade trade, CalculationFunctions functions, String firstToken, List<String> remainingTokens)
Set<String>
TradeTokenEvaluator. tokens(Trade trade)
-


Should Alphabet's Fitbit Acquisition Scare Garmin Investors?
The landscape may be changing in the fitness wearables category.
by Howard Smith (TMFBuilt2Last)GPS device maker, Garmin (NASDAQ:GRMN) has worked toward diversifying away from reliance on automotive personal navigation devices as that market has declined with GPS now commonly built in, or conveniently available as a phone app.A part of Garmin's strategy has shifted to fitness wearables, and Alphabet's (NASDAQ:GOOGL) (NASDAQ:GOOG) announced acquisition of Fitbit (NYSE:FIT) may be a new threat to Garmin's business. This is one of the big risks of investing in tech stocks: the potential of being disrupted. \
Any impact will depend both on Alphabet's intentions, and the parts of Garmin's business that may overlap.
A look at the business
Garmin has been in business for almost 30 years, and has delivered more than 200 million products. The five reportable business segments offer a diverse mix of GPS-enabled solutions designed for those that embrace the active outdoor lifestyle. In its own words, "In general, Garmin believes that its products are known for their value, high performance, ease of use, innovation, and ergonomics."
Auto, which was once its largest segment, offers personal navigation devices, including GPS navigation, DashCams, and backup cameras. The non-auto segments have grown to become more than 80% of total revenues. The outdoor category includes handheld devices for camping and hiking, adventure watches with multi-sport features, golf devices, and dog tracking and training devices. Fitness focuses on running and multi-sport watches, a cycling product line, and activity tracking devices. Marine includes chartplotters, cartography, fishfinders, and other items for boaters. Aviation provides solutions to aircraft manufacturers and existing owners, as well as government/defense customers.
What's the risk?
Since smartphones with GPS and navigation apps became ubiquitous, Garmin has been highly successful by focusing on growing its non-auto business segments. Below shows the annual growth rates of the segments since 2016.
| Business Segment | Compound Annual Growth Rate |
|---|---|
| Fitness | 10.5% |
| Outdoor | 22.2% |
| Aviation | 16.2% |
| Marine | 15.6% |
| Auto | -16.3% |
Data Source: Garmin financial filings. Calculated 2016 through third quarter 2019.
With this transformation, Garmin has been less and less affected by the shrinking automotive PND market. But with Alphabet taking control of Fitbit's business, let's look at how much at risk Garmin is from what may become new competition. The following shows how Garmin's segment revenues mix has changed since 2016.
| Segment | 2019* | 2018 | 2017 | 2016 |
|---|---|---|---|---|
| Fitness | 25% | 26% | 25% | 27% |
| Aviation | 20% | 18% | 16% | 14% |
| Outdoor | 24% | 24% | 22% | 18% |
| Marine | 15% | 13% | 12% | 11% |
| Auto | 16% | 19% | 25% | 30% |
*Through Sept. 28, 2019. Data Source: Garmin financial filings
The transition from auto has evolved to increase the contributions from the other parts of the business. Fitness has grown to a current level of around 25% of Garmin's business, and with even faster growth rates, the other non-auto segments are also becoming more and more meaningful.
More room to run
While a quarter of the business is significant, the fitness category is much more than activity trackers. Garmin doesn't break out the different devices within each segment. But being the newest of the fitness devices, it's probably safe to say that it's not the majority of that segment.
Alphabet hasn't yet said exactly what it might have up its sleeve for Fitbit, but if it stays true to the core business, it may be looking to pivot from fitness tracking to more comprehensive health tracking and management. Garmin's offerings in fitness and outdoor help support the many activities that have become more and more popular like races, trail running and triathlons. This has not been the focus of Fitbit's products, as it has aimed more squarely on daily activity tracking.
Unless Alphabet is targeting Garmin's overall market specifically, this acquisition will not likely have a major impact on the business. Garmin is much more than just a fitness device company, and the strength of its technology and of those other segments should continue to drive growth, regardless of whether the specific fitness tracking devices now have new competition.


Name
Callback Info
Send callbacks
Allow list users
Actions
[Name]
[Callback info]
Yes
Yes
Actions
Edit
Delete


The classes defined in the pyodec.core namespace. These are used by developers to create new decoder objects, compliant with the Pyodec decoder rule set.
The root decoer object, primarily controls and standardizes interaction between
the location of the FixedVariableList object within a Decoder
Get a numpy-recarray-compliant datatype statement which can be used to create a recarray from any single observation.
Get all the variables in a list of dictionaries describing them and containing their data.
alias of FixedVariableList.getvars() for the Decoder object’s contained FixedVariableList object.
Get all the variables in a list of dictionaries describing them.
alias of VariableList.getvars() for the Decoder object’s contained VariableList object.
Predefine another Decoder descendant to inherit variables from on __init__()
Return the integer array index of the variable column named varname. This value can be used in conjunction with a returned array of data to extract a single known column (if you do not wish to compile the data int a recarray)
alias of VariableList.get_index() for the Decoder object’s contained VariableList object.
Holds the decoder class’ VariableList object.
VariableLists are a class attribute, which allows the developer to define the vars value without rewriting the __init__() method. Variables should be either a constant for all uses of the decoder, or a variable that changes in the process of decoding. Thus, this may limit the ability to execute multiple decoders in a thread.
The inheritable class for a decoder of files.
run the contained decode_proc as either a generator or a procedural decoder. If run as a generator, generator=True.
A predefined version of the decode_proc function that can be used for instances where decoding only requires opening the file and passing it to the self.read_chunks(...) method.
class MyDecoder(FileDecoder):
...
def decode_proc(self, path, limit=1000, *kwargs):
return self.decode_chunks(path, limit, begin=chr(2), **kwargs)
A precompiled generator-based decoder allowing line-decoding without having to write the standard modules - if the default options are all that are needed.
class MyDecoder(FileDecoder):
...
def decode_proc(self, *args, *kwargs):
return self.decode_lines(*args, **kwargs)
mandatory developer defined function this should be a standardized function - defined by the decoder which takes a file path, and opens it, and calls read_lines or read_chunks and then returns the data those two functions produce.
Alternatively, you can not decode it, and use the default. But, it really won’t work for most applications. Sorry.
return a tuple from an observation – defined by the specific decoder. return False if the ob should be skipped
return a tuple whose indices correspond to those of varlist. return False if the ob should be skipped
generator form of chunk reading
Handle reading a file line-by-line, throwing each received line in a file (split by for line in file:) to the self.on_line string decoder.
If self.on_line returns something falsey, then it is skipped, otherwise it is appended to a list, and once the length of that list is equal to that of limit, it is yielded to the decode_proc which called it, and thus to the decoding process.
A reading process can throw updates if it wishes. The default self._throw_updates must be set to true.
A holder for storing, manipluating and interacting with variables which are fixed with relation to the returned dataset. These inlude the AGL heights of a fixed-gate remote sensor, beam names, elevation angles, etc.
Append a fixed variable to the set of variables. Provide a name, unit, data type and the value of the fixed variable (an array of heights, angles, whatever)
| Todo: | Remove dtype, add long-description |
|---|
Get all the fixed variables from the set as a list of dictionaries with keys of
Just a wrapper for the decoder class, because message decoders can (and should) contain a varlist just as the main decoders
the decode method should be refactored, and used to decode a string message
the requrements of the varaible list are somewhat strict, it must provide information regarding the names of the variables, their ranges, data conversions and units.
Add a variable to the variable list.
This utility will produce the numpy recarray dtype entry for the pytable which will hold the data contained within.
This description could be used to create a recarray of the returned data.
To insert into pytables as a description, create the array with
np.array([],dtype=decoder.vars.dtype())
return the index of the variable with the name varname
return a dictionary of values for a specific variable identified by the variable name given.
return a dictionary of values for a variable identified by index i
Return a list of dictionaries describing all the variables in the set.


Stay up to date with ecommerce trends with Shopify's newsletter
Subscribe to shopify's weekly newsletter for free marketing tips
Sign up now
Please enter a valid email address
Unsubscribe at any time


Team Liquid
Team Secret
PSG.LGD
OG
Evil Geniuses
VGJ.Thunder
Invictus Gaming
Mineski
January 9—10th
January 11–13th


Our staff team is varied and diverse with individual skills that are applied to every task they carry out. To compliment these skills all staff are given training specific to the services that we offer and these are maintained to meet changing standards.
All staff hold a current DBS (formerly CRB).
Since begining in 2001 We have grown and become the standard for the industry within the 3 counties area.
Ann started Purple in 2001 after working of local authority for 25 years as a social worker. Her lifes passion is helping others and ensuring every child gets a childhood they deserve.
Peter joined soon after Purple was founded.
One of our longest running staff, Tracey has filled almost every role available from family support worker to duty manager.
We value diversity and difference to work in a non-discriminatory organisation.
We provide a service that delivers on time in a professional manner that is cost effective.
We aim to place emphasis on developing and maintaing positive working relationships. Parents, carer's, young people, and other professional bodies.
We promote a culture where children and young people feel safe, listened to and respected.


With this research I could...
85
Your story is important to email the author, read why.
Add to wish list


Turkey’s Erdogan warns that it can release ISIS prisoners back to Europe
by Edmund DeMarcheTurkish President Recep Tayyip Erdogan on Tuesday issued a chilling threat to Europe over looming sanctions over Ankara's unauthorized drilling in the Mediterranean: penalize us and we'll release ISIS prisoners back to European countries.
IS THIS THE FUTURE LEADER OF ISIS?
"You should revise your stance toward Turkey, which holds so many IS members in prison and controls them in Syria," he told reporters.
The Associated Press reported that his comments were in response to the European Union’s unveiling of a system for imposing sanctions on Turkey over drilling off Cyprus. He made the comments while speaking to reporters prior to a trip to the U.S. to meet with President Trump.
Erdogan also said Turkey would continue repatriating foreign Islamic State militants to their home countries, even if these countries decline to take them back.
His move to use ISIS prisoners as a bargaining chip is a troubling turn. Turkey's motivation for the offensive has been debated and Ankara has been accused of poor planning and security standards at these so-called prisons.
Early in the invasion, more than 100 ISIS fighters who were being held in Kurdish prisons in the country are now on the loose in the days after the invasion.
Trump gave Ankara a green light for an offensive in Syria last month. The decision sent shockwaves through the region and Washington, with U.S. officials telling Fox News that top Pentagon officials were “completely blindsided” and “shocked” by the order to pull back hundreds of U.S. troops, a move that effectively green-lights the Turkey operation.
Sen. Chuck Schumer, D-N.Y., took to Twitter last week to criticize Trump for rolling out the welcome mat for Erdogan, "an autocrat whose actions threaten our allies & partners."

Fox News' Greg Norman and the Associated Press contributed to this report


Home
About
Products
Vehicles
Cars
Volkswagen
Bmw
Audi
Jeeps
Land Rover
Toyota
Jeep
Trucks
Volvo
Scania
Renault
Audi
Volkswagen
Tuning
Parts
Where to find us?


New parent:
Removed parent:
New child:
New lens:
Removed child:
New tag:
Removed tag:
Used as tag for:
Not a tag for:
New requirement:
Removed requirement:
Required for:
Not required for:
Teaches:
Doesn't teach:
Taught by:
Not taught by:
Search string added:
Search string removed:
Answer added:
Answer removed:
Lens order was changed.
Path order was changed.
Alias changed
from "{{::changeLog.oldSettingsValue}}"
to "{{::changeLog.newSettingsValue}}"
Child sort order changed
from "{{::changeLog.oldSettingsValue}}"
to "{{::changeLog.newSettingsValue}}"
Vote type changed
from "{{::changeLog.oldSettingsValue}}"
to "{{::changeLog.newSettingsValue}}"
Edit group changed
from "{{::changeLog.oldSettingsValue}}"
to "{{::changeLog.newSettingsValue}}"
Probability bar shown
Probability bar hidden
Settings changed
Deleted page
Republished page
New edit (#{{::changeLog.edit}})
— {{::changeLog.newSettingsValue}}
New edit proposal (#{{::changeLog.edit}})
— {{::changeLog.newSettingsValue}}
Reverted to edit #{{::changeLog.edit}}
New snapshot (edit #{{::changeLog.edit}})
Unknown activity type: {{::changeLog.type}}


Add the package to package.json with name and version
After this, run the npm install command to install the missing packages
Use this command, to initialie new npm project. Useful when you want to upload a library to npm
$ npm init
Used as an alternative to:
$ node app
Use this instead
$ nodemon app
This runs the server in another way, so that we can restart the server without having to shut it down.
Other than this, it rebuilds the server from scratch everytime there is a change.
This means that when we type something in the app.js file, the server automatically restarts and implement the change.
NEVER USE IN PRODUCTION :)
Use this for requests in the future, since the package named requests is going to be deprecated
$ npx budo index.js --live --open
Using the npx budo commmand to run the index.js file with live reload flag and the open flag.
Opens up the browser.
$ npm run [scriptname]
Add it to package.json in the top as
{
"scripts": {
"start": "node app.js",
"start-dev": "nodemon app.js"
},
dependencies: {
"express": "^4.17.1"
}
}
"start" script starts the app,
"start-dev" runs the app in developer mode (DO NOT USE IN PRODUCTION)
Another example is
"scripts": {
"start": "cross-env PORT=80 node app.js",
"start-dev": "cross-env PORT=8686 nodemon app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
Which uses platform independent environment variables to enable cross platform execution.
If you set the port number in our express server to the following
process.env.PORT || 3000
It is possible to run the application by writing
$ node app.js
And it will start to listen on port 3000
If you want it to listen to another port you can do the following
$ PORT=8080 node app.js
And now it will listen to port 8080.
Install cross-env
$ npm install --save-dev cross-env
now you can define what port to run on by typing the following
$ cross-env PORT=80 node app.js
And it works on Windows/Unix/OSX