Posts tagged: dev

All posts with the tag "dev"

291 posts latest post 2026-05-09
Publishing rhythm
May 2026 | 8 posts
I keep forgetting about the double gutter problem with nested containers. When you put padding on a parent and the child also has padding, you get twice the spacing you wanted. The Problem # [1] .container { padding: 2rem; } .child { padding: 2rem; } Now your content is 4rem from the edge. Not what I meant at all. The Fix # [2] Either remove padding from the parent or use box-sizing: border-box and plan for it. I usually just drop the parent padding when I realize what I have done. References: [1]: #the-problem [2]: #the-fix
External Link X (formerly Twitter) Ā· x.com [1] I tried this flow [of running an opencode server on tailscale] on day one of getting opencode, I wanted to prompt from my phone while were were running lights at the theater. It kinda worked, but the ui was really bad on phone, hard to use and the experience overall–it felt buggy. Happy to see they are making improvements and it might now be ready for some real use. https://dropper.waylonwalker.com/file/9065fcb2-5e40-479c-967e-498bc9bb6a4f.mp4 Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://x.com/thdxr/status/2017691649384620057 [2]: /thoughts/

What Your Coding Tool Says About You

- open code - libre free as in beer and speech - Copilot - corporate 9-5er - Cursor - You sip on Philz coffee with your macbook - Claude Code - Agentic Workflows or Bust - Jetbrains - I didn’t know you wrote java - Vim/neovim - definite neck beard - VsCode - What else is there?
feat: add llms.txt endpoint for LLM-optimized documentation by quantizor Ā· Pull Request #2388 Ā· tailwindlabs/tailwindcss.com Add /llms.txt endpoint that serves a concatenated, text-only version of all Tailwind CSS documentation pages optimized for Large Language Model consumption. Extract text from MDX files, removing J… GitHub Ā· github.com [1] Damn this one is getting some reach, I’ve seen it from Simon Willison [2] and Justin Searls [3] and t3.gg [4]. I feel for Adam, He has built a fantastic product that the world is running with, something we all needed. Something that everyone laughs at turns their nose up ā€œppft I don’t need thatā€ the first time they see it, but once they try people get it, and a lot of them like it and keep it. But its something that no one really wants to pay for, no matter how big of products get built on it. As we see more and more features coming to css, its not stopping, the work will always be there. I really hope to see something happen to tailwind to keep it afloat. massive growth and revenue down 80% does not help. Note This post is a thought [5]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: http...
Yesterday I wrote about a way to do light mode screen recording [1] to convert to light mode from dark mode with ffmpeg. I was wondering if it could be done entirely on the front end for web applications. Turns out you can. I’m sure there are limited wikis and site builders that don’t allow adding style like this, but it works if you can. <video src="https://dropper.waylonwalker.com/file/1c53dbcb-4b84-4e94-9f04-a42986ab3fa1.mp4?width=800" controls style="filter: invert(1) hue-rotate(180deg) contrast(1.2) saturate(1.1);" > </video> 0 deg hue rotate 90 deg hue rotate 180 deg hue rotate 270 deg hue rotate References: [1]: /light-mode-screen-recording/
Convert a video from dark mode to light mode with FFmpeg! Here cassidoo.co [1] Converting video from dark mode to light mode after the fact is a pretty great idea, I’m surprised at how well it does. Its definitely not perfect, but looks really good. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://cassidoo.co/post/ffmpeg-dark-light/ [2]: /thoughts/
I saw this tip from Cassidoo [1] and had to try it out for myself. I kicked on a screen recording right from where my terminal was, converted it, and it actually looks pretty good. ffmpeg \ -i screenrecording-2026-01-01_10-10-49.mp4 \ -vf "negate,hue=h=180,eq=contrast=1.2:saturation=1.1" \ screenrecording-2026-01-01_10-10-49-light.mp4 Your browser does not support the video tag. [2] Dark Mode Your browser does not support the video tag. [3] Light Mode There are a few unsettling things about it, but overall I feel like it was a success. References: [1]: https://cassidoo.co/post/ffmpeg-dark-light/ [2]: https://dropper.waylonwalker.com/file/1c53dbcb-4b84-4e94-9f04-a42986ab3fa1.mp4 [3]: https://dropper.waylonwalker.com/file/de4e3378-6df2-45b1-84d5-0cc773ceb3c5.mp4
- Yeah there’s some basics, you know things you might expect like using standard error and standard out correctly. One thing I’ll say on that because I think this is commonly misunderstood, standard error is not for errors, it’s for any information that isn’t part of the normal output. So you know often times that’s warnings and errors, but it might just be progress information. You know anytime that you just need to have something go to the user that’s what it’s there for." (6:15 - 6:42) I’ve definitely done this sin in my own tooling before, and it does make things harder to use. I think I still take err/out at face value. I really like the translation Jeff gave here, one is for normal output, i.e. what the user asked for and the other is extra information. So if I wanted to list something and pipe it into something else, stdout only captures the list, thats it. if you have a bunch of information about config warnings, showing environment, are you sure questions, none of that is captured. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
ā€œYou should never build a CMSā€ | Sanity Lee Robinson migrated cursor.com off Sanity. He made good points. Here's what he missed. Sanity.io Ā· sanity.io [1] Such a good breakdown of the leerob article, that is hitting everywhere right now. Feels like sanity was just a bit late to getting things right and it would have just worked for them how leerob was trying to use it, but MCP sucked so he jumped. Reading their loose descriptions of a CMS, its an interesting realization to realize I’m rolling my own cms. I kinda feel like theres a few inspiration features to take from here, but I have no regrets. As a developer I like being able to build my own tools, I like being able to search and edit from nvim, and not have to write GROQ queries, and transforms. There were some really good points here that as I get more and more content on my personal site, I do kinda feel it. I’m surprised there is not more tooling that does some of these things for piles of markdown. pinning this to re-read later, feels like a lot of good tidbits here. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://www.sanity.io/...
- It really feels like M$ is coming down hard on GH lately to make some unfavorable decisions for users. Maybe there is good reason for all of these changes from a business perspective, I can’t judge that. But right now there are some really great alternatives out there. I’m so grateful for what forgejo and gittea offer, and at the same time seeing the community get split up from GH is sad. Note This post is a thought [1]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: /thoughts/
I’ve been using this one for awhile now, I have a post type that I only edit from my phone, but I have all the post numbered. I set up a template in obsidian for using templater, the template goes right in the static site repo, I point templater to the templates directory and this has been working pretty seamlessly for awhile. --- date: <% tp.date.now("YYYY-MM-DD HH:mm:ss") %> templateKey: myposttype published: true tags: - myposttype <%* const folder = "pages/myposttype"; // get all files in the vault, keep only those inside the folder const files = app.vault.getFiles().filter(f => f.path.startsWith(folder + "/")); // extract numeric suffixes from filenames like myposttype-123.md const nums = files.map(f => { const m = f.basename.match(/^myposttype-(\d+)$/); return m ? parseInt(m[1], 10) : null; }).filter(n => n !== null); // next number (start at 1 if none exist) const next = (nums.length ? Math.max(...nums) : 0) + 1; // include the .md extension when moving const newPath = `${folder}/myposttype-${next}`; await tp.file.move(newPath); %> ---
I found snow-fall component from zachleat [1], and its beautiful… to me. I like the way it looks, its simple and whimsical. Install # [2] There is an npm package @zachleat/snow-fall if that’s your thing. I like vendoring in small things like this. curl -o static/snow-fall.js https://raw.githubusercontent.com/zachleat/snow-fall/refs/heads/main/snow-fall.js I generally save it in my justfile so that I remember how I got it and how to update…. yaya I could use npm, but I don’t for no build sites. get-snowfall: curl -o static/snow-fall.js https://raw.githubusercontent.com/zachleat/snow-fall/refs/heads/main/snow-fall.js Usage # [3] Now add the component to your page. <!-- This belongs somewhere inside <head> --> <script type="module" src="snow-fall.js"></script> <!-- Adjust the src to your path --> <!-- This belongs somewhere inside <body> --> <!-- Anything before will be below the snow. --> <snow-fall></snow-fall> <!-- Anything after will show above the snow. --> References: [1]: https://www.zachleat.com/web/snow-fall/ [2]: #install [3]: #usage
snow-fall Web Component—zachleat.com A post by Zach Leatherman (zachleat) Zach Leatherman Ā· zachleat.com [1] This is a very fun way to add some whimsy to your site, added it to mine immediately when I saw it. This is what digital gardens are for, Fun, entertainment, and self-exxpression. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://www.zachleat.com/web/snow-fall/ [2]: /thoughts/
2025-11-27 Notes | Nic Payne yesterday: [[2025-11-26-notes]] Big Changes Got my workspaces script in working order It's not quite configurable yet This will allow an easy way to setup pype.dev [1] Nic is also building out a similar workspaces script. This feels like such a great thing to have ai work on fully customized tools for your personal workflow. Also Nice shout out! Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://pype.dev/2025-11-27-notes/ [2]: /thoughts/
FastAPI [1].">Starlette has a head request that works right along side your get requests. This morning I fiddled around with custom routes for GET and HEAD, but had to manually set some things about the file, and was still missing e-tag in the end. Turns out as a developer you can just [2] add a head route to your get routes and starlette will strip the content for you, while preserving all of those good headers that fastapi FileResponse created automatically for you. from fastapi import APIRouter from fastapi.response import FileResponse from fastapi import Request from pathlib import Path router = APIRouter() @router.get("/file/{filename}") @router.head("/file/{filename}") async def get_file(filename: str, request: Request,): headers = { "Cache-Control": "no-cache, no-store, must-revalidate", } from pathlib import Path filename = Path(f"data/{filename}") if not filename.exists(): raise HTTPException(status_code=404, detail="File not found") return FileResponse(filename, headers=headers) Here is an example of the response with curl. āÆ curl -I -L "http://localhost:8100/api/file/e5523925-1565-454c-bab3-c70c4deabc83.webp?width=250" HTTP/1.1 200 OK date: Wed, 22 Oct 202...
- This is super cool, thanks to Brodie for reading me this content as I do household chores. lowtech magazine [1] is a website ran completely on solar power with only enough battery backup to cover most days. Adding enough to cover all days would increase its carbon footprint and negate the carbon offset of the solar panels it runs on. It’s fascinating to see a web server running completely off grid in a close power system. These interesting websites are fascinating keep em coming Brodie. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://solar.lowtechmagazine.com/ [2]: /thoughts/
Litewind Litewind is Tailwind without the build step litewindcss.com [1] This is a sick no-build version of tailwind. I have a couple of projects that the build step of tailwind is cumbersome on, mostly because they are for non-js devs. Some are for backend python devs, some are for folks that mostly want markdown with some styles. This is a perfect no-build tailwind alternative. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://litewindcss.com/ [2]: /thoughts/
Running Software on Software You’ve Never Run Writing about the big beautiful mess that is making things for the world wide web. blog.jim-nielsen.com [1] Running software applications in production today is crazy. One point release opens up for supply chain attacks. What’s crazier is not running your production applications without a lock file, potentially running dependencies you’ve never ran before for the first time in prod. Note This post is a thought [2]. It’s a short note that I make about someone else’s content online #thoughts References: [1]: https://blog.jim-nielsen.com/2025/run-software-on-software-youve-never-run/ [2]: /thoughts/
Kubernetes-Inspired Keycap Test Print
This test print features a custom keycap designed with a Kubernetes logo.

Why Make a Website in 2025

Inspired by Jim [1] and Dave [2] It’s Fun # [3] If it’s not something that you enjoy, you might as well move on there are far better ways to spend your time in 2025. Only the weirdos read this shit anymore, the masses have long moved on to curated social media feeds, and on to chatting with llms. I enjoy spending some time in the digital garden every once in awhile tweaking templates, creating markata [4] plugins to do interesting things. I enjoy expressing my thoughts, or at least shouting them into the ether. I’ll be the first to admit that I often go to an llm for first pass at many things that I could look up in a guide or 😲 the docs. I enjoy reading others # [5] This year I have made extra effort to add more and more people into my [[reader]]. I enjoy reading content from people I chose to follow and can remove whenever I want. I enjoy reading actual human thoughts and not ai generated content all day. I even will create Thoughts [6] based on these posts that I find inter...