Content Addressing: Marvels & Magic

VP of People, Opreto

4 minute read

The technology of Content Addressing is marvellous. It is, ex post facto, a simple and powerful concept, demonstrably elegant and the basis for many of the most interesting and powerful technologies of the past two decades. I have already written about Why I love the InterPlanetary File System, and touched on Content Addressing in my post about Installing and Running an IPFS node, but it is constantly remarkable to me that this approach underpins blockchain networks like Bitcoin, version control systems like Git, and file distribution networks like BitTorrent as well. Content Addressing has changed the way we interact with and share key data, but I don’t think it gets the recognition it deserves, as a seminal building material of the modern Internet. Luckily, there is one surefire way in 2023 to communicate just how cool something is - describing it in terms of a Dungeons & Dragons tabletop roleplaying game!

The Scaling Paradox

VP of Technology, Opreto

7 minute read

Companies like Google, X (Twitter), Spotify, and Atlassian have created very popular and brilliant product lines, and often embody Agile, DevOps, and software architecture best practices. Yet, the quality of their products has witnessed noticeable erosion. It’s called the Scaling Paradox, and a large degree of it is an unavoidable byproduct of scale and success, but some organizations handle it much better than others.

Solve It In Software

VP of Operations, Opreto

3 minute read

The philosopher Bill Rapaport identifies four great insights of computer science, culminating with the Church-Turing thesis, which says that any real-world computation can be translated into an equivalent Turing machine program. The idea of universal hardware is incredibly powerful. It substantially decouples the work of building computers, and of iterating on their efficiency, from the work of doing computations. Once the computer is built, provided it is fast enough, whatever your problem is, we can solve it in software.

Building Trust in Remote Agile Teams: Best Practices from Opreto

4 minute read

The heartbeat of an Agile team is its people, and trust is the rhythm that binds them. It isn’t just about believing in each other’s capabilities but about fostering a shared vision and mutual respect. At Opreto, we’ve recognized that trust is the bedrock of every successful Agile team. Whether our teams work in person or are separated by thousands of kilometers, this trust remains pivotal. Through our journey, we’ve discovered practices that nurture this bond, ensuring cohesion and drive, regardless of distance. We’re excited to share the methods that have solidified trust within our teams, leading to consistent excellence.

Agile Software Development is a Horse

VP of People, Opreto

8 minute read

As part of the struggle of being the founding partner of a new company in the 2020s, there is the everpresent looming question of how to market yourself. This is true both of yourself as an individual - as an executive you should embody and represent at least some slice of the value of my company’s meta on LinkedIn and the whole shebang; and you need to know how to position your company in order to attract new clients and feed yourself reliably over the long term. The sales must flow.

The confluence of UX and DX for API Design

VP of Technology, Opreto

7 minute read

Do you know what happens when a group of people connect to a Chromecast device through Spotify? Nobody knows. The outcome is evenly distributed between wiping your queue, playing something random from your device, connecting only a subset of the group to the device, moving a random group member’s queue onto your device, or establishing a group connection as expected.

Software Bloat: The Red Queen’s Race

VP of Operations, Opreto

6 minute read

For decades, computers have been growing in power at a meteoric pace, and the army of programmers writing software for them is now twenty-eight million strong. So why does it feel like the applications we use every day—not even the brand new, bleeding-edge stuff, just basic things we’ve had forever, like word processors and e-mail clients—are slower and clunkier than ever?

The AI Tsunami Threatening Google

2 minute read

Google has always been the gateway to content visibility on the internet, making optimization for Google Search a golden rule in content creation. But today, Artificial Intelligence is changing the game, and it’s time for Google, and all of us, to sit up and take note.

Installing and Running an IPFS Node

VP of People, Opreto

5 minute read

IPFS, the InterPlanetary File System, might evoke grand images of cosmic networking, but its true significance lies in ignoring topological boundaries altogether and making them irrelevant. While the name might come off as grandiose, it emphasizes IPFS’s capability to create a global, decentralized network where data can be stored, accessed, and shared completely independently of considerations about physical location. The underlying technology becomes secondary, as content-addressable storage takes center stage in ensuring the sanctity and robustness of the system.

Why I love the InterPlanetary File System

VP of People, Opreto

8 minute read

IPFS (InterPlanetary File System) is a decentralized, peer-to-peer protocol that redefines how we handle data on the internet, enabling us to break free from reliance upon tech giants like Google and Amazon for hosting our data. By adopting a content-addressed storage approach and eliminating the traditional server-client model, IPFS offers a more independent and resilient solution for storing, sharing, and accessing information online.

I run a dedicated node for the InterPlanetary FileSystem, and you should too.

The Dilemma of Third-Party Apps in a World of Closed Systems

VP of Operations, Opreto

2 minute read

You use all sorts of online services. I know, because you’re using one right now to read this post. You also very likely use third-party applications of some kind to enhance your experience of those services: a browser extension, an alternative to the official mobile app, an AI news bot you follow. To come to life, these applications need some means of interacting with their target service in particular ways.

Why You Need A Federated Software System

VP of People, Opreto

7 minute read

To date, most enterprise systems targeted at specific industries have been designed as centralized systems, rather than those with open protocols and a federated model. Adopting a federated model for a systems architecture is typically deemed to have too much complexity and risk. This has, since the advent of computing, funneled organizations into buying proprietary software from controlled silos which do not afford flexibility and portability for their critical data, and which inherently ultimately undermines their autonomy. If an industry is particularly fertile ground for IT system innovation, they may see multiple competing vendors carving out kingdoms of clients; this is the current scenario of least harm, and usually the only options in front of a procurement officer tasked with buying software for their enterprise. How can you retain your autonomy as a business, and still exchange and interact with others in your industry network? The answer is: Federation.

The Need for Threat Modeling

VP of Technology, Opreto

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

The Coming Age of AI: Eight Billion Idiosophies

VP of People, Opreto

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.

Bricks and the Unix Philosophy

VP of Operations, Opreto

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.

Harnessing ChatGPT for Career Growth

VP of Technology, Opreto

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.

Why are modern software applications so terrible?

VP of Operations, Opreto

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?

Pair Programming forced me out of my comfort zone

VP of Technology, Opreto

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.

AI-assisted web design is good for everyone

VP of People, Opreto

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.

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.

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

VP of People, Opreto

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

Stable Diffusion As a Tool: The New Generative Genie

VP of People, Opreto

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.

How to Start New Agile Software Projects: Building Healthy Teams

VP of Technology, Opreto

6 minute read

Building a good new agile team for a software development project requires more than just finding the right skills for a cross-functional team; it also needs governance, security, and an immune response cycle to maintain the wellness of team dynamics over time. What are the vulnerabilities for working teams, and how should you structure agile teams from the outset to promote and persist their healthy operation, and allow them to thrive over time?

How to Start New Agile Software Projects: Building Good Teams

VP of Technology, Opreto

5 minute read

The software team; that diverse mix of personalities, knowledge, skills, and experiences, is at the center of every project. It’s the stuff that makes your project tick. It’s more important than a great requirements document, more important than a perfect software architecture, and more important than funding. Well… maybe not that last one, but without an effective team, you probably won’t be able to deliver on the vision that got you the funding in the first place.

Should It Always Be Agile?

VP of Operations, Opreto

4 minute read

Agile methodology was largely organized as a reaction to the perceived disadvantages of the Waterfall model of project management, and the various kinds of impact (personal, professional) it had on software developers. But the landscape at the time was complicated, and the reaction has been an overreaction. Agile software development is really great, and it has become a necessary component for the industry, and we write about it a great deal here on this blog. But there is more to be said about the systems that came before, and the ways they might be blended with agile, the New Kid on the Block, to achieve even greater things.

When Everything is Excellent, Nothing is Excellent

VP of People, Opreto

5 minute read

The current crop of generative AI (ChatGPT, Dall-e 2, etc) may be a blessing for individuals, but they could prove a pestilence for our civilization in the short term. For every door they open, it seems to me they also threaten to wipe away whole towns of visual artists and copywriters. And as consumers of information, we are doomed to be overwhelmed, our attention span drowned in torrents of content. Our eyes and minds will be overfull. Our time will be drained away by too much being said too well, and sharing platforms that monopolize our attention too well.

To Infinity and Beyond: The Efflorescence of SaaS

VP of People, Opreto

7 minute read

There are many software systems that can help your business grow and succeed; many of these have undergone capitalization and become well-known Software as a Service (SaaS) offerings, while some are open source software systems you can freely download, modify and host yourself. It is increasingly rare to commission and run software systems built to your specifications by software artisans. You might be asking yourself whether to pay the subscription costs for a SaaS product, or if you’re better off putting in some development and deployment work to host and support your own in-house systems. Well, there is a secret benefit to using SaaS solutions that makes it more appealing for nearly any use case, with one glaring exception where it makes more sense to run your own servers.

How to Start New Agile Software Projects: Selecting An Architecture

VP of Technology, Opreto

3 minute read

In my last post, I described the initial phase of determining the trajectory for a greenfield softtware project. Once you have established your vision and created a roadmap, the next step is to decide how the software system is to be built. This involves finding a suitable architecture for the system and devising a macroscopic design of the different components and interactions involved.

How to Start New Agile Software Projects: Vision & Mapping

VP of Technology, Opreto

3 minute read

If you’re a technical leader overseeing the development of a greenfield software project, then you know how crucial it is to get the design right.

In this article and the next, we’ll explore how to approach the initial technical modeling of the system. We’ll look at some of the best practices for making critical decisions to establish an efficient development plan that will lead to maximum system quality and reliability. We’ll cover concepts such as the high-level characteristics of a system, user story maps, and what product roadmaps should look like.

Tools Startups Can Use in 2023

VP of People, Opreto

10 minute read

Business startups face many different and complex challenges, and all of them threaten to slow down or break momentum during the challenging initial stages of business development. Luckily there are a variety of approaches, techniques, and tools available in 2023 to help you get started, bust through barriers, and break stalemates. From using services provided by others to adopting process changes that build good habits from within, here are the four biggest blockage-breakers we have used at Opreto in 2022 to keep our business moving forward.

Experiment and Leap

3 minute read

As a technical leader, you must make software development decisions that minimize risk for your company, and doing nothing may seem like the safest path. However, sometimes the risk of doing nothing can be the most significant. So, how do you know when to take a leap and go for it and when to hold steady?

Detroit River Boat Tracker Project

VP of Operations, Opreto

8 minute read

You’ll often hear about the importance of getting started, breaking ground, getting moving on a thing. Whether you have a specific goal you want to achieve, or you just want to get your feet in the door of a particular industry or technological stack, the outlook from a thousand feet can be daunting. So how do you choose where to begin?

How to Start New Agile Software Projects: Business Domain Discovery

VP of Technology, Opreto

4 minute read

How do you help someone solve a problem if you don’t speak the same language? You learn their language and teach them a bit of yours. Without a shared language, you won’t understand the problem, and your solution may not end up being a fit. You are endangering the entire project. Read on to find out how I establish a shared language with new clients.

The Mission of the Prosigliere

VP of People, Opreto

4 minute read

When you begin something, it is important to define your mission. It is difficult to get a team moving in a single direction without one, and it is impossible to know whether you are succeeding or not without some idea of where you were supposed to be headed. Missions galvanize teams, and give structure to effort. As prosiglieres, we summarize our approach with the motto: “Clear Eyes, Steady Hands, Right Advice”. However there is more to be said about just what our objectives are, and what it means to pursue these qualities. Read this post to find out what our mission is - for ourselves, our teams, and for this website.

What a Prosigliere is, and Why You Don’t Need a Perfect Name

VP of People, Opreto

7 minute read

Names are important, but it is also possible to get hung up on one too much. It’s important to remember that the perfect is the enemy of the good. Trying to appeal to every audience - to cater to every taste, or account for every way your name can be twisted, is a foolish way to spend your first days in any kind of startup situation, whether you are part of a business, a non-profit, a community organization, or a band you started in your garage.