|
Android SDK |
Public Member Functions | |
| void | updateMember (long memberId, String name, boolean admin, IResultCallback callback) |
| void | updateMember (MemberWrapperBean memberWrapperBean, IResultCallback callback) |
| void | updateMemberRole (long memberId, boolean admin, IResultCallback callback) |
| void | addMember (long mHomeId, String countryCode, String userAccount, String name, boolean admin, ITuyaMemberResultCallback callback) |
| void | addMember (MemberWrapperBean memberWrapperBean, ITuyaDataCallback< MemberBean > callback) |
| void | removeMember (long memberId, IResultCallback callback) |
| void | queryMemberList (long mHomeId, ITuyaGetMemberListCallback callback) |
| void | getMemberDeviceList (long relationId, ITuyaDataCallback< Map< String, Object >> callback) |
| void | getAuthRoomList (long homeId, long memberId, ITuyaDataCallback< List< RoomAuthBean >> callback) |
| void | saveAuthRoomList (long homeId, long memberId, List< Long > rooms, IResultCallback callback) |
| void | getAuthSceneList (long homeId, long memberId, ITuyaDataCallback< List< SceneAuthBean >> callback) |
| void | saveAuthSceneList (long homeId, long memberId, List< String > ruleIds, IResultCallback callback) |
| void | addMemberAccount (long id, String countryCode, String userAccount, boolean admin, IResultCallback callback) |
| void | addMemberAccount (long id, String countryCode, String userAccount, @MemberRole int role, IResultCallback callback) |
| void | uploadMemberAvatar (String filename, final File file, final IBooleanCallback callback) |
| void | processInvitation (long homeId, boolean action, final IResultCallback callBack) |
| void | getInvitationMessage (long homeId, ITuyaDataCallback callback) |
| void | getInvitationFamilyInfo (String inviteCode, ITuyaDataCallback callback) |
| void | reInviteMember (long invitationId, ITuyaDataCallback callback) |
| void | cancelMemberInvitationCode (long invitationId, IResultCallback callback) |
| void | getInvitationList (long homeId, ITuyaDataCallback callback) |
Provide the ability to manage family members.
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.addMember | ( | long | mHomeId, |
| String | countryCode, | ||
| String | userAccount, | ||
| String | name, | ||
| boolean | admin, | ||
| ITuyaMemberResultCallback | callback | ||
| ) |
Adding a new member to a family (old).
| countryCode | Country identification |
| userAccount | Account info of a user |
| name | Remark name of the member in this family |
| admin | Set to true if he is an administrator |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.addMember | ( | MemberWrapperBean | memberWrapperBean, |
| ITuyaDataCallback< MemberBean > | callback | ||
| ) |
Adding a new member to a family (recommend).
| memberWrapperBean | Simple packaging of member information MemberWrapperBean |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.addMemberAccount | ( | long | id, |
| String | countryCode, | ||
| String | userAccount, | ||
| @MemberRole int | role, | ||
| IResultCallback | callback | ||
| ) |
Associate account for family member (recommend).
| id | Member identification |
| countryCode | Country identification |
| userAccount | Desired associated account |
| role | The role of this member in family. |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.addMemberAccount | ( | long | id, |
| String | countryCode, | ||
| String | userAccount, | ||
| boolean | admin, | ||
| IResultCallback | callback | ||
| ) |
Associate account for family member.
| id | Member identification |
| countryCode | Country identification |
| userAccount | Desired associated account |
| admin | Set to true if he is an administrator |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.cancelMemberInvitationCode | ( | long | invitationId, |
| IResultCallback | callback | ||
| ) |
Cancel the invitation of family member.
| invitationId | Invitation record id |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.getAuthRoomList | ( | long | homeId, |
| long | memberId, | ||
| ITuyaDataCallback< List< RoomAuthBean >> | callback | ||
| ) |
Get the authorization status of the specified family members for the rooms under the current family.
| homeId | Home identification |
| memberId | Member identification |
| callback | Result callback, returns each room's auth status. RoomAuthBean |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.getAuthSceneList | ( | long | homeId, |
| long | memberId, | ||
| ITuyaDataCallback< List< SceneAuthBean >> | callback | ||
| ) |
Get the authorization status of the specified family members for the scenes under the current family.
| homeId | Home identification |
| memberId | Member identification |
| callback | Result callback, returns each room's auth status. SceneAuthBean |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.getInvitationFamilyInfo | ( | String | inviteCode, |
| ITuyaDataCallback | callback | ||
| ) |
Get information about the family to which the current invitation code belongs.
| inviteCode | Invitation code |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.getInvitationList | ( | long | homeId, |
| ITuyaDataCallback | callback | ||
| ) |
Get Family Invitation Records.
| homeId | Home identification |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.getInvitationMessage | ( | long | homeId, |
| ITuyaDataCallback | callback | ||
| ) |
Get sharing invitation information.
| homeId | Home identification |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.getMemberDeviceList | ( | long | relationId, |
| ITuyaDataCallback< Map< String, Object >> | callback | ||
| ) |
Get family members' associated devices.
| relationId | Member identification |
| callback | Result callback, device map, now only support jjaf type devices |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.processInvitation | ( | long | homeId, |
| boolean | action, | ||
| final IResultCallback | callBack | ||
| ) |
Accept or reject family invitation.
| homeId | Home identification |
| action | Set true if accept, or false when reject invitation. |
| callBack | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.queryMemberList | ( | long | mHomeId, |
| ITuyaGetMemberListCallback | callback | ||
| ) |
Search for members under the current family.
| callback | Result callback, see returns data format from MemberBean |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.reInviteMember | ( | long | invitationId, |
| ITuyaDataCallback | callback | ||
| ) |
Re-invite the family member.
| invitationId | Invitation record id |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.removeMember | ( | long | memberId, |
| IResultCallback | callback | ||
| ) |
Remove a member from the family to which he belongs.
| memberId | Member identification |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.saveAuthRoomList | ( | long | homeId, |
| long | memberId, | ||
| List< Long > | rooms, | ||
| IResultCallback | callback | ||
| ) |
Save the authorization of a family member for rooms under the current family.
| homeId | Home identification |
| memberId | Member identification |
| rooms | List of rooms you wish to authorize or deauthorize, each item in list should be the id of room. |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.saveAuthSceneList | ( | long | homeId, |
| long | memberId, | ||
| List< String > | ruleIds, | ||
| IResultCallback | callback | ||
| ) |
Save the authorization of a family member for scenes under the current family.
| homeId | Home identification |
| memberId | Member identification |
| ruleIds | List of rules you wish to authorize or deauthorize, each item in list should be the id of scene. |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.updateMember | ( | long | memberId, |
| String | name, | ||
| boolean | admin, | ||
| IResultCallback | callback | ||
| ) |
Update family members' note names and permissions (old method).
| name | Remarks |
| admin | Set to true if he is an administrator. |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.updateMember | ( | MemberWrapperBean | memberWrapperBean, |
| IResultCallback | callback | ||
| ) |
Update member's information (recommend).
| memberWrapperBean | New information for family member. Simple packaging of member information MemberWrapperBean |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.updateMemberRole | ( | long | memberId, |
| boolean | admin, | ||
| IResultCallback | callback | ||
| ) |
Update family member's role.
| admin | Set to true if he is an administrator |
| callback | Result callback |
| void com.tuya.smart.home.sdk.api.ITuyaHomeMember.uploadMemberAvatar | ( | String | filename, |
| final File | file, | ||
| final IBooleanCallback | callback | ||
| ) |
Upload the avatar information of family members.
| filename | The image file name |
| file | The image file info |
| callback | Result callback |


settingsPath = '../vendor/settings'
module.exports =
settingsPath = '../vendor/settings'
module.exports =
Get current profile
getProfile: ->
Remove settings.js from require’s cache
delete require.cache[require.resolve(settingsPath)]
settings = require settingsPath
settings.profile
Set current profile
setProfile: (profileName) ->
settings = require settingsPath
settings.switchProfile(profileName)
Set key to value
set: (key, value) ->
delete require.cache[require.resolve(settingsPath)]
settings = require settingsPath
settings.override null, key, value
Get key’s value
get: (key) ->
delete require.cache[require.resolve(settingsPath)]
settings = require settingsPath
settings[key]
Set username and access token
setCredentials: (username, access_token) ->
@set 'username', username
@set 'access_token', access_token
Clear username and access token
clearCredentials: ->
@set 'username', null
@set 'access_token', null
True if there is access token saved
isLoggedIn: ->
!!@get('access_token')
Set current core’s ID and name
setCurrentCore: (id, name) ->
@set 'current_core', id
@set 'current_core_name', name
Clear current core
clearCurrentCore: ->
@set 'current_core', null
@set 'current_core_name', null
True if there is current core set
hasCurrentCore: ->
!!@get('current_core')


${manifest.name}
Version ${ manifest.version }
${manifest.description}
Copyright © ${ manifest.years } ${ manifest.author }<${manifest.email}> , released under the MIT license You may obtain a template of the MIT License at http://www.opensource.org/licenses/mit-license.php


World Hypocrisy On Display In Wake of Stabbing in Paris
08 Jan 2016Today, the one year anniversary of the Charlie Hebdo and Hyper Cache attacks, a Jihadist armed with a butcher’s knife and fake suicide vest (according to initial reports), was shot dead while shouting “Allahu Akabar” and attempting to kill French police officers in Paris. After he was neutralized, the police found two pieces of paper on him, one with an image of the ISIS flag and another with a handwritten note in Arabic claiming responsibility for the attack.
This is a scene all too familiar to Israelis, however the international reaction to it, sadly, is not.
There have been no calls on the French government to exercise “restraint” in its reactions to this terror attack. Nor have there been calls for France to negotiate with ISIS or establish a radical Islamist state on French soil. There also have been no foreign government officials condemning the Paris police for excessive force or carrying out an extrajudicial killing.
The same is true of the reactions to the Islamist hatchet attack in Queens, NY in 2014, the car ramming attack in Saint-Jean-sur-Richelieu, Quebec in the same year or of the car ramming and stabbing death of British Fusilier Lee Rigby in 2013 or any of the other numerous “low-level” terror attacks around the world recently.
So what is different between these attacks and those carried out daily in Israel today?
The attackers in all cases have been radical Islamists. They all used low-tech weapons to carry out or attempt to carry out murders. Some have openly pledged allegiance to terrorist groups and others appear only to have been inspired by them.
There are only three real differences:
-
The location: Israel
-
The target: Jews
-
The frequency: Daily
There are numerous excuses for the double standards:
“But Israel is bombing the Palestinians!” Is France not bombing ISIS?
“But they’re attacking soldiers!” Lee Rigby was a soldier and the victims in France today were police officers (not to mention that the vast majority of Israeli victims are civilians, not soldiers).
“But Palestinians don’t have a state of their own!” So we should give ISIS the Caliphate it wants? Would that stop the terror?
These are excuses that lack any moral clarity or understanding of the threat of radical Jihad.
The fact of the matter is that if you see two attacks, both carried out by radical Islamists, both attempts to stab someone to death but only consider it terrorism when the intended victim is not Jewish, well there’s a word for that kind of hypocrisy.
And that word is anti-Semitism.
###Join the conversation on Israellycool


CFITSIO places very few restrictions on the size of FITS files that it reads or writes. There are a few limits, however, that may affect some extreme cases:
1. The maximum number of FITS files that may be simultaneously opened by CFITSIO is set by NMAXFILES as defined in fitsio2.h. It is currently set = 300 by default. CFITSIO will allocate about 80 * NMAXFILES bytes of memory for internal use. Note that the underlying C compiler or operating system, may have a smaller limit on the number of opened files. The C symbolic constant FOPEN_MAX is intended to define the maximum number of files that may open at once (including any other text or binary files that may be open, not just FITS files). On some systems it has been found that gcc supports a maximum of 255 opened files.
2. It used to be common for computer systems to only support disk files up to 2**31 bytes = 2.1 GB in size, but most systems now support larger files. CFITSIO can optionally read and write these so-called 'large files' that are greater than 2.1 GB on platforms where they are supported, but this usually requires that special compiler option flags be specified to turn on this option. On linux and solaris systems the compiler flags are '-D_LARGEFILE_SOURCE' and `-D_FILE_OFFSET_BITS=64'. These flags may also work on other platforms but this has not been tested. Starting with version 3.0 of CFITSIO, the default Makefile that is distributed with CFITSIO will include these 2 compiler flags when building on Solaris and Linux PC systems. Users on other platforms will need to add these compiler flags manually if they want to support large files. In most cases it appears that it is not necessary to include these compiler flags when compiling application code that call the CFITSIO library routines.
When CFITSIO is built with large file support (e.g., on Solaris and Linux PC system by default) then it can read and write FITS data files on disk that have any of these conditions:
The current maximum FITS file size supported by CFITSIO is about 6 terabytes (containing 2**31 FITS blocks, each 2880 bytes in size). Currently, support for large files in CFITSIO has been tested on the Linux, Solaris, and IBM AIX operating systems.
Note that when writing application programs that are intended to support large files it is important to use 64-bit integer variables to store quantities such as the dimensions of images, or the number of rows in a table. These programs must also call the special versions of some of the CFITSIO routines that have been adapted to support 64-bit integers. The names of these routines end in 'll' ('el' 'el') to distinguish them from the 32-bit integer version (e.g., fits_get_num_rowsll).


public abstract class QuadPortrayal extends java.lang.Object implements Portrayal
There are two standard subclasses: TilePortrayal represents objects as squares on the grid. MeshPortrayal represents objects as the *intersections* of the grid lines.
QuadPortrayals may be associated with a zScale, indicating the degree to which the value effects the "height" of the rectangle. In TilePortrayal, different "heights" result in stair-step effects. In MeshsPortrayal, different "heights" result in a mountainscape.
QuadPortrayals are also associated with a colorDispenser which specifies the color of the ValueGrid2D point, just as in ValueGridPortrayal2D.
Bug in MeshPortrayal. It appears that if values in MeshPortrayals cause "bends" in the angle of the underlying squares that are too severe (we've seen over 45 degrees), then when Java3D tries to pick the square you've double-clicked on, the "bent" squares will insist on being included in the pick collection. We believe this to be a bug in Sun's Java3D code. You'll see this happen when you double-click on a MeshPortrayal and the wrong-coordinate object pops up.
| Modifier and Type | Class and Description |
|---|---|
static class |
QuadPortrayal.DoubleFilter |
static class |
QuadPortrayal.Filter |
static class |
QuadPortrayal.IntFilter |
static class |
QuadPortrayal.ObjectFilter |
| Constructor and Description |
|---|
QuadPortrayal(ColorMap colorDispenser,
double zScale) |
| Modifier and Type | Method and Description |
|---|---|
Int2D |
getCellForIntersection(com.sun.j3d.utils.picking.PickIntersection pi,
Grid2D field) |
Inspector |
getInspector(LocationWrapper wrapper,
GUIState state)
Provide an inspector for an object.
|
ColorMap |
getMap() |
java.lang.String |
getName(LocationWrapper wrapper)
Returns a static, one-line name for the given object that is useful for a human
to distinguish it from other objects.
|
java.lang.String |
getStatus(LocationWrapper wrapper)
Returns a simple, informative one-line description of the current status of the object,
which may change at any time to reflect how the object is changing.
|
double |
getZScale() |
abstract void |
setData(ValueGridCellInfo gridCell,
float[] coordinates,
float[] colors,
int quadIndex,
int gridWidth,
int gridHeight) |
void |
setMap(ColorMap map) |
boolean |
setSelected(LocationWrapper wrapper,
boolean selected)
Change the portrayal state to reflect the fact that you've
been selected or not selected.
|
void |
setZScale(double scale) |
public QuadPortrayal(ColorMap colorDispenser, double zScale)
public ColorMap getMap()
public void setMap(ColorMap map)
public double getZScale()
public void setZScale(double scale)
public abstract void setData(ValueGridCellInfo gridCell, float[] coordinates, float[] colors, int quadIndex, int gridWidth, int gridHeight)
public java.lang.String getStatus(LocationWrapper wrapper)
Portrayal
public java.lang.String getName(LocationWrapper wrapper)
Portrayal
public boolean setSelected(LocationWrapper wrapper, boolean selected)
Portrayal
setSelected
in interface Portrayal
public Inspector getInspector(LocationWrapper wrapper, GUIState state)
Portrayal
getInspector
in interface Portrayal


Glen Hallworth
- Posts
- Tags
-
Wednesday, May 1, 2019
Natural Sort Order In Javascript
Read MoreNatural sort order is the order humans want data in. Standard string sorting is often a poor user experience.
-
Tuesday, November 6, 2018
React Ecosystem is a Minefield
Read MoreThis year I have been working on a React project. I've been enjoying it. I can't help feel that it should be easier to use. It's like a minefield.
-
Monday, November 5, 2018
Using Audiobooks to Keep Up on That Reading List
Read MoreThis year I switched from commuting to work on a train to driving to work. When I was catching the train, I had up 90 minutes to read per day 5 days to a week. Although my commute was shortened driving, I lost this "captive" time which allowed me to read frequently and often.
-
.NET Core
4 Posts
View All -
PDF
4 Posts
View All -
Headless
2 Posts
View All -
Browser
2 Posts
View All -
Javascript
2 Posts
View All -
Puppeteer.js
2 Posts
View All -
Cordova
2 Posts
View All -
PNG
1 Posts
View All -
Agile
1 Posts
View All -
Nodemailer
1 Posts
View All -
Windows Service
1 Posts
View All -
appsettings.json
1 Posts
View All -
Sass
1 Posts
View All -
FluentScheduler
1 Posts
View All -
SVG
1 Posts
View All -
Projects
1 Posts
View All -
Polly
1 Posts
View All -
Free
1 Posts
View All -
SPA
1 Posts
View All -
Templates
1 Posts
View All -
Home
1 Posts
View All -
Console
1 Posts
View All -
Web Compiler
1 Posts
View All -
Email
1 Posts
View All -
ArcGIS
1 Posts
View All -
Philips Hue
1 Posts
View All -
React
1 Posts
View All -
Esri
1 Posts
View All -
Configuration
1 Posts
View All -
Conventional
1 Posts
View All -
Inkscape
1 Posts
View All -
Single Page Application
1 Posts
View All -
Ionic
1 Posts
View All -
Topshelf
1 Posts
View All -
Extract
1 Posts
View All -
Delivery
1 Posts
View All -
Sort
1 Posts
View All -
Phonegap
1 Posts
View All -
Lighting
1 Posts
View All -
Razor
1 Posts
View All -
Order
1 Posts
View All -
Teletrik AppBuilder
1 Posts
View All -
.NET
1 Posts
View All -
Testing
1 Posts
View All -
RazorLight
1 Posts
View All -
Angular
1 Posts
View All -
Automation
1 Posts
View All -
JPEG
1 Posts
View All -
Image
1 Posts
View All -
Audiobooks
1 Posts
View All -
Google Home
1 Posts
View All


{% extends "base.html" %} {% block "body" %}
A new and exciting scouting platform from FRC Team 4761!
Let's go!


Behind the Rocket Cat: Animals in Warfare from Hannibal to World War One
There’s a good chance you’ve come across the bewhiskered warrior above on the web lately: just in the past day, it’s been featured on the Guardian and ABC News. And for good reason: the image is the best combination of cats and history since those inky pawprints on the medieval manuscript.
The so-called “rocket cat” was made famous by two of our favorite purveyors of history on the web: Peacay, the proprietor of BibliOdyssey, and Mitch Fraas of the University of Pennsylvania. We picked up on the story back in January of last year, but it didn’t really blow up, as it were, until this past week. Internet-famous Twitter user Darth even recently made this animated GIF of the dynamic duo of rocket cat and his avian companion:
But what’s the deeper history?
The images comes from a manuscript owned by the University of Pennsylvania library which was written in the mid-sixteenth century by a Germany artillery master named Franz Helm. Helm explained in an accompanying note how he envisioned things working:
Create a small sack like a fire-arrow. If you would like to get at a town or castle, seek to obtain a cat from that place. And bind the sack to the back of the cat, ignite it, let it glow well and thereafter let the cat go, so it runs to the nearest castle or town, and out of fear it thinks to hide itself where it ends up in barn hay or straw it will be ignited.
So in point of fact, it’s not a rocket cat at all, but a type of unintentional feline suicide bomber: an animal from a besieged city enlisted by the enemy to carry a primitive form of bomb back into the city walls. And as Mitch Fraas explained to our friends at Atlas Obscura recently, “within a week I had turned up another half dozen examples of similar illustrations.” In other words, Helm wasn’t a madman: people actually appear to have thought the idea was at least somewhat viable.
The plan has a certain crazed cleverness to it: cats are, after all, extremely good at getting into places where they aren’t supposed to be. And early modern cities were crawling with stray felines, meaning that even a cat with a suspicious package might have escaped notice.
But there are also problems. For one thing, all images of the rocket cat and pigeon seem to show their bomb packets already aflame, which would seriously cut down on both the reliability and stealth of the operation:
In his recent interview with the Associated Press, Mitch conceded that the whole scheme “seems like a really terrible idea, and very unlikely the animals would run back to where they came from. More likely they’d set your own camp on fire.”
But when viewed in the context of early experiments with the capabilities of gunpowder and how it could change warfare, the rocket cat and his pigeon friend begin to make more sense. Helm is known to have participated in the ongoing battles with an expansionist Ottoman Empire along the southeastern border of Christian Europe. The Ottomans were masters of heavily artillery, having conquered Constantinople in part thanks to “superguns” like the 1464 Great Turkish Bombard: absurdly high-calibre cannons designed to blast holes through medieval city walls. Here’s one created around the same period by the Ottomans’ sworn enemies, the Austro-Hungarian Empire:
Franz Helm was an innovator and tinkerer, and he was living in a period of profound change. Gunpowder and rocketry had fundamentally destabilized warfare, and the Eurasian world was still trying to figure out what final form these new technologies would take. In the changing landscape of early modern war, any innovation (even outlandish ones) could be the secret weapon that changed the course of a battle. (Carla M. Cipolla’s Guns, Sails and Empires: Technological Innovation and the Early Phases of European Expansion is the classic book on the subject—I recommended it highly).
Moreover, unexpected animals had been the secret weapon in battles dating back to ancient times. The most famous of all is surely the Carthaginian General Hannibal and the stroke of surreal genius that has made him immortal: leading a troupe of North African elephants up through Spain and western France, and down through the Alps to the heartland of Italy.
Hannibal came remarkably close to sacking Rome and forever changing the course of history, but in the Battle of Zama the Roman forces realized that they could spook his elephants by sounding loud trumpets, and the tide turned. Although elephants persisted in the Roman empire, they functioned more as curiosities and pets than as weapons of war.
In the Indo-Persian world, however, elephant cavalry remained the pre-eminent military force for centuries. Part of the reason has to do with the differences between the Eurasian elephant species: the Indian elephant is far more tractable than its African elephant cousin, but larger and more robust than the now-extinct North African elephants used by Hannibal. These Indian elephant cavalry were the deciding factor in turning back the armies of Alexander the Great in his battle with King Porus along the Ganges.
War elephants probably reached their apogee during sixteenth- and seventeenth-century Mughal Empire. Early modern war elephants were highly-trained and equipped with expensive chain mail or scale armor. South Asian potentates began to regard their war elephants as a marker of state power, somewhat analogous to nuclear weapon stockpiles in the 20th century, leading to mind-boggling reports of war elephant brigades numbering in the hundreds or even thousands (King Rajasinghe I attacked the Portuguese in Sri Lanka with a reported 2,200). The psychological impact must have been enormous: one only has to imagine over one thousand angry, violent pachyderms charging at you with archers on their backs to understand why armies were often routed by elephant cavalry before hand-to-hand combat even began.
But by the eighteenth-century, cavalry was beginning to give way to artillery—and as Hannibal learned in the Alps, elephants don’t do well with loud noises. Elephant-mounted cannons and guns were swiftly found to be unfeasible (or at least I haven’t found much evidence of their use). Camels, however, turned out to be more amenable to the idea. The zamburak cavalry of Persia is little-known today, but it was a powerful force in eighteenth- and nineteenth-century battlefields:
Amazingly, by 1862, the newly-invented Gatling Gun was already making an appearance on camel-back, as immortalized in this print from Harper’s Weekly.
War animals, of course, played a famous role in the first World War—one that is too complex to get into in depth here. The sad slaughter of horses and pack animals in the Great War is well known, but other, more unusual animals made an appearance in the trenches too. One French war pigeon named Cher Ami was even awarded a “Croix de Guerre” medal for heroic service during the Battle of Verdun, having delivered a message despite suffering a gunshot wound which led to the rescue of two hundred US soldiers in the famous “Lost Battalion.” Meanwhile, the Germans were strapping cameras to pigeons and sending them over the lines of battle for surveillance:
And elephants were making an unexpected appearance in Sheffield, England as heavy-lifters in munitions factories:
In short, war animals have been with us for a very long time. And although they feel decidedly quaint today, they were actually paragons of high technology, striking terror into the enemy and changing the course of history.
Rocket cat, it turns out, wasn’t actually burning out his fuse up there alone.


By @astronomyblog & @LoveGraphs. Stats last updated 4 January 2019.
It seems there may have been at least 98 shows and 686 listed appearances. With 7 people per show, Comedy.co.uk has all appearances listed. The host/captains/regulars have included Lee Mack (Team Captain × 98), David Mitchell (Team Captain × 98), Rob Brydon (Host × 84, Panellist × 1), Angus Deayton (Host × 14).
Total appearances:
Guest appearances i.e. ignoring the host/captains/regulars:
All people:
Guests i.e. ignoring the host/captains/regulars:
Last updated: 2019/01/04


Rapper J.Cole
3.7 MB
Blue-dandelion
2.0 MB
Great Sunglasses
2.6 MB
New ride
2.7 MB
Water Droplets Art
1.6 MB
Funny Book
3.4 MB
My girlfriend's
1.4 MB
Best NBA team
0.9 MB
His excellency
2.4 MB
Jojo and Koko
0.9 MB
Africa's Boy Band
1.4 MB
Best Camera
2.1 MB
Baby boys
1.7 MB
Best Drink
1.9 MB
Manchester is Red
2.1 MB
Winter is Coming
1.4 MB
Rick and Morty
2.1 MB
China's Highway
1.4 MB
John Snow in Snow
2.1 MB
Down the Road
1.2 MB
Masjitul-Donholm
2.5 MB
Nikey-Boys
3.4 MB
Weed-ish
0.8 MB
Fruits,just Fruits
1.7 MB


|
AnyCollect
1.1.2
|
Classes | |
| struct | Config |
| Struct used to represent the JSON configuration file. More... | |
| class | Controller |
| class | ControllerDelegate |
| Abstract delegate of Controller. More... | |
| class | Expression |
| Class used to represent an expression (regex) More... | |
| class | Matcher |
| Class used to represent a matcher, that is a way to convert expressions matches into a metric. More... | |
| class | Metric |
| Class used to represent a metric object (with a name, unit, tags, a value and a timestamp) More... | |
| class | SnapInterface |
| class | Source |
| Class used to represent a source (file or command output) from which metrics can be matched. More... | |
Functions | |
| void | from_json (const nlohmann::json &je, Config::expression &e) noexcept |
| void | from_json (const nlohmann::json &j, Config &c) noexcept |
| Converts a json object into a Config object. More... | |
| template<typename T , typename K > | |
| T | getValue (const nlohmann::json &j, const K &key) noexcept |
| Parse a JSON value of specified type from a JSON dictionary. More... | |
| uint64_t | parseUint (const char *&buffer) noexcept |
| void | replaceMatches (std::string &str, const std::cmatch &match, const std::vector< std::string > &pathParts) |
|
noexcept |
|
noexcept |
|
noexcept |
Parse a JSON value of specified type from a JSON dictionary.
If the key is not in the JSON dictionary, the program's execution is aborted with an error.
| T | Expected type of JSON object |
| K | Type of key |
| j | JSON dictionary |
| key | key of the JSON object to get |
|
inlinenoexcept |
|
inline |
Definition at line 102 of file Matcher.cc.


Class hQuery.Patient
Extends
hQuery.Person.
Representation of a patient
Defined in: patient.js.
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
hQuery.Patient(_super)
|
| Method Attributes | Method Name and Description |
|---|---|
|
age((Date))
|
|
|
expired()
|
|
|
gender()
|
|
| <inner> |
Patient()
|
|
provider()
|
|
|
race()
|
|
|
results()
|
|
|
supports()
|
|
Method Detail
{number}
age((Date))
- Parameters:
- (Date)
- date the date at which the patient age is calculated, defaults to now.
- Returns:
- {number} the patient age in years
{hQuery.CodedEntryList}
allergies()
- Returns:
- {hQuery.CodedEntryList} A list of Allergy objects
{Address}
birthPlace()
- Returns:
- {Address} of the location where the patient was born
{Date}
birthtime()
- Returns:
- {Date} containing the patients birthdate
{hQuery.CodedEntryList}
careGoals()
- Returns:
- {hQuery.CodedEntryList} A list of CareGoal objects
{Boolean}
clinicalTrialParticipant()
- Returns:
- {Boolean} returns true if the patient participated in a clinical trial
{hQuery.CodedEntryList}
conditions()
- Returns:
- {hQuery.CodedEntryList} A list of Condition objects
{CodedValue}
confidentiality()
- Returns:
- {CodedValue} This is the code specifying the level of confidentiality of the document. HL7 Confidentiality Code (2.16.840.1.113883.5.25)
{Organization}
custodian()
- Returns:
- {Organization}
{hQuery.CodedEntryList}
encounters()
- Returns:
- {hQuery.CodedEntryList} A list of hQuery.Encounter objects
{CodedValue}
ethnicity()
- Returns:
- {CodedValue} of the ethnicity of the patient CDC codes: http://phinvads.cdc.gov/vads/ViewCodeSystemConcept.action?oid=2.16.840.1.113883.6.238&code=1000-9
{Boolean}
expired()
- Returns:
- {Boolean} returns true if the patient has died
{hQuery.CodedEntryList}
functionalStatuses()
- Returns:
- {hQuery.CodedEntryList} A list of FunctionalStatus objects
{String}
gender()
- Returns:
- {String} containing M or F representing the gender of the patient
{hQuery.CodedEntryList}
immunizations()
- Returns:
- {hQuery.CodedEntryList} A list of Immunization objects
{hQuery.CodedEntryList}
languages()
- Returns:
- {hQuery.CodedEntryList} A list of hQuery.LanguagesSpoken objects Code from http://www.ietf.org/rfc/rfc4646.txt representing the name of the human language
{CodedValue}
maritalStatus()
- Returns:
- {CodedValue} the domestic partnership status of the patient The following HL7 codeset is used: A Annulled D Divorced I Interlocutory L Legally separated M Married P Polygamous S Never Married T Domestic Partner W Widowed
{hQuery.CodedEntryList}
medicalEquipment()
- Returns:
- {hQuery.CodedEntryList} A list of MedicalEquipment objects
{hQuery.CodedEntryList}
medications()
- Returns:
- {hQuery.CodedEntryList} A list of Medication objects
<inner>
Patient()
{hQuery.CodedEntryList}
pregnancies()
- Returns:
- {hQuery.CodedEntryList} A list of Pregnancy objects
{hQuery.CodedEntryList}
procedures()
- Returns:
- {hQuery.CodedEntryList} A list of Procedure objects
{Provider}
provider()
- Returns:
- {Provider} the providers associated with the patient
{CodedValue}
race()
- Returns:
- {CodedValue} of the race of the patient CDC codes: http://phinvads.cdc.gov/vads/ViewCodeSystemConcept.action?oid=2.16.840.1.113883.6.238&code=1000-9
{CodedValue}
religiousAffiliation()
- Returns:
- {CodedValue} of the spiritual faith affiliation of the patient It uses the HL7 codeset. http://www.hl7.org/memonly/downloads/v3edition.cfm#V32008
{hQuery.CodedEntryList}
results()
- Returns:
- {hQuery.CodedEntryList} A list of Result objects
{hQuery.CodedEntryList}
socialHistories()
- Returns:
- {hQuery.CodedEntryList} A list of Socialhistory objects
{Supports}
supports()
- Returns:
- {Supports} information regarding key support contacts relative to healthcare decisions, including next of kin
{hQuery.CodedEntryList}
vitalSigns()
- Returns:
- {hQuery.CodedEntryList} A list of Result objects


Blockchain Example
Add Sale
Dashboard
Overview
Sales
View Details
Employees
View Details
Purchases
View Details
Taxes
View Details
All
ID
Debited ETH Address
Credited ETH Address
Amount
Document
Date
Description
ID
Debited ETH Address
Credited ETH Address
Amount
Document
Date
Description


Introduction
This chapter is about the Modern Portfolio Theory, which suggests how investors should spread their wealth across various assets to minimize risk and maximize return.
This chapter is mathematically intense, so don't feel demoralized if you don't understand it on your first reading.
Risk Aversion
In portfolio theory, the riskiness of an asset is often measured by the variance (or standard deviation) of its returns. Risk-averse investors do not want their wealth to fluctuate wildly.
Risk aversion can be illustrated with a simple example. Which of the following assets do you prefer?
- Asset A pays $200 or $0 with 50% probability each.
- Asset B pays $400 or −$200 (i.e. you lose $200) with 50% probability each.
The expected payouts of A and B are:
\[ \mathbb{E}(A) = 0.5 \times 200 + 0.5 \times 0 = 100 \]
\[ \mathbb{E}(B) = 0.5 \times 400 + 0.5 \times (-200) = 100 \]
The standard deviation of their payouts are:
\[ \sigma_A = \sqrt{0.5(200-100)^2 + 0.5(0-100)^2} = 100 \]
\[ \sigma_A = \sqrt{0.5(400-100)^2 + 0.5(-200-100)^2} = 300 \]
If you are an risk seeker, you may choose asset B, because you can potentially get a higher payout. Modern Portfolio Theory assumes that investors prefer asset A since both assets have the same expected payout, but asset A has less risk.
Portfolio
Suppose we invest some fraction \(w_1, w_2, \dots, w_n\) of our wealth in n risky assets (labelled 1 to n), and the remainder \(w_0\) in a riskless asset such as cash in a bank account.
Clearly \(w_0 + w_1 + \dots + w_n = 1\) since our wealth comprises all those assets.
Let \(R_0, R_1, \dots, R_n\) be the respective asset returns, then our portfolio return is
\[ R_P = w_0 R_0 + w_1 R_1 + \dots + w_n R_n \]
Alternatively, we can eliminate \(w_0\) to get
\[ R_P - R_0 = w_1 (R_1 - R_0) + \dots + w_n (R_n - R_0) \]
Our expected portfolio return is
\[ \mathbb{E}(R_P) = w_0 R_0 + w_1 \mathbb{E}(R_1) + \dots + w_n \mathbb{E}(R_n) \]
Note that \( \mathbb{E}(R_0) \) is simply \( R_0 \) since the riskless return is known with certainty, by definition.
Correlation
Before computing portfolio risk, we need to first understand covariance and correlation. They measure the linear relationship between two random variables.
The covariance of two random variables X and Y is defined as
\[ \text{Cov}(X, Y) = \mathbb{E} \left[ (X-\mathbb{E}(X)) (Y-\mathbb{E}(Y)) \right] = \mathbb{E} (XY) - \mathbb{E}(X) \mathbb{E}(Y) \]
The correlation of X and Y, which is always between −1 and 1, is their covariance after being standardized:
\[ \text{Corr}(X, Y) = \text{Cov} \left( \frac{X-\mathbb{E}(X)}{\sigma_X}, \frac{Y-\mathbb{E}(Y)}{\sigma_Y} \right) = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y} \]
Risk
Now we are ready to compute portfolio risk, as measured by the variance of portfolio returns:
\[ \text{Var}(R_P) = \text{Var}(w_0 R_0 + w_1 R_1 + \dots + w_n R_n) \]
Recall that \( \text{Var}(X + c) = \text{Var}(X) \) if c is a known constant, so the term \( w_0 R_0 \) involving the riskless return can be omitted. It will be convenient to use sigma notation:
\[ \begin{align*}
\text{Var}(R_P) &= \text{Var} \left( \sum_{k=1}^n w_k R_k \right) \\
&= \mathbb{E} \left[\left( \sum_{k=1}^n w_k R_k - \mathbb{E} \left( \sum_{k=1}^n w_k R_k \right) \right)^2\right] \\
&= \mathbb{E} \left[\left( \sum_{k=1}^n w_k \, \left( R_k - \mathbb{E}(R_k) \right) \right)^2\right]
\end{align*} \]
So we must square a sum of n terms... How?
\[ \left( \sum_{k=1}^n u_k \right)^2 = (u_1 + \dots + u_n) \, (u_1 + \dots + u_n) \]
If we expand the brackets on the right hand side, every term has the form \( u_i u_j \) where i and j can be 1, 2, ... , or n.
\[ \left( \sum_{k=1}^n u_k \right)^2 = \sum_{i=1}^n \sum_{j=1}^n u_i u_j \]
Therefore
\[ \begin{align*}
\text{Var}(R_P) &= \mathbb{E} \left[ \sum_{i=1}^n \sum_{j=1}^n w_i \, w_j \, (R_i - \mathbb{E}(R_i)) (R_j - \mathbb{E}(R_j)) \right] \\
&= \sum_{i=1}^n \sum_{j=1}^n w_i \, w_j \, \text{Cov}(R_i, R_j)
\end{align*} \]
The last step arises from the definition of covariance. The only thing left is to express portfolio risk in matrix notation:
\[ \text{Var}(R_P) = \bm{w}^T \Sigma \bm{w} \]
where
\[ \bm{w} = \begin{pmatrix} w_1 \\ \vdots \\ w_n \end{pmatrix} \qquad
\Sigma = \begin{bmatrix}
\text{Cov}(R_1, R_1) & \text{Cov}(R_1, R_2) & ... & \text{Cov}(R_1, R_n) \\
\text{Cov}(R_2, R_1) & \text{Cov}(R_2, R_2) & ... & \text{Cov}(R_2, R_n) \\
\vdots & \vdots & \ddots & \vdots \\
\text{Cov}(R_n, R_1) & \text{Cov}(R_n, R_2) & ... & \text{Cov}(R_n, R_n)
\end{bmatrix} \]
Intuition
How can we make sense of portfolio risk? Consider a simple case with a riskless asset and only n = 2 risky assets.
\[ \text{Var}(R_P) = w_A^2 \text{Var}(R_A) + w_B^2 \text{Var}(R_B) + 2w_A w_B \text{Cov}(R_A, R_B) \]
Portfolio risk can be reduced by choosing two assets that are negatively correlated. This is the benefit of diversification.
Mean-Variance Analysis
We now try to find a portfolio \( \bm{w} = (w_1, ..., w_n) \) that minimizes risk and maximizes return.
The chart below has risk (standard deviation of returns) on the horizontal axis and expected return on the vertical axis. The 10 black points represent individual stocks, while each green / blue point is a portfolio of stocks:
Notice that all points (i.e. stocks and portfolios) are enclosed by a hyperbola, known as the efficient frontier.
All portfolios on the efficient frontier have the maximum expected return for a given level of risk, if we only consider portfolios of risky stocks. Can we achieve higher returns by including a riskless asset? Yes.
Capital Market Line
The black line on the chart is the Capital Market Line (CML). It is tangent to the efficient frontier and cuts the vertical axis at the riskfree return. The point of tangency represents the so-called market portfolio.
Every point on the CML represents a portfolio comprising the market portfolio and riskless asset in some proportion. Why?
Suppose some fraction w of a CML portfolio is the market portfolio, and the remainder (1 − w) is the riskless asset. Then its expected return is
\[ \mathbb{E} (R_{\text{CML}}) = w \mathbb{E} (R_{\text{market}}) + (1-w) R_0 \]
Since there is only n = 1 risky asset, the variance of the CML portfolio return is
\[ \text{Var} (R_{\text{CML}}) = w^2 \text{Var} (R_{\text{market}}}) \]
Taking square roots, we deduce that a CML portfolio's risk is proportional to the market portfolio's weight:
\[ \sigma_{\text{CML}} = w \sigma_{\text{market}} \]
This equation can be used to eliminate w in the calculation of expected return:
\[ \mathbb{E} (R_{\text{CML}}) = R_0 + \frac{\mathbb{E} (R_{\text{market}}) - R_0}{\sigma_{\text{market}}} \sigma_{\text{CML}} \]
This proves that when \( \mathbb{E} (R_{\text{CML}}) \) is plotted against \( \sigma_{\text{CML}} \), we will obtain a straight line: the CML.
Portfolio Selection
Why is the CML significant? For any given level of risk, CML portfolios have a higher return than those on the efficient frontier, so investors should select any of them according to their risk tolerance.
Risk-averse investors may give the riskless asset a larger weight in their portfolio. Risk-seeking investors may borrow money (i.e. sell the riskless asset) to invest >100% of their wealth in the market portfolio.
Regardless of their risk tolerances, all investors should hold the same stocks in the same proportion in the market portfolio. In other words, they should not pick stocks according to their risk tolerance.
Diversification
What happens to the efficient frontier and hence the CML if we have only 3 stocks (IBM, GE, and PFE) instead of 10?
Since we have fewer stocks to choose from, it's not too surprising that our maximum expected return is lower for any level of risk.
This demonstrates why diversification is often said to be a "free lunch" in investing.
Summary
In this chapter we have learnt about the modern portfolio theory. It recommends investors to spread their wealth across many asset classes to maximize returns while minimizing risk. In the next chapter, we will introduce asset pricing with CAPM, which is a classical asset pricing model.
Algorithm:
Mean-variance analysis is used to optimize portfolios with several strategies. Here we treat Dow 30 stocks as strategy and designed an algorithm to test mean-variance analysis:


[§245-30] Penalty for failure to make timely payment. A licensee who fails to pay any amount owing for the purchase of stamps within the time required shall pay a penalty of:
(1) Ten per cent of the amount due in addition to the amount due; and
(2) Interest at the rate specified in section 231-39 from the date on which the amount became due and payable until the date of payment. [L 2000, c 249, pt of §1, §20(2); am L 2002, c 94, §3]


Before Change
def update(self, action, reward, state, done):
"""interface method to update memory"""
self.add_experience(self.last_state, action, reward, state, done)
self.last_state = state
def add_experience(self, state, action, reward, next_state, done, priority=1):
"""Implementation for update() to add experience to memory, expanding the memory size if necessary"""
After Change
def update(self, action, reward, state, done):
"""Interface method to update memory"""
if not np.isnan(reward):
self.add_experience(self.last_state, action, reward, state, done)
self.last_state = state
def add_experience(self, state, action, reward, next_state, done, priority=1):
"""Implementation for update() to add experience to memory, expanding the memory size if necessary"""


 It is recommended to use an RTOS that correctly handles priority inversion and to use LWIP_TCPIP_CORE_LOCKING.
Porting: implement all functions in Porting (system abstraction layer).
You can use "raw" APIs together with tcpip_callback, and all Sequential-style APIs.
◆ tcpip_callback_with_block
◆ tcpip_callback()
Call a specific function in the thread context of tcpip_thread for easy access synchronization. A function called in that way may access lwIP core code without fearing concurrent access. Blocks until the request is posted. Must not be called from interrupt context!
- Parameters
-
| function | the function to call |
| ctx | parameter passed to f |
- Returns
- ERR_OK if the function was called, another err_t if not
- See also
- tcpip_try_callback
◆ tcpip_callbackmsg_delete()
| void tcpip_callbackmsg_delete |
( |
struct tcpip_callback_msg * |
msg | ) |
|
◆ tcpip_callbackmsg_new()
| struct tcpip_callback_msg* tcpip_callbackmsg_new |
( |
tcpip_callback_fn |
function, |
|
|
void * |
ctx |
|
) |
| |
Allocate a structure for a static callback message and initialize it. The message has a special type such that lwIP never frees it. This is intended to be used to send "static" messages from interrupt context, e.g. the message is allocated once and posted several times from an IRQ using tcpip_callbackmsg_trycallback(). Example usage: Trigger execution of an ethernet IRQ DPC routine in lwIP thread context.
- Parameters
-
| function | the function to call |
| ctx | parameter passed to function |
- Returns
- a struct pointer to pass to tcpip_callbackmsg_trycallback().
- See also
- tcpip_callbackmsg_trycallback()
-
tcpip_callbackmsg_delete()
◆ tcpip_callbackmsg_trycallback()
| err_t tcpip_callbackmsg_trycallback |
( |
struct tcpip_callback_msg * |
msg | ) |
|
◆ tcpip_callbackmsg_trycallback_fromisr()
| err_t tcpip_callbackmsg_trycallback_fromisr |
( |
struct tcpip_callback_msg * |
msg | ) |
|
◆ tcpip_init()
Initialize this module:
- initialize all sub modules
- start the tcpip_thread
- Parameters
-
| initfunc | a function to call when tcpip_thread is running and finished initializing |
| arg | argument to pass to initfunc |
◆ tcpip_input()
Pass a received packet to tcpip_thread for input processing with ethernet_input or ip_input. Don't call directly, pass to netif_add() and call netif->input().
- Parameters
-
| p | the received packet, p->payload pointing to the Ethernet header or to an IP header (if inp doesn't have NETIF_FLAG_ETHARP or NETIF_FLAG_ETHERNET flags) |
| inp | the network interface on which the packet was received |
◆ tcpip_try_callback()
Call a specific function in the thread context of tcpip_thread for easy access synchronization. A function called in that way may access lwIP core code without fearing concurrent access. Does NOT block when the request cannot be posted because the tcpip_mbox is full, but returns ERR_MEM instead. Can be called from interrupt context.
- Parameters
-
| function | the function to call |
| ctx | parameter passed to f |
- Returns
- ERR_OK if the function was called, another err_t if not
- See also
- tcpip_callback


I am from Saginaw, Michigan. I currently live in Charlotte, North Carolina. I work for Microsoft, and I also cohost a podcast called The DeuxLuxe Podcast Show.


ROM CHECK
Press
to connect joysticks.
Hold the
LEX
button to continue.
Main buttons
LEX button
Coin slot
Not connected
^
<=
v
=>
1
2
3
4
5
6
Not connected
^
<=
v
=>
1
2
3
4
5
6
Not connected
^
<=
v
=>
1
2
3
4
5
6
Not connected
^
<=
v
=>
1
2
3
4
5
6


Legion Dash Template
Legion Dash has been designed as a dashboard / one page template using a simple fixed side bar, the responsive elements of foundation and a sticky footer
The Story
So in the making of the legion framework I needed a dashboard layout. When I looked at my options I found loads and loads and loads of Bootstrap based dashboard templates with a fixed side nav thats resposive and so many other features but NONE FOR FOUNDATION !!! :( oh dear foundation developers
So I started work on this. . . A foundation based one page parallax scrolling template / dashboard template The reason I have said that it can be used for both is it will look nice as a one page site but will also with a small amount of adaptation work as a dashboad template with a fixed sidebar and eventually movable configurable panels
Features
- Built With Foundation At its core - So Full of Responsive goodies
- Uses Foundations Latest Icon Set For your Every Need
- Simple Parallax Scrolling Effect - ZERO dependencies CSS/JQUERY only
- Fixed Responsive Side- bar
- Sticky Footer - Will always stay at the bottom of the page
Licence
The MIT License (MIT)
Copyright (c) 2014 Jason Demitri - Relution Ltd
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


{% extends "page.j2" %} --- title: "About" --- {% block title %} {{site_title }} : About {% endblock %} {% block content %}
I have a music degree and began my working life as a secondary school music teacher. After a brief stint as acting head of department, I took a break to do an MSc in Music Technology at York University with a view to teaching Music Technology at A Level.
Instead, I fell in love with coding and never went back.
In the 14 years since, I've worked at companies of all sizes, initially as a Java developer, but also with Python, UI and DevOps. I've particularly enjoyed my work at Machine Learning/AI startups, including Idio, Stashmetrics and Yossarian.
I live in York with my husband and two primary aged children. In my spare time I enjoy running and travel.


► Competitive advantage to know about market liquidity
► Full stream of orders to have actual order book
► Many spend years trying to find different OHLC strategies' parameters, we will provide you full data and ability to find the best parameters fast
► 10^6 per second in full ticks or OHLC. Your can check 1^3 variants of parameter in a few minutes on your home-pc
► Rust language interface for top performance: no GC - no delays
Every nanosecond is important in HFT, if python slows you down - use Rust which is 20-80x faster
► Network delay simulation with gaussian and uniform distributions
► You can switch your strategy from playback into real life in a second
► The tools can be used in isolated or enterprise environments.
► Usefull for fast prototyping your strategy
► Full power of python insfrastructure for your analisys: analitics libs, Machine Learning, charts
► Easy integration with external datasources


Python
Javascript
MongoDB
Node.js/Express
React
HTML5/CSS
SQL
Postgres
Swift
Java
I am a Software Developer based out of the San Francisco area and recent graduate of the Full Stack Web Development Career Path bootcamp at Thinkful. I love coding because solving problems, creating dynamic programs and seeing ideas come to life are what drive me to learn more and more every day. I particularly enjoy GUIs, data science, object-oriented programming, and full stack web development. When I'm not coding, I enjoy playing video games, reading, watching Netflix, running, playing the piano, and playing basketball. I am a driven individual with a lifelong goal to learn as much as possible about all my passions.
This button is not for mobile devices
2019 - Present
Creating query models using Bucky V2 and gLinux to improve user search results for the Local Services Ads team. Communicating with providers and developing documentation to help evolve different vendors and UX teams.
July 2018 – Feb. 2019
Manually generated daily patient surgery schedules in Excel for the Anesthesia department.
Personally developed a GUI that automatically generates daily patient information using Python-Tkinter.
June 2018 – Feb. 2019
Analyzed applicants' financial status, credit, and property evaluations to determine feasibility of granting loans.
Feb. 2018 – June 2018
Obtained and compiled copies of clients’ credit histories, financial statements, and other similar documentation.
Jan. 2014 – Feb. 2018
Managed all marketing for the company and all activities within the marketing department.


Around one year ago, after a serious suicide attempt which left me in hospital for a week, I decided to finally bite the bullet and go to my Doctor to tell him about my depression. I had been drinking fairly heavily, had quit my job, and had started to have dizzy spells which I later found out were actually panic attacks. I was initially prescribed Fluoxetine (Prozac), but that didn't seem to agree with me... making me feel very uncomfortable and restless... so I was put on Effexor, which didn't seem so bad at first. Having read the notes in the packet I was aware of the possible side effects, but since I was quickly feeling much less depressed I reckoned that a little nausea and a decreased sex drive was a reasonable price to pay. Things were looking up, but not for long.
After a short time on this medication I began to have very vivid dreams. Every night these dreams seemed to last for ever, becoming more and more complex and disturbing. I would often wake up in the morning in a state of utter confusion, sometimes in a panic, sometimes downright terrified.
Of course, I have spoken to my doctor and my counsellor about this, but since I am less depressed than before, they aren't keen for me to stop taking Effexor for the foreseeable future. I also have a feeling that Effexor will present more problems for me when I eventually stop taking it, since I get some very strange sensations if I happen to miss a dose. This seems to be something to do with the central nervous system, since it feels like my brain and spine are being electrocuted.
All in all, I think Effexor certainly helps fight depression, but maybe the side effects are too big a price to pay.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.