“Stars” are a measurement for popularity, and as we know from high school (or mainstream social media), more stars = more popular = more better in every way.
Stars don’t really do that much, people mostly use it to “favorite” your repo.
That may be technically true, but sadly in reality things are more complicated.
Developers, especially bad ones, use Stars as an argument for choosing libraries or frameworks, for example. Organizations tend to favor those repositories / libraries / frameworks when picking their stacks. People in HR are trained to judge you Github account by the amount of stars that you have. Open Source maintainers who appear popular are often used as poster people for recruiting. The list of ridiculous reasons why stars may matter goes on. Eventually, you will be able to turn a repository with a high star count into money or advancement, because that just how superficial the world we live in actually functions under the hood.
I hope this is the right place to ask. I am new to Nix and trying to use it for now as a universal package manager. I installled Stremio using Nix but the app doesn’t work properly. I see that it’s several versions out of date. The same app works fine using Flatpak. Is there a way to let the maintainer know? I’d also love...
This is something that I struggle with. I know how to find top-level packages like git or cowsay. But what about utilities under nested paths? I always spend ages digging through the nixpkgs source code to try to find utilities to use in my nix expressions....
As much as neovim seems nice, I can’t seem to find many resources to actually help start configuring neovim as a beginner. Help is very sparse, and the easiest thing seems to get a premade config, but then there are just too many features, and complexity gets in the way of understanding what’s going on
I’m developing a small library which intercepts some library calls from a program installed via home-manager. My library works fine outside of nix, but it fails when trying to intercept calls from a program installed via home-manager. I figured that it is related to hardcoded library paths in my interceptor library....
Yes, you would. It’s a tool commonly used to patch over paths in binaries that cannot be produced from source (aka. proprietary ) when packaging them in derivations.
I see this often with both new and old developers, they have one way of doing a thing and when presented with a new problem they will fall back to what they are used to even if it’s not the optimal solution. It will probably work if you bruteforce it into your usual patterns but sometimes, a different approach is much easier...
I guess the most important advice about learning that I always try to pass on is: Do NOT go passive. Reading books, watching videos, etc. is all fine, as long as you question everything about what you have read or seen. This is something I see especially with juniors but also quite often with seniors. They get recommended a book, and because the author has a name in the industry or simply because its written in a book, it must be Gods holy truth and everything must be done exactly as decreed. In out industry, knowledge has little value without application, so unless you can put the things you consume into a context that makes sense for you foremost, for your team and for your project. If you struggle with this (not everything can be time boxed into a lazy Saturday afternoons) try to discuss with your peers and form some context that way. Do not just consume, you will not improve that way.
In this blog post, we explore the ecosystem of open-source forks, revisit the story so far with how Microsoft has been transforming from products to services, go deep into why the Visual Studio Code ecosystem is designed to fracture, and the legal implications of this design then discuss future problems faced by the software...
But JetBrains has a good track record of not enshittifying and, because you actually pay for their product
I disagree.
Jetbrains is going essentially the same way with kotlin. Even though it’s open source on paper, Jetbrain is gatekeeping it to a degree where they are actively blocking changes that would make it easier for LSP developers to integrate (thus potentially creating competition to their intellij products ).
I guess I have to reject the premise of the article as such.
Most programmers have an intimate understanding of CPUs and sequential programming because they grow up writing code for the CPU
This is clearly not the case. Most programmers know next to nothing about CPU and rely on the compiler or the runtime / VM to make “computer go beep boop”. And they are fine with it, because they don’t feel like they need to know either. Hence, the premise that " everyone should know about GPU programming" cannot possibly have merit.
I have to agree on those two cons. Contributing to nixpkgs is a major pain point for me. I don’t mind having to get PRs reviewed, but the speed and the lack of consistency have really put me of from doing that again. Quality control is also a major pain point. Nixpks supports a bunch of platforms and architectures, but anything other than tier 1 (x86_64-linux, gcc + glibc ) can and will just randomly break because maintainers and contributors don’t usually care for anything that’s not right in front of their eyeballs.
Personally, I avoid touching the monorepo like the plague and stick to putting everything into flakes if possible.
This is something that Nix cannot fix. Essentially the symbol namespaces in Linux are flat, so if you load two versions of the same library (or two different libraries exposing the symbols even) the first one wins. This is in contrast to eg. Windows where symbols are organized in a tree structure, which has advantages like fewer conflicts, but also comes with disadvantages of its own (eg. it would not be easy to implements something like LD_PRELOAD on such a structure). So on Linux, this is by design / works as intended.
I actually think I have seen this being discussed, but does not seem to be at the RFC level yet. Probably drowned in all of the flakes vs monorepo discussions.
It’s actually not. If you search for go you get the go package, but if you search for go 1.21, no go package will even appear on the first page. The package you are looking for is somewhere on page 7 or 8.
I have not met anyone in the Nix community who’s opposed to fixing actual systematic issues
True, there is no one actually broadly and openly opposing change willingly or based on conviction. I think the main inhibitor to change in the nix (-pkgs / -OS) communities stems from fear. The situation is already pretty unpleasant, I think we can all agree. Contrary to that, Nix* has gained a lot of momentum in the last couple of years. Fundamental change would affect a lot of people and can easily turn the situation from unpleasant to unbearable. So people are not easily convinced to take a chance on ideas and just “try it out for a release or two” but rather die on the hills of their own personal arguments pro or against something. This ultimately leads to people blocking each other in and even though there is a will and a need to change, there is no change or it is coming very, very slowly. My personal fear is that the shift from unpleasant to unbearable will happen not because of wrong action but because of fearful inaction.
They could, but they usually don’t, because of reasons like this. On “classical” distros, library updates are done much more reluctantly because an update to a share library does not trigger a complete rebuild of the system. So the solution is not technical, it’s organizational more often than not.
That being said, the statement that symbol conflicts do not exist on other distros is plainly not true.
I switched context there quite a but. That part was directed at the underlying tone of the thread that implies that “other distros do not have these kind of conflict”. Should have put that in a separate reply to make it clearer. Please excuse the confusion 🙂
The GitHub Black Market That Helps Coders Cheat the Popularity Contest (www.wired.com)
Nix packages on a non-nix distro : what to do when a package isn't working properly ?
I hope this is the right place to ask. I am new to Nix and trying to use it for now as a universal package manager. I installled Stremio using Nix but the app doesn’t work properly. I see that it’s several versions out of date. The same app works fine using Flatpak. Is there a way to let the maintainer know? I’d also love...
How do you find non-top-level packages in nixpkgs?
This is something that I struggle with. I know how to find top-level packages like git or cowsay. But what about utilities under nested paths? I always spend ages digging through the nixpkgs source code to try to find utilities to use in my nix expressions....
[Help] Where do I start to make my config?
As much as neovim seems nice, I can’t seem to find many resources to actually help start configuring neovim as a beginner. Help is very sparse, and the easiest thing seems to get a premade config, but then there are just too many features, and complexity gets in the way of understanding what’s going on
shared library paths
I’m developing a small library which intercepts some library calls from a program installed via home-manager. My library works fine outside of nix, but it fails when trying to intercept calls from a program installed via home-manager. I figured that it is related to hardcoded library paths in my interceptor library....
How do you improve your "pattern application" knowledge?
I see this often with both new and old developers, they have one way of doing a thing and when presented with a new problem they will fall back to what they are used to even if it’s not the optimal solution. It will probably work if you bruteforce it into your usual patterns but sometimes, a different approach is much easier...
Visual Studio Code is designed to fracture (ghuntley.com)
In this blog post, we explore the ecosystem of open-source forks, revisit the story so far with how Microsoft has been transforming from products to services, go deep into why the Visual Studio Code ecosystem is designed to fracture, and the legal implications of this design then discuss future problems faced by the software...
What's the latest project you discovered that made you go "wow"?
Doesn’t have to be from this week or this month. A wow moment can even be years back.
What Every Developer Should Know About GPU Computing (codeconfessions.substack.com)
A primer on GPU architecture and computing
What do you dislike about Nix/NixOS?
Could be areas of improvement as well
none-ls - A community fork of the archived null-ls (github.com)
This week in NeoVim - Issue #55 (dotfyle.com)