timbornholdt.com

Proxy Issues with iPhone and Mac OS X

Like all tried and true iOS developers, I love using the excellent Charles Proxy. However, I’ve been running into issues where the proxy is running while the iPhone is attached to my Mac.

Whenever I would have Charles closed and my phone plugged in, I was getting this helpful message:

Safari can't open the page https://facebook.com because Safari
can't connect to the server https://facebook.com"

Usually, you can fix this on Wi-Fi by going into Network > Wi-Fi > Advanced Settings > Proxies, and disabling Web Proxy (HTTP) and Secure Web Proxy (HTTPS).

Unhelpfully, however, you’ll note that the iPhone USB network interface does not include an “Advanced Settings” button.

No problem! Head to your Terminal and type in the following two lines of code:

sudo networksetup -setsecurewebproxystate "iPhone USB" off
sudo networksetup -setwebproxystate "iPhone USB" off

This disables both the secure proxy and the unsecure proxy.

Recording Podcasts on the Run

In 2017, the C Tolle Run team decided to switch over to an audio-only podcast format. Instead of doing a traditional interview-style show over Skype, we came up with the idea to record Carrie and a guest while they went for a run.

As a runner myself, I know the kinds of crazy, deep, personal, and often crazy conversations that occur during the course of a 10 mile run.

As the guy responsible for capturing the audio on one of these runs, however, I was a little worried. Even if we were recording people walking, we’d have issues with wind. What are we supposed to do with people running? All of that movement is a recipe for poor audio quality.

Another issue we have is that we haven’t quite hit the jackpot with sponsors yet, so I needed to find a suitable solution while running on a tight budget.

If you’re reading this, you’re probably looking for a good solution for a similar set of circumstances. Let me save you the time and show you what I came up with!


What didn’t work

In order to get to a point where we were capturing usable audio, we experimented quite a bit. Here was our first setup:

IMG_3561

Take 1 included our guests using a Sony lavalier microphone with a standard, flimsy wind guard attached to it.

We quickly discovered that the Auray Fuzzy Windbuster wind guards provided a night and day difference in ability to block out wind. However, the guards did not stay attached to the microphones all that well, which is obvious if you listen to our episode with Gabe Grunewald.

In addition, because of all the movement that occurs from running, we would frequently hear rhythmic bumping and rubbing due to the cords pulling in odd places on the runners.

What does work

Transmitting the signal

Our primary goal was to get the highest quality signal we can get with the most minimal amount of equipment possible. We figured that the easiest way to do that is to switch to headset microphones.

We now use the Sony ECM322BMP Professional Headset Microphone. In our most recent on the run episode with Kirk DeWindt, both Kirk and Carrie found the headsets to be relatively comfortable, and after a couple minutes, they didn’t even notice they were wearing them.

One word of warning: make sure whatever headset mic you purchase is compatible with your wireless system. I can’t give a direct Amazon link to our wireless system since we bought it 7 years ago, but the modern comparison would be the Sony UWPD11/30 Lavalier Microphone, Bodypack TX and Portable RX Wireless System. We went through 3 different headset mics before just giving in and dropping the money for the mic that was compatible with our “ancient” system.

Regardless of which headset mic you get, the key piece to cutting down on wind noise is the Auray Fuzzy Windbuster wind guards. Buy at least 6 of these little guys, they are worth every penny. (Pro tip: we went through 2 of these buggers before we got smart and put some gaffer’s tape around the base of the wind guard to keep it attached to the neck of the mic.)

The position of the transmitter pack seems to not really be an issue for us, so long as:

  • The antenna has a good line of sight to the receiver
  • The cable connecting the headset and transmitter gets a little slack
  • They don’t place the transmitter in the same pocket as a phone

We purchased wireless microphone belts to hold our packs, mostly so we didn’t have to fuss with people wondering where the transmitter should go, but those are totally optional.

Receiving the signal

Ideally, we are working to get the receiving end down to a point where Carrie can strap it onto herself and record as she travels around the world.

Currently, the receiving rig is powered by yours truly, following the guests on a bike roughly 10-20 feet back

The receivers for the wireless mics are plugged into a Zoom H4n recorder. All three components are strapped into a repurposed water bottle holder (pictured above, which doubles as a great indicator to my personal fashion sense).

Once I turn on the recorder, I immediately hit record and lock it before even plugging in the microphones. My biggest fear is losing audio, and since these things can record hundreds of hours at a time, I’d rather scrub through the audio in post than risk forgetting to hit “go” once the runners are ready.

Next Steps

Currently, our rig is limited to the two inputs of the H4n. The next two things I’d love to tackle are live streaming the audio to my phone so I can do a Facebook Live stream, and recording more than two people at once.

If you have any ideas how I can stream the audio off of a Zoom H4n into an iPhone, or how I can best record multiple people at once, let me know on Twitter and I’ll give it a shot!

Also, I’ll keep this blog post updated as we refine this system. If you have any suggestions on how I can improve it, give me a shout on Twitter!

One last note: those links above are Amazon Affiliate links. Feel free to strip that code off if you are offended by those types of things.

Saving images locally using the Paperclip gem on Linux

Like most red-blooded Ruby on Rails developers, I make copious use of the Paperclip gem.

Paperclip (and basically, every developer on the internet) seems to encourage you to use a service like Amazon S3 or some other 3rd party service to store your files.

However, I find that for simple projects, I’m just fine storing the images locally on my Linux server and using good ol’ Apache to serve them up.

By default, Paperclip saves these images in your public/system folder, and assigns the same permissions as your Rails app to those images.

The problem I run into is that frequently, it doesn’t use the right permissions. I’d be able to upload and save the image, but when I’d load the image, I’d get a 403 error.

In order to solve that issue, you need to set the correct permissions for your public/system/[model] directory.

Here’s how to quickly solve that:

1) SSH into your public/system/[model] directory
2) Run “umask 002“. This will allow your Linux group to write into this directory.
3) Run “chgrp [your-systems-group] .“. In my case, that’s www-data. This will change the ownership of the folder to your group.

Now, all the files in your folders (and all subsequently created files) will belong to the correct group, and you won’t see any more nasty 403 errors!

First Anniversary Weekend

Our first anniversary weekend kicked off on Friday afternoon with a trip to the grand opening of Bad Weather Brewing off of West 7th in St. Paul.

Bad Weather Brewing

It was absolutely packed in there. A nice couple gave us their spot at this rock structure, so we gratefully took it. The brews were decent, and the tap room itself was fairly impressive.


After the brewery, we took the light rail downtown. We grabbed a quick bite at a nice little Panera-esque restaurant in the IDS, and then we walked over to the Orpheum to see The Little Mermaid. Shannon ended up winning some contest where she got to pay $25 for any remaining seat in the house. We ended up sitting in row U on the main floor.

IMG_1137

The show itself was decent. There were quite a few technical glitches (mics cutting in and out, light cues not hitting right), and we sat next to an obnoxious group of drunk people who needed to impress the crowd with their versions of Under the Sea. We were quite impressed, however, with the use of the fly system to emulate “swimming”. Quite a nifty stage trick.


The next day, Shannon and I woke up early to drop off bagels for her work, and then we drove up to Taylors Falls. We stopped at an awesome bakery in Lundstrom off Highway 8 and had some delicious donuts.

IMG_1142

Once we got to Taylors Falls, we hiked along the river. Despite some light traffic noise and an unseasonably hot day, it was a gorgeous hike. The fall colors were absolutely breathtaking.

IMG_1145

IMG_1146

IMG_1167


On the way home from Taylors Falls, we figured we were close enough to Stillwater, so we drove down to Lift Bridge Brewery and tried a few of their brews.

IMG_1179
(from left to right: Mini Donut Beer, Citra Kellerbier, Oktoberfest, Harvestör Fresh Hop Ale)

All four beers were pretty decent, but man, that Mini Donut Beer was out of this world good. What can I say: I’m a sucker for the novelty beers. Shannon and I tried to purchase a growler of it, but that wasn’t in the cards. Dang.


After we had our fill of Mini Donut Beer, we decided lunch was in order, and it wouldn’t be a complete anniversary weekend without a trip to Leeann Chin.

IMG_1187

IMG_1188

I also got my haircut at Great Clips. We’re a Great Clips family now, by the way. More on that to come in the next couple of weeks (I hope!)


With a freshly full belly and a neatly trimmed set of hair, we decided to detour on our way home to Big Wood Brewing Company in White Bear Lake.

IMG_1189

big wood brews
(from left to right, top to bottom: Bark Bite IPA, Board #4, Fork, Oktimberfest, Lil’ Red Riding Wood)

I think we were both a little full from all the Chin and Mini Donut Beer, so maybe we shouldn’t have done the heavy flight… but on the whole, the brews there were pretty good. Their Bark Bite is definitely deserving of “flagship status”.

We left Big Wood and wandered around White Bear Lake a little bit, and then we finally headed home.


One of our other friends mentioned that for a fancy date night one time, they did their own surf and turf at home. That sounded like an affordable way to have a fancy dinner on our anniversary, and since we spent all of our money on beer and Little Mermaid tickets, we figured we could do things ourselves.

IMG_1202

IMG_1200
(I have to admit, it was a little weird eating lobster after seeing The Little Mermaid.)

The meal was phenomenal. We bought a pre-cooked lobster and steamed it in a pot, and we bought a steak that was big enough for the both of us. We accompanied it with some sweet potato fries and a little salad. My wife had to be extra sweet to me and sauté a bunch of mushrooms (which she hates, but knows I love).

We capped it off with some homemade chocolate cake and berries. I got to dust the powered sugar myself. Once we demolished this excellent deserts, we watched the latest episode of Empire and fell asleep early.

IMG_1205


On Sunday (our actual anniversary), I rolled out of bed around 8am and got my 10 mile run in (prep work for the Seattle Marathon in a few weeks).

After that, we got all gussied up and drove down to St. Anthony Main for a Sunday brunch at the Nicollet Island Inn.

We had the 5 course meal, which included:

IMG_1210

A pastry basket. That bread (not pictured) was so moist and delicious.

IMG_1211

Angel Food French Toast.

IMG_1213

Lobster bruschetta with avocado.

IMG_1215

Mushroom Gnocchi. Oh my goodness, that was incredible. I’m definitely a gnocchi fan.

IMG_1216

Chocolate mousse.

Overall, the experience and the food were incredible; if you’re looking for a top-notch place to bring your significant other on a fancy Sunday morning brunch, look no further than the Nicollet Island Inn.


The rest of our Sunday was pretty much a normal Sunday. We got back home and watched the Packers barely edge one out over the Rams (hah), and then we tried to avoid the unseasonable 80 degree heatwave. We did end up getting over to my parent’s house to help my mom prepare for her knee replacement surgery later that week, but besides that, it was quite uneventful.


They say that the first year of marriage is the most difficult. If that’s the case, then the rest of our lives should be smooth sailing. I’m so lucky to have found the perfect woman for me, and I am looking forward to many, many more anniversaries together.

IMG_6795

C Tolle Run – Gabe Grunewald – 3000m Indoor National Champion


Warning: file_get_contents(https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails&id=awOk9f1s0KI&key=1) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /home1/timmyb93/public_html/blog/wp-content/plugins/youtube-embed/includes/api-access.php on line 99

There was quite a bit of drama surrounding Gabe’s dominant victory in the 3000m this past weekend, but now that the dust has settled and the proper rulings have been made, Gabe can finally call herself a National Champion.

Gabe is easily one of the nicest people I’ve ever had the pleasure of meeting. We’ve only met three times, but when we got to her place to interview her, she greeted us with hugs and genuinely seemed interested in how we were doing. I couldn’t be happier for Gabe, and best of luck in Poland! (And if you ever figure out the secret sauce to your ridiculous kick, please let us all know.)

My iPhone Home Screen – December 2013 Edition

Here’s what my home screen looks like as of December 2013:

IMG_5864

Besides the standard apps (Messages, Photos, Camera, etc.), here’s a breakdown of the other apps I use:

  • Fantastical: Natural language input makes this app throughly indispensable. Being able to just tap the mic icon and speak my appointment makes me really feel like I’m living in the future.
  • Runmeter: Any run I do outdoors, I log with Runmeter. I’ve been using it for years, and it’s the most accurate and robust running app I’ve ever used. I just recently got a heart rate monitor that pairs with it, so I’m excited to see how that integration will aid my training.
  • Check the Weater: The simplicity of this app combined with its Dark Sky integration make it the only weather app I need to try. Plus, David Smith is an awesome developer (and human being).
  • Google Maps: I’ll occasionally use Apple Maps, and while it’s definitely improving, it’s still bit me too many times to trust on a day-to-day basis.
  • Instapaper: All long-form articles go in here for future reading. If you’re not using a read it later type service, you’re missing out on a much more satisfying reading experience.
  • Untappd: I’ve become much more of a beer enthusiast in the past year, and that’s almost entirely due to this app. Untappd lets you log beers you’ve tried and suggests new ones to try. It has certainly turned beer discovery into a fun game.
  • Scanner Pro: Apple recently made this app free for a week, and for great reason. I switched over to this app to log my business receipts about a year ago, and it’s ability to auto-detect borders and quickly upload to Dropbox have made this app worth every penny I’ve paid for it.
  • Day One: I made it a goal part-way through 2013 to start journaling once a week, and Day One is, bar none, the best journaling app on the App Store. Every Friday, I crank this bad boy open and review my week’s progress. Every entry gets a picture as well, so that has encouraged me to keep photographing the exciting (or mundane) parts of my life.
  • Twitterrific: I haven’t tried Tweetbot, and thanks to this app, I really see no reason to. This app helps me manage my Twitter accounts very easily, and it looks gorgeous to boot. I also really enjoy the cool egg “pull-to-refresh” animation.
  • Reeder: There’s no better way to manage your RSS feeds than Reeder (combined with Feed Wrangler). The only thing I wish it did was allow you to send links to Reminders as a new reminder. But besides that, this is a fantastic example of an iOS 7 app, complete with gestures and the like.
  • Castro: Speaking of amazing apps designed with iOS 7 in mind, Castro is a new podcast app that is crazy beautiful. The app is lacking in a couple of key features, like OPML import support and continuous play (and I also miss the gesture-based 30 second skip that Downcast uses), but it’s pretty certain that those features will be added in time.

New Front Page Design

It was around this same time last year that I updated timbornholdt.com, and I figured I was due for a bit of a redesign as well.

This time, I went a bit more simplistic: just one page with a short biography and links to some choice projects.

I’d love to hear what you think. Holler at me on Twitter.

C Tolle Run – Carrie’s 5 Minute Ab Workout


Warning: file_get_contents(https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails&id=Yk5hr_U4zqk&key=1) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /home1/timmyb93/public_html/blog/wp-content/plugins/youtube-embed/includes/api-access.php on line 99

Sometimes, the simplest videos are the best. All we needed was Carrie and 6 minutes of tape to make what will ultimately become one of our most-watched episodes.

I love this ab workout as well. Carrie said she typically doubles each workout so it ends up being 1 minute per exercise instead of 30 seconds. I’m proud to say I can keep up with most of the extended version; I actually love doing old-school crunches. It’s Katie’s maintenance routine filled with planks and bridges that kill me.

C Tolle Run – Tollefsons Tackle Twin Cities


Warning: file_get_contents(https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails&id=zkKLZ8_JzJA&key=1) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /home1/timmyb93/public_html/blog/wp-content/plugins/youtube-embed/includes/api-access.php on line 99

I’m so proud of Carrie for finishing her first marathon. Documenting the entire process was fun in and of itself, but being able to bike the entire course to watch her along the way was really something.

My job on race day was to bike around the course and get Carrie at key points. I ended up biking just under 50 miles that day. I didn’t start to hurt until I crossed into St. Paul on Lake Street, but the real pain kicked in when the rain began to pour in the afternoon. Shannon ended up having to pick me up about 2 miles from home because I was so tired and covered in sand.

C Tolle Run – Fitness Apps for iPhone and Android


Warning: file_get_contents(https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails&id=lGE8ttMGlJQ&key=1) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /home1/timmyb93/public_html/blog/wp-content/plugins/youtube-embed/includes/api-access.php on line 99

I had the pleasure of switching roles and being in front of the camera this time. I can honestly say that I have, at one point, used all of these apps to become a better athlete, and I actually use two of them (Runmeter and Check The Weather) on a daily basis.

It was also nice to get a little plug in for the Jed Mahonis Group as well.