nixpkgs has many owners that span across the 80,000+ software packages. When you open a PR against a specific package, the owner is notified via CI that Nix Foundation runs.
To test with your own config, it's easy to instead of importing nixpkgs, to import nixpkgs.applyPatches { patch } with a path to your fix.
And yes, overlays are a great way to quickly override attributes from a package definition, maybe while waiting on others to fix upstream ;)
So I had to write a few functions in both. With Guile, very straight forward using Lisp's powerful "data-as-code, code-as-data" paradigms (the ` operator). A joy really, and writing code just felt like writing Lisp, where one gets to reason about small scope within simple functions.
With Nix, I had to learn how the whole thing works before I could even get started. Nix is not a "normal" language, you're essentially just writing chunks of configuration, organized across different files, building up to one big derivation (as Nix calls it) that gets interpreted.
Nix has syntax on how it expects the configuration to look and what configuration it expects to be defined. You can learn the syntax but it's still confusing (to me) as to what configuration is always expected. And errors can still be cryptic.
Spent a year with Guix and writing my own configuration. Definitely much easier to reason about using Lisp syntax over Googling what random function of the DSL you need in Nix, but I ultimately switched to Nix because of it's community and Darwin support. Nix has a large group of folks who just want a sane, declarative way to manage their environments, and to get back to what they were doing. I want to spend the least amount of time managing my tools and when running into problems with Guix, digging for answers or jumping into the REPL just took too long. Lots of devs in the Guix community seem motivated to build and contribute back, which is great if you're looking to spend your time doing that.
I now use Nix to share configuration between my Macbook Pro, NixOS Desktop, VMs in my home lab, etc. Both Guix and Nix are amazing once you've developed your configuration, I'll never go back. I do a simple "./bin/nixos-update" and "./bin/macos-update" and Nix takes care of the rest.
Occasionally I'll pull something upstream that borks my machine; rolling back is so trivial, I'll just check nixpkgs for Issues to see what's going on, where usually I'll find a 1-liner to fix it or I'll wait for the next release.
Yes, absolutely. On one level I understand how big tech bureaucracy, politics, and layered management structures cause this to happen. Another part of me is floored, that so many brilliant people absorbed into these companies have let this happen.
Twitter and reddit have a massive opportunity here to capitalize. I know many moons ago, Twitter had re-positioned itself to have a search bar on their homepage. Not sure what happened there.
Timely that reddit has released their comment search this week. Looking forward to trying that out.
Have a sense of who you want to become, your values, what you aspire to be. Make decisions that bring you closer to that identity, instead of closer to more money or status.
Also, pick jobs that have some mission focus. Jobs where people are attracted by money only can result in toxic cultures (at my least so far in my career).
"If the wildest fantasies of cryptocurrency enthusiasts were to come true, if all the environmental and technical objections were to fall away, the result would be financial capitalism with all the brakes taken off."
This is sensationalism at best, and out right misinformation at it's worst. Come on, the crypto crowd isn't calling for abolishing regulation and creating pure financial anarchy. The general sentiment is we want more transparency so that innovation can continue and "Web3" ideas can take shape.
I agree that we continue to over speculate into bubbles, and many people lose each time. I hope that most people are told and understand the serious risks involved. I'm not naive enough to think this is the case; some people are destined to lose their money and crypto makes it much easier. But the true innovation of blockchain still stands, and that is we've found a way to trust each other through bits instead of people, and that's a damn big deal.
These articles are good to reflect inherit risks to investing, but bad in that they paint an image of the evil crypto doers out to kill off all financial rule. That's not the case.
To test with your own config, it's easy to instead of importing nixpkgs, to import nixpkgs.applyPatches { patch } with a path to your fix.
And yes, overlays are a great way to quickly override attributes from a package definition, maybe while waiting on others to fix upstream ;)