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.
HN user
toastal
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 ]
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.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.
So wild thinking folks would actually believe a massive, US-based, publicly-traded company when they say something is “privacy-respecting”.
ຂອບໃຈເດີ້
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).
Yikes. That Nix code is a mess without meaningful organization & only usable via experimental flakes.
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.
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.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…
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.
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.
Xit has a better “take” on Git. Pijul & Darcs still have better fundamentals.
We are finally getting closer to me getting to delete my last account with Microsoft. Nixpkgs: please follow suit.
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.
There is no <noscript> so I can even look at what this is.
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.
Features
It’s blank. Lots of blank gray rectangles too. Site is broken?
Yet folks are refusing to migrate off their products/services—as if it hasn’t been like this for 3 decades already.
Please do. Poison the training.
This pile of Markdown files has the most cringe-inducing name I have seen in weeks.
Naturally the Microsoft-owned language is getting the AI hype instead of the more mature options that could do this sort of work… Agda, ATS, Coq/Rocq, Dafny, Fstar, Idris, Isabelle, Why3 just to name a few.
Not the same thing to compare how others should license their software versus keeping ideals consistent in your own project+tooling. If “everyone else must be wrong”, why are there continually waves of projects leaving ever since the Microsoft acquisition in particular? There’s a correlation with the kinds of projects that left too being philosophically aligned with free software & copyleft.
Note that Lean doesn’t have a monopoly on verification languages. Dafney, Rocq, Why3, ATS, Agda, Idris… these all can do it too. The fact that Lean is controlled by Microsoft should cause folks pause considering how they are trying to monopolize so many other spaces… & the author works on Lean. Rather than comparing Lean to performance like OCaml/Haskell like the article does, Why3 is a superset of OCaml, Agda can compile to Haskell, & ATS2 compiles to C—rather than needing to adopt an entirely new language.
Would be super dope if they brought back headphone jack Google teased Samsung over then a year later removed entirely. I haven’t even once considered GrapheneOS since I refuse to go without basic I/O.
XML works great for XMPP. KDL is compatible with it too.
What gets me is going from this structured data to Markdown which doesn’t even have enough features & syntax that the LLMs try to invent or co-opt things like the blockquote for not quoting sources.
If it’s GPL then you must care about “free software”. If that is the case, you should reconsider hosting on a fully-proprietary code forge. It requires cognitive dissonance to thing FLOSS is the right license for your project but not for your tooling/community.
I tried looking at the Ghostty homepage & it doesn’t even work without JavaScript so you can’t use a TUI web browser.
kitty terminal has diff like this builtin https://sw.kovidgoyal.net/kitty/kittens/diff/
I use it with
darcs diff --diff-command="kitten diff %1 %2"So to signal to users that your project isn’t slop, the strongest symbol is to stop using GitHub Actions… or more easily, leave Microsoft.