upvote
> Well, nothing is easier then adding constraints.

Which is why dieting and quitting smoking are famously easy things to do! ;)

There's something to be said for the "scrappyness" of resource limitations inflicted upon you when solving some problem. A sense of Triumph against the Universe itself is a nice pay-off

reply
Smoking and eating unhealthy food are constraints to life! ;)
reply
Which is often the case in music too actually. So many famous artists and bands created their best work early in their careers. You would think touring and several albums make them perfect the craft of making songs, but I think involving money and external pressure actually kill the creative spark if you’re not mindful about it.
reply
Those early albums often consist of material that was basically battle-hardened by the time it reached the studio. Bands early in their career often spend lots of time all in the same room, writing songs together then do lots of playing for small crowds, where they get a very up close feel for the audience response. Material that doesn’t go over well with band mates and audiences gets dropped.

With the industry’s album release cycle, bands are often under time pressure to cut a new album, so they end up writing in the studio, each person laying down tracks individually, and missing out on all the feedback of earlier iterations.

reply
I wrote about 10 albums and my music generally got better over time, but I just stopped writing because I had children; also less time for creativity with a family.

If I were forced to write music, now, for money or whatever, it would be bad music.

reply
Because the software industry doesn't pay anymore for constraints or doing things "the hard way". Everything is high-level language and by tomorrow. The day after it doesn't exist anymore anyway.

I'd wish to get a project that's low-level, multi-year and high quality of engineering and longevity. Make the best you can – something to be proud of.

reply
> Well, nothing is easier then adding constraints.

Technically it's easy. Mentally it's nearly impossible. This comment posted on Ars yesterday blew my mind:

https://arstechnica.com/ai/2026/07/we-cannot-choose-to-becom...

tl;dr: When given the easy option, people always take it, even when they know the hard route would be better in the long term. But the full story is interesting and not that long, it's worth reading.

reply
Adding contraints makes it take longer to deliver a result. I probably cannot install today's engines SDKs and related tooling for example. I'd have to write my own. Doable, and would make me a better programmer, but you won't see results for a long time.

As it happens, I do this. I have various projects burning for years and yet to be published because in my hobby time I value good engineering over results.

reply
> nothing is easier then adding constraints

What's easier is removing the constraints you just added artificially. Constraints you can remove with a flick of a finger are not constraints.

> so why don't you add them back

The reason the proverb says "necessity is the mother of invention" is because "desire" is usually not enough to drive it. It's easy to take the hard road when you're forced onto it, but very hard to choose it when there's an easy alternative.

reply
> Constraints you can remove with a flick of a finger are not constraints.

Why not? Who cares how/why they're there, as long as you follow the constraints, regardless of how easy they are to remove, they're still there.

I frequently use this when stuck creatively in music production. "Ok, now I can only use this filter for any sound shaping", or "Make a song using only instruments outputting mono", or "Maximum 10 cables to make a new sound on the modular synth" or whatever. Really easy for me to skip these artificial constraints at any time, they still help a lot.

reply
> Who cares how/why they're there

The people who face them. The constraints are making the goal harder to reach. The goal is on the other side of the constraints and it takes power of will to refuse to remove them and keep pushing. This forces a different, slower, more difficult to reach solution.

> when stuck creatively in music production

So you're not introducing constraints, you're creatively trying out things to fix your problem. They're not a wall preventing you from reaching your goal, they're the bridge. Your constraint is the temporary lack of creativity, and what you introduce is the means to reach the solution faster.

> Really easy for me to skip these artificial constraints at any time, they still help a lot.

When you remove these you're stuck in a creativity block and failed to achieve your goal. When you remove actual constraints you make the goal easier to reach. It's a matter of perspective and what you want to achieve. You wouldn't want a long road through the mountains as your daily commute but it's probably lovely as a hike.

The only way to make the problems comparable is to set a programming goal of "write the most efficient code to do X" but for real work the goal is almost always "do X".

reply
> So you're not introducing constraints, you're creatively trying out things to fix your problem. They're not a wall preventing you from reaching your goal, they're the bridge. Your constraint is the temporary lack of creativity, and what you introduce is the creative solution.

I feel like we're talking past each other. Adding these sort of requirements in order to "fix the problem", is typically what people are referring to as "adding artificial constraints to foster creativity".

The goal is making a song, anything that restricts you on how you are allowed to do this, is a constraint, as far as I understand the word "constraint" at least.

> When you remove actual constraints you make the goal easier to reach.

Yes, this is why the previous examples are constraints, not "bridges". Without them it's easier, with them it's harder.

reply
I think you're missing the context of what started this thread:

> I was a kid/teenager with a really slow computer [...] b) I think I was a way better programmer. Constraints make you better, you have to be smarter.

The goal is "write software" not "write optimized software".

When your goal is to write a software that runs on your machine, having the constraint of a slow machine forces you to write optimized code which is a slower, more difficult solution. When you have an unconstrained fast machine you can write boilerplate unoptimized code, which is quick and easy. If you constrain your fast computer you go from "easy solution" to "difficult solution" for the same goal of "write software". No programmer will ever say "making the computer slower really helped a lot to write code".

Your goal is "make a creative song" but you're stuck. You don't introduce constraints because they'll make it harder to get unstuck, you introduce them to make it easier. You literally said "they still help a lot".

> I frequently use this when stuck creatively in music production. [...] Really easy for me to skip these artificial constraints at any time, they still help a lot.

That's what you're missing. For you the real constraint would be to get creatively unstuck without any tricks. You are introducing things to help you reach your goal to get unstuck. You're expecting programmers to introduce things that prevent them from reaching their goal of creating programs that run.

In reality one huge reason software is slow and unoptimized is because programmers have beefy machines and can afford to take the easy road.

I didn't expect this simple concept will need so many explanations.

reply
> I didn't expect this simple concept will need so many explanations.

You and me both brother :)

> No programmer will ever say "making the computer slower really helped a lot to write code".

I guess I'll be the first, as a programmer I do this all the time, when developing browser stuff I frequently throttle the available bandwidth and introduce jitter in the network connections so I can see and understand how things work with less optimal network connections, loads of us professional programmers do this when aiming for high quality software meant for end-users, in loads of different environments, not just browser development. Making the computer/IO/whatever slower/"less" does help a lot to write software for others.

> You're expecting programmers to introduce things that prevent them from reaching their goal of creating programs that run.

Well, yes and no. I expect professional programmers, my peers, to do this, as this is how you typically build reliable software, but I don't expect everyone to do this, definitively not amateurs just programming for fun.

> Your goal is "make a creative song" but you're stuck. You don't introduce constraints because they'll make it harder to get unstuck, you introduce them to make it easier. You literally said "they still help a lot".

Cheers for the attempt to decide what my goal is but no, the goal never is "make a creative song", the goal is precisely as previously stated: "make a song". Helpful tip for the future, read and understand what people write and don't assume they lie or misunderstand their own intention, and it'll be easier to understand other's point of view.

Regardless, I feel like both of us are digged into our understanding what the whole "add constraints to do better" process means and is, and no harm no foul, what I know helps me and I'm sure what you know helps you, so lets just leave it at that :) Wish you the best of weekends!

reply
You do that because your goal s “optimized code” not just “code”. Your constraints are a tool that helps you achieve your goal. For most others the constraints are limitations from achieving their goal.

For me wearing a parachute is a constrain and carrying it is an act of will. For a skydiver not so much.

reply
> You do that because your goal s “optimized code” not just “code”.

Again, my goal is "Ship working software", I don't care about optimizing at all, just baselevel "working" state of things, that's why I test things like reliability. But also again, our perspectives and understanding of terms seems to diverge a bunch, so much that discussing them seems relatively fruitless, at least seemingly to the two of us.

reply
Simple and easy are often conflated a bit, but measured by outcomes, are quite different. Comments offerring humorous parallels of common simple and easy conflations will follow.
reply
That's true, I just wanted to maybe add a new perspective to 101008 view that if he enjoyed working with technical constraints, he can still target eg embedded systems with massive resource constraints - and also to force an acknowledgement that the reason for his likely nostalgia to this kind of coding is likely more related to the mental freedom he enjoyed while working back then ... Because that too can be done, albeit with the caveat of time constraints because life doesn't go away no matter how much someone may want it to.
reply