《Homeland》Chapter 6
Advertisement
Joseph-Beth Booksellers is a small chain of huge stores in the midwest. People who are lucky enough to live in a town anywhere near a Joe-Beth already know about it: it's that massive store, open late, with incredible events, a great restaurant, and well-informed helpful staff. Visitors to towns like Lexington, Cincinnati, Cleveland and Crestview Hills may not understand that when they pass by that "Joseph-Beth Booksellers" sign that they should be braking hard and swinging into the parking lot. I mean, all those towns have things to see, but could any be so marvellous as a well-managed, handsomely appointed, well-stocked bookstore? Plus, the last time I signed at a Joe-Beth (Charlie Stross and I kicked off the tour for Rapture of the Nerds at the Lexington store), they took me bourbon shopping afterward, which was well above and beyond the call of duty.
Joseph-Beth Booksellers: 2692 Madison Road, Cincinnati OH 45208, +1 513 396 8960
-------------------------------
I spent the rest of the morning jumping straight into the work with both feet. The previous webmaster, a volunteer, had just gone back to school at Brown, but she'd left behind a neat sheet of passwords and configuration data, as well as information on our network contracts. I figured the thing to do was to conduct an audit of everything I'd be in charge of, checking that it was all where it was supposed to be, doing what it was supposed to be doing. I grabbed a stack of one-side-printed paper out of a recycling box and three-hole punched it, then snapped it into a used three-ring binder I found in a supply closet. I could have used Lurch to take notes -- I'd brought it in, booted into its plausible deniability partition, with all that deadly secret stuff locked away on disk sectors that were indistinguishable from random noise. But I needed to be able to walk and write, sitting down at peoples' desks and getting their names and copying down their network cards' MAC addresses and such, and paper is just easier for that sort of thing. I'd type it all in later.
Every so often I'd look up and see Flor watching me from her desk in the middle of the room. She'd catch my eye and then nod in satisfaction -- at my hustle, I assumed. It made me feel good -- like someone was noticing how I was busting my butt to make a good impression on my first day. I may be a Morlock, but it was nice to know the Eloi were looking on in approval. After talking with Flor, I'd remembered that the Morlocks ate the Eloi, which made the whole analogy a little weird. I wondered if she'd intended that, and if so, what it was supposed to mean.
Joe had swept in around 10 A.M. with one phone pressed to his head and another in his hand, and had been swarmed by about a dozen staffers and volunteers with urgent questions. He clamped one phone between his ear and shoulder and used his free hand to point at people in the mob and then at places they were to wait for him, all the while without losing his place in the animated conversation he was having. As the crowd dispersed, he said his good-byes and dropped his phone into one pocket, then did the same with the other one.
He was a tall, broad-shouldered black guy with his greying hair cropped short. His skin was somewhere between an americano and a macchiato, a few shades darker than the high-necked sweater he wore over comfortable-looking blue-jeans and black Converse. I decided I could dress down for work the next day.
Advertisement
I was in the middle of going through every line of the WiFi router's configuration file, plugged straight into it at the very back of the room. Much as I wanted to jump up and introduce myself, I decided to play it morlock and let him get on with all the urgent stuff he needed to do and try to find a quiet moment later to say hello.
But Joe scouted around the room, spotted me, and said, loudly, "Marcus, all right!" and half jogged straight to me, hand already out.
"Hello, sir," I said.
"Marcus, I can't tell you how glad I am that you're joining us. Flor tells me she's very impressed with you. I'm not surprised. I imagine you've got plenty to do to get up to speed, but please ask Flor to put you in my diary for tomorrow, whenever she can squeeze you in, so we can talk about strategy, all right?"
"All right," I said, making an effort not to stammer. In person, Joseph Noss just radiated charisma, and it made me tongue-tied. Here was a guy who just felt, I don't know, important and smart, and I wanted to impress him, but everything I could think of to say felt too boring to burden him with.
"Good man," he said, and slapped my shoulder before turning on his heel to jog back to Flor's desk, pointing at the staffers he was ready to hear from as he went. They converged in a huddle at Flor's desk and I went back to work.
"Marcus?" someone said from behind me, a few minutes later.
I looked up, and into a semi-familiar face. It was a guy about my age, or maybe a little younger, with a scruffy beard, and he was grinning so widely I thought his head would fall off. I recognized him from somewhere, but I couldn't think where. I decided I'd try to fake it. I stood up and shook his hand. "Hey, man!" I said. "Great to see you again!"
He clapped in uncontainable delight. "Dude, I can't believe it's you. Are you the new webmaster? Really?"
"Yup," I said. "Sweet gig, huh?"
He shook his head furiously. "No. Way. I can't believe it! Marcus Yallow is our webmaster? Oh man!"
This was more familiar territory -- someone going all gushy and me not knowing what to say in response. Been there, done that, still don't know what to do when it happens. "So, uh, what have you been up to?"
"I'm the swag barista," he said, thumping his chest. He was wearing a SAN FRANCISCO NEEDS NOSS shirt, done like an old-timey sci-fi movie poster, with a giant Joe standing astride the Golden Gate bridge. "I design the T-shirts and posters. I try to do a new one every couple days, and screen them on demand. Keep it fresh, mix it up, you know? One thing I wanted to ask you about was whether you could put up a Threadless clone for the website so I could do little shirt-community for all the Nossers out there?"
"Uh," I said, "yeah. Sure, why not?" We were running the site on OpenCampaign, which was a free mod of Wordpress designed for election campaigns. It could run Wordpress plugins with no additional work, and the one that was based on the Threadless user-generated T-shirt site was one I'd looked at before. It didn't seem like it'd be too hard to run.
"You are such a dude. God, I can't believe this! Wait until I tell Nate. He is going to flip out."
Advertisement
And that's when I remembered him. "Liam?" I said.
"Yeah, of course! Liam! I've been volunteering here all summer! Ever since I saw Joe's July Fourth video. That stuff was straight-up inspiring, yo."
I had friends who ended their sentences with yo, but always ironically, making fun of the people who were trying to talk all "street" and badass. Liam wasn't being ironic. He really did end his sentences with yo.
"Yo," I said, then felt mean about it and gave him a friendly slug on the shoulder. "Liam, man, I didn't recognize you at first with the beard and all. How cool that we're going to be working together?"
"Me too. Look, do you have lunch plans? Want to get a burrito? I know a great place up on Valencia --"
"Sure, burritos sound great," I said. I hefted my notebook and said, "I'd better get back to work if I'm going to get time for a lunch-break, then."
He did a couple of dance-steps on the spot, then gave me a surprise hug, a real crusher that involved lifting me a couple inches off the floor. "See you at lunch!"
Once upon a time, I'd been part of a tight foursome of awesomely close friends. Darryl, Jolu, Van, and I had done everything together since we'd been little kids. But after the whole Xnet thing, well, one thing happened and then another. Van and Darryl started dating, and Van didn't like Ange at all (and there was all the weirdness about the fact that she'd been secretly crushing on me, which loomed up like an invisible wall whenever we saw each other). Darryl went off to Berkeley, and we'd seen each other a little at first, but between classes, Van, and his psychotherapy for all the crazy nightmares and freak-outs he still had thanks to the horrors of Gitmo-by-the-Bay, we barely had time to say hi. Jolu, meanwhile, had graduated from his job at Pigspleen to a sweet gig as a programmer on a startup that was commercializing municipal data, cranking out services based on the feeds put out by City Hall. He had a ton of new friends, including a bunch of intimidatingly smart civic hackers, and when they were all really going at it, I could only understand about half of what they said. We didn't see much of each other.
And then there was Ange, who was the world's most perfect girlfriend: funny, smart, exciting. She liked the same movies and games that I did, liked the same books and music, and was always up for keeping me company when she wasn't at school -- she'd gotten into SFSU for communications studies and was acing her courses. So even though I missed my friends, it wasn't like I was actually lonely or anything -- so somehow I never got around to calling them or IMing them or poking them and seeing how they were doing.
But it had been a long time since I'd had a regular gang of friends, a little posse of my own. And I missed that.
Liam's friend Nate joined us for lunch, taking BART down from his mom's place downtown. He, too, gave me a crushing hug, and then he and Liam exchanged one of the same. These guys were as Californian as they came, and they loved their physical contact. I'd been born and raised in San Francisco, but my mom was British, and so I just hadn't gotten into the whole super-huggy scene ever.
We ended up at my favorite burrito joint, and I got tongue, which Ange had convinced me to try and which turned out to be amazingly tasty, provided you didn't think too hard about the fact that you were, you know, eating a tongue. Liam ordered one, too, and raved about how good it tasted and how he wished he'd tried it sooner.
"I still can't believe you're our webmaster," Liam said. "That's like, I don't know, Bruce Lee being your bouncer or something."
"Or Jack Daniels being your bartender," Nate said. He had the same beard as Liam.
"I think Jack Daniels is dead, or made up," Liam said.
"Okay, it's like Steve Wozniak fixing your PC," Nate said.
"Dude, old school," Liam said. "Woz is the guy who built the first Apple computers," he said to me.
"Yeah," I said. "I know."
"Oh," Liam said. "Yeah! Of course you do! Listen to me, huh?"
I wanted to find some way to politely say, "Hey, Liam, don't worry about impressing me, okay? I already like you, and all this stuff is just making you sound kind of desperate." But every way I could think of saying that would make Liam feel like a loser and make me sound like a dick.
"What are you up to, Nate?" I said, pointedly changing the subject.
He shrugged. "Being unemployed. Polishing my nonexistent resume." Another shrug.
"I know how that feels," I said. "I was unemployed until this morning."
They both boggled at me.
"No way," Liam said. "How could you be out of work? I assumed they'd poached you from some rad start-up or Google or something."
Now it was my turn to shrug. It seemed like unemployment talk always involved a fair bit of shrugging and looking away. "Dunno," I said. "I dropped out of school months ago, couldn't afford it anymore, and I've been looking ever since."
"Man," Nate said. "That's crazy. If you couldn't find work, what hope do I have?"
I didn't have an answer for him. I was starting to actually feel guilty about having a job, and I'd been employed for less than a day.
We finished our awkward lunch and went back to work, and I went back to mapping out the network and figuring out what needed fixing and what didn't, and I didn't even think about the torrent I'd downloaded the night before until I got home and rebooted my computer into my secret partition and the machine reconnected to IPredator and started seeding the file again.
The torrent contained a huge -- HUGE -- zipfile that was encrypted. Of course, I had the key. And somewhere out there, Masha was being held captive -- or worse -- and I was pretty sure that she wanted me to dump the file and the key now.
I really wanted to talk this over with someone. Ange, of course. But she was still in class and wouldn't be out for hours. And this wasn't the kind of subject I wanted to talk about over the phone or email or IM or -- well, I kind of felt like we should talk about it in a soundproofed room at the bottom of a mineshaft, but I didn't have either of those things.
I had been avoiding thinking about this for nearly thirty-six hours now. I'd had good excuses: I'd been blown up. I'd been doped up. I'd been asleep. I'd gotten a job. I'd had my first day at work. But I'd run out of excuses for inaction.
But wait! I just thought of a new excuse: it would be insane to have the decrypted file sitting on my drive, even on a secret partition. I couldn't get over the thought that a snatch team could break down my door at any time and haul me away. If I was loaded up on my "secret" partition at that point, it'd be easy for them to see what I was up to.
I decided I needed to build a few more layers of security into the system before I started to handle this info-plutonium.
First things first: go shopping for a virtual machine. Let me explain that, because VMs had become my best friends lately.
You can write a program that works just like your computer's microprocessor. You designate a file to act as your virtual computer's hard drive, and then you load it up with an operating system and any programs you want to run. When you "turn on the computer" -- that is, when you run the program -- it looks at the virtual drive and loads in the virtual operating system and follows all the instructions it finds there, passing them on to your real computer, which is running underneath all this.
It used to be that the main use for VMs was to simulate old computers on new ones -- so you could simulate some ancient game console, an old Game Boy or whatever, and play all the vintage games. There's a mega-huge games VM called MA.M.E, the Multiple Arcade Machine Emulator, that can play pretty much every old game, ever.
The key word here is "old." That's because running a pretend computer inside a real computer is slow. But computers double in speed every eighteen months or so -- this is called Moore's Law, for Gordon Moore, who helped start Intel. That means a brand-new computer will be about sixty-four times faster than a computer you could buy for the same money six years ago, which means that so long as you're working with old VMs, you probably won't even notice the lag.
But lately, computer manufacturers have been figuring out how to design chips to run VMs more efficiently, so the gap between a VM and the real computer it runs on keeps shrinking. This means that it's easier than ever to try out new operating systems and new programs. If there's something you're really paranoid about, you can just run a free VM program, install a free OS on it, and run anything you want in that little sandbox. Nothing that happens in that VM can affect your real computer -- not unless you give it privileges to see your real hard drive and real files. The VM is like a head in a jar, and you can tell it anything you want about what's going on in the world and it'll have to believe you.
You can download hundreds -- thousands! -- of VMs from the Internet and just fire them up as you need them. Want to turn an old computer into a router or a file server for an hour or a day or a year? Various sysadmins have bottled up perfectly tuned VMs that run any specialized function like that out of the box. There are even user-reviews to help you figure out which ones are the good ones. And since it's all built on open, free code like Linux, anyone can modify, improve, and redistribute them.
I went hunting for an extra paranoid VM, and I found one. It started with a copy of ParanoidLinux, my own favorite distro, and nuked any programs and services you didn't need, to make it all the more bulletproof. ParanoidVM also stored its user files in TrueCrypt plausible deniability chunks, so there was no way to tell from the forensic examination of the disk how many users there were and how many files they had.
That was good for starters, but I wanted a dead man's switch: something that would cause the whole thing to lock itself and shut down if I didn't do something every fifteen minutes. So I wrote a little script that hit me up for a password every quarter hour. If I didn't enter it, it would issue a system-wide command to kill any VMs that were running, then erase itself. So if a snatch squad were to nab me, all the work I'd done on the files would disappear unless they could torture the password out of me in a quarter of an hour.
They'd still have the key and the torrent file, but they wouldn't know whom I'd shown anything to or what we'd talked about. All I'd have to do is key in my password every fifteen minutes, and not go off to the toilet or forget and go to dinner, or I'd lose everything I'd worked on up to the last save-point.
There's a technical term for this kind of security work: yak-shaving -- wasting time doing silly chores to avoid something harder and more important. There was an old essay I liked about working for Google by a hacker called Dhanji Prasanna, which talked about "shaving the entire yak pen at the zoo, and pretty soon traveling to Tibet to shave foreign yaks you've never seen before and whose barbering you know little about."
That's the territory I was heading into. It was time to decrypt the file.
It had been a while since I'd decrypted an encrypted ZIP file with a very long password. There was a specialized command you could use to specify that the password was in a file, and I couldn't remember it at first. I looked up how to do it. I did it. The list of files scrolled past faster than my eye could follow. Lots of files. LOTS AND LOTS of files.
810,097 files.
What had Masha said? Eventually, you come across something so terrible, you can't look yourself in the mirror anymore unless you do something about it.
That was a lot of dirty laundry, yo.
Advertisement
Omniscient Reader
Only I know the end of this world. One day our MC finds himself stuck in the world of his favorite webnovel. What does he do to survive? It is a world struck by catastrophe and danger all around. His edge? He knows the plot of the story to end. Because he was the sole reader that stuck with it. Read his story to see how he survives!
8 395Sinistea in Stardew
Pokemon/Stardew crossover ~ Georgie is a child offered up in the shrine of selfishness by her parents and she can't remember anything in her life other than being a servant to the emerald witch. But she does know who and where her parents are. They just don't know her. So she leaves offerings by their windowsill, wishing them well.
8 73Unstable [Pokémon Fanfic] (Complete!)
"Eevee, the Evolution Pokémon. Thanks to its unstable genetic makeup, this special Pokémon conceals many different possible evolutions."Funny, because an Eevee is unstable, everyone wants it. But because I'm unstable, my family hates me. But it's not even true.They shouldn't hate me. They should love me! I helped them out! I saved all of us! And besides, the judge said I was innocent.It's him! He should be the one no one cares about. He wants to kill me! I know it, so don't try and tell me otherwise.
8 205Searching for Safe Heaven
People envy the power which one possessed, but they forget the pain and resposibility the power bring to the possessor. Let's see the journey of some people who wants to brekthrough this pain and burden of responsibility
8 137Another World: Scientist
This is the story of a scientist in another world filled with magic and everything else fantasy. We shall see how he survives, reacts and explores this world bit by bit for not everything... Shall go right.
8 151UNBROKEN | JON SNOW
"AND DO I HAVE YOUR LOYALTY JON SNOW?" "YOU ALWAYS HAD IT, PRINCESS"A VIPER HEADS NORTHAND FINDS HERSELF DRAWN TO A CROWGAME OF THRONES S1-S8 AUJON SNOW X OC#3 martell (nov. 2020)#2 Martell (dec 14 2020)#1 martell (dec 16 2020)#1 housemartell (dec 26th 2020)#4 asongoficeandfire (may 2nd 2021)#2 jonsnow (may 30 2021)
8 113