Let's go back to last April as Anthony Weiner was getting ready to enter the race for City Hall.
Christine Quinn was firmly in front of all other candidates, the Anybody But Quinn group had just launched their advertising campaign against Quinn but the ads had yet to do real damage to her, Thompson and de Blasio were well behind Quinn in low double digits.
Then Weiner jumped into the race, the ABQ ads did real damage to Quinn, and Weiner went in front in a couple of polls.
At that point, we were looking at a Quinn/Weiner runoff to take on Joe Lhota in the general election.
It was a nightmare if you were looking for some kind of break from the Bloomberg years - Quinn was Bloomberg Mach IV, Weiner's big platform was sticking it to the unions on health care and ratcheting up the suspensions in NYC schools, and Lhota bragged he would double the number of charter schools and add even more reforminess to an already over-reformy NYC school system.
And then came another Weiner scandal and suddenly he was destroyed as a viable candidate.
The race was wide open again - Quinn had been exposed as a Glass Tiger Frontrunner, Weiner had been exposed as a serial perv, and Thompson and de Blasio now had an actual shot to win the race.
De Blasio, having staked out the left positions in the race, particularly on stop-and-frisk and the economy, began to make headway in the race.
His ads helped a lot - especially the Dante ad.
But the weakness of the opposition helped too - Quinn had a dedicated following of protesters and negatives as big as her ego, Weiner had a sex addiction and Thompson had staked out the middle ground in the race like he was already the Dem nominee looking to win GOP votes in Staten Island.
Thompson's stance of stop-and-frisk was so muddled that Al Sharpton said he had no idea where Thompson stood on the issue - and that hurt Thompson badly and helped de Blasio as well.
De Blasio ran the best campaign by far - he staked out savvy positions that put him in opposition to Bloomberg (a good place to be after three Bloomberg terms), he stuck to those positions, he didn't panic when he got little traction in the race through July, he used his family to great advantage in his ads, and he got a lot of help from the opposition.
And now Election Day is upon us and we look upon a de Blasio mayorality.
The polls have de Blasio up somewhere between 35 and 40 percentage points.
Go out and vote for Bill de Blasio anyway, just to run the score up as much as you can for de Blasio.
Let's see a 30+ percentage point win for de Blasio, the "progressive" candidate.
While you're at it, vote against Cuomo's gambling initiative, vote for Tish James the progressive public advocate candidate, and let's enjoy an Election Night like we haven't enjoyed in a long, long time.
Perhaps like we haven't enjoyed since 2008.
That "progressive" candidate we voted for in 2008 turned out to be a neo-liberal corporatist who talked a good progressive game but governed like a winger.
There are no guarantees that won't happen with de Blasio.
He did meet with anti-union, anti-teacher, pro-Satan Rahm Emanuel over the weekend to talk "transition and urban affairs," something that gives me pause to wonder just how de Blasio will govern post-Election.
But we'll hold him accountable if he turns out to govern like Obama or Emanuel and make him pay for that kind of betrayal.
For now, be happy that we got the very best candidate this election cycle, one we had no expectation we would get back in mid-July when the race looked like it was Weiner or Quinn to take on Lhota.
Happy Election Day - enjoy your PD, then enjoy the returns.
We'll be here for Election Night coverage, of course.
And we'll definitely be here for Inauguration Day and that last Bloomberg flight out of NYC to Bermuda.