Compartilhar via


Fabulous Adventures In Coding

Eric Lippert's Erstwhile Blog

Do not use string hashes for security purposes

A recent question I got about the .NET CLR's hashing algorithm for strings is apropos of our...

Author: Eric Lippert Date: 10/24/2005

FYI, C# 2.0 Has A Breaking Change in Enum Subtraction

A customer brought to my attention the other day that the C# 2.0 beta release has a breaking change...

Author: Eric Lippert Date: 10/19/2005

Another C#/LINQ chat, Thursday 1300h Pacific Time

The last chat we had just after PDC was a virtual mob scene. We had hundreds of questions, way more...

Author: Eric Lippert Date: 10/17/2005

Resolving ambiguity in C# param passing

Here's a question I got recently about parameter arrays in C#. Suppose you are designing a method...

Author: Eric Lippert Date: 10/17/2005

Checking For Script Syntax Errors, This Time With Code

A number of people asked me to clarify yesterday's entry. Rather than try to talk you through it, I...

Author: Eric Lippert Date: 10/12/2005

Checking For Script Syntax Errors

A reader asked me recently whether there was a way to check a chunk of JScript or VBScript for...

Author: Eric Lippert Date: 10/11/2005

C# 3.0 is still statically typed, honest!

Since LINQ was announced I've seen a lot of really positive feedback and a lot of questions and...

Author: Eric Lippert Date: 09/27/2005

Delightful, delicious, DLINQ

As you've probably already heard, at long last we've announced the new features that we're planning...

Author: Eric Lippert Date: 09/14/2005

Implementing Event Handling, Part One

Back in February I posted a bit about how script hosts such as Windows Script Host dynamically hook...

Author: Eric Lippert Date: 09/09/2005

Book Signing at the PDC

It's a week until PDC! Very exciting. Unfortunately I'm not going this year but my coauthor and...

Author: Eric Lippert Date: 09/07/2005

VBScript Default Property Semantics

Here’s a question I recently got about VBScript, where by "recently" I mean August 28th, 2003....

Author: Eric Lippert Date: 08/30/2005

Caching Dispatch Identifiers Is A Bad Idea

About two years ago I wrote a bit about when it was legal to cache a dispatch identifier so that you...

Author: Eric Lippert Date: 08/24/2005

Through the Looking Glass

I'm back, I'm married, we had a fabulous time, and now I'm setting up new machines and figuring out...

Author: Eric Lippert Date: 08/22/2005

Fabulous Adventures in C# and VSTO

I am incredibly excited, but a little sad too. 1295 days ago I attended a rather hastily-called...

Author: Eric Lippert Date: 08/19/2005

Recursion, Part Six: Making CPS Work

JScript doesn't support CPS natively but we can write another dispatch engine that makes it work....

Author: Eric Lippert Date: 08/15/2005

Recursion, Part Five: More on CPS

Suppose we wanted to write this by-now-familiar little function in continuation passing style:...

Author: Eric Lippert Date: 08/11/2005

Recursion, Part Three: Building a Dispatch Engine

There's a particular technique that I like to use to solve problems -- it doesn't always work, but...

Author: Eric Lippert Date: 08/04/2005

Recursion, Part One: Recursive Data Structures and Functions

The first thing to wrap your head around is recursively defined data structures. Let's start with...

Author: Eric Lippert Date: 07/27/2005

More on full qualification, this time in C#

We were speaking earlier about how to resolve ambiguous enumerated type names in VBScript....

Author: Eric Lippert Date: 07/15/2005

Scripting Type Library Constant Injection Performance Characteristics, Part Three

We’ve got a system that meets all our needs for disambiguating hierarchical constants through...

Author: Eric Lippert Date: 07/07/2005

The Answer To Last Week's Puzzler

Clearly I was looking for a leak in something, but what? The hard part is figuring out what the...

Author: Eric Lippert Date: 07/04/2005

A Puzzler

Some fun for the Friday of a long weekend. And a true story to boot! I had a job to do last Tuesday...

Author: Eric Lippert Date: 07/01/2005

Scripting Type Library Constant Injection Performance Characteristics, Part Two

Script developers can declare constants, variables, functions and classes at global scope by writing...

Author: Eric Lippert Date: 06/29/2005

Scripting Type Library Constant Injection Performance Characteristics, Part One

(Sorry about the title. I work for Microsoft; we like nouns.) Over a year ago now a reader noted in...

Author: Eric Lippert Date: 06/22/2005

High-Dimensional Spaces Are Counterintuitive, Part Five

All of this stuff about high dimensional geometry has been known for quite a while. The novel bit...

Author: Eric Lippert Date: 06/20/2005

Chronological Index

Since we've moved to the new blog system it's harder to browse anyone's complete works. It's...

Author: Eric Lippert Date: 06/10/2005

High-Dimensional Spaces Are Counterintuitive, Part Four

It's reasonably common to have a database containing a few thousand or million points in some...

Author: Eric Lippert Date: 06/09/2005

I'm So Prolix

I mentioned earlier today that my latest book project has gone to copyediting. To forestall a few...

Author: Eric Lippert Date: 06/06/2005

High-Dimensional Spaces Are Counterintuitive, Part Three

My next book project is ready for copyediting, the wedding invitations are sent out, my bug count is...

Author: Eric Lippert Date: 06/06/2005

Books, Books, Books

It looks like the intricacies of higher-dimensional geometry will have to wait another week; I am...

Author: Eric Lippert Date: 05/26/2005

High-Dimensional Spaces Are Counterintuitive, Part Two

The volume of an n-cube of edge length s is easy to work out. A 2-cube has s2 units of area. A...

Author: Eric Lippert Date: 05/13/2005

High-Dimensional Spaces Are Counterintuitive, Part One

A friend of mine over in Microsoft Research pointed out to me the other day that high-dimensional...

Author: Eric Lippert Date: 05/11/2005

How To Obtain The Name Of The Client From The ASP Server

Here's a question about client side vs. server side scripting that I got recently: I want to get the...

Author: Eric Lippert Date: 05/09/2005

What is the relationship between global object enumerators, execution contexts, activation objects, variable objects and this?

UPDATE: I am WRONG WRONG WRONG. Brendan Eich, the original creator of JavaScript, was kind enough to...

Author: Eric Lippert Date: 05/04/2005

Instance-bound nested classes in JScript .NET

The other day someone asked me about a slightly odd but very useful feature in JScript.NET, and I...

Author: Eric Lippert Date: 05/02/2005

Bad Recursion Revisited

We have internal email lists for questions about programming languages. Here's one that came across...

Author: Eric Lippert Date: 04/28/2005

How Do Script Engines Implement Object Identity?

I've talked a few times in this blog about the semantics of the equality operators in various...

Author: Eric Lippert Date: 04/26/2005

Binary Files and the File System Object Do Not Mix

OK, back to scripting today. But before I get back to scripting issues, one brief correction. An...

Author: Eric Lippert Date: 04/20/2005

Desafinado, Part Five: Getting Down Without Hitting The Bottom

Back in the 1960's a guy named Shepard published a paper which described a way to create a...

Author: Eric Lippert Date: 04/18/2005

Desafinado, Part Four: Rolling Your Own WAV Files

We’ve established why every just about piano in the world -- in fact, every concert-pitched...

Author: Eric Lippert Date: 04/15/2005

<Previous Next>