Dev of the Week: Mikko Ohtamaa
- The Ultimate Python Colorized Logger
- A Script for Generating Google Docs from Spreadsheet Data Sources
Hi Mikko! Thanks for talking to us. What have you been working on lately?
I get the butter on my bread from Plone CMS projects (http://plone.org). Plone is a very powerful Python based CMS geared towards big intranet, education and governmental deployments. Plone has very steep learning curve, but in the end it pays off as managing complex websites where you have hundreds of editors with different roles and privileges is easy.
My current, non-paid, baby project is Sevabot, a Skype chat robot, https://github.com/opensourcehacker/sevabot Sevabot allows you to trigger arbitrary UNIX scripts from Skype chat window. It also has HTTP webhooks to accept incoming chat messages from external services like Github, Subversion, Zabbix, Jenkins and other versioning, issue tracking and monitoring systems. If your virtual team already uses a lot of Skype, Sevabot may become very worthy DevOps tool for you.What do you think are some of the most exciting recent developments in the world of open source?
I'm excited about the open source development focus moving from system programming (Linux) to web frontend. Twitter Bootstrap (though it might not be loved by designers for "bootstrap styling" everything) gives an average Joe an easy way to create frontends with powerful functionality yet professional look.
Firefox OS may be a very tiny black horse in the mobile phone race, but it's a very exciting piece of technology engineering-wise. For the first time HTML5 applications become first-class mobile citizens. When I was working with Symbian and Nokia Series 60 I learnt that deployment curve matters as much as development curve. Due to straightforward deployment process, the Firefox OS app being just URL and HTML file, I believe developers will fall in love with Firefox OS.
Are there any particular developer tools or resources you couldn't live without?After living 15 years with different IDEs, the last one being Aptana Studio, I have become ZSH and Sublime Text 2 wizard. I'm working with my friend Antti Haapala on a project called ZtaneSH. ZtaneSH a ZSH, a UNIX shell, configuration and tool bundle which provides optimized developer experience by integrating different helpers and options to boost your command line productivity (autocompletion, colorizing, sane defaults for tools like Git, etc.).
Though it sounds like a little thing, it really makes a difference when tab autocompletion magically fixes your spelling errors. This feature alone makes ZSH worth of every penny for poor typist like me. Try ZSH, trust me on this one.
Do you follow any blogs or Twitter feeds that you would recommend to developers?I follow 450 feeds, averaging 7000 read RSS items per month, so I am total feed junkie and there is so much I could share here! Hacker News is very popular nowadays, but for more targeted information I suggest to follow Paul Rouget ( paulrouget.com/, Mozilla) to know the future of web development today. The whole content of Planet Mozilla http://planet.mozilla.org/ is interesting if you are into the frontend. For Pythoneers, you cannot pass Planet Python feed http://planet.python.org/ which collects some of the best feeds regarding Python dev.
Did you have a coding first love -- a particular program, gadget, game, or language that set you on the path to life as a developer?The first love is usually fumbling experience and would not make a good story.
The moment that marked the beginning of my current life as an open source professional was around 2006 when I was coding Plone CMS addons, still as a hobby. I got email from someone in the UK who was asking for support on a Plone addon I had recently contributed to (at this point I was still a student, part-timer in Symbian subcontracting consulting business and living in Finland). After exchanging a few emails it become clear that I couldn't help fix the issues due to the technical competence on their end, but instead, they offered me cold cash just to build their website for them.
A month later I marched into the office of my boss by the time and told him "f*ck this shit. I'll quit and start my own business as an open source consultant." Though this decision might have lost me some good salary opportunities, it really helped me grow.
Anything else you'd like to mention?
The more you grow, the more you see that open source is about patience and participation in community. The community isn't a black box where you can just input issues and bug fixes and expect better software to come out. No. You go there, speak to people (not always IRL, maybe in IRC), meet them and slowly build personal relationships. "Face time," even in IRC, builds trust. When you have trust, people are more inclined to listen to you. When you have enough trust, people will make services for you and vice versa and suddenly your interaction with community has very little friction.
But if you never participate to chit-chat, don't try to learn to know people, don't care how or why they act as they do, you'll be fated to have disappointments, let downs and aaargh moments. A simple thing for you doesn't seem to make sense for the gatekeepers of open source project and you'll end up cursing, though this situation could have been avoided with enough patience, smiles and beer.