-
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/
Published
All published posts
2493 posts
latest post 2026-05-11
Publishing rhythm
-
The Year of the Linux Desktop is a meme, every year is the year of the Linux desktop as it gains rounding errors of market share. Outside of Linux nerds, developers that use servers on the regular, cheap asses reviving old hardware that is dead in the eyes of other OS’s, the average user wont even notice a difference with the right distro. I ran bazzite with plasma for over a year, It would be super beginner friendly while allowing users customization on levels never seen on non-Linux machines. Other than adobe, roblox, and EA games with easy anti-cheat most users probably aren’t going to run in to any issues. They probably wont even notice at this point, which is where the meme comes in. Why would anyone switch if its not noticeably different for the average user, they wont, until what is working for them stops working for them.
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/
Looking for inspiration? unnamed_game_1_v2 [1] by Mordoria [2].
The Release of Mordoria
References:
[1]: https://github.com/Mordoria/unnamed_game_1_v2
[2]: https://github.com/Mordoria
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/
python extras are for shipping
Python has two ways of adding optional dependencies to your projects
pyproject.toml file dependency-groups and optional-dependencies.
dependency-groups # [1]
for development
Dependency grooups are used when working on the project, they do not ship with
the project, users cannot select to install them with the project. These are
for things like running tests, linting, or docs. You might want to run these
in ci, or keep your dev machines tight. For the most part you can probably
keep these in dev. Depending on your team, fluency, and tolerance for slower
installs extra packages. Adding too many tight groups might make it hard for
the team to remember all the groups and which one to use and end up with them
using --all-groups anyways.
optional-dependencies # [2]
for users
Optional dependencies are for shipping. These are for your users, not your
development team. This is used for dependencies that are clearly not needed
for all or main use cases. It is annoying to use projects th...
-
anthony has some of the best python highlight videos each year. This might be a good sign, but each year there seems to be less and less that I am chomping at the bit to get to. I thought the remote debugger looked every interesting, his use case for babi seemed very interesting. I wonder what textual would look like built in a 3.14 world, would it still have built its own debugger/console?
uv tool run --python=3.14 babi
Without a process flag you need sudo permissions to attach a pdb debugger similar to gdb.
ps -ef | grep babi
uv tool run --python=3.14 python -m pdb -p8605
[1]
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://dropper.waylonwalker.com/api/file/b5e1a34d-c198-440a-ab30-4498bfa6962a.png
[2]: /thoughts/
-
This is a pretty sick result, good fingerboards are stupid expensive. This looks like a fun way to make some good ones on the cheap.
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/
Kraft-Coordinates
Handy reference for coordinates in the kraft [1] world.
Home # [2]
Overworld:-208 71 -291
Nether:-26 9 -36
Ocean Monument # [3]
Overworld: 209 62 -752
Nether:26 1 -94
References:
[1]: /kraft/
[2]: #home
[3]: #ocean-monument
PEP 735 – Dependency Groups in pyproject.toml | peps.python.org
This PEP specifies a mechanism for storing package requirements in pyproject.toml files such that they are not included in any built distribution of the project.
Python Enhancement Proposals (PEPs) · peps.python.org [1]
PEP 735 describes dependency groups as sets of optional dependencies that are not shipped with the package but intended for development purposes.
The PEP includes an example for groups that include test, docs, typing, and a combo typing-test.
[dependency-groups]
test = ["pytest", "coverage"]
docs = ["sphinx", "sphinx-rtd-theme"]
typing = ["mypy", "types-requests"]
typing-test = [{include-group = "typing"}, {include-group = "test"}, "useful-types"]
This is implemented in uv and can be used by several of their commands.
uv sync --group test
uv run --group test
uv add --group test pytest
uv remove --group test pytest
uv export --group test
uv tree --group test
Dependency Groups are not Extras # [2]
The docs describe extras as being intended to ship with the application and dependency groups intended for development. The spec allows both to exist with the same name, but care should be taken as too...
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/
Using Litestream to Restore My Database for Easy Development | Nic Payne
Litestream see [[using-litestream-to-backup-quadtasks-sqlite-db]] for how I setup litestream replication for [[quadtask]] I have the entrypoint to my app contai
pype.dev [1]
I really like how well the local dev is setup to run off of production data here. I’ll use this as a reminder that I need to set up lite stream on a few of my projects that it’s missing from and include a nice sync prod data Posts tagged: justfile [2] recipe.
Litestreams interface always throws me for a loop. It works fantastic, but the global config stored in /etc and some of the commands break my brain. It’s not you it’s me.
Using real data when you can is goated. Fake data is so often a perfect example of what someone thinks the backend should look like and does not include things that users actually do, running pipelines for days, or setting titles to paragraphs worth of text. Obviously this is not possible everywhere and the more sensitive your data the harder that process becomes.
Note
This post is a thought [3]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://pype.dev/u...
TIL: Loading .env files with uv run
Replacing python-dotenv with uv
https://daniel.feldroy.com · daniel.feldroy.com [1]
I smell a dependency to python-dotenv dying in my workflow. I originally read the title of the post and thought, “I know how to manage .env and almost skipped it”. I’m leaning more and more on uv run these days, so this should just [2] go in my [[ just file ]] to make it easy to run.
Note
This post is a thought [3]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://daniel.feldroy.com/posts/til-2025-09-env-files-with-uv-run
[2]: /just/
[3]: /thoughts/
Check out sidekick.nvim [1] by folke [2]. It’s a well-crafted project with great potential.
Your Neovim AI sidekick
References:
[1]: https://github.com/folke/sidekick.nvim
[2]: https://github.com/folke
I’m really excited about mdserve [1], an amazing project by jfernandez [2]. It’s worth exploring!
Fast markdown preview server with live reload and theme support.
References:
[1]: https://github.com/jfernandez/mdserve
[2]: https://github.com/jfernandez
A quote from Dan Abramov
Conceptually, Mastodon is a bunch of copies of the same webapp emailing each other. There is no realtime global aggregation across the network so it can only offer a fragmented …
Simon Willison’s Weblog · simonwillison.net [1]
Interesting catch from the HN discussion over his article [2] that came out yestereday. I scanned it yesterday and it has some really fascinating diagrams showing different phases of the web being open, to being siloed, to somewhere that we are trying to make it easy to publish, and retain ownership. I don’t know enough about bluesky, but the core is build on the AT protocol, you can self host [3] your own instance, you can build different front ends for it. So rather than having siloed instagram, FB, twitter, there are clones of those platforms that read the same data from everyones data, that they have the option of self hosting.
I like this distinction between Mastadon here. Mastadon can also be self host, but its data aggregation is decentralized, so each instance is fragmented and cannot have a complete view of the data. The way that the ATproto does its aggregation is quite fascinating and feels right for an open social p...