I had experienced ZeroTurnaround's marketing and sales before, and I thought it was a bit agressive, although their products seem really nice and cool, so I had forgiven them at the time... However, looking at the numerous links to their product JRebel on CodeRanch just looks like quite offending spam to me. Consider an arbitrary … Continue reading How to Make Your Advertisement Look Like Spam
10 Things in SQL Server Which Don’t Work as Expected
So far, I have been blogging about curious RDBMS caveats mostly related to Oracle and MySQL databases. Some examples: You never stop learning about Oracle features NOT IN vs. NOT EXISTS vs. LEFT JOIN / IS NULL: MySQL SQL incompatibilities: NOT IN and NULL values MySQL Bad Idea #384 But there are also other databases, … Continue reading 10 Things in SQL Server Which Don’t Work as Expected
Nice Tutorial for Creating an External DSL with Xtext
When blogging about DSLs, I'm mostly blogging about internal domain-specific languages, because jOOQ is a good example for internal DSLs. But external domain-specific languages are an interesting topic as well. As an external DSL does not depend on any host language (e.g. Java), it can be much richer in syntax and expressivity. On the other … Continue reading Nice Tutorial for Creating an External DSL with Xtext
The Great Benevolent Dictator Getting Some Beating
I know how it feels to be a benevolent dictator. I am one myself on my jOOQ User Group. Supporting Free Open Source Software isn't always easy. Sometimes you get demanding users, sometimes you get grumpy bugfixers. And the occasional troll. You try to be nice and sometimes, you make mistakes, too. But hey, even … Continue reading The Great Benevolent Dictator Getting Some Beating
Internal DSLs on the Fast Lane
I've read this interesting article about internal DSLs in Java, a short summary of Martin Fowler's book on DSLs in general. I've been blogging about external and internal DSLs quite a lot myself, naturally, as jOOQ is the largest and most advanced free and Open Source implementation of an internal DSL in the Java ecosystem. … Continue reading Internal DSLs on the Fast Lane
SQL Templating with jOOQ or MyBatis
Many people compare jOOQ with MyBatis. Both are seen as popular alternatives to Java's persistence standard JPA, as both are much more SQL-focused than JPA itself. When comparing the two tools, the first obvious difference is this: jOOQ is an internal domain-specific language modelling SQL through a Java fluent API. MyBatis is an XML-based SQL templating and mapping … Continue reading SQL Templating with jOOQ or MyBatis
Usability vs. Reusability
This blog post I've found from 2009 has a nice way of looking at the problem of comparing the ease of use with the ability to reuse. It claims that usability and reusability is always a tradeoff between building a heavyweight, coarse-grained software component with few dependencies (very usable) a lightweight, fine-grained software component with … Continue reading Usability vs. Reusability
Static, Non-Static. Mockable, Non-Mockable… Instead, Let’s Focus on Real Added Value…
The never ending topic of testability... Dogmatic discussions about stuff being static, non-static. Mockable, non-mockable. Testable, non-testable. Here's an article that was recently syndicated on DZone, about the evilness in making things static: http://java.dzone.com/articles/why-static-bad-and-how-avoid While the article itself is still somewhat focused on simple means of making something mockable through dependency injection, the big lot … Continue reading Static, Non-Static. Mockable, Non-Mockable… Instead, Let’s Focus on Real Added Value…
High Complexity and Low Throughput. Reasons for Using an ORM.
I've recently stumbled upon an interesting blog post about when to use an ORM. I found it to be well-written and quite objective, specifically with respect to its model complexity and throughput diagram: The ORM or not ORM topic will probably never stop showing up on blogs. Some of them are more black and white, … Continue reading High Complexity and Low Throughput. Reasons for Using an ORM.
LINQ and Java
LINQ has been quite a successful, but also controversial addition to the .NET ecosystem. Many people are looking for a comparable solution in the Java world. To better understand what a comparable solution could be, let's have a look at the main problem that LINQ solves: Query languages are often declarative programming languages with many … Continue reading LINQ and Java
