this chapter is dedicated to new york city's books of wonder, the old-est and largest kids' bookstore in manhattan. they're located just a fewblocks away from tor books' offices in the flatiron building and everytime i drop in to meet with the tor people, i always sneak away to booksof wonder to peruse their stock of new, used and rare kids' books. i'm aheavy collector of rare editions of alice in wonderland, and books ofwonder never fails to excite me with some beautiful, limited-editionalice. they have tons of events for kids and one of the most inviting at-mospheres i've ever experienced at a bookstore.
books of wonder: 18 west 18th st, new york, ny 10011 usa +1 212989 3270they took me outside and around the corner, to a waiting unmarkedpolice car. it wasn't like anyone in that neighborhood would have had ahard time figuring out that it was a cop-car, though. only police drivebig crown victorias now that gas had hit seven bucks a gallon. what'smore, only cops could double-park in the middle of van ness streetwithout getting towed by the schools of predatory tow-operators thatcircled endlessly, ready to enforce san francisco's incomprehensibleparking regulations and collect a bounty for kidnapping your car.
booger blew his nose. i was sitting in the back seat, and so was he. hispartner was sitting in the front, typing with one finger on an ancient,ruggedized laptop that looked like fred flintstone had been its originalowner.
booger looked closely at my id again. "we just want to ask you a fewroutine questions.""can i see your badges?" i said. these guys were clearly cops, but itcouldn't hurt to let them know i knew my rights.
booger flashed his badge at me too fast for me to get a good look at it,but zit in the front seat gave me a long look at his. i got their division91number and memorized the four-digit badge number. it was easy: 1337is also the way hackers write "leet," or "elite."they were both being very polite and neither of them was trying to in-timidate me the way that the dhs had done when i was in their custody.
"am i under arrest?""you've been momentarily detained so that we can ensure your safetyand the general public safety," booger said.
he passed my driver's license up to zit, who pecked it slowly into hiscomputer. i saw him make a typo and almost corrected him, but figuredit was better to just keep my mouth shut.
"is there anything you want to tell me, marcus? do they call youmarc?""marcus is fine," i said. booger looked like he might be a nice guy. ex-cept for the part about kidnapping me into his car, of course.
"marcus. anything you want to tell me?""like what? am i under arrest?""you're not under arrest right now," booger said. "would you like tobe?""no," i said.
"good. we've been watching you since you left the bart. your fastpass says that you've been riding to a lot of strange places at a lot offunny hours."i felt something let go inside my chest. this wasn't about the xnet atall, then, not really. they'd been watching my subway use and wanted toknow why it had been so freaky lately. how totally stupid.
"so you guys follow everyone who comes out of the bart station witha funny ride-history? you must be busy.""not everyone, marcus. we get an alert when anyone with an uncom-mon ride profile comes out and that helps us assess whether we want toinvestigate. in your case, we came along because we wanted to knowwhy a smart-looking kid like you had such a funny ride profile?"now that i knew i wasn't about to go to jail, i was getting pissed.
these guys had no business spying on me — christ, the bart had nobusiness helping them to spy on me. where the hell did my subway passget off on finking me out for having a "nonstandard ride pattern?""i think i'd like to be arrested now," i said.
92booger sat back and raised his eyebrow at me.
"really? on what charge?""oh, you mean riding public transit in a nonstandard way isn't acrime?"zit closed his eyes and scrubbed them with his thumbs.
booger sighed a put-upon sigh. "look, marcus, we're on your sidehere. we use this system to catch bad guys. to catch terrorists and drugdealers. maybe you're a drug dealer yourself. pretty good way to getaround the city, a fast pass. anonymous.""what's wrong with anonymous? it was good enough for thomas jef-ferson. and by the way, am i under arrest?""let's take him home," zit said. "we can talk to his parents.""i think that's a great idea," i said. "i'm sure my parents will be anxiousto hear how their tax dollars are being spent —"i'd pushed it too far. booger had been reaching for the door handle butnow he whirled on me, all hulked out and throbbing veins. "why don'tyou shut up right now, while it's still an option? after everything that'shappened in the past two weeks, it wouldn't kill you to cooperate withus. you know what, maybe we should arrest you. you can spend a day ortwo in jail while your lawyer looks for you. a lot can happen in thattime. a lot. how'd you like that?"i didn't say anything. i'd been giddy and angry. now i was scaredwitless.
"i'm sorry," i managed, hating myself again for saying it.
booger got in the front seat and zit put the car in gear, cruising up24th street and over potrero hill. they had my address from my id.
mom answered the door after they rang the bell, leaving the chain on.
she peeked around it, saw me and said, "marcus? who are these men?""police," booger said. he showed her his badge, letting her get a goodlook at it — not whipping it away the way he had with me. "can wecome in?"mom closed the door and took the chain off and let them in. theybrought me in and mom gave the three of us one of her looks.
"what's this about?"93booger pointed at me. "we wanted to ask your son some routine ques-tions about his movements, but he declined to answer them. we felt itmight be best to bring him here.""is he under arrest?" mom's accent was coming on strong. good oldmom.
"are you a united states citizen, ma'am?" zit said.
she gave him a look that could have stripped paint. "i shore am,hyuck," she said, in a broad southern accent. "am i under arrest?"the two cops exchanged a look.
zit took the fore. "we seem to have gotten off to a bad start. we identi-fied your son as someone with a nonstandard public transit usage pat-tern, as part of a new pro-active enforcement program. when we spotpeople whose travels are unusual, or that match a suspicious profile, weinvestigate further.""wait," mom said. "how do you know how my son uses the muni?""the fast pass," he said. "it tracks voyages.""i see," mom said, folding her arms. folding her arms was a bad sign.
it was bad enough she hadn't offered them a cup of tea — in mom-land,that was practically like making them shout through the mail-slot — butonce she folded her arms, it was not going to end well for them. at thatmoment, i wanted to go and buy her a big bunch of flowers.
"marcus here declined to tell us why his movements had been whatthey were.""are you saying you think my son is a terrorist because of how herides the bus?""terrorists aren't the only bad guys we catch this way," zit said. "drugdealers. gang kids. even shoplifters smart enough to hit a differentneighborhood with every run.""you think my son is a drug dealer?""we're not saying that —" zit began. mom clapped her hands at him toshut him up.
"marcus, please pass me your backpack."i did.
mom unzipped it and looked through it, turning her back to us first.
94"officers, i can now affirm that there are no narcotics, explosives, orshoplifted gewgaws in my son's bag. i think we're done here. i wouldlike your badge numbers before you go, please."booger sneered at her. "lady, the aclu is suing three hundred copson the sfpd, you're going to have to get in line."mom made me a cup of tea and then chewed me out for eating dinnerwhen i knew that she'd been making falafel. dad came home while wewere still at the table and mom and i took turns telling him the story. heshook his head.
"lillian, they were just doing their jobs." he was still wearing the blueblazer and khakis he wore on the days that he was consulting in siliconvalley. "the world isn't the same place it was last week."mom set down her teacup. "drew, you're being ridiculous. your son isnot a terrorist. his use of the public transit system is not cause for a po-lice investigation."dad took off his blazer. "we do this all the time at my work. it's howcomputers can be used to find all kinds of errors, anomalies and out-comes. you ask the computer to create a profile of an average record in adatabase and then ask it to find out which records in the database arefurthest away from average. it's part of something called bayesian ana-lysis and it's been around for centuries now. without it, we couldn't dospam-filtering —""so you're saying that you think the police should suck as hard as myspam filter?" i said.
dad never got angry at me for arguing with him, but tonight i couldsee the strain was running high in him. still, i couldn't resist. my ownfather, taking the police's side!
"i'm saying that it's perfectly reasonable for the police to conduct theirinvestigations by starting with data-mining, and then following it upwith leg-work where a human being actually intervenes to see why theabnormality exists. i don't think that a computer should be telling the po-lice whom to arrest, just helping them sort through the haystack to find aneedle.""but by taking in all that data from the transit system, they're creatingthe haystack," i said. "that's a gigantic mountain of data and there's al-most nothing worth looking at there, from the police's point of view. it'sa total waste."95"i understand that you don't like that this system caused you some in-convenience, marcus. but you of all people should appreciate the gravityof the situation. there was no harm done, was there? they even gaveyou a ride home."they threatened to send me to jail, i thought, but i could see there was nopoint in saying it.
"besides, you still haven't told us where the blazing hells you've beento create such an unusual traffic pattern."that brought me up short.
"i thought you relied on my judgment, that you didn't want to spy onme." he'd said this often enough. "do you really want me to account forevery trip i've ever taken?"i hooked up my xbox as soon as i got to my room. i'd bolted the pro-jector to the ceiling so that it could shine on the wall over my bed (i'dhad to take down my awesome mural of punk rock handbills i'd takendown off telephone poles and glued to big sheets of white paper).
i powered up the xbox and watched as it came onto the screen. i wasgoing to email van and jolu to tell them about the hassles with the cops,but as i put my fingers to the keyboard, i stopped again.
a feeling crept over me, one not unlike the feeling i'd had when i real-ized that they'd turned poor old salmagundi into a traitor. this time, itwas the feeling that my beloved xnet might be broadcasting the locationof every one of its users to the dhs.
it was what dad had said: you ask the computer to create a profile of anaverage record in a database and then ask it to find out which records in thedatabase are furthest away from average.
the xnet was secure because its users weren't directly connected to theinternet. they hopped from xbox to xbox until they found one that wasconnected to the internet, then they injected their material as unde-cipherable, encrypted data. no one could tell which of the internet'spackets were xnet and which ones were just plain old banking and e-commerce and other encrypted communication. you couldn't find outwho was tying the xnet, let alone who was using the xnet.
but what about dad's "bayesian statistics?" i'd played with bayesianmath before. darryl and i once tried to write our own better spam filterand when you filter spam, you need bayesian math. thomas bayes wasan 18th century british mathematician that no one care about until a96couple hundred years after he died, when computer scientists realizedthat his technique for statistically analyzing mountains of data would besuper-useful for the modern world's info-himalayas.
here's some of how bayesian stats work. say you've got a bunch ofspam. you take every word that's in the spam and count how manytimes it appears. this is called a "word frequency histogram" and it tellsyou what the probability is that any bag of words is likely to be spam.
now, take a ton of email that's not spam — in the biz, they call that"ham" — and do the same.
wait until a new email arrives and count the words that appear in it.
then use the word-frequency histogram in the candidate message to cal-culate the probability that it belongs in the "spam" pile or the "ham" pile.
if it turns out to be spam, you adjust the "spam" histogram accordingly.
there are lots of ways to refine the technique — looking at words inpairs, throwing away old data — but this is how it works at core. it's oneof those great, simple ideas that seems obvious after you hear about it.
it's got lots of applications — you can ask a computer to count thelines in a picture and see if it's more like a "dog" line-frequency histo-gram or a "cat" line-frequency histogram. it can find porn, bank fraud,and flamewars. useful stuff.
and it was bad news for the xnet. say you had the whole internetwiretapped — which, of course, the dhs has. you can't tell who'spassing xnet packets by looking at the contents of those packets, thanksto crypto.
what you can do is find out who is sending way, way more encryptedtraffic out than everyone else. for a normal internet surfer, a session on-line is probably about 95 percent cleartext, five percent ciphertext. ifsomeone is sending out 95 percent ciphertext, maybe you could dispatchthe computer-savvy equivalents of booger and zit to ask them if they'reterrorist drug-dealer xnet users.
this happens all the time in china. some smart dissident will get theidea of getting around the great firewall of china, which is used to cen-sor the whole country's internet connection, by using an encrypted con-nection to a computer in some other country. now, the party there can'ttell what the dissident is surfing: maybe it's porn, or bomb-making in-structions, or dirty letters from his girlfriend in the philippines, or polit-ical material, or good news about scientology. they don't have to know.
all they have to know is that this guy gets way more encrypted trafficthan his neighbors. at that point, they send him to a forced labor camp97just to set an example so that everyone can see what happens to smart-asses.
so far, i was willing to bet that the xnet was under the dhs's radar,but it wouldn't be the case forever. and after tonight, i wasn't sure that iwas in any better shape than a chinese dissident. i was putting all thepeople who signed onto the xnet in jeopardy. the law didn't care if youwere actually doing anything bad; they were willing to put you underthe microscope just for being statistically abnormal. and i couldn't evenstop it — now that the xnet was running, it had a life of its own.
i was going to have to fix it some other way.
i wished i could talk to jolu about this. he worked at an internet ser-vice provider called pigspleen net that had hired him when he wastwelve, and he knew way more about the net than i did. if anyone knewhow to keep our butts out of jail, it would be him.
luckily, van and jolu and i were planning to meet for coffee the nextnight at our favorite place in the mission after school. officially, it wasour weekly harajuku fun madness team meeting, but with the gamecanceled and darryl gone, it was pretty much just a weekly weep-fest,supplemented by about six phone-calls and ims a day that went, "areyou ok? did it really happen?" it would be good to have something elseto talk about.
"you're out of your mind," vanessa said. "are you actually, totally,really, for-real crazy or what?"she had shown up in her girl's school uniform because she'd beenstuck going the long way home, all the way down to the san mateobridge then back up into the city, on a shuttle-bus service that her schoolwas operating. she hated being seen in public in her gear, which wastotally sailor moon — a pleated skirt and a tunic and knee-socks. she'dbeen in a bad mood ever since she turned up at the cafe, which was fullof older, cooler, mopey emo art students who snickered into their latteswhen she turned up.
"what do you want me to do, van?" i said. i was getting exasperatedmyself. school was unbearable now that the game wasn't on, now thatdarryl was missing. all day long, in my classes, i consoled myself withthe thought of seeing my team, what was left of it. now we werefighting.
98"i want you to stop putting yourself at risk, m1k3y." the hairs on theback of my neck stood up. sure, we always used our team handles atteam meetings, but now that my handle was also associated with myxnet use, it scared me to hear it said aloud in a public place.
"don't use that name in public anymore," i snapped.
van shook her head. "that's just what i'm taking about. you could endup going to jail for this, marcus, and not just you. lots of people. afterwhat happened to darryl —""i'm doing this for darryl!" art students swiveled to look at us and ilowered my voice. "i'm doing this because the alternative is to let themget away with it all.""you think you're going to stop them? you're out of your mind.
they're the government.""it's still our country," i said. "we still have the right to do this."van looked like she was going to cry. she took a couple of deepbreaths and stood up. "i can't do it, i'm sorry. i can't watch you do this.
it's like watching a car-wreck in slow motion. you're going to destroyyourself, and i love you too much to watch it happen."she bent down and gave me a fierce hug and a hard kiss on the cheekthat caught the edge of my mouth. "take care of yourself, marcus," shesaid. my mouth burned where her lips had pressed it. she gave jolu thesame treatment, but square on the cheek. then she left.
jolu and i stared at each other after she'd gone.
i put my face in my hands. "dammit," i said, finally.
jolu patted me on the back and ordered me another latte. "it'll be ok,"he said.
"you'd think van, of all people, would understand." half of van's fam-ily lived in north korea. her parents never forgot that they had all thosepeople living a crazy dictator, not able to escape to america, the way herparents had.
jolu shrugged. "maybe that's why she's so freaked out. because sheknows how dangerous it can get."i knew what he was talking about. two of van's uncles had gone tojail and had never reappeared.
"yeah," i said.
"so how come you weren't on xnet last night?"99i was grateful for the distraction. i explained it all to him, the bayesianstuff and my fear that we couldn't go on using xnet the way we had beenwithout getting nabbed. he listened thoughtfully.
"i see what you're saying. the problem is that if there's too muchcrypto in someone's internet connection, they'll stand out as unusual. butif you don't encrypt, you'll make it easy for the bad guys to wiretap you.""yeah," i said. "i've been trying to figure it out all day. maybe we couldslow the connection down, spread it out over more peoples' accounts —""won't work," he said. "to get it slow enough to vanish into the noise,you'd have to basically shut down the network, which isn't an option.""you're right," i said. "but what else can we do?""what if we changed the definition of normal?"and that was why jolu got hired to work at pigspleen when he was 12.
give him a problem with two bad solutions and he'd figure out a thirdtotally different solution based on throwing away all your assumptions. inodded vigorously. "go on, tell me.""what if the average san francisco internet user had a lot more cryptoin his average day on the internet? if we could change the split so it'smore like fifty-fifty cleartext to ciphertext, then the users that supply thexnet would just look like normal.""but how do we do that? people just don't care enough about their pri-vacy to surf the net through an encrypted link. they don't see why itmatters if eavesdroppers know what they're googling for.""yeah, but web-pages are small amounts of traffic. if we got people toroutinely download a few giant encrypted files every day, that wouldcreate as much ciphertext as thousands of web-pages.""you're talking about indienet," i said.
"you got it," he said.
indienet — all lower case, always — was the thing that made pigs-pleen net into one of the most successful independent isps in the world.
back when the major record labels started suing their fans for download-ing their music, a lot of the independent labels and their artists wereaghast. how can you make money by suing your customers?
pigspleen's founder had the answer: she opened up a deal for any actthat wanted to work with their fans instead of fighting them. give pigs-pleen a license to distribute your music to its customers and it wouldgive you a share of the subscription fees based on how popular your100music was. for an indie artist, the big problem isn't piracy, it's obscurity:
no one even cares enough about your tunes to steal 'em.
it worked. hundreds of independent acts and labels signed up withpigspleen, and the more music there was, the more fans switched to get-ting their internet service from pigspleen, and the more money there wasfor the artists. inside of a year, the isp had a hundred thousand new cus-tomers and now it had a million — more than half the broadband con-nections in the city.
"an overhaul of the indienet code has been on my plate for monthsnow," jolu said. "the original programs were written really fast and dirtyand they could be made a lot more efficient with a little work. but i justhaven't had the time. one of the high-marked to-do items has been to en-crypt the connections, just because trudy likes it that way." trudy doowas the founder of pigspleen. she was an old time san francisco punklegend, the singer/front-woman of the anarcho-feminist band speed-whores, and she was crazy about privacy. i could totally believe thatshe'd want her music service encrypted on general principles.
"will it be hard? i mean, how long would it take?""well, there's tons of crypto code for free online, of course," jolu said.
he was doing the thing he did when he was digging into a meaty codeproblem — getting that faraway look, drumming his palms on the table,making the coffee slosh into the saucers. i wanted to laugh — everythingmight be destroyed and crap and scary, but jolu would write that code.
"can i help?"he looked at me. "what, you don't think i can manage it?""what?""i mean, you did this whole xnet thing without even telling me.
without talking to me. i kind of thought that you didn't need my helpwith this stuff."i was brought up short. "what?" i said again. jolu was looking reallysteamed now. it was clear that this had been eating him for a long time.
"jolu —"he looked at me and i could see that he was furious. how had imissed this? god, i was such an idiot sometimes. "look dude, it's not abig deal —" by which he clearly meant that it was a really big deal "— it'sjust that you know, you never even asked. i hate the dhs. darryl was myfriend too. i could have really helped with it."101i wanted to stick my head between my knees. "listen jolu, that wasreally stupid of me. i did it at like two in the morning. i was just crazywhen it was happening. i —" i couldn't explain it. yeah, he was right,and that was the problem. it had been two in the morning but i couldhave talked to jolu about it the next day or the next. i hadn't because i'dknown what he'd say — that it was an ugly hack, that i needed to think itthrough better. jolu was always figuring out how to turn my 2 am ideasinto real code, but the stuff that he came out with was always a little dif-ferent from what i'd come up with. i'd wanted the project for myself. i'dgotten totally into being m1k3y.
"i'm sorry," i said at last. "i'm really, really sorry. you're totally right. ijust got freaked out and did something stupid. i really need your help. ican't make this work without you.""you mean it?""of course i mean it," i said. "you're the best coder i know. you're agoddamned genius, jolu. i would be honored if you'd help me with this."he drummed his fingers some more. "it's just — you know. you're theleader. van's the smart one. darryl was… he was your second-in-com-mand, the guy who had it all organized, who watched the details. beingthe programmer, that was my thing. it felt like you were saying youdidn't need me.""oh man, i am such an idiot. jolu, you're the best-qualified person iknow to do this. i'm really, really, really —""all right, already. stop. fine. i believe you. we're all really screwedup right now. so yeah, of course you can help. we can probably evenpay you — i've got a little budget for contract programmers.""really?" no one had ever paid me for writing code.
"sure. you're probably good enough to be worth it." he grinned andslugged me in the shoulder. jolu's really easy-going most of the time,which is why he'd freaked me out so much.
i paid for the coffees and we went out. i called my parents and letthem know what i was doing. jolu's mom insisted on making us sand-wiches. we locked ourselves in his room with his computer and the codefor indienet and we embarked on one of the great all-time marathon pro-gramming sessions. once jolu's family went to bed around 11:30, wewere able to kidnap the coffee-machine up to his room and go iv withour magic coffee bean supply.
102if you've never programmed a computer, you should. there's nothinglike it in the whole world. when you program a computer, it does exactlywhat you tell it to do. it's like designing a machine — any machine, like acar, like a faucet, like a gas-hinge for a door — using math and instruc-tions. it's awesome in the truest sense: it can fill you with awe.
a computer is the most complicated machine you'll ever use. it's madeof billions of micro-miniaturized transistors that can be configured to runany program you can imagine. but when you sit down at the keyboardand write a line of code, those transistors do what you tell them to.
most of us will never build a car. pretty much none of us will ever cre-ate an aviation system. design a building. lay out a city.
those are complicated machines, those things, and they're off-limits tothe likes of you and me. but a computer is like, ten times more complic-ated, and it will dance to any tune you play. you can learn to writesimple code in an afternoon. start with a language like python, whichwas written to give non-programmers an easier way to make the ma-chine dance to their tune. even if you only write code for one day, oneafternoon, you have to do it. computers can control you or they canlighten your work — if you want to be in charge of your machines, youhave to learn to write code.
we wrote a lot of code that night.