This is the old domain blog.galowicz.de. You are being redirected to galowicz.de/index.html


Posts

Tags: book c++ haskell metaprogramming nix purescript python testing

Constructing Parameterized Matrices with GNU Octave

This week I was dealing with image processing and linear algebra, and I needed a quick derivation of a specific kind of matrix. With GNU Octave to the rescue, this cost me only a few minutes! This article represents my notes from this little journey from the mathematical derivation of the matrix and the symbolic solution that I then ported to C++.

Read more


Interpolation of Records of Values in Purescript

This article is about a little interesting detour that I made in one of my personal projects: How to use strong type systems to generically apply a binary mathematical function on all items of a possibly nested record. The code provides interesting insights into other languages with similar type systems.

Read more


Mixed C++ Monorepo Project Structure Development and Build Workflow

Most big C++ projects lack a clear structure: They consist of multiple modules, but it is not as easy to create individually buildable, portable, testable, and reusable libraries from them, as it is with projects written in Rust, Go, Haskell, etc. In this article, I propose a C++ project structure using CMake that makes it easy to have incremental monorepo builds and a nice modular structure at the same time.

Read more


(Qt)Quick C++ Project Setup with Nix

I never install toolchains globally on my systems. Instead, every project comes with its own nix file that describes the complete development toolchain versions and dependencies. This way, fresh checkouts always build the same way on every machine. This week I would like to show you how I set up a C++ project with the Qt Quick framework, and how to package the app and make it runnable for other nix users.

Read more


Automatic Testing of Display Resolution and Frame Drop Detection

This week, I like to share a project with you that started as a very interesting challenge and developed into an interdisciplinary, productive, and fun experience: A fully automatic multi-display end-to-end customer test prototype. In the end, it was surprising to see what parts of the code the most effort went into.

Read more


Book Review: Basic Forms of Anxiety

Software engineering, or generally IT jobs, are highly social because all big software projects or products are built by teams of professionals. When humans work with humans, all kinds of conflict can emerge, and they are often not as easy to fix as IT problems, especially in distributed teams with less offline human interaction. This article is about Fritz Riemann’s book “Anxiety”, which answers the question “What do people fear and how do they cope with it?”.

Read more


Book Review: Algorithms to Live By - The Computer Science of Human Decisions

What does the math tell us about how many job applicants we should look at before hiring one? While onboarding our new employees, how can ideas from the TCP networking protocol help us to identify the optimal workload for them? Why would giving employees unlimited vacation days most likely lead to less vacation being taken? Algorithms to live By - The Computer Science of Human Decisions gives some fascinating insights into such questions.

Read more


Book Review: The Phoenix Project

The Phoenix Project is a novel that has been declared a must-read by many IT executives. It provides smart solutions to the problems that most IT companies struggle with and is at the same time educating to read. What principles does it teach, and where does it fall short?

Read more


Book Review: The Culture Map

Why do American coworkers always communicate so clearly and directly, but at the same time criticize rather indirectly and cushioned? When do Asian coworkers finally jump in and say something in a meeting? How do German coworkers get done anything innovative in their fixated planning madness? After having experienced many strange situations in projects with people from around the world, I found Erin Meyer’s book The Culture Map to be so insightful that I would declare it a must-read for any software professional who works with or in international teams.

Read more


Book Review: A Philosophy of Software Design

What separates the truly great software developers from the average ones? People have lots of opinions about this, but it’s often hard to describe what makes the code of a great engineer so good - and what part of it novice programmers should really try to learn from. John Ousterhout’s book A philosophy of Software Design aims to answer this question and actually introduces some extraordinarily appropriate vocabulary for your next discussion about software quality.

Read more