2021#20 Readings
5 minutes read | 1046 words by Ruben BerenguelI had a very entertaining week.
This has been my second week at Typeform, and I have done a couple bootcamps in other teams I will be in constant contact with. It has involved working a lot with Kubernetes (locally and in our development cluster, also got to trawl through Istio stuff) and Go, which I hadn’t written in a long while. I have also worked a bit in a few data tickets when I had some spare time. Having fun so far!
📯 Debug Go in VS Code
Although I focus on the setup for Go in this post, the important part is having an example of a preLaunchTask
and a postDebugTask
: with these you can start helper docker containers and stop them once done.
How the PostgreSQL optimizer works and speeds up queries
Many interesting things here. A pity Redshift is not a more modern Postgres.
Accidentally exponential behavior in Spark
These trees could have been easily squashed into an IN
clause 🤔
Do You Need Redis? PostgreSQL Does Queuing, Locking, & Pub/Sub
This looks ideal to save on an additional tech on the stack. Bad for resumes, good for team brains.
Thinking About Glue
Glue code is the dark matter of software.
5 Node Mystery
🤔
What the Heck is a Data Mesh?!
A lot of data, tables and plumbing, mostly.
The Data Engineering Manifesto
I would co-sign this.
How to find your zone of genius
I’m having trouble finding energy-providing tasks, this could help.
Hundreds of Ways to Get S#!+ Done—and We Still Don’t
So many apps, so few tasks done.
Static Typing for Ruby
The story of how they are using Sorbet. They are loving it, and I love it as well.
The Ancient Persian way to keep cool
The future requires recovering old architectural solutions like these.
Small tools for shaping
This was extremely interesting. A “process” post by Basecamp’s Ryan Singer.
John Cutler’s Product Leadership Expertise
Cedric experimenting into using ACTA to extract tacit knowledge. Still, the interesting part will be using ACTA more than finding out how John handles product teams. But that was interesting too.
What to do when you botch a release on PyPI
Good to know. I’m glad I don’t maintain anything of importance.
An Old Hacker’s Tips On Staying Employed
These seem like good ideas.
Some Ways that PyPy uses Graphviz
I love Graphviz, and you should too. Quick to learn, and easy to write code that generates it.
Why query planning for streaming systems is hard
While reading this post I was wondering: given data D, a query Q a query planner R is R(D, Q) = QP (a query plan). A heuristic query planner has the form R(_, Q) = QP (ignores data), and a streaming query planner would adapt to data changing over time $$D_t$$. Seen like this, we could have systems creating new query plans “in batch”, depending on what the data looks like. Somehow reminds me of Futamura projections.
1800s Astronomical Drawings vs. NASA Images
These are wonderful.
Announcing Spectacle-A language for Writing & Checking Formal Specifications in Haskell
This… this looks good. I kind of like TLA+, but writing specs in it is cumbersome and a bit horrible. And Pluscal(s) are not that great either even if easier to write. Alloy is easier to write, but writing temporal logic in Alloy (even with Electrum) is kind of painful (or more like I still can’t get it to work as I want). Spectacle has a lot of potential, and not only because it is Haskell-based.
The Big Sleep: The most baffling film ever made
I remember the book being confusing but good (actually added The Lady in the Lake to my Kindle a few months ago). I was more of a Hammett fan than a Chandler fan, but both are excellent.
The Quest to Recreate a Lost and ‘Terrifying’ Medieval Mead
Intriguing.
Why is it so hard to decide to buy?
Is this software core to your business and its unique value? Will you need to change the product regularly to meet new business needs? Does it need to adapt to those changes quickly, on the order of days or (few) weeks, in order to keep up with the demands? These are indications that this is core to the business, even if the software isn’t the direct business logic.
Why it’s difficult to build teams in high growth organisations | by Jason Yip | Medium
There are some interesting-looking references in here, not even counting Rumelt’s Good Strategy/Bad Strategy
Things you’re allowed to do
Sometimes you have to take off your blinders.
The Coach in the Operating Room
This is by Atul Gawande, and has the alternate title Personal Best. Gawande is a surgeon, and he uses surgical examples so if you are easily spooked by that, skip it. If you are not, consider reading his book The Checklist Manifesto too. I’m wondering now what coaching for software engineers could look like.
Using Go Generics
Coming from a Scala or Haskell point of view, I don’t think type parameters look that cumbersome in Go, and actually I really, really like how Go generics are shaping up. And they have just been enabled in by default.
Localstack with Terraform and Docker for running AWS locally
This seems an entertaining way of playing with Terraform locally.
WIP It Real Good. You are tasked with designing a system…
This was linked in the ACTA interview with John Cutler above, and it’s an interesting read.