Let's drop a tear

Due to rights and licensing issues, in most countries a piece of music named "House End Credits" is used,...
Wikipedia on House (TV series). So the song Teardrop by Massive Attack only appears in english versions of the series.

You wouldn't expect that the music industry's shitwalk in the recent years would affect your day-to-day life. Well as I just recognized, it does. I hated the change of the title theme of my currently favorite TV series and wished Teardrop back.

Unbelievably they have been able to fuck up even that. At least I can smile about their loss during the christmas sale on Amazon as some kind of revenge.
Read more!


Microsoft Wireless keyboards hacked

Microsoft's Wireless Optical Desktop 1000 and 2000 products (probably more) are affected.
Read more!



I think I haven't been writing about Synergy, but as it is an essential tool for me, I want to introduce it to you too. No I don't mean the buzzword thing, I'm speaking of:

Synergy Keyboard and Mouse Sharing

Open source and cross-platform software (Windows,Linux,Mac), for cases where you have multiple screens on your desk. You can configure Synergy, to move onto the other PC, when you move the mouse over the left/right end of your main computer. And then directs Mouse and Keyboard input to the other PC!

So my setup here is basically a Laptop and a desktop PC, where I'm using the desktops keyboard and mouse to work on both of them and thus expanding my work area.

It's a good replacement for other remote softare, when you have the "remote" PC's screen on your desk anyways.

However, it's missing a maintainer to eliminate the existing minor bugs and port it to Vista the proper way, searching for a project? Give it a try, it has got very well structured C++ source and architecture as far as I can tell from the first glances.
Read more!


What if the music industry...

okay, I think this will be the first one from a series of posts, so let's get started.

For those series, we pretend the music industry is already dead (this might become true while the series is running, so at that point, you may ignore this premise).


What if the music industry... would have done youtube?
Especially for music videos and perhaps with an option to buy music titles/albums right from the place.

Looks to me, like that would have been a good deal for the transition to the digital age and might even have resulted in higher profits.

However, that has not happened. And instead of reacting to youtube in a senseful manner, with respect to licensing and so on - they are suing the digital media companies, instead of making deals with them! Thats like hating cars and suing everybody to ride on horses again!
Read more!

'Harder Better Faster Stronger'

Amazing "choreography"!

Read more!


Tired of SSH passwording?

This article goes into the details of how to get rid of password entering. For me it actually works even without the last step: -i $HOME/.ssh/id_dsa.

Thanks to Rudi for the tip!
Read more!


C++ 0x talk by Bjarne Stroustrup

Just found that very recent (couldn't deduce the date) great video recording of Bjarne Stroustrup giving a talk at the Texas A&M University.

The topic is the new C++0x standard scheduled for 2009, but some general topics are also addressed during Q&A's.

Like Peteris Krumins, I also stopped everything I was currently working on for that 90 minute video. It's very interesting and if you are into C++, this is a must-see. It's worth the time!

C++ might lack the framework of Java & C# and have some problems with it's reminiscence of C, but it is still my favorite language, as the parts of the language integrate together most nicely with true generic templates. Let me quote Mr. Stroustrup's side blow on some other languages:

If you write vector<int>, you really get a vector of ints, not a reference to a vector containing references to ints.

Read more!

Visual Studio 2008 & .NET 3.5 is out

Microsoft recently released Visual Studio 2008 and the fitting .NET Framework 3.5. Included is now full support for LINQ. On the way to LINQ, Anders Hejlsberg discovered the language concepts in Lambda Expressions to implement that feature and thus they are also included in this release.

See Microsoft Channel9 Video blogs on that topic with Anders for details.

I am quite sure, that this release of functional languages programming features into a mainstream imperative language will have a big impact on the way software is developed. Also on other languages : Java is discussing Closures - a Lambda Expressions related concept - probably available in Java 7.

Thus I'm looking forward to future developments in that sector.
Read more!


24C3 Fahrplan

Chaos Communication Congress #24 coming up. The Fahrplan has just been announced!
Read more!

...media companies piss all over each other’s feet.

said Trent Reznor on NiN homepage on Monday, commenting the legal cases Music Industry vs. Youtube and Co. As a side-effect of those, he can't work with his fans the way he wants. (Read his article for details)

It feels right and good to see the bands and artists stepping into their role as the authors of the music during this critical digital shift that is ongoing. They begin to realize what the music industry does ("for them?") right now: Fight the already lost battle against the digital revolution and suing customers.

So if customers think digital music is a good thing and the bands thinks its a good thing, there will be a solution for the compensation problem.

What is left are the dinosaurs in the middle, that uselessly wait for their meteorite to extinct them.
Read more!


Grub error 17

Interestingly 0x17=23 hehe, but let's leave that aside.

Got abovementioned error even before the boot menu showed up, so I was again really locked out from my Windows Vista and my Debian. And slowly I began to remember last night, I tried to install some new game on Vista, but disk space was too low and the installer had some bug not letting me install the software on any other drive than C.

Looking back, the decision I took, using the Windows built-in partition manager to purge the second partition (unused encrypted) and merge it into Windows' C partition, seems horribly dangerous , but well, let's say I had some wine :)

Well, that merging worked great on first sight, unbelievable! I played some time and shut down the PC. To have a bad awakening today...

Well after the general first confusion I reinstalled grub and I got at least to the boot menu. Still outstanding was to generate a new initramfs, and change all partition relevant settings, because now I had one partition less before my boot and root.

Perhaps I should be more cautious about new games :) See my solution blog for the technical details.
Read more!


Effective Java Reloaded

My book shelf includes Joshua Bloch's Effective Java and today I came across the presentation slides of a talk he gave, continuing the series of Java tips. This time with Java 5 and Generics.

Interesting read if you are into Java 5+
Read more!


eTesting, no thanks

Moodle is an eLearning system thats in use at the JK University in Linz, where I study. So far theres nothing special to that, Document and Link distribution, a classroom concept, personalized logins, Student/Teacher distinction etc. Everything you would except.

Furthermore it provides a functionality for performing online tests. You have a time frame for taking the test, eg one day. And for each test a limited time, eg 5 minutes. I attend a course, where this functionality is used.

Last Friday I've taken the first online test for that course and if I recall correctly, this has been my first eTest ever that had some relevance. I had some sickish feelings then with my non-standard Setup: Debian and Firefox; and was afraid, that simply the system, firefox or something else would crash during the test. Would the entering of diacritics work, what if the PC was syncing with the time server during the test and the counting was not server-based (though very unlikely).

So much could go wrong and my standpoint of: My PC crashed or I was fighting with my keyboard layout because I unfortunately pressed the wrong key sequence, etc.. would not be an easy one to argue / hold.

Summing up my experience, it kind of reminded me of eVoting: The whole system is too complex that anyone can rely on it for nontrivial issues. I would prefer a 'Viva Voce' over this eTesting. Thus I hope that idea doesn't go mainstream.

A last comment: I think eLearning is a good and great thing to have, it's only eTesting that I dislike.
Read more!


ACM Digital Library

The Association for computing machinery - an old lady in the field of computer science.

It has a vast Digital Library which I have access to through Student/University licenses and contains many valuable papers and covers many interesting topics.

But its not free, actually as a non-student you have to pay 200 Dollars per year (Membership plus access). So, where's the "Free the ACM library" movement? Let's pretend it is right here, I support it. Personally I think, it would be a great value to everybody to have it available as free resource.

Of course somebody has to finance the review system and so on, but perhaps there is a solution to that? Wikipedia works too!

Anyways, its a great library, that I can confirm, could be worth its 200 dollars for a software company and like.
Read more!


Bash tips

Just came across that very nice article of Bash tips, for instance use cd - to change the directory to the just previous one. Or Control-u to cut the text left of the cursor (in addition to the standard Control-k to cut right of the cursor).

Also check the long list of comments on the article, that too contain various nice tips.
Read more!


Privacy and terrorism

It has been a long time since someone expressed my very exact feelings about a topic:

Heise's report on Germany's Green's party congress
Read more!

ramdisks and update-grub

aptitude full-upgrade and good morning Kernel panic: Can't open root device!

Thats how you find out, that update-grub seems to be run after an safe-upgrade and full-upgrade.

Anyways, I created the current initrd manually and named it "initramfs-version-...", thus as after the full-upgrade that I performed, update-grub was run, it only created initrd entries in grub's menu.lst for those ramdisk files that were named "initrd-version-..."

Thus it didn' create such an entry for my current kernel and the system panicked on boot. Gladly, that one was quickly fixed.
Read more!

Encrypted root and more

On my desktop system I decided to try out the cryptographic root options when installing debian.

The Debian installer even has gui support for that setup, so I went and created an uncrypted /boot partition with some 100 MB for the kernels, initrd's and so on. Next step was to create the biggest part of the hard disk as an encrypted partition. In that partition I setup an LVM volume group with swap and the root.

This all goes nicely with the installer and on my Core2 Duo System runs smoothly, doing the encryption transparently. I didn't yet recognize any performance difference (using AES-256), but I still have to run some games or apps that require more CPU power.

So during startup I enter the decryption password to unlock the partition and then continue with a secured system. Another interesting feature would be to put the password onto an USB stick and during bootup read it from there.
Read more!


The end

(hopefully) of my Motherboard catastrophy series.

Thanks to the accompanying link, I tried the acpi=off kernel parameter while having the SATA drive connected to the ICH8 with already installed Vista. Now the drive is successfully detected and this error, that I had previously is gone:

ata3.00: qc timeout (cmd exec 0xec)
ata3.00: failed to IDENTIFY (I/O Error, err_mask=0x4)

Though I do not understand what the link between ACPI und the SATA (driver?) is..
Read more!


Vista vs Vista

...or '1 new reason why the command prompt is superior to the Windows Explorer'.

I created a backup some months ago on a DVD without finalizing it and now wanted to get some files from the disc. Yet clicking on the drive in the Windows Explorer yields a 'Prepare the blank disc' dialog followed with a 'Do you really want to erase all the data on the disc?'.

So there was absolutely no way to access to data on the DVD without erasing it??!?? (Or marking them erased through adding another session during some burning session).

But, there still is some way! Open the command prompt and browse the files without any burning dialog hassle.

.. Ahhh wonderful Vista world, takes you into history.. enjoy the Wow effect - of the the command prompt..
Read more!


DNS-Response of the week

req: www.wolfgang-schaeuble.de

(been so 4 days long)

for transparency of governments and not of the citizens.
Read more!


Zitat der Woche

"Manchmal fehlt dem Schäuble ein Schräuble."

Und das Rennen um den gläsernen Bürger geht weiter. Die CDU liegt ganz weit vorn und die Ziellinie ist schon in Sichtweite.

Um die Stasi-Wiedereinsetzungsversuche zu erschweren und seine eigene Privatsphäre zu schützen empfehlen Arzt und Apotheker Linux, gnuPG, OpenVPN und Truecrypt sowie OpenSource Software auf breiter Basis.
Read more!



Europe's annual hacker gathering the Chaos Communication Congress is starting preparations. Looking forward to it again.

Nice people, nice place, nice Berlin.

Thats the place to be if you want to see a really big Silvester Party or more technically speaking for the congress, get the another view on the news in the media and sensible issues on computer security.

Volldampf voraus!
Read more!

To see or not to see

Encoding and internationalization are weird and fucked up things, thats generally how I recognize it. (How else could a L"C++" _T("developer") (wchar_t*)"think" about swprintf("those") things?)

However today I came across a problem in the web context and found, that one shouldn't really trust anything he sees, or at least know what he is really looking at and what will not be shown to him.

What I mean is 0xEF BB BF, the UTF-8 Byte order mark sequence with which UTF-8 encoded files may be prefixed (byte-array-wise speaking).

Notepad filters them, as they are encoding and so I found a new reason for using a hex editor.
Read more!


Some more paranoia

googlonymous.com has an interesting CNBC report embedded. I was aware of the printers serial number on every printed page, but there is too:

  • Cameras serial number embedded in a digital photo
  • GPS in rental cars

The site also offers an anonymous google-search as the name my suggest. That as a counter-measure against googles data mining.
Read more!



Das heutige featured picture der Wikipedia zeigt eine Szene aus dem Irak-Krieg. Eine Waffe wird gen Feind gerichtet.

Augenblicklich hat mich dieses Bild gestört, ich wollte das Edit-Verbrechen begehen, natürlich aber im Bewusstsein dass Wikipedia gut genug geschützt ist. Nun starrt mir dieses Bild auf der Hauptseite entgegen. Wie ein Götzenbild, als Propanda. Ein Ausdruck der Zustimmung. Zustimmung zu einer Invasion deren Begründung schon lange im Sand verlaufen ist. Zustimmung zur illegalen Besetzung eines ganzen Landes, der Unterdrückung von Menschen.

Kriege müssen dokumentiert werden. Und die meisten Bilder von Kriegen spiegeln das Gefühl des Fotografen in Bezug auf den Krieg wieder - oft Ablehnung, ohne Worte - für sich selbst sprechend. Bei mir lösen sie meist ein Gefühl der Schuld aus. Das Bewusstsein, dass Menschen auf andere Menschen losgehen, einen Initiativschlag gegen ein Volk. Legalisiert durch Lügen. Und ich sitze hier und tue nichts...
Read more!


Did it!

Finally managed to setup OpenVPN like I had it in mind.

The two problems that I wanted to solve were:

  • Locked in a coorporate environment through a proxy only able to access http(s) resources, but of course in need for ftp, irc, skype, etc
  • Secure Dialup to the home network for access to the whole network

Both issues are now solved wonderfully through 2 OpenVPN configs automatically instantiated by the OpenVPN init.d script, listening firstly on tcp:443 (https) for the nasty coorporate lock-ins and an udp:1194 (ovpn) for some better performance through UDP and access to the network.

Wonderful to see that working, finally.

How about your traffic?
Read more!


Mainboard trouble again

Here comes my mainboard again. Again its been very annoying, this time during the Debian installation. I still have the same hardware setup as here.

Problem was first that the "Debian Etch" installer won't detect the SATA hard drive connected to the ICH8 controller on my Abit AB9 motherboard. After connecting the drive to a SATA port of the JMicron 363 that was working (but killed the Windows Vista installer with 'Please insert installation disc 1').

Weird thing was after installing the whole system, it won't boot anymore! First I thought it was some more driver trouble like I had with Windows XP.

Errors during booting were:

SATA link down
Softreset failed
Waiting for root file system

Obviously the kernel couldn't mount the root file system due to some reason.

After some tests with boot parameters I came across the root file system parameter to the kernel and here was the problem, it was configured to boot from /dev/sdb1 but I knew the drive was at /dev/sda1. So either the installer messed up Grub's config or the controller magically switched some ports..

Anyways, Windows Vista didn't like my current setup, so it went off the boat, byebye. Welcome Debian to my Desktop!
Read more!


What's your status?

Hello Windows User!

New poll: What do you think about the German "Bundestrojaner" project, targeting instant 'behind the scenes' surveillance of ALL your computer activities?

Okay, no need for a poll. You can derive the message that I am trying to submit to you on your own:

There are laws in Germany, that legalize your complete informational surveillance without your notice or your knowledge:

Every website that you visit, every email that you write, every message you send to your Skype, ICQ or somewhat contact (yes, no problem to intercept the message at your computer, even if Skype tells you 'encrypted' connection, or your online banking says secure connection - argumentation: local keylogger software), every document you read, perhaps everything that you say - all new notebooks have microphones included - completely software-controllable...

So, let's imagine thats the situation (takes not much until the law is passed, read the news: Heise ).

Furthermore imagine your name is Microsoft (or-every-other-closed-source-software-vendor) and your choice is to implement that possibility for the German executive or to give up that high-tech market of those 80 million people..

Hello user, my name is Franz Poolice, I am just watching your family's photo collection (Joe's 6th birthday party), yes that one on your C drive.

Don't let it come that far, make the choice, install Ubuntu or any open-source operating system that you can handle!
Read more!


Fuck DCMA, for freedom of information!

Just my 2 cents in the current issue against the AACS content protection system. This is the key to decrypt the media:


Digg.com revolt

Content industry, nobody needs you, change for this century or go down.
Read more!


Closures in Java7?

Neal Gafter gave a talk in december which can be watched online about closures that might be introduced into Java 7. There is a website on that topic too, that contains the current specification draft of Java closures. Note that the presentation takes some time, but I think is worth watching.

As far as I understood it, closures are lambda expressions that are already bound to an environment (an enclosing block, parameters etc.). See Wikipedia for details.

What I am interested in is, whether they were inspired by the C# 3.0 specification or got on that road separately. Looking at both specifications, there is a syntax difference as far as I see; so what would be more important to me, is to have a cross-language syntax.

Both languages need that feature badly, much due to the absence of the RAII pattern from C++, thats no more possible because of the non-deterministic finalization of objects. Actually closures would expand possibilities beyond that. Love to see it coming!
Read more!


Obituary for John Warner Backus

John W. Backus, father of FORTRAN, the first high-level programming language as well as co-creator of the BNF notation for grammar died on Saturday 2007-03-17 at the age of 82.

Rest in peace and thanks for all the fish.

NY Times has a good article honoring him, that gives you the best overview. Also see Wikipedia and Heise on his 80th birthday.
Read more!


Contract-based programming

Today I came across Larry Osterman's blog, who has an interesting series on this topic.

This is one direction where programming languages should make a step forward, adding better support for that paradigm, especially moving implicit contract properties and runtime checks like valid-value-ranges, into the language syntax. A recent example of that are Java Enumerators, which can be used to force the programmer to use one out of the valid given 'constant' objects, but restrict creation of new ones, thus enabling the programmer to narrow down the parameters to a given method to those that the method is really supposed to work on.
Read more!


Sometimes you ask yourself if you have chosen the right way in life to go, the right direction to take..

Happened to me again, when I saw this picture, reminds me that theres more in life than zero and one:

Read more!


JMicron trouble

The last two days I've been spending most of my time facing the trouble I had with my DVD drive: DVD movies were lagging and data rate was at the bottom as wells as 100% cpu load during operation of the drive.

The relevant setup includes:
- Pioneer DVD-111R (IDE)
- Intel P965 / ICH8 Chipset and a
- JMicron JMB363 SATA/RAID/IDE controller
- ABIT AB9 motherboard
- Windows XP SP2

The problem was that the IDE DVD drive was operating in PIO mode and not in the preferable DMA mode, that won't bother the processor with data transfer. You can determine the state of an drive by checking the IDE channel its attached to in the windows device manager.

Changing the mode manually as well as through the registry did not work. I tried reinstalling the drive, channel and the controller. No success, so I ran a firmware update onto the DVD drive and tried another cable. Continuing to an bios update, still nothing changed. Switching again to some web research I found, that the JMicron controller caused similar problems for other guys. So I grabbed the firmware for that thing and started to hassle into that direction. The upgrade still showed no success so I tried variant modes that were adjustable in the BIOS together with the new driver.

The thing that finally did it was installing the drivers in the RAID mode of the controller, then switching it back to IDE mode. The switching back caused an reinstallation of the drivers, which it performed automatically. The strange thing was, that the IDE DVD drive now runs as SCSI drive (!!) and the as IDE configured controller shows up as SCSI controller.

That was the worst driver hassle I've had in the last years, so perhaps you should think twice about buying a mainboard with the JMicron controller.
Read more!


The Next Generation

...of imperative programming languages is my name for the rough category of languages like C# and Java supporting rapid application development through framework libraries as well as an intermediate code layer.

The ongoing battle is an interesting one and I personally can't wait to find a reason to do professional work with the upcoming C# 3.0 or Java 6. You too might want to have a look on the proposed changes to the C# language (Click the post title).

They are integrating lambda expressions and other nice stuff like LINQ - find media on those topics on channel9.
Read more!

Control flow

Recently I've been reading some articles about control flow and programming language theory in general, which I'm getting more and more interested and I am sharing one issue with you that got me into this.

Maybe you also encountered a situation like this in your programming language:

( dataLeft )


Notice the code duplication of the readSomeFile statement. Dirty solutions to this look like:
while( readSomeFile, dataLeft )


This works in C++ if readSomeFile is an expression, fails obviously for multiple statements. A Cleaner solution is:
while( true )

( !dataLeft )
A structure like this is named loop with test in the middle and was proposed as integrated control flow statement for programming languages some 30 years ago by Ole-Johan Dahl and integrated in Ada.
Donald Knuth also discussed statements of that kind in his publication contributing to the goto discussion back then. He also elaborated that one syntactic statement could cover the do-while, while-do, loop-with-middle-test and the endless-loop cases probably improving writability and readability of programs. I wonder why this had not become mainstream since then, but programming languages are still evolving...
Read more!