BlogWikiAbout

Kyle Pericak

"It works in my environment"

Linear MCP: Planning with Robots

Linear MCP: Planning with Robots

Created: 2026-03-06, Modified: 2026-03-06

Wiring Linear's official MCP server into Claude Code via OAuth, then designing a nightly ideation agent that files Backlog suggestions gated by issue status.

Using OpenCode & Comparing it to Claude, Cursor

Using OpenCode & Comparing it to Claude, Cursor

Created: 2026-03-06, Modified: 2026-03-06

Setting up OpenCode locally as an alternative to Cursor and Claude Code for AI-assisted development. First try at multi-agent flows.

GA4 and Its MCP Server

GA4 and Its MCP Server

Created: 2026-03-04, Modified: 2026-03-05

Adding Google Analytics 4 to a statically-exported Next.js blog, then connecting the official GA4 MCP server so Claude can query the data directly.

Playwright MCP: Claude Code Verifying Its Own Work

Playwright MCP: Claude Code Verifying Its Own Work

Created: 2026-03-03, Modified: 2026-03-03

Using the Playwright MCP server to give Claude Code live browser access, writing Gherkin-driven tests for a Next.js blog, and exploring what it means for an agent to verify the changes it just made.

Cross-Tool AI Rules with Ruler

Cross-Tool AI Rules with Ruler

Created: 2026-03-02, Modified: 2026-03-02

Using Ruler to maintain a single source of truth for AI coding assistant instructions across Cursor, Claude Code, and OpenCode in a monorepo.

ComfyUI on M2: Local Image API with Character Consistency

ComfyUI on M2: Local Image API with Character Consistency

Created: 2026-03-01, Modified: 2026-03-01

Setting up ComfyUI on a 16GB Apple Silicon MacBook as a local REST API, with IP-Adapter for generating consistent character portraits in a tabletop RPG game

Claude Code + CodeRabbit: Review Before the PR

Claude Code + CodeRabbit: Review Before the PR

Created: 2026-02-28, Modified: 2026-03-11

Setting up the CodeRabbit CLI and Claude Code plugin so you can run AI code review locally before creating a pull request, and configuring both tools to agree on your project's standards via CLAUDE.md

Local LLM Bakeoff on Apple M2 Air

Local LLM Bakeoff on Apple M2 Air

Created: 2026-02-25, Modified: 2026-02-28

Running and comparing Qwen3 8B, DeepSeek-R1-Distill-Qwen-7B, Mistral Nemo 12B, and Mistral Small 3.1 24B locally using llama.cpp on Apple Silicon

AI Image Generator Bakeoff

AI Image Generator Bakeoff

Created: 2026-02-21, Modified: 2026-02-24

Head-to-head comparison of GPT Image 1.5, Nano Banana Pro, and Flux 2 Max APIs for blog image generation: setup, pricing, and real output quality.

Automating Blog Images with OpenAI

Automating Blog Images with OpenAI

Created: 2026-01-01, Modified: 2026-01-01

How this blog auto-generates post thumbnails at build time using OpenAI's DALL-E 3 API, gpt-4o-mini for prompts, and Sharp for 70x70 resizing.

Mermaid Diagrams in Markdown

Mermaid Diagrams in Markdown

Created: 2025-12-05, Modified: 2025-12-06

Adding Mermaid diagram rendering to a Next.js blog via a custom remark plugin, with syntax examples for flowcharts, sequence diagrams, and state diagrams.

Adding Virtio drivers for KVM to RHEL's initrd

Adding Virtio drivers for KVM to RHEL's initrd

Created: 2020-10-21, Modified: 2020-10-21

Fix a RHEL VM that drops to the dracut prompt after migrating to KVM or OpenStack by chrooting in and injecting virtio drivers into the initrd with dracut.

Creating a CSR with a SAN - openssl

Creating a CSR with a SAN - openssl

Created: 2020-10-20, Modified: 2020-10-20

Fixing ERR_CERT_COMMON_NAME_INVALID by generating an openssl CSR with Subject Alternative Names, using a reusable san.ini config file and openssl req.

VLAN Tagging Mac Thunderbolt NIC IP Traffic

VLAN Tagging Mac Thunderbolt NIC IP Traffic

Created: 2020-07-23, Modified: 2020-07-23

Click-by-click steps for adding an 802.1Q VLAN tag to a Thunderbolt Ethernet adapter on macOS so you can plug a MacBook into a switch's trunk port for testing.

OpenStack: Fixing the CLI (python2) error: No module named queue

OpenStack: Fixing the CLI (python2) error: No module named queue

Created: 2020-06-25, Modified: 2020-06-25

Fix the broken python-openstackclient install on Ubuntu 18.04 by swapping `import queue` for `from multiprocessing import Queue as queue` in the SDK files.

1
2
3
4
5
6
Blog code last updated on 2026-04-16: 8579f34f0a3ec5b8043d5eade8e87124d41cf83b