So I’ve finally gotten around to taking an interest in my blog again. I’ve been working on a logo with a designer (who’s been insanely busy) for over half a year now, but finally decided to move forward with my blog since I have a little free time. To start this transition I began by deciding that, although I love Jekyll, I need something with a little less maintenance and a little more out of the box. Say hello to, @octopress!

I’ve been wanting to migrate to Octopress for probably half a year as well, but just haven’t made the time for it. The migration has been really painless so far. The only major effort will be modifying all my old HTML WordPress posts into Markdown syntax (there has to be an automated way to do this somehow right?!) Octopress provides some awesome defaults though that I’ve been wanting to integrate or had partially integrated into my own Jekyll implementation for a while such as:

  • Semantic HTML5 theme
  • Mobile themes
  • Sidebar partials
  • Fluid layout
  • Categories
  • Archive views
  • Theming

A new competitor has recently shown up, Jekyll Bootstrap, but after looking at it for a bit I still felt like Octopress was the right choice for me! However, if you’re looking to migrate to a Jekyll type blog then I’d encourage you to look at both options to figure out which one fits your needs and styles best!

Happy hacking!

A new year has come upon us, and along with it a lot of people making resolutions. I’ve never been a fan of resolutions (at least as far back as high school). They’ve always seemed empty to me, just words that never find any meaning or purpose the majority of the time. Instead I’ve always been a fan of having personal goals. The majority of my life I’ve never bothered to orient my goals around the new year, but instead just worked towards them until they are completed and then re-evaluate what I wanted to do next and set new goals.

This year is not horrendously different, but the timeframe falls in line very closely with the new year so I may as well put my goals in writing today. Because just as much as I don’t believe in resolutions, I also believe that goals don’t have any real commitment if you’re not willing to put them in writing.

I spend over two hours every day commuting to work. This provides me with time to do a lot of things. One of the things I enjoy most about my drive is the opportunity to honestly evaluate myself, who I am, who I want to be, and how I’m doing at getting there. I’ll simply say that, right now, I have a long way to go. With that in mind here are my current goals, which are a pretty big shift from some of my past goals.

My Current Goals

  • Say no to “side-work”

    Side-work is a project that I take on for little extra tidbits of money for whatever reason. Often I take on side-projects just be nice and help someone at a very discounted rate (either for my portfolio I’ve never created, or just because they’re a friend, etc.) This year I’m going to focus on finishing up my last three or four side-projects within the month of January and then just say no.

  • Only accept extra work to support life-goals

    I’m not opposed to taking on projects just because I’m saying no to “side-work”; however, those projects will require being billed at a significant enough rate to put a large dent into something our family is saving towards (e.g. our new car, or a down-payment for a house, etc.) In other words, this is my commitment to stop giving out discounted work. It has been impacting my family too negatively to let it continue. I feel that my reputation and skill-set is strong enough after 10+ years of full-time web development that I don’t need to build my portfolio by offering discounted rates.

  • Spend time with my family

It’s hard to believe you’re already here.

holding your hand There was so much more I had hoped to do before you arrived, but I suppose that’s something you learn on your own as you grow up. No matter how much you do, there will always be more to get done. It’s up to you to each of us to decide what is the most important and what really matters each and every day of our lives. Documenting this important time in my life is one of these things I value as important. Here is your story.

the first moments Your mother, @katiecupcake, had been having contractions for nearly a week and was 4cm dilated for quite some time before she finally went into real labor with you. She started having the final sprint of contractions on the evening of Tuesday, Sep. 28th around 7:30pm. At about 10:15pm her contractions were just under 3 minutes apart and lasting a good 1 to 1.5 minutes. We left for Frederick Memorial Hospital (Frederick, MD) at 12:15am on Wednesday morning, Sep. 29th.

Yesterday @katiecupcake was creating a blog for her design team (@cartwheelsart), when Safari decided to crash on her. Supposedly TypePad will auto-save your posts every 15 seconds (according to a blog post from 2008); however, for some reason this post was not auto-saved and in turn she lost nearly two hours of time that she had invested into a grueling how-to tutorial for a crochet pattern.

To say that Katie was distraught and frustrated would be an understatement. Rather than make her recreate it all I pulled up my sleeves and got to work. I knew that there was a good possibility that somehow that data had been saved by the browser before it crashed. I came across several “Mac tips” that all explained how Safari automatically saved your textarea inputs pretty frequently in the ~/Library/Caches/Safari folder. Unfortunately they were from OS X 10.4 or 10.5 and it has changed at some point. I was able to locate the Safari cache file at: ~/Library/Caches/

Sadly the format of the cached files was no longer static HTML. This meant that I had to identify the database type (I went off my gut and guessed it was SQLite3). It turns out that that is correct, but that also meant my normal database tools were of little use to me. I did some more Googling and quickly discovered SafariCacheExplorer. SafariCacheExplorer allows you to quickly filter / identify your cached pages from Safari for only $10. You can do extractions of your data as images, webpages, or plain text.

I quickly loaded the TypePad site and looked at the URL structure for a new post. I then entered the basic portions of that URL into SafariCacheExplorer which presented me with only 3 results. It only took a matter of seconds to see which file was the largest, extract it, and take it in to a completely asleep Katie. Obviously she was thrilled about not having to recreate hours of work. It only took me about 15 minutes from the initial idea to finding the data. I can definitely say that SafariCacheExplorer was definitely worth every penny!