Multi-cast delegates the evil way

A lot of people have asked me over the years how various kinds of event binding work.  Basically, event binding works like this: 1)     Someone clicks on a button, 2)     then a miracle happens, and… 3)     the button’s event handlers execute. It’s that second step that people struggle with. First, some terminology.  I studied applied…


Once More Into The Breach

This is the new home of Eric Lippert’s Fabulous Adventures In Coding. Eventually the content from will be moved over here


Heads up: Fabulous Adventures will be moving

A number of people have pointed out to me over the last few months that this blog server is a little flaky.  There are occasionally “out of memory” errors and other failures reported, sometimes my posts fail to actually propagate to the server properly, and so on.    FYI, some time over the next month…


The JScript Type System Part Eight: The Last Blog Entry About Arrays, I Promise

  Recall that I defined a type as consisting of two things: a set of values, and a rule for associating values outside of that set with values inside the set.  In JScript .NET, assigning a value outside of a type to a variable annotated with that type restriction does that coercion if possible  …


A Grammatical Aside

  I just wrote in a comment to my previous entry, “The ability to rate one’s knowledge of a subject accurately is strongly correlated with one’s knowledge.”   Wait a minute.  “One’s”???  Word’s grammar checker didn’t blink at that.  But nor does it blink at “ones”.  Well, according to the OED, “one’s” is the genitive…


Six out of ten ain’t bad

Occasionally I interview C++ developers. I’m always interested in how people rate themselves, so I’ll occasionally ask a candidate, “On a scale from one to ten, how do you rate your C++ skills?” The point of the question is actually not so much to see how good a programmer the candidate is — I’m going…


Speeding Can Slow You Down

I hope all you readers living in the United States had a restful and enjoyable Thanksgiving holiday. I sure did. I’ve been meaning to talk a bit about some of the performance issues you run into when tuning massively multi-threaded applications, like the ASP engine.  I’d like to start off by saying that I am…


Experience Required

I was intrigued by Neil Deakin’s recent post where he says that when he was a young user, he got mad about all kinds of things that, after a few years as an implementor, he didn’t feel mad about anymore.   I’m with ya, Neil.  Many of my computer geek high school friends were rather…


Thin To My Chagrin

I’m going to take a quick intermission from talking about the type system, but we’ll pick it up again soon.  I’ve been thinking a lot lately about philosophical and practical issues of thin client vs. rich client development.  Thus, I ought to first define what I mean by “thin client” and “rich client”.  Theory We…