Fabulous Adventures In Coding
Eric Lippert's Erstwhile Blog
Color Color
Pop quiz: What does the following code do when compiled and run? class C{ public static void...
Author: Eric Lippert Date: 07/06/2009
The correct answer is "no"
No technology today. I have not done a post on relationship advice in ages! Compare and contrast...
Author: Eric Lippert Date: 07/02/2009
The void is invariant
[UPDATES below] A while back I described a kind of variance that we’ve supported since C# 2.0....
Author: Eric Lippert Date: 06/29/2009
Iterators at the Summer Games
Ed "Scripting Guy" Wilson was kind enough to ask me to be a guest commentator at this years Summer...
Author: Eric Lippert Date: 06/26/2009
Mmm, Curry
A recent comment asked why Haskell programmers sometimes write C# lambdas in this style:...
Author: Eric Lippert Date: 06/25/2009
Why Doesn't C# Implement "Top Level" Methods?
C# requires that every method be in some class, even if it is a static method in a static class in...
Author: Eric Lippert Date: 06/22/2009
Use your legs, not your back
In C# you can "lift", "raise" and "hoist", and they all mean different things. To "lift" an operator...
Author: Eric Lippert Date: 06/18/2009
Making it easier
I read an article in a technology column on MSNBC a while back, the upshot of which was “I have...
Author: Eric Lippert Date: 06/15/2009
What does the optimize switch do?
I was asked recently exactly what optimizations the C# compiler performs when you specify the...
Author: Eric Lippert Date: 06/11/2009
Fabulous Adventures In Russian
I am pleased to announce that a bunch of our Russian MVPs who (1) are awesome people and (2)...
Author: Eric Lippert Date: 06/05/2009
Alas, Smith and Jones
We have a feature in C# which allows you to declare a "friend assembly". If assembly Smith says that...
Author: Eric Lippert Date: 06/04/2009
Bug Psychology
Fixing bugs is hard. For the purposes of this posting, I’m talking about those really...
Author: Eric Lippert Date: 06/01/2009
When Five Hundred Posts You Reach
… look this good you will not. But man, I tell you, the memory goes. In the July 1985 issue...
Author: Eric Lippert Date: 05/28/2009
What Would Tufte Do?
What is this a chart of? I'll post the answer tomorrow. UPDATE: Someone has already correctly...
Author: Eric Lippert Date: 05/27/2009
Null Is Not Empty
Back when I started this blog in 2003, one of the first topics I posted on was the difference...
Author: Eric Lippert Date: 05/14/2009
Reserved and Contextual Keywords
Many programming languages, C# included, treat certain sequences of letters as...
Author: Eric Lippert Date: 05/11/2009
Zip Me Up
Suppose you’ve got a sequence of Foos and you want to project from that a sequences of Bars....
Author: Eric Lippert Date: 05/07/2009
The Stack Is An Implementation Detail, Part One
" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px;...
Author: Eric Lippert Date: 04/27/2009
Five-Dollar Words For Programmers, Part Five: Reification
Today, another in my series on awesomely arcane words for programmers. Reification is the process of...
Author: Eric Lippert Date: 04/17/2009
Comma Quibbling
[UPDATE: Holy goodness. Apparently this was a more popular pasttime than I anticipated. There's like...
Author: Eric Lippert Date: 04/15/2009
Restating the problem
A problem statement: I am trying to loop though a sequence of strings. How can I determine when I am...
Author: Eric Lippert Date: 04/13/2009
Many Happy Returns
Happy birthday Channel Nine! In this episode I finally discover why it is that Charles picked me to...
Author: Eric Lippert Date: 04/07/2009
Good Names
Imagine a door with an unusual handle. The handle is five feet off the ground and rotates upwards to...
Author: Eric Lippert Date: 04/06/2009
A Book By Any Other Name Would Smell As Sweet
As you might have gathered from my previous posts on the subject, I occasionally edit technical...
Author: Eric Lippert Date: 04/02/2009
Reposting Information
A number of people have asked me questions like "can I quote your blog in my blog?", "can I post...
Author: Eric Lippert Date: 03/27/2009
Five-Dollar Words For Programmers, Part Four: Boustrophedonic
Here’s an almost useless but thoroughly delightful five-dollar word. English of course is read...
Author: Eric Lippert Date: 03/26/2009
Five-Dollar Words For Programmers, Part Three: Homoiconic
Jeff Atwood was kind enough to once more give me the shout-out in his blog the other day. Thanks...
Author: Eric Lippert Date: 03/23/2009
Loops are gotos
Here's an interesting question I got the other day: We are writing code to translate old mainframe...
Author: Eric Lippert Date: 03/10/2009
VSTO Book News
I am pleased to announce that my co-author Eric Carter has made significant updates to our VSTO...
Author: Eric Lippert Date: 03/09/2009
Locks and exceptions do not mix
A couple years ago I wrote a bit about how our codegen for the lock statement could sometimes lead...
Author: Eric Lippert Date: 03/06/2009
What are the horns for?
(Technology of a different sort today, just for a change of pace.) The first time I saw a picture of...
Author: Eric Lippert Date: 03/05/2009
References are not addresses
[NOTE: Based on some insightful comments I have updated this article to describe more clearly the...
Author: Eric Lippert Date: 02/17/2009
Properties vs. Attributes
Here is yet another question I got from a C# user recently: I have a class that represents a...
Author: Eric Lippert Date: 02/02/2009
Long division
A thing that makes a reader go hmmm is why in C#, int divided by long has a result of long, even...
Author: Eric Lippert Date: 01/28/2009
Why no var on fields?
In my recent request for things that make you go hmmm, a reader notes that you cannot use "var" on...
Author: Eric Lippert Date: 01/26/2009
Reading Declarations
Wow, lots of good "hmm" moments in the comments to yesterday's post. Keep them coming! Many of these...
Author: Eric Lippert Date: 01/22/2009
Things That Make You Go Hmmm
As you might have gathered from the number of times I make a blog post beginning with "I got the...
Author: Eric Lippert Date: 01/21/2009