Programming Leftovers
-
From Infrastructure as Code to Policy as Code
I still remember when 15 years ago, the topic of Infrastructure as Code was beginning to be discussed. At the time, the majority of tools we know and use for Infrastructure as Code did not exist. Some people and companies realized the need for such a paradigm, while many others were skeptical or against it.
In the last few months, I had a kind of a Deja Vu when I started to have conversations with some stakeholders around Policy as Code, or as someone prefers to call it, Compliance as Code. The idea behind Policy as Code is that if it was possible to write policies in a language that is both easily readable by a human and a computer, we could better govern IT. Policy as Code is not a new concept by itself. In fact, in Infrastructure as Code software such as Ansible, it is possible to create a Playbook to assess if a system is in the expected state. The problem, though, is that a Playbook written with Ansible with this scope is not always evident if read by people that are not highly trained on the topic.
To create a successful Policy as Code system, you should have policies for the Infrastructure as Code and the effective configuration in production. Having a set of policies for the Infrastructure as Code means preventing a change to land in the Infrastructure as Code codebase if it fails as policies. Using Policy as Code on the effective configuration in production means detecting possible nonconformities independently from the fact they were caused by the Infrastructure as Code tool or manual changes. I call the first way of working ex-ante and the second ex-post.
-
The 4 minute bug | Alejandro AR (kinduff)
Itâs time for one of those bugâs story. This one was introduced earlier but itâs related to âThe story of the 20 million queries per hourâ, not a consequence of that mistake, but it shares some related context.
-
Complexity and software engineering | Well, quite.
OK, itâs definitely not just the software industry. If youâve seen the film The Big Short you may remember the seemingly endless secondary markets, adding complexity that led to no one understanding what risks they were exposed to. The motivation there seemed to be purely making money.
Look at the food on your plate at dinner, and try thinking about the complexity of where all the ingredients came from to make that meal. If you have meat on your plate it might have been grown in the same country as you, but maybe not for the food the animal ate. Youâre probably also eating animal antibiotics (or the remains of them). Where were they made? How can you start to get a hold on the incredible complexity of the human food chain? The motivation here seems also to be to make money: if you can make the same product as your competitors, but cheaper, then you can undercut your competitors a little, have bigger margins, and make more money. Who cares if it requires enormous environmental damage, right? Products are sure as hell not priced to reflect the damage done to the environment to create, maintain, or dispose of them.
-
Guiding principle: Think Big, Work Small | by Jason Yip | Sep, 2022 | Medium
Thanks to John Cutler for the pithiest wording Iâve seen so far to describe this phenomenon.
-
Fseek() in C
As a daily computer user, we are always working with files and folders. These files and folders are the must-haves in any operating system like Windows or Linux. Apart from accessing the files through the operating system, we can also access these files and folders within any programming language through filing. Though itâs not as simple as using the files and folders in operating systems, it can provide us with a sufficient amount of information.
The âfseekâ function of âCâ is designed to get an information regarding the specific range of text data within any type of file like the total number of characters, display the specific text data, and many more. As we have been working on the Linux platform, itâs necessary to install the C compiler through the âcommand-lineâ application. Therefore, quickly open your âterminalâ application and try updating your Ubuntu 22.04 Linux system first. Use the âaptâ utility with âsudoâ rights in the âupdateâ query to update it.
-
jmtd → log → vim plugins → vim-css-color
Last year I wrote about a subset of the vim plugins I was using, specifically those created by master craftsman Tim Pope. Off and on since then I've reviewed the other plugins I use and tried a few others, so I thought I'd write about them.
-
Why Rust is actually good for your car. | by Johannes Foufas | Volvo Cars Engineering | Sep, 2022 | Medium
-
Making python fast for free - adventures with mypyc â MeadSteveâs Dev Blog
-
Perl Weekly Challenge 184: Sequence Number and Split Array
-
Sending a simple email
To have a secure SMTP delivery, use Email::Sender. Mail::Sendmail uses SMTP for transport and there's no other type of transport. It does not support SMTP authentication, which my SMTP server now requires even for access from localhost. From what I read and tried once or twice in the past, the current "best practice" or recommended way is to use Email::Sender.