Let’s Compile Some win32 Binaries

Many people that read this probably know that I do tech work/support for BME from time to time. Starting at 1900 on 20091101, the community site IAM kinda went haywire. What’s somewhat unique about IAM is that it leverages native win32 binaries on the server side. They’re not scripts that a JIT compiler reads or run on the .Net framework — they’re actual win32 compiled binaries that handle all of the CGI requests and respond to the initial requests. I can’t just log in, change a few lines of code and then “the problem’s fixed” like someone can do with PHP, Python or Perl. And since the original developer (Shannon Larratt) is no longer involved in BME, I had to figure things out.

After eliminating any environmental factors, I went code diving. I finally isolated the issue (which I’m still surprised at — it was in no way obvious) and spec’ed out the scope of the changes that were needed.

As I mentioned above, these are win32 binaries — so I then had to set up a dev environment locally before I could recompile any of them. What makes this more fun is that I’m a Mac and Linux user at home — so I had to kick up a VM (thank you VMWare Fusion!) to do all of that work in. Only then could I actually make my changes and spin up some new binaries for testing and deployment to the webserver.

What a pain in the ass!

But after all is said and done, I got everything working and everyone seems to be a lot happier. I definitely feel like a super hero.