Blog Posts

I try to post new content every week. The search bar above can help you find what you're looking for. The posts are also tagged to help find related content.
Using Agentic AI to Get the Most from LLMs
Using Agentic AI to Get the Most from LLMs

Agentic AI represents a generational leap forward in how artificial intelligence systems operate, moving beyond single, monolithic models to autonomous, goal-oriented agents.

If you missed it, my previous article on how LLMs work under the hood lays the foundation for how large language models …

Unit Testing Our Python Sudoku Solver
Unit Testing Our Python Sudoku Solver

This week we have a new topic for this blog, which is Unit Testing. While not as exciting as actually writing the functional code for a project, it is an important skill to have. By writing tests for your code, you get to check that it behaves the way you intended. Not only does this let you fix the …

Lazygit Series: The Commits Panel
Lazygit Series: The Commits Panel

This is the fifth post in the Lazygit series. You can see a list of all of the posts in this series by visiting the Lazygit Series tag. This week, we’ll look at how to best use the commits panel.

Lazygit’s commits panel allows you to track the hierarchy of commits in your …

Lazygit Series: The Branches Panel
Lazygit Series: The Branches Panel

This is the fourth post in the Lazygit series. You can see a list of all of the posts in this series by visiting the Lazygit Series tag. This week, we’ll look at how to best use the branches panel.

Lazygit’s branches panel allows you to manage the branching strategy for your project. You …

Lazygit Series: The Files Panel
Lazygit Series: The Files Panel

This is the third post in the Lazygit series. You can see a list of all of the posts in this series by visiting the Lazygit Series tag. This week, we’ll look at how to best use the files panel.

Lazygit’s files panel offers a useful view of the state of the files in your repository, including …

Lazygit Series: The Status Panel
Lazygit Series: The Status Panel

This is the second post in the Lazygit series. You can see a list of all of the posts in this series by visiting the Lazygit Series tag. This week we look at how to best use the status panel.

Lazygit’s status panel offers a concise snapshot of your repository’s current state, showing essential …

Managing Git Repositories with Lazygit: The Terminal UI Powerhouse
Managing Git Repositories with Lazygit: The Terminal UI Powerhouse

This is the first post in a new series about the Git GUI tool that works directly in your terminal: Lazygit. You can see a list of all of the posts in this series by visiting the Lazygit Series tag.

Let’s face it: managing Git repositories via command-line commands can sometimes feel cumbersome and …

Unlocking the Power of Local Offline Language Models: Set Up Ollama for Free
Unlocking the Power of Local Offline Language Models: Set Up Ollama for Free

In today’s landscape of privacy, speed, and cost-conscious development, running large language models (LLMs) locally is becoming essential for both enthusiasts and professionals. Whether you’re working on Mac, Windows, or Linux, this straightforward guide will show you how to set up Ollama—an …

First week implementing the Python Sudoku solver
First week implementing the Python Sudoku solver

This is the update post, a week after planning to build a Sudoku puzzle solver in Python. In this post, we’ll review the direction the project is going and discuss the setup steps involved in this new project.

If you like this post and you’d like to know more about how to plan and write …

Planning a Sudoku solver in Python
Planning a Sudoku solver in Python

Sudoku is one of those puzzles that captivates anyone who attempts to solve it. Sudoku puzzles can range from very easy to fiendishly difficult, despite the rules being relatively simple and unchanging.

To be valid, a Sudoku puzzle must have only a single solution — and this constraint actually …

Setting up a cheap home server using Raspberry Pi
Setting up a cheap home server using Raspberry Pi

A Raspberry Pi home server offers a low-cost, high-flexibility solution for everything from ad-blocking to home automation. Here’s how you can set one up with ease.

If you like this post and you’d like to know more about uses for Raspberry Pis, check out the page for the Raspberry Pi …

A review of Python package managers in 2025
A review of Python package managers in 2025

This is an overview of the current state of Python package management in 2025. You can find this and other posts by browsing the Python tag.

Package management is a critical part of modern software engineering. It allows developers to declare, install, and isolate project dependencies in a reliable …