Weird java generics…

Generics are not totally bad but one can write really creepy things:

final FutureTask<Collection<LeitungsachseTK25>[]> ft = new FutureTask<Collection<LeitungsachseTK25>[]>(
    new Callable<Collection<LeitungsachseTK25>[]>() {
        public Collection<LeitungsachseTK25>[] call() throws Exception {

Seems like XML and Java finally married… 😉

| Comments (0) »

07-Feb-08


Apple’s making me sick…

iTunes changing music tagged Soundtrack to Filmmusik, another thread and guess what, i experienced the same feature.

I really like some of the “i take care of your problems stuff” like don’t thinking in mp3 files anymore but in a collection but this is nuts. I choose soundtrack as a genre intentionally and nothing else.

I really do like Apples iTunes but thats way over the top. Why not randomly rename the songs instead? And please nobody tell me i have a problem with id3tags. I tagged every single file with id3tag v2.3 after encoding them with lame, the tags are correct. Bah, i think i’m gonna puke.

| Comments (4) »

04-Feb-08


I care.

Tante did it again and wrote a wity rant agains “CrApple”, read it here.

This post among a lots of other things that i recently experienced with OS X 10.5.x on my MacBook and my PPC iMac lead me to one conclusion: Just try it linux for the desktop once again. The last time i did it was around 2002, 2003… Not a too pleasant experience. In the meantime, thinks have changed, i guess and i myself do have some good knowledge with Debian Linux on multiple servers so why not try to bring this back to my office.

So, welcome my new desktop, which will hopefully be delivered by next week:

Dell Vostro 200

This Dell Vostro 200 comes with Vista Business… I won’t touch this but install a 2nd hardrive and opt for Debian/Lenny. I’m not under any time pressure, so i’ll try to fit the environment to my needs in every detail as possible. I you’re interested, i’ll keep posting about it.

| Comments (22) »

31-Jan-08


A weird hotline call…

Yesterday I had a very strange telephone conversation, but for what its worth, a very kind and pleasant one.

Bloggers in Germany often write about devastating calls to phone, computer or software hotlines. About employees who give a shit about the actual problem. This post isn’t going to be one of them.

I called the Parallels hotline about a funny problem with my account. I really didn’t have such a nice conversation with a helpdesk in a long time. An interested employee who really wanted to help me. Kind of a relief not talking to someone who is randomly bored, not interested, plain stupid or in any other way distracted.

My problem itself is funny on one side and on the other hand a “don’t ever think about implementing a system that way”.

I really had a good password on the Parallels website, with some special chars and one very special char, a german umlaut, namely the “ü”. Never had a problem with this until they did redo their website and the backend. Suddenly i couldn’t log in anymore. Hm, my browser did safe the password, i remembered it correctly so what the hell is wrong? There was the usual “(i’m stupid and) forgot my password link”, so i clicked this and got my password delivered via email. Huh? There a still people saving passwords in plain text? After for example someone stole reddits database with lots of email addresses and plain text passwords? I felt relieve, that i mostly use different passwords on different accounts.

Please, people, the least thing you could do is to hash you passwords, just to prevent a casual hacker to take your users data away. And even a simple md5 hash would prevented my silly problem ahead. Go with sha or sha512 or the best you can do, salt and hash your password, crypt or bcrypt. Their are libraries for every major programming language available to do this, no need to reinvent the wheel.

Why could this saved me and Parallels a lot of problems? A simple md5 hash would have change the “ü” to some arbitrary character which for sure would fit into the ASCII alphabet and an upgrade to their website backend wouldn’t have the data in the user table mutilated. Thanks! I guess I’m the only international customer with German umlauts in his password.

The most funny thing about the conversation was dictating a funny German word to a native American English speaker and hearing her repeating it. She could look up my account and saw the letters… Trying to log in with them wasn’t possible, neither resetting the password… For that, i must be logged in. Haha.

I guess i could be pissed about the need to open a second account, but the conversation was fun. And in the end, Parallels Desktop is a great product and what the heck, someone messed up and they didn’t blame it on me like many German hotlines do. Furthermore, i was really happy, realising that my rusty school English is still not that rusted and that I’m still able to communicate some problems without much hassle.

But going back to the password problem: Please start writing serious authentication code, it’s not that hard. Thank you.

Edit: I must say, the Parallels support really rocks! They did manage to reset my account and they did read my emails the first time i wrote them and did not respond with some standard templates like many others do. I really appreciate this and this post isn’t in any way a rant against Parallels or their support team, but it is ranting against thoughtless database design.

| Comments (4) »

23-Jan-08


Turning off x_send_file in development mode

I just discovered the great x_send_file plugin and technique and use it extensivly for daily fratze. I replaced the majority of send_file calls with x_send_file but not all (the in memory thingies i serve cannot be send through apache). This works great in production mode but in development mode, it fails as there is no apache sitting in front the mongrels. Therefore i added the following to my $app_home/config/environments/development.rb:

class ActionController::Base
  def x_send_file(path, options = {})
    send_file(path, options)
  end
end

So all calls to x_send_file in dev mode are delegated to the original send_file.

If anyone can present me a cleaner solution, i.e. with method aliasing, feel free to drop a comment.

| Comments (1) »

23-Jan-08