HNHacker News
TopNewBestAskShowJobs

johnklos

5,702 karma · joined June 9, 2017

submissionscomments
johnklos··on Wordpress.org Login: "I am not affiliated with WP Engine in any way"
The title literally made me laugh out loud. What drama! What intrigue! Can't wait to see what happens next.

Honestly, I have no horse in the race, so to speak. I think the people responsible for Wordpress code still suck because they still, in 2024, want the software itself to be able to write to where the software itself lives and runs, which is just bananas. It violates the first two rules of anything and everything on the web that I learned in the '90s:

* do not allow writing to anywhere that's executable

* do not allow execution anywhere that's writable

johnklos··on Ask HN: Why Isn't Elixir More Popular?
Got me. Running Akkoma on Elixir is a piece of cake, relatively speaking. Trying to run Mastodon on Ruby by simply using the latest version of the required Ruby components hasn't worked for me, ever.

The idea that we'd need to keep a snapshot of modules from a specific date in order to run certain software is ridiculous, and the idea of running it in a container like Docker is just giving in to bad practices. Too often it means things are too fragile to update when there are security issues.

I haven't seen this happen with Elixir. What do they do better / differently from Ruby that updating doesn't cause the house of cards to come crashing down?

johnklos··on Could we build a computer designed to last at least fifty years? (2021)
The oldest computer that I run regularly is an Amiga 3000. It's now 33 years old, yet the system has everything it needs to run lots of excellent and modern software: 16 megs of memory, a SCSI bus that can take drives of any size, decent resolution graphics that can be used on many modern monitors and TVs, a processor with an MMU, and a good keyboard and mouse.

Add an ethernet card and perhaps a Zorro III RAM card, and it's usable even on the modern Internet: modern TLS works, and for sites that are too complex for AmigaDOS browsers, there are public proxies that can help.

While I wouldn't suggest anyone tries to get serious work done on the modern Internet using an original, unaccelerated Amiga 3000, it makes an excellent example of how things really haven't changed aside from speed and size since we moved to 32 bit CPUs with MMUs.

Something like this could easily be used for non-Internet heavy tasks for fifty years. We just need to be aware of the things that typically fail, such as bearings and capacitors.

johnklos··on The costs of the i386 to x86-64 upgrade
So is the only difference between "x32" (sic) and 32 bit x86 with PAE the fact that "x32" can use full 64 bit registers?
johnklos··on Router Security
It really is difficult to take this seriously when they suggest disabling IPv6. There are already quite a good number of ISPs that use CGNAT for IPv4, which often means that connections die or are intentionally killed in short amounts of time, which can be a huge PITA for certain uses (interactive shells, large downloads, et cetera).

Take Starlink for instance. When on IPv4, you really feel like you're on a janky network that's being rebooted every hour or two. After Starlink enabled IPv6, all sorts of things no longer required babysitting and restarting. The quality difference between IPv4 via CGNAT and native IPv6 is huge and noticeable, even for people who have no idea what's going on behind the scenes.

Perhaps regular people can naively suggest turning off IPv6 because they don't know any better and they believe the FUD they've heard and read about, but if you're putting up a web site claiming to have good advice and you put more weight on FUD over real world experience and solid reasoning, then I'd be suspicious about everything they've written.

johnklos··on Civilization VII recommends 16 cores and 32GB RAM for 4K gameplay
It really isn't tough to come up with scenarios where the game can schedule off lots of independent threads to work on various things, then collect the data when ready.

But 16 cores? Not just 16 threads, but cores, where the total number of possible simultaneous threads is 32? Or is this them hedging for the total number of cores where cores could also be Intel e cores?

Either way, I'll be interested to see CPU utilization when people test out the game :)

johnklos··on NixOS is a good server OS, except when it isn't
Taking the time to delve in to things like this can teach you more about the OS you run than many other things can. It's not too unlike making a crunchgen OS, or even just a read-only OS with overlays. It's sometimes quite enlightening to see what will work with much less than we assumed it needs.

Having just installed the entirety of NetBSD on an i386 system (a 200 MHz Pentium), I see it weighs in at around 1 gig. But that's everything including X11 with WM and the toolchain (gcc 10). That's not bad, but it's really amazing how much of that isn't necessary for running the OS on a server. Particularly where you might want tiny VM images

johnklos··on End the line: The last Sun SPARC workstation [video]
Yeah - my AlphaServer DS25, which is five years older and has dual 1 GHz Alpha CPUs, can keep up quite well in many regards with a dual 1.5 GHz Sun Fire V245 (which is very similar to the Sun machine here).
johnklos··on End the line: The last Sun SPARC workstation [video]
I wonder how well NetBSD would run on it. There're quite a lot of current packages for it:

https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/sparc64/10...

johnklos··on Autossh – automatically restart SSH sessions and tunnels
You summarized things well. #2 is the primary reason that ssh in a loop doesn't work as well or as reliably as autossh (the program discussed here; it's just coincidental that my own automatic ssh script is also called autossh).
johnklos··on Autossh – automatically restart SSH sessions and tunnels
Today I learned that some people make mistakes, but I already knew that ;) ServerAliveInterval doesn't do this properly and consistently.

I've used my own autossh type script for two decades now. It's mostly used to give access to machines behind shitty NAT, and/or that have addresses that constantly change, and/or for systems on CGNAT, like Starlink.

If ServerAliveInterval works so well and negates the need for something like autossh to exist, then why have sessions created by my script, which has ServerAliveInterval (and ServerAliveIntevalMaxCount) gotten hung up where the script needs to kill the old and create a new ssh connection now and then? My script logs each timeout, each session hang, and each new connection, and depending on the network, it can happen often.

Please read the bit where it's explained how autossh sends test data back and forth. Do you think you just magically and cleverly discovered ServerAliveIntevalMaxCount and that the autossh people have no idea that it exists?

Or perhaps they know it exists, they know it's not perfect, and they used another mechanism to make up for the shortcomings of what ssh offers out of the box?

johnklos··on Autossh – automatically restart SSH sessions and tunnels
No, it actually doesn't, or at least not properly. It's not hard to get ssh sessions that are wedged.
johnklos··on Plan to Halt the Internet's Enshittification and Throw It into Reverse
Educating regular people and getting them to care is really, really hard. I can't tell you how often I hear the silly trope, "I have nothing to hide, so who cares if company X tracks everything I do?" Until companies do something to tangibly - not just abstractly - hurt people, they really don't care at all if they're the frog in the pot of water over heat, even when you tell them they're the frog in the pot of water over heat and that things are just going to get worse.

I agree that interoperability should be forced on everyone and that it shouldn't be criminal. The only reasonable way to get apathetic people off of Facebook, for instance, or at least less hooked on and less affected by Facebook, is to give them access to Facebook from elsewhere, via means that don't allow Facebook to track every action those users take.

One good example I like to give people is search: Google used to be good, but nowadays they suck, plus even if you want to use them, every search gets tied to every page you visit, every thing you do that they can track. Setting up SearXNG lets people use Google for search, plus use other search engines, without Google getting to tie those searches to you, without Google manipulating what you see based on how they think they can extract money.

We need more of that - much more of it - for Facebook, for Amazon, and so on.

johnklos··on Autossh – automatically restart SSH sessions and tunnels
This is no better than ssh in a loop, which is trivially done by a shell script - no systemd needed.

However, when you have shitty NAT routers (SonicWall, any AT&T fiber device, for instance), the connections will be timed out or will die and there'll be long periods where you're waiting for the next iteration of the loop, and/or sometimes it'll get stuck and never try again.

autossh deals with this by actually passing traffic and taking action if traffic doesn't move.

johnklos··on Bob Metcalfe on why neural network hardware was not created 50 years ago
https://nitter.poast.org/RobertMMetcalfe/status/183970360110...
johnklos··on Lesser known tricks, quirks and features of C
Not sure what happened:

404

File not found

The site configured at this address does not contain the requested file.

johnklos··on Attacking UNIX Systems via CUPS
Anyone going to a coffee shoppe and using a public wifi is exposing CUPS and can be exploited. Simple minded dismissal doesn't help anyone.
johnklos··on Overview of cross-architecture portability problems
Who said anything about asserting that your code is actually portable?

There are two extremes here, and not being one doesn't mean the other:

1) Writing code with bad coding practices where alignment, endianness, word size, platform assumptions, et cetera, are all baked in unapologetically, saying that doing anything else would incur financial cost

2) Writing code that's as portable as possible, setting up CI and testing on multiple platforms and architectures, and asserting that said code is actually portable

One can simply write code that's as portable as possible and let others test and/or say when there's an issue. That's quite common.

As someone who compiles software on architectures that a good number of people don't even know exist, I think it's absolutely ridiculous to suggest that portability awareness without multi-platform and multi-architecture CI and testing isn't worthwhile.

johnklos··on X11-Basic (1991-2020)
I had no idea that we could install third party software on TomTom car navigation systems until just now.
johnklos··on Overview of cross-architecture portability problems
> windows

Everything you write makes sense in the context of Windows, but only for Windows. That's certainly not true for open source non-Windows specific software.

johnklos··on A terrible way to jump into colocating your own stuff
I'm writing a how-to for colocating for people who're closer to newbies. In this case, Rachel's article did suggest it's not for newbies.
johnklos··on A terrible way to jump into colocating your own stuff
That's just nonsense and is not based on fact at all.
johnklos··on A terrible way to jump into colocating your own stuff
I'm writing up a how-to about colocating using one of those Pi colocation offers. Glad to see colocation get some more attention!
johnklos··on Inside a Ferroelectric RAM Chip
I've always wondered if the ROMs on my VAXstation 4000/90a are ferroelectric. The DEC manuals refer to it as flash ROM, but I've also heard / read it referred to as FRAM, although I couldn't say I remember where or when.

But 512KB of FRAM at $3 per megabit would make that pricier than the machine! So I wonder what it has in it instead.

Interesting! Thanks :)

johnklos··on Overview of cross-architecture portability problems
One of the larger problems is purely social. Some people unnecessarily resist the idea that code can run on something other than x86 (and perhaps now Arm).

Interestingly, some apologists say that maintaining portability in code is a hinderance that costs time and money, as though the profit of a company or the productivity of a programmer will be dramatically affected if they need to program without making assumptions about the underlying architecture. In reality, writing without those assumptions usually makes code better, with fewer edge cases.

It'd be nice if people wouldn't go out of their way to fight against portability, but some people do :(

johnklos··on Use Vi(1) Editor
It's an excellent writeup (as usual from Vermaden), and I plan to share this with several people who're currently learning Unix.

I particularly like the "why learn anything at all?" bit. People will learn all sorts of esoteric oddities and edge cases about Windows, but then will claim no aptitude to learn something like vi, and this is a good article to provide to those people :)

It's also a good refresher to those of us who've use vi{,m} for ages, but are still collecting shortcuts we've forgotten or haven't yet learned.

johnklos··on Cloudflare's new marketplace lets websites charge AI bots for scraping
> don't blame the player, blame the game

You make it sound like this is OK. "It's not their fault that a protection racket didn't already exist. They just filled the market's need for one."

johnklos··on Cloudflare's new marketplace lets websites charge AI bots for scraping
So Cloudflare now wants to collect money to not block people. Is that about the gist of it?
johnklos··on Flow Computing aims to boost CPUs with ‘parallel processing units’
This is a duplicate of https://news.ycombinator.com/item?id=40650662, and this article has nothing new in it.
johnklos··on Flow Computing aims to boost CPUs with ‘parallel processing units’
Tell us something new, please.
← PreviousPage 10 of 34Next →