week 12, 2021

Perl and XML in 2021: A few lessons learned

It’s been years since I’ve had to hack on anything XML-related, but a recent project at work has me once again jumping into the waters of generating, parsing, and modifying this 90s-era document format. Most developers these days likely only know of it as part of the curiously-named XMLHTTPRequest object in web browsers used to retrieve data in JSON format from servers, and as the “X” in AJAX. But here we are in 2021, and there are still plenty of APIs and documents using XML to get their work done.

Source: Perl and XML in 2021: A few lessons learned, an article by Mark Gardner.

The Conspiracy Club: A Novel

When his passionate romance with nurse Jocelyn Banks is cut short by her kidnapping and brutal murder, young psychologist Jeremy Carrier is left emotionally devastated, haunted by his lover’s grisly demise—and eyed warily by police still seeking a prime suspect in the slaying.

In the evening I started in The Conspiracy Club by Jonathan Kellerman.

Plurrrr Turns Two

Today it's two years ago that I wrote the first post for this tumblelog. Since then it has mostly been a link blog with here and there a post of my own hand. It has not always been easy to find links that I think are great. Sometimes it takes me quite some time browsing Hacker News. But I like to do this, and learn a lot doing so.

The Friendly Tabby

On my way to school, to pick up Adam, I encountered a tabby. When I called the cat it jumped on a nearby metal box and made clear it wanted to be petted, which I did.

The friendly tabby
The friendly tabby.

The magical applications of Zero-Sized Types in Rust

Rust has the concept of zero-sized types, or ZSTs for short. These are types that hold no information as part of their layout. A common misconception, however, is that this makes them trivial. Rather, they offer the necessary properties for a complex interactions between the type system and values. In the following text I will explore how they give rise to mathematical reasoning within Rust, but also show how this provides concrete application. We will work around restrictions in Rust's trait system, or show how libraries can side-step long-term commitments to single dependencies without breaking changes according to Semantic Versioning.

Source: The magical applications of Zero-Sized Types in Rust.

SQLite is not a toy database

Whether you are a developer, data analyst, QA engineer, DevOps person, or product manager - SQLite is a perfect tool for you. Here is why.

A few well-known facts to get started:

  • SQLite is the most common DBMS in the world, shipped with all popular operating systems.
  • SQLite is serverless.
  • For developers, SQLite is embedded directly into the app.
  • For everyone else, there is a convenient database console (REPL), provided as a single file (sqlite3.exe on Windows, sqlite3 on Linux / macOS).

Source: SQLite is not a toy database, an article by Anton Zhiyanov.

Python AI: How to Build a Neural Network & Make Predictions

If you’re just starting out in the artificial intelligence (AI) world, then Python is a great language to learn since most of the tools are built using it. Deep learning is a technique used to make predictions using data, and it heavily relies on neural networks. Today, you’ll learn how to build a neural network from scratch.

Source: Python AI: How to Build a Neural Network & Make Predictions, an article by Déborah Mesquita.

On JavaScript Ecosystem

A colleague of mine recently asked whether we consider the current state of the JavaScript ecosystem stable. As you may know, the problem of “JavaScript Fatigue” is real. If you haven’t heard about it – or you like nice drawings – consider reading this article on Auth0 blog as a primer.

A lot have changed within the last few years. That includes the number of things I experienced and my level of expertise. Keep that in mind, as both have a strong influence on my point of view.

As usual, the answer is: it depends. While plenty of positive things has happened – we’ll get to that in a minute – there is a bunch of new problems too. I hypothesize that it’s better in general.

Source: On JavaScript Ecosystem, an article by Radosław Miernik.

Darker Corners of Go

My goal is to collect in one place various things in Go that might be surprising to new developers and perhaps shed some light on the more unusual features of Go. I hope that would save the reader lots of Googling and debugging time and possibly prevent some expensive bugs.

Source: Darker Corners of Go, an article by Rytis Bieliūnas.

7 Git Commands You Might Not Know

Almost every software developer today knows at least a little bit about Git. In order to go beyond this "little bit", I'd like to show you seven short commands which you might not know - and which might help you become more productive and proficient with Git!

Source: 7 Git Commands You Might Not Know, an article by Tobias Günther.