On simplicity

Today someone brought to my attention the quote from http://blog.rongarret.info/2009/02/css-and-meaning-of-life.html : <<And then there is one element of my quality metric which seems to be at  the heart of the controversy: I believe that computers are meant to  serve people and not the other way around.  That means that if something inherently simple is difficult to…


Error handling, part 4: error information recap

<<Part 3 Part 5>> Picking up again the series on the error handling, here is the summary of what a good error handling system should contain and do (starting with a recap of the previous posts and then going further): Errors should be nestable, with the high-level information on top and the full details on the bottom. Errors…


Error handling, part3: the ETW way

<< Part 2 Part 4>> The Part 2 ended with the summary: In a good error reporting system, the errors should have both the types/codes for the automatic handling and the free-form human-readable strings with the detailed description. However there is one more way, a sort of “middle” way, that is used by the Event Tracing…


Error handling, part 2: error types

<< Part 1  Part3 >> Over the years I’ve seen various error handling conventions and systems, and even have written a couple of them myself. I’ve done one for Triceps, with support for C++ and Perl, and another one for C++ on Windows, that I plan to show and discuss in detail in the later…


Error handling, part 1: how not to

Part 2>> With this post I start the series on how to handle the errors right. I’ve been thinking and experimenting with how to do it better, and I want to share this knowledge. First of all, I want to give an example with the error handling that was done wrong, unfortunately something that happens…


monads

Today I want to repost a post from my other blog in CEP. It came as a side effect of first seeing a discussion and then watching the talk on “Monads and gonads”. They guy there actually got only a small subset of what the monads are, actually the same mistake as I’ve done on…

2