Releases: oskardudycz/ArchitectureWeekly
29th April 2024
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Shopify - Improving Shopify App’s Performance
- Maxime Chevalier - The Alternative Implementation Problem
- David Hope - Async APIs - don't confuse your events, commands and state
DevOps
- Oskar Dudycz - How to configure a custom Test Container on the EventStoreDB example
- The NewStack - Top 10 Tools for Kafka Engineers
Databases
- Supabase - Supabase Storage: now supports the S3 protocol
- Marc Brooker - MemoryDB: Speed, Durability, and Composition.
Testing
Frontend
- 📺 Theo - From 0 to Production - The Modern React Tutorial (RSCs, Next.js, Shadui, Drizzle, TS and more)
- Evert Pot - ECMAScript 4: The missing version
Azure
Java
- Petri Kainulainen - Writing Integration Tests for Spring Boot Web Applications: Spring Profiles
- Oracle - JDK 17 approaches end-of-permissive license
.NET
- 📺 Ian Cooper - Kafka for .NET Developers
- Jimmy Bogard - Tales from the .NET Migration Trenches - Authentication
- Aaron Stannard - Akka.NET, ASP.NET Core, Hosted Services, and Dependency Injection
- Patrick Smacchia - Will Visual Studio Be Migrated to .NET Core and Become Multi-Platform?
Node.js
- Zachary Lee - Native Support for CJS/ESM Interoperability Begins in Node.js 22
- Node.js - Node.js 22 is now available!
TypeScript
Product Design
- Daniel D. McKinnon - Product Management at Meta vs. Google or My Take on How to Evaluate your {Google,Meta} Offer
- 📺 Daniel Terhorst-North - How to Bake a Change
Coding Life
Industry
- HashCorp - HashiCorp joins IBM to accelerate multi-cloud automation
- Microsoft - Open sourcing MS-DOS 4.0
Security
Trivia
22nd April 2024
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Indu Alagarsamy - Application and Architecture Modernization - Where do we Start?
- Fred Hebert - Embrace Complexity; Tighten Your Feedback Loops
- Marc Brooker - Formal Methods: Just Good Engineering Practice?
- Paul Reardon - Messaging Basics
- 📺 Michiel Overeem - How We Write Better Software with Low-Code
- 📺 Tomasz Lelek and Mark Rendle - Software Mistakes and Tradeoffs
- Omid Eidivandi - Automating EventCatalog at Scale
- Swift - API Design Guidelines
- 📺 Valentina Jemuović - Hexagonal Architecture in Monoliths and Microservices
DevOps
- Adidas Engineering - How we are managing a container platform: a tale about the past
- Giannis Papadakis - Evaluate Performance at Massive Scale workshop
- Tim Deschryver - Load testing
- Karpenter - Kubernetes Node Autoscaler built for flexibility, performance, and simplicity
- Microsoft - Autothrottle: A Practical Bi-Level Approach to Resource Management for SLO-Targeted Microservices
Databases
- Dylan Paulus - Postgres: The Graph Database You Didn't Know You Had
- Neo4j - ISO GQL: A Defining Moment in the History of Database Innovation
- Snowflake - A Breakthrough AI-Powered SQL Assistant
AI
Azure
AWS
Java
.NET
- 📺 Scott Hanselman - Stephen Toub - Deep Dive on LINQ
- Chisel - Remove unwanted dependencies from your dotnet projects
- Jeff Hansen - FxKit - Functional programming utilities and Roslyn components for writing expressive C#
- Oleksii Nikiforov - Building pipelines with System.Threading.Channels
Node.js
Industry
- The Verge - Microsoft starts testing ads in the Windows 11 Start menu
- The Verge - Nine Google employees arrested after eight-hour sit-in protest
Security
- Orca Security - LeakyCLI: AWS and Google Cloud Command-Line Tools Can Expose Sensitive Credentials in Build Logs
- PuTTY - Vulnerability vuln-p521-bias - private keys are exposed by biased signature generation
Trivia
15th April 2024
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Learn Software Architecture - Event Sourcing for Newbies - LIVE interview with Oskar Dudycz
- Discord - How Discord Moved Engineering to Cloud Development Environments
- Netflix - A Tale of Two Frameworks: The Domain Graph Service Framework Meets Spring GraphQL
- Edsger W.Dijkstra - On the role of scientific thought
- Barry O'Sullivan - Event Granularity: Modelling events in event driven applications
- IEEE Spectrum - Q&A: Adele Goldberg on the Legacy of Smalltalk. One of the language’s original developers talks about its influence on modern-day programming
DevOps
- InfoWorld - OpenTofu may be showing us the wrong way to fork
- Podman - Podman Desktop 1.9 Release
- derekhe - Keygen.sh docker compose example
Databases
Frontend
Java
- Saeed Zarinfam - How to Detect Cache Misses Using Observability
- Josh Long - Spring Tips: Hello, Java 22!
JavaScript
.NET
- PostgreSQL - Announcing pl/dotnet, version 0.99 (beta)
- Howard van Rooijen - ASP.NET Core + Razor + HTMX + Chart.js
- Martin Thwaites - Practical OpenTelemetry in .NET 8
- João Antunes - Primitive vs strongly typed dictionary keys (feat. frozen collections and BenchmarkDotNet)
TypeScript
- Oskar Dudycz - How to build an in-memory Message Bus in TypeScript
- Testing Signals with Angular Testing Library
Tools
- rebase-editor - Simple terminal based sequence editor for git interactive rebase
- Scoop - A command-line installer for Windows
Coding Life
Industry
- ITPro - AWS fined $525 million after US court rules Amazon S3 storage, DynamoDB services infringed patents
- Kove - Original compliant against Amazon
- Emna Ayadi - Diversity in Tech Conferences
Security
- 9to5Google - Google One VPN will be discontinued, Pixel VPN remains with upgrade coming
- CVE-2024-24576 (CVSS 10): Rust Flaw Exposes Windows Systems to Command Injection Attacks
- The Register - Apple stops warning of 'state-sponsored' attacks, now alerts about 'mercenary spyware'
- Arctic Wolf - Behind the Ballot: Insights from Arctic Wolf’s 2024 Election Security Survey
- Assured - Securing a Record-Breaking Election Year: Easier Said than Cyber Done
8th April 2024
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Oskar Dudycz - Event modelling anti-patterns explained
- Oliver Wehrens - Why you need a macro architecture
- Mario Bittencourt - Exploring Advanced Error Handling Patterns with Event-Driven Architecture — Part I
- Alessio Ferri, Tom Coggrave - Uncovering the Seams in Mainframes for Incremental Modernisation
DevOps
- Elastic - Elastic now providing distributions for OpenTelemetry SDKs
- OpenTelemetry - Span Links documentation
- The NewStack - Can OpenTofu Become the HTTP of Infrastructure as Code?
Databases
AWS
Azure
Java
.NET
- Chris Patterson - Using Open Telemetry with the MassTransit Test Harness?
- Steve Gordon, Martijn Laarman - Introducing Elastic's OpenTelemetry SDK for .NET
- Microsoft - Testing Your Native AOT Applications
- Khalid Abuhakmeh - Responsive Images Crash Course for ASP.NET Core Developers
WebAssembly
Coding Life
- Brent Ozar - How the Company-Startup Thing Worked Out For Me, Year 12
- Brendan Gregg - Brilliant Jerks in Engineering
Management
Security
- Evan Boehs - Everything I Know About the XZ Backdoor
- Lasse Collin - XZ Utils backdoor
- Gynvael Coldwind - xz/liblzma: Bash-stage Obfuscation Explained
- Thomas Roccia - XZ Outbreak InphoGraphic
- Andres Freund - backdoor in upstream xz/liblzma leading to ssh server compromise
- Rob Mensching - A Microcosm of the interactions in Open Source projects
1st April 2024
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Surabhi Diwan - Managing 238M Memberships at Netflix
- Hazel Weakly - Redefining Observability
- Diana Montalion - Systems Thinking for Software Professionals
- Woody Zuill, Kevin Meadows - But, We Need Proof Before We Try It
- Kurt Bittner, Pierre Pureur - Agile Architecture, Lean Architecture, or Both?
- Claudio Gargiulo - Consuming a Kafka Topic Is Easy, Isn’t It?
- Udi Dahan - Udi & Greg Reach CQRS Agreement
- Confluent - Introducing Tableflow
Databases
- CNCF - Linux Foundation Launches Open Source Valkey Community
- Harshit Agarwal - Spanner, TrueTime & The CAP Theorem
- Hannes Mühleisen - 42.parquet – A Zip Bomb for the Big Data Age
Testing
AI
Java
JavaScript
.NET
- Oskar Dudycz - I'm no longer Marten maintainer
- Andrew W. Lock - Implementing Dijkstra's algorithm for finding the shortest path between two nodes using PriorityQueue in .NET 9
- Stephen Toub, Scott Hanselman - Writing async/await from scratch in C#
- Anthony Simmon - .NET Aspire dashboard is the best tool to visualize your OpenTelemetry data during local development
- AWS - Introducing the AWS Message Processing Framework for .NET (Preview)
Tools
Management
Industry
Security
25th March 2024
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Oskar Dudycz - Testing Event Sourcing, Emmett edition
- Swizec Teller - The 3 budgets
- Josh Collinsworth - The quiet, pervasive devaluation of frontend
- Dan North - How simple is too simple?
- Decathlon - BFF: A design pattern helping teams gain ownership
- Expedia - Search Speed: Making Expedia Flights Faster
- Andrew Schofield - Queues for Kafka
- Linda Rising - Understanding the Power of Abstraction in Patterns
- 📺 Gregor Hohpe - Build Abstractions Not Illusions
DevOps
- OpenTelemetry - CNCF OpenTelemetry Graduation proposal
- McDonald's Technical Blog - Reduce, reuse, recycle: McDonald’s reusable workflows
- Retina - eBPF distributed networking observability tool for Kubernetes
Databases
- Redis - Redis Adopts Dual Source-Available Licensing
- Microsoft - Introducing Garnet – an open-source, next-generation, faster cache-store for accelerating applications and services
- Raddevus - How Much Can Sqlite Handle? Multiple Threads Concurrently Inserting Into Sqlite
AI
Testing
- Bruno - Opensource IDE For Exploring and Testing Api's (lightweight alternative to postman/insomnia)
Frontend
Java
- Inside Java - The Arrival of Java 22!
- Piotr Przybył - The best Java 22 feature: concurrent gathering
.NET
- 📺 The Breakpoing Show - Episode 016 – The 1 Billion Row Challenge With Mark Rendle
- Steven Giesel - NCronJob - Scheduling made easy
- Gérald Barré - Generate OpenAPI specification at build time from the code in ASP.NET Core
- Babu Annamalai - Marten native partial updates - patching
Node.js
TypeScript
Management
Security
Trivia
18th March 2024
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Oskar Dudycz - Join my Event Sourcing workshops at Techorama and DDD Europe and speed up your journey!
- Tim Berners-Lee - Information Management: A Proposal (WWW Proposal)
- Figma - How Figma’s databases team lived to tell the scale
- Neal Ford — Granularity and Communication in Microservice Architectures
- Rafał Maciak - Big Picture Event Storming - finding the gaps
- Kenny Baas-Schwegler and Bruno Boucard - Model-Driven Design
- DDD Crew - Domain Message Flow Modelling
- The Guardian - Tesco hit by grocery delivery glitch as Sainbury’s works to fix technical issue
- Last Week Tonight with John Oliver - Boeing
Databases
- PGlite - Lightweight Postgres packaged as WASM into a TypeScript library for the browser, Node.js, Bun and Deno
- Astro DB - A fully managed SQL database designed exclusively for Astro
DevOps
- CNCF - Cloud Native FinOps + Cloud Financial Management Microsurvey
- Double Trouble - How to dive deep into Gitlab Metrics with SQLite and Grafana
AI
Azure
- Alexandre Nedelec - Call your Azure AD B2C protected API with authenticated HTTP requests from your JetBrains IDE
- Microsoft - Announcing the release of workload profile and managed scaling of Timer Trigger for Azure Functions
Node.js
- Mario Bittencourt - Event Sourcing with Emmett: Reducing the Entry Barrier
- Brandon Roberts - Announcing AnalogJS 1.0 🚀
- Confluent - Confluent's Javascript Client for Apache Kafka
Java
.NET
- Arseniy Sharoglazov - Source Code Disclosure in ASP.NET apps
- SimdLinq - Drop-in replacement of LINQ aggregation operations extremely faster with SIMD.
- Steve Dunn - Prefer test-doubles over mocking frameworks
- Steve Gordon - Understanding System.Diagnostics DiagnosticSource and DiagnosticListener (Part 1)
Rust
- Cloudflare - Open sourcing Pingora: our Rust framework for building programmable network services
- Tower - Tower is a library of modular and reusable components for building robust networking clients and servers
- Ratatui - Rust library that's all about cooking up terminal user interfaces (TUIs)
Tools
Coding Life
- Farnam Street - Turning Pro: The Difference Between Amateurs and Professionals
- deprocrastination - Stop postponing things by embracing the mess
Management
11th March 2024
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Natalia Venditto - Beyond Micro Frontends: Effective Composable Decoupled Applications on Cloud Native Infrastructure
- Google - Secure by Design at Google
- White House - Back To the Building Blocks: A Path Toward Secure And Measurable Software
- Ian Cartwright, Rob Horn, James Lewis - Event Interception. Intercept any updates to system state and route some of them to a new component
- Patrick Roos - Ultimate Guide to Non-Functional Requirements for Software Architects: Meeting Stakeholder Expectations
- Buildkite - Goodbye integers. Hello UUIDv7!
DevOps
- Allegro Tech Blog - Unlocking Kafka's Potential: Tackling Tail Latency with eBPF
- The Register - Companies flush money down the drain with overfed Kubernetes cloud clusters
- cast.ai - 2024 Kubernetes Cost Benchmark Report
- dockur - Windows in a Docker container
Databases
AI
Elixir
Java
.NET
- Andrew Lock - An introduction to the heap data structure and .NET's priority queue
- Antão Almada - Measuring .NET Performance: Unleashing the Power of BenchmarkDotNet
- Scott Hanselman - Updating to .NET 8, updating to IHostBuilder, and running Playwright Tests within NUnit headless or headed on any OS
- NCrunch - NCrunch V5 Now Available
Node.js
- Oskar Dudycz - How to tackle compatibility issues in ECMA Script modules (and in general)
- Sarah Gooding - OpenJS Launches New Collaboration to Improve Interoperability of JavaScript Package Metadata
TypeScript
- Microsoft - Announcing TypeScript 5.4
- tsup - The simplest and fastest way to bundle your TypeScript libraries.
Coding Life
- Mathias Verraes - How to Fix a Bug: Tests, Hypotheses, Timeboxes
- Hillel Wayne - How to argue for something without any scientific evidence
Management
- Elizabeth Ayer - Too many cooks or not enough kitchens?
- Booking.com - DORA Metrics At Work. How we doubled our team’s delivery performance within a year as measured by DORA metrics.
- Brian Kelly - How to keep engineers out of meeting hell
Industry
- SkyNews - Google agrees $118m payout to female staff who were paid less than male colleagues
- The Record - After decades of memory-related software bugs, White House calls on industry to act
- 404 Media - Tumblr and WordPress to Sell Users’ Data to Train AI Tools
- ArsTechnica - Study finds that we could lose science if publishers go bankrupt
4th March 2024
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Uber - Cinnamon: Using Century Old Tech to Build a Mean Load Shedder
- Doordash Engineering - Staying in the Zone: How DoorDash used a service mesh to manage data transfer, reducing hops and cloud spend
- Pinterest - Running Unified PubSub Client in Production at Pinterest
- Jacqui Read - Decision Archeology: Using ADRs with Existing Products
- Mario Carrion - Using the C4 model to document Software Architectures
- Ryan Shriver - DDD: Design Bounded Contexts Miro Template
- David Boyne - Beyond producers and consumers: Avoiding common issues with event-driven architectures
- Nathaniel Schutta - Analyzing and Critiquing Architectures
- Michał Grabowski - Do not copy successful architectures
Databases
Testing
Frontend
- Nikita Prokopov - JavaScript Bloat in 2024
- Adam Fortuna - How we Increased Search Traffic by 20x in 4 Months with the Next.js App Router
- Rainer Hahnekamp - Local Change Detection in Angular
AI
Java
.NET
- Jeremy D. Miller - Marten 7.0 is Released!
- Martin Ullrich - Optimize for the Cloud – Lightning-speed .NET Container Apps
- Cezary Piątek - Mocking authorization tokens with WireMock.NET
- Aaron Stannard - .NET Performance Optimization: Deferred Allocations
WebAssembly
Coding Life
- Oskar Dudycz - Keeping our overachieving freak on a leash
- Damian Płaza - Inverse Bruce Lee maneuver
- Vadim Kravcenko - Falsehoods Junior Developers believe about becoming Senior
Management
Industry
- Chris Heilmann - Apple vs. PWAs – Go act now and help avoid this disaster
- Open Web Advocacy - Open Letter to Tim Cook, Sabotaging Web Apps Is Indefensible
- Open Collective Official Statement - OCF Dissolution
Security
26th February 2024
Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
Architecture
- Oskar Dudycz - Should you always keep streams short in Event Sourcing?
- Jack Lindamood - (Almost) Every infrastructure decision I endorse or regret after 4 years running infrastructure at a startup
- DoorDash - Meeting DoorDash Growth with a Self-Service Logistics Configuration Platform
- Zitadel - Why We Moved From CockroachDB to PostgreSQL
- Randy Shoup - Minimum Viable Architecture
- Zhamak Dehghani - How to break a Monolith into Microservices
- Danica Fine - Brick-by-Brick: Exploring the Elements of Apache Kafka
- Barry M O'Reilly - Residuality and Representation: Toward a Coherent Philosophy of Software Architecture.
DevOps
- git-secrets - Prevents you from committing secrets and credentials into git repositories
- checkov - Prevent cloud misconfigurations and find vulnerabilities during build-time in infrastructure as code, container images and open source packages with Checkov by Bridgecrew
- Gitpod - Develop directly on a Kubernetes cluster using a CDE (Gitpod) and Telepresence
Databases
AI
Azure
Node.js
- Emmett - WebApi support
- LLRT - (Low Latency Runtime) is an experimental, lightweight JavaScript runtime designed to address the growing demand for fast and efficient Serverless applications
.NET
- Jeremy D. Miller - Dynamic Tenant Databases in Marten
- Tomasz Pęczek - Azure Functions Extensibility - Runtime Scaling
- Avalonia - Farewell to the .NET Foundation
- Andrew Lock - Using named pipes with ASP.NET Core and HttpClient
TypeScript
- Alexey Berezin - With or without enums in TypeScript
- TypeScript Worksheet - Get the results of your TS or JS code right in your vscode
- Twoslash - Markup for generating rich type information in your documentations ahead of time
Tools
Product Design
- Elizabeth Ayer - Enshittification as Overproduction in Software, Part 1: Seeing Overproduction
- Elizabeth Ayer - Enshittification as Overproduction in Software, Part 2: Overproduction in the product lifecycle