VERSION 0.1?!!
For godâs sake, I can only imagine what the bugs were like⌠or this is just a mockup done in After Effects (with the pilots pretending to be in sync while the jaeger goes through some pre-programmed stuff) to impress the top brass?
THIS IS WHAT I THINK ABOUT AS A PROGRAMMER.
Iâm so glad to see someone else noticing this, it gets me every time. How do you even get to that as v0.1? Not even v0.1.5 or something, itâs just their first go. I bet they donât even have source control, thereâs one hard drive with the entire Jaeger program on it. If someone just dropped it or overwrote some code the Kaiju would win. The pilots are being overwhelmed with debugging messages where the programmers just had it print out relevant variables and then forgot to remove the code, if they rotate their hand anticlockwise the hemispheres switch and theyâre not sure why yet. The pilots say the drift smells like raspberries and nobody has a clue why so they just assure them itâll be fixed in v0.2.Â
And then when they finish the demo the first thing the brass asks is if the green hemisphere could be a little greener.
#life of a programmer, #//fix the raspberies, #Jaeger.doTheThing();, #driftStrength = complicatedFunction() + 2 // Works better with +2
OH GOD, I AM CRYING. THIS IS ABSOLUTE TRUTH.
Iâm also happy to see someone else noticing this. I have so many things to say about this picture, including some that will go in another post Iâve been drafting for months.
The thread above made me laugh very hard, mostly because Iâve seen many similar things in my own programming experience. (If you want to hear my programming stories, ask me on my personal blog.) Let me add some more:
Sometimes one of the external libraries crashes on perfectly valid input, to the programmersâ consternation. Theyâd love to use a better library, but first they need to brass to approve the time and funds to find/make one and modify the code to use it. And the brass wonât approve that unless theyâre pleased with the demo.
As a temporary measure they put all direct use of that library in its own process so at least it canât crash the whole program when it goes down. The code is littered with sections like this:
// always use the manager for this library; // it handles the inter-process communication // NEVER load the library in this process; // it crashes erratically nextValue = LibraryManager.getNextValue();log(nextValue);
if (nextValue != -1) {    // works better with -3    complicatedFunction(nextValue - 3); } else { // library crashed    // put backup code here at some point }
During the demo they discover a whole new failure mode for that library -Â it suddenly starts producing nonsense values for no apparent reason. This leads to sending a lot of nonsense to the pilots, who arenât very happy about the sudden distraction but keep going with the demo.
The programmer watching the logs on another screen notices within a few seconds and has to kill the process dealing with that library to make the nonsense stop. The pilots arenât very happy with the imperfect communication (due to incomplete backup code) either, but itâs better than constant distraction and they both have the planned demo sequence memorized anyway.
As the pilots are heading back to talk to the brass, one of the programmers snags a radio and explains the sudden stream of nonsense to the pilots. They promptly help the programmers get approval to use a better library, but due to the need to rewrite a lot of code the new library isnât fully integrated until version 0.2.5.
On the other hand, it might not be that bad.
Maybe this isnât a demo to show other people, itâs just an internal test. (No one should see version 0.1, there are too many bugs in it for that.) The demo that got the first line of Jaegers ordered (in Tales From Year Zero) probably didnât have much Drift software at all, since Caitlin Lightcap bridged in in the middle of it without even knowing if Drifting was possible.
And they might have used mock data at that point rather than actually hooking pilots up to it. I know Iâd be wary of hooking someone up to version 0.1 of a brain-computer interface where the computer can send data, especially since in this case bugs could really hurt.
But sometimes good software development practices donât get followedâŚ
And can we talk about the medical equipment of some sort beside that screen?












