TheFA
Search
Expand
Skip Navigation
FT Home
Sign In
Guildford & Woking Alliance Football League
Season:
2016-17
Division:
Division Two
Hit Counter:
98640
2014-15
2015-16
2016-17
After selecting wait for screen to refresh
Premier Division
Division One
Division Two
Division Three
Division Four
After selecting wait for screen to refresh
Select Cup / Competition
Premier Cup
Intermediate Cup
Junior Cup
Invitation Cup
After selecting wait for screen to refresh
Home
News
Fixtures
Results
Stats
Refs
Email Sub
Contact
RESPECT
Feeds
Mobile
Select Fixture Group:
All
Premier Division
Division One
Division Two
Division Three
Division Four
Premier Cup
Intermediate Cup
Junior Cup
Surrey County FA Junior Cup
Surrey County FA Lower Junior Cup
Middlesex County FA Junior Cup
GO
Select Fixtures:
This group only
Include other groups
GO
Select Club:
All
AFC Westend
Bourne Blades
Burpham
Byfleet
Deepcut Community
Dunsfold
FC Staines
Farncombe Athletic
Heathervale
Hersham Villa
Horsley
Laleham Athletic
Laleham
Merrow
Pirbright
Staines Lammas
Surrey Athletic
Woking Corinthians
Woking Tigers
Worplesdon Phoenix
Wrecclesham
GO
Select Team:
All
A.F.C. Hamsey Rangers First
AFC Westend Reserves
Battersea Ironsides A
Beckenham First
Bourne Blades
Broadfields First
Burpham Reserves
Byfleet
Deepcut Community
Dunsfold
Epsom Casuals First
FC Staines
Farncombe Athletic
Heathervale
Hersham Vila
Horsley A
Kingsbrook First
Laleham Athletic
Laleham Reserves
Lighthouse First
Merrow A
Normandy First
Old Wimbledonians First
Oxted & District Reserves
Pirbright
Staines Lammas Reserves
Surrey Athletic
Thornton Heath Wanderers First
Trinity A.F.C Reserves
Woking Corinthians
Woking Tigers
Worplesdon Phoenix A
Wrecclesham
GO
Select Date:
All
December 16
November 16
October 16
September 16
Sat 17/12/16
Sat 10/12/16
Sat 03/12/16
Sat 26/11/16
Sat 19/11/16
Sat 12/11/16
Sat 05/11/16
Sat 29/10/16
Sat 22/10/16
Sat 15/10/16
Sat 08/10/16
Sat 01/10/16
Sat 24/09/16
Sat 17/09/16
Sat 10/09/16
GO
Results
DATE/ TIME
HOME TEAM
RESULT
AWAY TEAM
COMPETITION
Div2
17/12/16 14:00
Byfleet
4 - 2
Horsley A
Division Two
Div2
17/12/16 14:00
Dunsfold
1 - 1
Farncombe Athletic
Division Two
Div2
17/12/16 14:00
Surrey Athletic
2 - 4
Wrecclesham
Division Two
PreC
17/12/16 13:30
Heathervale
A - A
Hersham Vila
Premier Cup
Abandoned
IntC
17/12/16 13:30
Burpham Reserves
3 - 0
Merrow A
Intermediate Cup
Div2
10/12/16 14:00
Merrow A
0 - 5
AFC Westend Reserves
Division Two
Div2
10/12/16 14:00
Staines Lammas Reserves
2 - 2
Byfleet
Division Two
IntC
10/12/16 13:30
Dunsfold
2 - 2
(Pen 4-5)
Laleham Reserves
Intermediate Cup
IntC
10/12/16 13:30
Horsley A
3 - 0
FC Staines
Intermediate Cup
IntC
10/12/16 13:30
Woking Tigers
3 - 2
Deepcut Community
Intermediate Cup
IntC
10/12/16 13:30
Worplesdon Phoenix A
2 - 1
Farncombe Athletic
Intermediate Cup
IntC
10/12/16 13:30
Wrecclesham
5 - 2
Bourne Blades
Intermediate Cup
SLJC
10/12/16 13:30
Hersham Vila
6 - 1
Epsom Casuals First
Surrey County FA Lower Junior Cup
Div2
03/12/16 14:00
AFC Westend Reserves
2 - 6
Hersham Vila
Division Two
Div2
03/12/16 14:00
Byfleet
2 - 3
Wrecclesham
Division Two
Div2
03/12/16 14:00
Deepcut Community
2 - 1
Staines Lammas Reserves
Division Two
Div2
03/12/16 14:00
Dunsfold
1 - 4
Horsley A
Division Two
Div2
03/12/16 14:00
Merrow A
4 - 2
Farncombe Athletic
Division Two
Page
1
of 5
1
2
3
4
5
All


PixelPlayer
ACADEMIC PROJECT | MAY 2016
Java • Swing
>> Github
For a data structures class, designed a Java GUI in a team of 3. Pixelplayer allows users to draw on the 9x8 matrix by selecting 1 of 4 colours, where each colour corresponds to a specific note that is played as a chord once the user is finished.
Was primarily in charge of sound production and back-end, using hashtables and queues for color-sound associations.


Pakistan's Largest Marketplace
Your Ads
Favourite Ad
Recent Chat
My Account
×
LOGIN
Login
New user? Register here
Signup
Already have account? login here
LogOut
Post Ad
Welcome
Note:
Select Any Catogery First
All Pakistan
All Pakistan
Abbottabad
Lahore
Faisalabad
Multan
Gujranwala
Peshawar
Gujrat
Quetta
Hyderabad
Rawalpindi
Islamabad
Sargodha
Karachi
Sialkot
Badin
Dadu
Ghotki
Hala
Hyderabad
Jacobabad
Jamshoro
Karachi
Khairpur
Larkana
Mirpur Khas
Mithi
Nawabshah
Ratodero
Sanghar
Shikarpur
Sukkar
Sukkur
Tando Adam
Thatta
Ahmadpur East
Arifwala
Attock
Bahawalnagar
Bahawalpur
Bhakkar
Burewala
Chakwal
Chichawatni
Chiniot
Chishtian Mandi
Daska
Dera Ghazi Khan
Faisalabad
Gojra
Gujar Khan
Gujranwala
Gujrat
Hafizabad
Hasan Abdal
Hasilpur
Haveli lakha
Jaranwala
Jhang Sadar
Jhelum
Kamoke
Kasur
Khanewal
Khanpur
Khushab
Kot Addu
Kotli
Lahore
Layyah
Mailsi
Mandi Bahauddin
Mian Chunnu
Mianwali
Multan
Muridike
Murree
Muzaffargarh
Narowal
Okara
Pakpattan
Pindi Bhattian
Pirmahal
Rahimyar Khan
Rajanpur
Rawalpindi
Sadiqabad
Safdar Abad
Sahiwal
Sargodha
Shakargarh
Sheikhüpura
Sialkot
Sohawa
Talagang
Toba Tek singh
Vehari
Wah
Bela
Gwadar
Jiwani
Kalat
Khuzdar
Lasbela
Loralai
Ormara
Pasni
Quetta
Abbottabad
Bannu
Batagram
Buner
Charsadda
Chitral
Darra Adam Khel
Dera Ismail Khan
Hangu
Haripur
Karak
Kohat
Kohistan
Lakki Marwat
Lower Dir
Malakand
Mansehra
Mardan
Mingaora
Nowshera
Peshawar
Shangla
Swabi
Swat
Tank
Upper Dir
Bagh
Bhimber
Mirpur
Muzaffarabad
Pallandri
Select Category
Select Category
Property For Sale
Property For Rent
Vehicles
Bikes
Electronics
Home Appliances
Mobiles
Jobs
Services
Insdustrial Material
Furniture
Animals
Fashion and beauty
Books Sports Hobbies
Kids
Property for Sale
Property for Rent
Vehicles
Bikes
Mobile Phones
Services
Bussiness
Jobs
Books Sports
Furniture
Animals
Kids
Fashion and Beauty
Home Appliances
Locations Map
Popular Serches
Archive
Sitemap
Terms of Use
Help / Contact us
Who are we
Join OLX
Happy OLXer
Contact US
Help@safh
03032159234
Bussiness Packages
click here


Models
Models are the backbone of Bookshelf. They encapsulate most of the functionality that you'll need to work with your data.
Creating your own Models
To create your models you extend
them from bookshelf.Model
and add any methods and
relations that are needed. The first argument to extend()
should be an object with the instance methods and properties
you want to set on your model, and the second argument is only used if you want to add static methods and properties.
The following example sets up a new model that could be used to manage customer sessions on a website.
const Promise = require('bluebird')
const bcrypt = Promise.promisifyAll(require('bcrypt'))
const Account = require('./account')
// Defining our Customer model
var Customer = bookshelf.Model.extend({
// Instance properties and methods are defined here
tableName: 'customers',
account() {
// This establishes a relation with the Account model
return this.belongsTo(Account)
}
}, {
// Static class properties and methods
login: Promise.method((email, password) => {
return new this({email})
.fetch({require: true})
.tap((customer) => {
return bcrypt.compareAsync(password, customer.get('password'))
.then((valid) => {
if (!valid) throw new Error('Invalid password')
})
})
})
})
This model could then be used in a controller to login the customer like this:
Customer.login(email, password).then((customer) => {
res.json(customer)
}).catch(Customer.NotFoundError, () => {
res.json(400, {error: email + ' not found'})
}).catch((error) => {
console.error(error)
})
Note that this would return the entire customer
object including the password. This is usually not desirable, so in
actual production applications you should use the
visibility plugin to hide certain attributes when
serializing the model.
Validation
There is no built-in way to validate your models before saving them to the database. However you can use any third-party validation library and it should be relatively easy to integrate. Here's an example using checkit:
const checkit = require('checkit')
const Customer = bookshelf.Model.extend({
initialize() {
this.constructor.__super__.initialize.apply(this, arguments)
this.on('saving', this.validateSave)
},
validateSave() {
return checkit(rules).run(this.attributes)
}
})
Events
There are several events fired by models at different stages of the query request process. For more information about this see the Events guide.
Note: This section of the documentation is still a WIP. For more in-depth information about models check out the
API Reference
.


features/characters_favorites
Packages
com.whatstoday.dynamicfeatures.charactersfavorites.ui.favorite
com.whatstoday.dynamicfeatures.charactersfavorites.ui.favorite.adapter
com.whatstoday.dynamicfeatures.charactersfavorites.ui.favorite.adapter.holders
com.whatstoday.dynamicfeatures.charactersfavorites.ui.favorite.di
Index
All Types


Before Change
Set up a TotalConnect control panel.
name = config.get(CONF_NAME)
username = config.get(CONF_USERNAME)
password = config.get(CONF_PASSWORD)
total_connect = TotalConnect(name, username, password)
add_entities([total_connect], True)
class TotalConnect(alarm.AlarmControlPanel):
After Change
if discovery_info is None:
return
alarms = []
client = hass.data[TOTALCONNECT_DOMAIN].client
for location in client.locations:
location_id = location.get("LocationID")
name = location.get("LocationName")
alarms.append(TotalConnectAlarm(name, location_id, client))
add_entities(alarms)
class TotalConnectAlarm(alarm.AlarmControlPanel):


DROP
AND
RUN
Driver's Application Form
BASIC INFO
VEHICLE INFO
EMPLOYMENT HISTORY
POSITION TYPE
Owner Operator

Employee Driver
How did you become aware of the opportunity at DropNRun?
CONTACT INFORMATION
First Name:
Middle Name:
Last Name:
Street Address:
City:
City1
City2
City3
Province:
Prov1
Prov2
Postal Code:
Lived here for:
1
2
3
Home Phone Contact:
Cell Number:
Email:
Previous Address if Present Address is Less Than 3 years:
Street Address:
City:
City1
City2
City3
Province:
On
Off
Postal Code:
Are you a Canadian Critizen
Yes

No
Are you legally eligible to work in Canada
Yes

No
Do you have a valid passport
Yes

No
Social Insurance Number:
Date of Birth
Close
Continue
Save& Close


%inherit file="slide.html" /> <%block name="main_content">
Source Code in the ${project.name} uses the Sphinx Python documentation generator along with reStructured for code and technical documentation
Unit & Behavior Driven Development Testing »
%block> <%block name="sidebar_content">The technical and source code documentation for the ${project.name} is available at http://frbr-redis-datastore.readthedocs.org/
Installation instructions and other technical document for the ${project.name} project are written in the reStructured format.
Installing FRBR Redis Datastore =============================== Directions for installing `FRBR-Redis-Datastore` on an Ubuntu_ 11.10 server. Directions for installing `FRBR-Redis-Datastore` on Windows or Macintosh are similar but will require different installation directions for some of the project's dependencies. .. _Ubuntu: http://www.ubuntu.com Install Redis ------------- #. Use ``wget`` to download Redis tar file ``$ wget http://redis.googlecode.com/files/redis-2.4.6.tar.gz`` #. Untar the file ``$ tar xzf redis-2.4.6.tar.gz`` #. Run make ``$ make``%block> <%block name="subtopic_two"> %block>


ABOUT
By 2030, 60% of the world's population will be urban. This significant population growth is expected to create a real need for innovative mobility options as ground infrastructure becomes increasingly congested. Providing people with a safe, sustainable and convenient solution that leverages the airspace above cities could be a solution.
Since 2014, Flying Outclass Technologies has been exploring how recent technology advancements – from battery capacity and autonomy to electric propulsion – can help drive the development of new kinds of aerial vehicles. In May 2018, we created Flying Outclass Technologies to take our exploration into cutting-edge commercial urban air mobility solutions and services to the next level.
Flying Outclass Technologies focuses on better connecting people by bringing the safety, convenience and joy of flight to city inhabitants. To do so, it takes a holistic approach to urban air mobility, seamlessly integrating a variety of critical components.
Learn
More...
Mission
Enable safe, autonomous and eco-friendly air mobility for everyone
Vision
Become the World’s Foremost Authority on Intelligent Aerial Vehicles
Values
We are guided by a set of six values; Customer focus, integrity, respect, creativity, reliability and teamwork


|
HaHa
|
Classes | |
| struct | usart_sync_descriptor |
| Synchronous USART descriptor. More... | |
Functions | |
| int32_t | usart_sync_init (struct usart_sync_descriptor *const descr, void *const hw, void *const func) |
| Initialize usart interface. More... | |
| int32_t | usart_sync_deinit (struct usart_sync_descriptor *const descr) |
| Deinitialize usart interface. More... | |
| int32_t | usart_sync_enable (struct usart_sync_descriptor *const descr) |
| Enable usart interface. More... | |
| int32_t | usart_sync_disable (struct usart_sync_descriptor *const descr) |
| Disable usart interface. More... | |
| int32_t | usart_sync_get_io_descriptor (struct usart_sync_descriptor *const descr, struct io_descriptor **io) |
| Retrieve I/O descriptor. More... | |
| int32_t | usart_sync_set_flow_control (struct usart_sync_descriptor *const descr, const union usart_flow_control_state state) |
| Specify action for flow control pins. More... | |
| int32_t | usart_sync_set_baud_rate (struct usart_sync_descriptor *const descr, const uint32_t baud_rate) |
| Set usart baud rate. More... | |
| int32_t | usart_sync_set_data_order (struct usart_sync_descriptor *const descr, const enum usart_data_order data_order) |
| Set usart data order. More... | |
| int32_t | usart_sync_set_mode (struct usart_sync_descriptor *const descr, const enum usart_mode mode) |
| Set usart mode. More... | |
| int32_t | usart_sync_set_parity (struct usart_sync_descriptor *const descr, const enum usart_parity parity) |
| Set usart parity. More... | |
| int32_t | usart_sync_set_stopbits (struct usart_sync_descriptor *const descr, const enum usart_stop_bits stop_bits) |
| Set usart stop bits. More... | |
| int32_t | usart_sync_set_character_size (struct usart_sync_descriptor *const descr, const enum usart_character_size size) |
| Set usart character size. More... | |
| int32_t | usart_sync_flow_control_status (const struct usart_sync_descriptor *const descr, union usart_flow_control_state *const state) |
| Retrieve the state of flow control pins. More... | |
| int32_t | usart_sync_is_tx_empty (const struct usart_sync_descriptor *const descr) |
| Check if the usart transmitter is empty. More... | |
| int32_t | usart_sync_is_rx_not_empty (const struct usart_sync_descriptor *const descr) |
| Check if the usart receiver is not empty. More... | |
| uint32_t | usart_sync_get_version (void) |
| Retrieve the current driver version. More... | |
| int32_t usart_sync_deinit | ( | struct usart_sync_descriptor *const | descr | ) |
Deinitialize usart interface.
This function deinitializes the given I/O descriptor. It checks if the given hardware is initialized and if the given hardware is permitted to be deinitialized.
| [in] | descr | An usart descriptor which is used to communicate via USART |
Deinitialize usart interface.
| int32_t usart_sync_disable | ( | struct usart_sync_descriptor *const | descr | ) |
Disable usart interface.
Disables the usart interface
| [in] | descr | An usart descriptor which is used to communicate via USART |
| int32_t usart_sync_enable | ( | struct usart_sync_descriptor *const | descr | ) |
Enable usart interface.
Enables the usart interface
| [in] | descr | An usart descriptor which is used to communicate via USART |
| int32_t usart_sync_flow_control_status | ( | const struct usart_sync_descriptor *const | descr, |
| union usart_flow_control_state *const | state | ||
| ) |
Retrieve the state of flow control pins.
This function retrieves the of flow control pins if the flow control is enabled. Function can return USART_FLOW_CONTROL_STATE_UNAVAILABLE in case if the flow control is done by the hardware and pins state can not be read out.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| [out] | state | The state of flow control pins |
| int32_t usart_sync_get_io_descriptor | ( | struct usart_sync_descriptor *const | descr, |
| struct io_descriptor ** | io | ||
| ) |
Retrieve I/O descriptor.
This function retrieves the I/O descriptor of the given USART descriptor.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| [out] | io | An I/O descriptor to retrieve |
| uint32_t usart_sync_get_version | ( | void | ) |
Retrieve the current driver version.
| int32_t usart_sync_init | ( | struct usart_sync_descriptor *const | descr, |
| void *const | hw, | ||
| void *const | func | ||
| ) |
Initialize usart interface.
This function initializes the given I/O descriptor to be used as USART interface descriptor. It checks if the given hardware is not initialized and if the given hardware is permitted to be initialized.
| [out] | descr | An usart descriptor which is used to communicate via USART |
| [in] | hw | The pointer to hardware instance |
| [in] | func | The pointer to as set of functions pointers |
| int32_t usart_sync_is_rx_not_empty | ( | const struct usart_sync_descriptor *const | descr | ) |
Check if the usart receiver is not empty.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| 1 | the usart receiver is not empty |
| 0 | the usart receiver is empty |
| int32_t usart_sync_is_tx_empty | ( | const struct usart_sync_descriptor *const | descr | ) |
Check if the usart transmitter is empty.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| 0 | the usart transmitter is not empty |
| 1 | the usart transmitter is empty |
| int32_t usart_sync_set_baud_rate | ( | struct usart_sync_descriptor *const | descr, |
| const uint32_t | baud_rate | ||
| ) |
Set usart baud rate.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| [in] | baud_rate | A baud rate to set |
| int32_t usart_sync_set_character_size | ( | struct usart_sync_descriptor *const | descr, |
| const enum usart_character_size | size | ||
| ) |
Set usart character size.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| [in] | size | A character size to set |
| int32_t usart_sync_set_data_order | ( | struct usart_sync_descriptor *const | descr, |
| const enum usart_data_order | data_order | ||
| ) |
Set usart data order.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| [in] | data_order | A data order to set |
| int32_t usart_sync_set_flow_control | ( | struct usart_sync_descriptor *const | descr, |
| const union usart_flow_control_state | state | ||
| ) |
Specify action for flow control pins.
This function sets action (or state) for flow control pins if the flow control is enabled. It sets state of flow control pins only if automatic support of the flow control is not supported by the hardware.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| [in] | state | A state to set to flow control pins |
| int32_t usart_sync_set_mode | ( | struct usart_sync_descriptor *const | descr, |
| const enum usart_mode | mode | ||
| ) |
Set usart mode.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| [in] | mode | A mode to set |
| int32_t usart_sync_set_parity | ( | struct usart_sync_descriptor *const | descr, |
| const enum usart_parity | parity | ||
| ) |
Set usart parity.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| [in] | parity | A parity to set |
| int32_t usart_sync_set_stopbits | ( | struct usart_sync_descriptor *const | descr, |
| const enum usart_stop_bits | stop_bits | ||
| ) |
Set usart stop bits.
| [in] | descr | An usart descriptor which is used to communicate via USART |
| [in] | stop_bits | Stop bits to set |


---
layout: default
title: Everybody Votes Channel Poll Results
---
Worldwide
- Dutch
- English
- French
- French Canada
- German
- Italian
- Japanese
- Portuguese
- Spanish
Argentina
Australia
Austria
Belgium
Brazil
Canada
Chile
Colombia
Costa Rica
Denmark
Ecuador
Finland
France
Germany
Greece
Guatemala
Ireland
Italy
Japan
Luxembourg
Mexico
Netherlands
New Zealand
Norway
Panama
Peru
Portugal
Spain
Sweden
Switzerland
United Kingdom
United States
Venezuela


Connect
Menu
Home
About
Poems
Stories
{{ title }}
{{ subheading }}
{% for rec in records %}
{{ rec.title }}
{{ rec.content[0:100] }}...
by
Ankul Gupta
{{ rec.timestamp }}
{% endfor %}
More Poems →


This project is my dream frame project. I want to build a website that houses my reviews of horror movies. I would like to call it Big T's Spooky Castle.
I've found that horror movies overall have attracted some interesting critical analysis but it mostly exists in the academic world and additionally, movie review websites often are made to advise someone of whether or not they should see a movie or aggregate thin user reviews. There are so many weird movies out there that I think would blossom under analysis, besides the obvious critical darling art house movies like The Texas Chainsaw Massacre or Alien.
So it's a movie review website for people who already watch horror movies and want to read thoughtful thoughts about them. As I'm still getting used to using frames on my own, and I wanted to continue to learn Python, I've decided to build my first Flask frame.
The only thing I worry about is that I want the website to have a visually heavy look and I'm hoping that Flask (known for being easy to rollout and very customizable in terms of extensions and add-ons) will be a good fit. I'm doing a readthrough/workthrough of Miguel Grinberg's "Flask Web Development" in order to get going.


|
Dice
|
Object representing a decomposition of a function of random variables. More...
#include <decomposition.hpp>
Public Types | |
| using | var_type = random_variable< ValueType, ProbabilityType > |
| using | probability_iterator = decomposition_iterator< ValueType, ProbabilityType > |
| using | value_type = ValueType |
| using | probability_type = ProbabilityType |
| using | frequency_list = typename var_type::frequency_list |
| using | probability_list = typename var_type::probability_list |
Public Member Functions | |
| decomposition (const var_type &variable) | |
| Create decomposition from random_variable. More... | |
| decomposition (var_type &&variable) | |
| Create decomposition from random_variable. More... | |
| decomposition (std::vector< std::pair< value_type, std::size_t >> &&list) | |
| decomposition (bernoulli_tag, ProbabilityType success) | |
| decomposition (constant_tag, value_type value) | |
| decomposition (const decomposition &)=default | |
| decomposition & | operator= (const decomposition &)=default |
| decomposition (decomposition &&)=default | |
| decomposition & | operator= (decomposition &&)=default |
| auto | operator+ (const decomposition &other) const |
| Compute sum of 2 random variables. More... | |
| auto | operator- (const decomposition &other) const |
| Subtract other random variable from this. More... | |
| auto | operator* (const decomposition &other) const |
| Compute product of 2 random variables. More... | |
| auto | operator/ (const decomposition &other) const |
| Divide this variable by other variable. More... | |
| auto | operator- () const |
| Multiply this random variable with -1. More... | |
| auto | less_than (const decomposition &other) const |
| Compute indicator: A < B (where A is this random variale). More... | |
| auto | less_than_or_equal (const decomposition &other) const |
| Compute indicator: A <= B (where A is this random variale). More... | |
| auto | equal (const decomposition &other) const |
| Compute indicator: A = B (where A is this random variale). More... | |
| auto | not_equal (const decomposition &other) const |
| Compute indicator: A != B (where A is this random variale). More... | |
| auto | greater_than (const decomposition &other) const |
| Compute indicator: A > B (where A is this random variale). More... | |
| auto | greater_than_or_equal (const decomposition &other) const |
| Compute indicator: A >= B (where A is this random variale). More... | |
| template<typename T > | |
| auto | in (const T &lower_bound, const T &upper_bound) const |
| Compute indicator: A in [a, b] (where A is this random variable). More... | |
| auto | expected_value () const |
| Compute expected value of this random variable. More... | |
| auto | variance () const |
| Compute variance of this random variable. More... | |
| auto | deviation () const |
| Compute standard deviation of this random variable. More... | |
| auto | quantile (ProbabilityType probability) const |
| Compute quantile of this random variable. More... | |
| template<typename VariableCombinationFunction > | |
| auto | combine (const decomposition &other, VariableCombinationFunction combination) const |
| Compute function of 2 random variables: A and B. More... | |
| var_type | to_random_variable () const |
| Convert this decomposition to basic random variable. More... | |
| bool | has_dependencies () const |
| Check whether this decomposition depends on other random variables. More... | |
| auto | compute_decomposition () const |
| Compute the decomposition of this random variable. More... | |
| bool | operator== (const decomposition &other) const |
| Check whether this is exactly equal to other decomposition. More... | |
| bool | operator!= (const decomposition &other) const |
| auto | begin () const |
| auto | end () const |
| std::size_t | size () const |
| auto & | variables_internal () |
| auto & | dependencies_internal () |
Friends | |
| class | decomposition_iterator< ValueType, ProbabilityType > |
| auto | roll (const decomposition &num_rolls, const decomposition &num_sides) |
| Roll num_rolls times with a dice of num_sides. More... | |
Object representing a decomposition of a function of random variables.
It is an adapter for random_variable.
It uses the Law of total probability to decompose varibales to conditional variables which are then treated as independent.
Variables are organized in a tree structure. Only leaf nodes are stored in the vars_ list. Inner nodes are implicitly given by the deps_ list. Each variable in the deps_ list corresponds to a level of this tree.
An inner node in this tree is a random variable. It has children corresponding to its values. For example: a random variable whose values are 1 or 2 whould have 2 children labeled 1 and 2. A leaf node is a random variable without children nodes.
| ValueType | type of a value (same as in random_variable) |
| ProbabilityType | type of probability (same as in random_variable) |
|
inlineexplicit |
Create decomposition from random_variable.
| variable | random variable |
|
inlineexplicit |
Create decomposition from random_variable.
| variable | random variable |
|
inline |
Compute function of 2 random variables: A and B.
Variables does not need to be independent.
| VariableCombinationFunction | Combination function of 2 independent random variables. It taks 2 random_variable types and return random_variable. |
| other | random variable B |
| combination | function of 2 independent random variables |
|
inline |
Compute the decomposition of this random variable.
Random variables in leafs (in the vars_ list) are made constants. This makes them independent at the cost of adding new dependencies and thus increasing the size.
|
inline |
Compute standard deviation of this random variable.
|
inline |
Compute indicator: A = B (where A is this random variale).
Variables does not need to be indepedent.
| other | random variable B |
|
inline |
Compute expected value of this random variable.
|
inline |
Compute indicator: A > B (where A is this random variale).
Variables does not need to be indepedent.
| other | random variable B |
|
inline |
Compute indicator: A >= B (where A is this random variale).
Variables does not need to be indepedent.
| other | random variable Y |
|
inline |
Check whether this decomposition depends on other random variables.
|
inline |
Compute indicator: A in [a, b] (where A is this random variable).
The interval is closed.
| lower_bound | of the interval (a) |
| upper_bound | of the interval (b) |
|
inline |
Compute indicator: A < B (where A is this random variale).
Variables does not need to be indepedent.
| other | random variable B |
|
inline |
Compute indicator: A <= B (where A is this random variale).
Variables does not need to be indepedent.
| other | random variable B |
|
inline |
Compute indicator: A != B (where A is this random variale).
Variables does not need to be indepedent.
| other | random variable Y |
|
inline |
Compute product of 2 random variables.
Random variables don't need to be indendent.
| other | random variable (RHS of the operator) |
|
inline |
Compute sum of 2 random variables.
Random variables don't need to be indendent.
| other | random variable (RHS of the operator) |
|
inline |
Subtract other random variable from this.
Random variables don't need to be indendent.
| other | random variable (RHS of the operator) |
|
inline |
Multiply this random variable with -1.
|
inline |
Divide this variable by other variable.
Random variables don't need to be indendent.
| other | random variable (RHS of the operator) |
|
inline |
Check whether this is exactly equal to other decomposition.
| other | random variable |
|
inline |
Compute quantile of this random variable.
| probability | between 0 and 1 (not including 0 and 1) |
|
inline |
Convert this decomposition to basic random variable.
Notice, by performing this operation, we lose information about (in)dependence.
|
inline |
Compute variance of this random variable.
|
friend |
Roll num_rolls times with a dice of num_sides.
Random variables don't have to be independent.
| num_rolls | number of rolls |
| num_sides | number of faces of each die |


Socket.io Chat
Socket.io Chat
Write your id and start messaging
Start messaging
Message
Send
Messages
You haven't written anything yet...


{% extends "project/project.html" %} {% load static %} {% block title %}Project Content - {{ project }}{% endblock %} {% block local_js_top %} {% endblock %} {% block main_content %}
Describe the context of your resource, the organization of its files, and how it is to be reused.
Please adhere to the standards specified in the helpstrings. Required fields are indicated by a *.


barsurf: Minimal Bar Plots and Surface Plots in 3D
Implements plots of discrete functions (bar plots) and continuous functions (surface plots) in 3D. Uses orthographic projection, a nonstandard fixed viewing angle, does not support detailed axes and is designed to be relatively minimal and simple, from a programming perspective. However, does support mixed bar sizes and multiple colors.
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=barsurf
to link to this page.


{% extends 'base.html' %} {% block base_head %}
You have to solve as many problem(s) as you can before the timer ends and based on the accuracy of your submission you will get the scores.
| # | Question | Maximum Marks | Time Limit | Marks Obtained |
|---|---|---|---|---|
| {{forloop.counter}} | {{ object }} | 100 | 1 second | {{object.marks_obtained}} |


The MIT License is a permissive license that is short and to the point. It lets people do anything they want with your code as long as they provide attribution back to you and don’t hold you liable.
The Apache License 2.0 is a permissive license similar to the MIT License, but also provides an express grant of patent rights from contributors to users.
Kubernetes, PDF.js, and Swift use the Apache License 2.0.
The GNU GPLv3 is a copyleft license that requires anyone who distributes your code or a derivative work to make the source available under the same terms, and also provides an express grant of patent rights from contributors to users.


Vindman addresses his dad during impeachment hearing: 'I will be fine for telling the truth'
by Rebecca KlarLt. Col. Alexander Vindman thanked his father for leaving the Soviet Union 40 years ago to give him and his brothers the opportunity to live in a country “free of fear” for their safety.
“Dad, I'm sitting here today in the U.S. Capitol, talking to our elected professionals, is proof that you made the right decision 40 years ago to leave the Soviet Union and come here to the United States of America in search of a better life for our family,” he said Tuesday during his opening statement as part of Tuesday's public impeachment inquiry hearing.
“Do not worry, I will be fine for telling the truth.”
Vindman said his reporting of the president’s actions through proper channels “would not be tolerated” in other countries, including the one his family fled.
Questioning the president would “surely cost me my life” in Russia, he added.
Vindman said his dad’s “courageous decision” to leave the Soviet Union and come to America as a refugee inspired gratitude and a sense of duty in him and his brothers.
Read more of Vindman's testimony and other moments in the impeachment inquiry hearing here.


Earning the crown for the longest gypsum cave, Optymistychna Cave in Ukraine extends for over 161 miles and is divided into 10 different areas. These are based on the various passage structures and gypsum varieties found within.
Optymistychna Cave, located in Korolivka, Ukraine, is widely known as a maze cave, due to the fact that it is extremely elaborate and a little complicated to navigate. But don’t let that put you off! Visitors should be prepared for
a lot of mud, especially in the depths of the cave.
As far as aesthetically pleasing caves go, South Dakota’s Jewel Cave is not to be missed. Nestled in the Black Hills National Forest, this gem (pun intended) boasts beautiful scenery below the ground, as well as above. The name Jewel
Cave comes from the colorful crystals that can be found adorning the inner corners of the cave.
There are a number of tours you can take to truly experience Jewel Cave in all its splendor, whether you want to trek to the cave system underground or enjoy the trails on the land above ground.


MvcFluentHtml - Fluent HTML Interface For MS MVC
Filed under: C# — Tags: HTML, MS MVC — Tim Scott @ 6:45 pm
UPDATE: MvcFluentHtml has been moved to MvcContrib where it lives in its own assembly, MvcContrib.FluentHtml.
A few weeks ago I attended a presentation at the KaizenConf by Jeremy Miller and Chad Myers in which they showed their “opinionated” approach to MS MVC. One of the things that caught my attention was the fluent interface they had created for HTML generation. So I went home and started working on this for my own application.
I have put my work in progress here: MvcFluentHtml.
Incidentally, since I started working on MvcFluentHtml, Chad and Jeremy have put out some bits of their code as opinionatedmvc. And Karl Seguin, who also saw their presentation, has created some fluent HTML stuff which he shows in this blog post.
So what problem does MvcFluentHtml solve? Can’t I be happy with the HtmlHelpers that come with the framework?
I have come to truly hate the overloading approach taken by the out-of-the-box Html helpers. Methods with long signatures are hard to read, and it takes investigation to see what’s happening. What’s worse, you must worry about problems with overload resolution, especially when some parameters are typed as object. As a result, HtmlHelper is not easily extensible. It’s hard to bend it to do new things without breaking existing functionality. We saw an example of this when Beta1 was released with breaking changes. With a fluent interface, it’s much easier to extend with new behaviors while leaving existing behaviors closed.
So how does it work? Let’s start with some examples of how you might use it in your views:
<%=this.TextBox(x => x.FirstName).Class("required").Label("First Name:")%>
<%=this.Select(x => x.ClientId).Options((SelectList)ViewData["clients"]).Label("Client:")%>
<%=this.MultiSelect(x => x.UserId).Options(ViewModel.Users)%>
<%=this.CheckBox("enabled").LabelAfter("Enabled").Title("Click to enable.").Styles(vertical_align => "middle")%>
As you can see in this example, the helpers are methods of
the view itself, not of some helper class. You will also notice two
different kinds of methods. One kind takes the name as a string which is
meant to evaluate to an object in the ViewData dictionary. These methods
are extensions of IViewDataContainer, and as such they can be used in any type
of view (ViewPage, ViewPage<T>, ViewUserControl, ViewUserControl<T>,
ViewMasterPage, ViewMasterPage<T>). The other kind takes a
lambda expression that refers to a member of ViewData.Model. This kind of
method extends a new interface that is defined in MvcFluentHtml
MvcContrib.FluentHtml:
public interface IViewModelContainer<T> where T : class
{
T ViewModel { get; }
IEnumerable<IMemberBehavior> MemberBehaviors { get; }
}
Both kinds of methods set the value (value attribute, inner text, etc.) from ViewData. Both kinds set the name of form elements so that most binders will pick up the value on post.
So what must you do before you can use these methods in your views? To use the methods that extend IViewDataContainer, nothing. To use the methods that extend IViewModelContainer<T>, you have some options:
1. Derive your strongly-typed views from ModelViewPage<T>, ModelViewUserControl<T> or ModelViewMasterPage<T> which are bits of MvcFluentHtml.
2. Implement IViewModelContainer<T> directly on your views.
3. Define your own base view classes that implement IViewModelContainer<T>.
There is a fourth option. MvcFluentHtml contains a
set of classes, ConventionModelViewPage<T>,
ConventionModelViewUserControl<T> and
ConventionModelViewMasterPage<T>. These classes apply some default
behaviors. These behaviors operate on certain model attributes, which are
also part of MvcFluentHtml MvcContrib.
So given this model:
public class Person
{
[Required]
[MaxLength(200)]
public string Name { get; set; }
}
And this in the view:
<%this.TextBox(x => x.Name)%>
The resulting HTML would be something like:
<input type="text" maxlength="200" id="Name" name="Name" class="required" value="Pete"/>
These attributes are found in a separate assembly, MvcFluentHtml.Attributes
MvcContrib.ModelAttributes. So in case your models are in a separate
assembly from your MVC web UI, you don’t have to reference the UI specific bits
in your model assembly.
But what if you want different behaviors and different attributes? You can create custom behaviors by implementing IMemberBehavior.
public interface IMemberBehavior
{
void Execute(IMemberElement element);
}
For example:
public class MyMemberBehavior1 : IMemberBehavior
{
public void Execute(IMemberElement element)
{
var helper = new MemberBehaviorHelper<RequiredAttribute>();
var attribute = helper.GetAttribute(element);
if (attribute != null)
{
element.SetAttr("class", "req");
}
}
}
Then create your own “opinionated” views something like this:
public class MyOpinionatedModelViewPage<T> : ModelViewPage<T> where T : class
{
public MyOpinionatedModelViewPage() : base(new MyMemberBehavior1(), new MyMemberBehavior2()) { }
}
Or using your favorite IoC container:
public class MyOpinionatedModelViewPage<T> : ModelViewPage<T> where T : class
{
public MyOpinionatedModelViewPage(IMyMemberBehavior1Marker myBehavior1, IMyMemberBehavior2Marker myBehavior1)
: base(myMemberBehavior1, myMemberBehavior1) { }
}
One final point. The goal of MvcFluentHtml was to leave the opinions to you. We did this by allowing you to define your own behaviors. However, it is not without opinions regarding practices. For example the Select object does not have any “first option” functionality. That’s because in my opinion adding options to selects is not a view concern. Also, while we allow you to set inline styles we do not expose any methods that abstract styling (e.g., Width, TextAlign). That’s because we want to encourage semantic HTML and leave the styling to CSS. For the same reason we do not render any layout tags (e.g.
). Also we generally don’t try to abstract the language of HTML (e.g., we use “Select” instead of “DropDownList”). In my opinion, MvcFluentHtml is more of a helper library than an abstraction over HTML, and moving developers away from understanding what’s going on with the HTML is not a good thing.
I heartily welcome critique, especially if you want to contribute! Areas that I know need some work are: radio button, radio button list, checkbox list, performance tweaks, XML comments, and CI.
Steve Sanderson recently showed a nifty way to edit variable length lists with MS MVC . I commented that I liked his approach. I also mentioned that MvcContrib.FluentHtml might be used to improve a bit of awkward code used to build HTML element names. To illustrate my point I offered some code examples. Steve responded by pointing out the shortcomings of my examples. He was correct. I had not really thought it through. While my examples illustrated the use of FluentHtml, they missed the mark in terms of showing a real solution.
Still I knew that the basic idea of was sound. This article shows in detail how to use MvcContrib.FluentHtml to edit a variable length list of items.
I will use the same basic application as Steve did — a simple gift request form.
We start with the Gift entity:
public class Gift
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
Our view derives from MvcContrib.FluentHtml.ModelViewPage<IList<Gift>> and is rendered via a controller action:
[AcceptGet]
public ViewResult Index()
{
ViewData.Model = new List<Gift>
{
new Gift {Id = 1, Name = "Tar Tinker", Price = 23.44m},
new Gift {Id = 2, Name = "Flu Flooper", Price = 11.42m}
};
return View();
}
The view presents a list of the gifts:
<form action="<%=Html.BuildUrlFromExpression<HomeController>(x => x.Index(null))%>" method="post">

Add

<fieldset id="giftLineItems">
<legend>Gifts</legend>
<%for (var i = 0; i < ViewData.Model.Count; i++) {%>
<%Html.RenderPartial("GiftLineItem", ViewData.Model, new ViewDataDictionary {{"index", i}});%>
<%}%>
</fieldset>
<%=this.SubmitButton("Save")%>
</form>
GiftLineItem is a user control that derives from MvcContrib.FluentHtml.ViewModelUserControl<IList<Gift>>:
<%var i = (int)ViewData["index"];%>

<%=this.Hidden(x => x[i].Id)%>
<%=this.TextBox(x => x[i].Name).Label("Name of gift:")%>
<%=this.TextBox(x => x[i].Price).Label("Price ($):")%>
Delete

You might observe that this user control uses IList<Gift> as its model whereas Steve’s uses Gift. But the user control represents one gift, right? Have I sacrificed cohesion? Yes, however a closer look shows that neither Steve’s user control nor mine is cohesive. That is, neither stands alone outside of the context of a list. We simply use different techniques to name the elements within the context of an owning list.
Here’s the rendered view (after clicking “Add” twice):
Now we need to add behavior to the “Add” and “Delete” links. For that we’ll use jQuery:
$(document).ready(function() {
var nextGiftIndex = <%=ViewData.Model.Count%>;
setRemoveLinks();
$('#addGift').click(function() {
$.get('/Home/AddGift?index=' + nextGiftIndex, 'html', function(lineItemHtml) {
$('#giftLineItems').append(lineItemHtml);
setRemoveLinks();
});
nextGiftIndex++;
return false;
});
});
function setRemoveLinks() {
$('a.removeGift').click(function() {
$(this).parent('div').remove();
return false;
});
}
Clicking the “Add” link calls the AddGift action asyncronously and passes the index of the item to be added. The index value is initialized when the page is rendered and incremented on the client side with each addition. The “Delete” links are wired up to a simple function that removes the parent div.
The AddGift action simply renders the user control using the specified index:
public ViewResult AddGift(int index)
{
ViewData["index"] = index;
return View("~/Views/Home/GiftLineItem.ascx");
}
Notice we have not specified a model for the user control, which means it will be null. As a result, the name and price textboxes will be blank, which is what we want. And by specifying the desired index, these textboxes will be named such that they will bind correctly when form is saved.
Clicking the “Save” button posts the form to the following action:
[AcceptPost]
public ViewResult Index([Deserialize]IList<Gift> gifts)
{
//code to save the changes
ViewData.Model = gifts;
return View();
}
Notice that the parameter “gifts” is decorated with the Deserialize attribute. This attribute uses MvcContrib’s NameValueDeserializer to obtain our collection of gifts from the form post. It does not require that collections be indexed purely in sequence. Thus it handles any holes left by deleted line items.
(NOTE: I expected that using [Bind(Prefix = "")] would work the same as [Deserialize], but it does not. Seems to be a limitation.)
The solution presented here differs from Steve’s in that it uses FluentHtml. There are a few other differences, such as jQuery versus MS Ajax. My point is not present a solution that is superior, rather just to show how it might be done using FluentHtml and expressions to avoid some fiddly construction of HTML element names in views.
Filed under: MS MVC, Uncategorized — Tim Scott @ 11:48 pm
In a previous post, I showed how to edit a variable length list using MvcContrib.FluentHtml. The post was inspired by a post on the same topic by Steve Sanderson. Steve commented on my post pointing out some limitations. To address these limitations required some enhancements to MvcContrib.FluentHtml and some changes to my example. So here we go with take 2.
The limitations were mostly related to handling validation. To support validation using Model State we have added to MvcContrib.FluentHtml:
HTML elements generated for strongly typed views have no prefix by default. So elements for ModelViewPage<Person> might look something like this:
<input name="FirstName" id="FirstName" value="Jim" type="text"/>
<input name="LastName" id="LastName" value="Smith" type="text"/>
The problem is, neither MvcContrib’s NameValueSerializer nor MS MVC’s default model binder fully handle this scenario. While NameValueDeserializer does the binding just fine, it does not place bind errors into ModelState. The default model binder does not handle quite handle the binding — it does not deserialize enumerable properties when no prefix is used.
To bind everything correctly and get any errors into ModelState we need a prefix. One way to handle this is to wrap our primary model in a view model. This is a valid pattern. It’s even a standard for some applications. However, we don’t want to have to do this just to get a prefix. So we provide a way to specify a prefix for a strongly typed view.
Either in the code-behind:
public class Index : ModelViewPage<IList<Gift>>
{
public Index() : base("person") { }
}
Or in the view:
<%this.HtmlNamePrefix = "person"%>
Thus our HTML elements will be prefixed:
<input name="person.FirstName" id="person_FirstName" value="Jim" type="text"/>
<input name="person.LastName" id="person_LastName" value="Smith" type="text"/>
Then in our action method, we can use the default binder without any attribute. Any bind errors will be captured in ModelState.
[AcceptPost]
public ViewResult Index(Person person)
We have added validation support to FluentHtml for strongly typed views. The following works basically the same as HtmlHelper’s ValidationMessage.
<%this.ValidationMessage(x => x.Price, "Price must be numeric.")%>
We have also added a behavior to ModelViewPage<T>, ModelViewMasterPage<T> and ModelViewUserControl<T> which basically mimics validation used by HtmlHelper. That is, it adds a CSS class “input-validation-error” to any HTML element with an error in ModelState. If you wish, you can remove this behavior or change the CSS class name in the derived class.
MS MVC uses a special technique to deserialize enumerable properties. With this technique you set an arbitrary value in a specially named hidden element to signify that a group of elements belongs to a particular instance of the enumerable property. This has an advantage over using positional indexes in that it preserves the identity of an instance across posts, which is necessary for ModelState based validation to work properly.
Therefore, we have added support for this to MvcContrib.FluentHtml. Let’s assume ModelViewPage<IList<Person>> with a prefix of “persons”. Then this markup:
<%var id = Model[i].Id;%>
<%=this.Index(x => x).Value(id)%>
<%=this.TextBox(x => x[id].FirstName).Value(Model[i].FirstName)%>
Will generate HTML like this:
<input id="persons_Index_123" name="persons.Index" value="123" type="hidden"/>
<input id="persons[123]_FirstName" name="persons[123].FirstName" value="Jim" type="text"/>
So based on these changes to FluentHtml we made a few changes to the “Gift Request Form” demo from the previous post. In the main view:
<%for (var i = 0; i < ViewData.Model.Count; i++) {%>
<%ViewData["index"] = i;
Html.RenderPartial("GiftLineItem");%>
<%}%>
And in the user control:
<%var i = (int)ViewData["index"];
var gift = ViewModel == null ? null : ViewModel[i];
var id = gift == null ? -1 * new Random().Next() : gift.Id;
var name = gift == null ? null : gift.Name;
var price = gift == null ? (decimal?)null : gift.Price;%>

<%=this.Index(x => x, x => x[i].Id)%>
<%=this.Hidden(x => x[id].Id).Value(id)%>
<%=this.TextBox(x => x[id].Name).Value(name).Label("Name of gift:")%>
<%=this.TextBox(x => x[id].Price).Value(price).Label("Price ($):")%>
<%=this.ValidationMessage(x => x[id].Price, "Must be a number")%>
Delete

Viola, validation works:
Note that we stole Steve’s technique of using random negative Ids for unsaved instances, which we will handle in the save method on the server.
Eliminate Magic Strings In Javascript With MvcContrib.FluentHtml
Filed under: Uncategorized — Tim Scott @ 3:27 am
MvcContrib.FluentHtml provides a library of HTML helper methods that use expressions with strongly typed views to generate HTML elements. Not too long after that MS MVC beta introduced HtmlHelper<T> which allows users to create extension methods that use expressions in the same way. The benefits are obvious. By trading magic strings for expressions we gain compile time checking, better refactoring, etc.
So this:
<%=this.TextBox(x => x.User.FirstName)%>
Generates this:
<input type="text" name="User.FirstName" id="User_FirstName" value="Joe"/>
This is very nice, but what about all the other magic strings in our view? I’m talking of course about Javascript. Does this look familiar?
$('#User_FirstName').change(doSomething);
Doh! We just can’t escape those magic strings. Or can we? How about this?
$('#<%=this.IdFor(x => x.User.FirstName)%>').change(doSomething);
MsMvc.FluentHtml has introduced IdFor and NameFor. Okay, so we won’t eliminate all magic string in Javascript but perhaps quite a few. Perhaps we give up a tiny bit of readability, but I think it’s worth it to stop fretting whether some refactor is going to break a bunch of Javascript.
I owe credit to Jimmy Bogard for planting this idea in my mind in one of his tweets.


classpathCheck
ShellEngineProcessBuilder
com
root
conf
enginemanager
createEngineHook
ShellEngineManagerConfiguration
createProcessEngineBuilder
ShellEngineCreator
createResource
ShellEngineManagerConfiguration


Vote Center
Welcome to our online based Election voting system. It is basically an alternative to the paper-based ballot process to facilitate a user to cast votes in electronic form through the internet.
~ A blockchain based platform
Version : 1.00


GFA names Players’ Status Committee
Accra, Nov. 20, GNA - The Executive Council of the Ghana Football Association (GFA) has named a five-member Players' Status Committee for the Association.
The committee would be chaired by Is-Hak Alhassan, with Lawyer Cornelius R. Otoo as Vice Chairman.
Other members of the Committee are: Sylvester Mensah, Kwame Ayew and Vivian Aggor.
The duties of the Player Status Committee include settling of employment, status, eligiblity, compensation and contractual disputes involving GFA , clubs, players, coaches and other officials, intermediaries, and licensed match agents.
The Committee will function in accordance with the GFA Statutes, the FIFA Regulations on the status and transfer of players, the GFA Regulations in respect of the status and domestic transfer of players, as well as the rules governing the procedure of the GFA Players' Status Committee.
GNA


| Jenkins Area Meetup Shanghai 2019 | DevOps/Jenkins | 2019/06/29 Shanghai, China |
| Grafana Introduction | DevOps/Monitoring | 2020/11/20 Shanghai, China |
| Jaeger Introduction | DevOps Observation | 2020/12/23 Shanghai, China |
| A Clean Development Environment | DevOps/Docker | 2021/05/28 Shanghai, China |


VISIONS OF MURDER A Film Review Copyright Dragan Antulov 1999
When someone makes a trailer for a movie, and when the product looks less attractive than its advertisement, people usually feel cheated. But the author of this review didn't feel that angry after having similar experience with VISIONS OF MURDER, 1993 television thriller by Michael Ray Rhodes. The national video distributor in my country was extremely creative in editing various clips from the film and using appropriate music, thus making VISIONS OF MURDER look like an exciting blend of supernatural horror and psychological thriller. Of course, in reality, VISIONS OF MURDER was nothing more than conventional product of American TV industry.
The heroine of the film is Jesse Newman (played by Barbara Eden), ambitious psychologist that takes a new patient, Gloria Hager (played by Anita Finlay). The young woman tells about spousal abuse and leaves the office. Soon after that, the therapist begins having visions and hallucinations that involve Gloria. Those visions culminate with the vision of Gloria's body being dumped into the sea by her husband. Jesse Newman reports it to the police, but soon she becomes the prime suspect in the murder investigation.
Of course, the standards of American TV movies are lower than the standards of Hollywood feature films. But that shouldn't be the excuse for poor quality, especially in psychological thrillers that, like this one, don't require big budgets to be attractive. What makes those film good are the script, the direction and actors. VISIONS OF MURDERS fails in all of that. The plot is turning into sentimental overkill at the end. The direction is wooden. The characters are uninteresting and are played by disinterested actors. Barbara Eden practically destroys her character, but the worst disappointment is in the form of Terry O'Quinn, who sleepwalks through the role very similar to the one he had brilliantly played in THE STEPFATHER. This film is interesting only as an example how bad movies could be sold to unsuspecting audience.
RATING: 2/10 (-)
Review written on September 11th 1999
Dragan Antulov a.k.a. Drax Fido: 2:381/100 E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>E-mail<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


Typedef
| Static Public Summary | ||
| public |
CustomLang: * |
Static Public
public CustomLang: * source
Properties:
| Name | Type | Attribute | Description |
| account_is_disabled | string | defaults to: Account is disabled |
|
| account_temporarily_locked_out | string | defaults to: Account temporarily locked out |
|
| and | string | defaults to: and |
|
| available | string | defaults to: Available |
|
| checking | string | defaults to: Checking |
|
| choose_file | string | defaults to: Choose File |
|
| email_address_is_invalid | string | defaults to: E-mail address is invalid. |
|
| email_already_exists | string | defaults to: Email already exists |
|
| fair | string | defaults to: Fair |
|
| invalid_fieldname | string | defaults to: Invalid %fieldname |
|
| invalid_login_or_password | string | defaults to: Invalid login or password |
|
| invalid_username_or_password | string | defaults to: Invalid username or password |
|
| login_identifier_exists | string | defaults to: Login identifier exists |
|
| maximum_size_of_3mb. | string | defaults to: Maximum size of 3MB. |
|
| no_file_chosen | string | defaults to: No file chosen |
|
| not_available | string | defaults to: Not available |
|
| num_characters_total | string | defaults to: %num characters |
|
| num_of_the_following_groups | string | defaults to: %num of the following: An uppercase letter, a lowercase letter, a number, a special symbol |
|
| old_password_cannot_be_the_same_as_new_password | string | defaults to: Old password cannot be the same as New Password |
|
| password_does_not_meet_complexity_requirements | string | defaults to: Password does not meet complexity requirements |
|
| password_must_contain_at_least | string | defaults to: Password must contain at least |
|
| password_strength_colon | string | defaults to: Password strength: |
|
| passwords_do_not_match | string | defaults to: Passwords do not match |
|
| please_enter_a_valid_fieldname | string | defaults to: Please enter a valid %fieldname |
|
| please_enter_fieldname | string | defaults to: Please enter %fieldname |
|
| profilePhoto_fileSizeError | string | defaults to: Photo format: JPG/GIF/PNG. Size: up to 3MB. |
|
| sorry_we_are_not_able_to_process_your_registration | string | defaults to: Sorry, we are not able to process your registration |
|
| strong | string | defaults to: Strong |
|
| the_characters_you_entered_didn't_match_the_word_verification._please_try_again | string | defaults to: The characters you entered didn't match the word verification. Please try again |
|
| there_are_errors_in_your_form_please_try_again | string | defaults to: There are errors in your form, please try again |
|
| there_is_no_user_with_that_username_or_email | string | defaults to: There is no user with that username or email |
|
| these_passwords_do_not_match | string | defaults to: These passwords do not match |
|
| this_field_is_required | string | defaults to: This field is required |
|
| too_weak | string | defaults to: Too weak |
|
| unique_identifier_exists | string | defaults to: Unique identifier exists |
|
| username_already_exists | string | defaults to: Username already exists |
|
| very_strong | string | defaults to: Very strong |
|
| weak | string | defaults to: Weak |
|
| wrong_password | string | defaults to: Wrong password |
|
| your_age_does_not_meet_the_minimal_age_requirement | string | defaults to: Your age does not meet the minimal age requirement (13+) for this site |


Figure S1. BIGNASim portal screenshot. Expanded view of simulation summary.
Figure S2. Example of fragment definition on the analysis database.


Converts to and from JSON format.
constructs a new JSON instance
Marker constant for Services_JSON::decode(), used to flag stack state
Marker constant for Services_JSON::decode(), used to flag stack state
Marker constant for Services_JSON::decode(), used to flag stack state
Marker constant for Services_JSON::decode(), used to flag stack state
Behavior switch for Services_JSON::decode()
Marker constant for Services_JSON::decode(), used to flag stack state
Behavior switch for Services_JSON::decode()


Racing Bets
Jacksonville Dogs
Select Race
Submit Bets
Athlete
Rank
Reset Bets
Athlete
Ranking
Your Bets


Animesh Garg
Assistant Professor. CS. Robotics. Machine Learning.
I am an Assistant Professor of Computer Science at University of Toronto and a Faculty Member at the Vector Institute. I direct the UofT People, AI and Robotics (PAIR) group. I am affiliated with Mechanical and Industrial Engineering (courtesy) and UofT Robotics Institute. I am also a Sr. Research Scientist at Nvidia.
I earned M.S. in Computer Science and Ph.D. in Operations Research from UC, Berkeley. I worked with Ken Goldberg at Berkeley AI Research (BAIR). I also worked closely with Pieter Abbeel, Alper Atamturk & UCSF Radiation Oncology. I was later a postdoc at Stanford AI Lab with Fei-Fei Li and Silvio Savarese.
My research vision is to build the Algorithmic Foundations for Generalizable Autonomy, that enables robots to acquire skills, at both cognitive & dexterous levels, and to seamlessly interact & collaborate with humans in novel environments. My group focuses on understanding structured inductive biases and causality for decision making. In particular we are looking at multi-modal object-centric and spatiotemporal event representations, self-supervised pre-training for reinforcement learning & control, principle of efficient dexterous skill learning.
I will be a Stephen Fleming Early Career Professor in Computer Science at Georgia Tech in Fall 2023. I will be in Interactive Computing affiliated with Robotics and Machine Learning programs.
Research Interests: Robotics, Reinforcement Learning & Optimal Control, Computer Vision
Current Applications: Mobile-Manipulation in Retail/Warehouse, personal, and surgical robotics.
Read more at PAIR Website
Link to (reasonably recent) CV.
Follow me:
Contact me: Georgia Tech<EMAIL_ADDRESS>| UofT<EMAIL_ADDRESS>Potential Applicants
I am accepting new students at all levels at Georgia Tech. Thanks for your interest in my group.
Please apply to either Computer Science, Robotics or Machine Learning Graduate Programs.
However, kindly do not contact me directly with regard to Graduate Application Evaluations. I do not make admissions decisions.
Please see the opportunities on lab website and contact me accordingly.
Recent Talks
The following talks cover the progression of research over in my group since 2019.
Stanford University Robotics Seminar (October 2022)
MIT Deep Learning Seminar highlighting recent work (January 2020)
Topical Workshop Talks
-
Robot Learning with Implicit Representations: Perception, Action, and Simulation
RSS Workshop on Implicit Representations for Robotic Manipulation, (Jun 2022) -
Paving the Path to Robot Autonomy with Simulation
ICRA Workshop on Releasing Robots into the Wild, (May 2022) -
Structure in Reinforcement Learning for Robotics, Slides PDF
ICRA Workshop on Behavior Priors in RL, (May 2022) -
Structured Inductive Bias for Imitation from Videos
CVPR Workshop on Learning from Instructional Videos, (Jun 2020). -
Unsupervised Representations towards Counterfactual Predictions
CVPR Workshop on Compositionality in Computer Vision, (Jun 2020).
Recent News
| Apr 3, 2023 | Isaac ORBIT is now accepted at RA-L and will be presented at IROS 2023 |
| Jan 21, 2023 | 2 papers at ICLR: Slotformer & SEA for Structured Exploration. |
| Jan 15, 2023 | 5 New Papers at ICRA 2023 |
| Sep 15, 2022 | 2 papers at CoRL: RoboTube & Bayesian Obj Models. |
| Sep 12, 2022 | 3 papers at Neurips: MoCoda, Breaking Bad & SMPL. |
| Jul 8, 2022 | New ECCV Paper on Differentiable Simulation for Grasping. |
| Jun 30, 2022 | Workshop Talks at ICRA and RSS 2022 |
| Jun 30, 2022 | 2 papers at IROS: Scalable Sim2Real & Mobile-Manip with Articulated Objects. |
| May 25, 2022 | 3 New RL papers: Koopman-RL @ICML, LFIW @L4DC, & GLIDE @WAFR |
| Mar 2, 2022 | MAC, NSM and X-Pool accepted at CVPR 22. |


--- title: SWF Decompression Perl One-liner layout: post tags: [perl] uuid: dfb62762-6499-323d-093f-386400407b28 ---
Flash seems to be the popular way of playing videos online. This is a bit better than the bad old days of online video where a user had to select from a few buggy media player plug-ins. Things have improved.
However, if you don't use Flash, or if you want to watch the videos in your own media player, you are stuck. A download link for the video is almost never provided. The video is always somewhere, though, to be fetched via http. I mentioned this before for downloading YouTube videos using youtube-dl.
The trick is finding the URL. Sometimes you can derive it from the
HTML code, sometimes you have to dig a little deeper by inspecting the
Flash player itself.
strings
can be invaluable here.
There could be an extra layer of stuff to work out, which is explained below. My main reason for posting this is so I can refer back to it later when I need to do it again.
So, the other day I ran into a Flash video player that contained part
of the URL of its video. I began by studying the embed
tag in the HTML, which gave me some information about where to find
the video (the video ID number). I downloaded the Flash player SWF
file for the purpose of running strings
on it.
I ran into a problem here. I wasn't finding any non-garbage strings
inside the file. file
told me it was compressed.
$ file player.swf player.swf: Macromedia Flash data (compressed), version 9
Searching online quickly revealed that a compressed Flash file is just zlib compression after an 8-byte header. Decompression can actually be done with a Perl one-liner,
perl -MCompress::Zlib -0777 -e \ 'print uncompress substr <>, 8;' player.swf > player
I ran strings
and grep
ed for "http",
revealing the location of the video. That was it!
I actually came across a Java program that does the same thing. It is 115 lines of code. Java programs always seem to be bloated like this.
I hope you find this useful!


| Module | ROXML::ROXML_Class |
| In: |
lib/roxml.rb
|
This class defines the annotation methods that are mixed into your Ruby classes for XML mapping information and behavior.
See xml_name, xml_text, xml_attribute and xml_object for available annotations.
Creates a new Ruby object from XML using mapping information annotated in the class.
The input data is either a REXML::Element or a String representing the XML document.
Example
book = Book.parse(File.read("book.xml"))
or
book = Book.parse("<book><name>Beyond Java</name></book>")
Declare an accessor for the included class that should be represented as an XML attribute.
Example:
class Book xml_attribute :isbn, "ISBN" end
To map:
<book ISBN="0974514055"></book>
Sets the name of the XML element that represents this class. Use this to override the default lowercase class name.
Example:
class BookWithPublisher xml_name :book end
Without the xml_name annotation, the XML mapped tag would have been "bookwithpublisher".
Declares an accessor that represents another ROXML class as child XML element (one-to-one or composition) or array of child elements (one-to-many or aggregation). Default is one-to-one. Use TAG_ARRAY option for one-to-many.
Composition example:
<book> <publisher> <name>Pragmatic Bookshelf</name> </publisher> </book>
Can be mapped using the following code:
class Book xml_object :publisher, Publisher end
Aggregation example:
<library> <name>Ruby books</name> <books> <book/> <book/> </books> </library>
Can be mapped using the following code:
class Library xml_text :name, nil, ROXML::TAG_CDATA xml_object :books, Book, ROXML::TAG_ARRAY, "books" end
If you don’t have the <books> tag to wrap around the list of <book> tags:
<library> <name>Ruby books</name> <book/> <book/> </library>
You can skip the wrapper argument:
xml_object :books, Book, ROXML::TAG_ARRAY
Declares an accessor that represents one or more XML text elements.
Example:
class Book xml_text :description, nil, ROXML::TAG_CDATA end
To map:
<book> <description><![CDATA[Probably the best Ruby book out there]]></description> </book>


|
LOC
0.2
Count lines of code
|
Class responsible for creating new specific languages. More...
#include <language_factory.hh>
Public Member Functions | |
| language_factory () | |
| Class constructor. | |
| ~language_factory () | |
| Class destructor. | |
| language * | build (languageType lang) |
| Create a new language object. More... | |
| languageType | getLanguageType (const std::filesystem::path &pathname) |
| Obtain a language identifier based on a file extension. More... | |
Class responsible for creating new specific languages.
| language * build | ( | languageType | lang | ) |
Create a new language object.
| [in] | lang | - The language identifier |
| languageType getLanguageType | ( | const std::filesystem::path & | pathname | ) |
Obtain a language identifier based on a file extension.
| [in] | pathname | - The path to a file |


Workshop Agenda
Draft Experimental Design for PIRCS 2
Travel information
Links to related research on South American regional climate.
MERCURE
Workshop Notes
Participants
Return to PIRCS Home Page


Hi! We're Bananium Labs, an organization of student developers who work on a variety of projects, from tinkering with hardware to VR games. Since Bananium was founded in 2017, we have been continuously in development, looking for new ways to improve our skills and organization outreach.
One of our major projects was LaunchHacks, a hackathon hosted by us for 100 high school students in April 2019. If you're looking to host a hackathon of your own, contact us and we'll do our best to help you get started.
If you'd like to take a look at some of our projects, we've created a listing of all of the projects that have been created by members and affiliates of Bananium Labs over the years.
Bananium Labs is also a registered 501(c)(3) nonprofit! We hope to inspire fellow students to create impactful projects with technology, and make some projects of our own as well. If you'd like to support our cause,
please consider submitting a donation (tax deductible): our donation button is located at the bottom of our page.
Legal Stuff: All donations support BananiumLabs Incorporated, a 501(c)(3) nonprofit organization. Contributions to BananiumLabs Incorporated are tax-deducible to the extent permitted by law. BananiumLabs Incorporated is classified as a public charity under section 509(a)(2). BananiumLabs Incorporated's tax identification number is 83-2190283. For additional information, please contact us or refer to prospectus under specific programs found below.
If you have a project or burning idea that you want to kick off, we're here to help!
We also have plenty of opportunities to help you gain experience in software development, hardware, entrepreneurship, and marketing!
You can view our services below for more information.
If you're interested, fill out the form by clicking the button below to let us know who you are and how we can support you.
Bananium has created a variety of products and organizations, ranging from hackathon submissions
to games.
Check out our work below!
Have you ever been frustrated with having to nervously read through your admission letter just to find out you were rejected? How about the lack of gratification when no confetti appears?! Worry no more! Introducing... ADMISSION_CONFETTI.crx! This chrome extension will scan any webpages you visit ending in .edu for the word 'Congratuations' even if they are in an iframe. If it does detect any traces of flour-based commodity, such as bread, you will be introduced to an infinite flow of confetti. What can get better than that?!
Contributors: Eric Qian
Have you ever wanted the premium features of the best bike locks out there, such as auto-locking and smart theft detection? OhmLock brings all of that, plus a unique detection suite that negates the risk of false alarms.
Contributors: Eric Q, Ben C, Omar H, Peter H
Winner - 4th Place
The perfect platform to encourage collaboration and learning in a safe environment by facilitating book and supply exchanges at school.
Contributors: Ben Cuan, Eric Qian, Alexey Kolechkin, Vikram Peddinti
Winner - Best .tech Website!
Responsive cross-platform app which intelligently generates schedules to help you stay focused on your homework!
Written using Angular2 + Nebular.
Contributors: Ben Cuan, Eric Qian, Viraj Shitole, Omar Hossain
Winner - Best Internet Of Things
Today's world is full of complications and information that is easily lost in other information found in other information. With the hassles of letters, taxes, bills, and paychecks all coming in the same place, we decided to make it a bit more organized. This is why we made Fly Mail, an physical electronic mail box that sorts and stores your mail into piles and the cloud respectively, allowing organization and an effortless life style at the forefront of your day.
Hardware with Arduino, relay from digikey (since we dont have a H bridge), Dragonboard for running vision, and a low res usb camera. Most important of all, a Nike 'project' box.
Contributors: Eric Qian, Muaaz Wahid, Omar Hossain
Aegis is an interactive virtual reality self-defense simulation, focused on educating its users on how to deal with dangerous situations involving another person. We wanted to spread awareness about self defense and educate people on techniques so they would have a better chance of escape should they ever end up in such a situation. In the future, we'd like to add more scenarios and refine the animations to give a smoother learning experience.
Written using AFrame, WebVR, and the LeapMotion SDK.
Contributors: Ben Cuan, Vikram Peddinti, Kevin Chu, Alexey Kolechkin
A beginner's first programming language to aid in the transition between visual programming and higher level text-based programming. Compiles into JavaScript, which can be used to create basic web applications.
Written and compiled using JavaScript.
Contributors: Adarsh Iyer, Alex Waitz, Alexey Kolechkin, Vikram Peddinti
A collection of our favorite plugins for our favorite editor!
Contributors: Ben Cuan
The ultimate modular New Tab Page! Create your own widgets and rearrange them however you wish. All configuration settings are saved by account- login using your email, Google, or Github. Change the themes, color, and more!
Contributors: Ben Cuan, Eric Qian, Vikram Peddinti
Launch Hacks is a 24 hour, 200-participant hackathon hosted by Monta Vista High School students. Our goal is to bring high school students in the Bay Area together to convert ideas into reality. In addition to helping students improve their design and development skills, we also provide support to help students improve business and presentation skills- not just to pitch a successful project, but also to inspire the next generation of inventors, entrepreneurs, and leaders. Food, workshops, prizes, and swag will be provided to all participants for free!
Winner - 4th-6th Place
An audio visualizer that allows you to see your music as it plays in an ocean setting...in VR!
Written using AFrame.
Contributors: Ben Cuan, Eric Qian, Alexey Kolechkin, Alex Waitz
Winner - 1st Place
While we were experimenting with the capabilities of the Arduino hardware, we realized that we could create a product that is both impactful and interesting to develop. One of our previous attempts to aid the visually impaired with only software proved ineffective, so we decided to start over from scratch with more capable hardware and software integrations to create a more enticing product prototype. What it does (Feature List) Automatic detection of nearby objects with audible alarm and feedback when approaching too quickly Attach a smartphone to provide live GPS tracking and photo/video feed Online supervisor console- monitor GPS position and manage hardware settings online How we built it CarrotCane runs on a Node.js server with Socket.io, with Arduino hardware and a mobile interface written in Ionic. We created an averaging algorithm which can effectively determine oncoming obstacles or objects moving towards the user. This is accomplished using the HC-SR04 ultrasonic sensor in addition to LCD 2004 Panel and corresponding buttons. We also utilized two Arduino Uno boards which communicate with each other via Inter-Integrated Circuit Serial Bus(I²C), in which one board handles communication with the web platform while the other receives sensor inputs and display outputs. Additionally, Geolocation feature and video related features are created using Ionic framework, and it allowed us to acquire accurate GPS coordinates of the user.
Contributors: Ben Cuan, Eric Qian
Community Game Development Club hosted at Monta Vista High School since 2016.
Some of our games include Squadron Dragon and TowerRush- view more information at our website!
AtomBlast is an online multiplayer arena game set at the atomic level. You control your own atom and fight with your team against other players to gain the most points. Collect atoms to craft into compounds with the click of a button- each compound has unique qualities that can help you attack, defend, and gain buffs! Strategically minded maps, weaponry, team play, and game modes only add to the fuel!!
Made with Pixi.js renderer, Node.js backend, Socket.io networking. Written in JavaScript
Contributors: Ben Cuan, Eric Qian, Akash Basu, Adarsh Iyer, Jeffery Yang, Kevin Chu, Muaaz Wahid
An art collaboration platform aimed to create art that involve multiple people and personalities.
Contributors: Omar Hossain, Akash Basu, Vikram Peddinti
Mobile app for reporting community issues such as crime and road repair. Submitted reports are saved to our database and can be read from the admin console where they can be resolved.
Contributors: Ben Cuan, Eric Qian, Vikram Peddinti, Matthew Park
Instead of walking with a cane or some other aid, visually impaired people walk around with their phone with Aspicio running. The lightweight app built with angular takes constant pictures and connects to a python based server to analyze the photos. With the use of powerful GPU's in the cloud, the image is processed almost instantly and sent back to the phone which gives vibration and sound feedback if an obstacle is there.
Contributors: Ben Cuan, Eric Qian, Viraj Shitole, Vikram Peddinti
Tipnote is an app in which a student, teacher, or any user can freely exercise their creative processes, manage tasks, use version control, and summarize files with portfolios.
Examples: projects, documenting learning approaches, git repositories, development cycles, article summarization, etc.
Contributors: Akash Basu
@EnumC
@64bitpandas
@DarkFlameX1
@Kuxxe
@Epicrider
@FujaX
@voltlock
@Ozymandias
@XKindredKinesis
@vrjmath
@AlexWaitz
@Tainerd007


I still have my very first work ID for when I interned at AstraZeneca in 2004. When my mom first saw that ID (I used to put it up as part of a wall collage of things I had done at my apartment in Philadelphia), her first reaction was ‘You look exactly like Nanaji did when he was in college.’
I remember being supremely impressed by Nanaji when I stayed with my grandparents over the summer by myself in the 9th grade. As a routine, every morning at 7 a.m. you would see him fly out the door; he was a man who could not sit still.  It was clockwork. Out the door at 7, back at 11.45 for lunch at noon sharp. Mind you, he needed his food piping hot, to the point where I had to sit for a bit before I could even consider eating. Back out again in the afternoon, back again for dinner punctually at 7, a habit you did not stop until last week. Nanima may have spoilt me with food and sweets throughout my stay, but Nanaji impressed me with pure action and few words.
Over the last couple years, I was sad every time I visited you, watching you go from being house-ridden to bed-ridden, unable to move around on your own, your eyes still showing the fight and energy, but your body unable to keep up with the pace. You suffered for someone so active, so determined to be out of the house whenever you could.
You loved technology and new things. You were one of the few people who sat on a computer everyday, sending out emails and newsletters of things you read. You may not have been able to in the last couple of years, but I still remember and have the links you sent me to read.
I remember last year when you were in a little better health, and I sat with you, you asked me what I did. The answer I gave you — as I give most people alien to IT — did not satisfy you and you asked for more. The curiosity didn’t leave your face until I explained in detail how we look after servers, how we deal with customers, what I did specifically in my role and how we handled issues if they arose with customers.
You were the most active man I have ever met, in yours, my parents’ and my own generation; an example of a human being.
I miss you already.  And I am glad you are no longer in pain.


3651 Films
What can they tell us about genre? Taking a dataset from Kaggle scaped from IMDb, whittled down to english language films with full data entries left 3651 films. Let's see what they have to say about genre, make sure to hover over the data to let it speak.
This bar not only shows the interesting split of genres through films, but also shows the sample size for each genre. The data for drama is likely to be more accurate in the following graphs than western because of the bigger sample size.
Through animation and family both seem to be good ways to return a good ticket gross from your budget investment, horror it seems is one of the best genres to invest in. On ticket sales alone, the data suggests it provides a similiar return once budget has been accounted for. The data here is perhaps misleading though. The film industry doesn't make all its money from ticket sales alone, particularly with family and animated films. With DVD sales, and sales of merchandise, the actual profit made goes beyond the gross ticket sales shown in the graph. Animations and family films are likely to make a lot more than horror, even after budget is accounted for.
This chart recognises a number of different trends in the film industry between 1980 and 2016. Notably the rise of animated films, with computer animated films meaning that they are becoming steadily cheaper to produce and allowing the rise of other animated film industries other than Disney to become big players in the industry, for example the rise of DreamWorks in 1997 stemming from the success of Amblimation's films in the early 90s.
One of the other interesting trends is the boom of horror and sci-fi films in the 80s. The increasing technology allowed for better special effects, aiding both genres. The Sci-Fi genre recieved E.T. and two more additions to the Star Wars franchise, sparking the imagination for Sci-Fi films. While the Horror genre continued growing strong from it's boom in the 70s, recieving sequels from many films like Haloween and new entries to the genre such as The Shining and Gremlins.
The chord diagram above shows some interesting trend when hovering to see how many films link each genre. While Romance is linked to all of the genres by some degree, its links to comedy and drama are much greater than to any of the other genres. As seen by the size of the arcs, Drama and Comedy have the greatest links to other genres. Drama and Comedy are most likely to be sub-genres to other genres, as they dictate the tone of the film and not just the setting, like fantasy and war does to some extent.


"""This module includes helper functions to identify the location of database
files and extract information from the convention we use for varnames
"""
import os
import re
from string import ascii_letters
from . import config
[docs]def citation_file(name):
"""Return the database file for a specific approach
This file includes Citation's metadata
Arguments:
* `name` -- citation_file attribute of work
Doctest:
.. doctest::
>>> from pathlib import Path
>>> [citation_file('noworkflow2014')] # doctest: +ELLIPSIS
[.../citations/noworkflow2014.py')]
"""
return config.DATABASE_DIR / "citations" / "{}.py".format(name)
[docs]def year_file(year):
"""Return the database file for a specific year
This file includes Paper's metadata
Arguments:
* `year` -- desired year
Doctest:
.. doctest::
>>> from pathlib import Path
>>> [year_file(2017)] # doctest: +ELLIPSIS
[.../work/y2017.py')]
"""
return config.DATABASE_DIR / "work" / "y{}.py".format(year)
[docs]def places_file():
"""Return the places file
Doctest:
.. doctest::
>>> from pathlib import Path
>>> [places_file()] # doctest: +ELLIPSIS
[...places.py')]
"""
return config.DATABASE_DIR / "places.py"
[docs]def this_file(filename):
"""Extract filename without python extension
It is used on citation files in the database to identify them
Arguments:
* `filename` -- python filename (usually __file__)
Doctest:
.. doctest::
>>> this_file(__file__)
'dbindex'
"""
return ".".join(os.path.basename(filename).split(".")[:-1])
[docs]def discover_year(varname, year=None, fail_raise=True):
"""Discover year from varname or year argument
Arguments:
* varname -- work variable name (e.g., 'murta2014a')
Keyword Arguments:
* `year` -- if it is defined, bypass varname extraction and return it
* `fail_raise` -- if it fails to extract from varname, it may raise an
exception according this argument
Doctest:
.. doctest::
>>> discover_year('murta2014a')
2014
>>> discover_year('murta2014a', 2015)
2015
>>> discover_year('invalid', fail_raise=False) is None
True
>>> discover_year('invalid')
Traceback (most recent call last):
...
ValueError: Year Required
"""
if year is not None:
return int(year)
year = parse_varname(varname, 2)
if year is None:
if fail_raise:
raise ValueError("Year Required")
return None
return int(year)
[docs]def increment_char(letter):
"""Increment letter from 'a' through 'z'
Arguments:
* letter -- current letter
Doctest:
.. doctest::
>>> increment_char('a')
'b'
>>> increment_char('b')
'c'
>>> increment_char('z')
'a'
"""
if letter not in ascii_letters:
return "a"
return chr(ord(letter) + 1) if letter != "z" else "a"
[docs]def increment_str(varname):
"""Increment letter from varname
If it reaches the 'z', adds a new 'a' letter and restarts the process
Arguments:
* `varname` -- variable name (e.g., 'murta2014a')
Doctest:
.. doctest::
>>> increment_str('murta2014')
'murta2014a'
>>> increment_str('murta2014a')
'murta2014b'
>>> increment_str('murta2014z')
'murta2014aa'
>>> increment_str('murta2014az')
'murta2014ba'
"""
lpart = varname.rstrip("z")
num_replacements = len(varname) - len(lpart)
new_s = lpart
if lpart and lpart[-1] in ascii_letters:
new_s = lpart[:-1] + increment_char(lpart[-1])
else:
new_s += "a"
new_s += "a" * num_replacements
return new_s
[docs]def parse_varname(varname, group_index):
"""Parse the varname convention to extract its parts
The convention is (last name of first author)(year)(sequential letter)
Arguments:
* `varname` -- variable name for extraction (e.g., 'murta2014a')
* If the varname doesn't match the convention, returns None
* `group_index` -- indicates which part should be extracted
* 0 = all the varname
* 1 = last name of first author
* 2 = year
* 3 = sequential letter
Doctest:
.. doctest::
>>> varname = 'murta2014a'
>>> parse_varname(varname, 0)
'murta2014a'
>>> parse_varname(varname, 1)
'murta'
>>> parse_varname(varname, 2)
'2014'
>>> parse_varname(varname, 3)
'a'
>>> varname = 'invalid'
>>> parse_varname(varname, 0) is None
True
"""
return getattr(
re.search(r"(.*)(\d\d\d\d)(.*)", varname),
"group",
lambda x: None
)(group_index)