sweller blog

Start-ups, the web, technology and being a dad.

0 notes

Loving my new setup

I recently left GameLogic and Scientific Games to pursue a new venture in the mobile/social gaming space. It has afforded me the opportunity to completely recreate my development setup and I really love it. Here are the various things I have been exploring in a new stack.

Get Git

Over the past 10 years I have been using a progression of source control systems to manage development. First CVS, Subversion and then Bitkeeper. When Bitkeeper came out it really was an entirely new way to look at source control management. I grew to love how easy it made branching code, as each developer had an atomic copy of the source tree. It was also super-duper fast compared to other systems at the time. At GameLogic, we had such a Bitkeeper love-fest that we built an entirely home grown automated test, build and release system on top of it — which we called MrBuild.

I know it’s been around for a while, but I have just discovered the awesomeness of GIT. I love its atomic nature and it improves upon many of the things I really grew to love about Bitkeeper. It’s massively efficient at handling large projects. It supports non-linear development (when developing platform specific apps this is a must) and it does not use a centralized server.  And here’s the kicker: it’s designed from a file system perspective.

Google Docs

Many of the folks I am working with now do so remotely. As a bootstrapped startup, we do not have the luxury of a central location to do work. We also have to source work from all over the country, all over the world. In this type of scenario, communication is paramount. This requires the need for good but simple collaboration and communication tools.

Now, there are plenty of solutions out there for this. Basecamp was one that immediately came to mind when I started thinking about this. But, we felt that simplicity was key. So, we have started with specs and backlogs living on Google Docs.

What I have found so useful about Google Docs is not just its centralized nature – the killer feature is the real-time editing. It has literally become our digital whiteboard. If you have ever been involved in an early stage startup, you know that this type of collaboration is absolutely invaluable.

Google Voice/Google Talk

Google Voice and Google Talk have been a great way to link all my communication channels together.  Which makes it really easy to have an “always-on” seamless integration with the development team. I can be on the subway discussing a development topic on my Android, get on a train and continue the conversation on my laptop and then pop open a video chat to give instant feedback on layer placement within a photo shop file.

iChat

Another item that I have found invaluable is the video chat and screen share feature of iChat. This has really supplanted VNC for me and has made it very easy to help with a check-in, do a review or have a quick run-through on a set of completed features with a member of the team.

MacBook Pro

I have a love fest going on with what I feel is the best web development machine I have ever owned. I am still working out the nitty-gritty for cross platform development, but here is an overview of the tools I am using today, for iPhone/iPad, Android and web development:

-       Apache 2.0

-       MYSQL 5.58

-       Rails 3.0.3,  Gem 1.3.7, Ruby 1.9.2p136, Capistrano 2.5.19

-       Emacs – because I’ve always done development with it

-       Xcode

Ruby/Rails with Capistrano

I am really kicking myself for not getting on the Ruby/Rails bandwagon years ago. It simplifies many aspects of development as well as deployment – Capistrano is a cinch.

The only thing I am really trying to work out is merging together my editing environment. I am still doing things in Xcode as well as using Emacs for other things. I am working on creating a setup where I will use on editor for all development, preferably Xcode.

Any suggestions?

With a new start comes the opportunity to build out a new development stack and I am really enjoying it. If you have any suggestions based on your experience, drop me a line.

(please excuse any typos, I am typing this on my Android)