Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by Lukas Eder
Tajemství, které vám guru produktivity neřeknou: Nejlepší věc, co dnes můžete udělat je nedělat nic
Znáte ten moment? Stojíte na semaforu, sedíte v ranním vlaku nebo jen čekáte, než se uvaří voda na kávu. Podíváte se kolem sebe a vidíte to. Na manažerovi v obleku, na studentce se sluchátky, na matce s kočárkem i na sobě, když se zahlédnete v odrazu skla. Tu tichou, všudypřítomnou únavu. Ten neviditelný motor, který nás všechny nutí neustále běžet dopředu, i když už často vlastně nevíme kam. Všichni jsme součástí stejného paradoxu.
Biohacking, chytré prsteny a věčný stres. Nezapomněli jsme v té honbě za zdravím vlastně žít?
Žijeme v době, která je posedlá optimalizací. Chceme žít do sta let, chceme mít dokonalé biomarkery v krvi, chceme stíhat rychlost, s jakou se svět kolem nás sune dopředu, a třeseme se strachem, jestli nám umělá inteligence zítra nevezme práci. Sledujeme nejnovější trendy, nakupujeme drahé doplňky stravy a leštíme laky našich aut. Všechno to děláme proto, abychom byli úspěšní, zdraví a zabezpečení.
Gaisberg
Aufgerufen am 08.11.2025 um 09:19 auf https://www.sn.at/fotoblog/schoene-heimat/ausserhalb-salzburgs-gaisberg-187317766
Bäume im Nebel
Aufgerufen am 08.11.2025 um 09:18 auf https://www.sn.at/fotoblog/schoene-heimat/ausserhalb-salzburgs-baeume-im-nebel-187317694
Tajemství sexuální energie aneb Jak v sobě probudit sílu, která nám pomůže zvládnout cokoliv - Seznam Médium
Tlačítkem Sledovat můžete odebírat oblíbené autory a témata. Najdete je v Moje sledované na tomto webu nebo na Seznam.cz. V očích druhých lidí jsme za blázny a občas sami nevíme, kde se to v nás vzalo. Jako by v našem nitru vypukla exploze energie, která nás neustále žene dopředu. Kde se v člověku zničehonic vezme tolik energie? Článek Asi každý z nás zažil pocit totální zamilovanosti. Stav, kdy jsme byli schopni dokázat cokoliv. Najednou nic nebylo překážkou.
Proč lidé neslyší, co jim chceme říct? Objevte účinnou komunikační dovednost pro zdravé vztahy
Tlačítkem Sledovat můžete odebírat oblíbené autory a témata. Najdete je v Moje sledované na tomto webu nebo na Seznam.cz. Berete si věci osobně? Vzniká mezi lidmi, na kterých vám záleží komunikační propast? Dnes Vám předám jeden komunikační tip, se kterým tuto propast hravě překonáte. Článek si můžete poslechnout také jako podcast. Článek Není důležité, CO lidem říkáte, ale je důležité, JAK to lidem říkáte. Tuhle větu jistě neslyšíte poprvé a věřím, že i Vám bude dávat smysl.
Tři pravidla, která vám pomohou včas odhalit každého lháře - Seznam Médium
Tlačítkem Sledovat můžete odebírat oblíbené autory a témata. Najdete je v Moje sledované na tomto webu nebo na Seznam.cz. Proč existuje lež? Proč lidé vymysleli a stále používají něco, co způsobuje tolik bolesti? Z čeho mají strach? Uznejte sami, nebyl by váš život jednoduší, pokud byste včas odhalili každého lháře? Článek Jdete do obchodu nakoupit jen to nejnutnější.
Deset profesí, které nahradí umělá inteligence. Najdete mezi nimi tu svou? - Seznam Médium
Tlačítkem Sledovat můžete odebírat oblíbené autory a témata. Najdete je v Moje sledované na tomto webu nebo na Seznam.cz. Jaké profese nahradí umělá inteligence a jak změní lidské životy? Článek Prakticky každý den slyšíme nějakou zprávu ohledně umělé inteligence. Čím dál více lidí zkouší funkce ChatuGPT nebo podobných nástrojů a jsou překvapení, s jakou rychlostí a s jakými výsledky tyto nástroje reagují. Zcela přirozeně tak člověka napadne otázka, co vše umělá inteligence dokáže?
Top Posts of 2013: 10 Subtle Best Practices when Coding Java
this is a list of 10 best practices that are more subtle than your average josh bloch effective java rule. while josh bloch’s list is very easy to learn and concerns everyday situations, this list here contains less common situations involving api / spi design that may have a big effect nontheless. i have encountered these things while writing and maintaining jooq , an internal dsl modelling sql in java.
10 More Common Mistakes Java Developers Make when Writing SQL
i was positively surprised to see how popular my recent listing about 10 common mistakes java developers make when writing sql was, both on my own blog and on my syndication partner dzone . the popularity shows a couple of things: how important sql is to the professional java world. how common it is to forget about some basic sql things. how well sql-centric libraries such as jooq or mybatis are responding to market needs, by embracing sql .
TYPO3 femanager 6.3.0 Cross Site Scripting
SEC Consult Vulnerability Lab Security Advisory < 20220117-0 > ======================================================================= title: Stored Cross-Site Scripting vulnerability product: TYPO3 extension "femanager" vulnerable version: 6.0.0 - 6.3.0 and 5.5.0 and below fixed version: 6.3.1 and 5.5.1 CVE number: CVE-2021-36787 impact: Medium homepage: https://www.in2code.de https://extensions.typo3.org/extension/femanager found: 2021-06-01 by: Lukas Eder (Atos Germany) SEC Consult...
Using jOOQ 3.14 Synthetic Foreign Keys to Write Implicit Joins on Views
jOOQ has supported one of JPQL's most cool features for a while now: implicit joins. Using jOOQ, you can navigate your to-one relationships in a type safe way, generating LEFT JOIN operations implicitly without the effort of having to keep thinking about join predicates, and the correct join order.
SQL DISTINCT Is Not a Function
Save {{ articles[0].views | formatCount}} Views Join the DZone community and get the full member experience. Join For Free A very common misconception I often encounter with SQL users is the idea that DISTINCT is something like a function, and that it can take parenthesised arguments.
Create Empty Optional SQL Clauses With jOOQ
When using jOOQ to create dynamic SQL statements (one of jOOQ's core value propositions), it is often necessary to add query elements conditionally, with a default "No-op" behavior. For first time users, this default "no-op" behavior is not always obvious as the jOOQ API is vast, and as with any vast API, there are many different options to do similar things. How Not to Do It A common pitfall is to be tempted to work with the many XYZStep types. What types are these?
10 SQL tricks that you didn’t think were possible
In this article, Java champion Lukas Eder invites readers to take a look at 10 SQL tricks. The article is a summary of his new, extremely fast-paced, ridiculously childish-humored talk, which he’s giving at conferences (recently at JAX, and Devoxx France). This post was originally published over at jooq.org, a blog focusing on all things open source, Java and software development from the perspective of jOOQ.
A Guide to SQL Naming Conventions
What's in a [SQL] name? One of Java's big strengths, in my opinion, is the fact that most naming conventions have been established by the creators of the language. For example: Class names are in PascalCase Member names are in camelCase Constants are in SNAKE_CASE If someone does not adhere to these conventions, the resulting code quickly looks non-idiomatic. You may also like: How to Properly Format SQL Code What About SQL? SQL is different.
Quantified LIKE ANY Predicates in jOOQ 3.12
SQL quantified comparison predicates Quantified Comparison Predicates Some of SQL's weirdest features are quantified comparison predicates. I've hardly ever seen these in the wild: SELECT * FROM t WHERE id = ANY (1, 2, 3) The above example is equivalent to using the much more readable IN predicate: SELECT * FROM t WHERE id IN (1, 2, 3) This equivalence is defined in the SQL standard.
A Quick Trick to Make a Java Stream Construction Lazy
One of the Stream APIs greatest features is its laziness. One of the Stream APIs greatest features is its laziness. The whole pipeline is constructed lazily, stored as a set of instructions, akin to a SQL execution plan. Only when we invoke a terminal operation, the pipeline is started. It is still lazy, meaning that some operations may be short-circuited. You may also like: A Guide to Streams: In-Depth Tutorial With Examples Some third-party libraries produce streams that are not entirely lazy.
Using DISTINCT ON in Non-PostgreSQL Databases
Save {{ articles[0].views | formatCount}} Views Join the DZone community and get the full member experience. Join For Free The DISTINCT ON gem A nice little gem in PostgreSQL's SQL syntax is the DISTINCT ON clause, which is as powerful as it is esoteric. In a previous post, we blogged about some caveats to think of when DISTINCT and ORDER BY are used together. The bigger picture can be seen in our article about the logical order of operations in SQL SELECT.
Calling an Oracle Function With a PL/SQL BOOLEAN Type From SQL
One of the most wanted features in the Oracle database is the BOOLEAN type. The SQL standard specified it a while ago, and RDBMS like PostgreSQL shows how powerful it can be, e.g. when using the EVERY() aggregate function. The PL/SQL language already has support for boolean types.
The Unreasonable Effectiveness of SQL
Save {{ articles[0].views | formatCount}} Views Join the DZone community and get the full member experience. Join For Free Two score and five years ago, two young IBM researchers brought forth databases; a new language conceived in relational and dedicated to the proposition that data can be manipulated declaratively and easily.
The Unreasonable Effectiveness of SQL
Save {{ articles[0].views | formatCount}} Views Join the DZone community and get the full member experience. Join For Free Two score and five years ago two young IBM researchers brought forth on databases, a new language, conceived in relational, dedicated to the proposition that data can be manipulated declaratively and easily.
The Cost of Useless Surrogate Keys in Relationship Tables
SignalFx is the only real-time cloud monitoring platform for infrastructure, microservices, and applications. The platform collects metrics and traces across every component in your cloud environment, replacing traditional point tools with a single integrated solution that works across the stack. What’s a good natural key? This is a very difficult question for most entities when you design your schema.
Find the next non-NULL row in a series with SQL - JAXenter
Have you heard of our Masterclass workshops? Here is a Masterclass special from your SQL trainer, Lukas Eder. Looking at a time series of data points where certain events happen, there are several issues that can occur. Here’s how you can deal with those problems. bgquwge Have you heard of our Masterclass workshops? JAXenter Masterclass consists of four intense workshops that provide comprehensive and up-to-date know-how on advanced Java, reliability, SQL and microservice architecture.
How to group by “nothing” in SQL
Have you heard of our Masterclass workshops? Here is a Masterclass special from your SQL trainer, Lukas Eder. What’s the point in using GROUPING SETS in SQL standard? Eder demonstrates a pretty subtle effect of using this feature. gqwoge Have you heard of our Masterclass workshops? JAXenter Masterclass consists of four intense workshops that provide comprehensive and up-to-date know-how on advanced Java, reliability, SQL and microservice architecture.
How to Reduce Syntactic Overhead Using the SQL WINDOW Clause
SQL is a verbose language, and one of the most verbose features are window functions. In a stack overflow question that I've encountered recently, someone asked to calculate the difference between the first and the last value in a time series for any given day: Notice that the value and timestamp progression do not correlate as it may appear. So, there is not a rule that if then .
Writing Custom Aggregate Functions in SQL Just Like a Java 8 Stream Collector
Some databases support other aggregate functions, like: But what if you want to roll your own? When using Java 8 streams, we can easily roll our own aggregate function (i.e. a ). Let's assume we want to find the second highest value in a stream. The highest value can be obtained like this: Now, what about the second highest value? We can write the following collector: It doesn't do anything fancy.
How to Use SQL UPDATE. RETURNING to Run DML More Efficiently
At a customer site, I recently refactored a "slow-by-slow" PL/SQL loop and turned that into an efficient set based statement saving many lines of code and running much faster. In this post, I will show how that can be done. The post will focus on Oracle and , but rest assured, this technique can be implemented in other databases too, and also with other DML statements, such as , , and depending on the vendor, even .
How to Write a Multiplication Aggregate Function in SQL
Everyone knows the SQL SUM() aggregate function (and many people also know its window function variant). When querying the Sakila database, we can get the daily revenue (using PostgreSQL syntax): The result will look something like this: This is already quite useful. Very occasionally, however, we do not need to aggregate multiple values in a sum (through addition), but in a product (through multiplication). I've just stumbled upon such a case on Stack Overflow, recently.
Beware of Hidden PLSQL to SQL Context Switches
I found it in Oracle Enterprise Manager, but you could also find it using a query like this one: Why was this query being run so often? In Enterprise Manager, the query's statistics overview displayed that the query originated from a function called (I don't know yet where I could find this information in the dictionary views, manually).
Find the Next Non-NULL Row in a Series With SQL
I've stumbled across this fun SQL question on Reddit, recently. The question was looking at a time series of data points where some events happened. For each event, we have the start time and the end time. The desired output of the query should be this additional column: So, the rule is simple. Whenever an event starts, we would like to know how many consecutive entries it takes until the event stops again.
A Frequent Question: Does jOOQ Have a First-Level Cache?
One of the more frequent questions people have when switching from JPA to jOOQ is how to migrate from using JPA's first-level cache. There are two important things to notice here. If you're using only JPA in your application, you may have gotten used to occasionally fetch DTOs through "projections." The term "projection" in this context stems from relational algebra, where a projection is simply a clause in your SQL statement.
How SQL DISTINCT and ORDER BY are Related
One of the things that confuse SQL users all the time is how and are related in a SQL query.
How to Group By "Nothing" in SQL - DZone Database
The SQL standard knows a lesser known feature called GROUPING SETS. One particular side-effect of that feature is that we can group by "nothing" in SQL. E.g. when querying the Sakila database: What's the point, you're asking? Can't we just omit the clause? Of course, this will yield the same result: Yet, the two versions of the query are subtly different. The latter will always return exactly one row. The former will perform grouping and return all the groups. How is this different?
Using UNPIVOT to Traverse a Configuration Table’s Rows and Columns
Imagine you have a configuration table like the following: It specifies a set of rules that: So, given the following data: This form is really useful to edit the configuration. If we want to activate in , we go to the cell in the SQL tool, like Oracle SQL Developer, and change the value. But, reading the configuration is a bit different. through are not normalized. How are we going to read the data when it is not normalized? In Oracle and SQL Server, we can use for this use case.
How to Patch Your IDE to Fix an Urgent Bug
Clock's ticking. JDK 11 will remove a bunch of deprecated modules through JEP 320, which includes the Java EE modules, which again includes JAXB, a dependency of many libraries, including jOOQ. Thus far, few people have upgraded to Java 9 or 10, as these aren't LTS releases.
jOOQ 3.11 Released With 4 New Databases, Implicit Joins, Diagnostics, and Much More
Today, jOOQ 3.11 has been released with support for 4 new databases, implicit joins, diagnostics, and much more At last, 4 new SQL dialects have been added to jOOQ! These are: One of the really cool features in ORMs like Hibernate, Doctrine, and others is the capability of using a relationship graph notation to access another entity's columns through what is often called "implicit joins." Instead of explicitly joining a to-one relationship to access its columns: We would like to be able to...
How to Run a Bulk INSERT .. RETURNING Statement With Oracle and JDBC
When inserting records into SQL databases, we often want to fetch back generated IDs and possibly other trigger, sequence, or default generated values. Let's assume we have the following table: DB2 is the only database currently supported by jOOQ, which implements the SQL standard according to which we can from any statement, including: Pretty neat! This query can simply be run like any other query in JDBC, and you don't have to go through any hassles.
The Performance Difference Between SQL Row-by-Row Updating, Batch Updating, and Bulk Updating
Something that has been said many times, but needs constant repeating until every developer is aware of its importance, is the performance difference between row-by-row updating and bulk updating. If you cannot guess which one will be much faster, remember that row-by-row kinda rhymes with "slow-by-slow" (hint, hint).
When Using Bind Variables Is Not Enough: Dynamic IN Lists
In a previous post, I wrote about why you should (almost) always default to using bind variables. There are some exceptions, which I will cover in another follow-up post, but by default, bind variables are the right choice, both from a performance and from a security perspective. In this article, I will show an example where regrettably, bind variables are not enough, and you can still run into significant performance issues in production. That’s when you create dynamic lists.
Why SQL Bind Variables Are Important for Performance
A common problem with dynamic SQL is parsing performance in production. What makes matters worse is that many developers do not have access to production environments, so they are unaware of the problem (even if there's nothing new about this topic). What exactly is the problem? Most database vendors these days ship with an execution plan cache (Oracle calls it cursor cache), where previously parsed SQL statements are stored and their execution plans are cached for reuse.
Mocking JDBC Using a Set of SQL String/Result Pairs
In a previous post, I showed how the programmatic can be used to mock the entire JDBC API through a single functional interface: Writing the provider manually can be tedious in some cases, especially when a few static SQL strings need to be mocked and constant result sets would be OK.
A Completely Overhauled, Modularized jOOQ 3.11, Ready for Java 11
FOR THE RECORD, THE ORIGINAL POST WAS PUBLISHED ON APRIL 1. DZONE TOOK A FEW DAYS TO SYNDICATE IT... If you've been following the fast paced JDK 9+ projects, you may have noticed an exciting, first big change that has been made possible thanks to Java 9's Jigsaw feature. In JDK 11, JEP 320 will ship, or rather: it will no longer ship, as JEP 320 means that both CORBA and Java EE modules (mostly JAXB) will be removed from the Java SE and the JDK.
10 Things You Didn't Know About Java — SitePoint
Being Java nerds, we are always interested in obscure details that may not be of direct use but teach us more about Java and the JVM. That’s why I decided to publish this great article that Lukas Eder originally wrote on jooq.org. So, you’ve been working with Java since the very beginning? Remember the days when it was called “Oakâ€?, when OO was still a hot topic, when C++ folks thought that Java had no chance, when Applets were still a thing?
The 10 most popular DB engines (SQL and NoSQL) in 2015
Lukas Eder rounds up this year’s favourite DB engines for SQL and NoSQL, with a change of ranks amongst the new list. Cassandra and Redis have surged their way into the Top 10, but who have they replaced? Read on to find out. This post was originally published over at jooq.org, a blog focusing on all things open source, Java and software development from the perspective of jOOQ.
Java 8 Stream: difference between limit() and skip()
What you have here are two stream pipelines. The stream pipelines consist of a source, several intermediate operations, and a terminal operation. But the intermediate operations are lazy. This means that nothing happens unless an upstream operation requires an item. When it does, then the intermediate operation does all it needs to produce the required item, and then again waits until another item is requested, and so on. The terminal operations are usually "eager".
Practical use of Collections.max() signature
One useful experiment is this: The fact that this compiles shows that the two signatures accept precisely the same set of arguments. In fact there are several redundant wildcards in the signatures of the class. For example, the wildcard is not needed in would have worked equally well if one or other (but not both) of the wildcards weren't there. So why include them? The example is a good one.
10 Java Articles Everyone Must Read
One month ago, we’ve published a list of 10 SQL Articles Everyone Must Read. A list of articles that we believe would add exceptional value to our readers on the jOOQ blog. The jOOQ blog is a blog focusing on both Java and SQL, so it is only natural that today, one month later, we’re publishing an equally exciting list of 10 Java articles everyone must read.
Open Source Doesn't Need More Support. It Needs Better Business Models
Jamie Allen, Typesafe‘s Director of Global Services published an interesting point of view on Twitter: And he’s right of course. We are constantly reminded of the fact that we should support FOSS projects on which we depend. Just recently, Wikipedia had this huge banner on top of it, asking for money, and we probably should. But do we really depend on them, and can we really make a difference? Let us look at the problem from a business perspective.
How to Integrate Commercial Third-Party Artefacts into Your Maven Build
According to a recent survey by ZeroTurnaround’s RebelLabs, Maven is still the leading Java build platform. The current market share distribution, according to RebelLabs is: Yet, at the same time, Maven is often criticised for being a bit obscure and intrusive. Compared to runner-ups Ant and Gradle, Maven allows for only little flexibility with respect to interpretation and thus custom adaptation of the build model.
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with Lukas
Contact Lukas, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack