Hacker News new | past | comments | ask | show | jobs | submit | markstos's comments login

Yes, I much prefer this more nuanced take of "here's some things I like about systemd and here's some things I don't" then the blanket "everything about systemd sucks" feedback.

I wish this project well. I hope it improves compatibility with BSDs for more projects.


"everything about systemd sucks" people generally don't understand the problems that systemd is attempting to remediate, in my experience. Just repeating dogma that they heard someone they consider cool say.


Or perhaps, we don't have the problems that systemd is trying to solve. Or systemd creates new problems that we didn't need or want. Kind of like pulseaudio.


Yeah pulseaudio was like "you need this so you can have two apps playing music at the same time" entirely ignoring the existence of sound cards with mixers or the alsa soft mixer. Similarly, systemd was hyped at the time for, among others, allowing parallel service start entirely ignoring the several init systems that were already managing parallel start quite happily.


This turned out to be entirely the right approach, though, and it was probably pretty obvious even at the time. Sound Cards with built in mixers have all but died out. Everything they did has been eaten by software,

Even at the time, few games used an API where they managed multiple channels directly; Software mixing was commonplace from the 90s. Any game that wanted to play battle sounds was not relying on the mere 6-8 channels that cards from that time could handle.

Our modern Pipewire based workflow is remarkably simple and remarkably effective, and it's significantly an evolution of PA.


I find it indicative of the quality of these complaints that sound cards with mixers were brought up at all. As if that's a good reason to hate PA.


No, I hate PA cause it didn't work properly to the end. (Pipewire was better day 1 than PA ever was.) I just think that "you absolutely need PA to have multiple apps playing sound" was always nonsense, and the same sort of nonsense that was used to push systemd.


Yeah, that was total nonsense. Good cards existed. And if you didn't have a good card, alsa had a soft mixer. FreeBSD added a softmixer to OSS, too, so you didn't even need alsa. Worst case, you could run the Enlightenment sound daemon without Enlightenment and it was compact and just worked (as long as you had a simple sound setup)


I'm always happy to discuss sound cards with mixers, though! As a supporter of the Bloop Museum[1], I think that the "What might have been" if we had dedicated hardware for playing dozens or hundreds of sound files at a time is an interesting question. There's a lot of experimentation in the audio space that has kind of died out, because audio is so cheap - While over in in graphics, we're still seeing interesting advancements and dead ends.

[1] https://oldbytes.space/@bloopmuseum


I do. systemd solves a lot of my problems, actually. Of course all of systemd could be cobbled together by combining a dozen or so independent projects, but that mess is exactly why normal people (even normal computer people) shy away from Linux.

And I don't recall a lot of software working well when Pulse isn't available, so I don't know why people still bring it up. Perhaps it's because I wasn't there at the time, but I've only seen ALSA as "that audio system you use when you have nothing else available". I still need the PulseAudio-wrapper for Pipewire to be useful for my systems, so clearly the Linux world has moved to Pulse-first.


> I wish this project well. I hope it improves compatibility with BSDs for more projects.

I don't think BSD compatibility is held back by its init system. It's more drivers that are the issue.


I was referring to apps packaged for Linux which don’t work seamlessly on FreeBSD because they depend on some Linux-specific part of the systemd ecosystem.


dbus is a big player there, but that is available for FreeBSD for the packages that need it (desktop environments etc). Systemd isn't really that important in that sense. After all there are many Linux distros that don't use it and things work fine there too.

But yeah, BSD is not Linux. So obviously things are going to be different. For example for plug & play it has its own devd for USB devices, and it can be configured easily.

If you'd port over all the Linuxisms like dbus, systemd, cgroups etc, then you basically end up with... Linux. What is the point in running BSD then?

It's a bit akin to people saying that every Linux should be more standardised (e.g. standard package manager, standard desktop), otherwise "the year of linux on the desktop" will never happen. But all these quirky desktops and distros are there because people have different needs and they don't want those to be watered down. The ecosystem as a whole doesn't matter to them. The same thing goes for BSD. I'm not using an OS with a desktop marketshare of literally 0.01% because I care about it becoming a mainstream desktop :) I also super duper hate the ideology behind GNOME so I would never use that, if it were the only option then I would just have to leave.

PS: I have no issue with things like dbus being available in ports but definitely not in the core system.


I'll be curious if it's faster.


It’s broadly the same speed currently, but the goal was always to do a simple port to start with, then iterate from there.


Anecdote time: I did a test like this with a small hobby project of mine (c++). I ported it to rust and saw roughly a 25% speed increase because of some refactorings I was meaning to do for a long time. I then ported the rust code back to c++ and saw another 15% gain in performance. Backporting the changes to rust again yielded no significant difference.

I am no rust programmer though, and I don't think the rust code was very idiomatic.

But then again I apparently write c++ like a common lisp programmer...


Faster than previous C++? Only if there were actual performance bugs that they fixed while doing the port.


What makes you think so? The Rust compiler is able to instrument LLVM a lot better and provide it with a lot more info than C++ can. The borrow checker does a lot of the work there to for example keep things on the stack or do LSE or GSE and other optimizations. It isn't just about "oh, the rewrite allowed them to restructure things and optimize the algos". It is also that Rust due to its nature is able to be absolutely damn fucking sure that it can remove or optimize certain parts, whereas C++ can't in many cases.


Additionally, some people shared that they feel more comfortable making more aggressive optimizations in their Rust code because the borrow checker has their back.

Stylo was tried twice in C++ before the Rust attempt, and it never worked out, because the threading was too hard to get right. In theory you could have done it. But in theory, theory and practice are the same, but in practice, they’re different.


Oh definitely. Refactoring in Rust is a lot safer. Sometimes a lot more cumbersome, but definitely safer. Sometimes a refactor introduces a lifetime to a structure and now a loooot of places need changing, but at least it's safer. In C++, it would be less safe, but I could compile it and test the part I am trying to change or test first. It's a pro and con on either side.

But for the end product, I err on the safety side for sure.


IIRC, you yourself commented a few years ago in a thread on HN that the Rust situation was still a lot like "because of certain guarantees Rust makes we should be able to perform tons of optimizations that C++ could never do, and we haven't even gotten around to implementing most of them yet", has that situation improved a lot since?

("a few" might be off by pre-pandemic amount of years, my memory is a bit fuzzy there)


I vaguely remember that :)

It's progressed in the sense of like, the Unsafe Code Guidelines and opsem teams are hammering down the exact semantics still, and have made a lot of progress. I'm not aware of any actual optimization work taking place off of it yet, which would make sense given that it's not all fully hammered out yet.

I also might have been handwaving towards how restrict kept having to be turned off because it was broken, meaning very few C or C++ codebases seem to use it at all, whereas virtually every Rust reference has it on. It's been back on for a while now.


Yeah I forgot the exact context of the quote too, no worries :). EDIT: it probably had something to do with aliasing and alignment (because when aren't people sighing about C/C++ when it comes to that topic?)

Thank for the general update! I might not write any Rust code myself, but I do enjoy quite a few programs written in it, so I was hoping to hear there was more progress for the sake of the developers behind those programs. But I can also imagine that these kind of things take time to figure out properly, to avoid repeating mistakes of previous languages (and that's before we even get to the task of implementing anything).

Wish the people working on these issues all the best, and looking forward (from the sidelines) to what eventually comes out of it!


Just confirmed myself. I had to say the word 5 or 6 times, but it worked.


Repeating it three times and it happened. Interesting that it shows it and then changes it - almost like one is local processing, and then a "better answer" comes from somewhere else.


The have a spiritual successor that you still see on software project pages:

https://github.com/zitadel/zitadel/blob/main/README.md


The Helix editor, a popular alternative to Vim, is going to implementing it's plugin system in a Scheme-like language. Helix is also written in Rust.

https://github.com/helix-editor/helix/discussions/3806#discu...


If you'd like to experience the Malört of teas, you are looking for "Bitter Nail Tea" also known as Kuding, described as "one of the bitter substances you can safely ingest".

https://www.saveur.com/ridiculously-bitter-chinese-tea-that-...


DuckDuckGo is written in Perl. As a business decision, it's cheaper to keep Perl working then replace it.


and the multi-cooker in the screenshot was not an Instant Pot. Disappointed.


Which editor is Google's AI code completion integrated with? VS Code?


Yeah


What does your OSS group do instead?


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: