Categories
Uncategorized

0wnz0red annotation (page 2, in progress)

Well, I’m a little busy today, but I thought I’d give you folks what I’ve got done on the annotation for page 2 of 0wnz0red. I’ll update this later today, tonmorrow at the very latest.

Slight update on Friday, August 30th at 3:15 p.m.

Once again, if you don’t know what this is all about, go read Cory Doctorow’s nifty short story, 0wnz0red. Day by day, I’m annotating each of the pages of the story, covering the dense techno-folderol and Cory-isms contained within. I’ll eventually collect these and put them on a single page.

Graphic: Title graphic for '0wnz0red'.

“…they had cute girls on the documentation floor, liberal arts/electrical engineering double-majors…”

It’s true. many of computerdom’s “cute girls” were double majors. I know cute women from double majors in theatre/computer science, English computer/science, fine arts/computer science and biology/computer science.

“His car was one of the last ones in the lot, a hybrid Toyota with a lot of dashboard geek-toys…”

This was probably inspired by our friend Quinn Norton’s recently-bought Toyota Prius, a hybrid gasoline/electrical car. It relies on its whisper-silent electric engine at lower speeds and the gasoline engine kicks in on the highway or when extra power is needed. In the center dashboard between driver and passenger is an LCD display which gives you status reports from both engines, energy consumption and other cool data. I found its readouts endlessly fascinating.

cryptographic handshake

Let’s do this one word at a time.

A cryptosystem is a method of disguising messages so that only people for whom the message is intended can see through the disguise. Encryption is act of disguising a message; decryption is the act of removing the disguise so that the message can be read. Cryptography is the science of creating and using cryptosystems.

A handshake is an exchange of messages between two computers.

A cryptographic handshake is an exchange of disguised messages between two computers – in the case of this story, between Murray’s key fob and the door lock system of his Toyota. The door lock system of Murray’s Toyota is like a combination lock and the key fob contains the combination to the lock. The key fob encrypts the combination before transmitting it to the car; the car decrypts the received message and then checks to see if it’s the right combination for the door locks. If the key fob did not encrypt the combination before sending it to the car, it would be the high-tech equivalent of climbing onto the nearest rooftop and shouting out the combination to the car door locks for everyone to hear.

(Update: Just re-read that entry and thought: wait a minute — it’s not really a handshake, because the communication between key fob and car door lock system is not an exchange. The key fob, as far as I know, doesn’t actually reply The communication is more akin to that between a TV remote and the TV. The minimum kind of exchange for a handshaking scenario is along the lines of something like this:

Computer 1: Here’s a message for you.

Computer 2: Cool. I await your next message with bated breath.

Okay, I embellished it a litte. You get the idea.)

El Torito

A chain of Mexican restaurants in southern California.

Some geeks may remember that the specification for bootable CD-ROMs for IBM PC-compatible computers was conceived in the El Torito in Irvine, California, which is why it’s called the El Torito Specification.

Shallow Alto

Cory’s nickname for Palo Alto, one of the high-tech centres of Silicon Valley. Yes, he actually uses this term in real life.

“So, do I get two other ghosts tonight, Marley, or are you the only one?”

Actually, in Dickens’ A Christmas Carol, three ghosts visit after Marley: Christmas past, Christmas present and Christmas you’re-dead-and-nobody-gives-a-crap.

“…they’re hardcore for it.”

(Still have to write this one.)

Turing Machine

(Still have to write this one. Gonna be tricky, because it’s hard to explain using this in only a sentence or two. )

Itanium

(Still have to write this one.)

RISC

(Still have to write this one.)

“Now, forget about that for a sec and think about Hollywood. The coked-up Hollyweird fatcats hate Turing Machines.”

(Still have to write this one.)

secure app

(Still have to write this one.)

fuxor

fuck.

cleartext

(Still have to write this one.)

Descartes

(Still have to write this one.)

Gutenberg Project

(Still have to write this one.)

shiznit

shit.

QED

Quantum Electrodynamics.

Well, yes, but it this case, it’s an abbreviation for the Latin phrase quod erat demonstrandum meaning “which was to be proven”. A clever-clver way of saying “I rest my case.”

Crypto

Short form for cryptography, which I covered in cryptographic handshake, above.

standards-defined

(Still have to write this one.)

ciphersystems

Same thing as a cryptosystem, which I covered in cryptographic handshake, above.

AES

(Still have to write this one.)

RSA

(Still have to write this one.)

signing key

(Still have to write this one.)

chip fab

Short for chip fabrication plant, where computer chips are manufactured.

biometrics

(Still have to write this one.)

“That key is used to sign another key that’s embedded in a tamper-resistant chip”

(Still have to write this one.)

Fritz Hollings, the Senator from Disney

(Still have to write this one.)

boot-loader

The term for starting up a computer is called “booting”. It’s derived from the expression “to pull yourself up by your own bootstraps”, which means “to get started without any outside help.”

There’s a bit of a chicken-and-egg situation when you boot your computer. The operating system of a computer, among other things, is responsible for loading applications from your hard drive and then running them. The operating system is itself an application that somehow has to be loaded from the hard drive and then run. But how do you do that without already having an operating system up and running?

(It’s kind of like a question someone once asked me when we were watching people constructing a new high-rise building: how do you set up a crane without using another crane?)

That’s where the boot loader comes in. Unlike operating systems, which are relatively large programs stored in RAM (whose contents evaporate as soon as you cut off the power), a boot loader is a very small stored permanently in ROM (whose contents remain even when the power is cut off). The boot loader tells the computer how to load and then run the very core part of the operating system, known as the kernel. Once loaded and run, the kernel then starts up the rest of the operating system.

“cryptographic signatures that reflect the software and hardware configuration of your box”

(Still have to write this one.)

config

Short for configuration.

CPU

Central Processing Unit.

OS

Operating System.

Napsterization

(Still have to write this one.)

“You can’t fake an interface”

(Still have to write this one.)

“You know that these guys sued to make the VCR illegal, right?”

(Still have to write this one.)

“You can’t wrap up an old app in a compatibility layer and make it work with a new app”

(Still have to write this one.)

Categories
Uncategorized

An annotation for Cory Doctorow’s "0wnz0red" (page 1)

You’ve read Cory Doctorow’s wonderful little short story, “0wnz0red”, but got lost in the jargon and hacker cultural folderol. What’s a layperson to do? Well, for starters, you can read my annotation…

If you haven’t seen it yet, go to Salon and read Cory Doctorow’s 0wnz0red.

0wnz0red, like Cory, is steeped in the culture and lingo of the high-tech world, and just in case you got lost, you can consult my handy-dandy annotation. This is the first installment, which covers page one. It’s going to take me a while to annotate it completely, as the story’s a dense dwarf star of Silicon valley folderol. The terms are listed in order of their appearance, unless a supplementary definition is required.

(Special note to my programmer friends, especially Dan: this is written for non-geeks, and I may be skimming over some details. I’m going for layperson undertsanding rather than strict technical correctness here. If you feel you must, feel free to correct me in the comments.)

1337: “leet”, a shortening of the word elite, which means “in possession of computer knowledge.

1337speak (also 13375p34k): “leetspeak”. Hacker slang. While it’s often used for speaking, 1337speak really comes into its own when used in the written medium of the Internet, where character substitution is used. For example, the character “3” looks like a backwards “E” (a la Eminem), so it’s used as a substitute for that letter. In 1337speak, the word “beer” becomes b33r.

haxor (also H4X0R): hacker.

X0R is often used as the suffix “-er”; for instance “fucker” becomes “fuX0r” in 1337speak. Often a 1337speak noun ending in X0R becomes a present tense verb when followed by “s” or “z” or a past tense verb when followed by “ed”. For instance, “this beer sucks” becomes “this beer sux0rz” (or, if you really want to go whole-hog, “+|-|1z b33R sUx0rz”.

0wnz0red: owned, which means “screwed over”. If someone has cracked your computer’s security and taken it over or beaten you in a game of Quake, that person has 0wned (or 0wnz0red) you.

It also is used to describe a computer that cracked (taken over by someone who’s not supposed to), as in “Back in 2000, Mafiaboy 0wned a mess of vulnerable machines and used them attack eBay and other major Web sites.”

Note that this is different from the term 0wns (owns), which means “is very good” or “rules”. An example: “I love my new computer! It 0wns!”

pr0n: porn. “pron” is a common typo that eventually got accepted as a synonym for porn; it then was made more 1337 by turning the “o” into a zero.

censoring proxy: a proxy is a computer that acts as a go-between between your computer and the rest of the Internet. Many offices, in an attempt to keep workers from slacking off and viewing “inappropriate” web sites, install web proxies that block access to these sites.

Let’s say you worked in an office with one of these proxies and you were surfing the Web. You’d enter an URL into your browser, and the request for that page would go to the proxy. The proxy would then check the URL against its list of inappropriate sites. If the URL you entered was not on the list, the proxy would allow your request for the Web page out onto the Internet, and you’d be able to view your page. If the URL you entered was on the list – say a job search site or ratemyrack.com – the proxy would not forward your request to the Internet and would simply give you a Web page saying that you weren’t allowed to look at such a page on company machines and company time.

CVS: Concurrent Versions System. This is software that keeps track of revisions made to documents by one or more people. One of the most important features of CVS is that it allows you to backtrack to any prior version of a document, which is incredibly useful if you’ve “painted yourself into a corner” with what you’ve written and would like to start from where you were a couple of days ago. Another feature of CVS is that it allows more than one person to work on the same document at the same time; it attempts to merge the changes that several people make and usually alerts you when your changes would stomp on someone else’s.

You might be wondering what this has to do with programming. Programmers use programming languages to write source code, which are just documents that consist of instructions for the computer to follow. Source code is saved in CVS.

CVS is treated like a library; many people even use library terms when using it. When you want to edit some source code, you check it out of CVS, and when you’re done with it, you check it in.

A piece of software called a compiler turns source code (which is understandable by humans, or at least humans who program computers) into executables (which is understood by computers). This process is called compiling. Compilers (and a good number of computer programmers, for that matter) are fussy, pedantic sons of bitches. Any slight error in the source code and they will simply refuse to compile it into an executable.

It is considered to be the mark of a bad programmer and a mortal sin to check code into CVS that doesn’t compile.

Orange County: A suburb of Los Angeles. Home to a number of second- and third-generation punk (and punk-ish) and third-generation ska (and ska-ish) bands including Save Ferris, No Doubt, The Offspring, Reel Big Fish and Goldfinger, to name just a few of the better-known names.

Moore’s Law: The looser, layperson-friendly version of Moore’s Law is that computing power doubles every 18 months. The practical upshot of this is that in 18 months, you can buy a computer twice as fast with twice as much memory as you bought today.

The more strict definition of Moore’s Law is here.

Named after Intel co-founder Gordon Moore, who made this observation in 1965.

Hongcouver: One of the clever names that Canadians use for Vancouver, a city on the west coast of Canada. Refers to the large number of immigrants from Hong Kong who came to Vancouver before the British lease on Hong Kong expired in 1997.

azz: ass. One of Cory’s favourite expressions of approval is “this kicks all kinds of ass”.

Fourbucks: Starbucks. A reference to how much it costs to get a coffee there.

Swedish Disposable Moderne Desque: A reference to Douglas Coupland’s “Swedish semi-disposable furniture”, which in turn is a snide reference to IKEA, official furniture supplier to Generation X. Coupland himself is a furniture designer, and oddly enough, his stuff would fit in perfectly in an IKEA showroom.

strike price: In the case of an employee who gets stock options in a company for which s/he works, the strike price is the specified share price at which s/he can sell his/her options as soon as s/he’s vested (that is, s/he’s owned the shares long enough and is now allowed to sell them – assuming they’re worth anything, that is).

Canadian pesos: Canadian dollars, with a mocking reference to how weak it is next to the “real” dollar, the U.S. dollar. I used this term around Cory a lot; he may have gotten it from me.

Ah, screw it. He got it from me.

G0nzored: gone.

Fi0red: fired.

Sh17canned: 1337speak for “shitcanned”.

Vangroover: Another clever name that Canadians use for Vancouver. Refers to the fact that like its counterparts in the U.S., Vancouver’s west coast-ness tends to attract a lot of hippies and its year-round mild climate is excellent for growing weed. “Vangroovy” is another oft-used variation on this theme.

Honorable Computing Initiative: A play on Microsoft’s “Trusted Computing Initiative”. Read more about it here.

API: Application Programming Interface. Code that’s already been written that a programmer can use to work with other people’s code, whether it be a software component like QuickTime, or a whole operating system. An example: when writing a Windows program, the programmer doesn’t actually have to write all the code to create a new window; s/he simply calls a pre-built piece of code in the Windows API that creates new windows.

secondment: One of Cory’s favourite terms. It’s just a ten-dollar word for “temporary reassignment”.

Categories
Uncategorized

Defeating airport security and getting frequent flyer points while you’re at it

A couple of MIT students have written a paper on how CAPS (Computer-Assisted Passenger Screening system, which got implemented shortly after September 11th) can be defeated. Thanks to Plastic for providing the title for this entry.

I’ve only had a chance to briefly skim it, but the paper, titled Carnival Booth: An Algorithm for Defeating the Computer-Assisted Passenger Screening System, outlines a hole in the security system currently used in airports to prevent another September 11th from happening. CAPS tries to predict whether you’re a likely to be a terrorist based on data pertaining to your history of ticket purchases. If you fit the terrorist profile, you’re singled out for extra security checks. When you’re singled out, ti’s quite obvious, and therein lies the weakness of the system.

(I once probably set off every CAPS alarm; I wrote about it here.)

Here’s what the writers of the paper have to say:

This transparency is the Achilles’ Heel of CAPS; the fact that individuals know their CAPS status enables the system to be reverse engineered. You, like Simonyi, know if you’re carryons have been manually inspected. You know if you’ve been questioned. You know if you’re asked to stand in a special line. You know if you’ve been frisked. All of this open scrutiny makes it possible to learn an anti-profile to defeat CAPS, even if the profile itself is always kept secret. We call this the “Carnival Booth Effect” since, like a carnie, it entices terrorists to “Step Right Up! See if you’re a winner!” In this case, the terrorist can step right up and see if he’s been flagged.

The recipe for defeating CAPS is quite simple:

1. Probe the system. Send one of your agents to simply take a flight. On this run, the agent’s not supposed to do anything other than report whether or not CAPS flaged him or her.

2. If your agent was flagged in step 1, take that agent off your martyrdom candidates list. Reassign the agent to something else (perhaps recruiting and handing out propaganda at the local University campus). Repeat step 1 with another agent.

3. Repeat this process until you’ve got one or more agents who consistently eludes CAPS flags. These lucky dogs get the 72 virgins. Get them to give you the frequent flyer points they accrued; they won’t be needing them anyway.

4. Now send this squad on a mission with intent to harm, complete with weapons, explosives and cliched prepared statement. Since CAPS didn’t flag them last time, it’s likely they won’t be flagged this time. Await congratulatory greeting card from Osama.

The authors of the paper state that even although it seems counterintuitive, randomly selecting passengers for extra scrutiny is more likely to catch terrorists than CAPS.

It’s an interesting read, and although there’s a little math to wade through (although it’s not terribly complex; anyone who’s read The Cartoon Guide to Statistics should get it), most people should find it reasonably easy to follow.

Categories
Uncategorized

The comments system gets a second chance

Enetation — the people who make the comments system that this Weblog and its sister (The Happiest Geek on Earth) use and about whom I ranted earlier — get a second chance.

According to the support forums on their site, they’ve re-written the code for their system. It certainly seems that way; their system no longer slows down the loading time of my blogs. They also say that they’ve moved their system to a newer, better, faster computer with more uptime, and once again, for the past couple of days, they’ve been working more often than not. I’ll hang onto enetation for the next couple of weeks and see how it goes.

Categories
Uncategorized

Scenes from adolescent life

A follow-up to my MuchMusic posting.

(The original story is here.)

MuchMusic’s live video request show, MuchOnDemand, alternates between videos and segments shot live in the open-concept, open-to-the-street MuchMusic studios. There’s a bit of a lull in the studio when they show the video, and here’s a little bit of what went on in the audience scrum during that lull.

Teenage Girl 1: Oh my God, Rick is so hot.

Tennage Girl 2: Yeah. He’s hot.

Teenage Girl 3: He’s so hot I could just die!

Teenage Girl 4 (who is wearing a black leather studded collar with four chains that run from the collar to a black leather belt): Feh.

Teenage Boy 1: (Silence. He’s staring at Jenn the VJ).

Teenage Boy 2: (Silence. He’s staring at teenage girls 1, 2, 3 and especially 4.)

Teenage Girl 4 (to me): I wanted you to play Nine Inch Nails.

Teenage Boy 2 (to me): I heard you can play System.

Teenage Girl 2 (spotting Rick the VJ, who’s wandering by): Rick!

Rick the VJ: Yeah?

Teenage Girl 2: Uh…can I have…a hug?

Rick the VJ: Not now, I have to get ready for the next segment, but after the show, there’s hugs for everyone.

Teenage Girls 1, 2 and 3: YAAAAAY!

And yes, after the show, Rick did give out hugs to those who asked.

Teenage Boy 1: (Silence. He’s staring at Jenn the VJ).

Teenage Boy 2: (Silence. He’s staring at teenage girls 1, 2, 3 and especially 4.)

Teenage Girl 4: Feh.

The video ends and the live segment begins. Rick is on camera, talking.

Teenage Girl 1 (to Teenage Girls 2 and 3): Okay, on the count of three.

Teenage Girl 3: We really gonna do this?

Teenage Girl 1: You said!

Teenage Girl 2: Go!

Teenage Girl 1 (breathlessly, almost hyperventilating): One…two…three!

Teenage Girls 1, 2 and 3 (in unison): RICK! YOU’RE HOT!

Rick the VJ (turning away from the camera for just a moment): I’m hot? Thanks!

Teenage Boy 1 (muttering to self): Girls.

Teenage Boy 2 (whispering to Teenage Boy 1, pointing at Teenage Girl 4): She’s hot.

Categories
Uncategorized

The other blog is alive and well

For the more technically-inclined, The Happiest Geek on Earth is back on track. In addition to the usual stuff that appears in it, it’ll also be functioning as a place for drafts for additions to my soon-to-be-revived cross-language programming guide, The Rosetta Stone. Geeky goodness abounds!

Categories
Uncategorized

Fresh Meat open for The Centimeters

From the “Better late than never” department: photos from the Fresh Meat gig at the Lava Lounge two Sundays ago. They opened for The Centimeters, a very experimental art/goth/probably-need-major-therapy-rock band from L.A. I’m a little busy at the moment, so I’m adding more text later.

Heaven Lee. Fresh Meat’s very own hostess with the mostest. She introduces the band and provides meat-based snacks. Last time, it was hot dogs, this time, a special treat: proscuiutto with melon. She also tossed out a couple of prize packs, which include topless polaroids of herself. I concede the title of “Toronto’s best Asian self-promoter” to her.

The fans! From left to right: Holly, Laura, Leila and half of Will. But as Will would say, “half of me is plenty, baby!”

Mandra spanks the plank. Fresh Meat’s bassist Mandra tears into the opening number.

Q: What does it mean when the drummer is drooling out of both sides of his mouth? A: It means the stage is level. But seriously folks: in the past, I’ve been neglecting to mention or get photos of this member of the band, Mark the drummer. Mark, take a bow.

Mark the drummer: the portrait shot. Did I mention the drummer’s name was Mark?

Relaxing on the patio before the gig. Mark (I mentioned he’s the drummer, didn’t I?) suspects that Tina’s stiffed him with the bar tab again.

Album liner note photo . Here’s a photo of Mark (he’s the drummer, you know) taken using only the available light in the room.

Tina (who is not the drummer) sings Star Quality. The pink fingerless cocktail gloves are a nice raffish touch.

Dorian: “I am standing up!” Tina enhances her already serious height with platform shoes; Dorian has this “I can di happy now” kind of expression.

Post-gig celebrating. When The Gap break into the codpieces-and-dog-collar market, they will use this photo in their advertising.

Rock! It might be an artifiact of the picture being reduced in size and compressed, but doesn’t it look as if Mandra is staring wide-eyed at the audience, trying to hypontise them into become his evil army of the night?

Album liner note photo . This time it’s Tina and Mandra, and not Mark, who happens to play drums.

The Centimeters. When art school students go wrong. Actually not that wrong — when they venture into Gary Numan territory, they sound all right, but when they try to go Diamanda Galas or Stockhausen, it’s like a cheesegrater on your soul.

Nora from The Centimeters. Stage presence is sometime all about the Bela Lugosi-inspired “Bleah! Bleah! I want to suck your blood!” hand motions.