Architecture Weekly #177 - 29nd April 2024
Welcome to the new week! The time is running out, but a few spaces are still left! This May is a decent month to learn event sourcing and event-driven architecture through workshops, but why May? I’ll be giving pre-conference workshops on my favourite conferences:
I aim to provide you with collaborative workshops where you can gain certainty if what you designed for prod will work and you won't have nasty surprises. The Techorama one should get you up to speed and help you understand foundations. The DDD Europe one will be an intensive three-day workshop, but I think we'll have fun. I want to pass you a condensed dose of experience I gathered throughout my career. It’s also a rare chance, as I’m not giving public workshops often. Also, I decided to give each attendee a half-year subscription to Architecture Weekly. If you join, you'll get access to over 20 hours of recordings, which should be a decent follow-up. See the full list of them. Feel free to ask if you have any questions or concerns about those workshops. I’m happy to answer and clarify! You can also check the recommendations from attendees of my past workshops. Testcontainers became a popular way of setting up dependencies for integration testing. They're not ideal, as configuring them to run your tests efficiently is not as trivial as it's glossed; I explained that in "A simple way to configure the integration tests pipeline". Still, undeniably, it can speed up the initial ramp-up phase and, if used wisely, can be a decent way to handle common testing dependencies. Testcontainers already provide the default configurations for tools like PostgreSQL, Kafka, MongoDB, etc. Yet sometimes, you need to use something a bit less mainstream, such as Event Store, as your event store. How do you do it? I explained that in my latest article: Four weeks ago, we discussed the license change in Redis that triggered the creation of a fork called Valkey and a compatible clone called Garnet. We also discussed a similar issue with Terraform and OpenTofu a few times, even two weeks ago. Today, we got some new context to it: Yeah, IBM just bought HashiCorp. Now, the question is if the license change was part of doing due diligence before the merge. And if leaving the company by creator Mitchell Hashimoto was related or if the merger was a consequence of that. Yet, let’s drop that part and look more broadly at the cases where we’re trying to build an alternative solution by using the existing environment but reshaping the common conventions. Another example of it can be the new TypeScript framework called Effect TS: It tries to bring the functional model to the TypeScript world. So, there are no exceptions but results, no side-effects, composition, etc. It’s not that revolutionary, as React already provided some of that on Frontend and kinda succeeding by changing the landscape and the way people code in JavaScript and TypeScript. Will that be the case for the Effect TS? The article by Maxime Chevalier can be a good addition to those discussions: She wrote:
And that’s also my prediction. You’re either strong enough to impact the whole environment and reshape how people do stuff, or you’ll lose. The chances of Valkey and Garnet being Redis replacements are pretty high. The solution is stable, and the standardisation is being built around the open fork. Big vendors have already invested a lot in having Redis as their cloud solution. For OpenTofu, the situation is still uncertain. HashiCorp still has patents; they can shape the narrative. Getting IBM into the game, in my opinion, doesn’t change the picture, as the most important if big cloud providers will feel the benefit of having Terraform as their standards, and for now, they don’t seem to be interested, as they invest a lot with their own Infrastructure as Code tools like AWS CloudFormation, AWS CDK, Microsoft Bicep, etc. Going back to the Effect TS, they either need to go the React way, which will impact how applications are being built, or be a niche project. My bet is that the latter will happen. The same can be said for hybrid development, where you're using the Strangler Fig pattern. If your legacy is still developed and you're building a "hybrid" solution, then you need to be quick to strangle the old implementation, or it will strangle the new one. And I think those considerations are an example of how we should analyse and look for both micro and macro trends in the tech community to make better decisions on our systems design. Last week, I wrote about Google workers being arrested and then fired for protesting against Google’s military contract. I believe that “No politics in work” is usually a sign of the bigger issues and rotting company culture. Of course, when we’re working, we should focus on our job, but in the end, we’re humans and spend most of our daytime at work. It’s unavoidable that social stuff will impact our work. Good organisations can balance that. And if they can’t then such policies are a usual sign that they are also not doing great in other places, a panic mode. Daniel D. McKinnon interestingly compared the Product Management between Meta and Google: The summary is:
The article is filled with interesting insights like:
Interestingly, there’s hot news on HackerNews that Google fired their Python team: Is it a sign of doing nothing rather than risking? Or a next sign of the panic mode button? Check also the talk by Dan North on how to bake a change: And a short article from Jared Turner on why we should limit the Work in Progress: Last but not least, check the insightful article on the contrarian view on the-latest-the-greatest security tool: passkeys: As always, we cannot have only good things. There’s no free lunch. 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. ArchitectureDevOpsDatabasesTestingFrontendAzureJava.NET
Node.jsTypeScriptProduct DesignCoding LifeIndustrySecurityTriviaYou're currently a free subscriber to Architecture Weekly. For the full experience, upgrade your subscription. |
Older messages
Architecture Weekly #176 - 22nd April 2024
Monday, April 22, 2024
This week, we looked at mocking in tests and, more importantly, different shades of the load testing. We also discussed other tools that can help you reach the expected SLO. We looked at various
Architecture Weekly #175 - 15th April 2024
Monday, April 15, 2024
This time we took a history lesson. We discussed the Adele Goldberg story on how Smalltalk language impacted the way we code today. We also went through the forgotten story of Harp McGovern and her
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?
You Might Also Like
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
Software Testing Weekly - Issue 251
Wednesday, December 25, 2024
GitHub Copilot is free! 🤖 View on the Web Archives ISSUE 251 December 25th 2024 COMMENT Welcome to the 251st issue! In case you missed it — GitHub Copilot is free! The free version works with Visual
Daily Coding Problem: Problem #1647 [Medium]
Tuesday, December 24, 2024
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Square. In front of you is a row of N coins, with values v 1 , v 1 , ..., v n . You are
Sentiment Analysis, Topological Sort, Web Security, and More
Tuesday, December 24, 2024
Exploring Modern Sentiment Analysis Approaches in Python #661 – DECEMBER 24, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo Exploring Modern Sentiment Analysis Approaches in Python What are the