20190120

2019-2 Readings of the week

NOTE: The themes are varied. Software/data engineering, languages, writing. Expect a similar wide range in the future as well. You can check all weekly readings by checking the tag here.

Goodbye, Mid-Range Shot

I love a good data visualization, for a long while, long, long time ago I was a paid subscriber to Nathan Yau’s Flowing Data. As usual, a short and interesting visualization where we can discover something about the world.

Speed up your Python using Rust

I need to try this ASAP. Write dylibs with Rust that you can use straight from Python (via the cpython crate).

Build Your Own Shell using Rust

I’m a lot into Rust lately, and here you can find out how to call subprocesses, how to handle errors, awaiting... It has a little bit of everything, even if you don’t intend to write a shell.

Introduction to TLA+ Model Checking in the Command Line

If you’ve been following my twitter or blog, you’ll know I’m really liking TLA+ for formal verification. It’s not like I have a lot to verify day-to-day as a big data engineer, but as soon as there are “big data” microservices around, TLA+ rocks to confirm all the Lego pieces fit as I think they fit. Cutting the story short, TLA+ runs on the TLC Toolbox, which is a Java application which is not super-modern-looking. If you’d rather use Sublime/Atom/Emacs/Vim/ed using TLC from the command line is possible and not hard. Take heed of Ron Pressler's comments on Reddit, though.

From Data Types to Session Types: A Basis for Concurrency and Distribution

The concept of session types seems very interesting. In a sense, Rust’s ownership/lifetime concept can model part of what session types cover.

How the Artificial Intelligence Program AlphaZero Mastered Its Games

I’ve been playing go, on and off (right now is on) for almost half of my life. Although I knew the basics already (I know some deep learning y’know), this is a good write up anybody could understand.

High-Performance Functional Programming Through Effect Rotation

I try to stay away from the more crazy levels of category theory inspired programming (as in, I use 0 of it and have no huge interest), but this post (Scala) about how to optimize stacked monad transformers was very interesting.

SoftwareMill blog: Free and tagless compared - how not to commit to a monad too early

I heard Adam talk about Free & Tagless at the Scala Exchange 2017 (IIRC), and it was one of the clearest expositions I had seen. This post is probably another, also from him. Totally recommended, with the bonus of getting to understand tagless encoding for “free”

Using spaced repetition systems to see through a piece of mathematics

I’m a big fan of spaced repetition in general and Anki in particular. Michaeel (Nielsen) uses it regularly for deeper understanding. If you want more “social proof”, Derek Sivers and Gwern Branwen also recommend it dearly.

The three-page paper that shook philosophy—a hacker’s perspective

When you can put a name on something, it becomes easier to handle. Gettier cases are such. Go read this.

Methods for Array Initialization in Rust

Just when I thought Scala offered too many ways for doing a thing, there comes Rust.

Experience report: organising a conference

I couldn’t attend Chris’ LambdAle last year (I will try this), but having helped organize PyData Barcelona, all he mentions are very valid concerns and tips.

Automatic categorization of text is a core tool now

It sounds obvious, but getting obvious staring you at the face without realizing is a problem.

Rust Performance Pitfalls

I’m still far from seeing performance issues in any Rust I have written (mainly because it’s a very small amount) but it’s good to know where I can stumble.

The Puzzle of Proto-Elamite

I love language history. If you do so too, you’ll enjoy this.

Understanding Rust Lifetimes

Nailing this is the main issue with Rust. This is a good introduction to lifetimes.

📚 The Haiku Handbook

Note this is an Amazon affiliate link. I have always liked Haiku (poems, the operating system is ok), and wanted to have a more formal model on them, to be able to write some someday. This is a very well-written book that reads quickly (to be fair, I skipped the chapter on Teaching)

Newsletter?

I’m considering converting this into a weekly newsletter in addition to a blog post. These days (since RSS went into limbo) most of my regular information comes from several newsletters I’m subscribed to, instead of me going directly to a blog. If this is also your case, subscribe by clicking here and if enough people join I’ll send these every Sunday night or so.
Written by Ruben Berenguel