Tales from the Evil Empire
Bertrand Le Roy's blog
-
Clay: malleable C# dynamic objects – part 1: why we need it
When trying to build the right data structure in Orchard to contain a view model to which multiple entities blindly contribute, it became obvious pretty fast that using a dynamic structure of sorts was a must.
-
Optional named parameters work pretty well
Rob has found a use for dynamic:
http://blog.wekeroad.com/2010/08/06/flexible-parameters-with-csharp -
Orchard 0.5 is out
Before I joined Microsoft seven years ago, I had spent a couple of years building a Web CMS. It wasn’t open-source unfortunately but the experience convinced me that most public-facing web sites would shortly use some form of CMS. I also forged strong opinions about the right level of component granularity that a CMS must implement.
-
What did you start programming on?
There’s some kind of controversy going on today in our microcosm. I don’t want to enter that controversy because I think nobody’s willing to listen to anybody but themselves.
-
Oh yeah, CallStream is great to express monads
It has been pointed out by several commenters that CallStream was a reinvention of monads. Not quite so, but the nuance is subtle.
-
How I understood monads, part 2/2: have we met before?
The first post in this series can be found here:
http://weblogs.asp.net/bleroy/archive/2010/06/16/how-i-understood-monads-part-1-2-sleepless-and-self-loathing-in-seattle.aspx -
How I understood monads, part 1/2: sleepless and self-loathing in Seattle
For some time now, I had been noticing some interest for monads, mostly in the form of unintelligible (to me) blog posts and comments saying “oh, yeah, that’s a monad” about random stuff as if it were absolutely obvious and if I didn’t know what they were talking about, I was probably an uneducated idiot, ignorant about the simplest and most fundamental concepts of functional programming. Fair enough, I am pretty much exactly that.
-
How Orchard works
I just finished writing a long documentation topic on the Orchard project wiki that aims at being a good starting point for developers who want to understand the architecture, structure and general philosophy behind the Orchard CMS.
-
When failure is a feature
Warning: this post is going to be slightly off-topic and non-technical. Well, not computer science technical at least.
-
Writing the tests for FluentPath
Writing the tests for FluentPath is a challenge. The library is a wrapper around a legacy API (System.IO) that wasn’t designed to be easily testable.