Parallel Programming Talks at Seattle Code Camp

Friday, February 26, 2010 – 8:43 am

There are lots of interesting talks at Seattle Code Camp this year (April 17th and 18th). One of the biggest things I noticed was the number of talks on parallel computing, including one on patterns for parallel programming.

I thought I’d submit something a bit different…

Fast… Faster… FASTER!

What happens when you take a seriously computationally hungry application and use the latest parallel programming features of C#, F# and C/C++ to improve its performance?

In this session we’ll work with a single application and look at some of the parallel features in C#, F# and C/C++, the importance of choosing the right algorithms and how to pick and mix languages and frameworks. The end result is an application running 5x, 20x or even 400x faster by fully utilizing multi-core CPU and GPGPU processors.

Hopefully see you at the camp! I’m excited to get back to talking about code.

Share on:
  • Digg
  • DZone
  • del.icio.us
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Twitter
Once You Know, You Newegg

San Francisco Agile Meetup: Using Agile with Large, Geographically Dispersed Development Teams

Monday, February 22, 2010 – 11:14 pm

Agile MeetupThanks to everyone who attended my talk this evening. I had  an awesome time and loved the amount of enthusiasm and the great questions.

As you may have noticed… there’s a lot of material to cover. Here’s some references to more content which adds depth. If you have any questions post a comment here and I’ll reply to it.

Surveys of agile adoption at Microsoft, papers from Microsoft Research:

Pair Programming: What’s in it for Me? – Andrew Begel & Nachiappan Nagappan

Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study – Andrew Begel & Nachiappan Nagappan

Read the rest of this entry »

Share on:
  • Digg
  • DZone
  • del.icio.us
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Twitter

Slide Decks for the PDC ‘09 Patterns of Parallel Programming Workshop

Saturday, February 20, 2010 – 3:16 pm

I’m happy to say the the slide decks from the PDC workshop finally seem to have shown up online. They may have been there a while but I only just noticed them. Go to the PDC page for the workshop…

Patterns of Parallel Programming: A Tutorial on Fundamental Patterns and Practices for Parallelism

Click on the Supporting Documents link to download a zip with all of the presentations. The videos of this workshop are not available.

Share on:
  • Digg
  • DZone
  • del.icio.us
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Twitter

CodePlex Announces Support For Mercurial

Tuesday, February 2, 2010 – 12:34 pm

CodePlexJust a quick note…

In case you hadn’t heard the news CodePlex now supports Mercurial project hosting against a Mercurial client. The blog post on the CodePlex blog shows you how to connect to a project and the ins and outs of setting up new projects etc.

Share on:
  • Digg
  • DZone
  • del.icio.us
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Twitter

Mercurial + PowerShell

Thursday, January 28, 2010 – 9:30 pm

My last couple of posts have been about Mercurial. I keep discovering new things I like about it. Combining it with PowerShell also presents some exciting possibilities.

I have a couple of PowerShell scripts I’ve used for building stuff for a while. This one for instance.

$lastBuild = join-path $env:temp lastbuild.log

function b {
    msbuild /l:"FileLogger,Microsoft.Build.Engine;logfile=$lastBuild" $args
}

function lb { notepad $lastBuild }

The advantage of this is that you can use the lb command to load the last build log into your favorite editor and browse or search it. The example above uses notepad but notepad2 is a better choice, especially if your log files are large. This beats scrolling up and down in the shell window looking for the root cause of build breaks etc.

So where does Mercurial come in? Turns out Mercurial’s repository cloning feature(s) mean you can create a “buddy build” to quickly test local commits before pushing them to the authoritative repository. 

Read the rest of this entry »

Share on:
  • Digg
  • DZone
  • del.icio.us
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Twitter

Using Mercurial with Visual Studio

Thursday, January 28, 2010 – 4:56 am

Mercurial ships as a command line tool. Here are some UI based tools to make it work that much better on Windows and in Visual Studio.

TortoiseHg – A Windows Explorer integration for Mercurial (You can download the latest versions of Mercurial and TortoiseHg from the Mercurial site)

HgScc – A source code control package for Visual Studio. This seems to be under pretty active development with versions for VS 2008 and VS 2010 Beta. It supports most of the features you’d expect from a SCC provider; project item state flagging and commit menu items etc.

TortoiseSVN’s TortoiseMerge – I sort of grew to like TortoiseMerge during my time using Subversion so I’m still using that as my diff’ing tool. You can configure both HgScc and TortoiseHg to use this for diff’ing.

Read the rest of this entry »

Share on:
  • Digg
  • DZone
  • del.icio.us
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Twitter

Moving To A Distributed Version Control System

Wednesday, January 27, 2010 – 5:03 am

I’ve been using Subversion to host my code on a Windows Home Server box for the past year or so. At about the same time distributed version control systems (DVCS) started to become the “hot new thing”. Git, Mercurial and Bazaar with their associated community hubs; GitHub, BitBucket and Launchpad are all getting a lot of traffic.

I’ve avoided moving a to distributed version control system because I’ve largely been very satisfied with Subversion for my single user, mostly connected scenario. The only place I’ve found Subversion lacking is in the completely disconnected case, which doesn’t happen to me very often. I’m also pretty conservative when it comes to version control, hot new features take second place to a reliable well documented “traditional” VCS like Subversion.

Read the rest of this entry »

Share on:
  • Digg
  • DZone
  • del.icio.us
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Twitter

Implementing a Parallelized Octree in F#

Wednesday, January 20, 2010 – 10:31 pm

The result of all my F# hacking around over Christmas wasn’t just some notes on what not to do (my previous F# blog post). I actually got down to writing some more code for my n-body model in F#. I got down to reading some of “F# for Scientists” and a couple of really interesting blog posts on building an Asteroids game for the Xbox using F#. This prompted me to stop thinking about implementing an octree and actually get started.

Why F#? Well in this case it seems like the best tool for the job. I’d already considered a C# octree implementation on Code Project. Even after some clean up, refactoring (and bug fixing) I was less than happy with the clarity of the resulting code and ditched it.

The book actually includes some examples of n-body modeling and shows lots of examples of building trees with F#, something the language is pretty good at. As noted in my previous post I also discovered how to do TDD in F# which was a real help.

Read the rest of this entry »

Share on:
  • Digg
  • DZone
  • del.icio.us
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Twitter

I’m Speaking to San Francisco Agile Meetup Group

Monday, January 11, 2010 – 1:57 pm

Agile San Francisco MeetupLooks like I’ll be speaking in San Francisco in February on the 22nd. 

Using Agile with Large, Geographically Dispersed Development Teams

Distributed and large scale development are a fact of life for many teams. Unfortunately most agile methodologies or approaches assume that the team is located in a single team room. Until recently there has been little guidance about how to apply these approaches with a geographically dispersed or very large teams.

Ade Miller has been following an agile, distributed development approach for the past several years. During this time his teams within Microsoft have experimented extensively with different approaches to best address the challenges of distributed agile development and using agile on larger teams.

This meetup will address the challenges faced by large and geographically distributed agile teams and details some proven practices to address these issues and build successful distributed teams.

Definitely looking forward to this one! Great chance to talk to people outside of Redmond about how they do agile.

Share on:
  • Digg
  • DZone
  • del.icio.us
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Twitter

ParaPLoP 2010: Parallel Patterns Workshop

Thursday, January 7, 2010 – 7:34 pm

Dates for this year’s pattern languages workshop for parallel patterns have been announced. Not sure If I’ll be able to attend but it definitely looks interesting.

ParaPLoP 2010

ParaPLoP 2010, a PLoP-style workshop on parallel programming patterns, will be March 30 – April 1 in Carefree, AZ. You are invited to submit a paper. Papers should describe one or more patterns, outline a pattern language, analyze previously published patterns, describe case studies of using patterns to develop parallel software, or present experience mining patterns from significant parallel code implementations.

Similar to PLoP, ParaPLoP will be organized as a set of writer’s workshops. ParaPLoP is extremely interactive and begins with the submission process. Submissions are due February 15, but if authors submit earlier, then they will receive feedback and can resubmit. Please visit our submit page for more information.

Space permitting, non-authors will be allowed to attend ParaPLoP 2010.

Here at patterns & practices we’re considering our options in terms of a follow-up on the PDC workshop. A book may be on the cards. If you have things you’d like patterns & practices to be doing in this space then post a comment here.

Share on:
  • Digg
  • DZone
  • del.icio.us
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Twitter