The first Scala feature I blogged about is Literal data structures. Read it at Lunatech.
Scala Advocacy
Published on 2010-02-27
I am trying to get my fellow (Java) programmers to use Scala. The case, in a nutshell, is this:
- Scala is very Java compatible, which means you don’t have to give up anything.
- Scala has lots of big and little features that together make you more productive.
- Even a small productivity gain is worth making a change for. We’re going to be writing a lot of code and we have ideas for many a lifetime more. We need that extra productivity.
In the next few posts, I will show off the compatibility and the different features. The last point is self-evident and so my case should be very solid. Unfortunately, not everyone makes the same kind of list. Here’s an alternative case:
- Java is already perfect, since I found it I haven’t felt the need to ever learn another language.
- The good people at
SunSnoracle are constantly busy making Java more awesome. If a new feature is really good, they will incorporate it. - Nobody I know uses Scala, there’s too little documentation and learning it is too hard.
- I leafed through the book and it has 33 freaking chapters. You expect me to read all that? I dread looking at the others.
- There are no frameworks in Scala.
- Scala is an academic language. It will never work in the corporate world.
- I have to use Lift to do web programming? lib.web? Oh, now it’s suddenly Play! Make up your mind already.
- If it were any good, I would have known about it. I stay on top of everything in technology.
- Object-Oriented Programming has won. Don’t bother me with you niche functional language.
If you entertain 3 or more of these thoughts, then I have news for you: You are lazy and insecure. It’s much easier to pick some reasons at random to not do something, however wrong and inconsistent they may be, than to invest the time to become a better programmer. I cannot hope to refute every wrong statement or point out every inconsistency, because there’s an infinite supply of them.
So, I’ll do what I can do, which is to present my own case as best as I can. To be continued…
WordPress installation permissions
Published on 2009-08-19
I too got bitten by a question for my Connection Information when I just wanted to upgrade a plugin on my standard Ubuntu WordPress installation.
Googling showed lots of people recommending to just chown or chmod everything writable for the webserver user (or even the whole world). It turns out there’s an easier way. If you make sure that the wp-content directory is writable (for example using chown -R www-data:root wp-content) then all you need to do is add the following line to wp-config.php:
define('FS_METHOD', 'direct');
Now WP will just believe you instead of doing strange tests for the wrong things and you can install plugins and themes without compromising the rest of your installation.
Explosion of activity
Published on 2009-01-17
Whether it’s also an explosion of productivity remains to be seen, but one thing is unmistakable: I am a lot more active than I have been the last year.
Things I’m doing at the moment:
- Writing an issue tracker using Grails
- Using and exploring git
- Exploring jQuery UI, writing a simple grails plugin for it
- Pondering on features for another grails app: the next generation of our internal hour-tracking tool
- Installing the fish shell and immediatly having fun, just like with grails and git
- Making more use of TextMate instead of Eclipse, and exploring its ecosystem
- Twittering
- Blogging and writing
In other words: I’m having fun doing geeky things (or is it nerdy? they’re both doubly foreign words for me). The strange thing is that I hadn’t really noticed that I didn’t have enough fun.
Having more fun goes hand in hand with being more active: waking up earlier, more eager to do things.
Now if you’ll excuse me, I’ll keep this brief because I have stuff to do…
Got it just before it was pulled…
Published on 2008-08-07
Unlocking my Mac’s full potential with VirtualBox
Published on 2008-05-04
The 1.6.0 release of VirtualBox looks like a winner. It ran an old Windows install that I had lying around in VMWare format and it does the insane seamless trick which makes the windows in your virtual machine appear as normal windows.
This could be the application that my multi-core machine has been waiting for. Except that luckily it draws almost no CPU when you’re idle.
New hobby programming project
Published on 2008-04-20
I have taken an interest in git and would like to use it for work. But work means java and eclipse and convincing colleagues of the advantages in the face of some disadvantages. One of the current disadvantages is the lack of a finished Eclipse plugin for git. I have played with egit and like the way it can already be used even though you have to fall back to other clients for some things. However, my colleagues were not impressed.
That’s where the itching started. I have 3 of the Addison-Wesley eclipse series books on my bookshelf, but I have never coded a real plugin. So this could be my niche…
But wait, am I not supposed to help develop egit then? It could sure use the help.
Good question. My current answer is that I don’t like one of their design goals: to be 100% pure java. Looking through the wiki it seems that work on some features is waiting for features in the core jgit library to be done first. My personal design goal is quite the opposite: reuse as much of git-core as possible. One thing that attracted me to git was the modular implementation, with user-friendly commands sometimes implemented as perl or shell-scripts that make use of lower-level C programs. As for the 100% java goal itself: it has never done anything for me. GNU is my platform, developers with their workstations my audience. Git-core is just an apt-get install or port install away.
So, what’s the current status and what are the first features you can look forward to?
- Share project… shows my plugin as Git (smop) to differentiate it from egit
- The sharing icon is cooler (I took the CVS one and made it say GIT)
- Graphical status emblems will be the first feature I am going to work on, followed by
- a simple commit right-click menu item
Of course, the chance that I can keep focussed long enough to really deliver something useful is not that high. Be that as it may, I’m having fun programming again!
Not all computer problems are software problems
Published on 2008-03-29
For the last week the quality of my computing experience was severely degraded. My scroll wheel stopped scrolling. The mouse was working perfectly fine otherwise, including the button in the scroll wheel.
Naturally, I blamed software. I went through the “Keyboard and Mouse” settings multiple times. I tried installing the Logitech Control Center even though I hadn’t needed it earlier. Nothing worked.
Until I tried the mouse in another computer, where scrolling also didn’t work. It was a hardware problem after all. Opening up the mouse, I was greeted with bits of hairy dust sticking to the grease that makes the wheel turn smooth. After removing all the dust and admiring the inner workings I closed it again and tried it out. Didn’t work.
Open it up again. Notice a tiny speck of dirt, smack in the middle of the eye that catches light from a LED on the other side of the wheel’s spokes. Removed the speck and now everything works!
It’s the little things that bring me happiness. I can scroll again.
Booleans and tests
Published on 2008-02-09
There’s a subject for a post in my head that I haven’t yet written. And today I found out that Chris Okasaki has written it better than I could have: Boolean Confusion.

