Blogs

Build a Star Wars Copilot in C# - Lesson 4: Tool Calling
Build a Star Wars Copilot in C# - Lesson 4: Tool Calling

LLMs are smart, but they’re also confidently wrong sometimes.

Lesson 4 fixes that by giving …

Build a Star Wars Copilot in C# - Lesson 3: Model Choice and Local Models
Build a Star Wars Copilot in C# - Lesson 3: Model Choice and Local Models

One of the biggest advantages of the architecture so far is that we’re coding against …

Build a Star Wars Copilot in C# - Lesson 2: Chat History and System Prompts
Build a Star Wars Copilot in C# - Lesson 2: Chat History and System Prompts

In lesson 1, we got basic prompt/response working.

Now we make it feel like an actual copilot by …

Build a Star Wars Copilot in C# - Lesson 1: Chat with an LLM
Build a Star Wars Copilot in C# - Lesson 1: Chat with an LLM

I recently put together a workshop called StarWarsCopilot, and I wanted to turn it into a proper …

Build a Star Wars Copilot in C# - Lesson 0: Self-Setup
Build a Star Wars Copilot in C# - Lesson 0: Self-Setup

This series came from a taught workshop, so some original steps assumed resources were already …

Can AI help with user personas
Can AI help with user personas

I recently recorded an episode of the Pieces AI productivity podcast with Jason Arbon, the CEO of …

Build GitHub Actions faster with act
Build GitHub Actions faster with act

If I said to you that I made 34 commits to a repo, each one with small changes to a single file, …

Circles of DevRel part 1 - grow your circle of influence through collaboration
Circles of DevRel part 1 - grow your circle of influence through collaboration

This is the first part of a multipart blog post focusing on looking at DevRel through the idea of …

So what exactly is Dev Rel?
So what exactly is Dev Rel?

I work in developer relations - usually abbreviated to dev rel. Despite this being a popular field, …

How to correctly review a pull request
How to correctly review a pull request

One of my popular sayings is that development is a team sport. We don’t code in isolation, …

How to generate pre-signed URLs to get and put objects in S3 with Boto3 in Python
How to generate pre-signed URLs to get and put objects in S3 with Boto3 in Python

A plushie llama putting blocks into a bucket

TL;DR: If your put_object boto3 pre-signed URLs are failing with access denied errors, add …

Connect to localhost from inside a dev container
Connect to localhost from inside a dev container

I do a lot of work in dev containers (for example, using liblab inside of one), often hosting APIs. …