misc

timescale

digicorder and recording subsequent programs

Digital television is getting the norm in Belgium, and typically people rent a “digicorder” from the TV provider. This allows you to watch television and also record programs for later consumption.

In practice my family only records a few programs and watch them later. It’s very convenient not to be bound to a specific schedule. (On the other hand it would probably be cheaper to just buy the DVD boxes of the series we like instead of having television at all, but that is another discussion :) ).

In general, the digicorder works fine, I have one big gripe with it though: recording of subsequent programs.

Lets say we’re recording subsequent programs A and B from channel 0. Let’s assume there is some advertisement in between programs. This gives as timescale something like this:

Now, there are three ways the digicorder can record the program, not counting the completely faulty ways when timing goes all wrong.

Both programs want to record a time-slice before and after their program, but this goes wrong in the middle, and only one recording ends up with the middle part.

correct

The correct recording is with the break point in the middle like this:

I presume there are not some kind of markers in between the broad-casted programs on commercial television because it makes their advertisement store even worse.

Therefor, in practice you typically end up with one if these two:

B in recording 1


This is problematic because if you don’t remember not to erase recording 1 after watching program A, the start of program 2 will be lost.

A in recording 2


This is even worse. Lets say you want to watch program B first.

You first have to open recording 1, fast forward all the way to the start of program B, start watching and after a few minutes switch to recording 2. This will also leave recording 1 marked as “watched” even though you didn’t watch program A yet. More confusion!

A simple solution

In the end this is a simple technical problem with an even simpler solution: record the overlap in a separate file and make it part of both recordings. Visual:

If you watch recording 1, you get recording 1 + X. If you watch recording 2, you get X + recording 2.

If you erase recording 1, X stays. Only if both recording 1 and recording 2 are erased, X gets deleted.

More in general there will be X areas both in front and at the end, etc…

Would be nice if the biggest TV provider of Belgium could implement this. If the digicorder was open source I would’ve done this already months ago…
I guess I’ll have to look into some kind of MythTV like setup one day.

arduino-0018, avrdude and usbtiny programmer

For some reason the avrdude binary that is shipped with arduino-0018 has no support for the USBtiny programmer which I use to burn bootloaders on blank AVR atmega328 microcontrollers.
On Debian the workaround is simple: first install avrdude via apt-get/aptidude and then enter the hardware/tools directory in the arduino-0018 dir and replace avrdude by a softlink to /usr/bin/avrdude like this:

$ cd arduino-0018/hardware/tools
$ mv avrdude avrdude.old1
$ ln -s /usr/bin/avrdude .
$ mv avrdude.conf avrdude.conf.old1
$ cp /etc/avrdude.conf .

After this burning a bootloader via the menu in arduino works fine again. A similar approach will probably work on other Linux distributions.

usb tiny isp programmer / user accessible

To make an usbtiny programmer usable directly as user from avrdude or the arduino toolkit, add the following line to a new file in /etc/udev/ :

ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", MODE="0664", GROUP="plugdev"
I created a file called /etc/udev/joost.rules with this line.
Reload udev with /etc/init.d/udev reload

openMSX 0.7.0

A new version of openMSX has been released!

Important new feature is save-states. This gave me the means to finally finish the very first game I bought as a kid: Konami’s Nemesis 2 for the MSX computer.

In these times games were usually hard. Nemesis 2 is even harder.  The only way to play it without save-states is not dying all 15 levels. Given that Nemesis 2 is a shooter this is VERY hard :)


nemesis2_stage_24_2.png

Each one of those red bullets and grey stones is fatal :)

But save-states wasn’t enough. I also enabled “old-people” mode, meaning running the emulator at 75% speed of the original MSX computer.

After more then an hour of hard labour playing using alot of save-states I finally managed to finish the game.

Only 22 years late ;-)

P.S.: I checked with my MSX friends and no-one was able to finish this game without some form of cheating….

ebay / channeladvisor / big sellers

I sometimes buy things on ebay, always went fine. Find item on ebay, pay with paypal, done.

Lately though there is this new trend where large sellers use a sort of third party to manage their sales, like e.g. channeladvisor.com. Not only does this add an extra step to buying it also adds an extra step that can go wrong.

On one auction I get mails from channeladvisor to pay for an item I already payed via paypal, yet didn’t receive.

On another auction I was sent along to a totally confusing german only third party site, causing me to accidentally pick the wrong payment method, which turns out  I can’t use, and I can’t change it, thus I can’t pay.

Don’t bother to send a message to the seller, because for them you’re just collateral damage. One negative feedback on thousands of sales.

I won’t be buying from indirect sellers on ebay anymore…

erlang parse simple config file

In erlang there is a simple way of making config files, just use file:consult/1.
It parses a file that contains erlang terms terminated by a dot.

Given this input file:

{hello, world}.
foo.
42.

It can be used like this:

file:consult("test.txt").
{ok,[{hello,world},foo,42]}

neat eh?

last.fm rocks!

I already wrote a review (also in Dutch) of last.fm some time ago, but I have to praise it again as it works so amazingly well!

I’ve been listening to my Loved Track Radio the last two days and it just makes me so happy listening to one super song after the other.

If you haven’t tried it yet, be sure to give it a try. I’m not a big fan of flash but the flash player on the website works just fine.

wii fit muscle table & combination table

Those of you who have wii fit will know that the game shows which muscles or parts of the body are trained by which exercise. However if your memory is as fine as mine, especially when exercising, this information doesn’t really stick. Same with the suggested combinations of exercises.

In order to make this information readily accessible, I made two tables for your download pleasure:wii_fit.pdf.

neigh_drv

neigh_drv is an Erlang driver for neighbour manipulation (arp cache). You can find it here.

photo blog

I run a photo blog at http://damad.be/joost/photo/. However this blog is being phased out in favor of this central blog. If you’re only interested in my photos, you can subscribe on the photo category on the right by clicking on the RSS image next to it.

Enjoy.