• XML parsing in the Roslyn era

    Roslyn was a revolution in the .NET world when it came out. For the first time we had Microsoft release their compiler implementation of C# under an open-source license. Not only that, the way in which this compiler had been constructed would open the doors to numerous improvements in the ecosystem in the forms of:

  • Computation Expressions in C# using async/await

    I have had some fun already using C# 7.1 new customizable async/await pipeline to do interesting things:

  • ActivityTask, an helper for async/await on Android

    While at I/O last week, we happened to attend the Architecture Component talk on Android lifecycle (which I recommend you watch). While the solutions presented there are definitely interesting and, in some cases, map to patterns we already have in .NET, it definitely resonated with us present on how those Android lifecycle nitpicks make one specific C# feature more cumbersome to use: async/await.

  • Recreating F# maybe computation expression in C#

    For the past few nights I have been reading up on F# from fsharpforfunandprofit.com specifically on things like monads, bind functions and the language support for them, computation expressions (which I encourage you to read to help understand what’s going on here).

  • Diverting functions in Windows with IAT patching

    Recently I was stuck with a blocking issue that was putting a feature I worked on in jeopardy. To summarize the problem, the entire feature relied on a specific way a library is initialized, the library in question providing two different functions (that we will call Init and InitExtended) to initialize itself.