HackerTrans
TopNewTrendsCommentsPastAskShowJobs

toastal

no profile record

Submissions

Nixtamal: Fulfilling, Pure Input Pinning for Nix

nixtamal.toast.al
2 points·by toastal·6 months ago·2 comments

How GitHub monopoly is destroying the open source ecosystem

ploum.net
71 points·by toastal·6 months ago·26 comments

comments

toastal
·10 days ago·discuss
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
·10 days ago·discuss


    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: [email protected]
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
·last month·discuss
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
·last month·discuss
So wild thinking folks would actually believe a massive, US-based, publicly-traded company when they say something is “privacy-respecting”.
toastal
·last month·discuss
ຂອບໃຈເດີ້
toastal
·last month·discuss
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
·2 months ago·discuss
Yikes. That Nix code is a mess without meaningful organization & only usable via experimental flakes.
toastal
·2 months ago·discuss
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
·2 months ago·discuss


    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: [email protected]
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
·2 months ago·discuss
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
·2 months ago·discuss
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
·2 months ago·discuss
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
·2 months ago·discuss
Xit has a better “take” on Git. Pijul & Darcs still have better fundamentals.
toastal
·2 months ago·discuss
We are finally getting closer to me getting to delete my last account with Microsoft. Nixpkgs: please follow suit.
toastal
·3 months ago·discuss
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
·3 months ago·discuss
There is no <noscript> so I can even look at what this is.
toastal
·3 months ago·discuss
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
·3 months ago·discuss
> Features

It’s blank. Lots of blank gray rectangles too. Site is broken?
toastal
·3 months ago·discuss
Yet folks are refusing to migrate off their products/services—as if it hasn’t been like this for 3 decades already.
toastal
·4 months ago·discuss
Please do. Poison the training.