![](/static/66c60d9f/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/170721ad-9010-470f-a4a4-ead95f51f13b.png)
You can’t replace it.
Zig?
You can’t replace it.
Zig?
It’s far more simple than that. The students are predominantly nobles, and they pretty much completely cut all ties to their previous lives.
So why would you send a hot daughter to become a witch when you can marry her and make political gains? You send the disfigured one so you don’t have to waste any more money on her.
The 5th son doesn’t need to be disfigured to be essentially useless in the political world.
Terminal velocity is the maximum speed attainable by an object as it falls through a fluid (air is the most common example). It is reached when the sum of the drag force (Fd) and the buoyancy is equal to the downward force of gravity (FG) acting on the object. Since the net force on the object is zero, the object has zero acceleration
Objects in a vacuum have no drag and no terminal velocity…
How would it reach terminal velocity in a vacuum?
GPL is hard or tough to monetize
What do you mean?
stuff will get even spicier when we have conservations whether code is asset itself (especially scripts).
That’s true. What about LGPL?
Sure, but if you do that, and then follow it up with often outage and security issues, I’m going to seriously rethink using your services.
Oh, yes we have. Gitlab, Codeberg, Notabug, etc. You can even host your own Gitea or Forgejo instance if you want.
Self-hosting is right out for most people. It’s pretty expensive to even get started without compromising your home network (router with VLAN, switch, multiple servers (at least thinclients)), and then on top of that you need to maintain it, and can’t really ever max out your download/upload speeds because people are depending on your internet to interact with the repo.
Gitlab is also for-profit, but also has blackouts and devs going rm -rf
on the production DB. It’s often in the news for bad things, so I’ve generally avoided it.
Codeberg is great for personal repos, but most smaller git hosting services have horrible SEO. Like I’ve had issues finding repos when searching for their exact name, if I had to use general search terms I’d only see github repos.
Gitlab: For profit (wouldn’t say it’s much better than github)
It’s got that added excitement that comes with a risk of someone doing a rm -rf
on the production DB
e.g. don’t touch AGPL code unless you also use AGPL
Just to clear this up: copyleft licenses, GPL variants for example, require the license of your code to equally preserve the freedoms provided to your users, or in other words also be a copyleft license. There are some loopholes like GPL on a server, but be very careful when using copyleft code unless you want to use a copyleft license as well.
It gets somewhat murkier when you use someone’s code and base yours on that. IANAL, and that’s very much the legal territory. If at all possible, just reuse the original copyright and license and then derive your work (given the license allows that).
That all depends on the license AFAIK, but IANAL. Most FOSS licenses allow you to do whatever you want while preserving copyright claims, and that includes rewriting or changing the license. GPL forces copyleft, so even if you rewrote it from scratch, you could still be liable if you saw the original code.
For example I’ve heard that corpos bootleg copyleft code by having completely separate teams doing design and implementation. The implementation team can’t ever see any part of the original code, and they have limited communication with the design team. I think that would also go around the copyright claims as well.
If at all possible, just reuse the original copyright and license and then derive your work (given the license allows that).
Or just slap a GPL and subsume everything within a vortex of FREEDOM, and thusly become a true FOSS dude
It’s not pretty, but it’s uniform, obvious, and easy to understand.
go is good grug friend who chase away complexity demon by limit damage of big brain developer
declarative > imperative all day, every day
I’m going to have to come back to Nix/NixOS in a bit.
Use nix + home-manager first for sure. It’s far easier, and you can slowly get into it while making a list of bleeding edge packages.
I’ll probably wait until the official docs catch up as it appears that they are quite a bit behind
Skip them altogether when you’re starting out. I gave up on trying nix the first few times due to how bad they are. zero-to-nix.com is better for learning the basics of nix.
That and I’m not sure how I feel about a DSL for package management. I’d much rather use JSON or YAML, or even INI or TOML.
The closest you can get is home-manager with a list of packages in a json-like format. It’s really not practical to develop a declarative system without a programming language. A basic example would be variables, more advanced would be to write a wrapper that modifies the package so it automatically runs the required cli commands to use your dediated gpu and nixGL with specific packages (nvidia-run-mx nixVulkanNvidia-525.147.05 obs
for example).
It’s sort of like IaC where you’ve got terraform (dsl), pulumi (various languages), and cloudformation (json/yaml). Can you guess which one is universally despised?
Maybe if I were a LISP or Haskell guy.
Then you’d use guix and a dsl made within an actual programming language (much better approach IMO).
That’s such a bad name, I only see lixmaballs.
How do you like it, that’s one of the earlier forks, right?
In case you missed topic of the whole discussion:
Nix has the same mix of conceptual simplicity and atrocious user interface as git,
Nobody at any point compared the difficulty of learning the entirety of each of those systems, and my entire point is that the complexity of nix is not in the cli commands…
I don’t really care about the declarative/imperative thing, to me how many commands you “really need” is beside the point.
Caring is not required, but you need to at least understand the difference.
This is essentially the same argument as the people who say “git is not complex because you only really need checkout/commit/push, just ignore all the other commands.”
It’s really not.
Stage,commit,push,fetch,merge,etc. are all commands you need issue to git in order to manually create a desired state. You need to know what you’re doing, and what to do differently if there’s an issue.
home-manager switch
does all of it on its own. You don’t use a different cli command if something’s broken, you change the source of truth. All of the commands you might use in an imperative package manager like apt update/upgrade/install/remove are instead that one command.
Even home-manager has this warning at the very top of the page that basically tells you “you need to understand all the other commands first before you use this,” and “if your directory gets messed up you have to fix it yourself.”
It’s quite a disingenuous interpretation of “beware: home-manager uses the nix language and so gives nix language errors” and “choosing to create configuration files might overwrite the existing ones for that package”…
If you’re using a programming language, expect error messages specific to that language/compiler/interpreter/whatever. And it’s not like every other PM is using standardised error messages, you still need to learn to read them.
Config files aren’t generated randomly, you need to manually enable the configuration of each package. If someone is capable of getting to the info required to know how to configure a package, it’s reasonable to expect that they can guess that changing a config might overwrite the existing one.
These are exactly the same kinds of problems people have with git.
Do tell me how you can solve git problems without changing the git commands.
You’re essentially saying that the terraform cli has the exact same problems as the aws cli, and that’s just ridiculous. They both let you host your blog, but they do it in a completely different way and therefore have different issues.
It’s far better in theory, but in practice it’s got some massive issues:
In it’s current state it’s really only good for emacs, lisps, and some other languages like haskell.
And how is SEL less for a rich person than RHEL?
You’re ignoring the difference between using something declaratory and imperatively. Just because it’s difficult to get to that one liner, it doesn’t change the fact you’ll still only use that one command. Git by it’s nature requires you to use different commands to achieve different results. Home-manager allows you to both update your packages and delete all of them with the same command, because that command is “sync the state with the source of truth”.
And I think they rewrote a bunch of C libraries in order to have a better cross-platform compiler for C and zig. Or something along those lines