--- layout: post authors: ["Tiffany Timbers"] title: "2015 Software + Data Carpentry Instructor and Helper Retreat" date: 2015-11-24 time: "07:00:00" tags: ["Instructor Retreat"] ---
Software and Data Carpentry recently held their first ever Instructor + Helper Retreat. The aim of this event was to bring instructors and helpers together remotely and at local sites around the world for a day of sharing skills, trying out new lessons and ideas and discussing all things instructor and helper related. This Retreat attempted to meet these goals via 17 local meetups in North America, Europe and Australia, 14 sessions broadcast globally via Google Hangouts on Air, and many people participating remotely by watching and asking questions at the global broadcast sessions.
In addition to bringing the community together, the Retreat also has generated additional resources surrounding many topics of interest to Software and Data Carpentry instructors and helpers; the global broadcast sessions are archived on YouTube (pending session leaders leaving them up) and can be watched at any time. The links to these videos are archived on the Retreat website. Notable other moments from retreat as captured via twitter can be accessed here.
Surveys to collect feedback from ~50 participants indicated that 64% of participants were Software or Data Carpentry Instructors, 17% were instructors in training, 9% were Helpers, and 6% identified themselves as not previously being associated with either Software or Data Carpentry prior to the retreat. Of the Instructors who completed the survey, 40% also identified themselves as Content Contributors.
The survey also provided some insight into how people actually participated at the Retreat. Most people participated in the Retreat through conversations (89%), round table discussions (89%), watching Global Broadcast sessions (64%) and examining new teaching materials (42%). Fewer people participated by actively contributing or commenting on the global broadcast sessions (17%), practicing teaching (15%) or writing/reviewing material (17%). Building community and expanding people's Software and Data Carpentry networks also was a big part of the Retreat, with 98% of survey participants stating that they met someone new. A breakdown of how many new people each survey participant met is below:
We also asked survey participants for their expectations of the day and whether they were met. Expectations were broad, but common themes included meeting others from the Software and Data Carpentry community, learn more about Software and Data Carpentry, learn about and discuss material being developed, as well as discuss and practice teaching methods. 74% of survey participants reported that the Retreat met or exceeded their expectations.
The mentoring committee is keen to host another retreat next year, and in thinking forward to making the event bigger and better, we would love to receive your ideas for next year, more feedback on this years event, as well as volunteers to help with the planning and organizing the next Retreat. We would like to collect feedback from your experience at the retreat via this survey. Those keen share ideas for upcoming Retreats and/or those wanting to volunteer to help out with next year's Retreat are asked to email the mentoring committee.


---
layout: post
title: 'Heroku: Ruby Platform Sees 50 Percent Increase in Apps Since November'
date: 2010-05-13 10:27:12 -05:00
comments: true
categories:
posterous_id: 18573601
---
If I was running a Rails shop, I would be here. But in the big
scheme of this, it's still easier to find Java developers.
I'll be back for the next startup.
The number of apps hosted on the Ruby platform Heroku has increased 50 percent since November, pointing out how cloud-based platforms are becoming the norm for the capabilities the services provide in terms of testing and reliability.
Heroku had more than 40,000 apps on its platform last November. Now more than 60,000 apps are using the Heroku service.
Heroku's success is not alone. Amazon Web Services (AWS) and Rackspace are rapidly expanding. AWS announced its expansion to the Asia Pacific region this past week. In its announcement, AWS featured Kim Eng, one of Asia'a largest security brokers. The firm said the availability of the AWS service helped minimize its latency for its KE Trade iPhone application.
Rackspace developer Mike Mayo built the company's latest iPad app for customers to monitor Rackspace cloud networks. He said the cloud provides a way for developers to test with better efficiency. For example, using cloud platforms, apps are continually tested for bugs. Those bugs can be fixed one at a time as they pop up. That's easier than doing a build and then fixing the 20 bugs that are discovered.
Heroku is a Ruby-on-Rails platform that according to the company web site "eliminates the need to manage servers, slices or clusters." Developers focus on the code and that's pretty much it.
Heroku hosts the Flightcaster application, an interesting example of a service that uses two cloud providers to serve its app. Flightcaster is a service that checks your flight to see if it is on time. It can predict up to six hours in advance if your flight will be late.
Flightcaster uses Heroku to serve the application. But the actual data analysis is done through Amazon S3 where Hadoop manages the data analytics. The data is passed from Heroku to Amazon S3 and then back to Heroku where it is served back to the customer making the request.
Heroku is an example of a service that is making it infinitely easier for developers to develop and manage applications. It's part of a new breed of platforms emerging that are growing in popularity.
We'll see if Heroku will grow 100 percent over the span of a year. That would mean 80,000 apps. Seems plausible, doesn't it?
Discuss


Hi! I am Rehan, a junior at Columbia University studying Data Science. I am a Machine Learning enthusiast passionate about predictive analytics and I have explored it by doing Zindi and Kaggle challenges. I have a data driven approach to problem solving and a background in product management. In my free time, I relax actively by playing sudoku and passively by connecting with nature.
Java
Python
SQL
HTML
CSS
NumPy
Pandas
Jupyter
Git
LaTeX


The link map is Imperial's system for representing how all the data in the system connects together. It's both a caching system and a way to represent references (both implicit and explicit). Exchange also uses the links to determine which data of a reference group should be exported and which can be derived from the exported data (so as to reduce duplication in the export).
The cache invalidation system exists for two purposes: reimporting from an altered source (thus changing dynamic data) and allowing applications to alter data at will. In this way, it's a system to make Imperial reactive.
Often times, a link doesn't have equivalent data of the same type on both ends. There is generally some conversion being made. In this case, the link map must be aware of the implications of that conversion. It can be:
For instance, if you query a MIDI-type struct for how many A notes it has, this is irreversible (it cannot recreate the MIDI data from knowing how many A notes it has, though it can perhaps validate it). But if you have a conversion from number to string (with no formatting), it's reversible.
When writing a description for a binary files, the position information is often implied. That is, it defaults to referencing the previous sister's end (or parent's base if no sister) or 0:b if it's the first struct in the root or a new binary context. In the referential cases, it establishes a link the same as if it was an explicit reference.
When a struct references into another struct which has been cloned, it forces clones of itself in a 1:1 manner. So if B references into A and is cloned in this way, then: A0 and B0 are linked, A1 and B1 are linked, etc. A is also linked to A0..N but A0 has no association with A1 or B1.
When multiple keys (for example) reference a single target, they and the target join what's called a reference group. These groups have special cache invalidation rules compared to the typical 1:1 links.
When a member of the group which is not the target is invalidated, the target is invalidated, but not the other members. When the target is updated, it invalidates all members besides itself. When the target is requested but does not have a value, it can interpret the value from the reference group members only if all members who have a value will convert to the same value (it is an error if they have divergent values, in this situation). When a member does not have a value, they must retrieve it through the target (which can infer it from other members). Similar to this pseudocode:
def target_invalidated_or_updated(target, members):
for member in members:
member.invalidate()
def member_invalidated_or_updated(member, target, other_members):
target.invalidate()
# Note that these following two functions do not cause invalidations.
def get_target_value(target, members):
if not target.has_value:
best = 4
for member in members:
link = member.link_to[target]
if member.has_value and not link.is_irreversible:
value = target.convert_value_from(member)
if link.is_reversible:
if target.has_value:
assert value == target.value
if best > 1:
target.value = value
best = 1
elif link.is_recoverable:
if target.has_value:
# Some sort of insensitive comparison,
# the type should know what's unimportant.
assert value.insensitive_equals(target.value)
if best > 2:
target.value = value
best = 2
elif link.is_lossy:
if target.has_value:
# Fuzzy comparison, whatever that means for this type.
# This is obviously expensive...but it shouldn't come up often.
assert member.convert_value_from(target).is_similar_to(member.value)
if best > 3:
target.value = value
best = 3
assert target.has_value
for member in members:
if member.has_value and member.link_to[target].is_irreversible:
# Ensure that deriving irreversible members from the target value
# we found would create the same value as this member has.
# TODO: Which comparison is appropriate? Should it be configurable?
assert member.convert_value_from(target) == member.value
return target.value
def get_member_value(member, target, other_members):
if not member.has_value:
value = get_target_value(target, other_members)
member.value = member.convert_value(value)
return member.value
References to references chain rather than get absorbed. For instance, in the case of something like:
static Example {
a: 1
b: @this.a
c: @this.a
d: @this.b
e: @this.b
}
These keys do not enter into a single reference group, but two. {a, b, c} and {b, d, e}. This way, if this were a dynamic and b required some sort of conversion, d and e know to convert from b and not from, for example, c which might convert differently.
Explicit, circular references are disallowed; at least for now. If the are implemented, they should error if the end of the cycle does not convert to the same value as the first. Likely, they could not be lazily evaluated.
Imperial Exchange imposes some requirements on the link map, being the flagship product for this tool suite. It needs to be able to determine what data can be exported, what needs to be exported, and the quality of the export. It must also be able to enter the reference groups for each piece of data (if any) so that it can determine which to export and which not to, based on an algorithm defined in its design page.
Thus a node:
Additionally, when converting between types in order to perform the export, this information must be tracked from the declared struct to the final export. For instance, final export png.width which comes from a declared graphic struct's width must be able to look into the reference group of graphic.width and notify the group that it will be necessarily and reversibly exported. If data does not make it to the exported type and cannot be exported otherwise, Exchange will need to print a warning.
What keys need to be exported can be determined by the keys requested by a to_file method which are not requested by the from_file method. Keys which are requested by both are considered transcoder keys, which would generally be declared statically (however, it's not required). The same is true of all keys which are in any pair of un/packing methods. All other keys can be assumed to be optionally exported but this assumption should be overridable.


Happy Holidays from the White House: See 91 years of presidents' Christmas cards, from Trump to JFK to Coolidge, Business Insider - Business Insider Singapore
29 Nov 2019, 13:44 by Sarah Jacobs, Business Insider US
The first family sends staff and supporters a holiday card every year.
The White House’s annual tradition dates back to 1927.
President Donald Trump’s two cards are very similar, both wishing people a “Merry Christmas and a Happy New Year.” His 2019 version should be released in December.
Visit BusinessInsider.com for more stories.
While it may be less common these days to send a holiday greeting via snail mail these days, the White House hasn’t let go of its 91-year tradition.
Starting with Calvin Coolidge in 1927, each sitting US president has wished their staff and supporters a happy holiday. Each card is unique, and recipients change from year to year .
With the help of the White House Historical Association , we’ve pulled together 66 White House holiday cards from the past eight decades. Happy holidays!
Donald Trump, 2018
Donald Trump, 2017
Barack Obama, 2013
The White House
Barack Obama, 2012
The White House
Barack Obama, 2011
The White House
Barack Obama, 2009
The White House
George W. Bush, 2008
White House Historical Association
George W. Bush, 2003
White House Historical Association
George W. Bush, 2001
White House Historical Association
Bill Clinton, 2000
White House Historical Association
Bill Clinton, 1999
White House Historical Association
Bill Clinton, 1998
White House Historical Association
Bill Clinton, 1997
White House Historical Association
Bill Clinton, 1996
White House Historical Association
Bill Clinton, 1995
White House Historical Association
Bill Clinton, 1994
White House Historical Association
Bill Clinton, 1993
White House Historical Association
George H. W. Bush, 1992
White House Historical Association
George H. W. Bush, 1991
White House Historical Association
Ronald Reagan, 1988
White House Historical Association
Ronald Reagan, 1987
White House Historical Association
Ronald Reagan, 1986
White House Historical Association
Ronald Reagan, 1985
White House Historical Association
Ronald Reagan, 1984
White House Historical Association (White House Collection)
Ronald Reagan, 1983
White House Historical Association
Ronald Reagan, 1982
White House Historical Association
Ronald Reagan, 1981
White House Historical Association
Jimmy Carter, 1979
White House Historical Association
White House Historical Association
Gerald Ford, 1976
White House Historical Association
Gerald Ford, 1975
White House Historical Association
Gerald Ford, 1974
White House Historical Association
Richard Nixon, 1973
White House Historical Association
Richard Nixon, 1972
White House Historical Association
Richard Nixon, 1971
White House Historical Association
Richard Nixon, 1970
White House Historical Association
Richard Nixon, 1969
National Archives and Records Administration
Lyndon B. Johnson, 1968
National Archives and Records Administration
Lyndon B. Johnson, 1967
White House Historical Association (White House Collection)
Lyndon B. Johnson, 1966
National Archives and Records Administration
Lyndon B. Johnson, 1965
National Archives and Records Administration
Lyndon B. Johnson, 1964
National Archives and Records Administration
John F. Kennedy, 1963
Collection of Nelson Pierce
John F. Kennedy, 1962
White House Collection
John F. Kennedy, 1961
White House Historical Association (White House Collection)
Dwight D. Eisenhower, 1959
Hallmark Cards
Dwight D. Eisenhower, 1957
Hallmark Cards
Dwight D. Eisenhower, 1956
Hallmark Cards
Dwight D. Eisenhower, 1954
Hallmark Cards
Harry S. Truman, 1952
Harry S. Truman Library
Harry S. Truman, 1951
Harry S. Truman Library
Harry S. Truman, 1950
Harry S. Truman Library WHCards
Harry S. Truman, 1946
Harry S. Truman Library
Harry S. Truman, 1945
Harry S. Truman Library
Franklin Roosevelt, 1944
Franklin D. Roosevelt Library
Franklin Roosevelt, 1943
Franklin D. Roosevelt Library
Franklin Roosevelt, 1942
White House Historical Association (White House Collection)
Franklin Roosevelt, 1941
Franklin D. Roosevelt Library
Franklin Roosevelt, 1937
Franklin D. Roosevelt Library
Franklin Roosevelt, 1936
Franklin D. Roosevelt Library
Franklin Roosevelt, 1935
Franklin D. Roosevelt Library
Franklin Roosevelt, 1934
Franklin D. Roosevelt Library
Franklin Roosevelt, 1933
Franklin D. Roosevelt Library
Herbert Hoover, 1932
Herbert Hoover Library
Herbert Hoover, 1929
National Archives and Records Administration
Calvin Coolidge, 1927
The White House


fun stop(removeAllListeners: Boolean = false): Unit
Stop camera preview and close the device. This is typically called from Activity.onPause.
removeAllListeners
- if true
, removes all listeners previously set.
See CameraView.removeAllListeners


Enter Inference Class List (Optional for labeling):
ABOUT:
This application consumes an Amazon Sagemaker Object-Detection Inference Endpoint API via a Lambda function. It provides both a visual and text output of an object-detection inference model run against a provided image.
Quick Start:
To use, follow the below steps:


The query model should be stateless for expression evaluation, but is not stateless for SQL generation.
That is, if expressions are precompiled they can be evaluated multiple times, by multiple threads concurrently (for example, this is used for evaluating the ACL expressions).
The SQL generation is however not threadsafe, as sometimes state needs to be kept between the 'generate sql' and 'bind sql' phases. (This could of course be changed to retain that state in some context object, but this is how the situation currently is).


Hey There!
I'm Akhtar
I'm a Software Developer
I can help you build a product, feature or website Look through some of my
work and experience! If you like what you see and have a project you need coded,
don’t
hestiate to contact me.
I can help you build a product, feature or website Look through some of my work and experience! If you like what you see and have a project you need coded, don’t hestiate to contact me.
My Recent Works
Multi-Post Stories
A daily selection of privately personalized reads; no accounts or sign-ups required. has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a standard dummy text.
About Me
Hello I’m a software developer! I can help you build a product , feature or website Look through some of my work and experience! If you like what you see and have a project you need coded, don’t hestiate to contact me.
-
-
Language
- Javascript
- Ruby
- Html
- Css
-
-
Frameworks
- Bootstrap
- Ruby on Rails
- RSPec
- CapyBara
- Selenium
-
-
Skills
- Codekit
- Github
- Codepen
- Gitlab
- Terminal


ajaxChimp Changelog
1.3.0 - 8/May/2014
- Transalations for success message now work
- Language file: German (updated) - Cube42
1.2.0 - 1/Mar/2014
1.1.0 - 15/Dec/2013
- Multiple form support - tobymarsden
- Language Support
- Language file: German, French, Spanish
- Minified files
1.0.2 - 06/Aug/2013


Nagios objects naming
When using Nagira API in XML mode, please pay attention to names of your Nagios objects. XML is much stricter in the tag naming than YAML or JSON, or than Nagios in respect to its object names.
For example, having timeperiod named ‘24x7’ (by defaults coming with most Nagios installations as example) will break all XML validators. Nagira will still produce XML output on GET /objects but most of validators and parsers (including web browsers) will not process this XML.
REXML reports following:
REXML::ParseException:
#<REXML::ParseException: malformed XML: missing tag start
Both JSON and YAML both producers and consumers work OK with such names.
So, basically you have two possible solutions:
-
switch to JSON or YAML for your API or
-
fix all objects names in Nagios.
RSpec tests can help to identify your problems. Just run rspec at the top of project tree (or RACK_ENV=production rspec if you’re resting your production installation) to see any errors reported.


Swear Words Filter
Click Me!
Delete Swear Words
Click Me!
Add Swear Words
Click Me!
List Of Swear Words
Clear Swear Words


Access key
+ j
Focuses the control
Alt + Down
Opens/Hides the popup
Right / Left
Moves to the adjacent part
Up
Increments the value
Down
Decrements the value
After popup opened:
Up
Selects the previous time
Down
Selects the next time
Home / End
Moves to the first / last item
Esc
Closes the popup


Publications
Google scholar profile
Published
- Markant, D., Rogha, M., Karduni, A., Wesslen, R., and Dou, W. (2023). When do data visualizations persuade? The impact of prior attitudes on learning from visualizations of correlations. Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems (CHI 2023).
- Markant, D. (2022). Modeling the effect of chained study in transitive inference. Proceedings of the 44th Annual Conference of the Cognitive Science Society. Austin, TX: Cognitive Science Society.
- Wesslen, R., Karduni, A., Markant, D., and Dou, W. (in press). Effects of uncertainty visualizations on myopic loss aversion and equity premium puzzle in retirement investment decisions. IEEE Transactions on Visualization and Computer Graphics.
- Markant, D. (2021). Chained study and the discovery of relational structure. Memory and Cognition. doi: 10.3758/s13421-021-01201-1 [data repository]
- Karduni, A., Markant, D., Wesslen, R., & Dou, W. (2021). A Bayesian cognition approach for belief updating of correlation judgment through uncertainty visualizations. IEEE Transactions on Visualization and Computer Graphics (TVCG).
- Jones, A., Markant, D., Pachur, T., Gopnik, A., and Ruggeri, A. (2021). How is the hypothesis space represented? Evidence from young children’s active search and predictions in a multiple-cue inference task. Developmental Psychology 57(7), 1080–1093. doi: 10.1037/dev0001201
- Markant, D. (2020). Active transitive inference: When learner control facilitates integrative encoding. Cognition 200. doi: 10.1016/j.cognition.2020.104188
- Markant, D. (2020). Effects of “chained” study on spontaneous relational discovery. In Denison, S., Mack, M., Xu, Yang., and Armstrong, B., editors, Proceedings of the 42nd Annual Conference of the Cognitive Science Society. Austin, TX: Cognitive Science Society.
- Watch the talk related to this paper here.
- Fantasia, V., Markant, D., Valeri, G., Perry, N., & Ruggeri, A. (2020). Memory enhancements from active control of learning in children with Autism Spectrum Disorder. Autism.
- Markant, D. (2019). Navigating the ‘chain of command’: Enhanced integrative encoding through active control of study. In Proceedings of the 41st Annual Conference of the Cognitive Science Society. Austin, TX: Cognitive Science Society.
- Ruggeri, A., Markant, D., Gureckis, T. M., Bretzke, M., & Xu, F. (2019). Memory enhancements from active control of learning emerge across development. Cognition 186, 82–94. doi: 10.1016/j.cognition.2019.01.010
- Markant, D. (2018). Effects of biased hypothesis generation on self-directed category learning. Journal of Experimental Psychology: Learning, Memory, and Cognition.
- Adams, K. A., Kachergis, G., & Markant, D. (2017). “Children’s familiarity preference in self-directed study improves recognition memory.” In G. Gunzelmann, A. Howes, T. Tenbrink, & E. J. Davelaar (Eds.), Proceedings of the 39th Annual Conference of the Cognitive Science Society. Austin, TX: Cognitive Science Society.
- Markant, D., Ruggeri, A., Gureckis, T. M., and Xu, F. (2016). “Enhanced memory as a common effect of active learning.” Mind, Brain, and Education.
- Markant, D. (2016). “The impact of biased hypothesis generation on self-directed learning.” In Papafragou, A., Grodner, D., Mirman, D., and Trueswell, J. (Eds.) Proceedings of the 38th Annual Conference of the Cognitive Science Society. Austin, TX: Cognitive Science Society. [experiment code]
- Ruggeri, A., Markant, D., Gureckis, T. M., and Xu, F. (2016). Active control of study leads to improved recognition memory in children. In Papafragou, A., Grodner, D., Mirman, D., and Trueswell, J. (Eds.) Proceedings of the 38th Annual Conference of the Cognitive Science Society. Austin, TX: Cognitive Science Society.
- Markant, D., Settles, B., and Gureckis, T.M. (2016). “Self-directed learning favors local, rather than global, uncertainty.” Cognitive Science 40(1), 100—120. doi: 10.1111/cogs.12220
- Gureckis, T.M., Martin, J., McDonnell, J.V., Rich, A.S., Markant, D., Coenen, A., Hamrick, J., Chan, P. (2015).
“psiTurk: An open-source framework for conducting replicable behavioral experiments online.”
Behavior Research Methods.
- Markant, D., Pleskac, T.J., Diederich, A., Pachur, T., and Hertwig, R. (2015).
“Modeling choice and search in decisions from experience: A sequential sampling approach.”
In Dale., R., Jennings, C., Maglio, P., Matlock, T., Noelle, D., Warlaumont, A., Yoshimi, J. (Eds.), Proceedings of the 37th Annual Conference of the Cognitive Science Society. Austin, TX: Cognitive Science Society.
[bibtex]
- Markant, D., Dubrow, S., Davachi, L., and Gureckis, T.M. (2014). “Deconstructing the effect of self-directed study on episodic memory.” Memory & Cognition 42(8), 1211—1224. doi: 10.3758/s13421-014-0435-9
[bibtex]
- Read a blog post summarizing this research here.
- Markant, D. and Gureckis, T.M. (2014). “A preference for the unpredictable over the informative during self-directed learning.” in P. Bello, M. Guarini, M. McShane, and B. Scassellati (Eds.) Proceedings of the 36th Annual Conference of the Cognitive Science Society. Austin, TX: Cognitive Science Society.
[bibtex]
- Markant, D. and Gureckis, T.M. (2014). “Is it better to select or receive? Learning via active and passive hypothesis testing.” Journal of Experimental Psychology: General 143(1), 94—122.
[bibtex]
- Gureckis, T.M. and Markant, D. (2012). “Self-directed learning: A cognitive and computational perspective.” Perspectives on Psychological Science, 7(5), 464—481.
[bibtex]
- Markant, D. and Gureckis, T.M. (2012). “One piece at a time: Learning complex rules through self-directed sampling.” in Miyake, N. and Peebles, D. and Cooper, R.P. (Eds), Proceedings of the 34th Annual Conference of the Cognitive Science Society (pp. 725—730). Austin, TX: Cognitive Science Society.
[bibtex]
- Markant, D. and Gureckis, T.M. (2012). “Does the utility of information influence sampling behavior?” in Miyake, N. and Peebles, D. and Cooper, R.P. (Eds), Proceedings of the 34th Annual Conference of the Cognitive Science Society (pp. 719—724). Austin, TX: Cognitive Science Society.
[bibtex]
- Markant, D. and Gureckis, T.M. (2010) “Category learning through active sampling” in Ohlsson, S. and Catrambone, R. (Eds), Proceedings of the 32nd Annual Conference of the Cognitive Science Society (pp. 248—253). Austin, TX: Cognitive Science Society.
[bibtex]
- Gureckis, T.M. and Markant, D. (2009) “Active learning strategies in a spatial concept learning game” in Taatgen, N., van Rijn, H., Schomaker, L. and Nerbonne, J. (Eds), Proceedings of the 31st Annual Conference of the Cognitive Science Society (pp. 3145—3150). Austin, TX: Cognitive Science Society.
[bibtex]
Preprints


Convert to trailing closure syntax When a closure is the last parameter in a function call it can be written using trailing closure syntax


Duncan:
Hi there, traveler! Are you hungry?
I have a wide variety of foods, and everything's good! My food makes people happy, and that makes me happy!
Quest


About Me
Where I started to how I arrived here... I have managed a large retail store for the last 19 years with 140+ employees. During that time I increased the net income 860%. While the work was rewarding, the pay was very good, it didn't allow for enough family time which is very important to me.
I have always had interest in computers and growing up I was taught by my aunt how to physically build pcs starting with my first processor speed of a 256 MHz. I also learned the DOS commands to navigate the C:/ prompt. Later, I went to college for web design and networking but never got a job in that field. I'm currently enrolled at University of Oregon's coding bootcamp and enjoying their learning platform. I am also enrolled in a secondary school (Frontend Masters) to also grow my coding profile. Hopefully between the two I can find a position that is both challenging and that allows for a positive home life.
When I'm not at school, I enjoy spending time with my wife and three boys. We love the many outdoor activities that our PNW has to offer including hiking, skiing, and fishing.


#134 _ield
afield
airfield
backfield
brownfield
chesterfield
coalfield
goldfield
infield
midfield
outfield
wield
yield


Spurs sack Pochettino: What could Mourinho bring to Tottenham?
by OmnisportMauricio Pochettino out. Jose Mourinho in?
Former Manchester United manager Mourinho is reportedly set to replace Pochettino, who was relieved of his duties on Tuesday.
Tottenham sacked Pochettino despite a Champions League final appearance in June – Spurs languishing 14th in the Premier League this season.
What could Mourinho – a three-time Premier League champion with London rivals Chelsea – bring to Tottenham? Omnisport takes a look.
WINNING MENTALITY
Love him or hate him, Mourinho knows how to win. Since making a name for himself at Portuguese powerhouses Porto, the maligned manager has won 25 trophies.
A serial champion with Porto, Chelsea, Inter and Real Madrid, Mourinho's haul includes a treble as Nerazzurri boss, a pair of Champions League crowns and much more.
At home in London, Mourinho – who also led United to Europa League, EFL Cup and Community Shield glory – now has the chance to become the first manager to win major trophies at three different English clubs.
EXPERIENCE
After a brief and uneventful playing career, Mourinho has amassed 19 years of managerial experience – establishing himself as one of the most successful in his field.
His early steps into management via Benfica and Uniao de Leiria led to his first big gig at Porto before being headhunted by Chelsea, Inter, Madrid and United.
With those historic clubs come huge games and moments. While a polarising figure, Mourinho has never looked out of place in London, Milan or Manchester or derbies, not to mention the El Clasico or Derby d'Italia.
DEFENSIVE STABILITY
Pundits and fans have loved to poke fun at Mourinho's tactics in recent seasons – highlighting his defensive approach, with references to parking the bus.
But Mourinho's philosophy has proven successful. A solid defensive core – John Terry and Ricardo Carvalho at Chelsea, Inter's Lucio and Walter Samuel or Sergio Ramos and Pepe in Madrid – has yielded silverware with three of the biggest clubs in the world.
Chelsea's 2004-05 triumph was based on an almost impenetrable defence, which only conceded 15 goals in 38 Premier League games and tasted defeat just once. The following season, the Blues only shipped 22. At Inter, Mourinho's side conceded a league-low 34 goals in 2009-10, while his 2011-12 Madrid team showed they could mix style with substance by scoring 121 goals and allowing 32 as Los Blancos ended Barca's LaLiga dominance.
Expect Mourinho to get the best out of Jan Vertonghen, Toby Alderweireld and Davinson Sanchez. Not to mention a defensive screen, including the likes of Tanguy Ndombele and Harry Winks, following that Champions League humbling to Bayern Munich.
POINT TO PROVE
A move to Tottenham would come at a decisive moment for Mourinho. Doubts over his ability to adapt and keep up with the times have emerged.
Much was made about Mourinho at United, where he struggled to get the best out of Paul Pogba amid a falling out and reports of dressing-room unrest.
Mourinho was brought to The Theatre of Dreams to replace Louis van Gaal and restore the glory days, but fans became disillusioned with his brand of football – many ex-players and pundits criticised him for not following the United way – as Manchester City and Liverpool continued to entertain.
With the likes of Harry Kane, Son Heung-min, Lucas Moura, Giovani Lo Celso and Christian Eriksen at his disposal, Mourinho could have the chance to show his critics he has evolved.
DRAMA & BAGGAGE
Whenever Mourinho is in town, expect plenty of entertainment and drama. The closing stages of his United reign included memorable outbursts.
From his 12-minute tirade, media clashes and player criticism, to his ongoing demands for reinforcements at United. Mourinho's spell with the Red Devils was eventful on and off the pitch.
It's also worth remembering Mourinho gouged the eye of the late Tito Vilanova during an ill-tempered Madrid-Barca clash in 2011.
Tottenham present a lot of challenges – a club with a modest budget, a hands-on chairman with strong opinions, a long-term plan and doubts over a handful of players. Mourinho has always liked to spend, so sit back and enjoy the ride.


Hi {{name}},
Your password will be reset soon!
To complete this process and complete your password reset, either copy the verification code below:
Or, click the button below to directly link to the password reset.
Reset Password
Kindest Regards,
Data Experts Group


VISYONET Configuration
Upload your configuration files:
Please select DBConfig file: (xml format).
[This config file selects the configuration of the database]
Please select VisMappingConfig file:(xml format).
[This mapping file chooses the color and shape of the nodes/links]
Back

Next


EMMA A film review by<EMAIL_ADDRESS>Copyright 1997<EMAIL_ADDRESS>A&E's Emma:
Directed by..........Diarmuid Lawrence Kate Beckinsale......Emma Woodhouse Guy Henry............John Knightley Raymond Coulthard....Frank Churchill Sarah Morton.........Harriet Smith Dominic Rowan........Mr. Elton
Emma the Movie: Directed by..........Douglas McGrath Gwyneth Paltrow......Emma Woodhouse Jeremy Northam.......Mr. Knightley Ewan McGregor........Frank Churchill Toni Collette........Harriet Smith Alan Cumming.........Mr. Elton
For anyone who saw the TV A&E's prodcution of "Emma" or is thinking of it, please wait for the movie "Emma" on video, this is a great story and cannot be missed! The A&E version was not directed by the same person who did Pride and Prejudice and was not nearly as good I feel. And certainly didn't come close to the big screen version of Emma staring Gwyneth Paltrow and directed by Douglas McGrath.
Emma is the story of a rich and influential young women in 18th century England who has set her heart on everybody else's love affairs but her own. She plans to marry off a young women new in her part of the country to a young man by the name of Mr. Elton. When this blows up in her face she doesn't learn her lesson and continues to cause all kinds of havoc to her friend and herself. She later begins to suspect she's falling in love with a man from out of town, the son of a dear friend of hers. But while this is going on is there jealousy in the eyes of her brother-in-law Mr. Knightley? This is what you would call a romantic comedy from the novelist Jane Austen that was copied in the movie "Clueless".
As I said earlier the A&E version was vastly inferior to the movie version, especially the character Mr. Knightley, played by Guy Henry, In comparison to the movie version of Emma with Jeremy Northam playing Mr. Knightley. Guy Henry's chatacter seemed very untrue to the character from the novel. This is kind of curious, were they trying to create another Fitzwilliam Darcy from Pride and Prejudice here? I remember the interview of Guy Henry, he was comparing his character to Darcy's character, I remember wondering why they ran that question in the interview because the two characters are very different. I Also remember seeing the video release for Pride and Prejudice advertised and they only mentioned Colin Firth, who played Darcy, as staring in the movie, which I thought was odd because they should have listed Jennifer Ehle as Elizabeth Bennet before him, but her name wasn't mentioned. I wonder if Colin Firth as Fitzwilliam Darcy was very popular among women. So popular that they wanted another for Emma on A&E. Guy Henry as John Knightley was very one dimensional, like a characterization.
All in all I was very dissatisfied with A&E's production of Emma, and it seems to me that the fault lies with the director Diarmuid Lawrence. To quote Mr. Knightly "Badly done Mr Lawrence, Badly done". What were they thinking? After the excellent movie of Emma from McGrath they should have done some other novel from Jane Austin like Northanger Abby or Mansfield Park. Their version was bland, flat and not worth my time. Especially after the humor and style of McGrath's Emma. Douglas McGrath who directed Emma for the big screen did a great job , I'm going to keep my eye on his work in the future, he made this a very funny and charming movie. Beautiful sets too. Also Paltrow did a far better job than Beckensale too, and of course we know the difference between Northam's and Henry's Mr. Knightly. Northam was great, and true to the role. I still remember Northam's character Knightly when faced with going to a party held by the Elton's saying he'd rather just stay home were it was cozy. And what was the point of the chicken thieves? I hope everyone who hasn't seen Emma will not let the story be spoiled by this A&E production, they should wait for the movie starring Gwyneth Paltrow to come out for rent, which will be out this March.
And so A&E's Emma gets two stars from me, and Emma the movie starring Gwyneth Paltrow gets four stars ( 1 being avoid it, 4 being excellent and 5 being classic ).
-- E-mail<EMAIL_ADDRESS>Web Page at: http://members.aol.com/antpage Simple Minds Page at: http://members.aol.com/antpage/antswebpg/antsmpg.htm E-Music pages at: http://members.aol.com/antpage/antswebpg/emusic.htm
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


This inspection reports any accesses of fields with annotation @javax.annotation.concurrent.GuardedBy, @net.jcip.annotations.GuardedBy or javadoc tag @GuardedBy which are are not guarded by an appropriate synchronization structure.


WITNESS LIST
Higher Education Committee
April 24, 2019 - 8:00 AM
For:
Lindsay, Thomas (Self; Texas public policy fdn.)
Registering, but not testifying:
For:
Scheberle, Drew (The Greater Austin Chamber of Commerce)
For:
Archer, Carson (Self; Barbers Hill ISD)
Barrera, George (Bhisd)
Duree, Sandra (Self; Barbers Hill ISD)
Hawthorne, Brian (Self; Chambers County Sheriffs Office and Commissioners Court)
Head, Steve (Lone star college system)
Hok, Kathryn (Self; Barbers Hill ISD)
Meador, Jade (Self; Barbers Hill ISD)
Poole, Gregory (Self; Barbers hill isd)
Rhodes, Christian (Self; Barbers Hill ISD)
Watkins, Nathan (City of Mont Belvieu)
Against:
Cotten, Weston (Self; Lee College Board of Regents)
Guillory, Gina (Self; Reading letter on behalf of Chambers County District Attorney, Cheryl
Lieck)
Himsel, Mark (Self; Reading a letter on behalf of Community College Association of Texas
Trustees)
Johnson, Pamela (Self)
Martinez, Rose (Community College Association of Texas Trustees)
Moore-Fontenot, Susan (Lee College Board of Regents)
On:
Brown, Dennis (Lee College)
Registering, but not testifying:
On:
Peebles, Rex (Higher Education Coordinating Board)
Registering, but not testifying:
For:
Collins, Karen (Self)
Webb, Dale (Self)
1
WITNESS LIST
On:
Peebles, Rex (Higher Education Coordinating Board)
On:
Peebles, Rex (Higher Education Coordinating Board)
Registering, but not testifying:
For:
Del Gallo, Krista (Texas Council on Family Violence)
Grace Jr., James (Houston Area Women's Center)
Kaiser, Chris (Texas Association Against Sexual Assault)
2


An interpretation of van Gogh using Javascript inspired by var t; by Jenn Schiffer
Read more about my vartworks on GitHub
CSS by Bootstrap, Icons by Font Awesome, fun by Design by Design by Adrian Ltd.


Conor McGregor's coach hints at UFC star ramping up training ahead of return
John Kavanagh's tweet on Wednesday appeared to suggest McGregor may be back in Dublin preparing to return to the octagon
by Alex MilneConor McGregor's coach John Kavanagh has dropped a massive hint that 'The Notorious' is back in training ahead of a possible return to UFC.
McGregor has not been in action since his loss to Khabib Nurmagomedov in October 2018, announcing his retirement from the sport five months later.
However, it appears highly likely he will return in the near future, and he signed off a recent Instagram post with the message: "Onwards we go. Happy Tuesday everyone."
Referring to the Straight Blash Gym, the MMA-specialist gym where McGregor usually trains, Kavanagh tweeted saying: "Due to reasons @SBG_Ireland is no longer open to non-members during the hours of 10am to 4pm. Please feel free to drop in outside these hours for pics or to visit our shop etc. Thank you for your understanding."
This led fans to speculate that McGregor must be training there, and they reacted with delight on Twitter .
"Conors back in town! Let the training begin!" said one, while another added "The champ is back to business."
There is still no official confirmation as to when McGregor will return or who he will be fighting, but Donald Cerrone is one of the favourites to take him on next.
McGregor recently reflected on his career-defining victory against Eddie Alvarez, which took place three years ago.
The win meant he made history by becoming the UFC's first simultaneous two-weight world champion.
He took to Instagram to write: "3 years ago today I became a multiple-time, multiple-weight world champion at Madison Square Garden, New York City.
"To capture the double once. Wow! To do it twice. Lord have mercy.
"We can all work hard for a minute. It’s the consistency to do it over and over and over again that will lead you to these iconic moments. Year after year of focused work!


Getting started¶
This very simple case-study is designed to get you up-and-running quickly with
statsmodels
. Starting from raw data, we will show the steps needed to
estimate a statistical model and to draw a diagnostic plot. We will only use
functions provided by statsmodels
or its pandas
and patsy
dependencies.
Loading modules and functions¶
After installing statsmodels and its dependencies, we load a few modules and functions:
In [1]: from __future__ import print_function
In [2]: import statsmodels.api as sm
In [3]: import pandas
In [4]: from patsy import dmatrices
pandas builds on numpy
arrays to provide
rich data structures and data analysis tools. The pandas.DataFrame
function
provides labelled arrays of (potentially heterogenous) data, similar to the
R
“data.frame”. The pandas.read_csv
function can be used to convert a
comma-separated values file to a DataFrame
object.
patsy is a Python library for describing
statistical models and building Design Matrices using R
-like formulas.
Data¶
We download the Guerry dataset, a
collection of historical data used in support of Andre-Michel Guerry’s 1833
Essay on the Moral Statistics of France. The data set is hosted online in
comma-separated values format (CSV) by the Rdatasets repository.
We could download the file locally and then load it using read_csv
, but
pandas
takes care of all of this automatically for us:
In [5]: df = sm.datasets.get_rdataset("Guerry", "HistData").data
The Input/Output doc page shows how to import from various other formats.
We select the variables of interest and look at the bottom 5 rows:
In [6]: vars = ['Department', 'Lottery', 'Literacy', 'Wealth', 'Region']
In [7]: df = df[vars]
In [8]: df[-5:]
Out[8]:
Department Lottery Literacy Wealth Region
81 Vienne 40 25 68 W
82 Haute-Vienne 55 13 67 C
83 Vosges 14 62 82 E
84 Yonne 51 47 30 C
85 Corse 83 49 37 NaN
Notice that there is one missing observation in the Region column. We
eliminate it using a DataFrame
method provided by pandas
:
In [9]: df = df.dropna()
In [10]: df[-5:]
Out[10]:
Department Lottery Literacy Wealth Region
80 Vendee 68 28 56 W
81 Vienne 40 25 68 W
82 Haute-Vienne 55 13 67 C
83 Vosges 14 62 82 E
84 Yonne 51 47 30 C
Substantive motivation and model¶
We want to know whether literacy rates in the 86 French departments are associated with per capita wagers on the Royal Lottery in the 1820s. We need to control for the level of wealth in each department, and we also want to include a series of dummy variables on the right-hand side of our regression equation to control for unobserved heterogeneity due to regional effects. The model is estimated using ordinary least squares regression (OLS).
Design matrices (endog & exog)¶
To fit most of the models covered by statsmodels
, you will need to create
two design matrices. The first is a matrix of endogenous variable(s) (i.e.
dependent, response, regressand, etc.). The second is a matrix of exogenous
variable(s) (i.e. independent, predictor, regressor, etc.). The OLS coefficient
estimates are calculated as usual:
where \(y\) is an \(N \times 1\) column of data on lottery wagers per capita (Lottery). \(X\) is \(N \times 7\) with an intercept, the Literacy and Wealth variables, and 4 region binary variables.
The patsy
module provides a convenient function to prepare design matrices
using R
-like formulas. You can find more information here.
We use patsy
’s dmatrices
function to create design matrices:
In [11]: y, X = dmatrices('Lottery ~ Literacy + Wealth + Region', data=df, return_type='dataframe')
The resulting matrices/data frames look like this:
In [12]: y[:3] Out[12]: Lottery 0 41.0 1 38.0 2 66.0 In [13]: X[:3] Out[13]: Intercept Region[T.E] Region[T.N] ... Region[T.W] Literacy Wealth 0 1.0 1.0 0.0 ... 0.0 37.0 73.0 1 1.0 0.0 1.0 ... 0.0 51.0 22.0 2 1.0 0.0 0.0 ... 0.0 13.0 61.0 [3 rows x 7 columns]
Notice that dmatrices
has
split the categorical Region variable into a set of indicator variables.
added a constant to the exogenous regressors matrix.
returned
pandas
DataFrames instead of simple numpy arrays. This is useful because DataFrames allowstatsmodels
to carry-over meta-data (e.g. variable names) when reporting results.
The above behavior can of course be altered. See the patsy doc pages.
Model fit and summary¶
Fitting a model in statsmodels
typically involves 3 easy steps:
Use the model class to describe the model
Fit the model using a class method
Inspect the results using a summary method
For OLS, this is achieved by:
In [14]: mod = sm.OLS(y, X) # Describe model
In [15]: res = mod.fit() # Fit model
In [16]: print(res.summary()) # Summarize model
OLS Regression Results
==============================================================================
Dep. Variable: Lottery R-squared: 0.338
Model: OLS Adj. R-squared: 0.287
Method: Least Squares F-statistic: 6.636
Date: Sun, 24 Nov 2019 Prob (F-statistic): 1.07e-05
Time: 07:54:30 Log-Likelihood: -375.30
No. Observations: 85 AIC: 764.6
Df Residuals: 78 BIC: 781.7
Df Model: 6
Covariance Type: nonrobust
===============================================================================
coef std err t P>|t| [0.025 0.975]
-------------------------------------------------------------------------------
Intercept 38.6517 9.456 4.087 0.000 19.826 57.478
Region[T.E] -15.4278 9.727 -1.586 0.117 -34.793 3.938
Region[T.N] -10.0170 9.260 -1.082 0.283 -28.453 8.419
Region[T.S] -4.5483 7.279 -0.625 0.534 -19.039 9.943
Region[T.W] -10.0913 7.196 -1.402 0.165 -24.418 4.235
Literacy -0.1858 0.210 -0.886 0.378 -0.603 0.232
Wealth 0.4515 0.103 4.390 0.000 0.247 0.656
==============================================================================
Omnibus: 3.049 Durbin-Watson: 1.785
Prob(Omnibus): 0.218 Jarque-Bera (JB): 2.694
Skew: -0.340 Prob(JB): 0.260
Kurtosis: 2.454 Cond. No. 371.
==============================================================================
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
The res
object has many useful attributes. For example, we can extract
parameter estimates and r-squared by typing:
In [17]: res.params Out[17]: Intercept 38.651655 Region[T.E] -15.427785 Region[T.N] -10.016961 Region[T.S] -4.548257 Region[T.W] -10.091276 Literacy -0.185819 Wealth 0.451475 dtype: float64 In [18]: res.rsquared Out[18]: 0.3379508691928823
Type dir(res)
for a full list of attributes.
For more information and examples, see the Regression doc page
Diagnostics and specification tests¶
statsmodels
allows you to conduct a range of useful regression diagnostics
and specification tests. For instance,
apply the Rainbow test for linearity (the null hypothesis is that the
relationship is properly modelled as linear):
In [19]: sm.stats.linear_rainbow(res)
Out[19]: (0.8472339976156906, 0.6997965543621644)
Admittedly, the output produced above is not very verbose, but we know from
reading the docstring
(also, print(sm.stats.linear_rainbow.__doc__)
) that the
first number is an F-statistic and that the second is the p-value.
statsmodels
also provides graphics functions. For example, we can draw a
plot of partial regression for a set of regressors by:
In [20]: sm.graphics.plot_partregress('Lottery', 'Wealth', ['Region', 'Literacy'],
....: data=df, obs_labels=False)
....:
Out[20]: <Figure size 640x480 with 1 Axes>
More¶
Congratulations! You’re ready to move on to other topics in the Table of Contents


abstract fun hash(bytes: ByteArray, digestAlgorithmName: DigestAlgorithmName): SecureHash
Computes the digest of the ByteArray.
bytes - The ByteArray to hash.
bytes
digestAlgorithmName - The digest algorithm to be used for hashing.
digestAlgorithmName


About Me
- Name
- Brandon LaFleur
- Education
- Unviversity of Northern Colorado
- BS Business Administration: Computer Information Systems
- Minor: Network Information Security
- Location
- Denver, CO
- Skills
- Object Oriented Programming
- Customer Service
- Network Security


***
Generate!
Options
Length:
Capitalize:
Prefix (not counted towards length):
Postfix (not counted towards length):


Loading...
Walk in to the real and the virtual classroom for a collaborative learning environment where you grow and learn every day.
Any Engineering college without Modern Labs will produce only theoretical engineers - VIT's Modern Labs prepare Engineers who apply what is learnt in the books.
Dignissimos asperiores vitae velit veniam totam fuga molestias accusamus alias autem provident. Odit ab aliquam dolor eius molestias accusamus alias autem provident. Odit ab aliquam dolor eius.
Seminars and Exhibitions at VIT ensures the students are fully aware of the latest industry trends and associated market requirements
Special emphasis is also laid on connecting the students to the courses so that they may learn to comprehend and apply thought rather than simply read and remember.
Committed to providing quality education, the Institute encourages and guides its learners to look beyond the prescribed curriculum, and set their own targets for personal excellence.
Our focus is not on merely covering the syllabus; instead we prioritize on uncovering the course to reveal the possibilities it has in store for our learners. We extend intellectual and logistic support to our students when they decide to walk that extra mile.


Projectile Motion Simulation
Choose Angle
Choose Velocity
Set Position on Y axis
Coeff. of Restitution
Start
Reset


|
PDB-Explorer is a web application for the interactive visualization of chemical space of RCSB
Protein Data Bank (PDB) characterized by protein shape fingerprint (3DP) and shape similarity
search for molecules in PDB. The chemical space herein represented as 3DP PCA maps. PDB-Explorer
contains X-ray structures from PDB, which is updated daily with the latest PDB additions,
ensuring up-to-date coverage.
Molecules in PDB-Explorer
The X-ray molecules in the application are biological assemblies defined by author. The
application provides ribbon images of these molecules using PYMOL. The user can further observe
3D model of molecules by PV viewer or JSMOL visualization window. The molecule presented in
PV/JSMOL is cartoon mode, while user can change the representation scheme using the options on
right side. In the case of PDB entries with no secondary structures or containing only alpha
carbons, the program generated empty images (e.g. PDB ID 1O55 and 1IVI). These structures cannot
be displayed by PV or JSmol with default cartoon mode. To observe the structures, one can change
the display mode of PV as lines. The JSmol viewer sometimes can detect the secondary structure
for the PDB entries that only contain alpha carbons.
Protein Shape Fingerprint(3DP)
The 3DP fingerprint perceives the spatial distribution of shape, hydrophobicity and charges in
molecular objects across a very broad size range. To know more about 3DP please visit the
reference section.
3DP PCA Maps
It is the representation of PC planes (PC1-PC2 or PC2-PC3 or PC1-PC3) obtained after Principal
component analysis of the 200-dimensional 3DP-similarity space for PDB dataset. All the maps
have been produced on a grid of size 300x300. Each of the map color coded separately using
different properties:
Average heavy atom count of molecules at given point on the map(Heavy atom count).
Average percentage of hydrophobic atom count of molecules at given point on the map(%
Hydrophobic Charge Atom).
Average percentage of negative charge atom count of molecules at given point on the map.(%
Negative Charge Atom).
Average percentage of positive charge atom count of molecules at given point on the map.(%
Positive Charge Atom).
Average molecular volume occupancy (mvo, Å3/atom) of molecules at given point
on the map, a property defined here as the volume of the sphere with a radius corresponding to
the average distance of all atoms to the center of gravity, divided by the total number of atoms
(Molecular Volume Occupancy).
Average normalized PMI value of molecules at given point on the map(nPMI).
Number of molecules occupying given point on the map(Occupancy).
One such map (representation of PC1-PC2 plane) for PDB which is color coded according to heavy
atom count property is shown below.
Figure 1: 3DP PCA map for PDB color coded by Heavy Atom Count property
Color Coding
For color coding we used HSL color space(Figure 2). HSL is short for Hue, Saturation and Luminance
(or brightness). To specify any one color in HSL color space we need three values Viz.
Hue (H) = Specify Color (0-6 or 0-360 degree); Saturation (S) = Saturation level of color and
Luminance= Brightness of color (0-100%)
0=black color, 50=darker version of color, 100=white color. Saturation value of 0 (0%) means "center
of the wheel", e.g. a grey value, whereas a saturation value of 1 (100%) means "at the border of the
wheel", where the color is fully saturated.
Figure 2: HSL color space
Color for any given point on 3DP PCA map was determined by "Average property", "Standard deviation"
and "number of molecules" at that point, which corresponds to Hue, Saturation and Lightness
respectively in HSL color space.
"Average property" at given point determines base color, while shade of specify base color changes
according to "Standard deviation" and "number of molecules" at given point. With increasing
"Standard deviation" color changes more towards the grey scale.
For all the maps lowest "property value" represented by blue color. With the increasing "property
value" color changes from " blue to cyan to
green to yellow to red to magenta ".
Similarity Measure
Similarity Measure is a mathematical calculation that quantifies similarity between two objects
(molecules). In the application presented here, we have used City Block Distance (CBD) to calculate
dis-similarity (distance) of molecules with respect to given query molecule. The list of retrieved
compounds then sorted according to increasing CBD distance.
Once represented in the form of fingerprint(vector), the City block distance between two
molecules(CBDA,B), A and B, with P dimensions is calculated as:
Choose the Map (Select image):
For the list of available maps can be obtained by clicking on the Map "combo box". By default
the "Heavy atom count" map is display. All the maps are of size 300x300 pixels.
Mouse Move:
Moving the mouse over the map will show the following information:
Name: The PDB code of average molecule at the given point on the map
Position: The XY coordinates for the mouse cursor position on the map
Molecule Image: Displays ribbon structure image of average molecule at the given
point on the map
Average: Displays the "average property" at the given point on the map
Deviation: Displays the standard deviation of "average property" at the given
point on the map
Mouse Wheel Motion:
Moving the mouse wheel in forward direction will zoom into the map. While moving the mouse wheel
in backward direction will zoom out of the map.
Mouse Double click:
Double clicking at any given point on the map will provide full view of the map.
Mouse Dragging:
Mouse Dragging will help to move the map in display area.
Mouse Single Click:
Single clicking on one pixel of the map (red droplet) will display the PDB entries occupying the
given point and show their cartoon images in the table of protein list.
Protein List: The molecules in the given point of map are displayed in the order
of PC3 values. "Jsmol" option is available to look 3D structure of selected molecule with JSMOL.
"pdb.org" option will allow you to link the selected molecule to parent PDB database to look for
detail information. Clicking on one table cell of protein list can do furthur shape similarity
search by displaying select PDB code in the "Sort by similarity" box automatically.
Download Zip: Clicking on this option will allow you to save file containing 3D
coordinates for all the molecules occupying the given point on the map.
Drop your PDB file here:
User can upload their molecule in standard PDB format to observe its position on the map (black
droplet) and to search similar molecules from PDB database. The application only considers atoms
assigned as "ATOM" in PDB file. Therefore, the the non-standard residues or organic molecules
which are considered as part of molecular shape, should be written as "ATOM" instead of
"HETATM". One can click the "Drop your pdb file" box, and upload pdb. The similar molecules from
PDB database based on default search condition (Max Count:100; Max Distance:10000) can be showed
in the table of protein list by the ranking automatically.
Lookup a list of PDBs:
This option allows the users to locate one or more molecules of their interest on the map
(yellow droplets).
Sort by similarity:
Search similar molecules for query PDB entry based on CBD value from 3DP. Enter a valid PDB code
and select the search condition. "Max Count" will search for specified number of molecules from
database which are most similar to input query molecule. "Max Distance" will search for similar
molecules from database which are having distance less than or equal to distance specified by
user with respect to query molecule. Click "search by similarity" button and the result will be
displayed in the table below by the ranking. One can observe the position of query molecule on
the map with blue color droplet.
HELP:
Open the Help document in Browser.
Example is shown to observe molecule (4ERW) on the map and use it for similarity searching. 4ERW
is Cyclin-dependent kinase 2.
1) Locate Molecule
Write down the PDB ID in the provided text field of "Lookup a list of PDBs to observe the
position of 4ERW on different maps (yellow droplet).
2) Show Molecules in the Same Pixel
Single clicking the yellow marked pixel on the map allows you to look the molecules occupying
the same point with 4ERW on the map (red droplet). In this expample, 32 molecules are in the
same pixel with 4ERW.
3) Similarity Search
Step 1) Enter PDB code (4ERW)
Write down query PDB code in the "Enter pdb code" of "Sort by similarity".
Step 2) Select the Search Options
Max Count: It will search for specified number of molecules from database which are most
similar to input query molecule. In example below the Max Count set to 100.
Max Distance: It will search for similar molecules from database which are having distance
less than or equal to distance specified by user with respect to query molecule (default value is
1000).
Step 3) Hit "Search by similarity" Button and Wait for Result
Step 4) Result Window
Result window is shown below.
A)shows query enter box and search options.
B)PV viewer panel will automatically display ribbon structure of 4ERW.
C)shows the list of similar molecules retrieved from the PDB database with PDB code, ribbon
image, the ranking, and the distance to query (4ERW).
D)two options are available to observe further information of selected result molecule.
"pdb.org" can open the parent PDB database to look for detail information of select molecule.
"Jsmol" can display 3D structure of selected molecule by JSMOL.
The application works best in Chrome.
Supported browsers:
Chrome (v42), Firefox (v36), Safari 9
(preview).
Safari 8, Internet explorer and Edge are not yet supported.
For any suggestions and questions regarding application please free to contact us at<EMAIL_ADDRESS>http://www.rcsb.org/
The Protein Data
Bank. H.M. Berman, J. Westbrook, Z. Feng, G. Gilliland, T.N. Bhat, H. Weissig, I.N. Shindyalov,
P.E. Bourne, Nucleic Acids Res. 2000, 28, 235-242.
The MQN-Mapplet:
Visualization of Chemical Space with Interactive Maps of DrugBank. M. Awale, R. van Deursen, J.
L. Reymond, ChEMBL, PubChem, GDB-11 and GDB-13. J. Chem. Inf. Model. 2013, 53, 509-518.
Stereoselective virtual
screening of the ZINC database using atom pair 3D-fingerprints. M. Awale, X. Jin, J. L. Reymond.
J. Cheminform. 2015, 7, 3.
A similarity-based data-fusion approach to the visual characterization and
comparison of compound databases. J. L. Medina-Franco, G. M. Maggiora, M. A. Giulianotti, C.
Pinilla, R. A. Houghten. Chem. Biol. Drug. Des. 2007, 70, 393-412.
|


{% include 'header.html' %}
Integrated
Any
Yes
No
Checked
Any
Yes
No
Commented
Any
Yes
No
Signature/entry types:
Any
Same
Different
Checkboxes are read-only
To check or uncheck an entry, please visit the entry page.
Accession
InterPro
Proteins
Comments
Integrated
Then
Now
Change
Comments
Add comment
Comments


Interface ICommandRegistry
Allows command handlers to be registered
Namespace: AzureFromTheTrenches.Commanding.Abstractions
Assembly: AzureFromTheTrenches.Commanding.Abstractions.dll
Syntax
public interface ICommandRegistry
Methods
| Improve this Doc View SourceDiscover(Assembly[])
Will search the specified assembly for command handlers and register them
Declaration
ICommandRegistry Discover(params Assembly[] assemblies)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Reflection.Assembly[] | assemblies | The assemblies to search |
Returns
| Type | Description |
|---|---|
| ICommandRegistry | The command registery for use in a fluent call style |
Discover<TTypeInAssembly>()
Will search the assemly that TTypeInAssembly belongs in for command handlers and register them
Declaration
ICommandRegistry Discover<TTypeInAssembly>()
Returns
| Type | Description |
|---|---|
| ICommandRegistry | The command registery for use in a fluent call style |
Type Parameters
| Name | Description |
|---|---|
| TTypeInAssembly |
GetCommandDispatcherFactory(ICommand)
Gets the command dispatcher for the command
Declaration
Func<ICommandDispatcher> GetCommandDispatcherFactory(ICommand command)
Parameters
| Type | Name | Description |
|---|---|---|
| ICommand | command |
Returns
| Type | Description |
|---|---|
| System.Func<ICommandDispatcher> | A function able to create a command dispatcher if one is registered, null if none is |
GetPrioritisedCommandHandlers(ICommand)
Returns the prioritised set of command actors (first to execute is first in the collection)
Declaration
IReadOnlyCollection<IPrioritisedCommandHandler> GetPrioritisedCommandHandlers(ICommand command)
Parameters
| Type | Name | Description |
|---|---|---|
| ICommand | command |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyCollection<IPrioritisedCommandHandler> | Set of command actors |
Register(Type, Int32, Func<ICommandDispatcher>)
Register an handler against a command with no expected result
Declaration
ICommandRegistry Register(Type commandHandlerType, int order = 1000, Func<ICommandDispatcher> dispatcherFactoryFunc = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | commandHandlerType | The type of the command handler |
| System.Int32 | order | Execution order of the handler |
| System.Func<ICommandDispatcher> | dispatcherFactoryFunc | Optional command dispatcher factory function |
Returns
| Type | Description |
|---|---|
| ICommandRegistry |
Register<TCommand>(Func<ICommandDispatcher>)
Register a command with a dispatcher but no handler. Typically this is used when the command actors are known to be deferred via a queue or that are remotely executed
Declaration
ICommandRegistry Register<TCommand>(Func<ICommandDispatcher> dispatcherFactoryFunc)
where TCommand : ICommand
Parameters
| Type | Name | Description |
|---|---|---|
| System.Func<ICommandDispatcher> | dispatcherFactoryFunc | Command dispatcher factory function |
Returns
| Type | Description |
|---|---|
| ICommandRegistry |
Type Parameters
| Name | Description |
|---|---|
| TCommand | The type of the command |
Register<TCommandHandler>(Int32, Func<ICommandDispatcher>)
Register an handler against a command with no expected result
Declaration
ICommandRegistry Register<TCommandHandler>(int order = 1000, Func<ICommandDispatcher> dispatcherFactoryFunc = null)
where TCommandHandler : ICommandHandlerBase
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | order | Execution order of the handler |
| System.Func<ICommandDispatcher> | dispatcherFactoryFunc | Optional command dispatcher factory function |
Returns
| Type | Description |
|---|---|
| ICommandRegistry |
Type Parameters
| Name | Description |
|---|---|
| TCommandHandler | The type of the command handler |
Register<TCommand, TResult>(Func<ICommandDispatcher>)
Register a command with a dispatcher but no handler. Typically this is used when the command actors are known to be deferred via a queue or that are remotely executed
Declaration
ICommandRegistry Register<TCommand, TResult>(Func<ICommandDispatcher> dispatcherFactoryFunc)
where TCommand : ICommand<TResult>
Parameters
| Type | Name | Description |
|---|---|---|
| System.Func<ICommandDispatcher> | dispatcherFactoryFunc | Command dispatcher factory function |
Returns
| Type | Description |
|---|---|
| ICommandRegistry |
Type Parameters
| Name | Description |
|---|---|
| TCommand | The type of the command |
| TResult | The type of the result |


Configure a Base stattion on Raspberry Pi 3 B+ board
All steps to install and configure the Raspberry Pi 3 B+ for communicating with other modules
1. Install Operating System⚓
Download Raspberry Pi Imager and install it.
Run the Pi Imager, and select the Desktop version but without recommended software.
Press Ctrl + Shift + X
to show the advanced menu, fill some settings as below:
- Hostname: base
- SSH: yes and select password
- WiFi: yes and set SSID and password
Note to save the options for later use if needed.
SSH Connection
With SSH enabled and WiFi network connected, accessing to Raspberry Pi is remotely through SSH. Using any X11-fordwarding SSH, such as MobaXterm, GUI application can be shown in the host PC.
1.1. Tweaks⚓
Some tweaks can be applied after login.
To use some list command, in .bashrc
, enable alias for ls
command.
To disable animation on GUI:
gsettings set org.gnome.desktop.interface enable-animations false
1.2. Enable GPIO⚓
The official tool raspi-config
should be used to configure the GPIO on Pi.
sudo raspi-config
Select Interfacing Options and select below item:
- SPI > Enable SPI
- I2C > Enable I2C Arm
- Serial Port > No login shell > Enable UART
After enabling the primary UART, the VPU clock will be set at 250 MHz.
Run groups
to see the current user is added into groups for using GPIO including gpio
, i2c
and spi
.
2. Take control of UART⚓
Refer to https://www.raspberrypi.org/documentation/computers/configuration.html#primary-uart.
There are two types of UART available on the Raspberry Pi - PL011 and mini UART. The PL011 is a capable, broadly 16550-compatible UART, while the mini UART has a reduced feature set. All UARTs on the Raspberry Pi are 3.3V only.
The Raspberry Pi 3 has below default UART configuration:
| Hardware port | Type | Usage | Pin Map | Linux Device |
|---|---|---|---|---|
| UART0 | PL011 | Secondary (Bluetooth), enabled | N/A | /dev/serial1 |
| UART1 | mini UART | Primary, disabled | GPIO 14 (TX), GPIO 15 (RX) | /dev/serial0 |
That means the exported UART port on GPIO header is a Mini-UART. The problem is the speed of mini-UART port depends on VPU (graphic) Core Frequency.
The primary UART is disabled by default. It has to be enabled by running raspi-config
to set up interfaces.
2.1. Add permission⚓
To get rid of using sudo
permission, add current user into the serial group.
Run ls -al /dev/tty*
to check the user group of ttyS0
, ttyTHS1
. Normally, it is needed to add current user into tty
and dialout
groups:
sudo usermod -a -G tty $USER
sudo usermod -a -G dialout $USER
sudo reboot
2.2. Test UART ports⚓
For testing, a serial terminal must be installed. Choose one of below.
putty
sudo apt install putty -y
putty
Follow GUI to run.
minicom
sudo apt install minicom -y
minicom -D /dev/ttyS0 -b 115200
Press Ctrl-A X
to exit.
picocom
sudo apt install picocom -y
picocom /dev/ttyS0 -b 115200
Press Ctrl-A
and Ctrl-X
to exit.
screen
sudo apt install screen -y
screen /dev/ttyS0 115200
Press Ctrl-A K
to exit.
3. Wiring⚓
Refer to below pinout diagram:
4. Add nRF24 driver⚓
4.1. Install driver⚓
Download source code from GitHub and build:
git clone https://github.com/vuquangtrong/RF24 && \
cd RF24 && \
./configure --driver=SPIDEV && \
make && \
sudo make install
SPIDEV must be used to avoid permission error when using default RPi BCM driver
Work with the original source code
GitHub at https://github.com/nRF24/RF24.
The guide to install in Linux at https://nrf24.github.io/RF24/md_docs_linux_install.html.
Download the install.sh
file:
wget http://tmrh20.github.io/RF24Installer/RPi/install.sh
Make it executable:
chmod +x install.sh
Run it and choose the option:
- RF24 Core
- SPIDEV driver
./install.sh
Do you want to install GIT using APT (Used to download source code) [y/N]? n
Do you want to install the RF24 core library, [y/N]? y
Do you want to install the RF24Network library [y/N]?
Do you want to install the RF24Mesh library [y/N]?
Do you want to install the RF24Gateway library [y/N]?
Installing RF24 Repo...
*** Install RF24 core using? ***
1.BCM2835 Driver(Performance) 2.SPIDEV(Compatibility, Default)
3.WiringPi(Its WiringPi!) 4.MRAA(Intel Devices) 5.LittleWire
2
...
[Installing Libs to /usr/local/lib]
[Installing Headers to /usr/local/include/RF24]
make: Leaving directory '/home/pi/rf24libs/RF24'
4.2. Example app⚓
Source to test data receiving. Check the transferring site in Rover.
rf24_tx.cpp
#include <iostream> // cin, cout, endl
#include <RF24/RF24.h>
// create RF24 instance
RF24 radio(24 /* CE = sys_gpio_24 */,
0 /* CSN = 0 means spidev0.0 */
/* default speed is 10 Mbps */);
// max payload of RF24 is 32 bytes
uint8_t payload[32];
int main(int argc, char** argv) {
// perform hardware check
if (!radio.begin()) {
std::cout << "radio hardware is not responding!!" << std::endl;
return 0; // quit now
}
radio.setPayloadSize(32);
radio.setChannel(100); // 2400 + 100 = 2500 MHz, out of WiFi band
// address, defaut length is 5
uint8_t tx_address[6] = "1Addr"; // write to
radio.openWritingPipe(tx_address); // always uses pipe 0
// For debugging info
radio.printDetails(); // (smaller) function that prints raw register values
radio.printPrettyDetails(); // (larger) function that prints human readable data
// Start
std::cout << "Start TX" << std::endl;
radio.stopListening(); // put radio in TX mode
while(true) {
radio.write(&payload, 32); // transmit
}
}
Compile the source code:
arm-linux-gnueabihf-g++ -marm -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -Ofast -Wall -pthread rf24_tx.cpp -lrf24 -o rf24_tx
or just use:
g++ -Ofast -Wall -pthread rf24_tx.cpp -lrf24 -o rf24_tx
Run it and see the log:
================ SPI Configuration ================
CSN Pin = /dev/spidev0.0
CE Pin = Custom GPIO24
SPI Speedz = 10 Mhz
================ NRF Configuration ================
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0x7264644131 0x65646f4e31
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0x7264644131
RX_PW_P0-6 = 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA = 0x3f
EN_RXADDR = 0x03
RF_CH = 0x64
RF_SETUP = 0x03
CONFIG = 0x0e
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1 MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_LOW
ARC = 0
================ SPI Configuration ================
CSN Pin = /dev/spidev0.0
CE Pin = Custom GPIO24
SPI Frequency = 10 Mhz
================ NRF Configuration ================
Channel = 100 (~ 2500 MHz)
RF Data Rate = 1 MBPS
RF Power Amplifier = PA_LOW
RF Low Noise Amplifier = Enabled
CRC Length = 16 bits
Address Length = 5 bytes
Static Payload Length = 32 bytes
Auto Retry Delay = 1500 microseconds
Auto Retry Attempts = 15 maximum
Packets lost on
current channel = 0
Retry attempts made for
last transmission = 0
Multicast = Disabled
Custom ACK Payload = Disabled
Dynamic Payloads = Disabled
Auto Acknowledgment = Enabled
Primary Mode = TX
TX address = 0x7264644131
pipe 0 ( open ) bound = 0x7264644131
pipe 1 ( open ) bound = 0x65646f4e31
pipe 2 (closed) bound = 0xc3
pipe 3 (closed) bound = 0xc4
pipe 4 (closed) bound = 0xc5
pipe 5 (closed) bound = 0xc6
Start TX
5. Add OLED driver⚓
Download source code and build:
git clone https://github.com/vuquangtrong/OLED_SSD1306_I2C_Linux.git && \
cd OLED_SSD1306_I2C_Linux && \
make && \
sudo make install
Write a simple app to a progress bar with label and numeric value:
progress_bar.c
#include <string.h>
#include <unistd.h>
#include <SSD1306/ssd1306.h>
int main() {
char counter = 0;
char buffer[3];
SSD1306_Init("/dev/i2c-1");
while(1) {
sprintf(buffer, "%d", counter++);
SSD1306_Clear();
SSD1306_WriteString(0,0, "counter:", &Font_7x10, SSD1306_WHITE, SSD1306_OVERRIDE);
SSD1306_WriteString(0,10, buffer, &Font_11x18, SSD1306_WHITE, SSD1306_OVERRIDE);
SSD1306_DrawRectangle(0,28,128,4,SSD1306_WHITE);
SSD1306_DrawFilledRectangle(0,28,counter*128/256,4,SSD1306_WHITE);
SSD1306_Screen_Update();
sleep(0.2);
}
return 0;
}
Compile and run:
gcc progress_bar.c -lssd1306 -o progress_bar && \
./progress_bar
6. Auto-mount USB⚓
Check out and install:
git clone https://github.com/vuquangtrong/USB_Automount.git
cd USB_Automount
./install
Plugged-in USB will be mounted into /media/<Label>
or /media/<sdXy>
.


Jiaqi Li
Hi! My name is Jiaqi. Welcome to my portfolio site!
About ME
- Birthday: 01/07/1994
- Pronouns: She/Her
- Location: Seattle, WA
My Background
- Education: I did my master of education degree at University of Washington and my major is Multicultural Education.
- Job Experience: I am now working as a Student Services Advisor at Epicodus. I was a preschool teacher before.
- Why do you decide to learn coding: I just think it's gonna be fun and I have a lot of friends working in tech. It's always great to learn something new!
Personal Anecdote
- Hobbies: Boxing, dancing, watching movies.
- Interets: Language learning and psychology.
- Skills: trilingual, crosscultural communication skills.
My Projects
-
Hello World
- It is the first webpage we created in class.
- We were using Git and HTML.
-
My Cats
- It is a webpage I created for my cats: QiuQiu and DanDan.
- Still using Git and HTML.
Thank you for reading!


The file msvcp60.dll are not found in your system folder and you must download and install it before using
Subversion.
msvcp60.dll are one of the VC runtime files.
| 1. Please, select (click on) one of the links below (depending on your language) and download the file to your disk: | |
|
|
| 2. Run your downloaded VC6RedistSetup_xxx.exe: | |
|
If you need more info about the VC Runtime files, please read from this link:


Citations¶
Note
It is important that you cite AACon when you use it. Citing us helps us funding the work we do and allow us to continue to improve the project further.
Agnieszka Golicz, Peter V. Troshin, Fábio Madeira, David M. A. Martin, James B. Procter and Geoffrey J. Barton (2018) AACon: A Fast Amino Acid Conservation Calculation Service Submitted paper.


Preparation time
less than 30 mins
Cooking time
1 to 2 hours
Serves
Serves 4-6
Homemade jam and proper custard make this roly poly extra yummy.
For this recipe you will need a blender to make the jam.
Preheat the oven to 200C/400F/Gas 6. For the jam, heat a small frying pan until hot, then add the strawberries and cook for one minute. Add the sugar and lemon zest and juice and cook for 3-4 minutes, until the sugar has dissolved and the mixture has thickened slightly.
Transfer half the mixture to a blender, blend to a purée, then return it to the pan with the remaining cooked strawberries, mix well and cook for a further 3-5 minutes, until thick. Remove from the heat and leave to cool.
For the roly poly, put the flour, sugar, suet and lemon zest in a bowl and mix well. Make a well in the centre, then gradually mix in enough water to make a soft dough. Knead lightly until smooth.
Turn onto a floured surface and roll out to an oblong about 1cm/½in thick. Spread the jam onto the pastry leaving a 2.5cm/1in border. Roll up from the long side into a pinwheel. Place the roly-poly in a loaf tin and cover with kitchen foil, sealing tightly.
Put a plate upside-down in the base of a large saucepan, place the loaf tin on top and fill the pan two-thirds full of water (do not allow the water to reach the top of the tin). Bring to the boil. Cover, reduce the heat and simmer for one hour. Remove the pudding from the tin and place on a baking tray. Bake for 15-30 minutes, or until browned.
For the custard, put the egg yolks and sugar in a bowl and whisk until well blended. Put the milk, cream and vanilla pod in a saucepan and bring to the boil. Immediately reduce the heat and simmer for one minute. Pour the milk onto the egg mixture and whisk in. Return the mixture to the saucepan and heat slowly, until the custard has thickened enough to coat the back of the spoon. Remove and discard the vanilla pod. Serve the roly poly with the custard.


REVIEW: Downloaded
byWith all the focus we place on our iPhones, iPads, iPods, Droids, Windows Phones, Nexuses, etc., it's easy to forget that Napster, the controversial music file sharing software, was a major spark for mobile convergence. Napster let millions of people download as much music as they wanted to for free, demonstrating how pervasive music was. Apple capitalized on that by creating an easy-to-use portable device to manage the music, a device that was the catalyst for an era of mobile innovation that's really only JUST beginning.
Directed by Alex Winter of "Bill & Ted" fame (as well as that bizarre, NSFW Butthole Surfers movie), Downloaded is a great reminder of Napster's importance and gives them credit where credit is due. But it makes no mention of how the company MIGHT have survived its legal problems were it not for certain business decisions...decisions that were mostly made by one man.
Despite that one shortcoming, Downloaded is a movie that HAD to be made. No one has ever really denied Napster's historical importance but not enough have gone out the way to emphasize it.
Napster was the first real instance of the Internet-based business model pulling consumers away from the old economy business model. Or, to quote from one of the Downloaded interviewees, "This is the first time technology actually attacked the existing system and started to take it away."
Napster's rise began at the tail-end of the dotcom rush, just as the old economy started walking away from Internet due its uncertain profit model. But when they saw how Napster gave consumers exactly what they wanted, while all but destroying the music industry in the process, they regrouped their Internet efforts instead of ignoring them. Napster forced the old economy to take the Internet seriously.
Downloaded starts with a short but excellent introductory history of the Internet and nicely segues into Napster's beginnings. How Shawn Fanning was trying to make it easier to find MP3 music files and how, with the input of his friends from IRC such as Sean Parker and Jordan Ritter, he knocked out the first version of Napster.
It shows how Fanning and the other Napster developers would work around the clock to improve the software, all of whom would get a the rush after solving and figuring out problems. Combine that with many of them living and partying together, and a camaraderie was created among the team as it continued to better the Napster software. In effect, Downloaded provides an excellent snapshot of the hacking culture that's so prevalent nowadays.
Music artists such as Henry Rollins, Noel Gallagher from Oasis and DJ Spooky (who also created Downloaded's soundtrack) make excellent points about the how music business was way behind on tech. Music biz men like Chris Blackwell from Island Records, Seymour Stein from Sire and former Sony Music CEO Don Ienner provide an excellent historical perspective of the music biz.
Also interviewed is Hilary Rosen, who was president of the Recording Industry Association of America (RIAA) at the time of the Napster incident, and whom was painted as public enemy number one by the pro-Naspter community during the legal fight. While she certainly makes arguments in favor of the music industry, she also concedes that the industry got rid of their technology departments, which allowed things like Napster to come about. In terms of other music biz mistakes, Chris Blackwell properly counters the record label's argument that Napster was taking money out of musician's pockets, pointing out that the labels didn't pay them that much anyway.
Despite the industry's mistakes, and they made many, Napster was illegal and the industry had a strong case against Napster when they eventually sued the company.
For example: Parker, Fanning and other Napster employees claim the music industry refused to settle the case once it went to court. True, but Downloaded misses that fact that the RIAA only filed suit on the industry's behalf after many failed attempts to reach an agreement with Napster, who gave the industry the runaround throughout the entire process.
The employees also say that they regret not at least trying to get the Supreme Court to hear the case after losing in Appeals Court. But that only could have happened if the Ninth Circuit court heard it first, which they chose not to do-another point that the movie fails to mention.
But the way in which Downloaded presents the music industry's legal position is really just a matter of opinion and not a drawback of the documentary. What is a drawback (a BIG drawback) is that Downloaded rarely mentions the man who made lots of rash decisions that prevented Napster from properly dealing with its legal problems, something they REALLY had to do.
That man isn't Shawn Fanning, it's his uncle, John. And while Shawn was certainly the public face of Napster in the press, John Fanning was in charge of the company.
As chronicled in Joseph Menn's All the Rave: The Rise and Fall of Shawn Fanning's Napster (which I've previously reviewed), John Fanning, a man with some technical knowledge, looked at Napster and agreed to help his nephew turn it into a business. On the premise that the then 18 year-old Shawn was too young to be taken seriously as the company's business leader, John convinced his nephew to give him 70% ownership of the company, giving Shawn only 30%.
John Fanning's manipulative moves against his nephew were bad enough, but the end result of these moves was worse. Since the Napster incident occurred during the dotcom bubble, John was always looking to sell Napster and get the big multi-million dollar payoff that was so prevalent at the time.
But before providing funding, all potential Napster investors not only insisted that the company prioritize dealing with its legal issues before seeking the big payoff, but also wanted to reduce John Fanning's role in the company...removing it completely in some cases. John realized this and as he was majority owner, turned down practically every good funding offer that the company received, including one invloving venture capitalist powerhouse, Kleiner Perkins Caufield & Byers.
As a result of John's decisions, Napster was never forced to properly deal with its legal problems, making their getting sued an inevitability. All the Rave effectively argues that if they had dealt with them, Naspter may have survived.
The book's characterization of John Fanning could also be chalked up as a matter of opinion, but it's backed up by legal documents and corroborated statements, lending the characterization an air of validity. So the matter deserves at least a discussion about John within Downloaded...the fact that it doesn't is disappointing.
Still, the documentary is still worth watching. Downloaded properly captures the zeitgeist that Napster generated: the MTV coverage, the legal battles, the congressional hearings, Chuck D., Metallica, the overall happy feeling of using Napster...all are represented well in the movie. Personally, I was very happy to learn that Shawn Fanning would eventually get the multi-million dollar payoff he so richly deserved.
In the end, Downloaded isn't telling any lies, but the whole truth isn't there. It's absolutely worth a watch but to understand the entire Napster experience, Joseph Menn's book is also worth a read.


Result Files
Click on a link to access the corresponding result file.
This file is still under preparation.
This file is ready.
[[${file.file}]]
Edit
Edit
Delete
Delete
×
Warning: Deleting a Result File


Toggle navigation
VPN
How does VPN work?


Markup| Scripting| Style Sheets
Further ReadingIn Easy Steps: JavaScript CSS
All about markup...
All about scripting...
All about stylesheets...