PodSearch

Developing Perspective

#45: Failing in Success

 

00:00:00 ◼   ► Hello and welcome to Developing Perspective. Developing Perspective is a podcast discussing

00:00:05 ◼   ► news of note in iOS, Apple, and the like. I'm your host, David Smith. I'm an independent

00:00:10 ◼   ► iOS developer based in Herne, Virginia. Today is Friday, May 11th, and this is show number

00:00:14 ◼   ► 45. Developing Perspective is never longer than 15 minutes, so let's get started.

00:00:20 ◼   ► So if you can hear this, then the topic of this show was successful. And by that I mean

00:00:25 ◼   ► A few hours ago I had a link on marku.org, by Marku Arment, to the podcast, to what you're

00:00:34 ◼   ► listening to right now.

00:00:35 ◼   ► He was linking to an article I wrote about iOS 5.1.1 upgrade stats, which is a good read

00:00:42 ◼   ► if you're interested in that kind of thing, just sort of showing how quickly users are

00:00:47 ◼   ► upgrading to iOS 5.1.1 over updates.

00:00:51 ◼   ► That's all well and good and interesting, but the thing that I wanted to talk about

00:00:55 ◼   ► for today's show, which I wasn't expecting to do a show. It's currently about 7, 7 p.m.

00:01:00 ◼   ► Eastern time, and usually about this time I'd be at home, but instead I've just spent

00:01:05 ◼   ► the last couple of hours trying to resurrect and put back together my server configuration

00:01:10 ◼   ► that I had been hosting Developing Perspective on, and that process and kind of the, some

00:01:16 ◼   ► of the topics around that I thought were kind of interesting and might be worth a sort of

00:01:19 ◼   ► broader discussion here.

00:01:22 ◼   ► And so let's just sort of dive into that.

00:01:25 ◼   ► So I guess you could kind of start off by talking about it as

00:01:29 ◼   ► being sure that you're kind of planning for success.

00:01:32 ◼   ► So Developing Perspective started almost a year ago. I've dug it up and I think the

00:01:36 ◼   ► first episode was in July of last year.

00:01:40 ◼   ► So not quite a year, but you know, about ten

00:01:43 ◼   ► and a bit months.

00:01:44 ◼   ► And

00:01:46 ◼   ► You know, originally it started off as a project that

00:01:50 ◼   ► I just kind of wanted to do, almost to prove to myself that I could do it.

00:01:55 ◼   ► And

00:01:57 ◼   ► you know, that sort of was worthwhile. It all got started actually from an episode of

00:02:01 ◼   ► Back to Work with Merlyn Mann

00:02:03 ◼   ► where he

00:02:04 ◼   ► was talking about advice he'd give people who asked him about blogging and, you know, he did say,

00:02:08 ◼   ► "Oh, Merlyn, I want to be a successful blogger like you.

00:02:12 ◼   ► You know, what do I have to do? What should I do?" And he said,

00:02:15 ◼   ► if you want to be successful at something or

00:02:18 ◼   ► moreover if you kind of want to see if you want to be successful

00:02:21 ◼   ► what you need to do

00:02:22 ◼   ► is

00:02:23 ◼   ► write every day for a blog

00:02:26 ◼   ► whether that gets published or not doesn't really matter

00:02:29 ◼   ► what you need to do is every single day you need to show up

00:02:32 ◼   ► and you need to write

00:02:33 ◼   ► and you need to write an article and you need to kind of get into that

00:02:36 ◼   ► process

00:02:37 ◼   ► because it'll very quickly show if that's what you think you'd like

00:02:40 ◼   ► what do you think you'll actually enjoy is in reality what you'd want.

00:02:45 ◼   ► And you can kind of judge from there.

00:02:47 ◼   ► And so, you know, I was like, that sounds interesting. I really like listening to podcasts.

00:02:51 ◼   ► I really like

00:02:52 ◼   ► sort of the topics that get discussed. I'm a big 5x5 fan.

00:02:56 ◼   ► And so I was like,

00:02:59 ◼   ► you know, maybe

00:02:59 ◼   ► this is something I'd like to do.

00:03:01 ◼   ► And so I started developing perspective.

00:03:05 ◼   ► At the time it was just kind of, it started off as just a daily

00:03:09 ◼   ► news show, essentially. I would talk for a few minutes about links and things, and if

00:03:12 ◼   ► you go back to episode one, it is horrible. I would honestly rather you didn't, but if

00:03:17 ◼   ► you want a little bit of fun at my expense, that's certainly a place to go. You know,

00:03:21 ◼   ► I'm recording it on the CUSB Logitech headset, and it's kind of horrible. I sound like I'm

00:03:28 ◼   ► stoned, and I mean, it's just horrible. But the thing that was important about that is,

00:03:34 ◼   ► I've been doing-- I sort of-- I kept doing it.

00:03:37 ◼   ► And over time, you just kind of get better at it.

00:03:39 ◼   ► And I hope I don't sound stoned anymore.

00:03:41 ◼   ► I hope I sound good and clear, and the quality of the audio is great.

00:03:45 ◼   ► And that's just kind of the process I've been going through for a long time.

00:03:49 ◼   ► And it's not like the most people who listen to the show

00:03:52 ◼   ► either know me personally, or honestly, even like friends and family.

00:03:55 ◼   ► My dad's probably the biggest listener of the show.

00:03:59 ◼   ► And so that's kind of the way it had always been.

00:04:01 ◼   ► and I had Developing Perspective hosted just on a VPS that I managed

00:04:06 ◼   ► just over on Linode, which

00:04:08 ◼   ► if you don't know about Linode, they just sort of essentially rent a virtual Linux box

00:04:12 ◼   ► for not very much money and it's great. I host my main blog there and all kinds of things.

00:04:17 ◼   ► And the interesting thing about this link that Marco did, and this is kind of

00:04:21 ◼   ► getting to the technical part of this

00:04:23 ◼   ► discussion, was

00:04:25 ◼   ► I host both the

00:04:27 ◼   ► Developing Perspective WordPress installation, which is just I use WordPress

00:04:31 ◼   ► because it's a really easy way to set up a podcast, my static Octopress-based website,

00:04:38 ◼   ► DavidSmith.org, and then I was also hosting the MP3 files, just served raw from Apache,

00:04:44 ◼   ► all on the same server. And it turns out that is not a good idea. And at this point I'm

00:04:50 ◼   ► not entirely sure what it was, but some combination of those three things meant that when all

00:04:56 ◼   ► of a sudden a few thousand people showed up and said, "Hey, that sounds interesting. Let

00:05:00 ◼   ► let me check that out, the server just died. And it's kind of fascinating because the server

00:05:06 ◼   ► has been, just before I restarted it for the first time, I pulled the stat and its previous

00:05:12 ◼   ► uptime had been 573 days. So it had been up since, you know, for getting on towards two

00:05:20 ◼   ► years. But then this particular thing just brought it to its knees. And so it was kind

00:05:26 ◼   ► I think mostly it was the fact that all of a sudden I'm serving MP3 files in mass,

00:05:31 ◼   ► that it had just never been doing with that.

00:05:34 ◼   ► And Apache is dealing with this interesting problem of dealing all the small files from the blog post

00:05:39 ◼   ► in addition to serving some HTML files for the podcast,

00:05:46 ◼   ► and then all of a sudden serving these 9, 10 meg MP3 files, and it just died.

00:05:52 ◼   ► died. The server was just toast. I ran out of memory. It seems to be the actual, like,

00:05:56 ◼   ► if I had a cause of death, ran out of memory.

00:06:01 ◼   ► And so now I'm going to walk through quickly the process that I went through to then get

00:06:04 ◼   ► it back on its feet, because hopefully, if you're listening to this, I'm sure you do

00:06:09 ◼   ► some things online, you have services, you have all kinds of things that you someday

00:06:13 ◼   ► would like to have this problem. You know, kind of be slashdotted, be fireballed, whatever

00:06:17 ◼   ► you kind of want to call it, where you just kind of get crushed by unexpected load.

00:06:23 ◼   ► And so this is the process I went through.

00:06:25 ◼   ► So initially, really all I could do was restart the server a lot.

00:06:29 ◼   ► It would run out of memory, I'd restart it, it would come, you know, so it would be go

00:06:33 ◼   ► down for a minute, come back up, run for about five minutes, go back down.

00:06:38 ◼   ► That's not great, but at least sort of one out of, or five out of six of people coming

00:06:44 ◼   ► to my website during that period were getting the site.

00:06:46 ◼   ► So that's not... I'd like 100%, but at least a good percentage of people were.

00:06:53 ◼   ► So then while I'm doing that, while I'm kind of sitting there just restarting the server

00:06:57 ◼   ► whenever it starts dying, I'm in the background, okay, I'm trying to analyze what's going on,

00:07:03 ◼   ► and I start to see, okay, it seems like if I pull the MP3 files off, then things will

00:07:08 ◼   ► be okay.

00:07:09 ◼   ► So I start taking all the MP3 files for the show and move them over to S3.

00:07:14 ◼   ► Now I'm not sure if I want to ultimately host them on S3 because if it's successful it could

00:07:19 ◼   ► actually turn out to be fairly expensive, but in the short term what's more expensive

00:07:24 ◼   ► is losing the opportunity to gain a listener, to gain you if you're listening to this right

00:07:29 ◼   ► now.

00:07:30 ◼   ► And so I'm just putting them there and I'll deal with that next week sometime I'll work

00:07:35 ◼   ► out a good home for them.

00:07:37 ◼   ► So I start uploading those to there.

00:07:41 ◼   ► need to go through my WordPress, uh, PodPress plugin and redirect all of the files from

00:07:48 ◼   ► my old, sort of their old home on my VPS to S3. Okay, so go through and do that for all

00:07:54 ◼   ► 54 episodes. Uh, it kind of makes me wish I didn't have quite so many episodes, but

00:07:58 ◼   ► I guess that's, you know, a mixed blessing. And then I also realized that I had kind of

00:08:03 ◼   ► an interesting thing where very recently, as in, uh, this morning or one or two days

00:08:09 ◼   ► ago, I'd recently migrated the

00:08:13 ◼   ► podpress, wordpress hosting for the blog from a

00:08:18 ◼   ► dream host account that I had to my VPS and set it up there.

00:08:22 ◼   ► Originally I was like, "Oh, that'll probably be more performant. I have a bit more control over VPS

00:08:26 ◼   ► than my shared dream host account

00:08:28 ◼   ► where it had just kind of been set up on a whim."

00:08:31 ◼   ► And so I was like, "Oh, well that's interesting because I actually have

00:08:34 ◼   ► a completely working parallel installation of my site

00:08:39 ◼   ► with all the same data in it.

00:08:42 ◼   ► And so what I can actually do then, which this was kind of fun

00:08:45 ◼   ► to play with, but I then went into the DNS records

00:08:50 ◼   ► for the domain, so for developingperspective.com, and I just

00:08:54 ◼   ► redirected them back to the old site.

00:08:56 ◼   ► And so I almost had this built-in load balancer

00:09:00 ◼   ► way up at the DNS level, because as those changes start moving around and

00:09:05 ◼   ► propagating,

00:09:06 ◼   ► I'm starting to split my traffic between people who have the old record and people who have

00:09:09 ◼   ► the new record, which in the short term really helps bring down my traffic, which worked

00:09:14 ◼   ► out really well.

00:09:15 ◼   ► Now, that almost solved the problem, but I still had a bunch of pointers pointing back

00:09:21 ◼   ► to the old location of the MP3 files, which were, you know, essentially if someone's downloaded

00:09:27 ◼   ► the feed RSS in an app or something like that, they're still going to be pointing to that.

00:09:33 ◼   ► And so for those people what I did is you went and did a .htaccess file to tell Apache,

00:09:40 ◼   ► "Hey, if you get a request for this file, actually redirect them with a 301 to S3."

00:09:46 ◼   ► And that really worked.

00:09:49 ◼   ► At this point the site seems to have been up for about an hour, so crossing my fingers,

00:09:53 ◼   ► things seem to be doing great.

00:09:55 ◼   ► And it's kind of exciting to me.

00:09:58 ◼   ► And then the last little thing I needed to do to just tie it off was I wanted to make

00:10:01 ◼   ► sure that anybody who was accessing the old site, sort of from an old DNS record, I changed

00:10:08 ◼   ► the landing page of that to just direct them to iTunes.

00:10:11 ◼   ► So if they are listening to it and think it's interesting, well, just go to iTunes for now.

00:10:17 ◼   ► Until everything's sorted out, I'm pretty sure Apple can scale.

00:10:19 ◼   ► At least they can scale something like this.

00:10:22 ◼   ► So that's kind of the story, and it worked.

00:10:25 ◼   ► And I've got to say, it's kind of been an emotional thing, too.

00:10:29 ◼   ► after all that settled down and everything set up

00:10:32 ◼   ► and it seems to be running is the realization that right now

00:10:36 ◼   ► developing perspectives, something that just sort of started

00:10:39 ◼   ► on a whim

00:10:40 ◼   ► almost a year ago and something that I've spent hours and hours just kind of

00:10:44 ◼   ► working away on kind of an obscurity

00:10:47 ◼   ► is suddenly kind of successful. It's currently the number eight

00:10:51 ◼   ► tech news podcast in iTunes and

00:10:54 ◼   ► that's insane. That's just

00:10:57 ◼   ► that's immense to me. It's something that I've been doing just as a labor of love

00:11:01 ◼   ► for

00:11:02 ◼   ► you know for so long and then just to see all of a sudden people actually like it and get

00:11:06 ◼   ► some great feedback and people be like, "Hey, this is great." You know, it's a very

00:11:09 ◼   ► different format I think and hopefully that appeals to people. I'm being very

00:11:13 ◼   ► careful about saying, "Hey, it's fifteen minutes, it's fifteen minutes, it's fifteen minutes."

00:11:17 ◼   ► You know, you can

00:11:19 ◼   ► kind of commit to listening to my show

00:11:21 ◼   ► without a huge investment of your time. If you skip an episode, that's great. They're

00:11:25 ◼   ► all very self-contained, I'm not running threads through all of them.

00:11:28 ◼   ► You know, it's just designed to be something that's--if you're interested in Apple, if

00:11:31 ◼   ► you're interested in iOS development, Mac development, those types of topics, that I

00:11:34 ◼   ► can give you a quick hit and be like, "Hey, you know, here's some things that are interesting

00:11:37 ◼   ► to me, here's some things you should check out."

00:11:40 ◼   ► And, you know, so I couldn't really--sort of couldn't be happier about that.

00:11:45 ◼   ► And I'm just--so I want to say thank you.

00:11:46 ◼   ► Thank you to all the--all the listeners out there who are checking it out for the first

00:11:51 ◼   ► time.

00:11:52 ◼   ► Welcome, I hope you enjoy it.

00:11:53 ◼   ► and you know thanks to Marco for

00:11:55 ◼   ► linking to me. I mean it's one of those things of

00:11:58 ◼   ► that you kind of have in this

00:11:59 ◼   ► sort of in the online world where someone's currency is the

00:12:04 ◼   ► sort of the current is the

00:12:07 ◼   ► the links they choose to bestow on other people.

00:12:09 ◼   ► You know it's kind of the concept of page rank with Google is that

00:12:12 ◼   ► the best way to judge the value or the worthiness of a site

00:12:16 ◼   ► is by sort of aggregating the value of the sites that point to them.

00:12:20 ◼   ► And so you know it means a lot to me for

00:12:22 ◼   ► you know, someone who I respect to point to the work that I've been doing.

00:12:27 ◼   ► So anyway,

00:12:29 ◼   ► that's kind of today's show.

00:12:31 ◼   ► Hopefully that was interesting. It's kind of a bit more off topic than a lot of what I do.

00:12:35 ◼   ► I promise on Monday I'll be back to kind of my normal iOS and, you know, stuff like that.

00:12:41 ◼   ► I should actually be launching audiobooks. It finally got approved late last night.

00:12:46 ◼   ► Tuesday I'll be launching audiobooks and be kind of walking you through the process of

00:12:50 ◼   ► launching an app or in this case relaunching it with a major update

00:12:53 ◼   ► which will hopefully be interesting to you.

00:12:56 ◼   ► Couple of topics, just things I wanted to mention. The 5x5 app just launched

00:13:00 ◼   ► which if you're a 5x5 listener, I recommend

00:13:04 ◼   ► at least checking it out, seeing if it's what you like. I'm a long time live listener

00:13:08 ◼   ► I actually wrote a Mac app 5 Live which I'll also have links to in the show notes

00:13:12 ◼   ► just for listening on your Mac, but this is for listening on your iOS

00:13:16 ◼   ► and even if you don't think the app is useful, I definitely recommend just checking it

00:13:20 ◼   ► out as a way to sort of give back to 5x5, a way to make a sort of a concrete contribution

00:13:26 ◼   ► to them that'll support the shows, but then also we sort of benefit yourself and get some

00:13:31 ◼   ► cool functionality.

00:13:32 ◼   ► So anyway, that's today's show.

00:13:34 ◼   ► As always, if you have questions, comments, concerns, thoughts, hit me up on Twitter.

00:13:39 ◼   ► I'm @_davidsmith, underscore D-A-V-I-D S-M-I-T-H.

00:13:45 ◼   ► And if you want to follow this podcast on Twitter and see when there's new shows, new

00:13:49 ◼   ► There's a feed for that and that's @devperspective.

00:13:55 ◼   ► And otherwise, I hope you have a great weekend.

00:13:58 ◼   ► Happy coding and I will talk to you on Monday.

00:14:01 ◼   ► Thanks.

00:14:02 ◼   ► [