[-] FizzyOrange@programming.dev 16 points 1 month ago

The secret is just to do it anyway. I have yet to work in a job where anyone actively stopped me fixing technical debt, even if they never asked me to do it.

[-] FizzyOrange@programming.dev 15 points 1 month ago

Go to bed, you're drunk.

[-] FizzyOrange@programming.dev 14 points 2 months ago

this is why Linux will never be mainstream

[-] FizzyOrange@programming.dev 15 points 2 months ago

Ask the Rust maintainers to fix it presumably? The antagonist in the video above claimed there are 50 filesystems in Linux. Do they really fix all 50 filesystems themselves when they change the semantics of the filesystem API? I would be very surprised. I suspect what actually happens currently is either

  1. They actually don't change the semantics very often at all. It should surely be stable by now?
  2. They change the semantics and silently break a load of niche filesystems.

I mean, the best answer is "just learn Rust". If you are incapable of learning Rust you shouldn't be writing filesystems in C, because that is way harder. And if you don't want to learn Rust because you can't be bothered to keep up with the state of the art then you should probably find a different hobby.

These "ooo they're trying to force us to learn Rust" people are like my mum complaining you have to do everything online these days "they're going to take away our cheque books!" 🙄

[-] FizzyOrange@programming.dev 16 points 2 months ago

I use this big expensive simulator called Questa, and if there's an error during the simulation it prints Errors: 1, Warnings: 0 and then exits with EXIT_SUCCESS (0)! I tried to convince them that this is wrong but they're like "but it successfully simulated the error". 🤦🏻‍♂️

We end up parsing the output which is very dumb but also seems to be industry standard in the silicon industry unfortunately (hardware people are not very good at software engineering).

[-] FizzyOrange@programming.dev 15 points 3 months ago

This, of course, only works on little-endian machines. On big-endian machines, c has to be bytereversed.

Interesting advantage of little endian!

[-] FizzyOrange@programming.dev 15 points 3 months ago

uv is fantastic. I would highly recommend it. I've used it in a quite complex environment, with no issues (quite an achievement!) and it's about 10x faster than pip.

I mean... I guess it's not surprising given uv is written in Rust and pip is written in Python, but even so given pip is surely IO bound I was expecting something like 4x improvement. 10x is impressive.

[-] FizzyOrange@programming.dev 14 points 3 months ago

TL;DR (there should be an open source drama summarising website!):

  • Hazing someone in your discord because they have pronouns in their bio
  • Speaking pretty bluntly against queer people and minorities at large
    • "at 15 he doesnt even know what he will be studying at uni and he already wanna go get AIDS?"
    • "I think this server's motto should be 'love guns, hate damn minorities'"
[-] FizzyOrange@programming.dev 14 points 4 months ago

Yeah... It's going to take a whole lot more than $1m for this. I am skeptical.

Also not super enthused about another browser written in C++. I skimmed some of their code and it seems pretty high quality, but still... this is going to be chock full of security bugs.

Servo is definitely the more interesting project.

[-] FizzyOrange@programming.dev 15 points 4 months ago

They chose “version” because they are just that, versions. Improvements over the original design that benefit from new insights and technological improvements. We’re lucky they had the foresight to include a version number in the spec.

No they aren't. A higher version of UUID isn't "newer and better", like the word "version" implies. It's just different. It's like they called a car "vehicle version 1" and a motorbike "vehicle version 2". The common use of "version" in the software world would mean that a motorbike is a newer and hopefully improved version of a car, which is not the case.

The talking pumpkin is 100% right that they should have used "type" or "mode" or "scheme" or something instead.

[-] FizzyOrange@programming.dev 16 points 6 months ago

Yeah I kind of agree but I also think when it gets to that point we'll have much bigger problems than programmers losing their jobs. Like, most of society losing their jobs.

[-] FizzyOrange@programming.dev 16 points 7 months ago

Yeah I think it's trauma due to C/C++'s awful warning system, where you need a gazillion warnings for all the flaws in the language but because there are a gazillion of them and some are quite noisy and false positives prone, it's extremely common to ignore them. Even worse, even the deadly no-brainer ones (e.g. not returning something from a function that says it will) tend to be off by default, which means it is common to release code that triggers some warnings.

Finally C/C++ doesn't have a good packaging story so you'll pretty much always see warnings from third party code in your compilations, leading you to ignore warnings even more.

Based on that, it's very easy to see why the Go people said "no warnings!". An unused variable should definitely be at least a warning so they have no choice but to make it an error.

I think Rust has proven that it was the wrong decision though. When you have proper packaging support (as Go does), it's trivial to suppress warnings in third party code, and so people don't ignore warnings. Also it's a modern language so you don't need to warn for the mistakes the language made (like case fall through, octal literals) because hopefully you didn't make any (or at least as many).

view more: ‹ prev next ›

FizzyOrange

joined 1 year ago