Releases: oskardudycz/ArchitectureWeekly
Release list
18th July 2022
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. You may also consider joining Tech for Ukraine initiative.
Architecture
- Neal Ford - Granularity and Communication Tradeoffs in Microservices
- Z. Zhang, M. K. Ramanathan, P. Raj, and A. Parwal, T. Sherwood, M. Chabbi - CRISP: Critical Path Analysis of Large-Scale Microservice Architectures
- Oskar Dudycz - Event-driven distributed processes by example
- Andrzej Ludwikowski - Event Sourcing - what could possibly go wrong?
Distributed Systems
- SoftwareMill - Kafka Visualization
- Antón Rodríguez - Monitoring Kafka without instrumentation using eBPF
DevOps
Databases
- Daniel Palma - High-performance open-source Data Lakehouse at home
- Replibyte - Seed your development database with real data
AI
- Sayash Kapoor, Arvind Narayanan - Leakage and the Reproducibility Crisis in ML-based Science
- Simon Willison - Using GPT-3 to explain how code works
AWS
Go
Google Cloud
.NET
- Dina Bogdan - Intro to Virtual Actors by Microsoft Orleans
- Microsoft - Announcing Rate Limiting for .NET
- Marc Gravell - Unusual optimizations; ref foreach and ref returns
- Khalid Abuhakmeh - EF Core and Minimal API sample for multi-tenancy example using global filters
Rust
- Dorian Scheidt - Improving “Extract Function” in Rust Analyzer
- Gaëtan Renaudeau - Plottable Era: (I) Primitive
WebAssembly
Coding Life
Management
- Paweł Huryn - Watch Out, Waterfall Ahead! The Truth About SAFe
- CA Technologies - The Impact of Agile. Quantified.
Industry
Trivia
8th August 2022
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. You may also consider joining Tech for Ukraine initiative.
Architecture
- Gregor Hohpe - Mastering the Architecture Mindset
- Trond Hjorteland - Good Fences Make Good Neighbours
- Pete Hodgson - Why Intuitive Troubleshooting Has Stopped Working for You
- Jérémie Chassaing - Event Sourcing vs Command Sourcing
Databases
- AWS - Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service
- Alex DeBrie - Key Takeaways from the DynamoDB Paper
DevOps
Frontend
- Luis Aviles - Routing Management with LitElement and TypeScript
- Angular - Minko Gechev - 4 Runtime Performance Optimizations
Go
.NET
- On .NET Live - LINQ to GraphQL: Query GraphQL with LINQ syntax with Giorgi Dalakishvili
- EfficientDynamoDB - High-performance C# DynamoDb library
- AWSLabs - AWS Lambda Powertools for .NET - A suite of utilities for AWS Lambda Functions that makes tracing with AWS X-Ray, structured logging and creating custom metrics asynchronously easier
- FluentMermaid - Mermaid.js fluent api for .NET
- Hirotada Kobayashi - PlantUmlClassDiagramGenerator - This is a generator to create a class-diagram of PlantUML from the C# source code
NodeJS
Rust
WebAssembly
Coding Life
Management
- Lucas F. Costa - Why long-term plans don't work and how to fix them
- Guy Dickinson - Skills as a System
- N. Meslec, I. Aggarwal, P.L. Curseu - The Insensitive Ruins It All: Compositional and Compilational Influences of Social Sensitivity on Collective Intelligence in Groups
Product Design
Industry
Trivia
1st August 2022
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. You may also consider joining Tech for Ukraine initiative.
Architecture
- Alicja Halamska, Dawid Kubicki - Exploring GraphQL’s performance tradeoffs
- Miki Pokryvailo - Shipping multi-tenant SaaS using Postgres Row-Level Security
- Jessica Kerr - To share the work, share the decisions
- Michael Plöd - Context Maps - a deep dive
- Mathias Verraes - Bandwidth and Context Mapping
- Simon Brown - Visualising software architecture with the C4 model
- DDDEU - A Commune in the Ivory Tower? - A New Approach to Architecture
Databases
DevOps
Functional Programming
C++
- Google - Carbon Language: An experimental successor to C++
- Maslow's Inferno - Unreal Engine Tutorials
.NET
- Oskar Dudycz - Union types in C#
- Jeremy D. Miller - Projecting Marten Events to a Flat Table
- Christophe Nasarre - Digging into the CLR Diagnostics IPC Protocol in C#
- Khalid Abuhakmeh - Entity Framework Core with PostgreSQL and Timescale
- FSharp Companies - Community curated list of companies that use F#
Coding Life
Management
Product Design
Industry
- TechPays.com - Information about salaries in tech industry
- Cindy Sridharan - Why Success Is Often Elusive at the Highest Echelons
- Mashable - Slack finally realized that Slack makes permanent remote work possible
Security
- Indent - Indent for Tailscale
- Chinmayi Sharma - Open-Source Security: How Digital Infrastructure Is Built on a House of Cards
Trivia
25th July 2022
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. You may also consider joining Tech for Ukraine initiative.
Architecture
- Oskar Dudycz - How to effectively compose your business logic
- Anton Stöckl - Event Sourcing: Why Kafka is not suitable as an Event Store
- David Boike - Let's talk about Kafka
- Bob Nystrom - Game Programming Patterns
- Tony Hoare - Null References: The Billion Dollar Mistake
- Byron Ruth - Implementing an event store on NATS: Design
- InfoQ - Susanne Kaiser on DDD, Wardley Mapping, & Team Topologies
Distributed Systems
Databases
API
Frontend
AI
Java
.NET
- Daniel Marbach - Performance tricks I learned from contributing to open source .NET packages
- NDepend - Visual Studio vs. Jetbrains Rider Performance
- .NET Rocks! - WASM Everywhere with Steve Sanderson
- Brian Surowiec - dotnet-run-script - A dotnet tool to run arbitrary commands from a project's "scripts" object
Go
JavaScript
NodeJS
Coding Life
Security
- Bruce Schneier - Facebook Is Now Encrypting Links to Prevent URL Stripping
- The Citizen Lab - GeckoSpy - Pegasus Spyware Used Against Thailand’s Pro-Democracy Movement
Trivia
11th July 2022
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. You may also consider joining Tech for Ukraine initiative.
Architecture
- Oskar Dudycz - Is keeping dates in UTC really the best solution?
- T. Bøgh Fangel & B. Nielsen - Event driven architecture & hyperbygrowth
- Chris Condron - Process Managers Made Simple
- Martin Fowler - TolerantReader
- Mark Seemann - Postel's law as a profunctor
- Derek Comartin - What is Software Architecture?
Distributed Systems
- Corey Keller - How to Relieve Backpressure In Message-Based Systems
- Alyssa Wilk - HTTP/3, Including Google's Adoption, and Benefits and Challenges
Databases
JavaScript
- bun - Incredibly fast JavaScript runtime, bundler, transpiler and package manager – all in one
- Gary Bernhardt - The Birth & Death of JavaScript
- Jakub T. Jankiewicz - Wayne - Service Worker Routing library for in browser HTTP requests
Java
- Oskar Dudycz - Introduction to Event Sourcing in Java - Self-paced kit
- Fabian Stäber - How to capture Spring Boot metrics with the OpenTelemetry Java Instrumentation Agent
- Tom Hombergs - Tracing with Spring Boot, OpenTelemetry, and Jaeger
Linux
.NET
- Ian Russell - Essential F# (Free ebook)
- Jérémie Chassaing - F# Deciders implementation
- Manfred Steyer - Proof of Concept for an Auth Gateway for SPA
- Andrew Lock - Consuming anonymous types with DiagnosticListener in .NET 6
Tools
Coding Life
Management
- Peter Aughton, Trond Hjorteland - An Open Systems Thinking perspective on Agile transformation
- Runtastic - How we improved our sprints when we stopped estimating stories
Security
- Troy Hunt - Welcoming the Polish Government to Have I Been Pwned
- Keto - Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System"
- CNET - Apple's Lockdown Mode: Why There's a New Level of Security for Your iPhone
Industry
4th July 2022
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. You may also consider joining Tech for Ukraine initiative.
Architecture
- Derek Comartin - Avoiding Batch Jobs by a message in the FUTURE
- Mark Seemann - Fractal Architecture
- Nick Tune - The Structure and Process Fallacy
- Kenny Baas-Schwegler - Coach your Architects in Agile Architecture!
Distributed Systems
Databases
- Pat Helland - I'm SO Glad I'm Uncoordinated: Coordination Is Increasingly Painful... What Can Be Done?
- Zalando: Enriching E-Commerce Search with Elasticsearch 8's k-Nearest Neighbours
API
- Oskar Dudycz - Should you generate the client code from the API?
- Julien Topçu - REST next level : Crafting business-oriented web APIs
Go
.NET
- Tomasz Pęczek - Micro Frontends in Action With ASP.NET Core - Server-Side Routing via YARP in Azure Container Apps
- AngleSharp - The ultimate angle brackets parser library parsing HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specifications
- Octokit.Webhooks - GitHub webhook events toolset for .NET
- Steve Sanderson - Experimental WASI SDK for .NET Core
Python
Tools
- Upptime - Free uptime monitor and status page powered by GitHub
- Scott Hanselman - Developing for Linux on Windows
- GitHub - Improve Git monorepo performance with a file system monitor
Coding Life
- Computer History Museum - Oral History of Dave Cutler Part 1
- Computer History Museum - Oral History of Dave Cutler Part 2
- Dev Interrupted - The Best Solution to Burnout We’ve Ever Heard | A Conversation With Slack, Netlify & Ambassador Labs
Industry
- Dustin Moris Gorski - Fund OSS through package managers
- Software Freedom Conservancy - Give Up GitHub: The Time Has Come!
Security
- Troy Hunt - Understanding Have I Been Pwned's Use of SHA-1 and k-Anonymity
- Ryan Badger - “Magic links” can end up in Bing search results — rendering them useless.
Trivia
27th June 2022
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. You may also consider joining Tech for Ukraine initiative.
Architecture
- Jessica Kerr - Systems Thinking for Developers
- Susanne Kaiser - Building Adaptive Systems For a Fast Flow of Change
- Adam Furmanek - Ordering the chaos - cleaning logs and ordering events in microservices
- Gandalf Hudlow - The value destroying effect of arbitrary date pressure on code
Databases
- Oskar Dudycz - Unobvious things you need to know about key-value stores
- Azure Cosmos DB - Data modeling & partitioning: What every relational database dev needs to know
- Amit Kapila - Logical Replication Improvements In PostgreSQL-14
DevOps
- Yacht - A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments
- Skaffold - Easy and Repeatable Kubernetes Development
Testing
- Mark Seemann - Some thoughts on naming tests
- Ian Cooper - TDD Revisited
- James Shore - Acceptance Testing Revisited
- Aslak Hellesøy - BDD is not test automation
Azure
Java
.NET
- Sean Killeen - .NET OSS Maintainer Support Survey – The Results!
- Jérémie Chassaing - eskv - In-memory key/value and event store, for educational purposes
- Domn Werner - C# discriminated union source generator
- Nick Chapsas - .NET-Backend-Developer-Roadmap
Rust
Tools
- Mermaid - C4 Diagrams
- MinJae Kwon - Diagrams - Diagram as Code for prototyping cloud system architectures
- Helix - A post-modern modal text editor
Coding Life
Product Design
Trivia
20th June 2022
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. You may also consider joining Tech for Ukraine initiative.
Architecture
- B. Fan, Hy. Lim, D. G. Andersen, M. Kaminsky - Small Cache, Big Effect: Provable Load Balancing for Randomly Partitioned Cluster Services
- Kent Beck - Outcome Over Output: Also Impact and Effort
- Lutz Hühnken - Event Collaboration And Event Sourcing
Distributed Systems
- LinkedIn - How LinkedIn customizes Apache Kafka for 7 trillion messages per day
- Apple - Meet distributed actors in Swift
Databases
Frontend
- InfoQ - Angular 14 - Typed Forms and Standalone Components
- Lars Gyrup Brink Nielsen - The Angular Developer's Nx Handbook
Testing
AI
- The Washington Post - The Google engineer who thinks the company’s AI has come to life
- Blake Lemoine - Is LaMDA Sentient? — an Interview
Edge Computing
Low Level
JavaScript
.NET
- Oskar Dudycz - Ogooreck, a sneaky testing library in BDD style
- Oleksii Holub - Learning F# by Designing Your Own Language
- Microsoft Docs - Code-first gRPC services and clients with .NET
- Nevermore - A micro-ORM that treats SQL Server as a document store
- Microsoft - Microsoft closed part of source codes for C# VSCode extension
TypeScript
Management
Industry
Security
- Adrian Colyer - ACIDRain: concurrency-related attacks on database backed web applications
- Molly White - Is "acceptably non-dystopian" self-sovereign identity even possible?
- Wired - Smartphones Blur the Line Between Civilian and Combatant
- ArsTechnica - Credentials for thousands of open source projects free for the taking—again!
- Steve Syfuhs - Understanding Windows Authentication
13th June 2022
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. You may also consider joining Tech for Ukraine initiative.
Architecture
- AWS Prescriptive Guidance - Using architectural decision records to streamline technical decision-making for a software development project
- Pierre Pureur - Software Architecture: It Might Not Be What You Think It Is
- Oskar Dudycz - Should you throw an exception when rebuilding the state from events?
- Exploring Axon Podcast - DDD, CQRS, EDA in the Front-End
- InfoQ - Andrew Harmel-Law - The Architecture Advice Process
Distributed Systems
Databases
AI
API
- Eric Wilde - What is HTTP/3 and what does it mean for APIs?
- Mark Nottingham - A New Definition of HTTP
- IETF - HTTP/3
- Kim Lane - A Standardized, Specification-Driven API Lifecycle
Frontend
Edge Computing
Java
.NET
- Andreas Gullberg Larsen - Units.NET - Makes life working with units of measurement just a little bit better
- Jeremy D. Miller - Marten just got better for CQRS architectures
- Simon Cropp - XunitContext - Extends xUnit to expose extra context and simplify logging
- Marcin Budny - Comparing .NET virtual actor frameworks
NodeJS
Python
Coding Life
Management
Industry
Security
6th June 2022
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. You may also consider joining Tech for Ukraine initiative.
Architecture
- Gregor Hohpe - Enterprise Architecture = Architecting the Enterprise?
- Ralph Johnson, Joe Armstrong - the State of OOP
- InfoQ - Software Architecture and Design InfoQ Trends Report—April 2022
- Interview Ready - System Design Resources
- Quanta Magazine - The Man Who Revolutionized Computer Science With Math
Distributed Systems
DevOps
Databases
AI
AWS
- Real World Crypto conference - Shay Gueron - AWS key management service KMS
- MHLabs - cfn-diagram - CLI tool to visualise CloudFormation/SAM/CDK stacks as visjs networks, draw.io or ascii-art diagrams.
Java
- Jim Cownie - To sched_yield() Or Not To sched_yield()?
- Andrey Pechkurov - Scalable Readers-Writer Lock
.NET
- Gérald Barré - Round-robin DNS support in .NET HttpClient
- Uno Platform - Release 4.3 – Figma Plugin, Uno Extensions, Material Design 3 Support, New Sample App and more
- Khalid Abuhakmeh - Change C# Record Comparison with Source Generators
- LinkDotNet.Blog - A blog (engine) completely written in C# and Blazor
TypeScript
Tools
Coding Life
- Silvia Botros - Not My Job
- Tim Ottinger - Managing Interruptions
- Oskar Dudycz - Why I'm leaving Event Store and getting ready for the next episode
Management
Industry
- Jason Cohen - The Elephant in the room: The myth of exponential hypergrowth
- Tech a break meetup - Gender inequality in tech
- Reuters - Musk sued by Twitter investors for stock 'manipulation' during takeover bid
- MSN - Video game developers want fair online games. Some players really don’t