Tech Tock

Time is of the essence.

Caliburn–Hasta la Vista

My Caliburn project is over.  A couple of thoughts.

I liked Caliburn Micro.  The best thing was that it makes it easy to connect events and methods — where you would normally use a DelegateCommand/ICommand and binding, now you get simple by convention auto wireup.  The worst thing is that using convention to autowire VM to View doesn’t show mock data in Blend for my favorite mock data objects which are subclasses of the VM, so I ended up using explicit bindings in the Xaml and not using a big benefit of Caliburn.


September 13, 2011 Posted by | Uncategorized | , , , | Leave a comment

WPF in 60 Seconds

Or:  So Much WPF, So Little Time

I’ll be presenting on WPF at the September 21st .Net Meetup.

A breezy tour of topics in WPF from the ground up with demo examples and source code.  Each topic will be given a one minute treatment.  For anyone interested in, new to, or learning WPF you can see the scope of the platform and see what you want to learn.  For anyone working in WPF, enjoy the highlights of your platform.  You might even see something you’ve missed.

Everything will apply equally to Silverlight, subject of course to this diagram.

August 11, 2010 Posted by | Uncategorized | , , , | 2 Comments


Welcome Aboard Jimmy Schementi

IronRuby core team member, Jimmy Schementi, is joining Lab49.  Read about his decision here.  MS bashing here.


I caught David Padbury’s WPF/Blend demo at the July .Net Meetup.  He really made it look easy and the demonstrated behaviors were pretty cool.

I’ll be presenting on WPF at the September 21st .Net Meetup.

Coming Soon

For the worlds most useful WPF XAML Converter watch this space.  It even beats BooleanToVisibilityConverter IMHO!  It’s brilliant simplicity.

Grid Computing

Lots of grid computing talk.  Data Grid, Computation Grid, whatever, it all sounds pretty whiz bang cool to me.

Here’s some links.



Globus: “the daddy of grid computing software”
EHCache (including Terracotta distribution option):

Web 3.0 is here – All Hail Web 4.0

Access Memory Directly At Your Own Risk

Here’s some instructions on how to access memory directly in JAVA.  Use caution.

Canonical Data Models Considered Harmful

It's BeautifulThe Shangri-La of a single all encompassing data model for disparate business units will mostly likely become a tortuous chimera.


I missed the Lab Seminar Presentation on time management – maybe that’s a primary indication I should have gone.

August 9, 2010 Posted by | Uncategorized | , , , , , | Leave a comment

ContentTemplate for Blendability

Was working on a medium sized DataTemplate that lost Blendability.  Extracted the piece I wanted to work on into a new DataTemplate and connected it with a simple ContentControl.  Problem solved (ish).

<DataTemplate x:Key=”ExtractedTempalate”>

<!—stuff you are interested in – make this blendable – probably not too hard for a small section –>
<Controls XXX=”any needed items here” />

<DataTemplate x:Key=”UnBlendableTemplate” >

<!– lots of stuff you’re not interested in right now … –>

Content=”{StaticResource ExtractedTempalate}”
Content=”{Binding}” />

<!– lots of stuff you’re not interested in right now … –>

July 14, 2010 Posted by | Uncategorized | , | Leave a comment


Steve Jobs to Flash:  Drop Dead

Several of us were impressed by Steve Jobs poison pen to FlashAdobe’s response that there’s plenty of other devices for them to work with was “simple and to the point,” but much less interesting.

Powerpoint Rears its Ugly Head

With our healthy UX Practice, a Powerpoint Article in the NY Times will get a lot of comments.  Let’s just agree that its not going away and Powerpoint’s weaknesses are ancient history and current practice.  Daniel Cohen gave the topic some more ink.

On Blend

We love Expression Blend (its better than all others – all others being none), but…

On the subject of extracting templates, one esteemed colleague said:

“Blend doesn’t do the right thing unless its really simple.”

Winner of the Star Trek Trivia Contest is:

image Me, because nobody else played.  Anyway, it seems much of the staff wasn’t even born when the original series was on the air.

Why is HP Buying Palm

Discuss among yourselves – we did.

UI vs UX

I for one, know that I do UI, which has not much in common with UX.  I think business people want to get a 2 for 1 special in the extremely rare bird who can be a great developer and UX designer at the same time.  They probably don’t know what UX is or understand its value.

May 2, 2010 Posted by | Uncategorized | , , , , , , , , | Leave a comment

Week @ Lab 2/21/2010

Ski Trip!


The Lab sponsored a ski trip on Saturday to Windham Mountain.  It was an awesomely awesome trip.  Great weather, great company, and as far as I could tell, a great time had by all.

Goodbye ThreadPool & BackgroundWorker,
Hello Task

At this month’s .Net Meetup, David Barnhill, gave a great presentation on Multithreading in .Net 4.0.  While the internal features are just upgrades, support for new syntaxes and keywords in a lamda style will make the current thread starting styles obsolete.  Task Parallel Library is now the way to go.  The Mandelbot Set demo was instructive and visually pleasing.

You can download David’s multithreading samples here.

Another David also presented on mutlithreading in PLinq.

Some links:

Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4

Samples for Parallel Programming with the .NET Framework 4

Parallel Programming in the .NET Framework

DryadLINQ is a simple, powerful, and elegant programming environment for writing large-scale data parallel applications running on large PC clusters.

Reactive Extensions – Rx
Rx is a library for composing asynchronous and event-based programs using observable collections.

I’ve heard only great things about the Rx library, but David B. noted that the support and upgrade path is somewhat nebulous at this time.

Interesting fact:  StackOverflow data is publicly shared.

I highly recommend this meetup.


This is the city after the meetup.  Its an interesting area, a few blocks up from times square.

Word of the week:  Blend·a·bility

With MS Expression Blend becoming more and more important in our development, we strive to maintain code that doesn’t break the UI designer features of Blend.  We call this maintaining blendability.

Basically, Constructor and OnApplyTemplate methods for visual elements need to be respected and not throw errors when loading in design time.  Constructor issues often come from dependency injection which Blend doesn’t supply.  In this case making a default constructor can solve the problem.  Code in the OnApplyTemplate should also respect nulls often caused by lack of dependency injection.  Alternatively, you can check for design time with this code:

if(System.ComponentModel.LicenseManager.UsageMode ==

February 22, 2010 Posted by | Uncategorized | , , , , , | 3 Comments

Cool Tool Roundup


imageRooler is just awesome  when you want to see measurements on the screen.

WPF Control Template Utility

This utility is simple and shows the default control template.  Just what you need when customizing controls.  On the other hand, when creating controls, you may want to start from scratch (in Blend of course)…

It’s pretty nasty that VS 2008 won’t show a visual representation of a Template XAML but Blend will.  I just started using Expression Blend today and I like it.

WPF Colors

This color chart is handy.  Then again, why search for colors, when you can just pick one at, or just use Blend.



I was about to use the snoop utility to try to understand a running app, but then a colleague walked by and solved my problems with Blend


Reflector, seems like it should be on this list, but I still haven’t used it much, though I know a lot of folks who love it

January 19, 2010 Posted by | Uncategorized | , , | 1 Comment