All Posts
Discover all our published articles and insights.
Copper Lists Explained (Without the Headache)
If you've spent any time reading about Amiga graphics, you've almost certainly come across the term Copper List. It can sound intimidating at first, but the concept is surprisingly straightforward. In this article, we'll break down what the Copper is, what a Copper List does, and why it became one of the Amiga's most powerful graphics features.

Amstrad CPC Mode 0 Graphics: Pushing the Limits
The Amstrad CPC's Mode 0 graphics mode was often regarded as both its greatest strength and biggest limitation. Offering a vibrant palette but a relatively low resolution, developers were forced to become inventive to create visually impressive games and demos. Despite the hardware restrictions, talented programmers continually found new techniques to squeeze every last drop of performance and graphical quality from the machine.

Writing 68000 Assembly on the Amiga Without Losing Your Mind
The Motorola 68000 processor sits at the heart of the classic Amiga experience, powering everything from games and demos to productivity software. While writing assembly language can seem intimidating at first, understanding a few core concepts makes it far more approachable. This article explores practical techniques, tools and habits that can help you write 68000 assembly on the Amiga efficiently without becoming overwhelmed.

Backing Up SQL Server the Right Way
Backups are one of the most important aspects of managing a SQL Server database, yet they are often overlooked until something goes wrong. Whether you are protecting a business-critical system or a personal project, having a reliable backup strategy can mean the difference between a minor inconvenience and a complete disaster. In this article, I will cover the key principles of backing up SQL Server correctly and avoiding some common mistakes.

Handling Soft Deletes in EF Core
When working with business applications, permanently deleting data is often undesirable. Records may need to be restored, audited or retained for compliance purposes. Soft deletes provide a simple solution by marking records as deleted rather than removing them from the database. In this article, we'll explore how to implement soft deletes in Entity Framework Core using query filters and save interception techniques.

Tracking vs No-Tracking Queries Explained
When working with Entity Framework, one of the most overlooked performance considerations is whether queries should be tracked or not. By default, Entity Framework tracks entities returned from queries, allowing changes to be detected and saved automatically. However, tracking comes with overhead and is not always necessary. Understanding when to use tracking and no-tracking queries can improve application performance and reduce memory usage.

Writing Raw SQL When Entity Framework Isn’t Enough
Entity Framework makes database access straightforward, handling most queries with minimal code. However, there are situations where LINQ queries become difficult to optimise, database-specific features are required, or performance is critical. In these cases, writing raw SQL can provide greater control, improved efficiency, and access to capabilities that Entity Framework does not directly support.

Migrations in EF Core Without Breaking Production
Entity Framework Core migrations make database changes manageable, but applying them incorrectly can cause downtime, failed deployments, or data loss in production. This article explores practical strategies for safely managing EF Core migrations, including deployment planning, testing, rollback preparation, and handling schema changes in live environments without disrupting users.

