The Real Book (of Jazz)

What a fascinating read. It sits right at the intersection of two of my (too many) vicious interests: Jazz music and books. Since the mid-1970s, almost every jazz musician has owned a copy of the same book. It has a peach-colored cover, a chunky, 1970s-style logo, and a black plastic binding. It’s delightfully homemade-looking—like it was printed by a bunch of teenagers at a Kinkos. And inside is the sheet music for hundreds of common jazz tunes—also known as jazz “standards”—all meticulously notated by hand. »

Quicker window snapping on macOS

I never see my macOS desktop. It’s always cluttered with way too many open windows. When I spot those fantastic, tidy and clean Desktops on the internet, I envy their owners. I wonder if and how they manage to keep those desktops tidy like that the whole workday. It must feel so good. I try to keep my windows well arranged. The typical setup might be two windows, from two different apps, tiled side by side. »

School assignments that count: simulating the COVID outbreak with the C language

Giulia got an exciting assignment from her teacher: Write a C program that simulates (a simplified version of) COVID outbreak spreading across a population of 200 people. When a healthy person comes into contact with a sick person, the healthy person becomes ill, too. After some time, a sick person will recover. A recovered person cannot infect a healthy person nor become sick again after coming in contact with a sick person. »

Book Review: In the Heart of the Sea, The Tragedy of the Waleship Essex

While reading Erebus, The Story of a Ship, my attention was caught by a brief mention of the Whaleship Essex. Being the sucker that I am for exploration and dramatic adventure stories from the early days, I researched it, only to surface with Nathaniel Philbricks’ In The Heart of the Sea in my hands. In the Heart of the Sea brings to new life the incredible story of the wreck of the whaleship Essex - an event as mythic in its own century as the Titanic disaster in ours, and the inspiration for the climax of Moby-Dick. »

The Hitchhiker’s Guide to Online Anonymity

This is a maintained technical guide that aims to provide introduction to various online tracking techniques, online id verification techniques and guidance to creating and maintaining (truly) anonymous online identities including social media accounts safely and legally. No pre-requisites besides English reading are required. At a glance, I suspect most people will be tempted to dismiss The Hitchhiker’s Guide to Online Anonymity as borderline paranoia. But make no mistake, it is a great resource. »

Half-century of service

Phil and Jeremy both turned 50 this year. They took the opportunity to write some half-century notes. Having turned 50 myself and inspired by them, I thought I would do the same. 0-10 I see the light 50 years ago in Molise, a southern region of Italy that also happens to be the smallest and less known. One year later, my brother joins the family. Our parents are from a small village in Molise heights. »

Get better at programming by learning how things work

When we talk about getting better at programming, we often talk about testing, writing reusable code, design patterns, and readability. All of those things are important. But in this blog post, I want to talk about a different way to get better at programming: learning how the systems you’re using work! This is the main way I approach getting better at programming. Once again, Julia Evans has great sensible advice up on her site. »

Write libraries, not services? Not so fast

Write libraries instead of services is an interesting article I read a while ago. I cannot get it off my head. In an attempt to clear up my mind, I decided to sit down and write about it. I have been writing libraries for a good part of my life. Most of my earlier dev-work resides on thousands of computers in the form of libraries. More recently, I have been writing and deploying remote services. »

How to add an empty directory to a Git repository

How do you add an empty directory to a Git repository? It’s a classic, and yet, I have to look it up every single time. Git does not support this out of the box: Currently the design of the Git index (staging area) only permits files to be listed, and nobody competent enough to make the change to allow empty directories has cared enough about this situation to remedy it. »

Author image Nicola Iarocci on #til, #git,

My Pusher of Digital Memorabilia

If you are a grumpy old geek like me, you are probably a sucker for vintage computer games too. I don’t play games. Not anymore. I still enjoy reading about them, though. I guess it’s mostly nostalgia. I also believe that the mid-80s up to the mid-90s really was the golden age of computer games. In my book, innovation started with Infocom’s text adventures and soft-ended with Origin’s Ultima Online. After that, it’s been a constant evolution. »

Book Review: Materada

I am very ignorant about the Istrian Peninsula’s history, a gap I always wanted to fill. After some research, Fulvio Tomizza’s book, Materada, surfaced as a good fit to fill this gap. It’s a semi-biographic historical novel set in the Istria of the author’s youth. Fulvio Tomizza was born in Giurizzani di Materada, Istria, in 1935. He had to go through all the torments caused in that disputed area by Fascism first (forced Italianization, cultural suppression), and then by the Second World War and the terrible events that followed: the Foibe massacres and the Istrian-Dalmatian exodus. »

Battling with SSH, cron jobs, and macOS Keyring

So today, I was setting up a cronjob on my trusty MacBook Pro. The goal was to backup some folders from a remote Linux server via rsync. The script is simple. It goes something like this: rsync -avz -e "ssh -i ~/.ssh/my_rsa_keyfile" myuser@myserver:remotedir/ ~/localdir/ Launched by hand, it works seamlessly. Call it from a cron job via crontab, and I get a permission denied error. I then enabled ssh -v option to gather a little intel on what was actually going on. »

How to Write Good Software Documentation

There is a secret that needs to be understood in order to write good software documentation: there isn’t one thing called documentation, there are four. They are: tutorials, how-to guides, technical reference and explanation. They represent four different purposes or functions, and require four different approaches to their creation. Understanding the implications of this will help improve most documentation - often immensely. I dig Daniele Procida’s take on writing good software documentation. »

How to Shrink a WSL2 Virtual Disk

I discovered you can use the “diskpart” tool to compact a VHDX. This allows you to shrink a WSL2 virtual disk file, reclaiming disk space. It appeared to work for me without any data corruption, taking the file size down from 100GB to 15GB. (source) I adore Parallels “reclaim disk space” feature. Just the other day, I got back 70GB off my Windows Guest in a breeze. I’m coming from VirtualBox, where reclaiming disk space is a significant pain. »

You Have to Write As Though Your Parents Are Dead

The Literary Hub has a great short interview with Ian McEwan. What’s the best writing advice you’ve ever received? When I was living in London at the start of my career in the mid-1970s, I became friends with Philip Roth, who took an avuncular interest in my work. Where many others thought my writing was wild and weird, he thought I wasn’t being wild enough. He once came to my apartment and spread the typescript of my first novel (The Cement Garden) over the floor. »

Cleaning Up Your Postgres Database

I am an application/backend developer who has to quibble with databases more often than desired. I can get my way around Postgres pretty well, but I can always use a hint or two, especially when it comes to fine-tuning and performance. I stumbled upon Cleaning Up Your Postgres Databases. It offers useful advice on spotting performance bottlenecks in your Postgres database. Take the cache and index hit queries, for example. »

Book Review: The Library at Night

As any other bookworm worth its salt, I digested a generous amount of books on books and the history of libraries. Alberto Manguel’s The Library at Night was last, and that is a pity. It probably arrived just a little too late on my shelves. I wish I found it at the beginning of my reading journey when my enthusiasm for libraries and their contents was pristine. Manguel’s writing is mesmerizing and capable. »

Semantic Versioning Will Not Save You

The always brilliant Hynek recently posted Semantic Versioning Will Not Save You. Primarily targeted at consumers of SemVer-versioned packages, it is full of insightful advice. From my perspective as an open-source maintainer, I can tell you that versioning is hard. Judging when a new release is going to break backward compatibility is not as simple as it might seem on the surface, and Hynek does a great job explaining why. Sometimes it is also hard for me to tell if a change in a codebase classifies as a new feature, small improvement, or fix—subtle differences. »

Reverse engineering an obfuscated codebase and fixing it in the process

Today’s mandatory reading is How I cut GTA Online loading times by 70%. As someone who’s been fighting the protection/obfuscation cat & mouse game for twenty+ years, let me tell you one thing. The way this guy reverse-engineered parts of the GTA5 codebase and then proceeded to single-handly triage and fix a long-standing (7+ years) performance issue is simply mindblowing. All he had to work with were heavily obfuscated dlls. This also shows how we, the protectors, are always playing a losing game. »

On the CEO and founder of Signal

Last weekend’s reading list also included Taking Back Our Privacy, yet another1 New Yorker piece but this time signed by Anna Wiener. This article is a long-read on Moxie Marlinspike, co-founder and CEO of Signal. Moxie is a childhood nickname. That alone signals (pun intended) an original personality. I mean, how many times have you heard of a CEO going by his childhood nickname? Indeed the personal story of Marlinspike, along with that of the ascent of Signal, is fascinating. »