HNHacker News
TopNewBestAskShowJobs

toastal

3,706 karma · joined November 24, 2017

https://toast.al

Stop using Microsoft products; say _NO_ to neo-EEE including Windows, WSL, GitHub, Sponsors, Teams, Copilot, VS Code, Codespaces, Azure, npm

[ my public key: https://keybase.io/toastal; my proof: https://keybase.io/toastal/sigs/mvLwnRWnyTbp4SpA8E67tgXwYWzOhOxogVwypDY7RC0 ]

submissionscomments
toastal··on Show HN: Lofi Cities – Pixel-art city nights with browser-generated lofi
Missing <noscript>. Nothing works/loads & no indication what’s going on.
toastal··on Project Xanadu: Even More Hindsight (2025)
Not to be confused with ATS 3 Xanadu <https://github.com/githwxi/ATS-Xanadu/>
toastal··on Incident with Github.com [resolved]
Downstream often still relies on fetching & doesn’t care about any of the clerical stuff. Folks should consider self-hosting that clerical stuff anyhow given the independence you get & given MS GitHub’s uptime over the last several years.
toastal··on Incident with Github.com [resolved]
Don’t let yourself get so locked in ideally, but still keeping the code online is still quite valuable to a lot of folks.
toastal··on Incident with Github.com
The PSA is that you should always have a mirror—even if just a bare repo folks can pull from during downtime.

…& this is ignoring all the moral reason for avoiding US-based, publicly-traded, proprietary software for host largely free software. They also deny access to users due to US sanctions, privacy-conscious users won’t want to create accounts/agree to ToS, & rubbing shoulders with other corpos your project can be taken down if it upsets the corpos don’t like it (see youtube-dl, Switch emulators, etc.).

toastal··on The Nixpkgs core team has disbanded
The manpage for `nix build` & `nix shell` goes to `nix-build` & `nix-shell` the stable, non-experimental command which do not need a file as an arg since they are more developer-friendly. The `nix-command` experimental stuff is documented somewhere else—maybe https://nix.dev/manual/nix/2.35/command-ref/new-cli/nix.html... is good enough for the concept. `man nixos-rebuild`, `man nix profile` have `--file, -F` documented.
toastal··on The Nixpkgs core team has disbanded
> tightly-coupled, non-modular, non-scalable pattern, experimental

This is a massive part of the problem to be advocating for & adopting flakes. My config is much simpler: nixos-rebuild switch --file host/$HOSTNAME. This doesn’t require a properly evaluating, not-quite-Nix manifest file to just to build a system. If more folks understood the standard package format & overlays, they too would come to the conclusion that pointing to a file is simpler/uncoupled. packages are just derivations, as are apps, as are checks so there’s little value in separating them. Overlays, modules, configurations, these are all better as their own files too—instead of what I see more often which is coupling them to the flake so they can’t be consumed by stable nix. I have seen big corpos get totally boned by transitive dependency resolution exploding the lockfile too as input.follows does not offer the same power as overlays. The straw breaking camels’ backs to me is how restricted the input pinning options are to things being shipped by the C++ binary & the maintenance burden upstream now takes on trying to shove too many things into the binary instead of sticking to a few primitives.

You don’t need perfectionism—my config is a mess of some of my most beginner code—but the foundation folks are building on is not good & it ends up leaving very sour tastes in folks’ mouths and/or trying to build abstractions on abstractions to hide the underlying design (things built on ‘dendredic’ patterns, which itself is a questionable patterns, built on flake-parts which is questionable, all to hide limitations of flakes which is the core misstep which is hard to work with causing folks to want to overabstract).

toastal··on The Nixpkgs core team has disbanded
While rollback takes away some fears, “fearless” is a stretch. LLMs are relatively quite bad at Nix choosing tightly-coupled, non-modular, non-scalable patterns with unnecessary dependencies/experimental features, while also choosing to reimplement pkgs.lib functions without good reason. Generating more code, pulling in more deps to get out of the mess isn’t the solution either & is usually what I have been seeing more now.
toastal··on I'm switching my phone from Android to Linux
Sailfish has some proprietary stuff to deal with the Android & Sony as well as Qt being Qt. Much of their software is open source—& collaborative with translations & forums for feedback. Out of the box, you on Sailfish you get root support which lets you actually be the device owner. You are allowed to install whatever software from wherever you want… things Android no longer is. It’s not a flawless platform, but Android in practice gives you so, so little control over your actual device.
toastal··on I'm switching my phone from Android to Linux
I‘m lucky that my part of the world doesn’t yet require apps for taxis & they accept cash. App users often end up paying more if they don’t know even basic negotiations.
toastal··on I'm switching my phone from Android to Linux
I switched to Sailfish OS. A lot of rough edges, but it can can be workable—tho largely due to Sailfish having an Android layer to run those apps. It’s getting better OS-wise, but the Sony devices that you can get access to internationally are much lower priority on their list. On top, if you try to pay, the lock you to Western countries… & I have no idea why.
toastal··on Show HN: ZeroFS – A log-structured filesystem for S3
The page doesn’t load anything for me… I block JS by default, & something that should be informational is hiding it’s content behind scripts for some reason.
toastal··on Ask HN: Who wants to be hired? (July 2026)

    Location: Eastern Thailand
    Remote: Yes
    Willing to relocate: No
    Technologies: Nix, OCaml, anything functional (learning concatenative)
    Résumé/CV: https://toast.al/skills/ (I don’t want to give up specific employer data without reason)
    Email: toastal+hn@posteo.net
My 16-year history is mostly FP front-end which no one is doing anymore; I pivoted to going deep into Nix about 3½ years ago. Nix is an amazing technology for getting reliable software, but so few teams have anyone that really understands it leading to bad experiences & gnarly code. I’ve been self-hosting Nix setups in my home cluster (servers & laptops for the family)—much if it required building NixOS modules & packaging all the things I wanted to see where I got to learn a lot about Linux + systemd. For fun, I recently picked up an ESP32 dev kit & am trying to get its toolchain working with `pkgsCross` (cross-compilation) in Nix (planning to try out Mirth which compiles to C99). I would prefer to shift into a more DevOps role or something about tooling/building the software or really just software that isn’t for the web or written in a scripting language at this point. Ideally it would be something that wasn’t full-time as well so I can tend to family matters. As I am in Asia, I can also look after machines when the West is asleep, tho my sleep schedule looks closer to European.
toastal··on Cloudflare Turnstile requiring fingerprintable WebGL
It also requires JavaScript. I like to have JS off by default since running code on my machine is a privilege—one that I opt into, not the the site owner’s choice. This is frustrating since these blockers don’t let me know if the site is trustworthy first before needing to solve a Sudoku for Cloudflare or calculating useless hashes for Anubis.
toastal··on Cloudflare Turnstile requiring fingerprintable WebGL
So wild thinking folks would actually believe a massive, US-based, publicly-traded company when they say something is “privacy-respecting”.
toastal··on Claude Code as a Daily Driver: Claude.md, Skills, Subagents, Plugins, and MCPs
ຂອບໃຈເດີ້
toastal··on Claude Code as a Daily Driver: Claude.md, Skills, Subagents, Plugins, and MCPs
Flake parts modules means that it’s an abstraction on top of an abstraction, flakes, on top of Nix. Then to need to throw unflake or trix at the problem is more layers & woven dependencies—same for ‘Dendridic’ patterns. If you invert that paradigm, & just import or callPackage Nix files from the flakes, then accessing say a package.nix or module.nix or overlay.nix is trivial for anyone not taking part in your specific design pattern—be it flakes, nilla, whatever. I feel this is another of these situations where engineers want to engineer their way out of messes by adding more code. Rather than a “how do I do X-PROBLEM in flakes?” if the question is “how to do X-PROBLEM is bog standard Nix?” you end up at design that tends to be a lot simpler since the the simpler bits are now decoupled from the framework (which flakes behaves more like); instead, flakes now own its complexity only in its file instead of its patterns ‘infecting’ simple parts (case in point, 2 weeks ago I helped a project get the overlays be compositionally sound by removing a coupling of inputs as a first argument & a self threaded into the package via callPackage). This is why ‘package normal form’ exists for packages in Nixpkgs so any setup can callPackage it… or how overlays already offer more powerful/flexible composition than input.follows which adds to flakes composition problems. With exceptions, Nix itself was already good enough for most cases… it just needed some design guidelines everyone could start reasonably follow (which the experiment post points out is “the good part” (good post btw… hadn’t seen)), except the state of flakes being as the are means they are stuck in limbo as too many projects now rely on it; which I guess that limbo itself means they are stable since all changes insight in-fighting—& all of these forks now have incompatible changes making it non-standard. I say best to just skip flakes since most projects don’t need anything more than pinned input starting point to produce: a package, an overlay, & a module (if relevant).
toastal··on Claude Code as a Daily Driver: Claude.md, Skills, Subagents, Plugins, and MCPs
Yikes. That Nix code is a mess without meaningful organization & only usable via experimental flakes.
toastal··on GitHub is investigating unauthorized access to their internal repositories
Join the club! I did as soon as the Microsoft acquisition realizing this would be only a matter of time… with more projects (finally) leaving that ecosystem, I might finally be able to delete my last account with Microsoft.
toastal··on Ask HN: Who wants to be hired? (May 2026)

    Location: Eastern Thailand
    Remote: Yes, can travel every so often
    Willing to relocate: No
    Technologies: Nix, NixOS, OCaml, PureScript, Elm, JavaScript, CSS
    Résumé/CV: https://toast.al/skills/
    Email: toastal+hn@posteo.net
Looking to transition off of front-end work & into devops. I can help monitor systems from Asian time zones. Flexible hours help & I don’t mind being up at “odd hours” as I am a night owl.
toastal··on We need a federation of forges
The snapshot-based system requires that the patch order matters which Darcs/Pijul don’t require so long as the patches apply since they commute. This means you can pull in patches from other users at an time in any order & still get the same stable reference. If you apply patches in a different order in Git, you will get a different reference hash & some entity ends up needing to be the centralized source of truth when doing deployments & stuff—which is probably why everyone ends up having some code forge for their code base on a centralized server to “sync” the state.

And with rebase, how are the commits immutable? Seems like MS GitHub found a way to mutably drop commits recently…

toastal··on Before GitHub
If it got proper tooling this would be true—but the community will need to build it. Darcs has more out of the box & more existing ecosystems to work with. Pijul is barebones by design, ready to be scripted, there’s just not much out there.
toastal··on We need a federation of forges
Why do we need to stick to Git? We need better tooling around the Patch Theory-based VCS which are better for decentralized working to begin with.
toastal··on Ghostty is leaving GitHub
Xit has a better “take” on Git. Pijul & Darcs still have better fundamentals.
toastal··on Ghostty is leaving GitHub
We are finally getting closer to me getting to delete my last account with Microsoft. Nixpkgs: please follow suit.
toastal··on Show HN: MDV – a Markdown superset for docs, dashboards, and slides with data
reStructuredText & AsciiDoc are so, so much better than Markdown since they have rich feature sets to actually build documentation, blogging, & so on. It’s a massive shame everyone would prefer _yet another Markdown fork_ like the OP.
toastal··on Show HN: CSS Studio. Design by hand, code by agent
There is no <noscript> so I can even look at what this is.
toastal··on Sky – an Elm-inspired language that compiles to Go
Haskell/Miranda use `::` instead of `:` for type signatures unlike Elm & basically the rest of the family which prioritize types being less keypresses than list cons.
toastal··on Show HN: Baton – A desktop app for developing with AI agents
> Features

It’s blank. Lots of blank gray rectangles too. Site is broken?

toastal··on Copilot edited an ad into my PR
Yet folks are refusing to migrate off their products/services—as if it hasn’t been like this for 3 decades already.
Page 1 of 34Next →