Skip to content

Instantly share code, notes, and snippets.

@shreeve
shreeve / ZIG-0.17.md
Last active November 3, 2026 09:22
Zig 0.17 for AI agents — from 0.15.x knowledge to 0.17.0 (verified against the 0.17.0 compiler)

Zig 0.17 for AI Agents — from 0.15.x knowledge to 0.17.0

This document upgrades an AI coding agent whose reliable Zig knowledge ends at 0.15.x to a working command of Zig 0.17.0 (tagged 2026-10-02). It assumes you know nothing about 0.16. Everything here describes the final 0.17.0 state; where 0.16 introduced an API that 0.17 then changed again, only the 0.17 form is taught, with the 0.16 spelling given so you can recognise and migrate it.

How it was built. The 0.16 material is consolidated from four project

@shreeve
shreeve / CYW43-PMKSA-RESEARCH.md
Last active April 20, 2026 09:15
CYW43439 (Raspberry Pi Pico W) WiFi driver: low-level bring-up notes, a pure-Zig rewrite plan, and PMKSA cache / ICV_ERROR reliability research

CYW43439 PMKSA Research — verified findings

Purpose. This is the pre-Phase-3 research artifact mandated by docs/CYW43-REWRITE.md §5.9.2. It documents the exact iovar, wire-format, chip-compatibility, and reliability-context for PMKSA cache management on the CYW43439 chip as used in Raspberry Pi Pico W.

Status. Produced 2026-04-20 from first-party sources (Linux kernel tree, pico-sdk issue tracker, cyw43-driver upstream). Sign-off for Phase 3 PMKSA coding: ready.


TL;DR

@shreeve
shreeve / ZIG-0.16.0-QUICKSTART.md
Created April 17, 2026 07:14
Zig 0.16.0 - Migration documents for AI Agents

Zig 0.15.x → 0.16.0 Migration — Quickstart Kit

This file is a turn-key quickstart for pointing an AI (or yourself) at a Zig codebase that needs a 0.15.x → 0.16.0 migration. It's small on purpose. The actual reference material lives in ZIG-0.16.0.md (1,800+ lines of changelog, patterns, decoder tables, and workflow playbook distilled from a real end-to-end port).


What this kit is and isn't

It IS: A field-tested migration playbook that took a ~7,300-line Zig 0.15.2 parser generator to 0.16.0 in one session. Tests passed 40/40 afterwards. Performance went up (187s → 1.73s test runtime). It captures both the API changes and the surprises that aren't obvious from release notes alone — most importantly, std.heap.DebugAllocator's up-to-1400× slowdown on allocator-heavy workloads in Debug builds.

@shreeve
shreeve / Rip-JS-Garden.md
Last active February 27, 2026 08:36
Rip and the JavaScript Garden

JavaScript Garden Analysis: How Rip Improves the Situation

JavaScript Garden documents the most notorious quirks and pitfalls of JavaScript. Here's a deep analysis of each section and how Rip eliminates or mitigates these problems.


1. Equality (== vs ===) — Eliminated

JavaScript Garden calls == a source of "hard-to-track-down bugs" due to type coercion. Rip solves this at the language level with two mechanisms:

@shreeve
shreeve / RIP-LANG.md
Last active February 20, 2026 01:24
Rip Guide - A practical guide for using Rip in your projects


Rip Language Reference

Rip is a modern reactive language that compiles to ES2022 JavaScript. It combines CoffeeScript's elegant syntax with built-in reactivity primitives. Zero dependencies, self-hosting, ~13,500 LOC.


Table of Contents

@shreeve
shreeve / nginx-cors.md
Last active December 19, 2022 18:58
Enable CORS in nginx

Configure nginx to handle CORS for us, so we don't even see it

  server {
    server_name _;
    listen      443 ssl http2;
    listen [::]:443 ssl http2;

    root /home/public/www;
@shreeve
shreeve / ssl-certs.sh
Last active June 13, 2024 12:48
Self signing certificate script
#!/bin/bash
# =============================================================================
# ssl-certs.sh - Self signing SSL certificates
#
# Author: Steve Shreeve <steve.shreeve@gmail.com>
# Date: Dec 17, 2022
# =============================================================================
# Use https://gist.github.com/shreeve/3358901a26a21d4ddee0e1342be7749d
@shreeve
shreeve / .gitconfig
Last active December 16, 2022 04:54
Git config file
# =============================================================================
# .gitconfig
#
# Author: Steve Shreeve <steve.shreeve@gmail.com>
# Date: Dec 15, 2022
# =============================================================================
# curl -Lso ~/.gitconfig http://bit.ly/3FANcK7
[user]
@shreeve
shreeve / .tmux.conf
Last active January 6, 2023 00:30
Config file for tmux
# =============================================================================
# .tmux.conf
#
# Author: Steve Shreeve <steve.shreeve@gmail.com>
# Date: Jan 5, 2023
# =============================================================================
# curl -so ~/.tmux.conf https://gist.githubusercontent.com/shreeve/c751769ea46b34c1c30b97fa2762770b/raw/.tmux.conf
#
# For iTerm2, make sure to check "use Powerline Glyphs" in order to render special chars
@shreeve
shreeve / .vimrc
Created December 11, 2022 07:48
Vim configuration file
" vim config
set nocompatible " Must come first because it changes other options
" Enable pathogen
execute pathogen#infect()
color benlight " Color theme
syntax on " Use syntax highlighting