User attention radar

Peter mentioned an interesting link on his blog.

It’s about logging eye tracking on webpages. There’s a movie you can click to. And first of all, it drives me crazy to see that blue ball trashing around on the screen.

But it is interesting to see what a user actually looks at on a webpage/application/product/commercial/whatever.

Take a look at this blog by Greg Edwards for something called heatmaps. It kind of looks like a weather report, basicly you want the important stuff to show up red hot.

Masters of the merging universe…

Today, is a good day to start drinking coffee. But then again maybe not. Here I am fresh from weekend. (I took a day off on monday.) And the first order of business is….
.
.
.
“Hey Jeroen, can you merge this branch to yours, update to the latest release and continue with fixing bugs.”

Now that last part is no problem at all. But that first merging part… I wish I’d took the entire week off. Yes I hate Clearcase, I absolutly do.

But then again, I know that lots of business would otherwise use some other vile contorted creation. (Sourcesafe anyone?) Yeah it was fine in its days, but come on! One good thing about Clearcase is the ocasional Smalltalk error popping up. It does feel retro, kinda cool. And another good thing about Clearcase is the fact that on the server side it is pretty ok. Not too much funy stuff like crashing repositories. Well, atleast I never hear the build manager complain.

Why everyone is so affraid of SubVersion is beyond me. Never have I seen it being used at one of my contracts. Lets hope that changes soon in the near future. Because, and I know it’s not comparable to a real project, I’ve been using SubVersion without a hitch now for my personal stuff for over 2 years now. And sofar it has been flawless. Backing up me repository is a sweet deal too. It’s all scriptable. It makes me feel all warm and fuzzy inside to know that my “stuff” is backed-up and versioned too.. πŸ˜›

Seems the automated part of my Clearcase merge is done. Time to put my Kung-Fu merge Master skill to the test again. Practice makes perfect, even with something as nasty as merging code…

Quote of the day: “Clearcase smells like hiny and SubVersion smells like fresh green apples.”

What’s a rich client anyway?

Rich Client…

Yet another one of those terms that keeps coming up lately. And as a lot of those terms a lot of people think they know what it means. But to me, it is not so obvious.

Like Wikipedia. Wikipedia states that a rich client used to be the same as a thick client. But since a few years a rich client is somewhere in between a thick and a thin client.

Well that’s all fine and dandy. But if it isn’t thick and it isn’t thin, then what is it? Somewhere in between the two, yeah I got that. But where exactly.

A colleague and I had a discussion about what a rich client actually is. It isn’t a client hooked directly to a database, that would be thick. But it does do something on the client side which a thin client wouldn’t. So let’s start from there then. Perhaps it has something to do with how the middleware ties in. You know, webservices, enterprise architectures and such kinds of rocket science. Ok great, a middleware sandwich. Sounds delicious.

Middleware implies that there is something going on in there. So processing takes place in the “middle tier”. But also on the “client tier”. So basicly the desktops processing power is put to use. Would rich client mean that while alot takes place in the middle tier, but also on the client tier? Like making your application really graphic… With fancy graphics, transitions and visualisations.

But what about the desktop environment… Although the application looks and feels like any regular app it actually doesn’t have to be. A whole lot of stuff can happen somewhere else on the network. But still the application has a firm foothold on the user’s system. So might rich client imply that it’s actually a full citizen of the desktop environment and sweet and friendly with the other applications on the system, like sharing information through the clipboard?

Anyway, rich client is still a bit vague to me. If anyone has any clues about what makes a client a rich client and not a thick or thin client, then feel free to share it with me.

Smearing AWT code into SWT/Eclipse RCP code…

Nothing new to those using Linux or Windows. But for the Mac OSX developers there is some great news. Finally there seems to be a solution on its way. Thanks to some changes in OSX it is impossible right now to run AWT code within a SWT based application from within the Eclipse JDT. Something going awfuly wrong with deadlocks and all between the AWT and SWT event handling threads. It has been one of the strongest arguments against using an Apple system for Java development.

Credits to Wayne Beaton’s blog entry for mentioning this excellent news. I wouldn’t have known otherwise. It seems that it is useful to put in radar reports when you come across something ugly in OSX. The Apple devs won’t prioritize an issue when few reports come in on it. So if sh#t hits the fan when devving an Apple app. Report!!

Now if someone could convince Mr. Beaton to actually get a Mac, that would be great. Perhaps some of his Eclipse enthousiasm will rubb onto his Apple system usage. Eclipse is great, but Eclipse on a Mac, is even better. πŸ˜› (Because even an Eclipse/SWT UI remains butt ugly on Windows.)

And something I forgot…

The previous post is about something I have not blogged about before. I am stupid enough to think that besides a day job I can do a master’s degree in computer science. Isn’t that a contradiction…

Anyway that’s where this whole ethics report comes from.

Ethical differences between copyright on software and software patents…

For the past few weeks I’ve been working on a report which compares copyright and patent legislation for software on an ethical level. And let me tell you, this stuff is hard for me. I can not just compare things on a business level. I have to trace back things to the most basic level of ethics.

Guys like Rawls, Marx, Aristotle (and then some more…) all have they’re own views on ethics when it comes to business value and fruits of labor.

For instance this Marx guy has some ideas which are not that compatible with our current capitalistic ways of conducting business. While Rawls links things back to a “Early bird takes the worm” kind of thinking.

And then there is the old school. Major difficulty in making sense of Aristotle in the context of copyright and patents. My feeling is that I am missing something. The only question is what. Because the brick wall I’m running into has to do with my problems in finding the links between all this stuff. I’ve been making some mindmaps last night and they seem to have helped a bit. I have a very clear distinction between copyright and patent. Now to do the same thing with those philosophers views that are relevant to my subject matter. A task that feels daunting. And all this for a 19 page report.

Any opinions and info on this subject are very much apreciated.

Try this in Java …

Objective-C is such a funky (dynamic) language.

Like Scott Stevenson showed on his blog in the last few days:

Dynamic Objective-C with NSInvocation
Forwarding NSInvocations in Objective-C
Replacing Objective-C Methods at Runtime

Stuff like that makes me think that Java as a language/runtime just sucks sometimes. Sure java’s got reflection and funky runtimestuff if you really want too. (As in cooking your own classloader and doing runtime code injection, now that’s a cool one.)

But it doesn’t come even close to what Objective-C can do. Not to mention what Ruby can do. While I’m not into the whole Ruby thing yet (chronic time shortage). It does seem like a hell of a dynamic language. On the other hand, all this dynamic stuff makes me feel wary, feels like a big gun capable of shooting big holes in things. Which can be a good and/or bad. Imagine pointing at your own feet, or better yet, a pointy haired boss.

Also, for those who know Lisp, it must feel a bit like “Been there, seen it, done that. Anything new today?” Just for the record, I also think Lisp ownes each and every language out there. Every new feature a language hauls along on “yet another band wagon” is either allready available in Lisp, or is just around the corner with one or two macro‘s.

They don’t call me Long John because my head is so big.

Seems like cheesy pick-up lines don’t work here either.

Well experiment is over. I did pick up a few extra visitors because of my target rich blog entry. You know, targets like “free”, “sex” and “mp3” in them. πŸ˜‰ But not as much as I’d expected, must have been my obvious blog entry header. Probably had the same effect as a bad pick-up line or something.

When I can, I’ll swing a hot word or two right in. But I promise I won’t use those keywords anymore when they are out of context for the post. That’s just not my cup of java. Like: “I don’t swing that way.” Getting free visitors looking for porn shouldn’t even be here. Since this blog isn’t about porn or free MP3’s.

LOL, Ok enough fun and tacky attempts to integrate cheesy keywords.

Oh, one more thing: Best wishes to my friends at the JavaOne, wish I could have been there too. πŸ˜‰

Harvard University Press: The Success of Open Source

The Success of Open Source Woops, just finished another book.

Harvard University Press: The Success of Open Source

This was really a nice read. It provides a detailed account of open souce all the way from its roots to present day. The book is not technical, but for the interested developer it is a must read. First the author outlines his goals for the book, then the main course is served in the form of the historic account of open source. Then there is a chapter detailing research material based on existing and past open source projects, the motivations of the people behind the projects are disected. Also the driving forces behind open source communities are detailed in very interesting way.

And the book ends with the legal and social implications of open source. Which is not my cup of tea. πŸ™‚ But overall, a very interesting read about open-source. Overall a recommended read if you ask me.