The code formatting fallacy
Time to stir my category cloud on the right a bit, and publish a post under a category I’ve so far only used once. Hopefully it will become clear what Language Oriented Programming (LOP) has got to do...
View ArticleMassive-scale Online Software Development
Cutting right to the chase: Would it be possible to create software, entirely developed and moderated by an open community? Call it democratic software development, or open source on steroids if you...
View ArticleDowncasting, what’s up with that?
Just a short post today, or a question rather, on what must be the easiest subject I’ve written about yet. Though, I’ve caught myself making errors against it often. Nowadays I’m extra cautious when...
View ArticleDon’t Repeat Yourself as a Lifestyle
Yesterday I saw a truly inspiring talk by Bret Victor where he explains his guiding principle in life and work. “Ideas are very important to me. I think that bringing ideas into the world is one of the...
View ArticleLearning from Linguistics
Don’t worry about the title, this is a post about software design. This week I started following a Coursera course, Think Again: How to Reason and Argue. In it, the cooperative principle and its...
View ArticleCamelCase vs underscores: Revisited
It has been 2 years since I published “CamelCase vs underscores: Scientific showdown”, and it still is easily the most visited article on this blog. Yesterday alone it got 2,614 views thanks to a forum...
View ArticleGeneric Attributes in C#
As awesome as C# is, once you want to do some more advanced stuff with attributes, you quickly run into several limitations. There is even a Microsoft Connect entry on this issue. Attributes can’t be...
View ArticleInterval: Generic Ranges in C#
There is no doubt about it; out of all the programming languages I ever experimented with, C# has offered me the most streamlined positive development experience so far. It is a modern, ever-evolving...
View ArticleGeneric TypeConverter for XAML
TypeConverter‘s in WPF are part of the underlying mechanism which allow you to assign values to attributes of complex types within XAML using plain strings. For example, whenever you specify Point‘s....
View ArticleNon-generic Wrapper instead of Base Class or Interface
A common solution to treating a generic type as non-generic is to implement an interface or make the generic type extend from a non-generic base class. Among other reasons, this allows you to...
View Article
More Pages to Explore .....