2020#54 Readings of the Week
5 minutes read | 896 words by Ruben BerenguelI am on holidays (starting yesterday)! Two weeks of probably more programming than usual 🤣
This week I have started rewritting another personal project: awkrdeck, porting it from AWK to Haskell. It wisas a Frankenstein project, takes a valid presentation formatted in Deckset and generates a relatively similar presentation in reveal.js (via Pandoc). You still need Deckset, and you definitely should get Deckset if you don’t. For many reasons.
The new version is turning out pretty nice. The main reason is that the underlying process structure is different. Awkrdeck is a one-shot parser-and-rewrite engine. This means that it (mostly) reads line by line and outputs new lines according to the rewrite rules. Haskset (the new project) has properly separate parsing and rewriting steps, and using parser combinators makes the whole parsing ordeal a breeze. Expect a full write-up soon.
You can see a screenshoft from a slide from both below:
You can also get these posts as a weekly newsletter by subscribing here.
Full-Text Search Battle: PostgreSQL vs Elasticsearch
This is an interesting performance check. Previous trials I had seen were decent enough for certain loads (and once we tried and it was almost good enough for our case… almost).
Visualizing TSNE Maps with Three.js
This is impressive, and I’m looking forward the two weeks of holidays I have to delve into three.js for data visualisation. It was already on my radar for generative ideas, now I have an additional project for it.
📚 Just Fucking Ship
Meh. Motivational sugar.
Announcing Arrow 1.0
This announcement is a bit old, but it’s still a good one to check, since it has links to some Arrow related projects.
To design and develop an interactive globe
A technical blog post from Stripe. Transfer visualization in real time, reminiscent of the game First Strike. Or of the movie WarGames…
Instrumenting PySpark Applications using Spark Accumulators
This was super interesting. I had never thought of using accumulators for metrics, in general I tend to use counts and aggregates that can be parallelized and not run per executor.
Hypermodern Python 6: CI/CD
This started more meh than the others (using GitHub Actions) but it picks up the pace when you get to deploy to PyPI and TestPyPI and several other interesting things to do as part of your deployment process.
PySpark Dependency Management and Wheel Packaging with Poetry
A good post by Matthew Powers on packaging PySpark with Poetry. It’s missing the deployment though 😀
How to easily convert pandas to Koalas for use with Apache Spark
A quick overview from Databricks on how to use Koalas (a kind of translation layer from Pandas to PySpark)
How to Learn Everything: The MasterClass Diaries
The tale of a scholar diving deep into MasterClass classes (TL;DR they are kind of meh)
Grounded beef? Airlines sell in-flight meals to earthbound travellers
I find it hard to swallow.
Copy If You Can: Improving Your UI Design Skills With Copywork
It is a classic technique in writing (have ever heard of Benjamin Frankling cutting-and-pasting articles?) and painting, but not so much in the tech spaces. For web design, UI/UX work it seems a no-brainer to improve, but I wonder how it can be applied to other areas (areas I use more). Now I think a bit more about it, some of my generative work is technically copywork, in particular Schotter, Going crazy and Crazy nights (although this one was more inspired by other’s, it has many things only I have done as far as I know).
Olaf - Acoustic fingerprinting on the ESP32 and in the Browser
I love good hacks, especially when there is really no point besides wonder.
How to Script with Stack
This is surprisingly easy. Once I’m fluent enough, I can imagine myself using Haskell for short scripts more often.
Haskell from 0 to IO (Maybe Hero)
A very concise summary of Haskell.
Can Computers Solve the Collatz Conjecture?
Surprisingly, this defies Betteridge’s Law of Headlines. But it is not yes, don’t be so fast.
Design Tip: Never Use Black by Ian Storm Taylor
Also, the interface between pure black and a high contrast colour gets very blurry for people with astigmatism.
Mutation Testing: A Tale of Two Suites
The future of testing is formal methods and mutation testing. There, I said it.
Cat or panel heater: what is better?
Thermal capacity of cats. What else to say?
When Asbestos Was a Gift Fit for a King
I’d like to see a longer piece about this on Nautilus for instance. It was fascinating.
Speaking Knots
Well, as mentioned at the end, that’s basically Quipu.