Saturday, November 20, 2010

I Agree with Jessica

1. Guitar (and, to a lesser extent, bass) have monopolized my music practicing time. I don't think guitar is my best instrument, or even the instrument I'm best suited to, but I don't have a lot of time to play music at the moment and I'm spending almost all of it on guitar and bass.

2. Number of times someone offered to sell me drugs in Chicagoland (in all the years I lived there): 0. Number of times someone has offered to sell me drugs in Seattle in less than half a year: 3. Twice weed and once acid. Twice on the Ave, once at the bus stop outside my apartment. People at the bus stop have offered to sell Jess weed also.

3. Also, there aren't nearly as many smokers in Seattle, but they have this annoying habit of lighting up right next to me while I'm waiting for a bus when I'm in a bus shelter with posted No Smoking signs. In one instance I was at 6th and Olive, where there are 6 benches right in a row, and all of them were free but the one I was sitting at. Some woman set her coffee down on the bench next to me, lit up a cig, and started smoking right in my face. srsly wtf ppl omg srsly. w. t. f.

4. I needed a new notebook a couple days ago, and Jess needed one too, so we went down to the U-Dub bookstore to do some serious shopping. One of the notebooks there said, “Hell is other people,” on the cover, which prompted Jess to recall that when she was in library school a bunch of people started wearing shirts that said, “I agree with Paul,” on the front and then some crazy bullshit by the Apostle Paul on the back. And she said she wanted to make a shirt that said, “I agree with Jean Paul” on the front, and, “Hell is other people,” on the back. We did get married for a reason (awww).

EDIT: 5. Oh yeah, one other thing. I wonder if, as smoking has declined, caffeine has picked up in popularity as our “safe” addiction of choice. I have no evidence for or against this, just something rumbling in my head.

Wednesday, November 17, 2010

The horrible first chapter of my horrible novel

“Iiiiiiiiiiiiiiiiii’m a programmer, programmer is my career, I’m a programmer ‘til I die!” Nathan's full, warm bass in song cut through the noise of the 7th floor, the “basement” of Infinite World Marketing of Spokane. Nathan stepped out of the elevator and toward his work area, four small tables pushed together with a set of black roller drawers underneath.

“Or, alternately, until the Chinese eat our lunch and all of our programmers' pie?” Jim responded not in song, but in wry, rapidfire speech. In rhyme, but not nearly in rhythm. “Oh, speaking of, djaget th'email?” There his Chicago dialect came through, like the representative of some crime family (or the Governor's office) asking the mayor, Djaget the papers, boss?

“No, I haven’t checked my email, I just walked in.” Nathan sat down and powered up his computer.

“Big Chinese client has a meeting upstairs today, so, um, don’t display any Tibetan flags.”

Nathan laughed his quiet, thoughtful laugh. Every time an important client visited they had to hide any competitors’ products or logos. This had nearly come to blows last year when one of the data-entry guys had refused to cover a Budweiser t-shirt for a visit from the local Miller distributer. Anyway, there probably wasn’t a big Chinese client. The company, like its home city, had been growing, but ultimately wasn’t of more than regional significance. A spark came across Nathan’s bright blue eyes, behind the metal rims of his glasses. He slid his hand into the top drawer of his desk (bending his knees, always lift with the legs) and pulled out a stack of Post-It notes. He stuck one over the front panel of Jim’s computer. The CD drive popped out.

“'Ey, wut was that about?”

“Nvidia sticker.”

Jim pushed the CD drive back until it got the hint and receded back into the tower. “So?”

“Incorporated in Taiwan, tax purposes. I guess it’s the Delaware of the Pacific Rim.” Infinite World wasn't big enough to be a Delaware corporation, but Jim had read Cryptonomicon, so it landed. “Also, mostly fabbed in Taiwan, board-makers in Taiwan. But, to be fair, they do good business in China, too. A little nationalistic saber-rattling won't get in the way of that.”

An Outlook window popped up on Nathan's screen, then three pop-ups for meetings and tasks coming due. Nathan felt a surge of rage well up from his gut, though his neck, out through his ears. He stetched his arms out and down, extended his fingers (and toes) into wide fans. The stress flows out through your fingers and toes, he’d heard that 25 years ago in high school, and if that was the case, best to shape them like a heat-sink, maximize the surface-area to volume ratio. “I wonder who it was that coded up these alerts. I could drive my ass over to Redmond and...” Nathan's voice lightened. “I wonder if he knows he's the most hated man in the world.” A pause. “Well, the white-collar bougie world with nothing real to complain about.” A laugh. “Seriously, though, Redmond eats its own dogfood, it’s probably one of its own biggest clients, if anyone hates this shit as much as me it's probably someone at the big campus there”

“Microsoft doesn't know shit, can't do shit,” Jim snapped back. “They hire the smartest people outta school and teach 'em ta suck. Forget fucking Outlook dialogs. I got two words for ya. Two-hundred-sixty character path limit. Four words. Twohundredsixty. Character. Path. Limit.”

“Depends how you count them,” added Joe, sitting at the next clump of desks over.

“Every fucking project I run into it. Imagine the poor fucks coding real software. Like at, uh, Microsoft, fer example. Tell me they don't get sick of it. There’s gotta be thirty-thousand individual people at Microsoft that could fix that shit in a day, and working together they can't fix it in twenty fucking years of Windows. A fucking joke.” Jim normally spit out his words in a quick monotone, but when he said, "fucking," he said it deliberately, with a rise and fall, giving his fucking sentences an additional climax. A fuck-ing joke.

Nathan, who had been listening with his eyes closed and breathing deeply, put in softly, “Did you ever read Raymond Chen’s blog, The Old New Thing? That’s the sort of thing he’d write about. There’s probably some —”

“Raymond Chen!?! Fuckin'oly fucking fuck, dude, Raymond fucking Chen. Raymond Chen is smarter than you and me put together, and add in, what, another fucking pod of us code monkeys?” Fuckin', on the other hand, was mashed into the beginning of a word, like a prefix.

“If we’re in pods, aren’t we code whales?” Joe put in.

“All that power in 'is fuckinbrain, workin ferwat should be th'most importan'n' capable software company onthe planet, and whaddoes 'e do? 'E writes a fuckinapologetics blog for their fuckups!”

“I’m not sure I’d call him an apologist exactly. Perhaps an historian.”

“Plumbing the depths of bullshit code from the eighties, like it's less important that it’s bullshit, 'ere today, in two-thousandeight, than why it stinks. You know, pissin' in the street is a longstanding tradition. And, damn, wouldn’t it smell better if we used toilets? But this way his fuckingrandpa doesn’t have to learn how to piss all over again.”

Joe, by this point swiveled around and facing Nathan and Jim, said, “Heh, that sounds like more of an excuse than an apology.”

Nathan turned his chair away from his monitor, through a 270-degree arc, past Joe to face Jim. He paused for a few seconds, smiled serenely, and said softly, “Shut the fuck up, Donny. That’s V.I. Lenin. Vladimir Ilyich Ulianov.”

Math follow-up

I ended up finishing this mathy stuff a bit ago. I realized I had no idea how to integrate secant, but I knew the answer had natural-log-of-tangent in it, so I derived natural-log-of-tangent and used the solution to that to connect everything. I guess I could probably use the derivative to natural-log-of-tangent to figure out the proper way to integrate secant. That might be interesting. I probably could have done all this easily back in college.

Also, at one point Jess was really considering doing NaNoWriMo, and I had some ideas that I wanted to work into a story, so I thought about trying to do it also. Then after about one and a half days I realized that I didn't enjoy writing enough to spend the four hours a day I'd need to spend to accomplish it. Still, I wrote a short chapter of stuff that was pretty OK. I realized as I was going that my three main characters were sort of like the three protagonists in The Big Lebowski, so I ended the chapter with a reference to that... and I'll put that in the next post.

Wednesday, November 10, 2010

Math of the Moment

Every now and then I get the need to do some math... and it reminds me of all the math I used to know and have forgotten. So I try to figure out math problems without cheating and looking at Wikipedia.

Most recently, I was working with some “Mercator” map coordinates. Basically they express a position on the earth in terms of its location on a Mercator projection of the earth. I dug out a formula from our code at work, and it seemed to work, but I wasn't satisfied that the function for the Y coordinate in terms of Longitude was odd (that f(x) = -f(-x)). So I proved that, which was fun. It got me a taste for more calculus.

So then I decided I had to derive the Mercator projection. The Mercator projection is basically defined such that, if the Earth were spherical, at any point on the map the horizontal scale (relating distance along a constant-latitude circle to horizontal distance on the map) is equal to the vertical scale (relating distance along a constant-longitude circle to vertical distance on the map). That wouldn't be too hard, I guess, except that I needed to integrate a secant, and I didn't remember how to integrate a secant, or how to integrate nested functions (because then I could define secant in terms of cosine, which is easy to integrate).

So I had to figure out how to integrate nested functions... which I remembered was related to the product rule for derivatives... which I also didn't remember. I think I've managed to derive that from the definition of a derivative. And that's where I am right now. I hope I'm not down a blind alley, but deriving the product rule was fun either way.

Speaking of which, I wish software folk could use short variable names like mathematicians and physicists. ε. δ. What's so hard about that? Set out the meaning of variables in comments and write code that's readable as code instead of vainly trying to make it read like language? If a modern software engineer invented calculus it would have been independentVariableDifferentialNumeric and dependentVariableDifferentialNumeric. *puke*.

Thursday, November 4, 2010

Tootsie Rolls

Since moving to Seattle Jess and I have noticed that lots of cool famous Internet personalities are Seattleites. For example, the Penny Arcade guys, and the authors of Unshelved. I hear all these people are from Seattle and I wonder where they are in Seattle and what they think of the place, because they don't tend to incorporate much local flavor in their work. Anyway, I don't remember that being the case in Chicago, regularly realizing, “Hey, that guy's from my town!”

What's from Chicago? Both of my guitars, for one thing, as they were both made by Harmony. My dad's old guitar is like this one and my “new” guitar is this one. And someone brought in some extra Halloween candy to work today and I noticed that Tootsie Rolls come from Chicago.

My first thought was that maybe they were made at that big candy operation south of O'Hare. But I punched the ZIP-code from the package into Google Maps and found that they're actually made just south of Midway Airport (not far from the huge rail yard), where there used to be an old car factory (according to Wikipedia).

Tootsie Roll ingredients? Why, they're simple! Sugar, corn syrup, partially-hydrogenated soybean oil, condensed skim milk, cocoa, whey, soya lecithin, “artificial and natural flavors”. So, primarily, sugar, more sugar, and some really bad fat. A true taste of Chicago, if you ask me!