Year: 2012

For many years I’ve been a happy user of completely silent desktop PCs at home. I hate noise from the fans and spinning rust aka HDDs. In fact, I think it’s a shame that most desktop computers still have mechanically moving parts. I guess the majority of users don’t care much about the noise, hence…

I’ve blogged before about the tool called Quoter that shows how to use the Roslyn Syntax APIs to construct syntax trees manually: http://blogs.msdn.com/b/kirillosenkov/archive/2012/07/22/roslyn-code-quoter-tool-generating-syntax-tree-api-calls-for-any-c-program.aspx I’ve updated the source to work with the latest (September 2012) Roslyn CTP: http://code.msdn.microsoft.com/Roslyn-Code-Quoter-f724259e Apart from several API changes I’ve also made it remove redundant calls, such as calls to insert {…

If you have a large horizontal image Nx16 and you’d like to split it into individual 16×16 icons, here’s how to do it in WPF. I had to look it up recently and nothing showed up, so it was faster to write it myself. I’m posting it here so that it’s easy to find in…

You can download it here. Just like the previous CTPs, the setup is fairly non-intrusive and should be safe to install on your work machine. This release will only install into Visual Studio 2012 RTM (meaning you can still have VS 2010 on the machine of course, it’s just this release of Roslyn won’t work…

Whether you’ve played with the Roslyn CTP or are planning to do so in the future, chances are that sooner or later you’ll run into a need to generate code. One approach is to just use a StringBuilder, concatenate the source together, and then just call any of the several parse methods (SyntaxTree.ParseCompilationUnit, Syntax.ParseExpression, Syntax.ParseStatement,…

I love using the Preview Pane in Windows Explorer to quickly preview file contents: Usually, to enable this preview for a file extension I just open regedit, go to HKEY_CLASSES_ROOT –> .xxx (where xxx is the extension you’re interested in), and add a string key called PerceivedType with value of “text”: http://blog.wpfwonderland.com/2011/01/15/customize-windows-7-preview-pane-for-xaml-files/ However for some…

Update: in the original version of this post I’ve jumped to an incorrect conclusion that the timer resolution depends on the operating system. However thanks to a comment from James Manning who has corrected me, I realized that this is likely not related to the OS version (because we’re seeing high resolution DateTime on both…

I was looking for error code –2146232797 (hex 0x80131623, which turned out to be what is thrown by Environment.FailFast) and I’ve stumbled upon this treasure: http://blogs.msdn.com/b/eldar/archive/2007/04/03/a-lot-of-hresult-codes.aspx Also, here’s a great blog about deciphering an HRESULT: http://blogs.msdn.com/b/heaths/archive/2005/07/21/441391.aspx And here’s another good list from MSDN: http://msdn.microsoft.com/en-us/library/cc704587.aspx I sincerely wish you to never ever need this knowledge…

Josh Marinacci (from http://joshondesign.com) recently sparked a discussion about structured editing: http://joshondesign.com/2012/03/14/sacred-cows-2 Jonathan Edwards has also blogged about this: http://alarmingdevelopment.org/?p=680#comment-59782 It seems like there is continuous interest in structured editing. Jake Brownson had an idea to create a Google Group for us, structured editing and languages enthusiasts, and here it is: https://groups.google.com/forum/#!forum/augmented-programming The name “Augmented…

As part of the Roslyn CTP in October 2011 we’ve published the core compiler and services binaries as a NuGet package: http://nuget.org/packages/roslyn Right now the Roslyn package adds references to the six core assemblies: Roslyn.Compilers Roslyn.Compilers.CSharp Roslyn.Compilers.VisualBasic Roslyn.Services Roslyn.Services.CSharp Roslyn.Services.VisualBasic I’d like to gather suggestions and other feedback about this package. How can we improve?…