Running and owning your own infrastructure exposed to the outside world can be more insecure, running your own infrastructure at home in segmented networks with wireguard will solve most problems.
This is a fair point, but even with SaaS that completely abstracts away linux infrastructure (which I support, there's no reason to manage infra if it does not bring you value), there's still value in having some understanding of how the underlying infrastructure works when developing your application.
As a comparison I don't have the skills or need to develop firmware or other software that directly interacts with hardware, but having some high level knowledge of how CPU, RAM and I/O physically operate has been very useful in designing good programs. I feel comfortable arguing that investing a small amount of time in basic linux knowledge is going to be a net benefit for virtually any professional developer.
Friend of mine got a new laptop which i recommended without looking closely on the specs, as it was listed as supported on ubuntu a lenovo yoga x 11 gen I think.
Found out afterwards that the version with windows preinstalled(that the friend bought, because of the cheap windows licence that maybe needed) comes with a special mipi camera from intel with ipu6 out-of-tree driver that only supports specific kernels and specific distros and while there are packages for ubuntu I couldn't get it to work.
Linux works if you don't buy the wrong hardware, windows works on any bought hardware.
I'm not against linux and I use it and most of the time it works out of the box, but this "most of the time" will bite you when you stop looking at specific reviews and driver support and just buy a laptop.
> but this "most of the time" will bite you when you stop looking at specific reviews and driver support and just buy a laptop.
I've never once looked at reviews. The only time I've been bitten in the last 20 years was when given a MBP for work (the intel model with butterfly keys).
There's definitely edge cases out there. But these days they're exactly that: edge cases.
I said that linux mostly works out of the box, but your "edge cases" where in this case:
All lenovo yoga x1 models from the 8. gen onwards with windows preinstalled e.g. over 2 years
All lenovo carbon x1 models from the 10. gen onwards with windows preinstalled e.g. over 3 years
I'm pretty sure it also affects all newer hp and dell models since at least ~2023
It's great that your choice of laptops are never the ones that are broken, but then again, I never said linux never works.
Even if you set aside the webcam problem, the lenovo laptops who where always called out for their good linux support had problems:
The 2016 yoga x1 model couldn't get to sleep (s3i problem which many laptops had) and if it good back from sleep it need a special command to reconnect trackpad and trackpoint.
There where some special patches to make it work and after about a year it worked, still not a possibility for non technical people
The 2016 thinkpad x1 carbon gen. 6 model sometimes needs a special command to reconnect the trackpad and trackpoint, think that got fixed after ~3 years.
Neither of theses devices have a working fingerprint sensor, I can't even think of one that works with linux
Neither of these devices had a supported mobile (lte) modem, as the built in modem wasn't supported and you can't change it because the bios has only whitelisted the preinstalled model.
The new s3i sleep modus also made it impossible for linux laptops to sleep for about a year until it was fixed.
Did all of this get better over time?
Yes
Will every big new hardware thing still mean that some linux things are broken for some time?
Yes
Again, linux works for most of the hardware most of the time, but this will bite you when you expect certain things or devices to work.
But you’re comparing manually installing Linux with a preinstalled Windows. Of course Windows is going to win there - it’s not a fair comparison.
Let’s take an extreme example of that same argument: If someone’s only experience of macOS was manually installing on hackintoshes then they’d say macOS was hard to use too.
And by that same token, I can tell you from experience that manually installing Windows on new hardware isn’t a piece of cake either. You have the same bullshit experience trying to locate drivers.
The common theme here is that nontechnical people wouldn’t be building their own OEM systems or wiping laptop drives and performing fresh installs. Regardless of whether that’s Linux or Windows.
To Intel's credit ipu6 packs a ton a ton a ton of super advanced capabilities in. Having a good video pipeline is a huge edge. That it took a while for upstreaming to get really into gear on Linux does not super astound me. This feels like a place where we need to expect the open source world to have to find its purchase first before traction forward can really start.
This was a super shitty experience though. It really felt unplanned & chaotic. Hopefully some of the kernel architecture carved out for ipu6 is good & useful for running other video pipelines.
Most webcammers don't knowingly think heavily on color science, but ideally our devices can.
I've heard the Flashtor 12 is great, and can take lots of M.2s, but they end up with relatively few channels so data transmission rates aren't awesome. It can be fine as most users will be connecting over the network anyway which will be the bottleneck.
There are legitimate reasons to pull in someone after hours, but it really has to be catastrophic. I'd 100% want to be called in if I deployed something knocking out 911 service for a whole state and I was the only one with the knowledge to actually fix it in a timely manner. However, most problems are not like that and are either able to be delayed until an actual business day or can be solved by someone else.
Let's be real, we're talking about line of business apps and ecommerce stores making $5,000/day total revenue. "Critical infrastructure" has an entirely different failure model.
probably because synthetic sounds/is chemical and the producer wants to also market this to the "only natural products are good" crowd which probably has an overlap with people who are vegan.
So this style of error can be addressed by using a safe language. Or static analysis. Or code reviews. Or not doing this stuff in the kernel. Or formal methods. Or fuzzing.
As someone else said you likely can't easily use Rust for Windows kernel modules/drivers. I'm sure a strong enough engineering team could do it (e.g. transpile Rust to C) but I'm not sure it's the biggest engineering problem CrowdStrike has. Microsoft has a complete tool-chain for developing these and it's usually C/C++ or assembly.
so... using a type that can't be nil. recovering from runtime panics (you have to do that but this can be enforced by standards and also it can happen up the stack for all code, e.g. like http handlers do by default in the Go standard library). More importantly these errors are not segfaults in Go, i.e. there's "exceptions" you can and should catch and there are exceptions you can't.
Sure. I speak C++ ;) You can do this in C++ but I think it's generally more crash prone than Go. Based on personal experience of ~20 years of C++ and ~10 of Go I've debugged many a core dump in C++ and I think zero in Go. You can restrict yourself to the somewhat safer parts of C++ for sure.
reply