|
UltralightweightCalculator
|
It lexes user input. More...
#include "../Globals/Globals.h"
Go to the source code of this file.
Typedefs | |
| typedef unsigned char | LexerTokenInt |
Enumerations | |
| enum class | LexerToken : LexerTokenInt { CanMultiply = 0x80 , IsMultiply = 0x40 , EOI = 0x01 , White = 0x02 , Number = CanMultiply | 0x01 , NumberMultiply = Number | IsMultiply , Symbol = CanMultiply | 0x02 , SymbolMultiply = Symbol | IsMultiply , Function = CanMultiply | 0x04 , FunctionMultiply = Function | IsMultiply , Quote = CanMultiply | 0x08 , QuoteMultiply = Quote | IsMultiply , Open = CanMultiply | 0x10 , OpenMultiply = Open | IsMultiply , UOB = CanMultiply | 0x20 , UOBMultiply = UOB | IsMultiply , Close = 0x04 , UOA = 0x08 , BO = 0x10 , IgnoreMultiply = 0x3F , IsSymbolLike = 0x02 | 0x04 , Terminal = EOI | Close } |
Functions | |
| void | lexer (std::vector< LexerToken > &, std::string &, long) |
It lexes user input.
| typedef unsigned char LexerTokenInt |
|
strong |
Identifies the lexical classification of an input character. The values are bitmask-compatible.
| void lexer | ( | std::vector< LexerToken > & | output, |
| std::string & | input, | ||
| long | recursionJuice | ||
| ) |
Assigns lexical meaning to each character of the user input. Checks for invalid characters and ensures that the input conforms to the language grammar.
| output | Where the output will go, will have the same length as input, with 1-to-1 correspondence in the indicies |
| input | Where the input comes from, an end-of-line character will be appended to the end |
| recursionJuice | how many layers of recursion may be used by this operation |


Email Failed!
Code Below
Our email service couldn't deliver the email with your game code.
Your code is below. Please use it immediately or store it somewhere safe.
Your code: {{ code }}
{% if drm == 'steam' %}
Steam
{% elif drm == 'origin' %}
OriginWe tried sending to the email you provided: {{ attempted_email }}


--- layout: page title: Talks permalink: /talks ---
I'm an experienced public speaker, and always happy to talk on my areas of expertise – please contact me with any opportunities. Below is a selection of talks I've given and other appearances.


public class GameRenderer
extends java.lang.Object
GameEngine
,
CustomizedButton
,
Level
| Constructor and Description |
|---|
GameRenderer(GameEngine gameEngine)
Constructs the GameRenderer
|
| Modifier and Type | Method and Description |
|---|---|
java.util.LinkedList<FollowerEnemy> |
getFollowerEnemies()
the getter of the list of enemies of type "Follower"
|
GameEngine |
getGameEngine()
The setter of the game engine
|
Level |
getLevel()
The getter of the level instance
|
int |
getLevelNumber()
The getter of the levelNumber field
|
Player |
getPlayer()
The getter of the player instance
|
int |
getScore()
The getter of the score field
|
java.util.LinkedList<ShooterEnemy> |
getShooterEnemies()
the getter of the list of enemies of type "Shooter"
|
boolean |
isPaused()
the getter of isPaused flag.
|
java.awt.Image |
LoadImage(java.lang.String fileName)
It loads an image of type Image
|
void |
reinitialize()
It is used to reinitialize the game to start the new level
|
void |
renderAll(java.awt.Graphics g)
It is going to render all the game objects
|
void |
setFollowerEnemies(java.util.LinkedList<FollowerEnemy> followerEnemies)
the setter of the list of enemies of type "Follower"
|
void |
setGameEngine(GameEngine gameEngine)
The getter of the game engine
|
void |
setLevel(Level currentLevel)
The setter of the level field
|
void |
setLevelNumber(int levelNumber)
The setter of the level field
|
void |
setPaused(boolean isPaused)
the setter of isPaused flag
|
void |
setPlayer(Player player)
The setter of the player field
|
void |
setScore(int score)
The setter of the score field
|
void |
setShooterEnemies(java.util.LinkedList<ShooterEnemy> shooterEnemies)
the setter of the list of enemies of type "Shooter"
|
public GameRenderer(GameEngine gameEngine)
gameEngine
- is the game engine that is important to connect the game classes togetherpublic void reinitialize()
public GameEngine getGameEngine()
public void setGameEngine(GameEngine gameEngine)
gameEngine
- is the new game enginejava.lang.NullPointerException
- if there is no game enginepublic void renderAll(java.awt.Graphics g)
g
- is a reference to an object of type Graphics which is the one that is provided by JPanel or JFrameGraphics
public java.awt.Image LoadImage(java.lang.String fileName)
fileName
- is the image name in the same folder of the classImage
public Player getPlayer()
public void setPlayer(Player player)
player
- is the new playerpublic Level getLevel()
public void setLevel(Level currentLevel)
currentLevel
- is the new levelpublic boolean isPaused()
public void setPaused(boolean isPaused)
isPaused
- public int getLevelNumber()
public void setLevelNumber(int levelNumber)
levelNumber
- is the new levelNumberpublic int getScore()
public void setScore(int score)
score
- is the new score achieved by the playerpublic java.util.LinkedList<FollowerEnemy> getFollowerEnemies()
public void setFollowerEnemies(java.util.LinkedList<FollowerEnemy> followerEnemies)
followerEnemies
- public java.util.LinkedList<ShooterEnemy> getShooterEnemies()
public void setShooterEnemies(java.util.LinkedList<ShooterEnemy> shooterEnemies)
shooterEnemies
-


This service runs lighthouse from a VM inside the VX Heidelberg data center against a set of urls and with a different set of profiles.
You can choose different URLs and compare the reports against each other, e.g. to see a change over time or to compare two different sections of the website with each other.
After choosing a report, you also have four json objects to download:


New outlet openings to feed Koufu's hunger for earnings
by Samantha ChiewSINGAPORE (Nov 5): DBS Group Research is staying positive on Koufu Group, on the back of a flurry of new store openings which has driven earnings growth.
The brokerage is keeping its “Buy” call on Koufu, with a target price of 88 Singaporean cents.
“We continue to like Koufu for its stable earnings, decent yield of 3.4%, decent cashflow generation, strong balance sheet, and steady store expansion plans,” says lead analyst Alfie Yeo in a...(click on link for full story on theedgesingapore.com)


Modules | |
| USB device API return codes | |
| This section lists the return codes for the USB device driver API. | |
| USB device states | |
| This section lists the device states of the USB device driver. | |
Classes | |
| struct | _USBDTransferBuffer |
| Buffer struct used for multi-buffer-listed transfer. More... | |
| struct | _USBDDmaDescriptor |
| Struct used for USBD DMA Link List Transfer Descriptor, must be 16-bytes aligned. More... | |
| struct | _USBDDriverDescriptors |
| struct | _USBDDriver |
Typedefs | |
| typedef struct _USBDTransferBuffer | USBDTransferBuffer |
| Buffer struct used for multi-buffer-listed transfer. More... | |
| typedef struct _USBDDmaDescriptor | USBDDmaDescriptor |
| Struct used for USBD DMA Link List Transfer Descriptor, must be 16-bytes aligned. More... | |
| typedef void(* | TransferCallback) (void *pArg, uint8_t status, uint32_t transferred, uint32_t remaining) |
| Callback used by transfer functions (USBD_Read & USBD_Write) to notify that a transaction is complete. More... | |
| typedef void(* | MblTransferCallback) (void *pArg, uint8_t status) |
| Callback used by MBL transfer functions (USBD_Read & USBD_Write) to notify that a transaction is complete. More... | |
| typedef struct _USBDDriverDescriptors | USBDDriverDescriptors |
| List of all descriptors used by a USB device driver. More... | |
| typedef struct _USBDDriver | USBDDriver |
| USB device driver structure, holding a list of descriptors identifying the device as well as the driver current state. More... | |
Functions | |
| void | USBD_SuspendHandler (void) |
| Handle the USB suspend event, should be invoked whenever HW reports a suspend signal. More... | |
| void | USBD_ResumeHandler (void) |
| Handle the USB resume event, should be invoked whenever HW reports a resume signal. More... | |
| void | USBD_ResetHandler () |
| Handle the USB reset event, should be invoked whenever HW found USB reset signal on bus, which usually is called "end of bus reset" status. More... | |
| void | USBD_RequestHandler (uint8_t bEndpoint, const USBGenericRequest *pRequest) |
| Handle the USB setup package received, should be invoked when an endpoint got a setup package as request. More... | |
| void | USBD_ConfigureEndpoint (const USBEndpointDescriptor *pDescriptor) |
| Configures an endpoint according to its Endpoint Descriptor. More... | |
| uint8_t | USBD_Write (uint8_t bEndpoint, const void *pData, uint32_t dLength, TransferCallback fCallback, void *pArgument) |
| Sends data through a USB endpoint. More... | |
| uint8_t | USBD_Read (uint8_t bEndpoint, void *pData, uint32_t dLength, TransferCallback fCallback, void *pArgument) |
| Reads incoming data on an USB endpoint This methods sets the transfer descriptor and activate the endpoint interrupt. More... | |
| void | USBD_Halt (uint8_t bEndpoint) |
| Sets the HALT feature on the given endpoint (if not already in this state). More... | |
| void | USBD_Unhalt (uint8_t bEndpoint) |
| Clears the Halt feature on the given endpoint. More... | |
| uint8_t | USBD_IsHalted (uint8_t bEndpoint) |
| Returns the current Halt status of an endpoint. More... | |
| uint8_t | USBD_IsHighSpeed (void) |
| Indicates if the device is running in high or full-speed. More... | |
| uint8_t | USBD_Stall (uint8_t bEndpoint) |
| Causes the given endpoint to acknowledge the next packet it receives with a STALL handshake. More... | |
| void | USBD_SetAddress (uint8_t address) |
| Sets the device address to the given value. More... | |
| void | USBD_SetConfiguration (uint8_t cfgnum) |
| Sets the current device configuration. More... | |
| void | USBD_RemoteWakeUp (void) |
| Starts a remote wake-up procedure. More... | |
| void | USBD_Connect (void) |
| Connects the pull-up on the D+ line of the USB. More... | |
| void | USBD_Disconnect (void) |
| Disconnects the pull-up from the D+ line of the USB. More... | |
| void | USBD_Init (void) |
| Initializes the USB driver. More... | |
| uint8_t | USBD_GetState (void) |
| Returns the current state of the USB device. More... | |
| void | USBD_Test (uint8_t bIndex) |
| Certification test for High Speed device. More... | |
| void | USBD_ForceFullSpeed (void) |
| WEAK void | USBDCallbacks_Initialized (void) |
| Invoked after the USB driver has been initialized. More... | |
| WEAK void | USBDCallbacks_Reset (void) |
| Invoked when the USB driver is reset. More... | |
| WEAK void | USBDCallbacks_Suspended (void) |
| Invoked when the USB device gets suspended. More... | |
| WEAK void | USBDCallbacks_Resumed (void) |
| Invoked when the USB device leaves the Suspended state. More... | |
| WEAK void | USBDCallbacks_RequestReceived (const USBGenericRequest *request) |
| USBDCallbacks_RequestReceived - Invoked when a new SETUP request is received. More... | |
| static void | TerminateCtrlInWithNull (void *pArg, uint8_t status, uint32_t transferred, uint32_t remaining) |
| Send a NULL packet. More... | |
| static void | SetConfiguration (USBDDriver *pDriver, uint8_t cfgnum) |
| Configures the device by setting it into the Configured state and initializing all endpoints. More... | |
| static void | GetConfiguration (const USBDDriver *pDriver) |
| Sends the current configuration number to the host. More... | |
| static void | GetDeviceStatus (const USBDDriver *pDriver) |
| Sends the current status of the device to the host. More... | |
| static void | GetEndpointStatus (uint8_t bEndpoint) |
| Sends the current status of an endpoints to the USB host. More... | |
| static void | GetDescriptor (const USBDDriver *pDriver, uint8_t type, uint8_t indexRDesc, uint32_t length) |
| Sends the requested USB descriptor to the host if available, or STALLs the request. More... | |
| static void | SetInterface (USBDDriver *pDriver, uint8_t infnum, uint8_t setting) |
| Sets the active setting of the given interface if the configuration supports it; otherwise, the control pipe is STALLed. More... | |
| static void | GetInterface (const USBDDriver *pDriver, uint8_t infnum) |
| Sends the currently active setting of the given interface to the USB host. More... | |
| static void | USBDDriver_Test (const USBDDriver *pDriver, uint8_t test) |
| Performs the selected test on the USB device (high-speed only). More... | |
| USBDDriver * | USBD_GetDriver (void) |
| Return USBDDriver instance pointer for global usage. More... | |
| void | USBDDriver_Initialize (USBDDriver *pDriver, const USBDDriverDescriptors *pDescriptors, uint8_t *pInterfaces, uint8_t intfCount) |
| Initializes a USBDDriver instance with a list of descriptors. More... | |
| USBConfigurationDescriptor * | USBDDriver_GetCfgDescriptors (USBDDriver *pDriver, uint8_t cfgNum) |
| Returns configuration descriptor list. More... | |
| void | USBDDriver_RequestHandler (USBDDriver *pDriver, const USBGenericRequest *pRequest) |
| Handles the given request if it is standard, otherwise STALLs it. More... | |
| uint8_t | USBDDriver_IsRemoteWakeUpEnabled (const USBDDriver *pDriver) |
| Test if RemoteWakeUP feature is enabled. More... | |
| uint8_t | USBDDriver_returnOTGFeatures (const USBDDriver *pDriver) |
| Return OTG features supported. More... | |
| void | USBDDriver_clearOTGFeatures (USBDDriver *pDriver) |
| Clear OTG features supported. More... | |
| WEAK void | USBDDriverCallbacks_ConfigurationChanged (uint8_t cfgnum) |
| Indicates that the current configuration of the device has changed. More... | |
| WEAK void | USBDDriverCallbacks_InterfaceSettingChanged (uint8_t interface, uint8_t setting) |
| Notifies of a change in the currently active setting of an interface. More... | |
Variables | |
| static uint8_t | deviceState |
| Device current state. More... | |
| static uint8_t | previousDeviceState |
| Indicates the previous device state. More... | |
| uint8_t | ForceFS = 0 |
| static USBDDriver | usbdDriver |
| Default device driver instance, for all class drivers in USB Lib. More... | |
| typedef void(* MblTransferCallback) (void *pArg, uint8_t status) |
Callback used by MBL transfer functions (USBD_Read & USBD_Write) to notify that a transaction is complete.
| pArg | Pointer to callback arguments. |
| status | USBD status. |
| typedef void(* TransferCallback) (void *pArg, uint8_t status, uint32_t transferred, uint32_t remaining) |
Callback used by transfer functions (USBD_Read & USBD_Write) to notify that a transaction is complete.
| typedef struct _USBDDmaDescriptor USBDDmaDescriptor |
Struct used for USBD DMA Link List Transfer Descriptor, must be 16-bytes aligned.
(For USB, DMA transfer is linked to EPs and FIFO address is EP defined)
USB device driver structure, holding a list of descriptors identifying the device as well as the driver current state.
List of all descriptors used by a USB device driver.
Each descriptor can be provided in two versions: full-speed and high-speed. Devices which are not high-speed capable do not need to provided high-speed descriptors and the full-speed qualifier & other speed descriptors.
| typedef struct _USBDTransferBuffer USBDTransferBuffer |
Buffer struct used for multi-buffer-listed transfer.
The driver can process 255 bytes of buffers or buffer list window.
|
static |
Sends the current configuration number to the host.
| pDriver | Pointer to a USBDDriver instance. |
|
static |
Sends the requested USB descriptor to the host if available, or STALLs the request.
| pDriver | Pointer to a USBDDriver instance. |
| type | Type of the requested descriptor |
| index | Index of the requested descriptor. |
| length | Maximum number of bytes to return. |
|
static |
Sends the current status of the device to the host.
| pDriver | Pointer to a USBDDriver instance. |
|
static |
Sends the current status of an endpoints to the USB host.
| bEndpoint | Endpoint number. |
|
static |
Sends the currently active setting of the given interface to the USB host.
If alternate settings are not supported, this function STALLs the control pipe.
| pDriver | Pointer to a USBDDriver instance. |
| infnum | Interface number. |
|
static |
Configures the device by setting it into the Configured state and initializing all endpoints.
| pDriver | Pointer to a USBDDriver instance. |
| cfgnum | Configuration number to set. |
|
static |
Sets the active setting of the given interface if the configuration supports it; otherwise, the control pipe is STALLed.
If the setting of an interface changes. pDriver Pointer to a USBDDriver instance. infnum Interface number. setting New active setting for the interface.
|
static |
Send a NULL packet.
| void USBD_ConfigureEndpoint | ( | const USBEndpointDescriptor * | pDescriptor | ) |
| void USBD_Connect | ( | void | ) |
Connects the pull-up on the D+ line of the USB.
| void USBD_Disconnect | ( | void | ) |
Disconnects the pull-up from the D+ line of the USB.
| void USBD_ForceFullSpeed | ( | void | ) |
| USBDDriver * USBD_GetDriver | ( | void | ) |
Return USBDDriver instance pointer for global usage.
| uint8_t USBD_GetState | ( | void | ) |
Returns the current state of the USB device.
| void USBD_Halt | ( | uint8_t | bEndpoint | ) |
Sets the HALT feature on the given endpoint (if not already in this state).
| bEndpoint | Endpoint number. |
| void USBD_Init | ( | void | ) |
Initializes the USB driver.
| uint8_t USBD_IsHalted | ( | uint8_t | bEndpoint | ) |
Returns the current Halt status of an endpoint.
| bEndpoint | Index of endpoint |
| uint8_t USBD_IsHighSpeed | ( | void | ) |
Indicates if the device is running in high or full-speed.
Always returns 0 since UDP does not support high-speed mode.
| uint8_t USBD_Read | ( | uint8_t | bEndpoint, |
| void * | pData, | ||
| uint32_t | dLength, | ||
| TransferCallback | fCallback, | ||
| void * | pArgument | ||
| ) |
Reads incoming data on an USB endpoint This methods sets the transfer descriptor and activate the endpoint interrupt.
The actual transfer is then carried out by the endpoint interrupt handler. The Read operation finishes either when the buffer is full, or a short packet (inferior to endpoint maximum size) is received.
The buffer must be kept allocated until the transfer is finished.
| bEndpoint | Endpoint number. |
| pData | Pointer to a data buffer. |
| dLength | Size of the data buffer in bytes. |
| fCallback | Optional end-of-transfer callback function. |
| pArgument | Optional argument to the callback function. |
| void USBD_RemoteWakeUp | ( | void | ) |
Starts a remote wake-up procedure.
| void USBD_RequestHandler | ( | uint8_t | bEndpoint, |
| const USBGenericRequest * | pRequest | ||
| ) |
Handle the USB setup package received, should be invoked when an endpoint got a setup package as request.
| bEndpoint | Endpoint number. |
| pRequest | Pointer to content of request. |
| void USBD_ResetHandler | ( | void | ) |
Handle the USB reset event, should be invoked whenever HW found USB reset signal on bus, which usually is called "end of bus reset" status.
| void USBD_ResumeHandler | ( | void | ) |
Handle the USB resume event, should be invoked whenever HW reports a resume signal.
| void USBD_SetAddress | ( | uint8_t | address | ) |
Sets the device address to the given value.
| address | New device address. |
| void USBD_SetConfiguration | ( | uint8_t | cfgnum | ) |
Sets the current device configuration.
| cfgnum | - Configuration number to set. |
| uint8_t USBD_Stall | ( | uint8_t | bEndpoint | ) |
Causes the given endpoint to acknowledge the next packet it receives with a STALL handshake.
| bEndpoint | Endpoint number. |
| void USBD_SuspendHandler | ( | void | ) |
Handle the USB suspend event, should be invoked whenever HW reports a suspend signal.
| void USBD_Test | ( | uint8_t | bIndex | ) |
Certification test for High Speed device.
| bIndex | Test to be done |
| void USBD_Unhalt | ( | uint8_t | bEndpoint | ) |
Clears the Halt feature on the given endpoint.
| bEndpoint | Index of endpoint |
| uint8_t USBD_Write | ( | uint8_t | bEndpoint, |
| const void * | pData, | ||
| uint32_t | dLength, | ||
| TransferCallback | fCallback, | ||
| void * | pArgument | ||
| ) |
Sends data through a USB endpoint.
Sets up the transfer descriptor, writes one or two data payloads (depending on the number of FIFO bank for the endpoint) and then starts the actual transfer. The operation is complete when all the data has been sent.
If the size of the buffer is greater than the size of the endpoint (or twice the size if the endpoint has two FIFO banks), then the buffer must be kept allocated until the transfer is finished. This means that it is not possible to declare it on the stack (i.e. as a local variable of a function which returns after starting a transfer).
| bEndpoint | Endpoint number. |
| pData | Pointer to a buffer with the data to send. |
| dLength | Size of the data buffer. |
| fCallback | Optional callback function to invoke when the transfer is complete. |
| pArgument | Optional argument to the callback function. |
| WEAK void USBDCallbacks_Initialized | ( | void | ) |
Invoked after the USB driver has been initialized.
By default, do nothing.
| WEAK void USBDCallbacks_RequestReceived | ( | const USBGenericRequest * | request | ) |
USBDCallbacks_RequestReceived - Invoked when a new SETUP request is received.
Optional callback re-implementation.
Does nothing by default.
| request | Pointer to the request to handle. |
| WEAK void USBDCallbacks_Reset | ( | void | ) |
Invoked when the USB driver is reset.
Does nothing by default.
| WEAK void USBDCallbacks_Resumed | ( | void | ) |
Invoked when the USB device leaves the Suspended state.
By default, Do nothing.
| WEAK void USBDCallbacks_Suspended | ( | void | ) |
Invoked when the USB device gets suspended.
By default, do nothing.
| void USBDDriver_clearOTGFeatures | ( | USBDDriver * | pDriver | ) |
Clear OTG features supported.
| pDriver | Pointer to an USBDDriver instance. |
| USBConfigurationDescriptor * USBDDriver_GetCfgDescriptors | ( | USBDDriver * | pDriver, |
| uint8_t | cfgNum | ||
| ) |
Returns configuration descriptor list.
| pDriver | Pointer to a USBDDriver instance. |
| cfgNum | Reserved. |
| void USBDDriver_Initialize | ( | USBDDriver * | pDriver, |
| const USBDDriverDescriptors * | pDescriptors, | ||
| uint8_t * | pInterfaces, | ||
| uint8_t | intfCount | ||
| ) |
Initializes a USBDDriver instance with a list of descriptors.
If interfaces can have multiple alternate settings, an array to store the current setting for each interface must be provided.
| pDriver | Pointer to a USBDDriver instance. |
| pDescriptors | Pointer to a USBDDriverDescriptors instance. |
| pInterfaces | Pointer to an array for storing the current alternate setting of each interface (optional). |
| uint8_t USBDDriver_IsRemoteWakeUpEnabled | ( | const USBDDriver * | pDriver | ) |
Test if RemoteWakeUP feature is enabled.
| pDriver | Pointer to an USBDDriver instance. |
| void USBDDriver_RequestHandler | ( | USBDDriver * | pDriver, |
| const USBGenericRequest * | pRequest | ||
| ) |
Handles the given request if it is standard, otherwise STALLs it.
| pDriver | Pointer to a USBDDriver instance. |
| pRequest | Pointer to a USBGenericRequest instance. |
| uint8_t USBDDriver_returnOTGFeatures | ( | const USBDDriver * | pDriver | ) |
Return OTG features supported.
| pDriver | Pointer to an USBDDriver instance. |
|
static |
Performs the selected test on the USB device (high-speed only).
| test | Test selector value. |
| void USBDDriverCallbacks_ConfigurationChanged | ( | uint8_t | cfgnum | ) |
Indicates that the current configuration of the device has changed.
| cfgnum | New device configuration index. |
| void USBDDriverCallbacks_InterfaceSettingChanged | ( | uint8_t | interface, |
| uint8_t | setting | ||
| ) |
Notifies of a change in the currently active setting of an interface.
| interface | Number of the interface whose setting has changed. |
| setting | New interface setting. |
|
static |
Device current state.
| uint8_t ForceFS = 0 |
|
static |
Indicates the previous device state.
|
static |
Default device driver instance, for all class drivers in USB Lib.


TRANCE (1998)
"Everything that is, is in the process of becoming something else."
3 out of ****
Starring Alison Elliott, Jared Harris, Christopher Walken, Lois Smith; Written and Directed by Michael Almereyda; Cinematography by Jim Denault
It's hard to make a gloomy mansion possessed by an undead spirit seem like an original conceit, but American writer/director Michael Almereyda gives it his best shot in TRANCE (aka THE ETERNAL). He makes sophisticated use of dark fantasy tropes and a sombre visual palette in this horror story about a 2000-year-old druid haunting the ancestral home of an Irish family, but ultimately fails to transcend the circumscribed limits of the generic material.
The movie begins in America, where Nora (Alison Elliott) and Jim (Jared Harris) and their eight-year-old son are about to leave to visit Nora's aging grandmother in Ireland.  She ignores him. Next stop, Ireland, for a couple of pints of Guiness in a village pub, and, then, as the family drives down the winding road to their destination, strange images obscure Nora's vision, and she crashes the car. The family is miraculously uninjured, and they exit the damaged vehicle to find Alice, who lives with Nora's grandfather and uncle, standing solemnly by the side of the road. She leads them to the family home--a huge ancient house by the dark, treacherous bog.
Almereyda effectively develops a mood of unease and foreboding in the early scenes, suggesting that Nora and Jim drown their personal demons with heavy drinking, and anticipating the incursion of the supernatural into the mundane world by showing us brief elliptical images in Nora's head and having Alice appear with uncannily precise timing. Things become stranger when we meet Nora's uncle (Christopher Walken, sporting an intermittent Irish accent). He is a strange, reclusive fellow, perhaps insane--at night, he leads Nora to the cellar, where he reveals the preserved peat-encrusted body of an ancient druid woman.  And the phone line is down. It is a horror story, after all.
It's a superior example of its kind in large part because Almereyda, in tandem with cinematographer Jim Denault (THE BOOK OF LIFE, CLOCKWATCHERS), establishes a mesmeric, disquieting appearance for the film: it looks the way horror movies should look. Long shots of dim hallways where characters stand shrouded in shadow, silhouetted by distant light. Malfunctioning electric lights which bathe scenes in stark ominous flickering blue luminescence. Abrupt images of weirdly solemn children who appear at odd moments and say nothing. TRANCE is fundamentally a conventional tale, but it is distinguished by its visual elegance, including some sequences shot in Super-8 and, so I'm told, Fisher-Price Pixelvision; the latter produces extremely low-fi images which are remarkably effective here as a vehicle for dissociative and enigmatic flashbacks.
TRANCE also stretches the limits of its genre by making supple metaphoric use of supernatural motifs. Almereyda is interested in using the conventions of horror to explore the persona of Nora rather than to exploit their shock value. Nora's return home, from New World to Old World, seems intended as a symbolic encounter with her past identity, a coming-to-terms with the passionate girl she used to be, before she left for America and the comfort of her vapid marriage to glib, superficial Jim.
The druid, when she comes to life, appears in Nora's form, and functions as an external manifestation of Nora's repressed self, as doubles often do in supernatural tales (Poe's "William Wilson" is a classic example). While Nora is emotive, civilized, neurotic and peaceable, the druid is silent, feral, implacable and violent; Alison Elliott is good in the double role, conveying the differences without overplaying them. The film becomes a confrontation between two aspects of the same woman: it is about the need to acknowledge the past and to assimilate our buried selves.
Unfortunately, whatever its intentions, TRANCE devolves into moments of predictable horror during the final third, which weaken the otherwise intriguing finale. There is, for instance, a ludicrous reversal of situation when a character on the verge of death is saved by an off-screen--and implausible--gunshot. Later, the druid advances menacingly down the hall of the old house while gusts of meteorogically unlikely wind whip her hair about and swirl redundant leaves about her feet. Almereyda has a strong sense of irony, and brings style and flair even to these routine moments; nevertheless, such moments root the film within a moribund genre, when it should be stepping beyond it.
Subjective Camera (subjective.freeservers.com) Movie Reviews by David Dalgleish<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


Toppi
12:00pm - 1:00am | Monday - Friday
Toppi is a sophisticated Italian diner at the top end of town, which dominates its corner spot at 60 Martin Place, opposite the Reserve Bank. It’s got a terrace with bar tables and stools overlooking the street, where you can enjoy a barrel-aged Negroni made with grappa or perhaps a trademark tiramisu Martini. Owner Paola Toppi’s name might sound familiar. In 1988 Toppi’s mother, Giovanni, opened the now infamous Machiavelli, a long-lunch destination for Sydney’s power brokers, politicians and business titans.
The Steel + Stitch-designed venue (Lobo Plantation, Flamingo Lounge, Chula) is attractive, with dark timbers, burnt orange-coloured velvet chairs and wall-to-ceiling doors that can be folded back when the weather’s warm.
The venue has three distinct areas: a pasta bar, a cocktail bar and a dining room, all of which offer a different experience. Through an open pass on one side, you can watch chefs prepare pasta from scratch, while on the other side you’ll see carefully curated cocktails being put together.
The pasta is pared back and simple. There’s tagliolini with lemon, butter and blue swimmer crab, and tagliatelle sciue sciue, which means “hurry, hurry”. It takes cherry tomatoes and adds king prawns and chilli. Toppi’s “not so traditional” bolognaise is served with chopped up candele (Italian for candle; it’s a pasta that looks exactly what it sounds like) instead of spaghetti.
For something more formal, the dining room menu includes Wagyu eye fillet alla pizzaiola (with spicy tomato sauce, garlic chilli and potato mash) and spatchcock alla cacciatora (with tomato, mushroom, rosemary and garlic sauce).
Phone: No phone
Website: toppi.com.au
Independent Editorial Policy
We do not seek or accept payment from the cafes, restaurants, bars and shops listed in the Directory – inclusion is at our discretion. Venue profiles are written by independent freelancers paid by Broadsheet.


Structural equation modeling is a powerful statistical approach for the testing of networks of direct and indirect theoretical causal relationships in complex data sets with inter-correlated dependent and independent variables. Here we implement a simple method for spatially explicit structural equation modeling based on the analysis of variance co-variance matrices calculated across a range of lag distances. This method provides readily interpreted plots of the change in path coefficients across scale.
| Version: | 1.0.2 |
| Depends: | R (≥ 1.8.0) |
| Imports: | lavaan, mgcv, gplots |
| Published: | 2016-06-10 |
| Author: | Eric Lamb [aut, cre], Kerrie Mengersen [aut], Katherine Stewart [aut], Udayanga Attanayake [aut], Steven Siciliano [aut] |
| Maintainer: | Eric Lamb <eric.lamb at usask.ca> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | http://www.r-project.org, http://homepage.usask.ca/~egl388/index.html |
| NeedsCompilation: | no |
| Citation: | sesem citation info |
| Materials: | NEWS |
| CRAN checks: | sesem results |
| Reference manual: | sesem.pdf |
| Package source: | sesem_1.0.2.tar.gz |
| Windows binaries: | r-devel: sesem_1.0.2.zip, r-release: sesem_1.0.2.zip, r-oldrel: sesem_1.0.2.zip |
| OS X binaries: | r-release: sesem_1.0.2.tgz, r-oldrel: sesem_1.0.2.tgz |
| Old sources: | sesem archive |
Please use the canonical form https://CRAN.R-project.org/package=sesem to link to this page.


--- layout: conference title: "Call for late-breaking reports" permalink: "/conference/2022/latebreaking/" tag: MEC2022 id: latebreaking ---
We are pleased to announce our call for late-breaking reports for the Music Encoding Conference 2022.
The Music Encoding Conference is the annual meeting of the Music Encoding Initiative (MEI) community and all who are interested in the digital representation of music. This cross-disciplinary venue is open to and brings together members from various encoding, analysis, and music research communities, including musicologists, theorists, librarians, technologists, music scholars, teachers, and students, and provides an opportunity for learning and engaging with and from each other.
The MEC 2022 will take place Thursday 19th – Sunday 22nd May, 2022, at Dalhousie University, Nova Scotia, Canada. The Conference will run in hybrid mode, allowing remote attendance where travel plans are affected by the ongoing pandemic.
A wealth of information about attending MEC 2022 is available from the Conference website.
Late-breaking reports (LBR) offer submitting authors an opportunity to share new work on relevant topics, with a special focus on experimental ideas, novel perspectives, early-stage research, and late-breaking developments.
LBR submission requirements are intended to provide a low barrier of access to community feedback, with shortened page-length prescriptions and a simplified review procedure compared to submissions to the regular conference programme.
Following the conference, authors of accepted LBR may choose to submit camera-ready versions of their submission for inclusion in the conference proceedings. The MEC proceedings will be published under an open access license and with an individual DOI number for all papers. Note that late-breaking reports will be marked as "not peer-reviewed" in the proceedings due to the reduced LBR review process.
LBR submissions should be formatted in A4 size with 2.5cm margins, font size 12, single space, justified, in a sans-serif typeface (e.g. Calibri) according to the MEC 2022 LBR Submission Template.
Please note the deadlines for the submission process outlined under Important Dates below.
20 March: Early-bird conference registration deadline.
3-19 April: Submissions of late-breaking reports. Notifications of acceptance (pending light review) will be provided within 3 working days from submission.
18 May: Final registration deadline (in-person attendance).
19–22 May: Conference.
5 June: Final upload of camera-ready papers for publication in the proceedings. Camera-ready versions are welcome to incorporate light modifications in response to feedback obtained during the conference.
The Conference welcomes contributions from all those who are developing or applying music encodings in their work and research. Topics include, but are not limited to:
and the use or application of music encodings in:
While we look forward to welcoming as many of you as possible in person at Dalhousie University, we are preparing for MEC ‘22 within the context of ongoing uncertainty due to the Covid-19 pandemic. To allow the community to best accommodate to this situation, we are organising this year’s conference with the following commitments in mind:
Additional details regarding registration, accommodation, travel, and Covid guidelines are available on the conference web page.
In case of questions, feel free to contact<EMAIL_ADDRESS>The Music Encoding Conference is supported in part by funding from the Social Sciences and Humanities Research Council of Canada.


[1]
also , the bar area and the camp put out snacks and drinks at the bar .
[2]
fine for us since our kids are older and the room while the others were showering .


Loading...
How long is your 1 second?
Please try it again using proper modern browsers (Desktop version Chrome) supporting Web Component.


THE POSTMAN DELIVERS BUT NOT FIRST CLASS
The Postman A Film Review By Michael Redman Copyright 1997 By Michael Redman
*** (out of ****)
[Warning: My opinion of this film is definitely in the minority of reviewers perhaps because it hits so many of my cinematic buttons: post-apocalypse stories, hope in a desperate situation, grassroots uprisings and Kevin Costner. Even worse, I thought that "Waterworld" was watchable. Read the following with those particular grains of salt.]
It's the year 2013 and things have fallen apart. Due to a world war in the late nineties, the resulting three-year winter and a devastating plague, life in the former United States has been reduced to isolated primitive fiefdoms.
Although this is the future, it looks like a western. As the film opens, Kevin Costner (his character's name is never revealed) is wandering the Utah wastelands with only his mule Bill for company.
Giving extraordinarily bad Shakespearean performances in exchange for food and lodging, Costner is an outsider in a land of outsiders. Running into even worse luck, he is forcibly conscripted into the racially pure Holnist army of General Bethlehem (Will Patton). The rag-tag retro-futuristic cavalry is the descendent of militia groups and is even called the "clan"
After a brutal boot camp, he (and you can see this coming a mile away) escapes. Taking shelter in a wrecked Postal truck, he liberates the uniform and mail bag from the skeleton in the cab who no longer has a use for either. Once he reaches Oregon, land of beautiful women, bright youngsters and rock and roll; he pretends to be a representative from the "Restored Congress Of The United States of America".
This scam gets him inside the walled towns where the promise of mail delivery renews optimism in the hearts of the inhabitants. Food and other opportunities come his way in the form of spirited Abby (Olivia Williams) who wants him to father a child because her husband is sterile. Shortly her husband is killed by Bethlehem and she and The Postman (as Costner is referred to for the rest of the film) become a reluctant item.
Although The Postman knows he's running a fraud, the concept of renewed communications sets the kids' imagination afire (especially Ford Lincoln Mercury (Larenz Tate), his second-in-command) and they form a new Pony Express dedicated to getting the mail through. The revived Postal Service doubles as an army to fight the Holnists' tyranny. The Postman has become a symbol for hope in a Rube Goldberg manner.
Although the movie appeals to my sensibilities, there are so many things wrong with it that they can hardly be counted. It's derivitive of Costner's own "Waterworld" and Clint Eastwood westerns. There's little here that we haven't seen dozens of times before.
The film is often down-right corny. A scene where The Postman is on horseback and grabs a letter from the hands of a bright-eyed child is embarrassing in its slow-motion banality. The film's final few minutes should have been left on the cutting room floor.
Despite the film's excessive three hour length, several things are never explained. What was the war about? How did civilization change so rapidly? Everyone has horses: where did all they come from? The "Law Of Eights" that Bethlehem lives by seems to have its origins somewhere beyond the film, but where? Are we to believe that the rest of the world is in the same shape and hasn't made their way west to help or conquer?
There is some jumbled symbolism here that doesn't appear to make sense. The tale is obviously saying that communication can defeat evil in much the same way that the internet has the potential to topple governments, but beyond that there are some oddities.
The evil army is called "Holnists" which sounds coincidentally like the New Age "Holism", but why? Is it another coincidence that it takes place in 2013, just one year after many ancient prophesies (including the ending of the Mayan calendar) predict a new world for mankind? Why is the general named "Bethlehem"? There seems to be some reason for that, but what?
Sometimes the movie feels like a joke. An army of Postal workers armed with guns? Considering the headlines of recent years, it takes a tremendous leap of faith to cheer for these guys.
It's even more difficult to accept those re-powering the federal government as the heroes. Given the current climate of the country and the distrust of big government, it's asking a lot for the audience to get behind the film's nationalism.
Even with its numerous flaws, the movie all comes together, if only for those who have the same weaknesses that I have. It's doubtful that "The Postman" is going to find much of an audience, but a few of us are going to have a good time. Besides we're all awaiting the fall of civilization caused by the Year 2000 millennium computer bug.
(Michael Redman has written this column for over 22 years and would like to announce that the "Michael Redman" arrested near Indianapolis last week for accepting an illicit package from Federal Express is, to the best of his knowledge, not him. Perhaps this similarly-named person should have used Kevin Costner's Postal Service.)
[This appeared in the 12/30/97 "Bloomington Voice", Bloomington, Indiana. Michael Redman can be reached at<EMAIL_ADDRESS>--<EMAIL_ADDRESS>This week's film review at http://www.bvoice.com/ Film reviews archive at http://us.imdb.com/M/reviews_by?Michael%20Redman
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


--- layout: page description: "Journal" title: "Writings" active: journal header-img: "img/writing-bg.jpg" ---
► {{ post.title }}
{{ post.subtitle }}
Posted on {{ post.date | date: "%B %-d, %Y" }}


,
Fruit Hangman
Guess the fruit
click any leter to begin..


| Interface | Description |
|---|---|
| OuyaErrorCodes |
Error codes that can be returned to by a Listener's onFailure() method.
|
| OuyaInputMapper.RemappedEventDispatcher |
The interface for receiving remapped input events from
the OuyaInputMapper.
|
| OuyaResponseListener<T> |
Represents a listener for asynchronous replies from the Ouya server to requests made through the OuyaFacade.
|
| Class | Description |
|---|---|
| CancelIgnoringJsonResponseListener<T> | |
| CancelIgnoringOuyaResponseListener<T> |
Utility base class for listeners that don't expect to receive cancel notifications or which don't have
to do anything if the user clicks "Cancel." This class implements an empty onCancel() method so that you
don't have to litter your code with onCancel() methods that will never be called.
|
| GamerIdentity | |
| GamerInfo | |
| JsonResponseListener<T> | |
| OuyaActivity |
Extend the OuyaActivity and your onGenericMotionEvent, onKeyUp, and onKeyDown
events will behave as though your input device is an OuyaController.
|
| OuyaAuthenticationHelper |
This class can handle any authentication errors which come from the server and bring up
user account request prompts appropriately.
|
| OuyaController |
Utility class that contains codes for console buttons and axes.
|
| OuyaController.ButtonData |
The drawable & displayable name for a specific button.
|
| OuyaEncryptionHelper | |
| OuyaFacade |
Entry point for the OUYA API.
|
| OuyaFacade.DeviceHardware | |
| OuyaInputMapper | |
| OuyaIntent | |
| OuyaPurchaseHelper |
Helper for OUYA purchases.
|
| Product |
Represents a product available for in-app purchase.
|
| Purchasable |
Represents an item that can be purchased.
|
| PurchaseResult |
Copyright 2014 OUYA
|
| Receipt |
Represents a purchase that successfully occurred in the past.
|
| RequestRunnable<T> |
Base class for requests which are to be made to a service.
|
| Enum | Description |
|---|---|
| OuyaFacade.DeviceEnum | |
| Product.Type |


Search
Discover
Write
Search
[Loading core dictionary. This takes a while the first time.
]
You can search by kanji, hiragana, katakana, English or romaji!
Tweets by @japxlate (network connection required)
Write this character:
Clear
New character


|
PlasmoMAPI
|
PlasmoMAPI |
|
assign_map()
|
Assign edges to the hex grid |
|
calc_simple_hex_values()
|
Calculate map hex values without permutation |
|
check_PlasmoMAPI_loaded()
|
Check that PlasmoMAPI package has loaded successfully |
|
col_hotcold()
|
Red to blue colours |
|
create_map()
|
Create map composed of hex tiles |
|
get_barrier_intersect()
|
Get distance between points taking into account barriers |
|
get_ellipse()
|
Calculate ellipse polygon coordinates from foci and eccentricity |
|
get_significant_hexes()
|
Get significant hexes |
|
get_spatial_distance()
|
Get great circle distance between spatial points |
|
is.pm_project()
|
Determine if object is of class pm_project |
|
is.pm_sim()
|
Determine if object is of class pm_sim |
|
load_coords()
|
Load coordinates of sampling locations into PlasmoMAPI project |
|
load_data()
|
Load pairwise data into PlasmoMAPI project |
|
lonlat_to_bearing()
|
Calculate great circle distance and bearing between coordinates |
|
overlay_points()
|
Add points to dynamic map |
|
plot_coverage()
|
Plot hex coverage |
|
plot_daily_states()
|
Plot daily counts of each host state from simulation |
|
plot_dist()
|
Plot pairwise spatial distance against loaded statistic |
|
plot_ellipses()
|
Plot network of nodes and ellipses |
|
plot_leaflet()
|
Interactive hex map of PlasmoMAPI output |
|
plot_map()
|
Plot hex map of PlasmoMAPI output |
|
plot_network()
|
Plot network of nodes and edges |
|
pm_analysis()
|
Perform PlasmoMAPI analysis |
|
pm_file()
|
Import file |
|
pm_project()
|
Define empty PlasmoMAPI project |
|
print_full()
|
Print unclassed object |
|
sim_falciparum()
|
Simulate genetic data from simple P. falciparum model |


Multiple police cars attend rush hour incident in Kilmarnock town centre
One lane was blocked while officers carried out their duties.
by Ross Dunn, https://www.dailyrecord.co.uk/authors/ross-dunn/Police have attended the scene of an incident in Kilmarnock town centre tonight.
Two police cars were spotted blocking one lane on West George Street shortly after 5pm this evening.
The nature of the incident is unclear but officers were spotted speaking to four individuals outside Sinforiani Bros at the time.
Traffic was sluggish as the officers carried out their duties on the one-way road.
More to follow.
Get all the big headlines, pictures, analysis, opinion and video on the stories that matter to you.
We're also on Facebook – your must-see news, features and pictures throughout the day from the Kilmarnock Standard.
And follow us on Twitter @KillieStandard – the official Kilmarnock Standard Twitter account – real news in real time.


A Line chart showing the employee sales by department. Since this chart was a copy of a chart found on the Internet it uses the Line chart - though a stacked or grouped Bar chart may represent the data better as the types of furniture aren't really related to each other.
This goes in the documents header:<script src="RGraph.common.core.js"></script> <script src="RGraph.common.key.js"></script> <script src="RGraph.line.js"></script>Put this where you want the chart to show up:
<canvas id="cvs" width="575" height="450"> [No canvas support] </canvas>This is the code that generates the chart:
<script> new RGraph.Line({ id: 'cvs', data: [ [190,165,47,121,30,72], [12,180,10,80,25,75], [42,80,93,25,21,120], [2,42,27,47,43,50] ], options: { shadow: false, tickmarks: null, linewidth: 7, backgroundGridVlines: false, backgroundGridColor: 'gray', backgroundColor: '#222', noaxes: true, textColor: '#A7A5A6', textSize: 10, textAccessible: false, title: '2009 employee sales by department', titleColor: 'white', titleSize: 24, labels: ['Food','Auto','Household','Furniture','Hitchen','Bath'], gutterLeft: 50, gutterRight: 50, gutterTop: 75, gutterBottom: 60, key: ['Mary','Tom','Brad','Kate'], keyPosition: 'gutter', keyTextSize: 14, keyTextColor: 'rgb(248,248,248)', keyPositionY: 425, colors: ['#B8202C','#96D1E3','#FA8710','#62648D'] } }).on('beforedraw', function (obj) { RGraph.clear(obj.canvas, '#555557'); }).draw(); </script>


Fundraise for your favorite causes by
hiring local skills
.

YOUR MONEY GOES TO THE REAL JUNK FOOD PROJECT
(we will support other causes soon)
RECIEVE
SKILL AND LEAVE A REVIEW
"Excellently Done!"
What we've achieved so far...
£
0
fundraising gigs
£
0
neighbours meeting
£
0
raised for causes
Find
a skill
Volunteer
a skill


Save As command (File menu)
Use this command to save and name the active drawing. AeSys displays the Save As dialog box so you can name your document.
To save a document with its existing name and directory, use the Save command.


Mike Greene
Why did I choose Helio?
- The course works great with my schedule
- Online option
- The instructors are super human
- Fantastic reviews
- It made me feel warm and fuzzy from the start
As someone preparing to enter the world of a developer, I am most excited to learn about Javascript, and it's vast creative capabilities.


- I saw Tar. I thought it wasn't as clever as it thought it was but soon I'll have spent an equal amount of time reading about it and thinking about it.
- It was week 7 of covid. My left side neurological (allegedly) issues dissipated a great deal and my left leg neurological (MRI proven) issues flared up to fill the void.
- That meant for most of the week I could walk but it required thinking about what walking looks like in order to pull it off. Standing up, sitting down and other sudden action were all reminders I wasn't confident on my feet.
- Travel obligations ended 10 Jan and I've had between 8-9 hours sleep daily since then and have been laying low and it's really helping.
- I'm getting stir crazy, though. It's hard for someone like me to sit still and now that—thanks to the UK not letting folks under 50 have a booster jab—I'm finally (ugh) better inoculated against covid I feel I can do a better job this year of getting out and seeing humans and I'd like that to be able to start already, thank you.
Published on — Sun Jan 29 2023


AP Sportlight
by Compiled by PAUL MONTELLANov. 5
1927 - Walter Hagen beats Joe Turnesa 1-up to capture the PGA Championship for the fourth consecutive year and fifth overall.
1955 - Montreal’s Jean Beliveau scores the second fastest hat trick in NHL history in a 4-2 win over Boston. Beliveau, who scores all four Canadien goals, gets three in 44 seconds against Bruins goaltender Terry Sawchuk on the same power play. At that time a penalized player served the entire term of his infraction. The league changes the rule the next season. Bert Olmstead assists on all three of Beliveau’s goals.
1966 - Virgil Carter of BYU passes for 513 yards and rushes for 86 to set an NCAA record for total yards with 599 in a 53-33 victory over Texas Western.
1977 - BYU sophomore Marc Wilson sets an NCAA record with 571 passing yards in a 38-8 rout of Utah.
1978 - Oakland coach John Madden becomes the 13th coach to win 100 games in the NFL when the Raiders beat the Kansas City Chiefs 20-10.
1988 - Alysheba becomes the richest racehorse when he beats Seeking the Gold by a half-length in the $3 million Breeders’ Cup Classic at Churchill Downs. Alysheba wins first-place money of $1.35 million, giving him a career bankroll of more than $6.67 million to push past John Henry, who retired with more than $6.59 million.
1994 - George Foreman regains part of the heavyweight title he lost to Muhammad Ali in 1974, stopping Michael Moorer with a two-punch combination at 2:03 of the 10th round. Foreman, 45, captures the IBF and WBA championships to become the oldest champion in any weight class.
1997 - The Milwaukee Brewers are the first major league baseball team to switch leagues this century, moving from the AL to the NL.
1999 - Carolina’s Ron Francis becomes the sixth NHL player to reach 1,500 career points when he assists on Sami Kapanen’s first-period goal for the Hurricanes in 3-2 loss at Detroit.
2000 - Elvis Grbac completes 39 of 53 passes for a 504 yards and three touchdowns in Kansas City’s 49-31 loss to Oakland.
2010 - Mexico beats the U.S. in one of the biggest upsets in the history of women’s soccer. The Mexicans, on goals by Maribel Dominguez and Veronica Perez, win 2-1 and qualify for the 2011 World Cup.
2011 - Drosselmeyer, a 14-1 shot, roars down the middle of the track and catches Game On Dude in the closing strides to win the $5 million Breeders’ Cup Classic.
2016 - Arrogate catches 4-5 favorite California Chrome in the final 100 yards to win the $6 million Breeders’ Cup Classic.
2017 - New Orleans beats Tampa Bay 30-10 to improve to 6-2 with its sixth straight victory. The Saints are the third team since the NFL-AFL merger in 1970 to win their next six games after an 0-2 start. The other teams - the 1993 Dallas Cowboys and 2007 New York Giants - won the Super Bowl in those seasons.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


Sunday, November 14, 2004
Helena High School
Helena MT
USCF Permit #:2004-1975
Under unseasonably warm skies and little wind, Northern Rockies Jason Mohr rode
a strong and complete race to win the Montana Men's Elite State Championship.
Dueling with Montana Velo's Shane Mundt for the entire race on the very fast
but technical Helena High circuit , Mohr capitalized on a small last lap
mistake by Mundt to take the title.
Kathleen Jones (Five Valley Velo) rode uncontested to take the women's title
and John Weyrhich (Five Valley Velo) fought another on-the-rivet battle with
Walt Chauner (Flathead Cycling) to take the Masters 45+ gold medal.
Thanks go to all who showed up to spectate, to all Montana Velo teammates for
helping out as well as Finish Referee Carl "The Champ" Anderberg,
Chief Official Byron DeFord, Atticus Proctor, Sean Kiely, Jason Hobson, and the
Helena School District No. 1 Maintenance Staff.
Men's Elite
1. Jason Mohr Northern
Rockies/Helena 48:35 (10 laps)
2. Shane Mundt Montana Velo/Missoula
3. Phil Hess
Great Divide CC/Helena
4. Chance Cooke Flathead Cycling/Whitefish
5. Ben Sullivan Montana Velo/Missoula
DNF Timmy Evens Northern Rockies/Missoula
DNF Tejay Van Garderen Team Rio Grande/Missoula
DNF Scott Herzig Montana Velo/Dillon
Women's A
1. Kathleen Jones Five Valley Velo/Missoula
Masters 45+
1. John Weyhrich Five Valley Velo/Missoula 42:07 (8 laps)
2. Walt Chauner Flathead Cycling/Whitefish
3. Steve Muller Flathead Cycling/Kalispell
4. John Coulhard Highlands Cycling/Butte
5. Byron DeFord Great Divide CC/Helena
Women's B
1. Sara Ray Bozeman
Men's B
1. John Lackey MSU/Bozeman
2. Rick Finley Great Divide
CC/Helena
3. Steve Bretson Bozeman


-
When you think of the times in your life where you have been the happiest, the proudest, or the most satisfied, which of the following values come to mind?
Influence, Inspiration, Integrity, Wisdom, Responsibility, Courage, Creativity, Knowledge, Mentorship
-
Pick one value and write a couple of sentences about why one of the values you chose is important to you.
I choose Mentorship mainly because I am part of a club that helps international students adjust to their new environment.This means I am with them from the time they need to be picked up from the airport to the time they need to move in to their apartments. They are far away from their families and I am there for them whenever they need me. I advise them on academics, love and whatever other challenge life throws their way. I am a responsible for them and their well being. That just gives me a great sense of fulfillment.
-
Answer the following for the values you chose in Exercise 1: In general, I try to live up to these values: Disagree 1 ----- 2 ----- 3 ----- 4 ----- 5 Agree
5
-
What was the last topic that someone asked for your advice on?
The last topic someone asked me advice about was about moving away from family. It was for academic reasons and being someone who is very close to family, I just told the person to follow her heart and that her family would understand and embrace her dreams no matter what.


#ftl output_format="HTML" auto_esc=true> <#import "layout/default.html" as layout><EMAIL_ADDRESS>Dear ${notificationTarget.name},
You have been invited to join the project ${projectName} as a named finance contact.
You will be providing finance details on behalf of ${inviteOrganisationName}
The project is being led by ${leadOrganisation}
Please sign in to accept this invitation. If you haven't used this service before you must create an account.
|
Yours sincerely,
<EMAIL_ADDRESS>/> @layout.default>


(Probably JavaScript)
This is not necessarily a bad thing, except when it is.
Web owes its success to its accessibility.
This accessibility is made possible with clear separation between content, style, and logic.
Consider a situation where you have no control over the markup. And the markup is bad. What is your CSS going to look like?
Bad.
The descendent selector is the most expensiveMDN..foo .child {}
p > * {} div[hidden="true"] {} .app .wrapper p > button {} #footer {}
@mixin dark-background($color){
background-color: $color;
color: white;
text-shadow: 0 0 0.5rem black;
font-weight: 700;
}
.box {
@include dark-background(black);
}
.different-box {
@include dark-background(blue);
}
@function button($color) {
padding: 1em;
margin: 0 1em;
background-color: $color;
}
@function display-font {
font-family: 'Playfair Display';
letterspacing: -0.01em;
line-height: 1em;
}
.block--element {
function: button(blue);
function: display-font;
}
@function button($color) {
padding: 1em;
margin: 0 1em;
background-color: $color;
}
@function display-font {
font-family: 'Playfair Display';
letterspacing: -0.01em;
line-height: 1em;
}
#this-specific-element {
function: button(blue);
function: display-font;
}
It's relatively easy to contain styles within your component
But what about inheriting styles you never knew about?
Recall that hostile environment when you couldn't control the markup. Or the CSS.
In everything except IE/Edge, you can all: initial to protect yourself from inheritance
Inheritance itself is rather opaque.
#foo {
&inherit {
function: article-font;
}
&layout {
display: block;
position: absolute;
function: container(320px);
}
&decoration {
color: pink;
function: random-background;
}
}


How does this work?
When you put in a file, it gets split by each word. Then, the words are shown back to you in a faster format.
What files can I upload?
You can upload plain text (usually .txt) files. DO NOT ATTEMPT to upload ebooks (such as .epub and .mobi), they will not work properly.


Estimators as Statistical Decision Functions¶
February 2017
In this notebook we discuss some key concepts of statistical decision theory in order to provide a general framework for the comparison of alternative estimators based on their finite sample performance.
- The primitive object is a statistical decision problem containing a loss function, an action space, and a set of assumed statistical models. We present estimation problems familiar from econometrics as special cases of statistical decision problems. The common framework helps highlighting similarities and differences.
- We compare estimators based on their (finite sample) risk, where risk is derived from an unknown true data generating mechanism.
- We present some straightforward examples to illustrate the main ideas.
Notation¶
Let \(\mathbb{R}\) and \(\mathbb{Z}\) denote the space of reals and integers, respectively. \(\mathbb{R}_+\) is the space of nonnegative real numbers. We use the notation \(X^Y\) for a function space that consists of functions mapping from the space \(Y\) into the space \(X\). As a result, \(\mathbb{R}^{d\mathbb{Z}}\) denotes the space of sequences made up of \(d\)-dimensional real numbers, while \(\mathbb R^{Z}_+\) denotes the set of functions mapping from the range of (random) variable \(Z\) to the space of nonnegative reals.
Let \(Z_t\) be a \(d\)-dimensional random vector representing the value that the \(d\) observables take at period \(t\). The stochastic process \(\{Z_t\}_{t\in\mathbb Z}\) is denoted by \(Z^{\infty}\), the partial history including \(n\) consecutive elements of \(Z^{\infty}\) is \(Z^{n}:=\{Z_1, Z_2, \dots, Z_n\}\). Small letters stand for realizations of random variables, hence \(z^{\infty}\), \(z^n\) and \(z\) represent the realization of the stochastic process, the sample and a single observation, respectively.
We use capital letters for distributions, small letter counterparts denote the associated densities. For example, we use the generic \(Q\) notation for ergodic distributions, \(q\) for the corresponding density and \(q(\cdot|\cdot)\) for the conditional density. Caligraphic letters are used to denote sets:
- \(\mathcal{P}\) – the set of strictly stationary probability distributions over the observables
- \(\mathcal{Q}\subset \mathcal{P}\) – the set of ergodic distributions (statistical models) over the observables
- \(\mathcal{F}\) – admissible space: abstract function space including all functions for which the loss function is well defined
Introduction¶
Stationarity and statistical models¶
We model data as a partial realization of a stochastic process \(Z^{\infty}\) taking values in \(\mathbb{R}^{d}\). Denote a particular realization as \(z^{\infty} \in \mathbb{R}^{k\mathbb{Z}}\) and let the partial history \(z^{n}\) containing \(n\) consecutive elements of the realization be the sample of size \(n\). We assume that there exists a core mechanism undelying this process that describes the relationship among the elements of the vector \(Z\). Our aim is to draw inference about this mechanism after observing a single partial realization \(z^{n}\).
How is this possible without being able to draw different samples under the exact same conditions? Following the exposition of [Breiman-1969] fruitful approach is to assume that the underlying mechanism is time invariant with the stochastic process being strictly stationary and study its statistical properties by taking long-run time averages of the realization \(z^{\infty}\) (or functions thereof), e.g.
Since the mechanism is assumed to be stable over time, it does not matter when we start observing the process.
Notice, however, that strictly speaking these time averages are properties of the particular realization, the extent to which they can be generalized to the mechanism itself is not obvious. To address this question, it is illuminating to bundle realizations that share certain statistical properties together in order to construct a universe of (counterfactual) alternative \(z^{\infty}\)-s, the so called ensemble. Statistical properties of the data generating mechanism can be summarized by assigning probabilities to (sets of) these \(z^{\infty}\)-s in an internally consistent manner. These considerations lead to the idea of statistical models.
Statistical models are probability distributions over sequences \(z^{\infty}\) that assign probabilities so that the unconditional moments are consistent with the associated long-run time averages. In other words, with statistical models the time series and ensemble averages coincide, which is the property known as ergodicity. Roughly speaking, ergodicity allows us to learn about the ensemble dimension by using a single realization \(z^{\infty}\).
Dependence¶
In reality, being endowed only with a partial history of \(z^{\infty}\), we cannot calculate the exact log-run time averages. By imposing more structure on the problem and having a sufficiently large sample, however, we can obtain reasonable approximations. To this end, we need to assume some form of weak independence (“mixing”), or more precisely, the property that on average, the dependence between the elements of \(\{Z_t\}_{t\in\mathbb{Z}}\) dies out as we increase the gap between them.
Consequently, if we observe a long segment of \(z^{\infty}\) and cut it up into shorter consecutive pieces, say of length \(l\), then, we might consider these pieces (provided that \(l\) is “large enough”) as nearly independent records from the distribution of the \(l\)-block, \(Z^l\). To clarify this point, consider a statistical model \(Q_{Z^{\infty}}\) (joint distribution over sequences \(z^{\infty}\)) with density function \(q_{z^{\infty}}\) and denote the implied density of the sample as \(q_{n}\). Note that because of strict stationarity, it is enough to use the number of consecutive elements as indices. Under general regularity conditions we can decompose this density as
For simplicity, we assume that the stochastic process is Markov so that the partial histories \(z^{i}\) for \(i=1,\dots, n-1\) in the conditioning sets can be replaced by the “right” number of lags \(z^{n-1}_{n-l}\) and we can drop the subindex from the conditional densties
This assumption is much stronger than what we really need. First, it suffices to require the existence of a history-dependent latent state variable similar to the Kalman filter. Moreover, we could also relax the Markov assumption and allow for dependence that dies out only asymptotically. In practice, however, we often have a stong view about the dependency structure, or at least we are willing to use economic theory to guide our choice of \(l\). In these cases we almost always assume a Markovian structure. For simplicity, in these lectures, unless otherwise stated, we will restrict ourselves to the family of Markov processes.
This assumption allows us to learn about the underlying mechanism \(Q_{Z^{\infty}}\) via its \(l+1\)-period building blocks. Once we determine the (ensemble) distribution of the block, \(Q_{Z^{[l+1]}}\), we can “build up” \(Q_{Z^{\infty}}\) from these blocks by using a formula similar to (1). Having said that the block distribution \(Q_{Z^{[l+1]}}\) carries the same information as \(Q_{Z^{\infty}}\). Therefore, from now on, we define \(Z\) as the minimal block we need to know and treat it as an observation. Statistical models can be represented by their predictions about the ensemble distribution \(P\) of this observable.
True data generating process¶
We assume that the mechanism underlying \(Z^{\infty}\) can be represented with a statistical model \(P\) and it is called true data generating process (DGP). We seek to learn about the features of this model from the observed data.
Primitives of the problem¶
Following [Wald-1950] every statistical decision problem that we will consider can be represented with a triple \((\mathcal{H}, \mathcal{A}, L)\), where
Assumed statistical models, \(\mathcal{H}\subseteq \mathcal{Q} \subset \mathcal{P}\)
\(\mathcal{H}\) is a collection of ergodic probability measures over the observed data, which captures our maintained assumptions about the mechanism underlying \(Z^{\infty}\). The set of all ergodic distributions \(\mathcal{Q}\) is a strict subset of \(\mathcal{P}\)–the space of strictly stationary probability distributions over the observed data. In fact, the set of ergodic distributions, \(\mathcal{Q}\), constitute the extremum points of the set \(mathcal{P}\). Ergodicity implies that with infinite data we could single out one element from \(\mathcal{H}\).
Action space, \(\mathcal{A}\subseteq \mathcal{F}\)
The set of allowable actions. It is an abstract set embodying our proposed specification by which we aim to capture features of the true data generating mechanism. It is a subset of \(\mathcal{F}\)–the largest possible set of functions for which the loss function (see below) is well defined.
Loss function \(L: \mathcal{P}\times \mathcal{F} \mapsto \mathbb{R}_+\)
The loss function measures the performance of alternative actions \(a\in \mathcal{F}\) under a given distribution \(P\in \mathcal{P}\). In principle, \(L\) measures the distance between distributions in \(\mathcal{P}\) along particular dimensions determined by features of the data generating mechanism that we are interested in. By assigning zero distance to models that share a particular set of features (e.g. conditional expectation, set of moments, etc.), the loss function can ‘determine’ the relevant features of the problem.
Given the assumed statistical models, we can restrict the domain of the loss function without loss in generality such that, \(L: \mathcal{H}\times\mathcal{A}\mapsto\mathbb{R}_+\).
Examples¶
Quadratic loss:
The most commonly used loss function is the quadratic
where the admissible space is \(\mathcal{F}\subseteq \mathbb{R}^{k}\). Another important case is when we can write \(Z = (Y, X)\), where \(Y\) is univariate and the loss function is
and the admissible space \(\mathcal{F}\) contains all square integrable real functions of \(X\).
Relative entropy loss:
When we specificy a whole distribution and are willing to approximate \(P\), one useful measure for comparison of distributions is the Kullback-Leibler divergence, or relative entropy
in which case the admissible space is the set of distributions which have a density (w.r.t. the Lebesgue measure) \(\mathcal{F} = \{a: Z \mapsto \mathbb{R}_+ : \int a(z)\mathrm{d}z=1\}\).
Generalized Method of Moments:
Following the exposition of [Manski-1988], many econometric problems can be cast as solving the equation \(T(P, \theta) = \mathbf{0}\) in the parameter \(\theta\), for a given function \(T: \mathcal{P}\times\Theta \mapsto \mathbb{R}^m\) with \(\Theta\) being the parameter space. By expressing estimation problems in terms of unconditional moment restrictions, for example, we can write \(T(P, \theta) = \int g(z; \theta)\mathrm{d}P(z) = \mathbf{0}\) for some function \(g\). Taking an origin-preserving continuous transformation \(r:\mathbb{R}^m \mapsto \mathbb{R}_+\) so that
we can present the problem in terms of minimizing a particular loss function. Define the admissible space as \(\mathcal{F} = \Theta\), then the method of moment estimator minimizes the loss \(L(P, \theta) = r\circ T(P, \theta)\). The most common form of \(L\) is
where \(W\) is a \(m\times m\) positive-definite weighting matrix.
Features and the best-in-class action¶
By using a loss function, we acknowledge that learning about the true mechanism might be too ambitious, so we better focus our attention only on certain features of it and try to approximate those with our specification. The loss function expresses our assessment about the importance of different features and about the penalty used to punish deviations from the true features. We define the feature functional \(\gamma: \mathcal{P}\mapsto \mathcal{F}\) by the following optimization over the admissible space \(\mathcal{F}\)
and say that \(\gamma(P)\) captures the features of \(P\) that we wish to learn about. It follows that by changing \(L\) we are effectively changing the features of interest.
If one knew the data generating process, there would be no need for statistical inference. What makes the problem statistical is that the distribution \(P\) describing the environment is unknown. The statistician must base her action on the available data, which is a partial realization of the underlying data generating mechanism. As we will see, this lack of information implies that for statistical inference the whole admissible space \(\mathcal F\) is almost always “too large”. As a result, one typically looks for an approximation in a restricted action space \(\mathcal{A}\subsetneq \mathcal{F}\), for which we define the best-in-class action as follows
Whith a restricted action space, this best-in-class action might differ from the true feature \(\gamma(P)\). We can summarize this scenario compactly by \(\gamma(P)\notin \mathcal{A}\) and saying that our specification embodied by \(\mathcal{A}\) is misspecified. Naturally, in such cases properties of the loss function become crucial by specifying the nature of punishments used to weight deviations from \(\gamma(P)\). We will talk more about misspecification in the following sections. A couple of examples should help clarifying the introduced concepts.
- Conditional expectation – regression function estimation Consider the quadratic loss function over the domain of all square integrable functions \(L^2(X, \mathbb{R})\) and let \(Z = (Y, X)\), where \(Y\) is a scalar. The corresponding feature is
If the action space \(\mathcal{A}\) does not include all square integrable functions, but only the set of affine functions, the best in class action, i.e., the linear projection of \(Y\) to the space spanned by \(X\), will be different from \(\gamma(P)\) in general. In other words, the linear specification for the conditional expectation \(Y|X\) is misspecified.
- Density function estimation Consider the Kullback-Leibler distance over the set of distributions with existing density functions. Denote this set by \(D_Z\). Given that the true \(P\in D_Z\), the corresponding feature is
which provides the density \(p\in\mathbb{R}_+^Z\) such that \(\int p(z)\mathrm{d}z =1\) and for any sensible set \(B\subseteq \mathbb{R}^k\), \(\int_B p(z)\mathrm{d}z = P(B)\). If the action space \(\mathcal{A}\) is only a parametric subset of \(D_Z\), the best in class action will be the best approximation in terms of KLIC. For an extensive treatment see [White-1994].
Statistical models vs. specifications¶
An important aspect of the statistical decision problem is the relationship between \(\mathcal{H}\) and \(\mathcal{A}\). Our maintained assumptions about the mechanism are embodied in \(\mathcal{H}\), so a natural attitude is to be as agnostic as possible about \(\mathcal{H}\) in order to avoid incredible assumptions. Once we determined \(\mathcal{H}\), the next step is to choose the specification, that is the action space \(\mathcal{A}\).
- One approach is to tie \(\mathcal{H}\) and \(\mathcal{A}\) together. For example, the assumptions of the standard linear regression model outline the distributions contained in \(\mathcal{H}\) (normal with zero mean and homoscedasticity), for which the natural action space is the space of affine functions.
- On the other hand, many approaches explicitly disentangle \(\mathcal{A}\) from \(\mathcal{H}\) and try to be agnostic about the maintained assumptions \(\mathcal{H}\) and rather impose restrictions on the action space \(\mathcal{A}\). At the cost of giving up some potentially undominated actions this approach can largely influence the success of the inference problem in finite samples.
By choosing an action space not being tied to the set of assumed statistical models, the statistician inherently introduces a possibility of misspecification – for some statistical models there could be an action outside of the action space which would fare better than any other action within \(\mathcal{A}\). However, coarsening the action space in this manner has the benefit of restricting the variability of estimated actions arising from the randomness of the sample.
In this case, the best-in-class action has a special role, namely, it minimizes the “distance” between \(\mathcal{A}\) and the true feature \(\gamma(\mathcal A)\), thus measuring the benchmark bias stemming from restricting \(\mathcal{A}\).
Example - Coin tossing¶
The observable is a binary variable \(Z\in\{0, 1\}\) generated by some statistical model. One might approach this problem by using the following triple
- Assumed statistical models, \(\mathcal{H}\):
- \(Z\) is generated by an i.i.d. Bernoulli distribution, i.e. \(\mathcal{H} = \{P(z; \theta): \theta \in[0,1]\}\)
- The probability mass function associated with the distribution \(P(z;\theta)\in\mathcal{H}\) has the form
Action space, \(\mathcal{A}\):
- Let the action space be equal to \(\mathcal{H}\), that is \(\mathcal{A} = \{P(z, a): a\in[0,1]\} = \mathcal{H}\).
Loss function, \(L\): We entertain two alternative loss functions
- Relative entropy
\[L_{RE}(P, a) = \sum_{z\in\{0,1\}} p(z; \theta)\log \frac{p(z; \theta)}{p(z; a)} = E_{\theta}[\log p(z; \theta)] - E_{\theta}[\log p(z; a)]\]- Quadratic loss
where \(E_{\theta}\) denotes the expectation operator with respect to the distribution \(P(z; \theta)\in\mathcal{H}\).
Example - Linear regression function¶
In the basic setup of regression function estimation we write \(Z=(Y,X)\in\mathbb{R}^2\) and the objective is to predict the value of \(Y\) as a function of \(X\) by penalizing the deviations through the quadratic loss function. Let \(\mathcal{F}:= \{f:X \mapsto Y\}\) be the family of square integrable functions mapping from \(X\) to \(Y\). The following is an example for a triple
- Assumed statistical models, \(\mathcal{H}\)
- \((Y,X)\) is generated by an i.i.d. joint Normal distribution, \(\mathcal{N}(\mu, \Sigma)\), implying that the true regression function, i.e. conditional expectation, is affine.
- Action space, \(\mathcal{A}\)
- The action space is the set of affine functions over \(X\), i.e. \(\mathcal{A}:= \{a \in \mathcal{F} : a(x) = \beta_0 + \beta_1 x\}\).
- Loss function, \(L\)
- Quadratic loss function
Statistical Decision Functions¶
A statistical decision function (or statistical decision rule) is a function mapping samples (of different sizes) to actions from \(\mathcal{A}\). In order to flexibly talk about the behavior of decision rules as the sample size grows to infinity, we define the domain of the decision rule to be the set of samples of all potential sample sizes, \(\mathcal{S}:= \bigcup_{n\geq1}Z^n\). The decision rule is then defined as a sequence of functions
Example (cont) - estimator for coin tossing¶
One common way to find a decision rule is to plug the empirical distribution \(P_{n}\) into the loss function \(L(P, a)\) to obtain
and to look for an action that minimizes this sample analog. In case of relative entropy loss, it is
where we define the random variable \(Y_n := \sum_{i = 1}^{n} Z_i\) as the number of \(1\)s in the sample of size \(n\), with \(y\) denoting a particular realization. The solution of the above problem is the maximum likelihood estimator taking the following form
and hence the maximum likelihood decision rule is
It is straightforward to see that if we used the quadratic loss instead of relative entropy, the decision rule would be identical to \(d_{mle}(z^n)\). Nonetheless, the two loss functions can lead to very different assessment of the decision rule as will be shown below.
For comparison, we consider another decision rule, a particular Bayes estimator (posterior mean), which takes the following form
where \(\alpha, \beta > 0\) are given parameters of the Beta prior. Later, we will see how one can derive such estimators. What is important for us now is that this is an alternative decision rule arising from the same triple \((\mathcal{H}, \mathcal{A}, L_{MSE})\) as the maximum likelihood estimator, with possibly different statistical properties.
Example (cont) - estimator for linear regression function¶
In this case the approach that we used to derive the maximum likelihood estimator in the coin tossing example leads to the following sample analog objective function
With a bit of an abuse of notation redefine \(X\) to include the constant for the intercept, i.e. \(\mathbf{X} = (\mathbf{\iota}, x^n)\). Then the solution for the vector of coefficients, \(\mathbf{\beta}=(\beta_0, \beta_1)\), in the ordinary least squares regression is given by
Hence, after sample \(z^n\), the decision rule predicts \(y\) as an affine function given by \(d_{OLS}(z^n) = \hat{a}_{OLS}\) such that
where \(\langle \cdot, \cdot \rangle\) denotes the inner product on \(\mathbb R^{2}\).
Again, for comparison we consider a Bayesian decision rule where the conditional prior distribution of \(\beta\) is distributed as \(\beta|\sigma \sim \mathcal{N}(\mu_b, \sigma^2\mathbf{\Lambda_b}^{-1})\). Then the decision rule is given by
Hence, decision rule after sample \(z^n\) is an affine function given by \(d_{bayes}(z^n) = \hat{a}_{bayes}\) such that
Again, our only purpose here is to show that we can define alternative decision rules for the same triple \((\mathcal{H}, \mathcal{A}, L_{MSE})\) which might exhibit different statistical properties.
Induced Distributions over Actions and Losses¶
For a given sample \(z^n\), the decision rule assigns an action \(d(z^n)\in\mathcal{A}\), which is then evaluated with the loss function \(L(P, d(z^n))\) using a particular distribution \(P\in\mathcal{H}\). Evaluating the decision rule and the loss function with a single sample, however, does not capture the uncertainty arising from the randomness of the sample. To get that we need to assess the decision rule in counterfactual worlds with different realizations for \(Z^n\).
For each possible data generating mechanism, we can characterize the properties of a given decision rule by considering the distribution that it induces over losses. It is instructive to note that the decision rule \(d\) in fact gives rise to
- induced action distribution: distribution induced by \(d\) over the action space, \(\mathcal{A}\)
- induced loss distribution: distribution induced by \(d\) over the loss space, i.e. \(\mathbb{R}_+\).
This approach proves to be useful as the action space can be an abstract space with no immediate notion of metric while the range of the loss function is always the real line (or a subset of it). In other words, a possible way to compare different decision rules is to compare the distributions they induce over losses under different data generating mechanisms for a fixed sample size.
Evaluating Decision Functions¶
Comparing distributions, however, is often an ambiguous task. A special case where one could safely claim that one decision rule is better than another is if the probability that the loss is under a certain \(x\) level is always greater for one decision rule than the other. For instance, we could say that \(d_1\) is a better decision rule than \(d_2\) relative to \(\mathcal{H}\) if for all \(P\in\mathcal{H}\)
which is equivalent to stating that the induced distribution of \(d_2\) is first-order stochastically dominating the induced distribution of \(d_1\) for every \(P\in\mathcal{H}\). This, of course, implies that
where the expectation is taken with respect to the sample distributed according to \(P\).
In fact, the expected value of the induced loss is the most common measure to evaluate decision rules. Since the loss is defined over the real line, this measure always gives a single real number which serves as a basis of comparison for a given data generating process. The expected value of the loss induced by a decision rule is called the risk of the decision rule and is denoted by
This functional now provides a clear and straightforward ordering of decision rules so that \(d_1\) is preferred to \(d_2\) for a given sample size \(n\), if \(R_n(P, d_1) < R_n\left(P, d_2\right)\). Following this logic, it might be tempting to look for the decision rule that is optimal in terms of finite sample risk. This problem, however, is immensly complicated because its criterion function hinges on an object, \(P\), that we cannot observe.
Nonetheless, statistical decision theory provides a very useful common framework in which different approaches to constructing decision rules can be analyzed, highlighting their relative strengths and weaknesses. In notebook3 and notebook4 {REF to notebooks} we will consider three approaches, each of them having alternative ways to handle the ignorance about the true risk.
- Classical approach: where the main assessment of a decision rule is based on its asymptotic properties.
- Bayesian approach: where the ignorance about \(P\) is resolved by the use of a prior.
- Statistical learning theory approach: where a decision rule is judged according to its performance under the least favorable (worst-case) distribution.
Example (cont) - induced distributions for coin tossing¶
Consider the case when the true data generating process is indeed i.i.d. Bernoulli with parameter \(\theta_0\). This implies that we have a correctly sepcified model. The sample that we are endowed with to use for inference has the size \(n=25\).
- The left panel in the following figure represents the distribution of the sample. More precisely, the different sample realizations \(z^n\) have equal probability, but because all information contained in a given sample can be summerized by the sum of \(1\)s, \(Y=\sum_{t=1}^{n} Z_t\) and \(Y\) is a sufficient statistic, we plot the distribution of \(Y\) instead.
- The right panel shows the shapes of the two loss functions that we are considering. Notice that while quadratic loss is symmetric, relative entropy loss is asymmetric. That is, although both loss functions give rise to the same decision rule, we see that they punish deviations from the truth (red vertical line) quite differently. In particular, the entropy loss is unbounded over the domain: at \(a=0\) and \(a=1\) its value is undefined (or takes infinity).
The left and right panels of the following figure shows the induced action distributions of the MLE and Bayes decision rules (when \(\alpha=5\), \(\beta=2\)) respectively for two alternative values of \(\theta_0\). More transparent colors denote the scenario corresponding to the sample distribution of last figure. Faded colors show the distributions induced by an alternative \(\theta_0\), while the prior parameters of the Bayes decision rule are kept fixed.
- Bias vs. variance: The MLE estimator is unbiased in the sense that its mean always coincide with the true \(\theta_0\). In contrast, the Bayes estimator is biased, the extent of which depends on the relationship between the prior parameters and the true value: when the prior concentrates near \(\theta_0\), the bias is small, but as the faded distributions demonstrate, for other \(\theta_0\)s the bias can be significant. Notice, however, that \(d_{bayes}\) is always less dispersed than \(d_{mle}\), in the sense that the values to which it assigns positive probability are more densely placed in \([0, 1]\). Exploiting this trade-off between bias and variance will be a crucial device in finding decision rules with low risk.
Finally, the figure below compares the performance of the two decision rules according to the their finite sample risk. The first row represents the induced loss distribution of the MLE estimator for the relative entropy and quadratic loss functions. The two panels of the second row show the same distributions for the Bayes decision rule. The vertical dashed lines indicate the value of the respective risk functionals.
- Loss function matters: For all sample sizes, the probability mass function of the MLE estimator assigns positive probability to both \(a=0\) and \(a = 1\), whereas the support of the Bayes estimator lies always in the interior \((0, 1)\). This difference has significant consequences for the relative entropy risk, because as we saw above \(L_{RE}\) is undefined at the boundaries of \([0, 1]\). As a result, the relative entopy risk of the MLE estimator does not exist and so the Bayes estimator always wins in terms of realative entropy. The secret of \(d_{bayes}\) is to shrink the effective action space.
- Dependence on: \(\theta_0\) Comparing the decision rules in terms of the quadratic loss reveals that the true \(\theta_0\) is a critical factor. It determines the size of the bias (hence the risk) of the Bayes estimator. Since \(\theta_0\) is unknown, this naturally introduces a subjective (not data driven) element into our analysis: when the prior happens to concentrate around the true \(\theta_0\) the Bayes estimator performs better than the MLE, otherwise the bias could be so large that it flips the ordering of decision rules.
Example (cont) - induced distributions for linear regression¶
Suppose that our model is correctly specified. In particular, let the data generating mechanism be i.i.d. with
Under this data generating mechanism, the optimal regression function is affine with coefficients
Due to correct specification, these coefficients in fact determine the feature, i.e. the true regression function.
For the Bayes estimator consider the prior
and suppose that \(\Sigma\) is known. Let the sample size be \(n=50\). With the given specification we can simulate the induced action and loss distributions.
The following figure shows contour plots of the induced action distributions associated with the OLS and Bayes estimators. The red dot depicts the best-in-class action.
- One can see that the OLS estimator is unbiased in the sense that the induced action distribution concentrates around the best-in-class action. In contrast, the Bayes estimator exhibits a slight bias.
- On the other hand, the variance of the Bayes decision rule is smaller than that of the OLS estimator.
Using quadrature methods one can calculate the loss of each action which gives rise to the induced loss distribution. As an approximation to these induced loss distributions, the following figure shows the histograms emerging from these calculations.
- In terms of risk the slightly bigger bias of the Bayes estimate is compensated by its lower variance (across the different sample realizations). As a result, in this particular example, the risk of the Bayes decision rule is lower than that of the OLS estimator.
- The true feature lies within the action space and the model is very “simple”, hence it’s difficult to beat the OLS (we need small sample and large noise). Using a more complex or misspecified model this might not be the case.
Misspecification and the bias-variance dilemma¶
In the above examples we maintained the assumption of correctly specified models, i.e., the true feature of the data generating process lied within the action set \(\mathcal{A}\). In applications using nonexperimental data, however, it is more reasonable to assume that the action set contains only approximations of the true feature.
Nothing in the analysis above prevents us from entertaining the possibility of misspecification. In these instances one can look at \(a^{*}_{L, P, \mathcal{A}}\) as the best approximation of \(\gamma(P)\) achievable by the model specification \(\mathcal{A}\). For example, even though the true regression function (conditional expectation) might not be linear, the exercise of estimating the best linear approximation of the regression function is well defined.
In theory, one can investigate the approximation error emerging from a misspecified \(\mathcal{A}\) via the loss function without mentioning the inference (finite sample) problem at all. In particular, the misspecification error can be defined as
This naturally leads to a dilemma regarding the “size” of the action space: with a richer \(\mathcal{A}\), in principle, we can get closer to the true feature by making the misspecification error small. Notice, however, that in practice, not knowing \(P\) implies that we cannot solve the above optimization problem and obtain the best-in-class action. As we show in notebook2 {REF}, a possible way to proceed is to require the so called consistency property from our decision rule by which we can guarantee to get very close to \(a^{*}_{L, P, \mathcal{A}}\) with sufficiently large samples, however, what “sufficently large” means will be determined by the size of our \(\mathcal{A}\). Larger action spaces will require larger samples to get sensible estimates for the best-in-class action. In fact, by using a “too large” \(\mathcal{A}\) accompanied with a “too small” sample, our estimator’s performance can be so bad that misspecification concerns become secondary.
In other words, finiteness of the sample gives rise to a trade-off between the severity of misspecifiation and the credibility of our estimates. To see this, decompose the deviation of the finite sample risk from the value of loss at the truth (excess risk) for a given decision rule \(d\) and sample size \(n\):
While the estimation error stems from the fact that we do not know \(P\), so we have to use a finite sample to approximate the best-in-class action, misspecification error, not influenced by any random object, arises from the necessity of \(\mathcal{A}\subsetneq\mathcal{F}\).
This trade-off resembles the bias-variance dilemma well-known from classical statistics. Statisticians often connect the estimation error with the decision rule’s variance, whereas the misspecification error is considered as the bias term. We will see in notebook3 {REF} that this interpretation is slightly misleading. Nonetheless, it is true that, similar to the bias-variance trade-off, manipulation of (the size of) \(\mathcal{A}\) is the key device to address the estimation-misspecification error trade-off. The minimal excess risk can be reached by the action space where the following two forces are balanced {REF to figure in notebook3}:
- the estimation error (variance) is increasing in the size of \(\mathcal{A}\),
- the misspecification error (bias) is weakly decreasing in the size of \(\mathcal{A}\).
In the next lecture {REF: notebook2}, we will give a more elaborate definition of what do we mean by the “size” of \(\mathcal{A}\).
A warning
The introduced notion of misspecification is a statistical one. From a modeller’s point of view, a natural question to ask is to what extent misspecification affects the economic interpretation of the parameters of a fitted statistical model. Intuitively, a necessary condition for the sensibility of economic interpretation is to have a correctly specified statistical model. Because different economic models can give rise to the same statistical model, this condition is by no means sufficient. From this angle, a misspecified statistical model can easily invalidate any kind of economic interpretation of estimated parameters. This issue is more subtle and it would require an extensive treatment that we cannot deliver here, but it is worth keeping in mind the list of very strong assumptions that we are (implicitly) using when we give well-defined meaning to our parameter estimates. An interesting discussion can be found in Chapter 4 of [White-1994].
The code used for the simulations and generating the graphs can be found under the following link.
References¶
| [Breiman-1969] | Breiman, Leo (1969). Probability and Stochastic Processes: With a View Towards Applications. Houghton Mifflin. |
| [Wald-1950] | Wald, Abraham (1950). Statistical Decision Functions. John Wiley and Sons, New York. |
| [Manski-1988] | Manski, Charles (1988). Analog estimation in econometrics. Chapman and Hall, London. |
| [White-1994] | (1, 2) White, Halbert (1994). Estimation, Inference and Specification Analysis (Econometric Society Monographs). Cambridge University Press. |


Count
Radius
Length
photo_camera
Draw your layout above and press the screenshot button to start analysing!


DMaaP Bus Controller
Welcome to the DMaaP Bus Controller web application.
Please wait while the content loads.
{{dbcapp.errMsg}}
Selected DMaaP access profile:
- Name: {{dbcapp.selectedDmaapAccess.name}}
- URL: {{dbcapp.selectedDmaapAccess.dmaapUrl}}
Application version:
- Build-Number: {{dbcapp.manifest['Build-Number']}}
- Build-Time: {{dbcapp.manifest['Build-Time']}}
Microservice version:
- Build-Number: {{dbcapp.manifest.usvcManifest['Build-Number']}}
- Build-Time: {{dbcapp.manifest.usvcManifest['Build-Time']}}


Find a Career Right For You
Ei mel semper vocent persequeris, nominavi patrioque vituperata id vim, cu eam gloriatur philosophia deterruisset. Meliore perfecto repudiare ea nam, ne mea duis temporibus. Id quo accusam consequuntur, eum ea debitis urbanitas. Nibh reformidans vim ne.
Iudico definiebas eos ea, dicat inermis hendrerit vel ei, legimus copiosae quo at. Per utinam corrumpit prodesset te, liber praesent eos an. An prodesset neglegentur qui, usu ancillae posidonium in, mea ex eros animal scribentur. Et simul fabellas sit. Populo inimicus ne est.
Alii wisi phaedrum quo te, duo cu alia neglegentur. Quo nonumy detraxit cu, viderer reformidans ut eos, lobortis euripidis posidonium et usu. Sed meis bonorum minimum cu, stet aperiam qualisque eu vim, vide luptatum ei nec. Ei nam wisi labitur mediocrem. Nam saepe appetere ut, veritus graecis minimum no vim. Vidisse impedit id per.
Career Opportunites
Fortune 500 Companies
Government Agencies
Small Businesses
Self Employment
How To Get Hired
There’s a difference between having technical skills and actually being ready to contribute on a tech team.
Knowing how to code means you know how to write a program. Being a software engineer at a tech company means you know how to communicate, collaborate with others, effectively learn new skills, and become part of the technical community.
It’s those skills–even more than your technical chops–that make you truly employable. Most companies would rather hire a friendly, passionate, teachable team player and train them than a technical genius who'll butt heads with coworkers.
Even if you're not in a client-facing role (which many developers aren't), communication skills are highly important.
When you’re working on a team of developers, everyone must understand the vision for the project, who's responsible for what, standard practices for accomplishing tasks, etc., and be able to effectively collaborate.
It is important you learn how to work with your peers and apply your skills and talents to bigger projects that require the work of multiple people.
Although you might prefer working on your own, the real world will require you to regularly be a contributor to large team porjects.
Choosing a technical career in the industry of computing technologies and engineering will force you keep adapting to constant changes.
You will need to be a proactive learner and be able to retain new information year after year of your career or else you will be left behind.


My name is Natali
My favorite analysis tool is Looker. My current role is Data and Evaluation Manager at P.F. Bresee Foundation.


Intro FEZ BrainPad G30 G80 G120 G400 Bootloader STM32 Bootloader Legacy Intro NETMF Intro EMX Embedded Master ChipworkX USBizi FEZ Cerberus FEZ Hydra Gadgeteer Gadgeteering File System Imaging Raspberry Pi Hats mBuino CANxtra