2013-01-26 / 13:19 /

Gingrich


2013-01-02 / 01:40 /

Another fun one from Colossal:

That's a big snowflake
via colossal


2012-12-19 / 06:10 /

INSA
INSA (via colossal)


2012-12-06 / 14:03 /

In my effort to stuff my self with things that don’t contain gluten, I found Caveman Bars. They’re locally–to the NW–made paleo bars. I liked the almond coconut one I got from the Central Co-Op so I decided to order a mixed box. Unfortunately I had it shipped to the wrong address so I emailed them to admit my guilt, pay my extra shipping, and have them sent to my real address.

Instead they charged me no extra shipping and sent me 2 boxes.

So much paleo for my face!


2012-10-06 / 02:54 /

1. The guy panhandling in Capitol Hill wearing a “I’ve got the dick so I make the rules” T-shirt.
2. The goth girl riding her bike on the sidewalk while wearing headphones and screaming 2 Live Crew lyrics.


2012-09-30 / 20:53 /

Last time I got a new bike, this time I moved to Seattle.

So far I’ve been working and looking for an apartment. Oh, and eating:


2012-06-18 / 23:18 /

So my mountain bike used to be all like
Kristen in the shower

But then it got all like
Kristen cracks her back

So now it’s been replaced with
Kristen 2

PS:
Pretty Fuji


2011-11-04 / 16:21 /

I think it was during the Rachel Carson that I first heard about the Megatransect. Hiking buddy Mark sent me a reminder email as soon as registration opens and I managed to register before it sold out (which was only 48 hours after registration opened).

BEFORE Mark and Kelan registered too.

I rented a car and drove out to Lock Haven after work. I picked up my registration packet and went to get some dinner. A phone call from Kelan confirmed that he had made it from Philly and that Mark had almost made it before getting lost. Mark eventually made it, heading straight to the hotel (I camped).

The next morning was a drizzly 40 degrees. The rain was supposed to start at noon.

The first three miles were asphalt. I walked the first mile with Mark then jogged ahead for a bit before setting into a fast hike. I should have started faster as I got stuck in lines as soon as we hit the single track. The crowds were thick all the way to the boulders.

Everyone had been talking about the boulders and they didn’t disappoint. It was a steep section and much longer than I expected. The advantage is that the “trail” was much wider and I could get past the bolus.

The next trail section was “Rattlesnake Ridge”, which had less rattlesnakes and more slippery wet rocks.

After the rest stop I ended up jogging beside British Bob, an experienced local runner in a Union Jack jersey. He was wearing the same Innov8 shoes I was; we both loved them. He warned me repeatedly about The Goat Path.

Bob got ahead of me while I got more gatorade at the next rest stop. The trail lead up a small fireroad to a turnoff with a wooden sign stamped “The Goat Path”. I had a good pace and passed Bob at the base of the climb. “You’ll understand why I’ve got this slow pace.” he told me.

I did: the goat Path is a steep hill that doesn’t end.

AFTER There was a lot of downhill & pleasant flat before the next boulder section. Summary: wet boulders are a terrible, terrible thing.

It was literally all downhill from there. On the last leg I ran beside Francesca, another Pittsburgher. She was in pain from her move to minimalist shoes, I had pain-killers; we were a good team. We paced out of the dirt and onto the asphalt section. “Almost there” she said “all that’s left is the green mile.” “The green mile?” “It’s a 1 mile through thick grass.”

That sounds fun. Her feet hurt and she fell behind. I felt a little guilty since she had finished in 6 hours the year before and should have been drinking a finish line beer while I was still sweating it out on the course. But I didn’t feel guilty enough to wait. I turned off the road and down the grassy slope.

I lost my footing on the off camber hill. The rest of the grass was an unending, annoying slog. The only thing that made it possible was the nice gentlemen who ran 3-feet ahead of me the entire way.

Then it was only half a mile of foot-painful asphalt and the best sprint I could muster for the finish.

My initial guess of a 7:30 finish time was pretty good; I came in at #160 (7:23) (results).

I cleaned up, ate and found Kelan hanging out by the fire. He had sprained his ankle a few weeks before the run and had set himself the modest goal of 5 and a half hours. A wet rock derailed him and he had to “settle” for 6:16. We ate about 3 plates of BBQ and waited for Mark.

Spoils Mark showed up and we forced him to eat something before the cold set in (the rain did start at noon and only increased). Then we hung around for a bit before heading into the parking lot turned mud pit. For the next 15 minutes we formed a powerful team of three, pushing sedans out of sloppy tire ruts.

Then we all went home.

Would I do it again? Maybe, but I’d probably do the Hyner before that.


2011-10-21 / 18:13 /

I belatedly realized I never talked about my 2010 running of the Rachel Carson Challenge. It was literally a running: I ran the first half. Then my body was like “Hey, dude, that’s not a good idea! My joints feel like rubber and fire!” (though I was happy that my heel only tingled a bit). I power walked the rest and finished strong: 8:55:01.

I sat at the end waiting for Iris–my previous RCT buddy–to finish. She opted to hike with her friends who were doing the hike for the first time. But the thunder storms started and my ride showed up so I wished her luck from the passenger seat.

I might have dozed except I’d had about a dozen Gu packets @ 20mg of caffeine each.

I got out of the car and realized I was starting to pay the price of performance. My hip flexors tensed up so much that I could barely walk stairs.

I took my shoes off to find grape sized blisters. Eventually I would lose 5 toe nails.


2011-10-21 / 15:31 /

Remember when I talked about that awesome adventure I was going to have “real soon now”? Well that was a few months ago, I guess it’s time to let you know how it went.

Summary

It was, like, really really hard.

The deets

Saturday, 2011-06-11

Rest stop along the YRTI left about 2 hours late and started riding down to Ohiopyle. This started out great but I was having some ergonomics issues after about 40 miles. It was my first long ride on the new cross bike and I’d also swapped to platform pedals so I could ride in my hiking shoes.

I was a hot mess when I headed into the Connelsville Sheetz (mile 60) to buy a Gatorade.

The last 15 miles to Ohiopyle really sucked. I had to stop a few times because my calves, quads & hip abductors felt like they were full of battery acid (true, given s/battery/lactic/). I was unprepared for my longest ride in about 18 months on a new bike. As I’ve also subsequently learned drinking water was dumb. I should have seeded those bottles with salt & glucose.

Tarp (LHHT mile 10)I rolled into Ohiopyle in the early-mid afternoon-ish and stabled my bike at Wilderness Voyageurs. After smalltalk with the mechanic, I headed towards the start of the LHHT. “Maybe I should get something to eat first?” I wondered. “No, that would be too logical, instead I’ll fuel my muscles with dreams!”

It turns out you also need food to feed your brain which might explain why I forgot to leave my lock with my bike. Instead I left it locked around a tree at mile 0.1.

At mile 2 the storm started.

At mile 6 I hit the trail’s biggest climb and the bottom of my glyocgen reserves. By the time I crested it was clear I wasn’t going to make the PA 653 shelters (mile 18) by nightfall. I set up a tarp at mile 10.

The rain had stopped, the ground was soft and it was dark enough that I thought I had gone blind when I woke up in the middle of the night. It was the best sleep of the trip.

Sunday, 2011-06-12

Breakfast (LHHT mile 10)It was foggy at 7am when I had breakfast and filled my water bottle.

The first hour of hiking was marked by swarms of bugs.

Then next several were unenventful.

Then I got to the bridge. Or rather, the lack of the bridge. The bridge over the turnpike was out, requiring an 8 mile detour. Luckily super-friend Brian had clued me in to a detour. It went a little something like this:



You are standing at the edge of the LHHT. A bridge used to cross the turnpike but now there is just a pile of rocks. There is rusty chain link fence running downhill to the northeast.

> takeoff pack

Finding the culvert 1: peeling off the trail


You put down your pack and rub your shoulders. You sit on the rocks. The sound of cars and trucks comes from below.

> look at turnpike

It's a four lane divided highway running east to west 25 feet below the end of the trail. Cars and trucks are speeding by... you'd never make it.

> look at fence

It's an old chain-link fence. It is rusty and dilapidated. It runs down the hill to the northeast. There is a faint trail running northeast, parallel to the fence.

> ne

You put your pack back on and walk down the faint trail. It is heavily overgrown on both sides. Branches hang down and brush against your face. It continues downward to the northeast.

> ne

The trail creeps closer to the fence, which has a medium sized hole cut into it. Beyond the fence the ground drops away. You can hear running water over the edge. The trail continues to the northeast.

> look at fence

It is an aged chain link fence. It is mounted to metal posts sunk into concrete poured along the edge of the drop-off. The bank is rock and dirt, badly eroded in places. Near a badly eroded spot there are several cuts in the chain link and the fence is peeled back, created a medium-sized hole.

> look at hole in fence

It is big enough for a person to fit through, though the edge of the fence is sharp. Through the hole there is a steep, rocky bank. It drops down about 6 feet to a narrow valley, overgrown with ferns. A small stream flows through the middle of the valley.

> climb through hole in fence

Finding the culvert 2: into the stream bed


You are facing northeast and standing knee deep in ferns in a shallow valley. There is a shallow rocky stream flowing downhill to the northeast.

> ne

Finding the culvert 3: onto the concrete


The stream bed empties onto a shallow concrete drainage ditch. It continues to run northeast. There is a corrugated drainage pipe on your left. You are standing in very shallow water, your feet are wet.

> look at drainage pipe

It is a small dark pipe. It seems dry on the inside. It smells like rust.

> climb in drainage pipe

You'd never fit!

> ne

Finding the culvert 4: spotting the culvert


You are at the end of the drainage ditch facing north. To the northeast the drainage ditch empties over an edge into a deeper stream that continues to the northeast. To the north there is another concrete drainage ditch that comes out of the hillside and empties into the deeper stream.

> look down

The other stream is about 6 feet beneath you. It's a sheer concrete drop, there aren't many good hand-holds.

> look north

The northern concrete drainage ditch seems to be coming out of a small tunnel. There is a steep grass embankment between you and the tunnel. There is a faint trail traversing the embankment.

> look at embankment trail

It's a very narrow, slightly muddy line along the hillside. Someone must have walked this way before.

> follow trail

You gingerly walk along the trail, clinging to the embankement. You end up on a concrete lip looking into a tunnel facing north. It is about 6 and a half feet square. You can see light at on the other side.

> n

Finding the culvert 5: into the culvert


You are few steps inside a concrete tunnel facing north. You can see light at the end of the tunnel. Water splashes around your feet. There is a roar of vehicles above you. You are underneath the Turnpike!

> n

You are in the middle of the tunnel facing north. You can see a square of light at both the northern and southern end. It is very dark around you. Your feet are wet.

> n

You emerge from the tunnel into bright sunshine. You are standing on smooth stones in a broad flat stream. The bank slopes up gently to the east and west into dense grasses and underbrush. The stream continues north into the woods.

> n

You are on the bank of the stream facing north. You are at the edge of the woods. The stream runs north and south.

> look south

Finding the culvert 6: looking back


You are facing south looking at back at the tunnel. It emerges from a steep hillside. You can see the guardrail of the turnpike on the top of the hill.

> n

The banks steepen. It is darker here since the trees block the sun. The creek continues north to south.

> n

The creek comes to a tributary flowing into it from the west. The main creek continues north.

> look west

The tributary is a small stream. The bank around it is marshy and it lies in a broad, shallow valley.

> w

The small stream winds nortwest. There is a small wooden bridge crossing the stream.

> look at bridge

It is a split log laid across the stream. It connects a trail from the southwest to the northeast.

> ne

You climb onto the bridge and walk northeast. You are on a cleared trail through the woods. It looks like your back on the LHHT!

ADVENTURE!

Actually the real adventure came a few minute after I was back on the trail: I turned the corner and there was a big cat–in the “big cat family” sense not the “large housecat” sense–on the trail. It was 50 feet up the trail facing away from me. It’s shoulders came to the height of the undergrowth, no more than two feet. It had the long swooping tail of a mountain lion, though their existence in Pennsylvania open to debate.

I reached for my camera and it ran into the woods. It crouched behind a log and watched me walk away.

It was a mile more to the Turnpike shelters (mile 38.2)

Monday, 2011-06-13

Wear & tearThe northern end of the trail has less trees which means more UV, also more trekking-pole stopping underbrush. Miserable. I was scheduled to be hiking the same ground the next day on the southbound leg of the trip; the thought was not appealing. I stopped on top of a ridge to call Jeanne. She was going to hike from Ohiopyle to the southermost shelters Friday then hike out with me on Saturday and graciously drive me home. “But maybe” I thought “she would rather meet me at the northern end and still graciously drive me home.” But since I just got her voicemail I had no idea.

I made it to my scheduled stop, the northernmost shelters (PA 56, mile 64.9). It darkened while I was gathering firewood and fireflies came out in force. Their sparks created a beautiful parallax between the layers of trees.

Later there was another set of sparks when steam pressure burst a wet log, showering the inside of the shelter with embers. The only casualty was my map bag.

Tuesday, 2011-06-14

The endIt was a fast 5 mile downhill hike to the northern terminus.

I saw two dogs. Halfway down I turned a corner to find a black lab. She bolted away from me. “That’s Princess” said her accompanying human “he’s my brother’s dog.” I stood well off the trail as he called her. She came back and he held her collar and led her past. She held her head low and gazed up at me nervously.

At mile marker 70, the end of the trail, a German Shepard mix barked loudly. Vince came after her and explained that “[the dog] just liked to talk.” I mentioned I was deciding between hiking back or heading to Johnstown to catch a bus. He offered a drive me to Jonhstown and it was settled.

On the ride he told me about his house in Seward, the floods, his dog–a feral stray they domesticated and the proven existence of mountain lions in Pennsylvania: his dog had chased one into the woods months previous. He dropped me off at Our Sons. I had breakfast steak and eggs and started the walk into Johnstown proper.

Enterprise was out of cars and Amtrak didn’t head westbound until 6, so I settled for the mid-afternoon Greyhound. The delay gave me time to walk to a thrift store for some civilian clothes and then to check out downtown.

Buck's Hobby Craft SuppliesDowntown suffered from flight to the surrounding malls and many of the business were closed. One that was still open was Buck’s Hobby, which was having a moving sale. I walked the aisles slowly and then talked to Buck himself. He had owned the store for [an obscenely high number of] years and was finally retiring.

I had lunch at The Fish Boat and then went outside to wait half an hour for the bus.

The bus was mostly empty so I sat my pack on the ground beside me. My trekking poles stuck up awkwardly. “What are those?” the obese woman across the aisle asked. “Trekking poles” I answered. She went back to sleep.

The next weekend

Since I still needed to get my bike from Ohiopyle and Jeanne still wanted to test out equipment for her upcoming PCT hike, we stuck with the original plan. I rode with her from Pittsburgh to Ohiopyle the next Friday afternoon. A mile away her car made the soft *whump* *whump* *whump* of a flat tire. We stopped at the Cucumber Falls parking lot to take a look. The tires were inflated but badly worn on the inner shoulders: in some places the wire mesh was protruding.

Deciding to deal with it the next day we hiked the 6 miles to the first shelters, arriving right before the rain. We scavenged wood and made a fire. It was great for me in my minimalist quilt, but Jeanne was a sweaty mess in her down bag.

We hiked back out the next morning.

I retrieved my lock and then my bike. I looked for Montana to give him his ice cream prize but he was somewhere down the mighty river, perched on a rock taking capturing awkward pictures of amateur rafters. We got ice cream for ourselves.

There didn’t seem to be any good nearby mechanics so instead used the scissor jack from Jeanne’s flat kit to swap the front and rear wheels on the driver’s side–the more worn side–of the car. We drove a few miles and checked the tires. The driver’s front, the one just rotated from the back, showed no extra wear. We guessed the problem had been going on for awhile and the tires were’t going to explode on the Turnpike. (Jeanne’s mechanic later confirmed that it was the alignment)

We drove back to Pittsburgh.

Final thoughts

I don’t have the patience or mental constitution for out and back hikes. Also I could use a change from Eastern U.S. deciduous forests. And I also need to stop turning every hike into a trail run and instead just enjoy the outdoors. So: find 5-7 day hikes on new terrain and pack a nice camera and a book of local flora and fauna.

Breakfast, lunch, dinnerMy equipment is starting to come together. I think I might move to a larger tarp and ground sheet instead of the tiny tarp & light bivy: much more ground coverage for only a few extra grams. I also need to figure out some good trekking pants and insulated base layers–maybe this is the excuse to finally get down the sewing machine and pay a visit to thru-hiker.

Most importantly I’ve got to figure out a better food system. My attempt at ultra-lightweight cold food–2100 kCal of nuts & berries per day–was a failure. I was hungry and craved both sweets and salt, more salted nuts and chocolate chips would have been a good start. It was also far too few calories. In three days I lost 4 pounds and 4% body fat. I also ordered a Bush Buddy: I’ll enjoy cooking more on found fuel; I can always pack a few Esbit tablets for wet days and emergency fires.

Links

More photos


2011-05-25 / 10:13 /

Hey blog people,

I gave you last year off but don’t worry: I’m back! I’m riding the MS-150 again. It’s a fundraiser for the National Mutliple Sclerosis Society, etc. etc. Anyway, it’s a good cause. You can sponsor me online on the MS Society fundraising page or send me a check made out to “The National MS Society” or hand me a big sweaty wad of cash.

Full disclosure: I’m not actually doing the MS-150 route. Instead I’m riding 75 miles from Pittsburgh to Ohiopyle, then hiking the 70 (+8 mile detour) on the Laurel Highland Trail from Ohiopyle to Johnstown then hiking the 78 miles back to Ohiopyle then riding the 75 miles back to Pittsburgh. If you’re having trouble visualizing, it’s:

Cervelo S1, side view

+

Tent pitching, pitching tent


2011-02-13 / 11:56 /

Next in the continuing series of Lest I Forget Again–in which I blog things that I should know but keep forgetting–installing the Python packaging tools.

As of February 2011 it looks like distribute, pip and virtualenv are the tools of choice.

Below is what I did for the combination of Windows 7, cygwin and the Windows (not-cygwin) binary release of Python 2.7. If you want real instructions you should check out The Hitchhiker’s Guide to Packaging (THGTP), especially the section on installation.

Install distribute

distribute includes setuptools and easy_install which you need to install pip. This is as easy as.

$ wget http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py

This downloads the distribution archive to a temporary folder and installs it so you don’t even muddy up your cwd. You’ve now got the distribute in your Python Lib directory and easy_install.

Install pip

pip can be installed directly by easy_install.

$ easy_install pip

I extracted the tar by hand because I’d already downloaded it, but for future use easy_install is a better bet since it will get the latest version.

pip also comes built in to virtualenv (see below) but I prefer to install it standalone.

Install virtualenv (optional)

Several packages I need (e.g. cx_Oracle) don’t install via pip so virtualenv isn’t as handy for me. Still a nice idea for apps that you plan to ship, I used it for some pre-pyramid pylons stuff.

So cx_Oracle installs easiest as a binary package against a Python Windows binary. But since cmd is awful, I only ever run bash on cygwin. Unfortunately this combination of Win32 Python running on cygwin leads to a bug in virtualenv: it doesn’t install the activate script.

Last year I wrote a patch to go with the bug but this time I wanted to try the power of distributed source control so I made a BitBucket patch queue (read more about Patch Queues here).

$ hg qclone https://bitbucket.org/dgingrich/virtualenv-cygwin32
$ cd virtualenv-cygwin32
$ hg qpush -a
$ python setup.py install

Profit!


2010-04-13 / 22:31 /

Dub isn’t a heavy-handed bass line or some person pounding drums like a rock musician or anything that sounds like “reggae,” but more of a way of thinking, of cracking songs open and having the edges bleed together.

Jace Clayton

I AM SO EXCITED! See you there!.


2010-04-07 / 16:32 /

Precision Therapeutics, Inc: Job Description

Job Title: Informatics Intern
Department: Informatics

The Opportunity

Precision Therapeutics, Inc. is a diagnostics services company dedicated to providing physicians and patients with actionable clinical information to personalize cancer treatments. We are currently seeking an Informatics Intern.

Duties and Responsibilities

(Include the following: other duties may be assigned)
The goal is to do a thorough investigation on the best way to measure in vitro chemosensitivity generated by ChemoFx assays. Traditionally the two major schools of thought are IC50 and AUC of the dose-response curves. Due to the special features of the curves from ChemoFx assays (e.g. non-monotone, resistant lines do not respond, non-sigmoidal), there are some AUC derivative metrics (such as aAUC, tAUC) that are intended to account for the curve characteristics that are not captured by AUC. However, it has been unclear which measure is the ‘best’, and it is difficult not to pre-specify this in a protocol.

The current thought is that this research involves two components. (1). Mathematically, what is the optimal way to quantify a dose-response curve from in vitro assays? This step involves the combination of mathematical models AND the knowledge of in vitro biology (especially w.r.t. how ChemoFx is setup). Both parametric models (such as logistic regression model, polynomial model; as well as the choice of IC50, IC25, etc) and non-parametric models (e.g. AUC and its derivatives, smoothing spline) need to be considered. (2). Use clinical data that have already demonstrated the ‘link’ between ChemoFx assay and clinical outcome to compare the performance of different metrics. This can be achieved by in-sample cross-validation approaches or by using multiple independent datasets.

Qualifications

Education requirements

  • Graduate student with 2 years towards PhD in Statistics

Experience

  • No prior working experience is needed

Required Skills

  • R and/or SAS programming
  • Good communication skills and writing skills
  • Able to perform statistical simulations

Preferred Skills

  • Knowledge of prediction and cross-validation
  • Knowledge of non-linear regression and model fitting, especially the 4-parameter logistic regression model for dose-response curves
  • Knowledge of area under the curve (AUC) calculation

If you are seeking a dynamic, challenging atmosphere, that is never boring, with a chance to make a difference and help cancer patients, email your resume to PTIResumes@ptilabs.com with the word “Informatics Intern” in the subject of the email

I didn’t write the posting, but feel free to ask me questions.


2010-04-06 / 12:56 /

Kyle Hall – Kaychunk (buy)

Or check him out live (on video).


2010-03-23 / 14:11 /

CloudFab basically works like this: Manufacturers list their machines and prices. Buyers can then upload STL files, and request quotes from all manufacturers that have a machine that can make their part. We’ve written software that analyzes the file and automatically generates a quote based on various factors, including shipping cost. That way, quotes are generated (almost) instantly. Some sellers still prefer manual quoting, and so we’ve provided that option as well. We also hold the money in escrow, to mitigate the risk for both parties in the transaction, and will do arbitration as necessary in the case of an unfortunate outcome.

CloudFab blog

Check out my super boring profile: dgingrich

PS: They’re out of Pittsburgh, if anyone wants to rep some hometown pride.


2010-03-15 / 18:32 /

In a Dired buffer in Emacs 22, use ‘M-x wdired-change-to-wdired-mode’ to to make a buffer writable (recent CVS versions also have this bound to ‘C-x C-q’). Change the filenames as you see fit and hit ‘C-c C-c’ to make your changes permanent.

EmacsWiki::WDired

File under
I wrote this blog post just so I can easily find this next time I forget
Also under
Stuff you should know if you ever need to rename a bunch of files in emacs and hate having to remember the dired key-bindings.

UPDATE: …Or just make it real easy and bind it to the “e” key.


2010-03-08 / 09:33 /

The horribly, horribly illustrated face of depression

Via Lifehacker which links to the New York Time’s article on Depression’s Upsides


2010-03-02 / 19:07 /

I didn’t do anything big for my 30th birthday with the rational that I would wait for my 25‘th birthday. Then I thought “this year I’m turning python -c 'print 0b11111'! That deserves some sort of nerd celebration!”

Then I got sick.

It didn’t stop me from having a nice dinner & some bluegrass party times on Friday night. Then Saturday I had breakfast, conned my friend into taking me to the Co-op and Trader Joe’s, and then had 18 hours of uninterrupted fevered dreams. Sunday I sat around drinking hot water to try to loosen the massive blockage in my lungs. I also did all the work I was supposed to do Saturday.

Some more anecdotes, told as a pithy definition list:

Best fevered brain sleep decision
“I’m hot but I’ll get cold later when the chills come back. I’ll take just one sock halfway off. Brilliant!
Sunshine ray
Jeanne came over and we tried to make a lemon meringue pie
Bird-poop in the eye
Lemon did not set
Insult to injury
Jeanne insisted that I do not have the flu, which is much worse. I merely have a rhinovirus
Success of blood-line / failure of technology
The fam called to sing me happy birthday over the speakerphone. It was sweet, but I couldn’t understand a damn thing they were saying when we talked afterwards

Now I’m mostly better except that I keep spitting up masses of dead, bloated T-cell and have trouble breathing when I ride my bike.

My birthday has been postponed until next weekend.


2010-02-24 / 22:24 /

As of 2010-02-20:
Flickr in German