4 ms·
Anybody know Bryan Lunduke? He's a guy giving talks called "Linux sucks" in which he basically bashes Linux for 20 minutes and then concludes that Linux is the
by teamhappy 12y ago
Anybody know Bryan Lunduke? He's a guy giving talks called "Linux sucks" in which he basically bashes Linux for 20 minutes and then concludes that Linux is the best FOSS OS community because they can take the bashing (get it?). He's been giving these talks for quite a while now. Everybody knows Theo de Raadt is crazy (and Stallman isn't) and of course everybody knows Apple fanboys tear up every time somebody implies Apple software has a bug in it.
In my experience it's the exact opposite. I've been hearing a lot of explanations for the bash debacle in the last couple of days and they all amaze me to a certain degree. Let me share a couple of them with you.
1. Total breakdown - "No software is ever safe, so what the hell do you want from me." Yeah, well ... don't write software then.
2. It's not my fault - "Bash is written in C. C is unsafe." Quite a lot of people write safe, well tested, maybe even formally verified C code. So, yeah ... don't hack in C maybe.
3. Linux is still fine - "Bash is just a tiny part of Linux. The rest is still good to go." Turns out the bash codebase looks a lot like the rest of the GNU/Linux universe. Old, untested C code that's hard to read and even harder to understand. That's why nobody dares to touch it in the first place.
4. It's FOSS - "You can't expect anything to work. Cause, you know, it's free." If that were true, using FOSS would be a terrible idea.
5. You're using it wrong. ... just wow.
Can't we just all agree that this kind of thing is an endemic problem in most of the code bases we use (including my beloved FreeBSD) and we have to figure it out over the next couple of years. There are loads of tools that should have never been implemented in C/C++ in the first place (SSH, Make, APT, etc.). I'd say the best idea is to port a lot of these code bases to languages like Go or Rust maybe, but if that's not feasible for some reason, at least write some unit tests and do static code analysis. And, this is probably the most important point, if you don't want to do any of this, please don't make lame excuses when it all falls apart eventually.
- quakershake 12y ago"There are loads of tools that should have never been implemented in C/C++ in the first place (SSH, Make, APT, etc.). I'd say the best idea is to port a lot of these code bases to languages like Go or Rust maybe, but if that's not feasible for some reason, at least write some unit tests and do static code analysis." This is the exact problem with everything today. Languages do not make bugs, people do. If that weren't the case, there wouldn't be bugs is python/ruby/shell/etc. Rewriting something is only guaranteeing that more bugs be created initially. And all the time and effort gets you..what? The same thing that was just patching in a different language. Awesome... You should be familiar with "bikeshed" being a freebsd user..
- teamhappy 12y ago> Languages do not make bugs, people do. Right. That's why it's a good idea to use languages that help people to avoid common mistakes. > Rewriting something is only guaranteeing that more bugs be created initially. Neither of us has empirical evidence for that (or maybe you do, I don't know), but let's say your right. A rewrite would at least give us a sane way to move forward (see the first item on my list). > You should be familiar with "bikeshed" being a freebsd user.. I'm voting blue. --- Given that you're a Linux user, you should be familiar with Einstein's definition of insanity. :P
- quakershake 12y ago> I'm voting blue. lol > Given that you're a Linux user, you should be familiar with Einstein's definition of insanity. :P +1 - I just don't see any real solution to the problem. I do think that because Linux is more widely used it is running into the same issues Microsoft has/had where the vulnerabilities are more widely exploitable. Diversity definitely has it's benefits.
- LeoPanthera 12y ago> everybody knows Apple fanboys tear up every time somebody implies Apple software has a bug in it "Everybody knows" this, but I'm pretty sure this hasn't been true since the 90s. Today, it's super popular and somehow accepted behavior to bash and make fun of people who buy Apple products. I see it all the time. The excuse always given is that they're simply returning what Apple fans give out, but I can't remember the last time I saw an "Apple fan" bash a PC or Android user. I don't know when this changed, but I don't like it.
- vacri 12y agoI'd say the best idea is to port a lot of these code bases to languages like Go or Rust maybe So your answer to to the criticism of "this code is ancient" for core utils is "let's port them to languages that haven't finished maturing yet"? Rust in particular is only two years old, and the recommended version is "the nightly build". That sounds super-stable for core utils...
- teamhappy 12y agoI also said it's a problem we have to tackle in the next couple of years. You don't have to start porting today. I write command line tools (and that kind of thing) in Go and it's a great experience. Go shines once you come back to an old code base, or have to review code you didn't write. Rust made the list because somebody already ported the GNU core utils to Rust (https://github.com/uutils/coreutils https://github.com/uutils/coreutils). Feel free to use C++11/14, OCaml, D or what have you. I hope we agree that C isn't the best choice.
- steveklabnik 12y agoRust is actually older than two years. Mozilla became a sponsor in 2009, Graydon had been working on it for two or three years before that, IIRC. That said, that Rust looks almost nothing like today's Rust, and you're totally correct about stability.