was observing the shift in february where my LLM generated commits outnumbered the ones i was authoring.| schpet’s notebook
i'm a big fan of fish's abbr and was wondering if it would also do sub commands, i.e. g c → git commit and so on. i came across a reddit post from Paul Irish1, no less, where someone indicates what to do. so i took a peek into Paul's dotfiles and got the cheat code:| schpet’s notebook
with the goal of writing some programs i will use, i've put together a few cli tools to improve my day to day. because cargo-dist lets me distribute binaries and put stuff on homebrew without having to write my own yaml, it means i actually do it, and i hope other people run this code too.| schpet’s notebook
every time i need to install a python tool i brace myself for pain. but no more!| schpet’s notebook
you can run typescript from the web, e.g. deno run https://docs.deno.com/examples/hello-world.ts will do what you think it does| schpet’s notebook
Here's what I learned: Season (usually with salt, pepper, chile flakes, some kind of acid) before you add the fat, which in 95 percent of the recipes in this book will be olive oil. Dial in the flavors through a few rounds of tinkering, tasting, and tinkering again. The goal, says Joshua, is for the dish to taste "like a potato chip." Meaning so tasty and savory that you can't help but take one more bite ... and then another.| schpet’s notebook
something that always catches my eye in a system is what kind of ids it uses. and the ones i'm most fond of are the human readable variety i first saw in stripe, they have a prefix indicating what resource they are followed by random characters. e.g. cus_NffrFeUfNV2Hib and re_1Nispe2eZvKYlo2Cd31jOCgZ is a customer and refund respectively, and even if that's flying by in logs or some csv you know what it is.| schpet’s notebook
finding new ways to work and better tools is something i enjoy a lot. and after discovering aider, a cli tool that uses llms to write code, i've been interested in trying it out on all sorts of things and finding the patterns that work well with it. so over coffee in the morning i put together a small typescript library, zod-urlsearchparams.| schpet’s notebook
at work we use harvest to keep track of time, and i'm generally working in vscode. it's easy enough to forget to turn on your timer, or leave one running that's on a different project and only realizing it later and have to take your best guess at correcting them. so i built timer reminder to let me know when that's happening.| schpet’s notebook
→ envset: updates .env files| schpet’s notebook
something that always catches my eye in a system is what kind of ids it uses. and the ones i’m most fond of are the human readable variety i first saw in stripe, they have a prefix indicating what resource they are followed by random characters. e.g. cus_NffrFeUfNV2Hib and re_1Nispe2eZvKYlo2Cd31jOCgZ is a customer and refund respectively, and even if that’s flying by in logs or some csv you know what it is.| schpet’s notebook
→ adding curly quote support to astro markdoc | schpet’s notebook
srcset-codegen is something i've wanted since the create-react-app days. it's a cli that looks at the images in your project and generates typescript files exporting an object with a src, width and height. if you have @2x, @3x, …, variants it'll include a srcSet attribute as well.| schpet’s notebook
when you're working on a branch in git you might commit your work for a variety of reasons, and git expects you to write a message every time.| schpet’s notebook
json stuff| schpet’s notebook
i've long been a big fan of keeping a very large $HISTFILE as reference, Ctrl+R being one of the my favourite key combinations to press. but i've got a bad habit of writing secrets directly into my shell which results in things like api keys, jwts, private keys, etc., being written to disk in plain text.| schpet’s notebook
→ oblique strategies| schpet’s notebook
pnpm allows you to install packages straight from github, but if the package has a build step (such as typescript compilation) it'll likely be missing the js that you would be running. there doesn't seem to be a standard way to set a project up so that the build step only runs if it needs to, so many projects don't include a prepare script to run the build.| schpet’s notebook
after reading Entering text in the terminal is complicated i was motivated to figure out a problem that has long vexed me: how do i edit a long command in my editor instead of in an interactive shell? for the last ~15 years i've just been writing stuff into a files and running them, and having those files laying around feels like finding cigarette butts on the beach.| schpet’s notebook
Now the concept of Flow is one that I have found of particular interest. My thanks to OMP student Mike Lecky for getting that book “Flow” in front of me a few years back. The basic idea of it is that when we are doing work for its own sake we can enter this realm where time disappears, the challenge in front of us takes up all our attention, and the rewards are personal, not external. The task is always a little bit beyond our reach so the struggle to manage it causes us to concentrate fi...| schpet’s notebook
→ typescript ‘satisfies‘ operator| schpet’s notebook
→ modern font stacks| schpet’s notebook
previously this site was built with remix, serving data stored in sqlite and content was authored in logseq and pushed up to the site via a custom logseq extension. this was fun to make, and worked well enough but logseq isn't a very good place to edit documents for the web. i wanted my content back on the file system in a proper format, and there was nothing dynamic preventing me from using a static site generator.| schpet’s notebook
i'm a fan of the way linear has a button to pop out a git branch name for an issue, but sometimes i'm working on that branch and get back to linear. this CLI does exactly that.1| schpet’s notebook
If I were to state it bluntly, I would have to say that I am more interested in the experience that I have in the shop than what I produce in it.| schpet’s notebook
with woodworking there's a lot of different ways to put steel to wood and the tools you choose informs the work you do and how enjoyable it is. same thing applies to working with tabular data.| schpet’s notebook
despite the desire to keep everything as stock as possible sometimes you realize it sucks and you need buy some stuff and fiddle around to improve your situation.| schpet’s notebook
after getting fed up with spotify and learning about navidrome i decided to repurpose an raspberry pi 3 i had kicking around into a little linux server.[^1] it was nice to follow the well worn path of setting this up since it's such a common thing to do.| schpet’s notebook
writing this down, mostly so i can look back on it in a few years and see how things changed.| schpet’s notebook
update: i have since moved this setup to be run off a raspberry pi in my basement, still using tailscale so that i can connect to it while away from home| schpet’s notebook
i often reach for emotion in react native projects because it has a nice api to support themes, and it makes it easy to move stuff around compared to stylesheet.create.| schpet’s notebook
i've been feeling pretty unsatisfied scrolling into oblivion on twitter, reddit, etc. on my phone and am experimenting with a different reading workflow:| schpet’s notebook
note: this info is outdated, things have changed| schpet’s notebook