Pardon Even More Dust
Since my last post it has become apparent that my RSS feeds have been on the fritz. Everything should be settled by now. Apologies for inadvertently spamming everyone's feed readers.
Since my last post it has become apparent that my RSS feeds have been on the fritz. Everything should be settled by now. Apologies for inadvertently spamming everyone's feed readers.
After 10 years, glFont is still quite popular. Version 1 was released in 1998, and version 2 in 2002. Even though the latest release is over 6 years old, I still receive emails from users on a regular basis. This month alone has seen more than the average, including one from a commercial game studio wanting clarification on the license so they can start using it in their products.
Unfortunately, over the past 10 years, probably about half of the emails I receive are the "I have a bug in my program, can you fix it?" type, with source code attached. I find that a lot of people that attempt to start using glFont don't even have a basic knowledge of OpenGL. Most of the time the attached code is some random OpenGL boilerplate sample taken from somewhere on the web with some glFont calls thrown in. My consolation is the fact that glFont has been used in many commercial products and successful hobbyist projects.
To this day I have received not a single cent for glFont, which is fine. I think at one point I threw in a note that said "donations welcome" (I was a poor student at the time), but nobody seems to have taken me up on that. People wonder why I never charged for it, but I think that's obvious: it wouldn't have helped anyone that way. Getting frequent emails that say stuff like "Thanks for your wonderful tool!" etc., is satisfaction enough.
Now, if I'll ever get around to releasing version 3 that has been sitting on my hard drive since 2004...
Some more good C++ reading materials that I left off my last post for some reason:
Way back in 2006 I had an interesting email conversation with my friend Jeff Hansen about Gentoo Linux, source control, and other things. I used to work with Jeff back at the TALL Group. He now works for a company called Card Access doing Linux kernel development. (He's also a genuine, real-life Nintendo World Champion--for 3 years in a row.)
Anyway, Jeff asked if I'd ever tried git for version control. At the time, I was still using CVS. Not long after that I started using Subversion and left CVS behind for good (thank goodness). Subversion has worked out relatively well for me over the past few years, and it was such an improvement over CVS that I never really gave serious thought to looking at anything else.
git has since come up in a few conversations with both Jeff and another friend in recent months, and as a result I've had an item on my mental to-do list to investigate it. Over this past weekend I finally took some time to read up on it. I also watched a rather lengthy, but quite informative presentation that Linus Torvalds himself gave on git at Google. You can watch it here: Tech Talk: Linus Torvalds on git.
I've read that Linus likes to ruffle feathers, but it's funny actually seeing him do it instead of just reading about it. git came about because Linus was looking for a source control system to replace BitKeeper that met certain criteria (distributed, fast, etc.) and decided that everything out there was crap. He states: "The end result was that I decided I can write something better than anything out there in two weeks, and I was right." He slams CVS, Subversion, Perforce (which I have never used), and pretty much every source control system out there except git (obviously) and Mercurial (which I have also never used).
At another point in the video, he says, "You can disagree with me as much as you want, but during this talk, by definition, anybody who disagrees is stupid and ugly, so keep that in mind." Probably the most confrontational thing he did was to call the designers of Subversion morons, and then directly calling any Subversion contributors in the audience "stupid." (These quotes are taken from a transcript of the video.)
Linus' interesting personality aside, I've found a lot of aspects of git really intriguing. His technical arguments on all of the major points are really solid. I've actually been playing around with it and there are a few things that I really, really like:
Some other things I like about git, but which I haven't verified or played around with yet:
git seems really promising, and I'm going to keep playing around with it. I never thought I would find a compelling reason to switch from Subversion but I might just be wrong!
As a huge fan of C++, I'm always interested in learning new things from people that have been much more involved with the language over the years than I have. I've been subscribing to a couple of blogs for some time now that have been very educational, and I thought I'd share.
Herb Sutter is currently the chair of the ISO C++ standards committee and has been involved with the C++ standardization process for quite some time (if not the entire time). As such, he's incredibly expert and reading his work is always enjoyable.
Recently his writings have focused on concurrency issues. He's got a whole series of articles on synchronization, multi-processing, etc. that have been published on Dr. Dobb's Journal (you can find links to the articles on his blog).
In addition, his non-blog website is also great reading, especially his old (but still relevant) series Guru of the Week. He's got a lot of really great gems in there and it's really worth reading through all of them in my opinion.
Andrew Koenig has also been involved in the standardization process, and is the father of argument dependent name lookup in C++, which is also known as "Koenig lookup."
He tends to write more about C++ and programming philosophy in general, and doesn't get into the nitty gritty like Herb Sutter. Nevertheless, still interesting reading.
Enjoy!
While browsing gamedev.net this morning (Or was it yesterday? I can't seem to remember...) I read an interesting piece of news that stated that Chair Entertainment had been acquired by Epic Games, the makers of the Unreal Engine.
I met one of the co-founders of Chair, Geremy Mustard, back in Utah while I was attending BYU. At the time he was working on an Xbox/PC game called Advent Rising. Later, his brother and another fellow by the name of Ryan Holmes founded Chair.
I can't remember if I mentioned this in the past or not, but I actually did stop by Chair in Provo, UT late last year and met with Geremy to talk about the possibility of working there. They didn't really have a need at the time and I wasn't really looking to move back to Utah, so it either did or did not work out, depending on how you look at it.
Anyway, Geremy & Co. are fantastic fellows and it's really cool to see their success in being acquired by a very high-profile, well-known games company. I wish them the best of luck as a "wholly owned subsidiary" of Epic.
For more information, you can see the press release.
Today I went looking for a good diff viewer on Windows. Typically if I'm doing heavy diff viewing, I switch over to my Linux box and use KDE's kompare. kompare is an excellent tool, and you can pipe the output of Subversion straight into it to get a nice graphical view:
$ svn diff | kompare -o -
However, sometimes I really wish I had more than just viewing svn's diff output manually on Windows, hence the search for a good Windows diff viewer. I found a nice, open-source one called WinMerge. I had quite a bit of trouble integrating it with svn on the command line though, because WinMerge doesn't seem to accept diff output from stdin.
After a bit of digging I found this tidbit by a guy named Joshua Flanagan. Although it involves creating a Windows batch file (blech), it seems to do the trick and I have a nice diff viewer now. We'll see how I like it, and I'll keep everyone posted.
I am pleased to announce that I have accepted a position with Bungie! I will be relocating to the Seattle area soon and am looking forward to working with some amazingly talented and creative individuals. This is absolutely incredible opportunity, and really, I could go on and on and on about just how excited I am. However, in the interest of brevity (and because all of my relocation preparations, including a recent trip to Seattle to find housing, have left me quite exhausted and bloodshot at the moment), I will save some thoughts for another post.
My start date has been set, leaving me with just enough time to wind down some contracts here and take care of relocation preparations and logistics. Next stop: world domination!