Back in 2008 I started working on my first open-source project Steam Condenser. I wanted to do something special, something that people would think about “Hey, that’s what I was looking for”. I’ve been a huge fan of Valve’s games, playing them myself and hosting a few servers for the German fan site Half-Life Portal, but that was before I started working on Steam Condenser. I knew there’s some need for libraries to query those game servers. Almost any clan has its web page presenting some of their servers, most of the time by using hacky PHP snippets out of game forums. So one of the special things I’d liked to do, was to create a more professional library: easy to use, extend and maintain. Another special would be to not only develop in one programming language, I did choose three right away: Java, PHP and Ruby.
Using a Git submodule as Maven parent project
This hint is especially useful if you have two Maven projects – a parent project and a child project depending on it – on which you want to develop concurrently.
Ruby: Calling super constructors from multiple included modules
Ruby’s concept of modules and mixins is great. Every Ruby programmer will come to this conclusion – sooner or later.
Using Git as a backup tool
Git is a great tool – not only for version control. Ever wondered what would happen to your local Git repositories you use to store private projects, documents or other arbitrary data after your hard drive crashes?1 Most probably – if you don’t use any other means of backup – it will be lost: Surprise! No, not really, Git is based on plain files and there’s no way to recover from file corruption.2 Therefore you should not forget to backup your Git repositories, too.
If you use a Git host like GitHub or Gitorious it’s pretty easy to have at least one additional repository to increase your data security. Once you added your online repository as a remote and pushed to it, you have a full3 copy of your repository contents at another location, elminitating your local hard drive as a single point of failure. But what about private repositories you don’t want (or you are not allowed to) host on a third-party server?
Continuous integration using Git
Since RunCodeRun closed its doors I searched for a new way to automatically test my Ruby projects. As there are no other free CI services I know of, I had to come up with a solution myself.
Highlighting Git “syntax” with nano
Using nano as your default editor for Git? Always wanted to have funky syntax highlighting just like that for Vim (e.g. shipped with msysgit).
A word on IDEs
What would be a good start for a blog about programming? I’ll start with IDEs.
I won’t start off a fanboy war here. That wouldn’t be a good start for my blog I think. I just want to summarize my experiences with IDEs.
$stdout << 'Hello world!'
Hello to everyone who found my blog and found time to read some of the posts.
In this blog I’ll write small posts about programming and computer science in general – most likely Ruby, Git and other fancy stuff.
I hope someone will find these useful or interesting.