A Personal Development Environment Fit For An Enterprise


The hardware and software used in the setup.

I’ve started doing development work for about a week now. My focus is in the mobile space. The first thing I wanted to do is to create a solid development process and infrastructure. I wanted a source control system and I wanted an automated build for each application — actually some enterprises don’t use automated build system.

I don’t have a lot of money to splash out on hardware and software so I make do of what I have (Open Source and cheap hardware). For example, I use my old Samsung Galaxy Y as a SMS Gateway server by IceColdApps for free. My Mac Book Pro is my development machine. I use Eclipse as my primary development tool.

The Asus netbook has SVN server and Git Server for source control — right now I’m  experimenting with Git. It also host Hudson automated build server — every time a code is committed into the source control, Hudson pulls down the source, builds the application and it’s ready for deployment. In addition, I can add features like code analysis, test coverage reporting and etc that can give various perspectives on the soundness of each application design. With this, I have a continuous integration process working.

I chose ProstgreSQL database as my database for storing data. It’s easy to use, robust and free. I’ve also installed Openfire (Jabber) XMPP server for instant messaging service. Since the netbook keyboard is really bad to type and the screen is tiny, I installed VNC server on it so that I can remotely control the screen on my Mac Book. Much easier.

Screen shot 2013-02-15 at 11.29.21 AM

Controlling Windows desktop on my Mac Book.

Power flow in Laos is not as smooth as I would like it to be. I use uninterrupted power supply to protect the computers against power surges and dips.

What binds these devices together? A network hub of course. I use my Note 2 as the network hub so that I can send code from the development machine to the source control system on another machine. As well, it’s also allow other devices to access the internet.

At the end of the day, I commit all codes to the source control system then run Time Machine on the development machine (Mac Book). This way, the freshest code is on the Mac Book, on the source control system (Asus Netbook) and on the Time Machine.

There you have it. A personal development environment that can grow and expand to fit an enterprise.

Smoothing out the power flow to the computers.

Smoothing out the power flow to the computers.


What Have I Been Up To?

It has been over 7 months since I wrote my last blog. So what have I been up to? Well, here is a list of the stuff that I have done since then (in no particular order).

So what’s next? Travel. I’m taking a year off work starting July 29th, 2011. I plan to drive across Canada and part of the United States. I would like to meet with people who are passionate about agile. I’m very interested in hearing personal and community agile stories. From that, I plan to write and film about the experience. I also want to experience the beauty and the vastness of the two countries.

My first agile stop is Winnipeg. I can’t wait!

If you are practicing agile in Regina, Calgary or Edmonton and you would like to meet with me, please let me know. Thanks!