Architecture Weekly #175 - 15th April 2024
Welcome to the new week! If you’re looking for a lightweight intro to Event Sourcing, check last week’s discussion with Maciej 'MJ' Jedrzejewski. On his podcast, we discussed the foundational stuff, busted some common myths and explained the facts. Watch it here: Using an In-Memory message bus can be overkill, especially for command handling where we have only a single entry point (e.g. API endpoint). In such cases, I suggest having just explicit application code in the endpoint. That gives a proper developer experience. As you understand your dependencies, you can go to the definition of business logic. A command bus requires much more jumping around the codebase as you hide all dependencies and handling details. If I have more than one entry point, e.g., event (as it always can/should have more than one recipient) or command that may come from messaging tooling and API, then the message bus is useful, as it allows me to build common middleware. The downside of the message bus is that it can create another level of indirection, making it hard to understand where the handler is, what the impact of the change is, etc. Also, it doesn't give proper delivery guarantees unless we wrap the whole process in transactions, which can cause deadlocks and other types of complexity. That's why I'm not using it everywhere, but where I need it. I evolved from the message bus all the things. But it still can be useful, especially for event publishing, where, by nature, you don't want to know how it'll be handled as an event producer. Still, in-memory buses, if used wisely, it's a must-have in our systems, even as part of our infrastructure layer. I wrote how to build a simple one and also had some fun with TypeScript. If you also want more Event-Driven (anti)patterns, check out this nice article from Barry O’Sullivan. He discusses in details how granular our events should be and how to find the sweet spot between completeness and focus on the process: Let’s leave the event-driven world and focus on the two stories. The first is from Adele Goldberg on her thoughts about the legacy of the Smalltalk language and how it impacted our design. The first article is a celebration of Smalltalk's 50th anniversary. Adele Goldberg helped create it alongside Alan Kay and Dan Ingalls at Xerox PARC. Smalltalk was a pioneer in object-oriented programming and graphical user interfaces, which are now common in software development. Goldberg discusses the original purpose of Smalltalk: to make a flexible, easy-to-use environment that could help users, especially beginners, understand and shape their world through programming. This environment was revolutionary because it allowed programmers to make changes and fix bugs while the program was running, a method now fundamental in software development. Smalltalk's integrated development environment and its approach to programming, focusing on objects and message sending, influenced many modern programming languages and tools. Alan Key’s vision is not shown as the basis for the Actor Model and messaging. That was closer to his original intention behind “Object-Oriented Programming.” Also, Eric Evans, inventor of the Domain Driven Design, came from the Smalltalk community. Goldberg explains nicely how Smalltalk's design greatly impacted developers' thinking about user interaction, program structure, and code readability—key aspects of modern software practices. Even though Smalltalk was beaten by other languages like C# and Java, it’s undeniable how much impact it made. The other is about Harp McGovern and her story of building a microcomputer empire. Lore Harp McGovern co-founded Vector Graphic from her home in California, turning it into a significant player in the early microcomputer market. She and her partner Carole Ely began making memory boards for the Altair 8800, quickly moving to produce their computers as business demands grew. This strategic shift allowed them to capture the burgeoning market of small and medium businesses that needed reliable computers for tasks like accounting and data management. Vector Graphic succeeded by adapting to the fast-changing tech landscape, which demanded quick responses to new technological challenges and market needs. Harp McGovern recognized early the importance of transitioning to products that lead to more sophisticated business applications. Still, the entry of major companies like IBM with their own PC created a new competition threat. Despite these challenges, Vector Graphic was able to keep up with the competition for some time. Harp McGovern also pioneered inclusive employee benefits and stock options, that are popular nowadays. Lore Harp McGovern's role in founding Vector Graphic highlights a key time in tech history when the industry was just starting to take shape. She turned a small startup into a major player in the microcomputer market, breaking ground as one of the few female CEOs to take a company public in Silicon Valley. Her story shows women's challenges in getting recognized in tech, often overshadowed by their male counterparts. It might be that history is written by winners, and IBM eventually won. Vector Graphic stuck too long with the CP/M operating system before switching to MS-DOS, which had become the industry standard partly because of its adoption by IBM. This delayed response to market shifts added to Vector’s struggles. That lead to the eventual bankruptcy. It’s good to look back and analyse the history of the industry and how technologies and products compete. That’s a decent addition to our daily work and broader analysis. For that, check also the article from another pioneer: And about the women's impact on the industry, see: Interesting news came from the US federal court. They ruled that AWS must pay up to $525 million in damages to technology company Kove for infringing cloud storage patents. If you didn't know Kove before, no worries, I also didn’t. Yet it seems that they claim that their solutions for scaling storage impacted the major cloud providers on some ground. Interesting is that it took 6 years to get the final verdict. Well, it's almost final, as AWS plans to battle for not paying it. Kove also sued Google a year ago for similar things. Fun times. Speaking about storage, PostgreSQL announced that they support .NET natively. This means that you can use C# and F# to write stored procedures in PostgreSQL (I hope that at least not Visual Basic…). To be honest, I’m skeptical about putting such a thing in PostgreSQL. To say mildly, I used .NET in MSSQL, which wasn’t a pleasure. Still, adding .NET to MSSQL strengthened .NET, as they found number of bugs because the environment was so different. I see that as some niche thing, I’d be much more keep to run WASM inside. Getting back from the history lessons. When I started, giving you a VM with a preconfigured dev environment was popular. You couldn’t code unless you were using it. I hated it. Now, history repeats itself with cloud development environments. Discord wrote a follow-up on their journey. Discord's move to cloud-based development environments using Coder shows a wider trend in tech towards centralized and standardized development processes. As companies grow, managing different development environments and keeping them consistent becomes really tough. Cloud environments help fix these issues by putting resources and settings in one place for all developers, no matter where they are. When I see that, it makes me think that we have reached the phase when we again are not able to deal with the complexities of the configuration of our systems. So we try to centralise the knowledge; even around local development environment setup. We’ve been there. In theory it may be a solution for the cause, if configured wisely it could cut the costs of hardware, but I think that the root cause is somewhere else. That our development practices and tooling are not accessible enough. 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
DevOpsDatabasesFrontendJavaJavaScript.NETTypeScriptToolsCoding LifeIndustrySecurity
You're currently a free subscriber to Architecture Weekly. For the full experience, upgrade your subscription. |
Older messages
Architecture Weekly #174 - 8th April 2024
Monday, April 8, 2024
We covered this time an XZ breach story. We provided perspectives from many angles: technical details, social engineering, and human to human. We also discussed brilliant jerks and jerks telling to
Architecture Weekly #173 - 1st April 2024
Monday, April 1, 2024
We started with big-bang info from me and then jumped quickly to debugging our thinking and applying a systemic approach. Then, we discussed what the Valkey thing is and whether it is really such a
Webinar #18 - Laïla Bougriâ: Debug your thinking
Friday, March 29, 2024
Watch now (87 mins) | Did you feel that you need to debug your mind? Did your (or your colleague's) biases impact your decision-making? How to improve it? How do you reason about the reasoning?
Architecture Weekly #172 - 25th March 2024
Monday, March 25, 2024
This time, we did an all-around journey from understanding where money comes from, so budgeting. Then we followed the money and discussed OSS sustainability issues on the example of Redis and their
Architecture Weekly #171 - 18th March 2024
Monday, March 18, 2024
We started by checking why May may be the month of Event Sourcing. Then we discussed Figma's way of dealing with database horizontal scaling and saw what new database improvements can bring WASM
You Might Also Like
Ruijie Networks' Cloud Platform Flaws Could Expose 50,000 Devices to Remote Attacks
Thursday, December 26, 2024
THN Daily Updates Newsletter cover Improve IT Efficiency with a Standardized OS: Nine considerations for building a standardized operating environment Optimize your IT with a standardized operating
Edge 460: Anthropic's New Protocol to Link AI Assistants to Data Sources
Thursday, December 26, 2024
Model Context Protocols is one of the recent AI contributions of the AI lab. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
December 26th 2024
Thursday, December 26, 2024
Curated news all about PHP. Here's the latest edition Is this email not displaying correctly? View it in your browser. PHP Weekly 26th December 2024 Hi everyone, It's boxing day in some parts
Re: This took me 10 minutes and protects my privacy
Thursday, December 26, 2024
Christmas may be over, but you still have one more chance to take advantage of Incogni's amazing holiday promotion! Protect your personal data from hackers and scammers today with Incogni's 58%
Daily Coding Problem: Problem #1648 [Medium]
Wednesday, December 25, 2024
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Quora. Given an absolute pathname that may have . or .. as part of it, return the
🎮 The Best Games to Go With Your New Console — Streaming Services Could Learn From YouTube
Wednesday, December 25, 2024
Also: Don't Throw Christmas Gift Boxes on the Curb, and More! How-To Geek Logo December 25, 2024 Did You Know Years before The Nightmare Before Christmas, Tim Burton was sprinkling references to
Charted | Global Economic Confidence in 2025, by Country 🌎
Wednesday, December 25, 2024
While emerging markets in Asia have the strongest confidence in the global economy looking ahead, European countries are most pessimistic. View Online | Subscribe | Download Our App FEATURED STORY
Top Tech Deals 🎅 Sony Headphones, iPhone Cases, 4K Projector, and More!
Wednesday, December 25, 2024
The season of giving is upon us. How-To Geek Logo December 25, 2024 Top Tech Deals: Sony Headphones, iPhone Cases, 4K Projector, and More! The season of giving is upon us. Happy Holidays! If you're
Why the Race to AGI is Humanitys Defining Moment
Wednesday, December 25, 2024
Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, December 25, 2024? The
Iran's Charming Kitten Deploys BellaCPP: A New C++ Variant of BellaCiao Malware
Wednesday, December 25, 2024
THN Daily Updates Newsletter cover The Data Science Handbook, 2nd Edition ($60.00 Value) FREE for a Limited Time Practical, accessible guide to becoming a data scientist, updated to include the latest