A quick first exploration of NIMBLE and some questions.
library("nimble")
library("sde")
Let’s simulate from a simple OU process: \(dX = \alpha (\theta - X) dt + \sigma dB_t\)
set.seed(123)
d <- expression(0.5 * (10-x))
s <- expression(1)
data <- as.data.frame(sde.sim(X0=6,drift=d, sigma=s, T=100, N=400))
## sigma.x not provided, attempting symbolic derivation.
i.e. \(\alpha = 0.5\), \(\theta = 10\), \(\sigma=1\), starting at \(X_0 = 6\) and running for 100 time units with a dense sampling of 400 points.
Le’t now estimate a Ricker model based upon (set aside closed-form solutions to this estimate for the moment, since we’re investigating MCMC behavior here).
code <- modelCode({
K ~ dunif(0.01, 40.0)
r ~ dunif(0.01, 20.0)
sigma ~ dunif(1e-6, 100)
iQ <- 1 / (sigma * sigma)
x[1] ~ dunif(0, 10)
for(t in 1:(N-1)){
mu[t] <- log(x[t]) + r * (1 - x[t]/K)
x[t+1] ~ dlnorm(mu[t], iQ)
}
})
constants <- list(N = length(data$x))
inits <- list(K = 6, r = 1, sigma = 1)
Rmodel <- nimbleModel(code=code, constants=constants, data=data, inits=inits)
NIMBLE certainly makes for a nice syntax so far. Here we go now: create MCMC specification and algorithm
mcmcspec <- MCMCspec(Rmodel)
Rmcmc <- buildMCMC(mcmcspec)
Note that we can also query some details regarding our specification (set by default)
mcmcspec$getSamplers()
## [1] RW sampler; targetNode: K, adaptive: TRUE, adaptInterval: 200, scale: 1
## [2] RW sampler; targetNode: r, adaptive: TRUE, adaptInterval: 200, scale: 1
## [3] RW sampler; targetNode: sigma, adaptive: TRUE, adaptInterval: 200, scale: 1
mcmcspec$getMonitors()
## thin = 1: K, r, sigma, x
Now we’re ready to compile model and MCMC algorithm
Cmodel <- compileNimble(Rmodel)
Cmcmc <- compileNimble(Rmcmc, project = Cmodel)
Note we could have specified the Rmodel
as the “project” (as shown in the example from the Nimble website), but this is more explicit. Rather convenient way to add to an existing model in this manner.
And Now we can execute the MCMC algorithm in blazing fast C++ and then extract the samples
Cmcmc(10000)
## NULL
samples <- as.data.frame(as.matrix(nfVar(Cmcmc, 'mvSamples')))
How do these estimates compare to theory:
mean(samples$K)
## [1] 10.05681
mean(samples$r)
## [1] 0.180207
Some quick impressions:
Strange that
Rmodel
call has to be repeated before we can set up a custom MCMC (nimble docs). How/when was this object altered since it was defined in the above code? Seems like this could be problematic for interpreting / reproducing results?What’s going on with
getSamplers()
andgetMonitors()
? Guessing these are in there just to show us what the defaults will be for our model?why do we assign
Cmodel
if it seems we don’t use it? (the compilation needs to be done but isn’t explicitly passed to the next step). Seems we can useCmodel
instead ofRmodel
in theCmcmc <- compileNimble(Rmcmc, project = Cmodel)
, which makes the dependency more explicit, at least that notation is more explicit. Seems like it should be possiple to omit the firstcompileNimble()
and have the second call thecompileNimble
automatically if it gets an object whose class is that ofRmodel
instead?Repeated calls to
Cmcmc
seem not to give the same results. Are we adding additional mcmc steps by doing this?Thinking an
as.data.frame
would be nicer thanas.matrix
in thenfVar
mvSamples
coercion.Don’t understand what
simulate
does (or why it always returns NULL?).


ABOUT
WORK
PROJECTS
RESUME
CS 61A
CS 61A Fall 2018
Lab: Tuesday 2:00 PM - 3:30 PM 275 Soda
Discussion: Thursday 11:00 AM - 12:30 PM 243 Dwinelle
Slides and Notes
Extra Resources


--- layout: post title: About permalink: about.html category: about ---
{{ site.data.menu.menu_intro }}
This website is for everyone, regardless of technical knowledge of Formula One! For those only starting to get into the sport, this website will introduce you to the cutting-edge technology and innovations in the sport.
For those who are already veterans, this website will consolidate all the aerodynamics knowledge of Formula One cars, and maybe give you some new trivia to show off to your fellow fans!
| Name | Work |
|---|---|
| Kieran | Team Leader, Drag IC, Web Dev |
| Ray | Downforce IC |
| Hengyue | Video IC, secondary writer |
| Vishagan | Quiz IC |
We would like to thank Mr Clifton Soh, our PC5132 teacher, for piqueing our interest in aerodynamics, and making this website possible.
Also, we express our utmost gratitude to Formula One Management for making the content possible, and Giorgio Piola for the detailed and elegant images.


Attended college at the University of Pennsylvania in Philadelphia. Finished with triple Bachelor of Science degrees in Finance (Wharton), Computer Science (Engineering) and Mathematics (College).
After a short gig at a web startup in Washington DC, I joined Bloomberg LP as a Financial Software Developer. This is where I currently work, as a Technical Lead in Equity Derivatives.
While working at Bloomberg I attended NYU's Courant Institute, earning a Master of Science degree in Financial Mathematics. This program is the de facto #1 quant school in America.
One of my biggest passions in life is soccer. Not only do I captain and coach teams in New York City, but also have won several cups while making lifetime lasting friendships.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima maxime quam architecto quo inventore harum ex magni, dicta impedit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima maxime quam architecto quo inventore harum ex magni, dicta impedit.


Barça's Griezmann: Have faith in me and everything else will come
He has spoken to Telefoot about his new life in Catalonia
by Sport.esAntoine Griezmann has given an interview to Telefoot in which he looks back on his first few months at Barcelona. The France forward assures that he doesn't regret moving to Camp Nou and asks for patience because he's convinced he will find his best form.
"Barcelona isn't the easiest place (to play)," Griezmann said. "It's a new squad, a different club, new tactics, a new position and role for me. But it is what it is and I have to work hard."
Griezmann added that he's convinced he's made the right decision signing for Barça: "I am proud of the decision and of where I am. It will now be hard work which marks everything. Have faith in me and everything else will come on its own.
"My objective now is to be an important player for the club, to play more minutes, score more goals, give decisive passes, qualify in the Champions League and stay up the top in La Liga. Then, to focus on the national team in March and later the Euros."
Antoine defined himself as "a player that thinks about the team. I can score goals, but it's not my main objective. My challenge is to help the team however I can."


1. Hp Toggle
The Hp Toggler allows you to make use of the dota_health_per_vertical_marker command.
The toggle key is used to select the set of hp settings to load.
To load the settings after toggleing to the correct set, simply press the binds 1 - 9
For heroes that have no aghanims scepter the keys will be
Keys 1,2,3 - Ultimate damage with hero magic resistance taken into account Keys 4,5,6 - Ultimate damage without magic resistance taken into account
For Heroes with aghanims scpeter upgrades
Keys 1,2,3 - Ultimate damage with hero magic resistance taken into account Keys 4,5,6 - Aghnms scepter damage with hero magic resistance. Keys 7,8,9 - Aghnms scepter damage without hero magic resistance
2. Editing
To remove a hero from the the toggleing selection...
To change the heroes toggle shit...


|
SST/Macro
|
#include <timestamp.h>
Public Types | |
| enum | timestamp_param_type_t { exact } |
| typedef int64_t | tick_t |
| The type that holds a timestamp. | |
Public Member Functions | |
| timestamp (double t) | |
| timestamp (tick_t ticks, timestamp_param_type_t ty) | |
| timestamp (uint32_t sec, uint32_t nsec) | |
| int64_t | ticks_int64 () const |
| Convert a tick type to int64_t. | |
| double | sec () const |
| Return the current time in seconds. | |
| double | msec () const |
| Return the current time in milliseconds. | |
| double | usec () const |
| Return the current time in microseconds. | |
| double | nsec () const |
| Return the current time in nanoseconds. | |
| double | psec () const |
| Return the current time in picoseconds. | |
| void | correct_round_off (const timestamp &now) |
| tick_t | ticks () const |
| Get the number of ticks. | |
| bool | operator== (const timestamp &other) const |
| Fast and exact comparison operations. | |
| bool | operator!= (const timestamp &other) const |
| bool | operator< (const timestamp &other) const |
| bool | operator<= (const timestamp &other) const |
| bool | operator> (const timestamp &other) const |
| bool | operator>= (const timestamp &other) const |
| timestamp & | operator+= (const timestamp &other) |
| timestamp & | operator-= (const timestamp &other) |
| timestamp & | operator*= (double scale) |
| timestamp & | operator/= (double scale) |
Static Public Member Functions | |
| static void | init_stamps (tick_t tick_spacing) |
| static tick_t | tick_interval () |
| Get the tick interval in picoseconds. | |
| static const std::string & | tick_interval_string () |
| Get the tick interval in std::string form (for example, "1ps"). | |
| static tick_t | frequency () |
| Get the number of ticks per second (1e12/tick_interval()). | |
| static double | max_time () |
| Get the largest time value possible (in seconds). | |
| static double | min_time () |
| Get the smallest (most negative) time value possible (in seconds). | |
| static timestamp | exact_psec (int64_t psec) |
| static timestamp | exact_nsec (int64_t nsec) |
| static timestamp | exact_usec (int64_t usec) |
| static timestamp | exact_msec (int64_t msec) |
| static timestamp | exact_sec (int64_t sec) |
| template<typename T > | |
| static timestamp | exact_ticks (T val) |
Static Public Attributes | |
| static tick_t | PSEC_PER_TICK = 1 |
| static const timestamp::tick_t | zero = 0 |
| static timestamp::tick_t | nanoseconds = 1000 |
| static timestamp::tick_t | microseconds = 1000 * nanoseconds |
| static timestamp::tick_t | milliseconds = 1000 * microseconds |
| static timestamp::tick_t | seconds = 1000 * milliseconds |
| static timestamp::tick_t | minutes = seconds * 60 |
A basic container for time (subject to future transplant). Stores time as an integral number of picoseconds (tentatively). With 1 psec resolution, a 64 bit int can hold roughly +/- 106 days.
Intended to be reasonably compatible with ns3::HighPrecision time.
|
inline |
Round the given time value (in seconds) to the nearest representable internal time.
| sprockit::time_error | if this time is outside the range that can can be represented with this time container |
|
static |
Get a time value corresponding exactly to the given number of milliseconds.
| sprockit::time_error | if this time cannot be exactly represented. |
|
static |
Get a time value corresponding exactly to the given number of nanoseconds.
| sprockit::time_error | if this time cannot be exactly represented. |
|
static |
Get a time value corresponding exactly to the given number of picoseconds.
| sprockit::time_error | if this time cannot be exactly represented. |
|
static |
Get a time value corresponding exactly to the given number of seconds.
| sprockit::time_error | if this time cannot be exactly represented. |
|
inlinestatic |
Get a time value with exactly the given number of ticks. This is a template function to ensure that we do proper range checking on input values.
|
static |
Get a time value corresponding exactly to the given number of microseconds.
| sprockit::time_error | if this time cannot be exactly represented. |


Firstname Lastname
<EMAIL_ADDRESS>Dashboard
Reports
App tour
Mail Box
Manage Events
Manage Contacts
Manage Site
Manage Site
Manage Site
settings
preference


@(user: models.users.User) @main("Home",user) {
QUICK!!10% Student discounts ends soonLast Chance to get the shoes you always wanted .
Last Seasons shoes 50%Act now and get a 3rd pair for half price


Welcome to the factors of attraction experiment!
Thank you for playing our cross-location game. We will use the data collected to understand better some aspects of human cognition.
Your data will be recorded with the only purpose of scientific studies.


|
Bullet Collision Detection & Physics Library
|
#include "BulletCollision/CollisionShapes/btCollisionShape.h"
#include "BulletCollision/CollisionShapes/btTriangleShape.h"
#include "btBoxCollision.h"
#include "btClipPolygon.h"
#include "btGeometryOperations.h"
Go to the source code of this file.
Classes | |
| struct | GIM_TRIANGLE_CONTACT |
| Structure for collision. More... | |
| class | btPrimitiveTriangle |
| class | btTriangleShapeEx |
| Helper class for colliding Bullet Triangle Shapes. More... | |
Macros | |
| #define | MAX_TRI_CLIPPING 16 |
| #define MAX_TRI_CLIPPING 16 |
Definition at line 33 of file btTriangleShapeEx.h.


PropertyDescriptors allows the manipulation of a model's properties (also called parameters) via gui widgets displayed on the parameter's tab pane. You can also use PropertyDescriptors in conjunction with an agent's parameters. More on that at the end of this document. Repast has three kinds of PropertyDescriptors: a descriptor for boolean properties which are displayed as a check box; a descriptor for properties whose possible values can be expressed as a list (a neighborhood parameter whose possible values are Von Neumann or Moore, for example); and a descriptor for numerical integer ranges. Just like the parameters displayed by default in a text box, boolean, list and range propery descriptors depend on the get and set accessor method pattern. In fact, when creating PropertyDescriptor objects, the PropertyDescriptor is passed the name of the property in its constructor. The name of this property must be reflected in the model as a get and set method. So for example, if the property is "Age", the model must have a getAge and setAge method.
BooleanPropertyDescriptor
A BooleanPropertyDescriptor is typically setup in a model's constructor as follows:
BooleanPropertyDescriptor bd1 = new BooleanPropertyDescriptor("RecordData",
false);
descriptors.put("RecordData", bd1);
This property descriptor describes the RecordData property/parameter of some model, and thus assumes that the model contains a setRecordData and a getRecordData (or a isRecordData method in place of the getRecordData). A BooleanPropertyDescriptor's constructor takes the name of the boolean property, and the default state of that property, in this case false. The BooleanPropertyDescriptor is then placed in the hashtable "descriptors" (an ivar of the SimModelImpl class, and so available to any model that extends SimModelImpl). When the model parameters are displayed in gui mode, the RecordData parameter will then be displayed as a check box. For more information see the API documentation for BooleanPropertyDescriptor Note that as of Repast 1.3 boolean (or Boolean) properties are now displayed as checkboxes by default. You no longer need to create your own BooleanPropertyDescriptors
ListPropertyDescriptor
A ListPropertyDescriptor is a PropertyDescriptor for a parameter whose possible values can be constrained to a list. This list is represented in the parameters tab panel as combo box. Selecting an item from the combo box calls the appropriate set method passing the selected item as an argument. The list of possible values can be passed to a ListPropertyDescriptor as a Vector or an array of Objects. For example:
Vector v = new Vector();
v.add("VON NEUMANN");
v.add("MOORE");
ListPropertyDescriptor pd = new ListPropertyDescriptor("NType", v);
descriptors.put("NType", pd);
The combo box associated with this ListPropertyDescriptor will display two items: "VON NEUMANN", and "MOORE". 'NType' indicates that these items are possible values for the 'NType' model parameter. When the user selects one of these two items from the combo box, the selected Object (a String with a value of "VON NEUMANN", or "MOORE") is passed as an argument to the setNType method.
A ListPropertyDescriptor can also be used to display such things as numerical constants as Strings by passing a hashtable in the constructor of the ListPropertyDescriptor. For example:
Hashtable h1 = new Hashtable();
h1.put(new Integer(0), "VON NEUMANN");
h1.put(new Integer(1), "MOORE");
ListPropertyDescriptor pd = new ListPropertyDescriptor("NType", h1);
descriptors.put("NType", pd);
Here a ListPropertyDescriptor is created with the name of the property, and a hashtable as an argument. The second argument is a hashtable whose keys are the actual objects that can be selected and passed to the set method and whose values are the string representations of those objects. In the above case, the hashtable contains two keys: an Integer with a value of 0 and an Integer with a value of 1. The value of these two keys' are the Strings "VON NEUMANN" and "MOORE" respectively. What the user will see then is a combo box labeled as "NType" that contains two Strings "VON NEUMANN" and "MOORE". When the user selects one of these strings, the corresponding Integer is passed as an argument to the setNType method. Note that setNType can take an int argument as the probing mechanism here automatically converts between an Integer and an int. Descriptors is an instance variable (a hashtable) of the SimModelImpl class and can be used by sub classes. For more information see the API docs for ListPropertyDescriptor
RangePropertyDescriptor
A RangePropertyDescriptor is a descriptor for a parameter / property whose value can be expressed as falling within a range of integer values. It is useful when you want to restrict user input to some value within a range of integers. The range is represented in the gui by a slider with minimum and maximum values and a text box into which you can type some specific value. If the value you enter is greater than the maximum allowable value or less than the minimum value the actual value will be set to the maximum or minimum respectively. Similarly, if you enter a non-numerical value into the text box the value will default to the most recent valid value. Selecting an integer from within the range either via the slider or the text box calls the appropriate set method in your model.
Assuming your model has a property called "numAgents" that is represented by an integer. You can tie this property to a RangePropertyDescriptor as follows:
RangePropertyDescriptor d = new RangePropertyDescriptor("numAgents",
10, 100, 20);
descriptors.put("numAgents", d);
The first parameter to the RangePropertyDescriptor constructor is the name of the property, the second is the minimum values, followed by the maximum value and then the tick spacing. The tick spacing parameter determines the display of intermediate values in the slider. For example, a range of 10 - 100 and a tick spacing of 10 will display ticks on the slider for 20, 30, 40 and so on up to 90. Note that this only determines the display, any integer value between 10 - 100 can be selected. For more information see the API docs for RangePropertyDescriptor
Its quite easy to use PropertyDescriptors in agent classes. When coded properly the appropriate checkbox (for boolean properties) or combobox will appear when the agent is probed (i.e. double clicked). The behavoir of these widgets is identical to those that appear a model's parameter pane.
The code for your agent to use PropertyDescriptors is nearly identical
to the necessary code for using PropertyDescriptors in your model with
two important exceptions. A model that inherits from SimModelImpl
automatically inherits the Hashtable instance variable called
descriptors. (This variable was mentioned and used in the code above).
An agent class will not have this variable and will need to create it.
Similarly, any model that inherits from SimModelImpl also inherits the
DescriptorContainer
interface. If your agent class
doesn't already implement this inteface (unlikely), it will need
to. Fortunately, this interface has a single method public
Hashtable getParameterDescriptors()
that would return the
descriptors hashtable mentioned above.
The minimum amount of code necessary for an agent to use PropertyDescriptors follows:
public class MyAgent implements DescriptorContainer {
private Hashtable descriptors = new Hashtable();
public Hashtable getParameterDescriptors() {
return descriptors;
}
}
Actually creating the PropertyDescriptors and adding them to the descriptors Hashtable is identical for both models and agents, and the instructions in the first part of this document can be used for both cases.


AN Labo6 Rieben Axel
CORDIC Algorithm
Choose an angle for the approximation (in degrees) :
Choose a number of iteration :
Run
cos
(
x
)
sin
(
x
)
tan
(
x
)
=
sin
(
x
)
cos
(
x
)
CORDIC approximation
Javascript Math value
Difference


Module miscUtils
A module containing a few utility functions: any, all, anyCondition, allCondition, math.round, math.frandom
-
math.round (num)
-
Rounds a floating point number to the nearest integer.
Parameters:
- num
number
The number to round
Returns:
number
The nearest integer to num.
-
math.frandom (low, high)
-
Works like math.random(low,high), but returns a float instead of an int.
Parameters:
- low
number or nil
(Optional) The lower bound of the number.
- high
number or nil
(Optional) The upper bound of the number.
Returns:
number
A random number in the range (low,high) if low and high are provided, in (0,low) if low is provided, or in (0,1) if neither are.
Methods
-
all (...)
-
Returns if all of the arguments are truthy.
Parameters:
- ...
The values to check for truthiness.
Returns:
boolean
If all of the arguments are truthy.
-
allCondition (fct, ...)
-
Returns if all of the arguments passed in ... satisfy fct.
Parameters:
- fct
function
The function to run on each value.
- ...
The values to run fct on.
Returns:
boolean
If all of the arguments passed in ... satisfy fct.
-
any (...)
-
Returns if any arguments are true.
Parameters:
- ...
The values to check for truthiness.
Returns:
boolean
If any arguments are true.
-
anyCondition (fct, ...)
-
Returns if anything passed in ... satisfy fct.
Parameters:
- fct
function
The function to run on each value.
- ...
The values to run fct on.
Returns:
boolean
If all of the arguments passed in ... satisfy fct.


It could be that Turing was right all along.
<EMAIL_ADDRESS>This page uses the μ css framework by Fabien Salathe.


All Employee
Create an Employee
Take Attendance
Meeting Attendance Log
Report
Logout
Employee Meeting Attendance Record
S/N
Employee Name
Meeting Attended
Date


New Balance Workshop
A few years ago I got to do a workshop with some designers from New Balance. It was very cool to learn how they approach the design of footwear. I used Houdini and took a procedural approach to the designs.
New Balance provided us with two data sets. One of them contained the strain values in a shoe upper corresponding to fast direction changes while running. The other was the strain developed in the sole of a shoe during running. I visualized the two datasets in the following picture.
Here are a couple of the pictures Eleanor took with Portra 400 film and the Kern-Paillard Yvar 75mm lens.
Written on March 23, 2021


The Serial Port class writes to and reads from the UART On Chip Peripheral (OCP) device integrated into the Raspberry Pi 2 CPU. In the Linux operating system there are two ways of accessing the UART OCP device; the first, called TTY, is the
standard and approved Linux technique. TTY is a device driver and if the existence of the serial port is detected during boot time,
the device driver interface will be exposed as a file in the /dev
directory of the Raspberry Pi 2 file system. The
serial ports will only be detected if that port is appropriately configured.
The second type of access is called Memory Mapped access and this treats the Raspberry Pi's RAM memory as if it were a file. The UART is manipulated as if it were a bit at an offset in a virtual file. The RPICSIO library does not, at this time, provide a class which utilizes Memory Mapped access to the serial port - the file system based TTY class named SerialPortFS is the only one available.
There is one usable serial port on a Raspberry Pi. If this port has been correctly configured (enable it using raspi-config
), the TTY device driver for that port will be accessible via a file in the /dev
directory. This file will have a name in the format ttyAMA<Serial Port>
where <Serial Port>
is the number of the serial port. Thus the file /dev/ttyAMA0
is the interface for the TTY device driver on serial port 0. If you do not see the ttyAMA*
file in the /dev
directory this means that the serial device is not correctly. By the way, these files are the sort of files you can open and read and write text from (like you can do with the SYSFS GPIO subsystem) in order to read and write data to the serial port. A command like ...
cat /dev/tty04... will continuously output all received data from the port. However reading and writing in this way is not too useful as you cannot easily set any of the serial port parameters (baudrate, parity etc.). In practice, the ttyAMA files are best treated as true device files and if you want them to do anything you have to use an
ioctl()
call.
There is one critical issue to be aware of when using the RPi's serial port. By default the Raspbian operating system, (at the time this documentation was written), configures the AMA0 serial port to operate with the Console serial port driver. This means that even though you may be sending information out the serial port, it will not appear on the appropriate header pins. You need to disable the Console serial port driver first. This is done by running the following commands before using the serial port:
sudo systemctl stop<EMAIL_ADDRESS>sudo systemctl disable<EMAIL_ADDRESS>The pins (including the serial port pins) on the Raspberry Pi are 3.3Volt. You CANNOT connect them up to a 5V serial device without level shifting the voltage or you will burn out the RPI.
The serial port used in the examples below is ttyAMA0 - this must be configured in order for it to be available for use. Typically this is done using raspi-config
to enable it and by disabling the Console serial port driver as discussed above.
The Raspbian Linux running on the Raspberry Pi is not a real-time operating system. However, an OCP peripheral such as the serial port has its own internal clock and so, once the information is given to the port, it will be transmitted and received at the configured port speed with no interruptions. However, transfers made via multiple calls to the serial port can, and will, have variable gaps between transmissions as the process is pre-emptively swapped in and out by the kernel.
IMPORTANT NOTE: Before creating any RPICSIO Port class you will need to ensure that the RPICSIO Library knows which type of Raspberry Pi you are dealing with. This is done by executing a call (only once is necessary) like the one below somewhere in your code before you create any port.
RPICSIOConfig.Instance.RPIType = RPITypeEnum.RPITYPE_RPI2;
The code below illustrates how to use the SerialPortFS class to read and write from a serial device (serial port 0 in this case). See the comments in the code below for a simple method to use the UART1 to test out the connection mechanism.
/// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= /// <summary> /// Demonstrates the use of a Serial port. Reading and writing both /// binary data (in a byte array) and strings. /// /// The basic function is to open up the specified serial port /// and to set it to a baud rate of 115200, 1 stop, no parity etc. /// Then the text "Hello World" will be transmitted as a string and then /// after a slight delay the port will be read as a string. /// /// Once that is done, a binary array of 3 characters is transmitted /// and again, after a short delay, any characters on the port are /// read back and displayed as hex values. /// /// MEGA IMPORTANT NOTE: The pins (including the serial port pins) on the /// Raspberry Pi are 3.3Volt. You CANNOT connect them up to a 5V /// serial device without level shifting the voltage or you will burn out /// the RPI.  /// /// NOTE: /// Be aware that you need to disable the console serial port driver /// otherwise the RPICSIO system calls do not work. Do this by issuing the /// commands below (as root) at a shell prompt /// /// sudo systemctl stop<EMAIL_ADDRESS>/// sudo systemctl disable<EMAIL_ADDRESS>/// /// STANDARD NOTE: /// Be aware that you have to tell RPICSIO what type of Pi you are using. This /// is done by issuing the call below somewhere before you open any port. It /// only needs to be done once (replace the '2' with a 3 or 0 as appropriate). /// /// RPICSIOConfig.Instance.RPIType = RPITypeEnum.RPITYPE_RPI2; /// /// SIMPLE Test Harness /// On my RPI2 I simply shorted pins 8 and 10 on the header /// these are, respectively, UART0 TX and UART0 RX /// /// Once you have done that the code below should work with a call like /// SerialPortFSTest(SerialPortEnum.UART_AMA); /// /// Because the pins are both on the RPI we do not have to worry about /// level shifting the voltages etc and can easily see the input and output /// going back and forth. /// /// </summary> /// <param name="serialID">The serial portID</param> /// <history> /// 01 Dec 16 Cynic - Originally written /// </history> public void SerialPortFSTest(SerialPortEnum serialID) { int numBytes = 0; // byte convByte; int bufLen = 4; byte[] txByteBuf = new byte[bufLen]; byte[] rxByteBuf = new byte[bufLen]; // open the port SerialPortFS serialPort = new SerialPortFS(serialID, SerialPortOpenModeEnum.OPEN_NONBLOCK); if (serialPort.PortIsOpen == false) { throw new Exception("ssHandle == null"); } // lets flush the queues - just to show we can serialPort.Flush(); // Dump the current settings Console.WriteLine(""); Console.WriteLine("Previous Settings on " + serialID.ToString()); Console.WriteLine("BaudRate=" + serialPort.BaudRate.ToString()); Console.WriteLine("BitLength=" + serialPort.BitLength.ToString()); Console.WriteLine("Parity=" + serialPort.Parity.ToString()); Console.WriteLine("StopBits=" + serialPort.StopBits.ToString()); // set some new settings serialPort.BaudRate = SerialPortBaudRateEnum.BAUDRATE_115200; serialPort.BitLength = SerialPortBitLengthEnum.BITLENGTH_8; serialPort.Parity = SerialPortParityEnum.PARITY_NONE; serialPort.StopBits = SerialPortStopBitsEnum.STOPBITS_ONE; // dump the current settings Console.WriteLine(""); Console.WriteLine("Current Settings on " + serialID.ToString()); Console.WriteLine("BaudRate=" + serialPort.BaudRate.ToString()); Console.WriteLine("BitLength=" + serialPort.BitLength.ToString()); Console.WriteLine("Parity=" + serialPort.Parity.ToString()); Console.WriteLine("StopBits=" + serialPort.StopBits.ToString()); Console.WriteLine("SerialData->"+ serialPort.ReadString(100) + "<-"); Console.WriteLine(""); Console.WriteLine("Now writing the test data"); serialPort.Write("Hello World"); Thread.Sleep(1000); Console.WriteLine("Now processing the received data.."); Console.WriteLine("SerialData->"+ serialPort.ReadString(100) + "<-"); Console.WriteLine(""); Console.WriteLine("Now writing the test as an array"); // Write a binary array of data to the UART txByteBuf[0] = 0x41; // an 'A' txByteBuf[1] = 0x13; // CR txByteBuf[2] = 0x10; // LF serialPort.Write(txByteBuf, 3); Thread.Sleep(1000); // find out how much is waiting numBytes = serialPort.BytesInRxBuffer; Console.WriteLine("There are numBytes="+numBytes.ToString()+" waiting"); // read the data into our limited size rxByteBuf, note we specify the // rxByteBuf.Length so we do not over fill int numRead = serialPort.ReadByteArray(rxByteBuf, rxByteBuf.Length); // we have the data in the rxByteBuf - display it as hex values Console.Write("Received " + numRead + " bytes, Displaying "+numBytes.ToString() +" as hex values: "); for (int i = 0; i < numBytes; i++) { Console.Write("0x" + rxByteBuf[i].ToString("X2") +" "); } Console.WriteLine(""); Console.WriteLine(""); // close the port serialPort.ClosePort(); serialPort.Dispose(); }In the above code, the
serialID
is passed in when the function was called. This value is a member of the
SerialPortEnum class
which lists all possible serial ports which
can be present on the Raspberry Pi. The above code is called via a line which looks like:
SerialPortFSTest(SerialPortEnum.UART_AMA);


|
BitShares-Core
6.1.0
BitShares blockchain implementation and command-line interface software
|
#include <stcp_socket.hpp>
Public Member Functions | |
| stcp_socket () | |
| ~stcp_socket () | |
| fc::tcp_socket & | get_socket () |
| void | accept () |
| void | connect_to (const fc::ip::endpoint &remote_endpoint) |
| void | bind (const fc::ip::endpoint &local_endpoint) |
| virtual size_t | readsome (char *buffer, size_t max) |
| virtual size_t | readsome (const std::shared_ptr< char > &buf, size_t len, size_t offset) |
| virtual bool | eof () const |
| virtual size_t | writesome (const char *buffer, size_t len) |
| virtual size_t | writesome (const std::shared_ptr< const char > &buf, size_t len, size_t offset) |
| virtual void | flush () |
| virtual void | close () |
| void | get (char &c) |
| fc::sha512 | get_shared_secret () const |
| Public Member Functions inherited from fc::ostream | |
| virtual | ~ostream () |
| void | put (char c) |
| ostream & | write (const char *buf, size_t len) |
| ostream & | write (const std::shared_ptr< const char > &buf, size_t len, size_t offset=0) |
| Public Member Functions inherited from fc::istream | |
| virtual | ~istream () |
| istream & | read (char *buf, size_t len) |
| istream & | read (const std::shared_ptr< char > &buf, size_t len, size_t offset=0) |
| virtual char | get () |
| void | get (char &c) |
Uses ECDH to negotiate a aes key for communicating with other nodes on the network.
Definition at line 35 of file stcp_socket.hpp.
| graphene::net::stcp_socket::stcp_socket | ( | ) |
Definition at line 39 of file stcp_socket.cpp.
| graphene::net::stcp_socket::~stcp_socket | ( | ) |
Definition at line 47 of file stcp_socket.cpp.
| void graphene::net::stcp_socket::accept | ( | ) |
Definition at line 180 of file stcp_socket.cpp.
| void graphene::net::stcp_socket::bind | ( | const fc::ip::endpoint & | local_endpoint | ) |
Definition at line 78 of file stcp_socket.cpp.
|
virtual |
Implements fc::ostream.
Definition at line 172 of file stcp_socket.cpp.
| void graphene::net::stcp_socket::connect_to | ( | const fc::ip::endpoint & | remote_endpoint | ) |
Definition at line 72 of file stcp_socket.cpp.
|
virtual |
Definition at line 124 of file stcp_socket.cpp.
|
virtual |
Implements fc::ostream.
Definition at line 166 of file stcp_socket.cpp.
|
inline |
Definition at line 57 of file stcp_socket.hpp.
|
inline |
Definition at line 58 of file stcp_socket.hpp.
|
inline |
Definition at line 40 of file stcp_socket.hpp.
|
virtual |
This method must read at least 16 bytes at a time from the underlying TCP socket so that it can decrypt them. It will buffer any left-over.
Implements fc::istream.
Definition at line 88 of file stcp_socket.cpp.
|
virtual |
Implements fc::istream.
Definition at line 119 of file stcp_socket.cpp.
|
virtual |
every sizeof(crypt_buf) bytes the aes channel has an error and doesn't decrypt properly... disable for now because we are going to upgrade to something better.
Implements fc::ostream.
Definition at line 129 of file stcp_socket.cpp.
|
virtual |
Implements fc::ostream.
Definition at line 161 of file stcp_socket.cpp.


The project is a web based application that takes a users birthday and calculates the year and the month they were born depending on their gender and gives them their Akan name. Fun right? Akan names are derived from Ghanian culture. Frequently in Ghana, children are given their first name as a 'day name' which corresponds to the day in the week they were born for instance 'Kwaku' is a male name born on wednesday and 'Abenaa' is a female name born in a tuesday.
Fun fact:Did you know, former United Nations Secretary-General and recepient of Nobel peace prize Kofi Annan was born on a Friday. Kofi is an Akan name for a male born on Friday. Thats fun,right?? You too can find your birth day and corresponding Akan name.Input your gender and date of birth and enjoy the fun!!.
Below are the names according to the day of the week:


On each of the pages about positions, (Forwards, Midfielders, Defenders, and Goalkeepers), you can expect to see a bit about what the position does, one of the best players of that position, and what makes them so good. You will also find a YouTube video on some highlights related to that position.
We used Liveweave to develop our web pages, saved our code on our GitHub repository, and even hosted the site at joshandjames.github.io.
Lionel Messi (left) and Cristiano Ronaldo (right), the two best players in the world.
Photo Courtesy of Too V-i via flickr.
Ronaldo and Messi Highlight Video by Wrzzer: Only Viewable on YouTube
While Ronaldo and Messi are definitely the best two players in the world, it is heavily debated who is better than the other. Many Messi supporters believe that because of his world-class dribbling ability and passing vision Messi is better, while Ronaldo supporters will point out that because of his powerful shots with his left and right foot in addition to his ability to score from almost any position in the attacking third, Ronaldo surely takes the prize.
You can't be told who is better. You have to decide for yourself! The video nearby contains some highlights from each player. If you want to view it on YouTube, just give this link a click and enjoy the amazing skill that is like a second language to these players.


INTRODUCTION TO COMPUTERS
We are living in an information age dependant upon digital information.
Digital information is electronic information the result of computer processing.
Every type of job relies upon getting information, using it, managing it, and relaying
information to others. Computers enable the efficient processing and storage of information.
The four operations of computers are:
| ROLL | NAME | MARKS | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| SEM-I | SEM-II | TOTAL | ||||||||
| S11 | S12 | S13 | S21 | S22 | S23 | |||||
| 01 | S BASU | 33 | 44 | 47 | 41 | 36 | 40 | 241 | ||
| 02 | R JAIN | ABSENT | 40 | 30 | 40 | 110 | ||||
| 03 | D MUKHERJEE | 34 | 32 | 34 | 42 | 29 | 31 | 202 | ||
| 04 | G FRANCIS | 32 | 42 | 20 | ABSENT | 94 | ||||
| 05 | B SHAH | 22 | 33 | 44 | 41 | 32 | 21 | 193 | ||
| 06 | P GUHA | 34 | 41 | 34 | 31 | 26 | 31 | 197 |


Davin Stirling
Web Developer in UK & NZ
Web Developer in UK & NZ
Experienced IT Professional, pivoting into web development with an interest in backend technologies
Entitled to work in the UK & NZ, with over 12 years IT industry experience across both countries
Open to new opportunities, from January 2021 - here's my Developer CV
Interested in travelling, sci-fi shows, good design, architecture & psychology, and have experience in making short films
Certified Scrum Master
BSc (Hons) in Computer Science integrated with IBM UK
Certificate in Applied Film-Making & TV Production
I volunteered as Scrum Master and facilitated our team to create an e-commerce site based on existing product data. I used my previous OO experience to assist the team with creating the architecture plan for the site. We decided to use the Hydrator Entity design pattern along with a PDO Connection in our LAMP stack, with HTML, CSS & Bootstrap for the frontend. We also reviewed the SOLID principles and adjusted the plan accordingly. I did pair programming to create some of the classes and peer reviewed colleagues code in GitHub. During Sprint Review I gave a non-technical overview of the site's architecture.
We learned about MVC & PHP frameworks, then used them as part of an exercise to create a To Do app. We cloned an existing repo that contained the Slim 4 framework, and worked through the architecture plan as a group. I then worked independantly to create the functionality to add, complete or delete a task from the underlying MySQL DB, using Routing, the Dependency Injection Container, Factories, Controllers & Views.
As part of a scrum team of 8 people, we designed & created a maze game using Javascript. I did some pair programming to design the splash screen wireframe & code that, and coded the eventListeners to detect collisions with the path & ghost obstacles. I also implemented changes after our tutor's code reviews
As part of learning Advanced FrontEnd techniques, we created an animation of our solar system, using SVGs and keyframes & animations in CSS
While working on a service desk during 2017-8, I created several Powershell scripts. One example was a script to create Public Folders in Exchange, as that was a common but time consuming task
In December 2020 I graduated from the 16 week Full Stack Web Development bootcamp run by iO Academy (previously known as Mayden Academy).
In October 2020, iO were voted the #2nd best bootcamp in the UK and 6th in the world by SwitchUp
Main topics we covered during the bootcamp:
Previous programming & application design experience:


Salt Lake Testing And Optimization
October 28, 2014
June Lead Mix And Quality
| Channel | % Forms | % Calls | Form Close Rate | Call Close Rate |
|---|---|---|---|---|
| Paid | 66% | 34% | 12% | 18% |
| Organic | 44% | 56% | 13% | 20% |
NOTE: Individual data points have been obfuscated to keep proprietary informaiton on vivint.com web performance confidential
Granular Segmentation Against Success Metrics
Experience or Channel?
Entry Page or Device Type?
Returning or Behavioral Target?
NOTE: Individual data points have been obfuscated to keep proprietary informaiton on vivint.com web performance confidential


18. How to find out what happened in quintessentially disastrous first half (8) 27 ac,2 dn. Once turned in, Pete hung as a scourge of 24 (3,7) 2 dn. see 27 ac. (7)


Release 0.11.0¶
Release summary¶
statsmodels is using github to store the updated documentation. Two version are available:
Stable, the latest release
Development, the latest build of the main branch
Warning
API stability is not guaranteed for new features, although even in this case changes will be made in a backwards compatible way if possible. The stability of a new feature depends on how much time it was already in statsmodels main and how much usage it has already seen. If there are specific known problems or limitations, then they are mentioned in the docstrings.
Stats¶
Issues Closed: 335
Pull Requests Merged: 301
The Highlights¶
Regression¶
Rolling OLS and WLS are implemented in RollingOLS
and RollingWLS
. These function similarly to the estimators
recently removed from pandas.
Statistics¶
Add the Oaxaca-Blinder decomposition (OaxacaBlinder
) that
decomposes the difference in group means into with and between components.
Add the Distance dependence measures statistics
(distance_statistics
) and the Distance Covariance
test (distance_covariance_test
).
Statespace Models¶
Linear exponential smoothing models¶
Model class:
ExponentialSmoothing
Alternative to
ExponentialSmoothing
Only supports linear models
Is part of the class of state space models and so inherits some additional functionality.
Methods to apply parameters fitted on one dataset to another dataset¶
Methods:
extend
,append
, andapply
, for state space results classesThese methods allow applying fitted parameters from a training dataset to a test dataset in various ways
Useful for conveniently performing cross-validation exercises
Method to hold some parameters fixed at known values¶
Methods:
statsmodels.tsa.statespace.mlemodel.MLEModel.fix_params
andstatsmodels.tsa.statespace.mlemodel.MLEModel.fit_constrained
for state space model classes.These methods allow setting some parameters to known values and then estimating the remaining parameters
Option for low memory operations¶
Argument:
low_memory=True
, forfit
,filter
, andsmooth
Only a subset of results are available when using this option, but it does allow for prediction, diagnostics, and forecasting
Useful to speed up cross-validation exercises
Improved access to state estimates¶
Attribute:
states
, for state space results classesWraps estimated states (predicted, filtered, smoothed) as Pandas objects with the appropriate index.
Adds human-readable names for states, where possible.
Improved simulation and impulse responses for time-varying models¶
Argument:
anchor
allows specifying the period after which to begin the simulation.Example: to simulate data following the sample period, use
anchor='end'
Time-Series Analysis¶
STL Decomposition¶
Class implementing the STL decomposition
STL
.
New AR model¶
Model class:
AutoReg
Estimates parameters using conditional MLE (OLS)
Adds the ability to specify exogenous variables, include time trends, and add seasonal dummies.
The function
ar_select_order
performs lag length selection for AutoReg models.
New ARIMA model¶
Model class:
ARIMA
- Incorporates a variety of SARIMA estimators
MLE via state space methods (SARIMA models)
MLE via innovations algorithm (SARIMA models)
Hannan-Rissanen (ARIMA models)
Burg’s method (AR models)
Innovations algorithm (MA models)
Yule-Walker (AR models)
Handles exogenous regressors via GLS or by MLE with state space methods.
Is part of the class of state space models and so inherits some additional functionality.
Zivot-Andrews Test¶
The Zivot-Andrews test for unit roots in the presence of structural breaks has
been added in zivot_andrews
.
More robust regime switching models¶
Implementation of the Hamilton filter and Kim smoother in log space avoids underflow errors.
What’s new - an overview¶
The following lists the main new features of statsmodels 0.11. In addition, release 0.11 includes bug fixes, refactorings and improvements in many areas.
Major Feature¶
Allow fixing parameters in state space models (PR #5735)
Add new version of ARIMA-type estimators (AR, ARIMA, SARIMAX) (PR #5827)
Add STL decomposition for time series (PR #5926)
Functional SIR (PR #5963)
Zivot Andrews test (PR #6014)
Added Oaxaca-Blinder Decomposition (PR #6026)
Add rolling WLS and OLS (PR #6028)
Replacement for AR (PR #6087)
Performance Improvements¶
Submodules¶
base
¶
discrete
¶
genmod
¶
graphics
¶
io
¶
Clarify summary2 documentation (PR #6118)
nonparametric
¶
regression
¶
Test for anova_nistcertified (PR #5797)
Remove no-longer-needed HC_se lookups (PR #5841)
Dimension reduction for covariance matrices (PR #5852)
Use class to define MixedLM variance components structure (PR #5898)
Add rolling WLS and OLS (PR #6028)
Prepare for Rolling Least Squares (PR #6056)
Improve regression doc strings (PR #6077)
Fix summary table header for mixedlm (PR #6217)
robust
¶
stats
¶
Lilliefors min nobs not set (PR #5610)
Replace alpha=0.05 with alpha=alpha (PR #5998)
Added Oaxaca-Blinder Decomposition (PR #6026)
Improve Ljung-Box (PR #6079)
Correct thresholding in correlation tools (PR #6105)
Use self.data consistently (PR #6144)
Better argument checking for StratifiedTable (PR #6294)
Restore multicomp (PR #6320)
Improve Ljung Box diagnostics (PR #6324)
Correct standardization in robust skewness (PR #6374)
Distance dependence measures (PR #6401)
Improve diagnostics (PR #6410)
tools
¶
tsa
¶
Use cython fused types to simplify statespace code (PR #5283)
Allow fixing parameters in state space models (PR #5735)
Markov switching in log space: Hamilton filter / Kim smoother (PR #5826)
Add new version of ARIMA-type estimators (AR, ARIMA, SARIMAX) (PR #5827)
Exponential smoothing - damped trend gives incorrect param, predictions (PR #5893)
State space: add methods to apply fitted parameters to new observations or new dataset (PR #5915)
TVTP for Markov regression (PR #5917)
Add STL decomposition for time series (PR #5926)
Cythonize innovations algo and filter (PR #5947)
Zivot Andrews test (PR #6014)
Improve ARMA startparams (PR #6018)
Fix ARMA so that it works with exog when trend=nc (PR #6070)
Clean tsatools docs (PR #6075)
Improve Ljung-Box (PR #6079)
Replacement for AR (PR #6087)
Incorrect TSA index if loc resolves to slice (PR #6130)
Division by zero in exponential smoothing if damping_slope=0 (PR #6232)
Forecasts now ignore non-monotonic period index (PR #6242)
Hannan-Rissanen third stage is invalid if non-stationary/invertible (PR #6258)
Fix notebook (PR #6279)
Correct VAR summary when model contains exog variables (PR #6286)
Fix conf interval with MI (PR #6297)
Ensure inputs are finite in granger causality test (PR #6318)
Fix trend due to recent changes (PR #6321)
Improve Ljung Box diagnostics (PR #6324)
Documentation for release v0.11 (PR #6338)
Fix _get_index_loc with date strings (PR #6340)
Use correct exog names (PR #6389)
tsa.statespace
¶
Use cython fused types to simplify statespace code (PR #5283)
Allow fixing parameters in state space models (PR #5735)
Add new version of ARIMA-type estimators (AR, ARIMA, SARIMAX) (PR #5827)
MLEModel now passes nobs to Representation (PR #6050)
Only perform required predict iterations in state space models (PR #6064)
State space: Improve low memory usability; allow in fit, loglike (PR #6071)
State space: cov_params computation in fix_params context (PR #6072)
Add conserve memory tests. (PR #6073)
Improve cov_params in append, extend, apply (PR #6074)
Seasonality in SARIMAX Notebook (PR #6096)
Improve SARIMAX start_params if too few nobs (PR #6102)
Fix score computation with fixed params (PR #6104)
Add exact diffuse initialization as an option for SARIMAX, UnobservedComponents (PR #6111)
Compute standardized forecast error in diffuse period if possible (PR #6131)
Start_params for VMA model with exog. (PR #6133)
Adds state space version of linear exponential smoothing models (PR #6179)
State space: add wrapped states and, where possible, named states (PR #6181)
Allow dynamic factor starting parameters computation with NaNs values (PR #6231)
Dynamic factor model use AR model for error start params if error_var=False (PR #6233)
SARIMAX index behavior with simple_differencing=True (PR #6239)
Parameter names in DynamicFactor for unstructured error covariance matrix (PR #6240)
SARIMAX: basic validation for order, seasonal_order (PR #6241)
Update SARIMAX to use SARIMAXSpecification for more consistent input handling (PR #6250)
State space: Add finer-grained memory conserve settings (PR #6254)
Cloning of arima.ARIMA models. (PR #6260)
State space: saving fixed params w/ extend, apply, append (PR #6261)
State space: Improve simulate, IRF, prediction (PR #6280)
State space: deprecate out-of-sample w/ unsupported index (PR #6332)
State space: integer params can cause imaginary output (PR #6333)
Append, extend check that index matches model (PR #6334)
Fix k_exog, k_trend in arima.ARIMA; raise error when cloning a model with exog if no new exog given (PR #6337)
Documentation for release v0.11 (PR #6338)
RecursiveLS should not allow fix_params method. (PR #6415)
More descriptive error message for recursive least squares parameter constraints. (PR #6424)
Diffuse multivariate case w/ non-diagonal observation innovation covariance matrix (PR #6425)
tsa.vector.ar
¶
Build¶
Documentation¶
Remove orphaned docs files (PR #5832)
Array-like -> array_like (PR #5929)
Change some more links to https (PR #5937)
Fix self-contradictory minimum dependency versions (PR #5939)
Fix formula for log-like in WLS (PR #5946)
Fix typo (PR #5949)
Add parameters for CountModel predict (PR #5986)
Fix many spelling errors (PR #5992)
Small fixups after the spell check (PR #5994)
Clarify that GARCH models are deprecated (PR #6000)
Added content for two headings in VAR docs (PR #6022)
Fix regression doc strings (PR #6031)
Add doc string check to doc build (PR #6036)
Apply documentation standardizations (PR #6038)
Fix spelling (PR #6041)
Merge pull request #6041 from bashtage/doc-fixes (PR #6042)
Fix notebook due to pandas index change (PR #6044)
Remove warning due to deprecated features (PR #6045)
Remove DynamicVAR (PR #6046)
Small doc site improvements (PR #6048)
Small fix ups for modernized size (PR #6052)
More small doc fixes (PR #6053)
Small changes to doc building (PR #6054)
Use the working branch of numpy doc (PR #6055)
Fix spelling in notebooks (PR #6057)
Fix missing spaces around colon (PR #6058)
Continue fixing docstring formatting (PR #6060)
Fix web font size (PR #6062)
Fix web font size (PR #6063)
Fix doc errors affecting build (PR #6067)
Improve docs in tools and ar_model (PR #6080)
Improve filter docstrings (PR #6082)
Spelling and notebook link (PR #6085)
Website fix (PR #6089)
Changes summary_col’s docstring to match variables (PR #6106)
Update spelling in CONTRIBUTING.rst (PR #6107)
Update link in CONTRIBUTING.rst (PR #6108)
Update PR template Numpy guide link (PR #6110)
Added interpretations to LogitResults.get_margeff (PR #6113)
Improve docstrings (PR #6116)
Switch doc theme (PR #6119)
Add initial API doc (PR #6120)
Small improvements to docs (PR #6122)
Switch doc icon (PR #6123)
Fix doc build failure (PR #6125)
Update templates and add missing API functions (PR #6126)
Add missing functions from the API (PR #6134)
Restructure the documentation (PR #6136)
Add a new logo (PR #6142)
Fix validator so that it works (PR #6143)
Add formula API (PR #6145)
Fix sidebar TOC (PR #6160)
Warn that only trusted files should be unpickled (PR #6162)
Update pickle warning (PR #6166)
Fix warning format (PR #6167)
Clarify req for cvxopt (PR #6198)
Spelling and Doc String Fixes (PR #6204)
Fix a typo (PR #6214)
Fix typos in install.rst (PR #6215)
Fix a typo (PR #6216)
Docstring fixes (PR #6235)
Fix spelling in notebooks (PR #6257)
Clarify patsy 0.5.1 is required (PR #6275)
Fix notebook (PR #6279)
Close issues (PR #6283)
Doc string changes (PR #6289)
Correct spells (PR #6298)
Add simple, documented script to get github info (PR #6303)
Update test running instructions (PR #6317)
Restore test() autosummary (PR #6319)
Fix alpha description for GLMGam (PR #6322)
Move api docs (PR #6327)
Update Release Note (PR #6342)
Fix documentation errors (PR #6343)
Fixes in preparation for release (PR #6344)
Further doc fixes (PR #6345)
Fix minor doc errors (PR #6347)
Git notes (PR #6348)
Finalize release notes for 0.11 (PR #6349)
Add version dropdown (PR #6350)
Finalize release note (PR #6353)
Change generated path (PR #6363)
Doc updates (PR #6368)
Improve doc strings (PR #6369)
Clarify demeaning in ljungbox (PR #6390)
Fix ridge regression formula in hpfilter (PR #6398)
Fix link (PR #6407)
Update release note for v0.11.0rc2 (PR #6416)
Replace array with ndarray (PR #6447)
Final release note change for 0.11 (PR #6450)
Maintenance¶
Implement cached_value, cached_data proof of concept (PR #4421)
Use Appender pattern for docstrings (PR #5235)
Remove sandbox.formula, supplanted by patsy (PR #5692)
Remove docstring’d-out traceback for code that no longer raises (PR #5757)
Enable/mark mangled/commented-out tests (PR #5768)
Implement parts of #5220, deprecate ancient aliases (PR #5784)
Catch warnings produced during tests (PR #5799)
Parts of iolib (PR #5814)
E701 multiple statements on one line (colon) (PR #5842)
Remove ex_pairwise file dominated by try_tukey_hsd (PR #5856)
Fix pandas compat (PR #5892)
Use pytest.raises to check error message (PR #5897)
Bump dependencies (PR #5910)
Fix pandas imports (PR #5922)
Remove Python 2.7 from Appveyor (PR #5927)
Relax tol on test that randomly fails (PR #5931)
Fix test that fails with positive probability (PR #5933)
Port parts of #5220 (PR #5935)
Remove Python 2.7 from travis (PR #5938)
Fix linting failures (PR #5940)
Drop redundant travis configs (PR #5950)
Mark MPL test as MPL (PR #5954)
Deprecate periodogram (PR #5958)
Ensure seaborn is available for docbuild (PR #5960)
Cython cleanups (PR #5962)
Remove PY3 (PR #5965)
Remove future and Python 2.7 (PR #5969)
Remove string_types in favor of str (PR #5972)
Restore ResettableCache (PR #5976)
Cleanup legacy imports (PR #5977)
Follow-up to #5956 (PR #5982)
Clarify breusch_pagan is for scalars (PR #5984)
Add W605 to lint codes (PR #5987)
Follow-up to #5928 (PR #5988)
Add spell checking (PR #5990)
Remove comment no longer relevant (PR #5991)
Refactor X13 testing (PR #6001)
Standardized on nlags for acf/pacf (PR #6002)
Rename forecast years to forecast periods (PR #6007)
Improve testing of seasonal decompose (PR #6011)
Remove notes about incorrect test (PR #6015)
Turn relative import into an absolute import (PR #6030)
Change types for future changes in NumPy (PR #6039)
Move garch to archive/ (PR #6059)
Fix small lint issue (PR #6066)
Stop testing on old, buggy SciPy (PR #6069)
Small fixes in preparation for larger changes (PR #6088)
Add tools for programatically manipulating docstrings (PR #6090)
Ensure r download cache works (PR #6092)
Fix new cache name (PR #6093)
Fix wrong test (PR #6094)
Remove extra LICENSE.txt and setup.cfg (PR #6117)
Be compatible with scipy 1.3 (PR #6164)
Don’t assume that ‘python’ is Python 3 (PR #6165)
Exclude pytest-xdist 1.30 (PR #6205)
Add Python 3.8 environment (PR #6246)
Ignore vscode (PR #6255)
Update test tolerance (PR #6288)
Remove open_help method (PR #6290)
Remove deprecated code in preparation for release (PR #6291)
Deprecate recarray support (PR #6310)
Reduce test size to prevent 32-bit crash (PR #6311)
Remove chain dot (PR #6312)
Catch and fix warnings (PR #6313)
Use NumPy’s linalg when available (PR #6315)
Pin xdist (PR #6392)
Unify pandas testing import (PR #6394)
Clarify codecov (PR #6406)
Port non-diagnostic changes (PR #6412)
Fixes for future SciPY and pandas (PR #6414)
Fixes for rc2 (PR #6419)
Switch to bionic (PR #6423)
Improve test that randomly fails (PR #6426)
Fix future issues (PR #6440)
Disable cvxopt for windows (PR #6445)
Reduce tolerance on basin hopping test (PR #6448)
Remove unused import (PR #6449)
bug-wrong¶
A new issue label type-bug-wrong indicates bugs that cause that incorrect numbers are returned without warnings. (Regular bugs are mostly usability bugs or bugs that raise an exception for unsupported use cases.) see tagged issues
Major Bugs Fixed¶
See github issues for a list of bug fixes included in this release
Development summary and credits¶
Besides receiving contributions for new and improved features and for bugfixes, important contributions to general maintenance for this release came from
Chad Fulton
Brock Mendel
Peter Quackenbush
Kerby Shedden
Kevin Sheppard
and the general maintainer and code reviewer
Josef Perktold
Additionally, many users contributed by participation in github issues and providing feedback.
Thanks to all of the contributors for the 0.10 release (based on git log):
Atticus Yang
Austin Adams
Balazs Varga
Brock Mendel
Chad Fulton
Christian Clauss
Emil Mirzayev
Graham Inggs
Guglielmo Saggiorato
Hassan Kibirige
Ian Preston
Jefferson Tweed
Josef Perktold
Keller Scholl
Kerby Shedden
Kevin Sheppard
Lucas Roberts
Mandy Gu
Omer Ozen
Padarn Wilson
Peter Quackenbush
Qingqing Mao
Rebecca N. Palmer
Ron Itzikovitch
Samesh Lakhotia
Sandu Ursu
Tim Staley
Varun Sriram
Yasine Gangat
comatrion
luxiform
partev
vegcev
郭飞
These lists of names are automatically generated based on git log, and may not be complete.
Merged Pull Requests¶
The following Pull Requests were merged since the last release:
PR #4421: ENH: Implement cached_value, cached_data proof of concept
PR #5235: STY: use Appender pattern for docstrings
PR #5283: ENH: Use cython fused types to simplify statespace code
PR #5610: BUG: Lilliefors min nobs not set
PR #5692: MAINT: remove sandbox.formula, supplanted by patsy
PR #5735: ENH: Allow fixing parameters in state space models
PR #5757: MAINT: Remove docstring’d-out traceback for code that no longer raises
PR #5768: WIP/TST: enable/mark mangled/commented-out tests
PR #5784: MAINT: implement parts of #5220, deprecate ancient aliases
PR #5797: TST: test for anova_nistcertified
PR #5799: TST: Catch warnings produced during tests
PR #5814: CLN: parts of iolib
PR #5819: CLN: robust
PR #5821: CLN: test_constrained
PR #5826: ENH/REF: Markov switching in log space: Hamilton filter / Kim smoother
PR #5827: ENH: Add new version of ARIMA-type estimators (AR, ARIMA, SARIMAX)
PR #5832: DOC: remove orphaned docs files
PR #5841: MAINT: remove no-longer-needed HC_se lookups
PR #5842: CLN: E701 multiple statements on one line (colon)
PR #5852: ENH: Dimension reduction for covariance matrices
PR #5856: MAINT: remove ex_pairwise file dominated by try_tukey_hsd
PR #5892: BUG: fix pandas compat
PR #5893: BUG: exponential smoothing - damped trend gives incorrect param, predictions
PR #5895: DOC: improvements to BayesMixedGLM docs, argument checking
PR #5897: MAINT: Use pytest.raises to check error message
PR #5898: ENH: use class to define MixedLM variance components structure
PR #5903: BUG: Fix kwargs update bug in linear model fit_regularized
PR #5910: MAINT: Bump dependencies
PR #5915: ENH: state space: add methods to apply fitted parameters to new observations or new dataset
PR #5917: BUG: TVTP for Markov regression
PR #5921: BUG: Ensure exponential smoothers has continuous double data
PR #5922: MAINT: Fix pandas imports
PR #5926: ENH: Add STL decomposition for time series
PR #5927: MAINT: Remove Python 2.7 from Appveyor
PR #5928: ENH: Add array_like function to simplify input checking
PR #5929: DOC: array-like -> array_like
PR #5930: BUG: Limit lags in KPSS
PR #5931: MAINT: Relax tol on test that randomly fails
PR #5933: MAINT: Fix test that fails with positive probability
PR #5935: CLN: port parts of #5220
PR #5937: DOC: Change some more links to https
PR #5938: MAINT: Remove Python 2.7 from travis
PR #5939: DOC: Fix self-contradictory minimum dependency versions
PR #5940: MAINT: Fix linting failures
PR #5946: DOC: Fix formula for log-like in WLS
PR #5947: PERF: Cythonize innovations algo and filter
PR #5948: ENH: Normalize eigenvectors from coint_johansen
PR #5949: DOC: Fix typo
PR #5950: MAINT: Drop redundant travis configs
PR #5951: BUG: Fix mosaic plot with missing category
PR #5952: ENH: Improve RESET test stability
PR #5953: ENH: Add type checkers/converts for int, float and bool
PR #5954: MAINT: Mark MPL test as MPL
PR #5956: BUG: Fix multidimensional model cov_params when using pandas
PR #5957: DOC: Clarify xname length and purpose
PR #5958: MAINT: Deprecate periodogram
PR #5960: MAINT: Ensure seaborn is available for docbuild
PR #5962: CLN: cython cleanups
PR #5963: ENH: Functional SIR
PR #5964: ENH: Add start_params to RLM
PR #5965: MAINT: Remove PY3
PR #5966: ENH: Add JohansenResults class
PR #5967: BUG/ENH: Improve RLM in the case of perfect fit
PR #5968: BUG: Make mad function behave correctly when used on empty inputs
PR #5969: MAINT: Remove future and Python 2.7
PR #5971: BUG: Fix a future issue in ExpSmooth
PR #5972: MAINT: Remove string_types in favor of str
PR #5976: MAINT: Restore ResettableCache
PR #5977: MAINT: Cleanup legacy imports
PR #5982: CLN: follow-up to #5956
PR #5983: BUG: Fix return for RegressionResults
PR #5984: MAINT: Clarify breusch_pagan is for scalars
PR #5986: DOC: Add parameters for CountModel predict
PR #5987: MAINT: add W605 to lint codes
PR #5988: CLN: follow-up to #5928
PR #5990: MAINT/DOC: Add spell checking
PR #5991: MAINT: Remove comment no longer relevant
PR #5992: DOC: Fix many spelling errors
PR #5994: DOC: Small fixups after the spell check
PR #5995: ENH: Add R-squared and Adj. R_squared to summary_col
PR #5996: BUG: Limit lags in KPSS
PR #5997: ENH/BUG: Add check to AR instance to prevent bugs
PR #5998: BUG: Replace alpha=0.05 with alpha=alpha
PR #5999: ENH: Add summary to AR
PR #6000: DOC: Clarify that GARCH models are deprecated
PR #6001: MAINT: Refactor X13 testing
PR #6002: MAINT: Standardized on nlags for acf/pacf
PR #6003: BUG: Do not fit when fit=False
PR #6004: ENH/BUG: Allow ARMA predict to swallow typ
PR #6005: MAINT: Ignore warns on 32 bit linux
PR #6006: BUG/ENH: Check exog in ARMA and ARIMA predict
PR #6007: MAINT: Rename forecast years to forecast periods
PR #6008: ENH: Allow GC testing for specific lags
PR #6009: TST: Verify categorical is supported for MNLogit
PR #6010: TST: Improve test that is failing due to precision issues
PR #6011: MAINT/BUG/TST: Improve testing of seasonal decompose
PR #6012: BUG: Fix t-test and f-test for multidimensional params
PR #6014: ENH: Zivot Andrews test
PR #6015: CLN: Remove notes about incorrect test
PR #6016: TST: Add check for dtypes in Binomial
PR #6017: ENH: Set limit for number of endog variables when using formulas
PR #6018: ENH: Improve ARMA startparams
PR #6019: BUG: Fix ARMA cov_params
PR #6020: TST: Correct test to use trend not level
PR #6022: DOC: added content for two headings in VAR docs
PR #6023: TST: Verify missing exog raises in ARIMA
PR #6026: WIP: Added Oaxaca-Blinder Decomposition
PR #6028: ENH: Add rolling WLS and OLS
PR #6030: MAINT: Turn relative import into an absolute import
PR #6031: DOC: Fix regression doc strings
PR #6036: BLD/DOC: Add doc string check to doc build
PR #6038: DOC: Apply documentation standardizations
PR #6039: MAINT: Change types for future changes in NumPy
PR #6041: DOC: Fix spelling
PR #6042: DOC: Merge pull request #6041 from bashtage/doc-fixes
PR #6044: DOC: Fix notebook due to pandas index change
PR #6045: DOC/MAINT: Remove warning due to deprecated features
PR #6046: DOC: Remove DynamicVAR
PR #6048: DOC: Small doc site improvements
PR #6050: BUG: MLEModel now passes nobs to Representation
PR #6052: DOC: Small fix ups for modernized size
PR #6053: DOC: More small doc fixes
PR #6054: DOC: Small changes to doc building
PR #6055: DOC: Use the working branch of numpy doc
PR #6056: MAINT: Prepare for Rolling Least Squares
PR #6057: DOC: Fix spelling in notebooks
PR #6058: DOC: Fix missing spaces around colon
PR #6059: REF: move garch to archive/
PR #6060: DOC: Continue fixing docstring formatting
PR #6062: DOC: Fix web font size
PR #6063: DOC: Fix web font size
PR #6064: ENH/PERF: Only perform required predict iterations in state space models
PR #6066: MAINT: Fix small lint issue
PR #6067: DOC: Fix doc errors affecting build
PR #6069: MAINT: Stop testing on old, buggy SciPy
PR #6070: BUG: Fix ARMA so that it works with exog when trend=nc
PR #6071: ENH: state space: Improve low memory usability; allow in fit, loglike
PR #6072: BUG: state space: cov_params computation in fix_params context
PR #6073: TST: Add conserve memory tests.
PR #6074: ENH: Improve cov_params in append, extend, apply
PR #6075: DOC: Clean tsatools docs
PR #6077: DOC: Improve regression doc strings
PR #6079: ENH/DOC: Improve Ljung-Box
PR #6080: DOC: Improve docs in tools and ar_model
PR #6081: BUG: Fix error introduced in isestimable
PR #6082: DOC: Improve filter docstrings
PR #6085: DOC: Spelling and notebook link
PR #6087: ENH: Replacement for AR
PR #6088: MAINT: Small fixes in preparation for larger changes
PR #6089: DOC: Website fix
PR #6090: ENH/DOC: Add tools for programatically manipulating docstrings
PR #6091: MAINT/SEC: Remove unnecessary pickle use
PR #6092: MAINT: Ensure r download cache works
PR #6093: MAINT: Fix new cache name
PR #6094: TST: Fix wrong test
PR #6096: DOC: Seasonality in SARIMAX Notebook
PR #6102: ENH: Improve SARIMAX start_params if too few nobs
PR #6104: BUG: Fix score computation with fixed params
PR #6105: BUG: Correct thresholding in correlation tools
PR #6106: DOC: Changes summary_col’s docstring to match variables
PR #6107: DOC: Update spelling in CONTRIBUTING.rst
PR #6108: DOC: Update link in CONTRIBUTING.rst
PR #6110: DOC: Update PR template Numpy guide link
PR #6111: ENH: Add exact diffuse initialization as an option for SARIMAX, UnobservedComponents
PR #6113: DOC: added interpretations to LogitResults.get_margeff
PR #6116: DOC: Improve docstrings
PR #6117: MAINT: Remove extra LICENSE.txt and setup.cfg
PR #6118: DOC: Clarify summary2 documentation
PR #6119: DOC: Switch doc theme
PR #6120: DOC: Add initial API doc
PR #6122: DOC: Small improvements to docs
PR #6123: DOC: Switch doc icon
PR #6124: ENH: Plot only unique censored points
PR #6125: DOC: Fix doc build failure
PR #6126: DOC: Update templates and add missing API functions
PR #6130: BUG: Incorrect TSA index if loc resolves to slice
PR #6131: ENH: Compute standardized forecast error in diffuse period if possible
PR #6133: BUG: start_params for VMA model with exog.
PR #6134: DOC: Add missing functions from the API
PR #6136: DOC: Restructure the documentation
PR #6142: DOC: Add a new logo
PR #6143: DOC: Fix validator so that it works
PR #6144: BUG: use self.data consistently
PR #6145: DOC: Add formula API
PR #6152: BUG: Fix accepting of eval environment for formula
PR #6160: DOC: fix sidebar TOC
PR #6161: BLD: Travis CI: The sudo: tag is deprecated in Travis
PR #6162: DOC/SEC: Warn that only trusted files should be unpickled
PR #6163: ENH: Improve the cvxopt not found error
PR #6164: MAINT: Be compatible with scipy 1.3
PR #6165: MAINT: Don’t assume that ‘python’ is Python 3
PR #6166: DOC: Update pickle warning
PR #6167: DOC: Fix warning format
PR #6179: ENH: Adds state space version of linear exponential smoothing models
PR #6181: ENH: state space: add wrapped states and, where possible, named states
PR #6198: DOC: Clarify req for cvxopt
PR #6204: DOC: Spelling and Doc String Fixes
PR #6205: MAINT: Exclude pytest-xdist 1.30
PR #6208: ENH: Scale parameter handling in GEE
PR #6214: DOC: fix a typo
PR #6215: DOC: fix typos in install.rst
PR #6216: DOC: fix a typo
PR #6217: BUG: Fix summary table header for mixedlm
PR #6222: MAINT: Relax precision for ppc64el
PR #6227: ENH: Add missing keyword argument to plot_acf
PR #6231: BUG: allow dynamic factor starting parameters computation with NaNs values
PR #6232: BUG: division by zero in exponential smoothing if damping_slope=0
PR #6233: BUG: dynamic factor model use AR model for error start params if error_var=False
PR #6235: DOC: docstring fixes
PR #6239: BUG: SARIMAX index behavior with simple_differencing=True
PR #6240: BUG: parameter names in DynamicFactor for unstructured error covariance matrix
PR #6241: BUG: SARIMAX: basic validation for order, seasonal_order
PR #6242: BUG: Forecasts now ignore non-monotonic period index
PR #6246: TST: Add Python 3.8 environment
PR #6250: ENH: Update SARIMAX to use SARIMAXSpecification for more consistent input handling
PR #6254: ENH: State space: Add finer-grained memory conserve settings
PR #6255: MAINT: Ignore vscode
PR #6257: DOC: Fix spelling in notebooks
PR #6258: BUG: Hannan-Rissanen third stage is invalid if non-stationary/invertible
PR #6260: BUG: cloning of arima.ARIMA models.
PR #6261: BUG: state space: saving fixed params w/ extend, apply, append
PR #6266: ENH: and vlines option to plot_fit
PR #6275: MAINT/DOC: Clarify patsy 0.5.1 is required
PR #6279: DOC: Fix notebook
PR #6280: ENH: State space: Improve simulate, IRF, prediction
PR #6281: BUG: Pass arguments through in plot_leverage_resid2
PR #6283: MAINT/DOC: Close issues
PR #6285: BUG: Raise in GC test for VAR(0)
PR #6286: BUG: Correct VAR summary when model contains exog variables
PR #6288: MAINT: Update test tolerance
PR #6289: DOC: doc string changes
PR #6290: MAINT: Remove open_help method
PR #6291: MAINT: Remove deprecated code in preparation for release
PR #6292: BUG: Ensure BW is not 0
PR #6294: ENH: better argument checking for StratifiedTable
PR #6297: BUG: Fix conf interval with MI
PR #6298: DOC: Correct spells
PR #6299: DOC: Add example notebook for GEE score tests
PR #6303: DOC/MAINT: Add simple, documented script to get github info
PR #6310: MAINT: Deprecate recarray support
PR #6311: TST: Reduce test size to prevent 32-bit crash
PR #6312: MAINT: Remove chain dot
PR #6313: MAINT: Catch and fix warnings
PR #6314: BUG: Check dtype in KDEUnivariate
PR #6315: MAINT: Use NumPy’s linalg when available
PR #6316: MAINT: Workaround NumPy ptp issue
PR #6317: DOC: Update test running instructions
PR #6318: BUG: Ensure inputs are finite in granger causality test
PR #6319: DOC: Restore test() autosummary
PR #6320: BUG: Restore multicomp
PR #6321: BUG: Fix trend due to recent changes
PR #6322: DOC: fix alpha description for GLMGam
PR #6324: ENH: Improve Ljung Box diagnostics
PR #6327: DOC: Move api docs
PR #6332: DEPR: state space: deprecate out-of-sample w/ unsupported index
PR #6333: BUG: state space: integer params can cause imaginary output
PR #6334: ENH: append, extend check that index matches model
PR #6337: BUG: fix k_exog, k_trend in arima.ARIMA; raise error when cloning a model with exog if no new exog given
PR #6338: DOC: Documentation for release v0.11
PR #6340: BUG: fix _get_index_loc with date strings
PR #6342: DOC: Update Release Note
PR #6343: DOC: Fix documentation errors
PR #6344: DOC: Fixes in preparation for release
PR #6345: DOC: Further doc fixes
PR #6347: DOC: Fix minor doc errors
PR #6348: DOC: git notes
PR #6349: DOC: Finalize release notes for 0.11
PR #6350: DOC: Add version dropdown
PR #6353: DOC: Finalize release note
PR #6363: DOC: Change generated path
PR #6368: Doc updates
PR #6369: DOC: Improve doc strings
PR #6374: BUG: Correct standardization in robust skewness
PR #6375: ENH: Supporting custom kernel in local linear kernel regression
PR #6389: BUG: Use correct exog names
PR #6390: DOC: Clarify demeaning in ljungbox
PR #6391: BUG: Fix axis in irq
PR #6392: MAINT: Pin xdist
PR #6394: MAINT: Unify pandas testing import
PR #6398: DOC: fix ridge regression formula in hpfilter
PR #6401: ENH: Distance dependence measures
PR #6406: MAINT: Clarify codecov
PR #6407: DOC: Fix link
PR #6410: ENH/CLN: Improve diagnostics
PR #6412: CLN/MAINT: Port non-diagnostic changes
PR #6414: CLN: Fixes for future SciPY and pandas
PR #6415: BUG: RecursiveLS should not allow fix_params method.
PR #6416: DOC: Update release note for v0.11.0rc2
PR #6419: MAINT: Fixes for rc2
PR #6422: BUG: Improve executable detection
PR #6423: MAINT: Switch to bionic
PR #6424: REF: More descriptive error message for recursive least squares parameter constraints.
PR #6425: BUG/ENH: Diffuse multivariate case w/ non-diagonal observation innovation covariance matrix
PR #6426: TST: Improve test that randomly fails
PR #6440: MAINT: Fix future issues
PR #6442: BUG: Fix bug in ridge for vector alpha
PR #6445: MAINT: Disable cvxopt for windows
PR #6447: DOC: Replace array with ndarray
PR #6448: MAINT: Reduce tolerance on basin hopping test
PR #6449: MAINT: Remove unused import
PR #6450: DOC: Final release note change for 0.11


Frontier Direct Care referral program
Refer a friend and receive a $50 credit towards your monthly membership
(Restrictions apply)We respect your privacy. We will never share or sell any of your personal information.
Refer a friend and receive a $50 credit towards your monthly membership
(Restrictions apply)We respect your privacy. We will never share or sell any of your personal information.


PUT THAT WHERE?
MIT Program in Art, Culture, Technology
2020 Graduate Exhibition
Emma Zhu
Po-Hao Chi
Chucho Ocampo Aguilar
Aarti Sunder
Faruk Šabanović
Nancy Valladares
Ryan Aasen
Rae Yuping Hsu
Matt Ledwidge
Casey Tang
Luíza Bastos Lages


Bank
a
Admin
Accounts Registered: 0
All User Accounts
Create Admin/Staff
Admin/Staff Accounts
Settings
Log out
Create
Account
Firstname:
Lastname:
Email:
Admin type:
Admin
Staff
Password:
Repeat Password:
Create Account


FOR A FREE CAR INSURANCE RATE QUOTE THAT COULD SAVE YOU SUBSTANTIAL MONEY
WWW.GEICO.COM OR CALL 1-888-395-6349 FREE, 24 HOURS A DAY.
If you have any comments about our WEB page, you can either write us at the address shown above or e-mail us at<EMAIL_ADDRESS>. However, due to the limited number of personal in our corporate office, we are unable to provide a direct response.
Legal Disclaimer


| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one | |
| 3 | * or more contributor license agreements. See the NOTICE file | |
| 4 | * distributed with this work for additional information | |
| 5 | * regarding copyright ownership. The ASF licenses this file | |
| 6 | * to you under the Apache License, Version 2.0 (the | |
| 7 | * "License"); you may not use this file except in compliance | |
| 8 | * with the License. You may obtain a copy of the License at | |
| 9 | * | |
| 10 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 11 | * | |
| 12 | * Unless required by applicable law or agreed to in writing, | |
| 13 | * software distributed under the License is distributed on an | |
| 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| 15 | * KIND, either express or implied. See the License for the | |
| 16 | * specific language governing permissions and limitations | |
| 17 | * under the License. | |
| 18 | */ | |
| 19 | ||
| 20 | package org.apache.myfaces.shared.util; | |
| 21 | ||
| 22 | import jakarta.faces.component.NamingContainer; | |
| 23 | import jakarta.faces.component.UIComponent; | |
| 24 | ||
| 25 | /** | |
| 26 | * | |
| 27 | * @since 1.0.2 | |
| 28 | */ | |
| 29 | public class ComponentUtils | |
| 30 | { | |
| 31 | ||
| 32 | /** | |
| 33 | * Return the parent NamingContainer of the component passed as argument. | |
| 34 | * | |
| 35 | * @param component | |
| 36 | * @return | |
| 37 | */ | |
| 38 | public static UIComponent findParentNamingContainer(UIComponent component) | |
| 39 | { | |
| 40 |
1
1. findParentNamingContainer : replaced return value with null for org/apache/myfaces/shared/util/ComponentUtils::findParentNamingContainer → NO_COVERAGE |
return findParentNamingContainer(component, true); |
| 41 | } | |
| 42 | ||
| 43 | /** | |
| 44 | * Return the parent NamingContainer of the component passed as argument. | |
| 45 | * | |
| 46 | * @param component | |
| 47 | * @param returnRootIfNotFound | |
| 48 | * @return | |
| 49 | */ | |
| 50 | public static UIComponent findParentNamingContainer(UIComponent component, boolean returnRootIfNotFound) | |
| 51 | { | |
| 52 | UIComponent parent = component.getParent(); | |
| 53 |
2
1. findParentNamingContainer : negated conditional → NO_COVERAGE 2. findParentNamingContainer : negated conditional → NO_COVERAGE |
if (returnRootIfNotFound && parent == null) |
| 54 | { | |
| 55 |
1
1. findParentNamingContainer : replaced return value with null for org/apache/myfaces/shared/util/ComponentUtils::findParentNamingContainer → NO_COVERAGE |
return component; |
| 56 | } | |
| 57 |
1
1. findParentNamingContainer : negated conditional → NO_COVERAGE |
while (parent != null) |
| 58 | { | |
| 59 |
1
1. findParentNamingContainer : negated conditional → NO_COVERAGE |
if (parent instanceof NamingContainer) |
| 60 | { | |
| 61 |
1
1. findParentNamingContainer : replaced return value with null for org/apache/myfaces/shared/util/ComponentUtils::findParentNamingContainer → NO_COVERAGE |
return parent; |
| 62 | } | |
| 63 | ||
| 64 |
1
1. findParentNamingContainer : negated conditional → NO_COVERAGE |
if (returnRootIfNotFound) |
| 65 | { | |
| 66 | UIComponent nextParent = parent.getParent(); | |
| 67 |
1
1. findParentNamingContainer : negated conditional → NO_COVERAGE |
if (nextParent == null) |
| 68 | { | |
| 69 |
1
1. findParentNamingContainer : replaced return value with null for org/apache/myfaces/shared/util/ComponentUtils::findParentNamingContainer → NO_COVERAGE |
return parent; // Root |
| 70 | } | |
| 71 | parent = nextParent; | |
| 72 | } | |
| 73 | else | |
| 74 | { | |
| 75 | parent = parent.getParent(); | |
| 76 | } | |
| 77 | } | |
| 78 | return null; | |
| 79 | } | |
| 80 | } | |
Mutations | ||
| 40 |
1.1 |
|
| 53 |
1.1 2.2 |
|
| 55 |
1.1 |
|
| 57 |
1.1 |
|
| 59 |
1.1 |
|
| 61 |
1.1 |
|
| 64 |
1.1 |
|
| 67 |
1.1 |
|
| 69 |
1.1 |


Home
About Me
My Work
How To Reach Me
My
Work
Check out some of my projects ...
{{ project.project_title }}
{{ project.project_desc }}
Read More
{{ projecttitle }}
{{ projectrole }}
{{ projectdesc }}
{{ projectchallenge }}
{{ projectsolution }}


Matt Ryan
08.31.16
Standing in front of a crowd of incoming students and their parents in Baker Ballroom during Bobcat Student Orientation, Dean of Students Jenny Hall-Jones teaches consent through a metaphor: ordering pizza.
Before launching into her annual talk, she highlights the problems associated with the baseball metaphor for sex, an analogy that compares sexual activities to reaching bases on a baseball diamond. The baseball metaphor turns sex into a competition, Hall-Jones said, something she believes is unnecessary.
“I feel like we should talk about sexuality the way we order pizza,” Hall-Jones said. “I go into why I think that’s important, because it’s consensual and communicative.”
She gives an example in which she asks the audience to think back to the last time they ordered pizza with someone they didn’t know.
“‘What do you do? What kind of pizza do you like? Are you allergic to anything? Is there anything off limits?’ You work through this before you even get to order,” Hall-Jones said.
While giving the pizza talk, Ohio University’s definition of consent — policy 03.004 — is pulled up on a screen.
Policy 03.004 defines consent as an informed, knowing and voluntary agreement to a sexual act. It must be clear and unambiguous for each participant, and consent to some sexual acts does not equal consent to other acts.
The State of Ohio, however, does not have a definition of consent. That can lead to a different outcome when a person accused of sexual assault goes through procedures with the Office of Equity and Civil Rights Compliance at OU compared to when that person goes through legal proceedings.
Ohio University is not the only university to define consent differently than state law. The Ohio State University, the largest university in Ohio, defines consent as being active and states it must be given by words or actions. Miami University defines consent as knowing and voluntary verbal or non-verbal agreement between participants to engage in every sexual act.
The only Mid-American Conference university in Ohio that does not explicitly define consent differently than the state is the University of Akron. The school has not established a separate definition for what constitutes consent, UA Spokesperson Wayne Hill said.
The lack of definition at the state level generally doesn’t match the precedent many colleges set for students.
“There is no black-and-white definition of consent,” Athens County Prosecuting Attorney Keller Blackburn said. “We’ve been told if you consume alcohol, you can no longer consent. That’s not true, not in Ohio.”
There are also major differences in the way sexual assault cases are handled between the university and the legal system.
At the university level, a report is filed through the Office of Equity and Civil Rights Compliance. The office will inform the Title IX coordinator, Sara Trower, as well as local law enforcement if the report indicates sexual violence or other felonies have been committed. Once ECRC decides a matter will proceed, a joint investigation will be conducted by ECRC and the Office of Community Standards and Student Responsibility. Following the investigation, the investigative team will write a report, and pre-hearing meetings with the complainant and respondent will take place separately.
Next, if the respondent does not accept responsibility after a pre-hearing meeting, a hearing will be conducted. The hearing authority will use the “preponderance of the evidence” standard, also known as the standard of proof, to make their decision about whether the policy was violated. A notice of final determination will be issued at the conclusion of the investigation.
The university’s investigations of sexual assaults are more informal than court proceedings, Elizabeth Pepper, chief assistant Athens County prosecutor, said.
When the state charges sexual assault cases, the alleged offenders go to a grand jury, where it is decided whether they are indicted. Once an indictment has been filed, they enter a pretrial phase where they either get a public defender to serve as their attorney, or they hire private counsel, Pepper said.
“(State statutes and code of conducts are) two very different worlds, and sometimes they come out with two different results,” Pepper said. “I’ve read results from hearings at OU that sometimes it will go one way, and I think of it a different way, but I mean that’s just how the cookie crumbles when you’re dealing with those two things.”
Hall-Jones acknowledged that consent standards outside the university are “a whole other ball of wax,” but she said she still values putting the university’s definition of consent out in the open.
“You’re trying to educate students on what consent is, and there could be 18 different definitions,” Hall-Jones said. “That’s why we try to make sure our definition and what we’re gonna do is out there.”
The reason for the pizza talk, originally found in a TED talk from sex educator Al Vernacchio, is to open a dialogue about what consent means at OU.
Brendan Hogan, a sophomore studying finance, said there are “multiple levels” of consent and that mutual agreement is required for each level.
“I think there are some strong levels of nonverbal communication,” Hogan said. “I think there’s a spectrum that leads to risks; I guess if there is any area of uncertainty, verbal would probably be best.”
Addie Brown, a sophomore studying psychology, said consent has to be verbal, even though OU policy states consent can be nonverbal.
“Consent is you ... giving a verbal, a very blunt type of answer,” Brown said. “Anything that’s not ‘yes’ or ‘no,’ to me, is not consent.”
She said she remembers Hall-Jones’ pizza talk, but she can’t always remember the meaning behind it.
“It’s something that definitely sticks with people, the idea of the pizza,” Brown said. “But the actual meaning behind it, I always kind of forget.”
Though people might not remember the specifics of the pizza talk, Hall-Jones said in an email her talk is only “one piece of a comprehensive strategy to educate people about consent and healthy relationships.”
Martha Compton, director of Community Standards and Student Responsibility, said she hopes students go beyond the policy.
“We certainly hope that students are … having really in-depth conversations,” Compton said. “We know that’s not always going to happen.”
She said she thinks OU’s definition of consent is realistic.
“Just because that question wasn’t asked and answered verbally doesn’t mean that there weren’t positive words or actions or affirmative words or actions that lead to an understanding of consent,” Compton said.
Hall-Jones believes OU’s policy is an affirmative consent policy, which means any sexual activity is known, voluntary and mutual.
“We teach this higher level of what we want people to use as consent,” Hall-Jones said. “We hold people to our policy.”


Landing Page
Special Projects
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.
Emilee Chinn
10/24/18
Smoke curled around Jeremy Waite. To his left, a barrel was on fire. To his right, black ashes scattered the ground.
He, along with six others — four men and two women — are a part of the Wayne National Forest Engine 611 team. On a chilly fall morning, they traveled to a Nelsonville private property Oct. 18. The fire was small and started the previous night but hadn’t been extinguished. After monitoring the fire through the night, the crew went to put out the fire again in the morning, so it could not grow into a larger hazard or spread into the Wayne National Forest, which is Ohio’s only National Forest.
This is his usual day.
Alex Penrose | MULTIMEDIA EDITOR
He started working with fires 12 years ago, but now he is the assistant captain for Engine 611.
Engine 611, a well-traveled, mint-green fire truck that holds a capacity of 300 gallons of water, has driven more than 20,000 miles between Ohio, Oregon, California and Arizona this year alone.
As soon as it returns to the Athens Ranger Station in Nelsonville, it will get refilled with gas and water. If there is a fire day or night, the firefighters are ready. During dry spells, they receive about two to three calls per day.
“We’ve had a couple weeks of dryness so things are burning a little better now,” Waite said. “We will get a lot of false alarms too where some neighbors burn the fire and call because they don’t know the rules. When we come in, we don’t just try to suppress it, but we try to educate at the same time.”
Waite said fires in Ohio are mainly set by people who burn trash and do not understand the dangers of open burning. Athens County deals with private property fires, and most of the time, the sheriff will not fine property owners unless the fire reaches Wayne National Forest.
“During fire season, we work whenever the phone rings,” Waite said.
The procedure for dealing with fires is to typically stir up the embers and brush using a fire axe. The firefighters then spray down the area and then stir everything up again. They stand up any logs or large items to make sure they have been doused with water.
Emilee Chinn | PHOTO EDITOR
Jacob Kovolisky, senior firefighter on Wayne Engine 611, works on putting out a fire in Nelsonville on Thursday, October 18. The property owners were burning trash and left it unattended.
Clouds of steam rose throughout the air as the crew waited to see how the fire was doing. Sometimes they have to hose it down multiple times, Waite said.
The job of a wildland firefighter can also be dangerous. People often burn tree stumps, which can create hazards when the roots burn out and form an ash pit. He said it can give bad burns to anyone who steps in the pit.
At the fire, the firefighters reminded each other to not breathe in the smoke while they are putting it out.
“We just don’t know what they’re burning in their piles,” Waite said. “It could be all kinds of stuff.”
Other times, windstorms will knock down trees and power lines, so they must wait to make sure the lines are not on when they go to put out the fire.
“We’re not trained to deal with structure stuff, so we can only deal with the wildland part of it,” Waite said. “A lot of hazards that are associated with structure fires are different than wildlands. Hazards change from scene to scene.”
There is a burn ban for the state of Ohio during October, November, March, April and May during the hours of 6 a.m. to 6 p.m, according to Ohio Revised Code 1503.18. People are not allowed to burn waste outside during those hours and must be at the fire at all times in case it gets out of hand.
If a fire is unattended and violates the burn ban and if it is in the radius of the Wayne National Forest, such as the fire the crew attended on Oct. 18, it will be considered a hazard and be put out.
“If anything is within that protection zone or within a mile of it, we can respond to that because it’s a threat to the national forest,” Waite said.
Kevin Grodi, Engine 611 captain, said that when his engine or another needs assistance, he can pull in other federal agencies, state agencies or volunteer fire department firefighters. If another department needs assistance in another state, he and his crew will go there.
Emilee Chinn | PHOTO EDITOR
James Benson, left, and Jacob Kovolisky, right, congratulate Maryjane Heckel on her first fire that they put out in Nelsonville on Thursday, October 18. The property owners were burning trash and left it unattended.
“I like using the local resources first because they can get here, they know the ground, they know the territory,” Grodi said.  We’re able to have that rapport with them and keep them in the loop.”
Jacob Kovolisky is the senior firefighter of the crew. He’s worked for about five years as a wildland firefighter but has worked on the Wayne National Forest crew for a year and a half.
He said that in the morning the crew will come to the Athens Ranger Station in Nelsonville and check the trucks. They will then brief on what to get done for the day and decide who will be in which trucks.
“The nice thing about this job is that as firefighters, we get an hour everyday to either run, get out and work out or train for our job,” Kovolisky said.
The majority of the fires in Wayne National Forest are in the afternoon, Kovolisky said. People start lighting fires at about 4:30 p.m. when school or work is over.
“My favorite part about my job is (responding to fires),” Kovolisky said. “What other person can say that they get to go and work in the woods? Some people say that my job is better than your best vacation. I love doing it every day.”
He said they typically work 8 a.m. to 4:30 p.m., but during dry spells will work until 6:30 p.m. or longer.
Everyone on the team wears a backpack containing 4 quarts of water, lunch and safety gear, while they work. It also has a bag to camp overnight in case of long-term assignments.
“I’ve been to Alaska for wildfires. I’ve been to Oregon. I went to Puerto Rico last year for a hurricane assignment,” Kovolisky said. “You get to travel the entire U.S. Sometimes you go international. I’m not sitting in New York City typing away at a desk.”
Kovolisky said the concept of fire is changing, which makes his job challenging sometimes. In recent years, fires have become more violent, which has made the job of a firefighter harder to control the situation.
“Back in the day, you would go to a fire and then put it out. Fire is changing and the ecosystem is changing,” Kovolisky said.  There’s a big portion of us living in areas that people didn’t live in before.”
Maryjane Heckel, a resource assistant for Engine 611, responded to her first fire with the rest of the crew.
“One thing that you know before you start doing it is that it’s a really hard job,” Heckel said.
She said she had to walk 3 miles carrying 45 pounds in 45 minutes to get her certification.
“It is something that I trained up for for a month,” Heckel said. “A lot of people don’t pass on their first time.”
Emilee Chinn | PHOTO EDITOR
Matt Castells, forestry technician, sprays down a tree while putting out a fire in Nelsonville on Thursday, October 18. The property owners were burning trash and left it unattended.
James Benson commanded the fire the crew was putting out, instructing them where to hose and test if there was still heat. He’s an incident commander in training and has worked for six years as a wildland firefighter.
 It took the crew about two hours to put it out.
“The National Forest surrounds all of this private land, so if it did get out of hand, it could burn what we don’t want to burn because we don’t have controls in place to keep it from going to the highway or someone's home,” Benson said.
A big part of the job is extinguishing fires, about 90 percent, Benson said, but the other part is doing prescribed burns. Prescribed burns are intentional fires that the fire department will set. They will create a box around a patch of land to keep the area contained, and then light it to burn off the underbrush. They burn oak or hickory trees because they are sturdy, can withstand heat and produce acorns and nuts for the ecosystem.
Prescribed burns work to prevent large wildfires. During these burns, they will bring in biologists to help with the ecosystem.
“We will go through and light it off, and it’s usually done in a day,” Benson said. “It is good for the forest and rejuvenates the soil and puts nutrients back.”
He said the department has about 5,000 acres it is planning to burn in the Wayne National Forest. There is one planned for the fall and a few for the spring.
“Fire is needed in almost all landscapes throughout the country, and we’ve been suppressing it for years and years,” Benson said. “The more you suppress fire, the more fuel that is there which makes fire danger a lot worse. Instead we need to embrace fire.”
“We don’t know all the answers to the forests, we just fight fires. You can ask me what this tree is and I ain’t going to have a clue. Is it on fire or not, that’s my answer.”Kevin Grodi
There is a scale for how large and dangerous a fire is, ranging from IC1, which is the largest and most dangerous, to IC5, a low-risk fire.
“We’ve had a few fires in the last couple years that got 60 to 70 acres. That’s more Type 4 or Type 3 fire,” Benson said. “In the East, it is hard to get another more than a Type 3.”
Grodi said safety and putting out the fire is his main priority in his job.
“We’re not biologists, we’re firefighters,” Grodi said. “We don’t know all the answers to the forests, we just fight fires. You can ask me what this tree is and I ain’t going to have a clue. Is it on fire or not, that’s my answer.”
Landing Page
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.


{include file="public/base" /}
{include file="public/header" /}
页面不存在~
返回首页
{include file="public/base_js" /}