Opreto Blog

The AI Tsunami Threatening Google

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. Only a few months ago, getting noticed by Google was simple. You’d draft your content, publish it, sprinkle in some links, and just like magic, Google’s search crawlers would find you. For brand-new domains, a nudge to Google, a request to index the site. It was dance steps that everyone had learned, and it worked. But things are changing fast. Artificial Intelligence, particularly a flavor called GPT, has changed the face of content creation. People are using AI to turn out articles, blog posts, and more at an astonishing speed. This year, in particular, has seen a staggering surge in content creation, largely thanks to our AI-using friends. There’s a ton of speculation that AI will be the thing to knock Google of...

Installing and Running an IPFS Node

Installing and Running an IPFS Node

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. Content addressing is a core concept in IPFS that plays a crucial role in its functioning: instead of relying on traditional hierarchical file paths and domain-based naming, IPFS identifies files based on their cryptographic hash. Every file in the IPFS network is assigned a unique hash derived from its content. This hash is used as the file’s address, making it immutable and resistant to tampering. In the digital age, ...

Why I love the InterPlanetary File System

Why I love the InterPlanetary File System

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. In another post, I will describe the technical setup, and some of the experiences I’ve had and lessons I have learned from the last six months of participation in the network. In this post I would like to discuss my rationale and to describe some of the dynamics of the greater technosphere that drove my own decision to dedicate my own storage, bandwidth and processing power and my own time and expertise to the task of participating in a headless, notionally unbreakable, d...

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

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

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. For those of us accustomed to the open source world, there would appear to be two possibilities: either the service has an external API for that, or nobody has created one yet. (And, in the second case, as developers, we have the option to go ahead and implement it ourselves.) Sadly, because most big online services with majority market share are commercial and under centralized control, three closely-related alternate possibilities are all too common: you can’t do what you are tying to do, either because the provider has decided not to provide an external API for it, or beca...

Why I Love Lightweight Architectural Decision Records

Why I Love Lightweight Architectural Decision Records

3 minute read

Legacy projects are where development teams go to die. Ok, I’m being a bit dramatic, but keeping teams motivated to work on legacy codebases is challenging for a host of reasons: Complexity: Old code can be big and confusing. Obsolete Tech: Old systems often use outdated technologies, making work challenging and learning new things difficult. This not only makes work challenging but also keeps developers from learning new, marketable skills, which can make them less competitive in the job market. Known Antipatterns: Teams often have to work with known coding practices that are best to avoid. These bad practices can make maintaining the codebase frustrating. Technical debt: Shortcuts in code over time can create a tangle that’s hard to change or fix. Limited Creativity: Working on old systems usually means fixing problems, not creating new things. Slower Work: Old systems might not work well with modern tools like CI/CD, slowing development down. No Guides: Many old ...

Beyond the Monster: Embracing the Friendly Giant of Feature Flags

Beyond the Monster: Embracing the Friendly Giant of Feature Flags

2 minute read

Feature flags: your worst nightmare or a secret weapon? It’s funny how clients react when we first pitch them on feature flags. It’s like they’ve seen a monster, but soon, they’ll realize it’s just a friendly giant. Let’s unpack this. Change can be daunting, especially when it comes to familiar systems with known reliability standards. We’re constantly walking the tightrope between innovation and reliability in the tech world. So, when we pitch the idea of feature flags to clients, you can see the uncertainty in their eyes. The uncertainty stems from perceiving feature flags as a risk—a leap into uncharted territories. The concern revolves around the potential for increased complexity and the dreaded possibility of bugs slipping into the live system. These are valid fears. But, fear not. I think it’s time we unmask this friendly giant. Feature flags, fundamentally, are powerful controls within your software. They function as on/off switches for different facets of your program, e...

Why You Need A Federated Software System

Why You Need A Federated Software System

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. For smaller, less...

The Triumph of Open Source: Mixxx

The Triumph of Open Source: Mixxx

1 minute read

I first tried the open source DJ software Mixxx in the early 2000s. At a time when most DJs were still spinning vinyl and the CDJ-1000 was the new hotness, I was an accidental PC pioneer. For a tech-savvy seventeen year old working a summer job for seven dollars an hour, the choice between records, expensive and at their nadir, and Napster, free and at peak popularity, was a no-brainer. MP3s of 0-day hits were the fuel for the party, my brand-new cable broadband was the pipeline, and a relatively obscure Australian product called OtsJuke DJ was the engine. Back then, I was a die-hard FreeBSD and Linux fanboy, but OtsJuke DJ only ran on Windows. When news of an open source, cross-platform DJ software project hit my ears, I downloaded and compiled it straight away. Unfortunately, these were the days of finnicky and unreliable Linux audio, and Mixxx itself was in its infancy. I kept a Windows computer around for my serious DJ work. In the years after my final paid gig, I played arou...

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