Simon Cooper Oh no! My padding’s invalid! Recently, I’ve been doing some work involving cryptography, and encountered the standard .NET CryptographicException: ‘Padding is invalid and cannot be... 28 February 2012 3 min read
Simon Cooper Inside the Concurrent Collections: ConcurrentDictionary Using locks to implement a thread-safe collection is rather like using a sledgehammer – unsubtle, easy to understand, and tends... 22 February 2012 11 min read
Simon Cooper Inside the Concurrent Collections: ConcurrentQueue ConcurrentQueue is, like ConcurrentStack, a lockless collection, in that it is implemented without using any locks at all. However, the... 24 January 2012 10 min read
Simon Cooper Inside Red Gate – Experimental Results As a brief interlude from my Concurrent Collections series, I thought I would give an roundup of how the lean... 17 January 2012 5 min read
Simon Cooper Inside the Concurrent Collections: ConcurrentStack The first concurrent collection we’ll look at is ConcurrentStack. This is conceptually the same as System.Collections.Generic.Stack, but is geared towards... 12 January 2012 8 min read
Simon Cooper Inside the Concurrent Collections The concurrent collections, located in the System.Collections.Concurrent namespace, were introduced in .NET 4 as thread-safe collections that could be used... 05 January 2012 8 min read
Simon Cooper Anatomy of a .NET Assembly – Type forwards If you’ve ever had a poke around System.dll or System.Core.dll in Reflector, you may have noticed TypeForwardedToAttributes applied to the... 23 December 2011 3 min read
Simon Cooper Subterranean IL: Explicit overrides Normally, virtual method overrides in .NET are done implicitly; if a subclass has a virtual method with the same name... 12 December 2011 6 min read
Simon Cooper Inside Red Gate – Experimenting In Public Over the next few weeks, we’ll be performing experiments on SmartAssembly to confirm or refute various hypotheses we have about... 21 November 2011 3 min read
Simon Cooper Inside Red Gate – Exercises in Leanness There’s a new movement rumbling around Red Gate Towers – the Lean Startup. At its core is the idea that... 15 November 2011 3 min read
Simon Cooper The SmartAssembly Rearchitecture You may have noticed that not a lot has happened to SmartAssembly in the past few months. However, the team... 14 November 2011 4 min read
Simon Cooper Some non-generic collections Although the collections classes introduced in .NET 2, 3.5 and 4 cover most scenarios, there are still some .NET 1... 21 October 2011 5 min read
Simon Cooper SortedDictionary and SortedList Apart from Dictionary<TKey, TValue>, there’s two other dictionaries in the BCL – SortedDictionary<TKey, TValue> and SortedList<TKey, TValue>. On the face... 05 October 2011 7 min read
Simon Cooper The .NET Dictionary To many people, System.Collections.Generic.Dictionary<TKey,TValue> is just a useful collection. In this post, I’ll be looking inside that collection and see... 16 September 2011 5 min read
Simon Cooper Inside Red Gate – Testers Developers might write good code, but no matter how good they are the result will always have bugs in it.... 07 July 2011 3 min read
Simon Cooper Inside Red Gate – Be Reasonable! As I discussed in my previous posts, divisions and project teams within Red Gate are allowed a lot of autonomy... 24 June 2011 4 min read
Simon Cooper Inside Red Gate – The Office The vast majority of Red Gate is on the first and second floors (the second and third floors in US... 15 June 2011 3 min read
Simon Cooper Anatomy of a .NET Assembly – Custom attribute encoding In my previous post, I covered how field, method, and other types of signatures are encoded in a .NET assembly.... 03 June 2011 7 min read
Simon Cooper Inside Red Gate – Project teams Within each division in Red Gate, development effort is structured around one or more project teams; currently, each division contains... 02 June 2011 5 min read
Simon Cooper Inside Red Gate – Divisions When I joined Red Gate back in 2007, there were around 80 people in the company. Now, around 3 years... 01 June 2011 3 min read