I wasn’t going to make this post. I was just going to surprise everyone with a bunch of new stuff, and let that be that. However, things haven’t been going well for a long time, so I figured I would make this post to fill the time.
Let’s begin with a story.
Once upon a time, there was a programmer at Digital Research working on an ancient OS known as CP/M. He thought it would be a wonderful idea if, instead of using a line feed character (\n) to end lines, they used a line feed character AND a carriage return character (\r) to mark the ends of lines. God knows why he decided to make this giant change in the way the OS processes text, since both IBM and Unix used only the LF character, but the change was made.
Microsoft, being the brilliant masterminds that they were, simply went along with this nonsense, because throwing away the basic standards everyone has all agreed upon is great!
And so, in the year 2011, us Windows 7 users STILL have to cope with the bullshit known as CR+LF.
So why is this important at all, you are by now wondering.
Well, there is a certain piece of software we use for managing our source code, called Git. Git is a little picky when it comes to line endings, and likes to mess around with them, and then complain when you don’t commit its changes. Suddenly, entire files appear as modified, and when you try to view the difference, there appears to be none, since the line endings are invisible in the majority of text editors (whether it changed them from LF to CR+LF or the other way around, I have no idea still).
After fixing some settings in Git and getting everything on track, it seemed as though it was all going perfectly.
That is, until I tried to compile it on the server. See, even though most Windows programs deal with different line endings nicely, a lot of tools on Linux will commit suicide on the sight of a CR+LF (not that I really blame them). Yes, tools that have been a staple of C++ development for about almost 40 years STILL DIE WHEN THEY SEE THE WRONG LINE ENDING.
So, in short, that is why the server hasn’t been updated in a while.
TL;DR: Evil gremlins live on the end of every line of text in every file on every computer, and if they are the wrong kind everything can blow up.
Until next time, stay line-fed.\r\n
– Wolfy
Sorry, I dropped a carriage return back here...