Crowdsourced brute-forcing: how Fez was a coop game for a couple of hours

On April 13, 2012 the long awaited indie game Fez was finally released after 5 years of troublesome development. The goal of the game is to explore the environment, solve puzzles and collect cubes in order to unlock doors. The game is a 2d side-scroller living in a 3d environment. It is better viewed then explained:

Read more »

Keys to a productive environment

Ever notice how some teams can churn out code at an incredible pace while other teams struggle to release features on a regular basis? Sometimes a star programmer can make the rest of the team look very good, but more often than not, a productive team is the result of good teamwork in a good environment. A productive environment also helps you get more out of your programmers thus giving you a better return on your investment.

So here’s a list of key points to look out for and ways to improve each of them.


At one point or another, developers will have questions that need answering by another developer or by a management person. The goal is to enable the discussion to happen without interrupting anyone. There are several communication channels available in a work environment and each one has benefits and disadvantages. The developers should have access to each channel which are emails, instant messaging, group discussions, audio conversations (phone or Skype) and face-to-face interactions. Read more »

Survvit: my weekend project

Rails logoA couple of weekends ago, I decided to build a simple app using Ruby on Rails, just to learn more about the framework. For the project, I decided to build a simple survey application that people could use to send custom surveys to people they know. The twist here is that you don’t choose a single option as your answer, but you upvote and downvote options just as Reddit does with the submitted links, hence the Reddit inspired name, Survvit. This enables less popular option to sink and only the most popular or less controversial option to win. The inspiration came from work where we were trying to come up with names for our new servers.

Things I learned

Token generation

I wanted people to be able to generate semi-private surveys without bothering with registration and authentication. So the surveys are semi-private because anyone with the URL can access the survey and answer it, but the URLs are not guessable because I developed a token generator that generates a random string of characters. This is in no way something new, but I’m glad I learned how to implement it. Read more »