Recovering interrupter with occasional relapses, lover of spreadsheets, blogger, programmer, adept debugger, conjurer of analogies, and probably other things.
I had to migrate a site from an in-house CMS backed by an Oracle database to a CMS built on Rails. I tried to get a data dump from the Oracle DBAs, but alas, they couldn't help me. So I curled the site. I then used Hpricot (a precursor to Nokogiri) to parse the HTML and grab the (inner) nodes that I wanted for the new pages.
We knew the client was particular and exacting, so I built the outer elements exactly like the old site. I then wired up our CMS to render the inner nodes. I then curled our CMS to get the pages.
I ran a character by character diff against each page on the two different sites. They were the same. The client came back and said things were broke…so I pointed them to the old site where they were broke. Then they fixed the new site and while not happy, at least accepted that we had completed a high fidelity migration.
Around the same time, we had another client who said "This thing has been broken for months" or some such hyperbole. So I wrote a shell script that would exit 1 if broken and 0 if not broken. I then used the almighty git bisect to test when exactly we had introduced the bug. It was 1 day prior to their complaint. I equipped my director with that information, and he pressed back. That press back helped move the relationship from transactional to partnership.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Perhaps not the most fun, but perhaps it was.
I had to migrate a site from an in-house CMS backed by an Oracle database to a CMS built on Rails. I tried to get a data dump from the Oracle DBAs, but alas, they couldn't help me. So I curled the site. I then used Hpricot (a precursor to Nokogiri) to parse the HTML and grab the (inner) nodes that I wanted for the new pages.
We knew the client was particular and exacting, so I built the outer elements exactly like the old site. I then wired up our CMS to render the inner nodes. I then curled our CMS to get the pages.
I ran a character by character diff against each page on the two different sites. They were the same. The client came back and said things were broke…so I pointed them to the old site where they were broke. Then they fixed the new site and while not happy, at least accepted that we had completed a high fidelity migration.
Around the same time, we had another client who said "This thing has been broken for months" or some such hyperbole. So I wrote a shell script that would exit 1 if broken and 0 if not broken. I then used the almighty
git bisect
to test when exactly we had introduced the bug. It was 1 day prior to their complaint. I equipped my director with that information, and he pressed back. That press back helped move the relationship from transactional to partnership.