aaron bird's blog
I'm a technologist and entrepreneur living in Seattle WA. My technical and professional interests include start-ups, social media, online advertising, software, scalable online services, cloud computing, consumer devices, and green technology. Personally, I train and compete in Brazilian Jiu-Jitsu, love MMA, camping, skiing, and my girlfriend Megan (not necessarily in that order). I'm all about changing the world through innovation and recently left Microsoft to scratch my entrepreneurial itch.
Links
Seattle wedding planner, Seattle SEO, small business internet marketing,
- Ask me anything /
- Submit /
- RSS /
- Archive
How to move your blog to tumblr
I just moved my blog from Blogger to tumblr and the first thing I did was search for a site that gave me all the details on how to do this. I couldn’t find one, so here are the steps I went through for those of you that may want to do the same thing. If you know of a better way to do this, let me know!
At first this seems pretty straight forward, but there are few gotchas like moving your old posts over to your new blog and keeping your RSS subscribers. The later is particularly troublesoom if you use a custom domain like I do (aaronbird.net rather than aaron-bird.tumblr.com).
- Create a tumblr blog.
- Import your old posts from your old blog to tumblr - This way you migrate all your old content with you. This is specific to the blogging platform you are moving from. Since I moved from Blogger, a quick search yeilded this tool to import my old posts.
- Add your analytics tracking to your tumblr blog - This ensures that you keep tracking data in the new blog. I use Google Analytics, so I followed these instructions. In addition, for those of you like me that use a customer domain for your blog, you will want to use analytics to track when people have mostly stopped going to your old blog.
- If you don’t have one already, create a feedburner feed. This will enable you to keep your RSS subscribers during the move. Note that you will want to use your new tumblr rss as the “originial feed”. Below are my settings as an example.

- Update your rss links on your tumblr blog to point to the new feedburner feed - This ensures that new subscribes use your feedburner feed and not your tumblr one. I’m assuming you want to use feedburner as your feed (rather than tumblr). I like this as it will make it much easier if I need to move my blog again, as my feed URL won’t change when my blog changes (the problem I ran into when moving from Blogger to tumblr). Feedburner also gives you a bunch of nice analytics features. Here are instructions for updaing the RSS links on your tumblr blog. Note that f you change you theme, you will need to do this again. Does anyone know how to edit the tumblr {RSS} variable? That would be an easier solution.
- Redirect your old feed to the feedburner feed - Again, I moved from Blogger, so here is how I did it, your blog may be different. From the admin page in Blogger -> Setting tab -> Publishing -> Site Feed -> Post Publishing URL - set this to your new Feedburner URL. This is key as it will redirect all of the subscribers on your old blog to your new Feedburner feed. That way you won’t loose any subscribers, and the migration will be transparent to them.
- Move your custom domain to tumblr - If you use a custom domain name (like I do), this becomes a little tricky as most of my subscribers are getting my old blogger feed with my custom domain (www.aaronbird.net/feeds/posts/default), which thanks to step (6) now redirects to feeds.feedburner.com/aaronbird. However, when I move my DNS record to point to tumblr (from Blogger), tumblr won’t serve a feed from /feeds/posts/default, in fact, they’ll serve a 404. So, here is my workaround:
- Blog a post on both blogs telling people to update their feeds to the new feedburner url.
- Wait some time to move the DNS over to tumblr (when you’re ready, here are the instructions). I’ll use feedburner’s analytics to tell me when most people are coming directly to the feed (rather than the redirect from Blogger). And when that is the case, I’ll move the DNS record over to tumblr (and complete the move).
Done!
2010 Goal Recap
Overall I’m happy with 2010. Below is a re-cap of my original 2010 goals as of the start of 2010. I hit all but 1 P0 and none of the P1s. I’m very happy with this considering I also left Microsoft and started a company which were not in my original 2010 plan and thus derailed some of the other goals. This was very much a a welcomed change to my plans. Soon to come, a post on my 2011 goals. It’s going to be an awesome year - by far my best yet.
P0 - Compete in BJJ tournament in competition fighting shape
- I totally failed on this one. If anything, I’m in worse shape than I was at the start of 2010. I’m definitely going to change that in 2011.
P0 - Get promoted at work
- Achieved in March/April (although I have since left Microsoft :-))
P0 - Get Megan’s company off the ground
- We really nailed this one. Megan did about 20 events last year, and she has already booked more that that for 2011. She is off to the races and doesn’t need as much of my help anymore. She has a first page ranking for “Seattle wedding planner” and “Seattle event planner” on Google, and has the top spot on Yelp for both “Seattle wedding planner” and “Seattle event planner”.
P0 - Get SeattleAccountantGuide online and generating revenue
- We nailed this. Thanks mostly to Andy Turman, my sales extraordinaire.
P0 - Study up on C#, ASP.NET MVC, and Windows Azure cloud services
- Very much done. The soon to be launched Givedend.com social media company is based entirely on ASP.NET MVC and Windows & SQL Azure.
P1 - Win a BJJ tournament
P1 - Train for an MMA fight
P1 - Learn some Portuguese
P1 - Go to Brazil
- I made no progress on my P1 goals :-(
Interview on NPR
I was interviewed for All Things Considered about Resource Fitness and our electricity producing fitness equipment a few weeks ago. It aired on Thur March 10th. You can listen to it online here (it’s a quick 3 min segment). I’m really happy with the outcome and we have seen a big spike in traffic and calls since (as expected).
If you know anyone interested in investing in Resource Fitness, contact me.
Moving my blog to tumblr - UPDATE YOUR RSS FEEDS
I’m moving my blog to tumblr, so you will need to update your rss feeds. The new feed will be.
http://feeds.feedburner.com/aaronbird
Please update your RSS feed ASAP, so I can move my blog over.
Note for those of you that blog: I’ve been with blogger for 3 years and never thought about how (or what would happen) when I move my blog (obviously, it breaks all your RSS subscribers unless your new RSS feed just so happens to be at the same URL as your old - very unlikely). Using Feedburner is a no-brainer, as it gives you a level of indirection between your blog URL and your RSS feed URL (as well as some cool analytics).
Running Python Cron Jobs in Windows Azure
I have some python scripts that store some data in my SQL Azure database and I want them run daily from my web role. Why my web role? Because I only have a web tier and it’s not worth dedicating a worker for this task. It took about 5 hours today getting this just right, so here is what I did in case anyone else needs to do something similar. First, thanks to Steve Marx for some very helpful posts on the topic of Azure startup task.
First, I included the python installer and pyodbc.pyd (for the SQL connection) in my web role project, as well as my python scripts themselves. I marked the scripts as Content so that I can reference them in the approot directory. I also marked the python installer and pyodbc as “Copy to Output directory” : “Copy always” so I can run them from my bat file on startup.

I then create the installcrawler.cmd bat file that contains the following:

1: install python 2.7
2: copy pyodbc to the python directory
3: start the task scheduler - this is not started by default on Azure
4-7: setup my scheduled tasks to run when needed. Note that in my case, the timezone on the VM is GMT
Then kick-off a deployment, get a cup of coffee, write a blog post, and then RDP into the VM to make sure all is well. If you need a refresher course on “at” and scheduled tasks as I did, here is a good reference.
UPDATE 10/13: As Steve Marx pointed out when he read this post, this will only work on a single instance web role. If we add more instances, then the tasks will run in each instance, which in my case is not what I want to happen. So, here is a fix to allow for multi-instance:
Rather than running installcrawler.cmd (shown above) at startup, run a powershell file that only installs the python scripts if we are on the first instance. See that below.

Again, thanks to Steve Marx for some great blog posts on the topics of running powershell scripts at startup. Note that the $role.Id.Contains(“_0”) test is what limits the installation to the first instance. Obviously, if this instance is down for the monthly OS upgrade (or anything else), your scripts won’t run. This is fine for us, as this is a background task that doesn’t need to happen exactly on schedule 100% of the time.
Moving my blog to tumblr
Here is my first post on tumblr, I’ll set up dns for aaronbird.net and hopefully import my old posts soon.