Posts tagged en

Upgrading to Snow Leopard

I’ve made the switch from Leopard to Snow Leopard today. First, I took the necessary steps, of course: checking this handy app compatibility list, running AppFresh, then SuperDuper!. While the overall install went smoothly on my mid-2009 iMac 24”, I ran into some issues which I’d like to jot down real quick.

  • Terminal.app has issues with my favourite programming font, Inconsolata. The font isn’t rendered at all, which is a pain. I went with Menlo (the new monospaced font coming with Snopard) for the time being. (In Textmate, Inconsolata renders just fine.)
  • The Language & Text preference pane refuses to allow me to use the “German - Microsoft” layout. It’s a 32-bit vs 64-bit issue with MS’ Intellitype software (which is needed for my Natural Ergonomic Keyboard 4000) — the 32-bit drivers can’t be used in 64-bit apps, and the keyboard reverts to its default “German” layout. According to this Apple support board post it’s not even clear whether there’ll be a 64-bit Intellitype software at some point. Saying this is inconvenient would be an understatement.
  • I’ve switched from 1Password 2 to 1Password 3 Beta since 1Password 2 would’ve required me to run Safari in 32-bit mode; v3 doesn’t. Looking good. Can’t say more due to the NDA. :)

The rest seems to be fine. Standing out most:

  • Booting the iMac seems to be faster now.
  • Image Capture finally recognizes my CanoScan LiDE 200 scanner out of the box! (About time.)

All in all, not a bad update. The family license goes for €49, so I didn’t have to think long about it.

Update: I was able to fix the keyboard problem! Today I found Ukulele, an Unicode keyboard layout editor. After downloading it, I’ve poked around the DMG and found two files, LogitechGerman.keylayout and LogitechGerman.icns. After copying them to the /Library/Keyboard Layouts/, all that was left was opening the Language & Text preference pane and activating the “Logitech German” layout. Dynomite!

Selling BetterSearch

Since its birth a few years ago, my Firefox addon BetterSearch has been a fun project. People were using it and seemed mostly happy with it, as they could see a thumbnail of the search results on their favourite search engine before actually clicking through. Good times.

BetterSearch screenshot

This was made possible by displaying preview thumbnails from various sources, such as Amazon’s Alexa service and several others. These thumbnails had to be bought from them, which was financed by money I made as an Amazon affiliate. When BetterSearch would find an Amazon product in the list of search results, it would not display the Amazon.com thumbnail but the actual product image, along with the price, average rating and related information. When a user would click through, and buy stuff from them, I (as their affiliate) would get a few cents.1

This worked out well. It paid for server, bandwidth and thumbnails, and yes, I’ve made some extra money from it. Not much, but a bit.

Then, around end of 2008, Amazon changed the terms of their affiliate program — all of a sudden, what BetterSearch (and several other addons for different browsers) were doing wasn’t allowed anymore. No more tagging of so-called “organic search results”. Oh noes! The Amazon partner program-related code had to go.

This put me in a somewhat tough spot. On the one hand, I liked my addon, and I know a lot of people were using it on a daily basis. On the other hand, it was just a side project, and the only source of income to counter the costs had suddenly dried up — and to be honest, as much as I like BetterSearch, it’s nothing I was willing or able to invest lots of money in just for the fun of it.

But luckily, the company of a former co-worker of mine was looking for something like BetterSearch. They were interested in buying the addon, and we came to an agreement.

What does that mean?

It means BetterSearch, the Firefox addon, is now owned by Abakus Internet Marketing. They will continue to develop it, they will run its servers, pay for the bandwidth and the thumbnails — in a nutshell, everything BetterSearch is theirs now.

For the end user, not much will change — apart from a vastly expanded number of available thumbnails, that is. Firefox will update the addon whenever there’s a new version, the way it was before. No need to manually install or adjust anything.

What’s not part of the deal

No user-related data was passed along. First and foremost, BetterSearch didn’t collect any user data. But of course there’s always the case of the thumbnail server logfiles. Everytime a thumbnail is requested, it’s noted in a server logfile, along with the user’s IP address. (That’s the modus operandi for pretty much every server everywhere on the internet. Ask your local geek about the details.) Since I don’t care about this stuff, these logfiles were deleted on a daily basis anyone looking at them.

Either way, these server log files were not part of the deal.

The future

I think the addon’s future is a bit brighter now as it was a few months ago. Now there’s someone with sufficient resources to maintain and further develop BetterSearch. To me, that’s a good thing. :)


  1. Some people think it is “amoral” to tag Amazon links in such a way, and claimed it was sneaky. I disagree with both points. For me, it added meaning and context to the Amazon search results. And the information that this was done was disclosed on the addon’s website, it’s AMO page and in the addon’s preferences dialog. Everybody using the addon decided to use it. Free will and all that. So there. 

CharPool Has Launched: There’s A New WoW Site In Town

Over the last few years, I have always wondered why there was no site that would allow me to track my progress in World of Warcraft. Sure, there’s the WoW Armory and sites like Raptr, but all these places take more of a “your char right now!” approach which never came close to what I had in mind. And those that did go into the direction I was thinking didn’t click with me.

But what exactly did I have in mind? This is where it gets a bit complicated. I was looking for a site that would automatically keep track of my characters for me, make daily snapshots, let me upload images and notes… Give me a timeline of their progress… In short, something that would allow me to document the “life” of my toons. Maybe something that would give me a bit more, with “more” still being a very diffuse idea.

Anyways, I always felt this was strange there was no such site, as I believe there’s an audience for that. So many people do invest so many hours, so much energy and money into the game, I can’t possibly be the only one wanting.

I ended up firing up TextMate and starting to code, and only a short while °cough° later, I had something I deemed good enough to release as a beta.

Ladies and Gentlemen, I give you CharPool.

Screenshot of a CharPool.net character page

The site does exactly what I’ve described a few paragraphs ago, but it also throws in (in my opinion) funky Twitter support, whereas you can tweet in the name of your characters, and these tweets will show up on the chars timeline, together with your achievements and screenshots etc. It also has feeds.

There’s also a page which shows you the WoW-related tweets of your guild mates and also of the people you are following on CharPool. The guild support is still rather rudimentary, and at the moment is mostly just a hint at things to come. Again, it’s Twitter-based, because I’ve read somewhere on AOL that it is what the “cool cats” are “digging” right now.1

So, I am having plans for CharPool. Big plans. But it’s still in its infancy, there’re a few rough edges, and I’ll need testers to take a look, poke around, and give me feedback. Preferrably WoW players, because, you see, without active characters the site is rather pointless. :)

I’ve opened up 250 beta slots which are given away on a “first come, first serve” basis. I’d appreciate it if you could take a look if WoW is your cup o’ tea. If not, maybe you know someone who is a player? Then you could pass him a note.

Thank you very much in advance.


  1. Gods, I want to be hip, just once. 

Update On The Stability Of The Bookeen Cybook Gen3

A post on the MobileRead forums hinted at my Cybook Gen3 stability issues being related to the font face used for displaying text, so I’ve replaced the very lovely Liberation Serif with the slightly less lovely, but nonetheless enjoyable DejaVu Condensed Serif.

Lo and behold, the stability improved tremendously — my Cybook hasn’t crashed once since I’ve switched.

So, yes, the crashes/lockups are definitely font issues. The more you know.

Review: Bookeen Cybook Gen3

One of the first applications I’ve installed after buying my iPod touch last year was Stanza, one of the few dedicated ebook reading tools for the platform.

The idea of electronic reading appeals to me. I’ve tried my luck several times over the last few years, on different devices, with varying success. (Anyone remember Palm? Haha, yeah… me neither.)

First of all, I like a good novel. Being able to carry a number of them around with me, wherever I go, is a good thing. Back then I was spending almost two hours each day in public transit, and imagine that: reading beats staring at subway tunnel walls the whole time.

My second argument is a bit more elaborate. You see, I’ve read a lot of books in my life, most of them just once. Not everything written by man is a gem begging to be re-read time and time again. And while this is okay —not everyone can be Shakespeare, and most of these books I’ve enjoyed at least a bit, after all— it raises the question of what to do with them after reading. There are so many “one-off” books in my basement, it’s not really funny anymore. Some of them I gave away, some I’ve sold, some I’ve fed to a recycling bin. But the others are sitting there, silently, and everytime I look at them I wonder a) what to do with them and b) how much wood was used up to make them. (Yes, I’ve actually had a point to make here.) Thus, I’d feel less bad about getting said one-time-read-through novels in electronic form.

Bookeen Cybook Gen3 Anyways: After a few months with Stanza I’ve decided electronic reading works well enough for me to warrant a dedicated device for home use — a real ebook reader. After some shopping around, comparing prices and reading up on different offerings I went with the Bookeen Cybook gen3.

After a few weeks of using it a lot I now feel comfortable enough to share my findings. I know at least a few people are curious about it — hi Mookie & Bernhard. ;)

Quick Facts

  • 6” e-ink screen
  • 600x800 pixels, 166 dpi
  • B&W, 4 grayscale
  • No backlight, naturally
  • Multi format: reads Mobipocket (DRM and non-DRM), HTML, PDF, TXT, PalmDoc, image formats etc.1 Both EPUB and better PDF support are promised for the upcoming firmware update. (Hopefully this’ll include reflowing text in PDFs.)
  • Has an SD slot — in case the 512MB onboard storage isn’t enough.

The Good

  • Rather affordable: I’ve ordered mine in the UK, and paid €225 incl. shipping to Germany. The box contained the Cybook, a short pamphlet, and an USB cable. Not more, not less.
  • It’s a light device: Only ~170g, battery included.
  • The screen is great, the time it takes to turn a page is surprisingly short and not noticeable anymore after reading a few pages.
  • There’s no proprietary software to be installed. Connect it to your Mac/PC, and it’ll show up as mass USB storage device in your Finder/Explorer. This is also how you put new content on the device. I like that.
  • Truetype support: Don’t like the built-in fonts? Just copy TTF files to the device and use them instead. I really like that.
  • Rather simple and logic menu layout. The menus mostly make sense.
  • Handy display controls: Font family, font size, layout (justification etc.).
  • Impromptu bookmarks: Turning off the device or going back to the “library” (i.e. the main list of stored texts) during reading will make a note of your progress. Going back to the text later on will bring back to you where you’ve stopped reading.

The Bad

  • Doesn’t support EPUB yet, but apparently this will be “fixed” within the month.
  • The PDF support is… well, let’s just say that yes, it displays most PDF files. But it either tries to cram one document page into the space of the 6” screen or flips the display 90° and shows either the upper or lower half of the document page. It works, but it ain’t fun, yo.
  • No page numbers: There is an (optional) horizontal bar at the bottom of the screen to display how far you’ve progressed through the book. It’s a neat idea, and a good alternative to page numbers. Well, in theory. It’s an idea that wasn’t fully thought through, as you can also jump to any page using its page number through the menu. Which is somewhat useless, as the current page number isn’t indicated number anywhere. It’s just not displayed. I know that on a device that supports different font families and sizes, calculating page numbers can be a drag, but come on: the navigation currently in place is only 4 parts working — and 1 part barely sufficient.
  • Stability:
    • It locks up every now and then, which puts me in the strange situation that I had to reboot my book. (There’s a tiny reset button on the back of the device.)
    • Since the reading progress is only stored during shutdown or upon return to the library but naturally not during a lockup, the device will not remember where I was when the crash happened. So after a reset the last automatically saved bookmark will be used — my progress made between opening the text and the lockup will be lost. This is unfortunate, as there is no “forward ten pages” menu option, so I usually end up flipping through dozens of pages after a crash, looking for the right page.
    • Update: The crashes are apparently directly related to the font used — using DejaVu Serif Condensed instead of Liberation Serif helped the stability quite a bit. YMMV.
  • Not all books come with a TOC, and it’d be nice if the Cybook would autogenerate one. Alas, it doesn’t.
  • I’m having problems opening the PDFs from the Suvudu Free Library, which makes me a sad panda. I hope this will change with the aforementioned firmware update.
  • I don’t like the available three library views all that much. They’re a wee bit uninspired.

The Useless

  • Plays MP3.
  • On the left side of the device there are four buttons. Only three of them have a function.

DIY Improvements

  • DIY: Finished. I wanted a cover to protect the screen, but didn’t want to spend money on them “official” leather covers. So I’ve …molested a Moleskine (ahem2). Which actually worked out pretty nicely after all. Because I am a man of many talents! Oh yeah.
  • Liberation Serif. ‘nuff said.
  • Impress the ladies: MobiPerl and hpricot make for a good team.

The Verdict

It’s no Kindle 2. It’s a neat device without frills. It’s not perfect. But it’s affordable and works, and I don’t regret the purchase.


  1. A full list can be found at Bookeen.com 

  2. I apologize, but this is a pun I wanted to make for years

Planet Yahoo! Explodes In A Huge, Yet Pretty, Greg-Martin-Inspired Cataclysm

It happens.

I see no point in running Planet Yahoo! anymore, for reasons probably known — i.e. a few months ago Yahoo!’s decided my services as an engineer (and those of my co-workers) were no longer required.

Sorry if you were one of the few people finding some value in the aggregation of all these Yahoo! blogs into one big feed.

God Gotchas

This is a reblog of a post from my new Ruby-themed tumblelog. I know it’s kind of cheap to repost your own stuff, but who cares.

I’ve spent a couple of hours today pulling my hair out while trying to get one of my background job scripts to work with god, the “easy to configure, easy to extend monitoring framework written in Ruby”.

Well, it took a while to make it work, tho. Yes, god is cool and simple and gets the job done. But there are some things that cost me hours and which I found out only by reading the source code.

So, I just want to quickly jot down some gotchas before I forget them again, running the risk of falling into the same traps again in the future.

  1. My script used the constant LOG to keep my Logger instance. Logging worked fine when I ran the script by itself, yet when god took over, it didn’t anymore. Actually, the script died rather quickly. As there was no logging at all going on, and all STDOUT output was suppressed, I came rather close to losing it. Turns out god itself is declaring a LOG constant of its own, which was done before my script had the chance, so when it attempted to initialize it, it would actually try to re-declare an existing constant, and we all know how well that works. ;)

  2. Once that was done, my script was logging just fine, but it didn’t produce any output whatsoever. Raah! Teeth were gnashed… there was definitely teeth gnashing going on. Even telling “my” Logger (the one inside my script) to write to a file didn’t produce anything. That was a fun hour, really. The reason for this behaviour: god is closing all open file descriptors when it sets up monitoring a script. Which included my script. Awesome! On the upside, it meant I could get rid of the part of my code dealing with different logger behaviours. Meaning less LOC! It doesn’t get any more agile than that, folks.

  3. In case you actually want to capture anything your original script is sending to STDOUT, there’s the not-really-documented God::Watch#log. Set it inside your God.watch block to specify a log file. (See example below.)

  4. If you need to set ENV variables, God::Watch#env is your friend. Accepts a hash with arbitrary key/value pairs. For example, I declare a few God.watch blocks, one for each value of an array (think “worker 1 to 5”), and I use God::Watch#env to pass the current value to the worker script. Works well.

  5. When you do a sudo god stop <watch>, make sure to give it a few moments before running sudo god start <watch> again, or you might end up with orphaned unmonitored scripts running rampant in the background.

  6. Running sudo god log without any further arguments will tell you that “You must specify a Task or Group name”. That’s actually a lie, as it only accepts task names. (A group is a number of related tasks. A task is a single monitoring watch.)

So, yeah.

Don’t get me wrong, please: It might not look like it, but once I had figured it all out, I’ve decided I actually like god. I like the feature set, it’s really easy to set up, and it works. I’m happy it exists.

Se7en Things

Damn, Mookie tagged me. Well, why not.

Seven things weird and/or unknown about me:

  1. When I was 8 years old, I’ve developed an allergy to cats, more or less out of the blue. Which sucked, since I had two female cats at that time, Tina and Nena. (It was the 80s, gimme a break.) We had to give them away, and my room had to be renovated, as I became nearly asthmatic due to the omnipresent cat hair. Interestingly, becoming allergic to something you had no problems with before isn’t all that uncommon. Still, not a nice experience.
  2. I’m one quarter Polish. My granny was from Poland.
  3. I have a drivers license for small tanks. I’ve had the opportunity to participate in the driving school while I was in the Army (90’s), and went with it. :) So, I own a license for “Klasse F (Voll- und Halbkettenfahrzeuge) — F2 (bis 30t)” (up to 30 metric tons). I do not, however, own an actual tank, and quite frankly, I am not even sure whether I am allowed to steer a track-laying vehicle (like a tank) outside of the military now (regulations have changed quite a bit since then).
  4. I had a pet rat when I was 14. My parents hated it. :)
  5. The first computing device that was truly my own was an Atari 800XL. Awww yeah, bitches!
  6. I own not five, but six pairs of original Bavarian Lederhosen in various lengths and styles. About 12 years ago, when I moved to Munich, I valiantly declared that I would never ever dress in Bavarian clothing as it just felt wrong. This, of course, led to me ending up with two pairs at my next birthday, as two circles of friends both had the same idea. Things developed from there. I came to like them, even though I very rarely wear them.
  7. I tend to lie when asked by others to talk about things they might not know about me. A lot, actually.

Bonus!

  1. I once met Justin Timberlake. True story.

I’d like to thank the Academy

I’d like to tag everyone who feels like participating in this crazy new meme. For example Mike or Hendrik, who would both really surprise me would they take this thing and run with it. I doubt it, but you’ll never know. So… It’s a FFA. Find the rules over at Mookie’s place.

2009 — My Grand Experiment

As mentioned earlier, Yahoo! decided to shut down its entire Munich engineering department. So since January 1st, I am officially out of a job.

What a downer… or is it?

After some deliberation and discussions with Dana, I’ve decided to concentrate on the bright side: I have a few ideas for products (read: websites), and now I finally have the time to work on them. I’ve always contemplated building them in my spare time while still being employed, but apart from a few small experiments (which were fun to write but are hardly my personal “next big thing”) that concept didn’t work out so well.

Thus, I’ve decided to concentrate on my own stuff in 2009 — full frontal self-employment. That’s right, I’m an entrepreneur now.1

I plan on spending about half a year to bring my ideas to life, and then taking on freelance jobs later on to bolster the income these site will (hopefully) generate. My ideas are related to gaming, both because it’s something I love and because I am definitely seeing a market there. I think my concept is sound, and I know I can build this …thing. It won’t be easy, but I have no problems working for my money. ;)

I don’t know whether it will work out or not, but I want, nay, need to try. The time certainly is as right as it gets. Actually, one could argue that I’ve waited a bit too long with my idea, since a “contender” appeared on the scene a short time ago.2 But I don’t see this as a showstopper, quite the contrary — it’s good to have competition as it keeps you on your toes. :)

So, 2009: it’s going to be my year. It’s a grand experiment, and while working alone I won’t be alone, as my wonderful wife and my friends are supporting me. Still, I don’t know yet whether I will succeed or if this kind of thing will be working for me. Quite honestly, this makes me a wee bit nervous.

Nonetheless, full steam ahead!

Yes I can.


  1. Actually, officially not yet, as there’s still a bit of paperwork to work through with a small number of different parties, but this won’t have any effect on the decision already made. 

  2. I could say he stole my idea, but that’d be bullshit: I didn’t tell it anyone, and besides — ideas are cheap, they only count when you pursue them. 

Mini Review: 2008

  • I was promoted. Then I lost my job. But I came to a conclusion, and found new goals. (More on this later.)
  • I had planned on running 250km, then hit that goal in October, and ended up doing 400km.
  • My granny passed away, and I miss her.
  • My faith in the USA was partially restored (the Obama campaign and its success even gave me hope, and I don’t even “count”).
  • We’re done with the bulk of the renovating of our 2nd floor. I’ve installed the floor tilings. w00t!
  • I was overly surprised by a videogame — GTA IV. I’ve spent a lot of time on that one. Wonderful adult entertainment.
  • I got me an iPod touch — which turns out to be a good reading device, thanks to both Instapaper Pro and Stanza.
  • I’ve tried to bring Child’s Play to Germany, and failed. Oh well, it was the first round. Better luck in 2009.
  • I’ve launched a few smaller projects — Twitter Twerp Scan, escaloop (which I’ve shut down a few months later) and Random.li.
  • I came to love GitHub. Great site/service.

Verdict

  • A really good year.

Posts

I didn’t write as much as I had planned on doing, but nonetheless, here are a few of my “better” posts (subjective opinion, YMMV).

Have a good 2009.