Category Archives: Code

Hackathons!

Hackathons, according to Wikipedia are “…(also known as a hack day, hackfest or codefest) is an event in which computer programmers and others involved in software development, including graphic designers, interface designers and project managers, collaborate intensively on software projects.” For me the first thing that pops into my mind is Facebook, but you may be surprised to learn this was originally devised by the smart marketing folks at Sun during the height of the internet boom!

Since then, Hackathons have become a main stay for socializing, innovating, and friendly competition between like minded individuals with a common theme or goal in mind.

I beg the question, why limit hackathons to programmers. 

Beyond Programmers

Already we can see some areas where Hackathons have been applied to not only programming but also life sciences (e.g. Open Bioinformatics Foundation).  Personally, I would love to see more “hackathons” in other areas.  Perhaps government (ahem shutdown) or cooking? to think of a couple random examples.  For me, it feels like hackathons are simply a way to fast prototype ideas into reality.

If you want to start your own hackathon, what is the structure?

Place

Hackathons can take place practically anywhere.  At Facebook HQ and their notoriously grueling hackathon to the mile high club British Airlines hackathon.  Or at no place at all and purely online as in the case of Kaggle, which I’d consider a form of hackathon.

Now that we have a place, what is the structure of a hackathon once you’re there?

Structure

Overall, I’d say there is usually a short presentation by the organizers about the goal and guidelines of the hackathon.  Once announced, people generally break up into teams of 2-4 and go off to generate ideas, mockups, and get to work.  Hackathons can last a simple evening as was the case with AirBnB or last for more than a week in some organizations.

Here are some good tips from our pals at Quora if you are so inclined to create your very own hackathon.

In the meantime, if you want to see what all the fuss is about, I invite you to join one of our hackathons we’re hosting next month for the National Association of Realtors

Back to Basics: Learning to code can be fun!

After years of trying to avoid coding, I’ve recently picked the habit back up and actually enjoying it this time around.

My first formal programming experience was part of my core engineering curriculum at the University of Washington. I quickly realized how fun and addictive programming can be. We learned the basics of building a simple search algorithm, simulated environments, and some simple tip calculators that we simply cannot get enough of. After an all night session of coding my final project on many cups of coffee I won the freshman competition for best game of the quarter. However, I was so immersed in programming the rest of my coursework suffered. Perhaps this is why so many computer programmers drop out. From this moment, I realized I was not my full passion but more of a fun hobby, so instead I went into Materials Science and Nanotechnology (as it was just emerging). For me the real draw to engineering and technology has been more of what you can do with it than making something pretty.

Fast forward to today, and I’ve found a new interest in coding as the languages have become far more streamlined. Python for example makes it much easier to code by removing variable definitions, syntax, and other formalities that used to consume my time debugging. Furthermore, Python (among other languages) bridge more complex tasks that would include connecting to APIs, writing MapReduce, and creating simple User Interfaces. In addition, there are so many ways to learn that are FREE! (thank you Freemium Model). Coursera, Codeacademy, and Codeschool to name a few are some of the more popular options. Coursera is a great option for usually getting a more high level or theoretical understanding of the material. Paired with Codeacademy or Codeschool it really solidifies the material by doing. I’ve found the python course on Codeacademy to be not only fun (*cough* gamified), but really great at building on each lesson. I can write a whole review on these schools but I’ll save that for another post.

You may ask the question, “Why refresh or learn to code in the age of “drag and drop” enabled analysis tools (MS Excel, Tableau, SAS, Datameer, and others)?” Its a simple answer, while these tools are great for fast ad hoc analysis, you sometimes have to roll up your sleeves and really feel the data and go deep. Furthermore, as the big data space continues to heat up, I’ve already found many vendors try to trap you in a box that makes it difficult to integrate or build on unless you have their blessing. In addition to this, shuttling data around to a sandbox creates more costs, privacy concerns, and other issues that defeats the purpose of using a giant database in the first place. This, I believe, is what is driving the growth in open source projects in the space.

So far I have finished most of the Intro to Data Science course on Coursera, I’m midway through the Code Academy’s Python course and just about to start digging into SQL. In fact, we are currently planning a meetup for Bay Area Analytics to specifically focus on coding and querying data.

Thats all for now, I’ll update this as I get further along and even share some of my code on GitHub as I progress.