--- layout: post status: publish published: true title: Marlon Byrd Thinks the Cubs Need Swagger author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>wordpress_id: 5192 wordpress_url: http://ivyenvy.com/?p=5192 date: '2011-05-05 06:01:47 +0000' date_gmt: '2011-05-05 11:01:47 +0000' categories: - The Cubs tags: - Mike Quade - Marlon Byrd - Darwin Barney comments: - id: 3425 author: JW author_email<EMAIL_ADDRESS>author_url: http://dubsism.wordpress.com date: '2011-05-05 08:28:31 +0000' date_gmt: '2011-05-05 13:28:31 +0000' content: "Upside: You are right, this is a .500-or-so club who could with a hot streak make some noise - let's be honest, nobody in the NL Central is really that good...\r\n\r\nDownside: You are also right about being a \"team in transistion,' but the question is transition to what?" - id: 3427 author: Ryan author_email<EMAIL_ADDRESS>author_url: '' date: '2011-05-05 10:08:26 +0000' date_gmt: '2011-05-05 15:08:26 +0000' content: "Just remember how a wildfire starts. There's a difference between \"swagger\" and \"throwing a fit\", and as we found out last year with Big Z, sometimes when you try to light a fire under somebody's ass, it causes their intestines to blow up. \r\n\r\nMeehan" - id: 3428 author: Ryan author_email<EMAIL_ADDRESS>author_url: '' date: '2011-05-05 10:10:46 +0000' date_gmt: '2011-05-05 15:10:46 +0000' content: "And plus, \"swagger\" is kind of a short term solution to a long term problem, and although I realize we probably won't make the postseason this year, I don't think we need to be thinking ahead to 2013 just yet. \r\n\r\nBut I still love you.\r\n\r\nMeehan" - id: 3439 author: JW author_email<EMAIL_ADDRESS>author_url: http://dubsism.wordpress.com date: '2011-05-06 15:09:29 +0000' date_gmt: '2011-05-06 20:09:29 +0000' content: "You raise another good question - just what is Mike Quade? At first, he was the interim, whom the Cubs announced would not be considered for the job permanently. Then all of a sudden, he's the guy, but only for a two-year deal.\r\n\r\nWhat am I missing on this? Sandberg seemed like the perfect guy for the gig, now he's managing the farm in the Phillies organization. What happened?" - id: 3440 author: Corey author_email<EMAIL_ADDRESS>author_url: '' date: '2011-05-06 15:19:08 +0000' date_gmt: '2011-05-06 20:19:08 +0000' content: "Ryan - I see \"swagger\" as confidence, not fire. I think it's the type of confidence that comes with winning and some success. It's what allows win-streaks to stay alive. \r\n\r\nI suppose the only reason I look ahead to 2013 is because of how different this team could look in a few years. \r\n\r\nJW - I think there's a very good chance that Hendry and the ownership did not want to feel like that HAD to hire Sandberg. I also think that if the Cubs would have hired Sandberg, they probably would find themselves in the position (eventually) of having to fire him as a manager. How difficult would it be to fire the guy that everyone in our generation probably sees as their \"Mr. Cub\"?" ---
There's no doubt that we are seeing the Cubs in a state of transition. Sure, Soriano might be around for a few more years, but there are some major pieces to the Cubs puzzle that have been around for years that won't be on this team in the somewhat near future.
So what is this Cubs team? Nobody really knows. The identity of this team has not been formed. With Mike Quade's short two-year contract, you can't help but think he is filling a gap. Quade is a solid system guy without a huge personality. Even though his contract is only two years, this team will look quite a bit different at the beginning of the 2013 season as compared to when he took over in August of 2010.
We're seeing a team that is playing decent, but seems to be struggling. Marlon Byrd wrote in his blog that what this Cubs team is lacking is swagger. Byrd is probably right. This is a team of highly-paid veterans that honestly don't feel the need to play with urgency. They are getting paid. They have spent the last two years on a team that has not produced and that hasn't influenced their paychecks, or really, their lives.
Then you have the young players. They haven't experienced anything to give them swagger. Swagger is not a trait that you just create. It is a form of confidence that develops through winning and success. Byrd has this swagger and I think he's a good guy to have in the clubhouse. He is a guy that can put his arm around a guy like Barney and assure him that his success this year is not a fluke and he can instill some of that confidence in the young players.
I think this is a .500 club, but I think if they can get on a hot streak, things could really start rolling with this group.


Genesis 30:27
And Laban said unto him, I pray thee, if I have found favor in thine eyes, tarry: for I have learned by experience that the LORD hath blessed me for thy sake.


{% load static %}
Sign up and find potential study buddies or tutors!
SkiMatch lets you connect with people who have taken or are taking similar classes as well as people who share other interests.
Sign in with UVA email


UAGithubEngine 2.4 Reference
UAGithubEngine
by Owain R Hunt
UAGithubEngine is a wrapper around the Github API. Check out the API documentation for full details of what the API can do.
UAGithubEngine is compatible with Mac OS X 10.7 and above, and iOS 5.0.
Note
The master
branch is built on version 3 of the API, and uses up-to-date technologies such as blocks and ARC. Version 1 of UAGE, found in the branch v1
, was built on version 2 of the API, and may be more suited to your uses if you need to support earlier versions of OS X or iOS. This branch is no longer under active development.
How do I use it?
UAGithubEngine is available from CocoaPods. Just add the following to your Podfile:
dependency 'UAGithubEngine'
Then run
pod install
.The easiest way to use the engine is with the framework – build and link against the
UAGithubEngine
framework, and#import <UAGithubEngine/
UAGithubEngine.h>
where you want to use the framework.If you don’t fancy using CocoaPods or the framework, either copy across all the files in the ‘UAGithubEngine’ group from the UAGithubEngine project into your app’s project, or add the entire project to your workspace. Use
#import "UAGithubEngine.h"
where you want to use the engine.Instantiate an engine, passing a username and password. If you want to receive notifications when reachability status changes (
UAGithubReachabilityStatusDidChangeNotification
), passYES
as the final argument.Call some methods.
Code speaks louder than words.
```objective-c UAGithubEngine *engine = [[UAGithubEngine alloc] initWithUsername:@“aUser” password:@“aPassword” withReachability:YES];
[engine repositoriesWithSuccess:^(id response) {
NSLog(@"Got an array of repos: %@", obj);
} failure:^(NSError *error) {
NSLog(@"Oops: %@", error);
}];
[engine user:@“this_guy” isCollaboratorForRepository:@“UAGithubEngine” success:^(BOOL collaborates) {
NSLog(@"%d", collaborates);
} failure:^(NSError *error){
NSLog(@"D'oh: %@", error);
}];
```
Any questions, comments, improvements and so on, either open an issue, find me on Twitter (@orhunt) or send me an email (owain@underscoreapps.com).


Train your brain with the smartest game on the market
Failure-Based Repetition
Our app is designed to help you learn/remember any topic that is important to you. Whether it is remembering coworker's names, key coding concepts, or any information under the sun, we want to help you (and ourselves) transfer concepts into long-term memory.
Quick, fun to use
When designing this app, we knew it was important to create a fun gameplay experience. Through fun transitions, animations, and good feedback, we create a polished user experience that all will want to utilize for their brain-training needs.
Features
Adaptive Algorithm
Using a variation of the Leitner system, we created a dynamic card-selection algorithm that shows a subset of the entire deck, giving the user a good chance to succeed through repetition.
Pre-Built Decks
So far, the decks are pre-built to show the capabilities of the game. Some are only used to show how the algorithm can teach you completely random information within seconds. User-made decks on the way!
Intuitive UX
Keeping the user in mind, a polished display was crucial for creating a fun experience for all. Custom animations make for a unique experience that provides seamless positive and negative reinforcement.
About the team
Arthur Damm
"I spent over 7 years working as a private math, science, and programming tutor. I’ve learned that if part of the tutoring process were automated, especially the rote memorization and review, it could multiply my efforts as a personal tutor."
Github LinkedIn TwitterScout Curry
"When I was first introduced to the concept of this app, I instantly fell in love with the idea. I see myself using this app in the future, so I became very interested in making the app as fun, smooth, and exciting to play as possible.
Coming out of this project, my knowledge on all things frontend has surpassed my wildest expectations. The core concepts and breakthrough moments we both learned during development will be used throughout our careers."


Class: Aws::MediaPackageVod::Types::DashPackage
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
Struct
|
|
|
Instance Chain:
self,
::Aws::Structure ,
Struct
|
|
| Inherits: |
Struct
|
| Defined in: | gems/aws-sdk-mediapackagevod/lib/aws-sdk-mediapackagevod/types.rb |
Overview
A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.
Constant Summary
Instance Attribute Summary
-
#dash_manifests ⇒ Array<Types::DashManifest>
rw
A list of DASH manifest configurations.
-
#encryption ⇒ Types::DashEncryption
rw
A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
-
#include_encoder_configuration_in_segments ⇒ Boolean
rw
When includeEncoderConfigurationInSegments is set to true,
::Aws::MediaPackage
places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment. -
#include_iframe_only_stream ⇒ Boolean
rw
When enabled, an I-Frame only stream will be included in the output.
-
#period_triggers ⇒ Array<String>
rw
A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD) will be partitioned into multiple periods.
-
#segment_duration_seconds ⇒ Integer
rw
Duration (in seconds) of each segment.
-
#segment_template_format ⇒ String
rw
Determines the type of SegmentTemplate included in the Media Presentation Description (MPD).
Instance Method Summary
::Aws::Structure
- Included
| #to_hash | Alias for Structure#to_h. |
Instance Attribute Details
#dash_manifests ⇒ Array
<Types::DashManifest> (rw)
A list of DASH manifest configurations.
# File 'gems/aws-sdk-mediapackagevod/lib/aws-sdk-mediapackagevod/types.rb', line 668
class DashPackage < Struct.new( :dash_manifests, :encryption, :include_encoder_configuration_in_segments, :include_iframe_only_stream, :period_triggers, :segment_duration_seconds, :segment_template_format) SENSITIVE = [] include Aws::Structure end
#encryption ⇒ Types::DashEncryption (rw)
A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.
# File 'gems/aws-sdk-mediapackagevod/lib/aws-sdk-mediapackagevod/types.rb', line 668
class DashPackage < Struct.new( :dash_manifests, :encryption, :include_encoder_configuration_in_segments, :include_iframe_only_stream, :period_triggers, :segment_duration_seconds, :segment_template_format) SENSITIVE = [] include Aws::Structure end
#include_encoder_configuration_in_segments ⇒ Boolean
(rw)
When includeEncoderConfigurationInSegments is set to true,
::Aws::MediaPackage
places your encoder's Sequence Parameter Set (SPS),
Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata
in every video segment instead of in the init fragment. This lets
you use different SPS/PPS/VPS settings for your assets during
content playback.
# File 'gems/aws-sdk-mediapackagevod/lib/aws-sdk-mediapackagevod/types.rb', line 668
class DashPackage < Struct.new( :dash_manifests, :encryption, :include_encoder_configuration_in_segments, :include_iframe_only_stream, :period_triggers, :segment_duration_seconds, :segment_template_format) SENSITIVE = [] include Aws::Structure end
#include_iframe_only_stream ⇒ Boolean
(rw)
When enabled, an I-Frame only stream will be included in the output.
# File 'gems/aws-sdk-mediapackagevod/lib/aws-sdk-mediapackagevod/types.rb', line 668
class DashPackage < Struct.new( :dash_manifests, :encryption, :include_encoder_configuration_in_segments, :include_iframe_only_stream, :period_triggers, :segment_duration_seconds, :segment_template_format) SENSITIVE = [] include Aws::Structure end
#period_triggers ⇒ Array
<String
> (rw)
A list of triggers that controls when the outgoing Dynamic Adaptive
Streaming over HTTP (DASH) Media Presentation Description (MPD) will
be partitioned into multiple periods. If empty, the content will not
be partitioned into more than one period. If the list contains
"ADS", new periods will be created where the Asset
contains
SCTE-35 ad markers.
# File 'gems/aws-sdk-mediapackagevod/lib/aws-sdk-mediapackagevod/types.rb', line 668
class DashPackage < Struct.new( :dash_manifests, :encryption, :include_encoder_configuration_in_segments, :include_iframe_only_stream, :period_triggers, :segment_duration_seconds, :segment_template_format) SENSITIVE = [] include Aws::Structure end
#segment_duration_seconds ⇒ Integer
(rw)
Duration (in seconds) of each segment. Actual segments will be rounded to the nearest multiple of the source segment duration.
# File 'gems/aws-sdk-mediapackagevod/lib/aws-sdk-mediapackagevod/types.rb', line 668
class DashPackage < Struct.new( :dash_manifests, :encryption, :include_encoder_configuration_in_segments, :include_iframe_only_stream, :period_triggers, :segment_duration_seconds, :segment_template_format) SENSITIVE = [] include Aws::Structure end
#segment_template_format ⇒ String
(rw)
Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs.
# File 'gems/aws-sdk-mediapackagevod/lib/aws-sdk-mediapackagevod/types.rb', line 668
class DashPackage < Struct.new( :dash_manifests, :encryption, :include_encoder_configuration_in_segments, :include_iframe_only_stream, :period_triggers, :segment_duration_seconds, :segment_template_format) SENSITIVE = [] include Aws::Structure end


kony
Businessmodel of Kony
Customer Segments
Kony offers a range of enterprise mobility solutions to commercial customers across multiple business sectors. The Company’s service offerings are designed to serve software developers and designers, IT architects and managers, and business professionals operating across the following industries:
- Healthcare, including healthcare providers, medical service companies, and specialist healthcare insurance providers;
- Banking and Financial Services, including retail and commercial banks, professional service and accounting firms, and other financial service providers;
- Technology, including technology companies, and software developers;
- Consumer Goods, including producers and distributors of branded consumer goods;
- Manufacturing, including manufacturers of industrial equipment, automotive and home maintenance parts, and electrical components; and
- Energy, including energy producers and utility companies. Kony names a number of its customers on its website. This includes companies such as KPMG, Warburtons, Schweppes, Scotiabank, Engie, Partners Credit Union, and Konica Minolta.
Kony is headquartered in the US, but serves a global customer base spanning markets across the Americas, Asia Pacific, Europe, the Middle East, and Africa.
Value Propositions
Kony provides value to its clients in the following ways:
- Its industry standing and reputation, with the Company established as reliable provider of enterprise mobility solutions, as evidenced by its ability to secure business from high-profile companies such as KPMG and Schweppes;
- Its global presence, with the Company serving a large domestic client base as well as customers across the Americas, Asia Pacific, Europe, the Middle East, and Africa, including through a number of locally based sales and administrative offices;
- Its proprietary technologies, with the Company utilising various proprietary technologies in the development and implementation of its solutions, making its service offerings unique within the industry;
- Its network of partners, with the Company working closely with a network of partners around the world – including market leading companies such as Accenture, AT&T, Oracle, Google, and Apple – that support the Company’s core development and delivery activities; and
- Its industry expertise and experience, with the Company employing specialist technical personnel across its operating units that ensure the Company’s solutions are effective, as well as a team of experienced industry executives. ### Channels
Kony operates a website at www.kony.com, through which it provides information on its various products, solutions, partners, operating locations, and customers. While the Company offers certain solution and products to customers on a free trial basis, which can be accessed directly through the Company’s website, it does not operate a dedicated online sales channel. The Company does, however, offer an online client portal, through which customers can access tools and resources online.
Kony appears to make the bulk of its sales through its direct sales force, which is organised by geographic region. The Company’s sales personnel operate out of the Company’s network of sales and administrative office across the Americas, Asia Pacific, Europe, the Middle East, and Africa, including locations in the US, the UK, India, Germany, Brazil, Australia, and Hong Kong.
Kony additionally makes sales through a network of channel and distribution partners that assist in extending the Company’s sales and marketing reach and in developing integrated solutions. These partners include independent software vendors, systems integrators, and resellers.
Customer Relationships
While Kony does not make sales of its products and solutions on a self-service basis, it does offer certain products to customers on a self-service free trial basis. The Company also operates an online client portal, which enable customers to access resources, tools, and products through the Company’s website without interacting directly with members of its sales and service teams.
Kony makes the majority of its sales through its direct sales force, the embers of which consult closely with customers in order to ensure that they are provided the most appropriate and effective solutions for their individual circumstances. Where possible, the Company seeks to tailor and scale its offerings on a client-by-client basis, with a view to establishing long-term client relationships.
Kony offers ongoing support to its customers, who are able to contact dedicated support personnel over the phone or via an online contact form in order to access personalised assistance. The Company also offers a range of online resources, such as videos, white papers, and webinars through its Resource Centre, and operates an online community portal where users and developers can share ideas and collaborate on issues.
Additionally, Kony maintains accounts with social media networks such as Facebook, Twitter, LinkedIn, YouTube and Google+, through which it is able to interact directly with clients and publish regular company updates.
Key Activities
Kony is a provider of enterprise mobility solutions for commercial entities. The Company offers a range of solutions that are designed to assist business professionals, IT professionals, and developers in designing, building, integrating, deploying, and managing applications.
The Company’s portfolio of products and solutions includes flagship offerings such as Kony Visualiser, which helps users to define, prototype, design, and share web applications, and Kony Studio, which helps users build web and hybrid applications for phones, tablets, and desktops.
The Company also offers a range of ancillary support, consulting, and training services. Kony serves clients across multiple industries – including the healthcare, energy, technology, and financial services sectors – and across numerous international markets spanning the Americas, Asia Pacific, Europe, the Middle East, and Africa.
Key Partners
Kony works in close collaboration with a network of partners spanning multiple sectors. These partners can be organised broadly into the following categories:
- Supplier and Vendor Partners, including suppliers of services, equipment, tools, and technologies that are utilised across the Company’s operating units in support of its core development and deployment activities;
- Integration Partners, including global and regional systems integrators, as well as specialist technology integrators and consulting firms, that help to ensure that the Company’s solutions are developed and deployed effectively across multiple channels;
- Channel and Distribution Partners, including the Company’s network of independent software vendors and resellers that assists in extending the Company’s internal sales and marketing reach, particularly in various international jurisdictions; and
- Strategic and Alliance Partners, including market leading companies across multiple sectors, with which the Company collaborates on various join projects, including in branding, marketing, and development. Kony names a number of its key partners on its website. This includes global integrators such as AT&T, HCL, Mindtree, Accenture, and Cognizant, and specialist technology integrators such as Google, Apple, Microsoft, Oracle, and Fujitsu.
Key Resources
Kony’s key resources are its proprietary technologies and intellectual properties, its software solutions and online portals, its IT and communications infrastructures, its sales and distribution channels, its physical offices network, its partnerships, and its personnel.
Kony utilises various proprietary technologies in the development and deployment of its solutions, which it protects in various ways, including patent law. Searches of records published by the US Patent and Trademark Office identified several patent applications filed in Kony’s name, including applications entitled ‘Mobile application testing systems and methods’, ‘Exposing method related data calls during testing in an event driven, multichannel architecture’ and ‘Mobile application management systems and methods thereof’.
Kony additionally owns and or leases a number of physical properties around the world that comprise its network of sales and administrative offices, including locations in Australia, Brazil, India, the UK, and the US.
Cost Structure
Kony incurs costs in relation to the development of its technologies and solutions, the development and maintenance of its website an online portals, the maintenance of its IT and communications infrastructure, the operation of its sales and marketing channels, the procurement of professional services, the management of its partnerships, the implementation of marketing and advertising campaigns, and the retention of its personnel.
Revenue Streams
Kony incurs revenue through the development and sale of enterprise mobility solutions to companies across the healthcare, energy, financial services, consumer goods, and technology sectors. The Company derives its revenue under sales and service contracts that are agreed on a case-by-case basis.
Kony remains a privately owned company and as such it is not obliged to publish its financial results online. Research identified media references from 2014 that stated that the Company’s annual revenue was at around $100 million.


Chapter 8 Yule Pauperism Data
library("tidyverse")
library("modelr")
##
## Attaching package: 'modelr'
## The following object is masked from 'package:broom':
##
## bootstrap
library("viridis")
library("broom")
The Yule Pauperism data is included in the package datums at jrnold/datums.
Yule (1899) was the published example multiple regression analysis in its modern form.4
Yule wrote this paper to analyze the effect of policy changes and implementation on pauperism (poor receiving benefits) in England. under the https://en.wikipedia.org/wiki/English_Poor_Laws. In 1834, a new poor law was passed that established a national welfare system in England and Wales. The New Poor Law created new administrative districts, Poor Law Unions, to adminster the law. Most importantly, it attempted to standardize the provision of aid to the poor. There were two types of aid provided: in-relief, aid provided to paupers in workhouses where they resided, and out-relief, aid provided to paupers residing at home. The New Poor Law wanted to decrease in-relief and increase out-relief in the belief that out-relief, in particular the quality of life in workhouses, was a deterrence to poverty and an encouragement for the poor to work harder to avoid poverty.
The data in datums is
It consists of two datasets: pauperism_plu
contains data on the Poor Law Unions, while pauperism_year
has the PLU, year as the unit of observation and contains data on the levels of pauperism in 1871, 1881, and 1891 in each PLU.
library("tidyverse")
# install_github/jrnold
pauperism_plu <- datums::pauperism_plu
pauperism_year <- datums::pauperism_year
glimpse(pauperism_year)
Instead of taking differences, or percentages. Yule worked with “percent ratio differences”, \(100 \times x_t / x_{t - 1}\), because he did not want to work with negative signs, presumably a concern at the because he was doing arithmetic by hand and this would make calculations more tedious or error-prone.
pctratiodiff <- function(x) {
z <- 100 * (x / lag(x))
z[is.infinite(z)] <- NA_real_
z
}
pauperism <-
pauperism_year %>%
mutate(Popn65 = F65 + M65,
Prop65 = Popn65 / Popn,
year = as.integer(year)) %>%
arrange(ID, year) %>%
group_by(ID) %>%
mutate(Prop65_diff = pctratiodiff(Prop65)) %>%
left_join(pauperism_plu, by = "ID") %>%
filter(Type != "NaN") %>%
ungroup()
Table 1. of pauperism
pauperism %>%
filter(year >= 1881) %>%
select(ID, year, Type, paupratiodiff, outratiodiff, Prop65_diff, popratiodiff) %>%
drop_na() %>%
count(year, Type)
## Source: local data frame [8 x 3]
## Groups: year [?]
##
## year Type n
## <int> <chr> <int>
## 1 1881 Metropolitan 32
## 2 1881 Mixed 217
## 3 1881 Rural 238
## 4 1881 Urban 101
## 5 1891 Metropolitan 32
## 6 1891 Mixed 218
## 7 1891 Rural 239
## 8 1891 Urban 103
The number of districts is different, but I’m not sure why.
Table 2: Metropolitan Group, 1871-1881
filter(pauperism, Type == "Metropolitan") %>%
filter(year == 1881) %>%
select(ID, Union, paupratiodiff, outratiodiff, Prop65_diff, popratiodiff) %>%
arrange(ID) %>%
ungroup() %>%
select(-ID) %>%
knitr::kable()
| Union | paupratiodiff | outratiodiff | Prop65_diff | popratiodiff |
|---|---|---|---|---|
| Kensington | 27.02455 | 4.709511 | 104.24513 | 135.62124 |
| Fulham | 30.55314 | 20.691155 | 85.41113 | 173.89046 |
| Paddington | 47.13245 | 12.820014 | 115.12124 | 110.74752 |
| Chelsea | 64.00997 | 20.957361 | 80.78122 | 123.96855 |
| StGeorge | 46.26695 | 18.696592 | 113.18960 | 96.03171 |
| Westminster | 52.01266 | 26.439934 | 104.88340 | 90.94977 |
| StMarylebone | 81.13188 | 35.865384 | 99.68465 | 97.27228 |
| StJohnHampstead | 60.85194 | 38.687664 | 102.89827 | 140.80109 |
| StPancras | 60.55554 | 34.762259 | 101.01971 | 106.67961 |
| StMaryIslington | 59.22427 | 34.920438 | 100.83279 | 132.31717 |
| Hackney | 33.04587 | 21.644359 | 91.27279 | 149.22810 |
| StGGBloomsbury | 75.50703 | 29.319882 | 102.77106 | 84.73747 |
| Strand | 63.99014 | 26.916741 | 96.73724 | 81.41880 |
| Holborn | 78.52338 | 33.517874 | 94.42741 | 93.09890 |
| CityLondon | 78.66401 | 64.365584 | 112.37948 | 67.80155 |
| StLeonardShoreditch | 51.70655 | 20.521901 | 108.23606 | 99.54940 |
| BethnalGreen | 46.38214 | 19.192527 | 101.73429 | 105.70922 |
| Whitechapel | 35.30723 | 6.246978 | 92.03899 | 94.45547 |
| StGeorgeEast | 36.67330 | 6.135770 | 99.03527 | 98.13743 |
| Stepney | 33.86640 | 9.516070 | 87.06120 | 101.47859 |
| MileEndOldTown | 42.59398 | 13.266601 | 102.07680 | 113.37706 |
| Poplar | 38.50528 | 19.930617 | 102.62700 | 134.48649 |
| StSaviourSouthwark | 52.46445 | 22.451416 | 99.60833 | 111.49107 |
| StOlaveSouthwark | 56.83153 | 32.200945 | 102.36756 | 109.99526 |
| Lambeth | 56.46941 | 38.253650 | 98.30586 | 121.77045 |
| WandsworthandClapham | 23.21714 | 17.946851 | 90.69907 | 168.26643 |
| Camberwell | 29.90475 | 13.835835 | 82.55591 | 167.63966 |
| Greenwich | 54.65175 | 37.920863 | 93.50556 | 130.45030 |
| Woolwich | 76.97900 | 15.186659 | 118.71024 | 110.17307 |
| Lewisham | 39.55357 | 27.421469 | 101.25774 | 140.71416 |
| Croydon | 47.72780 | 29.186036 | 101.44845 | 142.12133 |
| WestHam | 38.40110 | 48.914488 | 85.53301 | 202.69714 |
Table 3
pauperism %>%
filter(year >= 1881) %>%
select(year, Type, paupratiodiff, outratiodiff, Prop65_diff, popratiodiff) %>%
drop_na() %>%
gather(variable, value, -year, -Type) %>%
group_by(year, Type, variable) %>%
summarise_at(vars(value), funs(mean, sd)) %>%
knitr::kable()
| year | Type | variable | mean | sd |
|---|---|---|---|---|
| 1881 | Metropolitan | outratiodiff | 25.07636 | 12.979986 |
| 1881 | Metropolitan | paupratiodiff | 50.61654 | 16.303219 |
| 1881 | Metropolitan | popratiodiff | 119.90865 | 30.090299 |
| 1881 | Metropolitan | Prop65_diff | 99.13926 | 9.176468 |
| 1881 | Mixed | outratiodiff | 70.81556 | 27.968580 |
| 1881 | Mixed | paupratiodiff | 66.39643 | 17.478868 |
| 1881 | Mixed | popratiodiff | 110.71895 | 14.749708 |
| 1881 | Mixed | Prop65_diff | 100.75271 | 21.403143 |
| 1881 | Rural | outratiodiff | 72.19569 | 27.100992 |
| 1881 | Rural | paupratiodiff | 66.18899 | 15.492810 |
| 1881 | Rural | popratiodiff | 97.61334 | 7.550125 |
| 1881 | Rural | Prop65_diff | 103.72348 | 8.713096 |
| 1881 | Urban | outratiodiff | 64.57293 | 25.469154 |
| 1881 | Urban | paupratiodiff | 73.85648 | 26.387059 |
| 1881 | Urban | popratiodiff | 123.32655 | 34.457872 |
| 1881 | Urban | Prop65_diff | 106.89375 | 76.126030 |
| 1891 | Metropolitan | outratiodiff | 90.84679 | 42.912778 |
| 1891 | Metropolitan | paupratiodiff | 104.67066 | 29.836570 |
| 1891 | Metropolitan | popratiodiff | 111.31099 | 24.296891 |
| 1891 | Metropolitan | Prop65_diff | 107.59174 | 5.524179 |
| 1891 | Mixed | outratiodiff | 109.63868 | 45.965573 |
| 1891 | Mixed | paupratiodiff | 91.09768 | 19.467070 |
| 1891 | Mixed | popratiodiff | 108.46061 | 12.832222 |
| 1891 | Mixed | Prop65_diff | 106.87802 | 18.705844 |
| 1891 | Rural | outratiodiff | 116.88662 | 48.513561 |
| 1891 | Rural | paupratiodiff | 91.59067 | 20.409368 |
| 1891 | Rural | popratiodiff | 97.44270 | 6.741761 |
| 1891 | Rural | Prop65_diff | 107.54229 | 8.369285 |
| 1891 | Urban | outratiodiff | 97.18114 | 33.819458 |
| 1891 | Urban | paupratiodiff | 86.23436 | 29.512905 |
| 1891 | Urban | popratiodiff | 119.53807 | 31.484939 |
| 1891 | Urban | Prop65_diff | 116.51129 | 95.171090 |
Table 4: Correlations of Percentage Ratios
pauperism %>%
filter(year >= 1881) %>%
select(year, Type, paupratiodiff, outratiodiff, Prop65_diff, popratiodiff) %>%
drop_na() %>%
group_by(year, Type) %>%
do({
cor(.[ , c("paupratiodiff", "outratiodiff", "Prop65_diff", "popratiodiff")]) %>%
tidy() %>%
gather(.colnames, value, -.rownames) %>%
filter(.rownames < .colnames) %>%
unite(variable, .rownames, .colnames) %>%
spread(variable, value)
})
## Source: local data frame [8 x 8]
## Groups: year, Type [8]
##
## year Type outratiodiff_paupratiodiff outratiodiff_popratiodiff
## <int> <chr> <dbl> <dbl>
## 1 1881 Metropolitan 0.5731816 -0.0092212754
## 2 1881 Mixed 0.3173784 0.0776315386
## 3 1881 Rural 0.4140595 -0.0602981249
## 4 1881 Urban 0.6561705 0.0898857241
## 5 1891 Metropolitan 0.5151787 0.2268864595
## 6 1891 Mixed 0.3717615 0.0488693203
## 7 1891 Rural 0.5034687 0.0003006584
## 8 1891 Urban 0.2814298 -0.0159747065
## # ... with 4 more variables: outratiodiff_Prop65_diff <dbl>,
## # paupratiodiff_popratiodiff <dbl>, paupratiodiff_Prop65_diff <dbl>,
## # popratiodiff_Prop65_diff <dbl>
\[ \begin{aligned}[t] \Delta\mathtt{Paup} &= \beta_0 \\ &+ \beta_1 \Delta\mathtt{Out} \\ &+ \beta_2 \Delta\mathtt{Old} \\ &+ \beta_3 \Delta\mathtt{Pop} + \varepsilon \end{aligned} \]
8.1 Summary Statistics
filter(pauperism, year > 1871) %>%
ungroup() %>%
count(year, Type)
## Source: local data frame [8 x 3]
## Groups: year [?]
##
## year Type n
## <int> <chr> <int>
## 1 1881 Metropolitan 32
## 2 1881 Mixed 220
## 3 1881 Rural 240
## 4 1881 Urban 103
## 5 1891 Metropolitan 32
## 6 1891 Mixed 220
## 7 1891 Rural 240
## 8 1891 Urban 103
filter(pauperism, year > 1871) %>%
filter(Type != "NaN") %>%
group_by(year, Type) %>%
select(paupratiodiff, outratiodiff, Prop65_diff, popratiodiff) %>%
gather(variable, value, -Type, -year) %>%
group_by(variable, year, Type) %>%
summarize(mean = mean(value, na.rm = TRUE),
sd = sd(value, na.rm = TRUE)) %>%
knitr::kable()
## Adding missing grouping variables: `year`, `Type`
| variable | year | Type | mean | sd |
|---|---|---|---|---|
| outratiodiff | 1881 | Metropolitan | 25.07636 | 12.979986 |
| outratiodiff | 1881 | Mixed | 70.71569 | 27.942993 |
| outratiodiff | 1881 | Rural | 72.24664 | 27.055468 |
| outratiodiff | 1881 | Urban | 64.57293 | 25.469154 |
| outratiodiff | 1891 | Metropolitan | 90.84679 | 42.912778 |
| outratiodiff | 1891 | Mixed | 109.82761 | 45.945173 |
| outratiodiff | 1891 | Rural | 116.73896 | 48.465973 |
| outratiodiff | 1891 | Urban | 97.18114 | 33.819458 |
| paupratiodiff | 1881 | Metropolitan | 50.61654 | 16.303219 |
| paupratiodiff | 1881 | Mixed | 66.46855 | 17.471028 |
| paupratiodiff | 1881 | Rural | 66.18899 | 15.492810 |
| paupratiodiff | 1881 | Urban | 73.85648 | 26.387059 |
| paupratiodiff | 1891 | Metropolitan | 104.67066 | 29.836570 |
| paupratiodiff | 1891 | Mixed | 91.09768 | 19.467070 |
| paupratiodiff | 1891 | Rural | 91.59067 | 20.409368 |
| paupratiodiff | 1891 | Urban | 86.23436 | 29.512905 |
| popratiodiff | 1881 | Metropolitan | 119.90865 | 30.090299 |
| popratiodiff | 1881 | Mixed | 110.65842 | 14.706062 |
| popratiodiff | 1881 | Rural | 97.55477 | 7.546160 |
| popratiodiff | 1881 | Urban | 124.81552 | 36.422994 |
| popratiodiff | 1891 | Metropolitan | 111.31099 | 24.296891 |
| popratiodiff | 1891 | Mixed | 108.01843 | 14.739470 |
| popratiodiff | 1891 | Rural | 97.03669 | 9.209995 |
| popratiodiff | 1891 | Urban | 119.53807 | 31.484939 |
| Prop65_diff | 1881 | Metropolitan | 99.13926 | 9.176468 |
| Prop65_diff | 1881 | Mixed | 100.71849 | 21.359748 |
| Prop65_diff | 1881 | Rural | 103.74897 | 8.703695 |
| Prop65_diff | 1881 | Urban | 106.89375 | 76.126030 |
| Prop65_diff | 1891 | Metropolitan | 107.59174 | 5.524179 |
| Prop65_diff | 1891 | Mixed | 106.87802 | 18.705844 |
| Prop65_diff | 1891 | Rural | 107.54229 | 8.369285 |
| Prop65_diff | 1891 | Urban | 116.51129 | 95.171090 |
8.2 Regressions
lm(pauper ~ outratio, data = pauperism)
##
## Call:
## lm(formula = pauper ~ outratio, data = pauperism)
##
## Coefficients:
## (Intercept) outratio
## 0.024637 0.002408
lm(pauper ~ year + Type + outratio, data = pauperism)
##
## Call:
## lm(formula = pauper ~ year + Type + outratio, data = pauperism)
##
## Coefficients:
## (Intercept) year TypeMixed TypeRural TypeUrban
## 1.8736845 -0.0009799 -0.0014571 0.0038099 -0.0083008
## outratio
## 0.0014681
lm(pauper ~ year + Type + outratio + Prop65 + Popn65, data = pauperism)
##
## Call:
## lm(formula = pauper ~ year + Type + outratio + Prop65 + Popn65,
## data = pauperism)
##
## Coefficients:
## (Intercept) year TypeMixed TypeRural TypeUrban
## 1.999e+00 -1.052e-03 -1.405e-02 -1.600e-02 -1.099e-02
## outratio Prop65 Popn65
## 1.417e-03 4.421e-01 -1.301e-06
lm(pauper ~ Type * (year + outratio + Prop65 + Popn65), data = pauperism)
##
## Call:
## lm(formula = pauper ~ Type * (year + outratio + Prop65 + Popn65),
## data = pauperism)
##
## Coefficients:
## (Intercept) TypeMixed TypeRural
## 1.515e+00 3.711e-01 1.021e+00
## TypeUrban year outratio
## -3.650e-01 -7.964e-04 2.063e-03
## Prop65 Popn65 TypeMixed:year
## 5.683e-01 -1.790e-06 -2.010e-04
## TypeRural:year TypeUrban:year TypeMixed:outratio
## -5.580e-04 1.958e-04 -8.536e-04
## TypeRural:outratio TypeUrban:outratio TypeMixed:Prop65
## -5.522e-04 -6.385e-04 -8.643e-02
## TypeRural:Prop65 TypeUrban:Prop65 TypeMixed:Popn65
## 6.153e-02 -3.845e-01 -2.140e-06
## TypeRural:Popn65 TypeUrban:Popn65
## 2.853e-06 4.012e-07
ggplot(filter(pauperism, !is.na(pauper), !is.na(outratio)),
aes(x = outratio, y = pauper)) +
geom_point(colour = "gray") +
geom_smooth(method = "lm", colour = "black", se = FALSE) +
facet_grid(Type ~ year) +
theme_minimal()
pauperism_diff <-
pauperism %>%
filter(year > 1871) %>%
mutate(year = as.factor(year)) %>%
select(ID, Union, Type, year, paupratiodiff, outratiodiff, popratiodiff, Prop65_diff) %>%
drop_na()
lm(paupratiodiff ~ outratiodiff, data = pauperism_diff)
##
## Call:
## lm(formula = paupratiodiff ~ outratiodiff, data = pauperism_diff)
##
## Coefficients:
## (Intercept) outratiodiff
## 51.8476 0.3062
lm(paupratiodiff ~ Type * year + outratiodiff, data = pauperism_diff)
##
## Call:
## lm(formula = paupratiodiff ~ Type * year + outratiodiff, data = pauperism_diff)
##
## Coefficients:
## (Intercept) TypeMixed TypeRural
## 44.9546 5.4525 4.9335
## TypeUrban year1891 outratiodiff
## 14.3221 39.2040 0.2258
## TypeMixed:year1891 TypeRural:year1891 TypeUrban:year1891
## -23.2685 -23.8930 -34.1886
lm(paupratiodiff ~ Type * year + outratiodiff + popratiodiff + Prop65_diff, data = pauperism_diff)
##
## Call:
## lm(formula = paupratiodiff ~ Type * year + outratiodiff + popratiodiff +
## Prop65_diff, data = pauperism_diff)
##
## Coefficients:
## (Intercept) TypeMixed TypeRural
## 76.82129 3.25804 -0.21806
## TypeUrban year1891 outratiodiff
## 15.33249 37.36729 0.22808
## popratiodiff Prop65_diff TypeMixed:year1891
## -0.23418 -0.03878 -21.81233
## TypeRural:year1891 TypeUrban:year1891
## -22.05079 -32.94109
lm(paupratiodiff ~ (Type * year) * (outratiodiff + Prop65_diff + popratiodiff), data = pauperism_diff)
##
## Call:
## lm(formula = paupratiodiff ~ (Type * year) * (outratiodiff +
## Prop65_diff + popratiodiff), data = pauperism_diff)
##
## Coefficients:
## (Intercept) TypeMixed
## 5.777e+01 -6.535e+00
## TypeRural TypeUrban
## -8.292e+01 -2.639e+00
## year1891 outratiodiff
## -7.264e+01 7.082e-01
## Prop65_diff popratiodiff
## 1.082e-01 -2.973e-01
## TypeMixed:year1891 TypeRural:year1891
## 1.607e+02 7.619e+01
## TypeUrban:year1891 TypeMixed:outratiodiff
## 1.310e+02 -5.095e-01
## TypeRural:outratiodiff TypeUrban:outratiodiff
## -4.775e-01 -2.505e-02
## TypeMixed:Prop65_diff TypeRural:Prop65_diff
## -9.975e-02 3.717e-01
## TypeUrban:Prop65_diff TypeMixed:popratiodiff
## -1.675e-01 2.994e-01
## TypeRural:popratiodiff TypeUrban:popratiodiff
## 5.524e-01 1.428e-01
## year1891:outratiodiff year1891:Prop65_diff
## -3.761e-01 1.102e+00
## year1891:popratiodiff TypeMixed:year1891:outratiodiff
## -6.927e-02 3.356e-01
## TypeRural:year1891:outratiodiff TypeUrban:year1891:outratiodiff
## 3.612e-01 -7.082e-02
## TypeMixed:year1891:Prop65_diff TypeRural:year1891:Prop65_diff
## -1.292e+00 -9.311e-01
## TypeUrban:year1891:Prop65_diff TypeMixed:year1891:popratiodiff
## -1.073e+00 -3.577e-01
## TypeRural:year1891:popratiodiff TypeUrban:year1891:popratiodiff
## -8.724e-04 -1.660e-01
8.3 Summary Statistics
8.3.1 Outratio
ggplot(select(filter(pauperism, !is.na(outratio)),
outratio, ID, year, Type),
aes(x = outratio, y = ..density..)) +
geom_histogram(binwidth = 2) +
facet_grid(year ~ Type)
ggplot(select(filter(pauperism, !is.na(outratiodiff)),
outratiodiff, ID, year, Type),
aes(x = outratiodiff, y = ..density..)) +
geom_histogram(binwidth = 20) +
facet_grid(year ~ Type)
8.4 Pauperism
ggplot(select(filter(pauperism, !is.na(pauper)),
pauper, ID, year, Type),
aes(x = pauper, y = ..density..)) +
geom_histogram(binwidth = .01) +
facet_grid(year ~ Type)
There appear to be some big outliers in the ratio difference in pauperism,
ggplot(select(filter(pauperism, !is.na(paupratiodiff)),
paupratiodiff, ID, year, Type),
aes(x = paupratiodiff, y = ..density..)) +
geom_histogram(binwidth = 15) +
facet_grid(year ~ Type)
8.5 Specifications
Dependent variable
- proportion paupers
- number paupers
- log(paupers)
- log(proportion paupers)
Controlling for various:
- outratio, inratio
- population
- number
log(number)
- proportion 65+
- proportion
- number
log(number)
datums::pauperism_year %>%
filter(year == 1871) %>%
select(outratio, pauper2) %>%
drop_na() %>%
ggplot(aes(x = outratio, pauper2)) +
geom_point() +
geom_smooth(method = "lm")
datums::pauperism_year %>%
filter(year == 1871) %>%
select(outratio, pauper2) %>%
drop_na() %>%
cor()
## outratio pauper2
## outratio 1.0000000 0.2105665
## pauper2 0.2105665 1.0000000
Regressions for each year
datums::pauperism_year %>%
group_by(year) %>%
summarise(mod = list(lm(outratio ~ pauper2, data = .)))
## # A tibble: 3 × 2
## year mod
## <int> <list>
## 1 1871 <S3: lm>
## 2 1881 <S3: lm>
## 3 1891 <S3: lm>
datums::pauperism_year %>%
filter(year == 1871) %>%
select(outratio, pauper2) %>%
drop_na() %>%
lm(pauper2 ~ outratio, data = .)
##
## Call:
## lm(formula = pauper2 ~ outratio, data = .)
##
## Coefficients:
## (Intercept) outratio
## 0.043637 0.001218
mod_1871 <-
datums::pauperism_year %>%
filter(year == 1871) %>%
select(outratio, pauper2) %>%
{lm(pauper2 ~ outratio, data = .)}
ggplot(augment(mod_1871), aes(x = outratio)) +
geom_ref_line(v = mean(filter(pauperism_year, year == 1871)$outratio, na.rm = TRUE)) +
geom_point(mapping = aes(y = pauper2, size = .hat, colour = .hat)) +
geom_path(mapping = aes(y = .fitted)) +
scale_color_viridis()
The observations that have the highest weight in determining the fitted values are those furthest from the mean of X
.
Hat values in multidimensional space:
# MDS
pauperism_mds <-
pauperism %>%
filter(year == 1891) %>%
select(outratiodiff, popratiodiff, Prop65_diff) %>%
drop_na() %>%
dist() %>%
cmdscale() %>%
tidy()
lm(paupratiodiff ~ outratiodiff + popratiodiff + Prop65_diff,
data = filter(pauperism, year == 1891)) %>%
augment() %>%
bind_cols(pauperism_mds) %>%
ggplot(aes(x = X1, y = X2, size = .hat, colour = .hat)) +
geom_ref_line(h = 0) +
geom_ref_line(v = 0) +
geom_point()
8.6 Multiple regression anatomy
\[ \beta_k = \frac{\Cov(Y_i, \tilde{X}_{k,i})}{\Var{\tilde{X}_{ki}}} \] where \(\tidle{X}_{ki}\) is the residual of the regression of \(X\) on all the variables other than \(K\).
Regress paupratio
on Prop65_diff
:
pauperism_diff <- select(pauperism, paupratiodiff, outratiodiff,
Prop65_diff, popratiodiff) %>%
drop_na()
mod_prop65_diff <- lm(paupratiodiff ~ Prop65_diff, data = pauperism_diff)
pauperism_diff$.fitted1 <- fitted(mod_prop65_diff)
pauperism_diff$.resid1 <- residuals(mod_prop65_diff)
mod_popratiodiff <- lm(.resid1 ~ popratiodiff, data = pauperism_diff)
pauperism_diff$.fitted2 <- fitted(mod_popratiodiff)
pauperism_diff$.resid2 <- residuals(mod_popratiodiff)
Regress residuals on outratiodiff
mod_popratiodiff <- lm(.resid2 ~ outratiodiff, data = pauperism_diff)
pauperism_diff$.fitted3 <- fitted(mod_popratiodiff)
pauperism_diff$.resid3 <- residuals(mod_popratiodiff)
- Relationship between the omitted variables \(Z\) and \(X\)
- Relationship between the omitted variable and \(Y\)
OVB formula. Angrist and Pischke (2014, 70)
- Effect of \(X\) in short = Effect of \(X\) in long + (Relationship between included and omitted) x effect of omitted in long.
- OVB = (Relationship between \(X\) and \(Z\)) x (effect of \(Z\) in long)
References
Yule, G. Udny. 1899. “An Investigation into the Causes of Changes in Pauperism in England, Chiefly During the Last Two Intercensal Decades (Part I.).” Journal of the Royal Statistical Society 62 (2). JSTOR: 249. doi:10.2307/2979889.
Angrist, Joshua D., and Jörn-Steffen Pischke. 2009. Mostly Harmless Econometrics: An Empiricist’s Companion. Pr.
2014. Mastering ‘Metrics. Princeton UP.


Chapter 2 URSSI Conceptualization
The purpose of this conceptualization project was to create a roadmap for a US Research Software Sustainability Institute (URSSI). The roadmap was to be informed by and responsive to a community of potential stakeholders, including researchers, software developers and users, funders, and program / product managers. To engage this diverse group of people and institutions we completed the research described in this section including a series of workshops, community outreach and communication, a survey, set of ethnographic studies, and a pilot Winter School for early-career researchers. At the conclusion of this section we offer a summary of the challenges identified, collectively, across all of the URSSI conceptualization activities and what role we believe URSSI should play in addressing these challenges.
2.1 Workshops
Community wide workshops: In 2018 we held two community workshops with URSSI stakeholders in Berkeley (April) and Chicago (October). We invited participants based on their ability to represent diverse roles, institutions, and perspectives on research software. The general goal of the two community workshops was to determine which topics this diverse group of stakeholders consider to be well-understood, which topics still have uncertainty or a need for guidance, and what work remains to be done in supporting sustainable research software. URSSI PIs facilitated broad discussions and participated in small group breakout discussions. Additionally, participants at each workshop gave presentations about their on-going research software activities.
Thematic Workshops: Participants at the first community workshop identified two topics worthy of more focused discussion and community input. We organized the following workshops to better understand those topics:
The Metrics, Credit and Citation Workshop, held in Santa Barbara, California in January 2019, focused on reseach software metrics, citation, and impact evaluatin. The 23 participants had strong expertise in the various workshop themes, including the PIs of the CodeMeta project, Zenodo, and software credit initiatives such as SourceCred.
The Research Incubators Workshop, held in College Park, Maryland in February 2019, focused on methods for incubating new and existing research projects. The 20 participants had strong expertise in research software project development, including program officers from various government agencies, open-source research software developers, and organizational scholars that have studied research software processes.
URSSI Design Workshop: In April 2019 members of the Senior Personnel and Advisory Committees participated in a workshop in Chicago, IL. PIs presented preliminary results from our research (ethnographies and survey) as well as lessons learned from the four previously held URSSI workshops.
2.3 Survey
We developed and disseminated a survey to compliment workshop participation. The primary goal of the survey was to gather the opinions, preferences, and self-reported activities of the research software community regarding development practices, development tools, training, funding/institutional support, career paths, credit for software work, and diversity/inclusion. For each of these topics, we asked a small number of general questions and then allowed participants to self-select to answer more detailed questions about any area of particular interest. We distributed the survey to PIs of currently funded NSF and NIH projects and to relevant mailing lists. The survey closed in May 2019 after receiving approximately 1200 responses.
The results of the survey highlighted some areas where URSSI could play a key role in advancing the sustainability of research software in the United States.
There was a mismatch between how respondents wanted to allocate their time and their actual allocation of time. This result provides an opportunity for URSSI to work with developers and teams to help them focus their efforts on the tasks that are most relevant.
The aspects of the software development process respondents viewed as being more difficult than they should be tended to be people-related activities rather than technical activities. This result suggests that URSSI could support teams and developers by providing training and/or resources related to human factors in the software development process.
Respondents indicated they use a number of software development practices. However, one key practice that was underutilized is peer code review. URSSI can provide training on peer code review and work with teams to ensure that the infrastructure is in place to appropriately support this activity in the research software space.
The respondents indicated that software development practices including requirements, design, maintenance, and documentation were not well-supported by tools.
In terms of version control, there is still a sizable percentage of people who use methods like copying files to another location and zip file backups as version control. This result suggests that URSSI could provide additional training and tools to help teams use modern version control systems.
Many of the items above relate to training, or the lack thereof. The survey results suggest a large percentage of respondents have not received training in software development. While the respondents indicated there were sufficient opportunities for training, most of them suggested they did not have sufficient time for training. URSSI could help by providing training in different formats that work better with the demands of the research software developers’ environments.
Many respondents also found the level of support, in terms of funding, to be inadequate to be successful. URSSI could help by advocating both at the national funding level as well as at the University level for increased funding for important research software development activities.
Respondents also indicated their software contributions were not significantly valued in performance reviews. URSSI could help by developing and advocating for policies that help research software developers get adequate recognition for their work.
Most projects lack a formal diversity plan. URSSI could help by providing template diversity plans and support for developing appropriate plans for individual projects.
2.4 Ethnography
To gain a deeper understanding of the practices and experiences of researchers who are actively engaged in software development, we have undertaken a series of ethnographic studies. These studies focused on software projects of varying size and complexity in the fields of hydrology, astronomy, and biochemistry. Using observations, semi-structured interviews, and a series of archival documents, we produced case studies of how, over time, these projects overcame challenges of recruiting contributors, building a governance model, seeking funding, and sharing credit in sustaining a software project that has demonstrable impact on a community of researchers.
We developed two of these studies, Astropy and Rosetta Commons, as full case studies. Both projects face unique sustainability challenges that they solved somewhat differently. While the main findings of this work are not novel in the sense that they will surprise anyone familiar with challenges to sustaining research software, the value of this work is in comparing the two cases. By better understanding common approaches to overcoming sustainability challenges, we believe there is a valuable opportunity to abstract these approaches into models of success that research software projects in other domains can modify or tailor. The following is a brief summary of the findings from these two case studies.
Points of comparison:
Distributed work coordination: Key to the success of both Astropy and Rosetta Commons is coordination of remote collaborative work. Astropy mirrors Python’s core development team in structuring contributor guidelines and supporting designated maintainers. Rosetta Commons differs substantially in that the project employs four full-time infrastructure maintainers. This offloading of maintenance responsibilities frees up contributors (distributed labs throughout the USA) to focus on conducting research and driving innovations that extend Rosetta’s key functionality.
Funding: Astropy is fiscally sponsored by NumFocus, but depends upon grant funding from a variety of sources to sustain its collective work. A recent grant from Gordon and Betty Moore Foundation, “Sustaining and Growing the Astropy Project,” is focused exclusively on maintenance and governance for the project’s long-term viability to practicing astronomers. Rosetta Commons combines licensing and grant funding to sustain its work. Licenses for commercial use and an NIH infrastructure maintenance grant have continuously supported the project since 2005.
Credit: Both projects have had a number of papers published about their development. Astropy suggests two publications to cite when acknowledging use of the software (Robitaille et al. 2013; Price-Whelan et al. 2018). These two publications, combined, have over 3000 citations. Rosetta Commons, because it has many versions, methods, and language specific implementations, has no canonical citation. Interviews with contributors to Rosetta noted that this lack of canonical citation causes confusion for authors when rushing towards publication. Many researchers have sought a centralized source they could acknowledge. Despite the lack of a canonical citation, two papers describing Rosetta and its use in predicting protein structures have, combined, over 4300 citations (Rohl et al. 2004; Salmena et al. 2011).
We observe differences in the two projects that seem marginal at first glance, but upon further analysis have important practical consequences for software development activities. For example, two substantial differences in the projects have consequences for the long-term sustainability of each project:
Astropy, in following an open model of contribution, focuses time and attention on clearly documenting and making contributor guidelines accessible to research software engineers. The maintenance team therefore focuses their effort on ensuring contributors are supported while simultaneously keeping various packages up to date and available to the community that depends upon this code for their research. This approach is partially a result of the software ecosystem being broadly useful to a discipline (Astronomy), as compared to Rosetta Commons, which focused on specific analytic tasks within a subfield of biological engineering (Macromolecular modelling).
Continuous annual grant funding and licensing fees allow Rosetta to centralize infrastructure tasks to a core team whose sole job is maintenance. This approach in turn encourages innovation and expansion of feature sets for labs that focus solely on producing new research insights. Astropy has, over time, centralized maintenance of the project’s software development and maintenance. But until very recently, this maintenance has been a volunteer activity. Shifting time, attention, and energy towards organizing an open-source model of development impacts career trajectories for practicing astronomers and contributes to a more fragile ecosystem for astronomy.
We recognize that software sustainability is more than just financial support, but what these case studies make clear is that the economic realities of maintaining and contributing to software development have important downstream impacts that shape innovation and engagement. The URSSI conceptualization has studied how these challenges can be practically overcome.
2.5 Winter School
In late December 2019 we ran our first ever URSSI school on research software engineering. We began accepting applications in July and received an overwhelming response to our call for applications. For the 30 participant slots available, we received 169 applications, meaning we had a challenging time selecting the participants and had to turn away a large number of interested researchers. While the selection committee used multiple criteria to evaluate and select participants, successful applicants already had some experience with Python programming, Git, and Unix skills, which was necessary to benefit from the workshop. Our goal was not to repeat the same material covered in bootcamps and Software Carpentry style workshops, but to focus on the research software engineering skills that not formally taught in any setting. These skills include best practices for packaging code as software, testing, collaborative software development, code review, and related topics such as licensing and archiving. The school lasted 2.5 days.
Based on the demand described above, this experience made evident the strong need for the skills covered in the school. The overall feedback from the school was also positive (more on that below). Some key lessons from this pilot that impact our design of a Summer School as part of URSSI are: 1) the school needs to be longer to allow for both discussion time and focused time for students to work on their own code, applying the lessons from the lectures; and 2) the presence of additional helpers outside of the primary instructors was quite beneficial to help answer specific questions from the students.
A few example quotes from the Winter School feedback form include:
“I really can’t say enough good things about this super empowering workshop! You did an amazing job identifying the things I didn’t know that I didn’t know, and teaching them at a level that was immediately actionable in my work.”
“Thank you so much to everyone for taking this amazing initiative to teach young scientists on software sustainability.”
“Thank you for putting together this winter-school, it was super useful to me and I’m looking forward to applying everything I learned to my future projects and to go deeper into the topics that were covered.”
2.6 Joint Activities
During the URSSI conceptualization process, we helped start two new activities that overlapped our goals, both so that we could promote these goals and also so that we could build up these future partners of a later full URSSI institute.
2.6.1 Research Software Alliance (ReSA)
ReSA was founded in 2018 to support recognition and valuing of research software as a fundamental and vital component of research worldwide, instigated by URSSI, the UK Software Sustainability Institute, and the Australian Research Data Commons. ReSA’s mission is to bring research software communities together to collaborate on the advancement of research software. Recent achievements include:
Development of research software guidelines for policy makers, funder, publishers and the research community for inclusion in the RDA COVID-19 Guidelines and Recommendations (Research Data Alliance 2020)
Inclusion of software in the draft revision of the OECD Committee for Science and Technology Policy’s Enhanced Access to Publicly Funded Data for Science, Technology and Innovation (which will become soft law) (TODO add link to final document after release)
Co-leadership of the FAIR 4 Research Software taskforce with FORCE11 and RDA to develop community-agreed principles and implementation guidelines
Support from the Gordon and Betty Moore Foundation to achieve ReSA’s goals
The Director of ReSA is Michelle Barker and the Steering Committee is comprised of:
- Neil Chue Hong, Director, Software Sustainability Institute, UK
- Catherine Jones, Software Engineering Group Leader, STFC, UK
- Daniel S. Katz, Assistant Director for Scientific Software and Applications, National Center for Supercomputing Applications (NCSA), University of Illinois, USA
- Chris Mentzel, Executive Director, Stanford University, USA
- Karthik Ram, URSSI PI, University of California, Berkeley, USA
- Andrew Treloar, Director, Platforms and Engagements, Australian Research Data Commons, Australia
2.6.2 Research Software Engineering (RSE)
In a 2012 workshop run by the UK SSI, a number of UK researchers who develop software realized that while they internally recognized a number of common elements to the work they did, along with others at their universities, there was no commonality to how others saw this work and these roles, and they needed to come together to build and develop a community. As stated by James Hetheringon, they decided they needed to “develop the profession of a scientific software engineer and the career track of software developers in academia.” The SSI studied academic job descriptions in the UK, and found about 10000, of which about 400 were related to software development, with 194 different job titles. To build recognition of the common software elements of these positions, the SSI chose the name “research software engineer.” The SSI then began publicizing this idea, building a community of people who identified with the role, leading to the formation of the UK RSE Association, which is now the Society of Research Software Engineering. The SSI and RSE Association/Society encouraged people who were performing RSE-like work to also identify with this title, built RSE groups in UK universities, encouraged universities to change their job titles, held workshops and then conferences for RSEs, encouraged a funding agency to provide fellowships to RSEs, and built up the association/society, which now has about 2000 members (Hettrick 2016).
As a number of non-UK people (including some URSSI PIs) started attending UK RSE conferences, the SSI also supported activities to grow the international community. These self-developed and SSI-supported activities have led to RSE groups in Germany, the Netherlands, the Nordic countries, the US, Canada, Australia/New Zealand, South Africa, and Belgium, some of which have now held national workshops and conferences. The US Research Software Engineer Association (US-RSE) formed in 2018, with the support and participation of three of the five URSSI PIs, and has 420 members as of May 2020. The US-RSE Association is centered around three main goals:
Community: to provide a coherent association of those who identify with the role (not necessarily title) of Research Software Engineer, and to provide the members of the community the ability to share knowledge, professional connections, and resources.
Advocacy: to promote RSEs’ impact on research, highlighting the increasingly critical and valuable role RSEs serve.
Resources: to provide useful resources to multiple demographics, including technical and career development resources, and information and material to support the establishment and expansion of RSE positions and groups within the research ecosystem.
There are thus some overlaps between US-RSE’s goals and URSSI’s and a clear reason for us to work together going forward.
2.7 Synthesis of URSSI Activities
In the following section we describe common challenges and dilemmas we identified across URSSI’s conceptualization activities. Where possible, we identify the role URSSI could play in helping overcome these challenges as a funded institute.
Challenge 1: Decentralized expertise
Throughout the planning activities, the community of stakeholders recognized that there already exist a number of individual efforts to help improve the development, maintenance, and overall sustainability of research software in the US. While these efforts, collectively, are comprehensive in their scope, the decentralized structure of this expertise is inefficient for both resource discovery and delivery of services. For example there are many points of expertise in research software development (e.g., SWEBOK, RSEs), education and training (e.g., academic initiatives, Carpentries), credit and metrics (e.g., CiteAs), incubation (e.g., ESIP, the UW eScience Institute) that are available to individuals at specific institutions. However, there is currently no comprehensive organization that can serve to coordinate these activities, promote centers of expertise, and ensure that effort is not duplicated– a role that is played admirably in the UK by the Software Sustainability Institute.
As a coordinating center, URSSI could help solve this challenge in the following ways:
Broker connections between points of expertise and serve to coordinate efforts and funding such that different experts could better collaborate on sustainable development, education, and policy initiatives.
Identify and convene experts to help fill gaps that exist between service delivery, for example, where the Carpentries see gaps in knowledge skill or acquisition in sustaining software education.
Disseminate best practices from specific disciplines to the broader research community. By acting as a center of research software excellence URSSI could be a space where solutions from one domain could be learned and efficiently transferred to another.
Coordinate and help to curate relevant research software packages through discovery portals, such as https://libraries.io/
Challenge 2: Pathways to sustainability for non-commercial research software
Throughout the URSSI conceptualization activities, participants voiced concern for the viability of valuable software projects that do not seek commercialization. Technology transfer programs at universities and through research funding agencies (e.g. I-Corps, SBIR/STTR) are well established and have been successful at helping entrepreneurially-focused software projects recognize and execute viable business models. This transition pathway is promoted for software that has a potential to sustain itself through fees or licensing agreements. However, there is no equivalent university guidance for software projects that would like to pursue non-commercial open source models for sustainability.
There is a need for a US-based institute, divorced from any single university, to help valuable research software projects realize a non-commercial open-source route to sustainability. This support could include a program, such as an incubator, that would guide research software projects towards developing open-source governance, budgeting, licensing, and fiscal sponsorship in service of non-commercial sustainability. We view this route, and its guidance from an institute, as critical to promoting an ecosystem of diverse research software projects that may not be readily amenable to commercialization, or have the potential to build healthy and viable volunteer developer communities as an alternative to licensing.
Challenge 3: Coordinated advocacy and analysis for policy change
Related to the first challenge of decentralized expertise, there is a need for coordination and targeted leadership around policy for sustainable research software. Participants in URSSI workshops described a need for coordinating communities around emerging national, institutional, and even disciplinary specific policies that have a downstream impact on sustainability, such as software citation principles, tenure and promotion guidelines that recognize research software contributions, sustained funding or financial support for research software maintenance, and software management plans that explicitly document expectations around software development and archiving.
Currently, community members take on many of these policy activities as additional professional service, or as volunteer work. This secondary focus on any one policy issue, in turn, leads to slow progress, high turnover of volunteers, and does not allow any one person or institution to develop the deep expertise needed for effective sustained analysis or advocacy.
An institute that could dedicate time and attention to policy design, invest personnel time in developing needed expertise, and coordinate a sustainable lobbying network would allow advocacy work to become more manageable, effective, and result in better outcomes for research software stakeholders. Further, there is often a need to conduct advocacy work driven by empirical research that can substantiate how or why one policy decision is better than another. An institute dedicated to these activities would facilitate data-driven policy research that could lead to stronger advocacy positions, and benefit funding agencies, universities, and research institutions that seek to adopt new policy aimed at improving research software sustainability.
Challenge 4: Signals of viability
A valuable contribution of the URSSI workshop and engagement activities has been convening stakeholders with expertise in the evaluation and funding of research software. These stakeholders include current and former program officers from NSF, NIH, DoE, DoD, and IMLS, as well as philanthropic organizations like the Gordon and Betty Moore and Alfred P. Sloan foundations. These participants have a collective desire for an institute to develop stronger signals of a research software project’s viability; to help evaluate a project’s potential for long-term sustainability; and help communities of research software stakeholders coalesce around strategic funding initiatives that could benefit research through software investments.
A dedicated US institute focused on software sustainability could help meet this challenge in a number of ways, but we recognize that there is no overarching or simple solution. The plan we describe below explains, in numerous places, how URSSI can and should convene different communities to address complex problems like strategic financial investment, evaluation for viability, etc.
Challenge 5: Career Advancement and Credit
Closely related to Challenges 1, 3 and 4 is a desire of URSSI stakeholders to see an institute dedicate time and resources towards promoting recognition for research software activities and helping to shape reliable career pathways for research software engineers (RSEs). At URSSI workshops, there was near-unanimous agreement that the acknowledgement of research software contributions remains difficult for career advancement and there is a lack of clear guidance for both universities and funding agencies on how to make progress on these issues.
A dedicated US-based institute for research software sustainability could play a leading role in advocating for best practices in the measurement, reward, and credit for research software activities. This activity would include dedicated research into measuring and evaluating software development activities, advancing techniques for use and user impact evaluation, and promoting formative metrics that are conducive to long-term viability. Relatedly, a dedicated US-based institute could better evaluate and promote the impact of research software engineering positions that currently exist and advocate for their creation where they do not.
In the next chapter, we describe URSSI’s plan to meet each of these challenges. In particular, we focus on how a strategic investment in a US-based software sustainability institute would practically organize itself, allocate budgets, and measure progress on each of the challenges identified in the conceptualization phase.


{% extends 'base.html' %} {% block body %} Home(current) Actors Directors Genres Keywords Movies Screenwriters IMDB Score Prediction Login Register


Mirman Apps
About
Projects
Feedback
Contact
Add Feedback
Customer Feedback
Add Feedback
We'd love to hear from you!
First Name
Last Name
Email
Message
Submit


The simplest case is when a new class inherits some properties (slots and methods) from a single superclass. That superclass may, in turn, be defined in terms of its superclass, etc. The new class, its superclass, its superclass's superclass (if any) and so on are all ancestors of the new class.
The definition of a class with a single superclass begins with a class/1
directive of the form
:- class ClassName = [SlotDef, ...] + SuperClass.
where the list of SlotDef descriptions may be empty. In that case, the definition can simplified to
:- class ClassName = SuperClass.
The class SuperClass must be a defined class when this definition is given.
In SICStus Objects, a subclass inherits all the slots of its superclass. And, by default, it inherits all the methods of its superclass. The remainder of this section describes what the programmer can do to control this inheritance.
A class's slots are a combination of those explicitly defined in its slot description list and the slots it inherits from its superclass. In SICStus Objects, a class inherits all the slots of its superclass. It follows that a class inherits all the slots of all its ancestors.
The programmer's control over inheritance of slots is limited. It is not possible to rename an inherited slot, nor is it possible to change its type, unless it is a class slot. It is possible to change a slot's initial value. And, it is possible to effectively change a slot's visibility.
To change the initial value or the type (when allowed) of a slot, include a new SlotDef in the list of slot descriptions for the class, with the same slot name and a new type or initial value. The type of a class slot can only be changed to a subclass of the type of the superclass's slot. The new initial value must still be a constant of the appropriate type.
The named_point
class, defined earlier, could have better been defined
from the point class, which began as follows:
:- class point = [public x:float=0, public y:float=0].
The definition of the named_point
class would then begin with
:- class named_point = [public name:atom, public x:float=1.0] + point.
This named_point
class has public slots named name
, x
and
y
, with the same types and initial values as the earlier
named_point
definition, which did not use inheritance. This
named_point
class also inherits all the methods of the point
class, which saves us from having to write them again (and maintain them).
A slot that was private or protected in a superclass may be defined as
public. This will cause get and put methods to be generated in the
subclass. A slot that was public in a superclass may be defined as
protected or private, but this does not prevent it from inheriting the get and
put methods of the superclass. For that, the uninherit/1
directive, defined below, is
needed.
In SICStus Objects, by default, a class inherits all the methods of its superclass. The programmer has more control over the inheritance of methods than the inheritance of slots, however. In particular, methods can be uninherited and they can be redefined.
To prevent a method from being inherited, use the uninherit/1
directive. For example, suppose that the class point
is defined as
before. That is, its definition begins as follows:
:- class point = [public x:float=0, public y:float=0].
Because both slots are public, a put method is automatically generated for each, which allows their values to be changed.
The definition of a new class fixed_point
might begin as follows:
:- class fixed_point = point. :- uninherit point << (x/l), point << (y/l). Self <- create(X, Y) :- store_slot(x, X), store_slot(y, Y).
The parentheses are necessary because of the precedences of the `<<' and `/' operators.
Because the put methods from point
are not inherited, no instance of
the fixed_point
class can change its x
and y
values once
created—unless the class definition contains another method for doing
so. The get methods are inherited from point
, however.
To redefine a method, simply include method clauses for its message within a class's definition. The new method clauses replace, or shadow, the inherited method clauses for this class.
Another way to prevent the x
and y
slots of the
fixed_point
class from being modified would be to shadow the put
methods. For example, they might be redefined as
Self << x(_) :- format(user_error, "cannot modify x slot value.~n.", []), fail. Self << y(_) :- format(user_error, "cannot modify y slot value.~n", []), fail.
Now attempts to modify the x
or y
values of a fixed point
object generate a specific error message and fail. A more complicated
version would raise an appropriate exception.
Even when a superclass's method is shadowed or uninherited, it is possible to use the superclass's method inside a method clause for the new class. This makes it possible to define a “wrapper” for the superclass's method, which invokes the superclass's method without having to duplicate its code. This technique works with all message types.
Sending a message to a superclass is done with a command of the form
super
MessageOp Message
where MessageOp is one of the message operators (`<<', `>>' or `<-') and Message is a message defined for the superclass. A generalization of this syntax may be used to specify which superclass to send the message to. This is discussed in obj-inh-mih.
Sending a message to a class's superclass can only be done within a message clause.


An r package that works as a wrapper to homologene
Available species are
More species can be added on request
Basic homologene function requires a list of gene symbols or NCBI ids, and an inTax
and an outTax
. In this example, inTax
is the taxon id of mus musculus while outTax
is for humans.
homologene(c('Eno2','Mog'), inTax = 10090, outTax = 9606)
## 10090 9606 10090_ID 9606_ID
## 1 Eno2 ENO2 13807 2026
## 2 Mog MOG 17441 4340
homologene(c('Eno2','17441'), inTax = 10090, outTax = 9606)
## 10090 9606 10090_ID 9606_ID
## 1 Eno2 ENO2 13807 2026
## 2 Mog MOG 17441 4340
For mouse and humans two convenience functions exist that removes the need to provide taxonomic identifiers. Note that the column names are not the same as the homologene
output.
mouse2human(c('Eno2','Mog'))
## mouseGene humanGene mouseID humanID
## 1 Eno2 ENO2 13807 2026
## 2 Mog MOG 17441 4340
human2mouse(c('ENO2','MOG','GZMH'))
## humanGene mouseGene humanID mouseID
## 1 ENO2 Eno2 2026 13807
## 2 MOG Mog 4340 17441
## 3 GZMH Gzmd 2999 14941
## 4 GZMH Gzme 2999 14942
## 5 GZMH Gzmg 2999 14944
## 6 GZMH Gzmf 2999 14943
As of version version 1.1.68, the output now includes NCBI ids. Since it doesn’t change any of the existing column names or their order, this shouldn’t cause problems in most use cases. If this is an issue for you plase notify me.
If a you can’t find a gene you are looking for it may have synonyms. See geneSynonym package to find them. If you have other problems open an issue or send a mail.


{% extends "registration/base.html" %} {% block title %}Login{% endblock title %} {% block body %}
This is only for government servants. If you want to register complaints then click here!
If you don't have account yet then click : create account
forget password


{% extends "site.html" %}
{% block title %}PyLadies ATX{% endblock %}
{% block headjs %}
{% endblock %}
{% block style %}
{% endblock %}
{% block content %}
PyLadies ATX
Welcome!
PyLadies is a social/professional group for female Python programmers at every experience level. Developers and aspiring developers only, please. (Beginners are always welcome!)
And if you'd like to get some more information about our parent organization, check out the web site: http://www.pyladies.com
Latest from the Mailing List
{% endblock %}
{% block sidebar%}
Upcoming Events
{% endblock %}
{% block footer %}
- 2007 - {{ None|date('%Y') }} PyLadies ATX. All Rights Reserved.
{% endblock %}


| 501 | (A) | and we bene dighte this daye dere dryghttyn to serue |
| 504 | (C) | And we ar dyȝth in þis day . ałł-myȝty god to serue |
| 498 | (D) | And we are digħt in this day drightyn to serve |
| 489 | (E) | ¶ And we are dyȝt in þis day . crist for-to serue |
| (Ex) | ---- no text ---- | |
| 518 | (L) | & we ben diȝt to-day driȝten to serue |
| 480 | (P) | And we be dyghtyn to-day dryghtyn to serue |
| 497 | (U) | And we are dighten this day / drighten to serue |
| (V) | ---- no text ---- |


CNVpytor Track
A track for viewing output from
CNVpytor
, a tool for copy number analysis from read depth and B-allele frequency (BAF) of inherited variants. See
wiki
for track details.
Note: this track can take several minutes to load.


Dear Administrator,
A new message on {{URI}} has been received.
Please login to the application to read this message:
Go to contact message
.
Thank you,


We have been partnered with Gradwell since 2010.
We have partnered with Bush Broadband to deliver a community broadband solution right here in Worcestershire.
Reading an excellent article the other day which we Tweeted about here
After our post yesterday it really made us laugh seeing the news today about KodakCoin.
Happy New Year for 2018.
We have created a web application to find your nearest post box.
Connected my USB floppy drive to Fedora the other day and my 10 year old daughter peers over my shoulder.
We have just migrated our website to Github pages which uses the excellent static site generator Jekyll.
Google Analytics reporting has some excellent features to really get deep into reporting on your website analytics.
The Verge reports that the Twitter like button is more popular than the favourite here. Twitter made the button switch in early November and its clear everybody seems to understand the like button more than favourite.
Facebook has some great features for devlopers of Facebook apps.
Here at Flamelily IT we have been trying out the Twitter Ads service that has been around for a bit. After the whole Twitter IPO back in November 2013 we decided to have a look.
We have updated our Raspberry pi car computer with a reverse camera for those moments when you just can’t be asked to turn round to see what is lurking behind you.
There is a new Gmail feature that Google have sneaked in that allows anyone to email you via your Google+ profile even if they are a complete stranger. Someone just needs to add you to their circles and they then have the ability to email you direct (without seeing your email address though) even if you have not added them back. The default for this feature is on, but I will show you below how to turn it off. Google have added some security by allowing this to happen only once, unless you respond to their first email.
We are running a promotion on Twitter, and our Facebook page were we are offering a FREE PC or laptop health check for following us on Twitter or liking our Facebook page.
Just playing around with GIMP which is an excellent image manipulation software and is free under the GNU Lesser General Public License or LGPL. I created this image using the text tools within GIMP.
Been playing around with a Meraki Wireless Access Point for some time now and its amazing how cloud technology opens up areas of real usefulness.
Just thought I would add a few pictures showing the Headrest monitors I installed for the back seat passengers. Movies for the kids……?
I have always loved those old TV series with futuristic tech in those futuristic vehicles, like Knight Rider, Air Wolf, Street Hawk etc. So it got me thinking about how easy it would be to add a computer to a vehicle. Now I know its been done before and a quick Google search shows multiple websites and companies making very complex car and other vehicle computers, but at a large cost.
Sometimes we see things in the news that worry us and make us want to take action, like the recent Wordpress botnet attack.
Open source software, as its name suggests, means the ‘source code’ is open, or given away for no cost. Traditional software companies will sell you the right to run the machine code, but with no access to the source code, and even if you had access to the source code in some way you would have no rights under their license agreement to modify it.
Gmail has the ability to collect mail from other email accounts (using pop3) and also send emails as though they were sent from another email address. This is a very useful feature especially these days with users having more and more email addresses to keep track of.
We are going to do a series on using Gmail which should hopefully be useful to a number of people, especially since Android for smartphones and tablets is becoming more widespread. Firstly we are going to show you how to use filters. Filters that you setup in browser based gmail will action before you get emails to your smartphone or tablet, so can be very useful.
We have now become a 3CX partner and can offer advice and support on all versions of the software. 3CX Phone System is a software-based IP PBX for Windows which replaces traditional PBX hardware phones.
We spoke about Salesforce touch a while back, but we have now been testing it out on an iPad. The native application is really good, but you can also use the web app too, which might be useful to some who might need to use it without installing it on a mobile device.
To move wordpress sites to different servers can be a little complex. You need to move both the database and RAW folders and files. If you are moving to a different server, but keeping the same domain name: First export your database using PHP Myadmin or any other tool to get your SQL file. Webmin can export databases into SQL. Create a new empty database on your new server. This can have different names and passwords. Then using an FTP client copy your whole website structure from the root folder and import it to your root folder on the new server.
Having used wordpress for a number of years now, one of the things that can be a pain is backing up your site. We have tried a number of options, some successful and some not so much. Of course when you back up a wordpress site you need to both backup the raw files and images as well as the database. There are a number of wordpress database tools for both backup and things like optimising your database. Once such plugin is WP-DBManager. We have used this with great success and has a number of features. But this obviously only gives you an SQL backup file and does not help if you need to fully restore a site.
From console:
The news about Atos’ ‘zero email’ policy a while back had us thinking seriously about the implications. Now firstly, to be clear, the Atos ‘zero email’ is ONLY to do with internal email. In other words only internal communication between Atos employees will have to be done using other forms of communications and not email. The press, when this was reported, did not really make this clear, and I think a lot of people (including us) thought it a rather crazy thing to do. In the BBC’s story HERE word’s like ‘stupid’ were apparently used. Atos boss Thierry Breton would like this to happen by 2014.
We are running a promotion so if you like our Facebook page we are offering a FREE PC health check.
This is great news for all Salesforce users as everyone moves to being more productive on smartphones and tablets. So Salesforce are moving to a HTML 5 standard for mobile and tablet access.
Herewith a screenshot showing Microsoft’s new Windows 8 operating system with Internet Explorer 10 consumer preview running. We visited Office Live’s site and logged in to be told that you need certain browser requirements to view Office Live. Well I’m supposed to be running the latest and greatest from Microsoft and I still can’t view one of their own sites. No other sites seem to mind if you use Internet Explorer 10 to view them…….
We have been looking at the options on the market for Virtual Office services in the U.K and there are some good services out there. We here at Flamelily have decided that we can offer a Virtual Office at an excellent price. I have partnered with an accounting practice to even offer accounting and bookkeeping service to those who need it. With our expertise in VOIP we can setup any U.K area code phone numbers that can go to a specific message for people or companies to leave a message.
Having been on the list for a Raspberry Pi for a while now, was interested to receive an email about a ‘manufacturing hiccup’ which is why there is a delay. Interesting to note the foundation has received over 200 000 registrations and these are growing at 10 per minute.
Host Virtual are a popular virtual machine provider with a great support team. But what I find is their biggest selling point is their shear number of OS images they have ready for you to deploy. They have over 25 Linux distributions and over 150 base images to use. They have some great VOIP images including Pbxinaflash, Trixbox and Freepbx. Also they have things like FreeBSD, ArchLinux and Slackware.
If you purchase business cards from Vistaprint they will give you a free online business card. This is just a page with your contact details, but is certainly worth using even if its just for SEO purposes.
EFM or Ethernet in the First Mile is a great technology for small to large business looking to dump the old analog lines and move over exclusively to VOIP. Being a symmetric service (same bandwidth upstream and downstream) it really does give your internet that feeling of ‘FAST’. I think this will be an exciting technology for the company looking to drop all old analog lines and move primaraly to a VOIP telephony platform.
PBX in a flash based Asterisk Server based on a HP Proliant N36L server. PBX in a flash pre-installed and configured with a FREE outgoing SIP trunk from Gradwell.
The new app by google for Android phones called Androidify is very clever and slick. Give it a try…
Trixbox Asterisk Server based on a HP Proliant DL rack server. Trixbox CE pre-installed and configured with a FREE outgoing SIP trunk from Gradwell. Can be installed at your premises at additional cost.
I have had a lot of deliveries in the run up to Christmas and have been impressed with the ability of the on-line stores and couriers to make their deliveries. Even companies like Ocado have been ‘thinking out the box’ and fitting snow tires to their vehicles. This is a testament to on-line stores and delivery companies as I think they realise lots of people have been staying indoors so their service has been crucial to the smooth running of everyone’s Christmas. We all tend to complain about the lack of service in the U.K, but I would like to say we should appreciate what they do when things like the weather go against them….
A great company with good customer services and good pricing for all your hosting and domain needs..
There are a lot of Orange HTC owners out there waiting to get the latest Android 2.1 update and not receiving it. Well click this link below and you will see that it might be because you have not updated it to the <IP_ADDRESS> firmware from the HTC U.K support page. This is a manual update which you need to use the HTC sync software installed on a windows PC to do. This will wipe the phone unfortunately of all settings, apps etc, but from then on you will get the ‘Over the Air’ updates that do keep your settings. Follow the instructions from the link below to get Android 2.1 on your Orange HTC Hero…… http://www.htc.com/uk/faqs.aspx?p_id=283&cat=86&id=136932
After doing a re-install of windows XP on a client’s machine I came across this strange behaviour by the browser choice option that Microsoft have been using to stay within the E.U decision over browser choice.
 This is a great tool for online forms and data collection. They have a Salesforce app, Wordpress app and a Google sites tool.
I think apple have missed a trick by not having a USB port on the iPad. Can you imagine be able to tether a wifi only iPad to your iPhone or other mobile like the HTC desire I blogged about previously. Nearly £100 saving by buying the Wifi only version.
I recently posted about the HTC Legend being a good choice for a new phone. Well it is a great phone, but I think the HTC desire is the new king of the smartphones. Don’t take my word for it, read the review in the link below… PC Pro Review
Google Blog by Greg Bullock Finally Google has managed to sort out the issues with the Gmail.com domain use in the U.K. As the above link shows you will now be able to convert your @googlemail.com email to the easier to type @gmail.com Not many people knew that if you had an @googlemail.com address and someone sent you an email to @gmail.com you still received it. This was clever by Google to still route these emails to your inbox and obviously the Google ID (the bit before the @ sign) is unique to @googlemail and @gmail at the same time so as I see it anyone can convert their email to (theirID@gmail.com).
Looking for a new phone. This little beauty from HTC might just be what you are looking for. Click this link below to see a impartial review from Reghardware. HTC Legend at Reghardware


Here's your date-night intinerary!
Movie:
Theatre:
Show Time:
Map:
Let's make a new date-night!
send


--- layout: post title: "Let's SURVIVE" subtitle: "How to keep the HOPE Alive In The Midst of Pandemic" date: 2020-05-08 23:45:13 -0400 background: '/img/posts/sss.jpg' category: General tags: [covid-19,corona virus,hope,life,pandemic,survive,Strong] ---
As of 8 May 2020, the Government of the Republic of Indonesia has reported 13.112 persons with confirmed COVID-19. There have been 943 deaths related to COVID-19 reported and 2.494 patients have recovered from the disease. Indonesia is in a tough spot now because Covid-19 affect every part of our lives.
For me personally it’s a hard time to just stay at home, can’t meet many people, can’t go to many places. I am tired of feeling bored. I feel so lonely sometimes and felt worried about many things. I can't even plan many things for the future because we don’t know when this pandemic will be end. This uncertainity is killing me. I am angry on this situation but at the end I can’t do anything.  And without Hope I can’t survive in the midst of this pandemic, in this war.
We can’t survive alone, we need an encouraging community especially in this condition. So how do we do that? Start by being a friend. We want to have a friend who will encourage us, then become an encourager. Want friends who will help us grow as a person? Then practice listening, and show that we’re willing to change when we learn new things. Whatever we want to see in others, work towards becoming that friend ourselves.
Start praying for others everyday. Take time to pray for ourself and for friends. When we pray regularly for other people, our emphathy and concern for them grows. Then when our emphaty to other grows it will grow our hope too. We get a hopeful life when we give impact for other’s lives.
Start having honest conversations. Relationship are built on both dirrections trust. Being open about our condition to our friends. Being honest when we need help. But not only about us. Ask a lot of questions, actively listen and don’t judge.
It’s important to stay positive if we want to keep our hope alive. Become positive is not only having positive thingking but more than that. It means we keep on believing God in this situation. Become positive means don not live by what we see. Become positive means choosing not to listen too much on bad news.
Let's practice ourselves to think about many good things that happened in this pandemic. Even just small thing, try to write it. for me, I am grateful because in the middle of this pandemic my family and I became closer. We have more communication than before. Also I have more time to do a new thing like baking. I do enjoy doing that activity. There are still many good things in our lives. Be grateful and stay positive.
Having passion and try to make it come thru will make us living this life with full of hope. Also when we lose our passion we are starting to lose our hope too. In the midst of this pandemic let’s see this time as an opportunity to be more productive. We have a lot of time to stay at home. Use our time wisely. Try to make schedule or to do list everyday. Being productive is not about how many things you do but about how effective you are. When we do some things to reach our goals, we are productive.  Try to do your hobby, explore or improve your talent. Produce something useful according to your passion and goals.
Remember this: The more we are grateful for our lives the more we are productive. when we become productive it grows our hope. And when our hope grows we can SURVIVE. "blockquote">Photographs by Daniel Pangaribuan.
I would love to hear similar stories to share and strengthen. Or please let me know if you have questions, comments or input. Don't hesitate to write down your comments. Thank you for reading and visiting this blog :)


{% extends "common/page_base.html" %} {# common/page_base.html extends layout.html #} {% block content %}
{% if verified == 'True' %}
Yep, that looks like a pizza to me!
{% else %}Hmm, are you sure? That looks like it fits better in the category: {{ category }}
{% endif %}


See the section below on compiling or use our repository to install on a glibc based yocto poky image that supports opkg. Adding this repository is as simple as and you'll have the latest stable tagged build of mraa installed!
echo "src mraa-upm http://iotdk.intel.com/repos/3.5/intelgalactic/opkg/i586" > /etc/opkg/mraa-upm.conf
opkg update
opkg install mraa
If you would like to get the latest & greatest builds from master HEAD you can use our -dev repository
echo "src mraa-upm http://iotdk.intel.com/repos/3.5/intelgalactic-dev/opkg/i586" > /etc/opkg/mraa-upm.conf
opkg update
opkg install mraa


So, you're going with Everpost
Complete Post. Awesome.
1 Watch what's next?
2 Read FAQs
3 Make Payment
1 Watch what's next?
2 Read FAQs
3 Make Payment
Questions you might have.
We've answered a list of expected questions you may have as we get started together.
What type of support does Everpost Complete Post provide?
We provide direct chat support throughout the process*; that's the only that way we can keep prices low and offer. However, we do provide you with free critical updates and access.
*All refunds are made within standard 60 day terms.
What is your refund policy?
Due to the nature of our product, we're currently unable to offer a refund. You're buying Everpost as is, so be sure to check the requirements for WordPress before you purchase.
What type of support does Everpost Complete Post provide?
We provide direct chat support throughout the process*; that's the only that way we can keep prices low and offer. However, we do provide you with free critical updates and access.
What is your refund policy?
Due to the nature of our product, we're currently unable to offer a refund. You're buying Everpost as is, so be sure to check the requirements for WordPress before you purchase.
How big is the team? Do the same people work on all of my projects?
We provide direct chat support throughout the process*; that's the only that way we can keep prices low and offer. However, we do provide you with free critical updates and access.
No stone unturened.
Feel free to reach out to us with any questions you have which haven't been answered here.
If not, we are all set.
Or pay with card
By confirming your subscription you allow Everpost to charge your card for this payment and future payments in accordance with their terms.