This morning I got up, full of motivation to start into the project integration week. I went to get some nice sweet vegan breakfast, payed by the university as it is a business trip. :D Everything went fine until I actually started testing the stuff I merged yesterday night. Soon I realized nothing was working anymore. I talk to the guy who wrote the code. He tried it on his laptop with my data. Everything works fine… These are the kind of “fuck my life” moments you don’t really want to encounter. The first day of the integration meeting and your laptop subtly starts hinting “Fuck you, dude!”. So an hour of debugging and ruling out what could be going wrong later and I didn’t get anywhere. Soon I was starting to think it might even be the general ubuntu updates I ran the night before. This was bugging me for a long time now based on some conflict fuck-up, but I fixed that the night before, Yay for me! I talked to some more people and found a guy who also updates regularly. We try it on his machine, doesn’t work either! Soon we realize that some update really broke something, changing all the prerecorded data to a useless state. Mind you we are talking about hours of work here, in areas with very limited access. We test some more and talk to our code-guru who pretty much wrote 90% of the code in the project. He soon has some ideas and tells my co-debugger, whom I accidentally pulled into the whole thing, to download some software from his bitbucket. So the guy pulls and already is starting to build. Then the guru says, “No wait, we need another github repo”. The guy gets that too and builds it. Several errors and the installation of some extra packages later, the next error pops up. The guru tells us something like “Now we really need to fuck this piece of shit up!” This guy is actually a professor, very funny guy! He tells the other guy to edit the make file. After learning that tabs and spaces are not the same in there, damn piece of shit make files, we just removed the -Werror flag. At this point I felt a little like I was watching a rape-scene. The girl goes like, “No, I don’t want that!” and the rapist just goes like “Sssssshhhh, it’s okay.”. The code still didn’t build, but we didn’t need the last part apparently. Then we got to compile his code around the semi-build other code and with this we realized that these drivers have always been setting a flag the wrong way. So far nobody cared about this flag though. It turns out there was a bug report about this in early 2013 and somebody finally fixed it a couple of months back. So by updating this system, I activated the sleeper-bug. Luckily we could salvage our data, but we pretty much lost a day to the whole thing.
At least I got to visit my favorite restaurant in Bonn in the evening and eat some pizza. Now I’m tired. I hope you enjoyed my rape story. Good night.