Three Sessions Accepted for Spring 2014 Utah Code Camp!

Of the sessions I proposed to the Spring 2014 Utah Code Camp, they accepted “Walk Down GPU Lane” and “C++ User Group Bootup” talks. Later, one of the speakers cancelled and they needed to fill a slot, so I’m going to present a dry-run of my C++ Now! 2014 talk “Build your own C++ refactoring tool with C++ and clang”.

Read the rest of this entry »

Two Sessions Accepted for C++ Now! 2014 (May 12-17, 2014)

I’m pleased to announce that two of my proposed sessions for C++ Now! 2014 have been accepted! I proposed three sessions to the conference: create a refactoring C++ tool in C++ with clang, test-driven development with Boost.Test and Turtle Mock, and automated acceptance testing with FitNesse. I would have been pleased if just one session were accepted and I’m quite happy that two sessions were accepted, even if it does mean a bunch of work for me. Both sessions will be workshop-oriented, meaning we’ll be looking at code and very few, if any, slides. Death to powerpoint! Long live the code!

Read the rest of this entry »

Spring 2014 Utah Code Camp: March 15th, 2014

The Spring 2014 Utah Code Camp is coming up and I’ve got some proposed sessions. Utah Code Camps are by the developer community and for the developer community. Utah Code Camp is always free! Spring 2014 Utah Code Camp will be held on March 15th, 2014 at the University of Utah Spencer Fox Eccles Business Building.

Read the rest of this entry »

Refactoring: Sort Members by Visibility

You have a C++ class that shows readers its implementation details before it shows readers its public interface.

Reorder the class members in order of decreasing visibility, preserving the relative order of the declarations within each visibility category.

Read the rest of this entry »

An HTTP Server in TECO, Part 2

Last summer for the Summer 2012 Retrochallenge Competition I made some progress on an HTTP server in TECO. While I didn’t quite finish, I did make considerable progress. For the Summer 2013 Retrochallenge Competition, I’ll attempt to finish off this HTTP server in TECO and support .TEC files as CGI scripts.

Visual Studio 2012 Bugs

Visual Studo 2012 has a nice add-in called the Microsoft Visual Studio 2012 Feedback Tool that lets you quickly report a bug to the connect website. I’ve found that making it easy to report bugs in VS has increased the likelihood that I actually will report bugs. With Connect, any user can add a “me too!” vote to someone else’s public bugs so that the product team has a better idea of the people affected by it. You can also add your own comments to someone else’s public bugs. This post will be updated over time with bugs I’ve filed so that you can add your own “me too!” vote or comment to the bug.

Read the rest of this entry »

Engineering Notebooks: High Level Thoughts and TDD To Do Lists

Ever since I was in college as an electrical engineering student, I’ve been advised to have an “engineering notebook”. The general recommendation was to have a single place where you wrote down all the important details of your work. In the case of circuit design, dated notes could be particularly important for establishing prior art in patenting intellectual property. However, since my career was headed in the software direction and software patents were not yet common, I didn’t give it much thought. As my career progressed, I found I had two kinds of information that I needed to write down as a software engineer: notes from meetings and design discussions and low-level task details related to the code I’m working on day-to-day. In this post, I’ll discuss a simple system that I’ve adopted for engineering notebooks that makes sense for software engineers practicing test-driven development (TDD).

Read the rest of this entry »

An HTTP Server in TECO

The Summer 2012 Retrochallenge Competition is on for the month of July, 2012. I’m going to implement a small web server in TECO and update this page with progress on my implementation.

Read the rest of this entry »

Game Debugging in Visual Studio 11

If you haven’t watched any of the //build presentations yet, there was one that got me quite excited where they showed off some of the new graphics debugging support in Visual Studio 11. Game Debugging in Visual Studio 11 is a recent Visual Studio team blog entry that goes into more detail on this. Now you can really drill down into the details of the graphics pipeline based on what you’re seeing in the rendered window and some mouse clicks. This is going to be awesome!

Fall 2011 Utah Code Camp Schedule Posted

They’ve posted the schedule for the Fall 2011 Utah Code Camp. I’ve got two sessions: one on push notifications with Windows Phone 7 and a roundtable discussion to get a C++ user’s group going in Utah. C++ for the win!

Utah Fall Code Camp 2011

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

Read the rest of this entry »

“Domain Specific Languages” by Martin Fowler

In 2011, Martin Fowler wrote “Domain Specific Languages” published by Addison-Wesley. Examples of domain specific languages you might have encountered before are regular expression specifications, Makefiles, Direct3D’s high level shader language (HLSL), OpenGL’s GL shader language (GLSL), the Wavefront object file format (.obj) or input specifications to the compiler tools lex (.l) and yacc (.y). Fowler defines a domain specific language as “a computer programming language of limited expressiveness focused on a particular domain.” Domain specific languages (DSLs) have been around for a long time, but to date there hasn’t been any general treatment of the techniques and characteristics of DSLs in general, as opposed to the traits of a particular DSL. Fowler’s book is a good first entry.

Read the rest of this entry »

Revolution: The First 2000 Years of Computing

The Computer History Museum has a new electronic exhibit: Revolution: The First 2000 Years of Computing. There is a section giving a broad stroke outline of the history of computer graphics as well as other areas of computing. Check it out! If you’re ever in Silicon Valley (Mountain View, CA), I recommend you visit the museum in person to see some of the items from their collection in person.

Don’t buy from ebay seller carp-o-matic

I bought an SGI Indigo^2 workstation from ebay seller carp-o-matic. An Indigo^2 is a heavy machine. The seller packed it in a used cardboard box with crumpled up newspaper around the sides and top and no padding on the bottom. End result? A smashed up workstation. I contacted the seller and they refused to do anything about it. They are not a reputable seller and I recommend that you not do business with them.

Read the rest of this entry »

Utah Code Camp this Saturday, March 19th.

Once again Utah’s developers will be sharing their insights and knowledge free with other developers! Come to the Utah Code Camp this Saturday! Check out their web site for directions and schedule.

This marks the first time in several years that I will not be presenting at the Utah Code Camp. I just didn’t have a good topic ready in time for the camp, but I’ve got a few ideas for presentations that will probably be ready next time. However, as a presenter I am so busy with my own presentation logistics that I always miss out on all the other good presentations at the camp, so I’m excited to simply attend and listen to what other developers have been up to.

Concurrent with the Utah Code Camp will be Pod Camp SLC. This should give you plenty to choose from when deciding what sessions to attend.

See you there!

Utah’s Pork

Tom Coburn, Republican senator from Oklahoma, provides a working database of earmarks in the 2010 Omnibus spending bill. Having read reports that Bob “Cry Baby” Bennett had inserted a large number of earmarks, I decided to look through the database and see what I could find. The database is provided as a spreadsheet listing earmark spending amounts, the spending bill in which they are introduced, the project on which they are spent and sponsors in the house and senate. Using this database, I extracted the earmarks inserted or sponsored by the Utah delegation (House: Jason Chaffetz, Rob Bishop, Jim Matheson; Senate: Bob Bennett, Orrin Hatch).

What comes out is most revealing: Bennett is indeed addicted to pork projects. Matheson comes in second, but mostly only for cosponsoring projects with Bennett. Its unclear how much pork Matheson would introduce if Bennett wasn’t there for him to hide behind as a cosponsor. Coming in a distant third is Hatch with a single earmark, again cosponsored with Bennett. Rob Bishop and Jason Chaffetz don’t have a single earmark associated with their names, so for better or worse they are consistent with their rhetoric on spending.

I’ve created an earmarks spreadsheet containing the items that I found in the Coburn supplied database sponsored by Utah’s delegation, giving the following totals:

Sponsor Spending
Bob Bennett $253,649,300
Tim Matheson $35,442,000
Orrin Hatch $500,000

At a quarter-billion dollars, Bennett managed to outspend Utah’s lone Democrat representative by an order of magnitude. Its hard to tell exactly what is funded in these projects from the title of the project alone, but last I checked only the military spending seems covered by a power specifically granted to the federal government by the constitution. Last I checked, the constitution doesn’t give the federal government authority to fund gang prevention projects for a single city. And so-on.

“General and Special Purpose Computers”, 1986

Government Attic released a heavily redacted copy of the report “General and Special Purpose Computers: A Historical Look and Some Lessons Learned” from 1986. Its interesting that a report from 25 years ago is still considered to have sensitive information that needs to be redacted in response to a FOIA request. (Unlike wikileaks, government attic obtains documents legally through the Freedom of Information Act.)

Agile Roundtable Notes for October, 2010

The Salt Lake Agile Roundtable meets the first Thursday of every month at the Borders bookstore in Murray, UT from 2pm to 5pm. These are my notes from the October, 2010 meeting.

Read the rest of this entry »

AgileRoots 2010 Videos

Videos of the presentations at AgileRoots 2010 are up for free viewing on confreaks. If you missed my presentation “You Can Test Anything!” with Zhon Johansen at the recent Utah Code Camp, you can catch an earlier slightly less polished version at confreaks.

INETA Community Speaker

A while back I registered as a community speaker with INETA. They’ve now launched their community speaker site where you can browse speaker profiles and invite them to come to your .NET user group meeting to talk on a specific subject. You can check out my profile on there by searching for XNA and finding me in the list from Salt Lake City, UT. I’ve also added a “INETA Speaker” block to the sidebar of the blog to make it easy for you to have me present to your group :-).