Yeah, starting with the LJ code when we wanted to make Dreamwidth gave us a lot of benefits -- at that point it was a decade old, it was performance-tuned to turn on a dime, it had been aggressively security-tested, there were so many bugfixes for weird edge cases, and of course it had an extremely robust feature set that people were exquisitely familiar with. Doing it that way was the correct thing to do! But it also means we started the project with ten years of technical debt already on the balance sheet, and we've been at this for 14 years ourselves since and accruing technical debt at the usual rates, and that's a lot of technical debt by now and it's kind of the equivalent of the bank going "uh, you are carrying a lot of debt and you really need to do something about that because the economy has changed significantly since we loaned that money to you". I love that we are this established and this battle-tested, and I really freaking hate that in three months from now our codebase will be old enough that it could rent a freaking car. (I used to give a talk at conferences called "When Your Code Is Old Enough To Vote" and it has only gotten worse.)
no subject