3 ms·
There are some common problems that could ultimately run a company into the ground. One is that a prototype demo that was only intended for securing funding is
by MichaelCrawford 12y ago
There are some common problems that could ultimately run a company into the ground.
One is that a prototype demo that was only intended for securing funding is used as a production system.
Another is that a codebase grows organically for many years without any attempt to refactor it into something smaller. I've seen that a whole bunch of times.
"Dave, I have a question about Spellswell's code."
"Sure, what?"
"It has this custom allocator" - SPWAlloc or some such - "that is just a bottleneck that adds twelve bytes to the requested allocation, then asks malloc for that amount of memory."
That is, every single allocation was twelve bytes bigger than it needed to be.
"I did that so Spellswell would stop crashing."
After I finished beating my boss senseless with a baseball bat, I revised SPWAlloc so it called through directly to malloc, without adding anything to the requested allocation.
Of course it started crashing all over the place, which was a huge PITA back in the System 7 days, but then I fixed all those bugs. That only took me a day or two - all manner of buffer overruns, off-by-one errors &c.