Fabulous Adventures In Coding
Eric Lippert's Erstwhile Blog
Shadowcasting in C#, Part Two
I hope the basic idea of the shadow casting algorithm is now clear. Let's start to implement the...
Author: Eric Lippert Date: 12/15/2011
Roguelike people
No technology today. Rather, some advice. I don't know if there's some sort of grifter convention...
Author: Eric Lippert Date: 12/09/2011
So many interfaces, part two
In my earlier article from April 2011 on interface implementation I noted that C# supports a...
Author: Eric Lippert Date: 12/08/2011
What's the difference? Remainder vs Modulus
Today, another episode of my ongoing series "What's the difference?" Today, what's the difference...
Author: Eric Lippert Date: 12/05/2011
Why have a stack?
Last time I discussed why it is that we have all the .NET compilers target an "intermediate...
Author: Eric Lippert Date: 11/28/2011
Why IL?
One of the earliest and most frequently-asked questions we got when we announced the Roslyn project...
Author: Eric Lippert Date: 11/18/2011
A C# Reading List
Just a couple of quick links today. First: One of the questions I get most frequently is "can you...
Author: Eric Lippert Date: 11/10/2011
Breaking changes and named arguments
Before I get into the subject of today's post, thanks so much to all of you who have given us great...
Author: Eric Lippert Date: 11/07/2011
The Roslyn Preview Is Now Available
I am super excited to announce that the Roslyn project code is now sufficiently coherent that we can...
Author: Eric Lippert Date: 10/19/2011
Insanely great
I've never owned an Apple product; I haven't written Mac software professionally since working on...
Author: Eric Lippert Date: 10/06/2011
Async articles
I am pleased to announce that MSDN Magazine is doing a special issue this month on the new...
Author: Eric Lippert Date: 10/03/2011
Keep it secret, keep it safe
A lot of people really love the idea of cryptography. To computer geeks like us there is nothing...
Author: Eric Lippert Date: 09/27/2011
Inheritance and Representation
(Note: Not to be confused with Representation and Identity) Here's a question I got this morning:...
Author: Eric Lippert Date: 09/19/2011
What is this thing you call a "type"? Part Two
Well that was entirely predictable; as I said last time, if you ask ten developers for a definition...
Author: Eric Lippert Date: 09/07/2011
What is this thing you call a "type"? Part one
(Eric is out camping; this posting is prerecorded. I'll be back in the office after Labour Day.) The...
Author: Eric Lippert Date: 08/29/2011
I'm glad and sad that that's over
No computers; high technology of a different sort today. Shuttle Atlantis has safely returned to...
Author: Eric Lippert Date: 07/21/2011
Strings, immutability and persistence
Todays post is based on a question from StackOverflow; I liked it so much I figured hey, let's just...
Author: Eric Lippert Date: 07/19/2011
The curious property revealed
Today is the fifteenth anniversary of my first day of full time work here at Microsoft. Hard to...
Author: Eric Lippert Date: 07/15/2011
What curious property does this string have?
There are all kinds of interesting things in the Unicode standard. For example, the block of...
Author: Eric Lippert Date: 07/12/2011
My Buddy Neil Totally Agrees With Me
[No computer stuff today; just some fun for a Friday.] British fantasy author Neil Gaiman was in...
Author: Eric Lippert Date: 07/08/2011
Ref returns and ref locals
"Ref returns" are the subject of another great question from StackOverflow that I thought I might...
Author: Eric Lippert Date: 06/23/2011
Atomicity, volatility and immutability are different, part one
I get a fair number of questions about atomicity, volatility, thread safety, immutability and the...
Author: Eric Lippert Date: 05/26/2011
Read-only and threadsafe are different
Here's a common problem that we face in the compiler realm all the time: you want to make an...
Author: Eric Lippert Date: 05/23/2011
Optional argument corner cases, part four
(This is the fourth and final part of a series on the corner cases of optional arguments in C# 4;...
Author: Eric Lippert Date: 05/19/2011
Optional argument corner cases, part three
(This is part three of a series on the corner cases of optional arguments in C# 4; part two is here....
Author: Eric Lippert Date: 05/16/2011
Optional argument corner cases, part two
(This is part two of a series on the corner cases of optional arguments in C# 4. Part one is here....
Author: Eric Lippert Date: 05/12/2011
Optional argument corner cases, part one
(This is part one of a series on the corner cases of optional arguments in C# 4. Part two is here.)...
Author: Eric Lippert Date: 05/09/2011
Uses and misuses of implicit typing
One of the most controversial features we've ever added was implicitly typed local variables, aka...
Author: Eric Lippert Date: 04/20/2011
Refreshing the Async CTP
Good morning everyone! I am pleased to tell you that the C# and VB teams are announcing a "refresh"...
Author: Eric Lippert Date: 04/13/2011
Happy birthday Channel 9!
Good heavens I can't believe it's been two years since I wished Channel 9 a happy fifth birthday....
Author: Eric Lippert Date: 04/06/2011
So many interfaces!
Today, another question from StackOverflow, and again, presented as a dialogue as is my wont. The...
Author: Eric Lippert Date: 04/04/2011
Compound Assignment, Part Two
Last time I discussed how the compound assignment operators of the form “x op= y” have...
Author: Eric Lippert Date: 04/01/2011
Dot NET Rocks!
We interrupt our series on compound assignment operators with a quick note to say check out my...
Author: Eric Lippert Date: 03/30/2011
Compound Assignment, Part One
When people try to explain the compound assignment operators += –= *= /= %= <<=...
Author: Eric Lippert Date: 03/29/2011
Implementing the virtual method pattern in C#, Part Three
(This is part three of a three-part series; part one is here; part two is here.) Last time we saw...
Author: Eric Lippert Date: 03/24/2011
Implementing the virtual method pattern in C#, Part One
(This is part one of a three-part series; part two is here.) If you've been in this business for any...
Author: Eric Lippert Date: 03/17/2011
To box or not to box, that is the question
Suppose you have an immutable value type that is also disposable. Perhaps it represents some sort of...
Author: Eric Lippert Date: 03/14/2011
References and Pointers, Part One
Writing code in C# is really all about the programmatic manipulation of values. A value is either of...
Author: Eric Lippert Date: 03/07/2011
Guidelines and rules for GetHashCode
"The code is more what you'd call guidelines than actual rules" - truer words were never spoken....
Author: Eric Lippert Date: 02/28/2011