Cannot stop laughing while reading this..

February 26th, 2010

The worst question interview ever describes… well, just read the post and you will quickly figure out what it is about. I simply LOVE Gavin King’s comment :

Heh, and I’ll continue to be an ass in all future responses to “John Smith”s who tell talented guys who worked on my projects for years that they aren’t “team player”s, “have an attitude” and are “prima donna”s. I’ll be the judge of that, not some asshole anonymous blog comment poster who has never met or worked with Norm. I’m protective of my team. That’s not going to change. Sorry if you don’t like it.

YES, Gavin King is an ass, but most of the time, this category of ass is right, and people should just listen to them instead of complaining.. ah ah ah :) love it ! :)

PS: for those who don’t already know it, Gavin King is the founder of Hibernate…

EJB 3.1 : still not there yet…

February 26th, 2010

EJB 3.1, a compelling evolution describes the new features available in EJB 3.1. It looks like EJBs are finally getting the features they miss..

However, there are still a few things bugging me :

  • Why insist on keeping the neat features (IoC, ..) server-side only ? Why can’t I just use the same mechanisms for in-container server-side code  and other kind of code ? Do I still need to revert to using Spring for everything that is not running inside the JEE6 container ? What about integrated tests ?
  • How come we still don’t have any equivalent to Spring templates, that take care of creating standardized, runtime exceptions and handling opening/closing resources automatically ?

So for now, when working in non-spring environments, I need to create my own Templates to avoid creating clumsy code…

I agree that Spring Framework is a patch, and should eventually disappear. But for it to disappear, the underlying technologies need to start being half-decent…

NoSQL

February 26th, 2010

These days, it looks like there is a lot of hype around the NoSQL movement.

These data storage systems have a number of features in common:
•   a call level interface (in contrast to a SQL binding)
•   fast indexes on large amounts of data,
•   ability to horizontally scale throughput over many servers, and
•   ability to dynamically define attributes or data schema.

NoSQL explained correctly gives an idea of what these datastores are useful for, and how they complement the current RDBMS offering.

High performance scalable datastores compares the technical  characteristics, maturity and licenses of the  NoSQL offering.

Other links on the subject that might be of interest :

Is OpenSolaris dead ?

February 24th, 2010

It looks like that the future of OpenSolaris is unclear, now that Oracle has acquired Sun..

I take the official Oracle website to be rather … official ?

Lets recap, shall we ?

a) Almost every trace of OpenSolaris Support subscriptions vanished from
the official website within the last 14 days.

b) An Oracle sales rep informed me personally last week that I could no
longer purchase support subscriptions for OpenSolaris.

More information available on this thread.

OpenStreetMap

February 20th, 2010

Here is an introductory article to OpenStreetMap (OSM) . A short except :

Why is that important? Because each time you fix something in OSM your brain gives you a little drop of seratonin, or something, that makes you feel good. And that comes from a quick feedback loop. With traditional companies your feedback loop is far, far too long. Anything more than a couple of minutes is too long because there’s no association of the act of fixing something with the good feeling. More often than not, you help fix something and it drops in to a black hole.

[...]

The logistical costs of producing maps in a top-down fashion pretty much levelled out at having fleets of cars driving around North America and Europe. Increasing the detail with footpaths would cost far more than the benefit any company could leverage if they tried to do it a similar way. Crowd sourcing this from customers and others is simply inevitable – there is no other way to do it. But many will likely try to add quality assurance in between their contributors and the map and thus limit the scope and depth of the contributions.

[...]

Those maps will, at times and in certain areas, be better than OSM. But the growth of OSM is inexorable and like a freight train will ultimately roll over everything in its path. It may even happen before traditional companies figure this out and try to start seriously crowd sourcing data.

Is OSM the next wikipedia of mapping data ?

Top 25 most dangerous programming errors

February 19th, 2010

Top 25 most dangerous programming errors can be used to identify common programming, design, architecture mistakes that can potentially harm your system. A few examples :

Git, Mercurial, Subversion..

February 17th, 2010

Pretty good post from Martin Fowloer on Version Control Tools.

What he says on git :

Git certainly seems to be liked for its power. Folks go ga-ga over it’s near-magical ability to do textual merges automatically and correctly, even in the face of file renames. I haven’t seen any objective tests comparing merge capabilities, but the subjective opinion favors git.

[...]

For many git’s biggest downside was its oft-cryptic commands and mental model. Ben Butler-Cole phrased it beautifully: “there is this amazingly powerful thing writhing around in there that will basically do everything I could possibly ask of it if only I knew how.” To its detractors, git lacks discoverability – the ability to gradual infer what it does from it’s apparent design. Git’s advocates say that much of this is because it uses a different mental model to other VCSs, so you have to do more unlearn your knowledge of VCS to appreciate git. Whatever the reason git seems to be attractive more to those who enjoy learning the internals while mercurial seems to appeal more to those who just want to do version control.

[..]

People generally find that git handles branching better than Mercurial, particular for short-lived branches for experimentation and check-pointing. Mercurial encourages other mechanisms, such as fast cloning of separate repository directories and queue patching, but git’s branching is a simpler and better model.

Stress-testing VS 2010

February 14th, 2010

Kirill Osenkov wrote an article about stress-testing VS 2010.

I especially love the following part :

right now a feature is considered not leaking if there is average increase of less then ~5KB per iteration

Elastic search : solr on steroids

February 10th, 2010

Elastic search seems to be a pretty cool alternative to solr, that supports automagical replication of information to all the detected nodes ! Nice video screencast available here.

360 evaluations : is it really the best way to actually become better ?

February 6th, 2010

After taking a look at the results of a collegue’s 360 evaluation, I wonder whether it is an actual way to have  people become better (and thus, make a better company).

By continually getting feedback and improving pointed weaknesses, the end result is that you get better over the time

Simple, isn’t it ? So simple that it is clearly understandable and unchallengeable. Of course it is true, and those who do not think so should just burn in hell ! Or.. shouldn’t they ?

360 evaluations are not tainted by political issues and personal preferences !

Let’s take a similar different example: politics. Theoretically, thanks to the power of voting, parties should continually get better to be (re-)elected. Hum ! Who feels like political parties focus on the real issues ? Does it have to do with the fact that real issues are unpopular and unlikely to get them re-elected ? Here is a short excerpt from Les Cowboys Fringuants – 8 secondes :

Mais l’monde oublie vite c’est pas grave
Suffit de faire un bon budget
D’parler d’santé pour que les caves
Vous réélisent l’année d’après

But 360 evaluations do not have anything to do with politics, really !

The same way parties shift their focus from the real,  unpopular issues, I believe that listening too much to 360 feedback will just make you focus on the wrong things. Either you are too X, or not enough Y.  Either you’re too concrete or too abstract. Either you have too much self-confidence, or need to higher your self-esteem. Either you do not show enough leadership, or your leadership does not leave enough room for others. Oh, and sometimes, something is both in the “strengths” and “weaknesses” columns. wao !

It truly makes me laugh when I realize that my collegue’s evaluation strengths include both :

  • “Less jokes in the messages” [understand: you got better since last 360 evaluation by reducing the amount of jokes in your messages]
  • “Great sense of humour”

Hum ! hum ! So.. what is going on exactly ? Should he continue to do jokes and develop his sense of humor, or should he stop doing so ? .. It might simply be that different people perceive things differently, so the only true way to accomplish a perfect, no-fault, 360 evaluation is to be nothing more than a moderate lemming that has no real strengths and no weaknesses. 101 guide to having a good 360 evaluation :

  • Take a few un-risky initiatives to show that you do have some leadership, but make sure you do not address the risky, unpopular issues !
  • Criticize things moderately and constructively, but make sure you only criticize things that others would criticize too.
  • …  [hint: do not address the real issues, as those are the most risky, address the popular ones)

If you have real strengths, then they usually come with their set of weaknesses ! Not everybody might be happy about them, but in my humble opinion, erasing them would definitely not make a better company in the end.

What if the problem was the unability of people to understand the situation correctly ?

All truth passes through three stages. First, it is ridiculed. Second, it is violently opposed. Third, it is accepted as being self-evident.
Arthur Schopenhauer
German philosopher (1788 – 1860)

So, what do we do ?

Always make sure to bring this question when you raise an issue. Even if you do not have any answer, this shows your willingness to contribute positively instead of just openly criticizing ;-)