C# and typescript are starting to feel too familiar and dull, so I went exploring. I fired up my first F# console app, and learned a few things. I'm taking a very lazy almost-but-not-quite-just-in-time approach to learning where I ask newbie stack overflow...

So I’ve been reading some history of programming languages. And one question that came up a lot is ‘What made this language popular? Why did it live, where others have failed?’ There have been a bunch of different answers, for different languages, and...

Nothing you can’t easily write yourself, but while playing around, I wrote this one myself, and learned one or two things. Firsltry, it demonstrates the wrinkle that when reading % processor time you need to specify the instance name of the processor...

I sometimes see unit tests which are downright confusingly opaque. Being a unit test, they are testing some smallish piece of code. Unfortunately by the time I finish reading the test I am none the wiser for what the importance of the code in question...

Thanks indirectly to a comment on my previous post, today I read ‘IQueryable is tight coupling’ (disclaimer: his words). I feel like it contains an interesting mixture of truth and panic, and makes a fine discussion topic. The main interesting truth he...

So, some time back I spent some time agonizing around testability of code which has to talk to a database . I now think I have found a somewhat reasonable answer, which assumes that you are using some kind of LINQ query relational database mapper like...

I had a deployment to azure failing yesterday, and I thought ‘I know what caused this. It’s a dll dependency break from upgrading to Azure SDK 2.3.’ Of course I was right. But looking at how I was getting screwed by the new sdk switch, I felt surprised...

I had seen this before, but today I became determined to figure out how to fix my targets file. The problem is caused by this code in the msbuild targets which assumes that project name and role name are the same. AFAICS Azure 2.2 SDK, 2.3 SDK and 2.4...

I found recently I like to do the coding more slowly and intersperse more reading than was once the case before the internet was large. The internet is frickin huge now. Try finding what you are looking for. Anyway, I roughly found what I was looking...

A well known pain point of the CLR is that loading your program and running a few lines takes too long. While I don't know where exactly my beliefs came from, my beliefs are that this is because of a) assemblies needing to be JITTED from MSIL in order...

So I flippantly said 'write a helper function that captures the right pattern for tokenizing' last post... But when you sit down to think about it, a helper function feels like the opposite of what you logically do when you are implementing a finite state...

I reread something by Steve Yegge, which I think was his NBL thing. Anyway, he said something to the effect of 'writing a programming language will make you a better programmer'. And I thought 'Really? Well, why not. Practicing any sort of programming...

If you’ve used Azure much, you may have eventually decided to use the DiagnosticsAgent plugin, as I did. However, you may also be dissatisfied (personally I am) with the amount of detail that’s out there about how it all works, what it normally does,...

(Rambling) I’m taking another short foray into IQueryable land. From my learnings last time , In brief, I realized that IQueryable = Expression Tree, + QueryProvider, and that if you take a lazy approach to implementing IQueryable, then all the real work...

I have a burning question on my mind. How fast can an HTTP/HTTPS server go? When I say fast, I have some assumptions, which are based on removing all of the wishy-washy disclaimers. “That depends on what features of the framework you use.” “It depends...

So here’s the scene. I’ve been working on unit testing for a solid day, my percent coverage is up, my code is better factored, and now I do my ‘what is the most untested class I have’ analysis one more time, and discover that it...

Here are a few thoughts about the refactoring process from going through my initial unit testing iteration. Constructor Injection can make things look a lot more testable. But I think you want to be careful about jumping into this – don’t do it as the...

This is going to be a fairly uninteresting and hard to follow post, but its here for the record, I’ll try to distill something better out of it. This was a sort of as-it-happened log of my initial attempt following on from my plan earlier today...

I am having a mental hard time today because of unit tests. Not tests that fail... tests that don't exist. And tests I’m not sure that should exist. It is very natural, right, and highly necessary to test methods which do a non-trivial transformation...

CA2202: Do not dispose objects multiple times
How I hate this rule! Firstly, the rule is predicated on the belief that other people will write broken code and you will have to use it. Broken how? The documentation for IDisposable.Dispose() says that...

If you use Azure Diagnostics in your cloud service, and you use the DiagnosticTraceListener then all of your traces are getting output to a table somewhere called WADLogsTable. I think it’s definitely a nuisance having to use the Visual Studio’s table...

Someone emailed me that I hadn’t showed any sample code of how to use the thread pool timer. Whoops, what a good point! There are basically two ways to use it, so I’ll show you two bits of code. But the first thing you need to do is install the NuGet...

By letting the operating system to the heavy lifting! But first, what inspired this article? I was doing some work, and I come across a class called IOThreadPoolTimer or something. It was a fancy timer, where they were going to all sorts of trouble to...