The Utah Fall Code Camp 2011 is coming up and I’ve proposed a number of talks and volunteered to present some that didn’t yet have speakers. If any of these sessions sound interesting to you, please visit the Utah Code Camp web site and vote for them.
- Open Source Development Track: Recursive Descent Parsers with Boost.Spirit
- Microsoft Development Track: Powering Managed Applications with the GPU and SlimDX
- Architecture Track: High Performance C++, or How to Make Friends With the Cache
The following talks already existed but had no speaker yet, so I volunteered to give them:
- Mobile Development Track: Push Notifications and Tiles for Windows Phone
- Mobile Development Track: Game Development for the Windows Phone 7.5
Additionally, James Howard will be conducting a workshop on embedded hardware with Arduino and I’ll be assisting him with that workshop. (The workshop description will be listed later tonight.)
More About These Talks
The Boost.Spirit talk is a consequence of my work on Iterated Dynamics, a fork of the fractint open source fractal generator. There are a number of small domain-specific languages associated with fractint fractal parameter sets: the parameter files, L-system files, IFS files, formula files and so-on. The existing parsers for these files, particularly the formula parser, was written by people who can’t be contacted anymore so its hard to fix bugs on them. The existing formula parser is written in assembly code and while there is a C translation, the two don’t always have identical behavior. Boost.Spirit is great for writing parsers that handle small languages like these.
The SlimDX talk is a consequence of the contributions I’ve been making to SlimDX to help round out the support for Direct2D and DirectWrite. SlimDX is really a great library and is a great way to bring the power of DirectX and the GPU into a managed application.
The High Performance C++ talk is an outgrowth of conversations I’ve had with game developers when they say things like “virtual functions are bad for performance”. It took some digging and discussion back and forth until I understood what they were really talking about (its not virtual functions per se, but how they can affect the cache). The same observation could be applied to code in any language, but one of the main reasons people choose C++ is for performance.
I’ve given talks on Push Notifications before, but the last time was with beta development tools and there were some glitches. Now I can give a more polished presentation and make the PHP side of the talk available as source. This would be a good example of showing how you can integrate support for Windows Phone 7 in an existing PHP based web application.
The Game Development talk is the one that would be the most challenging for me to deliver. I know a lot about graphics, but realistically I haven’t written any games that people are interested in playing (yet). Fortunately I have lots of help from other XNA MVPs to review my material to make sure I’m giving the best advice for the level of the talk.