

Discover more from Architecture Weekly
Architecture Weekly #135 - 10th July 2023
Welcome to the new week!
Simplicity in software design was a leitmotif of my last year's work. I tried to explain how CQRS and Vertical Slices can help with that. Still, it's not about the patterns themselves but what they enable”
- focus on business,
- evolving approach keeping good enough design,
- reduced cognitive load.
In my talks, I intentionally showed a simplistic, even naive, example to show that it's not complicated. For instance, in the Devoxx Poland talk:
Based on the feedback that spoke to many people. That makes me happy, but I want more. I want people to succeed and not feel lost when they sit with the code after watching the conference talk. I've been there myself too many times.
That's why I wrote more on how to apply Vertical Slices, Feature Folders and CQRS in practice. I wanted to show a real-world use case and the reasoning behind decisions. Read more:
That’s also what Tim Deschryver did in his article:
Of course, I’m not the one noticing that CQRS can be helpful; Udi Dahan has been doing that for years. On the last NDC Oslo, he talked about this pattern's light and dark side. I always like the pragmatism in Udi’s talks. They’re biased and opinionated well, filtered by rich personal experience. I also think that when we’re going to conferences, it is not to tap each other backs but to trigger some brain cell movement. Watch more:
My sister also became a developer around a year ago. The funny thing is that my brother is also a developer. Yet, our youngest sister didn’t even tell us that she wanted to make an industry switch and informed us after she made it. I’m proud of her and also wanted to explain to her some of the best practices. Yet, it appeared that it was not that easy to do, even though I tried to avoid using jargon. When you look from the newbie perspective, it’s not that obvious which pattern is better. Both are similar in complexity from their perspective. We need to do better and challenge our perspective.
That’s why I like that Derek Comartin made such a video:
Rebecca Wirfs-Brock's works are one of the best design, responsibility, and heuristic resources. Did you know that her classic book is available online for free? If you didn’t, now you do:
For free is always a decent price! At least for a reader.
Speaking about cost saving, that’s the recurring theme of last year(s). Some companies are firing many good people even though they don’t need to. Some are looking for other ways to cut costs. Cloud spending is a decent place to search for, especially if we weren’t cautious about FinOps practices or our business model changed or appeared to be more successful than we predicted.
Read more in the nice case studies from LinkedIn and Gradle on how they managed to cut their costs around data stores:
Miscalculations are also one of the reasons for these intriguing business cases:
Apple Insider - Goldman Sachs may be trying to get out of its Apple Card deal
TechRadar - Intel is biggest loser as cloud giant splashes billions of dollars on rivals
Last but not least, here is some news from the AI world. Or should I say, machine learning world? Or machine unlearning?
Google announced Machine Unlearning Challenge. They wrote:
While this progress is very exciting, the widespread use of deep neural network models requires caution: as guided by Google’s AI Principles, we seek to develop AI technologies responsibly by understanding and mitigating potential risks, such as the propagation and amplification of unfair biases and protecting user privacy.
Fully erasing the influence of the data requested to be deleted is challenging since, aside from simply deleting it from databases where it’s stored, it also requires erasing the influence of that data on other artifacts such as trained machine learning models
Sounds like they finally realised that they should care about privacy? Leaving snarky comments behind is a needed initiative; we’ll see more of that in the future. Read more:
Maybe the Pope could help with privacy? Actually, he already did, or at least tried. Surprisingly the recommendations about the ethic approach aren’t so detached and quite on point:
In the meantime, OpenAI is pushing the GPT-4 API general availability for all paid customers. Read more:
If you believe that AI nowadays is only around generating Lorem Ipsum on steroids, or cat images, check this article:
It seems that scientists are looking to use generative capabilities to show images based on brain activity. If this research appears to be successful, this could help a lot of people with disabilities that cannot easily contact the world. The results are already looking promising.
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
Derek Comartin - Building a system that Junior Developers can be productive in
LinkedIn - Upscaling LinkedIn's Profile Datastore While Reducing Costs
Rebecca Wirfs-Brock, Alan McKean - Object Design. Roles, Responsibilities, and Collaborations
Aardling - Video Tutorial: A Deep Dive into Domain Modelling
Uwe Friedrichsen - Let’s (not) break up the monolith - Part 1
Mihir Sathe - Load Balancing: A Counterintuitive Improvement to the Best-of-K Algorithm
DevOps
AI
OpenAI - GPT-4 API general availability and deprecation of older models in the Completions API
Vice - Researchers Use AI to Generate Images Based on People's Brain Activity
JavaScript
.NET
Tim Deschryver - Treat your .NET Minimal API Endpoint as the application layer
Evolve - Database migration tool for .NET and .NET Core projects. Inspired by Flyway
AWS - Introducing the AWS .NET Distributed Cache Provider for DynamoDB (Preview)
Nick Chapsas - JetBrains Rider Gets a ChatGPT-like AI Assistant!
WebAssembly
Coding Life
Industry
TechRadar - Intel is biggest loser as cloud giant splashes billions of dollars on rivals
Gergely Orosz - Twitter vs Instagram Threads: two different approaches to throttling
Apple Insider - Goldman Sachs may be trying to get out of its Apple Card deal