HNHacker News
TopNewBestAskShowJobs

jonhohle

7,997 karma · joined August 17, 2008

submissionscomments
jonhohle··on Python's pre-declared constants are kinda weird
Until someone adds a dependency…
jonhohle··on Death to px, long live ch
Yes, except 80% of those displays align them as neat little rows and columns. Mobile is really the outlier with odd formations. Nearly everything else is physically identical to the grid conceptual model.
jonhohle··on Apple introduces M6 and M5 Ultra
I had a Rio Volt which somewhat bridged the gap. 700MB mp3 CD/RWs (about 10 hours of music per disc) and a CD player when traveling and picking up new music. Not as small as an iPod, but no book of CDs was necessary, either.
jonhohle··on One corner of China’s internet is insisting that the Tang Dynasty never existed
I was recently in Hawaii on Kauai. I wondered if I could see any of the other Hawaiian islands (besides the small local ones). Can you see Oahu from Kauai (70 miles away)? Rarely, and only if you get to a high enough elevation and even then you can only see the highest peaks. On the other hand, Maui is easily visible from Hawaii from sea level. Simple, practice, repeatable.

Likewise, flying in a plane for any distance and seeing the course is identical to if you pulled a string tight against a globe (give or take). I suppose pilots could choose to fly in an arch to keep the secret, but eventually some capitalist has got to spill the beans to cut costs, right?

Also: the southern hemisphere.

jonhohle··on Executable Is a SQLite Database
There was a recent post that probably explains the details better than I could[0].

This would most like just be the concern of the compiler and assembler. In GCCs case, my understanding is it just inlines the assembly into the output assembly stream and the assembler is none the wiser. The issue is that MetroWerks doesn’t support inline assembly at the top level (for defining new function symbols), but only inline within the context of a function. That means some additional setup and tear down that shouldn’t be present may be injected instead of the raw assembly.

There’s possibly some upseet potential and the idea that it could be done in place could avoid loading the entire thing k to memory (though the files are small for modern systems).

0 - https://news.ycombinator.com/item?id=49376769

jonhohle··on Executable Is a SQLite Database
I wrote a tool[0] for manipulating elf files to support inline assembly for a compiler that doesn’t support it (based on a similar python tool). That required knowing any of the ELF sections that were being changed and how those changes would impact other sections.

sqlite would have made this pretty trivial. Replace the .text fields of a few rows. Insert a few rows for symbols, update a few from the old object.

The best part - there’s tons of library support for sqlite. If it was a new object format, there would be no support and I’d just have to write different parsers and generators.

The schema might the the biggest issue for efficiency. As others have noted, ELF->SELF->ELF might be the best use case for compatibility. That said, a big part of [0] was performance, and I don’t know how sqlite would have done compared to my naive elf parsing and manipulation.

0 - https://github.com/ttkb-oss/metrowrap

jonhohle··on Death to px, long live ch
Pixels very much exist in hardware outside mobile. Microsoft’s clear type even exploited the specific layout of color channels in discrete hardware pixels. Mobile displays are all over the place, but most other displays use standard RGB layouts.
jonhohle··on AI companies destroy physical books – let's scan rare books before it's too late
That’s an interesting angle. There’s probably some property value (though maybe not enough based on volume) to the books they purchased. I doubt there’s any value to the “backups” of those books. I’d imagine they’re normally transferable.
jonhohle··on AI companies destroy physical books – let's scan rare books before it's too late
1 point by jonhohle 0 minutes ago | edit | delete [–]

You’re missing the point. It doesn’t require that they destroy the book, but it precludes them from giving it away. It’s their property, so they can choose to store it, but that has real, ongoing cost and may eventually leave unusable books anyway due to fire, pests, water damage, etc. if they’re not maintained properly.

jonhohle··on AI companies destroy physical books – let's scan rare books before it's too late
The average lifespan of a library book is 26 loans. For a popular book that could be less than a year.
jonhohle··on The Amazon tax
It’s not just clothes. Unless the item is a very specific name brand thing, I find Amazon nearly useless for discovery. It’s effectively Ali Express with much higher markup and much faster shipping. I suppose there’s a market for that.

Unfortunately for them, I’d rather buy cheep Chinese crap from a local retailer where there is still a human buyer in the loop choosing something that’s not the lowest bottom of the barrel junk.

When I worked there a long time ago I spoke to the search team about moving more towards a New Egg style filtering model. When I’m looking for something there’s often very specific features I want. Now they’ve decided to go in the complete opposite direction and it doesn’t matter what type, they’ll show me the items they think I want. I’ve bought more than a few wrong things due to this. Returns must not factor into whatever fees they’re making off everything else.

jonhohle··on Quake Shareware, a CD-ROM just a little too full
In each sector 2048 of the data bits are just bits, but each data sector also includes 12 bytes of sync, 4 bytes of metadata and 288 bytes of ECC that are not really controllable (if you want the disc to be readable). Then there’s the ISO 9660 on top that will impact the first few sectors. If you have a single file (say a zip/tarball/rar, image) you could limit that. Assuming you could mask the noise from the ECC at 75hz it might be possible.
jonhohle··on Quake Shareware, a CD-ROM just a little too full
Oops, I can see how that reads like only the shareware version is this way. It’s often cheaper if you’re just going for the music.
jonhohle··on Quake Shareware, a CD-ROM just a little too full
It’s worth getting the Quake shareware disc for the NIN soundtrack. Official track names are now available following the vinyl release a few years ago. This is the only CD release of the soundtrack. Just don’t forget to skip track 1.
jonhohle··on Universal health coverage could save $1T and 114k lives a year: study
Arizona
jonhohle··on Universal health coverage could save $1T and 114k lives a year: study
> ACA premiums are literally taxes, the price you pay has nothing to do with your health risks.

Then turn it into a tax and be done with it. I don't shop for my tax collector and I don't pay taxes to companies with the biggest buildings in the city. Companies that don't actually provide health care, but just collect their pound of flesh from patients and providers, driving up costs for everyone.

I'm glad your child has received care. I'm very much behind the idea that pre-existing conditions should not preclude anything from receiving _care_. I'm completely opposed to mandating a private 3ᴿᴰ party be between me and my provider.

jonhohle··on Universal health coverage could save $1T and 114k lives a year: study
Before I went indie, prior to ACA requirements I researched private insurance and found plans for around $3K. This year I’ll pay over $20K for a bronze plan for my family. 700% increase in less than a decade. Aetna left the marketplace input state and no pediatrician in a 10 mile radius takes the most cost effective ACA plan. The pediatricians we found are actually just GPs who have training in pediatric medicine, but we bring in the only minors they see. This is in a top-5 market based on population.

All of the providers have consolidated. I don’t know if ACA affected that or not, but wait times for checkups went from later this afternoon to sometime 6 months from now.

Part of my experience is going from corporate health insurance to marketplace, but in the past 5 years, ACA plans have consistently gotten worse and more expensive while service for those plans has gotten significantly worse in almost every way.

Who is it better for?

jonhohle··on Show HN: KidScreen, a finite YouTube shelf chosen by parents
For what I’ve seen at my kids school: the district leaves all of “safesearch” YouTube open for the few dozen videos teachers will use during the school year. But since they don’t control safe search filters sometimes those videos get blocked meanwhile porn, grooming, gaming, and all kinds of other things get through.

I’ve always thought this should be a whitelist tied to students enrolled in particular classes. Videos could be chosen to be universally available for all students by district admin, available to all students at a school by site admin, or available to students in a class by individual teachers.

jonhohle··on Dear people who work at the airport
That’s the airline’s concern. Imagine having a reservation at a restaurant and something happens to make the table unavailable. Should you wait for everyone else who made later reservations and all the walk ins who came while waiting you were waiting for your table to finish before getting seated? Your meal was already ruined, no sense in ruining the meals of everyone else?

What about hotel reservations, or literally any other thing you book ahead of time.

If a bus is taken out of service the people who were waiting for that stop at that time don’t go to the back of the line, they get the next bus. I’m sure airlines feel they are more sophisticated than public transit, but as a passenger I see little difference.

If you look at it just from a cost perspective, then you’re absolutely right. And that’s why everything sucks. If you look at it from a human perspective and design around customer service the end result would be different.

jonhohle··on Dear people who work at the airport
- Belt/Watch: leave in unless it has enough metal to trip the metal detector, then take off but we’ll yell at you for holding up the line/losing your pants.

Also: here’s a list of things we are constitutionally not allowed to require, but if you choose to opt out you have a random 1:1 chance of being selected for an invasive “enhanced” screening.

Also: here’s where you can pay your bribe^H^H^H^H*Hfee to be prescreened so the whole process is easier for you unless we decide we you should be on the list that we randomly select for “enhanced” screening. Then your children get to watch a large man put his hands all over your body in ways that they’ve been told to never let a stranger touch you. And if you speak up, we’ll do it you your minor children too.

jonhohle··on Dear people who work at the airport
What’s crazy is that this is the list of things that are wrong when everything is going right.

I was at O’hare for the first time in a few decades a few weeks ago and my flight was delayed due to some mechanical issue with the assigned plane. At least that’s what the app said. Because of the delay, the gate kept changing. We were supposed to know this because every once in a while the gate we were at no longer said it was our flight, so there must be some other location. I think at least one of the times it was mentioned over the PA, but besides the flight number everything else was unintelligible.

We see other flights to our destination that were scheduled after ours from the same airline on the same type of plane boarding and leaving. It doesn’t matter that our tickets were from earlier in the day. They’ve already screwed over 150 passengers. Screwing them over more is far less bad than delaying them slightly but having to also delay later flights by a little bit, too. I think we watched three flights leave. As a group of six, with four children, the likelihood of standby coming through on any of these is less than zero.

On the departure board the flight was referred to by a carrier other than the one we bought the tickets from, because of course everyone should know every carrier’s partner airlines and how their flight numbers map.

Three hours of delay had arrived but the plane was finally at the gate. FAA says I’m entitled to a meal for the delay, so I go ask how to redeem it. I’m told to go back to customer service near security and stand in a line to get a voucher. But if I miss the flight, there’s nothing they can do about it. I’m sure that’s not how that’s supposed to work, but I’m several hours delayed already, my plans for the day are shot, missing the flight it really an option just so I can get some airport food.

The time has arrived to start boarding. I’m on chat complaining about the service when it disconnects. The app stops working, so I check the airline’s website, and get a hard down, unstyled error message. I tell my wife that something seems wrong with their site and have my suspicion confirmed a few minutes later that their entire system is down and all flights are halted until further notice. No ETA.

At this point Reddit has more information about what’s happening than the gate agent. It’s another 45 minutes before a mumbly PA announcement tells us flights are delayed due to a global system wide outage.

Fortunately, their IT staff seemed to be on it, and the whole thing only lasted an hour. Then they put us on the plane like nothing happened and even got people to cheer for the crap service. Ice water in hell, I suppose.

jonhohle··on Show HN: KidScreen, a finite YouTube shelf chosen by parents
Sell this to school districts. This is what Google should have done from the beginning.
jonhohle··on To save C, we must save ABI (2022)
Intrinsics usually come after new instructions have existed long enough for the higher level pattern across several architectures to establish a common pattern. If specific hardware is being targeted you may need to use those instructions before intrinsics exist.
jonhohle··on To Save C, We Must Save ABI (2022)
What does an external function have to do with the C supporting or not supporting ASM? The symbol is just a symbol from another object. That could be written in any language that follows the ABI (not that ASM has any enforcement of ABi to begin with). The symbol resolves to an address and nothing more.

Saying inline ASM is no different than a function call is like saying standard control structures are no different from function calls. I suppose from a Smalltalk perspective that could be true, but is that the mental model most programmers use?

I work on a system from the 90s with custom instructions. GNU-as was patched to understand the instructions. They’re used through macros that ultimately expand to inline ASM. Without this, you’d need function inlining, which may or may not be possible with a linked object (it certainly wasn’t standard in the 90s). So now a single instruction turns into stack management, a jump, more stack management and a return. At that point any benefit to a specialized instruction may be erased, or in the case I’m dealing with talking to external hardware becomes unreasonably expensive.

jonhohle··on Gateway 2000's hilariously bad ads in the 90s (Part II)
Gateway 2000 (and subsequently Gateway) was one of my favorite of brands. It was like the Bikes Direct of PC brands - the components you care about on a frame that you don’t.
jonhohle··on 2027 memory capacity is reportedly sold out
I just did exactly that. I had an old i7 with 64GB of DDR4 that I bought when it was cheap. DDR5 was so expensive I just bought an AM4 and moved the RAM over.

My MacBook is showing its age, though. Hearing that 2027 wont be any better makes me hopeful all the vibe coders can ask for memory efficient implementations to stretch existing hardware a little further.

jonhohle··on “Gravity is worth asking about”
I bought my first modern Mac in 2003 to switch from Linux in a (stolen) Compaq to a commercial Unix on supported hardware. Instantly I got it and there was nearly a decade where every update was better.

Last year, for the first time since 2003, I didn’t upgrade to the latest macOS (né OS X) release. I’m hopeful for Golden Gate and continue to love the hardware, but man Tahoe is a low point.

The Swift UI-ification of System Preferences and all of the consistency lost by moving AWS from AppKit drag macOS down to the level of lesser systems and even Electron (that is to say, I’ve used more Mac-like electron apps than some of the first party Swift UI rewrites).

20 years later and desktop Linux still has no consistency. I’m not even sure how people use Windows. Could this be the year Haiku saves the desktop?

jonhohle··on Nobel Disease
Eugenics rejects the idea that all are created equal. Equality is supported by both Judeo-Christian theology and secular enlightenment philosophy.

I can think of little modern philosophy more regressive than the idea that a self-appointed superior can determine that another is inferior to the point that they (or their offspring) should be culled from existence. Eugenics and racism have been intertwined since the beginning and with a modern twist continue to target vulnerable populations.

jonhohle··on Xbox goes down. You can't play games you own on disc
> An extended Xbox outage that began Sunday evening hasn’t just caused issues for people trying to play digital games — it blocked people from playing their disc-based games, too.

First line in the article. An Xbox owner who did the right thing by buying physical copies is still unable to play their games.

I don’t play on Xbox, but my kids do, and Overwatch worked fine yesterday (which is a Microsoft property). So I’m not sure what the outage is, but not being able to play discs is a real punch to the gut.

jonhohle··on SwiftUI After 7 Years
It would be interesting if instead of a new language the Objective-C compiler enforced a a memory safe version of C. That’s the biggest advantage of Swift, imho.

I hated the properties addition in Objective-C. Why add that and not a dot syntax for all messages? Having a dot operator in a pointer blurred too much of the line between C and Obj-C syntax for my taste.

← PreviousPage 4 of 34Next →