Recent Favourite Reads - Newsletter 15.10.2023-20.11.2023

Main

  1. JEP 462: Structured Concurrency (Second Preview)

    15 min

    ;
  2. 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(..), and Gatherer.Integrator.ofGreedy(..) are provided. These details may still change in future due to the "Preview" status, though.

  3. RDF Dataset Canonicalization

    30 min

    ;
  4. 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.

  5. Better HTTP server routing in Go 1.22

    4 min

    ;
  6. Flappy Bird Implemented in Typescript types

    7 min

    ;
  7. JEP 458: Launch Multi-File Source-Code Programs

    9 min

    ;
  8. JEP 456: Unnamed Variables & Patterns

    8 min

    ;
  9. JEP 455: Primitive types in Patterns, instanceof, and switch (Preview)

    12 min

    ;
  10. Maxjourney: pushing discord’s limits with a million+ online users in a single server

    6 min

    ;
  11. Kubernetes v1.28: Introducing native sidecar containers

    5 min

    ;
  12. How Prime Video ingests, processes, and distributes live TV to millions of customers around the world, while reducing costs

    10 min

    ;
  13. Write more "useless" software

    4 min

    with comments;
  14. Abstract Interpretation in a Nutshell

    10 min

    ;
  15. Protecting our platform from spikes in usage by reducing load from the Monzo app

    10 min

    ;
  16. Testing virtual thread applications

    5 min

    ;
  17. What is... a Concurrent Undo Cycle

    4 min

    ;
  18. Kubernetes And Kernel Panics

    5 min

    ;
  19. Keeping Figma fast

    5 min

    ;
  20. The Anatomy of a Java Class File — An overview every Java Developer must know

    12 min

    ;
  21. The Ultimate Interactive JQ Guide

    10 min

    ;
  22. getaddrinfo() on glibc calls getenv(), oh boy

    2 min

    with comments;
  23. How Miro leverages Open Policy Agent to implement authorization-as-a-service

    11 min

    ;
  24. A new way to bring garbage collected programming languages efficiently to WebAssembly

    20 min

    with corresponding announcement for Chrome browser

    6 min

    ;
  25. Some miscellaneous git facts

    5 min

    ;
  26. Imaginary Problems Are the Root of Bad Software

    9 min

    ;
  27. Sometimes, it is a compiler bug

    10 min

    ;
  28. Confusing git terminology

    12 min

    ;
  29. Kotlin 1.9.20 Released

    3 min

    with release notes

    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.

  30. Data engineering at Meta: High-Level Overview of the internal tech stack

    11 min

    ;
  31. Streamlining Grab's Segmentation Platform with faster creation and lower latency

    7 min

    ;
  32. How Pinterest scaled to 11 million users with only 6 engineers

    5 min

    ;
  33. Streaming SQL in Data Mesh

    7 min

    ;
  34. Go, Containers, and the Linux Scheduler

    4 min

    with comments;
  35. How we work asynchronously

    5 min

    ;
  36. Using Prolog as the AST

    5 min

    ;
  37. Measuring Git performance with OpenTelemetry

    13 min

    ;
  38. Reducing P99 Latencies with Generational ZGC by Stefan Johansson

    18 min

  39. Introducing Amazon MSK Replicator – Fully Managed Replication across MSK Clusters in Same or Different AWS Regions

    7 min

    ;
  40. PinCompute: A Kubernetes Backed General Purpose Compute Platform for Pinterest

    18 min

    ;
  41. Introducing the Oracle Java Platform Extension for Visual Studio Code

    2 min

    ;
  42. Analyzing Data 180,000x Faster with Rust

    20 min

    ;
  43. How Northlight makes Alan Wake 2 shine

    11 min

    ;
  44. JEP draft: Null-Restricted Value Class Types (Preview)

    10 min

    ;
  45. Delta, Hudi, Iceberg — A Benchmark Compilation

    6 min

    ;
  46. Death by a thousand microservices

    10 min

    ;

Misc

  1. The Shortest Papers Ever Published

    5 min

    ;
  2. 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.

  3. Chekhov and Memory

    8 min

    ;
  4. Device-measured physical activity, sedentary time, and risk of all-cause mortality: an individual participant data analysis of four prospective cohort studies

    3 min

    ;
  5. Spain lives in flats: why we have built our cities vertically;
  6. Post-grind blending: An impractical or novel way to blend coffees?

    6 min

    ;
  7. When to Shut Up: A Visual Guide (with included algorithm)

    3 min

    ;
  8. One sleepless night can rapidly reverse depression for several days

    4 min

    ;

Interesting projects

  1. sloop: Kubernetes History Visualization;
  2. OpenRefine: power tool for working with messy data and improving it;
  3. Kstreamplify: java library that brings new features on top of Kafka Streams;
  4. d-point: open-source digital stylus that uses camera tracking and inertial measurements to achieve 6DoF (six degrees of freedom) inputs;
  5. Introducing HAR Sanitizer: secure HAR sharing;
  6. SirixDB: embeddable, temporal, evolutionary database system, which uses an append-only approach to store immutable revisions;
  7. pix2tex: Using a ViT to convert images of equations into LaTeX code;
  8. asciinema: Terminal session recorder;
  9. vhs: Your CLI home video recorder;
  10. Formalizing 100 Theorems;
  11. t-rec: Blazingly fast terminal recorder that generates animated gif images for the web written in rust;
  12. rip: Solve and install Python packages quickly with rip (pip in Rust). An introduction article also available;
  13. formbricks Source Survey Toolbox;
  14. keep: The open-source alerts management and automation platform;
  15. 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.

  16. datahike: A durable Datalog implementation adaptable for distribution;
  17. The Cloud Computer with comments;
  18. Gluten: Plugin to Double SparkSQL's Performance;
  19. Robusta KRR: Prometheus-based Kubernetes Resource Recommendations;
  20. blaze: Blazing-fast query execution engine speaks Apache Spark language and has Arrow-DataFusion at its core;
  21. react-datasheet-grid: An Airtable-like / Excel-like component to create beautiful spreadsheets;
  22. lapce: Lightning-fast and Powerful Code Editor written in Rust;
  23. Reloader: A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods;
  24. coroutine: Durable coroutines for Go;
  25. protomaps: A free and open source map of the world;
  26. ladder: Selfhosted alternative to 12ft.io. and 1ft.io bypass paywalls with a proxy ladder and remove CORS headers from any URL;
  27. samply: Command-line sampling profiler for macOS and Linux;
  28. loro: Reimagine state management with CRDTs with introduction article;
  29. horrifying-pdf-experiments: Stuff which works in Chrome and maybe Acrobat and Foxit;

Books