# morgan's notebook

> Notes on software, tools, and building things.

## Posts

- [what turboquant actually unlocks on a 24GB mac](https://blog.morganwill.com/journal/turboquant-gemma4-24gb.md): Two days testing TurboQuant KV-cache compression on a 24GB Mac Mini: what fits, what breaks, and which assumptions were wrong.
- [Write less code, especially with LLMs](https://blog.morganwill.com/journal/write-less-code-especially-with-llms.md): LLMs are great at generating code. That's the problem.
- [make your python scripts run anywhere](https://blog.morganwill.com/journal/uv-python-scripts.md): A uv shebang and inline dependencies make a Python script run on any machine with uv installed.
- [Configuring LLMs for Svelte 5](https://blog.morganwill.com/journal/svelte-llm-rules.md): LLMs default to Svelte 4 patterns. If you don't give them context, you'll get export let, $: reactive statements, and on:click instead of Svelte 5 runes and modern syntax.
- [Python patterns, explained simply](https://blog.morganwill.com/journal/python-patterns.md): Six patterns you'll actually use, with minimal examples.
- [MCP: Connecting Claude to your dev tools](https://blog.morganwill.com/journal/mcp.md): Model Context Protocol (MCP) lets Claude access local tools, files, and APIs. Instead of pasting context into chat, you give Claude direct access to what it needs.
- [Tailscale as a Docker sidecar](https://blog.morganwill.com/journal/tailscale-docker.md): Add Tailscale to any Docker Compose project as a sidecar container. Your app gets a stable hostname on your tailnet with automatic HTTPS -- no port forwarding, no reverse proxy config.
- [my dev config](https://blog.morganwill.com/journal/dev-config.md): Scripts go in ~/.scripts, which I add to my path.
- [Keep tailscale up on macOS with a LaunchAgent](https://blog.morganwill.com/journal/tailscale-auto-up.md): A LaunchAgent that reruns tailscale up every 30 minutes, so remote access to my Mac never silently drops.
- [UV replaced my entire Python toolchain](https://blog.morganwill.com/journal/uv.md): UV replaced pip, virtualenv, pipenv, poetry, and pyenv. One tool. Installs in seconds. Runs everything faster.
- [Launching my Svelte blog with Tablog](https://blog.morganwill.com/journal/launching-a-svelte-blog-with-tablog.md): After years of development, I've launched my dev blog, powered by Svelte.
- [Run your Svelte sites on Docker with Tailscale](https://blog.morganwill.com/journal/svelte-docker-tailscale.md): Run your SvelteKit app in Docker with secure Tailscale access. Template: github.com/mrgnw/svelte-docker-tailscale
- [Gear](https://blog.morganwill.com/journal/gear.md): The hardware I actually carry and use: travel router, Macs, cameras, and the rest of the kit.
