Click here to monitor SSC

Simon Cooper


Simon Cooper

C# via Java: Arrays

0 comments

The one primitive type that hasn’t been covered is the array. An array contains a fixed number of items, and each item is a value of the array’s element type. The array elements are individually indexed starting from zero. In comparison to the other primitive types, which are all value types, arrays are reference types. […]

3 January 2014 7:26 pm by
Simon Cooper

C# via Java: Primitive types

0 comments

So, what is a primitive type? According to the Incompleteness Theorem, there will always be things in any mathematical system, and therefore any computational system, that cannot be defined using the rules of that system. These rules form the axioms of that system. For Java and C#, the axioms are the rules of the language […]

26 November 2013 11:14 pm by
Simon Cooper

C# via Java: Introduction

0 comments

So, I’ve recently changed jobs. Rather than working in .NET land, I’ve migrated over to Java land. But never fear! I’ll continue to peer under the covers of .NET, but my next series will use my new experience in Java to explore the design decisions made in the development of the C# programming language. After […]

8 November 2013 10:39 pm by
Simon Cooper

Why unhandled exceptions are useful

1 comment

It’s the bane of most programmers’ lives – an unhandled exception causes your application or webapp to crash, an ugly dialog gets displayed to the user, and they come complaining to you. Then, somehow, you need to figure out what went wrong. Hopefully, you’ve got a log file, or some other way of reporting unhandled […]

3 June 2013 11:44 am by
Simon Cooper

.NET Security Part 4

0 comments

Finally, in this series, I am going to cover some of the security issues that can trip you up when using sandboxed appdomains. DISCLAIMER: I am not a security expert, and this is by no means an exhaustive list. If you actually are writing security-critical code, then get a proper security audit of your code […]

28 May 2013 11:14 am by
Simon Cooper

.NET Security Part 3

0 comments

You write a security-related application that allows addins to be used. These addins (as dlls) can be downloaded from anywhere, and, if allowed to run full-trust, could open a security hole in your application. So you want to restrict what the addin dlls can do, using a sandboxed appdomain, as explained in my previous posts. […]

16 May 2013 4:51 pm by
Simon Cooper

.NET Security Part 2

0 comments

So, how do you create partial-trust appdomains? Where do you come across them? There are two main situations in which your assembly runs as partially-trusted using the Microsoft .NET stack: Creating a CLR assembly in SQL Server with anything other than the UNSAFE permission set. The permissions available in each permission set are given here. […]

7 May 2013 3:12 pm by
Simon Cooper

.NET Security Part 1

1 comment

Ever since the first version of .NET, it’s been possible to strictly define the actions and resources a particular assembly can use, and, using Code Access Security, permissions to perform certain actions or access certain resources can be defined and modified in code. In .NET 4, the system was completely overhauled. Today, I’ll be starting […]

2 May 2013 4:50 pm by
Simon Cooper

Inside Portable Class Libraries

0 comments

Portable Class Libraries were introduced with Visual Studio 2010 SP1 to aid writing libraries that could be used on many different platforms – the full .NET 4/4.5 framework, Windows Phone, Silverlight, Xbox, and Windows Store apps. You simply select which platforms and versions you want to target, then the available subset of APIs are magically […]

19 April 2013 2:40 pm by
Simon Cooper

Subterranean IL: ThreadLocal revisited

0 comments

Last year, I looked at the ThreadLocal type as it exists in .NET 4. In .NET 4.5, this type has been completely rewritten. In this post, I’ll be looking at how the new ThreadLocal works in .NET 4.5. I won’t be looking at all the implementation details, but concentrating on how this type works. Again, […]

18 April 2013 4:07 pm by
Older posts