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.
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.
@Lab
Welcome Aboard Jimmy Schementi
IronRuby core team member, Jimmy Schementi, is joining Lab49. Read about his decision here. MS bashing here.
Meetup
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.
Papers: http://www.globus.org/alliance/publications/papers.php
Software:
Globus: “the daddy of grid computing software”
Coherence: http://download.oracle.com/docs/cd/E15357_01/index.htm
Gemfire: http://www.gemstone.com/docs/6.0.1/product/docs/
EHCache (including Terracotta distribution option): http://ehcache.org/documentation/index.html
Hadoop: http://hadoop.apache.org/
http://jboss.org/infinispan
http://gridgain.com/
Web 3.0 is here – All Hail Web 4.0
http://byronmiller.typepad.com/byronmiller/2007/07/just-when-you-t.html
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
The Shangri-La of a single all encompassing data model for disparate business units will mostly likely become a tortuous chimera.
Peccavi
I missed the Lab Seminar Presentation on time management – maybe that’s a primary indication I should have gone.
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>
<DataTemplate x:Key=”UnBlendableTemplate” >
<!– lots of stuff you’re not interested in right now … –>
<ContentControl
Content=”{StaticResource ExtractedTempalate}”
Content=”{Binding}” />
<!– lots of stuff you’re not interested in right now … –>
</DataTemplate>
@Lab
Steve Jobs to Flash: Drop Dead
Several of us were impressed by Steve Jobs poison pen to Flash. Adobe’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:
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.
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:
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 ==
System.ComponentModel.LicenseUsageMode.Designtime)
Cool Tool Roundup
Rooler
Rooler 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 colorpicker.com, or just use Blend.
Snoop
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
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