20190205

2019-4 Readings of the week

Sorry for the delay, Sunday was my birthday (also, Elmo’s, and The Day The Music Died as well) and I spent the day without access to a computer.


NOTE: The themes are varied. Software/data engineering, psychology, formal systems. Expect a similar wide range in the future as well. You can check all my weekly readings by checking the tag here . You can also get these as a weekly newsletter by subscribing here.

The Art of Decision-Making

An overview of (what looks like) pop-sci books on decision making. There are some interesting ideas, especially regarding aspiration vs ambition.

The Soviet license plate game and Kolmogorov complexity

Excellent post as usual by John D. Cook mixing something interesting with a bit of mathematical analysis (which is also obviously interesting). Also makes Soviet license plates sound more interesting than they should.

Spark surprises for the uninitiated

I’ve known about the pain of non-deterministic Spark operators (went down some of the codebase rabbit holes while investigating a weird predicate push down rule I suspect is conceptually wrong). This post will actually get you scared: how do you test this?

Regrettable Code, Episode 1

A history about profiling a Python application and the accumulation of small decisions that lead to a large performance bottleneck.

High-Performance in Python with Zero-Copy and the Buffer Protocol

I wasn’t aware of the buffer class/protocol in Python, but it looks like something I should be aware of.

Simulating blobs of fluid

A long long time ago, I can still remember, I loved creating visualizations and animations. I still do, I just don’t have the time. Otherwise, I’d implement this.

Ask HN: Top three questions for a startup before accepting a job offer?

Not the first time a similar question has been asked in Hacker News, but it’s good to keep a few of this stored for future reference.

Ray: Application-level scheduling with custom resources

Dask and Ray are next in my list of stuff I want to try. I love Spark, and love Scala, but the more tools in my belt, the better an engineer I can be.

Rust on iOS

An updated tutorial on using a Rust library in a Swift application for iOS. I have tried, it actually works. I need a time machine or something.

Thread Pool Best Practices with ZIO

The idea reminds me of how the Go (Golang) scheduler handles the mapping between goroutines and OS threads.

The Kubernetes Scheduler

An awesome post about the Kubernetes scheduler and its internal workings, with partial TLA+ specs of the moving pieces. It may be a bit over-the-top if you don’t know a lot about K8s internals or any TLA+, but if you know a bit of two, you’re in for a treat.

Shadows used to peer around corners

Technique to peek behind corners from a still picture.

Queueing theory: The science of waiting in line

Another one by John (I think he has won the readings of this week? There’s no prize, though). I’m a mathematician by training, so I didn’t get to study some of the cool (and, according to CS major friends, boring) stuff I love to hear about, like... queuing theory.

Newsletter?

These weekly posts are also available as a newsletter. 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.
Written by Ruben Berenguel