Endjin - Home

Culture

Large productivity gains can be made by adopting a “Convention over Configuration” (CoC) approach when designing new solution architectures. To harness the full power of the Convention over Configuration approach, the development team must take a holistic approach by examining the ceremony required at every stage within the Software Development Life Cycle. In a previous […]


Layering your API

by Matthew Adams

In the previous post, we looked at a nice RX-implementation of an INPC subscriber by Richard Szalay, and added a couple more methods so that it could be used by a non-RX-aware developer in a very simple manner. In the comments, RIchard pointed out that if you want to start to take advantage of other […]


RX and INotifyPropertyChanged

by Matthew Adams

Richard Szalay has a great blog post which allows you to use the Reactive Extensions IObservable pattern to subscribe to INotifyPropertyChanged implementers. However, the syntax is still a little bit clumsy. By adding a few extra helpers to the class we can go from this: To this Here’s my slightly modified code. Why should you […]


Silverlight CommandManager

by Matthew Adams

As WPF and Silverlight developers, one of the most powerful tools in our utility belt is command binding. A quick dive into WPF WPF has a fairly full-featured command infrastructure, including a rather useful type called the CommandManager, which ensures that our controls are correctly enabled and disabled as the Command to which they are […]


The inimitable Ian Griffiths left a great comment on my last post – saying that: You seem to be implying that the LINQ query was being evaluated each time round in “the outer foreach”. But I don’t think that’s right. A foreach loop evaluates its collection expression just once at the start of the loop. […]


A Short Tale of a Deceptively Slow LINQ Expression

by Howard van Rooijen

With any good iterative development process – the first step is to get something working: solve the problem in as simple a fashion as possible, then refactor. Part of the refactoring consideration should be an initial performance monitoring spike to see which parts of your codebase are running slow. Once I had the initial prototype […]


Work Smarter, Not Harder

by Howard van Rooijen

The simplest definition of my mantra of  “work smarter, not harder” is: Using your intellect, skills, established patterns, tools and a fundamental understanding of the problem space to create an elegant solution, instead of a purely brute force approach. So many people jump straight into trying to solve a problem without actually trying to understand […]


1 6 7 8