Category: General Interest

  • Things I learned today

    1. Compiling Apache and PHP from scratch in DSO mode is a nightmare
    2. Slicehost’s ability to restore a server image from a backup is incredibly useful
    3. I’m glad I’m a developer and not a sys admin

    That is all.

  • WordPress upgrade was moderately easy

    I recently upgraded my blog to WordPress 2.9.1 and I’m very pleased with the results. The upgrade itself was very straightforward. It was just a matter of replacing the correct files in my project. I have my project checked into GitHub so I was able to immediately see what had changed. I also had a safety net in case I wanted to back out of the upgrade.

    One nice benefit to upgrading was that I’m now able to leverage the Syntax Highlighter plugin. It does nifty stuff like this:

    class HelloWorld
      def say_hello
        puts "Hello world!"
      end
    end
    HelloWorld.new.say_hello
    

    If you run a WordPress blog, I would definitely recommend checking it into some sort of source control. Also, being able to run the blog on my development system is very beneficial. I was able to verify that the upgrade hadn’t borked my layout before making everything live. I use Apache to serve it up locally.

    What platform do you use for blogging? What do you like about it?

  • Delete/backspace doesn’t work in nano

    If you’ve ever performed a fresh install of Ubuntu, you’ve probably noticed that the delete/backspace key doesn’t work correctly in nano. This is frustrating, but easy enough to fix.

    This problem also occurs quite frequently for me when logging into a remote server. For example, a default Slicehost instance usually suffers from this behavior.

    If you truly want to understand what causes the problem, check out this article.

  • Mass rename files in UNIX

    Several of my Rails projects surface a RESTful API. I use integration tests to verify that the API calls work as expected. I also version my API calls so I can easily adapt the API to new circumstances while maintaining backwards compatibility.

    To move to a new API version, I copy all of the existing integration tests and rename their prefix to the new version. Instead of renaming the files by hand, there is a nifty UNIX command that handles it for me. For example, to rename all the “v2_*.rb” files to “v3_*.rb” I would type:

    for file in *; do mv "$file" "v3_${file#v2_}"; done
    
  • Radiant can’t load ActiveSupport caching?

    Are you getting this error message when attempting to deploy your Radiant application?

    no such file to load -- active_support/cache/memory_store
    

    The fix is simple. Assuming you’re using a vendored copy of Radiant or Rails, you probably have an entry for “cache” in your .gitignore file or your svn:ignore property. Remove it, commit the changes, and deploy again. Bingo!

    Don’t ask me how I know this.

  • Autumn beauty at Hanging Rock

    In November, I was blessed with the opportunity to visit Hanging Rock State Park with some friends from church. Though the fall colors were past peak, it was still an enjoyable and invigorating hike. I took this video clip from the top of Hanging Rock with my iPod Nano. It was a very windy day. The view off the southern side was clear enough that I could see Winston-Salem. What a beautiful experience!

    “The heavens declare the glory of God, and the sky above proclaims his handiwork. Day to day pours out speech, and night to night reveals knowledge.” Psalm 19:1-2

    “For what can be known about God is plain to them, because God has shown it to them. For his invisible attributes, namely, his eternal power and divine nature, have been clearly perceived, ever since the creation of the world, in the things that have been made. So they are without excuse.” Romans 1:19-20

  • Secrets of Effective Nomading

    “Secrets of Effective Nomading” was a lightning talk I was planning on giving at this year’s Ruby Hoedown. Due to my flight arrangements, however, I was unable to give the talk in person. I made a video recording instead. It’s about six minutes long.

    If you’re not familiar with the concepts behind nomadic programming, you might want to read my introduction before watching the video.

    By the way, the Hoedown itself was fantastic. This is the third year Jeremy has run the conference and the presentations were top-notch. By far the best yet. The venue (the Opryland in Nashville) was also quite pleasant, if a little on the expensive side. The expense was worth it, though, if only to hear Jim Weirich present on a source control system that sounded a lot like Git, but wasn’t!

    And of course, the nearby mall complete with movie theater and Bass Pro Shop was just the icing on the cake. (C’mon Raleigh, when are we gonna get a Bass Pro Shop? Charlotte has one.)

  • Ignite Raleigh

    Ignite Raleigh looks quite interesting. It’s essentially a conference made up entirely of lightning talks. Voting is now taking place on submitted talks. The top 10 will be given on August 5th.

    I submitted a talk titled 3 Secrets to Effective Nomading. Check out the description and, if you feel it’s compelling and would want to hear it, please consider voting for it.

    And by all means, if you have an idea for a talk, submit it!

  • Career 2.0 book mention

    Mark Mzyk gave a brief review of Career 2.0, the book by Jared Richardson that I contributed to, over on his blog. He also recommends The Passionate Programmer by Chad Fowler, another excellent career-boosting read. (If you’ve posted a review of Career 2.0 on your own blog, let me know.)

  • Looking for a good developer?

    I’m in between projects right now and looking for some work to get me through the next month or so. Are you looking for a top-notch Ruby, Rails, or Java developer for your project? Drop me an email and let’s talk.