Why does WScript.ConnectObject not always work?

I’ve had a tiny handful of entries in my VBScript quiz. I know from my logs that 2600+ people have read it. Come on people, there are fabulous prizes at stake here!  Go for it! I’m going to keep the contest open until Friday morning, at which point I’ll start posting answers and analysis. ****************************************************…

6

Win Fabulous Prizes!

I want to do a long — potentially very long — series of blog articles about the fundamental theoretical nature of formal computer languages, and the practical problems in producing compilers for them. To kick this off in a lighthearted way on a Friday, here’s a quiz that shows some of the weird “corner cases”…

9

You Want Salt With That? Part Four: Challenge-Response

My friend Kristen asked me over the weekend when I was going to stop blogging about crypto math and say something funny again. Everyone’s a critic! Patience. my dear. Today, the final entry in my series on salt. Tomorrow, who knows? *********************** So far we’ve got a system whereby the server does not actually know what…

21

You Want Salt With That? Part Three: Salt The Hash

Last time we were considering what happens if an attacker gets access to your server’s password file. If the passwords themselves are stored in the file, then the attacker’s work is done. If they’re hashed and then stored, and the hash algorithm is strong, then there’s not much to do other than to hash every…

21

You Want Salt With That? Part Two: We Need A Hash

OK, we want to sketch out an authentication system which is sufficiently secure against common attacks even if all the details of the system are known to the attacker.  Let’s start with a simple system, take a look at what its vulnerabilities are, and see if we can mitigate them: System #1 The client transmits…

22

You Want Salt With That? Part One: Security vs Obscurity

A poster to one of the Joel On Software fora the other day asked what a “salt” was (in the cryptographic sense, not the chemical sense!) and why it’s OK to make salts public knowledge. I thought I might talk about that a bit over the next few entries. But before I do, let me…

10

Fun With Floating Point Arithmetic, Part Six

One more thing — I said earlier that the VBScript float-to-string algorithm was a little bit different than the JScript algorithm. We can demonstrate quite easily by comparing the outputs of two nigh-identical programs: ‘ VBScriptprint 9.2 * 100.0 < 920.0print 919.9999999999999 < 920.0 print 920.0000000000001 > 920.0 ‘ JScriptprint(9.2*100.00 < 920.0);print(919.9999999999999 < 920.0);print (920.0000000000001…

4

That’s a Big Transistor

Here’s some fun for a Friday. A few years back a bunch of my coworkers and I got to discussing the space program over lunch. Someone asked why it is that we continue to launch devices into orbit by strapping a big old tank full of liquid oxygen to the device and then set it…

24

Fun with Floating Point Arithmetic, Part Five

I went to Joel Spolsky’s geek dinner at Crossroads the other night, which was a lot of fun. I didn’t get much of a chance to chat with Joel, as he was surrounded by a cadre of adoring fans three deep the whole time.  I mostly hung out with KC and Larry and some other…

11

Fun with Floating Point Arithmetic, Part Four

A reader also asked the other day why it is that in VBScript, CSng(0.1) = CDbl(0.1) is False. Forget about binary floating point for a moment. Suppose that we had two fixed-point decimal systems, say one with five digits after the decimal place and one with ten. You want to represent one-third. In our first…

7