Recent Favourite Reads - Newsletter 15.10.2023-20.11.2023
Main
- JEP 462: Structured Concurrency (Second Preview) ;
15 min
- JEP 461: Stream Gatherers (Preview) ;
12 min
Following the previous exploration doc "Gathering the streams" (mentioned in the July newsletter under point 48), the same concept of Gatherer as an intermediate operation and extension point for Stream API is now finally in the form of JEP. No major changes, but more details on how to build custom gatherers using factory methods
ofSequential(..)
,of(..)
, andGatherer.Integrator.ofGreedy(..)
are provided. These details may still change in future due to the "Preview" status, though. - RDF Dataset Canonicalization ;
30 min
- The Workflow Pattern ;
25 min
The article is a great and succinct review of implementing workflows backed with state machines, developing this idea further with event-sourced state machines. The proposed pattern simplifies the management of such workflows by decoupling the decision process to determine the next state and actions on a particular state. The pattern itself and F# examples remind me of a fabulous book, "Domain Modeling Made Functional", that could help you dive even deeper into functional and composable workflows.
- Better HTTP server routing in Go 1.22 ;
4 min
- Flappy Bird Implemented in Typescript types ;
7 min
- JEP 458: Launch Multi-File Source-Code Programs ;
9 min
- JEP 456: Unnamed Variables & Patterns ;
8 min
- JEP 455: Primitive types in Patterns, instanceof, and switch (Preview) ;
12 min
- Maxjourney: pushing discord’s limits with a million+ online users in a single server ;
6 min
- Kubernetes v1.28: Introducing native sidecar containers ;
5 min
- How Prime Video ingests, processes, and distributes live TV to millions of customers around the world, while reducing costs ;
10 min
- Write more "useless" software with comments;
4 min
- Abstract Interpretation in a Nutshell ;
10 min
- Protecting our platform from spikes in usage by reducing load from the Monzo app ;
10 min
- Testing virtual thread applications ;
5 min
- What is... a Concurrent Undo Cycle ;
4 min
- Kubernetes And Kernel Panics ;
5 min
- Keeping Figma fast ;
5 min
- The Anatomy of a Java Class File — An overview every Java Developer must know ;
12 min
- The Ultimate Interactive JQ Guide ;
10 min
- getaddrinfo() on glibc calls getenv(), oh boy with comments;
2 min
- How Miro leverages Open Policy Agent to implement authorization-as-a-service ;
11 min
- A new way to bring garbage collected programming languages efficiently to WebAssembly with corresponding announcement for Chrome browser
20 min
;6 min
- Some miscellaneous git facts ;
5 min
- Imaginary Problems Are the Root of Bad Software ;
9 min
- Sometimes, it is a compiler bug ;
10 min
- Confusing git terminology ;
12 min
- Kotlin 1.9.20 Released with release notes
3 min
15 min
Kotlin Multiplatform is now stable. It's safer to use for larger projects due to the commitment to follow the backward compatibility rules. It's great to see a new player on this scene. When I've started my personal knowledge management app last year, I was disappointed by the variety of options available to me as a JVM adherent and had to use Tauri. This could be reconsidered anew.
- Data engineering at Meta: High-Level Overview of the internal tech stack ;
11 min
- Streamlining Grab's Segmentation Platform with faster creation and lower latency ;
7 min
- How Pinterest scaled to 11 million users with only 6 engineers ;
5 min
- Streaming SQL in Data Mesh ;
7 min
- Go, Containers, and the Linux Scheduler with comments;
4 min
- How we work asynchronously ;
5 min
- Using Prolog as the AST ;
5 min
- Measuring Git performance with OpenTelemetry ;
13 min
- Reducing P99 Latencies with Generational ZGC by Stefan Johansson
Video content
18 min
- Introducing Amazon MSK Replicator – Fully Managed Replication across MSK Clusters in Same or Different AWS Regions ;
7 min
- PinCompute: A Kubernetes Backed General Purpose Compute Platform for Pinterest ;
18 min
- Introducing the Oracle Java Platform Extension for Visual Studio Code ;
2 min
- Analyzing Data 180,000x Faster with Rust ;
20 min
- How Northlight makes Alan Wake 2 shine ;
11 min
- JEP draft: Null-Restricted Value Class Types (Preview) ;
10 min
- Delta, Hudi, Iceberg — A Benchmark Compilation ;
6 min
- Death by a thousand microservices ;
10 min
Misc
- The Shortest Papers Ever Published ;
5 min
- A portrait of Tenochtitlan
Fantastic work! It's addictive both from an aesthetic point of view and from a historical interest. Unbelievable to see the capital of the Aztec Empire as a 3D reconstruction.
- Chekhov and Memory ;
8 min
- Device-measured physical activity, sedentary time, and risk of all-cause mortality: an individual participant data analysis of four prospective cohort studies ;
3 min
- Spain lives in flats: why we have built our cities vertically;
- Post-grind blending: An impractical or novel way to blend coffees? ;
6 min
- When to Shut Up: A Visual Guide (with included algorithm) ;
3 min
- One sleepless night can rapidly reverse depression for several days ;
4 min
Interesting projects
- sloop: Kubernetes History Visualization;
- OpenRefine: power tool for working with messy data and improving it;
- Kstreamplify: java library that brings new features on top of Kafka Streams;
- d-point: open-source digital stylus that uses camera tracking and inertial measurements to achieve 6DoF (six degrees of freedom) inputs;
- Introducing HAR Sanitizer: secure HAR sharing;
- SirixDB: embeddable, temporal, evolutionary database system, which uses an append-only approach to store immutable revisions;
- pix2tex: Using a ViT to convert images of equations into LaTeX code;
- asciinema: Terminal session recorder;
- vhs: Your CLI home video recorder;
- Formalizing 100 Theorems;
- t-rec: Blazingly fast terminal recorder that generates animated gif images for the web written in rust;
- rip: Solve and install Python packages quickly with rip (pip in Rust). An introduction article also available;
- formbricks
Source Survey Toolbox; - keep: The open-source alerts management and automation platform;
- postgresql-event-sourcing: A reference implementation of an event-sourced system that uses PostgreSQL as an event store;
I'm taking off my hat to the author: it's not only a handy project but also an exemplary filled and presented open source project containing architectural and sequence diagrams, theory overview and references. It covers event sourcing (anticipating common problems like snapshots), CQRS, as well as typical drawbacks of implementing event stores over Postgres.
- datahike: A durable Datalog implementation adaptable for distribution;
- The Cloud Computer with comments;
- Gluten: Plugin to Double SparkSQL's Performance;
- Robusta KRR: Prometheus-based Kubernetes Resource Recommendations;
- blaze: Blazing-fast query execution engine speaks Apache Spark language and has Arrow-DataFusion at its core;
- react-datasheet-grid: An Airtable-like / Excel-like component to create beautiful spreadsheets;
- lapce: Lightning-fast and Powerful Code Editor written in Rust;
- Reloader: A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods;
- coroutine: Durable coroutines for Go;
- protomaps: A free and open source map of the world;
- ladder: Selfhosted alternative to 12ft.io. and 1ft.io bypass paywalls with a proxy ladder and remove CORS headers from any URL;
- samply: Command-line sampling profiler for macOS and Linux;
- loro: Reimagine state management with CRDTs with introduction article;
- horrifying-pdf-experiments: Stuff which works in Chrome and maybe Acrobat and Foxit;