Architect-Senior Java Developer with jOOQ skills

A little bit of promotion... It's always refreshing to see that every now and then, jOOQ skills pop up as a plus / requirement on a job profile, such as this one here: Skills: - More than 10 years JAVA experience - Be a proactive thinker with ability to identify problems and find creative solutions … Continue reading Architect-Senior Java Developer with jOOQ skills

JDK 8: State of the Collections

Here's the latest publication by Brian Goetz, Oracle's project lead for JSR 335, a.k.a. Project Lambda. Here's a nice example showing new collection features, such as "Streams" using method references: List<String> strings = ... int sumOfLengths = strings.stream() .map(String::length) .reduce(0, Integer::plus); Another nice example showing the use of lambda expressions: int sum = shapes.stream() .filter(s … Continue reading JDK 8: State of the Collections

How to provide a good pull request

A jOOQ user just provided me with an awesome pull request. Check this out: What's so nice about this particular pull request: It has a couple of little refactoring steps It contains a little regression test Only at the end, it contains the actual fix This is really nice. With these many commits, I can … Continue reading How to provide a good pull request

Wikileaks To Leak 5000 Open Source Java Projects With All That Private/Final Bullshit Removed

Hilarious. Not even written on April 1! Taken from here: http://steve-yegge.blogspot.ch/2010/07/wikileaks-to-leak-5000-open-source-java.html EYJAFJÖLL, ICELAND — Java programmers around the globe are in a panic today over a Wikileaks press release issued at 8:15am GMT. Wikileaks announced that they will re-release the source code for thousands of Open Source Java projects, making all access modifiers 'public' and … Continue reading Wikileaks To Leak 5000 Open Source Java Projects With All That Private/Final Bullshit Removed

JavaBeans™ should be extended to reduce bloat

JavaBeans™ has been around for a long time in the Java world. At some point of time, people realised that the concept of getters and setters was good to provide some abstraction over "object properties", which should not be accessed directly. A typical "bean" would look like this: public class MyBean { private int myProperty; … Continue reading JavaBeans™ should be extended to reduce bloat

ElSql, a new external SQL DSL for Java

Stephen Colebourne who is frequently commenting on the lambda-dev and other Java 8 mailing lists, has recently published an idea he has been having for a while: ElSql, a new external SQL DSL for Java. An example SQL statement is given on the blog posts or on GitHub: @NAME(SelectBlogs) @PAGING(:paging_offset,:paging_fetch) SELECT @INCLUDE(CommonFields) FROM blogs WHERE … Continue reading ElSql, a new external SQL DSL for Java

J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource… WAT??

WAT? This hilarious talk about the incredible quirks of JavaScript had been going around on Twitter and other media. In case you haven't already, take a look at it here: https://www.destroyallsoftware.com/talks/wat Speaking of WAT, let's talk about Spring Security. Spring has undertaken great effort to replace the clumsy, verbose parts of J2EE to replace them … Continue reading J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource… WAT??

Learn Eclipse Keyboard Shortcuts Easily

Disclaimer: Some users experienced this plugin to break their Eclipse Juno (see comments). Use at own risk! Using keyboard shortcuts can vastly increase your productivity. Instead of switching between keyboard and mouse all the times, trying to figure out where that mouse cursor is, left/right clicking your way through context menus nested several levels deep, … Continue reading Learn Eclipse Keyboard Shortcuts Easily

The IS DISTINCT FROM predicate

The SQL-1999 standard specifies a useful IS DISTINCT FROM predicate, that behaves slightly different from the regular not equal comparison predicate. Here is its simple definition: 8.13 <distinct predicate> Format <distinct predicate> ::= <row value expression 3> IS DISTINCT FROM <row value expression 4> <row value expression 3> ::= <row value expression> <row value expression … Continue reading The IS DISTINCT FROM predicate

How to get Oracle execution plans with Starts, E-Rows, A-Rows and A-Time columns

This can probably be found elsewhere as well, but here's a short wrap-up how to get the most out of your execution plans, quickly 1. Be sure the actual rows and time statistics are collected. You can do this with -- login as user sys alter system set statistics_level = all; 2. Execute your bad … Continue reading How to get Oracle execution plans with Starts, E-Rows, A-Rows and A-Time columns