101 in 1001

According to some clever Unix timestamp manipulation, 1001 days from now it will be November 4, 2013. According to some clever folks on the Internets, 1001 days is a convenient amount of time to get some serious stuff accomplished. And … Continue reading

More Galleries | | 5 Comments

Hadoop [actually, Ubuntu] Headache

My desktop, Ronon, is a beast (yes, its namesake is exactly what you think it is): twin Radeon 4890 video cards, terabytes of hard drive space (will eventually be adding an SSD to the mix; that’s the next major upgrade), 18GB of memory, and a quad-core i7 CPU. I designed it specifically to have horsepower to spare for whatever graduate school could throw my way.

And now that my research is turning into the arena of distributed computing, it’s coming in handy: a VirtualBox setup running four instances of Ubuntu, one as a master node, and three as slaves, constituting a proof-of-concept Hadoop cluster.

No, not that kind of "distributed".

There’s the primary Hadoop website with lots of great documentation, plus the mailing lists to the Apache developers themselves. But I found some amazing tutorials that go step-by-step through a fairly typical / basic setup, just to get a cluster up and running.

A few months ago, I followed the multi-node tutorial to get Hadoop running on the aforementioned setup: each of the four [virtual] nodes would have 2GB of memory plus 20GB of hard disk space, and 1 CPU. Obviously the performance gains here will be marginal; after all, it’s still on one physical machine. But the point here was to get something that could pass as a Hadoop cluster up and running so I could do some preliminary MapReduce work. It only took a few hours, and I was up and running.

Until October. Why October? It’s when the new version of Ubuntu–11.10–was released.

Pwned by the admittedly adorable ocelot.

All of a sudden, the Datanodes (Hadoop jargon for the slaves, or “workhorses”) couldn’t communicate with the Namenode (jargon for the master node). I’d get entries upon entries in the logs of “Retrying connect to server…” with no success.

Not being particularly well-versed in Hadoop, I set about trying to find out what could be causing the error I was seeing. So I Google’d the error message.

Didn’t find a whole lot, other than the Hadoop wiki giving me some basic troubleshooting tips. Unfortunately these did not solve the connectivity problem: I played around with all the settings (if you read the tutorials, there really aren’t many), to no avail.

My next stop: StackOverflow.

I love this website. Seriously. The people who frequent it are so bloody smart, and with nary an exception, I’ve always either found the answer on my own from some suggestions posted, or someone knew the answer outright. It’s a fantastic site.

Anyway. I posted this question. My initial responses confirmed what I had been thinking to do, but couldn’t quite justify given the evidence: that a firewall was blocking the slaves from seeing the master. There were a few problems with this hypothesis:

  1. I had no firewall running on any of my Ubuntu instances.
  2. I could SSH from one VM to another (both ways), and the slaves could view the master’s website.

After installing a firewall, explicitly disabling it, and seeing no difference, I finally had the idea to try out nmap. I installed it one of the slaves, fired up Hadoop, and scanned the master.

nmap -v -sU -p 54310,54311 192.168.1.10

The ports were definitively listed as “closed”. Well, that would explain the symptoms, but it didn’t help in trying to figure out what was wrong.

Another point of interest was “netstat” on the master. I would run it every time I fired up Hadoop just to make sure that the right ports were listening. Sure enough, 54310 and 54311 (the ports that the slaves were complaining weren’t open) were bound by the master and set to listen. It showed other ports as well–50030, 50090, and the other web status ports–as open, and these were accessible from browsers in the slaves.

Why weren’t the slaves–or nmap–seeing these apparently open ports??

I looked closer at the netstat output.

0.0.0.0:50030
0.0.0.0:50090
127.0.1.1:54310
127.0.1.1:54311

…wait a minute…

I went into Ubuntu’s “/etc/hosts” file, deleted the offending entry, and everything started working just fine. The crux: when I updated from 11.04 to 11.10, Ubuntu added the new entry to the hosts file automatically, redirected the hostname (which I was using in the Hadoop configuration) to the local IP address, i.e. an address that external IPs couldn’t access. Hence why the ports looked open from the master, but closed from the slaves.

So there you have it. Months of pulling my hair out (though only because it was a somewhat low priority compared to…everything else), and the solution was to delete a single line from a single file. Literally: the addition of one character solved this problem.

Humbling.

Probably would have been less frustrating if I'd followed this mantra.

Posted in Internet, lolcat, Programming, Technology | Tagged , , , , , , , , , , , , , , , | 2 Comments

Philanthropic computer donations

For those who aren’t aware, my sister is a full-fledged member of the Peace Corps and is currently living and working in a small Moroccan city. It’s a pretty spectacular setting: dirt roads, traffic jams with animals instead of cars, “toilets” that are more accurately described as “holes in the ground”, open-air common markets…and she’s loving every minute of it.

She teaches at a nearby, brand-new school. However, while the building itself is brand-new, the school has zero money for things like blackboards, textbooks, and computers. The walls are literally bare.

Here’s my question to the Internets: do you know of any philanthropic organization who can donate old but functional computers? The teachers and students would absolutely love to get their hands on some as teaching tools. So far I’ve checked out google.org and one.laptop.org, but both seem to be presented as more of a “have your people call my people” type thing–which is certainly possible, but the Peace Corps themselves would have to get involved instead–as opposed to our circumstances of me trying to find an organization that donates and get them in touch with my sister and the school at which she works.

If anyone has any thoughts, leads, or suggestions, I’d love to hear them! Thank you!

Posted in Real Life, the fam | Tagged , , , , , , , , | 2 Comments

A new year full of…MapReduce?

If you’re reading the title of this post and wondering what the crap I’m going on about, I’d like to share with you one of my favorite quotes from the wonderful, awesome, and fantastic PBS TV show Arthur:

D.W.: “Speaking of my birthday…”
Arthur: “We’re weren’t talking about your birthday.”
D.W.: “Well now that we are…”

Pretty much the best segue ever. So before I get to new year’s shenanigans, I’d like to share a little about what I spent my time working on in the weeks leading up to the holiday season.

It’s not working, it’s not working…HOLY CRAP IT’S WORKING

I may or may not have mentioned previously (and I’m too lazy to look) that I spent most of November and early December drawing up a massive grant proposal with CMU@Qatar to unify their cloud computing hardware with our software engineering / computer vision / statistics / biomedical expertise. Part of that proposal was a small venture–a “technical report” (TR), as the jargon goes–that implements a very small slice of the overall proposal, and more subjectively shows that we do, in fact, know what we’re talking about.

The TR was a source of unending frustration. After pulling numerous all-nighters just to get the original 20+ page proposal rolled out, we had no time to rest before diving into this thing. To add insult to injury, while the amount of writing required was less than that of the proposal, we actually had to code something and show meaningful results.

This was pretty much how we felt about back-to-back publishing efforts.

So we got to work: our goal was to have a MapReduce chunk of code working on a standard Mahout and Hadoop setup. We’d written some code awhile back in Matlab and Python which could take a video of moving cilia, do some freaking cool optical flow calculations, and make a very good estimate of the frequency at which the cilia were beating.

In fact, if you’re interested, here’s a link to the Python code (scroll down to where it says “STEP 7b” in the comments–that explicitly generates the ciliary beat frequency, or “CBF”). The goal was to rewrite this Python code in a MapReduce form that could be run in a distributed fashion on a Hadoop cluster.

Wellllllll, it didn’t start off particularly well. In fact, of the 14 days we had between the submission of the proposal and the deadline for the TR, we spent the first 10 days barking up not only the wrong tree, but within the wrong continent. Without [hopefully!] getting too technical, we wanted to use autoregressive (AR) models to represent the cilia’s behavior, and use the parameters of the models to calculate the frequency. Apparently, AR models suck at this use-case for anything but perfectly periodic data.

This took us 10 days to figure out, and explained why the results we were getting seemed to have absolutely no correlation with the “true” answers whatsoever. At which point, we were stuck: what do we do now?

YOU FAIL LLOOLOLOLOL

I remember this vividly: my advisor and I met in his office, and we settled on a significantly-less-elegant algebraic solution, opting more or less to port the Python code we’d written to MapReduce: imagine simply having each individual node calculate the frequency of a single pixel. That was our approach.

It was just a few days to deadline, and we decided I’d spend the next 4-6 hours hacking away, and if at the end I still had zip, we’d throw in the towel and move on to better things.

In order to justify any results I got, they had to compare to the results we got when using our Matlab and Python pipelines, as we’d been assured by the folks who supply us with the data that they were spot on with manual conclusions. With that in mind, here are the results graphs for our Matlab and Python pipelines (respectively):

Pretty much identical. Imagine the depths of my shock when, after only a 4.5 hours of hacking away in Java, creating an entirely new and self-contained Mahout driver, and successfully running it on the second try (first try failed out with some sort of input format failure; a very basic and stupid mistake that was easily corrected), the result it spat out was this:

HOLY. CRAP.

Needless to say, we wrote up the TR and giddily submitted it. And if you’re interested in the Mahout code that actually worked after only an afternoon of hacking, there’s a link for that too.

And to answer the inevitable pedantic question: yes, I know there’s only ever 1 Reducer, it’s not exactly production-level code :P But it works, and really freaking fast, too.

Holidays, traveling, new year’s, and GETTING FAAAAT

I didn't get to see as many folks as I would have liked, but these are some of the greatest people I have had the honor of knowing.

This year’s Christmas was a little different. With my older sister in Morocco, and my parents having moved from Atlanta to Athens, the circumstances weren’t exactly familiar. But to be incredibly sappy for one second: my only requirement for a fantastic holiday season is the people. And even though we were missing a big part of our family (we’re all pretty big parts…our family is somewhat energetic), it was still fantastic.

Following Christmas, my family and I piled into a van and drove 14+ hours to Illinois to visit our relatives for a few days. As always, it was great to see everyone again; particularly as the years pass–and especially now that I’m down to only one grandparent–that drive, while long and somewhat stressful, will always be worthwhile.

A sample of what Santa brought me. I am not kidding when I say I'm excited.

Well…I suppose I should qualify that final statement with one minor caveat: I don’t think anyone will disagree with me when I implore everyone to put family first during the holidays. I have no doubt that some situations are more difficult than others, but if there was ever a time to set aside petty bickering, it’s the holiday season.

Trying to convert your extended family to fundamentalist faiths, when already fully aware said family won’t budge, would fall under the category of “petty bickering”. That’s all I’m going to say about that.

I departed from Illinois out of Midway and arrived in Pittsburgh just in time to hitch a ride with the Lady to her place in Ohio for some good-old-fashioned New Year’s celebrations involving tons of junk food, lots of video games, and most importantly, NERTZ!

For anyone who has never played this game: PLAY IT NAOW. In particular, once you start exceeding two or three people at once, this game gets insane. Think “multiplayer speed solitaire with a swearing problem.” You’ll curse about as often as you do when you play Mario Kart. It’s the ultimate New Year’s game: for the past two years in a row, we’ve played for at least 5 hours straight. It’s addicting, it’s frustrating, it’s invigorating, and it’s unbelievably fun.

So anywho

I’ve been back in the ‘burgh since this past Sunday, and I have a to-do list that takes up my entire marker board. Every time I scratch one item off, I add another one. But I’m making progress! I specifically set up my vacation to not involve anything research-related, fully aware that I’d pay for it later, but man it was nice not to worry about that stuff for a couple weeks. And frankly, after the breather, it’s nice to be back to work again.

Here’s to 2012!…even though it’ll all come to a screeching halt on Dec. 21!

Posted in Academics, Graduate School, Holidays, lolcat, Programming, Real Life, the fam, The Lady, Travel | Tagged , , , , , , , , , , , , , , , , , , , | 1 Comment

Break ALL the cardio things!

This post is somewhat of a spiritual successor to a post I made a few years back. But the story goes something like this:

There I was, minding my own business…

As part of my 101 in 1001 endeavor, I’ve chosen this month (of all months??) to complete #55: rowing 50,000 meters in a month. As of this morning, I’m now just under 13k shy of my goal, essentially two workouts away from knocking off another item. I’m not fast by any stretch; during these workouts I usually spend the first 10 minutes warming up, averaging around 2:10 / 500m. That amasses me around 2200-2300m during that warm-up. Definitely a slow-poke, particularly compared to anyone who rows competitively.

But there are two rowing machines at CMU’s University Center cardio room. And when I was just concluding my warm-up, the second one was taken by somebody I’d become familiar with over the years of working out.

Relevant.

I don’t know him by name, only by circumstance: this guy is a cardio freak who is literally incapable of using the machines as they were intended to be used. He’ll pump so hard and fast on the elliptical–at admittedly impressive speeds–that all you can hear is the CLANK CLANK CLANK CLANK CLANK of the rotary arms slamming against their containing joints because they weren’t designed to go that fast.

Anyway. Back to this morning.

So he jumps on the erg next to me as I’m finishing my warm-up and shifting into high-gear. I recognize him immediately, and smirk at the prospect of being entertained for the next 20 minutes of my workout. He starts yanking on the erg and rowing with all his might: he’s hammering out 33-34 strokes/minute at speeds of 1:55 / 500m.

I decided to have a little fun with him. Following my warm-up I was cruising around 2:00 / 500m, so I start drawing a bit more from my legs to push that pace down to match his, right at 1:55. However, because I’ve spent a significant amount of time in the company of people who have rowed competitively, I understand the concept of the “catch” and “recovery”. As such, even though I’m rowing at the same speed, I’m only cranking out 23 strokes/minute. 10 fewer strokes every 60 seconds translates to significantly more efficient use of energy.

Also relevant.

He noticed this after a few minutes. So he started yanking even harder to up his speed to 1:50 / 500m, coming in around 35 strokes/minute. The chain connecting the handle to his fan is smashing against the enclosure on every single stroke. No control, no concept of proper use (even though the instructions are RIGHT ON THE MACHINE).

I should mention: he was doing some sort of an interval workout, so after completely abusing the machine for a few minutes at his ridiculous pace, he’d slow down for a few minutes before repeating the whole process. So he wasn’t continuously achieving his 1:50 pace for the 20 minutes he was on the erg.

I was closing in on the last 10 minutes of my work out, so just to continue trolling him, I too upped my pace to 1:50 / 500m, while still maintaining my 23 strokes/minute, occasionally flickering up to 24. His machine banged even louder on each stroke, though his pace stayed at about 1:50, with around 35 strokes/minute.

Owned.

And the lesson, children, is this…

  1. Learn how to use cardio machines correctly. There is literally no excuse for failing this item. If your machine is making regular clanking noises, it’s either broken or you’re doing it wrong, and either way you shouldn’t be using it. Most machines have the instructions for use printed right on the damn things, so show everyone you know a thing or two beyond the weight room and READ!
  2. If you’re going to use the rowing machines, learn the proper form. In my completely informal observational survey, I’d estimate about 1 in 10 people actually use the correct form when rowing. If you’re not using the correct form, you’re both wasting energy and not getting a good workout. Plus you might be damaging the machine. Take a minute to talk to someone who knows what they’re doing.
  3. Repeat steps 1 and 2 ad nauseum. If in doubt, look at what other people are doing. HAHA funny joke, but seriously go find somebody who works there and ask them how to do it correctly. Chances are everyone currently on the machines will tune in because they were too shy to ask.

At any rate, I think this picture is pretty awesome:

Posted in 101 in 1001, Exercise, lolcat, Real Life | Tagged , , , , , , , , , , | 2 Comments

Mary Christ Miss!

Ugh.

It seems as though no matter how good I’ve been all year, no matter how many times I go to church and no matter how much money I spend on material things that bring me only fleeting joy, I still have to deal with this crap every freaking holiday season: PUT “CHRIST” BACK IN “CHRISTMAS”.

You can't explain that.

My annoyance stems not from the position that saying “Happy Holidays” is an attack on Christmas (I don’t care), nor from the position that saying “Merry Christmas” is an insult to those whose faith, or lack thereof, doesn’t include Christmas (again, I don’t care).

My annoyance stems from the fact that people actually care enough about this trivial issue to pollute my internets and airwaves every year with their vapid and incessant bickering.

Here’s how I see it.

I’m sick of your PC crap!!!

Conservatives looooooove the anti-politically-correct platform. It’s a broader issue than I care to discuss here, but the Christmastime holidays constitute a disproportionately large part of their entire argument.

The fact is, Christmas is the holiday we celebrate on December 25. We (the United States) have celebrated Christmas on this day for our entire existence, and the rest of the world for quite awhile before that. Regardless of your faith, or the fact that Christmas is the holiday that is disproportionately celebrated in the United States (more on this later), picking an American at random and wishing them a “Merry Christmas” will, I believe, be the correct greeting roughly 70% of the time.

If you’re not Christian, or don’t otherwise celebrate Christmas, someone wishing you a “Merry Christmas” is not an underhanded attempt to 1) convert you to Christianity, or 2) make you feel left out. Particularly when you see generic holiday signs around malls and grocery stores, these are (admittedly corporate) gestures of goodwill.

tl;dr Take it at face value and move on with your life. Nobody’s trying to trample your faith, or lack thereof. Trying to have it censored is just stupid.

We must respect ALL the holidays!!!

The United States is not a Christian nation. It was not founded as one, its Constitution hints at its forbidden nature and the Supreme Court has explicitly ruled against integration of faith and politics, and the Pilgrims explicitly forbade its celebration (to counter the inevitable “but the pilgrims landed here to escape religious persecution!” bullcrap).

Furthermore, Christmas is a holiday that was yoinked from the pagans, along with the tree. This whole business of a “holiday tree” is absolutely valid, considering Catholicism assimilated it for the sole purpose of making its institution more favorable in the eyes of pagans who, through no coincidence whatsoever, had deep pockets.

Also, Jesus wasn’t even born on December 25. In fact, most historical research tends to place the birth around the spring, sometime in the March-June range.

Finally, “Jesus is the reason for the season” is an incredibly narrow-minded phrase that actively ignores many other religious holidays that fall around this time of year. For one, a “season” does not mean “one day”. For another, while the Jewish and Muslim holiday calendars do fluctuate (how about that crazy Gregorian calendar, eh?), their holidays also tend to fall around December.

tl;dr Grow a brain and step outside your comfort zone. Acknowledging that your faith isn’t the only one in this country would do you a lot of good.

Concluding Wisdom from the Ages

Please enjoy this special time of year and quit your annoying complaining. I assure you nobody wants to hear it except for those who already agree with you. Unless you enjoy echo chambers that much?

Posted in Holidays, Real Life, the dark side | Tagged , , , , , , , , , , , , , , | 5 Comments

What’s going on, eh?

While the November weather was uncharacteristically calm in Pittsburgh, my schedule seems to be continuing its rampage toward an ever more chaotic and geographically-disparate frontier. As I struggle to pin down any sort of blogging schedule–much less a regular one–I’ll once again take you through my efforts in the past month in egregious and painstaking detail.

Vancouver, eh?

The Lady and I attended the 2011 rendition of ApacheCon, this year held in Vancouver, BC. I was scheduled to give a 45-minute presentation on my work with Apache Mahout, and the Lady would be there to have fun and enjoy the city on my behalf while I freaked out about the presentation. And keep me sane and generally be the wonderful and supportive girlfriend she has been for the last five years.

Neither of us had been to Vancouver before, and I kept hearing in the weeks leading up to the conference that “you won’t want to come home!”

Yeah, I guess it's kinda pretty.

ApacheCon took good care of us: they put us up in the swank Westin Bayshore with a glorious overlook of the bay area. Over the course of the ensuing days, I attended some very interesting talks and also gave my own. Following the conclusion of the conference, the Lady and I stayed a few extra days to be tourists.

Of particular note, we impulse-registered for a 5k that happened to be within walking distance of our hotel. It was the first night race I’d ever run, had the greatest technical shirt I’ve ever received (see picture in the next section), and was the first race I’ve done in Vancouver. Check out the Lady’s race report for the full scoop on that awesome, awesome race.

We snapped this picture on our bike ride around Stanley Park.

We did a ton of other stuff while in town–rented bikes and rode around the gorgeous Stanley Park snapping pictures, went for runs around the city to check out the sites, indulged in local restaurants, spent an afternoon at the nearby Vancouver aquarium–and managed to see a paltry fraction of what the city has to offer. We fully plan on returning at some point in the future for a significantly longer period of time. It was wonderful…even in the Pacific Northwest weather of constant rain and cloud cover.

Thanksgiving nom-nom-nom

Post-race picture (the shirt is the one from the Vancouver race)

I spent this year’s turkey-slaughtering holiday in Ohio with the Lady and her lovely family. We made sure to earn our turkey and ran a 4M local turkey trot (the Lady’s race report). The holiday was a bit of a whirlwind: we only get a few days off, and while in town we wanted to see as many folks as we possibly could. This equated to many late nights out socializing and enjoying others’ company, but also a net loss of sleep that came back to haunt us when the new work week began.

One benefit, though, was enjoying not one, but two Thanksgiving feasts. Oh yeah. We ate that much food. And it was glorious.

We returned from this trip exhausted, but thoroughly satisfied. It was wonderful to see so many people (in particular, a childhood friend of the Lady’s who is now expecting her and her husband’s first child!) and catch up with them, even if only for a couple days. Christmas will hopefully be similar, though spread over a longer period of time so as to actually allow sleep in the schedule.

Grant proposals and why I insist on torturing myself

A single frame of an uploaded video.

Graduate school has been busy as ever, and is the chief culprit behind my inability to establish a blogging rhythm. My intermediate statistics course has been bruising, but manageable. I’ve been working on deploying a new website (from scratch) that allows some of our collaborators to upload their data and have it analyzed automatically, and that’s been pretty neat (though time-consuming: at some point I’ll need to go back and rewrite the site in a formal framework).

For now, our collaborators can upload their raw data (usually videos), and a bunch of code I wrote in the background will analyze it, computing useful metrics like frequency, rotation, and stretching. The front-end is written in PHP (only because I can prototype it really fast, I swear!…and because I’ve all but forgotten how to use J2EE and Hibernate…), with the back-end analysis done in Python. Here’s my favorite, favorite line of Python code I wrote in the analysis step:

max_curl = np.mean(np.sort(curl.flatten())[int(0.95 * np.size(curl)):np.size(curl) - 1])

Oh yeah. That’s right. Now, tell me what it does so I can document it.

But what has been truly taking up my time–and what I will return to upon completing this entry–is my first-ever grant proposal. We’re writing a huge proposal to work in conjunction with some folks at CMU@Qatar for access to their cloud computing platform. If you listen to my ApacheCon presentation, or even take a quick read through the slide deck, you’ll have a pretty good idea as to what the project will be about.

The proposal is due in its entirety later tonight. Midnight, to be exact. We’ve gone through 14 versions of edits over the last two weeks, and with a lot of luck and a whole lot more time, version 15 will be the star-studded, bulletproof final version that will sail through the approval process and fund our work for the next few years…

So as of midnight tonight, I will be celebrating having one exceptionally stressful and time-intensive item completed…and will move on to studying for my statistics final exam, which is next Monday morning.

To my faithful readers: doesn’t this sound like the life? Don’t you just want to drop everything you’re doing and enter the nearest PhD program?

Concluding remarks, for what it’s worth

To be clear: when I actually have time to do research, it’s so much fun. I have the freedom to work on some extremely interesting problems (and write lines of code like the one above that, really, should be 10 lines of code), look at what other people have done, and talk with some incredibly bright people. But right now there’s significant overhead that simply has to be dealt with. Hopefully swiftly.

A++++, would play again.

I have had a tiny bit of time to myself: been catching up on L4D2 (see screenshot), and also purchased Civilization V at the behest of basically everybody I’ve ever met. I must admit: I played Sins of a Solar Empire for quite awhile and enjoyed it immensely. Civ V feels extremely similar, though the turn-based aspect is taking some getting used to. The research and build trees are also far, far more branchy, and it’s taking some time to figure out the optimal paths for a given strategy (which is usually the Scientific Win; what can I say, I love science! Even when I play games!).

Once the proposal and the final exam are complete, I will have some more time to do my part to stave off the zombie apocalypse while simultaneously expanding my science-embracing empire to all corners of the earth. At least, I’ll have time for this for a little while, until I have to start work on a technical report that is to be submitted by the time this larger proposal goes under review, as the proposal cites the technical report.

HOORAYYYY. I leave you with a lolcat.

Posted in Academics, Exercise, Gaming, Graduate School, Holidays, lolcat, The Lady | Tagged , , , , , , , , , , , , , , , , , , | 2 Comments

How [not] to!

Yes ladies and gentlemen, today’s entry is a very special treat: How [not] to go camping, with a bonus of an additional How [not] to run a 10k in your Halloween costume! Today’s bonus double-post-in-one is full of intrigue, suspense, character development, overly dramatic breakup letters, cats clogging up railways, and even the brief appearance of he-who-cannot-be-found!

Without further adieu, I present you with today’s How [not] tos with the sincere hope that you take the guidelines here to heart, should you ever be put in a position of going camping, hiking, or racing in a Halloween costume.

Hiking and Camping

One of the best ways of enjoying the great outdoors starts, in fact, with going outside. From there, you have various levels of hardcore-outdoorsiness to choose from: walking around the block, jogging through a park, or camping in the wilderness!

If you need something more extreme than this, I have two words followed by two more words: "Iron Man" and "No Life".

#1: Leave superfluous perishables like cameras and flashlights at home. You’re hiking and camping through untamed terrain! Who knows what kind of lion, tiger, or expensive-electronics-killing beast might jump out and frighten you when you least expect it! You could drop your utterly irreplaceable and totally-not-generic birthday present you got from some close friend or family member or someone whose name you’ll totally recall once you have a chance to think about it!

Don’t worry, your flawless memory and cat-like nighttime eyesight will more than make up for the absence of your precious electronics. How do you think our prehistoric ancestors enjoyed such organized camping trips? You don’t see any Canon snapshots of velociraptors anywhere, do you? That’s what I thought. Besides, not bringing your superfluous and unnecessary-for-survival commodities along will help out with this next point.

#2: Less is more–coordination, that is. Yeah, you’re going camping with some good buddies, so shouldn’t you talk with them beforehand? Naaaah. In fact, communicate with them as little as you possibly can in the weeks leading up the excursion. Everyone’s stressed out enough; they don’t need your whiny problems on top of that! Bring what you obviously need to bring: food, water, and clothing, and let natural selection sort out the rest.

Those burdens look heavy enough without your plagued worrying adding to them.

Plus, minimizing communication beforehand heightens the anticipation! You know how some brides-and-grooms-to-be don’t see each other in the days leading up to the marriage? They’re saving it for that lifelong journey they’ll be taking, just like you’re preserving the magic before the journey of hiking and camping! Don’t pop everyone’s euphoria bubble because of some triviality like “are you bringing matches or should I”, “it seems silly for all six of us to pack 1-person tents”, or in particular “where are we meeting and when”. Let nature run its course!

#3: Zero fun sir! This is a hardcore workout, not some vacation for you to “recharge” and “enjoy yourself”!  And yes, the two concepts are mutually exclusive! You and your sexy significant other may indeed be going on your inaugural camping trip with a married couple who happen to be two of your dearest friends as well as camping experts, but that does not mean you are to enjoy yourself! No sir, we came here to work!

STOP HAVING FUN!

Yes, the greatest test of whether or not you’re doing the camping and hiking thing correctly is if you’re having fun. Especially if you had fun over literally the entirety of the weekend: if you somehow manage to have fun amidst the gusting winds, the exceptionally muddy plains in the first 5 miles of hiking, the impassable river, he absolutely breathtaking vistas, and the camaraderie of doing something challenging with some of your bestest friends ever, then you need to stop right away and go back to your air-conditioned, Facebook-inundated, couch-potato lifestyle, because you clearly aren’t cut out for being HARDCORE!!1

(Conclusion: there literally wasn’t one thing about this weekend I didn’t enjoy, and I can’t wait to do it again!)

The Terrifying 10k

We’re all thinking it, but everybody lies about it: running races is boring, a waste of time, and a frivolous expenditure of a not-insignificant amount of money that could be better spent on things like candy bars, a better smartphone data plan, or two more minutes at college. Still, many of us have a façade to uphold.

Similarly, Halloween is yet another one of those overly-consumerized holidays that teaches us that, without money, we literally cannot have any fun in this world. Anyone who wants to be someone has to spend hundreds of dollars on a really solid costume, or risk getting your ass kicked by the duet from TRON:Legacy.

#1: Don’t wear a Halloween costume. Go against the establishment! Rebel! Revolt! Revolutionnnnnn……ate! Seriously, no one else running a race they think is boring on a holiday they can’t stand is going to spend hundreds of dollars on both events simultaneously, right? They’ll bandit the race and show up wearing the running clothes they pilfered off other races they bandit-ed. Or something.

Do you see anyone dressed in costume or wearing a bib? I think not!

Indeed, you can kill (or at least maim) not one, not two, but three birds with but one stone: bandit the race and save yourself money (down with the 1%!), protest Halloween, and still maintain your appearance as an avid runner! Such a clean and elegant solution.

#2: Party? What party? The whole concept of a Halloween party is a symptom of the aforementioned issue of consumerization. Not only is the pressure higher than that of a race to appear in costume, but you often have to go through the time and money of purchasing food and drink to bring along. That stuff doesn’t grow on trees, you know!

And once you’re at the party, you have to pay the psychological cost of enduring the arduous socializing and frivolity that supposedly characterizes such get-togethers. Why pretend to have fun and spend craptons of cash when you could stay at home with your own bowl of candy?

Look at that ornate and incredibly expensive costume he had to purchase solely for this year's party. He definitely wouldn't own something like that.

Which leads me, inexorably, to the pinnacle of Halloween’s how [not] to’s:

#3: Don’t participate in trick-or-treating in any way. It only encourages and perpetuates the shallow and tasteless traditions that have sprung up around this utterly pointless and arbitrary alignment of solar bodies.

Don’t have candy ready for trick-or-treaters. Don’t go trick-or-treating. Keep your porch light off, your children indoors doing their homework (or chores if their teachers aren’t doing their jobs and have assigned no homework), and definitely do not go to a dear friend’s house and hang out on their porch with a giant bowl of candy, conversing with passing trick-or-treaters and generally spreading good Halloween tidings.

Definitely do not watch How I Met Your Mother afterwards. It only leads to laughter and good times. Horrible, terrible, awful laughter and good times.

(Conclusion: The race was fantastic, our Halloween party immensely enjoyable, and Halloween night was filled with adorable children, amiable parents, and good friends.)

If you disobey any of the above points, ninja kitteh will find you!

Posted in Real Life, The Lady | Tagged , , , , , , , , , , , , , , , , , | 2 Comments

Three races, three weeks, but only two PRs

Interested in running? Not sure how to get started? How about putting your feet to the flames? But seriously, hyperbolic statements aside (a friend of mine did four races in four weeks), I don’t know how I’ve managed to squeeze in all these races with all my schoolwork. Here’s what I’ve been up to!

Week 1: Montour Trails 5k

This was the week before the half marathon we’d been training for, so we saw this as a tune-up opportunity, and a chance to simply have some fun.

This trail was very interesting (as you can see from my garmin route): the first 3/4 mi was a hefty downhill, prompting an exceptionally quick first mile. The goal, then, was to maintain some semblance of speed across the remaining flat two miles. While I’m eventually planning for a sub-20 5k time, a new PR of 22:06 was just fine with me.

One of our friends, who ran the half marathon, also set an incredible PR of 1 hour, 30 minutes, a phenomenal half marathon time.

Week 2: Air Force Half Marathon

The race we’d been training for. And then this:

How does that not get you fired up?

There is literally nothing about this experience I can complain about. We stayed in a lovely Hampton Inn with another couple we’re friends with, the events surrounding the race itself were planned and executed with precision only the military could conjure, and the following day we spent five hours touring the Air Force Museum, having to leave only because of time even though we still hadn’t seen everything we wanted to. All in all, a remarkable weekend.

As for the race itself: my goal was under 1 hour 50 minutes, which equated to about 8:24-min miles. Within the first two miles I’d found and stuck to the 1:50 time group, with whom I kept up until I hit mile 11. As you can see from my garmin route, the track itself was pretty flat, but the reason for hitting a wall is that I simply haven’t been training at these speeds. We aim for easy paces of 9:30-9:45 min/mile, tempo paces of 8:15-8:30 min/mile, and speed paces of 7:15-7:30 min/mile. I still beat my previous half marathon PR by over 16 minutes, but fell 3 minutes short (or long, I suppose) of my 1:50 goal. This need for training speed increases across the board become even more apparent in the final week’s race.

Watch this video, and if you pause at exactly 15 seconds in, you’ll see the 1:50 time group crossing the mile 5 timing strip. I’m right on top of the timing strip way over on the left hand side of the frame.

Also, for a much more in-depth discussion of the weekend at Wright-Patterson AFB and how The Lady did in her race, check out the race report she wrote. I assure you it’s far more interesting than mine :)

...this guy!

Week 3: Pittsburgh Great Race

The 10k has always been one of my favorite distances: long enough to require endurance training, short enough to demand speed training. This race in particular we did last year, and it was a blast, so even though we’re supposed to be recovering from the previous weekend’s festivities, I was looking forward to the possibility of a third PR in as many weeks.

It’s a point-to-point and a net downhill, so it’s an excellent course for setting a PR. Unfortunately, I came up 11 seconds short according to my garmin route (13 according to the official time). This is, in no uncertain terms, due to the lack of training at the speeds required.

Like the previous week, I was shooting for a spectacular PR–in this case, under 45 minutes–in the hopes that if I missed I’d still PR. However, this required 6.2 miles at an average pace of around 7:25 min/mile, a pace which hovers very close to our speed work pace, and therefore certainly not one I’d ever run for sustained periods of time.

The first mile was perfect, and the second mile was beyond perfect–6:47, which is also obviously way too fast. My fate was sealed when a slow mile 4 ended at the base of a constant incline which constituted the entirety of mile 5. I consider 13 seconds to be within the margin of error: more favorable winds, a momentary and random burst of speed, or even fewer runners to weave through could have easily eliminated those 13 seconds. But the overarching point remained: I need to train at faster speeds if I want to beat 45 minutes on the 10k. Or 20 minutes on the 5k. Or 1:50 on the half marathon.

Concluding BS

Rob, the guy who set 4 PRs in the last four weeks, ran yesterday’s 10k in 38 minutes. He offered to start doing his speed work with me, and I graciously accepted. That will be exceedingly helpful in boosting my sustained speeds.

I’m not particularly interested in marathon distances (don’t ask me why, I don’t really have a good answer), but 5k’s, 10k’s, and half marathons, as well as some less-canonical distances like 5mi, 8.1mi, and 22.5k, could all benefit from training with faster times across the board. For example: easy runs should be moved to low 9′s, possibly high 8′s; tempo runs should be high 7′s, low 8′s; speed work, in all its painful glory, should come in at just under 7. For starters.

You know, in all my copious free time.

Posted in Exercise, lolcat, The Lady | Tagged , , , , , , , , , , | Leave a comment

Freshman season

August in a college town like Pittsburgh can only mean one thing: its population is in the process of quadrupling. Oh yeah, and the median age is falling about 10 years.

We’ve all been through it: arriving at a big, giant campus (the fact that it’s college makes it big, even if we’re talking a tiny D-III school), having your parents help you move in, awkward introductions with people you never see after orientation, sizing up your roommate to determine if they’ll be That Roommate (even while your roommate is doing the same to you), all the while thinking: “Unlike everyone else I’m seeing, I have a pretty good grasp on these circumstances.”

Each year it’s interesting to look at this process through the eyes of someone who did it not too long ago (and, to a certain extent, did it again with graduate school), but long enough ago to have some tiny sliver of perspective.

DISCLAIMER: These are fairly generic sentiments, so implicitly there are freshman who fall outside these platitudes. So without further adieu: the list of things I find refreshing and annoying every fall.

The Bad

1: Crowds. Maybe we get used to it by the time the spring rolls around, but after a summer of students who are in town truly, purely, and incorruptibly to learn and gain experience, the sudden influx of confused and listless balls of incoherent energy acts like sand in the proverbial clockwork of routine.  Streets are clogged, lines triple in length at the local frozen yogurt shops, and even the sidewalks are dangerous.

2: Every sentence through September begins with “When I was in high school…”. Yeah, you’re pretty much going to spend the rest of your life from college onward talking about what you’ve done (“When I was in college…”, “When I had this internship…”, “When I visited Europe…”, etc), but high school is one of those things that no one realizes everybody went through until they graduate college. I know this is a perspective thing which only comes with age, but it’s annoying nonetheless.

Made my day.

3: Clothes. Why are there so many shirts and hoodies being worn with the logos for colleges other than the one whose campus you are inhabiting? Yes, we know you played varsity football for podunk high school, got any other garb? Are heels really necessary with short-short jean shorts for a jaunt to class? I think the only freshman to whom I can give serious cred was one I saw yesterday who was wearing a shirt that read: “Not you, fat Jesus.” The fact that he was on his phone was all that prevented me from shaking his hand.

The Good

1: None of the freshman actually think any of the above items are annoying; in fact, the truth is quite the opposite. They’re all blown away by the campus, the intelligence of their classmates and professors, the friendliness of other freshman and “the fact that everyone wants to be here”. It’s a universal experience, but to each individual freshman, it feels exclusive. That’s a pretty neat phenomenon.

2: They’ll learn quickly. The mind is blown in #1 but very quickly adapts and expands its horizons. By the time they’re sophomores, they’ll already be bitter and disenchanted shells of human beings who think freshman are annoying :P

3: Without question the single most important and positive aspect: the annual influx of new and enthusiastic youthful minds keeps everyone else in the city young. The energy is electric in its feel and viral in its spread: even the 5th year Ph.D. student who just wants to get on with his or her life can’t help but feel refreshed and revitalized when all the new students show up. It’s an intoxicating feeling, one which keeps the city thrumming with life year after year. This trumps everything else and is the reason why, irrespective of the annoyances involved, I look forward to every fall semester.

Follow this helpful guide and you can't lose.

To all the new freshman out there: you’re not unique–not even in the slightest (as if “uniqueness” was a spectrum)–but that doesn’t mean what you’re experiencing isn’t real, or isn’t affecting everyone from your fellow classmate to the university registrar. Enjoy it, revel in it, savor it: it’s even more fun than you think it is. I wish you all the very best of luck!

And to anyone who is taking Chemistry:

Posted in Academics, lolcat, Real Life | Tagged , , , , , , , , , , , , , , | Leave a comment

The second row is so true

Ever since I finally got around to checking out every cell in this 25×25 grid (it’s been a busy past few weeks), I seriously cannot get past how fantastically awesome this is.

Every fall, it's (row 2, column 1) all over again. In a good way.

I literally have no critique of this. A+, 10/10, phenomenal job, well done, and good night.

Posted in Academics, Internet, random | Tagged , , , , | 6 Comments