OPRETO BLOG

8-bit Makes a Better Programmer

8-bit Makes a Better Programmer

3 minute read

In the realm of modern programming, with its high-level languages and sophisticated development environments, the art of programming an 8-bit microcomputer might seem like a quaint, if not obsolete, pursuit. However, diving into the world of assembly language programming on such a system isn’t just a nostalgic trip down memory lane; it’s a journey that offers invaluable insights and a deeper appreciation for the inner workings of computers.

Threat Categories, Attack Patterns, and Countermeasures: Safeguarding Against Cyber Vulnerabilities

Threat Categories, Attack Patterns, and Countermeasures: Safeguarding Against Cyber Vulnerabilities

2 minute read

Recently, our community in Windsor, Ontario, Canada, experienced a harrowing cyber attack on our healthcare system. The electronic systems that the hospital system relied on suddenly became useless, forcing workers back to the rudimentary pen-and-paper methods. This sudden regression in technology not only disrupted healthcare operations but also painted a stark picture of our vulnerabilities in the digital age. This incident was more than just an inconvenience; it was a dramatic step backward, highlighting the urgent need for resilient cybersecurity measures to protect our most critical services and data.

I Went to a Remote Cabin to Hunt Deer and All I Found Was Agile

I Went to a Remote Cabin to Hunt Deer and All I Found Was Agile

5 minute read

I was stunned to realize my father in law, a man in his 70s, is a practitioner of Agile. I found this out at Deer Camp, the remote off-the-grid cabin in the thick woods of the Upper Peninsula of Michigan, where the men of my wife’s family gather every year to hunt deer. I went there with the expectation of a digital cleansing of some kind, I think, or some grand hermitage away from civilization. But instead I found reinforcement for everything we do in my high tech job @Opreto, and realized during my time there that our hunting cabin uses good Agile practices. It seems clear to me now that something I thought of as modern is actually quite old, and that an “agile team” approach to deer hunting is as natural as an agile approach to software development, although there are arguably fewer websites disclaiming this fact to hunters than those proliferating on blogs about software development.

Escape from Agile

Escape from Agile

2 minute read

I discovered Erich Fromm’s Escape from Freedom a couple years ago, via the Philosophize This! podcast. In this work, Fromm dissects the human psyche’s intricate dance with freedom and authority. His thesis pivots around a paradoxical tendency in human behaviour: the flight from the liberating yet daunting responsibility that freedom entails, seeking refuge in authoritarian structures.

Cognitive Biases in Agile Estimations and How to Avoid Them

Cognitive Biases in Agile Estimations and How to Avoid Them

7 minute read

Cognitive biases, often unconscious influences on human judgment and decision-making, can significantly distort the accuracy of Agile estimations. These biases, like invisible bugs in our mental software, can lead to errors that affect the outcomes of project planning. Whether it’s anchoring to the first piece of information heard or overly optimistic predictions about project timelines, they can subtly undermine the efficiency of even the most experienced Agile teams.

Agile Software is an Immortal Jellyfish

Agile Software is an Immortal Jellyfish

4 minute read

Anyone who has ever purchased software is aware that it must be updated occasionally to a new release, with new features and security and performance updates. And anyone with a huge reliance on the work facilitated by that software is acquainted with reading changelogs to stay current with changes that have been made, as the changes may often impact the end user and how they use the tool. Software should never stop moving or be allowed to become static. The moment a codebase stops changing, it becomes vulnerable to software rot; a gradual decline in responsivity and updates with respect to the changing environment in which it resides. As the digital world becomes more complicated, and attack vectors become more nuanced and intricate, software needs to stay abreast of changes or it falls behind and develops new vulnerabilities. This is easily understood from a naturalistic viewpoint as being analogous to rot, although it is in fact standing still and not changing at the same rate as the world it exists inside of.

Metrics as Beacons, Not Scorecards: My Take on Software Metrics

Metrics as Beacons, Not Scorecards: My Take on Software Metrics

1 minute read

Metrics in software development are like fire - handy but dangerous if not handled correctly. Let’s get into a topic that deserves a brighter spotlight: the Hawthorne Effect. This phenomenon describes how people change their behavior when they know they’re being observed. Knowing that metrics like sprint velocity, build frequency, test coverage, or codebase contributions are being scrutinized can shift the team’s focus from delivering value to gaming numbers.

DevOps for Robotics

DevOps for Robotics

6 minute read

DevOps, a set of practices designed to automate and integrate the processes between software development and IT operations, has transformed how we deliver cloud and web applications over the past decade. Although the language used to illustrate these practices in books and courses is rather particular to that technical domain, the principles can apply more broadly. The world of robotics—specifically, mobile robots like self-driving cars and autonomous mobile robots (AMRs)—is a domain the usual language of DevOps doesn’t immediately conjure, but where its concepts can nonetheless flourish.