Apologies if templates, tables etc. went wonky today. I had to do some work on the live blog as I accidentally uploaded the wrong files. I know at least one person was looking at it today so I’m sorry for any inconvenience caused.
Japanese Ratoc Systems Corp. has a new lineup of wireless audio products called the “REX-Link” series, and some of them are even specifically designed to fit your 3/4G iPod or iPod mini.

There are four products in the series—two “receivers” and two “transmitters.” Receivers come in the form of the “CR-RX01” with optical and analog audio outputs or the “REX-WHP1” headphones. For your transmitter, you have two options: the “CR-TXB01” USB transmitter, or “CR-TXB02” USB/analog transmitter (which also attaches to the back of 3/4G/mini iPods). These four products are matched to give three available packages: one with CR-TXB02 analog/USB transmitter and CR-RX01 receiver, one with CR-TBX01 USB transmitter and REX-WHP1 headphones, and one with CR-TXB02 analog/USB transmitter and REX-WHP1 headphones.
Original link from Gizmodo
Creating shim libraries in Linux
Anybody who’s done a bit of device driver development will know that occasionally system logs just don’t provide enough information about the various problems you’ll encounter and you have to hack up a shim library which sits between a problem library and it’s loader/calling module. Linux Journal has a very nice article this month on creating just such a library for libusb. This could be useful for anybody developing an application or driver which needs to communicate with a USB device. Like writing a synch for a PDA, MP3 player or somesuch..
Static substitution (Fowler Style)
Martin Fowler has a neat little article on refactoring class statics using instance variables. Most languages can’t support polymorphism for static methods. e.g.
class A{
public void doInitStuff() { /*do stuff necessary for static init of B objects*/};
} ...
}
class B extends A{
public void doInitStuff() { /*do other stuff necessary for static init of B objects*/};
} ...
}
...
A a = new B();
A.doInitStuff(); /* but I'd quite like to polymorphically call B.doStuff(); Actually, could be trouble! */
Martin’s solution is very elegant.