Simon Cooper C# via Java: Arrays The one primitive type that hasn’t been covered is the array. An array contains a fixed number of items, and... 03 January 2014 5 min read
Simon Cooper C# via Java: Primitive types So, what is a primitive type? According to the Incompleteness Theorem, there will always be things in any mathematical system,... 26 November 2013 8 min read
Simon Cooper C# via Java: Introduction So, I’ve recently changed jobs. Rather than working in .NET land, I’ve migrated over to Java land. But never fear!... 08 November 2013 2 min read
Simon Cooper Why unhandled exceptions are useful It’s the bane of most programmers’ lives – an unhandled exception causes your application or webapp to crash, an ugly... 03 June 2013 7 min read
Simon Cooper .NET Security Part 4 Finally, in this series, I am going to cover some of the security issues that can trip you up when... 28 May 2013 5 min read
Simon Cooper .NET Security Part 3 You write a security-related application that allows addins to be used. These addins (as dlls) can be downloaded from anywhere,... 16 May 2013 4 min read
Simon Cooper .NET Security Part 2 So, how do you create partial-trust appdomains? Where do you come across them? There are two main situations in which... 07 May 2013 5 min read
Simon Cooper Inside Portable Class Libraries Portable Class Libraries were introduced with Visual Studio 2010 SP1 to aid writing libraries that could be used on many... 19 April 2013 6 min read
Simon Cooper Subterranean IL: ThreadLocal revisited Last year, I looked at the ThreadLocal type as it exists in .NET 4. In .NET 4.5, this type has... 18 April 2013 5 min read
Simon Cooper Inside the DLR – Invoking methods So, we’ve looked at how a dynamic call is represented in a compiled assembly, and how the dynamic lookup is... 20 August 2012 8 min read
Simon Cooper Inside the DLR – Callsite binders So, we’ve looked at how the C# compiler produces a CallSite object for every dynamic call that is made, and... 03 August 2012 4 min read
Simon Cooper Inside the DLR – Callsites The DLR was introduced in .NET 4 to allow dynamic languages, like Python or Ruby, to run on the CLR.... 23 July 2012 4 min read
Simon Cooper PostSharp, Obfuscation, and IL Aspect-oriented programming (AOP) is a relatively new programming paradigm. Originating at Xerox PARC in 1994, the paradigm was first made... 31 May 2012 6 min read
Simon Cooper Inside Red Gate – Ricky Leeks So, one of our profilers has a problem. Red Gate produces two .NET profilers – ANTS Performance Profiler (APP) and... 04 May 2012 3 min read
Simon Cooper Subterranean IL: The ThreadLocal type I came across ThreadLocal<T> while I was researching ConcurrentBag. To look at it, it doesn’t really make much sense. What’s... 03 May 2012 5 min read
Simon Cooper Obfuscation is not a panacea So, you want to obfuscate your .NET application. My question to you is: Why? What are your aims when your... 16 April 2012 4 min read
Simon Cooper .NET vs Windows 8 So, day 1 of DevWeek. Lots and lots of Windows 8 and WinRT, as you would expect. The keynote had... 28 March 2012 4 min read
Simon Cooper Inside the Concurrent Collections: ConcurrentBag Unlike the other concurrent collections, ConcurrentBag does not really have a non-concurrent analogy. As stated in the MSDN documentation, ConcurrentBag... 26 March 2012 8 min read
Simon Cooper DevWeek 2012 For those interested, myself and a few other people from Red Gate will be going to DevWeek 2012 in London... 26 March 2012 1 min read
Simon Cooper Why you shouldn’t add methods to interfaces in APIs It is an oft-repeated maxim that you shouldn’t add methods to a publically-released interface in an API. Recently, I was... 08 March 2012 3 min read