Got a Mac

September 30th, 2015

I now have a Macbook Pro.

So far I like it, the keyboard is very good, though the different placement of the @ is giving me a hard time

If I have some complains about the keyboard: The fn key is more in the way than useful. I wish I could switch fn and cmd so that copy&paste wouldn’t be such a gymnastic exercise if you want to do it single handed.

I already did some configuration changes, namely the default settings for the function keys so that coding in Eclipse is less a pain and the tap click on the pad - I find the click resistance too hard.

Software-wise I tried Textmate, but I ended up with Brackets which is more adapted to my needs.

Only reason I got the Mac was Xcode. This is a downer. After Idea, Eclipse or Visual Studio it feels old. Very easy to make mistake that are hard to reverse. Simplest example: Duplicate a target. It also duplicates the Schema but name change to the Target don’t propagate and then it is very difficult to find the right Scheme after creating several targets.

Naming is a strange beast anyway: Sometimes you can double click a name to edit it, sometimes you have to hit enter - very consistent, isn’t it?

Dictionaries - brilliant. Add an entry by + on a line, OK not really what I’d prefer, but it works. Change the type of the entry to Dictionary, fine. How to add an entry to the new Dictionary? Right, you have to expand the empty Dictionary and click the same + to add an entry.

My Logitech mouse works fine now after I installed the Logitech Control Center, strange experience after Windows automatically supporting the same device without any installation.

More to come…  


Scala - end of an era

March 7th, 2014

I use Scala since 2006 - almost 8 years now. It was a bumpy ride in the beginning, but I had a lot of success with it, but now it seems that I ended up in swamp.

The IDE story with Scala was always difficult. It kind of worked somehow, but mixed compilation wasn’t ever anything for the faint of heart. This works now -SOMETIMES. Sometimes is the worst thing you can have in a professional environment. When you commit code that falls apart on a clean build for example. Or it builds fine clean, but shows unpredictable errors on other machines doing a refresh.

This wastes so much time that almost all productivity gains are lost. Add now terribly slow compiles, almost sure forced restarts after the most innocent fixes (unless the compiler doesn’t insert them into the running machine so that you fix them “twice” before realizing the fix is not executed ever) and the balance sheet becomes red.  

Try to find call sites - negative - 90% of the callers aren’t found. No wonder that there isn’t any refactoring worth mentioning. Coding Scala feels like coding C in vi in the early 90’s. Yes, I am old enough to tell.  Inspecting a variable in the debugger? Only in the variable view (oh, you are in a case - sorry, no variable bound). Inspecting an expression (the thing SOOO great with functional languages) - sorry, we don’t have that. I debug mostly with println now.  Early 90’s

While I was writing this, the Scala IDE processes the save of a single .scala file (1100 lines) and the “Building Workspace…” dropped from 73% (after staying there for 10 min) to 70%. No one laughs about Windows progress bars anymore. Needless to say that 100% is followed by 0% just one minute later.

So what is the problem?

One of the compiler hackers, Paul Phillips  gave some insights from the technical side

I think the problem is more rooted in the concept. Scala needs to know a lot of source code to infer types and verify that the types are consistent. In the end the time to compile will go with the complexity of the code. Note that this is not linear with the code-size, it might be easily worse. My experience is that it is at least a higher degree of polynomial: 1000 lines -fine, 10kloc - OK , 50kloc - wait, 8Mloc - write a long blog post.

It can be fast, Haskell is a living proof, but Scala aimed too high. Scala has classes and inheritance. I feel inheritance is a questionable feature that is inherited (unintended pun)  from the JVM. But Java and thus the JVM have a very “generic” type system. Now Scala comes with higher kinded types and whatever while the Java libraries always accept “Object”. This creates a constant mismatch between what Scala thinks a type is (or should be) and what the JVM can cope with. To compensate this, the Scala compiler needs to see through the code and this takes time … and more time.

And even more.

So where to go?

Clojure? Go? Dart?

All three are capable languages, but with the exception of Clojure they don’t integrate with Java code. Mlocs of Java are the reality. It is delusional to  write today a large system without reference to Java code (Googlers, I envy you, but you are not the norm). The typical systems today are huge Java codebases and are maintained incrementally. A one-shot migration is out of question. There are normally only incomplete auto-tests, so you have to migrate step by step to get feedback. And you have to apply them quickly: You can’t refactor for 12 months and then integrate. Real systems are a moving target, otherwise the migration is not worth the effort.

Clojure is a great language. My experience with it was mixed: Great coding (small scale), but when showing this to coworkers: WTF!

The main problem is the syntax. A bit more of “C” syntax wouldn’t hurt. I think the success of JavaScript is largely due to its simple C-style syntax that is in some weird sense “clear”. DSLs are the anti-thesis of this.

DSLs are a good indicator. Almost all good uses of them - as far as I have seen - is  to implement a kind of a meta-object protocol.

Good old CLOS… give me a better syntax and I’ll be all yours (as long as you run on the JVM) 


Windows Blue - wait until it gets dark

March 29th, 2013

The pundits on zdnet are flooding us with “news” on Windows Blue to no end - Microsoft’s marketing department is doing overtime buying hope for disappointed Windows 8 users.

Wait until dark, dark as where MS should put anything related to Metro into.

I have used professionally anything from Win 3.1, 95, Me, NT, 2000, XP and Vista and was happy with it (err, please exclude Me). I forgave it to not offer a shell like bash/csh/tcsh because they all did a wonderful job to what the have been designed for and what the user expected… (To give credit to Win 7: good friends assured me that it is indeed the logical step to go from XP via Vista with keeping only the best of them)

Windows 8 might do what it is designed for, but fails on the user expectation. I have a Nokia 920 and I keep it ONLY because the camera is so good. The OS is (almost) unbearable. If I was a phone “power-user” it would have been sent back to Amazon immediately. Usability is unspeakable - I use it in parallel a HTC Sensation and I catch myself using this older phone (smaller, inferior screen) instead of my shiny new 920: Because every single piece of software sucks. I haven’t found a single app for WP 8 that comes even close to the Android equivalent. Anyway, the camera on this phone is really good, so good that I even forgive the blind monkey who programmed its software, which subtracts 10 points of the possible quality of the hardware. 

I use a Nikon D800e as my principal imaging device - if the firmware was that bad as in the 920 I would exchange it with a D90 without compensation without any hesitation. This is how bad it is. Don’t tell me Nokia sucks, MS bought themselves into it, my N8 beats this “software” by a mile

Back to “real Windows 8″

I know, I suck at UI design. I know because I recognize poor design when I look at mine, but from MS I expected better. If everything is such a FU like I produce, why buying an OS? First in W8 is Metro.

After you found a way to show a desktop. Finally your 27″ screen makes sense …. until you open Skype. The preinstalled Skype switches to the Metro app, you have to be almost an detective to find the download to the desktop app - I really spend hours to explain it to engineers who got trapped on the skype site. 

Why you need Skype on the desktop?  For example to talk with a workmate about a pdf you both have just received - f?#k pdfs also open as a Metro app, so uninstall this as well and replace it with the normal Adobe Reader (I am wondering if installing the full Adobe suite will do this automatically or if each “final preview” will throw you back to the tiles). Two nowdays essential apps “fubar” - in literal sense. 

It might be that many users are fine with this, but please Microsoft: If this is the case, please rethink your version policy: Make W8RT for tablets that nobody will use after seeing an iPad/Nexus device (sales ~ 0). Make a Win 8 classic edition (sales unknown, ask marketing to get wrong estimates) and a Win8 XP edition for those how actually use a computer and know what it is good for (sales >>> OSX).

Currently Microsft only offers the first two choices, thus I have to get a Mac (Lightroom doesn’t run on Linux…) when my 4 year old Vista machine goes south - I will pay happily $1000 for overpriced Apple hardware before I will spend $0 on using Win 8 on a machine I pay for.

OK, this is a rant, a rant of someone who directly accounted for 5-digit direct sales for MS and 6-digits indirect sales. Correct that, some of the organizations I had in mind already switched to Linux, I can’t go there, I am (still) a faithful Adobe customer (Adobe, how long do you thing I will go through the pain of using 2nd or 3rd rate OSes?)

PS: Solaris Rules! (no irony)  


Jumbo Frames and Internet access

July 7th, 2012

I recently added a Synology 411 NAS to my gear. Running in RAID 5 to have a good compromise between data safety and speed.

As easy as it is to set up such a NAS, to get it work in simple home network with full performance is less trivial.

My internet access is via a Netgear modem/switch. Sleak device that works perfectly with my 100Mbit fiber connection (thanks numericable).

Problem: Such switches are 100MB only, so the NAS attached via this switch tops out at 10Mbyte/sec - disappointing.

Solution: Get a Gigabit switch. I opted for a Netgear GS 605 which supports 9K Jumbo frames. So I cabled the modem, the NAS and my computer to the switch. Then I activated Jumbo frames 9k on my network card and on the NAS. Much better speed, around 35MByte/sec.

Not the end of the story: With these settings I wasn’t able to connect to facebook anymore, all browsers timed out. Facebook doesn’t like big frames. So to access FB I would have to deactivate Jumbo Frames again… Jumbo Frames might also impair performance of VoIP, etc. - the normal internet connection is set for MTUs of 1500 or even lower.

Solution: Get a second network card. If your computer already has a Gigabit Ethernet which supports 9K Jumbo Frames, get the cheapest you can find. The new card will become the internet gateway.

After installing the new card, connectit directly to the modem/router. This is important, because it will then run in 100MB mode. This will make Windows prefer the 1GB card if it can resolve a peer via that connection.

With this connection I got over 65MByte/sec from the NAS - good.

Last tuning step: Make sure that the GB connection will not be used for internet connections: Go the properties of the GB connection and select the IPv4 compenent and open its properties. Select using a fixed IP and enter an address like and no default gateway. 201 is outside the DHCP range I configured in my router.

Now everything works as expected, hope this is helpful for you

Getting more views on Flickr

January 24th, 2011

Not serious, but there seems to be a bug in the view count which can be exploited:

  1. Go to Google translate 
  2. Set source language to the language you use on a photo page on Flickr
  3. Set target language to something different
  4. Paste the URL of your photo page in the into the input field
  5. Clicke Translate
  6. Click refresh as many times you want - each click seems to be counted as two views

I discovered this in my stats where a completely boring shot appeared with 30+ views

I haven’t looked very closely, but if anyone know how to report this to flickr, please let me know.

Kelly’s 14 Rules are Agile

December 6th, 2009

This is an old one (rooted in the 40ies) Kelly’s 14 Rules

Well in a nutshell, there are The Agilists (and as they are very smart people they already noticed themselves)

Anyway, I came across these rules by some pointless surfing and was struck by the resemblance and the difference to what I know about Agile. So I began dissecting them in my mind and to help myself putting some order into it - and to share it with you - I am writing something down

Read the rest of this entry »

Windows 7 ohne Browser - back to the ’80s

June 14th, 2009

Oh je - ein Betriebssystem ohne Browser.

Es ist nicht Microsofts böser Wille, was hätten sie den tun sollen ALLE Browser mitliefern oder über ein Bootstrap-Menü anbieten - schwer möglich, da sie mit Sicherheit irgendeinen Exoten vergessen würden und die anderen über den Listenplatz prozessieren würden wie Politiker vor einer Wahl.

Ah, ein randomisiertes Menü - natürlich nicht mit gewichteten Wahrscheinlichkeiten (Browser mit hohem Marktanteil werden tendeziell nach vorne gestellt), weil das ja  bestehende Verhältnisse befördern würde.

Ich  mache mir allerdings wirklich Sorgen über den Präzedenzfall, denn dieses Verfahren schafft. Windows 8 dann ohne “Explorer”, damit “Norton Commander” wieder mehr Kunden findet? Keine Firewall mehr, sodass die vage Hoffnung der User kaufe eine andere die Ausbreitung von Trojanern fördert?

Read the rest of this entry »

Great JVM news

April 8th, 2009

 The Google AppEngine opens up for Java. Python is a great language, but still a nice-language (compared to Java). A light-weight alternative to host Jav-applications in the cloud.

What some might have guessed is now official?: Twitter is doing its heavy lifting with Scala We don’t have to feel bad anymore to do write statically typed code:-)

Geld verdienen mit P2P, Dank an IPRED und HADOPI

April 4th, 2009

Wieviel Millionen MP3s und Filme “getauscht” werden ist unerheblich, man kann auch darüber streiten, ob kostenlose Downloads gar den Konsum von Bezahlmedien stimulieren.

Dennoch, Regierungen - wohl auch unter dem Druck der Lobbiesten der Medienindustrie versuchen Gesetze wie IPRED und Hadopi zu installieren, die in ihren Auswirkungen auf die Meinungs- und Informationsfreiheit mehr als fragwürdig sind.

Hadopi geht noch etwas weiter als IPRED: Wer dreimal beim downloaden erwischt wird bekommt eine Internetsperre (Hausarrest). Dabei gilt die Verfolgung der IP-Adresse, also ist jeder für die Sicherung seines WiFi-Routers verantwortlich, oder er akzeptiert eine Schnüffelprogramm der französischen Regierung zu installieren! Das Gesetz heisst übrigens “Gesetz zum Schutz des Internets und der Kreativität” und pikanterweise wird die Überwachung privaten Organisation der Medienindustrie überlassen. Niemand hat das Recht zu erfahren welche Daten an diese Organisationen übermittelt werden und aufgrund welchen “illegalen Aktes” eine Sperre ausgesprochen wird.

Fairerweise muss man sagen, dass das Gesetz auch gewisse Verpflichtungen für die Medienindustrie im Bezug auf digitale Veröffentlichungen beinhaltet (DVD in 4 Monaten nach Filmstart, etc.), allerdings ohne Sanktionen zu definieren…

Nun werden viele nicht davon ab lassen wollen ihre amerikanischen Soaps im Original sehen zu wollen ohne auf die grauslich synchronisierte (ich lebe in Frankreich) Fernsehausstrahlungen zu warten (isch habe gar keine Fernseher, Madame) oder gar 70€ für ein paar DVDs zu bezahlen die ein Jahr später erscheint. Desweiteren mag man sich kaum noch im Internet bewegen, wenn man nicht weiss wer alles mitliest.

Die Macher von PirateBay haben daher IPREDator ersonnen, ein VPN-service der es unmöglich macht einen Download einer realen IP zuzuordnen. Verfolgende Behörden/Organisationen können dann nur noch mit einem blossem Verdacht eine Hausdurchsuchung mit Beschlagnahme der Computer beantragen - was wohl in den meisten Fällen als unverhältnismässig abgelehnt werden wird.

Ironie der Geschichte: IPREDator is kostenpflichting (5€/Monat), schliesslich muss die Infrastruktur und Bandbreite irgendwie bezahlt werden, also wird jemand an diesen Gesetzen verdienen und mit Sicherheit wird ein guter Teil der Kunden Urheberrechtsverletzer sein. Also kreieren IPRED & Co ein Geschäftsmodell auf der Basis von “illegalen Downloads”.

Man schätzt 7-60 Millionen Euro die als Kosten für die frz. Internetprovider entstehen, wieviel die Hadopi-Behörde verschlingen wird, die bis zu 3000 Warnungen und 1000 Sperren täglich aussprechen soll staht noch in den Sternen

Hp Pavilion Vista 64 only 10Mbit?!

March 28th, 2009

Haven’t found anything on the net, and HP support page isn’t helpful…

The situation: The status of the local connection shows 10Mbit/s as does the networl tab of the task-manager.

  1. As always, get the new latest drivers.
  2. Create a restore point unless you like the walk on the wild side
  3. After the install finishes the Task Manager shows 1Gbit/s -disconnected
  4. Deactivate the network card in the device manager
  5. Activate it

Now you should get the full speed (100Mbit in my case)