Cut down 90% on RDBMS costs switching from Oracle to EnterpriseDB

Now that's an interesting story. Most Oracle users and customers will know that Oracle is not one of the most supportive suppliers when you don't have the money. And by "the money", I mean lots of money. It is a huge, and feature-rich database after all, but so is Postgres. There is a lot of … Continue reading Cut down 90% on RDBMS costs switching from Oracle to EnterpriseDB

A neater way to use reflection in Java

Reflection in Java really feels awkward. The java.lang.reflect API is very powerful and complete, and in that sense also very verbose. Unlike in most scripting languages, there is no convenient way to access methods and fields dynamically using reflection. By convenient, I mean things like this // PHP $method = 'my_method'; $field = 'my_field'; // … Continue reading A neater way to use reflection in Java

A Brief, Incomplete, and Mostly Wrong History of Programming Languages

Found a fun read on the net, recently ;-) http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html

SQL in Scala, where jOOQ could go

I have recently blogged about how simple it is to integrate jOOQ into Scala. See the full blog post here: https://blog.jooq.org/the-ultimate-sql-dsl-jooq-in-scala/ I'm more and more thrilled by that option, as Scala is one of the fastest emerging JVM languages nowadays. The plain integration of a Java library in Scala leaves some open questions. jOOQ knows … Continue reading SQL in Scala, where jOOQ could go

Java 8 virtual extension methods

I've been following the evolution of the Java 8 Lambda expressions project for a while now, and I'm really thrilled by its current state of progress. The latest "easy-to-understand" presentation I've found is this one: http://blogs.oracle.com/briangoetz/resource/devoxx-lang-lib-vm-co-evol.pdf Now, as an API designer, I'm particularly interested in the concept of virtual extension methods and I was wondering … Continue reading Java 8 virtual extension methods

The ultimate SQL-DSL: jOOQ in Scala

I've recently come across some advertising for the new upcoming version of Scala IDE for Eclipse, which made me remember my college programming lessons at the EPFL Laboratoire des Méthodes de Programmation (LAMP), the origin of the Scala language. Back then, Scala appeared quite freaky. Very elegant, a bit inefficient, somewhat dogmatic. It was much … Continue reading The ultimate SQL-DSL: jOOQ in Scala

Subtle SQL differences: Constraint names

The various SQL product vendors implement subtle differences in the way they interpret SQL. In this case, I've been examining the reuse of constraint names within a schema / database (which is yet another story: what's a schema, what's a database?). Here's the summary: Constraint names are unique within a schema Derby H2 HSQLDB Ingres … Continue reading Subtle SQL differences: Constraint names

A success story of SQL scaling horizontally

One of the biggest killer-arguments in favour of NoSQL databases is that they are supposed to natively scale horizontally, unlike traditional relational databases. Personally, I believe that you still have to be an excellent architect, in order to actually take advantage of this "native feature" of some NoSQL databases. You can still design a system … Continue reading A success story of SQL scaling horizontally