Geeks With Blogs
Josh Reuben

Mother of all Blog Posts

Building expertise in WPF / Silverlight

·         Core Programming Concepts: Declerative programming, Dependency properties, DataBinding, Commands, Triggers, VSM, Control templating, the inheritence model , XAML extensions and control templating

·         Transforms and animations - SVG experience helps

·         Comprehend the core differences in SL and WPF-  lack of Commands and Triggers (Behaviours and VSM are superior anyway), Calling different types of services (WCF, Sockets, Duplex, ADO.NET Data Services, RIA services) à naturally supports good architecture,

·         Silverlight 3 -  navigation , out of browser experience, popups etc

·         MSDN + Adam Nathan book are a great place to kick off

Product Details


·         Petzold’s WPF 3D Book – A great resource for learning 3D in general – it really mixes well 3D maths with the core programmatic constructs of WPF 3D. There are 3 major limitations to WPF 3D: 1) Retained mode graphics have performance issues. 2) for a high level scene graph, the primitives are still primitive – wouldn’t be great if we had intrinsic data structures for rendering NURBS patches. 3) Point animation of a mesh vertex is on the heap (each interpolation is like writing to the same string object)  à requires annoying work arrounds.

Product Details

·         Silverlight Animation book – collision detection, kinematrics, particle systems, etc. I like the way that the VSM is leveraged for cartoon like affects and the technique of programmatically manipulating the storyboard as a declarative timer.

Product Details

·         Silverlight Toolkit / WPF Toolkit – especially DataGrid and Charts


·         Expression

o   Blend - how else would you template your controls. I feel pretty comfortable using this tool(may polish up the data binding side)


o   Encoder - media encoding with markers, leveraging IIS smooth streaming

 Microsoft Expression Encoder 2

o   DeepZoom – creating Image pyramids


o   (I have not yet dug deep into expression Design

·         RIA Services – a prescriptive model that takes n-tier development to the next level of abstraction.

Infrastructure behind a DomainService and DomainContext

·         Blend Behaviours – abstract out triggers and actions into declarative components


·         Perf tools

·         Automation using White

·         SilverlightSpy

·         SL unit testing

·         MVVM – the view has a view model and the view model has a model (whose change notifications it observes). Leverage XAML databinding and DelegateCommands (as the VM is out of the Logical Tree)

·         Composite Application Library – Constructing a mutiview GUI leveraging MVVM, Loading isolated module via IoC and DI, mapping views to regions -  Unity DI Container, DelegateCommands, EventAggreagater, RegionManager etc.


in order to construct AI algorithms, you need 2 core subsets of knowledge: Programmatic and Mathematic skillsets. Learning Software Engineering through 10 years of practice can yield for me the ability to take a set of algorithms to construct an n-tier solution (with all the –ability adjectives {scalability, maintainability, performability (ha), etc}) while a straight mathematician would flounder on basic programming constructs. By learning the math, I canaggregate knowledge silos - eg in a few hours comprehend the gist of a highly specialized phd thesis that someone spent 5 years writing).  To that affect I’ve gone through the following Schaums Guides (plus watched Jason Gibbs maths training DVD in Linear Algebra - )

·         Advanced Calculus – reading through this felt like sense of achievement one gets from climbing a mountain. I achieved a decent comprehension

 Product Details

·         Probability – slightly simplistic. Stochastic trees are a great mathematical visualization technique for understanding Bayes Theorum. Useful for reasoning under uncertainty.

Product Details

·         Linear Algebra –different techniques for solving systems of linear equations.

Product Details 

·         Operations Research – allocation of scarce resources

Product Details

·         Numerical Recipes – function approximation. The notes were slightly sparse.

Product Details

Putting things into perspective:

·         Larry Gonicks history books – a great way to learn the tapestry of history in a compact and humorous manner

Product Details

·         The ascent of money – I’ve always enjoyed Nial Ferguson’s geopolitical and socioeconomic analysis. Can we unify behavioral and quantitative finance?

Product Details

·         Ending Aging – a snapshot of the current state of research into alleviating the affects of the 7 malady categories of aging: - I corresponded with the author during my Bioinformatics days.

Product Details

·         The trouble with physics – by Lee Smolin. String “Theory” (more like conjencture / cult of Ed Witten) is actually based on another unproven conjecture – supersymmetry. It is not currently falsifiable and has turned into consensus science, drawing away from other potential theories such as Twister theory or Loop Quantum Gravity. M theory is just a vague concept and there are an infinite number of string theories – in programming ,we call this a code smell. While it holds mathematically (and has led to new maths such as Guage theory), it wont be the 1st mathematically elegant theory that doenst hold in reality.

Product Details

·         A new kind of science – just like cellular autonoma, Wolfram proposes that complexity evolves out of simple rules. Reads like a pop sci book. Strangely enough, the concepts of quantum or probabilistic states and states that modify rules are not covered!

Product Details

.NET Parallel Development

·         TPL – a .NET 4 scale up stack for data & task parallelization. Various levels of abstraction – PLINQ, parallel iterators, Tasks (similar to an automated threadpool), futures (tasks that promise to asynchronously return values). + many new thread model synchronization locks. see -, ,

·         DryadLINQ – a declarative scale out API of MS Research for scaling processing out to multiple nodes - SEE ,


·         Accelerator – a non LINQ enabled GPGPU API from ms research which is limited to 2D matrices. It leverages a high level shader to map processing into the GPU - SEE

nvidia CUDA

·         Axum – a research API based upon the agent paradigm which isolates agent interactions through message channels. Feels clunky to me. SEE,

·         Solver Foundation – (horrendous doco) - Optimization API host exposed as a web service, a C# API, or an excel plugin. It suceeds where Excel Services failed.

Solver Foundation by Microsoft Research on Flickr.

·         Windows HPC – a grid computing host management environment – includes a prioritized job scheduler and management utilities  - SEE ,



·         Oslo + Quadrant – still half baked.

·         WF 4 – still half baked – currently no state machine or rule engine support evident. Note that persistence and tracking have been abstracted out to Dublin (WAS 2.0) , which wont be released in the NET 4 timeframe.

·         Entity Framework – pretty easy to learn these changes

·         WCF – discovery, REST templates

·         System.Xaml – still half baked

·         What happened to Software Factories (Blueprints)?

·         Azure – what a mess! SQL Data Services doesn’t work, Cloud Workflows were a fork and have been scrapped and Silverlight SMEWAs require live mesh client! Note: Azure is NOT A GRID COMPUTING PLATFORM!!! I’ll wait for v2 thanks.



·         Constructed Silverlight Timeline for Matach

·         Constructed prototype of Silverlight media playback system for Youniversity

·         Completed Amdoc’s staffing workflow system

·         Constructed Southridge WPF labs for MS

·         Constructed WPF control Library  for Elta

·         Attrrnded the Mix conference

·         Taught the Metro WPF course in Israel, Australia, New Zealand, Turkey

·        App Profiling for IFN - fun with Ants profiler!

·         Constructed the Silverlight 3 Courseware Library for MS

·         Constructed WPF GIS  control and architectured Composite client for current customer.


Posted on Sunday, July 5, 2009 2:13 PM Numerical Computing , Technical Readings , Parallelism , XAML | Back to top

Comments on this post: 6 months in review

# re: 6 months in review
Requesting Gravatar...
Amazing job. Don't stop blogging bro
Left by frameless glass on Sep 16, 2010 5:53 AM

# re: 6 months in review
Requesting Gravatar...
Thanks for sharing these ideas. It is something great to learn all about this information. - Bath Planet
Left by Robert Nyers on Jan 11, 2017 12:40 PM

Your comment:
 (will show your gravatar)

Copyright © JoshReuben | Powered by: