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. Usually when I learn a programming languages past the “Let’s see what it does different” stage, I do so because there is a concrete use-case - a project I want to contribute to. With Haskell it was different. My primary motivation to learn Haskell wasn’t a concrete use-case, but instead I had the impression studying the language would be worth it just for the sake of learning. It does many things different than most other mainstream languages and I wanted to become familiar with concepts I hadn’t seen before. (Spoiler: It was worth it)

Writing a couple of iterations of “Hello World” applications wasn’t going to get me far, and utilizing it in a project at work also wasn’t an option, so I started using it for my ad-hoc scripts or utility scripts. Previously Python was my go-to language for such things, but Haskell ended up replacing it. In this article I will go through some of the reasons.

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.

Avoid shallow functions

Friday, May 14, 2021

Over the last couple of years I’ve developed an intuition that shallow functions can be problematic and here I’d like to share some thoughts on why that is the case.

Are you asking too many questions, or not enough?

Thursday, April 15, 2021

Two scenarios that may sound familiar:

  • You’re in an office space and there is this one person who always asks questions that they could answer on their own by spending two minutes using Google DuckDuckGo. He feels super productive because he’s getting answers quickly, but the senior who has to answer starts getting annoyed by all the micro interruptions. It makes it hard for her to focus.

  • A new person joins a team, and they hardly ask any questions. Instead, they spend hours trying to figure out everything on their own.