dotnet SmtpClient should not be used

I am very late to the party, but today I learned that the good old dotnet SmptClient is considered obsolete and should not be used. Quoting the documentation: We don’t recommend using the SmtpClient class for new development because SmtpClient doesn’t support many modern protocols. Use MailKit or other libraries instead. (source) Interestingly, Microsoft is recommending a third-party open-source library as an alternative. I hope we’ll see more of that in the future. »

Book Review: One Man Caravan

Robert Edison Fulton was the first solo round-the-world motorcycle tourer. He made his worldwide trip on a two-cylinder Douglas motorcycle between July 1932 and December 1933, more or less 90 years ago. On his way from London to the colonial Middle East, Fulton crossed Nazi Germany. Some of the countries and places he passed do not exist anymore. Most have changed dramatically; others, not so much. I suspect, for example, that his adventures in Syria, Afghanistan, or at the Indian-Pakistani borders might have been written today. »

Git Worktree vs Git Savepoints

The official Git documentation presents the following example as a valid use-case for the worktree command: You are in the middle of a refactoring session and your boss comes in and demands that you fix something immediately. You might typically use git-stash1 to store your changes away temporarily. However, your working tree is in such a state of disarray (with new, moved, and removed files and other bits and pieces strewn around) that you don’t want to risk disturbing any of it. »

Earth Restored

Only 24 people have journeyed far enough to see the whole Earth against the black of space. The images they brought back changed our world. Here is a selection of the most beautiful photographs of Earth — iconic images and unknown gems — digitally restored to their full glory. Toby Ord’s recent Earth Restored project is a must-see. Subscribe to the newsletter, the RSS feed, or follow @nicolaiarocci on Twitter »

New Eve-Swagger and Flask-Sentinel releases

It’s maintenance day in my little Python world. I just released new versions of two small but apparently quite popular packages: eve-swagger, the OpenAPI/Swager extensions for Eve-powered APIs, hits v0.1.4. It’s just a single fix for API breakage introduced with the previous release; details available here. Thanks to Asger Gitz-Johansen for the help with this release. Flask-Sentinel, an Oauth2 Provider for Flask, hits v0.0.8. This also is a small release that fixes 500 errors if you were using unpinned versions of redis. »

I am a Mars Helicopter Contributor

As I was browsing my RSS feed this morning, I came across a new blog from Nat Friedman over at GitHub. The piece was titled “Open source goes to Mars”, and, of course, it caught my interest. In the article, Nat announced a Mars 2020 Helicopter Mission badge added to GitHub profiles contributing to open-source projects and libraries used by Ingenuity. Some time ago, like many others, I was granted the Arctic Code Vault badge, so I am familiar with the concept. »

Adding is favoured over subtracting in problem solving (and software systems)

Consider the 10x10 grids of green and white boxes below. How would you make them symmetrical? Most people would add green boxes to the emptier half of the grid rather than remove them from the fuller half. Even when the latter would have been more efficient. The case, along with a similar problem revolving around the stability of a peculiar lego structure, is reported by an intriguing Nature article on the topic of psychology and human behaviour. »

SQLite is the only database you will ever need in most cases

The name SQLite is a nice name, but the “lite” part is misleading, it sounds like it is only useful for tiny things - which is very wrong. SQLite should be named AwesomeSQL, because that is what it is. SQLite is probably the only database you will ever need in most cases Yeah. This article resonates with me. SQLite is the de-facto standard engine for embedded systems. But it should also be the go-to database for all those websites and services that don’t need to scale to multiple machines. »

Book Review: The Silence, A Novel

It is Super Bowl Sunday in the year 2022. Five people, dinner, an apartment on the east side of Manhattan. The retired physics professor and her husband and her former student waiting for the couple who will join them from what becomes a dramatic flight from Paris. The conversation ranges from a survey telescope in North-central Chile to a favorite brand of bourbon to Einstein’s 1912 Manuscript on the Special Theory of Relativity. »

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. »