

Agreed, and it feels like a waste of so much great potential when you consider the fantastic development they poured into it. Such a shame.


Agreed, and it feels like a waste of so much great potential when you consider the fantastic development they poured into it. Such a shame.


It’s hard to beat the last one, but he somehow managed to pull it off.
Then again, Mitchell Baker is still on the board of directors if I’m not mistaken, so it sounds like the rot is too pervasive for just one CEO to change.


I was having issues with Librewolf on a work computer a few weeks ago, so I decided to try Firefox to see if it was LW’s security settings.
Holy shit, what a fucking trainwreck Firefox has become! It’s so bad that I can’t honestly recommend anyone use it anymore. The first time I started it, I saw all kinds of ads and trashy “news” articles that had no relevance to me whatsoever. Plus I had to reinstall all my extensions because they weren’t signed and there’s no way to disable that requirement. I was so horrified and offended, I just dumped it immediately and tried Chrome instead. What difference is there at this point?
It’s just insulting at this point. I understand that they trying to find new revenue sources, and things are still better today than they were with Mitchell Baker as CEO, but it’s still horrific how poorly Mozilla is being run. I’m so grateful we still have usable forks from the amazing people running projects like Librewolf. Without them, the web would just be flat out unusable.


I bet he takes a bath in a swimsuit


This has been very obvious to a lot of people since mobile devices were originally invented. The notion that you are sold a product that you “own” but is still 100% controlled by the vendor - anyone who thought about it for more than a second knew that it would eventually come to this. Of course, nobody gave even that tiny amount of thought about it. Or they were too naïve to think that a corporation could ever be evil.
I miss the times when spyware was considered uncoool. Mobile devices are the undoubtedly the worst invention of the information age. (And social media is probably the second worst.)


I enjoy it. It’s a relaxing, peaceful game. I just wish there were more objectives. The idea of just exploring and finding things doesn’t appeal to me all that much. The game has a lot of potential for combat, both in the spaceship and as a FPS, but both of these areas feel like they could be expanded a bit. Overall, I just wish that there were more combat-focused missions after completing the main storyline.
But it’s still pretty good and I enjoy it when I want to relax.


I wrote a program that scanned object files (compiled from a large C++ project) to see how they were interdependent. It was pretty useful for detecting cycles in the shared libraries that we were compiling from them, but the biggest benefit was it enabled me to very easily rewrite the build system from scratch.
It was surprisingly simple - most ELF parsers can read a file and dump the symbol tables in them. (In this context, a symbol means a defined function, so if a C/C++ source file has int main() in it, the corresponding .o file will have a main symbol in it.) They also include information about which symbols are defined in the .o file, as well as which symbols it depends on which are undefined. This allows you to figure out a dependency graph, which you can easily visualize using graphviz or use to autogenerate build files for CMake or any other build system you may wish to use.
In my case, I wrote this kind of program twice in two separate jobs. Both of them had a very janky build system using custom Makefiles. I used this program to rewrite the build systems in CMake. The graphviz dependency graphs are also just generally helpful to have as project documentation. CMake can do this natively, by the way - here’s the documentation for it: https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-graphviz


Yeah, I’ve seen a lot of those videos where they do things like {} + [], but why would anyone care what JS does in that case? Unless you’re a shit-ass programmer, you’re never going to be running code like that.
By this same logic, memory safety issues in C/C++ aren’t a problem either, right? Just don’t corrupt memory or dereference null pointers. Only “a shit-ass programmer” would write code that does something like that.
Real code has complexity. Variables are written to and read from all sorts of places and if you have to audit several functions deep to make sure that every variable won’t be set to some special value like that, then that’s a liability of the language that you will always have to work around carefully.
I don’t even know where to start to make vim or neovim do all that. If it can’t do that seamlessly and just as well, vimlike editors will never be a replacement for a proper IDE. It’s fast, capable single file and small scope editor for me.
If you’re interested in learning how to do it, I found this guide extremely helpful for getting started. it’s in both blog and video format, and it shows how to install Lazy (a package manager for vim), and which plugins to install to get LSP working (which is what would provide all the hotkeys that you were mentioning above).
It’s definitely not a task for the faint of heart, but I found it very rewarding once I figured out how to work with the plugin systems because it’s so powerful and easy to customize. I found it helpful to just watch the video a few times to see everything working, then slowly started building up my own configuration (which was a bit more minimal than the linked guide I provided - I only installed about 30-40% of the plugins he listed on that page).
Another alternative is Lazyvim, which provides an out-of-the-box configuration experience for you. It installs a lot of plugins and most things should work out of the box with very little configuration. It is a massive beast though, but still pretty good for a first start.
Oof, that alt-text really hurts to read though.
It’ll be hilarious the first few times this happens.


The funny thing is, before Google existed, people had no idea if their marketing attempts were working. Maybe they had some ways of knowing or guessing, but there was no way to know how accurate their metrics were. Internet-based advertising, and tracking-based advertising in particular was supposed to change that.
And now that we sit here with a duopoly of advertising giants, we’re back to the stage where marketers just have to trust that their provider is giving them good helpful information. And how are they supposed to know whether they really can believe it or not? They can’t of course! So we’ve come right back to where we’ve started.
But considering they still spent tons of money before Google and Facebook gave them these “analytics”, it looks like they probably don’t even care that much.
As others have mentioned, this is a matter of threat model. To be realistic, a sufficiently determined government will always be able to access your communications, but companies like Facebook and Google can only access them if you give it to them willingly. On the other hand, if other people you communicate with do this by themselves, then you’ve gone through all that effort for nothing. It’s also worth pointing out that it cannot be proven that a regular phone does not have corporate spyware installed, so this may be another way your information could leak to companies.
That said, it is pretty insulting that tech companies have decided that they’re simply entitled to everyone’s private communication data. That for me is probably the biggest motivator in trying to avoid their services as much as possible.


It’s a large and very complicated piece of software with a single implementation. It’s practically impossible to fork, so users are forced to adopt whatever changes the maintainers decide to implement. This could include things like forced dependencies (incompatible with mulb libc for example), or other poor design choices (like binary logging, which is very controversial). And it forces its adoption in places that do not want it (as in cases like the one we’re discussing here, where it’s becoming harder and harder for Gnome to be used without it).
I’m not going to argue about whether systemd is good software or not. But the biggest problem with it is that it’s basically a way for Red Hat to exert control over the entire Linux ecosystem.
Think of it like Chrome/Chromium. Everybody naïvely thought we were never be where we are today when it was announced, but look at where we are today. While it’s technically open source and an excellent browser, above all, it’s a tool for Google to exert its control over the WWW, such as disabling adblockers, implementing DRM, deciding which CSS/Javascript APIs should (or should not) be adopted, etc. systemd could very well be Red Hat’s vehicle for imposing similar requirements on desktop Linux.


The handbook is outstanding. Read as much of it as you can. Even if you’re not a Void user, you’ll learn so much!


It’s really annoying. It no different from people who go into Linux forums and talk about how much they love Windows.


Void Linux uses runit, for example. Here’s the documentation they provide on how to use it: https://docs.voidlinux.org/config/services/index.html
It only takes 5-10 minutes to read and understand how to manage all your services and write your own. Simple and fast. If only systemd were this easy!


Ubuntu is doing stupid things with packages, replacing them with their proprietary packaging system (called Snap). It has been controversial, the way that they are pushing it, especially since the Snap server is proprietary and non-open source.
A lot of people won’t consider using Ubuntu at all for this reason alone, and it makes sense - when you consider that there are so many other distros to choose from these days, Ubuntu just doesn’t really provide a whole lot of added value anymore.


B-b-b-but my convenience!!!


Daniel Stenberg (author of curl) has written a little bit about his journey working on curl: https://daniel.haxx.se/blog/2020/10/26/working-open-source/
I now work for wolfSSL. We sell curl support and related services to companies. Companies pay wolfSSL, wolfSSL pays me a salary and I get food on the table. This works as long as we can convince enough companies that this is a good idea.
The vast majority of curl users out there of course don’t pay anything and will never pay anything. We just need a small number of companies to do it – and it seems to be working. We help customers use curl better, we make curl better for them and we make them ship better products this way. It’s a win win. And I can work on open source all day long thanks to this.
The last Windows OS I used was XP, around 2004-ish. Even back then, it was obvious to me that, because it was closed source, that they could one day start acting against my interests, and there was nothing I could do to stop it. I saw open source as an insurance policy - it prevents vendors from acting maliciously against their users. In that very quaint, old time, nobody believed that MS would ever do something like that, but it didn’t matter - the fact was that they could, so inevitably, they would.
I’m quite proud of how prescient I was when I look at what they’re doing today. No evil is too great to stop a greedy businessman.
Anyway, I decided to just be brave and create a partition on my main drive and install Ubuntu on it. All I needed to get my work done was OpenOffice, LaTeX, a browser, a compiler, Python… Everything worked better in Linux than Windows so even though I was dual-booting, I practically never used Windows again after a couple weeks. Later on, I switched to Debian, and the next laptop that I bought, I just wiped the hard disk and used Linux for the whole thing. I kept the recovery partition because I was paranoid but obviously never needed it.
Today, there’s no doubt in my mind that Linux is the best OS. Sure, Macs have better batteries, but if I’m doing productive work, then I don’t really need more than an hour away from my charger. I could maybe agree that the BSDs are better, but I’ve never tried them.