Fabulous Adventures In Coding
Eric Lippert's Erstwhile Blog
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...
Author: Eric Lippert Date: 12/05/2003
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...
Author: Eric Lippert Date: 12/05/2003
A Grammatical Aside
I just wrote in a comment to my previous entry, "The ability to rate one's knowledge of a subject...
Author: Eric Lippert Date: 12/02/2003
Six out of ten ain't bad
Occasionally I interview C++ developers. I'm always interested in how people rate themselves, so...
Author: Eric Lippert Date: 12/02/2003
Speeding Can Slow You Down
I hope all you readers living in the United States had a restful and enjoyable Thanksgiving holiday....
Author: Eric Lippert Date: 12/01/2003
The JScript Type System Part Seven: Yeah, you've probably guessed that I wrote the array stuff
A reader asked me to clarify a point made in an earlier entry: Note that JScript .NET arrays do not...
Author: Eric Lippert Date: 11/21/2003
The JScript Type System, Part Six: Even more on arrays in JScript .NET
You might have noticed something odd about that last example using SetValue. If you actually look up...
Author: Eric Lippert Date: 11/14/2003
The JScript Type System, Part Five: More On Arrays In JScript .NET
As I was saying the other day, CLR arrays and JScript arrays are totally different beasts. It is...
Author: Eric Lippert Date: 11/12/2003
The JScript Type System, Part Four: JScript .NET Arrays
As I mentioned in an earlier entry, one of the major differences between JScript .NET and JScript...
Author: Eric Lippert Date: 11/10/2003
The JScript Type System, Part Two: Prototypes and constructors
A number of readers made some good comments on my article on JScript typing that deserve to be...
Author: Eric Lippert Date: 11/06/2003
The JScript Type System, Part One
I thought I might spend a few days talking about the JScript and JScript .NET type systems, starting...
Author: Eric Lippert Date: 11/05/2003
Eval is Evil, Part Two
As I promised, more information on why eval is evil. (We once considered having T-shirts printed up...
Author: Eric Lippert Date: 11/04/2003
A Parable
Once upon a time I was in high school. Ah, the halcyon days of my youth. One day I was sitting in...
Author: Eric Lippert Date: 11/03/2003
Eval is Evil, Part One
The eval method -- which takes a string containing JScript code, compiles it and runs it -- is...
Author: Eric Lippert Date: 11/01/2003
Functions are not frames
I just realized that on my list of features missing from JScript.NET "fast mode" I forgot about the...
Author: Eric Lippert Date: 10/31/2003
Global State On Servers Considered Harmful
The other day I noted that extending the built-in objects in JScript .NET is no longer legal in...
Author: Eric Lippert Date: 10/29/2003
How many Microsoft employees does it take to change a lightbulb?
UPDATE: This article was featured in The Best Software Writing I. Thanks Joel! Joe Bork has written...
Author: Eric Lippert Date: 10/28/2003
JScript Goes All To Pieces
My entry the other day about fast mode in JScript .NET sparked a number of questions which deserve...
Author: Eric Lippert Date: 10/27/2003
The Most Boring Story Ever
The other day a reader suggested: Make a blogentry about how you started at MS and so on! You asked,...
Author: Eric Lippert Date: 10/27/2003
Compatibility vs. Performance
Earlier I mentioned that two of the design goals for JScript .NET were high performance and...
Author: Eric Lippert Date: 10/24/2003
Michael's Security Blog is online
Michael Howard has started blogging. If you're interested in writing secure code (and these days,...
Author: Eric Lippert Date: 10/23/2003
Attention passengers: Flight 0703 is also known as Flight 451
I hate octal. Octal causes bugs. I hate bugs, particularly stupid "gotcha" bugs. Foolish C...
Author: Eric Lippert Date: 10/23/2003
Making Sense of HRESULTS
Every now and then -- like, say, this morning -- someone sends me this mail: I'm getting an error in...
Author: Eric Lippert Date: 10/22/2003
Constant Folding and Partial Evaluation
A reader asks "is there any reason why VBScript doesn't change str = str & "1234567890" &...
Author: Eric Lippert Date: 10/21/2003
I'm not stringing you along, honest
JScript and VBScript are often used to build large strings full of formatted text, particularly in...
Author: Eric Lippert Date: 10/20/2003
The Malware of Ultimate Destruction
The other day Peter was talking about the ActiveX Control of Ultimate Destruction -- a hostile...
Author: Eric Lippert Date: 10/18/2003
How Bad Is Good Enough?
I keep talking about script performance without ever actually giving my rant about why most of the...
Author: Eric Lippert Date: 10/17/2003
Long jumps considered way more harmful than exceptions
Bob Congdon's blog (https://www.bobcongdon.net/blog/) points out that in the dark days before...
Author: Eric Lippert Date: 10/16/2003
Dead Trees vs. Bits
Speaking of books, people keep telling me and Peter and Raymond that we should write books based on...
Author: Eric Lippert Date: 10/16/2003
Designing JScript .NET
A while back a reader asked for a rundown on some of the design decisions we made when designing...
Author: Eric Lippert Date: 10/14/2003
Digging A Security Hole All The Way To China
I mentioned earlier that I wrote one of the last books published by the now-bankrupt Wrox Press. A...
Author: Eric Lippert Date: 10/13/2003
Wrox is dead, long live Wrox
A number of people have expressed surprise to me that Wrox is out of business. Here's the scoop....
Author: Eric Lippert Date: 10/13/2003
It Never Leaks But It Pours
One of the easiest bugs to write is the dreaded memory leak. You allocate some chunk of memory and...
Author: Eric Lippert Date: 10/13/2003
What Everyone Should Know About Character Encoding
Thank goodness Joel wrote this article -- that means that I can cross it off of my list of potential...
Author: Eric Lippert Date: 10/10/2003
How Do I Script A Non-Default Dispatch?
As I've discussed previously, the script engines always talk to objects on the late-bound IDispatch...
Author: Eric Lippert Date: 10/10/2003
Why Is There No #Include?
A common and entirely sensible programming practice is to put commonly used utility functions in one...
Author: Eric Lippert Date: 10/09/2003
WSC vs WSH
Following up on this morning's entry, a reader asked me why Windows Script Components don't have...
Author: Eric Lippert Date: 10/08/2003
Why Can't I Create The WScript Object?
Every now and then someone will ask me why the WSH shell object and the WSH network object are...
Author: Eric Lippert Date: 10/08/2003
Spot the Defect!
At Microsoft we have an internal email list called "Spot the Defect" -- people mail around buggy...
Author: Eric Lippert Date: 10/07/2003
I can't make my script do nothing!
Yes, the title is grammatical. A few days ago I was discussing the semantics of data that isn't...
Author: Eric Lippert Date: 10/07/2003
Eric's Blog for January 279th, 2003
I'm having my kitchen redone. Yes, I remember that in my very first blog entry I said that I would...
Author: Eric Lippert Date: 10/06/2003
Let's Get Explicit!
A reader asked me yesterday if there was a way to detect "at compile time" (ie, before the code...
Author: Eric Lippert Date: 10/02/2003
For-in Revisited
A while back I was discussing the differences between VBScript's For-Each and JScript's for-in...
Author: Eric Lippert Date: 10/01/2003
A Little More on Nothing
VBScript has Null, Empty and Nothing. What about JScript? Unfortunately, JScript is a little screwed...
Author: Eric Lippert Date: 10/01/2003