Craft Software That Makes People Feel Something
Key topics
The debate rages on about crafting software that evokes emotions, sparked by a thought-provoking title that some likened to the "Chinese curse of software development." As visitors explored the linked site, they were delighted by the mouse trail effect, with one commenter praising its O(1) memory usage, although another questioned whether it was truly constant. The discussion meandered through a range of emotions, from dread (inspired by horror games and Atlassian apps) to happiness and relief, with many sharing their personal experiences of software that elicited strong feelings. Amidst the varied perspectives, a common thread emerged: well-designed software can indeed evoke powerful emotions, whether intended or not.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
18m
Peak period
120
0-12h
Avg / period
26.7
Based on 160 loaded comments
Key moments
- 01Story posted
Dec 11, 2025 at 8:45 AM EST
29 days ago
Step 01 - 02First comment
Dec 11, 2025 at 9:02 AM EST
18m after posting
Step 02 - 03Peak activity
120 comments in 0-12h
Hottest window of the conversation
Step 03 - 04Latest activity
Dec 18, 2025 at 2:42 AM EST
23 days ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
Fun tidbit: Just to make sure I got it right, I quickly googled the phrase. Gemini's elaboration on the topic truly made me feel something. Gemini's answer:
A "Chinese curse" often refers to the phrase "May you live in interesting times," though it's not actually Chinese but a misinterpreted English saying, while actual Chinese curses involve direct insults like "Cào nǐ mā" (Fuck your mother(sic!))
The more "sentimental" or "egotistical" a piece of software is in itself, the less I like it. Taken to the limit, the title of the article commands us to generate Skinner boxes.
Some of the best tools I’ve used felt like they started as someone’s private playground that only later got hardened into “serious” software. Letting yourself park Boo, go build a language, and come back when it’s fun again is probably how we get more Rio/Boo-style experiments instead of yet another VS Code skin with a growth deck attached.
I wish they'd allow making issues and pull requests sponsor only. Could enable a business model.
Is this some sort of unwritten agreement? When I was setting up my sponsor page, I explored the sponsor pages of other users for ideas. I don't think there were many sponsorship tiers with special features. Some people offered advertising space on the README, others offered access to an exclusive Discord channel, most just thanked the sponsor.
AI often doesn't do things your way, but if your doing something for yourself you usually care more about the goal than the technicalities. Also AI working on a hobby code base is less prone to overcomplication since it basically copies what you've wrote yourself.
In terms of productivity it's having something of a mixed effect. It gave me very clear ideas and direction but at the same time everything just feels done after I'm done discussing it. All that's left is actually executing the tasks which is... Boring.
I'm not sure I trust ChatGPT to do it for me like an agent. The examples it gives me are never quite right. It's probably a lot better at generating frontend javascript code than programming language interpreter code.
We don't always have to solve problems with technology. Sometimes you can just tell people things.
I like the idea of crafting tools that allow the user to accomplish something that would ideally not need software.
Even better if the most prominent feature of a necessarily complex software solution, is the behavior to the user as if it is absent completely.
This is not my personal experience nor the experience of a number of folks that I know personally. I think it's pretty hard to generalize about this.
> The vast majority of stuff on GitHub goes unnoticed by the vast majority of people. And only a very small minority of people ever interact with the few projects they do pull from GH.
So what? It's probably not going to impact you, so it's okay and we just have to deal with it? I reject that logic entirely.
I think it’s pretty easy to generalise because public repositories are public, so the data is available.
The vast majority of repositories on GH has between 0 and 10 stars and no issues raised by other people.
Even people (like myself) who have repos with thousands of stars and other GH members “following” them, will have other repos with in GH with zero interaction.
> So what? It's probably not going to impact you, so it's okay and we just have to deal with it? I reject that logic entirely.
That’s a really uncharitable interpretation of my comment.
A more charitable way of reading it would be:
“Worrying about a minor problem that is easily remediated and likely wouldn’t happen anyway isn’t a strong reason to miss out.”
If we were talking about something high stakes, where one’s career, family or life would be affected; then I’d understand. But the worst outcome here is an assumption gets proven true and they delete the repo.
Please don’t take this as a persuasive argument that someone should do something they don’t want to do. If people don’t want to share their code then that’s their choice.
Instead this is responding to the comment that your friend DID want to share but was scared of a theoretical but low risk and unlikely scenario. That nervousness isn’t irrational, but it’s also not a good reason by itself to miss out on doing something you said they did want to do.
If however, that was really just an excuse and they actually had no real desire to share their code, then they should just be honest and say that. There’s no obligation that people need to open source their pet projects so they don’t need to justify it with arguments about GHs lack controls.
"No one can make you [merge PRs] without your consent." - Eleanor Roosevelt, probably
I think you can disable issues but not pull requests, as far as I know.
It might be helpful to allow to disable pull requests too, and possibly to hide how many stars/watchers there are and hide the list of forks (people could still star, watch, and/or fork the repository, but they would not be listed on that repository if the display of those features are disabled).
Whether or not GitHub accepts these ideas, it can be an idea that other services (e.g. Codeberg) can consider adding such options if they want to do (as well as other things).
I think its worse then that. It seems the narrative is everything needs to be enterprise-scale by default. Those who value small languages and tools, experimentation, self-hosting, and the do-it-yourself mindset are the counterculture.
(Emacs)
When quartz watches came up the makers of mechanical watches struggled. However some people appreciate a good mechanical watch (and the status symbol aspect of course) and nowadays the mechanical watch market is flourishing.
Nobody (well, barring a few HN readers) will ever care if the software was written by people or a bot, as long as it works.
Homemade software often has fewer features, more bugs, and it can even feel isolating depending on the amount of time.
I love cooking, but I use almost no homemade software in daily life.
That's how it works for me. I'm currently turning a lot of raw data into a map of Berlin rents. I spend less time figuring out the map API, and more time polishing the interesting parts.
I don't care if a craftsman used hand tools or a CNC to build beautiful furniture. I pay for taste, not toil.
Emphasis mine:
> there won’t be a niche
> Nobody [...] will ever care if the software was written by people or a bot, as long as it works
Yeah.. wake me up when LLMs can produce even nominally complex pieces software that are on-par with human quality. For anything outside of basic web apps, we're a long way off.
With both of you doing research in your own ways, you'll get it right more often (I hope).
In the comparison I was making with respect to accuracy was that the bot is much more likely to accurately answer fact-based queries, and much less likely to succeed at any tasks that require actual 'thinking'. Especially when that task is not particularly common in the training set, such as writing a memory allocator. I can write and debug a simple allocator in half an hour, no worries. I'd be surprised if any of the current LLMs could.
If you look up the factual question in a quality source, you'll be more accurate than the bot which looked at many sources. That's all I meant.
That is probably true. But all evidence to date is that if the software is written by a bot, it won't work. That is why people will care.
"Mechanical watches" also aren't exploding at all. When people cite this, they're citing the overall watch market growing, because the market for million dollar watches is being driven by a very small group of collectors. Its also not sustainable, and will die down in ~10-20 years when these old guys finish dying. The average not rich person could not give less of a damn about mechanical watches. There's no great comeback on the horizon
Good luck for your new project!
Especially given that the teams client doesn't allow disabling or editing keyboard shortcut.
Microsoft employees may be lazy but unlike Facebook employees (I refuse to call it meta), I don't think they are evil.
At the former, I started right after school and was baffled no one I worked with ever used our product. I found it super demoralizing to build something so heavily used but unpopular, and eventually I quit out of frustration. I tried to change the product, and improve features, and frequently met with our product and UX people to no avail. We existed, of course, because sometimes popular free products need to serve business goals (thankfully not ads at least).
At the latter, we just had the challenge of building a complicated product, and with millions of users, you'll always get complaints. I had coworkers who would check reddit every morning and share all the complaints people had and really took it to heart. Of course, we could never properly debug or do anything for these random users, and "at scale" a 0.00001% error rate still meant a lot of disappointed people. It was still pretty demoralizing after a while but at least we could say people found us useful, even if it wasn't "fun".
Bonus if its like Sony BMG copy protection rootkit [1].
[1]: https://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootk...
This is a habit I picked up from two people I respect greatly as programmers; Casey Muratori and Jonathan Blow.
Those guys both built their own little lands; Jon went as far as building a new language, a 3D game engine in that language, and has multiple game titles in-flight in the engine.
I have a handful of projects that are similar in spirit. I'm largely the only, and target, user of these projects. It's joyful to work in an environment you control completely. No deadlines, no feature requests, no support tickets, no garbage collector, no language runtime .. just me and the OS having a party.
Do you mean they created their own fictional geographic worlds (or parts of worlds)? That's amazing. Many - including Tolkien, I think - have started that way. Sometimes, the world finds out about it. Robert Louis Stevenson started with a map.
Casey's done both Handmade Hero, and Performance Aware Programming. Some of the best programming educational content available, in my opinion.
I think if he ships a game and a programming language in any of those timeframes I will be very impressed. I also think it is likely.
Casey's done both Handmade Hero, and Performance Aware Programming. Some of the best programming educational content available, in my opinion.
In particular I've written a CLI framework and a few apps with it. The apps' requirements stretched the framework's capabilities, so I've rewritten large parts of it over the years.
It's incredibly satisfying to feel myself get better as a developer as I write and consume and improve my libraries.
I think Tolkien is in that group, for example. But don't get the wrong idea: much of the time, others aren't interested, or not many are. Sometimes, nobody is interested until after you've forgotten about it or passed away. Who cares? That's why you need to make it for yourself.
> Those guys both built their own little lands ...
Do mean, they've created fictional geography? That's amazing. Many (again, I think including Tolkien) had that before any story. Humans seem to come to the same place. There is a fundamental human need to 'externalize the imagination'.
Did the author chloroform them?
This is how many artists have worked. They make something for themself, and one day they show it to someone else ... or they just get the urge to share it more widely, often without the hope that anyone will really be interested. Or they keep it for themself.
I think Tolkien is in that group, for example. But don't get the wrong idea from an extreme outlier: much of the time, others aren't interested, or not many are. Sometimes, nobody is interested until after you've forgotten about it or passed away. Who cares? That's one reason you need to make it for yourself. Also, I think that otherwise it provides much less expression and insight into another person, which is at the core of art. There is a fundamental human need to 'externalize the imagination'.
That model depended on personal wealth or (more often) patronage. Because the supply of wealthy patrons was limited, it meant that you had fewer artists pursuing their visions like that.
Now, we democratized access to patronage, but it means that to support yourself, you need to deliver what gets you the most clicks, not that your soul craves.
"They make something for themself, .."
For the vast majority of people this means doing it on the side, in addition to their day-job. I've known a lot of artists in my time and we all have day jobs. You do art for yourself because you love to create, not expecting to make any significant money on it.
Today, more people have the opportunity to dabble in art than ever before.
> Everyone else needed to find menial jobs.
That doesn't mean you can't create art. Anthony Trollope worked for the post office. Einstein, who externalized imagination in somewhat different way and attributed much to art, was a patent clerk. New York and LA are filled with waitstaff-artists. A friend hired a moving company that almost exclusively hired artists as movers (I know - they weren't too skinny?).
Art, like anything else, lines up somewhere between a hobby and a career. Similar to athletes, somehow the cream just rises to the top.
You never hear about “starving athletes” I guess is what I mean.
I mean, just because this isn't a trope doesn't mean it doesn't exist. If you know anything about trying to get into pro sports of literally any type, you'll know that it's a lot of sacrifice for a long time. Most athletes who aren't literally the best in the world aren't paid a huge amount, and have to travel a lot to attend events to make that money.
> Art, like anything else, lines up somewhere between a hobby and a career.
Says who? Are you an artist? Many artists say - and I'm know nothing to doubt them - that they can give up art like you can give up food.
> Similar to athletes, somehow the cream just rises to the top.
No idea where you get that about art. Many complain that a lot of shlock rises to the 'top'. And how do we know about the cream that didn't rise? Many artists aren't discovered until they're old or dead - Van Gogh being the over-repeated example. But even Van Gogh!
It's easier in sports - you can win on the field; there's frequent, objective evidence. But that applies to clearly superior elite, who have access to training. With access Messi would probably be on top regardless, but the number of Messis is a statistical error. People who are professional-level but lower down the pyramid, whose names you don't recognize but who make up the overwhelming majority of athletes, often say it depends mostly on relationships. There are plenty of people like them, and if they get a job depends on their relationships with coaches, agents, etc. You hear about athletes that seem perfectly capable, some even good or very good, but getting no calls.
Go to the 'hood and see the one returning pro ball player interacting with forty no-money kids trying their hardest to make it.
All of the kids would be better off pursuing a higher-probability-of-success career (including unionized manual labor), but that's not what's happening.
Those are some starving athletes.
It’s a life of constant travel, crazy hours and very little money.
You know, the kind of recognition that can only come when good fortune also smiles on such a dedicated worker.
I guess not all that many can relate unless they are doing creative work themselves.
But that's always been the first thing that comes to mind when I hear "starving" artist.
A certain one-eared Dutchman comes to mind...
I [sort of] remember a movie, once that had a kid basically doing a "Don Quixote" on the world, where his vision of everything was kind of wondrous.
Don't remember it well enough to recall its name, though...
For elucidation: https://en.wikipedia.org/wiki/Vincent_van_Gogh
He died a pauper, but his work is some of the most valuable in history.
Yes, sometimes I can't even guess why. Drunk and missed the target? Those little arrows are poor GUI.
It could happen.
For about the last year, about the only time I log in is to upvote somebody, and usually a while after I read their message. It can bug me for some time when it's one where I just can't settle for them being downvoted, or alternatively some upvotes are never enough.
Once logged in the sky can be the limit on my own comments sometimes, as I've mentioned before I guess all I have ever done is now known as responding to prompts.
I have a number of Commissioner Dreyfus-level haters. They pop up, from time to time, screech, and throw poo.
I cry myself to sleep, every night, over it.
Imagine a comment with a string of poo comments beneath it. It would get their point across and the silliness would save bad feelings and flamewars. @dang should try it on April 1st or something. I'm serious - it would lighten things up a bit around here and, as I said, dispel a lot of white lies, manipulative posts.
If you post poo, that's the only character allowed in that comment, and maybe your only response allowed in that subthread. Also, you can't downvote the parent. New and recent accounts can't poop - bathrooms for regular customers only!
The library's on GitHub and I could spam a link to it here, but it's much more exciting to spam a link to a poem that finally gets to use it - https://rikverse2020.rikweb.org.uk/poem/flaw
"When programming becomes repetitive, the odds of you creating something that makes people go “wow” are reduced quite a bit. It isn’t a rule, of course. You need to be inspired to make inspiring software."
The purpose of software for other people is not to make them go 'wow'; it's to help them with their jobs to be done. That's it. The software is always in service to the job the user wants to get done. Can that make them go 'wow'? Sure, but you can't..aim for 'wow'. That's the wrong goal.
As far as 'inspiration' goes, I'm with Stephen King: "Amateurs sit and wait for inspiration, the rest of us just get up and go to work."
Aside from where you've only duplicated something that already exists (in which case why bother?), what kind of software would you be able to create to help me do my job that wouldn't also make me go 'wow'?
Any part of my job that I don't have tools to help me with are the parts that seem impossible to have tools for, so when you defy that understanding, 'wow' is inevitable.
If we had stopped reiterating on the wheel our cars would drive on wooden logs.
But if you release a wheel today, same as any other wheel you can already buy, don't expect much fanfare.
Also if I'd dive into how F1 wheels are made, I'd expect I learn stuff that is fascinating and far from boring.
I think straight duplication is quite unlikely. You even say it's inevitable. Which is also confusing. Most code written is probably quite unremarkable, yet useful. Usefulness is a dominating factor, wow has a lot of depends.
Is it? There are many different people selling wheels that are all pretty much indistinguishable from one another. The first one no doubt brought the 'wow'. But when the second person showed up with the same thing, what 'wow' would there be?
Our entire system of trade assumes that duplication occurs as an inartistic piece, with the only defining difference in that duplication is the effort to make the same thing for cheaper. Otherwise known as competition. Are you suggesting that doesn't happen?
That's fair. But if you aren't offering a perfect clone, then you're offering something novel that will 'wow' your customers, no? The market will never take interest in what you are selling if there is no 'wow' factor.
> Which I think is unusual.
You make a fair point that unreasonable terms on intellectual property laws has made it much more unusual than it should be, but isn't unusual historically, and shouldn't be unusual given our system of trade that assumes that clones will be produced. It's the only way most people can participate in the economy (and why they currently feel left out; but that's another topic for another day).
> The purpose of software for other people is not to make them go 'wow' ... The software is always in service to the job the user wants to get done. Can that make them go 'wow'? Sure, but you can't..aim for 'wow'. That's the wrong goal.
Did he say in his post that he's talking about software for other people? Is the only purpose of writing software to do so for others?
The business plan seems to often be one of fomenting rage with plenty of people not feeling like it is happening at all.
Joking aside, I do very much agree with the OP. But I also wanted to note how things can get perverted. Few people are actually evil and most evil people get there slowly. What's that old cliché that everyone forgets? "The road to hell is paved with good intentions". The point is to constantly check that you're on the right path and realize that most evil is caused in the pursuit of good because good is difficult to do.
But also I wanted to share a Knuth quote
I am fully with him on this. It is the same reason Bell Labs had so much success. You let experts explore. They already know the best ways forward. Many will fail, but that's okay. In CS one of the biggest problems we have is that we try to optimize everything, but we're also really bad at math. If you want to optimize search over a large solution space with a highly parallelized processor you create a distribution. It's good to have that mean but you need the tails too and that's what we lose. You tighten the distribution when you need focus on a specific direction but then relax it to go back to exploration. But what we do, is we like railroads. We like to try to carry all the groceries from the car in one trip. We like to go fast, but don't really care where. We love to misquote Knuth about premature optimization to justify our laziness and ignore his quotes about being detail oriented and refining solutions.I think progress has slowed down. And I think it's because we stopped exploring. We're afraid to do anything radical, and that's a shame
[0] Knuth has another quote about programmers not being geniuses lol
That can require so much experience most people could never imagine it could be accomplished at all.
But if so, you could then herd geniuses, as long as they were also cats :)
When you single-handedly have to cover a lot of bases, you do what you have to do.
The mouse trail made me feel something else.
I can relate because of 2 things; 1. I also played a lot of legos during my childhood & loved it. 2. I have a similar "preference" on configurations & shell-profile. (ie. overall setup)
At work, I am the only person who has a personal configuration & automation package (ie. dotfiles) at my director's level organization. (Maybe there is another one or two at most)
Not only that, I also have a nearly complete automation to provision a new machine, virtual or otherwise using the same code. (usually maintained by make && make install)
I update things regularly. It has bunch of "utility" scripts. As it being a $FAANG company, once in a while, here and there, people stumble on scripts/solutions/docs (also markdown). There were even occasional CRs (code-reviews / pull-requests) I received.
Unless you're working on something with a lot of breadth, of course. A great example is yt-dlp which works on a huge number of sites. The wow-factor is high because it feels like it just works everywhere. That's only possible through a huge number of data parsers, many of which are not terribly different from one another
That's great, but then what's the point of this article?
The author is seemingly offering advice about why and how software should be built, but then claims to not follow anyone else's advice. Cool.
Just do whatever makes you happy. If you want to work on proprietary editors and programming languages, go ahead. I would argue that doing that in the open would both improve the projects and make the world a better place, far more than blogging about them does.
Normally, I do not shy away from sharing my hobby tools and experiments as open source software. Even if I am the sole user of a software I have developed as hobby, if I can find the time and inclination for it, I try to wrap it into a neat project with a README.md, LICENSE.md, etc. and try to share it on GitHub and Codeberg. I am not certain what motivates me to do this but I have a feeling it has something to do with coming across the Logo programming language early in life when I used to draw interesting pictures with it and share my Logo programs with my friends and teachers.
However, there was one piece of software I wrote purely for myself where I hesitated to share it publicly. It was a set of Emacs functions that helped me use the comma key (,) as a leader key. For several years, it lived as a small collection of functions directly in my ~/.emacs file. I always hesitated to share it because I felt like the way it worked would seem outrageous to experienced Emacs users. It didn't have a separate mode like Vim where the comma key would function as the leader key. The comma key would be a leader key right when you are otherwise typing text normally. That meant when you type 'I like eggs,', the moment the comma key after 'eggs' is pressed, my functions would kick in and try to read an Emacs key sequence where each comma played the role of Ctrl. For example, typing ',x,f' would function like Ctrl+X Ctrl+F.
So what's outrageous about this? At least, when I hesitated, I felt several things were outrageous about it. First, it does not let you type a comma in the normal way because every comma would invoke this special Emacs function that would treat it like a leader key. Just imagine mapping your comma key to Esc or a leader key in Vim. It's going to be very disruptive while writing normal text. The other problem was the choice of the comma key itself. Why not something less rare like the semicolon key? Also, the fact that comma has to be typed twice for a key sequence like Ctrl+X Ctrl+F could also be seen as a problem. Despite these possible objections, I had my own reasons for each of these questionable choices and this system worked very well for me for years.
After many years of having used this, finally two years ago, I took a leap of faith and decided to publish it. I moved all the code for it out of ~/.emacs into its own package, wrote up a manual, shared it with the Emacs community and crossed my fingers. Surprisingly, contrary to my expectations, the feedback was mostly positive. Some kind people also sent me pull requests that helped in improving the package by a great deal. And now it has a small community of users too. Although this tool was not meant to be used by anyone other than me, I find joy in knowing that there are some people out there who use this tool and the quirky and questionable design choices I made for myself work for them too!
i can’t explain what, it wasn’t just the colour scheme
atom was objectively worse on performance and a few other things i forget, but it felt so good to use
I tend to do things the same way. I write software that I want to use.
I do tend to go "all the way," though. Making it ship-Quality, releasing it on the App Store, providing supporting Web documentation, etc.
Makes me feel good to do it.
I always used to say "My dream is to work for free."
Livin' the dream...
That was a look into a world we steered away from.
23 more comments available on Hacker News