Tier 3 Acquired by CentryLink

Tuesday, November 19, 2013 – 10:34 AM

“Tier 3, a Bellevue cloud computing startup backed with $18.5 from Ignition, Madrona and Intel Ventures, has been sold to CenturyLink.” – Geekwire


While I’ve only been here a few months and can’t really take any of the credit for any of this. I am really excited, as Tier 3’s self-service platform, combined with CenturyLink’s infrastructure should be a force to be reckoned with!

AMP Algorithms Library now supports Visual Studio 2013

Monday, November 11, 2013 – 9:30 AM

With the help of the C++ AMP development team (thanks Meng & Lukasz) I’ve been able to resolve the issues I was having building the Library on VS 2013 and shipped a new release.

The AMP Algorithms Library 0.9.3 release includes minor updates on 0.9.2.

  • Support for Visual Studio 2013 (and 2012)
  • Map-reduce sample code.
  • Support for logical_ functors.
  • Improved pre-checkin build script.

I’m hoping to get the next major release done by the new year as I plan to work on it over the holiday breaks. This should include a number of new additions to the algroithms.

C++AMP Samples Updated for Visual Studio 2013

Wednesday, October 23, 2013 – 3:04 PM

Visual Studio 2013 shipped last week and I found some time to look at the new C++AMP features over the weekend. Most importantly to make sure that the book samples still work. The 1.0 (VS 2013 compatible) release fixes a couple of warnings in the DX Util library and one issue with the C++ AMP upgrade.

writeonly_texture_view<T, N> has been deprecated in the 2013 release. The texture_view<T, N> template class now includes this functionality. You can read more about this on the Parallel Programming and Native Code blog.

You’ll find the following in several places in the Chapter 11 sample code.

#if (_MSC_VER >= 1800)
texture_view<int, 2> outputTxVw(outputTx);
writeonly_texture_view<int, 2> outputTxVw(outputTx);

Note: The C++AMP Algorithms Library has not yet been upgraded to VS 2013. I’m working on that.

Seattle Code Camp 2013: Decks and Code Available

Monday, October 7, 2013 – 8:11 AM

Several of the other speakers have made their decks and other resources available online.

Seattle Code Camp 2013

Saturday, September 28, 2013 – 8:27 PM

It’s been a great few weeks since starting at Tier 3. I spent two weeks at the Tier 3 Hack House in Utah. Spent two weeks hanging out with the fantastic Tier 3 engineering team and doing a bit of riding at the same time.

I got back in time to give two talks at my favorite local conference, Seattle Code Camp. I only made it for half the day but met up with several old friends and had some great conversations with some of the attendees. Good times!

Here are the slide decks, source code and other resources for the talks I gave at this year’s Seattle Code Camp.

If anyone found or picked up my Apple Thunderbolt to VGA adaptor I’ve love to get it back. You can contact me or the Code Camp organizers. There’s a six pack in it for you.

Not Your Mother’s C++

Download Slide DeckMore and more apps are build for phones and tablets with less powerful processors and limited battery life. If you want to develop for these devices then it’s important to consider performance when building apps that users will love. C++ has a reputation for been hard to read, let alone write. You paid for the performance C++ gave you with late nights chasing memory leaks and crashes. C++ has moved on in the last few years with new language features, libraries and programming idioms. These all make many of the pitfalls of C++ much easier to avoid. This talk will give an overview of the new features in C++11. Including; how to not worry about memory management (too much), use libraries for graphics, math and data structures, and build apps in a few hundred lines of readable code.


You can download the code samples. Eventually I’ll get them up on GitHub but right now it’s just a zip file. The samples assume that Cinder is installed in yC:\Src\Download\cinder. If you install it somewhere else you will need to modify the project settings.

  • Cinder – The graphics library I used for the GUI in the Life app.
  • Boost – A popular library that implements lots of useful features. I used this to implement file access in the Life app.
  • Standard Library (STL)  – Part of the C++ standard.

The C++11 standard is relatively new, so most compilers don’t support 100% of the standard. C++11 compiler support shootout: Visual Studio, GCC, Clang, Intel gives an overview of which compilers support which features. VS 2013 adds more support for C++11.

You can find videos of sessions from Going Native 2013 online.

Scott Meyer’s books and overview of C++11 are all well worth reading. When I returned to C++ these were the books that got me started.

Someone asked me about game programming books after the talk. Here’s the one I’v been reading Introduction to 3D Game Programming with DirectX 11.

Writing for Developers

Download Slide DeckMaybe you want to write a programming book, maybe just a blog post or some documentation for your team or the users of an open source project. All the great code you wrote is no good if no one else can understand and use it. Learn about the beginning, middle and end of writing anything and what it takes to write great sample code to go along with all those words.


On Writing: A Memoir Of The Craft by Stephen King was one of the books I wrote when I started writing. Obviously it’s mostly focused on fictional writing but I still found it very valuable.

The Elements of Style, Fourth Edition by William Strunk Jr. and E.B. White is the gold standard when it comes to general questions of writing style.

Links to books on MSDN:

Parallel Programming with Microsoft .NET

Parallel Programming with Microsoft Visual C++

You can also find these books on Amazon along with my book on C++ AMP.

C++ AMP: Accelerated Massive Parallelism with Microsoft® Visual C++