Alt text:Twitter post by Daniel Feldman (@d_feldman): Linux is the only major operating system to support diagonal mode (credit [Twitter] @xssfox). Image shows an untrawide monitor rotated about 45 degrees, with a horizontal IDE window taking up a bottom triangle. A web browser and settings menu above it are organized creating a...
ffprobe is included in the ffmpeg package. For future reference you can find what package contains a file by doing dpkg-query -S /bin/ffprobe (note that the path you give it is relative to /usr)
People who wear cat ear headphones and thigh high socks are actually respectable. When OP says “hoodie” they mean “script kiddie who feels like a badass for changing the color of his terminal”.
Note the lack of use of gender neutral pronouns. I do not believe that any woman or enby, trans or otherwise, would stoop so low.
Does anybody know why dbus exists? I’ve been wracking my brain trying to come up with a usecase for dbus that isn’t already covered by Unix sockets....
Programs still have to be written to accommodate the specific protocol that the program on the other end speaks, and dbus paths could translate pretty directly to subdirectories of /run. All adding dbus in the middle does is add a daemon where there doesn’t need to be one and force the programs to talk to each other through that rather than directly to each other
It occurs to me that sendmsg() is already kind of a standard, and the problem of drop in replacements could be solved by just making the replacement bind to the same file path and emulate the same protocol, and the problem of automatically starting the daemon could be handled by a systemd socket (or even inetd if you wanna go old school). The only advantage that I can see dbus really having over Unix sockets is allowing multiple programs to respond to the same message, which is a definite advantage but AFAIK not many things take advantage of that.
They’re Unix sockets, dude, they’re file paths in /run
Data marshalling
Still have to do that with dbus, also that’s the same thing as message formatting
Pubsub
Again, sockets. One application binds and many can connect (how often do you really need more than one application to respond to a method call? That’s a valid reason to use dbus in lieu of sockets, but how often do you need it?)
Method calling, marshalling of arguments and responses
They’re called “unix doors”, and that’s the third time you’ve said marshalling. As for that, language agnostic data marshalling is kind of a solved problem. I’m personally a fan of msgpack but JSON works too if you want to maximize compatibility. Or XML if you really want to piss off the people who interact with your API.
Broadcast and 1:1 messaging
Sockets and doors can only do 1:1, and that’s true enough, but it occurs to me that 99% of use cases don’t need that and thus don’t need dbus. dbus can still be used for those cases, but less load on dbus daemon = less load on system. Also you said that already with pubsub.
As for that blob at the bottom, again, who said anything about there not being a language agnostic library? It’d be a lot of work to make one, sure, but that doesn’t mean it’s impossible. Besides, most of the work has been done for you in the form of language agnostic marshalling libraries which as you said are like 50% of the problem. The rest is just syscalls and minor protocol standardization (how to reference FDs passed through the door in the msgpack data etc.)
And what I’ve just described isn’t a reimplementation of dbus without any of the good parts, it’s a reimplementation of dbus on top of the kernel instead of on top of a daemon that doesn’t need to be there.
…systemd very much does use the init system to launch userland and GUI processes. That’s how GNOME works.
Dbus is for interprocess communication. The fact that its primary use case is communication between desktop applications is hardly relevant to its design. I don’t see how GUI frameworks are at all relevant, or how it would be possible to create an interprocess communication mechanism that only worked with one GUI framework without some heroic levels of abstraction violation (which I would not put past Qt, but that’s another story).
I don’t see why having an entire dbus daemon running in the background is better than having a cluttered /tmp or /run directory.
I moved from Lemmy.ml because I liked the name of Lemmy.world and it ran a newer Lemmy version which meant I could make communities. I moved from Lemmy.world because they defederated from piracy communities they didn’t even host (but for some reason still kept the small piracy community they DID host) From thelemmy.club...
Admittedly, it’s been a few years and I’m coming due, but let’s see what I can remember…
apt will brick itself if it gets interrupted mid transaction with no clear recourse apart from a total reinstall, so try not to get greedy and Ctrl+C if it looks like dpkg is hung
trying to install any software that isn’t already packaged explicitly for Ubuntu is a nightmare because there is no equivalent of the AUR for people to push build steps to and you’re quite often left guessing what dependencies you need to install to get something to compile
snapcraft, need I say more? Firefox takes several minutes to start up, we don’t talk about disk usage, installing a package with apt will sometimes install the snap version anyway requiring a Windows-registry-edit-esque hack to disable, and the last time I checked in, the loop devices it creates didn’t even get hidden in the file manager.
I’ve also definitely encountered my fair share of bugs and broken packages which are always fun to fix
Every time I commit I have to look through git diff, figure out what the hell I actually did, come up with something intelligent to say about jt, possibly split the commit into multiple commits if I changed multiple things, do some shuffling with git reset and git add…
For some reason all my personal projects are all like 4K SLoC with 50 total commits, all of which include apologies for not doing more smaller commits
Good luck web devs (lemmy.world)
Alt text:Twitter post by Daniel Feldman (@d_feldman): Linux is the only major operating system to support diagonal mode (credit [Twitter] @xssfox). Image shows an untrawide monitor rotated about 45 degrees, with a horizontal IDE window taking up a bottom triangle. A web browser and settings menu above it are organized creating a...
I am one of you now (files.catbox.moe)
Debian 12: how do I get Gnome Files to display preview thumbnails/icons for large video files? Right now it just shows generic icons (lemmy.world)
Linux too mainstream for some 🤷 (sh.itjust.works)
Btw i used Arch! (lemmy.world)
Stats (slrpnk.net)
What is the point of dbus? (lemmy.world)
Does anybody know why dbus exists? I’ve been wracking my brain trying to come up with a usecase for dbus that isn’t already covered by Unix sockets....
Aliens decide to communicate with us (lemmy.ca)
Aliens want to communicate and they decide to use you and your personality as the base model for all humans. Is this a good thing or a bad thing?
Multifactor auth done right (l.roofo.cc)
Original icosahedron.website/
I might move again. (Or not) (lemy.lol)
I moved from Lemmy.ml because I liked the name of Lemmy.world and it ran a newer Lemmy version which meant I could make communities. I moved from Lemmy.world because they defederated from piracy communities they didn’t even host (but for some reason still kept the small piracy community they DID host) From thelemmy.club...
No take backs? (lemmy.ca)
I'll be spending Christmas with Lemmy this year, thank you (lemmy.ca)
Guys/Gals it’s posted in the meme community, clearly this did not happen. The joke is funnier in the first person.
have you been doing crime? (lemmy.world)
An Academy award or Oscar at least. (lemmy.ml)
What were your favorite video essays of 2023?
When somebody laughes at your Facebook post, but you were being serious (r.nf)
The struggle is real…
What distros have you tried and thought, "Nope, this one's not for me"?
I’ve been using Linux Mint since forever. I’ve never felt a reason to change. But I’m interested in what persuaded others to move.
Manager: This task only takes 30 minutes. Why did it take you the whole day? (programming.dev)