a tumblelog
week 12, 2021

Many models workflows in Python: part I

This post demonstrates how to organize models into dataframes for exploratory data analysis, and discusses why you might want to do this. In a future blog post I will show how to extend the basic workflow I present here to handle sample splitting, custom estimators, and parallel processing.

Source: Many models workflows in Python: part I, an article by Alex Hayes.

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.

Ready Player One: Very Good

In the early evening I finished Ready Player One by Ernest Cline. I enjoyed the book a lot. At first I was afraid that too much knowledge of the 80's was required but that was not the case. Highly recommended.

Advanced Promises in Javascript (Dataloader Pattern)

In this post I want to show a possible scenario/problem that may appear in some applications and lay down the basics of the technique used to solve it.

Source: Advanced Promises in Javascript (Dataloader Pattern), an article by Mike Alche.

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.

How to create a 1M record table with a single query

Let’s say you want to check how a query behaves on a large table - but there is no such table at hand. This is not a problem if your DBMS supports SQL recursion: lots of data can be generated with a single query. The WITH RECURSIVE clause comes to the rescue.

Source: How to create a 1M record table with a single query, an article by Anton Zhiyanov.

How to write useful error messages

Aw snap, it broke. What do you say when things go wrong? Here’s a UX Writer’s guide to writing every error message with ease.

Source: How to write useful error messages, an article by James Cleaver.

The worst so-called “best practice” for Docker

Somebody is always wrong on the Internet, and bad Docker packaging advice is quite common. But one particular piece of advice keeps coming up, and it’s dangerous enough to merit its own article.

Source: The worst so-called “best practice” for Docker, an article by Itamar Turner-Trauring.

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.