All posts by Tom
We grow software
Since 10to1 started (which seems ages ago, and yesterday at the same time), we’ve been telling people that we develop software. Or maybe that we create it, or even build it.
These seem to be the verbs that people use when talking about software. It’s something that you build, like a house, or a car. You take some piece of code from this library and a nice hack from that library, glue it together in your favorite language, et voilà, your software is ready. Everything else in this world is built that way, so it’s only logical software is built the same way.
Completely logical. Except that, well, it isn’t like that.
Creating software is more like creating a painting. You start with an outline of what you want, and then you start adding details, and color, and generally, make it a complete painting. And then, when you’re satisfied with your painting, it’s finished.
Creating software is even more like creating a business. You start with a limited set of functions, and then you add a service here, and a feature there. Your business grows and before you know it, you are Apple.
An even more compelling image is that of a tree. You start by making sure there is a trunk. This trunk is the core of your application: it will support all functionality. Just like the trunk grows with the rest of the tree, your core starts small, and grows.
Once the trunk is in place, the branches are added. You add a bit of functionality here, add some extra-nice usability there. Branches that are seldom used, get less attention than those that are used every day. Branches that are ugly, or not used at all, are cut. You don’t know which branches will be ugly, or will get a lot of attention from the start. But you do know it when you see the tree in all its glory.
We think that the tree analogy matches perfectly on how we believe software should be created. That’s why, from hence forward, 10to1 will describe its activities as ‘We grow software’.
Things are going fast
We all have those periods of time when nothing seems to happen in our lives.
And then, all of a sudden, things go so fast that you’re having trouble to understand what’s happening.
This is how I feel today.
At the end of last year, we decided to find a Ruby on Rails developer. We were psyched when Piet told us he wanted to work with us. We’ve never been more content with an employee.
But after a few weeks, we saw that even Piets addition to the team wasn’t enough to keep us up to speed. That’s why we couldn’t believe our ears when Jelle told us he, too, wants to work with us.
He’s starting today. 10to1 has been 2 people for more than 3 years. Now, we’ve grown to 4 in 5 months.
It’s awesome.
Ruby/Devops meetup in Antwerp on April 8, 2010
As Kris said it eloquently:
Devops / Ruby Meetup , Antwerp, April 8, 2010
Joshua Timberman will be in town (Antwerpen that is), for Loadays. As he is arriving on thursday Botchagalupe suggested we should have a Devops / Ruby get together.
So I’m dutyfully announcing the Devops/Ruby meetup next thursday april 8th, in Antwerp.
The plan is to meet up for beers and chatter in our favourite Antwerp geek pub in Kulminator, Vleminckveld 32, Antwerp, around 20h00 ish.
Topics will be devops, ruby and much more :)
No need to register. Just show up.
If for some reason the Kulminator is to crowdy, smokey, closedy you should be able to find us next door in the Zeppos :)
Joshua is the creator of Chef, a Ruby-based systems integration framework, built to bring the benefits of configuration management to your entire infrastructure. This is a great occasion to talk with him.
I know the Kulminator, and they have a wide choice of beer there. Make sure to come and say hi!
Why I love oh-my-zsh
If you’re a developer like me, you probably spend a whole lot of time in your Terminal window. We all love the power that comes with the shell, but we can get frustrated because it doesn’t work quite the way we want it to.
That’s why Robby created oh-my-zsh. This is a collection of extensions to zsh, which is a replacement for the default bash on your Mac.
It does a whole slew of nifty things. Case-insensitive auto-complete is one of them. Autocompletion of paths at the remote end of your scp command is another one. But the reason I really love oh-my-zsh is this:

That’s right. Because I suck at typing.
Want to present at Europe's biggest Open Source convention?
For the third time, the Belgian Ruby community is organising a one-day developer’s room with presentations on Ruby and Rails at FOSDEM (6 Feb 2010, Brussels).
FOSDEM is one of Europe’s biggest conventions of people working on Open Source Software. This is a great opportunity to meet the brighest minds in the OSS world!
We’re looking for people who want to share their passion about Ruby or Rails.
You can submit your proposal until until Monday, January 4, 2010. For more details, have a look at the call for papers
Even if you’re not presenting, we love to meet you there!
(Dutch) Op zoek naar een Ruby en Rails ontwikkelaar
Sinds 2006 is 10to1 bezig met het ontwikkelen van web applicaties in alle soorten en maten. We gebruiken daarvoor vooral Ruby on Rails, en soms ook Java.
Na meer dan 3 jaar wordt het tijd dat we ons team versterken.
Daarom dachten wij aan jou!
Jij bent een gedreven software ontwikkelaar(ster). Je hebt interesse in web applicatie technologiën. Je weet wat “MVC” en “OOP” wil zeggen, en hoe je het moet toepassen. Je kent Ruby en Rails, of je bent gebeten om het te leren. Als termen zoals “iPhone development” of “Android ontwikkeling” je sexy in de oren klinken, is dat mooi meegenomen.
Wij bieden je een toffe job in een fantastische omgeving waar de nieuwste technologiën gebruikt worden, in een team van sympathieke mensen. Ons kantoor is in het rustige Edegem, vlakbij Antwerpen, de E19 en de A12.
Geïnteresseerd? Laat van je horen op info@10to1.be !
Rails model visualization
If you’re a developer, you know how it goes. At the beginning of a project, you draw some UML sketches to get you going. There’s a nice tool to do that. As your project goes on, and your code grows, these diagrams don’t get updated too often. After all, every piece of knowledge must have a single, unambiguous, authoritative representation within a system. And for a class model, that representation is the code.
But at some points during your development, you have to communicate with some stakeholders. They want to know what your class model looks like. So you have to provide them with a drawing. Until recently, we went through the trouble of creating these diagrams manually. But those days are over: we found yUMLmeRails
To get yourself a diagram, follow these steps:
cd your_project
script/plugin install \
git://github.com/nelsonsilva/yUMLmeRails.git
rake yUMLmeRails:download
Your diagram will be saved in your_project/diagrams.
Easy. Nice. Handy. Did I mention ‘pie’ ?
Working with multiple ruby versions - the sequel
Remember when we talked about how to use multiple versions of Ruby on your Mac?
Well, apparently that post is already outdated. Now all you have to do is to install the rvm gem
I’ve just tried it, and it works without a hickup. I’ve noticed one little thing: the installation of the gem creates a file ~/.bash_profile. This, apparently, overrides ~/.bashrc on my Mac. I lost all of my neatly-crafted terminal environment. Deleting ~/.bash_profile fixed this. Happy camper!
Generating a timestamp string in Ruby
In the hope that the Google Gods will help me next time I need this :-)
An easy way to generate a human-readable timestamp string, following the ISO 8601 standard, is:
Time.now.utc.iso8601.gsub('-', '').gsub(':', '')
Very handy if you need a timestamp in a file you’re writing.

