Your Freedom Is My Prison

Your freedom to carry a gun messes with my freedom to walk around without fear.

Your freedom to “stand your ground” with force is at odds with my freedom to run anywhere in the woods freely.

Your freedom to refuse to pay taxes diminishes my freedom to fall ill without the fear of it bankrupting me.

There are many kinds of freedoms. Yours might not be the only ones or the right ones even though you’re inclined to think so. Neither do mine.

Project 4.5

Last fall – on the brink of transferring to the masters series in sports – I started a new triathlon project. I’ve been looking for something new for a while and this seemed like a good opportunity to take it into action. I’ve also always loved triathlon. I’m a bit of a generalist in everything and always looking for variety1 in everything I do.

The big problem in triathlon for me was that I was (and to an extent still am) a terrible swimmer. Sure, I can get by but if I tried to swim a longer distance, I quickly went out of breath, which is disturbing for someone with presumably great oxygen intake. I assume that’s very common for quite a few tri-newbs, so I also wanted to document the process as it goes.

Writing a sport project blog is what everyone seems to be doing right now, so I wanted to do it with a twist. I have no illusions that very many people are actually interested in me or how I’m doing. Thus I’m always trying to write articles with the audience in mind: people who have a background in endurance sports but have not done (or have recently started) triathlon.

For now I’m doing it in Finnish. But who knows, if the interest is there, I might start translating the articles in English as well. So, if the language isn’t an issue, come on over.

  1. That’s probably why I’m a software entrepreneur rather than a pure developer. I get bored quickly when I do just one thing for too long – be it coding, designing or marketing.

Open Letter to Specialty Coffee Roasters

Dear specialty coffee roaster,

Let me start by saying that I love you, each and every one of you. I love what you’re doing and respect the work you’re doing to bring better coffee to us all and fight the apathy of people sinking in them chain-oil-like substance just to get a fix of caffeine.

That said, it’s time for some tough love. Tough in the sense that I’m going to be quite outspoken and love in the sense that it’s all for the common good of you and me. So here we go.

Here’s the problem with your coffee: It’s sold stale. Why? Because you set the expiry date to something ridiculous like 3 months or (gasp!) a year. And retailers will sell it until that date and not order fresh coffee until they nearly run out of the previous batch. They will do this because it’s more economical for them and it’s not their coffee that’s sold and their reputation that’s on the line. Thus, your coffee is sold stale. And you don’t want that.

But, you say, every coffee in the supermarket is sold with an expiry date of up to a year in the future. So what? You’re not in the specialty coffee business to be just like everyone else. First of all, their coffee is probably stale in any case since it’s sold pre-ground, which makes it go bad in a matter of days. And secondly, their coffee is of so bad quality in the first place that who the fuck cares whether it’s stale or not when used?

Your coffee can be the most awesome single-origin bean in the history of micro-roasting, but when it’s used four months after roasting, it will be stale. And it will be sold until the very last day, because it’s a niche product with fairly low turnover.

Maybe your argument is that most buyers will never notice. That gets us to the heart of the problem. You will want them to notice. You want them to become coffee conoisseurs if they aren’t already. Because if they don’t notice the difference, they shouldn’t be your target market in the first place.

Here’s a little Marketing 101 to you: you want to target a niche. In your case, the niche should probably be the people who really care about the taste and quality of their coffee. Like said above, most people will probably not notice the difference between your Kiawamururu AA and the generic supermarket blend destroyed with robusta. Their taste buds are long since burned. And of those who can taste the difference, most just don’t care enough to justify the significant price difference and inconvenience of sourcing and self-grinding specialty coffee. Trying to convert them is a one-way street of frustration ending up in a bankruptcy.

You are, by definition, a small fish. Trying to target everyone is as good as targeting no one. It will cost you a fortune and be much less effective in actually finding your ideal customers. And this is just from the marketing standpoint. An even more important point to make here is that by making it not only possible but very likely to make your coffee available as stale, you are alienating the very core of the niche market you should be aiming at – the people who not only buy your expensive coffee, but the ones who talk, nay, rave, about it; the ones who serve it to their friends and perhaps convert them as well into your customers and evangelists.

Here’s the thing that I’m quite sure you know: good, fresh coffee is freshware, sold to a small subset of coffee drinkers. Don’t pretend it’s something else. Don’t be like the one-person consultancies talking in enterprise-y terms and about “we” instead of “I”, destroying their personality in the process. Milk producers don’t set the expiry dates of their produce to several months in the future just to get retailers to sell every one of the cartons because (regulations aside) they don’t want their milk to be sold sour. You don’t want your coffee to be sold stale, either. So do something about it. There is no reason in the world for not to do the same as Square Mile:

Brew within one month of roasting.

Could you please do the same? For me, and in the end, for you.



It’s Not About Us, It’s About You (and Not Really About You, Either)

The common perception is that sales and marketing is mostly about telling how good you or your product are. That it’s all about me, me, me. Us, us, us. I tend to disagree. People don’t really care about you, they care about themselves. And while that sounds selfish, it really isn’t, it’s just a natural fact of life. Why should they really care about you?

So to be successful both in creating products and services and marketing them you have to step in your customers’ shoes. How can make them kick ass? That’s the driving force behind Bear Metal, so I kicked off the company blog with an article that isn’t the traditional “who we are” post but a dive into the philosophy mentioned above.

Read the full story at The Den.


A few months ago, several friends announced taking a few steps back from their hectic work life, taking perhaps on some freelance clients but mostly enjoying life, family, getting into shape, or whatever they felt they had been neglecting in their busy lives as software professionals and entrepreneurs. The term they often used for this was funemployment.

June 30th was my last day doing full-time contracting for Wildfire. I joined the company back in 2008 when the company was basically the co-founders, Victoria and Alain, and a couple of remote contractors. During the past five years I was fortunate enough to see a bootstrapped startup grow to a juggernaut of hundreds of employees and eventually a lucrative acquisition target.

In many ways I always experienced Wildfire as my own product even though that technically never was the case. There’s just something in midwifing a product, seeing its first paying customers, then the first thousand (including several Fortune 50 companies), and so on. That’s a lesson money just cannot buy.

The folks at Wildfire were always awesome to us contractors. We were allowed to work pretty much how much we wanted, wherever we wanted. That might have been just as well from the fells of Lapland as from a B&B somewhere in New Zealand’s South Island. That trust and philosophy also let and motivated us to deliver.

There are some things I missed during the past few years, however. Being wholly subsumed by Wildfire meant that I all but gave up writing and making serious contributions to open source projects. That’s something I want to change.

Say hello to Bear Metal

Working with Erkki, Tarmo, and Lourens for several years built a special bond between us. A 100 % trust in everyone pulling their weight is surprisingly quite a luxury these days. Thus, while our work on Wildfire will soon be done, our work together will not. We’re not burned out enough to look for funemployment. We love what we do. However, one thing we love the most is doing it wherever we want to be, be it hitting the XC tracks of Äkäslompolo, wakeparks (with the bidirectional cable) of Bangkok or trail-marathoning across islands mid-Atlantic. I’d like to call that runemployment.

That’s something we’re not willing to give up. Because of that shared passion and mutual trust we decided to set up a shop of our own, by the four us. We’re called Bear Metal and we’re open for business beginning next fall. We’re a cross-functional team ready to build web businesses from scratch and also provide training and consulting services about building and running large-scale Ruby apps; deploying them with Chef; and ZeroMQ.

Come join us in our run into the future.

How to Get Started With Bootstrapping

Bootstrapping Resources

In the Scottish Ruby Conference, Tekin Suleiman gave a great talk about his experiences in bootstrapping a web app. At the end of the talk there was a question about further resources into the subject. I’ve been into this thing for years now (both in the form of building Wildfire, dribbling with personal projects, and now with Bear Metal), so here’s my take on the subject.

First things first: Tekin mentioned Amy Hoy’s 30x500 class and that has been my philosophical home in the field as well. I was fortunate enough to join the class early on, but even after several price hikes it’s worth many times its cost if you’re committed to bootstrapping. But you really, really need to be committed. If not (yet), you should still read her blog Unicornfree from top to bottom to gain lots of insight into all things bootstrapping.

Another commonly mentioned resource is the Lean Startup book by Eric Ries and the lean startup community sparked by it. My issue with the book for a bootstrapper is that in the end of the day, its ideology is still your normal startup mentality, only executed in a more nimble manner. That said, it might be worthwhile to read the book, if only to know what people are talking about when they mention the MVP or validated learning.

If you’re doing anything related to web, Patrick McKenzie’s blog Kalzumeus and the related podcast is an indispensable resource. Another one is Brennan Dunn’s blog and mailing list. Nathan Barry has also written a lot of good stuff on the topic recently.

If you’re a conference kind of person, there are a few that hit the soft spot quite nicely. Hoy organizes one called BaconBizConf in late May. Microconf (unfortunately this year’s conf already was in April) is another one that has received a lot of praise. LessConf was great as well from what I’ve heard but I believe the past one was the last one there was.

Random resource pointers aside, I’ll next delve into some (as random) details and lessons I’ve learned about bootstrapping.

Perils of starting with an idea

An old adage says that ideas are worth nothing, execution is everything. However, most people will only hang on to the latter part of the saying, not taking the first part literally. In her class, Hoy takes this one step further, explaining why starting by looking for an idea to build is actually harmful for you. The reasons for this are manifold.

First of all, it is not very likely that you have a unique, great idea that is also sellable. It is much more likely that someone already had the same idea, tested it, and found out it did not work. Second, thinking that the starting point of a company is an idea found in a flash of deitic brilliance is a very nice path to despair. This effect Hoy calls the idea quicksand. In it you think you find a great idea, sit on it, let it subsume you, and finally give up. It victimizes and paralyzes you.

Lastly, starting a company with an idea is very likely to cause your thinking to suffer from serious confirmation bias. You harvest information that supports your idea and dismerit or ignore cues that would tell you your idea is in reality a stinking, unsellable pile of yak poo. We all are affected by it and it’s really, really hard to avoid it. So do yourself a favor and don’t start bootstrapping with a ready-baked idea.

So what should I start with, then?

To sell anything, you need a market. You need an audience. An audience is a mostly homogenous group of people. Ruby developers. Web designers. Freelancers. Bootstrappers. You don’t necessarily have to be a part of the audience yourself, although that does help you both in finding the pains and later when you’re actually building your product because of your domain knowledge.

Once you have picked an audience, you can start finding out what really bugs that audience. Lurk in their forums, and spy on them for insight. What itches do they have, from which colossal pains do they suffer? This will form the basis for the business you’ll build.

Don’t directly ask whether they’d need this and that. Actually search for patterns and keywords in how they describe issues they’re having. This is what Hoy calls a Sales Safari.

Content marketing

One topic that pops up in almost every discussion about marketing effectively on the web is content marketing. What it basically means is that by providing valuable content to your audience you teach them and simultaneously build trust in yourself. This appoints you as an authority in the field.

An important thing to note is that you do not have to be a super expert in the field in question, just a notch above the knowledge level of your audience. This means you’re actually more likely to remember the pain and issues you encountered when you were in the same situation. For a seasoned expert this might be years in the past and thus something only vaguely in their minds. Thus it is easy for them to take many of the issues as given.

What you do have to be good at, though, is writing. If you have a big budget you can hire people to do it, but for a bootstrapped company at least one of the insiders needs to be a wordsmith. Sorry to break the bad news but there just isn’t a way around it. As said many times over, if you can’t write clearly, you can’t think clearly.

By writing skills I don’t mean writing grammatically perfect English (or whatever language you use to reach your audience). Grammar is important for sure, but much more important is communicating your ideas effectively. The most important thing to learn the ropes here is practice, but here are some resources you might want to have a look at for getting better at writing.

  • On Writing Well is a great general guide on writing effective prose.
  • Writing for Story by the two-time Pulitzer prize winner Jon Franklin is a succinct introduction to writing gripping narrative in non-fiction. Storytelling is one of the most powerful techniques we have to grip our audience and get our ideas through.
  • Breakthrough Advertising is a bible for writing effective ad copy. While you might never become a copywriter, your goals are very much the same. Unfortunately the book is out of print and very hard to get your hands on. You might (I’ve been told) find the full text from the net, though, using your favorite search engine.
  • Copyblogger (subscribe to their RSS feed or mailing list) is a blog about pretty much all of the above. The amount of new content there is a bit on the high side but the quality makes up for that.

Once you got the basics covered, you’re ready to get into the nitty-gritty details of teaching your audience. Neil Patel of Crazy Egg and Kissmetrics just recently published a free minibook called the Advanced Guide to Content Marketing. Aforementioned Copyblogger also has a series of articles about content marketing. One thing that invariably exists in these primers is building a warm email mailing list.

The Power of Email

As a geek it might be easy to dismiss email as a communication method as old-fashioned and something people mostly ignore. I mean, everyone prefers to get their daily RSS fix or (nowadays) read about your stuff on Twitter. Nothing could be further from the truth. Growing a list of email newsletter subscribers is by far the most effective method of reaching your audience. There are a couple of reasons for this. Firstly, it is way more personal. Most email list software lets you personalize your emails (so do collect at least the first name of your audience members, if only as an optional field), and if you write them in a conversational tone, the reader will react to them in a completely different manner than to a more generic form such as a blog post.

Secondly, in the spirit of permission marketing, everyone subscribed to your list has already given you permission to penetrate their email inbox. This is A Good ThingTM. You’re given a lot of trust. Just remember not to fail that trust. Always think how what you’ll write will benefit and teach the readers. If your newsletter is literally a collection of news about you, you, you, your readership will disappear faster than you can say MailChimp.

So, here were some random pointers for getting started with bootstrapping. Obviously, it’s a life-long path so taking up everything at once is pretty much a doomed undertaking (I’ve been taking Amy’s course at least three times already). So give yourself time, but get started now. And ferchrissake, don’t try to sell anything to consumers. Why? That’s a topic for another post.

Did I miss something? Anything else you’d like to read about bootstrapping? Drop me a note.

Introduction to Great Coffee

This is a talk I gave in the first Tampere Web Dev meetup in January 2012.

I don’t have a very long history with coffee. To be honest, I really only started drinking it when I was well into my twenties. Even then, I didn’t really like it, but surviving through exam periods took the better of me. It wasn’t until 2010 – when I first heard about Aeropress and then stumbled upon Mathias Meyer – that I found out there is a whole another world of coffee I had never before explored. Thus, with the enthusiasm of a beginner and the confidence of a 20-year-old, I shall tell you about my journey.

I won’t go into too much detail or technicalities. This will just be an introduction with the bare minimum you’ll need to get started. There are limitless opportunities for experimenting in the world of coffee. Now is not the time for that.

This will be a very opinionated piece. Many people – even coffeelovers – would disagree with many points. They would be be wrong, of course, but still have a right to their opinions.

Let’s start by defining what makes good coffee. Actually, let’s flip the question around and talk about what does not mean good coffee.

  1. If you think you need milk or sugar in your coffee, you’re not talking about good coffee. Sorry, but you just aren’t. Even with good coffee you might choose to use them – I will frown upon it, but hey, it’s your choice – but you won’t need them.

  2. Espresso (necessarily). Many people I know say that they don’t like any of those fancy coffees, by which they mean that they don’t like espresso. To be honest, I don’t care that much for espresso, either. I like good espresso like the next guy, but I actually think that great filter coffee beats the hell out of good espresso any day.

    The difference is a bit like between a vodka shot and an exquisite old Scotch. Sure, you can make great drinks from the vodka, too, but it’ll never be as smooth as a dram of 25-year-old Bowmore.

    The bottom line in my opinion is that while you might want to delve into espresso geekery later on, it’s not the best place to start. Because great coffee shouldn’t be…

  3. Prohibitively expensive. Since we don’t start our love affair with coffee with Espresso, we also don’t need equipment that sets us back hundreds or even thousands of Euros and is a hassle to maintain. To me, starting the hobby should be reasonably inexpensive and have a gentle enough learning curve.

With that in mind, let’s find out how to get the most out of your coffee experience. The founder of Has Bean Coffee, Stephen Leighton, says the secret to the very best coffee is “fresh”, “fresh” and “fresh”. Just to make sure, I’ll throw another “fresh” in the mix myself.

  1. Fresh Beans Coffee is freshware. I’ll paraphrase a diagram from Tim Wendelboe’s book here:

    Freshly roasted coffee beans take a couple of days to settle to their best form. After that, they remain optimal for a few weeks. After about four weeks – and sooner if they are in contact with oxygen, i.e. you opened the bag – they start going stale fairly rapidly.

    This brings us to a measurement of roaster honesty. I’ll start with the best example, Square Mile Coffee:

    “Brew within one month of roasting”

    As you can see, this pretty much matches with Wendelboe’s graphic.

    The next level is Has Bean. They tell the coffee is best within one month, but you should definitively use it within three.

    Down another notch, we have Kaffiino. They still mention the roasting date, but pretend the coffee is still good half a year after roasting. It isn’t.

    On the bottom level we have most of the commodity coffees. They tend to give anything up to year before the expiry date. What’s worst, they do not tell the exact roasting date, so you’re left with guessing how much time they give their coffee to go stale and calculating from there when it was roasted. This is pure dishonesty. The roasting date is the most important thing on the label of a coffee bag. Unfortunately, even many reasonably good specialty coffee roasters (like Johan & Nyström and at least sometimes, Mokkamestarit) can be found on this pathetic level.

    The lesson to learn here: buy only from roasters that can guarantee the freshness of the roast.

  2. Fresh Grind

    Note that in the previous point, I only talked about fresh beans. That’s because you should never buy your coffee pre-ground. For commodity coffee, it doesn’t really matter whether they give you six or twelve months before the expiry date because the grinds sold to you are already stale when they hit the selves.

    The issues with pre-ground coffee are manifold. First, grinding coffee releases a large part of its aroma, which are lost forever if you don’t use the grinds immediately. Second, coffee really hates oxygen, which should be clear to you by now. When the coffee is ground, there is much more surface that’s exposed to the damned gas than with beans. Lastly, different brewing methods call for different grind levels. Good luck trying to make a good French press with coffee that’s ground to Aeropress level without drowning in sediment.

    So, the lesson #2: Buy your beans whole and buy your own grinder.

  3. Fresh Water

    To be honest, I don’t think this is as much of an issue in Finland, where most of the tap water is pretty good. Sure, some conoisseurs want to buy bottled spring water to brew their coffee with, but I haven’t found this to make enough of a difference to justify the price, hassle and unecological choice. If you live on the west side of Tampere, you’re getting ground water from your tap anyway. I’m not, but the water is still ok.

    Still, you probably don’t want to reuse water that’s been sitting in the electric kettle for two days already. But you already knew that.

  4. My own addition: Fresh Brew

    Probably the biggest reason people seem to think that espresso-based drink are the “good” coffee, as opposed to filter coffee, is that in most cases filter coffee has been sitting on top of a hot plate for quite some time. Espresso drinks on the other hand are basically always made to order.

    Now, here’s the thing: coffee (the drink) does not stand heating. This includes everything from the hot plate of your coffeemaker to microwave oven to percolator. Quality coffee is good when hot, best when slightly less hot and still great when not that hot anymore. Actually it tastes quite awesome even when cold.

    Lesson 4: Don’t let your coffee stand in the coffee maker after it’s done. If you need it to stay hot for longer, pour it into a vacuum bottle.

With these lessons under our belt, here are a couple of practical tips for your coffee pleasure.

Quality beans in Tampere

Like you learned in lessons 1 and 2 above, you’re going to buy freshly roasted, whole beans. Finding them in Tampere is kind of tricky, but not impossible.

By mail

Your best bet it pretty much always mail order. This is mostly because the best roasters only ship coffee right after roasting. This means that they settle down just the right amount during the days it takes for them to reach your mailbox and are thus ready to use.

My absolute favorite roaster is Square Mile Coffee in London. Pretty much all their coffee is direct trade. While the selection isn’t huge, you also cannot go wrong with any of their coffees. I recommend getting a subscription from them, which means at the beginning of each month they will send you a bag of coffee fitting the season. If you’re not ready for a subscription, just order a bag or two. The shipping costs are pretty much the same as with any Finnish roaster. Note that they only roast twice a week, so your order might take a couple of days to ship.

Another great British roaster is Has Bean Coffee. Their selection is vast compared to Square Mile and includes lots of different types of coffees, including organic varieties. They also offer subscriptions (both monthly and weekly) which are considerably cheaper than Square Mile’s. However, it’s worth noting that their bags (as most other roasters’) are 250 grams, as opposed to Square Mile’s 350 g.


In my opinion, currently the best coffee roasted in Finland comes from Turun Kahvipaahtimo. Unfortunately, they don’t have an online store, let alone subscriptions. Fortunately, Kahvila Valo on Puutarhakatu sells their coffee. However, they seem to sell such limited amounts of it that it’s best to find out their shipping schedule to know when to go look for new beans.

Kaffa is a fairly new entrant in the Finnish coffee scene. Operating in Rööperi in the heart of Helsinki, Kaffa’s guys seem to put a fair amount of love and effort into their offerings. They have some interesting coffees such as the Indian Monsoon Malabar, but on average they seem to me a bit more hit and miss than Turun Kahvipaahtimo. E.g. even though they say they only send freshly roasted coffee, I’ve often gotten weeks old coffee sent to me from their online store. However, Mama’s Corner sells their coffee in the market hall, and there you can be sure about the roasting date of the coffee. Unfortunately, the same disclaimer as with Valo and Turun Kahvipaahtimo applies: the coffee comes to the store every once in a while, so you can’t rely on it being totally fresh whenever you step into the shop.

The original local roastery in Tampere is called Mokkamestarit. They roast a surprisingly varied selection of coffees, including fair trade, direct trade, organic and Cup of Excellence beans. Kahvila Valo sells a (very) limited selection of Mokkamestarit’s coffee. However, for the full selection you should probably visit their roastery shop in Vermo. My issue with Mokkamestarit is that they don’t tell the exact roasting date at least with the coffees I’ve seen. Moreover, they set the expiry date to something ridiculously long like a year, so it might be difficult to make sure how fresh the coffee is. However, if you can make sure you get truly freshly roasted coffee from them, they are probably a fine option.

Just recently I learned about Fresh Coffee Roastery, which operates in Onkiniemi. Unfortunately, it seems that they neither have a shop at the roastery nor have a reseller in Tampere, so your only option is to rely on their web store. I have yet to taste their coffee, so I can’t really vouch for them.

Grinding your coffee

My advice is to start with a quality hand grinder, not a cheap electric blade grinder. The important bit is to get a burr grinder, not a blade grinder. I use a Porlex hand grinder, which is stainless steel throughout, with ceramic burrs. Since the hopper is not plastic, it generates very little static so it’s very easy to get the grinds out of it. Another great thing about Porlex is that it fits perfectly inside an Aeropress, so they make a great travel kit together.

Another hand grinder people seem to recommend is Hario Skerton. I have not used it myself, but you shouldn’t go astray with either of them.

The downside of a hand grinder is that grinding coffee with one is fairly slow and their capacity is limited. Every time we have visitors for coffee (not really that often) I wish I had an electric grinder. Any other time, I don’t.

Another issue with hand grinders is that it is somewhat difficult to control the grind coarseness. It happens with a screw so it’s next to impossible to “store” different settings for different brewing techniques.

The upside of a hand grinder is that it doesn’t wake up the whole house, and grinding coffee with it is a nice morning ritual. If your arms are in bad shape, it probably counts as exercise as well.

I’ve decided not to get an electric grinder before I can justify getting a really good one. At the moment that would mean Mahlkönig Vario.

Brewing the coffee

Everyone who gives a shit about coffee in Finland probably has a Moccamaster. The good news is that there’s no reason to get rid of it. However, (unless you have a model with a vacuum bottle) you should never let the brewed coffee stay on the hot plate after it’s ready. This means that if you want to serve hot coffee during a longer period, you need a good vacuum bottle.

That said, there’s something deeply gratifying in having more control over your brew. For that, there are several inexpensive options. These are what I use myself:


Chemex coffeemaker

The legendary Chemex coffeemaker was invented in 1941 by Dr. Peter Schlumbohm. He’s famously quoted saying that “With this, even a moron can make good coffee.” To add to that, Chemex is on an ongoing display in the Museum of Modern Art in New York. We have an 8-cup version of the brewer and use it pretty much every morning.


While it lacks the elegant looks of a Chemex, Aeropress is a truly miraculous device. This inexpensive (and somewhat cheap-looking) device can extract some of the best brews from your beans and it does it in a time that really can’t be beaten. Like said above, an Aeropress makes a great travel kit with the Porlex grinder (and some quality beans) which means you can have great coffee wherever you go. Just add water.

Moreover, Aeropress is very easy to clean up. After the brew, you just pluck the filter and grinds into a biodegradable waste container and rinse the device with hot water. This makes Aeropress also a great office coffeemaker. Using it will first get you some amused glances, and then some ridicule. And then, until you realized what happened, everyone will be using you ‘press. At least that’s what I imagine would happen. I don’t really have any officemates so I extrapolated from my wife.

I don’t have time for this, just tell me where to get great coffee in Tampere.

Kahvila Valo. They have a horrible website but are indeed a great, somewhat rustic café. Like said, they sell a decent selection of freshly roasted beans from different roasters. Most importantly, they have recently added several new brewing methods into their arsenal: Aeropress, Chemex and Abid Clever dripper. My favorite cup of coffee there is a strong smooth Kenyan made with Abid.

Unfortunately Valo only opens at 11AM, so it’s not suitable for morning coffee. On the flipside, it is more or less empty until late afternoon, so it’s a great place to hack in if you’re looking for a quiet office outside the office. They also serve light food such as lunch salads, sandwiches and soups.

Jaakko Halmetoja says nice words about Kahvila Taikapapu. I haven’t checked them out myself yet.

Where to go next?

Filter coffee is an affair that is easy to get into, but that has a pretty much limitless depth. On theoretical level, I’d recommend reading Has Bean’s Coffee 101 and Mathias Meyer’s Beginner’s Shopping Guide to Filter Coffee Gear. But most importantly, just get the bare minimum of needed equipment – e.g. an Aeropress with a Porlex grinder –, some quality beans and start experimenting.

And enjoy.

Ruby, Meet QuickRoute

While I missed the tradition of releasing Ruby gems on the Christmas day, I did meet my own tradition of not doing anything with the computer that day. That said, I had something interesting in the works that just needed to be wrapped up as a Ruby gem—namely, a library for parsing the GPS data out of JPEG files produced by QuickRoute. Without further ado, may I present quickroute-ruby.

The task wasn’t exactly trivial, as the data is embedded in binary format in an APP0 segment inside the image. Moreover, the data format was basically undocumented. However, with the help of Mats I managed to reverse-engineer the original C# and PHP libraries to an extent that I seemed to get correct output out of the file.

The library is still very young, and while it seems to work correctly with my test images, I have no doubt there are a bunch of bugs hidden. If you seem to run into one, please file an issue in the tracker, or better yet, send me a pull request with a test-driven fix.

For usage, check out the GitHub page. I’ll work on cleaning up the code and writing some more documentation in the coming days, but the code itself should be fairly self-explanatory.

Happy New Year!

P.S I’m also mirroring the complete (GPL licensed) QuickRoute C# code repository on GitHub. So if you prefer working with Git instead of Subversion + Google Code, you might want to start off there.