[-] Oinks 12 points 1 week ago* (last edited 1 week ago)

You could make the same kind of articles for the old coreutils if you really wanted to. Just creatively "rewording" the bugfixes from the recent 9.8 release:

  • GNU Core Utilities Are Causing Failures [when copying between NFS and non-NFS filesystems with ACLs]
  • GNU Core Utilities May Cause Data Corruption [with copy ranges larger than 2 GiB]
  • Correctness Bugs Found in GNU Core Utilities [tail --pid may race with reused PIDs]

I feel like the reactions regarding uutils are a bit... off in general. There seem to be a lot of people who are pathologically negative towards open source projects for, frankly, bullshit reasons, like vague complaints about "Rust evangelism" (what?) or how permissive licensing is against the spirit of open source (WTF).

Phoronix isn't helping with these clickbait articles which border on content farming and their failure to moderate their comments of course, but these negative attitudes seems to cut across sites, also including Lemmy, Reddit and even Hackernews.

The uutils team seems to be doing well but it makes me sad to think about any aspiring open source devs without corporate backing reading such drivel.

[-] Oinks 7 points 2 weeks ago

I can't speak for everyday workflow (having discovered this project less than a week ago), but rebase being unnecessary and cherry-pick not creating duplicate commits seem like the most notable advantages to me.

[-] Oinks 11 points 3 weeks ago* (last edited 3 weeks ago)

The usual problems with parsing ls don't happen here because Nu's ls builtin returns properly typed data. You can work with it in pretty much the same way you would work with it in Python, except that Nu has a composition operator that doesn't suck ass (|), so you don't have to write as much imperative boilerplate.

I have a number of reservations regarding Nu (the stability of the scripting language, unintuitive syntax rules, a disappointing standard library) but this particular argument just doesn't apply.

[-] Oinks 8 points 1 month ago* (last edited 1 month ago)

No C program is written to satisfy a borrow checker and most wouldn't compile with one, so adding it would require rewriting the world anyways. At that point why not choose a language that, in addition to being memory safe, also drastically cuts down on other kinds of UB, has sum types, sane error handling, a (mostly) thread safe standard library, etc.?

[-] Oinks 11 points 2 months ago

The mentioned performance governor runs the CPU permanently at maximum frequency, which is obviously bad on battery powered devices and on devices with lacking thermal headroom. I think it might cause problems in virtualized environments as well but I'm not sure about that.

[-] Oinks 8 points 2 months ago* (last edited 2 months ago)

Since the desktop files come directly from a package you'll need to change the package you're installing. This works best if you use the postPatch phase of symlinkJoin:

pkgs.symlinkJoin {
  inherit (pkgs.firefox) pname version;
  paths = [ pkgs.firefox ];
  postPatch = ''
    # String replacement example - will run the app in a terminal
    substituteInPlace "$out/share/applications/firefox.desktop" \
      --replace-fail "Terminal=false" "Terminal=true"
  '';
}

The reason for using symlinkJoin here is that it creates a package with the same outputs as the original Firefox, but with this bash script having run. You can use this like any other package:

let
  firefox' = <...>
in
{
  environment.systemPackages = [ firefox' ];
  # - or -
  programs.firefox.package = firefox';
}

Note that symlinkJoin has special handling for postPatch, but ignores all other stdenv phases, so you need to do everything in one bash script. You can use all the parameters for runCommand though, such as buildInputs and nativeBuildInputs - e.g. for compiling sass in a wrapper derivation.

In some cases it's useful to also inherit meta or passthru because it's used in some nixpkgs/nixos sanity checks, but it's usually not required.

Another approach would be to use overrideAttrs, which will also work but will cause Nix to rebuild the package from scratch. This might be fine or even desired in some cases, but you probably don't want to do that in this case.

[-] Oinks 8 points 5 months ago* (last edited 5 months ago)

In this case it's more of a switch away from the last cool new thing. Totem (like Music) was built around a media library navigated from within the app. By default Totem doesn't even support opening videos from the file manager, which is something you would probably expect of a video player. It also crashed for me when I tried using it as intended so I'm not surprised to see it replaced by an app that really is just a video player.

That said many apps get replaced not for feature reasons but just by being GTK3, and they tend to get replaced by their own forks to GTK4 (such as the upcoming replacement of Evince). Why their devs choose to upgrade toolkits this way I cannot say.

[-] Oinks 10 points 6 months ago* (last edited 6 months ago)

GUIs do have advantages in things like discoverability. Honestly the 1983s Apple Lisa nailed this with the idea of having clickable menus annotated with keyboard shortcuts, so users could do the same thing faster next time. For some reason we stopped doing this (especially in web apps), but that's a reason to make better GUIs, not to RETVRN to the feature set of a VT100.

I don't know why we have to go on nonsensical diatribes about "UNIX wizards" though when we're fundamentally talking about a handful of minor UI improvements to things that already exist.

[-] Oinks 11 points 6 months ago* (last edited 6 months ago)

It depends a lot on which specific GPU you have and whether it's a laptop.

New-ish GPU in a desktop with the monitor plugged directly into the GPU? Easy to get working, literally a checkbox on most distros.

1000 series GPU or older in a laptop and you need reasonable battery life and/or some "advanced" features like DP Alt-Mode? Good luck.

Edit: Also, no Wayland until very recently. Possibly never, depending on the age of the GPU.

[-] Oinks 7 points 1 year ago

You could say that about any kind of autocomplete. Why would people install snippet plugins into their vim/emacs? Sure you can just type everything by hand but it's just more convenient.

Personally I find these kinds of inline AI suggestions make a more convincing use case than trying to prompt engineer a Chat based LLM and diverting your attention to phrasing specifics instead of the actual problem space.

[-] Oinks 8 points 1 year ago

If your build fails because you can't track down the literal in the code I would recommend just looking at the compiler error. I understand the concerns about == vs = more but the vast majority of LSPs (and some compilers) will catch that too.

I have also yet to see any IDE enable ligatures by default, at least VS Code and the JetBrains suite both require opting into them even though their default fonts support them.

[-] Oinks 10 points 2 years ago* (last edited 2 years ago)

Also ich bin mit dem Lebenswerk von Feddersen nicht im Geringsten vertraut aber dieser Satz aus dem Artikel:

Was sie stattdessen liefert, ist ein Kampf um Symboliken. Für das Recht auf die Identität als Nonbinäre des Geschlechtlichen, für Transfluidität, damit im Übrigen in Allianz mit dem medizinisch-pharmakologischen Komplex, der seine chirurgischen und chemischen Manipulationsmöglichkeiten begründet sehen wollte

ist schon irgendwie arg disqualifizierend. Das ist ungefähr die Ebene von den Leuten, die noch klug genug sind, nicht explizit von Bill Gates Mikrochips zu reden, und stattdessen bei jeder passenden und unpassenden Gelegenheit die Zeit finden, um auf die Möglichkeit von Impfschäden und finanzielle Interessen von Pfizer & Co. hinzuweisen. Nur halt für die Gesundheitsversorgung von Transmenschen statt für die von von COVID Gefährdeten.

view more: ‹ prev next ›

Oinks

joined 2 years ago