Developer Blog

Java/Scala and Highly Scalable Systems on AWS

Implementation driven interfaces?

5 April 2012

I've recently encountered some pagination in the Google Groups admin interface. It starts off simple enough, nothing exciting here...


Capturing Client Side JS Errors on AWS

4 April 2012

I saw a post go by on Hacker News this morning discussing capturing and reporting on client side errors. We have been doing this for a long time and I wanted to share our approach.


Creating Plug-ins for Sublime Text 2

2 April 2012

I have been trying out Sublime Text 2 as my text editor lately, and I'm loving the simplicity, so I figured I would try out creating a plug-in for it. I was pleasantly surprised at how easy it is, which is an important step towards it becoming my new editor of choice. I wanted to take some steps towards creating something along the lines of rinari, but for Scala... in Sublime Text. I was able to fairly easily easily create a plug-in that allowed me to run the Scala Test that was currently open in the editor, or run all Scala Tests in the (inferred) project folder, or switch back and forth between a test and the code under test, or quickly navigate to any scala file in the project folder with a few keystrokes. This post will show you how to create a new plug-in for Sublime Text 2, which uses all the API features that I needed to implement that functionality.


A Short Script for Logging into Interactive Elastic MapReduce Clusters

13 March 2012

Elastic MapReduce is great, but the latencies can be painful.  For me, this is especially true when I'm in the early stages of developing a new job and need to make the transition from code on my local machine to code running in the cloud -- the ~5 minute period between starting up a cluster and actually being able to log on to it is too long to sit there staring at a blank screen and too short to effectively context switch to something else in a useful way.


On Code Reviews and Developer Feedback

13 March 2012

There's a great post from last week at 37signals, Give it five minutes:


Fault Tolerant MongoDB on EC2

12 March 2012

While working on a project at Bizo I needed to connect a Rails app to a MongoDB backend both of which run in Amazon's Cloud (EC2). At Bizo we have a policy to not use non Amazon services when possible (to limit risk) - so we normally run most of our services straight off of EC2. I'd like to share what I've learned as best practices throughout the experience as I hope it might save some time and frustration for others.


Building a Product in Just 8 Hours

17 February 2012

Recently at Bizo, we decided to try a new kind of hack day. Previously during hackdays our engineers worked individually on their own project(s). But on our last hack day we decided to try something new – The 8 Hour Product Challenge.


work at Bizo (looking for some good engineers)

30 January 2012

We’re a small, disciplined team that gets a lot done. Our platform processes billions of page views monthly and 100s of terabytes of data so we have lots of fun problems to tackle. We believe in teamwork and communication: comments, design reviews, code reviews for every change, weekly tech talks. We believe in giving developers ownership over projects. We believe Engineering is more than coding. We have fun and keep the beer fridge well stocked.We have customers, are well funded and recently named the forth fastest growing private company in the San Francisco Bay Area. We are looking for motivated problem solvers with an entrepreneurial / hacker spirit. If you're a reader of this blog, you already know our technology stack. Some highlights: Scala, Java, Javscript, Ruby, AWS (pretty much every service), Hadoop/Hive, GWT, MongoDB, Solr, etc. If you're interested, please apply on stackoverflow.


Using GenericUDFs to return multiple values in Apache Hive

18 January 2012

A basic user defined function (UDF) in Hive is very easy to write: you simply subclass org.apache.hadoop.hive.ql.exec.UDF and implement an evaluate method. We've previously written about this strategy, and it works well for most simple cases.


Interactive Hive sessions, Elastic MapReduce, and GNU screen

13 January 2012

One extremely annoying quality of using Hive interactively on EMR (or any other remote system) is that your sessions will die if you lose your connection to the server.  Once this happens, your ssh session will end, terminating both your Hive session and any queries that may currently be running.