Welcome to coobird.net, the home of Thumbnailator and other projects!



Thumbnailator is a thumbnail generation library for Java.

Thumbnailator produces high-quality thumbnails through a fluent interface to facilitate common thumbnail creation tasks. It is used in numerous commercial and open-source applications and has over 100,000 downloads from the Maven Central repository each month.

Thumbnailator is open-source software, distributed under the MIT license and is available on GitHub.

Other projects

Aside from current project, there’s a bunch of inactive projects from years ago. 😉 And also check out the project listing for more!


Below are excerpts of the three most recent blog articles. (To read more, jump to the blog section!)

It’s a small world (of open source developers)

One of the libraries I found to be very useful is the SQLite JDBC Driver. It’s an awesome library that allows accessing SQLite through JDBC by the connection string jdbc:sqlite:<database file>.

Read more…

It’s evening (early morning? late evening) on a weekday and I’m watching videos on YouTube. There was an interview between Bryan Lunduke and Andreas Kling, the creator of Serenity OS, the Ladybird web browser, and Jakt programming language. In the middle of the interview, Andreas talks about recently going through old browsers and got the idea to implement the <blink> tag in Ladybird. Which reminded me of a conversation I had with a colleague last week…

Read more…

Sentence generation without transformers

Generative AI, such as ChatGPT, is all the rage these days. Transformer-based ones like BERT and ChatGPT can generate convincing text which sounds very human-like and authoritative. (Even if the model is lying through its teeth.)

That said, if we just want to generate text, we don’t have to rely on deep learning to do it. Rudimentary approaches like pre-computing token-to-token transition probabilities can go a long way. No need for word embeddings, no need for neural networks. In this article, I’ll talk through such an approach.

Read more…