Election Night 2016 did not play out as expected. I don’t just mean that Donald Trump surged to an unanticipated victory but rather the fact that the best laid plans of editors, reporters and programmers can sometimes fall prey to circumstance.

We set out the night having hacked together a system that was intended to pull election results directly from the Secretary of State’s website. There were to be tables of live election results that updated every five minutes with new data as well as a set of interactive maps and graphics that filled in with live data.

However, the combination of javascript and finicky servers proved too much to fix in the heat of the moment, and we had to abandon those featured around 10 p.m., returning to our staid results tables. We’ll chalk the failure up to not being able to do live tests ahead of time and try to get it running for next time. You can never keep good coders down.

As for the print edition, the schedule of results released by the Gallatin County elections office laid our plans for decisive stories at nines. First results came at about 8:30. Second results came at 11:40, and our third and so-far final results were at 2 a.m. The law and justice center bonds remained too close to call by the time we needed to send pages to our press, and that darn governor’s race kept getting tighter and tighter all night.

But we turned out a newspaper (with the 11:40 figures) and stayed throughout the night to keep the website up to date — we’re still waiting for “final unofficial” results from Gallatin County. (Political reporter Troy Carter has been in the courthouse counting room since before 8 p.m. yesterday. That's 15 hours at least, by my count.)

Thanks to all the readers who came along for the ride. Let us know your thoughts about our elections coverage in the comments or by writing to me at becker@dailychronicle.com.