Monthly Archives: November 2013

Final stretch

There are only a few weeks left of Hacker School, so I’m making lists.

Accomplished two of my goals:

  1. contributed to Open Source: paired with Stefan Karpinski on an open Julia issue (pull request)
  2. attended a hackathon (internet glory!)

achievement unlocked

The projects I will continue to focus on (in no particular order):

  1. foodGrades: NYC Open Data analysis of restaurants violations and food poisoning
  2. neural network to distinguish English vs Spanish sentences
  3. sayWhat: continue to work on political bill complexity and phrase analysis, using the Sunlight Foundation APIs

Online courses I will finish:

  1. Coursera: Machine Learning
  2. Udacity: Web Development

Survival Guide for a Hackathon, Part: the Second

During the fourth annual TimesOpen Hack Day, hosted at the NYTimes, my team developed an application called SayWhat.

Sunlight Foundation

The main goal of SayWhat was to take advantage of the illuminating work done by the Sunlight Foundation, a nonpartisan nonprofit promoting government transparency. Sunlight harnesses the power of the internet, using technology to encourage democratic participation by creating tools and connections to open data through their APIs, so that anyone can access vital government information. Call to action of the Sunlight Foundation:

[…] we know that as government grows ever-more complex, we will all need better tools to navigate it to ensure democracy thrives. Get involved in helping us open up government, one data set at a time.

SayWhat

SayWhat is my first attempt to get involved with government data. Teaming up with 3 other attendees at the hack day, we formed a team named “Python Super PAC.” We sought a way to analyze government bills measuring various metrics of relevance, complexity and transparency. It’s a work-in-progress, but the code is up on GitHub.

Continue reading

Survival Guide for a Hackathon, Part: the First

Thinking about joining a hackathon but aren’t sure where to start?

Hackathon participation sounds awesome. But…it can also feel intimidating. Much of the ritual appears to be tribal knowledge among its veterans.  So how are newcomers able to get involved and benefit the most from their experience?

The trick is to just go: have a great time hacking, making friends and learning!

I participated (and won a prize!) in my first hackathon yesterday.  By reflecting on my experience, I’m hoping to demystify the process and provide some encouragement for other hackathon newbies.

definition of a hackathon

Continue reading

Negated Index and Machine Learning

Weeks five and six of the Hacker School experiment:

  1. Negated index
  2. URL shortener
  3. Graph traversal
  4. Machine learning

Trying to implement a new {idx::Negated Index} type for Julia lang

After solving 12 Project Euler problems, I decided to dive into the deep-end and work on a complicated real-world Julia problem.  One of my goals for this Hacker School batch is to contribute to an open source project, so…

What is a negated index?  A proposed new type to the Julia language, such that the negated index [!x] would strip the member whose position has the same value as the index [x], creating a vector slice with the member removed.

This involves defining methods for the ! operator to negate indices (int, range, vector…) by converting them to a NegatedIndex type, as well as methods for getindex (and perhaps setindex, in, maximum, minimum…) to handle this new type (idx::NegatedIndex).
For example: a[!idx] will return a vector of all elements that are not in idx.

a = [1,2,5,7]
a[!1] = [2,5,7]
a[!(2:3)] = [1,7]
a[![1,7]] = [2,5]

Details: https://github.com/JuliaLang/julia/issues/1032

Continue reading