LightHack – Version 1

This past weekend, we hosted our very first hackathon, called LightHack. Up early for a 9am start with a nice breakfast and some coffee. Quickly, the office filled up and we had over 20 people chatting / getting ready to start hacking away. We matched entrepreneurs with developers and they were off.  There were 4 teams, each building a different app. Throughout the day, I got a chance to see how people used Lightning and whether they encountered any issues. Food was served and people were having a great time. Many like myself were tired, which made development interesting.

We ended development early, had some drinks and dinner before presenting the various apps that were built.  All of which looked great and we were proud to see how much was accomplished in a few hours.  The hackathon progressed into a social event for Nathon and Scott’s birthday.

The event was great! While the event was a success in many ways, there was also a lot to learn.  Anyone hosting a hackathon can tell you that the first one won’t be perfect and you will learn as you do more. We are still debriefing to understand how we can make the future hackathons better. But if you have been to hackathons or have hosted some, I’d love to hear your feedback.  We want Lightning to be the tool developers go to when they want to build apps.

Toronto Developers – Join us for our hackathon for a chance to win $2k in prizes

Calling out my local friends to join us this Saturday, November 2nd, for our very first Hackathon of many in the LightHack series. As you can imagine, I am extremely excited to see the hard work we’ve put into Lightning over the past few years come to life.

If you are free Saturday, interested in building an app, learning about Lightning, free food and drinks, and a chance to win a prize – I look forward to seeing you.

For more information and to register:

Only the best powering Lightning

It is Sunday night, CBC is going well and no server hiccups at all, so I’d take a bit of time to post some stuff and benchmarks we’ve hit with Lightning.  Lightning is the name we are calling our new platform.  Not only does it sound better, it also works with a few other products that are coming out that support Lightning. Lightning is a name that has meaning for the goals we are looking to accomplish.

Continue reading…

Hello world! An update from me!

I haven’t posted in a while. I know.  Its been quite an exhaustive past few months, but I’m still alive and kicking.  I’ll post a very short summary of what I’ve been up to since March.

Social Game Universe and the Lightning Platform are now powering a live CBC TV show called Over the Rainbow.  Over the Rainbow is a production which asks the audience to pick their favorite Dorothy.  During the show, viewers get to follow along with their computer or mobile device, interact with the TV show and vote at the end of the episode. On the 8th episode, one Dorothy will be cast to Andrew Lloyd Webber’s production of the Wizard of Oz.    This project was a true test to Lightning’s scalability and prowlness, achieving higher amounts of users per minute than we’ve achieved with Dirty Dancing, running on less servers.  The average API call executed in 30ms (0.003 seconds) which really isn’t too shabby when you are seeing such a high number of users, a number I am hoping I can disclose in the near future!

Continue reading…

Algorithms vs the world

[EDIT: For some odd reason, WordPress decided it wanted to delete the rest of this post… so here’s to writing it again]

Haven’t you ever told yourself while in school : “I won’t ever use this again, why am I learning this?”.  Well I do all the time, being that I am fresh out of university, those are still thoughts that continue to come to me. However, recently I’ve discovered that I am beginning to use concepts learned in school in order to adapt them to real world scenarios.  More importantly, I am using algorithms.  There are two algorithms I am using primarily these days, that revolve around Tree Structures and Statistics (as in that really confusing class you need to take when enrolled in Computer Science).

Continue reading…

One month of Dirty Dancing

Dirty Dancing’s launch on September 13th 2011 has been quite exciting.  Since the launch, we’ve witnessed over 1.1m eyeballs.  Scaling had its own set of complications, of which we all managed to resolve in a relatively good order.  In the first days of launching, we achieved some interesting numbers, perhaps not comparable to what companies like Zynga achieve, but great nonetheless.  We’ve been consistently growing since the launch, averaging over 20k installs per day.  Over a million wall posts made and invites sent.  However, the stats of the game and interactions aren’t what I’d particularily like to focus on, rather, I’d like to look into the challenges we’ve encourtered.

For launch, our original analysis of the servers indicated we could support at least 100k DAU.  Such seemed to be reasonable based on the dozens of tests made.  However, what we had issues with the most were bursts of traffic.  Some bursts of traffic had enough traffic that would equate to around 600k DAU.  As such, it lead to some rather interesting effects on the servers, making it hard for them to stay up or chugging along at a normal rate.  This was our biggest problem since the launch of the game, which we resolved by setting up a proper database setup to properly replicate and manage the load over multiple nodes.

On October 1st, Facebook turned on forced HTTPS support.  We use Zeus Traffic to balance our traffic, which made this migration simple, by sending the HTTPS traffic to it, decrypting it, sending it back to the web nodes and then back to the client encrypted again.  This meant that no changes were made to our server side code to support HTTPS.  We did have to change some things on the client side to support it, but it was a rather simple set of commands, which replaced all instances of HTTP with HTTPS when in secure mode.

Since the launch, our databases have registered over 15b queries and stored over 25GB worth of data.  Such has caused some rethinking about how data would be stored, how indexes would be generated, and how we run some of our queries throughout the platform.  In some cases, we have managed to cut 80% of stored data size (including indexes) and managed to cut the number of queries by 75%.  These have been particularily interesting challenges, as it would have to be done in such a way as to not effect current players and limit downtime.

Although the game has been running smoothly for the past few weeks, the problems are now ones that are to be addressed with data.   Data is always something I’ve loved and could never really get enough of, but the problems for me have always been finding a properly indexable way of storing and querying this data.  Such a goal was accomplished by our platform and has given us more than enough data on our users, now the problem lies in making software to analyse this data in order to make reacting more efficient.

Internal launch? You don’t say!

I’ve gotta say, the past few weeks have been tough, but exciting all the way through.  The questions we’ve asked ourselves were how to be innovative, but fun at the same time.  Often that is a mix that doesn’t go well together, which has lead to a lot of work massaging the user experience and making the game fun.

I still can’t quite tell what this game is, but I can assure you, it will all be known in a matter of days as we await the final word from our partners. I can’t wait to blog and write about this game.  By far one of our greatest games, the technology under the hood is very unique and the game mechanics are ones you’ve never seen in a social game before.

In the meantime, enjoy an image of squirrels being annoying around some golfers attempting to make their putt.