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

My guess is that People travel way more than in the last 50 years and department stores have nothing to do with experiencing a diverse life.

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.

I'm not sure I agree, I think you forget web developers.

I think today the only reason to need to know linux is actually backend dev and embedd in the sense of small pcs with custom uis.

With the amount SaaS today most of the backend services can be bough, so that also lowers the amount of developers who need to know linux.


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.


shift+ctrl+c is for copying from terminal, shift+ctrl+v for inserting, if you still need to know.

The reason is that linux and the terminal is old and ctrl+c sends a signal(SIG_INTERRUPT) which is used to cancel the current process.

That means for better or worse you can't change these shortcuts without inconveniencing existing users and that means these shortcuts will stay.

That aside I don't think cmd and powershell on windows allow str+c and str+v?


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.


Did you try to buy it preinstalled? Works for me, including the internal camera.


External webcams are no problem, agreed.

New-ish laptops with intel tiger lake procesors use MIPI cameras with ipu6 and don't work out of the box or only on specific kernel/distro combos.

There are efforts to mainline the driver and it is better than 2 years ago but still a big step backwards[1]

[1]https://github.com/intel/ipu6-drivers


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.


There ie the rockchip CM3588 NAS Kit but it is a non mainstream CPU which cost between 200-300€:

https://wiki.friendlyelec.com/wiki/index.php/CM3588_NAS_Kit

there is also the asustor nas: https://www.asustor.com/de/product?p_id=80

If you just need a single nvme SSD you could also buy a banana pi 3 Router:

https://wiki.banana-pi.org/Banana_Pi_BPI-R3

Edit: forgot links and product


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.


Either pay another full time night shift or yes, accept that things are broken for the time.

If your product is really so important that it can't be down, hire more engineers and pass the markup to your customers.

I'm glad I live in the country where you have to have 11 hours between end of work and start of work(except for special cases afaik).


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.


That's pretty ironic since most vegan products have significant basis in chemically enhanced flavour and nutrition


Wouldn't a strongly typed language like rust sill catch a bad datafile?

E.g. loading it would require you to setup a maximal size and a valid configuration struct?


It could.

We haven't seen the code but it could be something like:

  char *ptr = parsefile(file_we_released_without_testing);
  if(ptr[0]=='A') { } // BSOD loop
parsefile returns NULL unexpectedly.

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.


unhandled null in rust will still cause panic. still cause the bootloop.


I'm not a Rust expert but wouldn't you pick some ("null-safe") type that can't be null in Rust? A reference?


i dont think it matters, if you have any exception in the critical boot part, you will end up with this. Rust cannot fix this. Microkernels might.


Something like this Go snippet:

  func parsefile(string) string {
  }

  func thatfunctionthatcrashedinC() {
      defer func() {
      if err := recover(); err != nil {
        log.Println("panic occurred:", err)
      }
    }()
    result := parsefile(badfilethatcrashesC);
    if result[0] == 'A' {
    }
  }
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.


You have all that in C++ too. Exceptions are near zero cost and used everywhere, sometimes even in embedded stuff too.


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.


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

Search: