Hemi JavaScript Framework
Hemi.driver
Description
The Application Driver is a bootstrap for leveraging browser load and unload events to start and stop the framework.
Class Index
static Hemi.driver.service
version 4.0.1
Static implementation of serviceImpl.
Hemi.driver.service
version 4.0.1
Driver for starting up and shutting down the framework.
Index
Method Index
-
private _terminate (internal): Publishes a destroy message to all subscribing objects.
-
public destroy: Destroys this object, and if specified, sends a termination signal to all registered objects.
-
public getConfig: Returns a org.cote.js.util.config object.
-
public setConfig: Specifies the application configuration object. Causes the application_config_loaded message to be published.
-
public sigterm: Sends termination signal to destroy object without propogating termination signal to other objects.
 Method is private and should not be directly referenced.
Syntax
void _terminate(
)
destroy
Destroys this object, and if specified, sends a termination signal to all registered objects.
Syntax
void destroy(
b
)
Parameters
-
b as boolean : Bit indicating whether a termination signal should be sent to all registered objects.
getConfig
Returns a org.cote.js.util.config object.
Syntax
c = getConfig(
)
Returns
c as org.cote.js.util.config: Config object.
setConfig
Specifies the application configuration object. Causes the application_config_loaded message to be published.
Syntax
void setConfig(
c
)
Parameters
-
c as org.cote.js.util.config : Config object.
sigterm
Sends termination signal to destroy object without propogating termination signal to other objects.
Syntax
void sigterm(
)
[ Hemi JavaScript Framework - Stephen W. Cote, 2002 - 2013. ]


Agnes and the School of Forestry
Each Saturday in the early 1900s, the small town of Waynesboro, Pennsylvania, was greeted with an unusual sight: a group of young men, riding through town on their horses, on break from the Pennsylvania State Forest Academy in nearby Mont Alto. “The young girls would be sitting on their front porches, dressed in their best, and waiting for the foresters to arrive,” Forrest H. Dutlinger, an Academy alumnus and Pennsylvania forester, later recalled. But, “nothing much happened when they did. The group chatted with girls they knew or rode aimlessly around town. Sometimes, as they were leaving, they would pull on the reins until their horses plunged and reared, fire their pistols into the air, yell, ‘Whoopee!’ and gallop off toward the academy.” (Thomas, p. 485)
Did Agnes sit on her East Third Street porch, watching the foresters-in-training ride through town? And was this weekly occurrence one of the reasons why, in 1916, at the age of 21, Agnes applied to attend the Forest Academy? Had she joined the Academy, she would have studied forestry and surveying; patrolled the state forests to prevent vandalism and fire, with a state-issued pistol at the ready; and worked in the woods, cutting fire lanes, raising seedlings, and taking inventory of the trees–all in preparation for a career in the State Department of Forestry.
Instead, Agnes was refused entrance to the Forest Academy, she later related in an interview with the Waynesboro Record Herald, because she was a woman. (“Agnes Harbaugh… Spotlight on an Action Oriented Woman”) The article cites Agnes’ application to the school as an example of her early feminist leanings–well before the second wave of feminism in the mid-20th century. She did not allow gender expectations to limit her aspirations, even though forestry–despite its connection to the progressive conservation movement–was primarily a masculine profession.
Forestry as a career emerged during the Progressive Era, as part of a growing conservation movement concerned with the destruction of finite natural resources. Theodore Roosevelt was a champion of conservationism; during his administration, he created the Forest Bureau (later the Forest Service) and established 150 national forests. Conservationists like Roosevelt were not motivated solely by a desire to conserve the beauty of nature, but to protect and sustain future economic development, as the President stated in a 1901 message to Congress: “Forest protection is not an end of itself; it is a means to increase and sustain the resources of our country and the industries which depend upon them.” (McGerr, p. 166)
In Pennsylvania, a movement to preserve the state’s forests was sparked, in part, through the efforts of women. “Impelled by the increasing destruction of the noble forests of Pennsylvania,” a group of women in Philadelphia were moved to “concerted action in the way of forest preservation and the replanting of waste lands, in order to supply the timber for the absolute needs of the near future.” (Shepper, p. 4) The women organized a public meeting, and their efforts led to the formation of the Pennsylvania Forestry Association.
As the conservation movement took hold, and the state continued to purchase lands for forestry purposes, some expressed a need for “men” who were trained to care for the land. In 1901, Dr. Joseph T. Rothrock, the “father of Pennsylvania forestry,” outlined his plan for a school that would “guarantee to the State in the promptest and most certain manner, and without any pecuniary risk to the Commonwealth, a body of trained foresters who will be intimately acquainted not only with forestry principles, but with the ground upon which these principles are to be applied.” (Clepper, p. 13) The Pennsylvania State Forest Academy was established in May 1903.
The book Forestry Education in Pennsylvania, edited by Henry Clepper, an Academy alumnus, provides a detailed description of the early years of the school. The Academy was a three-year program; each student received a scholarship, and, starting with the class of 1909, had to serve three years in the state after completing the program. The year before Agnes applied, admission requirements changed. In addition to completing a rigorous entrance exam, the applicants had to complete six weeks of field training in the state forests. The program appears to have been quite competitive, admitting only small numbers of students in the early years.
No sources that I have read document an official rule against women at the school. Clepper’s history does state that the class of 1925, which registered in September 1921, did include a woman, “the wife of a member of the class of 1922. Although she successfully completed the first year, she did not return. She was the first and last of the female students.” (Clepper, p. 22-23) Five years after Agnes’ application, a woman was allowed to attend the school–although the caveat that she was the spouse of another student points to the power of circumstance, rather than a more open admission policy.
Men continued to dominate the forestry profession for decades. In 1969, the first woman received an M.S. in forest resources from Penn State, but it was not even until 1984 that a woman was hired by the Pennsylvania Bureau of Forestry. (Gerhold, p. 100)
Agnes is known in our family as someone who was not afraid to break the rules, and her application to the Pennsylvania State Forest Academy is yet another example. With her application, she challenged the expectations of what a woman should and could do at that time. How she reacted after the rejection is also telling of her character; not allowing the decision to stifle her educational ambitions, the next year, she entered Penn State, where she studied horticulture and, after raising three children, embarked on a long and exciting career–even if it did not involve wielding pistols against vandals and battling forest fires.
§
Note: The Waynesboro Record Herald interview states that Agnes was refused admission to “Penn State’s School of Forestry at Mont Alto.” In 1916, there were two Pennsylvania institutions for forestry education: the Pennsylvania State Forest Academy in Mont Alto and Penn State’s Department of Forestry in State College. The two schools merged in 1929. Because the school referenced in the article was located in Mont Alto, which was near Waynesboro, my educated guess is that Agnes would have applied to the Forest Academy, rather than Penn State, and I have written this post under that assumption. The Record Herald article, written decades later, names Penn State as the institution sponsoring this program, which was correct at the time the article appeared in print, but not at the time when Agnes applied.
Photo: The Pennsylvania State Forest Academy Class of 1908 in front of Wiestling Hall. Credit: Penn State. Licensed under a Creative Commons Attribution-NonCommercial-No Derivatives 2.0 International License. No changes were made to this image. According to Penn State, when the photo was developed, a ghostly figure appeared in the background, observing the figures on horseback. Can you find it?
Works Referenced
“Agnes Harbaugh… Spotlight on an Action-Oriented Woman.” Waynesboro Record Herald. 1975.
Clepper, Henry Edward. Forestry Education in Pennsylvania. University Park (PA): Penn State-Mont Alto Forestry Alumni Association, 1957.
Gerhold, Henry D. A Century of Forest Resources Education at Penn State: Serving Our Forests, Waters, Wildlife, and Wood Industries. University Park (PA): Pennsylvania State University Press, 2007.
McGerr, Michael. A Fierce Discontent: The Rise and Fall of the Progressive Movement in America, 1870-1920. New York: Free Press, 2003.
Thomas, Elizabeth H. “Student Life at the Pennsylvania State Forest Academy, 1905-1910.” Kittochtinny History Society, n.d.


baroque
`Prev `__
B
`Next `__
--------------
**baroque**: adj.
[common] Feature-encrusted; complex; gaudy; verging on excessive. Said
of hardware or (esp.) software designs, this has many of the
connotations of `*elephantine* <../E/elephantine.html>`__ or
`*monstrosity* <../M/monstrosity.html>`__ but is less extreme and not
pejorative in itself. In the absence of other, more negative
descriptions this term suggests that the software is trembling on the
edge of bad taste but has not quite tipped over into it. “Metafont even
has features to introduce random variations to its letterform output.
Now *that* is baroque!” See also `*rococo* <../R/rococo.html>`__.
--------------
+---------------------------+----------------------------+--------------------------+
| `Prev `__ | `Up <../B.html>`__ | `Next `__ |
+---------------------------+----------------------------+--------------------------+
| barney | `Home <../index.html>`__ | BASIC |
+---------------------------+----------------------------+--------------------------+


Black tiles are walls, white are paths/tunnels. Red is the "robot" which solves the maze and leaves an orange trail. The green is the end or target point - where the robot attempts to get to.
Speed:
Tile size: Update size
Width: Height: Full reset
Status: None


Sitting on porch overlooking Bangkok, checking email briefly before heading out for beach-time in Phuket. Enough internet, time to pack.
11/21/2009, 6:20:53 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
Sitting on porch overlooking Bangkok, checking email briefly before heading out for beach-time in Phuket. Enough internet, time to pack.
11/21/2009, 6:20:53 PM
Favs: 0
Retweets: 0
link


{% if businesses %}
{% else %}
{% endif %}
Your search for {{ searched }} returned.
{{user.profile.neighbourhood.name }}
{% for business in businesses %}
{% endfor %}
Add a Business
{{ business.name }}
{{ business.category }}
{{ business.tel }}
{{ business.email }}


~[wc:commonscripts]
~[wc:admin_header_css]
Enhanced Custom Page Management
{{feedback}}
Publish
Code Snippets
Box
Tabs
Dynamic Tabs
Toggle
Dialog
Calendar
Table
Page Templates
Admin
Admin Student
Teacher
Teacher Backpack
Parent
About ECPM
{{tab.title}}
×
Choose a file
~[wc:admin_footer_css]


This Robot Vacuum Is Nearly Half Off Today
The BISSELL EV675 robot vacuum is on sale today, as part of Amazon's Gold Box Deal of the Day, down to just $164.99. That's down from its regular price of $299. Making this a really great time to pick up a robot vacuum.
BISSELL EV675 robot vacuum is a really great robot vacuum to pick up, especially if you don't want to sink in a ton of money into a robot vacuum. As it will do its job – cleaning up – without a whole lot of other bells and whistles. This one also comes from a company that has a lot of experience in making vacuums, so you know this one is going to be good with cleaning up.
It has a triple-action system that is good for cleaning up messes and cleaning up pet hair, both of which are really nice features to have. It has multi-surface cleaning included, allowing you to use it on carpet, laminate and tile, without having to adjust the settings. The BISSELL EV675 robot vacuum is also a pretty slim robot vacuum, making it easier to go under furniture and chairs in your home. That is something that doesn't seem like a big deal, but it really is.
Advertisement
Now, the BISSELL EV675 robot vacuum does not have an app for controlling it. Instead, you'll be using a physical remote. Which, while sounding like something from the 2000s, is not a bad thing. As you're paying a lot less for this one. Just make sure you don't lose the remote control. Additionally, the BISSELL EV675 robot vacuum is going to run for around 100 minutes on a charge, before it heads back to the dock to recharge.
You can pick up the BISSELL EV675 robot vacuum in Amazon's sale today, by clicking here. This is part of its Gold Box Deal, which means this is good today only and will expire at midnight PST tonight.
BISSELL EV675 robot vacuum - Amazon - $165
Advertisement


Reports the newline (
\n
) or return (
\r
) characters in a string or character literal. These characters are commonly used as line separators, and portability may suffer they are hardcoded.
Powered by InspectionGadgets


{% extends "layout.html" %} {% block content %} Home > Custody Listings Custody archive Reference Listings All Agencies All Locations All Offences Extracts Accomodation and Occupancy extracts Offender Location extracts {% endblock %}
Home >


SSH-ADD
Section: User Commands (1)Index Return to Main Contents
BSD mandoc
NAME
ssh-add - adds RSA or DSA identities to the authentication agentSYNOPSIS
ssh-add [-cDdLlXx [-t life ] ] [file ... ]ssh-add -s reader
ssh-add -e reader
ssh-add -n [-T token ]
DESCRIPTION
ssh-add adds RSA or DSA identities to the authentication agent, ssh-agent1. When run without arguments, it adds the files ~/.ssh/id_rsa ~/.ssh/id_dsa and ~/.ssh/identity Alternative file names can be given on the command line. If any file requires a passphrase, ssh-add asks for the passphrase from the user. The passphrase is read from the user's tty. ssh-add retries the last passphrase if multiple identity files are given.The authentication agent must be running and the SSH_AUTH_SOCK environment variable must contain the name of its socket for ssh-add to work.
The options are as follows:
- -c
- Indicates that added identities should be subject to confirmation before being used for authentication. Confirmation is performed by the SSH_ASKPASS program mentioned below. Successful confirmation is signaled by a zero exit status from the SSH_ASKPASS program, rather than text entered into the requester.
- -D
- Deletes all identities from the agent.
- -d
- Instead of adding identities, removes identities from the agent. If ssh-add has been run without arguments, the keys for the default identities will be removed. Otherwise, the argument list will be interpreted as a list of paths to public key files and matching keys will be removed from the agent. If no public key is found at a given path, ssh-add will append .pub and retry.
- -e reader
- Remove key in smartcard reader
- -L
- Lists public key parameters of all identities currently represented by the agent.
- -l
- Lists fingerprints of all identities currently represented by the agent.
- -s reader
- Add key in smartcard reader
- -t life
- Set a maximum lifetime when adding identities to an agent. The lifetime may be specified in seconds or in a time format specified in
- -T token
- Explicitly set token name. sshd_config5.
- -X
- Unlock the agent.
- -x
- Lock the agent with a password.
ENVIRONMENT
- DISPLAY and SSH_ASKPASS
- If ssh-add needs a passphrase, it will read the passphrase from the current terminal if it was run from a terminal. If ssh-add does not have a terminal associated with it but DISPLAY and SSH_ASKPASS are set, it will execute the program specified by SSH_ASKPASS and open an X11 window to read the passphrase. This is particularly useful when calling ssh-add from a .xsession or related script. (Note that on some machines it may be necessary to redirect the input from /dev/null to make this work.)
- SSH_AUTH_SOCK
- Identifies the path of a unix-domain socket used to communicate with the agent.
- SSH_USE_STRONG_RNG
- The reseeding of the OpenSSL random generator is usually done from /dev/urandom If the SSH_USE_STRONG_RNG environment variable is set to value other than 0 the OpenSSL random generator is reseeded from /dev/random The number of bytes read is defined by the SSH_USE_STRONG_RNG value. Minimum is 6 bytes. This setting is not recommended on the computers without the hardware random generator because insufficient entropy causes the connection to be blocked until enough entropy is available.
FILES
- ~/.ssh/identity
- Contains the protocol version 1 RSA authentication identity of the user.
- ~/.ssh/id_dsa
- Contains the protocol version 2 DSA authentication identity of the user.
- ~/.ssh/id_rsa
- Contains the protocol version 2 RSA authentication identity of the user.
Identity files should not be readable by anyone but the user. Note that ssh-add ignores identity files if they are accessible by others.
DIAGNOSTICS
Exit status is 0 on success, 1 if the specified command fails, and 2 if ssh-add is unable to contact the authentication agent.SEE ALSO
ssh(1), ssh-agent1, ssh-keygen1, sshd(8)AUTHORS
OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0.
Index
This document was created by man2html, using the manual pages.
Time: 05:29:11 GMT, December 24, 2015


About Me.
My name is Adeet Phanse and I am currently a Software Engineer at Capital One. I have a degree in Computer Science
from Rensselaer Polytechnic Institute and am interested in web/full stack development. On this website you can find some of my
hobbies/interests as well as projects I have worked on.
Feel free to add me on LinkedIn
Hobbies/Interests
I sell various Magic the Gathering / Yu-Gi-Oh cards that I have collected over the years on these following sites, Tcgplayer.com and eBay.com.
Here are links to my stores!
Ebay -
Tcgplayer -
Computer Science Projects
I have worked on an open source project called Pokemon Snowdown. This game is a Pokemon battle simulator that allows players to test their Pokemon battling sklls against the CPU. I have created the whole wiki for this game, which can be found here .
I have also created a database application in Visual Basic to keep track of membership information for India Foundation of Metropolitan Princeton. More details about both of those projects can be found here .
I have worked on another open source Pokemon game simulator, FullScreen Pokemon which is a TypeScript implementation of the original Pokemon games with an emphasis on extensibility and modularity. I worked on various parts of the game engine, fixed some bugs and even animated some moves! It is a very cool and ambitious project and I would encourage you to check it out or even contribute to it!
I am always working on various websites and hosting them on github, here a few of my most recent ones.
Snake - a simple javascript "snake" like game.
Nostalgia MTG - a Magic the Gathering
pack opening simulator.
Mining Simulator - a cookie clicker - esque mining game.
Clue Generator - a clue scroll reward
generator based on the game Old School Runescape.
Extras
Volunteering Experience
I have a lot of experience volunteering for various organizations. This page will go into more detail.
You can find out more about the India Foundation of Metropolitan Youth Group I helped create here .


| mutate_all {dplyr} | R Documentation |
Scoped verbs (_if
, _at
, _all
) have been superseded by the use of
across()
in an existing verb. See vignette("colwise")
for details.
The scoped variants of mutate()
and transmute()
make it easy to apply
the same transformation to multiple variables. There are three variants:
_all affects every variable
_at affects variables selected with a character vector or vars()
_if affects variables selected with a predicate function:
mutate_all(.tbl, .funs, ...) mutate_if(.tbl, .predicate, .funs, ...) mutate_at(.tbl, .vars, .funs, ..., .cols = NULL) transmute_all(.tbl, .funs, ...) transmute_if(.tbl, .predicate, .funs, ...) transmute_at(.tbl, .vars, .funs, ..., .cols = NULL)
.tbl |
A |
.funs |
A function |
... |
Additional arguments for the function calls in
|
.predicate |
A predicate function to be applied to the columns
or a logical vector. The variables for which |
.vars |
A list of columns generated by |
.cols |
This argument has been renamed to |
A data frame. By default, the newly created columns have the shortest names needed to uniquely identify the output. To force inclusion of a name, even when not needed, name the input (see examples for details).
If applied on a grouped tibble, these operations are not applied
to the grouping variables. The behaviour depends on whether the
selection is implicit (all
and if
selections) or
explicit (at
selections).
Grouping variables covered by explicit selections in
mutate_at()
and transmute_at()
are always an error. Add
-group_cols()
to the vars()
selection to avoid this:
data %>% mutate_at(vars(-group_cols(), ...), myoperation)
Or remove group_vars()
from the character vector of column names:
nms <- setdiff(nms, group_vars(data)) data %>% mutate_at(vars, myoperation)
Grouping variables covered by implicit selections are ignored by
mutate_all()
, transmute_all()
, mutate_if()
, and
transmute_if()
.
The names of the new columns are derived from the names of the input variables and the names of the functions.
if there is only one unnamed function (i.e. if .funs
is an unnamed list
of length one),
the names of the input variables are used to name the new columns;
for _at
functions, if there is only one unnamed variable (i.e.,
if .vars
is of the form vars(a_single_column)
) and .funs
has length
greater than one,
the names of the functions are used to name the new columns;
otherwise, the new names are created by
concatenating the names of the input variables and the names of the
functions, separated with an underscore "_"
.
The .funs
argument can be a named or unnamed list.
If a function is unnamed and the name cannot be derived automatically,
a name of the form "fn#" is used.
Similarly, vars()
accepts named and unnamed arguments.
If a variable in .vars
is named, a new column by that name will be created.
Name collisions in the new columns are disambiguated using a unique suffix.
The functions are maturing, because the naming scheme and the disambiguation algorithm are subject to change in dplyr 0.9.0.
The other scoped verbs, vars()
iris <- as_tibble(iris) # All variants can be passed functions and additional arguments, # purrr-style. The _at() variants directly support strings. Here # we'll scale the variables `height` and `mass`: scale2 <- function(x, na.rm = FALSE) (x - mean(x, na.rm = na.rm)) / sd(x, na.rm) starwars %>% mutate_at(c("height", "mass"), scale2) # -> starwars %>% mutate(across(c("height", "mass"), scale2)) # You can pass additional arguments to the function: starwars %>% mutate_at(c("height", "mass"), scale2, na.rm = TRUE) starwars %>% mutate_at(c("height", "mass"), ~scale2(., na.rm = TRUE)) # -> starwars %>% mutate(across(c("height", "mass"), ~ scale2(.x, na.rm = TRUE))) # You can also supply selection helpers to _at() functions but you have # to quote them with vars(): iris %>% mutate_at(vars(matches("Sepal")), log) iris %>% mutate(across(matches("Sepal"), log)) # The _if() variants apply a predicate function (a function that # returns TRUE or FALSE) to determine the relevant subset of # columns. Here we divide all the numeric columns by 100: starwars %>% mutate_if(is.numeric, scale2, na.rm = TRUE) starwars %>% mutate(across(where(is.numeric), ~ scale2(.x, na.rm = TRUE))) # mutate_if() is particularly useful for transforming variables from # one type to another iris %>% mutate_if(is.factor, as.character) iris %>% mutate_if(is.double, as.integer) # -> iris %>% mutate(across(where(is.factor), as.character)) iris %>% mutate(across(where(is.double), as.integer)) # Multiple transformations ---------------------------------------- # If you want to apply multiple transformations, pass a list of # functions. When there are multiple functions, they create new # variables instead of modifying the variables in place: iris %>% mutate_if(is.numeric, list(scale2, log)) iris %>% mutate_if(is.numeric, list(~scale2(.), ~log(.))) iris %>% mutate_if(is.numeric, list(scale = scale2, log = log)) # -> iris %>% as_tibble() %>% mutate(across(where(is.numeric), list(scale = scale2, log = log))) # When there's only one function in the list, it modifies existing # variables in place. Give it a name to instead create new variables: iris %>% mutate_if(is.numeric, list(scale2)) iris %>% mutate_if(is.numeric, list(scale = scale2))


Eight columns on medium screens (e.g. small desktop and notebook screens).
Stacked on screens smaller than 992 pixels width.
Four columns on medium screens (e.g. small desktop and notebook screens). Stacked on screens smaller than 992 pixels width.
Four columns on medium screens (e.g. small desktop and notebook screens). Stacked on screens smaller than 992 pixels width.
Eight columns on medium screens (e.g. small desktop and notebook screens). Stacked on screens smaller than 992 pixels width.


Hardware
There are no nodes currently registered.
Register Nodes
Additional HTML/CSS templates for Red Hat Openstack Manager
Nodes in Discovery
Assign Roles
Roles Assigned


Mistaking Encapsulation for Abstraction
“Abstract” is a commonly used word in software. I hear it a few times every day. “Can we make an abstraction around this?” “Let’s move this method out to abstract it away.” But, what are we really doing when we create an “abstraction” or when we “abstract”? Are we actually doing what we think we’re doing? What do these terms actually mean, and are we using them correctly?
I’d argue we, including myself, use them too often, and often incorrectly. To create an abstraction, as explained by Rich Hickey, means to draw away, pull apart, or, to use his signature term, decomplect. To truly abstract things away in our programs is an act that disentangles the complexity of our software, and further separates the who from the what, when, where, and why. Abstraction should not be confused with code organization and a mere hiding of complexity. Abstraction’s goal is simplicity, not ease of use.
Hindering that goal is the fact that abstraction is commonly confused with encapsulation. If we come upon a complicated class, we frequently just move some logic out, hide it in another class, and call it “abstracted.” However, this usually doesn’t result in us taking any steps to reduce the complexity of these two classes that we now have. Changing the way some code is encapsulated might be a great way to hide behavior or make it easier to use or re-use, but moving this code around has only hidden the complexity in a different place rather than contributing to its simplicity.
For example, consider a simple method in a Rails app:
class PostController < ApplicationController
def top_comments
comments = Post.find(post_id).comments.where(
# complex sql
)
render :show_comments, locals: { comments: comments }
end
end
One might stumble upon this in an existing codebase and say, “Let’s abstract away that query logic from the controller.” So you may end up with something like this:
class Post < ActiveRecord::Base
def most_recent_upvoted_comments
comments.where(
# complex sql
)
end
end
class PostController < ApplicationController
def top_comments
comments = Post.find(post_id).most_recent_upvoted_comments
render :show_comments, locals: { comments: comments }
end
end
Voila! We’ve abstracted our query to the most_recent_upvoted_comments
method. Or, so we think.
Later, someone else comes along and says, “Why does the model have so many queries? Let’s abstract the
query logic away from the model.” So our query now moves somewhere else:
class CommentQuery
def most_recent_upvoted_comments_for_post(post_id)
Comment.where(
# complex sql
)
end
end
class PostController < ApplicationController
def top_comments
query = CommentQuery.new
comments = query.most_recent_upvoted_comments_for_post(post_id)
render :show_comments, locals: { comments: comments }
end
end
So much abstraction going on! This codebase must be awesome! Well, let’s take a look at whether what we’re doing is actually abstraction. Have either of these refactorings simplified the complexity of our software? I don’t think so. Rather, this just shifted the encapsulation of this logic from one class to another. We’ve simply moved a complex problem—the conflating of our domain model Comment with our database and SQL logic—from place to place. This change in encapsulation might still be beneficial from an ease of use standpoint, but we haven’t solved our complexity problem. The real abstraction to be made here is separating the what—our domain object, a Comment—from how it is stored and found. In this specific example, when we’re working with ActiveRecord, this combination is just a reality that we’ve come to accept.
So, what might an actual abstraction around this problem look like? Well, to borrow another heuristic from Hickey, making things simpler usually necessitates more things—more classes, or modules, or namespaces that each do one simple thing. We want to “decomplect” our codebase by abstracting complex operations to smaller, simpler, more composable pieces. In our example, we can start by separating how a Comment is represented in our code from how it is stored:
class Comment
attr_reader :post_id :text
def initialize(attributes)
@post_id = attributes[:post_id]
@text = attributes[:text]
end
end
class CommentRepository
def most_recent_upvoted(filter = {})
results = db_connection.select(:post_id, :text)
.from(:comments)
.where(
# complex sql
)
results.map { |result| Comment.new(result) }
end
end
class PostController < ApplicationController
def top_comments
repository = CommentRepository.new
comments = repository.most_recent_upvoted(post_id: post_id)
render :show_comments, locals: { comments: comments }
end
end
Now, we’ve eliminated the back and forth debate of, “Should this query go in the controller, or the model, or a query object?” The answer is now, clearly, none of the above. SQL and database logic for a Comment should be completely disentwined from the rest of our program.
After this abstraction, a Comment can just be a structure for our comment data, our controller can just ask the correct repository to give it some Comments, and the repository can truly abstract away our query logic. The repository is an abstraction on top of our data store that the controller can depend on to return Comment objects—what it needs—without anything else having to worry about how to get Comment objects. Contrast this with the previous examples, where anything wanting to get Comment objects also had to know the details of how to get Comments. Now, the only way to get what we want is to go through the repository, and the how is simply the method defined on the repository. The details of how could change without anything else caring about not being able to get Comments. We’ve disentangled the two knotted threads of a controller and model into three straight threads of controller, model, and data storage.
To further demonstrate some abstraction of the PostController, what if it also had a create_comment
method that used the CommentRepository:
class Comment
attr_reader :post_id :text
def initialize(attributes)
@post_id = attributes[:post_id]
@text = attributes[:text]
end
def valid?
text && text.length.between(5, 100)
end
end
class PostController < ApplicationController
def create_comment
commment = Comment.new(comment_params)
if comment.valid?
repository = CommentRepository.new
repository.save_comment(comment)
redirect_to comment
else
render :new, locals: { error: "Invalid comment" }
end
end
end
We may want to move our specific validation logic into some validation modules to hide the specifics of any validations on the Comment and to reduce the duplication between other models that use the same validations.
class Comment
include Validatable
extend Validations
validate_length :text, 5, 100
attr_reader :post_id :text
def initialize(attributes)
@post_id = attributes[:post_id]
@text = attributes[:text]
end
end
This is a great way to encapsulate our common validations. It’s really easy to share this logic between any other models in our code. But, we should be asking ourselves how we can abstract why a Comment may not be valid from the model itself. Again, this requires more pieces:
class Comment
attr_reader :post_id :text
def initialize(attributes)
@post_id = attributes[:post_id]
@text = attributes[:text]
end
end
class CommentForm
def initialize(params)
@params = params
end
def data
{
text: params[:text],
post_id: params[:post_id]
}
end
def valid?
params[:text] &&
params[:text].length.between?(5, 10)
end
end
class PostController < ApplicationController
def create_comment
form = CommentForm.new(comment_params)
if form.valid?
repository = CommentRepository.new
comment = repository.create_comment(form.data)
redirect_to comment
else
render :new, locals: { error: "Invalid comment" }
end
end
end
Now neither the Comment nor the PostController knows why a comment is valid or invalid.
The why is the responsibility of the form object.
Is this as easy to use as the first example? Probably not—we have more objects now.
But each piece is much simpler and can be composed in our create_comment
method
in a way that does the same thing in a much less complected way. We could still encapsulate
some shared validations to use in the CommentForm to make validation in other form objects
easier, but it won’t be abstracting the why any further from the form object.
Reduce Incidental Complexity
Einstein repeatedly argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer. Much of the complexity he must master is arbitrary complexity, forced without rhyme or reason by the many human institutions and systems to which his interfaces must conform. These differ from interface to interface, and from time to time, not because of necessity but only because they were designed by different people, rather than by God.
— Frederick P. Brooks, The Mythical Man-Month
Next time you or I start to utter the “a” word, we should stop and think about whether we’re talking about separating our whats and whens from our hows and whys, or just shifting the encapsulation to make incidental complexity easier to manage. As Brooks wrote, we don’t have a software god to continuously untangle our messes, so let’s take care to use both of our tools—abstraction and encapsulation—appropriately for reducing complexity when we can, and making things easier while we can’t.


Release 0.6.1¶
statsmodels 0.6.1 is a bugfix release. All users are encouraged to upgrade to 0.6.1.
See the list of fixed issues for specific backported fixes.
Release 0.6.0¶
statsmodels 0.6.0 is another large release. It is the result of the work of 37 authors over the last year and includes over 1500 commits. It contains many new features, improvements, and bug fixes detailed below.
See the list of fixed issues for specific closed issues.
The following major new features appear in this version.
Generalized Estimating Equations¶
Generalized Estimating Equations (GEE) provide an approach to handling dependent data in a regression analysis. Dependent data arise commonly in practice, such as in a longitudinal study where repeated observations are collected on subjects. GEE can be viewed as an extension of the generalized linear modeling (GLM) framework to the dependent data setting. The familiar GLM families such as the Gaussian, Poisson, and logistic families can be used to accommodate dependent variables with various distributions.
Here is an example of GEE Poisson regression in a data set with four count-type repeated measures per subject, and three explanatory covariates.
import numpy as np
import statsmodels.api as sm
import statsmodels.formula.api as smf
data = sm.datasets.get_rdataset("epil", "MASS").data
md = smf.gee("y ~ age + trt + base", "subject", data,
cov_struct=sm.cov_struct.Independence(),
family=sm.families.Poisson())
mdf = md.fit()
print mdf.summary()
The dependence structure in a GEE is treated as a nuisance parameter and is modeled in terms of a “working dependence structure”. The statsmodels GEE implementation currently includes five working dependence structures (independent, exchangeable, autoregressive, nested, and a global odds ratio for working with categorical data). Since the GEE estimates are not maximum likelihood estimates, alternative approaches to some common inference procedures have been developed. The statsmodels GEE implementation currently provides standard errors, Wald tests, score tests for arbitrary parameter contrasts, and estimates and tests for marginal effects. Several forms of standard errors are provided, including robust standard errors that are approximately correct even if the working dependence structure is misspecified.
Seasonality Plots¶
Adding functionality to look at seasonality in plots. Two new functions are sm.graphics.tsa.month_plot
and sm.graphics.tsa.quarter_plot
. Another function sm.graphics.tsa.seasonal_plot
is available for power users.
import statsmodels.api as sm
import pandas as pd
dta = sm.datasets.elnino.load_pandas().data
dta['YEAR'] = dta.YEAR.astype(int).astype(str)
dta = dta.set_index('YEAR').T.unstack()
dates = map(lambda x : pd.datetools.parse('1 '+' '.join(x)),
dta.index.values)
dta.index = pd.DatetimeIndex(dates, freq='M')
fig = sm.tsa.graphics.month_plot(dta)
Seasonal Decomposition¶
We added a naive seasonal decomposition tool in the same vein as R’s decompose
. This function can be found as sm.tsa.seasonal_decompose
.
import statsmodels.api as sm
dta = sm.datasets.co2.load_pandas().data
# deal with missing values. see issue
dta.co2.interpolate(inplace=True)
res = sm.tsa.seasonal_decompose(dta.co2)
res.plot()
(Source code, png, hires.png, pdf)
Addition of Linear Mixed Effects Models (MixedLM)
Linear Mixed Effects Models¶
Linear Mixed Effects models are used for regression analyses involving dependent data. Such data arise when working with longitudinal and other study designs in which multiple observations are made on each subject. Two specific mixed effects models are “random intercepts models”, where all responses in a single group are additively shifted by a value that is specific to the group, and “random slopes models”, where the values follow a mean trajectory that is linear in observed covariates, with both the slopes and intercept being specific to the group. The statsmodels MixedLM implementation allows arbitrary random effects design matrices to be specified for the groups, so these and other types of random effects models can all be fit.
Here is an example of fitting a random intercepts model to data from a longitudinal study:
import statsmodels.api as sm
import statsmodels.formula.api as smf
data = sm.datasets.get_rdataset('dietox', 'geepack', cache=True).data
md = smf.mixedlm("Weight ~ Time", data, groups=data["Pig"])
mdf = md.fit()
print mdf.summary()
The statsmodels LME framework currently supports post-estimation inference via Wald tests and confidence intervals on the coefficients, profile likelihood analysis, likelihood ratio testing, and AIC. Some limitations of the current implementation are that it does not support structure more complex on the residual errors (they are always homoscedastic), and it does not support crossed random effects. We hope to implement these features for the next release.
Wrapping X-12-ARIMA/X-13-ARIMA¶
It is now possible to call out to X-12-ARIMA or X-13ARIMA-SEATS from statsmodels. These libraries must be installed separately.
import statsmodels.api as sm
dta = sm.datasets.co2.load_pandas().data
dta.co2.interpolate(inplace=True)
dta = dta.resample('M').last()
res = sm.tsa.x13_arima_select_order(dta.co2)
print(res.order, res.sorder)
results = sm.tsa.x13_arima_analysis(dta.co2)
fig = results.plot()
fig.set_size_inches(12, 5)
fig.tight_layout()
Other important new features¶
The AR(I)MA models now have a
plot_predict
method to plot forecasts and confidence intervals.The Kalman filter Cython code underlying AR(I)MA estimation has been substantially optimized. You can expect speed-ups of one to two orders of magnitude.
Added
sm.tsa.arma_order_select_ic
. A convenience function to quickly get the information criteria for use in tentative order selection of ARMA processes.Plotting functions for timeseries is now imported under the
sm.tsa.graphics
namespace in addition tosm.graphics.tsa
.New distributions.ExpandedNormal class implements the Edgeworth expansion for weakly non-normal distributions.
New datasets: Added new datasets for examples.
sm.datasets.co2
is a univariate time-series dataset of weekly co2 readings. It exhibits a trend and seasonality and has missing values.Added robust skewness and kurtosis estimators in
sm.stats.stattools.robust_skewness
andsm.stats.stattools.robust_kurtosis
, respectively. An alternative robust measure of skewness has been added insm.stats.stattools.medcouple
.New functions added to correlation tools: corr_nearest_factor finds the closest factor-structured correlation matrix to a given square matrix in the Frobenius norm; corr_thresholded efficiently constructs a hard-thresholded correlation matrix using sparse matrix operations.
New dot_plot in graphics: A dotplot is a way to visualize a small dataset in a way that immediately conveys the identity of every point in the plot. Dotplots are commonly seen in meta-analyses, where they are known as “forest plots”, but can be used in many other settings as well. Most tables that appear in research papers can be represented graphically as a dotplot.
statsmodels has added custom warnings to
statsmodels.tools.sm_exceptions
. By default all of these warnings will be raised whenever appropriate. Usewarnings.simplefilter
to turn them off, if desired.Allow control over the namespace used to evaluate formulas with patsy via the
eval_env
keyword argument. See the Namespaces documentation for more information.
Major Bugs fixed¶
NA-handling with formulas is now correctly handled. Issue #805, Issue #1877.
Better error messages when an array with an object dtype is used. Issue #2013.
ARIMA forecasts were hard-coded for order of integration with
d = 1
. Issue #1562.
Backwards incompatible changes and deprecations¶
RegressionResults.norm_resid is now a readonly property, rather than a function.
The function
statsmodels.tsa.filters.arfilter
has been removed. This did not compute a recursive AR filter but was instead a convolution filter. Two new functions have been added with clearer namessm.tsa.filters.recursive_filter
andsm.tsa.filters.convolution_filter
.
Development summary and credits¶
The previous version (0.5.0) was released August 14, 2014. Since then we have closed a total of 528 issues, 276 pull requests, and 252 regular issues. Refer to the detailed list for more information.
This release is a result of the work of the following 37 authors who contributed a total of 1531 commits. If for any reason we have failed to list your name in the below, please contact us:
A blurb about the number of changes and the contributors list.
Alex Griffing <argriffi-at-ncsu.edu>
Alex Parij <paris.alex-at-gmail.com>
Ana Martinez Pardo <anamartinezpardo-at-gmail.com>
Andrew Clegg <andrewclegg-at-users.noreply.github.com>
Ben Duffield <bduffield-at-palantir.com>
Chad Fulton <chad-at-chadfulton.com>
Chris Kerr <cjk34-at-cam.ac.uk>
Eric Chiang <eric.chiang.m-at-gmail.com>
Evgeni Burovski <evgeni-at-burovski.me>
gliptak <gliptak-at-gmail.com>
Hans-Martin von Gaudecker <hmgaudecker-at-uni-bonn.de>
Jan Schulz <jasc-at-gmx.net>
jfoo <jcjf1983-at-gmail.com>
Joe Hand <joe.a.hand-at-gmail.com>
Josef Perktold <josef.pktd-at-gmail.com>
jsphon <jonathanhon-at-hotmail.com>
Justin Grana <jg3705a-at-student.american.edu>
Kerby Shedden <kshedden-at-umich.edu>
Kevin Sheppard <kevin.sheppard-at-economics.ox.ac.uk>
Kyle Beauchamp <kyleabeauchamp-at-gmail.com>
Lars Buitinck <l.buitinck-at-esciencecenter.nl>
Max Linke <max_linke-at-gmx.de>
Miroslav Batchkarov <mbatchkarov-at-gmail.com>
m <mngu2382-at-gmail.com>
Padarn Wilson <padarn-at-gmail.com>
Paul Hobson <pmhobson-at-gmail.com>
Pietro Battiston <me-at-pietrobattiston.it>
Radim Řehůřek <radimrehurek-at-seznam.cz>
Ralf Gommers <ralf.gommers-at-googlemail.com>
Richard T. Guy <richardtguy84-at-gmail.com>
Roy Hyunjin Han <rhh-at-crosscompute.com>
Skipper Seabold <jsseabold-at-gmail.com>
Tom Augspurger <thomas-augspurger-at-uiowa.edu>
Trent Hauck <trent.hauck-at-gmail.com>
Valentin Haenel <valentin.haenel-at-gmx.de>
Vincent Arel-Bundock <varel-at-umich.edu>
Yaroslav Halchenko <debian-at-onerussian.com>
Note
Obtained by running git log v0.5.0..HEAD --format='* %aN <%aE>' | sed 's/@/\-at\-/' | sed 's/<>//' | sort -u
.
Issues closed in the 0.6.0 development cycle¶
Issues closed in 0.6.0¶
GitHub stats for 2013/08/14 - 2014/10/15 (tag: v0.5.0)
We closed a total of 528 issues, 276 pull requests and 252 regular issues;
this is the full list (generated with the script tools/github_stats.py
):
This list is automatically generated and may be incomplete.
Pull Requests (276):
PR #2044: ENH: Allow unit interval for binary models. Closes #2040.
PR #1426: ENH: Import arima_process stuff into tsa.api
PR #2042: Fix two minor typos in contrast.py
PR #2034: ENH: Handle missing for extra data with formulas
PR #2035: MAINT: Remove deprecated code for 0.6
PR #1325: ENH: add the Edgeworth expansion based on the normal distribution
PR #2032: DOC: What it is what it is.
PR #2031: ENH: Expose patsy eval_env to users.
PR #2028: ENH: Fix numerical issues in links and families.
PR #2029: DOC: Fix versions to match other docs.
PR #1647: ENH: Warn on non-convergence.
PR #2014: BUG: Fix forecasting for ARIMA with d == 2
PR #2013: ENH: Better error message on object dtype
PR #2012: BUG: 2d 1 columns -> 1d. Closes #322.
PR #2009: DOC: Update after refactor. Use code block.
PR #2008: ENH: Add wrapper for MixedLM
PR #1954: ENH: PHReg formula improvements
PR #2007: BLD: Fix build issues
PR #2006: BLD: Do not generate cython on clean. Closes #1852.
PR #2000: BLD: Let pip/setuptools handle dependencies that are not installed at all.
PR #1999: Gee offset exposure 1994 rebased
PR #1998: BUG/ENH Lasso emptymodel rebased
PR #1989: BUG/ENH: WLS generic robust cov_type did not use whitened,
PR #1587: ENH: Wrap X12/X13-ARIMA AUTOMDL. Closes #442.
PR #1563: ENH: Add plot_predict method to ARIMA models.
PR #1995: BUG: Fix issue #1993
PR #1981: ENH: Add api for covstruct. Clear __init__. Closes #1917.
PR #1996: DEV: Ignore .venv file.
PR #1982: REF: Rename jac -> score_obs. Closes #1785.
PR #1987: BUG tsa pacf, base bootstrap
PR #1986: Bug multicomp 1927 rebased
PR #1984: Docs add gee.rst
PR #1985: Bug uncentered latex table 1929 rebased
PR #1983: BUG: Fix compat asunicode
PR #1574: DOC: Fix math.
PR #1980: DOC: Documentation fixes
PR #1974: REF/Doc beanplot change default color, add notebook
PR #1978: ENH: Check input to binary models
PR #1979: BUG: Typo
PR #1976: ENH: Add _repr_html_ to SimpleTable
PR #1977: BUG: Fix import refactor victim.
PR #1975: BUG: Yule walker cast to float
PR #1973: REF: Move and expose webuse
PR #1972: TST: Add testing against NumPy 1.9 and matplotlib 1.4
PR #1939: ENH: Binstar build files
PR #1952: REF/DOC: Misc
PR #1940: REF: refactor and speedup of mixed LME
PR #1937: ENH: Quick access to online documentation
PR #1942: DOC: Rename Change README type to rst
PR #1938: ENH: Enable Python 3.4 testing
PR #1924: Bug gee cov type 1906 rebased
PR #1870: robust covariance, cov_type in fit
PR #1859: BUG: Do not use negative indexing with k_ar == 0. Closes #1858.
PR #1914: BUG: LikelihoodModelResults.pvalues use df_resid_inference
PR #1899: TST: fix assert_equal for pandas index
PR #1895: Bug multicomp pandas
PR #1894: BUG fix more ix indexing cases for pandas compat
PR #1889: BUG: fix ytick positions closes #1561
PR #1887: Bug pandas compat asserts
PR #1888: TST test_corrpsd Test_Factor: add noise to data
PR #1886: BUG pandas 0.15 compatibility in grouputils labels
PR #1885: TST: corr_nearest_factor, more informative tests
PR #1884: Fix: Add compat code for pd.Categorical in pandas>=0.15
PR #1883: BUG: add _ctor_param to TransfGen distributions
PR #1872: TST: fix _infer_freq for pandas .14+ compat
PR #1867: Ref covtype fit
PR #1865: Disable tst distribution 1864
PR #1856: _spg_optim returns history of objective function values
PR #1854: BLD: Do not hard-code path for building notebooks. Closes #1249
PR #1851: MAINT: Cor nearest factor tests
PR #1847: Newton regularize
PR #1623: BUG Negbin fit regularized
PR #1797: BUG/ENH: fix and improve constant detection
PR #1770: TST: anova with -1 noconstant, add tests
PR #1837: Allow group variable to be passed as variable name when using formula
PR #1839: BUG: GEE score
PR #1830: BUG/ENH Use t
PR #1832: TST error with scipy 0.14 location distribution class
PR #1827: fit_regularized for linear models rebase 1674
PR #1825: Phreg 1312 rebased
PR #1826: Lme api docs
PR #1824: Lme profile 1695 rebased
PR #1823: Gee cat subclass 1694 rebase
PR #1781: ENH: Glm add score_obs
PR #1821: Glm maint #1734 rebased
PR #1820: BUG: revert change to conf_int in PR #1819
PR #1819: Docwork
PR #1772: REF: cov_params allow case of only cov_params_default is defined
PR #1771: REF numpy >1.9 compatibility, indexing into empty slice closes #1754
PR #1769: Fix ttest 1d
PR #1766: TST: TestProbitCG increase bound for fcalls closes #1690
PR #1709: BLD: Made build extensions more flexible
PR #1714: WIP: fit_constrained
PR #1706: REF: Use fixed params in test. Closes #910.
PR #1701: BUG: Fix faulty logic. Do not raise when missing=’raise’ and no missing data.
PR #1699: TST/ENH StandardizeTransform, reparameterize TestProbitCG
PR #1697: Fix for statsmodels/statsmodels#1689
PR #1692: OSL Example: redundant cell in example removed
PR #1688: Kshedden mixed rebased of #1398
PR #1629: Pull request to fix bandwidth bug in issue 597
PR #1666: Include pyx in sdist but do not install
PR #1683: TST: GLM shorten random seed closes #1682
PR #1681: Dotplot kshedden rebased of 1294
PR #1679: BUG: Fix problems with predict handling offset and exposure
PR #1677: Update docstring of RegressionModel.predict()
PR #1635: Allow offset and exposure to be used together with log link; raise except…
PR #1676: Tests for SVAR
PR #1671: ENH: avoid hard-listed bandwidths – use present dictionary (+typos fixed)
PR #1643: Allow matrix structure in covariance matrices to be exploited
PR #1657: BUG: Fix refactor victim.
PR #1630: DOC: typo, “intercept”
PR #1619: MAINT: Dataset docs cleanup and automatic build of docs
PR #1612: BUG/ENH Fix negbin exposure #1611
PR #1610: BUG/ENH fix llnull, extra kwds to recreate model
PR #1582: BUG: wls_prediction_std fix weight handling, see 987
PR #1613: BUG: Fix proportions allpairs #1493
PR #1607: TST: adjust precision, CI Debian, Ubuntu testing
PR #1603: ENH: Allow start_params in GLM
PR #1600: CLN: Regression plots fixes
PR #1592: DOC: Additions and fixes
PR #1520: CLN: Refactored so that there is no longer a need for 2to3
PR #1585: Cor nearest 1384 rebased
PR #1553: Gee maint 1528 rebased
PR #1583: BUG: For ARMA(0,0) ensure 1d bse and fix summary.
PR #1580: DOC: Fix links. [skip ci]
PR #1572: DOC: Fix link title [skip ci]
PR #1566: BLD: Fix copy paste path error for >= 3.3 Windows builds
PR #1524: ENH: Optimize Cython code. Use scipy blas function pointers.
PR #1560: ENH: Allow ARMA(0,0) in order selection
PR #1559: MAINT: Recover lost commits from vbench PR
PR #1554: Silenced test output introduced in medcouple
PR #1234: ENH: Robust skewness, kurtosis and medcouple measures
PR #1484: ENH: Add naive seasonal decomposition function
PR #1551: COMPAT: Fix failing test on Python 2.6
PR #1472: ENH: using human-readable group names instead of integer ids in MultiComparison
PR #1437: ENH: accept non-int definitions of cluster groups
PR #1550: Fix test gmm poisson
PR #1549: TST: Fix locally failing tests.
PR #1121: WIP: Refactor optimization code.
PR #1547: COMPAT: Correct bit_length for 2.6
PR #1545: MAINT: Fix missed usage of deprecated tools.rank
PR #1196: REF: ensure O(N log N) when using fft for acf
PR #1154: DOC: Add links for build machines.
PR #1546: DOC: Fix link to wrong notebook
PR #1383: MAINT: Deprecate rank in favor of np.linalg.matrix_rank
PR #1432: COMPAT: Add NumpyVersion from scipy
PR #1438: ENH: Option to avoid “center” environment.
PR #1544: BUG: Travis miniconda
PR #1510: CLN: Improve warnings to avoid generic warnings messages
PR #1543: TST: Suppress RuntimeWarning for L-BFGS-B
PR #1507: CLN: Silence test output
PR #1540: BUG: Correct derivative for exponential transform.
PR #1536: BUG: Restores coveralls for a single build
PR #1535: BUG: Fixes for 2.6 test failures, replacing astype(str) with apply(str)
PR #1523: Travis miniconda
PR #1533: DOC: Fix link to code on github
PR #1531: DOC: Fix stale links with linkcheck
PR #1530: DOC: Fix link
PR #1527: DOCS: Update docs add FAQ page
PR #1525: DOC: Update with Python 3.4 build notes
PR #1518: DOC: Ask for release notes and example.
PR #1516: DOC: Update examples contributing docs for current practice.
PR #1517: DOC: Be clear about data attribute of Datasets
PR #1515: DOC: Fix broken link
PR #1514: DOC: Fix formula import convention.
PR #1506: BUG: Format and decode errors in Python 2.6
PR #1505: TST: Test co2 load_data for Python 3.
PR #1504: BLD: New R versions require NAMESPACE file. Closes #1497.
PR #1483: ENH: Some utility functions for working with dates
PR #1482: REF: Prefer filters.api to __init__
PR #1481: ENH: Add weekly co2 dataset
PR #1474: DOC: Add plots for standard filter methods.
PR #1471: DOC: Fix import
PR #1470: DOC/BLD: Log code exceptions from nbgenerate
PR #1469: DOC: Fix bad links
PR #1468: MAINT: CSS fixes
PR #1463: DOC: Remove defunct argument. Change default kw. Closes #1462.
PR #1452: STY: import pandas as pd
PR #1458: BUG/BLD: exclude sandbox in relative path, not absolute
PR #1447: DOC: Only build and upload docs if we need to.
PR #1445: DOCS: Example landing page
PR #1436: DOC: Fix auto doc builds.
PR #1431: DOC: Add default for getenv. Fix paths. Add print_info
PR #1429: MAINT: Use ip_directive shipped with IPython
PR #1427: TST: Make tests fit quietly
PR #1424: ENH: Consistent results for transform_slices
PR #1421: ENH: Add grouping utilities code
PR #1419: Gee 1314 rebased
PR #1414: TST temporarily rename tests probplot other to skip them
PR #1403: Bug norm expan shapes
PR #1417: REF: Let subclasses keep kwds attached to data.
PR #1416: ENH: Make handle_data overwritable by subclasses.
PR #1410: ENH: Handle missing is none
PR #1402: REF: Expose missing data handling as classmethod
PR #1387: MAINT: Fix failing tests
PR #1406: MAINT: Tools improvements
PR #1404: Tst fix genmod link tests
PR #1396: REF: Multipletests reduce memory usage
PR #1380: DOC :Update vector_ar.rst
PR #1381: BLD: Do not check dependencies on egg_info for pip. Closes #1267.
PR #1302: BUG: Fix typo.
PR #1375: STY: Remove unused imports and comment out unused libraries in setup.py
PR #1143: DOC: Update backport notes for new workflow.
PR #1374: ENH: Import tsaplots into tsa namespace. Closes #1359.
PR #1369: STY: Pep-8 cleanup
PR #1370: ENH: Support ARMA(0,0) models.
PR #1368: STY: Pep 8 cleanup
PR #1367: ENH: Make sure mle returns attach to results.
PR #1365: STY: Import and pep 8 cleanup
PR #1364: ENH: Get rid of hard-coded lbfgs. Closes #988.
PR #1363: BUG: Fix typo.
PR #1361: ENH: Attach mlefit to results not model.
PR #1360: ENH: Import adfuller into tsa namespace
PR #1346: STY: PEP-8 Cleanup
PR #1344: BUG: Use missing keyword given to ARMA.
PR #1340: ENH: Protect against ARMA convergence failures.
PR #1334: ENH: ARMA order select convenience function
PR #1339: Fix typos
PR #1336: REF: Get rid of plain assert.
PR #1333: STY: __all__ should be after imports.
PR #1332: ENH: Add Bunch object to tools.
PR #1331: ENH: Always use unicode.
PR #1329: BUG: Decode metadata to utf-8. Closes #1326.
PR #1330: DOC: Fix typo. Closes #1327.
PR #1185: Added support for pandas when pandas was installed directly from git trunk
PR #1315: MAINT: Change back to path for build box
PR #1305: TST: Update hard-coded path.
PR #1290: ENH: Add seasonal plotting.
PR #1296: BUG/TST: Fix ARMA forecast when start == len(endog). Closes #1295
PR #1292: DOC: cleanup examples folder and webpage
PR #1286: Make sure PeriodIndex passes through tsa. Closes #1285.
PR #1271: Silverman enhancement - Issue #1243
PR #1264: Doc work GEE, GMM, sphinx warnings
PR #1179: REF/TST: ProbPlot now uses resettable_cache and added some kwargs to plotting fxns
PR #1225: Sandwich mle
PR #1258: Gmm new rebased
PR #1255: ENH add GEE to genmod
PR #1254: REF: Results.predict convert to array and adjust shape
PR #1192: TST: enable tests for llf after change to WLS.loglike see #1170
PR #1253: Wls llf fix
PR #1233: sandbox kernels bugs uniform kernel and confint
PR #1240: Kde weights 1103 823
PR #1228: Add default value tags to adfuller() docs
PR #1198: fix typo
PR #1230: BUG: numerical precision in resid_pearson with perfect fit #1229
PR #1214: Compare lr test rebased
PR #1200: BLD: do not install *.pyx *.c MANIFEST.in
PR #1202: MAINT: Sort backports to make applying easier.
PR #1157: Tst precision master
PR #1161: add a fitting interface for simultaneous log likelihood and score, for lbfgs, tested with MNLogit
PR #1160: DOC: update scipy version from 0.7 to 0.9.0
PR #1147: ENH: add lbfgs for fitting
PR #1156: ENH: Raise on 0,0 order models in AR(I)MA. Closes #1123
PR #1149: BUG: Fix small data issues for ARIMA.
PR #1092: Fixed duplicate svd in RegressionModel
PR #1139: TST: Silence tests
PR #1135: Misc style
PR #1088: ENH: add predict_prob to poisson
PR #1125: REF/BUG: Some GLM cleanup. Used trimmed results in NegativeBinomial variance.
PR #1124: BUG: Fix ARIMA prediction when fit without a trend.
PR #1118: DOC: Update gettingstarted.rst
PR #1117: Update ex_arma2.py
PR #1107: REF: Deprecate stand_mad. Add center keyword to mad. Closes #658.
PR #1089: ENH: exp(poisson.logpmf()) for poisson better behaved.
PR #1077: BUG: Allow 1d exog in ARMAX forecasting.
PR #1075: BLD: Fix build issue on some versions of easy_install.
PR #1071: Update setup.py to fix broken install on OSX
PR #1052: DOC: Updating contributing docs
PR #1136: RLS: Add IPython tools for easier backporting of issues.
PR #1091: DOC: minor git typo
PR #1082: coveralls support
PR #1072: notebook examples title cell
PR #1056: Example: reg diagnostics
PR #1057: COMPAT: Fix py3 caching for get_rdatasets.
PR #1045: DOC/BLD: Update from nbconvert to IPython 1.0.
PR #1026: DOC/BLD: Add LD_LIBRARY_PATH to env for docs build.
Issues (252):
Issue #2040: enh: fractional Logit, Probit
Issue #1220: missing in extra data (example sandwiches, robust covariances)
Issue #1877: error with GEE on missing data.
Issue #805: nan with categorical in formula
Issue #2036: test in links require exact class so Logit cannot work in place of logit
Issue #2010: Go over deprecations again for 0.6.
Issue #1303: patsy library not automatically installed
Issue #2024: genmod Links numerical improvements
Issue #2025: GEE requires exact import for cov_struct
Issue #2017: Matplotlib warning about too many figures
Issue #724: check warnings
Issue #1562: ARIMA forecasts are hard-coded for d=1
Issue #880: DataFrame with bool type not cast correctly.
Issue #1992: MixedLM style
Issue #322: acf / pacf do not work on pandas objects
Issue #1317: AssertionError: attr is not equal [dtype]: dtype(‘object’) != dtype(‘datetime64[ns]’)
Issue #1875: dtype bug object arrays (raises in clustered standard errors code)
Issue #1842: dtype object, glm.fit() gives AttributeError: sqrt
Issue #1300: Doc errors, missing
Issue #1164: RLM cov_params, t_test, f_test do not use bcov_scaled
Issue #1019: 0.6.0 Roadmap
Issue #554: Prediction Standard Errors
Issue #333: ENH tools: squeeze in R export file
Issue #1990: MixedLM does not have a wrapper
Issue #1897: Consider depending on setuptools in setup.py
Issue #2003: pip install now fails silently
Issue #1852: do not cythonize when cleaning up
Issue #1991: GEE formula interface does not take offset/exposure
Issue #442: Wrap x-12 arima
Issue #1993: MixedLM bug
Issue #1917: API: GEE access to genmod.covariance_structure through api
Issue #1785: REF: rename jac -> score_obs
Issue #1969: pacf has incorrect standard errors for lag 0
Issue #1434: A small bug in GenericLikelihoodModelResults.bootstrap()
Issue #1408: BUG test failure with tsa_plots
Issue #1337: DOC: HCCM are now available for WLS
Issue #546: influence and outlier documentation
Issue #1532: DOC: Related page is out of date
Issue #1386: Add minimum matplotlib to docs
Issue #1068: DOC: keeping documentation of old versions on sourceforge
Issue #329: link to examples and datasets from module pages
Issue #1804: PDF documentation for statsmodels
Issue #202: Extend robust standard errors for WLS/GLS
Issue #1519: Link to user-contributed examples in docs
Issue #1053: inconvenient: logit when endog is (1,2) instead of (0,1)
Issue #1555: SimpleTable: add repr html for ipython notebook
Issue #1366: Change default start_params to .1 in ARMA
Issue #1869: yule_walker (from statsmodels.regression) raises exception when given an integer array
Issue #1651: statsmodels.tsa.ar_model.ARResults.predict
Issue #1738: GLM robust sandwich covariance matrices
Issue #1779: Some directories under statsmodels dont have __init_.py
Issue #1242: No support for (0, 1, 0) ARIMA Models
Issue #1571: expose webuse, use cache
Issue #1860: ENH/BUG/DOC: Bean plot should allow for separate widths of bean and violins.
Issue #1831: TestRegressionNM.test_ci_beta2 i386 AssertionError
Issue #1079: bugfix release 0.5.1
Issue #1338: Raise Warning for HCCM use in WLS/GLS
Issue #1430: scipy min version / issue
Issue #276: memoize, last argument wins, how to attach sandwich to Results?
Issue #1943: REF/ENH: LikelihoodModel.fit optimization, make hessian optional
Issue #1957: BUG: Re-create OLS model using _init_keys
Issue #1905: Docs: online docs are missing GEE
Issue #1898: add python 3.4 to continuous integration testing
Issue #1684: BUG: GLM NegativeBinomial: llf ignores offset and exposure
Issue #1256: REF: GEE handling of default covariance matrices
Issue #1760: Changing covariance_type on results
Issue #1906: BUG: GEE default covariance is not used
Issue #1931: BUG: GEE subclasses NominalGEE do not work with pandas exog
Issue #1904: GEE Results does not have a Wrapper
Issue #1918: GEE: required attributes missing, df_resid
Issue #1919: BUG GEE.predict uses link instead of link.inverse
Issue #1858: BUG: arimax forecast should special case k_ar == 0
Issue #1903: BUG: pvalues for cluster robust, with use_t do not use df_resid_inference
Issue #1243: kde silverman bandwidth for non-gaussian kernels
Issue #1866: Pip dependencies
Issue #1850: TST test_corr_nearest_factor fails on Ubuntu
Issue #292: python 3 examples
Issue #1868: ImportError: No module named compat [ from statsmodels.compat import lmap ]
Issue #1890: BUG tukeyhsd nan in group labels
Issue #1891: TST test_gmm outdated pandas, compat
Issue #1561: BUG plot for tukeyhsd, MultipleComparison
Issue #1864: test failure sandbox distribution transformation with scipy 0.14.0
Issue #576: Add contributing guidelines
Issue #1873: GenericLikelihoodModel is not picklable
Issue #1822: TST failure on Ubuntu pandas 0.14.0 , problems with frequency
Issue #1249: Source directory problem for notebook examples
Issue #1855: anova_lm throws error on models created from api.ols but not formula.api.ols
Issue #1853: a large number of hardcoded paths
Issue #1792: R² adjusted strange after including interaction term
Issue #1794: REF: has_constant, k_constant, include implicit constant detection in base
Issue #1454: NegativeBinomial missing fit_regularized method
Issue #1615: REF DRYing fit methods
Issue #1453: Discrete NegativeBinomialModel regularized_fit ValueError: matrices are not aligned
Issue #1836: BUG Got an TypeError trying to import statsmodels.api
Issue #1829: BUG: GLM summary show “t” use_t=True for summary
Issue #1828: BUG summary2 does not propagate/use use_t
Issue #1812: BUG/ REF conf_int and use_t
Issue #1835: Problems with installation using easy_install
Issue #1801: BUG ‘f_gen’ missing in scipy 0.14.0
Issue #1803: Error revealed by numpy 1.9.0r1
Issue #1834: stackloss
Issue #1728: GLM.fit maxiter=0 incorrect
Issue #1795: singular design with offset ?
Issue #1730: ENH/Bug cov_params, generalize, avoid ValueError
Issue #1754: BUG/REF: assignment to slices in numpy >= 1.9 (emplike)
Issue #1409: GEE test errors on Debian Wheezy
Issue #1521: ubuntu failures: tsa_plot and grouputils
Issue #1415: test failure test_arima.test_small_data
Issue #1213: df_diff in anova_lm
Issue #1323: Contrast Results after t_test summary broken for 1 parameter
Issue #109: TestProbitCG failure on Ubuntu
Issue #1690: TestProbitCG: 8 failing tests (Python 3.4 / Ubuntu 12.04)
Issue #1763: Johansen method does not give correct index values
Issue #1761: doc build failures: ipython version ? ipython directive
Issue #1762: Unable to build
Issue #1745: UnicodeDecodeError raised by get_rdataset(“Guerry”, “HistData”)
Issue #611: test failure foreign with pandas 0.7.3
Issue #1700: faulty logic in missing handling
Issue #1648: ProbitCG failures
Issue #1689: test_arima.test_small_data: SVD fails to converge (Python 3.4 / Ubuntu 12.04)
Issue #597: BUG: nonparametric: kernel, efficient=True changes bw even if given
Issue #1606: BUILD from sdist broken if cython available
Issue #1246: test failure test_anova.TestAnova2.test_results
Issue #50: t_test, f_test, model.py for normal instead of t-distribution
Issue #1655: newey-west different than R?
Issue #1682: TST test failure on Ubuntu, random.seed
Issue #1614: docstring for regression.linear_model.RegressionModel.predict() does not match implementation
Issue #1318: GEE and GLM scale parameter
Issue #519: L1 fit_regularized cleanup, comments
Issue #651: add structure to example page
Issue #1067: Kalman Filter convergence. How close is close enough?
Issue #1281: Newton convergence failure prints warnings instead of warning
Issue #1628: Unable to install statsmodels in the same requirements file as numpy, pandas, etc.
Issue #617: Problem in installing statsmodels in Fedora 17 64-bit
Issue #935: ll_null in likelihoodmodels discrete
Issue #704: datasets.sunspot: wrong link in description
Issue #1222: NegativeBinomial ignores exposure
Issue #1611: BUG NegativeBinomial ignores exposure and offset
Issue #1608: BUG: NegativeBinomial, llnul is always default ‘nb2’
Issue #1221: llnull with exposure ?
Issue #1493: statsmodels.stats.proportion.proportions_chisquare_allpairs has hardcoded value
Issue #1260: GEE test failure on Debian
Issue #1261: test failure on Debian
Issue #443: GLM.fit does not allow start_params
Issue #1602: Fitting GLM with a pre-assigned starting parameter
Issue #1601: Fitting GLM with a pre-assigned starting parameter
Issue #890: regression_plots problems (pylint) and missing test coverage
Issue #1598: Is “old” string formatting Python 3 compatible?
Issue #1589: AR vs ARMA order specification
Issue #1134: Mark knownfails
Issue #1259: Parameterless models
Issue #616: python 2.6, python 3 in single codebase
Issue #1586: Kalman Filter errors with new pyx
Issue #1565: build_win_bdist*_py3*.bat are using the wrong compiler
Issue #843: UnboundLocalError When trying to install OS X
Issue #713: arima.fit performance
Issue #367: unable to install on RHEL 5.6
Issue #1548: testtransf error
Issue #1478: is sm.tsa.filters.arfilter an AR filter?
Issue #1420: GMM poisson test failures
Issue #1145: test_multi noise
Issue #1539: NegativeBinomial strange results with bfgs
Issue #936: vbench for statsmodels
Issue #1153: Where are all our testing machines?
Issue #1500: Use Miniconda for test builds
Issue #1526: Out of date docs
Issue #1311: BUG/BLD 3.4 compatibility of cython c files
Issue #1513: build on osx -python-3.4
Issue #1497: r2nparray needs NAMESPACE file
Issue #1502: coveralls coverage report for files is broken
Issue #1501: pandas in/out in predict
Issue #1494: truncated violin plots
Issue #1443: Crash from python.exe using linear regression of statsmodels
Issue #1462: qqplot line kwarg is broken/docstring is wrong
Issue #1457: BUG/BLD: Failed build if “sandbox” anywhere in statsmodels path
Issue #1441: wls function: syntax error “unexpected EOF while parsing” occurs when name of dependent variable starts with digits
Issue #1428: ipython_directive does not work with ipython master
Issue #1385: SimpleTable in Summary (e.g. OLS) is slow for large models
Issue #1399: UnboundLocalError: local variable ‘fittedvalues’ referenced before assignment
Issue #1377: TestAnova2.test_results fails with pandas 0.13.1
Issue #1394: multipletests: reducing memory consumption
Issue #1267: Packages cannot have both pandas and statsmodels in install_requires
Issue #1359: move graphics.tsa to tsa.graphics
Issue #356: docs take up a lot of space
Issue #988: AR.fit no precision options for fmin_l_bfgs_b
Issue #990: AR fit with bfgs: large score
Issue #14: arma with exog
Issue #1348: reset_index + set_index with drop=False
Issue #1343: ARMA does not pass missing keyword up to TimeSeriesModel
Issue #1326: formula example notebook broken
Issue #1327: typo in docu-code for “Outlier and Influence Diagnostic Measures”
Issue #1309: Box-Cox transform (some code needed: lambda estimator)
Issue #1059: sm.tsa.ARMA making ma invertibility
Issue #1295: Bug in ARIMA forecasting when start is int len(endog) and dates are given
Issue #1285: tsa models fail on PeriodIndex with pandas
Issue #1269: KPSS test for stationary processes
Issue #1268: Feature request: Exponential smoothing
Issue #1250: DOCs error in var_plots
Issue #1032: Poisson predict breaks on list
Issue #347: minimum number of observations - document or check ?
Issue #1170: WLS log likelihood, aic and bic
Issue #1187: sm.tsa.acovf fails when both unbiased and fft are True
Issue #1239: sandbox kernels, problems with inDomain
Issue #1231: sandbox kernels confint missing alpha
Issue #1245: kernels cosine differs from Stata
Issue #823: KDEUnivariate with weights
Issue #1229: precision problems in degenerate case
Issue #1219: select_order
Issue #1206: REF: RegressionResults cov-HCx into cached attributes
Issue #1152: statsmodels failing tests with pandas master
Issue #1195: pyximport.install() before import api crash
Issue #1066: gmm.IV2SLS has wrong predict signature
Issue #1186: OLS when exog is 1d
Issue #1113: TST: precision too high in test_normality
Issue #1159: scipy version is still >= 0.7?
Issue #1108: SyntaxError: unqualified exec is not allowed in function ‘test_EvalEnvironment_capture_flag
Issue #1116: Typo in Example Doc?
Issue #1123: BUG : arima_model._get_predict_out_of_sample, ignores exogenous of there is no trend ?
Issue #1155: ARIMA - The computed initial AR coefficients are not stationary
Issue #979: Win64 binary cannot find Python installation
Issue #1046: TST: test_arima_small_data_bug on current master
Issue #1146: ARIMA fit failing for small set of data due to invalid maxlag
Issue #1081: streamline linear algebra for linear model
Issue #1138: BUG: pacf_yw does not demean
Issue #1127: Allow linear link model with Binomial families
Issue #1122: no data cleaning for statsmodels.genmod.families.varfuncs.NegativeBinomial()
Issue #658: robust.mad is not being computed correctly or is non-standard definition; it returns the median
Issue #1076: Some issues with ARMAX forecasting
Issue #1073: easy_install sandbox violation
Issue #1115: EasyInstall Problem
Issue #1106: bug in robust.scale.mad?
Issue #1102: Installation Problem
Issue #1084: DataFrame.sort_index does not use ascending when then value is a list with a single element
Issue #393: marginal effects in discrete choice do not have standard errors defined
Issue #1078: Use pandas.version.short_version
Issue #96: deepcopy breaks on ResettableCache
Issue #1055: datasets.get_rdataset string decode error on python 3
Issue #46: tsa.stattools.acf confint needs checking and tests
Issue #957: ARMA start estimate with numpy master
Issue #62: GLSAR incorrect initial condition in whiten
Issue #1021: from_formula() throws error - problem installing
Issue #911: noise in stats.power tests
Issue #472: Update roadmap for 0.5
Issue #238: release 0.5
Issue #1006: update nbconvert to IPython 1.0
Issue #1038: DataFrame with integer names not handled in ARIMA
Issue #1036: Series no longer inherits from ndarray
Issue #1028: Test fail with windows and Anaconda - Low priority
Issue #676: acorr_breush_godfrey undefined nlags
Issue #922: lowess returns inconsistent with option
Issue #425: no bse in robust with norm=TrimmedMean
Issue #1025: add_constant incorrectly detects constant column


--- creation_epoch:<PHONE_NUMBER> lastmod_epoch:<PHONE_NUMBER> categories: Programming title: VBS script for creating Windows Shortcuts (lnk) --- Save the following into a file with the extension vbs or wsh with the appropriate edits:
'Create a WshShell Object Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Create a WshShortcut Object Set oShellLink = WshShell.CreateShortcut("aaa.lnk") 'Set the Target Path for the shortcut oShellLink.TargetPath = "notepad.exe" 'Set the additional parameters for the shortcut oShellLink.Arguments = "c:\windows\desktop\aaa.txt" 'Save the shortcut oShellLink.Save 'Clean up the WshShortcut Object Set oShellLink = Nothing


{% extends '_base.html' %} {% block meta %} {% set header = header %} {% include '_meta.html' %} {% endblock %} {# Customize title here #} {% block title %} {% set header = header %} {% include '_title.html' %} {% endblock %} {# Customize intro here #} {% block intro %} {% endblock %} {# Customize content. Modify right side of equals sign to match tab names in spreadsheet #} {% block content %}
{{ award.year }} - {{ award.description }}
❧
Bonnie has been a featured speaker and moderator for a variety of conferences and organizations, including the American Public Health Association, Jewish Genetic Society and Mather Senior Living. She is also a frequent contributor on parenting issues to WBEZ's "Morning Shift."
❧ ❧ ❧


If the website doesn't boot up properly the user will see mainly the basic texts or layouts
HTML is pared with CSS which helps add flare to the webpage basically adding some touch up
This will be section one for random words
How does a referendum swing the terminal gate? How will the cap develop the parody? Does the flute punt against the appalled crisp?
Without the python swallows the signed nerve. A thoroughfare sexes the chance bitmap. The grass barks under the norm.
This will display the various different sections that will be color coded to show the effects of CSS
The null diner stumbles behind a behavior. Behind the mistake shies away the bass.
The fossil flowers throughout a sword!
The paranoia weights the stomach under the wiring breakdown.


Summoner Almors:
My over-confidence has allowed you to get the better of me.
Take my Arcana card.
Good job. I am sure that you shall pass the Test of the Summoner. Perhaps one day our paths will cross again in the Ivory Tower of Oren.


|
MeterLogger
|
Go to the source code of this file.
Functions | |
| u16_t | lwip_htons (u16_t n) |
| u16_t | lwip_ntohs (u16_t n) |
| u32_t | lwip_htonl (u32_t n) |
| u32_t | lwip_ntohl (u32_t n) |
Common functions used throughout the stack.
Definition in file def.c.
Convert an u32_t from host- to network byte order.
| n | u32_t in host byte order |
Definition at line 88 of file def.c.
Referenced by ip4_addr_netmask_valid(), and lwip_ntohl().
These are reference implementations of the byte swapping functions. Again with the aim of being simple, correct and fully portable. Byte swapping is the second thing you would want to optimize. You will need to port it to your architecture and in your cc.h:
#define LWIP_PLATFORM_BYTESWAP 1 #define LWIP_PLATFORM_HTONS(x) <your_htons> #define LWIP_PLATFORM_HTONL(x) <your_htonl>
Note ntohs() and ntohl() are merely references to the htonx counterparts. Convert an u16_t from host- to network byte order.
| n | u16_t in host byte order |
Definition at line 64 of file def.c.
Referenced by lwip_ntohs().
Convert an u32_t from network- to host byte order.
| n | u32_t in network byte order |
Definition at line 103 of file def.c.
References lwip_htonl().
Convert an u16_t from network- to host byte order.
| n | u16_t in network byte order |
Definition at line 76 of file def.c.
References lwip_htons().


| Container id | Status | ReleaseId | Resolved ReleaseId |
|---|---|---|---|
| {{ container['container-id'] }} | {{ container['status'] }} | {{ container['release-id']['group-id'] }}:{{ container['release-id']['artifact-id'] }}:{{ container['release-id']['version'] }} | {{ container['resolved-release-id']['group-id'] }}:{{ container['resolved-release-id']['artifact-id'] }}:{{ container['resolved-release-id']['version'] }} |


Creation is a new initiative organized by Committee of Information and Technology (CommIT), the IT wing of the National University of Singapore Students' Union (NUSSU).
Creation hopes to encourage and bring out the creativity of NUS students, thus our tagline: “Imagine. Design. Create”. Our committee hope that we can provide the platform for NUS students to pursue their artistic passion: to imagine, to design and to create excellent pieces of digital artwork.
This year, we are collaborating with companies to set up problem statements for participants to design. The problem statements can be in the form of designing posters, seasonal greetings, t-shirt design, and other publicity collaterals. Additionally, we will organize a photoshop training workshop to help you hone your skills before the competition itself. You could win attractive prizes too!
31 Lower Kent Ridge Road
National University of Singapore
S110978
<EMAIL_ADDRESS>fb.me/commitcreation2018


TServiceInterface
- Service interface.
The provided service type must be an interface fulfilling following criteria:
// Declaring the service.
public interface IHello
{
// Declares event which notifies String.
// Note: This event would not be compatible in cross Java/C# communication.
Event<String> someEventHappend();
// Declares event which notifies EventArgs.
// Note: event arguments derived from EventArgs can be used in cross Java/C# communication.
Event<EventArgs> otherEventHappened();
// Declares method taking arguments and returning a value.
int calculate(int a, int b);
// Declares method taking arguments and returning void.
// Note: MyArgumentType must be serializable. It means the serializer used for the communication
// must be able to serialize it.
void performSomething(MyArgumentType param);
}
The following example shows how to declare interface that can be used for Java/C# communication.
// C# interface
public interface IMyInterface
{
// Event without arguments.
event EventHandler SomethingHappened;
// Event with arguments.
event EventHandler<MyEventArgs> SomethingElseHappened;
// Simple method.
void DoSomething();
// Method with arguments.
int Calculate(int a, int b);
}
.
// Java equivalent
// Note: Names of methods and events must be same. So e.g. if the interface is declared in .NET with
// then you may need to start method names with Capital.
public interface IMyInterface
{
// Event without arguments.
Event<EventArgs> SomethingHappened();
// Event with arguments.
Event<MyArgs> SomethingElseHappened();
// Simple method.
void DoSomething();
// Method with arguments.
int Calculate(int a, int b);
}
public interface IRpcService<TServiceInterface> extends IAttachableDuplexInputChannel
| Modifier and Type | Method and Description |
|---|---|
Event<ResponseReceiverEventArgs> |
responseReceiverConnected()
Event raised when a client connected the service.
|
Event<ResponseReceiverEventArgs> |
responseReceiverDisconnected()
Event raised when a client got disconnected from the service.
|
attachDuplexInputChannel, detachDuplexInputChannel, getAttachedDuplexInputChannel, isDuplexInputChannelAttached
Event<ResponseReceiverEventArgs> responseReceiverConnected()
Event<ResponseReceiverEventArgs> responseReceiverDisconnected()


API for Wintab extensions functionality (Wintab 1.4).
More...
List of all members.
Static Public Member Functions |
| static UInt32 | GetWTExtensionMask (EWTXExtensionTag tag_I) |
| | Return the extension mask for the given tag.
|
| static UInt32 | FindWTExtensionIndex (EWTXExtensionTag tag_I) |
| | Returns extension index tag for given tag, if possible.
|
| static bool | ControlPropertyGet (HCTX context_I, byte extTagIndex_I, byte tabletIndex_I, byte controlIndex_I, byte functionIndex_I, ushort propertyID_I, ref UInt32 result_O) |
| | Get a property value from an extension.
|
| static bool | ControlPropertySet (HCTX context_I, byte extTagIndex_I, byte tabletIndex_I, byte controlIndex_I, byte functionIndex_I, ushort propertyID_I, UInt32 value_I) |
| | Sets an extension control property value.
|
| static bool | ControlPropertySet (HCTX context_I, byte extTagIndex_I, byte tabletIndex_I, byte controlIndex_I, byte functionIndex_I, ushort propertyID_I, String value_I) |
| | Sets an extension control property string.
|
| static bool | ControlPropertySetImage (HCTX context_I, byte extTagIndex_I, byte tabletIndex_I, byte controlIndex_I, byte functionIndex_I, ushort propertyID_I, String imageFilePath_I) |
| | Sets an extension control property image (if supported by tablet).
|
| static bool | SetDisplayProperty (CWintabContext context_I, EWTXExtensionTag extTagIndex_I, UInt32 tabletIndex_I, UInt32 controlIndex_I, UInt32 functionIndex_I, String imageFilePath_I) |
| | Set tablet OLED display property.
|
Detailed Description
API for Wintab extensions functionality (Wintab 1.4).
Wintab Extensions provides support for overriding tablet control functionality with functionality provided by an application. The tablet controls that can be overriden with extensions are: Express Keys, Touch Rings and Touch Strips.
For example, an application can respond to an Express Key button press by defining what action should occur within that application when the button is pressed. Similarly, an application can define actions for Touch Ring and Touch Strip button modes, and respond to user swipes on those controls to provide customized behavior.
Member Function Documentation
| static bool WintabDN::CWintabExtensions::ControlPropertyGet |
( |
HCTX |
context_I, |
|
|
byte |
extTagIndex_I, |
|
|
byte |
tabletIndex_I, |
|
|
byte |
controlIndex_I, |
|
|
byte |
functionIndex_I, |
|
|
ushort |
propertyID_I, |
|
|
ref UInt32 |
result_O |
|
) |
| [inline, static] |
Get a property value from an extension.
- Parameters:
-
| context_I | Wintab context |
| extTagIndex_I | extension index tag |
| tabletIndex_I | tablet index |
| controlIndex_I | control index on the tablet |
| functionIndex_I | function index on the control |
| propertyID_I | ID of the property requested |
| result_O | value of the property requested |
- Returns:
- true if property obtained
| static bool WintabDN::CWintabExtensions::ControlPropertySet |
( |
HCTX |
context_I, |
|
|
byte |
extTagIndex_I, |
|
|
byte |
tabletIndex_I, |
|
|
byte |
controlIndex_I, |
|
|
byte |
functionIndex_I, |
|
|
ushort |
propertyID_I, |
|
|
UInt32 |
value_I |
|
) |
| [inline, static] |
Sets an extension control property value.
- Parameters:
-
| context_I | wintab context |
| extTagIndex_I | which extension tag we're setting |
| tabletIndex_I | index of the tablet being set |
| controlIndex_I | the index of the control being set |
| functionIndex_I | the index of the control function being set |
| propertyID_I | ID of the property being set |
| value_I | value of the property being set |
- Returns:
- true if successful
| static bool WintabDN::CWintabExtensions::ControlPropertySet |
( |
HCTX |
context_I, |
|
|
byte |
extTagIndex_I, |
|
|
byte |
tabletIndex_I, |
|
|
byte |
controlIndex_I, |
|
|
byte |
functionIndex_I, |
|
|
ushort |
propertyID_I, |
|
|
String |
value_I |
|
) |
| [inline, static] |
Sets an extension control property string.
- Parameters:
-
| context_I | wintab context |
| extTagIndex_I | which extension tag we're setting |
| tabletIndex_I | index of the tablet being set |
| controlIndex_I | the index of the control being set |
| functionIndex_I | the index of the control function being set |
| propertyID_I | ID of the property being set |
| value_I | value of the property being set (a string) |
- Returns:
- true if successful
| static bool WintabDN::CWintabExtensions::ControlPropertySetImage |
( |
HCTX |
context_I, |
|
|
byte |
extTagIndex_I, |
|
|
byte |
tabletIndex_I, |
|
|
byte |
controlIndex_I, |
|
|
byte |
functionIndex_I, |
|
|
ushort |
propertyID_I, |
|
|
String |
imageFilePath_I |
|
) |
| [inline, static] |
Sets an extension control property image (if supported by tablet).
- Parameters:
-
| context_I | wintab context |
| extTagIndex_I | which extension tag we're setting |
| tabletIndex_I | index of the tablet being set |
| controlIndex_I | the index of the control being set |
| functionIndex_I | the index of the control function being set |
| propertyID_I | ID of the property being set |
| value_I | value of the property being set (a string) |
- Returns:
- true if successful
| static UInt32 WintabDN::CWintabExtensions::FindWTExtensionIndex |
( |
EWTXExtensionTag |
tag_I ) |
[inline, static] |
Returns extension index tag for given tag, if possible.
- Parameters:
-
| tag_I | type of extension being searched for |
- Returns:
- 0xFFFFFFFF on error
| static UInt32 WintabDN::CWintabExtensions::GetWTExtensionMask |
( |
EWTXExtensionTag |
tag_I ) |
[inline, static] |
Return the extension mask for the given tag.
- Parameters:
-
| tag_I | type of extension being searched for |
- Returns:
- 0xFFFFFFFF on error
| static bool WintabDN::CWintabExtensions::SetDisplayProperty |
( |
CWintabContext |
context_I, |
|
|
EWTXExtensionTag |
extTagIndex_I, |
|
|
UInt32 |
tabletIndex_I, |
|
|
UInt32 |
controlIndex_I, |
|
|
UInt32 |
functionIndex_I, |
|
|
String |
imageFilePath_I |
|
) |
| [inline, static] |
Set tablet OLED display property.
- Parameters:
-
| context_I | wintab context |
| extTagIndex_I | which extension tag we're setting |
| tabletIndex_I | index of the tablet being set |
| controlIndex_I | the index of the control being set |
| functionIndex_I | the index of the control function being set |
| imageFilePath_I | path to PNG image file |
- Returns:
- true if successful and tablet supports property
The documentation for this class was generated from the following file:
- WintabDN/CWintabExtensions.cs


This is an implementation of the classic binary search on sorted lists (see https://en.wikipedia.org/wiki/Binary_search_algorithm ). To summmarize the algorithm:
1- take a list L of n elements with values A0, A1,...,An ordered such that A0 <= A1 <= ... <= An, and a target value T; 2- set the indices l to 0 and r to n-1; 3- if l > r, terminate the search as unsuccessful; 4- set the index m to the position of the middle element, so that it is the floor (greatest integer less than or equal to) of (l + r) / 2; 5- if Am < T, set l to m + 1 an go to step 3; 6- if Am > T, set r to m - 1 an go to step 3; 7- now, Am = T, the search is done, and m is the desired index.
Unify Index with the 0-based position of Target within Values, fail otherwise.


Taylor
Taylor is a non binary, non gender bot written to help us be aware of the non inclusive words we use on a daily basis. You can add Taylor to any channel, if a full Slack member user uses any of the predefined words, that user will be sent a DM letting them know how many non inclusive words were used and how to make their message more inclusive. I wrote Taylor's backend in Python with Flask-SQLAchlemy using Slack's Event API and WebClient. The frontend is written in basic HTML and CSS.
Wildfire Watch
A cross platform application where a user in fire prone areas to be notified that there are wildfires near their saved location(s). The team included 4 Web Developers, 2 Data Scientists and 2 Android Developers working remotely across the US and India. We continued to work on the existing code base. While working on this iteration of the project, I cleaned up the UI, implemented a checklist to help users gather items when they need to evacuate. The team collaborated to add an Air Quality filter on the map.The technology used on this project includes React, Node, Firebase to name a few. Gained knowledge on how to use Cypress.io for automated testing.
Contributed the following on this project:- Manually tested the application on different devices;
- Designed and implemented the checklist;
- Investigated issues with geoJSON;
- Organized the team by hosting zooms;
- Created documentation on issues with the application before working on it;
- Generated user surveys;
- Discovered edge cases while manually testing across different platforms;
- Learned how to use Cypress.io for automated end to end testing;
Vegan Meets
This application lets users search for vegan restaurant information, menu items and user ratings. Only registered users can add restaurants to the database. The team was comprised of four remote frontend web developers, in different phases of the React curriculum and one backend developer. This was a project that required an API, database schema and tests to be built for the frontend React team. While creating this backend, it was great to also help support the frontend team as they built the React web app.
Implemented the following technologies:- Created the server using Node.js and Express.
- Designed the table by using DBdesigner and SQLite.
- Wrote the authentication/authorization with bycrypt and JSON tokens.
- Tested the backend with Jest and Supertest.
- Composed the ReadMe documentation for the backend portion.


This is a Story map of Djibouti.This Project beneficiaries will consist of children under 5 and pregnant and lactating women, with a specific focus on the 1,000 Days "Window of opportunity."
The project will support the Government of Djibouti in combating stunting multisectorally through the adoption of a "Zero stunting" strategy.
The proposed project will expand the scope, scale, coverage of ongoing nutrition interventions nationwide, including at health facilities and in the communities and through behavior change communication and policy, coordination, monitoring and evaluation.


Pook - Platform Access Booking
- Queue users in order they make a request for a single user available resource.
- 50 sec. allowed per user (timer is shown under active user)
{{alert.msg}}
▸
- Queue users in order they make a request for a single user available resource.
- 50 sec. allowed per user (timer is shown under active user)


LEGALLY BLONDE
Reviewed by Harvey Karten MGM Director: Robert Luketic Writer: Karen McCullah Lutz, Kirsten Smith, novel by Amanda Brown Cast: Reese Witherspoon, Luke Wilson, Selma Blair, Matthew Davis, Victor Garber, Jennifer Coolidge
People who are against affirmative action and quotas--generally, but not exclusively, those of a conservative bent-- like to say that so many people are considered minorities that those who are covered by this legal umbrella make up 80% of the population. I suppose their case can be strengthened when liberals say that blonde women are an oppressed group also, i.e. that so many employers and others in authority consider flaxen-haired women to be bimbos that they will refuse to hire them or admit them to the better schools. Elle Woods (Reese Witherspoon) opens Robert Luketic's movie, "Legally Blonde," as a perfect fit for this stereotype. Her hair is canary-yellow, she dresses in bright, pastel colors (mimicked by the pink pigments in the opening credits), she attends a secondary school majoring in fashion rather than one that affords rigorous academic preparation. Her parents, who think little of law as a profession, discourage her from thoughts of pursuing that field, but then again Elle suggests the possibilities of her attending embarking on legal training only because her steady boy friend Warner Huntington III (Matthew Davis) breaks up with her because he considers her too frivolous: he intends to become a U.S. senator by age 30 and needs a sharp, intelligent woman on his arm to improve his quest for political fame.
Robert Luketic, who directs "Legally Blonde" from a script by Karen McCullah Lutz and Kirsten Smith, is firmly within "Clueless" territory, with the wonderful Reese Witherspoon in the role taken by Alicia Silverstone in Amy Heckerling's 1995 comedy about Beverly Hills high school teens of the 1990's. Just as Silverstone's character is named Cher after the celebrated actress, Witherspoon has been christened Elle after the women's fashion magazine, while the film emulates "Clueless" in being satirical, charming, and never mean. This in itself is a triumph in a movie opening a week or so after the abominably vulgar and unfunny "Scary Movie 2," and if Luketic's picture brings in the kind of box office that it anticipates, Witherspoon in the role of a budding lawyer would supply evidence that a light comedy these days need not be patently offensive to succeed.
Though "Legally Blonde" is nothing if not predictable, the film sustains a lighter-than-air mood, filled with both amiable sitcomish jokes and an altogether screwball ambiance. Opening inside the Delta Nu sorority house where Elle is eagerly anticipating a proposal from the rich boy friend she loves, the picture quickly presents a female scorned, as the usually spirited blonde drips mascara after being jilted by her beau. Determined to become "good enough" for the man who considers her just plain not smart, she succeeds in cracking the Law Aps, gets into Harvard, and after standing out from the crowd, a pretty-in-pink student amid a chorus of earnest and competitive scholars, she becomes reflective for the first time in her life as she turns from cracking up her classmates to cracking the law books with earnest. Selected as an intern to her professor (Victor Garber)--for the wrong reasons as we soon find out--Elle winds up defending a woman accused of murdering her wealthy husband by using the very knowledge she had acquired back in her days at the fashion institute.
"Legally Blonde" would not have succeeded as it does without Reese Witherspoon in the lead, in virtually every scene, standing in as a role model who effectively uses her less-than-accredited training to turn the tables on her more conventional colleagues and on one randy instructor. Harvard Law School obtains a product placement that it scarcely needs given the ratio of applications to acceptances, while the film's production team garners laurels partly for its exhibition of feminist empowerment, partly for cleansing the bad taste that preceded its opening in the form of Keenen Ivory Wayans' exploration of a new low in adolescent cinema.
Rated PG-13. Running time: 96 minutes. (C) 2001 by Harvey Karten<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Dhaka is not a quiet, retiring place. The city, bursting with nearly 17 million people (most of whom often seem to be stuck in the same traffic jam as you), is a gloriously noisy and chaotic place, bubbling with energy.
It's a city that can sometimes threaten to overwhelm the casual visitor, but once you climb into the back of one of its myriad colourful cycle-rickshaws, Dhaka's charm starts to slowly reveal itself. Life flows from the boats on the Buriganga River to its unexpectedly green parks and university campuses. Mughal and British monuments speak of its history, its mosques of its spiritual side, and the thriving information technology and arts scenes – give a glimpse of the direction of future.
However, the most distinct feature of Dhaka is the human interactions that makes visiting Dhaka such a unique experience.
Top Experiences:
"Dhaka isn't without challenges, but sooner or later you'll start to move to its rhythm and truly embrace this furiously beating heart of Bengali culture."


Welcome to the FITS API.
The GeoNet project makes all its data and images freely available. Please ensure you have read and understood our Data Policy and Disclaimer before using any of these services.
The FITS API provides access to the observations and associated meta data in the Field Time Series database. If you are looking for other data then please check the full range of data available from GeoNet.
The following endpoints are available:
API queries may be versioned via the Accept header.
Please specify the Accept
header for your request exactly as specified for the endpoint query you are using.
If you don't specify an Accept header with a version then your request will be routed to the current highest API version of the query.
Taking advantage of the API versioning will pay dividends in the future for any client that you write. We use the jq command for JSON pretty printing etc. A curl command might look like:
curl -H "Accept: application/vnd.geo+json;version=1" "http://...API-QUERY..." | jq .
You may also be able to find a browser plugin to help with setting the Accept header for requests.
The response for a query can be compressed. If your client can handle a compressed response then the
reduced download size is a great benifit. Gzip compression is supported. You can request a compressed response
by including gzip
in your Accept-Encoding
header.
The code that provide these services is available at https://github.com/GeoNet/fits If you believe you have found a bug please raise an issue or pull request there. Alternatively contact us detailing the issue.


If you are viewing this page (firstPage), it means that the current browser URL ends with "#firstPage"
go to the second pageIf you are viewing this page (secondPage), it means that the current browser URL ends with "#secondPage"
go to the first page