Share via


Fabulous Adventures In Coding

Eric Lippert's Erstwhile Blog

Murky Research

No computers today, but some interesting - and important - math. (And, happy Canada Day, Canadians!)...

Author: Eric Lippert Date: 07/01/2010

Computing a Cartesian Product with LINQ

And here we have yet another post inspired by a question on StackOverflow: how do you compute the...

Author: Eric Lippert Date: 06/28/2010

Hide and seek

Another interesting question from StackOverflow. That thing is a gold mine for blog topics. Consider...

Author: Eric Lippert Date: 06/14/2010

Don't repeat yourself; consts are already static

Today, another entertaining question from StackOverflow. Presented again as a dialogue, as is my...

Author: Eric Lippert Date: 06/10/2010

Live from New Orleans

Just a quick note that Mads, Luke and I are going to be on Channel 9 Live from TechEd this afternoon...

Author: Eric Lippert Date: 06/08/2010

Better late than never

Good heavens, I just realized I completely forgot to post a link to this interview. I'm a year late,...

Author: Eric Lippert Date: 06/07/2010

Cast operators do not obey the distributive law

Another interesting question from StackOverflow. Consider the following unfortunate situation:...

Author: Eric Lippert Date: 05/27/2010

More Boring Metablogging

Hey everyone, those of you who read this blog on the main MSDN page rather than via your own RSS...

Author: Eric Lippert Date: 05/25/2010

Every Program There Is, Part Nine

[This is the final part of a series on generating every string in a language. The previous part is...

Author: Eric Lippert Date: 05/24/2010

Every Program There Is, Part Eight

[This is part of a series on generating every string in a language. The previous part is here. The...

Author: Eric Lippert Date: 05/20/2010

Every Program There Is, Part Seven

[This is part of a series on generating every string in a language. The previous part is here. The...

Author: Eric Lippert Date: 05/17/2010

Every Program There Is, Part Six

[This is part of a series on generating every string in a language. The previous part is here. The...

Author: Eric Lippert Date: 05/13/2010

Every Program There Is, Part Five

[This is part of a series on generating every string in a language. The previous part is here. The...

Author: Eric Lippert Date: 05/10/2010

Every Program There Is, Part Four

[This is part of a series on generating every string in a language. The previous part is here. The...

Author: Eric Lippert Date: 05/06/2010

Every Program There Is, Part Three

[This is part of a series on generating every string in a language. The previous part is here. The...

Author: Eric Lippert Date: 05/03/2010

Every Program There Is, Part Two

[This is part of a series on generating every string in a language. The previous part is here. The...

Author: Eric Lippert Date: 04/29/2010

Every Program There Is, Part One

[This is part of a series on generating every string in a language. The previous part is here. The...

Author: Eric Lippert Date: 04/26/2010

Every Tree There Is

[This is part of a series on generating every string in a language. The previous part is here. The...

Author: Eric Lippert Date: 04/22/2010

Every Binary Tree There Is

[This is the first part of a series on generating every string in a language. The next part is...

Author: Eric Lippert Date: 04/19/2010

It's Essential!

My copy of Essential C# 4.0 just arrived, and it looks great. I was one of the technical reviewers...

Author: Eric Lippert Date: 04/15/2010

Ignoring parentheses

Yet another amusing question from StackOverflow: is there a difference between “return...

Author: Eric Lippert Date: 04/12/2010

Precision and accuracy of DateTime

The DateTime struct represents dates as a 64 bit number that measures the number of “ticks” since a...

Author: Eric Lippert Date: 04/08/2010

Turning a bug into a feature

I was amused to read this post about an arithmetic bug which accidentally turned into an AI feature...

Author: Eric Lippert Date: 04/05/2010

Some Last-Minute New C# 4.0 Features

As I’m sure you know by now, we are done implementing C# 4. We’ve added support for...

Author: Eric Lippert Date: 04/01/2010

Knights, Knaves, Protected and Internal

When you override a virtual method in C# you are required to ensure that the stated accessibility of...

Author: Eric Lippert Date: 03/25/2010

Socks, birthdays and hash collisions

Suppose you’ve got a huge mixed-up pile of white, black, green and red socks, with roughly equal...

Author: Eric Lippert Date: 03/22/2010

Do not name a class the same as its namespace, Part Four

(This is part four of a four part series; part three is here.) Part Four: Making the problem worse I...

Author: Eric Lippert Date: 03/18/2010

Do not name a class the same as its namespace, Part Three

(This is part three of a four part series; part two is here, part four is here.) Part Three: Bad...

Author: Eric Lippert Date: 03/15/2010

Do not name a class the same as its namespace, Part Two

(This is part two of a four part series; part one is here, part three is here.) Part Two:...

Author: Eric Lippert Date: 03/11/2010

Too much reuse

A recent user question: I have code that maintains a queue of pending work items waiting to be...

Author: Eric Lippert Date: 03/04/2010

Attracting Talent

Today I want your insights, opinions and advice. In any large organization over time people are...

Author: Eric Lippert Date: 03/01/2010

Careful with that axe, part two: What about exceptions?

(This is part two of a two-part series on the dangers of aborting a thread. Part one is here.)...

Author: Eric Lippert Date: 02/25/2010

Careful with that axe, part one: Should I specify a timeout?

(This is part one of a two-part series on the dangers of aborting a thread. Part two is here.) The...

Author: Eric Lippert Date: 02/22/2010

What’s the difference between ternary and tertiary?

The conditional operator ( condition ? consequence : alternative ) is often referred to as both the...

Author: Eric Lippert Date: 02/18/2010

Chaining simple assignments is not so simple

UPDATE: I interrupt this episode of FAIC with a request from my friend and colleague Lucian, from...

Author: Eric Lippert Date: 02/11/2010

Making the code read like the spec

As I mentioned a while back, there are some bugs in the compiler code which analyzes whether a set...

Author: Eric Lippert Date: 02/08/2010

How Many Passes?

Large bodies of code written in the C/C++ languages typically divide up the code into...

Author: Eric Lippert Date: 02/04/2010

Style follows semantics

Which is better style? bool abc;if (Foo()) abc = Bar();else abc = false; vs bool abc = Foo()...

Author: Eric Lippert Date: 02/01/2010

Calling constructors in arbitrary places

C# lets you call another constructor from a given constructor, but only before the body of the...

Author: Eric Lippert Date: 01/28/2010

Why are unused using directives not a warning?

As I’ve discussed before, we try to reserve warnings for only those situations where we can...

Author: Eric Lippert Date: 01/25/2010

What’s the difference between a destructor and a finalizer?

Today, another dialogue, and another episode of my ongoing series "what's the difference?"...

Author: Eric Lippert Date: 01/21/2010

A Definite Assignment Anomaly

UPDATE: I have discovered that this issue is considerably weirder than the initial bug report led me...

Author: Eric Lippert Date: 01/18/2010

Why Can't I Access A Protected Member From A Derived Class? Part Six

Reader Jesse McGrew asks an excellent follow-up question to my 2005 post about why you cannot access...

Author: Eric Lippert Date: 01/14/2010

<Previous Next>