Skip to content

Instantly share code, notes, and snippets.

@catitw
catitw / CMake_3_20_Ubuntu_18_04.md
Created January 10, 2025 03:34 — forked from bmegli/CMake_3_20_Ubuntu_18_04.md
CMake 3.20 in Ubuntu 18.04 (reversible way)

Motivatation

  • modern CMake is required for building a lot of new software
  • CMake is dependency for many packages (e.g. ROS related)
  • we don't want to remove CMake (which would remove packages that depend on it)
  • we want safe procedure to update CMake that can be reversed easily

Current version in OS

Check current version

@quad
quad / 0-a-logging-api.md
Last active July 22, 2025 11:06
Don't use log levels, use structured logging [DRAFT]

Don't use log levels, use structured logging

I read [an argument for only two log levels: INFO and ERROR][only-info-error]. I [responded][log-response] essentially saying:

  1. I lightly agree that we could get away with two log levels.
  2. I strongly disagree that we only need two ways to log.

Like the blog post's author, most of systems that I've worked on have had poor logging practices. But unlike the blog post's author, I strongly suspect that's because most logging APIs offer poor affordances.

@quad
quad / 0-modular-errors-with-rusts-thiserror.md
Last active October 31, 2025 19:58
Modular Errors with Rust's thiserror

I've been writing Rust full-time with a small team for over a year now. Throughout, I've lamented the lack of clear best practices around defining error types. One day, I'd love to write up my journey and enumerate the various strategies I've both seen and tried. Today is not that day.

Today, I want to reply to a blog post that almost perfectly summarised my current practice.

Go read it; I'll wait!


@bmegli
bmegli / CMake_3_20_Ubuntu_18_04.md
Last active June 11, 2025 01:16
CMake 3.20 in Ubuntu 18.04 (reversible way)

Motivatation

  • modern CMake is required for building a lot of new software
  • CMake is dependency for many packages (e.g. ROS related)
  • we don't want to remove CMake (which would remove packages that depend on it)
  • we want safe procedure to update CMake that can be reversed easily

Current version in OS

Check current version