Architecture Weekly #161 - 8th January 2024
Welcome to the new week! Not all issues are complex; some are "just" complicated. I noticed the funny thing: we too often feel more comfortable solving complex tasks than complicated ones. We counterintuitively think: "Well, we just need to do research, then select a solution and solve it". Too often, that's our self-defence. We're tricking ourselves by postponing the issue. It's easier to justify our efforts in research than lag on known unknowns. Let's say that we have two tasks to choose from. One is complex, and the other is complicated. They both have a similar business value. Shouldn't we choose the one with known unknowns? I discussed that in my recent article and showed how to deal with complicated tasks systematically. I explained the real, dirty, complicated task I had to solve in Marten. I started it with a brief intro to the Cynefin framework. It’s not a technology but a decision-making framework. It helps categorise our issues and decide how to tackle them. Check also more from its author, Dave Snowden: The other intriguing tool for designing, and modeling systems is TLA+:
Leslie Lamport, its author, said a famous phrase:
And that’s what TLA+ is about a way to describe our systems and find the path for our program to work as expected. We focus on finding steps that have to happen for our system to succeed. Thanks to that, we’re reducing the noise of all the unexpected scenarios that may happen. Read more in the latest version of his book, available for free: Check also the talk by Scott Wlaschin, where he introduces Property-based Testing. It’s a much different level than TLA+, more on the techniques rather than strategies, but still, a useful technique for finding scenarios that we didn’t even know existed. Speaking about the failures that one cannot easily predict. One of the weirdest failure scenarios happened for the Polish trains. Finally, we also have the full coverage in English to share with you. The issue started in April 2022 when SPS company started servicing Polish Railway trains manufactured by their competitor, Newag. They could not start them and hired hackers to investigate the cause. Then, the same happened for other companies trying to service Newag trains. Newag responded with the accusation of trying to cheat and hack through the systems, blaming service companies and threatening to send that to the National Polish Security Department. Hackers hired by SPS managed to unlock trains. Long story short, it appeared that the issue was DRM being installed by Newag. From 404 Media coverage:
Read more in: and watch the talk that hackers gave at the conference explaining the details: It’s an interesting story showing what we’ll see more. I already linked some time ago: You can own the train, the car, whatever, but you may not be able to use it because of software. Or you may be just using only some capabilities out of it. Especially if that’s not said explicitly parked as a hidden feature that can cause the crash, it becomes highly disputable. Adding generative AI into the game, it sounds like our ownership rights are incompatible with the current technical world. Or maybe they are, and it’s just misbehaviour of the manufacturers, as neither hackers not competition has been sued yet… Speaking about security and AI, I linked a few recent spectacular security failures from Microsoft:
Guess what’s the answer to that? AI! Who knew? I’m unsure if that’s just cynical marketing or just buying time from customers. I don’t think impacted customers will buy such a solution, as that would look like extinguishing the fire by pouring gasoline. To me, it looks like trying to show that “hey we’re doing something!” for not impacting people. Don’t get me wrong, using Machine Learning as a tool for security static analysis is a good move, but it’s not a solution per se to the nature of MS's issues. Can we please stop trying to cheat ourselves with AI for the Win! as an answer for everything? Switching to a totally different topic. I’ve got two good articles about frontend architecture, one comes from Jake Lazaroff. He described why he believes that Website vs Web App is an oversimplification of what we have nowadays on frontend; he suggested a more nuanced breakdown:
Then he had a look and did a thorough analysis of things in-between and why having such discussion is important ending it with:
The other material comes from Steve Sanderson, and it’s his take on where the web tech is going. He’s a web tools veteran. If you didn’t watch, you can start with his other talk: It describes how we got where we are, and now we have the predictions. Not surprisingly, as Steve is working on Blazor, he believes that the future is WebAssembly. I’m not convinced that it as the future of the web, but it’s indeed an intriguing technology. I see it as more useful for the backend, but we’ll see. Still, knowing Steve's perspective is always enlightening. I love that he’s building incredible stuff, talking about it like he just made a ham sandwich. Check also other links! Cheers! 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
TestingDevOps
AWSJava.NET
Node.jsTypeScriptManagement
Product DesignIndustry
SecurityYou're currently a free subscriber to Architecture Weekly. For the full experience, upgrade your subscription. |
Older messages
Architecture Weekly #160 - 1st January 2024
Monday, January 1, 2024
First day of the New Year, and the first edition! This time, we're reflecting on the state of our industry and starting with the Reuters report about Tesla's weak quality practices. We're
Architecture Weekly #159 - 25th December 2023
Monday, December 25, 2023
In the last release of 2023, we checked both past and new things. Learn about what Netlify thinks about the state of web development, Jepsen about MySQL guarantees, and more about PostgreSQL isolation.
Papers We Love #1 - Sagas (Hector Garcia-Molina, Kenneth Salem)
Thursday, December 21, 2023
Watch now (142 mins) | The first edition of Papers We Love meetups started with the “Sagas” whitepaper by Hector Garcia-Molina and Kenneth Salem. It's a famous work that is foundational for
Architecture Weekly #158 - 18th December 2023
Monday, December 18, 2023
We're starting with why I got 3rd time to HN front page and invitation for the first edition of Papers We Love. We analyse 12 (well almost) architecture pitfalls. Discuss the challenges of the
Architecture Weekly #157 - 11th December 2023
Monday, December 11, 2023
The end of the year is the right time to make predictions, check what we have on your plate and reflect on the past. That's what we did! We also discussed whether making it based on examples from
You Might Also Like
Ranked | Which Country Has the Most Billionaires in 2024? 💰
Thursday, May 2, 2024
According to the annual Hurun Global Rich List, the US and China are home to nearly half of the world's 3279 billionaires in 2024. View Online | Subscribe Presented by: The economy is changing. Is
⚙️ Rovo
Thursday, May 2, 2024
Plus: Microsoft are (were?) terrified of Google's AI
Have VPN connection issues? This might be why
Thursday, May 2, 2024
DJI Power station; Studying with AI; Best gaming PCs -- ZDNET ZDNET Tech Today - US May 2, 2024 placeholder Having VPN connection issues? Microsoft warns the April 2024 Windows update is to blame If
Programmer Weekly - Issue 203
Thursday, May 2, 2024
View this email in your browser Programmer Weekly Welcome to issue 203 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "The hardest part of design is keeping
Python Weekly - Issue 648
Thursday, May 2, 2024
View this email in your browser Python Weekly Welcome to issue 648 of Python Weekly. Let's get straight to the links this week. News Fake job interviews target developers with new Python backdoor A
A new approach to access management for the way we work today
Thursday, May 2, 2024
Announcing 1Password® Extended Access Management ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Web Tools #563 - Frameworks, JSON/DB Tools, Vue, Nuxt.js
Thursday, May 2, 2024
WEB VERSION Issue #563 • May 2, 2024 Advertisement The Complete JavaScript Course 2024: From Zero to Expert This is an up-to-date JavaScript course covering modern techniques and features that will
Venture capitalists love musical chairs
Thursday, May 2, 2024
A number of investors have been swapping gigs and bouncing from prior employers to build new investing groups. View this email online in your browser By Alex Wilhelm Thursday, May 2, 2024 Good morning,
Gemini in Android Studio and more: Android Studio Jellyfish is Stable!
Thursday, May 2, 2024
View in browser 🔖 Articles Gemini in Android Studio and more: Android Studio Jellyfish is Stable! Android Studio Jellyfish (2023.3.1) is making waves with its official stable release! 🪼🌊 Dive into
wpmail.me issue#665
Thursday, May 2, 2024
wpMail.me wpmail.me issue#665 - The weekly WordPress newsletter. No spam, no nonsense. - May 2, 2024 Is this email not displaying correctly? View it in your browser. News & Articles Why Should You