HN user

powersnail

2,781 karma

Just a naive coder, grappling through the world. https://powersnail.com

Posts5
Comments783
View on HN

Interesting, I have the exact opposite experience with flipping vs linking when it comes to books like _Pale Fire_. It's a lot more difficult for me to read the end notes on kindle, especially when it cross references more than one other end notes. Just couldn't keep my head straight as where I had been already. I had to buy a paper copy of _Pale Fire_ after fidgeting on my kindle (which I usually prefer) for a while, and I just kept two bookmarks (one in the poem section, one in the end notes section), and find other end notes ad hoc. The physicality of the pages helped me navigate back and forth.

Maybe the developer was using Headspace as part of the test data and it bled into production?

It's hard to imagine what Headspace would like to achieve if this were an exploit executed by them. It's so salient, that it makes no sense to do on purpose. At least some portion of Apple employees and their families are going to be affected by this, and this would escalate to the legal department immediately.

My money is on Apple being the buggy one here.

Whenever split keyboards come up, ulnar deviation is mentioned, and non-split keyboard users are depicted to be using the keyboard like this (image from the post):

https://www.justinmklam.com/posts/2026/02/beginners-guide-sp...

I don't know if it's just me, but I don't use the keyboard like that. I know the illustration is said to be exaggerated, but still. There is no need to squeeze your hands in front of the keyboard. Just naturally bring your hands in front of chest, the same as when you are reading a book or writing notes with a pen. No twisted wrists. No ulnar deviation. The idea that you can't do something with your hand in front of the center of your chest without hurting the wrists seem like a strange supposition.

Admittedly, I've never looked at a significant number of people typing on a non-split keyboard, so I don't have the data to refute the need of this invention. I just feel like the natural posture already doesn't have the problem of ulnar deviation.

I was just on a short trip to Japan, and I find the replica food very intriguing. Take the experience with a large grain of salt of course, since it's just a few days worth of sightseeing.

What's particularly interesting, is that the replicas really do look like the actual food. Some replicas are so good, that I would not be able to tell that it is fake even by close inspection. One of the gyoza replica got the doughy body, the crispy bottom, and oily surface that is visually indistinguishable from a real one. Even the touch is somewhat real.

I'm not saying seeing those replicas gives me a better appetite; that's doubtful. I just appreciate the crafts.

The other side of the coin is that the actual food do look like the replica/photos, so it's not a bait-and-switch scheme. The people who prepare the dishes---be it a chef or a worker at a fast food chain---all seem quite accurate. Not that all dishes always look beautiful; but they do look consistent. Your plate of curry over rice might be plain, but it will look exactly the same as the previous order (and also as the photo), even if it is created entirely by hand. It's kinda amazing in its own right.

Meanwhile, in restaurants without visual clues, you can only let your imagination go wild and guess what you're going to have. Once the plate is put in front of you, two surprises awaits you: does it looks like what you imagined and is it good? At least that's the experience I'm looking for in restaurants.

Well, you still retain the second part of the surprise: "is it good?". But yeah, it will ruin the first one, because of the accuracy. It's not something that particularly bothers me, but I can understand why you want to avoid the spoilers.

CSS Grid Lanes 7 months ago

Just curious, what algorithm is good for laying out images of arbitrary orientations, sizes, and aspect ratios? That seems like a pretty difficult problem. Some sort of variation of knapsack problem maybe?

I could see a case where the core logic needs to be performant, but the UI does not. The front end could be some menus, displaying (not a giant amount of) data, and a progress bar, while the back end does heavy computing.

And furthermore, if you want fast code writing, you write in the language you already know. For some people, that is Rust.

in traditional rich desktop applications, I can't say I have ever missed the ability to select and copy text from the UI chrome

I forgot what desktop application it was, but there was a time that I repeatedly needed to copy texts from a dialog, which didn't support text selection. It frustrated me so much, that I put together a script to do OCR on the dialog.

Supporting complex data types for copy & paste is good; but it is almost trivial to also support plain text copying as a fallback when it already supports copying of other mimetypes. The problem is that some UI has no support of copying in any format at all.

iPhone Air 11 months ago

I sincerely hope that apple will consider making a phone with a worse camera that is flatter. As someone who rarely takes photos, and never photos of importance, the bump is just a dead weight to me. My dream phone has a body like iPhone 12 mini (which I currently use) without the protruding camera. As long as it runs all the common communication apps reliably, I'm happy. I'll pay $100 more than the standard body version even. But it doesn't seem like apple (or any notable phone brand) thinks this is worth doing.

It's the peril of being a niche customer. I can and have voted with my wallet, but it doesn't nudge the needle anyway.

Talking on the phone is the most painful form of conversation for me. The sound quality is often awful, due to the ambient noises picked up by phone, which occurs particularly often for busy restaurants. You don't know if the other side has heard you because you can't see them and there's no visual signal, so there's more back and forth, prolonging the pain. Since you are ordering via the phone, you have to pay by reading out your credit card number. People sometimes hesitate, and you don't know if it's a bad connection, or if they have just paused......

So yeah, I'd gladly pay a bit more to order via an app. When I'm ordering delivery, I'm already paying premium on that day anyway, the margin of which is way higher than 20%, so I might as well go all the way and avoid dealing with something I don't like.

If I'm not using an app, I'd rather run a mile to make the order in person, than make a phone call.

No; you would need to touch people hair after a shampoo shower and after a non shampoo shower to see the difference.

Yes, that's exactly what I mean. My girl friend has long hair, and doesn't wash with shampoo every day (which is somewhat common for long-haired people I believe), and the texture after shower is very different.

In college, especially exam week, we had more anecdata. It was possible to see people who 1) had not washed their hair, 2) had washed their hair in a sink with water only, 3) dry-washed with those sprays, and 4) washed with shampoo. It was very easy to tell which they did.

In general, soapy cleaner (or similar substances) is going to help immensely when cleaning oily stuff. And hair can be really oily. Water-only is just not the same.

One scenario I don't have is comparing other soapy products to shampoo. But shampoo aren't more expensive than other soaps anyway, so I never bothered to look.

shampoo did nothing to your hair

I don't know the scope of "nothing" in your statement, but shampoo does help remove dirt and oil, in a way that washing with water only cannot achieve, which is the number one goal of using shampoo for most people.

This is verifiable by observing and touching hair of other people's hair before and after shower, which eliminates the possibility of shampoo manufacturers secretly altering what you perceive with your fingers.

I can think of so many pieces of software that does that: having a local state, having a remote state, and keeping them synchronized whenever internet is available. It's how email apps work. That's how all cloud drives work, and Dropbox is more than a decade old at this point. It's how notes apps work. Etc. etc.

Really can't see how this can be regarded as a recent idea.

That matches my experience as well.

Google something, find the documentation, go to the documentation, and "We have moved our documentation to a brand new experience", and the link is to the home page of their new website, so you need to redo the search.

X has been deprecated; Y is the replacement; and they provide the same functionality with a completely different API. It just does not make sense to me why Y is created, rather than having X's implementation replaced.

A lot of documentations/discussions are also written with the assumption that you are migrating from the previous approach. So if you just dive in and don't have the context of what used to be the way, it's sometimes difficult to understand what they are talking about.

It's scorched earth and is not limited to new buyers.

This whole thing is about destroying already bought vehicles to intimidate potential new buyers, and thus lowering future sales. Not that I support the vandalism, but I think that's the kind of logic they are applying here.

It seems like what is happening is not Firefox now making a pivot to the privacy unfriendly side, but Firefox has already been selling data, but in a manner that---for whatever strange reason---they didn't consider to qualify as "selling data", and hence the original Terms of Use included the promise of "We never sell your data". Then lawyers came along and told them that this just wouldn't fly legally, and they have to change their terms now.

Even now, Firefox still doesn't consider what they do "selling data", and they are forced to change the wording only because the laws are weird.

Frankly, I just don't see how sharing data to partners to make yourself commercially viable can be construed as not selling data. In their own words, what Firefox does is:

In order to make Firefox commercially viable, there are a number of places where we collect and share some data with our partners, including our optional ads on New Tab and providing sponsored suggestions in the search bar.

We could argue about whether the laws are slippery or over-reaching, or how responsible or not Firefox has been handling user data. We could argue about how much anonymization and aggregation of data reduce privacy concerns.

But to argue that the above action is not "selling data" is in my view not a reasonable position.

I also don't experience any noticeable torsion at the elbow. Putting my hands in front of my chest is a perfectly relaxed posture for me. Typing is not that different from writing in terms of where my arms and hands are (other than the two-handedness).

That said, I do move around a lot instead of keeping my hands always on keyboard, so maybe that's why I don't experience the typical fatigue at joints associated with keyboard usage.

Ergonomics is really personal. I’ve tried a few ergonomic chairs, and they are all too big for my body. At the end of the day, the trusty old ikea wooden chair works the best for me, despite the lack of any adjustability, because it is the right size to begin with.

When standing, I strongly agree with the article that getting some sort of rug is good for comfort. I have a very furry rug for it.

Moving around often is the most important factor, which is easy for me because I like to walk around while thinking.

I find trackballs very tiring on the thumb. Vertical mouse is quite comfortable. Ergonomic keyboard seems unnecessary to me, because I type with straight wrists on a normal keyboard anyway.

The "attach the entire file" part is very critical.

I've had the experience of seeing some junior dev posting error messages into ChatGPT, applying the suggestions of ChatGPT, and posting the next error message into ChatGPT again. They ended up applying fixes for 3 different kinds of bugs that didn't exist in the code base.

---

Another cause, I think, is that they didn't try to understand any of those (not the solutions, and not the problems that those solutions are supposed to fix). If they did, they would have figured out that the solutions were mismatches to what they were witnessing.

There's a big difference between using LLM as a tool, and treating it like an oracle.

Different industries have different standard procedures. A huge portion of the world's internet relies on FOSS software, and none of those are insured.

Community reputation is the current _de facto_ standard for consumer-facing software, even for stuff sold by big corporations. There's not much else to rely on.

The worst offender I've seen in this regard was some GUI program on Windows, and it had this checkbox in its installation process with some wording like this:

"Please do not uncheck if you do not wish to not install XXX (bundled bloatware)"

I just assumed that the default state must be installing the bloatware, and changed it, and fortunately I was right.

I actually tried a it a lot when I was young, and it never worked even on a downward slope. Maybe I was too weak back then, but again, the point is that a full bicycle doesn't have the same behavior as a standalone wheel, which is very easy to roll, and pretty much stands on its own until its speed is really really low.

A bicycle is not the same as a bicycle wheel though. I can't just roll down a bike down the street (at least not as easily as a single wheel); it almost always immediately falls over.

If the junk doesn't work right from the beginning, yes. The problem is that sometimes the junk might look like it works at first, and then later you find out that it doesn't, and you ended up having to make urgent fixes on a Friday night.

And in that process I've found is where the real magic happens

It might be good way to learn if there's someone who's supervising the process, so they _know_ that the code is incorrect, and tells you to figure out what's wrong and how to fixes.

If you are shipping this stuff yourself, this sounds like a way of deploying giant foot-guns into production.

I still think it's a better to learn if you try to understand the code from the beginning (in the same way that a person should try to understand code they read from tutorials and stackoverflow), rather than delaying the learning until something doesn't work. This is like trying to make yourself do reinforcement learning on the outputs of an LLM, which sounds really inefficient to me.

If I sit in front of a computer all the time I'm awake, I still wouldn't be able to be producing as much content as Simon Willison. My productivity would start to decline after 5~6 hours, and probably diminish after 8~9 hours. The consistency in his output is just magnificent and awe-inspiring.

Every time ChatGPT gives you a sketch recommendation, ask for downsides.

It's sort of the right lesson (double-check) but also not (you are checking the same stochastic source). This is like asking an assistant to find out what AWS tech to use by reading the internet, and then ask the same person to do the same thing again. It's better than asking once for sure, but the solution should be to actually check the source info (in this case, the AWS documentation).

But the more important lesson here is that, it should be a bare minimum requirement that if you want to deploy something new into prod, you should read its documentation and _know_ what it does.

Regardless of whether you are asking LLM or a real person or some forum's post, you don't just follow an advice without understanding it. This is a scary deployment tactic.

On work days, my routine is to get my coffee before anything else as much as possible, because I'm not good at falling asleep on time and often wake up groggy. I grind coffee and prepare the kettle the night before, so I have minimal work to do when I get up. While waiting for the coffee to finish dripping, I usually give my calendar/email a quick reading through, and if there's nothing requiring attention, I read some news.

Once the coffee is ready, I drink it while planning out the day (in a rough manner), basically moving stuff around in my calendar, turning some emails to tasks, etc. When I'm done planning, I get to work.

On non-work days, I sleep as much as I feel like, and no coffee, so as to avoid developing a caffeine tolerance.