Triumph Bonneville Dolomites Ride 2021

So the motorcycle-touring season has started, albeit a little late this year because of the COVID situation, and I’ve been avidly pursuing it. On Sunday, I embarked on a 700 km trip from my place to the Dolomites and back. It’s been a glorious day. We (Antonio and I) visited many renowned Mountain Passes, enjoyed stunning views, ate great food and chatted like there’s no tomorrow. I took my GoPro along with me. »

Linus Torvalds addresses an anti-vaxxer

Linus Torvalds’ reply to an anti-vaxxer on the Linux kernel list is a must-read. Pre-2018, Linus would have destroyed the poor chump. He’s discouraging further discussion (Kernel list is not the place for that) while providing crystal clear and detailed mRNA vaccine information, all without renouncing to an opening salvo of his good-ole, grumpy style. As John Gruber affirms, this is one rant we can all get behind. Subscribe to the newsletter, the RSS feed, or follow @nicolaiarocci on Twitter »

Custom default values for not existing dictionary items (and a lesson learned)

When dealing with dictionaries, a typical problem is when an operation attempts to retrieve an element using a key that does not exist in the dictionary. In .NET, a KeyNotFoundException is raised, and that’s the desired behaviour in most circumstances. Sometimes, however, you know that your program will frequently try to retrieve keys that do not exist. In such cases, it is more efficient to use the TryGetValue method: This method returns the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter is returned (source) »

Book Review: Alpi Ribelli: Storie di montagna, resistenza e utopia

The idea behind this book is fascinating. As the subtitle suggests, the book collects stories of rebel mountaineers of all kinds. Some chose to disobey orders; others built refuges of resistance, outposts of autonomy and laboratories of social innovation. The collection is rich and varied. We go from the heretics who went with Fra Dolcino to the partisans who stopped the Nazi fascists in the mountains of Cuneo and Belluno, up to the contemporary movements against the high-speed train in the Susa Valley. »

Open Source: What Happens When the Free Lunch Ends?

The article I’m linking today is authored by Aaron Stannard and focuses on the drama currently going on in the .NET Open Source ecosystem. We’ve all been there. A dependency we took aeons ago goes unmaintained or changes its licensing model. Why does this happen? Because at some point, projects need to become sustainable or else they fail. […] it’s inexpensive for maintainers to support a small number of users with relatively similar demands - but once a project achieves critical mass and the demand on the maintainers exceeds their desire to supply, something will have to give. »

Trade Wars 2002 and its connection to Eve Online

Trade Wars 2002 was a great 1991 online game I hosted on one of my BBSes back in the day. Not sure if it was Lorien or Phoenix BBS; it might have been the latter given the game’s release date. I totally forgot TW2002 until yesterday when I spotted this 1991: Trade Wars 2002 article on the 50 Years of Text Games newsletter. I humbly confess that, until yesterday, I never made the obvious connection between TW2002 and Eve Online. »

So tired of Homebrew messing up with my stuff

Pardon me while I’m venting out my frustration. I am so tired of Homebrew messing up with my stuff. It used to be the perfect tool for the right job until they decided to auto-brew-update-and-cleanup at every new install. Another day another issue, today with vim not running anymore: dyld: Library not loaded: /usr/local/opt/lua/lib/liblua.5.3.dylib Referenced from: /user/local/bin/vi Reason: image not found Lua has suddenly gone missing. Ah, but of course. »

On Programming and Writing

My brilliant friend Salvatore Sanfilippo (otherwise known as antirez of Redis fame) has an interesting write-up on his website. How similar is programming to prose writing? After getting his own feet wet with novel writing, he is convinced that the two activities share many common traits. One year ago I paused my programming life and started writing a novel, with the illusion that my new activity was deeply different than the previous one. »

Book Review: The Voice of the Sirens. The Greeks and the art of persuasion

According to a famous and fortunate Homeric expression, words are winged, not so much like birds but rather like arrows, which cut the air quickly to go straight to the target and break through the listener’s heart. The Greeks have always known that the word is used to convince and show truth and correctness. But they also know that it has a magical force in it: it can turn into a spell, capable of dominating and dragging the listener’s soul; to bewitch like music and to heal like medicine; but, above all, to deceive and mislead. »

Flask 2.0

Flask 2.0 has just been released. Along with it come many other major satellite releases: Werkzeug 2.0, Jinja 3.0, Click 8.0, ItsDangerous 2.0, and MarkupSafe 2.0. Across all projects, Python 3.6+ is now required, and comprehensive type annotations are supported. At a glance, I’d say that the biggest news is async views in Flask 2. Work has also been done around Werkzeug Request and Response classes to allow for better sync and async in the future (it’s not a public API yet. »

The Grim Secret of Nordic Happiness

For decades Scandinavian countries have been renowned for their educational systems, low levels of corruption, sustainable economy, social justice, overall quality of life. According to Jukka Savolainen on Slate, the reason why Finns have now been dominating the World Happiness Report four years in a row has little to do with these factors and more with their life expectations. Savolainen perspective is interesting because he is a Finn living in the US. »

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