(no subject)

Would you move to Seattle to write software? I think my bike would get wet.

Me vs. On Campus Recruiting

=1= [Awkward Chat]

"When you were at FlusterCo, you wrote..."

"Primarily EJB components, crap like that."

"Crap?"

"Well, the individual pieces, they weren't crap. Just the entire framework. The whole EJB debacle. The ridiculous industry that used peer pressure and free mousepads to convince managers that they need slow web frameworks and giant relational databases in order to put together a site on the web where you can buy boots. That sort of crap."

"Ah. We use that crap."

"You do?"

"Yeah. We're very happy with it."

"Did you get a free mousepad?"

=2= [First "Technical Question"]

"So now that you've seen what this function does, can you write some code for me that might do it?"

"Sure. Do you have a language preference?"

"No. Whatever you'd prefer is fine."

"Okay, I'll do it in Scheme."

"Um."

"Yes?"

"Don't do it in Scheme."

=3= [Second "Technical Question"]

"Let's say you had a series of formulas like 2 + 3 * 4, and you wanted to store them so that you could process it easily. What data structures might you use?"

"Stack."

"A stack?"

"Best just to convert it to prefix notation on the fly, use a stack. Then we can pretend we're an HP calculator. You ever use one of those?"

"What if you were committed to infix?"

"How about I tell you how I'd convert it from infix to prefix, and then use a stack?"

"I'd rather you didn't use a stack."

"I like stacks."

=4= [Second "Technical Question," Continued]

"And what if we didn't want to have all of these if/then statements? What if we wanted to be able to add new functions easily?"

"It's easy to edit if/then statements."

"But if we wanted to add something new..."

"And you didn't want to write a new if/then case."

"Right."

"Well, I suppose you could subclass the object and implement this function separately in each subclass."

"Right."

"And then every time you have an error, you get to check each subclass definition."

"Yes."

"And of course since each of those functions does almost the same thing, we could write all of our error checking and preparation in the parent class."

"Exactly. That's what I'm getting at."

"And then when one subclass works differently, you'll override the parent method and so you won't be sure exactly where you are on the call stack when you get your error."

"No. We would discourage people from doing that."

"Yeah. Code commenting. Maybe you could write in capitals, 'DO NOT OVERRIDE THIS METHOD.'"

=5= [On the Phone]

"Hey, this is K-, from the interview today. I'm delighted to say that we'd like to have you back again to talk more about the position."

Dearest Professor

"Classify all groups of order p3, then write explicit formulas for multiplication of elements, particularly when one of them is a factor group of the semidirect product of two cyclic groups of order p^2" my fat sore ass.

Thank you.

why does nobody like my Sesame Street spec script?

HARRY: Bob isn't going to like it, your being here.

ERNIE: You saying I should leave?

HARRY: Did I say you should leave? Did I make a prescriptive statement? I did not, sir. I made a statement about what Bob won't like. I graced you with a little of my furry blue insight.

ERNIE: It sounded like a threat.

HARRY: You've got a guilty conscience.

THE COUNT appears behind the bar. He speaks with an Eastern European accent, and his eyes are cold and dead.

COUNT: What'll it be?

ERNIE slaps a fifty dollar bill on the bar.

ERNIE: Glass of milk.

COUNT: Just one?

ERNIE: Don't start with me. [He turns to HARRY.] They still call this place Hooper's? The old man's been dead... what, twenty-five years?

HARRY: Bob keeps it just the same.

HARRY motions to a trio of old men playing cards in the corner booth.

HARRY: They like it that way. Same signs, same menus. Abierto and cerrado at the same times. They come to talk old times, smile at Bob, learn how to say "butterfly" in sign language. It's called atmosphere.

THE COUNT places a glass of milk before ERNIE, and slaps down a wad of bills, chuckling.

COUNT: Forty-eight! Forty-eight dollars on the...

ERNIE: I heard you the first time.

HARRY: You show that kind of cash, Bob's going to hear about it for sure.

ERNIE: That's the idea.

HARRY: Not that it's any concern of mine...

ERNIE: It isn't.

HARRY: But this isn't about your old roommate, is it?

ERNIE is silent. HARRY shakes his head and laughs.

HARRY: He was always the smart one, that's for sure. Too smart for this. You think he'd be here for you? Shit, man. He wasn't sentimental like that. He'd adopt a couple more pigeons and call it even.

BOB has slipped behind ERNIE. He has one hand in a pocket, and places the other on ERNIE's shoulder.

BOB: It's been a long time, E.

ERNIE: Eight years, three months and fifteen days.

BOB: Put down the duckie, and let me buy you a drink.

infirmities

You would think that someone taking three math classes a semester would be able to:

1. Remember the sine and cosine addition formulas without rederiving them from Euler's identity.
2. Remember the formula for the volume of a cone instead of just integrating the area of a circle with r going from 0 to h.
3. Multiply a matrix in his head without grunting and making weird hand gestures to represent the dot products.
4. Recall how to integrate by parts without differentiating f(x)g(x) and then using the linearity of integrals.

And yet, I cannot do any of those things.

I sometimes feel like I am faking it.

(no subject)

Fundamentalist Christian cleric Pat Robertson calls for the execution of an infidel.

Funny how you don't see responses from so-called "moderate" Christians condemning assassination and extremist violence. When will they speak out against far right Christian terror? Probably never. But you'll continue to see the media treat Christianity as a "religion of peace," instead of as a death cult whose members are told they'll be rewarded in the afterlife for their unprompted aggression.

This will continue until Christians decide that they love human life more than they love blowing up South Americans.

Boring stuff

I'm playing around with writing a library to do matrix arithmetic in my dinky Scheme implementation. I decided to compute determinants by expanding cofactors, so I wrote this function to get the minor of row n and column m of a matrix (that is, the matrix left when row n and column m are deleted). Since I am treating a matrix as simply a list of row lists:

(define (minor matrix n m)
(transpose (except-nth (transpose (except-nth matrix n)) m)))

If I'd written this in C, it would have been a nightmare of for statements. I like Scheme.