Free Hulu+ Costs Too Much, Netflix Circling the Drain, Amazon Prime comes out on Top

There is increasing competition for streaming video subscriptions out there. This is my review of three common services based on using them for all for a while.

Read the rest of this entry »

DevExpress Discontinues C++ Refactoring Support

DevExpress announces that they will discontinue support for C++ refactoring in their CodeRush product.

Refactoring Test Results for VAX 10.8.2036.0 built 2014.05.22

I ran through three refactorings (Extract Function, Extract Method, Rename) in the latest version of Visual AssistX using my refactoring test suite and posted the results on the Whole Tomato support forums.

Summary

Refactoring % Passing Passed Failed
Extract Function 0% 0 18
Extract Method 45% 9 11
Rename 63.55% 61 35

Feel free to comment here on the test suite itself. I’ll probably move this to github to encourage more pull requests for improvements to the tests. I haven’t updated it for C++11 language features. Feel free to post in the Whole Tomato support forum thread for comments on Visual AssistX itself.

Read the rest of this entry »

C++ Now! 2014 Presentations Posted

Ray Fix is posting all the presentations of C++ Now! 2014

You can read my presentations here:

C++ Now! 2014 was a wonderful experience! I very much enjoyed talking with the attendees, both during the show and afterwards at restaurants and the bar. I hope to attend again next year.

Free Workshop: Test-Driven Development in C++, Wednesday, April 30, 2014

Have you heard about that new thing the kids are doing called test-driven development and wondered what it’s all about? Is it about testing? Is it about design? Is it good or is it bad?

Come join me for an evening workshop where I will show you what it’s all about and you’ll have a chance to try it out for yourself on a problem large enough to be interesting, but small enough that you can make progress on it during the workshop. The workshop will use the Boost.Test and Turtle libraries.

Thanks to Fusion-io for the meeting facilities, WiFi access, food (pizza from The Pie) and refreshments.

Seating is limited, so please RSVP to reserve your space.

Date Wednesday, April 30, 2014
Time 6 PM – 9 PM
Location Fusion-io (Google maps)
2855 E. Cottonwood Parkway
Suite 100
Salt Lake City, UT 84121

Read the rest of this entry »

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!