Can you write a CLI using Java?

Saturday, May 14, 2022

A recent conversation got me curious about how people feel about writing command line applications in Java.

I knew that Java for many isn’t the first choice when thinking of building a CLI, but I was curious if people consider it an option at all. I started a poll on Twitter. Only 19 people participated, but the outcome was quite clear:

Java is a good choice to write command line applications

Option Votes
Agree 5.3%
Disagree 68.4%
No way, are you crazy 26.3%

If you asked me several years ago I’d have had a similar reaction, but in 2022 I’m not so sure anymore.

Reading science papers on a Remarkable

Thursday, January 27, 2022

A while ago I damaged my old tablet and got a Remarkable 2 as replacement. One of the use-cases for my old tablet was reading science papers. The remarkable can read PDFs and EPUB files and with a 10.3” screen it’s one of the larger eink devices on the market.

Computer science papers often use a 2-column layout, small font and large margins. It’s possible to read, but despite the screen size it wasn’t the most pleasant experience. It would be more convenient if we could re-arrange and re-flow the text.

Turns out we can.

Building a web 3.0 Twitter clone

Saturday, December 25, 2021

I am pretty certain that the whole web 3.0 story is a mind-bogglingly stupid idea, but I like to challenge my own views. I thought one way to do that is to explore how I’d build a web 3.0 twitter clone. This post is this exploration. I’ll try to suppress my bias as best I can.

Help people help you and put in some effort

Friday, December 3, 2021

This article is for you if you either:

  • Created an issue or bug report that boils down to “XY doesn’t work. Help me”
  • Entered a chat room and wrote “XY doesn’t work. Help me”
  • Trying to get help but nobody is answering

Why Haskell became my favorite scripting language

Friday, July 9, 2021

I started learning Haskell a couple of years ago. My usual reason to learn a programming language is because I have a concrete use-case - a project I want to contribute to. With Haskell it was different. My primary motivation wasn’t a concrete use-case, but instead I thought studying the language would be worth it for the sake of learning. It does things different than other mainstream languages and I wanted to become familiar with concepts I hadn’t seen before.

Writing a couple of iterations of “Hello World” applications wasn’t going to get me far. Utilizing it in a project at work wasn’t an option - instead I started using it for my ad-hoc and utility scripts. Before, Python was my go-to language for such things, but Haskell ended up replacing it. In this article I will show why.

Group By query execution in CrateDB

Friday, June 4, 2021 » CrateDB

In this post we’ll look at how CrateDB distributes GROUP BY queries. This is the fourth post in a series about CrateDB internals.

I assume that you’ve read the first and second post of the series. You may also be interested in the third post, but it is not necessary to read it to follow this article.

Distributed SELECT statement execution in CrateDB

Thursday, May 20, 2021 » CrateDB

This is the second post of a series about CrateDB internals. In the first post I introduced relational algebra, the optimizer and outlined how the execution works on a very high level. In this post I’ll explore the execution of a simple SELECT statement in more detail. This post focuses on the distribution aspect of the query execution.