June 1, 2019

My first Rust project

At work, I keep a todo list vaguely resembling a bullet-journal. +--------------+ | * Task | | x Completed | | > Migrated | | - Cancelled | +--------------+ ## 2019-05-27 x Version-pin deploy tooling x Build auth package * Replace Marco's deploy keys in the CI ## 2019-05-28 x Replace Marco's deploy keys in the CI * Write new ticket: failed logins on STG * Write new ticket: Create users for Kubectl * Investigate bug #123 ## 2019-05-29 x Write new ticket: Create users for Kubectl > Write new ticket: failed logins on STG Every working day, I open the file with my favourite editor, I add the date, and I report the unfinished items that I intend to work on. Read more

May 7, 2019

Learning C++, day three: Integer overflow

I was happily playing with my shiny new prime-number-checker, trying out how loops work in C++. When I started entering stupidly big numbers, something strange happened. ./main Enter a number: 5784320578432578493207508493 Congratulations, it's prime! Except, that is not actually a prime number. I can’t have typed a prime number by randomly banging on the keypad. What’s going on? I didn’t code any input sanitization in my prime-number-checker, so let’s check what my program actually gets. Read more

May 5, 2019

Learning C++, day two

My first steps: I have enrolled for a Pluralsight course I have installed a C++ syntax extension on my beloved editor. Discovery #1: Classes feel like language extensions In Go, primitive types are special. Some properties only apply to them; for example, there is no way of defining a behaviour for make(myType). Every primitive type brings its own built-in constructor, and custom types inherit the constructor from the primitive type they’re based on. Read more

May 4, 2019

Learning C++, day one

A long time ago, I started programming with Python. Everything was great and I was happy. Then I discovered Go. Everything was fast and portable and powerful. This is my first day into learning C++. Why? A SQL metaphor I used to be contributor to an opensource Go database adaptor: something like an object-relational mapper. Back then, I was fascinated by the idea of abstracting away SQL from my applications. Read more