HNHacker News
TopNewBestAskShowJobs

rmunn

2,096 karma · joined August 30, 2024

submissionscomments
rmunn··on Punk, or why I don't stream anymore
From the article: "... there is no other Internet, just a place with five corporate towns and some Chinese ones that are really hard to visit if you don’t speak Chinese."

Yeah, that's only true if you don't hang out in the old-style Internet. I spend most of my time on blogs, reading and replying to discussions on wide-ranging topics, talking to interesting people who know a lot more than I do about many subjects (in fact, most subjects that aren't computer programming) The discussion isn't on Disqus, it's not monetized, it's just... people talking to each other. And it's an active, fun community.

They're out there. Just... choose to disengage with the boring communities. I haven't had a Facebook account in years; I only got one because at the time there was a social group I belonged to that was using Facebook as their primary communication tool, and when I moved to another city I deleted my Facebook account. I never signed up for Twitter. Didn't want an account when it started, didn't want one five years ago, don't want one now.

It's possible to disengage from the artificial, and find real communication with real people. The first step is to just... stop logging onto Facebook. Just walk away.

rmunn··on Buried Apple feature turns an iPhone into the perfect kids' dumb phone
> Honestly, what's the difference between a wheelchair and prescription glasses?

Taking the silly question seriously for a moment: the difference is that with prescription glasses, you can function just exactly like someone who doesn't need them. Once you are wearing the glasses, your ability to do pretty much anything is unimpaired. Whereas a wheelchair restores some mobility, but does not, for example, impart the ability to climb stairs. It does not give you back all the mobility of someone who doesn't need one.

rmunn··on Buried Apple feature turns an iPhone into the perfect kids' dumb phone
Where does that 15% number come from? Because I would have to assume it is using a very broad definition of disabled, which would include invisible disabilities. Certainly it's not true that 15% of the people I see are in a wheelchair, on crutches, missing a limb, obviously blind (e.g. walking with a cane), and so on. Even allowing for the fact that many people with disabilities stay home (often by necessity, sometimes by choice) rather than go out to run errands, still I doubt the number would get anywhere close to 15% if the definition only included the kinds of disabilities that are immediately obvious to anyone looking.
rmunn··on Study: "Mommy, do you love your phone more than me?"
That's not what the comment you were replying to (I'm going to avoid using terms like "parent comment" in this particular discussion as they could easily be ambiguous, heh) was saying. You may have missed the part about how "they thought about it a lot before going ahead" (emphasis mine), and also the part about "even if they know the sacrifices they [the parents] will have to make".

Personally, I know (online rather than in person) at least one couple who thought about it a lot, and ended up deciding not to have kids, because they were both carriers of a recessive gene (I forget which) that could have been nasty to whatever kid ended up with both copies. Which is kind of the opposite of "completely ignor[ing] if their kids even have a chance of a good future", IMHO. Other parents thought about it and decided to have only a certain number of kids and no more, because that was how many kids they could afford to raise and launch into a path that potentially leads to a good future.

Now, are there people who have kids for selfish reasons? Yes. I can think of some examples. But the people who think about it a lot and end up deciding to have kids? They're usually (not always, of course, but usually) some of the best parents around, precisely because they've thought about the sacrifices they would have to make and decided they're willing to make them for the sake of their kids' future happiness.

rmunn··on Parental device use and the adolescent-caregiver attachment bond
This (experiments only designed to confirm a hypothesis and not trying to falsify it) is also part of the reason why so many studies can't be reproduced later, the "reproducibility crisis". One of my relatives, a medical doctor who just recently retired, has often lamented the incentive structure that results in negative results not getting published. (She has also said that she wants to see about seven studies pointing in the same direction before she starts to take it seriously).
rmunn··on Parental device use and the adolescent-caregiver attachment bond
> ... by reading the textbook* on it [ADHD], it kinda seems I do ...

There's a reason why most of the books I've read on ADHD have mentioned "Don't self-diagnose; get an expert to diagnose you." Short version: many of the symptoms of ADHD such as distractability happen to everyone, or nearly everyone, to some extent. Everyone can be distracted by a random thought; most people shake it off and get their train of thought back on track. Some people are more distractable than others, but it's perfectly normal to be distracted now and then. Which is why most people reading an ADHD book will recognize some of their behaviors in that book.

My opinion? (And note that I'm not qualified to diagnose anyone, so this is strictly an opinion). If you read the ADHD book and go "Hmm, maybe that describes me, I'm not sure"... then chances are that you do not have ADHD. Because my own experience was reading an ADHD book and going, "Whoa, whoa, whoa. Wait. I know for a fact this author never interviewed me. So how come he's describing me perfectly?" Not in every single chapter — I don't have emotional-regulation problems to nearly the level that he described in some of the case studies, for example. But when I got to the bits about starting projects and not finishing them, or the parts about getting (seemingly-paradoxically) hyperfocused on some task and not noticing when other people are talking to you, I just shook my head and laughed, because he was describing me to a T.

Now, even if you don't have ADHD, that doesn't mean some of the organizational techniques mentioned there won't be helpful to you. Go ahead and apply them: many of them do help even the people who fit more into the "normal" part of the distractability spectrum. But certainly do NOT try any medication without having gotten a diagnosis first. Some ADHD medications can have side effects that should be watched for, and most of them are controlled substances in most countries I'm aware of (due to the possibility of addiction if you take way more than the amount normally prescribed, for example), meaning that in most countries, it's illegal to take them without a prescription.

But go ahead and apply some of the suggestions about ways to organize your life: they can be helpful even if you only have a normal level of distractability.

rmunn··on A road to Lisp: Why Lisp
https://github.com/CodyReichert/awesome-cl lists some concurrency packages, such as https://github.com/sionescu/bordeaux-threads and https://github.com/sharplispers/lparallel, as being "so widespread and solid that they became community standards. You can't be wrong with them." I don't know enough to know whether or not they're right about those being widespread, but if that list is wrong then I'm sure someone will chime in to say so.

So while the official standard may not have concurrency, that does not mean that there isn't a de facto community standard way to do it.

rmunn··on A road to Lisp: Why Lisp
Since my job involves a lot of Unicode stuff, I personally would have been confused if it had been called the CLDR, thinking that it was referring the Common Locale Data Repository. (I have to look something up in the CLDR about once a month on average).

And since the Common Lisp Document Repository appears to have been created in 2006 (the first document at https://cdr.common-lisp.dev/index_files/final.html is a description of the rationale for its existence, dated August 2006) while the Common Locale Data Repository was created in 2003, the Common Locale Data Repository had the CLDR acronym first. So kudos to the Common Lisp Document Repository folks for not overloading the acronym but finding an alternative.

rmunn··on A road to Lisp: Why Lisp
https://www.quicklisp.org/beta/UNOFFICIAL/docs/cffi/doc/Tuto... has some pointers (which might be harder to understand unless you have read the rest of https://www.quicklisp.org/beta/UNOFFICIAL/docs/cffi/doc/Tuto... first). The short version (which I might be mangling in my attempt to shorten it) is, since Lisp is so very good at creating code, you have your Lisp program create a C function that will be passed as the callback to the API. Then the C function that you created will convert the C data structures to Lisp data structures, and call the Lisp function with those Lisp data structures.

If you're really good at Lisp, you can write that automatic-callback-creation function yourself. But if you're really, really good at Lisp, you will just use one of the ones that other people have already written, e.g. `define-alien-callable` from https://www.sbcl.org/manual/#Calling-Lisp-From-C or some other similar FFI.

rmunn··on Two nasty surprises in Home Assistant's config
I've seen issues ignored for a lot longer than 3 months because maintainers didn't have time, then when they did have time they addressed the issue. Heck, Svelte recently did a PR fixing a bug report from about 4 years back. I'll see if I can dig it up. 3 months is not enough time, in my experience, to decide that the maintainers of an open-source project aren't interested in fixing an issue.

EDIT: I'm not finding the issue that I'm thinking of very quickly. But it was a bug report from 2022 which they looked at at the time, said "yeah, this is an issue we'd like to fix but we don't have a good fix right now", and then the issue was silent. Later on, Svelte went through a major internal rewrite between Svelte 4 and Svelte 5. With Svelte 5's new internals, they were able to fix that 2022 issue. I noticed it because I had just recently read the Svelte changelog, idly clicked on some of the PRs, and noticed an issue with a very low number that was marked as fixed. But I'm not finding it now.

rmunn··on Two nasty surprises in Home Assistant's config
The GitHub issue was "closed as not planned" due to stalebot auto-closing it, not because the maintainers actually said "we don't plan to do it".

IMHO stalebots are an anti-feature in an issue tracker, and do more harm than good, but that's a different discussion.

rmunn··on OpenPrinter
I also had an Epson ink-tank printer (I don't think it was an Ecotank model name, but similar idea) for several years, battled print head clogs all the time. Found that Windex worked pretty well for dissolving the clogs. (The dad from My Big Fat Greek Wedding was right about something!) But what eventually got me to switch was that the maintenance cartridge — the big sponge under the printer that soaks up the ink pushed through the heads during a head-cleaning operation — was getting full, and it's not a user-serviceable component in Epson printers! They wanted me to ship it off to their service center, and pay who knows how much to swap out the maintenance cartridge. Nope, not gonna do that.

Ditched Epson for Canon. I've had my Canon ink-tank printer for a couple years now. Had ONE serious clog that required multiple flushes to clear the clog, but mostly it's been clog-free. But the best part is that I can just order a new maintenance cartridge from Canon for about $12 + shipping. So when it fills up (probably in another couple years) I can just swap it out myself and keep on printing.

Won't ever buy another Epson printer again. Canon has been great so far.

rmunn··on Zig: All Package Management Functionality Moved from Compiler to Build System
Which part of Zig development (I'm not asking about Go or Python right now) do you consider to be radiator fluid in the fuel tank, in this analogy of yours?
rmunn··on What ORMs have taught me: just learn SQL (2014)
Autocomplete is making me lazy. If I don't see what I'm about to type within two or three characters, I feel like the IDE isn't doing its job of helping me. So being able to type `db.Cust` and autocomplete Customers is really nice. I do know SQL, but yes, the language servers usually have a harder time connecting the SQL to my backend code, whatever language it's in, without quite a lot of config fiddling that pretty much obviates any time savings I would have gained from autocomplete.
rmunn··on Why Switzerland has 25 gbit internet and America doesn't
That's the most important thing, really. The geography — that America extends the width of a continent — is secondary. BUT the geography is, in part, what allows all those single houses on large plots of land. Because American suburbs can sprawl out without meaningfully cutting into the amount of available farmland in the country, which isn't the case in most smaller countries (where suburban sprawl, at least to the same proportional extent that it happens in the US, would have a meaningful impact on available farmland). Hence why America's average population density, total population divided by total country area, is so much lower than other countries. We have megacities where the population is highly concentrated — New York City's population density is over 11,000 people per square kilometer, comparable to Geneva's 12,000 people/km². But America's overall population density is one of the lowest in the world. (Not the lowest: both Canada's and Australia's are lower, for example, in both cases due to having so much land that nearly nobody lives on, either tundra or desert).

But those suburbs that sprawl all over the place? That's a WHOLE lot of capital investment, far more than other countries (on average) to hook each home up because you have to lay down so much more fiber. Hence why fiber rollout has been relatively slow: I remember in 2006 reading about fiber going in in certain cities, and looking up whether it was available in the suburb where I live, and the computer lookup system giving a very polite "LOL, no, not for years" (not that they said "not for years" but I could read between the lines). But now it's available. Not anywhere close to 25 Gbps, though.

rmunn··on Costco is the anti-Amazon
Yes, but by that time you're driving the truck around neighborhood streets, getting up to 25 mph at most before you stop at the next stop sign. Not nearly as much force being applied as making turns at 55 mph. During the long drive from the warehouse to that city (and the specific neighborhood), the boxes are packed in tightly.

Plus, I seem to recall that they also optimize by giving the driver a route to follow and planning the boxes to be packed in order, so that only one row is being emptied at a time. I know my UPS driver friend has told me UPS does this, and it's an obvious optimization so I'm sure Amazon does it too.

rmunn··on Costco is the anti-Amazon
I had heard the same thing from (if I'm remembering correctly about who told me) someone who has driven a UPS delivery van for 30+ years, so he has loads of experience with truck-packing. If he thinks it's true, I'm willing to believe him.

And if I'm wrong about my source, the other person who I could possibly have heard it from is my friend who works at Amazon. As a sysadmin managing a small part of AWS, not in delivery — but he would also be in a position to know.

Either way, I believe that's correct, that the oversized boxes are that size because they were being used as filler in the truck. The algorithm calculates the planned truck packing based on what items are going to be transported together (going to the same city therefore in the same truck), then picks out the box size that each item should go into. And most of them will be correctly sized, but in each row either zero or one (or possibly more in some cases) will be oversized.

rmunn··on Costco is the anti-Amazon
I have been told, by (if I'm remembering my source right) someone who has worked as a UPS driver for 30+ years, that Amazon does that on purpose. Because the variable they're optimizing for is not "are we wasting cardboard". Cardboard is a renewable resource, which also recycles really well, so a little wasted cardboard is not a big deal. What they're optimizing for is packing the truck. Your item arrived in a too-big box, because that box (and the air within it) was calculated to fit exactly into what would otherwise have been empty space in the truck if the box had been smaller. In other words, you know how sometimes inside a carboard box, you'll find the item you ordered plus another smaller (and empty) cardboard box used for filler space? That's exactly what they were doing, with your box as the filler space in the truck so that other boxes wouldn't slide around and damage their contents.

... I see someone else has posted this elsewhere in the comment thread. Eh, I might as well post this anyway, because it's confirmation from a different source.

rmunn··on Why Switzerland has 25 gbit internet and America doesn't
You're right, I was misremembering "it takes all day to drive across Texas from east to west" (or west to east) as 24 hours, when in fact it's about 12 hours: on Interstate 10 (going from the southeastern corner of Texas to the westernmost point) it takes about 12.5 hours according to Google Maps, and on Interstate 20 (which enters Texas in the northeast and heads to the westernmost point, joining up with I-10 along the way) it takes about 11.5 hours. So it's "all day" in the sense of taking from sunrise to sundown (more or less), rather than 24 hours.

(And if you drive across Texas's "panhandle", the squarish part in the north, from east to west, then it's only 2.5 hours. But most people are referring to the longest possible drive, not the shortest possible drive, when they say "it takes X hours to drive across (place).")

Anyway, thanks for the correction. I'll try to remember next time that it's "from sunrise to sunset" rather than 24 hours. As the (rather silly) poem goes,

"The sun has riz, the sun has set. And we still is, in Texas yet."

rmunn··on The Free Market Lie: Why Switzerland Has 25 Gbit Internet and America Doesn't
Starlink's best value proposition is competing with other satellite services, or DSL over copper wire, in remote areas where those are the only feasible choices. Which describes much of rural America, as well as many other locations... but not most of Switzerland.
rmunn··on Why Switzerland has 25 gbit internet and America doesn't
It appears the author lives in Germany. In my experience, Europeans who haven't visited the US (I don't know if he has or not) often have a hard time grasping just how HUGE the country is. It literally spans an entire continent east to west. In Europe, you can usually drive to another country's border, or the coast, within 4-6 hours (sometimes more depending on where you are). In parts of America, you can drive for 24 hours in the same direction without even crossing into a different state. I heard about one German auto engineer who was visiting Los Angeles. He looked at a map and thought it would be a fun drive to go to Portland and back on a Saturday. He was shocked when his American colleagues told him to look at the map's scale more closely, and that it would be more than 24 hours of driving just to get there and come back.

So yes. Regulations certainly play a part, but so does geography.

rmunn··on Immich 3.0
Here's some data. Well, technically anecdata, I suppose.

My phone has been powered on but inactive all night; I charged it to 80% before going to bed, then unplugged it and left it where I can reach it from my bed, as is my habit. (I'm in an Asian timezone, in case you hadn't guessed, so it's morning for me while it's evening in America right now). Its battery is now at 73%. The Android battery report says 6% battery usage from Kindle (makes sense, I started reading a book when I woke up), 0.7% from Signal (haven't sent any messages yet today but have received a few), and 0.3% from Tailscale.

So when you're not using the Tailscale network actively, you'll hardly notice the battery drain.

rmunn··on Physical disc production ending in Jan 2028 for new games on PlayStation
Reading through Steam's list of what's allowed or not, it all seems very reasonable:

* Up to 6 people can share games in a family account

* Each account can join as an adult or a child

* No age verification done, the person who created the account simply marks each invitation as "join as an adult" or "join as a child"

* Adult members have parental controls over child members and can control which games they have access to

* Child members must get purchases approved by an adult member

* No requirement for any particular family structure, like limiting it to two adults. Six roommates sharing a large house can form a Steam family if they want.

The only thing that is even slightly restrictive is the one-year cooldown on joining a new Steam family group if you leave the old one, and even that is pretty reasonable. (Without that, people would abuse the system by saying "Hey, join my family group real quick and I'll share my copy of Portal 2 with you, then leave the group when you're done). Plus, if you're rejoining the family group you just left then there's no cooldown, so "Oops, I clicked the Leave button by mistake" doesn't penalize you.

rmunn··on For first time, a cell built from scratch grows and divides
The weighting-by-upvotes is why there was a short period when Google's AI search results (I'm not 100% clear on whether that was Gemini, or a different model) would tell you to use white glue to keep the cheese from falling off your pizza. Because that was shortly after they had bought Reddit's data set, and they hadn't yet gone in and filtered out "upvoted because it's useful info" from "upvoted because it's hilarious". And the Reddit post recommending white glue to keep the cheese from falling off your pizza had gotten thousands of "man, that's hilarious, I love it" upvotes.
rmunn··on We Are the Last People Who Know How It Works
> ... I think they need some sort of hardware package similar to an old Apple //e that gives them just enough rope to hang themselves.

Something like https://miniscript.org/MiniMicro/ perhaps? It's a virtual machine rather than real hardware, but apart from using disk image files instead of real floppy drives, the experience should be rather similar to what we* grew up on.

* Mine was a KayPro II running CP/M rather than an Apple //e, but you get the idea.

rmunn··on Looking Ahead to Postgres 19
I'm pretty sure the historical reasons I mentioned involved creating the software before the SQL standard came out, meaning they were treating NULL as meaning "nothing", instead of meaning "unknown" as the SQL standard requires. But that's as far as I care to go digging into a database system I will never use of my own free will.
rmunn··on Factorio 2.1 Experimental Release
One of the things that makes Factorio so great is how solid it is, not just in its programming but also in its game balance. (At least pre-Space Age; I can't speak to its Space Age balance from my own experience, though I'd be surprised if it was badly unbalanced).

To give just one point of evidence in support of the idea that Factorio is a well-balanced game, there is a guy who goes by "The Spiffing Brit", whose Youtube channel is all about breaking games by finding an exploit, or a bit of unbalanced interaction between two different game mechanics, and abusing that exploit or unbalanced interaction to the maximum extent possible. Armies with a million archers in Heroes of Might and Magic, that sort of thing.

When he did a video on Factorio, I wondered what exploit he had found in the game. Then I watched it. It was about how quickly you could win the game if you got 50 people to play multiplayer with you. That's it. No exploit, no broken game mechanics, just a game mechanic working as intended (yes, any job can get done faster if you can divide it between 50 people who can work on it more or less in parallel). I'm pretty sure that if there had been an exploit to be found, he would have shown it off in his video.

That doesn't prove there are NO software bugs in Factorio. But it's pretty good evidence that any remaining bugs are quite hard to run across.

rmunn··on Looking Ahead to Postgres 19
And although you didn't ask, I'll list what's wrong with Oracle. It's very simple.

Oracle treats empty strings as being NULL.

Anyone who's never used Oracle before in their life is probably wondering if I'm making it up. I'm not. In Oracle, inserting '' in a VARCHAR column is exactly the same as inserting NULL. And if there's a NOT NULL column, you're not allowed to store the empty string in there.

Which means that in Oracle, you do not have any way of distinguishing "I don't know the person's middle name" vs. "I know what the person's middle name is: he/she doesn't have one".

There are apparently historical reasons for this, but I don't care. The empty string is NOT the same as NULL, and any software that treats them as the same IS BUGGY!

Sorry. Had to get that off my chest. I know I'm answering a question you didn't ask, but that has been bothering me for nearly 25 years (I first learned about this misfeature of Oracle's in 2002 or 2003), and I just had to vent to somebody who would understand.

rmunn··on Looking Ahead to Postgres 19
Don't know of anything wrong with MariaDB, but there used to be plenty wrong with MySQL. To give the most egregious example (THANKFULLY fixed in MariaDB, but was present in MySQL for the longest time), inserting the value 128 into a TINYINT column (signed 8-bit int) would clamp the value rather than returning an error. Which might be what you want... except if that was a primary key column. Marvel at the following, which used to be how MySQL behaved:

Note: the below taken nearly verbatim from https://sql-info.de/mysql/referential-integrity.html#3_5

  CREATE DATABASE foo;
  USE foo;
  CREATE TABLE one ( id TINYINT NOT NULL PRIMARY KEY ) TYPE=InnoDB ;
  CREATE TABLE two (
    id TINYINT NOT NULL PRIMARY KEY,
    INDEX (id),
    CONSTRAINT id_fkey FOREIGN KEY (id) REFERENCES one(id)
  ) TYPE=InnoDB ;
Now that we've created both tables, let's insert a record into table one:

  INSERT INTO one VALUES (127);
And now let's insert a record with a different primary key into table two:

  INSERT INTO two VALUES (128);
MariaDB will give you an error at this point (ERROR 1264 (22003): Out of range value for column 'id' at row 1), but MySQL (at least back when I tried this about ten years ago, which was the last time I was forced to work with MySQL — and I am so glad I never have to go back!) would return no error message and just say "Query OK, 1 row affected (0.009 sec)".

Now let's select the value we inserted into table "two":

  SELECT * FROM two;
And what do we see? The value 127, even though we inserted 128. Which has created a foreign-key relationship to table "one" that we never intended to put in there.

There are other reasons why MySQL was inadequate, but I no longer remember them. Probably MariaDB has fixed them by now. But I no longer have to use MySQL/MariaDB for anything, and I never want to go back. I have a VERY strong averse reaction, caused by past pain, when I think of using MariaDB. (I actually spun up a virtual machine to test what I wrote here, because there's no way I was going to install MariaDB on my primary work machine).

rmunn··on POSIX Is Not a Shell
"M." is the French abbreviation for "monsieur", the equivalent of "Mr." in English. So "M. Chazelas" is the correct way to politely refer to Stéphane Chazelas by his last name, since he's French. (Not that writing "Mr. Chazalas" would be wrong either when writing in English, but "M. Chazelas" is entirely correct).
← PreviousPage 10 of 26Next →