Mark's Blog Posts

Thoughts on software design, agile methodologies, and technology architecture.

Showing all 32 blog posts
Getting Started with GitHub Spec-Kit
October 1, 2025

Getting Started with GitHub Spec-Kit

Learn how to get started with GitHub Spec-Kit, a tool for specification-driven development that helps teams build better software through structured workflows.

AI-Driven Code Reviews: Can Machines Replace Humans?
July 14, 2025

AI-Driven Code Reviews: Can Machines Replace Humans?

Analyze the effectiveness of AI-powered code review tools, their strengths and weaknesses, and their role in maintaining code quality.

AI for Legacy Code Modernization
July 14, 2025

AI for Legacy Code Modernization

Detail how AI tools can assist in understanding, refactoring, and migrating legacy codebases.

AI-Powered Code Generation: How Far Can It Go?
July 14, 2025

AI-Powered Code Generation: How Far Can It Go?

Explore the current capabilities and limitations of AI code generation tools, including real-world use cases, productivity gains, and integration challenges.

Building Your Own AI Coding Assistant: Tools and Techniques
July 14, 2025

Building Your Own AI Coding Assistant: Tools and Techniques

A practical guide to creating a custom AI coding assistant using open-source models, APIs, and frameworks.

Debugging with AI: Smarter, Faster, Better?
July 14, 2025

Debugging with AI: Smarter, Faster, Better?

Examine how AI tools are transforming the debugging process, from automated bug detection to intelligent code suggestions.

The Ethics of AI in Software Development
July 14, 2025

The Ethics of AI in Software Development

Discuss the ethical considerations of using AI in coding, including code ownership, bias, security, and the impact on developer jobs.

July 14, 2025

The Future of Pair Programming: Human + AI Collaboration

Explore the evolving dynamics of pair programming when one partner is an AI, including productivity impacts and collaboration strategies.

July 14, 2025

Integrating AI into CI/CD Pipelines

Show how AI can be embedded into CI/CD workflows to automate testing, code analysis, and deployment decisions.

July 14, 2025

Prompt Engineering for Developers: Getting the Most from AI Coders

Provide actionable tips and best practices for crafting effective prompts to maximize the usefulness of AI coding assistants.

July 13, 2025

Building Your Own MCP Server for Custom Developer Documentation

A practical guide to creating a custom MCP server that enhances your AI coding experience with private library documentation.

C# 13: The field Keyword - Direct Backing Field Access (Preview)
January 18, 2025

C# 13: The field Keyword - Direct Backing Field Access (Preview)

Explore C# 13's preview field keyword that enables direct access to compiler-synthesized backing fields, simplifying property implementations and reducing boilerplate code.

C# 13: Partial Properties and Indexers - Completing the Partial Story
January 17, 2025

C# 13: Partial Properties and Indexers - Completing the Partial Story

Explore C# 13's partial properties and indexers that complete the partial member story, enabling better code organization, source generation, and architectural flexibility.

C# 13: ref struct Enhancements - High-Performance Programming Unleashed
January 16, 2025

C# 13: ref struct Enhancements - High-Performance Programming Unleashed

Explore C# 13's revolutionary ref struct enhancements that enable interface implementation, generic usage, and async/iterator support, unlocking new high-performance programming scenarios.

C# 13: System.Threading.Lock - Modern Thread Synchronization
January 15, 2025

C# 13: System.Threading.Lock - Modern Thread Synchronization

Discover C# 13's new System.Threading.Lock type that provides better performance and cleaner APIs for thread synchronization, replacing traditional Monitor-based locking.

C# 13: Enhanced params Collections - Beyond Arrays
January 14, 2025

C# 13: Enhanced params Collections - Beyond Arrays

Explore C# 13's enhanced params collections that extend beyond arrays to support Spans, Lists, and any collection type, enabling more flexible and performant method signatures.

Agile Principle #12
November 1, 2018

Agile Principle #12

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Showing 18 of 32 posts published