Hacker News new | ask | show | jobs
by hinkley 236 days ago
Reminds me of the largest AJAX app I worked on, back when jquery was still hot and IE6 still existed as a problem.

The landing page in our app used jqueryUI’s drag and drop support, back around the time they declared bankruptcy on the confusing buggy code and wouldn’t even accept bug fixes because they were replacing it component by component (which was taking almost 3x as long as predicted). We had columns you could drag items between but they had a max height and scroll bars and it turned out jqueryUI would let you drag items into different rows if the overflow area for adjacent drag targets overlapped your row.

The person who found it couldn’t fix it. The other fixer couldn’t fix it. I diagnosed it but the spaghetti code was a recursive mess and I could not find a spot where I could fix it. Especially given I couldn’t send in a patch to them.

So I spent half of my free time the last day of every (2 week) sprint for almost six months before I finally found a small function I could monkey patch to wrap it in a short circuit check for clipping region. I spent maybe 20,30 hours on this, a lot of it just getting back to the same situation to debug. But it felt like it took forever to fix it.

The short circuit also made drag and drop faster, which was just getting in the edge of distracting. Particularly on a crowded page.

1 comments

I remember many similar cycles of having different browsers open side-by-side, and trying to pinpoint (without the developer tools we know and love today) the exact reason why one border was one pixel in one browser, and two pixels in the other, throwing the whole layout off.

Also remembering when Firebug for Firefox appeared, and made so many things so much easier. Suddenly things that took hours took days, and it was so much easier when you had some introspection tools.

* { border: red 1px solid } Remember when IE6 was a thing? The kids today are angry at chrome for good reasons and yet, there was a time in which the most popular browser didn't implement jack shit from the specs. And it was the kind of browser that ships with the OS.

God the bad karma for working with this crap. I'm glad it's over.

I had to do a reflow reordering trick on a sibling page in that app and it doubled or tripled the speed on FF and safari, but on IE6 the test case went from 30s to 3.5s. Good Christ.
That bug took me on a whirlwind tour of that code and I understand why they wanted to start over. Woof.
>> and made so many things so much easier. >> Suddenly things that took hours took days

Inverse? Shouldn't it be things that took days took hours ?