Will Schenk
I am a father, entrepreneur, technologist and aspiring woodsman. My wife Ksenia and I live in the woods of Northwest Connecticut with our four boys and one baby girl. I have a lumber mill and all the kids love using the tractor. I’m currently building The Focus AI, Umwelten, and Cornwall Market.
- Posts
- 305 from 1 Jan 2001 to 9 Jul 2026
- Posting
- monthly (17 in the last year)
- Kind
- personal blog
- Feed
- https://willschenk.com/feed.xml
2026 12
2025 44
- Unreasonable Effectiveness of Compute
- Computer Held Accountable
- Agent Kickoff
- Interesting ATProto Projects in the Wild
- Notes on an 11 day water fast
- Weekend Update
- psychasthenia
- go wormhole
- Move to Mise
- Claude Code in Emacs
- The Solemn Silence of Written Words
- How to turn aerospace into an Application Launcher
- Setting and using Aerospace
- Making a whitepaper from a PDF
- Lightpanda to markdown
- What we are most subtle in
- Fonts from a website
- Talking to Cursor
- Knowledge Navigator
- Telegram Build Bot
- Mistral AI is Le French
- Emerson
- Running flux locally on a mac
- Living in mktemp and git and codespaces
- AI Coding
- astro and shadcn
- Fonts with NextJS
- Starlink review
- No Snow 1948
- Supabase Vercel Starter
- Using Github CLI
- Weebo chat on your computer
- Plant Feelings
- New o3 jsut dropped
- llm cli tool
- Setting up OSX machine
- Plagiarism
- Books in Gemini
- Autorun tasks on vscode startup
- Adding a font to astro
- have openai help you use the terminal
- asciinema for terminal recordings
- Tools I like as an amateur
- Open-WebUI to use ollama
2024 87
- Unnecessary Knowledge
- Load enviroments the nextjs way
- AI Guardrails, personal information edition
- The Focus AI
- Fixing vite errors when on github pages
- Adding seo and social to astro
- Astro and Obsidian
- Talking to a tesla over bluetooth
- Slicing up a design from figma
- Quality Code Swearing
- Vibe check
- Quick slide show
- The raven
- How to make opengraph screenshots for hugo
- Creating a start page
- No build static site that used supabase
- Seperate git for blog writing
- i heart ruby
- Building a blog using github issues
- Roda + Sequel
- Telegram with curl
- Using act to test github actions locally
- Playing with streamlit
- Building a site with nuejs
- LLM Tool calls
- Create a telegram ollama client
- Playing with Vercel AI SDK
- Command line parsing in typescript
- Using python venv in docker
- degit to template projects
- vite-bundle-visualizer
- Accessing clerk from ruby
- Using clerk with vite and static site
- rust to wasm to javascript
- Coding with aider
- Clerk webhooks
- Coding in one file
- Adding react-email to a nextjs app
- Adding authentation with clerk
- Sending email with react-email
- Using 1password from a script
- Thoughts on reading the llama 3.1 paper
- Vacation Book Reading
- Installing a go binary
- Four freedoms
- How to use pako with vite
- Checking fetch for error
- Adapting to new mediums
- Recreating notepadtab
- Chromadb on fly.io
- Converting a webpage to something usable
- I need a trigger warning
- Basic LLM Chat UI
- Oh javascript
- Programmatically Interacting with LLMS
- Readability and JSDOM
- Streaming responses from ollama
- Image upload with node storing on a seperate directory
- Vite and express development
- Geocoding with ollama
- Programming with ollama
- Deploying ollama on fly.io
- Using pushState and replaceState
- Leaflet markers with vite build
- Deploying static vite site on fly
- Discovering idagio
- shoelace and vite
- Playing with openrouteservice-js
- Things I love about my phone
- Address already in use
- Making a JSON api from a CSV file using fly
- Deploying puppeteer on fly.io
- Installing sqlite-utils on bookworm
- Wait for the download to finish with puppeteer
- Deploying OSMR
- Port 5000 already open on OSX
- My physical relationship to the internet
- Quick static site template
- Making a web component by scratch
- Ruby crashes on fly.io
- Using Datasette to map out charger locations
- POSSE rss to mastodon
- Why are LLMs so small?
- 5 year old hacking chatgpt
- AI in Emacs
- Fifteen or twenty thousand years
- Running Google Gemma Locally
2023 37
- political implications
- Sinatra with activerecord
- a good death
- locations in the magicians
- everything is equally evolved
- Indexing a hugo site using pagefind
- erb static site builder
- timezones and dialects
- Flushing DNS cache on OSX
- Thorsh: Thor, but for bash
- Should Robots Have Rites or Rights
- Using ruby netssh
- Playing with unocss
- Updating date in org file
- bad analogies
- Buildless websites
- threads is a mess
- things that are neat about the rivian
- hallucinations are bullshit
- A Taxonomy of AI Panic Facilitators
- Watching a directory for changes
- rivian trusts the driver
- Emacs Blogging mode take 2
- Charging Networks Compared
- Modern Improvements
- Installing gitolite
- Installing old ruby on Ventura
- Build on git push
- Using caddy docker proxy
- Deploying a private docker registry
- Using the cloudflare API
- Controlling Hetzner with CLI
- Playing with SSHKit
- Setting up emacs re-re-dux
- Using Mrsk
- Summarizing URLs with ChatGPT
- Using lastpass from CLI or script
2022 2
2021 33
- Pulling avatars from slack
- Running SQLite in the browser using NextJS
- Setting up digital ocean spaces to upload
- Receiving CloudEvents with NextJS
- Setting up knative eventing
- NextJS with Prisma on Kubernetes
- Serving a knative function on the root
- Setting up knative
- K8 Dashboard on Docker Desktop
- Getting emacs working on OSX Monterey
- Wrapping a executable in a function
- Uploading to S3 on the command line
- Rails on Kubernetes with TLS
- Setting up GitHub Actions for Continuous Integration
- Deploying OpenFaaS on Digital Ocean with Terraform
- Sending files with wormhole
- Controlling docker in golang
- SQL in Org-Mode
- Bootstrapping React with Tailwind
- SQLite in the browser
- Setting up emacs for typescript development
- CLOCViz
- Emacs Blog Writing and Navigation Mode
- asdf as environment manager
- Database Migrations
- Installing emacs on buster
- Setting up redis and nat-connector with FaasD
- Uploading Blobs
- Building static OpenFaas templates
- Docker One Liners
- Interacting With Git via HTTP
- Installing faasd
- Logging with an HTTP Proxy
2020 27
- rails uuid primary key
- Tailwind and Rails
- Rails in Docker
- Release code diffs
- Looking at package.json
- Looking at Gemfiles
- gitlog in sqlite
- Using Askgit
- Getting Websters
- Setting up SSB-Pub Server
- Effigy, a distributed social data layer
- Upgrading emacs on debian
- Checking health of RSS feeds
- Using Syncthing
- Developing React Inside Docker
- Simple CORS workaround for local development
- Beginning Emacs
- IPFS and Fuse
- Playing with deno
- Book Image Shortcode for Hugo
- Styling tables with Hugo
- Emacs Tramp tricks
- Making charts with VueJS and no tooling
- Leveraging disposability for exploration
- Playing with tailwindcss
- Styling Hugo Diffs
- Template to setup a linode server with DNS and HTTPS
2019 15
- Terraform and Packer with Digital Ocean
- Computer Setup Script
- Setting up an IPFS Node
- Using Org Mode in Hugo
- Installing guix on IntelNUC
- Reverse engineering APIs using Chrome Developer Tools
- Controlling IKEA Tradfri devices from your computer
- Playing with cabal
- Splitting Git Repos and Work Directories
- Setting up Indieweb Homepage
- Easy scraping with httpie and jq
- Building a slimmer go Docker container
- Bootstrapping a react app
- Setting up a chromebook for development
- Setting up IPFS on a chromebook
2018 6
2017 8
- Living with a Chromebook
- Getting firebase and grpc working under termux
- Authenticated routes using react-router
- Styling and theming with material-ui: React + Material Design
- Styling and theming with rmwc: React + Material Design
- More lessons learned working on a Chromebook
- Writing code on a chromebook
- Why Short Term memory is a thing: forgetting as a creative act
2016 4
2015 10
- Using seed to explore APIs
- Building a GUI for managing middleman blogs
- Receiving posted JSON with Sinatra
- Bower with Rails
- Adding search to a middleman blog
- OSX Script for Kiosk Mode
- Slow data and Fast Sites
- Why Engineers build crappy products
- Setting up Rails testing with rspec, devise, and the gang
- Setting up Devise with Twitter and Facebook and other Omniauth schemes without email addresses
2014 16
- Using rake for dataflow programming and data science
- Building Middleman Extensions
- Middleman Tricks and Hacks
- Dateslice: Writing rails extensions
- Pulling data out of Google Analytics
- New HappySeed released
- Building Sites with Middleman
- Scripting Twitter: Collecting Data and Writing Bots
- Embedding 3d models on your page
- Personal information from only a URL
- Bot Design Patterns
- Making a command line utility with gems and thor
- Making Yosemite Faster
- Field of Dreams is 25 years old and hasn't aged well
- Bootstrap: Advanced Grid Tricks
- How to track your coworkers