Architecture Weekly #108 - 2nd January 2023
Welcome to the new week and the new year!
Have you made a New Year’s resolution?
I’ve got something for you if you want to start with:
- blogging: 10 notes on the 10th blogging anniversary,
- Open Source: How to get started with Open Source?,
- Event Sourcing: Introduction to Event Sourcing - Self Paced Kit.
Yet, be careful what you wish for, as it may come true. Putting too much pleasure on yourself may be dangerous.
I'm struggling a lot with my workaholism tendencies. Sometimes I'm winning; sometimes, I'm losing. I see a similar battle also around me, looking at my colleagues. I wrote last week on why we should not be like Ebenezer Scrooge and fight our workaholism. Of course, being detail-focused and going the extra mile is a double-edged sword. It can be a valuable character trait if it’s tunnelled in the right direction. Read about it more in Compulsive Personality: A New and Positive Perspective.
Looking at my bubble, I think I might be the only person who hasn’t yet tried GitHub Copilot or ChatGPT. I’m not against it; I’m seeing them as the chance to reduce boilerplate work and give us more time to focus on the essence - so delivering business value and solving non-trivial cases. Still, I see the dangers in those approaches around original authors’ attribution, using it in the right context and security. It’s important not to treat AI as an objective source of truth but as a helper. Read more in:
N. Perry, M. Srivastava, D. Kumar, D. Boneh - Do Users Write More Insecure Code with AI Assistants?
Emily M. Bender, Chirag Shah - All-knowing machines are a fantasy
Bleeping Computers - PyTorch discloses malicious dependency chain compromise over holidays
Btw. there’s a WIP work to deliver the Open Sourced ChatGPT version. See:
I was always saying that Event-Driven Architecture is like building your software like LEGO blocks. You can break your business workflow into smaller pieces and join processing using events. One block publishes new facts, and the other reacts. It appears that it works both ways! EDA enables you to build your systems like LEGO, but also LEGO uses EDA!
EDA is also an essential block of serverless architecture, of which I’m a huge fan. Most of the stuff we build is Boring Line of Business applications. Our tech stack should also be boring, but we’re making it complicated to have more fun. Serverless approach help to make your infrastructure and glue part a commodity. However, it requires a different shape of your codebase and business process. Read more with AWS tooling as an example:
Luca Mezzalira - Evolutionary AWS Lambda functions with hexagonal architecture
Massimo Re Ferrè - Using AWS Step Functions to mitigate code liability
Check, also other links!
Cheers
Oskar
p.s. I invite you to join the paid version of Architecture Weekly. It already contains the exclusive Discord channel for subscribers (and my GitHub sponsors), monthly webinars, etc. It is a vibrant space for knowledge sharing. Don’t wait to be a part of it!
p.s.2. 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, and putting pressure on your local government or companies. You can also support Ukraine by donating, e.g. to the Ukraine humanitarian organisation, Ambulances for Ukraine or Red Cross.
Architecture
API
Netflix - How Netflix Scales its API with GraphQL Federation (Part 1)
Microsoft - Describing a real API with Cadl: The Moostodon story
AI
N. Perry, M. Srivastava, D. Kumar, D. Boneh - Do Users Write More Insecure Code with AI Assistants?
Emily M. Bender, Chirag Shah - All-knowing machines are a fantasy
Research at Microsoft - 2022: A look back at a year of accelerating progress in AI
AWS
Luca Mezzalira - Evolutionary AWS Lambda functions with hexagonal architecture
Massimo Re Ferrè - Using AWS Step Functions to mitigate code liability
Go
Java
.NET
David Fowler - A multiplayer trivia game using SignalR and .NET 7
Marcin Kern - Domain modelling in object-oriented and functional programming, based on C# and F#
Scala
TypeScript
Coding Life
Management
Industry
The Register - Carmack quits Meta, brands it inefficient and unprepared for competition
Mozilla - Mozilla to explore healthy social media alternative
Security
Bleeping Computers - PyTorch discloses malicious dependency chain compromise over holidays
Bloomberg Law - Ransomware Needs ‘Physical’ Damage For Insurance, Ohio Court Rules