| By Carl Franklin | Article Rating: |
|
| June 2, 2007 07:30 PM EDT | Reads: |
9,739 |
Hanselman: It's like the GIF format - I remember back in the day, they added notations at the end, like GIF89a, stuck a bunch of stuff, even putting notes on the end of your GIF. It wasn't part of the original format or something, so basically they figured out that if we put it here, nobody will look here, they'll hit the null, and they'll go, "Oh that's cool." We made this backward compatible in that no one blows up when we read it.
Chen: Because we put it in a place that most people consider to be junk anyway.
Hanselman: Exactly. There is a lot of hunting for junk that goes on when you need to expand the file format, especially one of these older file formats that everybody knows in quotation marks, where you would think that oh, well, we can just use this bit over here and that indicates a new format over there but now, because everybody knows this file format.
It's hard to expand a binary format. Because you don't know about anything that's not in the Shell, you refuse to answer all questions. I was going to mention Office of the Office format, it took structured storage and then basically in the Office format, as you a make a doc x file, you go to Word, type "Hello World" save as fu.docx. It's a zip file. You can rename it .zip, open it up, there's a whole directory structure in there.
Chen: And there is stuff in there.
Hanselman:What a clever way to make an expandable format...
Chen: That's really smart.
Hanselman: It is. But there's all of the overhead of the zipping and the zip header and all that kind of stuff from the point of view of an icon.
Chen: Then you can't add any new compression formats at this point.
Hanselman: Exactly, so at some point you're stuck with it. You're not going to go and make the ARJ or the RAR.
Chen: Any of those other fantastic acronyms that mean nothing to me.
Hanselman: Really that mean anything to you? You are a DOS TSR guy, then went DeskView back in the day. You just like appeared at Microsoft in 1990...
Chen: I can tell a story about DeskView.
Hanselman: Let's hear it.
Chen: DeskView is the SysRq key. You have this keyboard, there's a button called SysRq - what is that for? That's for DeskView. The purpose of SysRq, as it was originally designed, as I understand it, was to be a way to get the attention of the controlling operating system. It was like the old-fashioned idea of what we now call the secure attention sequence, the thing that only the operating system listens to.
Hanselman: Like control-alt-delete.
Chen: As I understand it, DeskView is the only program that actually used SysRq to mean okay. I want to call up the DeskView menu thing and nobody else paid SysRq any attention at all, but there it is on your keyboard, sitting around, waiting for somebody to press it, and then of course you press it and nothing happens, because no program cares about it either.
Hanselman: Can you do something with it? I mean I've never seen a...
Chen: ou can draw a smiley face on it.
Hanselman: I've never seen a hotkey program say that would be great; they overload the hell out of the Windows key, but I have a brand new Lenovo laptop here with a little blue function key and SysRq is just there waiting for me. There's Print Screen and Alt Print Screen. I thought it had something to do with that.
Chen: No, Print Screen used to be on the asterisk key; it was - back in the ancient days - this is why you always had to have a printer hooked up to your computer and ready; you can search on the Internet, find pictures of those really, really old keyboards, and the right-hand Shift key was not a huge key like it is today; it was the size of a normal key, and next to it to the right was a key that had an asterisk when un-Shifted and was Print Screen when Shifted. If you were a sloppy typist, your right pinky would reach for the Shift key, it would slip too far and it would hit the Shift key and the asterisk - which meant Print Screen.
Hanselman:That's good design.
Chen: ou would be sitting there, minding your own business, typing away and then your machine would lock up because it's waiting for your printer.
Hanselman: nnnnnnnnn
Chen: No it didn't make any noise...
Hanselman: That was that printer sound. Remember the old dot matrix printers, they would nnnnnnnnnnnnnn,
Chen: Oh, the dot - I just remember inkinkk sound. I don't remember the head moving around, not doing anything.
Hanselman: IThat's good design. You read "The Design of Everyday Things," I'm sure you probably have that around here somewhere - "The Teapot Book."
Chen: Yes, it's a fantastic book.
Hanselman: I love that kind of stuff. There's such legendary design to applications that just really push the limit - like Microsoft Bob.
Chen: Bob was a product ahead of its time. It was sort of too revolutionary for its own good, it's... Hanselman: I read it; I sincerely tried for a week.
Chen: Its genius was underappreciated and has now been supplanted by YouTube. But believe it or not, Bob is not dead. Everybody, if you have your Windows XP CD, there is a copy of Bob on that CD. What is a copy of Bob doing on my Microsoft Windows XP CD? After consulting with all the translators and all the other people who would need to have space on the CD, we noticed there was some empty space. We paid for the CD, so we may as well put stuff on it. As sort of one of the lame attempts at slowing down people who like to make illegal copies, we put some dummy files or dummy data on the CD, and setup would check that the dummy data was still there to make it so if you were to make a copy of the CD, you still had to make a copy that included all the dummy data. When people are transferring files on 56k modems, an extra 30 meg of dummy data slows you down, not that that slows people down much anymore. The dummy data is Microsoft Bob. The person who had to come up with the dummy data was looking around for about 30 meg or something. He said, I need a corpus of dummy data; where am I going to find some dummy data? He could have called CryptGenRandom and generated 10 meg of CryptGenRandom data but there is no fun in that. Instead, he went to the internal release servers, went through the archives, and found a copy of Microsoft Bob and took all the Microsoft Bob floppies. Of course, Microsoft Bob floppies aren't very random, so he encrypted them by typing - smashing his hand on the keyboard and generating keys that he will never be able to reproduce again - and out came an encrypted copy of Microsoft Bob, which has the nice property that the contents are closer to random. It's still not cryptographically random, but it was messed up enough, and that's what went out into the unused spaces on the CD as balance data.
If you go and find your copy of Windows XP that you bought in the store and you know where to look, I don't know where, because I just heard this story and if you can somehow mash your hand on the keyboard in exactly the right way, out will come a copy of Microsoft Bob.
Published June 2, 2007 Reads 9,739
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Carl Franklin
Carl Franklin has been a figurehead in the VB community since the very early days when he wrote for Visual Basic Programmers Journal. He authored the Q&A column of that magazine as well as many feature articles for VBPJ and other magazines. He has authored two books for John Wiley & Sons on sockets programming in VB, and in 1994 he helped create the very first web site for VB developers, Carl & Gary's VB Home Page. He now teaches hands-on VB .NET classes for his company, Franklins.Net. He has taught developers from Citigroup, Aetna, Fidelity Investments, Fleet Bank, Foxwoods Casino, UTC, Hubbell, Microsoft, Mohegan Sun Casino, Northeast Utilities, to name a few. Carl is co-host of a weekly talk show on his website for .NET programmers called .NET Rocks! Carl is MSDN Regional Director for Connecticut.
- IBM Puts Systems Chief on Leave of Absence
- Amazon Web Services Database in the Cloud
- SpringSource Moving to Spring 3.0
- Virtualization Expo Call for Papers Deadline December 15
- Un-Clouding Federal Security Compliance
- Move Over BI, Here Comes PI - Performance Intelligence
- Qt DevDays 2009 - Munich
- Using Ext JS, Servlets, JSON, MySQL and Tomcat on Fedora
- Developing APIs for the Cloud
- Canonical Offers Free Cloudware
- New-Generation Virtualization Technologies with Ultra Low-Cost Endpoints
- The Planet Executive to Speak at Cloud Computing Conference
- Oracle-Sun: IBM Reportedly Behind Delay
- The Case for Single-Purpose Services
- IBM Puts Systems Chief on Leave of Absence
- Cloud BI & Amazon VPC
- Cloud-Oriented Switch Start-up Valued at $230M
- The Curious Case of Build Release Management eBook
- Amazon Web Services Database in the Cloud
- Tips for Efficient PaaS Application Design
- Reporting Solutions Using Crystal Reports for Eclipse
- SpringSource Moving to Spring 3.0
- Virtualization Expo Call for Papers Deadline December 15
- Un-Clouding Federal Security Compliance
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- Creating Web Applications with the Eclipse Web Tools Project
- Eclipse Special: Remote Debugging Tomcat & JBoss Apps with Eclipse
- The Next Programming Models, RIAs and Composite Applications
- Where Are RIA Technologies Headed in 2008?
- How to Bring Eclipse 3.1, J2SE 5.0, and Tomcat 5.0 Together
- SYS-CON Webcast: Eclipse IDE for Students, Useful Eclipse Tips & Tricks
- Eclipse: The Story of Web Tools Platform 0.7
- "Eclipse 3.0 is a Great Leap Forward," Says JDJ's Dudney
- Developing an Eclipse BIRT Report Item Extension
- The Top 250 Players in the Cloud Computing Ecosystem



























