JibberJabber

Big Behind-the-Scenes changes for SDL 1.2.14 on Mac OS X (Snow Leopard)


SDL logo

At least from my perspective, there has been a surprising amount of work and effort put into the (upcoming) maintenance release of SDL 1.2.14 for the Mac. Many of the changes have been focused on modifying the Mac code base to support Snow Leopard, particularly 64-bit. As I understand it, Ryan Gordon has spent the time cleaning up the codebase with help from user patch submissions in the SDL Bugzilla to modernize the codebase. (Thank you to all of you that have submitted patches.)


Meanwhile, I have been focusing on modernizing the Xcode projects, Xcode application templates, doing testing, updating documentation, and working on the official binary distribution.


Norman Borlaug: The Man Who Saved More People Than Anyone Else in History, Has Died

I don't plan to talk much about current events on this blog, but Norman Borlaug more than anybody deserves an exception. No person in history has done more good for the world than Dr. Borlaug.

Dr. Norman Borlaug was an agricultural scientist who developed high-yield crop techniques and other agricultural innovations, credited with averting global famine in the latter half of the 20th century. He is "The Man Who Fed the World".

By some estimates, he saved over a billion people (that's with a 'B') from starvation.

"He has probably done more and is known by fewer people than anybody that has done that much."

Dr. Borlaug died last night from complications from cancer. …

Another C vs. C++ incompatibility rant: Void parameter lists

Ugh. C++ always finds another way to irk me.

I finally upgraded one of my systems to Snow Leopard and am trying out all the new compilers (gcc 4.2, llvm/gcc, clang). In addition, Apple sent me back a bug report telling me they fixed a problem with OpenAL buffer unqueuing returning the wrong buffer id, and wanted me to test it in Snow Leopard. 

Being OpenAL, I could have submitted a plain C example, but I wanted to use some standard data structures so Apple couldn't accuse my code of being buggy. I wanted a GUI too to help trigger the problem, so I obviously used Cocoa/Obj-C to build the UI. But from past experience, I knew the Core Audio team likes C++ and I really wanted them to fix my bug, so I decided to use STL data structures instead of Cocoa data structures hoping the code might look more inviting to them.

Found the Braid Stars

braid_title

*************************************************************

SPOILER ALERT! (WARNING!)

*************************************************************

I'm going to talk about some hidden things in the video game Braid.

Stop reading if you don't want to spoil the secrets.

See further down below to continue.

*************************************************************

*************************************************************

*************************************************************

*************************************************************

*************************************************************

*************************************************************

Murky: A Cocoa GUI front-end for Mercurial


logo-droplets-50_textmedium

One of the things I miss from the days just before the great Linux/Bitkeeper schizm is the Bitkeeper GUI front-end tools. Obviously, since the great fallout, I have moved away from Bitkeeper and have been alternating between Git and Mercurial as I get the chance. But to this day, I still miss the GUI tools Bitkeeper provided. They were written in Tk and damn ugly, but the overall design was pretty good and integrated well with my workflows at the time.

I remember struggling to get better Mac support for the Bitkeeper tools way back then as they required X11. Once upon a time, there was a way you could redirect Bitkeeper to use an Aqua/Tk so you at least didn't have to go through X11 (which had even less integration on those older Mac OS X versions than today's versions if you can believe it). …

Sandvox updates comment support; Picking a new comment system


A long time ago, I posted about trying to pick a comment system. At the time, Haloscan was the built-in option for Sandvox, and JS-Kit was the only other alternative I could find.

I was worried about Haloscan because there were complaints that comments were deleted after one year. But I couldn't get JS-Kit to work nicely with Sandvox. (The comment boxes would collide into other parts of the webpage.)

I tried contacting Haloscan about their policy but never heard a word from them.

Well, since then, Haloscan was bought by JS-Kit. Comments have not been removed so far after 1 year as far as I can tell. But interestingly, JS-Kit no longer allows new registrations for Haloscan. …

Mercurial Subrepos: A past example revisited with a new technique

A while ago, I did a back-to-back comparison of Git and Mercurial on how to create aggregate projects containing unrelated repositories. For Git, I used the submodule option. For Mercurial, I used the Forest Extension. Since then, Mercurial (1.3) has rolled out a new experimental feature called subrepositories (subrepos). This new experimental feature seems slated to replace the Forest extension as an official core feature.

I was curious how the procedure for the new subrepos differed from forests, so I have revisited the earlier example I did using LuaDoc, and repeated it using subrepos.

The original Mercurial repositories for the underlying subrepos are in the same place from the Forest example, so all that is unchanged. …

Copyright © PlayControl Software, LLC / Eric Wing