Aphyr

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9

On this page

19 August 2007 Verizon DNS Spoofery
19 August 2007 Updates to Sequenceable
22 September 2007 Excerpts from the Reports of an Assassin
11 October 2007 Fall Term
22 November 2007 Process Monitoring with Ruby
7 December 2007 Unix Wizard
13 December 2007 Unix Wizard 2
23 December 2007 IRC Client
27 December 2007 Firefox Memory Leak of Doom
12 January 2008 Excerpts from the Journal of an Assassin: Amy
13 January 2008 Excerpts from the Reports of an Assassin 3
17 January 2008 Assassins, Broomball, Class
26 January 2008 English 324: Applied Hip-Hop Analysis
10 February 2008 Motion Through Time
20 February 2008 Minimizing Sports League Forfeits
1 March 2008 Skill Set

Verizon DNS Spoofery

Verizon's Site Finder redux got you down?

aphyr@unstable:~$ dig foobar ; <<>> DiG 9.3.4 <<>> foobar ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36752 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;foobar. IN A ;; ANSWER SECTION: foobar. 0 IN A 66.150.2.134 ;; Query time: 46 msec ;; SERVER: 68.238.128.12#53(68.238.128.12) ;; WHEN: Sat Aug 18 18:54:10 2007 ;; MSG SIZE rcvd: 40

Verizon's DNS servers now helpfully remap DNS queries for some types of nonexistent domains to a helper page: vznassist.infospace.com. That's great, except for a few small problems, like breaking the internet. It looks like they haven't rolled it out to all customers yet, since my friends on FIOS still have normal DNS. For the meantime, I've switched to Level 3's (anycast) servers: 4.2.2.1 and 4.2.2.2, which still return the proper NXDOMAIN response. :-/

Updates to Sequenceable

I've updated Sequenceable with new code supporting restriction of sequences to subsets through some sneaky SQL merging, ellipsized pagination ("1 ... 4, 5, 6 ... 10"), and proper handling of multiple sort columns.

Excerpts from the Reports of an Assassin

O battle-scarred Guildmistress!

I engaged and killed a redheaded tall person in the CMC lab. I left two taped nerf darts, black with orange tips, and Kennedy's grenade.

I then returned to Nourse, where I came up the stairs to third only to find myself in the middle of a firefight--Kristine and Reid firing from the lounge, and Grace, Berlinm, and Brucenta on the other end of the hallway. They retreated to the south stairwell, Kristine, Reid, and I advanced. I came down to second, and moved to the bottom end of the stairwell. I killed Berlinm and Brucenta with two perfectly placed nightfire shots to their respective breast and stomach, and engaged Grace at length.

Her tactical acumen was clearly evident, as she fired off salvos of rubber bands at my feet. Swiftly dodging each volley, I returned fire, missing her narrowly several times. Finally Kristine and Reid bravely threw themselves onto the unrelenting arrows of misfortune, sacrificing their love for the good of the Nourse cause. I ran swiftly up the stairs after she had unloaded her last rubber bands, and delivered the coup de Grace to her suddenly vulnerable chest.

Her screams of abject terror still resounding in my memory, I shared tales of triumphant adventure and misfortune with my largely now-deceased floormates, and retired to bed.

Yours,

--Aphyr

P.S. I'm sorry I killed your roommate. ;-)

P.P.S. If this tale of high adventure and glory did not satisfy your tastes and therein earn my pardon for accidental death of a civilian, O Guildmistress, then I fear my cause is lost indeed.

Our esteemed and glorious Guildmistress,

It is with a sad heart that I must convey to you this most recent news: I have been fatally shot in the side by an Enforcer. At breakfast in the LDC, I noticed a very wary Nate leaving the dining hall. I sat down at a far table, planning to don a mask after eating and induce the inevitable demise of one Mr. Morrow, his eponymous occasion having finally been reached.

Before being able to put my plans into action, however, Nate returned, wearing an ominous mask and wielding a fully loaded Maverick. I leapt to my feet, ran around to the upper dining hall, and drew my concealed lightsaber. Bullets were useless against this fearless oblivion personified, and as I blew through the heavy wooden doors at the entranceway, I felt his inhuman breath chilling the very air around me. Knowing my end was near, I duck, spun quickly, and made a cut across his arm, but alas, it was too late! His pistol had already fired, dispatching shards of deadly foam and rubber into my lungs.

The medics say it is too late for me: I wish these last words to reach you, O dark princess of carnage, and evoke within your paranoid heart echoes of the deftly vengeful spirit we Assassins all strive to attain.

Yours,

--Aphyr

Fall Term

After six months, I've finally tested for pre-third kyu. Sophie was amazing, practicing techniques endlessly, putting up with hundreds of bad throws, and smiling through it all. Thanks to good teachers and hard work, the test went beautifully. I'm really happy about the whole thing: techniques feel more natural, timing comes easier, and now that it's over, I can take more time to work with beginners! There are a couple of new students who are putting in a lot of hard work, and I'm really excited about how fast they're learning. I hope some stay!

Being treasurer has been an adventure this term. I finally got the budget figured out... kind of... and then the test came! Proofreading all the paperwork then accounting for various fees and forms took several hours last night, but I think it's finally in order. Now that I've fumbled my way through this test, I think the next ones are going to go a lot better.

The physics ultimate team, Physbee, is still undefeated! The last few games have been spectacular: playing an hour before dusk, the light rolls over the clouds and sweeps over the whole campus. I wish I had real shoes, though: much as I love my hiking boots, they are not the best for sprinting. ;-) Maybe I'll try and get some this weekend.

Classes are, as expected, pretty hardcore. I'm taking Psychopathology, Math Structures (really, proofs), and Atomic and Nuclear Physics. I'd say A&N is hard, only after Bill's classy/compy courses, every other class feels somehow like a relief. Still, Olin is starting to feel like home again: last Monday, I was in the lab until 4:30 AM. Error analysis is, well, the hardest part of everything. The cool thing is that our labs are pretty close to "real science": we've replicated the Millikan oil drop and Rutherford alpha scattering experiments, and actually got decent results from them! I think it's totally awesome that you can sit down, play with an oil spritzer and a voltage source, and work out the charge of an electron. :-)

Some interesting software projects have been on the back burner during all of this: a class-oriented Ruby interface for working with various LDAP directory implementations, and a backup system I'm calling Archivist. More on those this winter, when I have time to really talk about them.

UPS still has my computer, but I think the insurance stuff is finally going through. Now I just have to fix the damage they caused. I am never shipping that box again.

For midterm break, I'm headed out to Madison again: going to get a lot of psych reading done, and hopefully have a good time dancing! Before that, though, I've gotta get structures HW out of the way, and get started on this electron diffraction analysis. Over and out!

Process Monitoring with Ruby

It looks like there's a catastrophic memory leak in the Rails app I wrote last summer, and in trying to track it down, I needed a way to look at process memory use over time. So, I put together this little library, LinuxProcess, which uses the proc filesystem to make it easier to monitor processes with Ruby. Enjoy!

Unix Wizard

For the last few days, I've been drawing little sketches on my whiteboard, regarding the various goings-on at work. My boss Laird suggested that I put them online, so here they are!

On Tuesday, I was fixing the file transfer box; an apt upgrade had updated some libraries that SFTP relied on, which meant rebuilding the chroot environment with the help of ldd.

unix_wizard_1.jpg

Wednesday was largely devoted to adding new check scripts and data sources to Cacti, for graphing the mail relay queues, load averages, and so forth.

unix_wizard_2.jpg

Yesterday I cleaned out our very full file and download servers.

unix_wizard_3.jpg

And today, I came into the office to discover one of the ESX servers had decided that four of its six disks has suffered irreparable damage; it shut down the entire array to prevent data loss.

unix_wizard_4.jpg

Lucky for us, the RAID controller turned out to be lying, and copying the array config back from disk fixed everything.

Unix Wizard 2

This week, I spent a long time mucking about in the mail relays. Freshclam skipped over 8 of the 9 mirrors it knew about, and the remaining one was down, so it spun for an hour trying to fetch new virus definitions. While it was busy with that, clamd woke up, tried to refresh the database, couldn't acquire the lock (since freshclam had it), and shut itself down. That broke the two clamdscan processes that amavisd-new was using, and 6000 messages piled up in the Postfix incoming queue. I managed to get the whole mess resolved with the help of debian-volatile, which provides rolling stable packages for ClamAV and other frequently-changing projects. I also put in place more comprehensive monitoring for Cacti and Nagios, so next time the queues explode, we'll know about it sooner.

unix_wizard_5_small.jpg

The upgrade to ClamAV prompted me to go through and fix all of amavisd-new, including making it talk to SpamAssassin again. The upside is that all incoming mail is now thoroughly filtered for spam and viruses before hitting our Exchange servers, which really cuts down on load and junk in people's inboxes.

unix_wizard_6.jpg

This morning was tough! I accidentally knocked Brian's bottle of Coke right into his laptop keyboard. Again, man, I'm really sorry! Right after that, I spent an hour writing and debugging a memory check plugin for Nagios, then promptly forgot which box I was on and overwrote it with the broken plugin I was testing out from NagiosExchange. Had to rewrite the plugin from memory.

unix_wizard_7.jpg

Luckily, work has smoothed out a little since then, and the rest of the day has gone okay. Outside of the office, life is going great! Looking forward to maybe going to the Blue October concert at the Crystal Ballroom tomorrow night!

IRC Client

I got distracted from writing my backup system and started an IRC client... argh, why are the interesting problems so hard to stop working on? I essentially wasted my whole weekend on this.

On the other hand, it's pretty cool. :D

colors.png

Firefox Memory Leak of Doom

A few minutes ago, I realized my disk was paging when I ran Vim. Took a quick look at gkrellm, and yes, in fact, I was almost out of swap space, and physical memory was maxed out. The culprit was Firefox, as usual; firefox-bin was responsible for roughly a gigabyte of X pixmap memory.

So I spent some time digging, and realized that I'd had a window open to the Nagios status map for a few hours, which includes a 992 x 1021 pixel PNG. The page refreshes every minute or so. So I closed Firefox, brought up xrestop, opened the status map again, and watched. Sure enough, X pixmap usage for Firefox jumped up by about 2500K per refresh. In the last 10 minutes or so, that number has ballooned to roughly 50MB.

What gets me is that this is the same image being loaded again and again. It's not just the back-page cache--it looks like Firefox is keeping every image it loads in X memory, and it never goes away: closing the tab, closing the window, clearing the cache... it looks like nothing short of ending the process frees those pixmaps. :-(

Excerpts from the Journal of an Assassin: Amy

Moving in the early hours of the dawn is not unfamiliar to the contract killer, especially when innocent lives (e.g., his own) are at stake. Carls are at their most vulnerable just after waking up, before the natural process of caffeine induction can enervate the senses and bring new alacrity to fuzzy neurons. Thus I found myself walking through the corridors of 3rd Nourse at 10:15 on a lazy Saturday morning, with a pair of rubber band pistols in my bathrobe's pockets.

I knew the girl had it out for me last night; she and her partner, Ross the Toss, had been stalking up and down my hallway all last night, weapons out. Who else on the floor could they be gunning for? Luckily, I'd had some dealings with this shady character before, and knew a few things about her.

Amy. Amy McGrew. Flinger of a Thousand Deadly Blades. Her nigh-inexhaustible supply of edged armaments made her a foe to be reckoned with. I heard she took down a man in Musser once. By the time the fight was over, Campus Security and all of NoPo's men couldn't put Humpty together again. She slices and dices so fast, you couldn't find her equal if you watched late-night infomercials for a month.

Lucky me, bullets are faster than knives.

I had two things going for me that morning: first, that Amy always sleeps with a weapon, meaning I had the right to defend myself and my partner without fear of enforcement, and second, that living in a triple meant more traffic in and out of the room. That was my in; a visitor last night had forgotten to lock the door, and so it was that I creaked the door open and softly padded to her bed. She was on the top bunk, wavy brown hair and unaware features a picture of innocent repose. It'd be a shame to take her life this way, but she knew what she was getting into when she decided to play the game.

I placed my hand on her shoulder, raised my pistol to her heart, and whispered softly "Good morning, Amy."

Excerpts from the Reports of an Assassin 3

Dear Duchess of Destruction,

The last two days have seen the death of many assassins. On Saturday, after Open Mat, I saw Mr. Daft Hands himself pass by my table in Sayles. As he climbed the stairs into the computer lab, I quickly removed my jacket and wrapped it around my head: a suitable improvised mask. Moving as quietly as possible, I snuck into the lab and dispatched halla with two shots through the cervical vertibrae.

Figures nobody was there. A kill like that is too good to be true, and when the smoke cleared, and I saw nothing but a smashed iMac smoldering on the desk, I realized my mistake. I mean, I've got a condition. I get confused sometimes. And seeing Hall's ghost... just meant it was time to take my pills.

Turned out my partner, Grace, had taken out both Hall and his partner, Wakeham. Clever girl. Walked right into their unlocked Musser double, and shot them both. "I'm pretty sure you can't do that," one of them said. "Would you like to call my roommate, the guildmistress? We can validate the kills right now, if you'd like," she replied, cooler than a certain man in city politics who knows he's got every juror bought off.

But Grace got careless. "Stupid, stupid, stupid," she wrote in that beautiful 7-bit encoding that always made me smile. She was ambushed coming back from the restroom, only a few feet from her room door. "They're the men with the golden guns," her final e-mail said. Not much of a clue to go on.

Drag enough people along Division street, though, and you'll find some answers. Garrett Miller. A stalkernet photo was all I needed. Oh, and watching him sit down next to his recently eliminated partner at the LDC. I ducked down from the table, crawled over to the upper level of the dining hall, and put on my mask again. In a crowded environment like this, I couldn't take any chance of being recognized. I won't let you down, Grace.

Luckily, I found a spot where a concrete support beam blocked his view of me. I jumped over the dividing wall and landed in a crouch on the floor. Applause from half the dining hall. I waited for the attention to fade, and keeping low, made my way up to the pillars just ten feet from Garret's table. Only one chance to get this right. I rose up, jumped up onto the table, and dove for my target, pistol blazing in one hand, knife ready in the other. He didn't even have time to react, just gazed up at me, astonished. With that team out of the way, I knew Ross would be coming for me next, and left through the back way.

Grace... I wish you could have seen it.

That night, I turned my attention to my new targets: Corey and Nathan. Formidable men on their own. Together, well... I just didn't want to think about that. Nathan was the only assassin to outrun me, and I knew I couldn't take him on in a straight-up fight. Corey's exploits are the stuff of legend. I heard that once, trapped in his room, he jumped out of the second story window, got some friends, and came back up the stairs to ambush his attackers from behind. Not one of them survived.

I found Nathan's roommate playing Assassins Creed in the 4th Watson lounge. He left the door unlocked. I left them a gift under their bed: .25 kg of cyclotrimethylene-trinitramine. As of 3:14 and 15 seconds this morning, Watson 410 was an oven rapidly preheated to "conflagration".

Nathan down, only Corey to go. As I rounded the stairs onto 2nd Musser, I walked straight into him. "Hi Corey!" I welcomed him cheerfully, and kept right on walking. I heard him bolt back into his room and lock the door, and silently cursed that I hadn't shot him then and there. Still, there might be some way to salvage this mess.

I ducked into the other hallway, and waited for a few minutes. Nothing. I figured I'd check the door and call it a day, but then I saw it--he was standing in the lounge, next to the sink, talking to his residents. Moving on blind reflex, I drew both pistols and emptied 8 rounds into the room. He didn't have time to bring his Nerf pistol up before I ducked behind the corner for cover. "Corey, you died!" His floormates were shocked.

Walk down the right hallway in Musser, and you can find anything.

Assassins, Broomball, Class

Brief update, as reading is tearing my life into tiny shreds right now. I died in assassins, after effecting a fifth kill in Burton. Decided the first Aikido Broomball game was worth going to, even though I knew Kevin and his partner would probably be there. I wasn't killed at the game, but Henry Keiter waited in the trees outside the Libe for the whole game, tailed me home by running the long way around the Olin-Hulings-Mudd complex, and met up with me at the entrance to Nourse. I had time to block his 10-shot, but was exhausted from a hard game, so I was too slow. Henry went on to test his luck against Bendikson in a re-enactment of the Princess Bride iocaine powder scene, featuring two goblets of juice, one with tabasco sauce as a deadly poison. Man, those guys are winners at this game. :-D

Class has been interesting: quantum is tearing my brain to tiny little pieces, metaphysics is alternately interesting and infuriating, and psych of prejudice is absolutely fascinating. Lots of cool stuff about stereotype formation and metacontrast bias, but I won't write much right now--maybe a paper or two to come later.

Broomball has been absolutely awesome: Reid and I are on four teams each, this year, and that means 1-3 games per night, on top of 11-14 hours a week of Aikido training. I haven't been this sore in ages, and it feels great. The new liner gloves are holding up great and keeping my hands warm (thanks Dad!), and I even splurged and bought an Underarmour shirt as a base layer. The first game has convinced me it was worth the money: the fabric is warm (I was comfy with it and a fleece at -17 on the ice), breathable, and doesn't get snow and ice stuck in it. On the other hand, I think the fit is designed for people with much thicker pectorals than me. Ah well, another reason to keep up on those pushups! :-)

Justin's visiting this weekend, which means a packed schedule! My plan is to rush the philosophy reading tonight, finish up my REU application paper tomorrow morning, and then work through quantum HW until dinner time. Saturday is open mat, shopping (it'd be nice to get a second pair of shoes, cause these hiking boots are heavy), and then Ebony, which apparently half my floor is in! So yeah, here goes!

English 324: Applied Hip-Hop Analysis

(Sharon sits down next to Matt)

Sharon: Hey Matt, how's it going?
Matt: Not bad, I'm really excited about this course!
Sharon: Yeah... I mean, it's the shortest class description I've ever seen: "English 324: Applied Hip-Hop Analysis - We be deconstructin', yo!"
Matt: So terse, yet enigmatic! Hey--did you hear the Shakespeare lecturer last night? He did half the show in drag, and nobody could tell, because he--

Professor:
Good morning all, please take a seat
I'm professor Stevens, and for this I'll need a beat;
Literary analysis of hip-hop's the class,
But realistically we're here for kicking names and taking ass.
As it's the first day, we'll start with something easy
Sharon, please read from the excerpt on page one-fifty.
Sharon: ... Um... ahem... Mike Shinoda, of Fort Minor, in "Get Me Gone":
After that I made it a rule
I only do e-mail responses to print interviews
Because these people love to put a twist to your words
To infer that you said something fucking absurd
Oh, did I lose you at infer?
Not used to hearing a verse that uses over first grade vocabulary words?
People used to infer that we were manufactured
Professor:
Now comes the part we're best at in English
We make an argument and ram it like a shish-
Kabob through shoddy language and tumescent prose
My thesis, then, is what I want you to suppose.
When Shinoda uses the word "infer",
His choice of language is poor and
Throws us a lure
That his diction's unsure.

(Matt raises hand)

Matt: I think that it's entirely possible Shinoda's just misunderstanding the meaning of the word here; certainly his--

(Professor and Sharon stare at Matt in worried disbelief)

Matt: --diction is somewhat unclear
For in his first line he tells us quite near
That the interviewers falsely implied his career
Was fake; that sort of agency doesn't mesh with "infer"
So it's clear that his choice of words is disturbed
The man just can't write, it's a laughable stink!
He'd better step up if he wants us to link
His media, his message with intelligent think!

Professor:
Sharon, if I may beg you to flatter
My interest; please share your thoughts on the matter
I want words to clatter and mix like cake batter
Smashing Matt's argument to pieces that shatter.

Sharon:
I agree with you Matt
The diction's absurd
But you've got to look past the flat
Mat of ratted and tattered words
Into the deeper construct of post-structuralist norms
There are no underlying forms,
No inferrable swarms
Of congruent ideas labeled by a slurred
Blurred and unformalized word
When Shinoda says "infer" it's a contradiction in terms
That's the true message for us to learn
Through introspection he affirms and confirms
That arguing over meaning isn't feasible;
Only in context are those inferences reasonable.

Professor:
Take a shot, Matt, here's your chance to show off to the class
C'mon, pop a cap in her metalinguistic ass

Matt:
You know what? Fuck your post-structuralist diploma
You're missing out on the key point of Shinoda
Which isn't the absence of concepts right under me
The selection, perfection and subsequent rejection
Of meaning through useless semantic inquiry
It's the binary opposition of "infer" and "imply"
Which gives rise to a structure worth giving a try
Shinoda's leaving a puzzle for us to recognize
If you step back and think for a second you'll find
That our own identity as intelligentsia elite
Has given us cred you can't find on the street!
So pack your Focoult and get the hell out
Your model's worth nothing when it comes to the shout!

Motion Through Time

One of the things we've been discussing in Metaphysics this term has been the problem of motion through time, and whether or not Russell's at-at theory sufficiently explains our everyday perception of change as occurring through time. Meanwhile, in Quantum Mechanics, we've been talking about the Hamiltonian operator as the generator of translations through time, analogous to the momentum operator generating translations through space.

I've got two weird ideas at the moment. First, momentum and position space are Fourier conjugate pairs of each other: you can convert states between them with a symmetric Fourier integral. I wonder if a similar relationship exists between the energy basis (or some other space related to the Hamiltonian) and time.

The other question is whether the perception of change in time really involves any real change at all. Augustine was content to measure the extent of time periods through the duration of his mind, which, I suspect, could be adequately explained as the spatial relationship of neurons in the now. That would sort of eliminate the now as any privileged reference frame, but could retain the important perceptions of the past as having happened.

Oh, final question: if the quantum state evolution is deterministic, what makes the past any different from the future, predictively speaking? Why is it that the past seems to leave traces on the present, whereas we don't know what the future will be yet?

Minimizing Sports League Forfeits

In the Broomball Caucus conference, we've been debating whether to separate teams into softcore and hardcore leagues. Jack Delahanty wrote against splitting the league, because it would (he asserts) increase forfeits:

There's one problem, though - teams that are comprised of [softcore players] do have fun, and they deserve to be able to have fun. The problem is that these are also the teams that tend to forfeit games. The same players that enjoy sliding around on the ice and hanging out with their floor also TEND to be (and I'm not accusing anybody here, just observing a trend) the players that won't show up when it's cold, when they've got homework to do, or when they have some other thing going on. I'm not saying that players who enjoy broomball for the sake of sliding around don't deserve respect and consideration - they absolutely do. But I am saying that we had a huge problem with forfeits this year that has extended into the playoffs, and we should definitely not gear the league or even one division in the league to teams that are apt to forfeit. Forfeits, more than 12-0 losses, are the real evil that needs to be addressed.

I totally agree that forfeits are a big problem: you make space in your schedule, put on all your pads and cold-weather gear, get onto the ice, wait 15 minutes, and then don't get to play! On the other hand, I got to thinking about this, and realized it's not actually true that forfeits would get worse with multiple leagues. In fact, splitting games up into leagues which are correlated with a propensity for forfeiting actually reduces the chances any given game in the league will be forfeit.

Assume there are two types of teams, half with probability to forfeit a, and half with b, where a < b.

Case 1: Place all a teams in hardcore, and b teams in softcore. The probability of a forfeit in any hardcore game is twice the probability for one team to forfeit (a), and one team to show up (1-a), so we have p(forfeit) = 2a(1-a), and likewise for softcore. The average probability of any game being forfeited across the league is a(1-a) + b(1-b).

Case 2: Place all teams in one league. The probability any given game will be forfeit is just like for one league above, but with the average of the two probabilities: (a+b)(1-(a+b)/2).

Note that I'm talking about forfeits where one team fields and the other doesn't: obviously, if neither team shows up, nobody really lost anything.

Okay, so now plot the average probability that a game will be forfeit for the two cases. In the split case, you'll see it falls off sharply towards all corners: if absolutely NO softcore people show up, and all hardcore people do, there are no (problematic) forfeits.

split.png

If you keep everyone in the same league, a few beginning teams forfeiting means that even the advanced teams have some probability of not being able to play, and the overall probability of forfeits rises.

joined.png

Now look at the two cases superimposed. The split league scenario is at worst equal to the single league, and better in all other cases.

both.png

Long story short, all else being equal, leagues split by forfeit ratio are optimal for reducing the overall number of forfeit games. This assumes that the probabilities of forfeits aren't affected by the establishment of leagues. My personal suspicion is that separate leagues increase the likelihood of play, because people aren't scared of playing totally impossible games, but that's up for debate. :-)

Skill Set

You know what's going to be awesome? When I have to get a normal job.

"So, why do you think you'd be great at Jimmy John's Sub Shop?"
"Ummmm... I can compute first-order perturbations to degenerate Hamiltonians. Please hire me?"
"What else?"
"I can design your web site and ordering system..."
"Nope, already got one."
"I can be thrown around safely!"
"Next please."

I have the weirdest skill set on the planet.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
Copyright © 2003—2010 Aphyr