Opreto Blog

The Need for Threat Modeling

The Need for Threat Modeling

5 minute read

Threat modeling, a proven process for identifying potential system vulnerabilities, often needs to receive more attention in strategic cybersecurity conversations. Given the rising cyber threats such as ransomware, the need for threat modeling is more pronounced than ever. By anticipating such threats, threat modeling paves the way to enhanced resilience. The Backbone of Threat Modeling: Zero-Trust Architecture and Principle of Least Privilege At the heart of threat modeling is the ‘Zero-Trust Architecture,’ a paradigm that proposes no one within or outside the network is inherently trustworthy. When we marry this with the ‘Principle of Least Privilege,’ we establish a robust defensive framework, which provides only essential access for each workload. However, its application demands meticulousness. An overzealous implementation may lead to excess restrictions, creating bottlenecks and hindering operations. On the other hand, a lax approach can result in inadequate security measu...

The Art of Camera Use in Remote Meetings

The Art of Camera Use in Remote Meetings

2 minute read

In the era of remote work, the camera has become our best friend and worst enemy. At Opreto, we’ve discovered how to tap into its power without succumbing to energy drain. It’s not about being “on” all the time, but rather being “on” when it truly matters. Take, for example, our interactions with clients during standard agile ceremonies or other meetings. In these instances, our commitment to camera time is unwavering – a total 100% engagement. Our promise is to provide a professional, fully present service. However, things take a different turn internally. A full day with the camera rolling can be like running a marathon, eventually leading to “Zoom fatigue.” Being perpetually “on” can damper our energy levels and productivity. Here, we kick back a bit. Camera use isn’t merely an on-off switch. It’s more of a dial, adjusting with the intensity of the meeting at hand. Think of a casual discussion around new features or bugs. Seeing our team’s reactions can be valuable. Facial exp...

The Coming Age of AI: Eight Billion Idiosophies

The Coming Age of AI: Eight Billion Idiosophies

7 minute read

What the Internet has begun, Generative AI will complete. There are some people these days that beat the drum of fear about Artificial General Intelligence, and the chaos that it will supposedly wreak - perhaps (some say) to the extent of wiping our species from the face of the earth. But we do not have AGI, and the type of AI we have now is nothing like it. Even so, Generative AI poses its own existential threat to the human species - above and beyond the jobs it might take. We might not last until the advent of Artificial General Intelligence, which can think and act like a human being - if such a thing is actually even possible. We may be wiped out by the kind of Artificial Intelligence we already have, and our own hands will be the ones wielding the knives. And it will all be because we have blinded ourselves with the output we asked it to craft on our behalf. I’ve been exploring the liminal dreamscape realm of Generative AI models, checking their fit, observing the war. So...

Bricks and the Unix Philosophy

Bricks and the Unix Philosophy

3 minute read

My first experience with Unix was my father’s Silicon Graphics Indy workstation, whose sleek new Indigo Magic Desktop hid all the complexity behind what was arguably, at the time, the world’s most beautiful desktop GUI. Much like the first time I found myself firing up the C shell command line for the first time on that system, I had my first go at masonry work out of necessity. My home is ancient by Western Ontario standards. It was built in 1866, on a fieldstone foundation that might be a century older, following a fire that completely destroyed the previous structure. The 1861 census lists that earlier iteration as a frame house. Understandably, the owners opted to replace it with three-wythe brick construction. Over 150 years and some significant interior renovation later, I inherited a number of masonry projects: repointing the original lime mortar, replacing spalled bricks, bricking in old windows, rebuilding the basement stairs and door frame, repairing the bench footing ar...

Harnessing ChatGPT for Career Growth

Harnessing ChatGPT for Career Growth

3 minute read

Career development is a topic that frequently comes up during 1-1 meetings. It’s essential to consider our future, the opportunities we can unlock, and the skills we need to learn. Yet, many organizations and managers make career transitions difficult, either by design or by lack of process. Recently, I’ve started using ChatGPT to help create curricula, and this has been valuable. At Opreto, we believe that nurturing personal growth is crucial to fostering a culture of growth. We take pride in helping our employees thrive, and we have discovered that ChatGPT can contribute real value, and do so in a way that is a natural fit with our processes. The Traditional Way: A Tedious Process In the past, when designing a learning path for myself or others, my process was: Research appropriate positions, job descriptions, posts, and Wikipedia entries. Identify key skills, experiences, credentials, and processes. Identify intermediary positions using various org-charts. Use resour...

Metrics & How To Measure Success in Agile Software Team Delivery

Metrics & How To Measure Success in Agile Software Team Delivery

4 minute read

At Opreto, client success is our absolute priority. We optimize our teams by focusing on five critical goals, with client-selected Key Performance Indicators topping the list. In addition to the client’s chosen metrics we also measure Cycle Time, Planned-to-Done Ratio, Escaped Defect Rate, and the Happiness Metric. We base our overall approach on the power of partnership. Measuring the five critical goals is vital to fostering successful client collaboration. This close relationship is the cornerstone of our strategy, with each goal designed to strengthen that bond with the client, reinforce confidence in our work, and help us to work in sync. Let’s explore these metrics in the following sections so we can see how our hand-in-hand approach allows us to adapt swiftly to any changes in the client’s needs, and keeps our agile teams in sync with their evolving objectives. Key Performance Indicators KPIs are the compass guiding our agile teams to reach clients’ goals, and it establis...

Why are modern software applications so terrible?

Why are modern software applications so terrible?

2 minute read

A lot of modern software is really quite bad. You know what I’m talking about. It’s most true of the software you interface with directly as a human—applications. Modern applications are buggy, and lock up or crash all the time; the time since your last incident can probably be measured in hours. They are also enormous and slow. The hardware they run on is dramatically more powerful than it was a quarter century ago, yet for the most part, we see apps consuming similar percentages of CPU cycles and RAM, and feeling more or less as sluggish as ever. How did we get here? Two things sell software to Jane Q. Public: being available now, and having all the features she needs. Stability and efficiency, arguably at least as vital to a good user experience, are simply lower priorities in the slightly irrational mind of the consumer. The industry focuses accordingly. To get to market faster, we lower the bar for what constitutes a minimum viable product to the point where many products a...

Pair Programming forced me out of my comfort zone

Pair Programming forced me out of my comfort zone

2 minute read

As a software architect and developer, I’ve always enjoyed working independently. There’s something satisfying about diving deep into lines of code, tackling complex problems on my own, and working uninterrupted for hours on end. So when my boss suggested trying pair programming, I was immediately skeptical. The Struggle is Real The idea of spending all day working closely with someone else, sharing a (virtual) keyboard, and communicating constantly seemed like a nightmare to my introverted self. But my boss was convinced that it would help improve code quality, catch bugs earlier, and foster better collaboration among our team. So, we gave it a try. The first few sessions were tough. I found it hard to make small talk with my partner, and the shared keyboard made me feel anxious and exposed. I was constantly worried about making mistakes in front of someone else and second-guessing my decisions. At times, I found myself longing for my quiet solitude so I could focus without any ...

AI-assisted web design is good for everyone

AI-assisted web design is good for everyone

9 minute read

I have some good news for artists. There are some interesting and genuinely useful things that Generative AI art can do for a website developer today, and they will prove to be deeply empowering for artists. This may seem countintertuitive, but I promise there is a light at the end of the tunnel. Many of us have lately been too focused on the immediate threat posed by generative AIs to their livelihood, but this time of rapid change may be one of the best things - economically - that has ever happened to the artist caste (and perhaps for everyone else as well). Let me explain how. I’ve been exploring the liminal dreamscape realm of Generative AI models, checking their fit, observing the war. Some of the things I’ve found have been deeply moving, some inspiring, some terrifying or disturbing. This is part of a series about my journey and the best practices (and anti-practices) I find for these new tools. Any sphere of industry that leans on highly structured generated text as the m...

Recapturing Water Cooler Moments, Online

Recapturing Water Cooler Moments, Online

2 minute read

For just over a decade, I’ve been working entirely remotely. Some key personal benefits have been the lack of an hour-long drive to the office and back, plenty of cost savings due to that lack of a commute, reduced distractions, and an improved work-life balance. I’ve worked with colleagues and clients from across the world, exposing me to diverse perspectives and opportunities for professional growth. For the majority of that time, one thing has been missing in implementing remote work: those key watercooler moments that spark creative ideas and solutions to problems. But no longer. Rubber duck debugging is excellent, but bouncing ideas off a colleague without needing to schedule a meeting can be invaluable. Plenty of teams do all-hands sessions, but certain personality types dominate the discussion in those meetings. Pixar’s building was famously designed with an open floor plan and common areas, such as a central atrium, a cafe, and a screening room, intended to encourage chanc...