(no title)
hoytech | 3 years ago
When the previous leap second was applied, a bunch of our Linux servers had kernel panics for some reason, so needless to say everyone was really concerned about a leap second happening during trading hours.
So I was assigned to make sure nothing bad would happen. I spent a month in the lab, simulating the leap second by fast forwarding clocks for all our different applications, testing different NTP implementations (I like chrony, for what it's worth). I had heaps of meetings with our partners trying to figure out what their plans were (they had none), and test what would happen if their clocks went backwards. I had to learn about how to install the leap seconds file into a bunch of software I never even knew existed, write various recovery scripts, and at one point was knee-deep in ntpd and Solaris kernel code.
After all that, the day before it was scheduled, the whole trading world agreed to halt the markets for 15 minutes before/after the leap second, so all my work was for nothing. I'm not sure what the moral is here, if there is one.
hcrisp|3 years ago
> He went away from the basement and left this note on his terminal: "I'm going to a commune in Vermont and will deal with no unit of time shorter than a season."
[0] https://en.m.wikipedia.org/wiki/The_Soul_of_a_New_Machine
xwolfi|3 years ago
Konohamaru|3 years ago
divbzero|3 years ago
– Seemingly simple tasks can be more complex than you expect (“add a leap second on this Wednesday”)
– Real world systems can be more complex than you expect (“bunch of software I never even knew existed”)
– Planning and testing can make a big difference vs. just winging it (“a bunch of our Linux servers had kernel panics for some reason”)
– Success can be a non-event that goes unnoticed (”everything worked and no money went missing”)
– Sometimes the best solution is not a technical solution (“halt the markets for 15 minutes before/after”)
yreg|3 years ago
We've had an election recently, right on the day when DST changed. On the night of counting of the votes, the clock went 2:59 AM -> 2:00 AM.
To save themselves trouble the Statistics Office instructed all vote counters that under no circumstances are they to enter or update anything in any system during the repeating hour until it's 3:00 AM the second time…
a9h74j|3 years ago
I once came across an early 1950s Scientific American article by Bertrand Russel, IIRC. It included a cartoon.
Frame one: Computer beats man at chess.
Frame two: Man unplugs computer.
zinekeller|3 years ago
And yet, there are still Y2K deniers (to be fair some people have exaggerated it to the point that they're promoting it as the end of the world).
the_black_hand|3 years ago
I'm little confused. How does this solve the problem? If you don't code for the second, you'll still be off if you wait. I'm I missing something?
ycombobreaker|3 years ago
It always pays to not be the least-prepared among your cohort. You'll get no sympathy if you're at the back of the pack, you'll just die.
xmprt|3 years ago
bahmboo|3 years ago
This is a hugely valuable learning experience few people even get a chance at, let alone solve. Too bad it doesn’t show up on your resume is the only downside!
oblio|3 years ago
Interview discussion? If you're any good at interviewing, it should.
Shared404|3 years ago
...okay yeah that's not a moral, but still.
imglorp|3 years ago
$work had thousands of full custom, dsp-heavy, location measurement hardware devices widely deployed in the field for UTDOA locating cell phones. It used GPS for time reference -- if you know your location, you can get GPS time accurate around the 10's of nanoseconds. GPS also broadcasts a periodic almanac which includes leap second offsets: if you wanted to apply the offset to GPS you could derive UTC. Anyway there were three models of these units, each with an off-the-shelf GPS chip from one of three location vendors you've probably heard of. The chip firmware was responsible for handling leaps.
One day, a leap second arrived from the heavens. We learned the three vendors all exhibited different behaviors! Some chips handled the leap fine. Some ignored it. Some just crashed, chip offline, no bueno, adios. And some went into a state that gave wildly wrong answers. After a flurry of log pulling, debugging, console cabling, and truck rolls, we had a procedure to identify units in bad states and reset them without too many getting bricked.
It seems the less likely an event is to occur, the less likely your vendor put work into handling it.
svara|3 years ago
jimmaswell|3 years ago
akira2501|3 years ago
Idle curiosities can lead to their own waste, but the kernel panic was probably worth digging into earlier.
dylan604|3 years ago
Apparently, its about as useful as the leap second itself ;)
I feel your pain though, as I've spent weeks on something only for it to be tossed away like it was nothing at the last second. I guess that's how Google devs feel when their projects are deprecated. At least theirs saw the light of day and provided some validation
rkagerer|3 years ago
RunSet|3 years ago
It is clear to me that the disparity of latency creates islands of privilege. I mentioned this to someone in the industry once and they replied that what the layman perceives as parasitic middlemen actually provide valuable liquidity. When I asked whether they considered ticket-scalpers to likewise provide liquidity they claimed that was not at all the same thing.
TOGoS|3 years ago
I think the moral is that it'd be a lot easier if we could just stop messing with the clocks, or at least push more technical things towards only caring about a closest-to-a-global-high-precision-monotonic-clock-as-relativity-allows rather than worrying about what the clocks on the walls say, which is more a personal matter of how much you care or don't where the sun is in the sky at 12:00:00.000.
kqr|3 years ago
Edit: I guess the other way to look it is I guess now how much you can make on a few minutes of trading, seeing that it was worth putting at least one software engineer on it for a long time despite the risks...
alfalfasprout|3 years ago
telotortium|3 years ago
As the CIA director in Burn After Reading says, "I guess we learned not to do it again."
gnu8|3 years ago
a9h74j|3 years ago
So his work contributed to community wisdom, and that influential community has probably had some say in cancelling leap seconds. I wouldn't call his work wasted. I would call that notably few degrees-of-separation in making an observable difference.
justinpombrio|3 years ago
Always procrastinate :-)
programmarchy|3 years ago
magpi3|3 years ago
pmontra|3 years ago
prottog|3 years ago
Sometimes the best (for some definition of best) solution to a problem is to side-step it entirely.
[0]: https://xkcd.com/538/
emeraldd|3 years ago
ilyt|3 years ago
mikepurvis|3 years ago
ComputerGuru|3 years ago
dpkirchner|3 years ago
ozim|3 years ago
quickthrower2|3 years ago
msla|3 years ago
You're conscientious and willing to dig in to the details to fix a problem. Plenty of people aren't, and plenty of those are doing the same job as you. Look up from your own little world and try to figure out what other people are doing, how they're doing it, and why. This applies generally: If you fixate on a specific language or toolkit, you'll miss others which fix or obviate bugs you were resigned to living with. Same with OSes and environments. It even applies to relationships, which is why a big hallmark of abuse is isolating the victim.
dudeinjapan|3 years ago
dclowd9901|3 years ago
unknown|3 years ago
[deleted]
tsol|3 years ago
terminal_d|3 years ago
unknown|3 years ago
[deleted]
modernpink|3 years ago
Do you mean at your desk? What is a lab in a fintech context?
martyvis|3 years ago
mgsouth|3 years ago
pfarrell|3 years ago
qudat|3 years ago
alexfromapex|3 years ago
karmakaze|3 years ago
eointierney|3 years ago