Spyke

Replies

linux

Comment on

swww renamed to awww, due to the author's guilt from obliviously naming it "final solution"

Reply in thread

In defense of the author and their education... They're Brazilian so English probably isn't their native language, and their history education was almost certainly in Portuguese. I don't think it's necessarily an indictment of their education that they weren't taught about the English translation of a German phrase, and I don't think it's reasonable to apply the same standards of subtext awareness to native and non-native speakers either.

linux

Comment on

[Linux Experience Report as a Blind Person] I Want to Love Linux. It Doesn’t Love Me Back: Post 1 – Built for Control, But Not for People — fireborn

Insightful article. I have to confess I never realized the accessibility situation was this bad.

I also want to highlight this excerpt from the comments:

Making things accessible isn't hard technically. But it requires coordination and people to care about it enough to work on it at the expense of other features. If [I] developed an application on a team and said I had 'one security guy that works on that stuff as long as it doesn't interfere with the rest of our work' I'd be dragged over the coals and have my project forked by the public.

But with accessibility? There's really no sense of priority or urgency despite it being broken for years and not putting much effort in to fixing it.

Comment on

System requirements for me and not for thee

Many people who don't know what they're talking about in this thread. No, used memory does not include cached memory. You can confirm this trivially by running free -m and adding up the numbers (used + cached + free = total). Used memory can not be reclaimed until the process holding it frees it or dies. Not all cached memory can be reclaimed either, which is why the kernel reports an estimate of available memory. That's the number that really matters, because aside from some edges cases that's the number that determines whether you're out of memory or not.

Anyway the fact that you can't run Linux with 16GB is weird and indicates that some software you are using has a RAM leak (a Firefox extension perhaps?). Firefox will use memory if it's there but it's designed to cope with low memory as well, it just unloads tabs quicker so you have to reload often. There are also extensions that make tab unloading more aggressive, maybe that would help - especially if there's memory pressure from other processes too.

Comment on

Auswertung einer Festplatte: Nach 2,5 Jahren ist Schluss

Auf der einen Seite stehe das staatliche Interesse an effektiver Strafverfolgung, auf der anderen das Eigentumsrecht des Betroffenen – einschließlich des fortschreitenden Wertverlusts der Geräte. Entscheidend war, dass es über 2,5 Jahre keine ernsthafte Auswertung gegeben hatte. Und das, obwohl es sich überschaubare 56 GB handelte, es keine Verschlüsselung gab, die PINs bekannt waren und die Daten bereits gesichert.

Was für ein Saftladen. Erinnert mich an XKCD 538, nur umgekehrt.

Comment on

Does this exist anywhere outside of C++?

I am very sorry to remind everyone about the existence of Visual Basic, but it has:

  • VbCrLf
  • VbNewLine
  • ControlChars.CrLf
  • ControlChars.NewLine
  • Environment.NewLine
  • Chr(13) & Chr(10)

And I know what you're asking: Yes, of course all of them have subtly different behavior, and some of them only work in VB.NET and not in classic VB or VBA.

The only thing you can rely on is that "\r\n" doesn't work.

linux

Comment on

I must have died and gone to heaven [nushell]

Reply in thread

Nu's find builtin isn't a GNU find repacement. I think what you actually want is ls piped into where:

ls **/* | where type == file

I do question the choice to alias a well-known program with a builtin that does something entirely different. You can also use ^find to avoid calling the builtin. I would've expected \find (bash-like) or command find (fish-like) to work as well, but alas...

linux

Comment on

*Permanently Deleted*

FN keys are usually handled at a firmware, sometimes BIOS or driver level. This makes them completely inaccessible to keyboard remappers (they have no idea when it is pressed), which is why none of them can do this.

This Stackexchange answer looks like it should contain the information you need, but I don't have a 2014 MacBook to test it.

linux

Comment on

Is there any use case of SDDM other than log in to Plasma desktop?

It's prettier than a TTY and you can pick whether you want a Wayland or an X11 session without having to know the correct startup commands. You can pick between different desktops too. And a Display Manager can offer on-screen keyboard and touchscreen support while a TTY can't (at least GDM does, I'm not sure about SDDM off the top of my head).

Aside from that whatever command you are using in the TTY to launch Plasma might or might not be the same commands SDDM uses, which might or might not lead to issues in setting up the environment. If your environment is fine and you don't care about having to use a physical keyboard then of course you can remove it. It's not exactly load bearing.

nix

Comment on

Nixpkgs core team has unfortunately decided to disband

Reply in thread

just seems like extremely poor communication and more "open letter" bullshit that's really a nothing burger. Seems like one or two people said "we're disbanding!" while based on some threads I've read the remaining team was like "yeah...we really didn't want to"

There is no remaining team. The two people who are resigning here are the entire team (originally it was four members, but two had already resigned previously). What's the point of having a team without any members?

just privately quietly resign

How are you supposed to "quietly and privately" resign from a community project that versions team membership and responsibility in Git? Genuinely, what are you imagining that is lower profile than this and not wildly irresponsible?

Comment on

What's the point of lightweight code with modern computers?

This isn't a very good article IMHO. I think I agree (strongly) with what it's trying to say, but as it's written, it just isn't it.

Wrappers and VMs and bytecodes and runtimes are bad: they make life easier but they are less efficient and make issues harder to troubleshoot.

Runtimes/"VMs" like the JVM also allow nice things like stack traces. I don't know about the author but I much prefer looking at a stack trace over "segmentation fault (core dumped)". Having a runtime opens new possibilities for concurrency and parallelism too.

The COSMIC desktop looks like GNOME, works like GNOME Shell, but it's smaller and faster and more customisable because it's native Rust code.

This just doesn't make any sense. COSMIC is more configurable because it wants to be, this has absolutely nothing to do with Rust vs Javascript.

Dennis Ritchie and Ken Thompson knew this. That's why Research Unix evolved into Plan 9, which puts way more stuff through the filesystem to remove whole types of API. Everything's in a container all the time, the filesystem abstracts the network and the GUI and more.

And here the author just contradicts themselves. So wrappers, runtimes and VMs are bad, except when it's Ken Thompson doing it in which case adding containers and a language runtime into a kernel is a great idea actually?

Lastly, I didn't address the efficiency arguments in the quotes because it's mostly just true... but I do think it requires some more careful consideration than "JS bad Rust good". Consider this unscientific sample of different apps on my PC and how much of my (expensive!) RAM they use:

  • Spotify (Electron): 1G
  • Ghostty (Zig/GTK): 235M
  • Decibels (Typescript/GTK): 140M
  • Anyrun (Rust/GTK): 110M

Note that Electron, and only Electron, is a supermassive black hole of bloat. Whatever is going on here, it's not Javascript.

linux

Comment on

Fish Shell 4.2 Released with Improved Autosuggestions

Reply in thread

This is by no means complete, but the features that I value would be:

  • <Tab> cycles though completions as it should instead of duplicating the prompt.
  • Completions also show help text (if there's a provider for one). For example on git <Tab> it shows a short message describing what the command does. JJ goes further: jj diff -r <Tab> shows part of the commit message for the offered commits.
  • There are just more completions than in any other shell I know. Aside from JJ the new Nix CLI also has great Fish completions and can dynamically complete flake outputs like package names.
  • Entire commands can be history completed with <C-E> or <Right>. This completion is also directory-aware and can usually avoid suggesting commands with paths to files that don't exist. In practice I find that it's really good at suggesting the command I actually want to run, to the point that I rarely invoke FZF anymore.
  • Abbreviations are in most cases better aliases since they do the same thing but don't obscure what you're actually running.
  • No word splitting when expanding variables, because it's never what you intended.
  • Globs that fail to match anything are errors instead of silently doing the wrong thing.
  • Control structures are a bit nicer (but that is subjective).

You can get most of these with liberal use of shell options, installing blesh, or alternatively installing zsh with a bunch of plugins, but Fish just has all of them out of the box. You don't even need bash-completions.

how hard is it to transition?

It has a reputation of being very difficult from the past when it didn't have &&/|| but I think today plenty of Linux users would not even notice. The most notable remaining differences are setting variables (requires the set builtin unless used to modify the environment for a single command), control structures (irrelevant in interactive use) and lack of !! (but you can make an abbreviation to bring it back).

linux

Comment on

What do you see as the arguments for and against adding Server Side Decorations in GNOME?

The biggest drawback of not providing any SSDs even as a fallback is obviously... what if the app just doesn't draw CSDs? ~~There are many new Linux users who try to get something like DaVinci Resolve running and then can't maximize it because it doesn't have CSDs. For these users it just makes using Linux feel broken for basically no reason.~~¹

This is also a burden for application developers. Maybe the DaVinci Resolve devs should just fix their app (from what I heard it's a massive PITA in all aspects imaginable), but is it really reasonable to also expect e.g game devs to add dependencies on libdecor or whatever solely to unbreak window mode on GNOME Wayland?

¹ Edit: I have since learned that Resolve actually does draw CSDs, it just doesn't draw the window buttons. That's certainly a choice... I think the overall point isn't too affected but this specific app isn't a good example since it would still be broken if GNOME had fallback SSDs.

Comment on

BGH-Urteil: Gewinnbringende Untervermietung nicht rechtens

Ich habe ehrlich gesagt wenig Sympathie für diesen Hauptmieter. Er bereicherte sich vollständig auf Kosten des Untermieters ohne selber irgendeinen Wert zu schaffen und erhöht damit auch indirekt die örtlichen Mietpreise. Das ist das selbe Modell wie Scalping von GPUs zur GPU-Krise oder Toilettenpapier während Corona, nur halt für Immobilien.

Tragisch ist nur, dass die Wohnung in Zukunft höchstwahrscheinlich nicht für den ursprünglichen Preis vermietet werden wird.

Edit: Ich sehe gerade dass das in Berlin war. Wäre es dem Vermieter hier überhaupt erlaubt gewesen, den Preis für den nächsten Mieter so stark zu erhöhen? Sonst war das zusätzlich noch eine heimliche Umgehung der Mietpreisbremse.