Swarm is one of the better-known agent based modelling systems. Swarm consists of a simulation engine built in Objective-C [5,7,1,4,2] that takes a set of objects called a Swarm, and a schedule of actions to perform on them. Swarm defines interfaces that the objects need to adhere to (called protocols in Objective-C) in order for the simulation engine to interface to the Swarms. Finally, it provides a suite of visualisation tools or instruments that can be attached to running swarms to observe their behaviours. Swarm programs are hierarchical and the codes are object-oriented. The first beta version of Swarm was released in 1995 and was written in Objective-C. In 1999, a Java layer was introduced (release 2.0 onwards). A COM interface was proposed [3] which would allow objects written in arbitrary OO languages to be interfaced to swarm, but only partially implemented before funding ran out.
We take the view here that users may have implemented a model in C++, either because they like the features of that language, or for performance reasons, but desire to transplant the model into Swarm to take advantage of tools provided on that platform. The GNU CC compiler supports linking of C++, Obj C and plain C code into the same binary, however objects created in C++ and Objective cannot be shared between the two environments because of incompatible conventions about how objects are laid out in memory.
The strategy described here is for users to declare C++ a class, derived from a an object class that handles the implicit isa pointer in Objective C objects. Classdesc is used to create a program generator, that outputs an Objective C definition of the C++ object, and then we let Objective C's runtime system instantiate the object. The Objective C definition also includes wrapper methods that call the real C++ implemented methods of the object. Instance variables are available in both OO environments, although C++'s privacy declarations are ignored.


A dialog with no arguments or options.
The "Open Dialog"
button above launches the dialog.
OK
button that dismisses the dialog when clicked. After dismissal, there should be an "OK!"
message aside the launch button, confirming that the dialog was dismissed with success."Cancel!"
message aside the launch button after you press ESC.A dialog that has a string of text as its content, plus two custom buttons.
OK
button was designated the "primary" button in this dialog. It should be visually distinct from the Cancel
button.OK
button should receive focus when the dialog opens. Pressing SPACE or ENTER should press whatever button is in focus.OK
button, the Cancel
button, and the dialog's "close" button. Pressing TAB repeatedly should cycle through these three buttons (without focusing any elements underneath the modal layer). Pressing SHIFT + TAB should follow the same cycle in reverse.


| Student | Type | From | To | Duration | Status |
|---|---|---|---|---|---|
King Of Sweden
|
Vacation | 14 Oct'17 | 22 Oct'17 | 1 | |
God Of Manchester
|
Casual | 23 Oct'17 | 28 Oct'17 | 1 |


|
Contiki 2.5
|
The ESB (Embedded Sensor Board) is a prototype wireless sensor network device developed at FU Berlin. More...
Modules | |
| ESB RS232 | |
| Beeper interface | |
| TR1001 radio tranciever device driver | |
| Introduction to Over The Air Reprogramming under Windows | |
Files | |
| file | codeprop-otf.c |
Code propagation and storage. |
The ESB (Embedded Sensor Board) is a prototype wireless sensor network device developed at FU Berlin.
The ESB consists of a Texas Instruments MSP430 low-power microcontroller with 2k RAM and 60k flash ROM, a TR1001 radio transceiver, a 32k serial EEPROM, an RS232 port, a JTAG port, a beeper, and a number of sensors (passive IR, active IR sender/receiver, vibration/tilt, microphone, temperature).
The Contiki/ESB port contains drivers for most of the sensors. The drivers were mostly adapted from sources from FU Berlin.
The ESB is equipped with an MSP430 microcontroller. The first step to getting started with Contiki for the ESB is to install the development tools for compiling Contiki for the MSP430.
Windows users, see Setting up the Windows environment. FreeBSD users, see Setting up the FreeBSD environment
The Contiki development environment under Windows uses the Cygwin environment. Cygwin is a Linux-like environment for Windows. Cygwin can be found at http://www.cygwin.com. Click on the icon "Install Cygwin Now" to the right to get the installation started.
Choose "Install from Internet" and then specify where you want to install cygwin (recommended installation path: C:\cygwin
). Continue with the installation until you are asked to select packages. Most packages can be left as "Default" but there is one package that are not installed by default. Install the following package by clicking at "Default" until it changes to "Install":
When cygwin is installed there should be a cygwin icon that starts up a cygwin bash when clicked on. Whenever it is time to compile and send programs to the ESB nodes it will be done from a cygwin shell.
If you do not already have a nice programming editor it is a good idea to download and install one. The Crimson editor is a nice windows based editor that is both easy to get started with and fairly powerful.
Crimson Editor can be found at: http://www.crimsoneditor.com/
The editor is useful both when editing C programs and when modifying scripts and configuration files.
A compiler is needed to compile the programs to the MSP430 microprocessor that is used on the ESB sensor nodes. Download and install the GCC toolchain for MSP430 (recommended installation path: C:\MSP430\).
The GCC toolchain for MSP430 can be found at: http://sourceforge.net/projects/mspgcc/
When the above software is installed you also need to set-up the PATH so that all of the necessary tools can be reached. In cygwin this is done by the following line (given that you have installed at recommended locations):
export PATH=$PATH:/cygdrive/c/MSP430/mspgcc/bin
This line can also be added to the .profile startup file in your cygwin home directory (C:\cygwin\home\<YOUR USERNAME>\.profile
).
If your home directory is located elsewhere you can find it by starting cygwin and running cd
followed by pwd
.
When programming the ESB sensor nodes it is very useful to have an operating system that takes care of some of the low-level tasks and also gives you as a programmer APIs for things like events, hardware and networking. We will use the Contiki operating system developed by Adam Dunkels, SICS, which is very well suited when programming small embedded systems.
The Contiki OS can be found at: http://www.sics.se/contiki/
Unzip the Contiki OS at (for example) C:\ and you will get the following directories among others:
Now everything necessary to start developing Contiki-based sensor net applications should be installed. Start cygwin and change to the directory contiki-2.x/examples/esb/
. Then call make beeper.esb
.
If you get an error about multiple cygwin dlls when compiling, you need to delete cygwin1.dll
from the MSP430 GCC toolchain (C:\MSP430\bin\cygwin1.dll
).
Connect a node and turn it on. Upload the test application by calling make beeper.u
.
make <SPEC>
will compile and make a executable file ready for sending to the ESB nodes. Depending on the SPEC
it might even startup the application that sends the executable to the node. Typically you would write things like "make beeper.u"
to get the file beeper.c
compiled, linked and sent out to the ESB node. cd <DIR>
change to a specified directory (same as in DOS) pwd <DIR>
shows your current directory ls
list the directory mkdir <DIR>
creates a new directory cp <SRC> <DEST>
copies a fileDownload the msp430-gcc, msp430-binutils, and msp430-libc packages from http://www.sics.se/~adam/contiki/freebsd-packages/. Install the packages (as root) with pkg_add
.
The Contiki ESB port comes with a small program, burn-nodeid
that semi-permanently stores a (unique) node ID number in the ESB EEPROM. When the Contiki ESB port boots up, this node ID is restored from the EEPROM. To compile and run this program, go into your project directory and run
make burn-nodeid.u nodeid=X
where X
is the node ID that will be burned into EEPROM. The burn-nodeid
program stores the node ID in EEPROM, reads it back, and writes the output to the serial port.
The ESB is equipped with an MSP430 microcontroller. The first step to getting started with Contiki for the ESB is to install the development tools for compiling Contiki for the MSP430.
For Windows users, see Setting up the Windows environment


Bu uygulama ile soy ağacınızı grafiksel olarak görüntüleyebilir ve bilgilerinizi daha kolay erişebilirisiniz.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.


Our mission is to aggregate datasets and provide an evaluation platform in support of the PACT mission statement.
For instructions on how to submit a dataset click here.
This dataset contains ~30 second collects in various static configurations. Data was collected in various environments, with different phone carrying positions, and with different user rotations relative to the measurement device. Additionally, multiple measurement devices were used. All collects were done with 6' separation between the transmitting device and receiving device.
A bluetooth proximity dataset collected varying distance between participants to be far (H0, >10ft) or close (H1, <6ft).
Data collected using the nRF52 BTLE Sniffer and a custom program (located at https://github.com/klingm/btle_sniffer).
MIT Testing Protocol used. 10 data collections corresponding to MIT test data matrix. Each data folder contains log files for 3, 4, 5, 6, 8, 10, 12, 15 ft. The Bluetooth signal of interest is tagged with the name "BlueProxTx"
This dataset contains measurements similar to the the MITLL range-angle protocol, but taken in an unstructured manner. Unlike the range-angle protocol (Structured Contact Tracing Protocol, V.2.0), testers chose their own range, angle and number of tests per set. As a result the dataset does not contain complete range-angle sets, but there is more variety in environment, phone carrying position, pose, etc. The data was collected by 12 MITRE employees at their homes.
This spreadsheet catalogs a wide range of commonly available phones and their Bluetooth chipsets based on openly available information as part of the PACT project. Please feel free to edit/add/enrich this data.
A bluetooth proximity dataset collected by varying range angle between participants.
A template dataset to be used for external dataset submissions.
If you have a dataset you are interested in seeing on this website please choose an option below to proceed.
Please use this option if you are familiar with setting up a Github repository and if your dataset does not contain any single files that are larger than 4GB.
Task: Dataset Submission
If you do not wish to use Github or your dataset is too large for Github's large file share (LFS) feature, please email the PACT Datasets and Evaluation team at<EMAIL_ADDRESS>with the dataset name and a brief description of how it was collected. Please either attach your dataset directly to the email or else provide a link to where it can be accessed by the PACT Team.


D&D: Digitize and Download
App Home
(current)
About Demo
Opiti Inc Solutions
Data Export
Download in the following formats:
Zipped Shapefile
GeoJSON File
Rendered GeoJSON
Data Download
Download Data


{{ nick }}'s homepage
You have {{ yourhugs }} hugs. Your profile URL is {{ full_url }}!
PROTIP: Share this with your friends to accumulate more hugs!
Hugbook is a social network and/or MMORPG with one goal: spreading hugs all over the world!
There are currently {{ numpeeps }} users on hugbook who have hugged {{ numhugs }} times — almost {{ avghugs }} per user! :)
Welcome to our newest user, {{ newestuser_nick }}! (joined {{newestuser_date}})
{{/newestuser_nick}} {{#logged_in}}You have {{ yourhugs }} hugs. Your profile URL is {{ full_url }}!
PROTIP: Share this with your friends to accumulate more hugs!


You can vote for the relevance of the project
Once the project attains a critical mass of votes, it is put up for auction
You can create a competitive project
All the citizens registered in the Lykke Competition can participate in the project
You can participate in the project and win
Each project selects one winner and three participant-winners
You can vote for the participants of the project
Choose the winner and award prizes to the most active participants
© 2017 Lykke
If you no longer wish to receive emails, you may unsubscribe


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use WebSubject | |
|---|---|
| org.apache.shiro.web.servlet | Shiro-specific implementations of the Servlet API (Servlet Filters, et al). |
| org.apache.shiro.web.subject | Web-specific Subject interfaces to enable Subject use in web
environments. |
| org.apache.shiro.web.subject.support | Supporting implementations of org.apache.shiro.web.subject package interfaces. |
| Uses of WebSubject in org.apache.shiro.web.servlet |
|---|
| Methods in org.apache.shiro.web.servlet that return WebSubject | |
|---|---|
protected WebSubject |
AbstractShiroFilter.createSubject(ServletRequest request,
ServletResponse response)
Creates a WebSubject instance to associate with the incoming request/response pair which will be used
throughout the request/response execution. |
| Uses of WebSubject in org.apache.shiro.web.subject |
|---|
| Methods in org.apache.shiro.web.subject that return WebSubject | |
|---|---|
WebSubject |
WebSubject.Builder.buildWebSubject()
Returns super.buildSubject() , but additionally ensures that the returned instance
is an instanceof WebSubject and to support a type-safe method so a caller
does not have to cast. |
| Uses of WebSubject in org.apache.shiro.web.subject.support |
|---|
| Classes in org.apache.shiro.web.subject.support that implement WebSubject | |
|---|---|
class |
WebDelegatingSubject
Default WebSubject implementation that additional ensures the ability to retain a
servlet request/response pair to be used by internal shiro components as necessary during the request execution. |
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


| Hospital ID | Hospital Name | Hospital Type | City | Locality(ies) | Contact Details |
|---|---|---|---|---|---|
| MUM_1 | Apex Hospitals | Government | Mumbai | Dahisar, Kandivali, Govandi East, Mulund, Dombivli, Kalyan, Dadar, Malad West | Phone(Mulund):<PHONE_NUMBER> , Phone(Borivali):<PHONE_NUMBER>, Website |
| MUM_2 | Apex Multispeciality Hospitals | Government | Mumbai | Andheri East, Kopar Khairane, Mulund West, Borivali East, Borivali West, Mira Road, Mira Bhayandar | Phone: 022 2870 3377, Website |
| MUM_3 | Ashtvinayak Hospital & Super Speciality Hospital | Government | Mumbai | Borivali East, New Panvel East | Phone:<PHONE_NUMBER>, Website |
| MUM_4 | Asian Institute of Medical Sciences | Government | Mumbai | Dombivli East | Phone:<PHONE_NUMBER>, 0251 6185000 Website |
| MUM_5 | Balaji Hospital | Government | Mumbai | Byculla East | Phone: 0222374 0000, Website |
| MUM_6 | Dr. R.N.Patil's Suraj Hospital | Government | Navi Mumbai | Sanpada | Phone:<PHONE_NUMBER>, Website |
| MUM_7 | Lifeline Multispeciality Hospital | Government | Mumbai | Malad West, Dahisar West, Mira Road East, Mira Bhayandar | Phone:<PHONE_NUMBER>7, +91-22-2807 4040 / 4208 6000, +91-22-2888 5001 / 2888 5006 Website |
| MUM_8 | M/s S. S. Vaidya Health Care Pvt. Ltd | Government | Mumbai | Kalbadevi | Phone: Not provided , Website: Not provided |
| MUM_9 | Mallika Hospital | Government | Mumbai | Jogeshwari West | Phone: +912226797171, Website: Not provided |
| MUM_10 | MPCT Hospital | Government | Navi Mumbai | Sanpada | Phone: +912227750000, Website |
| MUM_11 | Niramaya Hospital | Government | Navi Mumbai | Kharghar | Phone: +912227747761, Website |
| MUM_11 | Panacea Hospital | Government | Navi Mumbai | New Panvel East | Phone: +91-8422-8422-00/ 11, Website |
| MUM_12 | Pinnacle Ortho Centre | Government | Thane | Panch Pakhdi(Thane West) | Phone: +912225419000, Website |
| MUM_13 | Prachin Healthcare Multi-speciality Hospital | Government | Navi Mumbai | Panvel | Phone: +912271333258, Website |
| MUM_14 | Rane Hospital Pvt. Ltd | Government | Mumbai | Chembur | Phone:<PHONE_NUMBER>4 - 06 , 25229638 , Website: Not provided |
| MUM_15 | Riddhi Vinayak, Critical Care & Cardiac Centrel | Government | Mumbai | Malad West | Phone: 022 2866 3985, Website |
| MUM_16 | Riddhi Vinayak, Multi Speciality Hospital | Government | Mumbai Metropolitan Region | Nala Sopara | Phone:<PHONE_NUMBER>0, Website |
| MUM_17 | Sapana Health Care Centre | Government | Mumbai | Ghatkopar West | Phone:<PHONE_NUMBER>, Website |
| MUM_18 | Shantiniketan Hospital | Government | Mumbai | Ghatkopar West | Phone: +912225001005, Website |
| MUM_19 | Shivam Hospital | Government | Mumbai | Kandivali West | Phone: +919819749522, Website |
| MUM_20 | Shivam Hospital, Multi Spciality & Joint Replacement Centrel | Government | Mumbai | Kandivali West | Phone: +919819749522, Website |
| MUM_21 | Shree Balaji Hospital | Government | Mumbai Metropolitan Region | Virar East | Phone: 0250 252 1685, Website: Not provided |
| MUM_22 | Shushrusha Heart Care Center & Multi Speciality Hospital | Government | Navi Mumbai | Nerul West | Phone: +912227700273, Website |
| MUM_23 | Siddhivinayak Maternity & General Hospital | Government | Mumbai Metropolitan Region | Nala Sopara East | Phone: +919225724050, Website: Not provided |
| MUM_24 | SRCC Children's Hospital | Government | Mumbai | Mahalakshmi | Phone: 022-7122 2333, 186 0208 0208, Website |
| MUM_25 | Surana Hospital & Research Centre | Government | Mumbai | Malad West | Phone: +912228022123, Website |
| MUM_26 | Surana Sethia Hospital Research Centre | Government | Mumbai | Chembur | Phone: +912233783378, Website |
| MUM_27 | Surekha Criticare Hospital | Government | Thane | Ulhasnagar | Phone: 0251 256 9191, Website |
| MUM_28 | Swami Sarvanand Hospital | Government | Thane | Ulhasnagar | Phone: +912512527517, Website |
| MUM_29 | Terna Multispeciality Hospital and Research Centre | Government | Navi Mumbai | Nerul West | Phone: 022 6157 8300, Website |
| MUM_30 | Highland Super Specialty Hospital | Government | Thane | Dhokali (Thane West) | Phone: 022 2584 0300, Website |
| MUM_31 | The Muslim Ambulance Society | Private | Mumbai | Mandvi | Phone: +912223465642, Website |
| MUM_32 | M.H. Saboo Siddique Maternity & General Hospital | Private | Mumbai | Mandvi | Phone: +912223773355, Website |
| MUM_33 | Nana Palkar Smruti Samiti | Private | Mumbai, Thane | Borivali West, Thane West | Phone: 022 2898 3029, 022 2537 9634 Website |
| MUM_34 | Bai Jerbai Wadia Hospital for Children | Private | Mumbai | Parel East | Phone: +91 - 22 - 24146965 Website |
| MUM_35 | Lalbaug Raja Dialysis Center | Private | Mumbai | Parel | Phone: +917058005211, Website: not provided |
| MUM_36 | Dalvi Nursing Home | Private | Mumbai | Chunabhatti | Phone: 022 2405 1116, Website |
| MUM_37 | Lion Tarachand Bapa Hospital | Private | Mumbai | Sion West | Phone: +912224044983, Website |
| MUM_38 | K.J.Somaiya Hospital & Research Centre | Private | Mumbai | Sion East | Phone: +91 22 5095 4700, Website |
| MUM_39 | Rehbar foundation Malik Rakiya Khatoon dialysis centre, Shatabdi hospital | Private | Mumbai | Kurla West | Phone: +912225036310, Website |
| MUM_40 | Nana Palkar Smruti Samiti Santacruz Dialysis Centre | Private | Mumbai | Santacruz | Phone: +91<PHONE_NUMBER>7, 24186724,24164890, Website |
| MUM_41 | Lion Kartar singh Hospital | Private | Mumbai | Gilbert Hill, Andheri West | Phone: 022 2670 7454, Website: not provided |
| MUM_42 | Brahma Kumaris GHRC managing BSES MG Hospital | Private | Mumbai | Lihana Colony, Andheri West | Phone: 022 6648 7500, Website |
| MUM_43 | Lifeline Medicare Hospital | Private | Mumbai | Goregaon East, Goregaon West, Kandivali East | Phone:<PHONE_NUMBER>0,<PHONE_NUMBER>6,<PHONE_NUMBER>1, Website |
| MUM_44 | Millat Dialysis Center | Private | Mumbai | Andheri East | Phone: not provided, Website: not provided |
| MUM_45 | Venus Charitable Medical Centre Conducted By Venus Cultural Association | Private | Mumbai | Goregaon West | Phone: 022 2876 7709, Website |
| MUM_46 | Prabodhan Charitable Dialysis Center | Private | Mumbai | Churi Wadi (Goregaon West) | Phone: not provided, Website: not provided |
| MUM_47 | Kosmopolitan Charitable Dialysis and Day Care Center | Private | Mumbai | Malvani (Malad West) | Phone: +91-9892090491, +91-9833873789, +91-9869049040, +91-9022221992, Website |
| MUM_48 | Shree Naminathji Jain Foundation (Borivali east) | Private | Mumbai | Borivali East | Phone: not provided, Website: not provided |
| MUM_49 | Sushrut Hospital & Research Centre | Private | Mumbai | Chembur | Phone: 93727 45480, +91<PHONE_NUMBER>5 / 25265500 / 25283302, Website |
| MUM_50 | Parakh Hospital | Private | Mumbai | Ghatkopar East | Phone: 022 6782 7000, Website |
| MUM_51 | Dr Bhatia's Hospital | Private | Mumbai Suburban | Bhandup | Phone: not provided, Website: not provided |
| MUM_52 | Dr.Meenas Multispeciality Hospital , Bhandup | Private | Mumbai | Bhandup West | Phone: 08071 265 530, Website: not provided |
| MUM_53 | Platinum Group of Hospitals | Private | Mumbai, Mumbai Metropolitan Region | Vasai, Mulund, Ulhasnagar, Kalwa | Phone: 0251- 2453623, 2444747, 2444433, 0250-2452626/2727/2828,<PHONE_NUMBER>0/191/197,<PHONE_NUMBER>00-799, Website |
| MUM_54 | H. J. Doshi Ghatkopar Hindu Sabha Hospital | Private | Mumbai | Ghatkopar West | Phone: 022 2509 4451 Website |
| MUM_55 | Shivam Hospital (Dialysis Unit) | Private | Mumbai | Kandivali West | Phone:<PHONE_NUMBER>2 , Website: not provided |
| MUM_56 | HCG APEX cancer centre | Private | Mumbai | Borivali West | Phone: 022 6257 9999, Website |
| MUM_57 | Lancelot Dialysis Center | Private | Mumbai | Borivali West | Phone: 022 2806 6266 Website |


Before Change
// use the old version of the op
if ((dilation == [1] * spatial_size) and (not ceil_mode)) or \
(pooling_type[:3] != "MAX"):
return cls.pool(node, input_dict, pool_func, pooling_type, strict)
if x_rank != 4:
exception.OP_UNSUPPORTED_EXCEPT(
"MaxPool with {}D input".format(x_rank), "Tensorflow")
After Change
need_trans = storage_format.startswith("NC")
if need_trans:
compute_format = "N" + storage_format[2:] + "C"
x = tf.transpose(x, perm=get_perm_from_formats(storage_format,
compute_format))
dp = DilatedPooling(input=x, kernel_shape=kernel_shape, strides=strides,


Jacob Friis Nielsen
// Teacher & Developer of Games
<EMAIL_ADDRESS>LinkedIn
Twitter
Portfolio
Comet Castle
The Red Breifcase
Into the Light
TITLE
PLATFORM
DESCRIPTION
Watch Trailer
Play


Travelling time {{resourceFlight.duration}}
{{resourceFlight.class}}
Travelling time {{flight.duration}}
{{flight.class}}
Travelling time {{successfulBook?.duration}}
{{successfulBook?.class}}


fun getByte(key: String): Byte?
Gets a Byte from the wrapped UBObject Returns null if the value was not a number or the key-value pair did not exist


February 2015 in the Flink community
March 2, 2015 -February might be the shortest month of the year, but this does not mean that the Flink community has not been busy adding features to the system and fixing bugs. Here’s a rundown of the activity in the Flink community last month.
0.8.1 release #
Flink 0.8.1 was released. This bugfixing release resolves a total of 22 issues.
New committer #
Max Michels has been voted a committer by the Flink PMC.
Flink adapter for Apache SAMOA #
Apache SAMOA (incubating) is a distributed streaming machine learning (ML) framework with a programming abstraction for distributed streaming ML algorithms. SAMOA runs on a variety of backend engines, currently Apache Storm and Apache S4. A pull request is available at the SAMOA repository that adds a Flink adapter for SAMOA.
Easy Flink deployment on Google Compute Cloud #
Flink is now integrated in bdutil, Google’s open source tool for creating and configuring (Hadoop) clusters in Google Compute Engine. Deployment of Flink clusters in now supported starting with bdutil 1.2.0.
Flink on the Web #
A new blog post on Flink Streaming was published at the blog. Flink was mentioned in several articles on the web. Here are some examples:
In the Flink master #
The following features have been now merged in Flink’s master repository.
Gelly #
Gelly, Flink’s Graph API allows users to manipulate graph-shaped data directly. Here’s for example a calculation of shortest paths in a graph:
Graph<Long, Double, Double> graph = Graph.fromDataSet(vertices, edges, env);
DataSet<Vertex<Long, Double>> singleSourceShortestPaths = graph
.run(new SingleSourceShortestPaths<Long>(srcVertexId,
maxIterations)).getVertices();
See more Gelly examples here.
Flink Expressions #
The newly merged flink-table module is the first step in Flink’s roadmap towards logical queries and SQL support. Here’s a preview on how you can read two CSV file, assign a logical schema to, and apply transformations like filters and joins using logical attributes rather than physical data types.
val customers = getCustomerDataSet(env)
.as('id, 'mktSegment)
.filter( 'mktSegment === "AUTOMOBILE" )
val orders = getOrdersDataSet(env)
.filter( o => dateFormat.parse(o.orderDate).before(date) )
.as('orderId, 'custId, 'orderDate, 'shipPrio)
val items =
orders.join(customers)
.where('custId === 'id)
.select('orderId, 'orderDate, 'shipPrio)
Access to HCatalog tables #
With the flink-hcatalog module, you can now conveniently access HCatalog/Hive tables. The module supports projection (selection and order of fields) and partition filters.
Access to secured YARN clusters/HDFS. #
With this change users can access Kerberos secured YARN (and HDFS) Hadoop clusters. Also, basic support for accessing secured HDFS with a standalone Flink setup is now available.


Contains routines to perform a simple binary search on a vector
Example usage
program binarySearch_test use variableKind, only: i32, r64 use m_BinarySearch, only: binarySearch implicit none real(r64) :: arr(20) integer(i32) :: i integer(i32) :: j arr=[(dble(i), i = 1, 20)] j = binarySearch(arr, 10.d0, 1, 20) write(*,*) 'Location of 10.0 in arr is 10? ',j == 10 end program
Perform a binary search but also return the neighbouring interval if the actual value is not found. This is useful if you need to find a number that is not contained in the array and you want the interval
Example usage
use variableKind use m_BinarySearch, only: intervalSearch real(r64) :: arr(20) integer(i32) :: i integer(i32) :: j(3) arr=[(dble(i), i = 1, 20)] j = intervalSearch(arr, 10.5d0, 1, 20) write(*,*) 'Location of 10.5 in arr is -1? ',j(1) == -1 write(*,*) 'The interval containing 10.5 is [10,11]? ',j(2:3) == [10,11]
Perform a binary search. See m_searching for more information on how to use this interface
Search for the value i in an integer vector Assumes this is sorted!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=i32) | :: | this(:) | Vector to search within |
|||
| integer(kind=i32) | :: | v | Number to find in the vector |
|||
| integer(kind=i32) | :: | imin | Left integer |
|||
| integer(kind=i32) | :: | imax | Right integer |
Location of i in this. Returns -1 if not present
Search for the value i in an integer vector Assumes this is sorted!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=i64) | :: | this(:) | Vector to search within |
|||
| integer(kind=i64) | :: | v | Number to find in the vector |
|||
| integer(kind=i32) | :: | imin | Left integer |
|||
| integer(kind=i32) | :: | imax | Right integer |
Location of i in this. Returns -1 if not present
Search for the value i in an integer vector Assumes this is sorted!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=r32) | :: | this(:) | Vector to search within |
|||
| real(kind=r32) | :: | v | Number to find in the vector |
|||
| integer(kind=i32) | :: | imin | Left integer |
|||
| integer(kind=i32) | :: | imax | Right integer |
Location of i in this. Returns -1 if not present
Search for the value i in an integer vector Assumes this is sorted!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=r64) | :: | this(:) | Vector to search within |
|||
| real(kind=r64) | :: | v | Number to find in the vector |
|||
| integer(kind=i32) | :: | imin | Left integer |
|||
| integer(kind=i32) | :: | imax | Right integer |
Location of i in this. Returns -1 if not present
Perform an interval search on an array Returns a length 3 integer(i32) array where the last two entries are the left and right neighbours The first entry of iout is -1 if the value is not present in the vector Assumes this is sorted!See m_searching for more information on how to use this interface
interfaced with intervalSearch
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=i32) | :: | this(:) | Vector to search within |
|||
| integer(kind=i32) | :: | v | Number to find in the vector |
|||
| integer(kind=i32) | :: | imin | Left integer |
|||
| integer(kind=i32) | :: | imax | Right integer |
Location of i in this. iout(1) = -1 if not present with iout(2-3) as the interval
interfaced with intervalSearch
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=i64) | :: | this(:) | Vector to search within |
|||
| integer(kind=i64) | :: | v | Number to find in the vector |
|||
| integer(kind=i32) | :: | imin | Left integer |
|||
| integer(kind=i32) | :: | imax | Right integer |
Location of i in this. iout(1) = -1 if not present with iout(2-3) as the interval
interfaced with intervalSearch
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=r32) | :: | this(:) | Vector to search within |
|||
| real(kind=r32) | :: | v | Number to find in the vector |
|||
| integer(kind=i32) | :: | imin | Left integer |
|||
| integer(kind=i32) | :: | imax | Right integer |
Location of i in this. iout(1) = -1 if not present with iout(2-3) as the interval
interfaced with intervalSearch
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=r64) | :: | this(:) | Vector to search within |
|||
| real(kind=r64) | :: | v | Number to find in the vector |
|||
| integer(kind=i32) | :: | imin | Left integer |
|||
| integer(kind=i32) | :: | imax | Right integer |
Location of i in this. iout(1) = -1 if not present with iout(2-3) as the interval
Carry out a brute force search on an array for a given number. Returns -1 if the value is not found.
Interfaced with simpleSearch
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=i32) | :: | this(:) | Search this vector |
|||
| integer(kind=i32) | :: | val | Number to find in the vector |
Location of i in this
Interfaced with simpleSearch
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=i64) | :: | this(:) | Search this vector |
|||
| integer(kind=i64) | :: | val | Number to find in the vector |
Location of i in this
Interfaced with simpleSearch
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=r32) | :: | this(:) | Search this vector |
|||
| real(kind=r32) | :: | val | Number to find in the vector |
Location of i in this
Interfaced with simpleSearch
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=r64) | :: | this(:) | Search this vector |
|||
| real(kind=r64) | :: | val | Number to find in the vector |
Location of i in this


First off, I am a recreational Marijuana smoker and am currently on Trileptal (300mg) [an antiepileptic] twice a day an Paxil (20mg) once a day.
The Benzedrex Inhaler was acquired at a CVS pharmacy. They keep them behind the counter but I don't know if there is an age reqirement to purchase them. The top of the inhaler screws off like I was supposed to eat the cotton inside or something. I was kind of leary of the idea of eating cotton, however since it is already saturated in the Propylhexedrine it is quite easy to consume if torn into pieces.
After consumption it took me a while to be able to keep a straight face because of the horrible taste that came with acid reflux. The burps were bitter and almost nuaseating. After drinking a Mt. Dew and smoking a few cigarettes I began to start getting a tad giggly, like after smoking maybe half a bowl of decent weed. The more I moved the more I seemed to become intoxicated. The high peaked with odd bursts of energy and then climbing back down from stoned to sober at a faster rate than it climbed. After I thought I had sobered up and was feeling a tad fatigued I sat with my mom and chilled out in the living room to read. However I was still talking a mile a minute and fidgeting.
Id say this experience lasted for about three and a half hours. That night however I had horrible sleep. I went to bed at eight pm, woke up wide awake at one am. I could barely go back to sleep at close to five am. Upon waking at six am I was still disoriented.
The next day I had a constant headache, but no blurred vision though. The headache was bearable, but I still had to take a few Ibuprofen to stand school. It wasnt a dirty high like I have experienced with other OTC medications. It's one I definatly would like to experience again to fully understand it.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


ScoreKeeper
new
Initialize the ScoreKeeper object.
new([useEncryption])
Arguments
| Name | Description | Type | Required |
|---|---|---|---|
| useEncryption | Encrypt player scores. See the Encryption section. | Boolean | N |
Returns
A ScoreKeeper object on which all other methods are called.
Examples
Default
local ScoreKeeper = require("plugin.scorekeeper") local Scores = ScoreKeeper.new() -- ScoreKeeper Object
Compact
local Scores = require("plugin.scorekeeper").new()
Notes
You should only initialize one ScoreKeeper object in your app.
You can do this by placing the initialization in a "globals" Lua module, or adding it to the global Lua space (generally you don't want to add to the global space, but this would be considered a "responsable" global):
_G.Scores = require("plugin.scorekeeper").new()
You can then access the ScoreKeeper object anywhere in your code files.
--anyfile.lua Scores:save(200)
ScoreKeeper Object
All of the following methods are called on a ScoreKeeper object. See new above.
save
Save the players score.
save(score[, limit])
Arguments
| Name | Description | Type | Required |
|---|---|---|---|
| score | The players score value to save. | Number | Y |
| limit | Cap the amount of scores saved. See Notes below. | Number | N |
Returns
A Table array of the current saved scores from highest to lowest, or nil and an error.
Examples
Default
Scores:save(2000)
Using return value
local scores = Scores:save(2000) for i=1, #scores do print(i, scores[i]) end
Save and cap to 10 scores
local scores = Scores:save(154, 10) for i=1, #scores do print(i, scores[i]) end
Using error checking
local scores, err = Scores:save(1500) if not scores then print(err) else for i=1, #scores do print(i, scores[i]) end end
Notes
If you pass the limit
argument, the score list will be "capped" at that number. For example if you only want to keep the top 20 scores set the limit
to 20. Any new scores that are higher than the lowest score in the list will be replaced to keep the list capped to 20 scores.
You can change the limit
at any time, but be aware if you set it to a smaller number than what you started with, the extra scores (lowest to highest) will be dropped to match the new "cap" size.
list
List players saved scores.
list([sort][, limit])
Arguments
| Name | Description | Type | Required |
|---|---|---|---|
| sort | Either 'high' or 'low'. The default is 'high'. See Notes below. | String | N |
| limit | Cap the amount of scores returned. Defaults to all scores. | Number | N |
Returns
A Table array of score values. By default the scores are sorted from highest to lowest. If no values have been saved yet, the array will be empty.
Examples
List all saved scores, highest to lowest
local scores = Scores:list() for i=1, #scores do print(i, scores[i]) end
List top 5 saved scores (see also the top method)
local scores = Scores:list(5) for i=1, #scores do print(i, scores[i]) end
List all scores, lowest to highest
local scores = Scores:list('low') for i=1, #scores do print(i, scores[i]) end
List 10 scores, lowest to highest
local scores = Scores:list('low', 10) for i=1, #scores do print(i, scores[i]) end
Notes
Possible sort
values
- 'high' returns the scores from highest to lowest.
- 'low' returns the scores from lowest to highest.
See the top method below, which is a convenience function to get the top scores.
top
List the players top saved scores from highest to lowest.
top([limit])
Arguments
| Name | Description | Type | Required |
|---|---|---|---|
| limit | Cap the amount of scores returned. Defaults to 10. | Number | N |
Returns
A Table array of the top 10 score values (unless limit
is provided), sorted from highest to lowest. If no values have been saved yet, the array will be empty.
Examples
Default (top 10)
local scores = Scores:top() for i=1, #scores do print(i, scores[i]) end
Load top 25 scores
local scores = Scores:top(25) for i=1, #scores do print(i, scores[i]) end
bottom
Load player scores from the bottom of the list. See Notes below.
bottom(limit)
Arguments
| Name | Description | Type | Required |
|---|---|---|---|
| limit | Cap the amount of scores returned. | Number | Y |
Returns
A Table array of saved score values. If no values have been saved yet, the array will be empty. See Notes below.
Example
List the bottom 5 scores, sorted highest to lowest
local scores = Scores:bottom(5) for i=1, #scores do print(i, scores[i]) end
Notes
If you want an ordered list of scores from lowest to highest, you must use the list method. This method returns the lowest scores saved, capped by the limit
argument, sorted from highest to lowest.
If the limit
argument is equal to or greater than the amount of current scores saved, this method oprerate exactly like the top method.
If you don't pass the limit
argument, the lowest score will be returned in the Table array. See also lowest.
highest
Get the players highest score saved.
highest()
Arguments
This method takes no arguments.
Returns
A Number value of the highest score. If no saved values exist returns 0.
Example
local score = Scores:highest()
Notes
This method returns a single value directly as a Number. It is not a Table array.
lowest
Get the players lowest score saved.
lowest()
Arguments
This method takes no arguments.
Returns
A Number value of the lowest score. If no saved values exist returns 0.
Example
local score = Scores:lowest()
Notes
This method returns a single value directly as a Number. It is not a Table array.
trim
Trim the players saved score list to the specified size and update the storage file.
trim(size)
Arguments
| Name | Description | Type | Required |
|---|---|---|---|
| size | The length of the new score list. Must be greater than zero. See Notes below. | Number | Y |
Returns
A Table array of score values, sorted from highest to lowest, or nil and an error.
Examples
Trim the list to contain only the top 10 scores
local scores = Scores:trim(10) for i=1, #scores do print(i, scores[i]) end
Using error checking
local scores, err = Scores:trim(10) if not scores then print(err) else for i=1, #scores do print(i, scores[i]) end end
Notes
This method is destructive by nature. After the trim has been the processed, the results will immediately be saved to the stroage file.
Trim will remove any scores beyond the provided size
parameter. Scores are first sorted highest to lowest before the trim.
The size
argument must be greater than zero. To clear all score values from the list use the empty method below.
empty
Empty the players score list. All saved scores are removed and the storage file is updated.
empty()
Arguments
This method takes no arguments.
Returns
An empty Table array, or nil and an error.
Examples
Default
Scores:empty()
Using error checking
local scores, err = Scores:empty() if not scores then print(err) else print("success") end
Notes
This method is destructive by nature. After the empty method has run, the results will immediately be saved to the stroage file (an empty Table array).
flush
Deletes all scores and the storage file from the device.
flush()
Arguments
This method takes no arguments.
Returns
A Boolean true
on success, or nil and an error.
Example
local ok, err = Scores:flush() if not ok then print(err) else print("storage file removed") end
Notes
This method is destructive by nature. All scores and the storage file will no longer be accessible.
A new storage file will be created the next time the save method is used.
debug
Utility method. Prints all saved scores to the Corona console.
Example
Scores:debug()


class MPISPMD { public: int nprocs, myid; MPISPMD() {nprocs=1, myid=0;} MPISPMD(int& argc, char**& argv) {init(argc,argv);}; ~MPISPMD() {finalize();} void init(int& argc, char**& argv); void finalize() {MPI_Finalize();} };
MPISPMD is a simple class that arranges for MPI_Init
to
be called when initialised, and MPI_Finalise
when destroyed. It
use is primarily to construct SPMD style programs. See the heat.cc example program to see how it might be used.


Report 1 World
1.1 Daily Incidence, Recovery, Deaths
Report last updated: 2020-09-10
Data last refreshed: : 2020-09-09
1.2 Case Fatality Rate
Case fatality rate is calculated by dividing the number of deaths from a specified disease over a defined period of time by the number of individuals diagnosed with the disease during that time; the resulting ratio is then multiplied by 100 to yield a percentage (Harrington 2020).
\[CFR = \frac{\# Deaths}{\#Infected} \times 100 \,\, per \,\,unit \,\, time\]
1.2.1 Case Fatality Rate (select countries)
1.3 Confirmed Cases
| country | Confirmed |
|---|---|
| US | 6361265 |
| India | 4465863 |
| Brazil | 4197889 |
| Russia | 1037526 |
| Peru | 696190 |
| Colombia | 686851 |
| Mexico | 647321 |
| South Africa | 642431 |
| Spain | 543379 |
| Argentina | 512293 |
1.4 Deaths since first death
1.5 Deaths since first confirmed case
| country | Confirmed |
|---|---|
| US | 190859 |
| Brazil | 128539 |
| India | 75062 |
| Mexico | 69049 |
| United Kingdom | 41683 |
| Italy | 35577 |
| France | 30805 |
| Peru | 30123 |
| Spain | 29628 |
| Iran | 22669 |
| Bangladesh(unoff) | 1217 |
1.5.1 Cases and deaths compared on a specific day
Bangladesh has entered into day 186 since first confirmed case.
| Country | Total cases | Total deaths |
|---|---|---|
| US | 4178970 | 147184 |
| Brazil | 3846153 | 120262 |
| Mexico | 599560 | 64414 |
| United Kingdom | 307251 | 41293 |
| India | 1803695 | 38135 |
| Italy | 248229 | 35166 |
| Bangladesh | 331078 | 4593 |
1.6 Recovery-to-death ratio
The recovery to deaths ratio (RDR) is calculated as
\[ RDR = \frac{\# Cumulative \,\, daily \,\, recovered}{\# Cumulative \,\, daily \,\, deaths} \]
How to interpret: The ratio of cumulative number of patients recovered divided by the cumulative number of deaths over time can tell the proportion of people recovering compared to dying. An upward trend may indicate more recovery than deaths.
1.6.1 Recovery-to-death ratio (South and South-East Asia)
1.6.2 Recovery-to-death ratio (Middle East)
1.7 3-day % changes
The percent change is calculated as
\[
PC = \frac{New - Original}{Original} * 100
\] where New
is the number of cases on a given date, and Original
is the number 3 days prior to that.
How to interpret: The 3-day percent change tells how much does a metric have changed (%) compared to what it was 3-days ago. A downward trending line suggests a slow growth.
References
Harrington, Rebecca A. 2020. “Case Fatality Rate.” Encyclopædia Britannica: Encyclopædia Britannica, inc. March 27. https://www.britannica.com/science/case-fatality-rate.


👋🏻 Welcome
Hello. I'm Tom Carrick, and this is my curriculum vitae, or my resume, if you prefer. Maybe I linked this to you instead of sending a PDF, maybe I saved this as a PDF and sent it to you,or perhaps you found your own way here.
Originally from the North-East of England, but I've been living in Amsterdam, Netherlands since the beginning of 2019. I'm a software engineer working mostly with web technologies, particularly Python / Django / PostgreSQL. Usually I'm building complex web applications with REST APIs.
This CV is ordered in such a way that the most important things are at top, and the less useful things are at the bottom. So don't feel like you need to read the whole thing. It's also not 100% complete — there's a lot of freelance work I've excluded, as well as less relevant work experience. With that said, let's get on with it.
📇 Contact
🧰 Skills, languages & tools
- 🐍 Python
- 🦄 Django
- ⚡ FastAPI
- 🐘 PostgreSQL
- 📄 HTML
- 🎨 CSS
- 🐋 Docker
- 🐙 Git
💼 Work
–present Lead web developer at Scene Connect
- Led development of ZuOS, an application providing energy flexibility services for energy communities.
- Designed the architecture of the platform capable of handling millions of IoT messages.
- Led a team of 5 engineers, helping with their career growth as well as with technical problems.
- Python, Django, PostgreSQL, Redis, HTML, CSS, JS.
–March 2023 Engineering manager at Lightmatter
- Responsible for the growth of a team of engineers, mentoring, pair programming, reviewing performance and helping them with their career goals and to add value to the rest of the company.
- Technical leadership of multiple projects.
- Python, Django, PostgreSQL, Redis, HTML, CSS, JS.
– Senior Python/Django developer at Stream
- Led a rewrite of the backend of the website and the customer dashboard to falicitate a new design, more functionality and better maintainability.
- Implemented new features for the public Python API libraries for the chat product.
- Conducted interviews and helped onboard a new developer.
- Python, Django, Celery, PostgreSQL, Redis, Elasticsearch.
– Python developer at Croud
- Helped lead a rewrite of an existing PHP platform to Python / Django.
- Created a REST-powered framework for launching runs of automated tools asynchronously with complex dependency chains.
- Python, Django, Celery, FastAPI, PostgreSQL, RabbitMQ, Redis.
– Senior software engineer at Local Motors
- Writing the backend for Launch Forth, a collaborative engineering platform with challenges and user interaction.
- Led the migration of a large code base from Python 2 to Python 3.
- Python, Django, Celery, PostgreSQL, Redis.
– Software engineer at 7bridges
- Helped rewrite the backend code to support a complex logistics platform.
- Implemented adapters to read unstandardised logistics data from multiple couriersin different formats to a standardised database structure.
- Python, Django, PostgreSQL, Redis
– Software engineer at ezhome
- Designed and build RESTful APIs for frontend services.
- Built backend architecture for a customer management platform.
- Python, Django, PostgreSQL.
– Web developer at Calm Digital
- Wrote multiple fullstack websites for various clients.
- Designed and built a standard admin interface for most of the company's websiets, greatly reducing development time.
- Python, Django, PHP, WordPress, Magento, HTML, CSS, JS.
💚 Volunteering, etc.
Open source contributions
I contribute to open source projects where I can. This mostly manifests in occasional contributions to Django .
Django Girls coaching
I'm a semi-regular coach at Django Girls events. I try to get to the ones at DjangoCon EU and anything reasonably close to where I happen to be at the time.
Django Accessibility Team
I'm a member of and helped create Django's Accessibility Team. It's still in its formative days and we're still setting things up.
DjangoCon Europe 2023 organisation
I'm helping (in a small way) to organise DjangoCon Europe 2023.
Personal projects
This website
↖ You are here. There's not much to say about it, but I've written up the technical details regardless.
django-snakeoil
django-snakeoil is a project I've had for a while for keeping SEO and other meta tags updated in a Django project. It works well enough for me, but since I rewrote this site in Pelican I don't use it myself anymore.
Carbon Timeline
Carbon Timeline (code) is a small project I wrote to teach myself Vue.js. It uses your Google Maps timeline data (downloaded from Google Takeout) to estimate the carbon footprint of your travel using Mike Berners-Lee's (yes, Tim's brother) estimates from his book How Bad Are Bananas?. It's a nice project but I'm more than 99% sure that I'm the only perosn to ever use it. Maybe that will change now that you've read this?
harmony
harmony is just a discord bot with some fun commands. It's not very interesting 🙂.
🎓 Education
– MSc Advanced Computer Science (with distinction) at Newcastle University, UK
Masters thesis: Detecting cheating in online poker. Developed applications to analyse more than 20 million hands of online poker in order to detect collusion, suspicious play, and other patterns. Included a quite early use of Neo4j, a graph database.
This degree was partially taught, and partially research-based. In addition to thesis, the teaching had a focus on security and the web.
– BSc (Honours) Computing at The Open University, UK
Your typical undergraduate CS degree 🤷.
📰 Publications
- T. Carrick, A. Rashid and P. J. Taylor, Mimicry in online conversations: An exploratory study of linguistic analysis techniques, 2016 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining (ASONAM), pp. 732-736, doi: 10.1109/ASONAM.2016.7752318.
Hobbies & interests
I know, nobody cares, this shouldn't be on your CV, etc. etc., but this is a website, so I'm not wasting space on the page 🙂. Feel free to stop reading here.
I enjoy bouldering, but I'm not amazing at it. I typically boulder indoors at around font level 6b. I play a bit of tennis occasionally but am extremely bad at it.
I would code for fun if it wasn't my full time job.
I enjoy hiking, foraging, anything outdoors in nature, really.
I spend too much time thinking about climate change.


--- layout: post title: Communicating through uncertainty ---
Recently I've found myself in situations where there's no right answer. In these situations it can be hard to know how to proceed and even when you do make some decision, it can be hard to communicate that to a team in a way that builds confidence in spite of the uncertainty. I've recently been watching some great leaders do this, and I've found that doing it well boils down to a few simple steps.
In situations with lots of uncertainty there are often lots of different approaches and disagreement about the correct path. Once you’ve made a decision about which path to take, it’s important to communicate that as a decision being made, and not an opinion for further debate. For people used to building consensus this can feel overly dictatorial, but making it clear that a decision has been made often helps the silent majority, and allows you to stop arguing and start getting more data.
Decisions in ambiguous situations are bound to have some dissenters. For many, their natural reaction to things not going their way will be "X just doesn't understand this problem so they’re making a bad decision" or even worse "X is actively out to make my life hard". Both of these erode trust, and you want to prevent these sentiments. The best way to do this is to make it clear that you’ve heard the objections and you still feel this is the correct path.
One of the best ways to get more people onboard with a decision is to communicate them as an “let’s try it” experiment rather than a choice etched in stone. You can do this by describing your approach as a hypothesis being tested with clear criteria and an evaluation date. This is particularly helpful in calming dissenters as it gives them a clear point where the team can re-litigate the issue if this approach turns out disastrous.
Once the decision has been made and it's been evaluated, it's important to follow-up with the results and next steps. This serves two benefits. First, it prevents you from scarring on the first cut and accidentally encoding an ineffective experiment as permanent policy. Secondly, it builds trust so that when you suggest future experiments, people can trust that you're not making a permanent change under the guise of “an experiment”.
You’ll definitely want to follow-up and share out results at the end of your experiment, and depending on its impact you may want to check-in a week or two after the experiment starts, just to let people know that concerns are being heard and small course corrections are being taken.
To think about how that works in practice, let's consider a common problem. Your team has started shipping more bugs to production. Lots of people have theories about how to fix this, ranging from hiring a QA team to just shrugging their shoulders and saying "bugs are a fact of life". You have decided to try to resolve this by putting a pre-push hook which ensures that code coverage is about 50% for any new pull request. Let's look at how to message that, starting first with the simplest message.
Hey team, just wanted to give everyone a heads up that starting Monday we'll block any pull request which has less than 50% code coverage. Hopefully this will decrease the amount of bugs we ship to production.
This is a fine approach, and it scores well on making it clear that a decision has been made. At the same time, it doesn’t show what alternatives have been considered or how that decision is being evaluated. This may create critiques like: "code coverage is a terrible metric", "this will never decrease our bug rate fast enough", or “a QA team would be better”. The people with these critiques may also have FUD that you’re enshrining a bad choice without considering all angles. Let's think about how to resolve that.
Hey team, as I'm sure you've noticed, our bug rate has been creeping up over the past month, and we've had to roll back a number of our changes in production to prevent serious impact to our users. That's why starting Monday we're going to require that all changes have > 50% code coverage before merging.
We recognize that code coverage isn't a perfect metric for making sure that our changes are high-quality, but we chose this approach because it's quick for us to instrument, and it will allow us to quickly understand the impact of more rigorous testing standards on our development process. This will make it harder to get changes into production, but we have seen that most of our production incidents could've easily been caught by testing, so we believe that by explicitly encoding a minimum testing bar, it can be a good first step to prevent a large class of errors.
Let me know if you have any questions.
This is way better. It still makes it clear that a decision has been made, it explicitly shows people that you've considered the trade-offs, and you've still chosen this path. At the same time, it still may leave people worried that you’re going to encode a burdensome policy forever. We can resolve that by framing it as an experiment.
Hey team, as I'm sure you've noticed, our bug rate has been creeping up over the past month, and we've had to roll back a number of our changes in production to prevent serious impact to our users. That's why starting Monday we're going to start a trial where we require all changes to have > 50% code coverage before merging.
We recognize that code coverage isn't a perfect metric for making sure that our changes are high-quality, but we chose this approach because it's fairly quick for us to instrument, and it will allow us to quickly understand the impact of more rigorous testing standards on our development process. This will make it harder to get changes into production, but we have seen that most of our production incidents could've easily been caught by testing, so we believe that encoding a minimum testing bar can be a good first step to prevent a large class of errors.
As with all things, we're treating this as an experiment. We'll let this policy run for 4 weeks, and then check the number of bugs in production and talk to some developers to see how it's impacting your workflow. We’ll then decide on next steps.
If you have any questions, please let me know.
This final version does everything that the first two do: it clearly communicates the trade-offs and makes it clear that a decision is being made. It also frames the change as an experiment, which makes it feel much more reversible and prevents some amount of re-litigating the issue from people who disagree.
This approach isn't always perfect. Sometimes you just need to make a decision and commit to it for the long term. However, many times you can frame your ambiguous decisions as experiments and communicate about them accordingly. This will lead to happier teams, and hopefully less heart-burn as things change.


registrationform
Overview
Coredata
Qualifications
Event-specific
Logout
Event Specific
Preferred Working Area:
Open here
Driver
Security
Avability: From:
Until:
Are you interested in assisting beforehand?
Yes
No
Volunteer Comment:
Volunteer Agreement:
Yes, I agree
No, I do not agree
Select the form of sport:
Open here
Alpine Skiing Boys
Alpine Skiing Girls
Biathlon Boys
Biathlon Girls
Cross-Country Skiing Boys
Cross-Country Skiing Girls
Figure Skating Boys
Figure Skating Girls
Freestyle Boys
Freestyle Girls
Ice Hockey Boys
Ice Speed Skating Boys
Ice Speed Skating Girls
Snowboarding Boys
Snowboarding Girls
Save
Pictures
Upload your picture:
Upload a copy of your passport:
Save


A former White House photographer compared Obama's notes to Trump's viral handwritten memo
by Lauren Frias- When President Donald Trump’s handwritten note began making rounds on the internet, former White House photographer Pete Souza shared a side-by-side comparison of Trump’s memo and former President Barack Obama’s speaking notes.
- A consistent Trump critic, Souza is known for throwing shade at Trump by using old photos he took during Obama’s presidency.
- Throughout his term, the president has often denounced Obama and his political decisions, so much so that European diplomats reportedly believed Trump was “obsessed with Obama” in 2017.
- Visit Business Insider’s homepage for more stories.
After a photojournalist snapped a shot of President Donald Trump’s handwritten “no quid pro quo” memo, the internet was quick to react with memes and jokes, including the former White House photographer from the Obama administration.
A consistent critic of Trump, former White House photographer Pete Souza is known for bashing Trump using old photos he took during the terms of former President Barack Obama. When Trump’s handwritten note began making rounds on the internet, Souza shared a side-by-side comparison of Trump’s memo and Obama’s speaking notes.
Souza has dedicated several Instagram posts to trolling the president, using past photos of Obama in office to throw shade at Trump.
Throughout his term, the president has often denounced Obama and his political decisions, so much so that European diplomats reportedly believed Trump was “obsessed with Obama” in 2017. And the numbers show Trump’s fixation on the former president – according to an analysis by CNN’s Daniel Dale, through October, “Trump had mentioned Obama by name 537 times during 2019 as a whole.”


Co-Founders: Matthew Ernst and Kyle Rechter
We are proud to introduce your premier bagel delivery service! We deliver every Sunday from 7:30am to 2pm. All of our products are freshly made at New York Bagel.
Our deliveries include an assortment of bagels, toppings, cream cheese, and coffee.
We deliver straight to your door! We accept payment in cash or credit.
Feel free to email us to provide some feedback on our deliveries, give us suggestions for future services, or just to say hello!


Dojo’s NumberInput
widget provides a basic number input widget with an
optional label.
Features
- Correctly handles a11y attributes
- Allows leading / trailing icons / text to be added
Accessibility Features
-
Ensures that the proper attributes (ARIA or otherwise) are set along with classes
when properties such as
disabled
, readOnly
, etc. are used
- Additional custom ARIA labels may be added with the
aria
property
- Sets
aria-invalid
when validation fails


|
Lolo Ferrariaka Eve Valois56G breasts.

"All this stuff has been because I can't stand life. But it hasn't changed anything. There are moments when I disconnect totally from reality. Then I can do anything, absolutely anything. I swallow pills. I throw myself out of windows. Dying seems very easy then." After Lolo's death in 2000, her husband told a newspaper: "She wanted to be a star, but she couldn't bear living...  Enough people have exploited me and Lolo already. If you want me to talk any more you'll have to pay." "She was always drinking alcohol and coffee and taking pills. She took so many stimulants that she often made herself ill. The autopsy blames an overdose of medicine but I think she had literally worn her body out."
Timeline
|


THE PHANTOM MENACE **½ (out of four) -a review by Bill Chambers<EMAIL_ADDRESS>)
(For more critiques you'll disagree with, visit Film Freak Central: http://filmfreakcentral.net Bring a friend!)
starring Liam Neeson, Ewan McGregor, Natalie Portman, Jake Lloyd written and directed by George Lucas
I want this review of Star Wars: Episode 1 – The Phantom Menace to stand out from the pack you've been reading, so I will forgo my typical essay-style approach and discuss the film in bits and pieces. I can't promise not to spoil anything, but I will do my best to avoid giving too much away.
The Plot:
Menace takes us back three or four decades before the original Star Wars (A New Hope to us dweebs).  The plot seems vaguely modeled on The Last of The Mohicans': Qui-Gon plays reluctant guard to nobility (including Queen Amidala) as he treks a path to freedom; his band is pursued by the Magua-esque Darth Maul, a bloodthirsty aide to the Trade Federation. The similarities to James Fenimore Cooper's tale end at the point when Qui-Gon stops on Tattooine for vessel repairs and discovers a preternatural little slaveboy possessed of rare mental and physical gifts. Qui-Gon swears the kid, Anakin Skywalker, is "the chosen one," the future Jedi who will bring balance to the force. He even stakes his (shaky) reputation on it before the Council, which is headed by Yoda and Mace Windu (Samuel L. Jackson in a cameo).
The Characters:
Qui-Gon, who stands tall, walks swiftly and speaks softly, is the most compelling new presence in the Star Wars universe. Liam Neeson's performance recalls the authority of Alec Guiness in the later films, which is most appropriate, given that Guiness portrayed the mature Obi-Wan-it's now as if Qui-Gon's self-confidence rubbed off on Obi-Wan more than any other aspect of his training. Lloyd also shines, especially in his scenes with Yoda and company; he has a sweet and innocent face, but there's a trace enough of mischief in his narrow eyes to leave no doubt this cherubic munchkin will one day submit to his darkest urges. Jar Jar Binks ("Stomp" dancer Ahmed Best), the rabbit-eared, six-foot reptile (part of a race called the Gungan) who follows Qui-Gon around like a loyal servant (and talks like the stereotypical plantation worker, circa 1800s, an attribute sure to rankle those members of the black population who already feel misrepresented in the original trilogy), sporadically amuses but mostly annoys, especially with his inept soldier schtick during the climactic battle between the Gungan and hordes of Battle Droids. (While I'm on the subject of droids, C-3PO and R2-D2 make curiously perfunctory appearances in The Phantom Menace-though they normally supply the comic relief, only Jar Jar's theatrics are mined for laughs this time around.)
Also of note are Portman, McGregor, and Ian McDiarmid. The former plays surely the most beautiful queen in any galaxy-with or without the Kabuki make-up, she glows like a young Audrey Hepburn, but Princess Leia she's not.  McGregor is marginally more successful as the eager Obi-Wan, but he is more or less a walking action figure, someone who asks a lot of questions mostly for the sake of nudging us into the next sequence. Finally, McDiarmid, as Senator Palpatine, brought a smile to my face whenever he was on screen; whether by virtue of some fine acting or the knowledge that Palpatine eventually becomes the dreaded Emperor, I cannot say.
Perhaps the most disappointing character in Menace is Darth Maul. Fans have hitched their wagon to the wrong train, it seems (Maul was the most popular costume at the midnight premiere, and products bearing his likeness are the best selling Menace merchandise so far), for Maul is no less robotic than the machines who fight for his cause. His entire persona is summed up by his double-bladed lightsaber: cool at first, silly upon reflection.
The Special Effects:
Lucas didn't want to make another Star Wars movie until CGI equipment caught up with his imagination. Indeed, Menace is brimming-overstuffed-with special effects whose detail is impressive. Yet there's nothing sparklingly original about them, especially concerning the animated beings. Star Wars and Star Trek share a common flaw in their creature design. As weird as the bodies and skins get, the aliens of both galaxies usually have humanoid faces: two eyes, a nose, and a mouth. Lucas also continues a trend begun in his refurbished editions of episodes 4, 5, and 6: the monsters of Episode 1 are clownish or juvenile (the appearance of a small Greedo-type recalls Jim Henson's "Muppet Babies") and, dare I say it, uniquely synthetic. While the technology now allows for a group of computer-generated Gungans to flop around like so many Stephen Fetchits, I still find digital flesh, ninety percent of the time, thoroughly unconvincing. (The wisest directorial decision Lucas made was to have Yoda return in all his foam rubber glory, replete with strategically placed props to disguise puppeteer Frank Oz.)
More successful are the CGI cityscapes of Couriscant and Naboo, as well as the many interiors and exteriors of ships. In fact, most of, if not all, of the non-creature F/X work is breathtaking enough to give pause to the most jaded viewers.
The myriad explosions and close-calls and laser blasts do tend to overwhelm Menace's narrative, but it's safe to say that Lucas is a solid enough filmmaker that he pulls off the Pandemonium with much more grace than we're accustomed to seeing in summer pictures of this sort. Yes, we're dealing with a different George Lucas than the one who made Star Wars back in 1977-that director had budgetary restrictions imposed on him that really taxed his imagination. The trash compactor sequence in Episode IV, so basic it could easily be duplicated by enterprising teenaged videomakers, holds more suspense than any similar moment in Menace. ('90s Lucas is also the parent of a preschooler, and therefore eager to please all ages.) Sometimes, less is more. Why mince words? Less is always more. That's also why a simple breathing appartus used by Qui-Gon and Obi-Wan for an underwater jaunt in Menace fascinates more than the complicated machinery on display, because it's the kind of goofy prop one might find in schlocky B-movie serials, one of Lucas' obvious inspirations.
The Final Word:
I'm tempted to say The Phantom Menace is uninspired, but it's not. I'm tempted to say it's uninvolving, but it's far from that. The movie is burdened with having to lay the groundwork not only for two hypothetical movies, but a completed series of beloved films, and the best scenes in Menace (the Jedi Council conferences; Obi-Wan's big number) indicate that episodes two and three will be more stimulating affairs. I'd have to say it's a better picture than Return of the Jedi, but falls into the same third-act trap of juxtaposing a terrific swordfight with boring, slapstick scenes of combat.
Ultimately, I'd like to see The Phantom Menace again, because there is so much to drink in. If I have some advice for Lucas it is this: for the sequel (read: second prequel), write and write and write until you've defined your characters, because (as any true fan will agree) it was the rock-solid personalities of Han Solo, Luke Skywalker, Princess Leia, Chewbacca, C-3PO and R2-D2-and the chemsitry between them-that endeared the Star Wars trilogy to audiences, not nifty production values.
-May, 1999
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


14. Probabilistic Reasoning
We have a bag of three biased coins $a$, $b$, and $c$ with probabilities of coming up heads of 20%, 60%, and 80%, respectively. One coin is drawn randomly from the bag (with equal likelihood of drawing each of the three coins), and then the coin is flipped three times to generate the outcomes $X_1$, $X_2$, and $X_3$.
-
Draw the Bayesian network corresponding to this setup and define the necessary CPTs.
-
Calculate which coin was most likely to have been drawn from the bag if the observed flips come out heads twice and tails once.
We have a bag of three biased coins $a$, $b$, and $c$ with probabilities of coming up heads of 30%, 60%, and 75%, respectively. One coin is drawn randomly from the bag (with equal likelihood of drawing each of the three coins), and then the coin is flipped three times to generate the outcomes $X_1$, $X_2$, and $X_3$.
-
Draw the Bayesian network corresponding to this setup and define the necessary CPTs.
-
Calculate which coin was most likely to have been drawn from the bag if the observed flips come out heads twice and tails once.
Exercise 14.3 [cpt-equivalence-exercise]
Equation (parameter-joint-repn-equation) on page parameter-joint-repn-equation defines the joint distribution represented by a Bayesian network in terms of the parameters $\theta(X_i{Parents}(X_i))$. This exercise asks you to derive the equivalence between the parameters and the conditional probabilities ${\textbf{ P}}(X_i{Parents}(X_i))$ from this definition.
-
Consider a simple network $X\rightarrow Y\rightarrow Z$ with three Boolean variables. Use Equations (conditional-probability-equation) and (marginalization-equation) (pages conditional-probability-equation and marginalization-equation) to express the conditional probability $P(zy)$ as the ratio of two sums, each over entries in the joint distribution ${\textbf{P}}(X,Y,Z)$.
-
Now use Equation (parameter-joint-repn-equation) to write this expression in terms of the network parameters $\theta(X)$, $\theta(YX)$, and $\theta(ZY)$.
-
Next, expand out the summations in your expression from part (b), writing out explicitly the terms for the true and false values of each summed variable. Assuming that all network parameters satisfy the constraint $\sum_{x_i} \theta(x_i{parents}(X_i))1$, show that the resulting expression reduces to $\theta(zy)$.
-
Generalize this derivation to show that $\theta(X_i{Parents}(X_i)) = {\textbf{P}}(X_i{Parents}(X_i))$ for any Bayesian network.
The arc reversal operation of in a Bayesian network allows us to change the direction of an arc $X\rightarrow Y$ while preserving the joint probability distribution that the network represents @Shachter:1986. Arc reversal may require introducing new arcs: all the parents of $X$ also become parents of $Y$, and all parents of $Y$ also become parents of $X$.
-
Assume that $X$ and $Y$ start with $m$ and $n$ parents, respectively, and that all variables have $k$ values. By calculating the change in size for the CPTs of $X$ and $Y$, show that the total number of parameters in the network cannot decrease during arc reversal. (Hint: the parents of $X$ and $Y$ need not be disjoint.)
-
Under what circumstances can the total number remain constant?
-
Let the parents of $X$ be $\textbf{U} \cup \textbf{V}$ and the parents of $Y$ be $\textbf{V} \cup \textbf{W}$, where $\textbf{U}$ and $\textbf{W}$ are disjoint. The formulas for the new CPTs after arc reversal are as follows: Prove that the new network expresses the same joint distribution over all variables as the original network.
Consider the Bayesian network in Figure burglary-figure.
-
If no evidence is observed, are ${Burglary}$ and ${Earthquake}$ independent? Prove this from the numerical semantics and from the topological semantics.
-
If we observe ${Alarm}{true}$, are ${Burglary}$ and ${Earthquake}$ independent? Justify your answer by calculating whether the probabilities involved satisfy the definition of conditional independence.
Suppose that in a Bayesian network containing an unobserved variable $Y$, all the variables in the Markov blanket ${MB}(Y)$ have been observed.
-
Prove that removing the node $Y$ from the network will not affect the posterior distribution for any other unobserved variable in the network.
-
Discuss whether we can remove $Y$ if we are planning to use (i) rejection sampling and (ii) likelihood weighting.
Exercise 14.7 [handedness-exercise]
Let $H_x$ be a random variable denoting the handedness of an individual $x$, with possible values $l$ or $r$. A common hypothesis is that left- or right-handedness is inherited by a simple mechanism; that is, perhaps there is a gene $G_x$, also with values $l$ or $r$, and perhaps actual handedness turns out mostly the same (with some probability $s$) as the gene an individual possesses. Furthermore, perhaps the gene itself is equally likely to be inherited from either of an individual’s parents, with a small nonzero probability $m$ of a random mutation flipping the handedness.
-
Which of the three networks in Figure handedness-figure claim that $ {\textbf{P}}(G_{father},G_{mother},G_{child}) = {\textbf{P}}(G_{father}){\textbf{P}}(G_{mother}){\textbf{P}}(G_{child})$?
-
Which of the three networks make independence claims that are consistent with the hypothesis about the inheritance of handedness?
-
Which of the three networks is the best description of the hypothesis?
-
Write down the CPT for the $G_{child}$ node in network (a), in terms of $s$ and $m$.
-
Suppose that $P(G_{father}l)=P(G_{mother}l)=q$. In network (a), derive an expression for $P(G_{child}l)$ in terms of $m$ and $q$ only, by conditioning on its parent nodes.
-
Under conditions of genetic equilibrium, we expect the distribution of genes to be the same across generations. Use this to calculate the value of $q$, and, given what you know about handedness in humans, explain why the hypothesis described at the beginning of this question must be wrong.
Exercise 14.8 [markov-blanket-exercise]
The Markov blanket of a variable is defined on page markov-blanket-page. Prove that a variable is independent of all other variables in the network, given its Markov blanket and derive Equation (markov-blanket-equation) (page markov-blanket-equation).
Consider the network for car diagnosis shown in Figure car-starts-figure.
-
Extend the network with the Boolean variables ${IcyWeather}$ and ${StarterMotor}$.
-
Give reasonable conditional probability tables for all the nodes.
-
How many independent values are contained in the joint probability distribution for eight Boolean nodes, assuming that no conditional independence relations are known to hold among them?
-
How many independent probability values do your network tables contain?
-
The conditional distribution for ${Starts}$ could be described as a noisy-AND distribution. Define this family in general and relate it to the noisy-OR distribution.
Consider a simple Bayesian network with root variables ${Cold}$, ${Flu}$, and ${Malaria}$ and child variable ${Fever}$, with a noisy-OR conditional distribution for ${Fever}$ as described in Section canonical-distribution-section. By adding appropriate auxiliary variables for inhibition events and fever-inducing events, construct an equivalent Bayesian network whose CPTs (except for root variables) are deterministic. Define the CPTs and prove equivalence.
Consider the family of linear Gaussian networks, as defined on page LG-network-page.
-
In a two-variable network, let $X_1$ be the parent of $X_2$, let $X_1$ have a Gaussian prior, and let ${\textbf{P}}(X_2X_1)$ be a linear Gaussian distribution. Show that the joint distribution $P(X_1,X_2)$ is a multivariate Gaussian, and calculate its covariance matrix.
-
Prove by induction that the joint distribution for a general linear Gaussian network on $X_1,\ldots,X_n$ is also a multivariate Gaussian.
Exercise 14.12 [multivalued-probit-exercise]
The probit distribution defined on page probit-page describes the probability distribution for a Boolean child, given a single continuous parent.
-
How might the definition be extended to cover multiple continuous parents?
-
How might it be extended to handle a multivalued child variable? Consider both cases where the child’s values are ordered (as in selecting a gear while driving, depending on speed, slope, desired acceleration, etc.) and cases where they are unordered (as in selecting bus, train, or car to get to work). (Hint: Consider ways to divide the possible values into two sets, to mimic a Boolean variable.)
In your local nuclear power station, there is an alarm that senses when a temperature gauge exceeds a given threshold. The gauge measures the temperature of the core. Consider the Boolean variables $A$ (alarm sounds), $F_A$ (alarm is faulty), and $F_G$ (gauge is faulty) and the multivalued nodes $G$ (gauge reading) and $T$ (actual core temperature).
-
Draw a Bayesian network for this domain, given that the gauge is more likely to fail when the core temperature gets too high.
-
Is your network a polytree? Why or why not?
-
Suppose there are just two possible actual and measured temperatures, normal and high; the probability that the gauge gives the correct temperature is $x$ when it is working, but $y$ when it is faulty. Give the conditional probability table associated with $G$.
-
Suppose the alarm works correctly unless it is faulty, in which case it never sounds. Give the conditional probability table associated with $A$.
-
Suppose the alarm and gauge are working and the alarm sounds. Calculate an expression for the probability that the temperature of the core is too high, in terms of the various conditional probabilities in the network.
Exercise 14.14 [telescope-exercise]
Two astronomers in different parts of the world make measurements $M_1$ and $M_2$ of the number of stars $N$ in some small region of the sky, using their telescopes. Normally, there is a small possibility $e$ of error by up to one star in each direction. Each telescope can also (with a much smaller probability $f$) be badly out of focus (events $F_1$ and $F_2$), in which case the scientist will undercount by three or more stars (or if $N$ is less than 3, fail to detect any stars at all). Consider the three networks shown in Figure telescope-nets-figure.
-
Which of these Bayesian networks are correct (but not necessarily efficient) representations of the preceding information?
-
Which is the best network? Explain.
-
Write out a conditional distribution for ${\textbf{P}}(M_1N)$, for the case where $N{1,2,3}$ and $M_1{0,1,2,3,4}$. Each entry in the conditional distribution should be expressed as a function of the parameters $e$ and/or $f$.
-
Suppose $M_11$ and $M_23$. What are the possible numbers of stars if you assume no prior constraint on the values of $N$?
-
What is the most likely number of stars, given these observations? Explain how to compute this, or if it is not possible to compute, explain what additional information is needed and how it would affect the result.
Consider the network shown in Figure telescope-nets-figure(ii), and assume that the two telescopes work identically. $N{1,2,3}$ and $M_1,M_2{0,1,2,3,4}$, with the symbolic CPTs as described in Exercise telescope-exercise. Using the enumeration algorithm (Figure enumeration-algorithm on page enumeration-algorithm), calculate the probability distribution ${\textbf{P}}(NM_12,M_22)$.
Consider the Bayes net shown in Figure politics-figure.
-
Which of the following are asserted by the network structure?
-
${\textbf{P}}(B,I,M) = {\textbf{P}}(B){\textbf{P}}(I){\textbf{P}}(M)$.
-
${\textbf{P}}(JG) = {\textbf{P}}(JG,I)$.
-
${\textbf{P}}(MG,B,I) = {\textbf{P}}(MG,B,I,J)$.
-
-
Calculate the value of $P(b,i,\lnot m,g,j)$.
-
Calculate the probability that someone goes to jail given that they broke the law, have been indicted, and face a politically motivated prosecutor.
-
A context-specific independence (see page CSI-page) allows a variable to be independent of some of its parents given certain values of others. In addition to the usual conditional independences given by the graph structure, what context-specific independences exist in the Bayes net in Figure politics-figure?
-
Suppose we want to add the variable $P{PresidentialPardon}$ to the network; draw the new network and briefly explain any links you add.
Consider the Bayes net shown in Figure politics-figure.
-
Which, if any, of the following are asserted by the network structure (ignoring the CPTs for now)?
-
${\textbf{P}}(B,I,M) = {\textbf{P}}(B){\textbf{P}}(I){\textbf{P}}(M)$.
-
${\textbf{P}}(JG) = {\textbf{P}}(JG,I)$.
-
${\textbf{P}}(MG,B,I) = {\textbf{P}}(MG,B,I,J)$.
-
-
Calculate the value of $P(b,i,m,\lnot g,j)$.
-
Calculate the probability that someone goes to jail given that they broke the law, have been indicted, and face a politically motivated prosecutor.
-
A context-specific independence (see page CSI-page) allows a variable to be independent of some of its parents given certain values of others. In addition to the usual conditional independences given by the graph structure, what context-specific independences exist in the Bayes net in Figure politics-figure?
-
Suppose we want to add the variable $P{PresidentialPardon}$ to the network; draw the new network and briefly explain any links you add.
Consider the variable elimination algorithm in Figure elimination-ask-algorithm (page elimination-ask-algorithm).
-
Section exact-inference-section applies variable elimination to the query Perform the calculations indicated and check that the answer is correct.
-
Count the number of arithmetic operations performed, and compare it with the number performed by the enumeration algorithm.
-
Suppose a network has the form of a chain: a sequence of Boolean variables $X_1,\ldots, X_n$ where ${Parents}(X_i){X_{i-1}}$ for $i2,\ldots,n$. What is the complexity of computing ${\textbf{P}}(X_1X_n{true})$ using enumeration? Using variable elimination?
-
Prove that the complexity of running variable elimination on a polytree network is linear in the size of the tree for any variable ordering consistent with the network structure.
Exercise 14.19 [bn-complexity-exercise]
Investigate the complexity of exact inference in general Bayesian networks:
-
Prove that any 3-SAT problem can be reduced to exact inference in a Bayesian network constructed to represent the particular problem and hence that exact inference is NP-hard. (Hint: Consider a network with one variable for each proposition symbol, one for each clause, and one for the conjunction of clauses.)
-
The problem of counting the number of satisfying assignments for a 3-SAT problem is #P-complete. Show that exact inference is at least as hard as this.
Exercise 14.20 [primitive-sampling-exercise]
Consider the problem of generating a random sample from a specified distribution on a single variable. Assume you have a random number generator that returns a random number uniformly distributed between 0 and 1.
-
Let $X$ be a discrete variable with $P(Xx_i)p_i$ for $i{1,\ldots,k}$. The cumulative distribution of $X$ gives the probability that $X{x_1,\ldots,x_j}$ for each possible $j$. (See also Appendix [math-appendix].) Explain how to calculate the cumulative distribution in $O(k)$ time and how to generate a single sample of $X$ from it. Can the latter be done in less than $O(k)$ time?
-
Now suppose we want to generate $N$ samples of $X$, where $N\gg k$. Explain how to do this with an expected run time per sample that is constant (i.e., independent of $k$).
-
Now consider a continuous-valued variable with a parameterized distribution (e.g., Gaussian). How can samples be generated from such a distribution?
-
Suppose you want to query a continuous-valued variable and you are using a sampling algorithm such as LIKELIHOODWEIGHTING to do the inference. How would you have to modify the query-answering process?
Consider the query ${\textbf{P}}({Rain}{Sprinkler}{true},{WetGrass}{true})$ in Figure rain-clustering-figure(a) (page rain-clustering-figure) and how Gibbs sampling can answer it.
-
How many states does the Markov chain have?
-
Calculate the transition matrix ${\textbf{Q}}$ containing $q({\textbf{y}}$ $\rightarrow$ ${\textbf{y}}’)$ for all ${\textbf{y}}$, ${\textbf{y}}’$.
-
What does ${\textbf{ Q}}^2$, the square of the transition matrix, represent?
-
What about ${\textbf{Q}}^n$ as $n\to \infty$?
-
Explain how to do probabilistic inference in Bayesian networks, assuming that ${\textbf{Q}}^n$ is available. Is this a practical way to do inference?
Exercise 14.22 [gibbs-proof-exercise]
This exercise explores the stationary distribution for Gibbs sampling methods.
-
The convex composition $[\alpha, q_1; 1-\alpha, q_2]$ of $q_1$ and $q_2$ is a transition probability distribution that first chooses one of $q_1$ and $q_2$ with probabilities $\alpha$ and $1-\alpha$, respectively, and then applies whichever is chosen. Prove that if $q_1$ and $q_2$ are in detailed balance with $\pi$, then their convex composition is also in detailed balance with $\pi$. (Note: this result justifies a variant of GIBBS-ASK in which variables are chosen at random rather than sampled in a fixed sequence.)
-
Prove that if each of $q_1$ and $q_2$ has $\pi$ as its stationary distribution, then the sequential composition $q q_1 \circ q_2$ also has $\pi$ as its stationary distribution.
The Metropolis–Hastings algorithm is a member of the MCMC family; as such, it is designed to generate samples $\textbf{x}$ (eventually) according to target probabilities $\pi(\textbf{x})$. (Typically we are interested in sampling from $\pi(\textbf{x})P(\textbf{x}\textbf{e})$.) Like simulated annealing, Metropolis–Hastings operates in two stages. First, it samples a new state $\textbf{x’}$ from a proposal distribution $q(\textbf{x’}\textbf{x})$, given the current state $\textbf{x}$. Then, it probabilistically accepts or rejects $\textbf{x’}$ according to the acceptance probability If the proposal is rejected, the state remains at $\textbf{x}$.
-
Consider an ordinary Gibbs sampling step for a specific variable $X_i$. Show that this step, considered as a proposal, is guaranteed to be accepted by Metropolis–Hastings. (Hence, Gibbs sampling is a special case of Metropolis–Hastings.)
-
Show that the two-step process above, viewed as a transition probability distribution, is in detailed balance with $\pi$.
Exercise 14.24 [soccer-rpm-exercise]
Three soccer teams $A$, $B$, and $C$, play each other once. Each match is between two teams, and can be won, drawn, or lost. Each team has a fixed, unknown degree of quality—an integer ranging from 0 to 3—and the outcome of a match depends probabilistically on the difference in quality between the two teams.
-
Construct a relational probability model to describe this domain, and suggest numerical values for all the necessary probability distributions.
-
Construct the equivalent Bayesian network for the three matches.
-
Suppose that in the first two matches $A$ beats $B$ and draws with $C$. Using an exact inference algorithm of your choice, compute the posterior distribution for the outcome of the third match.
-
Suppose there are $n$ teams in the league and we have the results for all but the last match. How does the complexity of predicting the last game vary with $n$?
-
Investigate the application of MCMC to this problem. How quickly does it converge in practice and how well does it scale?


← all projects
Beauty boutique website
This project regards the development of a website from my client's mockups. The mockups were designed for desktops and mobile, so the challenge was to develop the website with a mobile-first view and to respect the responsive designs.
- 2020
- Web Development
- WordPress
The website was developed with WordPress. It was mainly front-end development. I used a theme that my client provided, which includes a content builder. Then, I used CSS for styling.
Have a similar project in mind? Get in touch


Founder, author:
Hi! My name Sergey Pimenov and i'm author of Metro UI CSS from Kiev, Ukraine.
SKILLS:
PHP
CSS
LESS
HTML
JavaScript
jQuery
MySQL
Git
Open for job offer from EU, Canada, or USA (moving).


net Core RC2 came out on 2 days ago (May 16 2016). I tried upgrading a simple class library so that it can support .net Core RC2 plus older .net frameworks.
It was relatively straightforward, unlike RC1. Here's what I did.
The library I used was very simple (my public holidays project). There is just one project. We're not doing tests for now- we're using vanilla MsTest. RC2 still only supports XUnit, but we should get MsTest for RTM. For now, we want to be able to use the "classic" solution, with tests, and add a parallel "Core" solution that sits alongside it.
Installing RC2
- If upgrading from RC1, clear the nuget cache: nuget locals all -clear
- If you upgrade projects, there are numerous low-level changes (project.json structure, package names)
- If you installed older versions of RC2/dotnet CLI, uninstall them via Programs + Features ("Microsoft Dotnet CLI for Windows". You can also get rid of "Microsoft ASP.Net 5 RC1 Update 1" which seemed to work but didn't disappear from the list)
- If you forget (as I did!), VS shows the error "The project is configured to use .NET Core SDK version 1.0.0-preview1-002702 which is not installed or cannot be found."
- Use the "Microsoft .Net Core 1.0.0 RC2 VS 2015 Tooling Preview 1"
Project.json
I added a project.json, but I added it alongside the .csproj. There was a bug in RC1 that Visual Studio/ nuget didn't like csproj and project.json together (https://github.com/dotnet/corefx/issues/4544, last updated April, see also Marc Gravell's instructions at http://blog.marcgravell.com/2015/11/the-road-to-dnx-part-1.html, November 2015 so RC1). Let's find out if it's fixed.
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.5.0-rc2-24027"
},
"frameworks": {
"netstandard1.3": {
"imports": "dnxcore50"
}
}
}
- We're just using the standard library (we could depend on loads of individually specified packages, but this is very concise).
- The package/dll name is the folder name.
- Not sure why we're importing dnxcore50, when dnx is supposed to be gone- from the discussion on github it looks like another transitional thing. Maybe it will be gone for RTM in June.
- You can use framework netstandard1.5 or roll back to netstandard1.0. For 1.0 - 1.2, it red-lined on [assembly: Guid( attribute in AssemblyInfo.cs. So netstandard1.3 it is.
I opened up the old solution. Building in Visual Studio broke: "Your project is not referencing the ".NETFramework,Version=v4.0" framework. Add a reference to ".NETFramework,Version=v4.0" in the "frameworks" section of your project.json, and then re-run NuGet restore."
The workaround (from the github issue) is to add <ResolveNuGetPackages>false</ResolveNuGetPackages> to the .csproj. If you have packages, tough.
First dotnet build
There's documentation on the "dotnet build" command here: http://dotnet.github.io/docs/core-concepts/core-sdk/cli/dotnet-build.html
>dotnet build
Project x does not have a lock file
Project x does not have a lock file
Saying it twice doesn't make it any more helpful. The lock file is something to do with a package restore.
>dotnet restore
log : Restoring packages for C:\...\project.json...
info : Committing restore...
log : Writing lock file to disk. Path: C:\...\project.lock.json
log : Restore completed in 950ms.
>dotnet build
It builds!
We now have a dll and pdb in bin/Debug/netstandard1.3
We also have a json file, (x.deps.json), which shows you everything in .NETStandard,Version=v1.3
Parallel solutions
I created a second solution alongside the current solution (essentially the same, minus the test project).
Next, alongside the current project, I added an xproj file (a cut-down csproj). To get this file, I created a new Core library in Visual Studio in a different folder, and stole the xproj. I had to change the <RootNamespace>x</RootNamespace>.
I also changed the <OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath> ( to .\bin\core\ ) so building the current and new projects put things in different places. Note this only works in Visual Studio- "dotnet build" doesn't look at the .xproj. Instead you have to >dotnet build -c Release -o .\bin\core\ -f netstandard1.3 (note you have to specify the framework when you use --output).
Multi-targeting
Adding older frameworks to project.json is as simple as adding the targets (which are the same as used in nuget).
"frameworks": {
"netstandard1.3": {
"imports": "dnxcore50"
},
"net35": { },
"net40": { }
This works, but in Visual Studio it has a deep output folder structure. Using the dotnet command line, it's exactly what you'd expect.
Not sure why Visual Studio adds more levels.
Packing up
Nuspec is now in project.json. Add json like this:
"packOptions": {
"summary": "Wonderful library",
"tags": [ "Wonderful" ],
"owners": [ "me ],
"projectUrl": "https://github.com/xxx",
"licenseUrl": "http://opensource.org/licenses/MIT",
"repository": {
"type": "git",
"url": "https://github.com/xxx"
}
},
We now use "dotnet pack" instead of "nuget pack": http://dotnet.github.io/docs/core-concepts/core-sdk/cli/dotnet-pack.html
>dotnet pack -c Release -o .\artifacts
- Pack builds the project, but you can pass --no-build.
- Note the version number is taken from the project.json (not the AssemblyInfo.cs).
ToDo
Hopefully appveyor will roll out RC2 support soon (maybe this week?), and we can have easy CI builds. Once that is in-place, I will use it to publish the pre-release package to nuget.
More complex dependencies, particularly on older parts of .net like ADO, will be more challenging. It would be easy to find yourself with heavy compiler directives all over your code.
Sometime after RTM, project.json will be phased out, and we move back to csproj (hopefully improved). I suspect this will come with the release of the next version of Visual Studio (2017?).


If the element is empty then a non-breaking space ( ) is inserted so that there is something there to show the success.
<span concordion:assertEquals="username"/>
When marked as a success becomes:
<span concordion:assertEquals="username" class="success"> </span>