RSSAmplifier

Blog

Software and business articles by Ovid

Software and business articles by Ovid

curtispoe.orgRSS feed ↗71 posts

Latest posts

Learn How to Write Production-Quality Code with AI

Most systems to write code with AI use "AI-driven engineering." That lets the AI make too many decisions and this has led to the proliferation of "AI slop." This article introduces a free online-training I am offering to teach "engineering-led AI" using PAAD (https://github.com/Ovid/paad). You can still take advantage of AI, but now you have control of quality instead…

Watching Claude Sonnet Outperform Opus

We are finally getting to the point where we can write excellent software with AI, but only if you put engineering first. This article explains how.

AI Coding: Typing Was Never the Bottleneck

Code production was never the bottleneck in software development. This is why making it cheap doesn't do what the replacement narrative claims it does.

Why I Am No Longer Reading the AI's code

I set out on a year-long quest to find out if we can really use AI to write production-quality code. I assumed the answer was no. I was wrong.

Introducing the arXiv Explorer

The arXiv Explorer uses a novel recursive language model technique to allow you to use a normal AI-chat to query megabytes of arXiv documents at a time.

Real-World Value with Generative AI

Despite claims to the contrary, AI is generating strong real-world value and it is easy to demonstrate.

AI Today Is Like the Early Internet

AI has entered an era similar to the internet near the end of 1996. Basic use cases were solid, advanced use cases were not, and money was flushed down the toilet.

The First AI Winter

Perplexity.ai has unveiled their own version of Deep Research. Let's investigate the first AI Winter.

Why AGI Won't Be Soon

There's been a lot of talk about AGI coming soon, but there are some strong reasons to think this isn't true.

A Review of OpenAI's new ChatGPT o1

OpenAI has released the new ChatGPT o1, removing the previous o1-preview model. Is it any good?

Prompt Engineering Is Not Dead

Many prompt engineering tricks are becoming a thing of the past, but there are still some areas where they shine.

Using Vector Databases with Perl

Vector databases are amazing, but there are few options with Perl. If you use PostgreSQL, now you have one.

Escape!-Adventures in AI Gaming

I have updated my previous work with Claude to dramatically improve a Javascript game.

Using AI to Fight Misinformation

Tired of people sending you pseudo-science articles, or 'opinion' pieces by biased journalists? AI can actually help.

AI for Accessibility

Many people don't write alt tags for images, or they write bad ones. However, these are crucial for people using screenreaders to understand the image. AI can make this easier.

Wardley Maps In a Nutshell

Wardley Maps are an amazing business tool for planning, but you can suffer information overload when you read about them online. Read this quickstart to get up and running with them.

AI-Generated Content: Innovation or Intellectual Theft?

Many people are upset that AI is 'learning' from their work and producing derivative content. Should they be?

Agile is Not the Problem

Agile is getting a bad rap. It's not agile who's at fault, it's the agile industrial complex.

Programming Mutable Objects

I've often noted that many objections to object-oriented programming go away if the objects are immutable. But sometimes, you want them to be mutable.

An OpenAI Chatbot in Perl

The OpenAPI::Client::OpenAI module is very low-level. We show how to write a wrapper around it for a clean interface with production code.

Claude Sonnet 3.5 beats ChatGPT 4.0

I played with the new Claude Sonnet 3.5 AI and build a Javascript game.

Will You Lose Your Job to AI?

Given the current worries about AI, people are worried about losing their jobs to it. You probably won't. Yet.

Building an iPhone App with ChatGPT

I'm still regularly amazed at how many developers dismiss Copilot and ChatGPT as 'stochastic parrots.' These parrots are much smarter than they think.

Don't Start with Microservices

There are many mistakes people make with microservices. Starting with them is a big one.

Microservices Pros and Cons

Advocates and adversaries of microservices pitch their points of view. Let's look at both.

What to Know Before Debating Type Systems

I hate discussing type systems with people, so let this be a lesson for you.

Corinna in the Perl Core

Corinna is finally going into the Perl core. Here is a bit about the process.

Tracking Elon Musk's Plane with Perl

Using Perl and OpenSky Network data to track Elon Musk's plane

Using Github Copilot with Vim

I've started using Github Copilot. Color me impressed.

All Around the World: Celebrating Ten Years

All Around the World started ten years ago as a Perl consultancy. We've grown quite a bit since then.

The Future of Perl

With the new Corinna object system coming to Perl, many people are wondering what the future looks like for the language.

Converting Object-Oriented Code to Corinna

I was recently humbled when I converted some code to Corinna and Corinna's constraints showed the design flaws in my code.

Feature Switch Best Practices

One of the best things to come out of the DevOps movement is the promotion of feature switches. Let's discuss best practices.

Current Corinna Status

Demonstrating the current state of the Perl Corinna OOP project by implementing a simple cache

Naming and Object Oriented Code

I recently had an issue in a code review where developers disagreed about naming, but it was a subtle trap.

Understanding Class Inheritance

Inheritance has been problematic in object-oriented programming for over five decades. We will explore why.

Introducing MooseX::Extended for Perl

MooseX::Extended provides safe defaults, best practices, and useful features for Moose.

Common Problems in Object-Oriented Code

At https://allaroundtheworld.fr/, we are often fixing common issues in object-oriented code. This is a practical guide for resolving them.

Why is Object-Oriented Programming Bad?

You can find many articles explaining with OOP is bad. It's not, but you need to understand the problems.

Are Microservices the Next Phase of Object-Oriented Programming?

Modern object-oriented programming is a far cry from what Dr. Alan Kay, the inventor of the term, intended. Are microservices the closer?

Constructive Versus Classical Logic in Perl

Perl developers tend to think in terms of classical logic, but Perl fits constructive logic better.

Why is Perl not putting Moose in the core?

People keep asking why the Perl language doesn't just drag the Moose module into the core for object-oriented programming. Buckle up, this will be a long trip ...

Language Design Consistency

Consistency can be a hallmark of great language design. My Corinna OO project for Perl falls short of this.

Classes Should Not Override Parent Attributes

Slot/attribute builders in OO languages can be dangerous if you can inherit them.

Managing a Test Database

It's easy to get test databases wrong. Here's a nasty hack I did for a software test to make it easier to get the test database right.

Why Do We Want Immutable Objects?

I’m building a new object-oriented system to ship with the Perl language. It tries to default to immutable objects. Why is that?

Easy Git Workflow

This is the dead-easy git workflow used by All Around the World. Github repo included.

Making Complex Software Simple

In the Tau Station MMORPG, we have hideously complex software requirements that are very easy to manage. This article explains how you can do it to.

Work From Home Effectively

Many people are now working from home for the first time. It can be challenging, but here are some tips to make it easier.

Database Design Standards

When I get called in to fix a client's software, I find that most large codebases have common errors. Here are some of them and how to avoid them.