Last week I hard drive crash on me while upgrading to Fedora 17. Which, for me anyway, is a disaster so far compared to F16, but that’s another post. Because I don’t always think to do things the “right” or “best” way I tend to end up doing them the hard way. Thus I ended pulling an old hard drive out of he garage to dump my back ups to so I could wipe the drive clean and install F17.
Upon completing my install of F17 I hooked the drive back and found that Fedora was no longer able to read it. The BIOS saw it and would attempt to book off of it, but it couldn’t read it. So I installed Gparted and went to attempt to recover my data. Well, apparently, Gparted requires a piece of software named gpart. Confusing, yes. Anyway, I couldn’t find that in the repositories, so naturally I went looking through the nets. After much Googling I found the source code on Debian’s site. I proceeded to download it, unarchive it, and make || make install. Naturally that didn’t work. Luckily, though, I found a set of patches stored by Red Hat. Those actually solved a lot of my issues…
A little more than a week go, through the wondrous world of Google+ I found some videos about the development of Google’s Go programming language. There is one video there labeled “Meet the team.” Great video and I suggest everyone watch it. In the video the team is asked about motivations for creating Go and Rob Pike proceeds to talk about how ridiculous dependencies are in C/C++. About how #IFDEF statements are really a terrible idea.
Coming back to gpart, my make command failed. The issue? One of the macros being used apparently wasn’t being defined to according to GCC. Naturally, I went straight to the header of the same name and found the macro GCC was complaining about… well there it is, how is this possible? The stupid #IFDEF statements. After experimenting a little bit I discovered they were breaking the compilation.
I’m now officially a Go programming language fan. Rob Pike and some old, mostly unmaintained, software converted me.