Back again

(December 22, 2008)

I want to apologize for the lack of posts here. I know that many people want to know the outcome of the Apple thing and the status of the two jeopardized programs. So, to finally break the much too long period of silence, here’s the current status of the projects:

The presentation program is online again under its new name Impressive: http://impressive.sourceforge.net. Currently, there’s only a rebranded 0.10.2 version, but I hope to move forward with a new version in the first quarter of 2009.

The iPod management tool has been renamed to rePear: http://repear.sourceforge.net/. Along with the rename, the brand-new and much improved version 0.4 has been released.

I find it unfortunate and unnecessary that the issue needed to be settled involving layers and lots of money. It would have been easier for both sides (and certainly more civilized) to simply write an e-mail to state the problem. I am willing to co-operate. You can still call your lawyers if I don’t comply, but I don’t see any reason why there should be money involved from the start.

Read more …

CENSORED 0.4.0 Beta Test Started

(April 13, 2008)

After a long, long time I can finally (and proudly) present a nearly finished new version of CENSORED, the iPod management tool. The main highlights in this release are support for some new models (iPod classic and »fat« nano), AAC and (experimental) video support, import of Play Counts and upload to last.fm and a lot of other new features and bugfixes. Though the code is already finished, I can’t publicly release a full version yet because of two reasons: First, the documentation needs to be updated and second, I need an official Client ID from last.fm to legally upload (»scrobble«) play statistics, but the guy who is responsible for those seems to be very busy with other stuff at the moment.

So instead of releasing CENSORED 0.4.0 straight away, I’m doing a non-public beta test now. Users who helped me with the new version or otherwise expressed interest in it have already been invited. If you are also interested and have not received an invitation yet, just send me an e-mail.
Read more …

nVidia driver bug?

(July 8, 2007)

While testing my current work-in-progress demo on my brand-new Vista-powered and GeForce-8-equipped laptop, I noticed some really strange rendering glitches. Since this was the only machine where the bug occured, so I thought it would be some bug in my code that caused incompatibilities with that particular driver version for that particular chip revision or perhaps Vista. However, a friend had the very same problem on a GeForce 7 card, Windows XP and a much older driver than the one I use on my main development PC, which has a nVidia card, too. This meant that the problem needed some serious debugging :)
Read more …

The art of shuffling music

(May 11, 2007)

Everyone knows and loves it: The »shuffle« function that is included in every disc- or memory-based music player. If you don’t feel like chosing your »playlist of the day« when you want to listen to your music, you just turn on the shuffle mode and off you go with the finest collection of all tracks on your CD or MiniDisc or hard disk or flash chip. This feature is so popular that a certain computer manufacturer once successfully introduced a MP3 player that was actually based on the shuffle option.

However, there’s something wrong with virtually every shuffle implementation: It’s random.
I can already hear you saying »He gotta be kidding! Randomness is what shuffling is all about!« Well, you’re right. Mostly. The problem with conventional shuffle algorithms is that they are too random. They lack fairness and uniform distribution.
Read more …

Antenna improvisation

(March 31, 2007)

When I wanted to watch an episode of The A-Team in TV today, I was surprised by a black screen instead of Hannibal Smith and B.A. Baracus. What happened? At first, I thought the TV software couldn’t cope with the graphics driver I updated today to get a specific game working (we’re talking about Windows here, as you might have guessed :). I became skeptical when the same problem happened to another TV viewing program and even the Linux-based external DVB-T tuner box I have. Something has been wrong with my antenna feed.

Long story short, it turned out to be (most likely) a power outage in the attic where the antenna amplifier is located. For reason’s I’m not going to discuss here, there was no way to fix the problem in time, so I had to live without TV for a day – which would not have been a problem, if it hadn’t been for the boxing match between Henry Maske and Virgil Hill tonight. I really wanted to see this, but since there was no way to make the antenna system working again, I resigned. I phoned my father at home to have him record the fight, and while we were at it, he gave some tips on how to temporarily solve the problem. You know, stuff like »use some uninsulated wire«. Since I don’t have any uninsulated wire in my apartment, I tried the other suggestion: Use the antenna cable and put a screwdriver into it (this works because the center of the plug has a little hole in it). To my great surprise, this actually worked! After some experimentation, I found that the optimal position of this »poor man’s antenna« is close to the window. So I fiddled around a bit and hung the weird construction somehow into the window blinds. The whole thing works like a charm and now I can watch Maske’s (supposed) comeback fight in perfect quality even though the antenna feed is broken.

This post’s text is a screenshot

(February 17, 2007)

… from an experimental / example program. Click to read the full text:

(With this much text, it runs with approximately 15 fps on my Athlon64/3000+, GeForce 6800 machine.)

Going retro

(February 1, 2007)

Yesterday and today, I finally did something I was planning to do for a long time: Writing some code for the Sinclair ZX Spectrum, the computer I »used« in my childhood. I was too young to write assembly code back then (but I did write a good share of BASIC), but since I’m becoming more and more interested in old-school computing due to my demoscene experiences, turning back to the beloved machine was the logical thing to do. The 256-byte effect I wrote is nothing special – it’s just four scrolling coloured stripes: The Spectrum logo. But although the effect is simple, I’m quite proud of it. After all, it’s the very first Z80 assembly code I ever wrote!

  • Download the tape file and the source code: stripes.zip (2.9k)
  • If you don’t have a 48K ZX Spectrum, get an emulator! I recommend ZXSpin or EmuZWin for Windows, RealSpectrum for DOS and FUSE for Unix.

Honey, I shrunk the MP3 decoder

(January 28, 2007)

A few months ago, I implemented a minuscule MPEG Audio Layer II decoder. While I still consider this as a cool hack, it’s not of too much use nowadays. Everyone uses MP3 or Vorbis; MPEG Audio Layer II is only used together with MPEG Video (think VCD, SVCD and DVB), but you usually don’t have MP2 audio files on your disk. So the aim was clear: I wanted to have an as-small-as-possible MP3 decoder, too.
Read more …

TD saved the day

(January 17, 2007)

»Now what’s that TD supposed to be«, you may ask. It’s the common abbreviation and executable name for Borland’s Turbo Debugger, an easy-to-use DOS-based debugger that was popular in the early 90’s. Your next question might be, »and why should anyone use that in 2007«? Well, to debug DOS programs, of course. »And who writes DOS programs in 2007«? I do – in this special case, it was a 256-byte intro.
Read more …

The captcha testing post

(October 24, 2006)

Almost no one actually reads my blog, but spammers seem to like it anyway – I get from 10 to 50 spam comments each day. It could be worse, you might say, but nevertheless I grew tired of moderating all these comments and decided to do something about it. So I implemented a captcha – but a special one. The normal »type the text that is contained in this image« class of captchas IMHO is broken by design – either it’s so simple that OCR bots will easily get past it, or it’s hard to implement and even harder to read, so that regular human visitors will have problems recognizing the badly twisted letters. Also, an image-based captcha won’t work for blind people. Audio captchas are even worse, because it requires the user to active Flash or some other dubious plugin or even download a file and listen to it, which may be a problem if there are no speakers connected to the PC or you are in an environment that requires silent operation (e.g. a library). In other words, captchas suck.
This is why I chose another approach: A text captcha. It poses a simple, plain-text English question about basic common knowledge things that should be sufficiently easy to answer. Or, to put it another way: If you are able to read and understand the post and write a comment on it, you are surely able to answer the captcha question, too.
Read more …