Releases: oskardudycz/ArchitectureWeekly
3rd June 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 - Combining the To-Do List and the Passage Of Time patterns for resilient business workflows
- Marc-Andre Giroux - Why, after 8 years, I still like GraphQL sometimes in the right context
- Matt Bessey - Why, after 6 years, I’m over GraphQL
- 📺 How About Tomorrow? Podcast - What Does “Full Stack” Mean? w/ Taylor Otwell and Ryan Florence
- 📺 Mufrid Krilic - Multiple Models with Multiple Perspectives in a Cross-Functional Team
- Ralf Westphal - Integration Operation Segregation Principle (IOSP)
- DocuEye - A tool that lets You visualize views and documentation created using Structurizr DSL
- Matt Wynne - Introducing Example Mapping
- Gojko Adzic - Example Mapping
Database
- Stripe - How Stripe’s document databases supported 99.999% uptime with zero-downtime data migrations
- Lukas Fittl - Understanding Postgres GIN Indexes: The Good and the Bad
Testing
Azure
Node.js
- Streams - Living Standard
- 📺 Matteo Collina - A Deep Dive into Node.js Streams
- web-streams-polyfill - Web Streams, based on the WHATWG spec reference implementation
- Turbo - Turborepo 2.0 released
- Jack Herrington - NextJS 15: React 19, Less Caching, Turbopack, Better Hydration Errors and MORE from Vercel Ship!
.NET
- Ian Cooper - Practical Messaging
- Dustin Campbell, Mads Torgersen - What’s new in C# 13
- Tim Deschryver - Consuming .NET Feature Flags within an Angular Application
- Blazor.TSRuntime - An improved JSRuntime with automatic JS-module loading and caching, compile time errors instead of runtime errors and nice IntelliSense guidance
Coding Life
Management
- Christiaan Verwijs - Why Science Is Essential To Professionalize Our Community
- Christiaan Verwijs & Daniel Russo - Do Agile scaling approaches make a difference? an empirical comparison of team effectiveness across popular scaling approaches
Security
- Mat Duggan - IAM Is The Worst
- Sam Curry - Hacking Millions of Modems (and Investigating Who Hacked My Modem)
- ArsTechnica - Microsoft is reworking Recall after researchers point out its security problems
Trivia
3rd June 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
- Google Cloud Blog - 5 myths about platform engineering: what it is and what it isn’t
- Andy Jiang, Luca Casonato, Jo Franchetti - How to document your JavaScript package
- Afrefs - How Ahrefs Gets a Billion Dollar-Worth Infrastructure With a 90% Discount
- Tommi Hovi - Demystifying cookies and tokens
- Decentralized Identity Foundation - Decentralized Identifiers (DIDs) as an Identifier Metasystem
DevOps
Frontend
Database
- Markus Winand - Use the Index, Luke! A Guide to Database Performance for Developers
- CedarDB - An ode to PostgreSQL, and why it is still time to start over
Testing
AWS
Java
- Nicolai Parlog - Model Data, the Whole Data, and Nothing but the Data - Data Oriented Programming v1.1
- Vlad Mihlacea - PostgreSQL COPY result set to file
.NET
- Damien Bod - Implement a Microsoft Entra ID external authentication method using ASP.NET Core and OpenIddict
- Michael Staib - Getting Started with OpenTelemetry and GraphQL in .NET
- Andrew Lock - Thoughts about primary constructors: 3 pros and 5 cons
- dnvm - A command-line interface for installing and updating different dotnet SDKs
Coding Life
Industry
- Robin Dev - Cloudflare took down our website after trying to force us to pay 120k$ within 24h
- VentureBeat - Dell earnings reveal sluggish enterprise AI adoption
- TechRadar - EU ChatGPT Taskforce: a road to GDPR enforcement on AI?
- Above the Law - Airline Said It's Not Responsible For Terrible Advice From Its Own Customer Service AI Bot. The Court... Disagreed.
Security
- Kevin Beaumont - Snowflake at centre of world’s largest data breach
- ArsTechnica - Google Chrome’s plan to limit ad blocking extensions kicks off next week
- Zeev Kalyuzhner - Exploiting LLMs: Unpacking Excessive Agency in a 6-Step Guide
Trivia
27th May 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 - Migrating a Trillion Entries of Uber’s Ledger Data from DynamoDB to LedgerStore
- The Register - Google Cloud shows it can break things for lots of customers – not just one at a time
- Pinterest Engineering - How a one line change decreased our clone times by 99%
- the engineering club - Inverse-Conway-Maneuver with Nick Tune
- Jonny LeRoy - Dealing with creaky legacy platforms
- Bruno Costa - You probably don’t need microservices
- Adam Bellemare - Preventing and Fixing Bad Data in Event Streams — Part 2
- 📺 Developer Voices - Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner)
- Maaret Pyhäjärvi - Making Releases Routine
- Antithesis - The worst bug we faced at Antithesis
- J. Liu, S. Poulsen, E. Goodwin, H. Chen, G. Williams, Y. Gertner, D. Franklin - Teaching Algorithm Design: A Literature Review
- David Boike - What does idempotent mean in software systems?
DevOps
Databases
- Mike Stonebraker - Introducing DBOS Cloud: Transactional Serverless Computing on a Cloud-Native OS
- Alexander Belanger - An unfair advantage: multi-tenant queues in Postgres
- Jonathan Katz - Scalar and binary quantization for pgvector vector search and storage
Frontend
- Minko Gechev - Angular v18 is now available!
- Jack Herrington - React Compiler With React 18
- React - React Compiler
Java
Kotlin
- Artur Skowronski - Kotlin 2.0 & opinionated Wrap-up of KotlinConf 2024 – JVM Weekly vol. 84
- JetBrains - Celebrating Kotlin 2.0: Fast, Smart, and Multiplatform
- Kotlin - What's new in Kotlin 2.0.0
.NET
- Oskar Dudycz - Why you should batch message processing and how to do it with .NET AsyncEnumerable
- Microsoft - General Availability of .NET Aspire: Simplifying .NET Cloud-Native Development
- Microsoft - .NET Announcements and Updates from Microsoft Build 2024
- Andrew Lock - Thoughts about primary constructors: 3 pros and 5 cons
- Chris Simon - TDD, DDD, and C# from the Ground Up
Tools
Management
20th May 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 - Let's build the worst Event Sourcing system!
- ArsTechnica - “Unprecedented” Google Cloud event wipes out customer account and its backups
- chubernetes - Evolution of Monolithic Systems
- 📺 Tech Leaders Launchpad - How to Stay Adaptable as a Startup CTO with Chris Simon
- Udi Dahan - Race Conditions Don’t Exist
- Learn Software Architecture - The Functional Turn: Rethinking Programming Paradigms - LIVE interview with Urs Enzler
- Uptime - Building sustainable software architectures using residuality theory
- James Shore - Free Self-Guided “Testing Without Mocks” Training
DevOps
- Oskar Dudycz - Docker Compose Profiles, one the most useful and underrated features
- The Stack - Oracle goes vegan: Dumps Terraform for OpenTofu
- Maciej Pocwierz - How an empty S3 bucket can make your AWS bill explode
- AWS - Amazon S3 will no longer charge for several HTTP error codes
- Marc Campbell - Understanding how uid and gid work in Docker containers
- GitHub - dependabot-core is now open source with an MIT license
Databases
Testing
- Emily Bache - I REGRET Not Telling Dave Farley THIS about Approval Testing
- Hillel Wayne - "Integration tests" are just vibes
AI
- Reuters - OpenAI strikes deal to bring Reddit content to ChatGPT
- Slack - How Slack protects your data when using machine learning and AI
- The NewYork Times - What Do You Do When A.I. Takes Your Voice?
AWS
Java
JVM
.NET
- Microsoft - .NET 7 will reach End of Support on May 14, 2024
- Dan Clarke - Snapshot Testing with Verify
- 📺 Aaron Stannard - Make Illegal States Unrepresentable - N+1 and Arithmetic Errors
- Martin Thwaites - Trace Propagation and Public API Endpoints in .NET – Part 1 (Disable All)
Coding Life
Industry
Security
Trivia
13th May 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
- Joshua Bloch - How To Design A Good API and Why it Matters
- Eugene Yan - Simplicity is An Advantage but Sadly Complexity Sells Better
- Eberhard Wolff & Alberto Brandolini: The Chasm Between Architecture and Business
- Mohit Palriwal - Unraveling the Enigma: Debunking Myths Surrounding Lambda Cold Starts
- Adam Bellemare - Preventing and Fixing Bad Data in Event Streams — Part 1
- Matt Butcher - Polyglot Programming with WebAssembly: A Practical Approach
- Maciej "MJ" Jędrzejewski - When Can't Trunk: Meet Short-Living Branches
DevOps
- Timescale - A Deep Dive Into OpenTelemetry Metrics
- Docker - Wasm vs. Docker: Performant, Secure, and Versatile Containers
- Bert Wullems - Kubernetes–Setup a local cluster through Podman Desktop
Databases
Distributed Systems
AI
UX
- Dean Schuster - The Crisps and Pickle Story: What's Really Behind Infamous, Historic UI Failures?
- How-To Geek - A Visual History of Windows Icons: From Windows 1 to 11
Java
Kotlin
.NET
- Aaron Stannard - Easy, Database Agnostic NET Event Sourcing and CQRS with Akka.NET
- João Antunes - Where are my traces? (weird .NET meets OpenTelemetry gotcha)
- Stephen Toub, Scott Hanselman - Deep Dive into RegEx
- Richard Lander - Secure your container build and publish with .NET 8
Tools
Coding Life
Management
Industry
- OpenAI - API Partnership with Stack Overflow
- The Register - Stack Overflow simply bans folks who don't want their advice used to train AI
Security
6th May 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
- Corey Quinn - Multi-Cloud is the Worst Practice
- Vercel - Why all application migrations should be incremental
- Anton Zaides - How refactoring almost ruined my marriage. And why it should be your LAST choice
- 📺 Jacqui Read - Knowledge Management for the Technically Inclined
- John D. Sterman - All models are wrong: reflections on becoming a systems scientist
DevOps
Testing
UX
Frontend
AI
- 📺 Michelle Frost - The Elephant in your Dataset: Addressing Bias in Machine Learning
- Martin Fowler - An example of LLM prompting for programming
AWS
- AWS - Improving Developer Productivity at Disney with Serverless and Open Source
- Luca Mezzalira - AWS Lambda under the hood
Azure
Google Cloud
Java
- Oskar Dudycz - This is not your uncle's Java! Modelling with Java 22 records pattern matching in practice
- 📺 Brian Goetz - Java Language Update -- a look at where the language is going
.NET
- TurboMqtt - The fastest Message Queue Telemetry Transport (MQTT) client for .NET.
- Daniel Marbach - Beyond simple benchmarks—A practical guide to optimizing code with BenchmarkDotNet
- dotnet-xunit-otel - An xUnit test framework that wraps tests in a trace to provide better visualisation of the test flows
- EFCoreSecondLevelCacheInterceptor - EF Core Second Level Cache Interceptor
Node.js
Management
- James Shore - A Software Engineering Career Ladder
- Hazel Weakly - Observations of Leadership (Part One)
- John Cutler - Software Development As Collective Learning With Hazel Weakly
Industry
- Harvard Business Review - If There’s Only One Woman in Your Candidate Pool, There’s Statistically No Chance She’ll Be Hired
- Microsoft - Microsoft announces US$1.7 billion investment to advance Indonesia’s cloud and AI ambitions
- TechCrunch - Google lays off staff from Flutter, Dart and Python teams weeks before its developer conference
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