HNHacker News
TopNewBestAskShowJobs

jzwinck

5,693 karma · joined December 14, 2011

submissionscomments
jzwinck··on How does IKEA come up with names for its products?
Right, and if you want to buy a mechanical front derailleur for your road bike one of the most loved models for decades has been the Ultegra FD: https://fish.shimano.com/en-US/product/reels/spinning/frontd...

And here is Shimano Tiagra which costs much more: https://fish.shimano.com/en-US/product/reels/conventional/le...

They also have a line of bicycle components called Nexave for city riding. Here's one Shimano Nexave product: https://fish.shimano.com/en-US/product/reels/spinning/frontd...

Oh and here is Shimano Clarus: https://fish.shimano.com/en-US/product/rods/muti-species/cla...

Shimano also make mountain bike components. SLX are a nice midrange set, for example: https://fish.shimano.com/en-US/product/rods/bass/slx_casting...

They even sell cycling specific sunglasses called Technium: https://fish.shimano.com/en-US/product/rods/salmon_steelhead...

jzwinck··on Nokia’s years of mobile-phone supremacy ended in an afternoon
Did Windows Phone solve the problem that Windows Mobile had where libraries like the .net runtime were incomplete? I remember trying to build an app for Windows Mobile 6.0 and not being able to use third party libraries because some of the basic functions of Windows were missing on mobile. I'm not even talking about UI, more like networking and other backend features.
jzwinck··on Niche Museums
I recommend Japan as a country with many niche museums, here are two I enjoyed:

https://www.tdk.com/museum/en/

https://www.khi.co.jp/kawasakiworld/english/

They are museums run by companies about their own histories and industries. The TDK one was quite unexpected: it's basically a museum about very thin plastic.

jzwinck··on Zlob.h 100% POSIX and glibc compatible globbing lib that is faste and better
In case someone doesn't know, the standard function for that is called fnmatch:

https://man7.org/linux/man-pages/man3/fnmatch.3.html

jzwinck··on FOSDEM 2026 – Open-Source Conference in Brussels – Day#1 Recap
For talks which will obviously be popular, go to the talk before it even if it's not as interesting. It's not common to have two super-popular talks in a row in the same room.
jzwinck··on Booking.com cancels $4K hotel reservation, offers same rooms again for $17K
In Europe if an airline does that they have to pay you a penalty of a few hundred euro.

But KLM (Dutch flag carrier) found a way around that: if a flight is overloaded by weight they will keep all the passengers on board but leave their luggage behind. There is no direct penalty for late luggage, so many customers will get nothing except perhaps a little free shopping if they feel like filing forms to reimburse for having to buy clothes at their destination. But that's cheaper than the penalty for not taking the passenger on time, so KLM "optimized" it.

jzwinck··on Look at how unhinged GPU box art was in the 2000s (2024)
Sound cards too. The Hercules website still proudly shows all their boxes from back when sound cards were popular for gaming and more: https://support.hercules.com/en/cat-soundcards-en/

Several models don't even have pictures of the card, but every one of them shows the crazy box.

They also still list all their old GPUs. Compare the wild boxes at the top with the TV tuner boxes at the bottom: https://support.hercules.com/en/cat-videocards-en/

jzwinck··on Go has added Valgrind support
If that were true it would also apply to C and C++. I have used Valgrind with Python + Boost C++ hybrid programs and it worked fine after spending an hour making a suppressions file.
jzwinck··on The value of bringing a telephoto lens
https://m.dpreview.com/reviews/buying-guide-best-cameras-und...

Any of those is great. There is also a sub-$1000 category but the cameras in it are more compromised.

If you want to spend less, buy used Nikon Z or Canon R series.

jzwinck··on Protobuffers Are Wrong (2018)
If you care about network bandwidth you can compress before sending, as virtually all web applications do. Then you don't need to worry much about the space efficiency of the application format.
jzwinck··on Hyatt Hotels are using algorithmic Rest “smoking detectors”
I find it somewhat unlikely, as this particular W hotel was not in a country known for personal injury lawsuits.

More likely it was sold to them by some interior design firm as a luxury feature. Unfortunately it's only helpful if you're alone--even if it worked correctly you wouldn't want the room lights turning on just because your spouse got up.

jzwinck··on Hyatt Hotels are using algorithmic Rest “smoking detectors”
Not about smoking but I recently stayed at a W hotel and was woken in the middle of the night by the room lights turning on. They used electronic push buttons and I turned them off. Seconds later they turned on again. This repeated several times until I was fully awake and called the front desk.

"We can come put tape on the sensors."

"What sensors?"

"There are sensors under the bed."

"Oh, so you already know about this problem but haven't fixed it. Thanks, please don't send anyone."

I then looked under the bed and sure enough there was a motion detector on each side. I removed these from their brackets and let them dangle facing the floor instead of outward. This blinded them and solved the problem. I guess they were malfunctioning or they were able to detect motion above the bed via reflections.

The next day I reported this to the front desk, who were unsympathetic and unhelpful. They told me it was for my own safety. Apparently at other hotels I have just been incredibly lucky not to have fallen down when getting out of bed.

I will not stay at a W hotel again unless I can confirm in advance that they do not have motion detectors under the bed which spuriously turn the lights on at night. Maybe I'll add Hyatt to the no-go list.

jzwinck··on Aeron: Efficient reliable UDP unicast, UDP multicast, and IPC message transport
I haven't seen the makers of Aeron (or anyone else) claim it's "orders of magnitude faster than plain UDP." Do you have a link to something about this? It doesn't pass the smell test for me unless you're talking specifically about using Aeron within a single machine (where it uses shared memory instead of the network)...but you said "Within a datacenter" not "Within a computer."
jzwinck··on I've Heard Receipts Are Toxic. Is It Safe to Touch Them?
I came here to write something very similar. Visa and their competitors all have the ability to transport data about the payment. Most receipts are a fairly small raster image which could be sent as an extension. Visa could also offer a structured text receipt data format but the image may actually be safer to avoid a billion questions about how to represent unusual situations around surcharges, optional extras, custom discounts, split checks etc.

It would be important for the receipt to include the original broken-out list of items purchased, and not just the "credit card receipt" with the total paid. People need detailed receipts for returns and business expenses.

jzwinck··on GPMI set to deliver up to 192Gbps and 480W through a single USB cable
Maybe this is close?

https://www.anker.com/products/a2683-anker-prime-charger-200...

jzwinck··on Uber adds new $10 shuttle rides between JFK Airport and Manhattan
Are you forgetting the $8.50 charge for Airtrain? That more than doubles the price you quoted, and it's not optional.
jzwinck··on Shift-to-Middle Array: A Faster Alternative to Std:Deque?
You say deque uses large-ish blocks but you provide documentation that it uses 512 byte blocks on GCC and MSVC is even worse. So if you're on Windows the blocks are so small the container degenerates into something like a std::list, and on non-Windows it only works well if your objects are a few bytes each.
jzwinck··on Why is Git Autocorrect too fast for Formula One drivers?
That's what isatty() is for. If stdin is not a TTY, prompting should not be the default. Many programs change their defaults or their entire behavior based on isatty().
jzwinck··on Nintendo announces the Switch 2 [video]
Ability to play smaller discs was normal in most CD-ROM and DVD players for many years before the Wii. A few people (probably half of whom have HN accounts) used to give out mini-CD business cards...sometimes even with truncated edges so the disc was not entirely round: https://www.duplication.com/cd-business-card-duplication.htm
jzwinck··on Go Upgrade Checklist
This is one reason why code generation should run as part of the build process, every time. Even if you decide to check-in the generated code for visibility.
jzwinck··on C++'s `noexcept` can sometimes help or hurt performance
There is another standard library related scenario: hash tables. The std unordered containers will store the hash of each key unless your hash function is noexcept. Analogous to how vector needs noexcept move for fast reserve and resize, unordered containers need noexcept hash to avoid extra memory usage. See https://gcc.gnu.org/onlinedocs/libstdc++/manual/unordered_as...
jzwinck··on Postzegelcode
You don't need a full scan or a giant CSV file. You can do it with a single small file in a single directory. The file contains the state of a pseudo random number generator. On each request, generate a number, save the new PRNG state into a new temp file in a subdirectory, and rename the temp file over top of the original file. If renaming fails, try the whole process a few more times. This allows multiple processes to serve requests concurrently.

Exercise for the reader: avoid re-reading the PRNG state file on retries.

jzwinck··on Timeliness without datagrams using QUIC
You quoted the part about sequenced messages. Look at the part about unsequenced messages right after that. It has both.
jzwinck··on Timeliness without datagrams using QUIC
Here is a good message framing protocol built on TCP: https://www.nasdaq.com/docs/SoupBinTCP%204.0.pdf

If you want large messages just redefine the length from 16 to 32 bits.

It's been used for millions of messages per day for 25 years and hasn't been changed in a long time.

Admittedly it isn't as common as TCP and that's a shame. But it's out there, it's public, it's minimal and it makes sense.

jzwinck··on If English was written like Chinese (1999)
I'm not who you replied to, but I have such a story.

I was in southern China for a couple weeks, using Google Translate to try to talk to locals sometimes. The voice-to-voice feature seemed useful and more approachable than asking someone to type on my phone. I'd often start by saying "Talk into the phone and it will translate."

This did not go well. People seemed bewildered, utterly unwilling to try it out. Some people already knew what I was doing but the rest seemed to think I was crazy. One or two tried taking the phone and holding it to their ear like they were going to have a normal phone conversation with someone far away.

I later found out that Google had translated my phrase as something like "There is a phone call for you."

jzwinck··on Pulley system composition – a systematic approach (2020)
Really fast lines are used to drop spinnakers on big boats: https://www.youtube.com/watch?v=MiAo3KQ89no - this uses gears more than pulleys but same idea, light loads and high speed.
jzwinck··on Pulley system composition – a systematic approach (2020)
1/2:1 is not useless. Sometimes you want to pull a rope quickly and power is not a problem. One real world use of a 1/2:1 pulley system is in high performance sailing dinghies on the spinnaker halyard. You want to be able to hoist it as quickly as possible, before the wind puts pressure on the spinnaker.
jzwinck··on Understanding and avoiding visually ambiguous characters in IDs
If you use both upper and lower case, you are likely to eventually be surprised by some third party system or protocol that is case insensitive. I even found a commercial system which allowed users to choose IDs with case sensitivity (iD and id being distinct) but if you query it for one which does not exist they do case insensitive matching and return the wrong data.

When I reported this bug they said it was for convenience!

jzwinck··on Let's compile like it's 1992 (2014)
This is super cool, thank you. One thing I couldn't figure out is how to press "Y" to accept Nightmare difficulty.
jzwinck··on Balancing Optimization While Coding
If you don't like returning an interface because the caller can't tell what it does, why is accepting an interface any better? Don't you end up in the same conundrum of not knowing whatever it is that you need to know about foo.IssueReceipt() if someone passed foo into your function?
Page 1 of 34Next →