Releases: oskardudycz/ArchitectureWeekly
8th July 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
- Michał Kosmulski - Ten Years and Counting: My Affair with Microservices
- David Cramer - The Problem with OpenTelemetry
- Google web.dev blog - Why Google Sheets ported its calculation worker from JavaScript to WasmGC
- Sindhu Pillai, Gregor Hohpe - Refactoring to Serverless: From Application to Automation
- Yan Cui - I’m sorry, but the way you adopt serverless is wrong
- Sheen Brisals - The Set Piece Strategy: Tackling Complexity in Serverless Applications
- Matt Wynne - The Iceberg Model: towards unraveling our patriarchal legacy
Databases
Testing
.NET
- Oren Eini - Cloned Dictionary vs. Immutable Dictionary vs. Frozen Dictionary in high traffic systems
- NDepend Blog - Readonly, Immutable, and Frozen Collections in .NET
- Mark Seemann - An immutable priority collection
- Andrew Lock - Exploring the generated code: List and fallback cases
Node.js
- Pongo - Mongo but on Postgres and with strong consistency benefits
- Oskar Dudycz - Introduction to Pongo
- Matteo Collina - Do not thrash the Node js event loop
Rust
TypeScript
Performance
Tools
- Chris Wanstrath - Why we need Ladybird
- Git Immersion - A guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it.
Management
Industry
- Goldman Sachs - Gen AI: Too Much Spend, Too Little Benefit?
- Sequoia - AI’s $600B Question
- The Verge - Microsoft’s AI boss thinks it’s perfectly okay to steal content if it’s on the open web
Security
Trivia
1st July 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
- Simon Brown - Misconceptions, misuses, and mistakes
- Indu Alagarsamy - Document your product and software architecture decisions.
- Loïc Carr - Falsehoods Software Developers Believe About Event-Driven Systems
- Uber - Modernizing Uber’s Batch Data Infrastructure with Google Cloud Platform
- Michael Staib - Why you should consider using persisted queries with GraphQL
- Gregor Hohpe - Old Books that Every Architect Should Read
Databases
- Oskar Dudycz - Filtering EventStoreDB subscriptions by event types
- F. Cardeneti Mendes, P. Sarna, P. Emelyanov, C. Dunlop - Database Performance at Scale
DevOps
AI
- Kaan Can Fidan - How Event Sourcing Can Power Machine Learning
- Ian Cooper - Is AI a Silver Bullet?
- Firefox - Choose how you want to navigate the web with Firefox
AWS
.NET
- linux-dev-certs - global tool that creates and installs a developer certificate on Linux
- Microsoft - Announcement: Swashbuckle.AspNetCore is being removed in .NET 9
- David Fowler - "Eventing framework" postponed and won't be a part of .NET 9
- Oren Eini - Building a Database Engine in C# & .NET
Coding Life
- Nat Bennett - Don't be results-oriented
- Tyler Sticka - Burned by My Own Hot Take
- Rich Hickey - Open Source is Not About You
Industry
- Ecosyste.ms - provides a set of free and open resources for those working to sustain and secure open source software
- PC World - Microsoft blocks Windows 11 workaround that enabled local accounts
- ArsTechnica - Internet Archive forced to remove 500,000 books after publishers’ court win
Security
- Sansec - Polyfill supply chain attack hits 100K+ sites
- Bleeping Computer - Polyfill.io, BootCDN, Bootcss, Staticfile attack traced to 1 operator
- The Cloudflare Blog - Automatically replacing polyfill.io links with Cloudflare’s mirror for a safer Internet
- The Register - Polyfill.io owner punches back at 'malicious defamation' amid domain shutdown
- Guardian - NHS patients affected by cyber-attack may face six-month wait for blood test
Trivia
24th 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
- Pierre Pureur, Kurt Bittner - Architectural Trade-Offs: the Art of Minimizing Unhappiness
- Gregor Hohpe - The Many Facets of Coupling
- 📺 Jim Weirich - Connascence Examined
- 📺 James Eastham - So You Want to Build An Event Driven System?
DevOps
- Oskar Dudycz - How to automatically setup pgAdmin with a Docker database
- Jesse Chen - Improving CI/CD with a Focus on Developer Velocity
- Johan Olsson - OpenTelemetry Part 3 - Observability
- Clickhouse - Building an Observability Solution with ClickHouse - Part 2 - Traces
- qryn - a fast, thin, all-in-one polyglot observability stack built on top of ClickHouse
- Nikolay Sivko - You're overpaying for OpenTelemetry's verbosity by at least 30%
Databases
Frontend
- Dominik Dorfmeister - React 19 and Suspense - A Drama in 3 Acts
- Nadia Makarevich - I tried React Compiler today, and guess what... 😉
- Carson Gross - htmx sucks
AI
Azure
Go
Java
.NET
- YoshiMaker - Serializers in IoT: Json.NET and System.Text.Json are Both Terrible!
- 📺 Dennis Dietrich - Introduction to unsafe C#: Calling native code and crashing in entirely new ways
- João Antunes - Transactional outbox pattern meets distributed tracing and OpenTelemetry
- Freakout - Just a general outbox thing
WebAssembly
Security
- Wired - Hackers Detail How They Allegedly Stole Ticketmaster Data From Snowflake
- EPAM - Response to Hacker Misinformation Regarding Data Breach
- Mandiant - UNC5537 Targets Snowflake Customer Instances for Data Theft and Extortion
Trivia
17th 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
- Sam Rose - Queueing. An interactive study of queueing strategies
- 📺 William Brander - Top 5 techniques for building the worst microservice system ever
- 📺 Developer Voices - Reimplementing Apache Kafka with Golang and S3
- Amarachi Iheanacho - Data journey through the Internet - The OSI model approach
Databases
- Awesome DuckDB - A curated list of awesome DuckDB resources
- Percona - PostgreSQL 17: Two Small Improvements That Will Have a Major Impact
- 📺 TimescaleDB - Fireside chat with AmazingCTO: Why use PostgreSQL for Everything?!
JavaScript
AI
- ArsTechnica - Apple unveils “Apple Intelligence” AI features for iOS, iPadOS, and macOS
- Slack - Balancing Old Tricks with New Feats: AI-Powered Conversion From Enzyme to React Testing Library at Slack
Azure
Elixir
Java
- Jonathan Ellis - Indexing all of Wikipedia, on a laptop
- Olimpiu Pop - Chicory - a WebAssembly Interpreter Written Purely in Java with Zero Native Dependencies
.NET
- Oskar Dudycz - Setting up NGINX load balancer for .NET WebApi
- David Fowler - Replacing WebApplicationFactory dependencies in Aspire integration tests
- Brian Gorman - Azure Queueing Messaging and Events
- Yoh Deadfall - Weakly and strongly typed values in .NET
- Andrew Lock - Introducing collection expressions in C#12. Behind the scenes of collection expressions - Part 1
Rust
Management
Industry
- Oracle - OpenAI Selects Oracle Cloud Infrastructure to Extend Microsoft Azure AI Platform
- Android Authority - Adobe wants to use your work to train its AI, and everyone is mad at it
Security
- ProPublica - Microsoft Chose Profit Over Security and Left U.S. Government Vulnerable to Russian Hack, Whistleblower Says
- noyb - Microsoft violates children’s privacy – but blames your local school
Trivia
10th 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