“Tier 3, a Bellevue cloud computing startup backed with $18.5 from Ignition, Madrona and Intel Ventures, has been sold to CenturyLink.” – GeekwireWhile 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!
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.
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.
Several of the other speakers have made their decks and other resources available online.
- Web Runtime Performance – http://sdrv.ms/GFXjON
- Speaking the Language of Lean – http://sdrv.ms/15C3ZUa
- MS DeathStar – https://github.com/bennage/mv-deathstar-talk
- Windows Azure Mobile Services Slides - http://bit.ly/1a3oyKs & samples http://bit.ly/GCRPUx
- Onion Architecture – http://bit.ly/1gh0dHk
- Mike Clement’s talks – http://bit.ly/15Q5bZs
- Hadoop Talk – http://brentozar.com/articles/hadoop
- Riak Talk – http://brentozar.com/articles/riak
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.
More 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.
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.
Maybe 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:
You can also find these books on Amazon along with my book on C++ AMP.
What a week it’s been. I’ve spent the last couple of days at the Going Native 2013 conference right here on the Microsoft campus. Essentially this involves hanging out with some of the best C++ developers anywhere. This includes; the inventor of the language, many compiler writers and a lot of people who wrote various bits of the standard. Alongside them are a lot of professional 356 days a year C++ developers.
The really big question is who the hell let me get in there in the first place? I’m not proud, I paid. For a few hundred bucks this is the best conference deal ever. Three days of talks by some of the highest quality speakers and an incredibly savvy audience. I’m not going to say much more. Other than the presentations are already online and if you are interested in C++ at all then you should watch some of them.
So what’s with the weird post title?
Well, after nearly a decade at Microsoft I’ve decided it’s time to go do something else. I’ve joined the most excellent engineering team at Tier 3. The chance to work for a much smaller company with the likes of Jim Newkirk and Brad Wilson (the xUnit team) and Scott Densmore (ex patterns & practices group), and a cast of other high caliber people was too much to pass up. It’s also a very low friction environment which I’m really happy about.
Right now I’m with most of the Tier 3 engineering team are in Utah for a hack house. Spending a couple of weeks hanging out and writing a lot of new code for Tier 3. I’ve also found time to get back on the bike after breaking my collar bone earlier in the summer.
You can figure out what the post title really means.
The obvious outcome is that on Saturday night you find yourself in a bar with Greg and some others drinking way more that is really advisable. Turns out that Greg can say “we’ll have another round” to any passing server while still holding another conversation, even what it’s not his turn to buy. Impressive.
Of course the end result is that I woke up the next morning with a stinking hangover and the vague feeling that we might have come up with a solution to the Turing halting problem. Unfortunately neither of us could decipher the incoherent scribbling on the napkin Bob brought home.
End of story right? No. One of the things that we did remember was that Greg convinced us that CQRS was a “good thing”. When we got back to Redmond we started to convince the patterns & practices group that CQRS was such a good thing that they should do something with it. Chris Tavares did some prototyping but things took time and one way or another, Chris, Bob and I all moved on to other things.
Thankfully Grigori Melnik, Eugenio Pace and Christopher Bennage and the rest of the patterns & practices team picked up the torch. They did the real work of engaging Greg and many other people in the development community.
You can imagine how pleased I was when I visited the patterns & practices team a few weeks ago to discover all this hard work had been turned into a book! Grigori gave me a copy and it looks really good. The sort of guidance that made me so proud to be involved with p&p for several years.
A friend reminded me about this. I think we actually set up a web server for the Astronomy group sometime around Christmas of 1993 but didn’t get it one the NCSA announcements page for several months.
Hum. To think you can create a whole career off of something you did when you were bored of some of your physics research. I guess life really does happen while you are making big plans for something else.
What’s New With NCSA Mosaic
Feb 20th 1994
The University of Southampton Astronomy Group now provides an index of recent International Astronomical Union (IAU) telegrams. To avoid breaching the copyright on the circulars, the full text of the telegrams is only available locally. However, if you have your own legitimate source for these documents then this search tool will tell you which telegrams to look in for news on particular astronomical objects and events.
If you thought the days of dark satanic mills were long behind us then think again.
Crunch (time): a critical moment or period (as near the end of a game) when decisive action is needed.
- Merriam Webster
As in, “Our team was crunching which meant management ‘asked’ us to work late nights and weekends’ so that we could ship in time.”
This has ramifications, such as:
“My team crunched really hard for several months. When I finally got home one night I discovered that I was the proud father of twin baby girls.”
“I was at work until 3am and was so tired and distracted driving home that I crashed my car and ended up in the ER.”
“I was expected to work as many hours as were required to meet the deadline. This exacerbated my existing health problems and I was found dead in the shower by one of my house mates.”
“When I leave the house in the morning my daughters as really sad because they aren’t going to see me for several days.”
Only one of these is made up.
As a friend of mine once observed “I used to think all software was written that way until I discovered agile.”
Picture by Adolphe Valette, French impressionist and teacher of J.S. Lowry. Both tried to capture life in the heavily industrialized north of England.
I’m pleased to report that I’ve been busy helping out the C++ AMP product team with the C++ AMP Algorithms Library. Recent additions include:
- Lots more C++ AMP implementations of STL algorithms, like; accumulate, copy_if and adjacent_difference.
- Some documentation; getting started guide and list of supported features.
- Build and test infrastructure; tests now run under the Visual Studio C++ testing framework and there’s a script for building and running the tests after you download.
All this means a new release. The C++ AMP Algorithms Library 0.9.2 is downloadable today from the C++ AMP Algorithms Library CodePlex site. What’s next? I’m hoping to start on some sorting algorithm implementations. First up radix sort.