When Source Code Comments Indicate Trouble

Developers have their own, cynical kind of humour. Consider, for instance, Geek and Poke's view on how to insult a developer. But there's a better humour than posting stuff on a website. There are source code comments. Because you can giggle now, write your witty remark, and wait for your coworkers to discover your sense … Continue reading When Source Code Comments Indicate Trouble

Top 10 Ceylon Language Features I Wish We Had In Java

What does one do when Hibernate is "finished" and feature complete and one needs new challenges? Right. One creates a new JVM language called Ceylon. On November 12, 2013, Ceylon 1.0.0 was finally released and we congratulate the whole team at Red Hat for their achievements in what looks like a very promising new JVM … Continue reading Top 10 Ceylon Language Features I Wish We Had In Java

The Jodd SQL Generator

On the jOOQ blog, we never grow tired of comparing ourselves with other free or commercial SQL builders. One of the most interesting ones that we've seen in the past was the MyBatis SQL Statement Builder. The funny thing about some of these approaches is the fact that "typesafety" is understood in terms of merely … Continue reading The Jodd SQL Generator

The Open Source Bikeshed.

"Him" or "They"? English language aficionados haven't yet decided what to do with a singular pronoun of unknown (or irrelevant) sex. On Stack Exchange's English Language and Usage site you can find lots of questions like this one, explaining the context. Let's talk about code. When coding, we also write documentation. When writing documentation, we … Continue reading The Open Source Bikeshed.

Detect JDBC API Misusage with JDBCLint

I've recently seen an advertisement for JDBCLint on the H2 User Group. JDBCLint is an Apache licensed JDBC proxy implementation that does some plausibility checks on the lifecycles of your JDBC objects. For instance, it Checks if a ResultSet is closed twice Checks if a ResultSet is not closed at all (in the finalizer) Checks … Continue reading Detect JDBC API Misusage with JDBCLint

Using jOOQ with JAX-RS to Build a Simple License Server

In some use-cases, having a lean, single-tier server-side architecture is desireable. Typically, such architectures expose a RESTful API implementing client code and the UI using something like AngularJS. In Java, the standard API for RESTful applications is JAX-RS, which is part of JEE 7, along with a standard JSON implementation. But you can use JAX-RS … Continue reading Using jOOQ with JAX-RS to Build a Simple License Server

A Lesser-Known Java 8 Feature: Generalized Target-Type Inference

Going through the list of Java 8 features, Generalized Target-Type Inference struck me as a particularly interesting, lesser-known gem. It looks as though the Java language designers will ease some of the pain that we've been having with generics in the past (Java 5-7). Let's have a look at their example: class List<E> { static … Continue reading A Lesser-Known Java 8 Feature: Generalized Target-Type Inference

Using jOOQ With Groovy

Some people may be using jOOQ with Groovy for easy scripting. As with the existing jOOQ / Scala integration, some Groovy language features can be leveraged. Take the following example, for instance: package org.jooq.groovy import static org.jooq.impl.DSL.* import static org.jooq.groovy.example.h2.Tables.* import groovy.sql.Sql import org.jooq.* import org.jooq.impl.DSL sql = Sql.newInstance( 'jdbc:h2:~/scala-test', 'sa', '', 'org.h2.Driver') a = … Continue reading Using jOOQ With Groovy

Deep Stack Traces Can be a Sign for Good Code Quality

The term "leaky abstractions" has been around for a while. Coining it is most often attributed to Joel Spolsky, who wrote this often-cited article about it. I've now stumbled upon another interpretation of a leaky abstraction, measured by the depth of a stack trace: So, long stack traces are bad according to Geek & Poke. … Continue reading Deep Stack Traces Can be a Sign for Good Code Quality

On Friday Dec 13th 2013, Things *WILL* go Wrong

We're writing for @JavaAdvent, on Friday Dec, 13th 2013. Superstitious? We are and we'll give some fun and scary insights! Stay tuned and follow @JavaAdvent to be ready for an interesting, geeky Holidays season! See also posts from 2012.