Hacker Newsnew | past | comments | ask | show | jobs | submit | AnthOlei's commentslogin

I switched my parents onto Linux a couple months ago, after my mom kept getting confused between edge and chrome - not being to uninstall edge was the last straw, but the massive amount of adware slowing down her capable-but-old laptop was a close second.

So far so good! Some smaller hiccups, like chrome won’t use dolphin, but I installed rustdesk so I can help them through whatever.

Over Christmas the in-laws were asking about Linux because of windows issues, which was surprising since they’re technologically literate but in a layman sense. I didn’t try to switch them over since the parent experiment is still ongoing but a couple more months of seamless use and I’ll consider it a success.

All this to say I’m very glad for Microsoft leadership!


My non-technical friend installed linux on her 10yo old laptop by herself after a windows update slowed down her device and rendered it unusable. She said she said she read about it somewhere and that the Ubuntu installation was pretty intuitive.

I was both amazed and proud. She's daily driving Linux now

(to be fair, it's just tv shows and web apps like chatgpt or docs, but still, Linux is now a good-enough alternative, at least anegdotally)


My late grandfather (passed in 2022 at the age of 104) showed us all how it could be done. In 2014! During one of my infrequent visits to his house; he was complaining about the state of the latest Windows installation on his new laptop, and saw me driving Debian+KDE and asked about switching.

I told him that Ubuntu was probably the best fit for someone changing/doing one's own install. And that was pretty much the extent of the conversation, we went on to talk more about raising beef on land without petrochemical fertilizers, and how he missed the flavor from his youth, circa 1930's vs what he could get in the store today.

A few years later, the next time I was in his living room, his somewhat older - the same - laptop was on his kitchen table with OpenOffice spreadsheets and something he was working on, running the latest Kubuntu flavor. I asked who he had asked to install it; he has a number of technically proficient descendants who live much closer and who visit far more frequently than I did, so I presumed one of my cousins had helped.

He acted a little gruff, told me he had switched to Ubuntu+gnome by reading and following the instructions, and had then decided he tried out the K Desktop and preferred it enough to just make the switch without reinstalling.

Had a bit of fun hearing him explain how he "hadn't been fond of some of the Ubuntu decisions with window managers but liked having both environments installed as somethings were better in K, and other things were better from Gnome."

In thinking about how ready he was, in his 90's, to fully read and follow instructions reminds me that he was from a generation whose automobile user manual came with instructions for adjusting the piston timing as well as how to bleed and adjust brake pressure.

Why does everyone act like switching to Linux from Windows is just too hard for "Kathy and Wayne"? The fact of the matter seems to be we have lost either the _ability_, or the _willingness_, to read-and-follow-directions in the general population. The end result of either is the same.


I've coached a few normies through a Linux installation and there are always 3 things that confuse them and it never improves.

1. Understanding they have to back up their current hard drive somehow. What even is a back up? How do they do it? What do they need to back up? How does it get restored? I tell them to put their important files on a flash drive, but it's not obvious.

2. How to boot into the flash drive with the Linux image on it, and what that even means. The instructions for this are usually sparse because every laptop enters BIOS with a different key and has a different way of choosing the boot device from there.

3. The disk configuration in the installer. They have no idea what to do here. There is usually not a simple default with friendly text to click through. It's impossible to write coherent instructions for this if the user doesn't understand what a drive even is, conceptually.


#3 is surprising, I don't remember the last time I saw a distro installer without a "just wipe the disk and set up the recommended partitions" option, and most machines usually just have 1 drive.


There's some funky things like drivers etc but on the whole switching to Linux is probably even easier for Kathy and Wayne (sorry, Alice and Bob) because the updates won't randomly break like MS's do


My Dad, who's well into his 60s, managed to install linux himself on his computer. His kept the windows partition in a dual boot setup just in case, but spends just about all the time in Linux, he loves it.


anecdotally?


Yes, thank you. It's 'c' in English but 'g' in my mother tongue


Interesting, I can see how it would sound the same, with a different accent.


Native English speaker. I tried saying both out loud and it sounds the same. It's just a glottal stop (?) either way in my accent.


They should sound different. Not a lot different, but there is normally a noticeable difference between g and c sounds.


It matters what the tongue and voice box are doing in the surrounding sounds. The next letter (t) is voiced, and the prior sound is a vowel, so in practice many English speakers will continue to “voice” the c sound between e and d, the “g” is just a voiced “c”, which makes them homonyms in most speakers.

(This post brought to you by YouTube, who keep putting Dr Geoff Lindsey in my recommendation queue, and now I’ve become a part time linguistics enthusiast. Other interesting facts: “chr” and “tr” are also almost entirely homonyms in most speakers. Try saying “trooper” and “chrooper” and see what I mean. In fact my 4 year old, who is recently learning to write, drew a picture of a truck and wrote “chruck” on the paper.)


Plus all of the differences between native speakers.

Canuck here. Color and colour are pronounced differently(mildly), and ant and aunt wildly different. Suite and suit are different pronunciations too.

Yet to some US speakers, those words are the same.


"Hard c" is voiced, "g" is unvoiced.


(I think you mean the other way around.)

But the difference is almost meaningless in this case because in practice the c blends to the d, which is voiced.


I thought they were making fun of my new jersey accent.


AFAICT the only thing that should be keeping people from Linux nowadays is gaming (especially VR) and systemd doing dumb shit device naming so that changing the physical location of an unrelated GPU renames your NIC and breaks your internet.


Would have switched years ago if it wasn't for Adobe. Open source equivalents to Photoshop and Lightroom are NOT viable alternatives


For casual use I use lightroom web and it's good enough for me, if you haven't tried it, I highly recommend.

I'm sure for some workflows it isn't sufficient but for basic edits and raw development it works quite well.


Yeah, i use online LightRoom for checking images in the darkroom actually, but for serious use, the old desktop app is still king. There are alternatives, like the excellent Capture One, but none available on Linux. I could live without Photoshop, but not Lightroom or similar.


Not really equivalent to Lightroom, and not remotely a replacement, but there's Corel AfterShot Pro [1] (source: about 15 years ago, I was one of the (1?) proud Linux users of Bibble 5, its predecessor)

[1] https://en.wikipedia.org/wiki/Corel_AfterShot_Pro


I was under the impression that the systemd device naming schemes were created specifically to solve the problem you describe[1].

Are there cases where the old scheme worked well that none of the systemd schemes properly address?

Is the scheme Windows uses to bind configuration to physical network interfaces even documented?

[1] https://systemd.io/PREDICTABLE_INTERFACE_NAMES/


ALVR has been working really well for me on my Quest 3.

there are a lot of other things stopping people from migrating besides gaming though. sure, there are alternatives for professional audio/photo/video editing/producing, but they all mean losing some functionality if you migrate.


Don't use NIC name for networking. This is a none problem.


It is clearly a problem for them. Just because you do something different doesn't invalidate their pain point


A known problem?


This is an ignorant response. It is 2026. The OS shouldn't be storing network configuration by nondeterministic device name when I ask the OS's default network management tool to join a wifi network.


Sometime around 2012, Windows XP started having issues on my parent's PC, so I installed Xubuntu on it (my preferred distro at the time). I told them that "it works like Windows", showed them how to check email, browse the web, play solitare, and shut down. Even the random HP printer + scanner they had worked great! I went back home 2 states away, and expected a call from them to "put it back to what it was", but it never happened. (The closest was Mom wondering why solitare (the gnome-games version) was different, then guided her on how to change the game type to klondike.)

If "it [Xubuntu] works like Windows" offended you, I'd like to point out that normies don't care about how operating system kernels are designed. Normies care about things like a start menu, and that the X in the corner closes programs. The interface is paramount for non-technical users.

A family friend recently called me for advice on her old decrepit laptop. I told her about my work "laptop": a Surface Pro tablet with Linux. I just sold one to her (I work in e-waste recycling), partially on the security and privacy advantages of Linux. Lets see how that works out.


My elderly parents asked me to install Linux on their laptops this Christmas after finally getting sick of the adware on Windows. If Microsoft can make them switch, anyone can.


Cool. I used to install it on all my family and friends computer when I was a teenager but as I grew older and had less and less time, being the constant tech support guy for everyone I introduced to Linux got very hard so I stopped recommended/installing it. Which distro did you choose for your parents?


After my mom's Chromebook died I switched her to Ubuntu + Firefox on a Thinkpad x201 and it's been her daily driver for years. I keep asking to buy her a newer laptop with a bigger screen (800p is pretty painful these days) but she won't let me.


I switched my mum to Unix(-like).

Her router is running Linux. I can tell because of the speed of the WLAN alone.

Her STB runs Linux, specifically Android TV (Nvidia Shield TV). Thanks for adding the fantastic ads in the newest Android TV, Google! /s

Her vacuum cleaner runs Linux, I know because I slapped Valetudo on it.

Her NAS runs Linux (DSM), Synology.

Her printer runs Linux (Brother).

Her Raspberry Pi with Home Assistant runs Linux (DietPi).

Her tablet runs macOS variant, iPadOS.

Her smartphone runs macOS variant, iOS.

Her smartwatch will run macOS variant, watchOS.

OK, fair enough. Her laptop! Her laptop still runs Win... wait a sec, she hasn't had a laptop for more than a decade. She's been using that super expensive hardware keyboard for iPad. My mum never even used Windows 10 or 11. Her laptop came with Windows Vista back in the days, it was terribly sluggish.

I don't know which year it is, but it isn't the year of the Windows OS.

And yes, I am super happy with Microsoft using thumb screws like these. Squeeze them tight. The more computers will slip through your fingers, grand moff Nadella.


> Her tablet runs macOS variant, iPadOS.

> Her smartphone runs macOS variant, iOS.

> Her smartwatch will run macOS variant, watchOS.

None of these platforms run a variant of macOS, rather a variant of Darwin.


I have no particular insight into whether the wikipedia article is correct, but it says "iOS is based on macOS."

https://en.wikipedia.org/wiki/IOS


Does anyone else think this method of discourse incredibly rude? This poster posted a quasi researched comment that looks surface credible. A HN user took the time to respond to each point - only for the response to the response to be “whoops sorry, wasted your time!”

Feels like a breach of social contract. I used to see help requests that were well written as a signal of effort - as in “I’ll put in the effort to help since they did”


I also asked claude to roast it for fun. this one made me lol:

> The use case is Chef's Kiss levels of overengineering. They want to avoid Git commits... so they built a custom S3 server... that runs in a container... that gets rebuilt on every NixOS rebuild... to serve static files... to FluxCD. At some point, just make the damn Git commits.


The nix file is besides the point - it gives you a totally hermetic build environment. Not OP, but it’s the only way I know how to get gcc to use a static glibc. All you should pay attention to is that it’s using a static glibc.

$out is a magic variable in nix that means the output of the derivation - the directory that nix moves to its final destination


> Not OP, but it’s the only way I know how to get gcc to use a static glibc.

    /tmp$ gcc -O3 test.c -o test
    /tmp$ ldd test
     linux-vdso.so.1 (0x00007f3d9fbfe000)
     libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3d9f9e8000)
     /lib64/ld-linux-x86-64.so.2 (0x00007f3d9fc00000)
    /tmp$ gcc -static -O3 test.c -o test
    /tmp$ ldd test
     not a dynamic executable


>> Not OP, but it’s the only way I know how to get gcc to use a static glibc.

> /tmp$ gcc -static -O3 test.c -o test /tmp$ ldd test not a dynamic executable

yes, that last line above means it's a statically linked executable.

yes, i had a doubt about what the GP said, about their nix way being the only way to create a statically linked executable.

but I didn't remember all the details, because it's been a while since I worked with C in depth (moved to Java, Ruby, Python, etc.)(though I did a lot of that earlier, even in pre-Linux years), so I didn't say anything else. thanks, Josh Triplett for clarifying.

but one thing I do remember, is that static linking was the only option in the beginning, at least on Unix, and dynamic linking came only some time later.

when I started working on UNIX and C, there was no dynamic linking at all, IIRC.

https://en.m.wikipedia.org/wiki/Static_library

("dynamic linking" topic in above page links to the below page in Wikipedia: )

https://en.m.wikipedia.org/wiki/Dynamic_linker


I thought glibc had some hacks in it to prevent it from working fully when statically linked? Is this just a myth or outdated or only affects C/C++ or what?


The issue is that some features of glibc want to dlopen additional libraries, most notably NSS. If you call `gethostbyname`, even a static glibc will try to dlopen NSS libraries based on /etc/nsswitch.conf, and if the dynamic NSS libraries are incompatible with your statically linked glibc, you'll have problems.

musl, by contrast, doesn't support NSS at all, only /etc/hosts and DNS servers listed in /etc/resolv.conf, so whether you statically or dynamically link musl, you just won't have any support for (for instance) mDNS, or dynamic users, or local containers, or various other bits of name resolution users may expect to Just Work.


thanks.


They’ve now removed your second example from the testing set - I bet they won’t regenerate their benchmarks without this test.

Good sleuthing, seems someone from OpenAI read your comment and found it embarrassing as well!


For future reference, permalink to the original commit with the RADICAL BUG comment: https://github.com/openai/SWELancer-Benchmark/blob/a8fa46d2b...

The new version (as of now) still has a comment making it obvious that there's an intentionally introduced bug, but it's not as on the nose: https://github.com/openai/SWELancer-Benchmark/blob/2a77e3572...


It was just two examples of widespread problems with the introduced bugs and the tests.

How about this - https://github.com/openai/SWELancer-Benchmark/blob/08b5d3dff... (Intentionally use raw character count instead of HTML-converted length)

Or this one - https://github.com/openai/SWELancer-Benchmark/blob/08b5d3dff... (user is complaining of flickering, so the reintroduced bug adds flickering code :) )

Or the one that they list in A.10 of the paper as O1 successfuly fixing - https://github.com/openai/SWELancer-Benchmark/blob/main/issu...

O1 doesnt actually seem to fix anything (besides arbitrary dumping all over the code), the reintroduced bug is messing with the state, not with the back button navigation.

Anyways, I went thru a sample of 20-30 last night and gave up. Noone needs to take my words - force pushing aside, anyone can pull the repo and check for themselves.

Most of the 'bugs' are trivialized to a massive degree, which a) makes them very easy to solve for b) doesnt reflect their previous monetary value, which in effect makes the whole premise of 'let measure how SWE agents can provide real money value' invalid.

If they wanted to create a real one, they should've found the commits reflecting the state of the app as of the moment of the bug and setup up the benchmarks around that.


So it's much worse than I assumed from paper and repo overview?

For further clarification: 1. See the issue example #14268 https://github.com/openai/SWELancer-Benchmark/tree/08b5d3dff.... It has a patch that is supposed to "reintroduce" the bug into the codebase (note the comments):

  +    // Intentionally use raw character count instead of HTML-converted length
  +    const validateCommentLength = (text: string) => {
  +        // This will only check raw character count, not HTML-converted length
  +        return text.length <= CONST.MAX_COMMENT_LENGTH;
  +    };
Also, the patch is supposedly applied over commit da2e6688c3f16e8db76d2bcf4b098be5990e8968 - much later than original fix, but also a year ago, not sure why, might be something to do with cut off dates.

2. Proceed to https://github.com/Expensify/App/issues/14268 to see the actual original issue thread.

3. Here is the actual merged solution at the time: https://github.com/Expensify/App/pull/15501/files#diff-63222... - as you can see the diff is quite different... Not only that, but the point to which the "bug" was reapplied is so far to the future that repo migrated to typescript even.

---

And they still had to add a whole another level of bullshit with "management" tasks on top of that, guess why =)

Prior "bench" analysis for reference: https://arxiv.org/html/2410.06992v1

(edit: code formatting)


Oh my this is awful - could you post a source?


I’ve recently spent time truly learning git, and I’m realizing how much better it is to take care of your commits in a PR even if you squash to main.

My reviewers love when I write “review commit by commit” in the PR description. Then each individual commit has its own reasoning, and you can mentally switch into reviewing if that commit does it’s one thing it’s supposed to do correctly. I will accept the argument that each commit should be its own PR though :)


This is so puzzling to me. It’s like people[1] get so stuck in the GitHub PR framework/mindset that they then, after realizing that GitHub PRs suck for reviewing individual commits, discard commits as the reviewable unit and then shoehorn one-commit-per-PR as a replacement.

The PR is just the best GitHub had to offer. There are other approaches to code review.

[1] Here we are generalizing.


I treat PRs like the email workflow. You send a diff my way for a particular changes, I either accept it or reject it. Or I suggest modifications. Recursively. It’s the whole patch I’m interested in, not the implementation history (I’m not your tutor). Once approved, I make a commit in main for this diff.


The classic email workflow is either one patch or a patch series. Where each patch becomes a commit. And each patch can be reviewed in isolation (like a commit).

It is not anemic like the squash workflow.


There’s nothing stopping anyone from creating a PR series. My reasoning for the squash workflow is described here[0]. I just equate a PR to a patch. And it becomes a commit in the main branch. I don’t really care about the commits in the PR, just like no one cares about the commits that produced the patch in the email workflow.

[0]: https://news.ycombinator.com/item?id=41839282


> I don’t really care about the commits in the PR, just like no one cares about the commits that produced the patch in the email workflow.

They do care. They go through the trouble of reviewing it so that the resulting commit[1] that lands in the upstream repository is good.

[1] Presumably you don’t mean “they don’t care about the commit that produced the patch”… since the patch is just a transport format for the commit.


> Presumably you don’t mean “they don’t care about the commit that produced the patch”… since the patch is just a transport format for the commit.

Commits. Not everyone will care to clean up their local history just to produce a single patch. You can git diff it out.

EDIT:

I was using "patch" for diff so scratch the above comment. Even then, when using a forge, I'd rather use squash unless everyone clean up their commit history when producing a PR.


This must mean that you don’t use PRs like the email workflow since nothing of what you’ve described looks like any email workflow that I’ve seen.


Exactly! Stacked diffs/changes are the way, with one commit per PR. https://www.stacking.dev/


What’s the source of this? Where can I read more?



I was under the impression that you were referring to a specific event that happened over the weekend, not a general vibe you were feeling


Ha, I think this site is styled by a single-sheet CSS called Tufte.css


I don't think it is. In Tufte CSS, sidenotes are implemented using float: right [1], while here CSS Grid is used instead.

[1]: https://github.com/edwardtufte/tufte-css/blob/957e9c6dc3646a...


Oh wow. I went though some of the perl book you linked and I was noticing the examples were really familiar; I then realized you were the same guy who wrote the awk book I have been going though.

Your work is excellent! Thank you, I’ll buy a copy soon.


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

Search: