Fridathon: unstructured learning or hacking you can opt-in to do on any random Friday.
  • Shadowfax Wizards for configuration and code generation

    The cornerstone of any highly extensible and pluggable framework is configuration. This is even more important in SOA architectures like Shadowfax (Sfx), because business actions (BA), service interface and implementation, pipelines, etc., must be configured. Configuring BAs is specially critical since a typical enterprise application will contain hundreds of them. A set of wizards for Sfx were released for that purpose. [Read More]
  • The best browser ever!

    I’ve been using FireFox for a while now. It used to be FireBird when I started, and it’s been my default browser ever since. But every new version surprises me, as well the constant availability and improvement of all sorts of extensions to it, as well as a growing number of themes to make it look even better. [Read More]
  • High-performance XML (IV): subtree transformations without re-parsing

    In a previous post I showed how to load and transform subsets of a document with the XPathNavigatorReader. In the example I used, which follows the MSDN documentation one (under the section “Transforming a Section of an XML Document”), XML parsing is happening once, but in-memory document building is happening for each subtree being transformed, effectively loading those fragments in memory twice. The relevant piece of code is: [Read More]
  • EIF vs log4net

    I’ve been doing a comparison of both products recently. Before you read, I must say that I used log4net a lot (I even appear as a contributor :o), so I may be biased. On the other hand, I only evaluated EIF, looked at how it’s used in a real world product, and read the documentation provided, as well as built the examples. [Read More]
  • Configuration with XmlSerializer + codegen (i.e. xsd.exe): how "fix" PascalCase to camelCase for the XML

    Most people (including myself, as you may have noticed from my previous post on XmlSerializer-based configuration) believe an automated XSD->Classes->XmlSerializer config section handler is the optimum approach for dealing with configuration in .NET. You basically start definining your configuration in an XML Schema, then use xsd.exe or another even more cool approach, and finally get XmlSerializer-ready classes for it. Loading configuration afterwards is just a matter of deserializing it. Cool right? [Read More]
  • Reading XML fragments with XmlTextReader - XmlFragmentStream

    Back at the 2004 MVP Global Summit, I met fellow XML fan Kirk, who was seeking a solution to the following problem: you have a (several) megabytes file containing multiple XML fragments, and you want to read it (in his case specially through the SgmlReader). The problem is, of course, that the XmlTextReader will throw an exception as soon as it finds the second fragment, unless you use the special ctor. overload that takes an XmlParsingContext. Dare shows an alternate solution based on XML inclusion techniques, either DTD external entities or XInclude. [Read More]