blog

C Tolle Run - Andrew Carlson

originally shared here on

Andrew is a really fun guy to interview, and he and Carrie have a great chat about the cancellation of the NYC Marathon and his unreal performances at the Olympic Trials and the Houston Marathon.

But just in case you're not all that interested in elite athlete recovery, feel free to jump to 4:25, where Carrie says she wants to take a tour of Andrew's apartment. This was, perhaps, one of my favorite spots I've cut for C Tolle Run so far.


C Tolle Run - Cooking with Carrie: Deena Kastor's Hearty Winter Chili

originally shared here on

Another cooking episode. I didn't have time to grab our normal tripod, so I had to shoot this with the tripod Dale "found" at the middle school he works at. No wonder they were throwing that thing out.

Also, our wireless lav mics were giving me a lot of problems. I'm almost certain it's interference, which means I need to start getting good at setting the frequencies on those puppies.

On a lighter note, my favorite part of this episode was getting to sample some Midnight Ryder from Indeed Brewing. Some seriously great beer.


Trying to put vertically-scrolling text in a UIScrollView? Don't.

originally shared here on

It took me about 3 hours of research and pulling my hair out to try and implement a UIScrollView that just scrolls a bunch of text vertically.

Turns out UIScrollView is for images, and UITextView is for text.

Talk about your ultimate face palm.


C Tolle Run - New Year's Resolutions

originally shared here on

A new year calls for new opening credits. We tried to do something different this year, so we garnered inspiration from The Mindy Project and tried to make things a little more funky. Since it can be overplayed, I was a little worried about doing an episode on New Year's Resolutions. I think that we executed quite well, thanks in no small part to Carrie's personality and the good people who recorded resolutions for us.


C Tolle Run - Agility for Pregnant Women

originally shared here on

Because the host of our show is pregnant, we thought it would be a perfect opportunity to do a series of episodes that would help mothers-to-be to stay fit and healthy during their pregnancies.

Even if you're not a pregnant woman, you will still really enjoy this episode.

Reason 1: this episode features show-favorite Bill Welle of Welle Fast. Carrie and Bill have a fantastic rapport that absolutely shines on film. The episode actually gets more funny as it goes, so be sure to watch through the end.

Reason 2: even though the exercises are modified to account for her condition, anyone can apply the principles preached in this segment to their own routines.

I really like Bill's approach of throwing additional stabilization moves in with "regular" lifts (e.g. Single-Legged Bicep Curls or Stability Ball Bench Press).


Activating my Xfinity Cisco RNG 100 Cable Box

originally shared here on

As someone with enough tech savvy to run an iOS development company, you'd think installing an Xfinity cable box wouldn't be an issue for me, right?

Well, after 2 days of pain, frustration and brainstorming, I finally was able to activate my own cable box without needing to pay the extra $60 to have someone come out to my house to show me how to plug in a coaxial cable.

And, in an effort to save you, the intrepid Googler, some time and energy, I figured I could provide a quick tip for getting your box to work as well.

Here's the problem I was facing: I plugged the box in, hooked in the cables and powered it up. What would happen is the following sequence:

  • The data light would hold solid for a few seconds
  • The remote light would hold solid for a few secounds
  • The power light would hold solid for a few seconds
  • The power light would then blink off and on, roughly 14 times
  • The power light would then shut off, with apparently no action being taken by the box

Because the physical coaxial cable that runs into our living room is simply awful[1. The cable goes out the window from the basement and through the window in our living room. Yes, the windows are both shut. Yes, the cable looks like a flattened pancake. No, I don't understand why our landlord doesn't just drill a hole through the ceiling and run the cable through that.], I tried plugging the box directly into the line that connects to our cable drop. This resulted in a similar sequence of events.

Frustrated, I started smashing buttons on the remote control provided by Xfinity. I ended up getting into the diagnostic/settings menu, which showed that I wasn't getting any connection to the cable company.

Before giving up and dropping TV from Xfinity, I decided to see what would happen if I utilized the ethernet port provided on the back.

And what do you know? It worked!

So, if you're having problems receiving a signal to your Cisco RNG 100, try running an ethernet cable between your box and your router. After 2 minutes of waiting, the box showed the "Not Authorized" message and I was on my way.

Now, I can finally enjoy standard definition cable on my 46" Sony XBR6[2. Yeah, I should probably upgrade my box to HD. But since I'm probably not going to be watching much cable, and my girlfriend doesn't care, I think I'd be happer with the $10/m]. Horray!

Update (12/18/12): I've noticed that if you disconnect the power to this box and plug it back in, it takes a very long time to boot. It makes no sense to me why Cisco couldn't implement some sort of "loading" screen during boot, but regardless: if your box appears unresponsive, you really should give it a good 10 minutes before freaking out and punching a hole in your drywall.


CTolleRun.com Redesign


🔗 a linked post to ctollerun.com » — originally shared here on

This week, we launched version 3 of CTolleRun.com. It's the result of several months of planning, organizing and development, and I thought I would take a few moments to share exactly what we've changed and the process behind it.

Our last redesign of the webpage was earlier this year. Truthfully, the site was rushed out in a hurry because we needed to have something live, so I pushed it out with the intention of upgrading it piece-by-piece down the line. Of course, we never got around to actually upgrading anything, and ultimately, we decided that time would be better spent on re-building from the ground-up.

The biggest conceptual change on the site was to give each episode its own page. This would give us a chance to better showcase our content, as well as drive our SEO. In order to implement this, however, required implementing a more robust, custom CMS1. Before this redesign, we were able to input the basic information: episode name, description, YouTube link, etc. Now, we are able to add several elements which make each page unique and more appealing for our viewers:

Links Almost every podcast I admire includes a list of links with each episode. This makes it easy to give viewers the chance to dive deeper into a specific topic, as well as share links we've mentioned in the episode. It also allows us to drive more traffic to the photo albums we've uploaded to Facebook.

Featured Guests We have the luxury of having some pretty awesome people on our show. Unfortunately, many of the guests we've had on our show aren't yet household names. Many people know who Kara Goucher is, but not a lot of people recognize Hassan Mead. If a viewer doesn't recognize who they're about to watch, it doesn't give them a lot of incentive to watch the episode.

To combat this, we included a short biography of each guest. We figured it's a simple way to boost viewership of those episodes as well as rank them higher on Google. In the future, I'm hoping to add links to these guest's social media accounts, as well as personal blogs or team pages.

Sponsors Before I became an avid podcast consumer (and creator), I loathed advertising. I ran ad-blockers on all my computers and I skipped over every sponsorship spot I possibly could.

It's really a shame, though, because a lot of the advertisers who throw money at podcasts like ours really seem to get it. They just want to put their product or race in the hands of people who maybe would've never even heard of it otherwise.

It's understandable that you don't want ads shoved down your face, though, which is why we've presented our ads in the ways we have. Each episode with a sponsor gets mentioned at the top of the show, and each sponsor gets an ad permanently embedded on the episode's page. We also have two "title sponsor" spots that are prominently displayed on the main page. That's it.

We think this is win-win-win: we are able to get you in touch with our sponsors, our sponsors are able to get permanent placements of their product and you are able to find out about some cool products, services and races without being hassled.

Social Media A huge focus for this redesign was to better integrate the site with social media. Here's what we did to optimize for our key three networks:

Facebook: If you're a developer, and you're not using Open Graph tags, you're missing out. By using Open Graph tags, we were able to turn our bland-looking links into this:

An added bonus: if you specify the OG tags for og:video and og:video-type, Facebook will embed the YouTube video in-line! Here's the code I used for that: <meta property="og:video" content="http://www.youtube.com/v/<? echo $youtubeID; ?>?version=3&autohide=1" /> <meta property="og:video:type" content="application/x-shockwave-flash" /> Twitter: If you're not simply sharing an article or some photos, Twitter's new Cards functionality is a bit more complex than simply adding OG tags. In order to make a functioning Player Card, Twitter wants you to build a page that gets embedded in an IFRAME. In a similar vein to what we're doing with Facebook, we're standing on the shoulders of giants and simply embedding YouTube's Player Card with our episode ID passed through: <meta name="twitter:card" content="player" /> <meta name="twitter:site" content="@CTolleRun" /> <meta name="twitter:player" content="https://www.youtube.com/embed/ echo $youtubeID; ?>" /> <meta name="twitter:player:width" content="640" /> <meta name="twitter:player:height" content="360" />

And out comes this:

Note that the Twitter Card API requires the use of twitter:title, twitter:description, twitter:image and so forth. Thankfully, if you're already using og:title, og:description, og:image and so forth, you don't need to re-include them.

Pinterest: Unfortunately, Pinterest doesn't have a public-facing API yet. Essentially, all we can do is include a "Pin It" button for each episode. We'd really like to get a bigger presence on Pinterest, however, because it seems like a good portion of our target audience is there. Here's hoping for that API soon!

A note about Google+, App.net, etc.: I think it's important to not get too crazy with social networks. Sure, it's easy enough to drop a +1 button on each page, as well as a hundred other buttons. However, for each service you include, you're not only adding more visual clutter to your page; you're increasing the page's load time by executing a hundred different pieces of remote Javascript code.

If we get a huge demand to add another service to our site, or if Facebook loses a million followers, we'll go there. We're not dummies, but we're also not in the business of predicting which services will be the best. Facebook, Twitter and Pinterest seem to be our best options today. We'll adapt as time goes on.

More Robust RSS Feeds Our RSS feeds (video and audio) aren't the most popular way to get our episodes2, but it's my personal favorite, so I made an effort to optimize this experience as well. Each item in the feed includes the linked list as well as the episode's sponsors. We also include the file size and run time of each episode, which means the fancy podcast clients will be able to show that information without any big-city processing on their end.

MailChimp We converted our mailing list over to the incomparable MailChimp. It's everything you could possibly want in a mailing list provider, but for free. My only gripe with them thus far is that the templates aren't 100% customizable, but it's just about the only fault I can find with them. Seriously, if you do mailing lists, you should be doing them through MailChimp.

Front Page Slide Show Whenever a client requests a rotating slide show, my go-to choice has always been Nivo Slider. For this project, however, I needed a solution that allowed me to use two <div> tags for a caption (one on top, one on bottom). With Nivo Slider, the solution I came up with was to put two smaller <div>'s into 1 giant <div>. Unfortunately, that meant the image wasn't clickable, which defeated the purpose of the slider.

I tried a few different sliders and ultimately settled on Camera by Pixedelic. This awesome slider allowed me to place as many <div>'s (or any other kind of crazy mark-up) on top of the image while maintaining its clickablilty. My only gripe is that the slideshow doesn't work as well in IE, which is, of course, no surprise to anyone.

Internet Explorer Fixes Speaking of every web developer's best friend, Internet Explorer provided the majority of trouble for this redesign. I kept getting alignment issues with IE while using Nathan Smith's excellent 960 Grid System, so instead of learning a whole new system (like the Responsive Grid System which I'm highly considering for future projects), I just added the <meta> tag which forces IE to render everything as if its IE7 (even if you're on a newer version):

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Of course, this is a very inelegant solution, but I'm just sick of wasting so much time making sites look good in IE when every other browser (even Opera) gives me less guff.

Embedded Tweets in the Footer It's all about keeping your site fresh and up to date, right? I thought the best way to do this was to write a script that cached our latest Tweet server-side. I'm not sure if it fully complies with the infamous Rules of the Road, but since our use doesn't really allow for tons of Branding®©™, I think we'll be okay.

I ended up using WebcodingEasy.com's fantastic Convert twitter created_at time format to ago format script to make our time appear like Twitter's "12 minutes ago" format, as well as another open source script (which I, embarrassingly, can't find right now) to convert all tweeted links into clickable links.

The toughest part was writing the Tweet caching script. Essentially, my script reads a Tweet which was saved onto the sever from the Twitter API. When it's saved, I append a variable called cached_Tweet_Time along with the current server time. When someone loads the footer, it will read the cached Tweet and check the time. If it's less than a minute old, the script returns the Tweet from the server. If it's more than a minute old, it fetches a Tweet from Twitter. If anyone is interested in the source code, let me know and I'll post it here.

In the future, I'd like to append the script so it only returns Tweets which aren't "at-replies".

In Conclusion This has been one of the most ambitious site designs I've ever completed3, and I am quite pleased with how it has turned out. Front-end design has never been my strong suit; in fact, most of my designs end up looking the same. This time, however, I forced myself to look outside of my wheelhouse and try something new. I hope you guys like it, and if you have any questions, let me know.


  1. Before this redesign, we were running everything on a custom CMS that was integrated with our owner's race results page. The new CMS consists of multiple, custom databases which all link together. :adjusts nerd glasses: 

  2. I believe (as of a few weeks ago) we have a combined total of 120 subscribers to these feeds, which is in the ballpark to how many people reach our page through our e-mail newsletters. 

  3. The only bigger project I can think of right now was That's Unpossible, and that underwent somewhere around 9 redesigns and spanned across 6 databases. 

Continue to the full article


C Tolle Run - Columbus Marathon 2012

originally shared here on

It's always a treat when event directors bring us out to document their race. This is the third time we've been out to the Columbus Marathon, and every time I go, it makes me want to race it. I've never seen so many people run across the finish line with smiles on their faces.


C Tolle Run - Haunted Hay Run

originally shared here on

I really enjoyed myself at this race. My girlfriend assisted on this shoot by running the entire course with a GoPro strapped to her head (thanks honey). The only horror-themed piece I've ever done was back in high school, so it was fun to try something different. If I had more time, I think I would've re-done the graphics package to be red instead of green, and I would've done an organ/halloween-style remix to the theme song to play over the closing credits, but all-in-all, I think this was a fun piece.


Run with KARE: Teaching youth to succeed in all of life's races


🔗 a linked post to kare11.com » — originally shared here on

KARE 11 used some of my b-roll from last year's Bolder Options 5k on their Run with KARE segment this past Friday. The footage begins around 2:30.

I'm very happy that I'm able to work for such a worthy organization. If you're looking for a fun 5k next September, you should definitely check it out.

Continue to the full article