Opreto Blog

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...

AI Artists Have No Idea What a Head Is, or How Arms or Hands Work

AI Artists Have No Idea What a Head Is, or How Arms or Hands Work

4 minute read

As marvelous as some of the images generated by the current crop of Stable Diffusion Generative AI models may be, there are subjects that it cannot render well. In this post, I will be visiting some of the nightmare fuel that Stable Diffusion can inadvertently produce. Specifically, I will be examining its inability to comprehend and generate bodies, heads, and hands. These are things that still need authorship by a human artist (at least for now). 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. I asked Midjourney for a yellow snake, and it gave me this: In the generative model for Stable Diffusion, the algorithms at play are determining the pixels that live next door in a probabilistic way, having bee...

Stable Diffusion As a Tool: The New Generative Genie

Stable Diffusion As a Tool: The New Generative Genie

4 minute read

ChatGPT, Dall-e2, and Midjourney (and ilk) are having a moment. Their user growth is explosive, news coverage is fawning, mind share is off the charts. Their generated text and images are everywhere. There is no doubt that the Stable Diffusion Generative AI models that underpin these systems are a powerful tool for communication. But this efflorescence of Generative AI models trained on large datasets has also led to at least one interesting orthogonal experience as well. I refer to the special evolution of the hyper-modern and fascinating “generative genie” shared user experience in Midjourney. 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. First, a disclosure: I love Midjourney. I am a Midjourney user ...