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. Everyone else needed to find menial jobs.
Now, we democratized access to patronage, but it means that to support yourself, you need to deliver what gets you the most clicks, not what your soul craves.
I sort of wish we still had both models, but I think that wealthy patrons have gone out of fashion in favor of spending money on crypto and AI.
"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.
It’s a life of constant travel, crazy hours and very little 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.
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.
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.
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.
We don't always have to solve problems with technology. Sometimes you can just tell people things.
I wish they'd allow making issues and pull requests sponsor only. Could enable a business model.
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 gives me very clear ideas and direction but at the same time everything just feels done afterwards. 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.
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.
I'm still new at this so I wouldn't know. I only ever had one sponsor. Happened organically after my work was independently posted here on HN once.
Edit: https://pocketbase.io/faq/
Look at the bottom, just an example how sponsors/donors may affect you.
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).
And if the README explicitly says the project isn’t open to contributors nor feature requests, then you’re even less likely to see that (and have a very valid reason to politely close any issues on the unlikely scenario that someone might create one).
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.
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 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)
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
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.
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.
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.
Also .. so what?
> Craft software that makes people feel something
Meta, Google, and all of FAANG already did that. They crafted software that made people feel hate, anger, depression, but sometimes joy. It's nice to get those cute animal posts when doom scrolling. It's a nice break from "you're all going to die", "everyone is dumb except you", and "you're powerless".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
| In fact what I would like to see is thousands of computer scientists let loose to do whatever they want. That’s what really advances the field
- Donald Knuth
I am fully with him on this. It is the same reason Bell Labs had so much success. How do you manage a bunch of geniuses?[0]. You don't.
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
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.
"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."
For those that might disagree (hey, it's HN), I would ask: how do you know when 'wow' occurs? Here's a clue: 'wow' can only happen when something else occurs first. That 'something else' is described above.
> 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?
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 lack tools to help me with are the parts that seem impossible to have the 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 intrinsic 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?
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...
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
Did the author chloroform them?
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 to maximize user engagement etc.
When quartz watches came up the makers of mechanical watches struggled. Quartz watches are cheaper, more accurate in many cases and servicing is usually restricted to replacing a battery. However some people appreciate a good mechanical watch (and the status symbol aspect of course) and nowadays the mechanical watch market is flourishing. Something similar happened with artificial fabrics (polyester, acrylic) and cheap made clothes, there’s a market for handmade clothes that use natural fabrics.
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.
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
"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
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.
> more accurate in many cases
It's laughable that LLMs can be considered more accurate than human operators at the macro level. Sure, if I ask a search bot the date Notre Dame was built, it'll get it right more often than me, but if I ask it to write even a simple heap memory allocator, it's going to vomit all over itself.
> 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.
Good luck for your new project!
That was a look into a world we steered away from.
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, but this doesn't matter if you're optimizing for personal happiness.
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!))