Building Async and Cloud Native organizations - Issue #7

Happy New Year, and welcome to the first edition of my weekly newsletter for 2023! I hope you had a wonderful holiday season and that you're feeling rejuvenated and ready to tackle the new year.

As always, I'm committed to bringing you the latest news, updates, and resources from the world of coding and architecture. Whether you're a seasoned pro or just getting started in the field, I'm confident you'll find something of value in these newsletters. I cover a wide range of topics, from new tools and technologies to best practices and design patterns.

I'm excited to kick off the new year with some fresh insights and resources, and I'm always on the lookout for the latest trends and developments in the field. If there's something you'd like to see more of, or if you have any questions or comments, please don't hesitate to reach out to me.

Thank you for joining me on this journey, and I look forward to sharing more with you in the coming weeks.

REST and APIs

You might know about OpenAPI, the specification to describe REST APIs. However, Microsoft created Cadl, which they call the 'Typescript for APIs' and is using it for their Azure APIs as well. Containing features like enforcing standards, generating code and documentation and combining into modules.

When you request a token from a token provider like Azure AD, you get an access key valid for normally one hour. This allows the client to call the API with the same token without going back to the token provider, but what happens if the conditions change? Like the user needs to be deactivated or need to change their password. You rather not wait for the token to get expired. The Continuous Access Evaluation can be a solution to this issue:

Coding technicalities

Wondered why you get that nice intellisense in your IDE for some of the fields, like a RegEx? And what if you build an API and want to have that same functionality for your consumers? With .net 7 you can implement this with the StringSyntaxAttribute:

Although Azure already complies with or exceed EU requirements, this move by Microsoft strengthen their commitment even more:

GitHub related

GitHub Projects became GA in July, but that did not stop GitHub from adding new features and improvements. Like new workflows, bulk options, integrations, charts, mobile app support.

Knowing which components are used for building your software is key in determining if you are vulnerable when a system is compromised. GitHub action runners now store the SBOM (Software Bill of Materials) so you can analyse it:

Enjoy this overview of the top 10 blogpost GitHub published last year:

Computing in general

The command line is a useful tool for engineers that can improve productivity. This GitHub repo provides a collection of notes and tips for using the command line on Linux systems. Some of the tips are basic, while others are advanced or specialized.

Bringing value to customers as soon as possible is a key aspect in agile development. Any not released feature is just sitting there. However, the one-commit, one-deploy to production strategy might be scary for some. The article from Thoughtworks shows some concepts and practises for continuous deployment in distributed systems.

Based on Team Topologies, this article provides some tips and hints on how to work with remote teams:

Reading is the process of understanding written symbols and readability refers to the ease with which a reader can understand and engage with a text. Factors that influence readability include legibility, clarity, and engagement. Scientific models explain the cognitive processes of reading and individual differences in reading can be influenced by factors such as physiology, past experiences, and preferences. The below article by Hilary Palmen provides some interesting insights:

Editing markdown inside Visual Studio is not always that easy. With the new 17.5 version, Markdown will be added as an editor inside Visual Studio itself. This gives you colouring, preview and all the other commands you are use to.

Helpers and utilities

You downloaded that nice looking image with a supposed transparent background only to find out it contains those nasty squares. Use unfakepng to fix this for you:

Computer Laws

Software is getting slower more rapidly than hardware is getting faster.

Wirth's law

The above suggests that as hardware capabilities increase, software tends to become more complex and feature-rich, which can lead to slower performance. This is because the increased capabilities of hardware allow software developers to add more functionality and features to their products, which can require more resources and processing power to run.

I hope you've enjoyed this week's issue of my newsletter. If you found it useful, I invite you to share it with your friends and colleagues. And if you're not already a subscriber, be sure to sign up to receive future issues.

Next week, I'll be back with more articles, links, and resources to help you stay up-to-date on the latest developments in coding and architecture. In the meantime, keep learning and growing, and happy coding!

Best regards, Michiel

Reply

or to participate.