RSSAmplifier

Blog

Site

rebecca-powell.comRSS feed ↗108 posts

Latest posts

Powell's Law: Time, Progress and the Cost of Interruption in Resilient Systems

A long-form position paper examining time, durable progress and recovery effort as distinct consequences of interruption in resilient systems.

Should I Leave Legacy GitHub Copilot Pro for Pro+?

A practical analysis of GitHub Copilot Pro versus Pro+, including Premium Requests, AI Credits, token pricing, cache usage, model selection and the hidden difficulty of comparing the two billing models.

Temporal Nexus in .NET (Preview): What It Is, When to Use It, and a Practical Walkthrough

A practical guide to Temporal Nexus in .NET: what it is, where it fits, how it compares to Event Grid, and how to implement workflow-backed Nexus operations in a real sample.

Temporal .NET Nexus Preview Feedback

A detailed review of Temporal's .NET Nexus preview API, with source-linked feedback on what should change before GA.

Durable Execution for Dummies: Retries Protect Calls, Workflows Protect Processes

A practical explanation of durable execution, why retry libraries are not enough, and the WOWL rule: Write Once, Write Last.

Return on Intelligence, Part 8: The New Power Map

The final part of a long-form essay series mapping the likely winners and losers after the AI bubble breaks and the mature AI economy begins.

Return on Intelligence, Part 7: After the Crash

The seventh part of a long-form essay series arguing that the AI crash, when it comes, will not be the end of AI, but the start of its mature economic phase.

Return on Intelligence, Part 6: Breaking Point

The sixth part of a long-form essay series. The market does not stop believing in AI. It starts doubting who owns it. The pressure map showing how multiple assumptions can weaken at the same time.

Return on Intelligence, Part 5: Firmware

The fifth part of a long-form essay series. Firm-ware is the operating logic embedded into the company itself. AI makes that logic programmable.

Return on Intelligence, Part 4: SaaS Was a Compromise

The fourth part of a long-form essay series arguing that SaaS is more vulnerable to AI than many people believe because SaaS won partly because custom software was too expensive. That compromise is now being repriced.

Return on Intelligence, Part 3: Moats

The third part of a long-form essay series arguing that intelligence alone is not the moat. Durable moats may be context, distribution, workflow, identity, permissions, governance, execution rights, data and systems of record.

Return on Intelligence, Part 2: Prototypes

The second part of a long-form essay series arguing that early AI companies and interfaces are prototypes of futures they may not own. A prototype can be directionally right and economically doomed.

Return on Intelligence, Part 1: Echoes

The first part of a long-form essay series arguing that the AI bubble will burst not because AI is fake, but because AI is real. This opening chapter uses lived experience from the dotcom bubble to explain why real paradigm shifts produce the most dangerous bubbles.

Return on Intelligence: The Preface to an Eight-Part Series on the AI Bubble

Preface to an eight-part essay series arguing that the AI bubble will burst not because AI is fake, but because AI is real enough to break the market's first ownership story.

From One Giant ‘Skill’ to a Real Agent Library: Temporal + .NET Aspire Debugging With Copilot

I started with a single ‘Temporal .NET skill’ file, then realised I’d built a context-stretching custom agent. Here’s the structure I use now: a small router agent, modular skills, reusable prompts, and MCP-powered observability via Aspire + Temporal docs.

Building and Publishing a .NET Aspire Hosting Extension for Webhook Testing

A step-by-step guide to building, publishing, and using a .NET Aspire Hosting Extension for webhook testing.

The Robotic Rubber duck - coding an energy forecasting engine with OpenAI Codex

An adventure coding without coding.

Combining .NET Aspire with Temporal - Part 3

Part 3 of a multi-part blog series on Temporal with .NET Aspire.

Combining .NET Aspire with Temporal - Part 2

Part 2 of a multi-part blog series on Temporal with .NET Aspire.

Combining .NET Aspire with Temporal - Part 1

Part 1 of a multi-part blog series on Temporal with .NET Aspire.

Upgrading AstroPaper from v4 to v5 - What You Need to Know

A step-by-step guide to upgrading AstroPaper from v4 to v5, highlighting new features, breaking changes, and migration tips.

The Five Waves of Distributed Resilience

Over the past 30 years, distributed systems have undergone a quiet revolution. From crude polling loops to language-native durable execution engines, the way we build and orchestrate resilient business logic has advanced through a series of distinct technological waves.

Deploying .NET applications to Coolify

A step-by-step guide on migrating from WordPress on Digital Ocean VPS to Cloudflare Pages and Astro SSG, including integrating Giscus comments and other benefits.

Moving from WordPress on Digital Ocean VPS to Cloudflare Pages and Astro SSG

A step-by-step guide on migrating from WordPress on Digital Ocean VPS to Cloudflare Pages and Astro SSG, including integrating Giscus comments and other benefits.

Integrating Giscus Comments in AstroPaper v5

A step-by-step guide on integrating Giscus comments into AstroPaper v5, including fixes for common issues.

Moving Content to Astro

A guide on migrating blog content to Astro, including exporting from WordPress, setting up Astro, importing Markdown files, and cleaning them up using GitHub Copilot.

The Plague of Microsoft Excel

An exploration of the hidden costs and inefficiencies caused by the overuse of Microsoft Excel in business environments, with recommendations for identifying and addressing these issues.

Exploring the Traits of Exceptional Developers

An exploration of the qualities that define exceptional developers, including T-shaped skills, continuous learning, problem-solving, and the ability to switch between big-picture thinking and detailed focus.

Is Bob C. Smith the same person as Robert Charles Smith? A conversation with OpenAI Chat GPT

An exploration of name matching challenges in automated systems, discussing fuzzy matching algorithms and machine learning techniques, with insights from a conversation with OpenAI's ChatGPT.

NServiceBus problems with RavenDb

Troubleshooting NServiceBus and RavenDb issues in a .NET application, including solutions for GUID formatting errors and corrupted performance counters after a Windows 10 update.

Auto-generating documentation and SDKs in ASP.NET Web API

Discusses the benefits and methods of auto-generating documentation and SDKs for ASP.NET Web API using tools like Swagger and AutoRest.

Golden rules for building better software

A comprehensive guide to best practices in web development, covering design/UI, graphics/charts, HTML/JavaScript, data handling, site setup, server configuration, and general process.

JavaScript Module Pattern

An overview of the JavaScript module design pattern, highlighting its benefits for code organization and readability, with resources for further learning.

VirtualMin, SSL Perfect Forward Secrecy and StartSSL

A detailed guide on setting up SSL with Perfect Forward Secrecy using VirtualMin and StartSSL, including configuration tips and security best practices.

Cool tools for wireframing

An overview of tools for wireframing and prototyping, including Axure RP and Balsamiq Mockups, highlighting their features and benefits for design and collaboration.

Common .htaccess Redirects

A comprehensive guide to common .htaccess redirects, including examples for single pages, entire sites, subfolders, and advanced redirection techniques using mod_rewrite.

FluentMigrator timeout when adding a new column to a large table

Discusses the challenges and solutions for adding a new column to a large table using FluentMigrator, including handling timeouts and adjusting SQL command timeout settings.

P vs NP explained

An overview of the P versus NP problem, explaining the difference between the complexity classes P and NP and the significance of determining whether every problem whose solution can be quickly verified can also be quickly solved.

The story of AllowRowLocks equals false. When indexes go bad.

Discusses the challenges and solutions related to SQL Server indexes with AllowRowLocks set to false, including troubleshooting deadlocks and failed deletes, and provides guidance on enabling row locks.

Saving Table Space Quick And Dirty

A practical guide on reducing database space usage with a SQL script that identifies tables with high data-per-row ratios, helping to improve database performance.

Deploying Database Migrations in .NET Using FluentMigrator, TeamCity, and Octopus Deploy

A practical guide to database migrations in .NET using FluentMigrator, covering challenges with existing databases, deployment strategies with Octopus Deploy and TeamCity, and overcoming migration complexities. This post provides insights into automation, version control, and structured schema changes for efficient database management.

SOLVED - apache2: Could not reliably determine the server's fully qualified domain name

A solution to the Apache2 error "Could not reliably determine the server's fully qualified domain name," including steps to configure ServerName and correct the hosts file on a Digital Ocean VPS with VirtualMin.

Powershell Power - Moving large amounts of files to the cloud

A detailed guide on using Powershell and .NET to transfer large amounts of files to the cloud, including challenges faced and solutions implemented for efficient file migration and database updates.

The golden rules of encryption for developers

Essential guidelines for developers on implementing encryption, highlighting common pitfalls and recommending best practices for secure cryptographic methods and algorithms.s for developers on implementing encryption, highlighting common pitfalls and recommending best practices for secure cryptographic methods and algorithms.

The browser wars illustrated - playground edition

A humorous recount of the browser wars in 2014, highlighting Chrome's dominance, Firefox's struggle, and Internet Explorer's obsolescence, with playful analogies and reflections on the ongoing competition.of the browser wars in 2014, highlighting Chrome's dominance, Firefox's struggle, and Internet Explorer's obsolescence, with playful analogies and reflections on the ongoing competition.

Teletype effects in JavaScript

An exploration of implementing teletype effects in JavaScript, including references to jQuery plugins and a live example on jsFiddle.

Command prompt here in Explorer Vista, Windows 7 and Windows 8

A guide on opening a command prompt from Windows Explorer in Vista, Windows 7, and Windows 8, including adding a Visual Studio Command Prompt to the context menu and using Git Bash for Unix-like tools.a command prompt from Windows Explorer in Vista, Windows 7, and Windows 8, including adding a Visual Studio Command Prompt to the context menu and using Git Bash for Unix-like tools.

Fix Internet Explorer prompts to save JSON response when uploading files

A guide to fixing the issue where Internet Explorer prompts to save JSON responses when uploading files via AJAX, including a solution for modifying HTTP headers in ASP.NET MVC.

A simple lightweight HTTP Request Library

An introduction to Unirest, a lightweight HTTP request library for .NET, including examples of basic POST requests and an overview of its features.

How I setup my Digital Ocean droplet with ZPanel and configured the DKIM and SPF records

A detailed guide on setting up a Digital Ocean droplet with ZPanel, and configuring DKIM and SPF records for email authentication, including securing the server and installing Spam Assassin.