The sorry state of subversion support in Eclipse

Eclipse is a great IDE, but the state of subversion support is appalling. Both subclipse and subversive are buggy as hell, and I’d rather not touch either of them with a 10 feet pole.

Installing subversive is a futile exercise in “find all the update sites and correct plugin selection”. Subversive also is unable to keep the target/classes directory out of the synchronize view, which makes committing changes rather challenging.

Installing subclipse is much better than installing subversive: just add subclipse’s update site and install all plugins. No hunting for external sites, and no chance of installing the wrong stuff (I’m on OS X, so the win32 HL binaries are of no use to me). But again the team synchronize view is borked. This time subclipse won’t remove all updated files, double clicking on a folder throws an exception, etc.

I know that GIT is the SCM du jour, but please can someone at eclipse.org take note and finally implement a working, pleasant integration with subversion? Is that so much to ask after 5 years of Subversion availability?

Hating Oracle

Oracle is a decent product but there are some things I loathe about it. The biggest gripe I have with Oracle, and it is a BIG issue I have with it is the following:

Caused by: java.sql.SQLException: Invalid column name
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:403)
    at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3366)
    at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:2009)
    at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:494)
    at com.mchange.v2.c3p0.impl.NewProxyResultSet.getString(NewProxyResultSet.java:3342)
    at org.hibernate.type.StringType.get(StringType.java:18)
    at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
    at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:189)
    at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.extract(CustomLoader.java:474)
    at org.hibernate.loader.custom.CustomLoader$ResultRowProcessor.buildResultRow(CustomLoader.java:420)
    at org.hibernate.loader.custom.CustomLoader.getResultColumnOrRow(CustomLoader.java:317)
    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
    at org.hibernate.loader.Loader.doQuery(Loader.java:701)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
    at org.hibernate.loader.Loader.doList(Loader.java:2220)
    ... 46 more

Can someone please put the guy that crafted this error message to the wall and shoot him? If you discover an invalid column name, then TELL me which one that was. Queries can span 100+ column names, and it is neigh impossible to figure out which one is invalid.

And this is not the only place where Oracle really is subpar in its error messages. Any of the invalid identifier messages doesn’t provide you with context. A multi-thousand dollar license product that can’t give me decent error messages is not worth a penny in my opinion. Oracle should be ashamed of itself and make a public apologie for billions lost revenue of their customers. Now go and stand in the corner!

Ganymede Mylyn Mantis woes

Working with the new Eclipse Ganymede for a while now, and on my Mac it is worthwhile: faster and more stable. Except for Mylyn/Mantis. Mylyn is a resource hog, and the mantis connector doesn’t want to store my updates to tasks in our mantis installation. I synchronize my ass off, but no f-ing way that the carefully crafted status in my workspace is sync’d with our tracker.

Gawd… I hate these halfbaked solutions.

How to be able to use your KPN hotspot when the connection sucks

The connection here is awful, I experience almost 100% packet loss when trying to connect to the internet using the KPN Hotspot. And it costs me about 45 euros to get the right of not being able to use internet. This is highly frustrating, as even complaints don’t get through.

Combine this fact that I have a Mac, which is of course not supported by the KPN, so I could call the support desk, but they would directly tell me that I have an unsupported platform and that I should go make love to myself.

Fortunately one of our readers on the wicket development list was smart enough to mention the TLA ‘MTU’. This sparked me to go and see how pinging would work out. So I set up a ping to the dutch news site “nu.nl” and saw that all 64 byte messages came through (though with about 1-10% packet loss). When I set the size to 2048, no reply came back. Setting the size to 1024 (or rather 1016 to compensate for the additional 8 bytes that is added to the ping message), I still got a 1-10% packet loss, but I got replies back.

Browsing through the man pages of ifconfig gave me the option to modify the MTU of my wireless connection:

sudo ifconfig en1 mtu 1024

This sets my wireless network to broadcast 1024 sized packages instead of 1500. And immediately everything started to work again.

So the recipe to get your wireless connection to work is to try pinging a known website with different package sizes and see which one works best. Then setting that on your wireless connection.

Wicket based Thoof launches private beta

The veil has been lifted. Thoof is now officially in private beta (and I got to play around with it a bit). Given that the famous (from Revver and other successful website) entrepreneur Ian Clarke is behind this effort and that Jonathan Locke is one of the architects behind the site, the foundation is solid.

Thoof

VentureBeat writes:

Like Digg, Thoof provides a synopsis of articles on its home page —this includes headline, brief summary, and tags to designate topic matter. It then provides a link to the article, and sends the reader to the original source.

That’s where the similarities with Digg end. It doesn’t let otherreaders rank the articles for you. Rather, it offers articles to youbased on what knows about you, such as IP address (which providesgeographical location), the browser you use, your operating system andthe site you were on when you clicked through to Thoof — all of whichoffer subtle clues about you. Then, additionally, as you searcharticles, it tracks the tags of the articles you read. Finally, it maysoon begin asking you a random question from time to time, to gathermore information.

Thoof was also covered by Michael Arrington’s TechCrunch and he seems sceptical, as most of the previous attempts (SearchFox, Findory and more) did not succeed or even ended up in the deadpool. Many of the comments seem to share the sentiment. However, Ian Clarke explained more of the new selection algorithm behind the site, and if it works, I predict a bright future. In the private beta run I already saw a couple of links I liked (and I hadn’t even clicked!).

Now this may look to the regular reader that I’m promoting a web site because a friend is working on it, but there’s more to it: it is Wicket based (which is one of the reasons Jonathan was asked to come aboard I presume). If it is a successful endeavor (and I trust Ian Clarke to be correct here), then it may become the biggest website running Wicket.

I like the unobtrusive Ajax functionality they built in: when you click the header of a story, the browser sends a notification to the server using Ajax, and then replaces the story panel with a ‘this story has been read’ variant). In the mean time the news article has been loaded in a new window.

Read/unread article

If you have some Wicket experience, you can see how they construct their pages based on the markup: ListView or Repeaters, and Panels and Behaviors have been put to good use. I expect there will be some tweaking going on (removing superfluous span tags, or too enthousiastic use of Ajax component replacement) but on the whole it really looks great.

All in all, a very exiting time for Thoof and its creators, and I hope they succeed.