frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

The 'Toy Story' You Remember

https://animationobsessive.substack.com/p/the-toy-story-you-remember
795•ani_obsessive•12h ago•207 comments

Show HN: Gametje – A casual online gaming platform

https://gametje.com
30•jmpavlec•56m ago•6 comments

I Fell in Love with Erlang

https://boragonul.com/post/falling-in-love-with-erlang
215•asabil•1w ago•106 comments

Widespread distribution of bacteria containing PETases across global oceans

https://academic.oup.com/ismej/article/19/1/wraf121/8159680?login=false
41•PaulHoule•3h ago•11 comments

Europe converged rapidly on the United States before stagnating

https://constitutionofinnovation.eu/
6•tbs1980•42m ago•0 comments

Show HN: Tusk Drift – Open-source tool for automating API tests

https://github.com/Use-Tusk/drift-node-sdk
12•Marceltan•1h ago•1 comments

Advent of Code on the Z-Machine

https://entropicthoughts.com/advent-of-code-on-z-machine
44•todsacerdoti•3h ago•9 comments

iPhone Pocket

https://www.apple.com/newsroom/2025/11/introducing-iphone-pocket-a-beautiful-way-to-wear-and-carr...
81•soheilpro•5h ago•192 comments

Welcome, the entire land - "Hello, world!" in hieroglyphics

https://optional.is/required/2009/12/03/welcome-the-entire-land/
36•andrelaszlo•4h ago•7 comments

High speed X-ray video: jumping beans, wind-up toys and more

https://www.youtube.com/watch?v=xdpDd7dyU00
11•surprisetalk•4d ago•3 comments

US Army to buy 1 million drones, in major acquisition ramp-up

https://www.reuters.com/business/aerospace-defense/us-army-buy-1-million-drones-major-acquisition...
21•breve•55m ago•11 comments

Zig / C++ Interop

https://tuple.app/blog/zig-cpp-interop
75•simonklee•7h ago•8 comments

Drawing Text Isn't Simple: Benchmarking Console vs. Graphical Rendering

https://cv.co.hu/csabi/drawing-text-performance-graphical-vs-console.html
7•PaulHoule•43m ago•0 comments

Hazel (YC W24) Is Hiring Full Stack Engineers

https://www.ycombinator.com/companies/hazel-2/jobs/fCdGOZw-full-stack-engineer
1•augustschen•3h ago

The kind of company I want to be a part of

https://www.dvsj.in/my-company
85•ctxc•6d ago•83 comments

Why effort scales superlinearly with the perceived quality of creative work

https://markusstrasser.org/creative-work-landscapes.html
65•eatitraw•7h ago•59 comments

The Perplexing Appeal of the Telepathy Tapes

https://asteriskmag.com/issues/12-books/paradigm-shifted-the-perplexing-appeal-of-the-telepathy-t...
8•surprisetalk•1h ago•0 comments

OpenAI may not use lyrics without license, German court rules

https://www.reuters.com/world/german-court-sides-with-plaintiff-copyright-case-against-openai-202...
113•aiz0Houp•4h ago•118 comments

SanDisk launches dongle-like Extreme Fit USB-C flash drive with up to 1 TB

https://www.notebookcheck.net/Sandisk-launches-dongle-like-Extreme-Fit-USB-C-flash-drive-with-up-...
75•teleforce•4d ago•86 comments

Baby shoggoth is listening

https://theamericanscholar.org/baby-shoggoth-is-listening/
34•toomuchtodo•1w ago•26 comments

DARPA and Texas Bet $1.4B on Unique Foundry -3D heterogeneous integration

https://spectrum.ieee.org/3d-heterogeneous-integration
14•pseudolus•3h ago•0 comments

Trying two dozen different psychedelics

https://psychotechnology.substack.com/p/on-trying-two-dozen-different-psychedelics
32•eatitraw•4h ago•20 comments

Show HN: Venturu – Zillow for the market of local businesses

https://www.venturu.com
8•lifenautjoe•2h ago•4 comments

The R47: A new physical RPN calculator released today in 2025

https://www.swissmicros.com/product/model-r47
3•dm319•4d ago•3 comments

Upbeat Technology's RISC-V MCU Takes Flight with Near-Threshold Computing

https://www.allaboutcircuits.com/news/upbeat-technologys-risc-v-mcu-takes-flight-with-near-thresh...
22•warrenm•5d ago•3 comments

High-performance 2D graphics rendering on the CPU using sparse strips [pdf]

https://github.com/LaurenzV/master-thesis/blob/main/main.pdf
264•PaulHoule•17h ago•34 comments

The write last, read first rule

https://tigerbeetle.com/blog/2025-11-06-the-write-last-read-first-rule/
74•vismit2000•9h ago•18 comments

Hiring a developer as a small indie studio in 2025

https://www.ballardgames.com/tales/hiring-dev-2025/
85•jordigh•11h ago•72 comments

Writing your own BEAM

https://martin.janiczek.cz/2025/11/09/writing-your-own-beam.html
244•cbzbc•1d ago•79 comments

When Soviet-made cars roamed Singapore roads

https://remembersingapore.org/2025/10/30/soviet-made-cars-singapore-70s-to-90s/
103•sohkamyung•1w ago•67 comments
Open in hackernews

The kind of company I want to be a part of

https://www.dvsj.in/my-company
84•ctxc•6d ago

Comments

tyleo•1h ago
I’d say overreaction.

The real world is full of tradeoffs and I’ve seen people try to get minutia like this correct in convoluted contexts which actually broke the core application logic.

Given the limited time we can spend on things, supporting proper plurality falls below some of my other UI priorities like proper accessibility settings.

I don’t think plurality is bad, just low in the stack rank of things that matter.

clickety_clack•1h ago
I’d like to think I do pluralization right, but sometimes it’s just that bit too time consuming because of an awkward internationalization issue or something so I don’t. There’s only so much polishing you can (or should) do before you ship. If I found that my team suddenly had a lot of time for cleaning up this kind of thing, I’d start worrying about job security tbh.
jon-wood•1h ago
If pluralisation of a status message in the UI is breaking core application logic then you've got bigger problems than the pluralisation code.
jordanb•1h ago
Every code path is an opportunity for a bug that escapes validation. Plus this particular example doesn't work with i18n. It would be more complicated in that case.
wavemode•1h ago
The (s) alternative that the article is arguing against is even worse for i18n, so what's your point?
jordanb•1h ago
You'll have to look up the way i18n frameworks work, but no the "(s)" is not worse. It is far better because it's a simple string that the framework can substitute without embedded business logic trying to manipulate the individual characters in a way that only works in one language.
tyleo•54m ago
Yeah, I'm with you. I've worked on several i18n frameworks, including ones for AAA game titles at Microsoft.

You can make pluralization work but the "(s)" is going to tend to work better.

And localization isn't just an opportunity for development bugs, localizers get things wrong too. Some non-English speakers mentioned to me that some translations are so bad, it's better to use the English version anyways.

wavemode•43m ago
Huh? "(s)", itself, only works in one language! Other languages (and even English, sometimes) don't always pluralize by appending lettters to the end of words, so the parenthesized suffix thing very regularly doesn't even work.

And who exactly is talking about "embedding" business logic in the i18n framework? Every serious framework I've used has supported placeholders, so at the application level you just select between singular and plural form and then the translation framework can handle arranging the words.

e.g. `items.length == 1 ? _t("%d item", items.length) : _t("%d items", items.length)` and then within your translation files you can specify translations that rearrange the phrase, like "<noun> %d" for languages where they are reversed.

(though usually of course, you would use much longer phrases, so that the translation is done in-context.)

ghosty141•1h ago
Especially once you get into i18n this becomes increasingly more complex for various reasons like different formats for translation programs etc.
skeeter2020•1h ago
I agree; there's probably higher value UI work, or something that should be more important to you above this. Examples: Have you ever run your app at 500% in high contrast with no mouse or with a screen reader? What's the happy path for most popular workflows? How many layers bury them with options and edge cases? What language support are you missing?
BrtByte•59m ago
Sure, not every edge case deserves top billing, but when the little things stack up, they subtly signal whether anyone cared. It's a vibe thing
ivape•18m ago
Death by a thousand paper cuts

Proverbs become eerie the longer you live. Almost like, woah, that one sentence was actually universally true? Well hot damn!

Keep neglecting these small things and you’ll see the level of unconstrained shit you will have unleashed onto the world. With enough of us doing so, we can take part in the great collective festival of mass garbage accumulation (aggregate all the paper cuts).

The modern website needs to be in MOMA with no explanation, just a small title that reads ‘Despair’ (Perhaps even ‘Futility’, or the more modern ‘There was an attempt’). Nonetheless, to quote the great Frank from Always Sunny:

”It’s all shit”

m_w_•1h ago
Glad the snippet is == 1, this problem drives me extra insane when it doesn't handle the zero case. Not only has my upload failed for some mysterious reason, I have successfully uploaded zero item!
blux•1h ago
Could not agree more.

As a child in the 80s I read a programming book (can't remember the name anymore unfortunately) where the reader was encouraged to write software that is always friendly and human when it comes to communicating with the user. For example, 'Please input a number:' instead of 'Input a number:'. But also exactly the thing the writer talks about in the article; do not be lazy when it comes to pluralization.

I get nostalgic remembering that era in computing.

lowercased•1h ago
When you interacted with a 'computer' once or twice a week, perhaps... seeing "please" is ... neat? A 'wow' factor ("wow! It knows English!")?

Peppering input fields and forms and folksy welcoming language scattered thoughout might be useful now and then, but for systems where people are using it repeatedly hourly/daily/weekly... it's (at best) clutter and noise.

abraxas•1h ago
Number "two" in Polish (depending on context): dwa, dwoje, dwie, dwóch, dwiema, dwom, dwojga, dwojgu, dwójka, dwójki, dwójkę, dwójką, dwójce, dwójko

So that's just my mother tongue. It think your problem is a bit more complex than (s).

kachnuv_ocasek•1h ago
Same argument applies. You, as the developer, always know in what context the text appears. Whether it's "dwa zdjęcia przesłane" or "dodano tagi do dwóch zdjęć".
abpavel•1h ago
> You, as the developer, always know

Definetely not "always".

maratc•1h ago
I think it's more about inclination of the words that can't be replaced with a number.

In English, it's easy:

   * 1 *file* sent
But:

   * 2 *files* sent

   * 12 *files* sent
 
   * 21 *files* sent 

   * 16,777,221 *files* sent.
How does Polish go about that?
abraxas•49m ago
1 plik wysłany

2 pliki wysłane

12 plików wysłanych

21 plików wysłanych

BUT

22 or 23 or 24 pliki wysłane

BUT again

25 plików wysłanych

16'777'221 plików wysłanych

maratc•43m ago
Is it still "16'777'222 pliki wysłane"?
abraxas•34m ago
yeah, the last digit matters. But sometimes the second last as well because of teen numbers:

22 pliki wysłane

12 plków wysłanych

nickelcitymario•55m ago
Holy moly, and I thought French (my mother tongue) was complicated due to conjugation. I'm fascinated by what possible context could call for this many variations on how you spell/pronounce a number.

Any chance you know of a good article on this? (I could ask ChatGPT, but I'm trying to let go of that crutch.)

abraxas•37m ago
I'm not a linguist so I can't send any articles that explain the origins of this mess. But here are actual examples of usage:

dwa ptaki (two birds)

dwoje ludzi (two persons)

dwie dziewczyny (two girls)

idę z dwiema dziewczynami (I'm walking with two girls)

dałem kwiaty dwom dziewczynom (I gave flowers to two girls)

kanapa dla dwojga (a sofa for two - gender unspecified)

dałem śniadanie dwojgu (I served breakfast for two others)

dwójka to słaba ocena (two is a poor grade)

dwie dwójki to razem czwórka (two twos are four altogether)

dostałem dwójkę z Fizyki (I got a two in physics)

z dwójką przyjaciół poszliśmy do klubu (we went to the club with two friends)

w autobusie dwójce siedział pijany facet (there was a drunk fella on bus number two)

O, dwójko, nie wracaj już do mojego dziennika (Oh, two, don’t come back to my gradebook again)

Of course I don't consciously think about when to use the right conjugation. I just know it by heart and it's second nature but I can only give coherent rules to some of them.

socalgal2•20m ago
this post is 30+ years old and demonstrates the naïveté of the OP

https://perldoc.perl.org/Locale::Maketext::TPJ13#A-Localizat...

thewisenerd•1h ago
given the image in the post is specifically of the azure portal, the following is a very real notification message from the same:

Deleting load balancer '[object Object]'

cynicalsecurity•1h ago
False title.
zkmon•1h ago
Not for me. Exccessive customer obsession puts me off as customer. Don't try to read too much into me. Don't try to sell too much. Don't try to please me too much. Don't think about me too much.

Instead, think about the stuff you are offering. Treat it as if you are building it for yourself, and not for selling. Build it the way your like most. Sound as if you don't care about selling. Be proud of it. Get off of the sales pitch and pleasing talk.

Stay equal with your customer regarding who should please whom. It's an exchange of value between equals. No need of one pleasing the other too much. Customer need not have the upper hand. They should be just as desperate to buy, as you are for selling.

If selling is seen as a win for the seller, then it should always be a loss for the buyer, which is not true. Once you stop seeing it as win, you will stop this overreaction.

robofanatic•1h ago
> Instead, think about the stuff you are offering.

This is exactly what the author is doing. Paying attention to detail. Not upselling you anything. He is not getting any direct ROI for doing that.

I recently hired a contractor to clean ducts in my house. He was really nice guy, while his partner was working, he chatted with me about how their carpet cleaning service could make my carpets look like new, and even pointed out a few spots in the kitchen where grout cleaning might help. He was a great salesperson and very personable but when they finished the duct cleaning, they left a bit of debris behind. It wasn’t a big deal, but was enough to make me forget all the upselling he did before. Just goes to show that a little attention to detail can make a big difference. Next time I might shop around or may hire them again only if they give me a much better price.

nickelcitymario•59m ago
I feel like I'd agree with your comment if it was in reply to an entirely different article.

As in: I agree with your sentiment and ideas. Out of context, you're bang on correct.

But I don't think paying attention to details (like pluralization) is an indication of obsession with the customer, at least not for me. It's about caring about the craft.

When I'm building something for my own use, I care about every aspect of it. I care about the unseen parts. I care about the process. It brings me satisfaction. And when I'm buying something, I like to know that the person who made it cared as much about their craft as I do.

I don't consider than pandering. It's respect: Respect for the craft, for the craftsperson, and for the end recipient/customer.

But maybe I missed something. What was it about the original post that felt like excessive customer obsession? Genuinely curious and open to being mistaken here.

zkmon•29m ago
Sorry if my comment sounded out of context, but it is a very thin veil between craftmanship and salesmanship. Everything that you do to get the sale can also be seen as craftsmanship. The difference is about who is the user? Any feature that you put out just for the sake of pleasing someone should be an anti pattern. If your post is aligned with this, then I stand corrected

Btw, passion displayed in your post is great, but sometimes, it could mean excess for you and your team.

BrtByte•58m ago
Still, I think the original article was less about salesmanship and more about craftsmanship
shermantanktop•1h ago
This is the brown m&m theory. https://www.smithsonianmag.com/arts-culture/why-did-van-hale...

A trivial, superficial fact is assumed to be indicative of a much more substantial concern. For Van Halen, the candy dish indicated adherence to contract terms; here, pluralization indicates the integrity and values of an entire company.

It’s a cute idea that suggests an easy way to understand something complex. But there’s no free lunch. If you want a free lunch, you’re asking to be taken for a ride.

skeeter2020•1h ago
Van Halen was playing giant stadium shows that were massive logistical and coordination challenges and used this contract language as a canary for more important aspects like the scafolding setup. If they didn't read the catering closely, did they also skim the electrical schematics? Their concerts were perfect scenarios for heavy-weight process, defined procedures and scientific management. A lot of software is punk rock DIY; get something of value out there asap and then iterate. If you don't release until your pluralization is perfect you've waited too long.

I think we're in agreement, just highlighting these are very different approaches to essentially management at different phases of the project lifecycle. Van Halen probably didn't have that rider in their contract at their first show.

jordanb•1h ago
This is the excuse Van Halen used much later after to explain his extreme princess behavior.

I have never bought it.

If you want to make sure the venue is set up right you probably need to send an electrician to check on it before your tour arrives. The M&M thing may show if the venue operator read your contract not if they bothered fulfilling the parts that would be expensive (upgrading a building's electrical is expensive, making an intern pick the brown M&Ms out is not).

It probably didn't even prove that the venue operator read your contract. More likely the first time Eddie stormed out after seeing a brown M&M word would get around to everyone that "Eddie will flip his shit if there's a brown M&M so get rid of them. Yes, Seriously."

codelikeawolf•1h ago
My sister has worked as the operations manager for a large concert venue for several years and she has some great stories about contract riders. She regularly needs clarification on whether she needs to provide what preposterous thing they ask for. I think Lady Gaga asked for a goat, which ended up being in there to verify she read the whole thing, so no goat procurement was necessary. However, Sharon Osbourne (i.e., Ozzy's wife) didn't want to see walls. My sister needed to have production hang up curtains everywhere in the dressing room. Some of these people have become completely detached from reality.

As a result of this, over the course of her career, my sister has accumulated the weirdest contact list I could imagine. If I needed a bouncy house, chainsaw juggler, Russian interpreter, and a blimp, she could probably set that up in 30 minutes without ever needing to search online.

flatline•39m ago
Missed opportunity to procure a goat. When I’m doing project management like this, if I ever have a minute to come up for air between getting all the essentials in place, I will absolutely prioritize little things like that for my own amusement and, hopefully, that of the client. I would at least have gone as far as lining up a supplier, getting a quote, and letting the client know we’re locked and loaded with a goat if they really want to pull the trigger.
cjs_ac•1h ago
For non-technical users, the user interface is the program. To them, there's nothing beneath the shell. My last boss didn't like Macs because his PowerPoint presentations rendered differently on them compared to Windows. There are millions of real people with consequential positions in important organisations who think like this.
sevensor•1h ago
Getting your program to render the same on different platforms takes a lot of work the user will never see, and that goes double if you actually want it to behave the same. There are some very deep problems you have to work through, like what behaving the same and rendering the same even mean. Same window decorations? Same menu layout? Same dialog boxes? How are you doing font rendering? How much do you embrace platform defaults versus steamrolling over them in the name of uniformity?
cjs_ac•53m ago
You're not wrong, but making these sorts of arguments was the start of me being managed out of that company.
1dom•1h ago
There's so, so many different reasons in the real world as to why/how details like that end up in front of the customer.

Is OP happy to work for Satan as long as he appears grammatically accurate, polite and concise?

Alternatively, OP is a nightmare to work with because every single other role in the company has to do things in exactly the way the engineers want, otherwise they're careless morons.

cluckindan•1h ago
Satan is very underappreciated as an employer.
1dom•1h ago
I'm sure he pays well too!
rkomorn•1h ago
Doesn't he always barter for your soul?
1dom•1h ago
I'd guess he barters for soul(s).
mattlutze•1h ago
OP is not being literal. Satire and the interpretation of it are important for a healthy and nuanced world view and discourse.
1dom•1h ago
Sorry, I'm being dumb then. Could you please spell out what I'm supposed to take away from the article? I really can't see any satire in here.
shaan7•1h ago
Qt has provided a solution for this since its early days: https://doc.qt.io/qt-6/i18n-source-translation.html#handle-p...
techblueberry•1h ago
+1! I really appreciated this post(s)
jordanb•1h ago
This is the Californian Ideology in a blog post. The implication that title and intro mean to imply is working for companies that build products that are not evil and hostile to their users.

But the call to action is to.. embed logic in the programs to pluralize properly (in English).

It's possible to write evil software that pluralizes words. It's possible to write beneficial software that does not pluralize words. This blog post is about the color of the bikeshed next to the torment nexus.

canes123456•1h ago
I am baffled why you are inserting good and evil into this. He just seems to want to work at companies that value craft and attention to detail. It just like the jobs quote about the back of the furniture also being attractive.
cj•1h ago
Ironically, I could see the author's logic being used as a justifcation to build more "evil" features:

> Talk to me like I’m used to. Be familiar, be approachable. I want to feel like you care about helping me. Not “me” as in “all the prospective 99,99,999 users”, but “me” specifically. Users shouldn’t feel like they’ve been dropped into a cookie cutter template - a cold, hard reminder that this is clunky, soulless machinery removed from their world.

In other words, the author wants a personalized experience. A personalized news feed. An experience that is tailored to them. (Isn't that what everyone is complaining ruined Facebook, insta, youtube, etc?)

I don't think that's what the author actually wants. I think it's just poor framing / unclear writing.

If the idea is "I want to work at a company that cares about its craft" -- the example they picked to illustrate that point is just odd. Whether or not a company uses a combined singular/plural form like "Uploading File(s)" is not a very good indicator of whether that company values its craft, IMO.

John23832•29m ago
Personalization != using appropriate common language to express what is happening to the user.
commandlinefan•48m ago
I was honestly expecting the link to be somebody's quixotic rant about software that does "good" in the world rather than serves ads and I was pleasantly surprised to see something I can actually relate to.
abathologist•6m ago
Right? Why would anyone muddy work with morality in this day and age? Morality is so 2010s.
ivape•34m ago
It seems like a douchey post but it’s not. Just browsing the internet makes me regularly question how difficult it is keeping the tech industry full of people that give a shit. Software ate the world and along with it came a contingent that don’t care enough about it. The choppy first page load, the non-smooth scrolling, the ads janking in, shifting layout and content in unpredictable ways, and finally the bombarding of intrusive ads and popups where the dev didn’t even take a few minutes to construct a sensible UI compromise (yes, we need to show ads, but can we show the ads without anal fucking the user’s eyes? Yes possibly).

So yes, we have a real IDGAF issue in tech, and I can’t imagine this getting better because Gen Z all have a casual drug dealer “this just my side hustle” attitude, and Millennials will not a give a fuck because they are still pissed about the GFC and the cost of housing. The Leetcode people don’t give a fuck because they are burnt out on Leetcode and their entire identity is based on salary and very little to do with quality of their actual work.

There’s literally … and I mean this, there’s literally no one left to care.

jordanb•27m ago
They don't have intrusive ads because programmers "DGAF". They have intrusive ads because they need to juice their clickthrough metrics with dark patterns.

Same with all the bad performance. Sometimes this may be a mistake but almost always it's because the site is firing up 50 prerender tracking scripts.

The author is trying to imply that if everyone focused a little more on making the computer feel like your robot friend, the industry would quit producing shit software. But the reality is the industry creates shit software because it is running an ad-supported malware business model.

John23832•29m ago
There's no good or evil here.

Have attention to quality. Do whatever it is that you're doing well.

cmdtab•17m ago
We want to hire engineers who really pay attention to details and great product experience but it’s quite rare in practice. Hiring is super hard.
fhub•6m ago
Outside of engineers there is a whole raft of people on a team that should pick up and push back on this sort of copy problem at all phases of building a product.
annodomini2019•1h ago
Always thought you kinda have to do this to create a product that can even be translated considering languages like French where plurals take many forms.
ebiester•1h ago
That was my first thought as well, but interfaces that take care of pluralization with an i18n framework can handle all of these.

It just takes longer and is at the expense of another feature. In truth, it mostly takes more skill - once you have that skill, it's another 5 minutes. There are a few edge cases, but you largely have the necessary context to translate a string. You have to translate the string in its entirety instead of relying on composition of translated chunks. (This is already best practice.)

lionkor•1h ago
> a cold, hard reminder that this is clunky, soulless machinery

This is where my view differs fundamentally. If I get another "let's set up your account!" text in a soulless, cold software, I am throwing my laptop out the next window.

It's a machine. It needs to communicate information to me. A large part of the AI boom is that we can now pretend that it's not a machine by using enough compute power to probably solve every problem ever, just to say "Of course -- you're so right!".

We made sure to write software so inefficiently and badly that you can barely tell how powerful modern computers are.

Just another little layer, one more branch, one more step between the user and the hardware -- just buy more ram. Buy a better CPU. They now have double the cores, you hear?

mantas•1h ago
Wait before author finds out there're languages with more forms than singular and plural...
Blackarea•1h ago
I literally couldn't care less. You can call it '1th of April' for all that i care if the actual functionality you offer is clean and fast I'll gladly accept!
commandlinefan•42m ago
I get where the author is coming from, but having grown up in the 80's, I always thought "1 item(s)" looked slightly _more_ professional since it followed the way printed documents were usually produced.
angiolillo•1h ago
It's a tradeoff.

I love projects where I can "sweat the details" and refine not just wording but typography, padding, visual alignment, layout, edge cases, colors, workflow, etc. And where the back-end, QA, doc teams are similarly able to hone their work to perfection.

But I know that this isn't always Pareto optimal. Sometimes your user, customer, and business are better off if you swallow your pride and deliver an imperfect solution now instead of a better solution in the future, and knowing when and where to strike that balance is a sign of maturity, not disrespect.

jasode•1h ago
>You can’t have your UI disrespecting [...] and I care too much!

I think it just highlights that people care about different things. I've seen the "(s)" placeholder for decades in computer UIs and it's never bothered me. On the other hand, blog article characteristics that bug me is a having a title be a non-descriptive teaser with ellipsis (...) that doesn't describe the main point and not having a publication date at the top.

But I'm not going to complain about blog articles that "disrespect" readers that way because apparently, it's ok with some writers and some readers.

Likewise, someone using the Comic Sans font never bothers me -- but on the other hand, displaying big numbers without any thousands separators is very annoying.

I code a lot of utilities for myself and I always avoid the "(s)" problem by re-ordering the text. Instead of:

  Uploading 3 image(s)
The UI is:

  Number of images uploaded:  3
That looks ok for all quantities and doesn't require tedious ternary logic everywhere :

  Number of images uploaded:  0
  Number of images uploaded:  1
  Number of images uploaded:  2
socalgal2•24m ago
I'd be curious if that holds for all languages.

The plural version does not and as you pointed out, there's a solution in English that works. But, I'm curious if there are any languages were that type of solution doesn't work.

https://perldoc.perl.org/Locale::Maketext::TPJ13#A-Localizat...

BrtByte•1h ago
The quiet tragedy of "almost good" software
codegeek•1h ago

    (minutes == 1) ? "minute" : "minutes"
I really care about this one. One option I suggest is to use minute(s) etc that can take care of both 1 and higher numbers.

    1 minute(s) works
SirensOfTitan•1h ago
While I don’t think proper pluralization is indicative of anything outside of real world time constraints, I am a fan of these kinds of tacit signals.

Last week, my wife and I toured a school for our daughter. The school gave us these pretty notebooks with a blackwing pencil, saying that they “take writing seriously here.” I noticed that the students, however, did not use blackwings but cheap low quality yellow pencils. This signal prompted me to pay closer attention, and I found half a dozen things that affirmed the bad feeling I had about the place.

It’s a simple rule, but in the era where everyone is trying to sell me, I use Bill Hamilton’s Say Mean Do rule from his “Saints and Psychopaths” about finding real spiritual mentors. Broadly: saints say what they mean and do what they say. Unfortunately it’s probably just as hard to find tech companies who are honest as it is to find a true spiritual mentor. B2B SaaS sales cycle is usually just checkbox hunting and CYA.

strickjb9•1h ago
I know this is besides the point but translation libraries are perfect for this even if you aren't creating a multilingual site. You define your singular/plural forms in one place.
barumrho•52m ago
“이/가” is the Korean version of this. It depends on the sound of the word that precedes.

I still remember seeing it when I first started using Windows 95. As a kid, I was amused that it didn’t know which one to use. Really, I didn’t even know that I was making that choice (and couldn’t say what the rule was).

If anyone is interested about it, this page explains https://www.90daykorean.com/i-ga-grammar/

commandlinefan•49m ago
I feel the same way about wasteful software. I've spent most of my career working for people who would rather I sit idle and do nothing at all than "waste" valuable programmer time trying to optimize our software. We have websites that load slowly, downloading gigabytes of unused and useless scripts that nobody has the courage to remove because nobody remembers why it was put there in the first place.
Cthulhu_•31m ago
I wouldn't want to be part of a company that uses a ternary to make an English only i18n thing. Please use a proper i18n framework that supports proper pluralization, as the Polish example highlights.

Keep in mind English is a super weird language, it's three languages in a trenchcoat with stuff like 'beef' coming from French and 'meat' from Germanic.

Communitivity•14m ago
The article makes sense for me. I see it like the broken windows policy of software development. If you allow sloppiness in the small places, the places where you allow it will grow, until your code base is riddled with it. The fight for code quality is also a fight against damaging bugs and against exploitable vulnerabilities.

One big problem with the fight is that industry is incentivized to cut corners. '(Fast, Cheap, Good)..pick two' often results in managers picking fast and cheap. In some ways,they seem legally obligated to fast and cheap due to fiduciary responsibility to the stockholders. That's only if you look at the potential profit and risks from a very short term. Alas, that is what most of the world's businesses do at the moment. To paraphrase Dom from the Fast and the Furious, "We live our lives one business quarter at a time". Eventually Dom discovers the futility of that during the course of the series. Hopefully we will too, before we crash.

OhNoHereWeGo•10m ago
Thank you so much for the laugh!

> Hopefully we will too, before we crash.

I think LLMs are helping us to bolt rocket engines to cars.

philk10•8m ago
the broken windows theory that was shown to be flawed? :)
OhNoHereWeGo•7m ago
The essence of this post is about craftsmanship, value, and caring about what you're doing. It's really hard to put this into words. There's certainly a gradient and trade-offs to be made. In most businesses, the priority is to make money. This is not bad. Business owners deserve to make money for their efforts.

It's always been the case that "bean counters" will optimize to increase profits. If you want a superior product, you have to pay for it. Particle board furniture sold at Walmart certainly wont last nearly the same way as hand-crafted pieces by Gomer Bolstrood. The contrast is dramatic. Mass produced disposable products vs one-of-a-kind products built with a high attention to detail.

The idea of paying more for quality doesn't seem to apply to software. Maybe I'm romanticizing the past, but I believe it did once. I believe that the software developers of yore cared more about their craft than most of the ones employed today. I think they had to. If a product didn't sell, it was pulled from the shelves. It would be dropped by distributors.

Somewhere along the way it's become more important to prioritize minimal time to market, and minimal viable products. People who care about software quality still exist, but they are slowly being squeezed out by others who don't. Profit, growth, and market share have become more important than providing real value to users.