FizzyOrange

joined 2 years ago
[–] FizzyOrange@programming.dev 1 points 11 hours ago

The connection column indicates the connection used. USB FS stands for the usb full speed protocol, which allows up to 1000Hz polling, a feature commonly advertised by high-end keyboards. USB is the usb low speed protocol, which is the protocol most keyboards use.

USB Low Speed allows 1kHz polling too. I don't think you gain anything at all from High Speed. Keyboards probably only use it incidentally because the chip they are using happens to support it anyway.

Huh I was under the impression that you could limit it to specific applications and dbus would tell kwallet the path of the application making the request (which could be done at least vaguely securely). But upon further investigation it just uses the "appid" that the app reports which it can apparently set to anything it wants. It's difficult to find information about this stuff though. D-bus is not very well documented at all.

[–] FizzyOrange@programming.dev 1 points 2 days ago (2 children)

Interesting how do you do that exactly?

I was thinking you can just start the app that has permission to read the wallet, attach a debugger and then inject code to dump the wallet. It's definitely more complicated than reading a plain text file but not fundamentally less possible.

But really if you have that level of access it's game over anyway and you just MitM sudo and get root access, or use one of the many local privilege escalation vulnerabilities and get root immediately.

[–] FizzyOrange@programming.dev 14 points 3 days ago* (last edited 3 days ago) (4 children)

They should be keeping them in something like kwallet. But in practice they don't because a) there isn't really a single standard for that on Linux (yeay, I have to support gnome-keyring too!), b) it's a lot more work than using a plain text file, c) the UX is considerably worse, and d) the security benefits are marginal at best (especially if you have full disk encryption).

Plain text is the most sensible option.

[–] FizzyOrange@programming.dev 8 points 1 week ago

Yeah you probably can't do to much more to pwd or yes or whatever (yeah I know about the silly optimisations). I think once you get much beyond that there are always more features you can add. Even for something like cd, people have made fancier versions with fuzzy matching and so on.

[–] FizzyOrange@programming.dev 27 points 1 week ago

Nah it was eternally annoying that it didn't support Unix line endings. Also there are clearly a ton of basic features that people want from lightweight text editors.

[–] FizzyOrange@programming.dev 18 points 1 week ago (1 children)

A whopping 3% of their workforce.

[–] FizzyOrange@programming.dev 1 points 1 week ago (1 children)

Right but it's fast(ish) in spite of that. It would still be better with separate types.

[–] FizzyOrange@programming.dev 5 points 1 week ago (5 children)

Experience has shown that having a map as your only data structure is definitely a mistake. It's much better to support real arrays too. I doubt it would have made the implementation significantly more complex either (maybe even simpler for luajit).

[–] FizzyOrange@programming.dev 0 points 1 week ago

If you think you need this you're doing it wrong. Nobody should be writing bash scripts more than a few lines long. Use a more sane language. Deno is pretty nice for scripting.

[–] FizzyOrange@programming.dev 1 points 1 week ago

This has been the norm for literally decades. Doxygen was doing it in 1997 and I'm sure it wasn't the first.

[–] FizzyOrange@programming.dev 6 points 1 week ago

Uhm, ship both. Most type systems are not expressive enough to 100% explain the correct use of an API.

25
submitted 11 months ago* (last edited 11 months ago) by FizzyOrange@programming.dev to c/linux@programming.dev
 

Edit: rootless in this context means the remote windows appear like local windows; not in a big "desktop" window. It's nothing to do with the root account. Sorry, I didn't come up with that confusing term. If anyone can think of a better term let's use that!

This should be a simple task. I ssh to a remote server. I run a GUI command. It appears on my screen (and isn't laggy as hell).

Yet I've never found a solution that really works well in Linux. Here are some that I've tried over the years:

  • Remote X: this is just unusably slow, except maybe over a local network.
  • VNC: almost as slow as remote X and not rootless.
  • NX: IIRC this did perform well but I remember it being a pain to set up and it's proprietary.
  • Waypipe: I haven't actually tried this but based on the description it has the right UX. Unfortunately it only works with Wayland native apps and I'm not sure about the performance. Since it's just forwarding Wayland messages, similar to X forwarding, and not e.g. using a video codec I assume it will have similar performance issues (though maybe not as bad?).

I recently discovered wprs which sounds interesting but I haven't tried it.

Does anyone know if there is a good solution to this decades-old apparently unsolved problem?

I literally just want to ssh <server> xeyes and have xeyes (or whatever) appear on my screen, rootless, without lag, without complicated setup. Is that too much to ask?

 

Does anyone know of a website that will show you a graph of open/closed issues and PRs for a GitHub repo? This seems like such an obvious basic feature but GitHub only has a useless "insights" page which doesn't really show you anything.

 

Very impressive IDE integration for Dart macros. Something to aspire to.

view more: next ›