Hacker Newsnew | past | comments | ask | show | jobs | submit | joewils's commentslogin

I'll take "things you should never do" for $1000 Alex.

https://www.joelonsoftware.com/2000/04/06/things-you-should-...


Joel Spolsky wrote that about "large scale commercial applications", which Monica definitely is not.

Why is a large non-commercial app somehow immune from the concepts Joel speaks of?

Written before LLMs made Big Rewrites an absolute doddle.

LLMs have meaningfully decreased the cost of rewrites, such that many rewrites that wouldn't previously have made sense now do. They are still significantly costly and often a bad idea.

They also remove the secret menu item of rewrites which is to have some peace from management because you’re not delivering anything for a long time while you do the rewrite.

I predict AI will cause the number of rewrites people ask for to go down.

AI is better at doing Ship of Theseus rewrites too, and those are the superior option because they leave the system available for hotfixes at all times.


I've heard it referred to as the Strangler Fig pattern.

An absolute doddle assuming you have an absolutely excellent test suite. Otherwise on any nontrivial codebase you will still have regressions that make it to production and you will waste your time squashing bugs rather than writing new features.

the thing companies seem to be finding out is that quality is much more important when you're shipping 3-5x more per sprint and incident rates are multiplying at an even higher factor. allocating even less time to code review and testing is the norm, however, and it feels like the modern Agile SDLC is breaking a bit under this new mode

there's good skills to write test suites but each codebase needs its own bespoke implementation paired with so much institutional knowledge. but companies keep laying off those knowledge holders and QA to boot

it's almost like shareholders > leadership > middle managers see 'enshittification' as aspirational and are doing their best to implement a systems-level strategy in pursuit of it


I have a rule of thumb that goes something like, if you want to get people to use something 2x as much you need to make it 4x more reliable. The reliability becomes a enticement, and you will often underestimate how much more popular it will get, so if you aim for 2x you will likely see 3x and still have a lower incident rate per week than you experienced with lower traffic.

None of your users or managers think about errors as fraction of interactions. Even despite trying to label things as 99.99% reliable. Some managers will claim they do, but they aren’t being honest with themselves. Usually when they get mad it will be about having to deal with a problem happening twice in a week or a month. So now they’re yelling at you while you want to yell at them about being dishonest.


right, that was always the most surprising thing I saw when I made the career leap into tech

for all of it's vaunted 'big data' and 'metrics-driven outcomes' and whatnot, as soon as a single medium-to-large user starts complaining about an obscure component or wanting new features it was all hands on deck, roadmaps be damned, data out the window, who cares about CVEs/tech debt/fixing MVPs, let's do it MVP (again) instead of building something maintainable and extensible and then forget all about it like a child with ADHD when the next largeish user sends your C-suite an angry DM

meanwhile the core features that most people are happy with and the entire reason they chose your solution gets ignored and one day you look in your lunchbox and the food is all gone and C-suite's golden parachuted out to some cushier job somewhere else


Yeah the number of times displeasure with our lack of progress turned out to be some customer yelling at a manager who forgot to prioritize work for that customer and I later discovered was just letting the shit roll downhill was too damned high. I'm getting shit because you're incapable of uttering the phrase, "I messed up." Fuck that and fuck you.

As someone once put it, we should learn from the noble mule, who when beaten is more likely to stubbornly sit down and refuse to move than to get on with the work at hand.


As an American English speaker, I'm going to assume "doddle" is a synonym for quagmire.

A doddle is the same as a piece of cake, or a walk in the park; something that is simple & easy.

it is sort of amazing what I think is practical.

"rewrite in python." "no, let's try rust."

"I don't like the grand piano in the basement, let's see how it looks upstairs"


Can't help but notice that this line is not true anymore in 2026:

   > It’s harder to read code than to write it.

> It’s harder to read -bad- code than to write -good- code.

There. Fixed it for you.


It’s harder to read -any- code than to write it.

what? my impression is that it's truer than ever and this is why so many open-source projects are limiting ai contributions. and the reason GitHub can't seem to stay online for more than a day.

It's more true than ever. It's still hard to read code, much more so when it's the AI slop people tend to send you these days. And on top of that, you have to read more of it because you can't trust said AI slop to actually be correct without a thorough review.

IIRC the monica team already did this between v1 and v2, so v2 to v3 as another rewrite would be the same move.

that made sense when people painstakingly typed out code by hand. Nowadays the code doesn't really matter and can be trivially thrown away and regenerated as needed.

Same, I posted some corrections to Dr. Bauer's article: https://joecode.com/2026-08-19-sqlite3/


Interesting to see the original NYTimes article title at Archive.is: https://archive.is/uYj2f

"The Kabbalah Teaching That Changed How I See A.I."


Wow, what an idiotic retitling. I guess they figure it's better clickbait. Makes the actually thoughtful and interesting article sound like it will be stupid.



I've found most spam comes from bots operating from certain countries. Filtering traffic by IP address will stop a lot of spammy traffic. I've used a combination of GeoIP and IP address catagorization to limit the impact of bots on my side-projects.

Bot Protection: https://github.com/growlfm/ipcat

GeoIP Evaluation: https://dev.maxmind.com/geoip/geolite2-free-geolocation-data...

You can dig deeper using dedicated services for URL and image inspection.

Image Evaluation: https://cloud.google.com/vision/docs/detecting-safe-search

URL Evaluation: https://cloud.google.com/web-risk/docs/overview



Location: Seattle, WA

Remote: Yes

Willing to relocate: Yes

Technologies: Ruby, Python, SQL, HTML, CSS, Javascript

Résumé/CV: https://joecode.com/resume/

Email: joe@joecode.com

I'm a data janitor who prefers writing boring software using boring technologies. I'm particularly good at turning piles of spreadsheets into data-driven dashboards.


If print friendly reports are a requirement, I'd go with QuickChart (https://quickchart.io.)

Static charts similar to chart.js, but without all the javascript. I've found static charts are much easier to work with once print CSS layout becomes a requirement.


My favorite web-based SQL editor and browser: https://www.adminer.org

Single PHP file. Super simple setup and configuration.



Is it new that even in the Wayback Machine I get blocked by an animated pop-up asking me to subscribe?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: