I tend to side on the "boring tech" side, but indeed this is a good reminder that what we want is finding the right balance.
I'm obviously not in love with the complexity this type of architecture brings. That being said, this thesis brings an interesting approach to better detect failure scenarios in such systems.
This law is unfortunately too little known. Here is a nice and short primer. Be careful though, it's short but packed with information, might require more reading around the concepts highlighted in this article.
Interesting exploration of the NT design compared to Unix. There was less legacy to carry around which explains some of the choices which could be made. In practice similarities abound.
Very good article. I wish I'd see more organisations writing such design documents. They help a lot, and that allows to have a way to track changes in the design. To me it's part of the minimal set of documentation you'd want on any non trivial project.
Definitely something architects should do more. Understanding the business needs should be the input to the technical decisions. Otherwise you might just happily build the wrong thing.
Nice return on experience of using a simple stack to serve loads of web requests.
A nice pattern to separate decision from actions in complex algorithms.
Indeed this is not for any environment and projects. So take it with a grain of salt. That said, I think this piece has a core truth to it which is more general. Software architectures shouldn't be considered as something fixed as soon as they are planned, they need to be validated through use and to be prepared to evolve over time as needed.
Since this particular fad apparently doesn't want to die... this is a good reminder about why you want to do something simpler.
Wondering how one can design a coding assistant? Here is an in depth explanation of the choices made by one of the solutions out there. There's quite some processing before and after actually running the inference with the LLM.
Of course documentation, especially one presenting the architecture, shouldn't be neglected. It takes time and skills of course.
Definitely this. The difference between a well performing team and one delivering subpar software is the basics of our trade. Minding your data models, your architectures and the engineering practices will get you a long way.
Interesting thinking about constraints and their rough classification as restrictive or enabling. I also liked how they're tied to complexity.
Good advice yes. Having a rough architecture document in a repository is more than welcome, it's needed to help on-boarding. This is unfortunately not the norm in FOSS projects.
Definitely this, the software bloat directly impacts the attack surface of what gets shipped. Even though this is far from a panacea in terms of security, it's time for people to critically examine their dependencies also for other reasons.
Very interesting exploration of the design choices behind the creation of a key value storage engine.
A balanced view, that's refreshing. Indeed we see too many "let's call the OpenAI APIs and magic will happen". This is very short sighted, much better can be done.
Nice primer on how computation works on GPUs. Goes a bit into the architecture as well. Good starting point.
Mind how you pick your dependencies and how they fare over time. You might need to reevaluate and let go some of them.