Get Off My Lawn

Adventures of a Curmudgeon


Before I started the transfer of my wordpress site to here, I found a couple resources I thought I should save:

I’m still reading through the first site. However, using it and the 2d site I was able to import the majority of my old posts into my new blog. I had some trouble at first, trying to follow the directions of the migration process. In the end here’s a summary of what I did:

  • Export my wordpress site into a wordpress.xml file. Sign into wordpress and bring up the source blog’s dashboard. There’s a Tools option, select it and then select Export; pick the free option and follow the directions.
  • Create my _import directory. Because I’m using Octopress, I created this directory in the source directory.
  • Download downmark_it.rb. This is referenced in the 1st site as a way to have markdwon files instead of html files after the import.
  • Copy wordpressdotcom.rb into the _import directory. This is because we have an XML file.
  • Modify wordpressdotcom.rb to use downmark_it.rb and to correctly set categories. I’ll provide a Gist.

The resulting markdown files still have some formatting issues. I have to go through and correct each one. However, because of the export process, I was able to import my pages and a few attachments. Right now I have no plans on using them.

Over the next couple of days I plan on fixing the formatting issues and getting more familiar with Octopress and its capabilities.



This is the first post on my new blog. I’ll be moving my wordpress blog to here. It is likely my first post will not survive the transfer.

My new blog will be powered by Octopress, Jekyll, and GitHub Pages.


Foiled by ‘:’ or How I Finally Got RVM Installed

RVM is your friend!

Since RVM come onto the scene, I’ve heard great things about it. But everything I heard was in the context of Snow Leopard (Mac OSX 10.6). For reasons better left unsaid, I’m still on Leopard and was doubtful I would be able to take advantage of RVM.

So I did what most people do: I turned to Google. At first I didn’t find any helpful posts. However, one post stood out and I diligently followed its directions. I made sure I had the right version of XCode. I updated SQLite3. I then installed RVM. Here’s where the fun begins.

RVM plays hard to get

I followed the installation directions, updating my .bash_profile as instructed. I then restarted my Terminal session and patiently waited…WTF! My window disappeared! I finally was able to edit my .bash_profile and commented out the line that loaded ~/.rvm/scripts/rvm. Now what?

I then decided to manually source the rvm script in the hopes of seeing an error or something. No dice. Great! No output and my window keeps disappearing. I search the available help and troubleshooting guides: Nothing. I go back to Google: Nothing. I find nothing that is similar to my problem. sad trombone

So I head over to the IRC channel: #rvm on And a couple of folks start helping me out. First I tell them about some warnings I received during installation. I then reinstall (and rvm reload) upon their suggestion. No change in behavior. I tell them, “There’s no output and then after a second or two my Terminal session disappears.” They check my shell: echo $SHELL => /bin/bash. Nope that’s not it. They ask for rvm info. Well I have to run ~/.rvm/bin/rvm because I can’t load RVM as a function. The output looks ok. They ask about my .bash_profile; I also include my custom prompts, thinking I might have a problem there. Nope, all of that looks good.

In between the IRC exchanges I learn about set +e and set -x. Using those two, I’m finally able to see the output from the script and, as I had suspected, the script is stuck in an endless loop! Great! How do I debug that? BTW set +e means: Don’t exit on error and set -x means: debugging outputThe folks helping me are out of ideas; one even nukes and reinstalls RVM; it works for him. It must be something unique to my machine. I feel I’m in store for a lengthly and, quite possibly, fruitless search. Thankfully I have some output captured, early output before the session window disappears. I load up MacVim with the scripts and start looking at each line, comparing it to the output.## Foiled by ‘:’ As I was going through the output I noticed a ‘cd ..’ command. I couldn’t find it in the scripts. Thinking, “somewhere they have to be ‘cd’ing because it’s in the output.” And then it dawned on me: wait a minute, I have ‘:’ aliased. Just at that moment I was pinged from IRC. I excitedly replied that I might hove found the problem. On line 40 of ~/.rvm/scripts/initialize is: : \. Substituting my alias for ‘:’ the output matches; it’s trying to ‘cd’ into several directories. I remove the alias and reload my Terminal session.Drum roll please: rvm is a function. SUCCESS! Now I can take advantage of RVM.Funny thing is: no one thought to ask about my aliases. Assuming I would know that ‘:’ is null, a do nothing command. I do now. And hopefully this will help someone else with similar problems in loading RVM.Cheers!

NTS: Forking Private GitHub Repo

Steps to fork your own private GitHub Repo

  1. Clone your repository into a new working directory.
  2. Create new private repository in GitHub; keep the resulting page up because you’re going to need the new repository url.
  3. Update project’s origin remote.
  4. Push changes up to GitHub.
  5. View the new repository in GitHub.
  $ git clone [repository url] [new name]  $ cd [new name]  $ git remote add xorigin [new repository url]  $ git remote rm origin  $ git remote rename xorigin origin  $ git push -u origin master


NTS: Installing Git via Source


wget xzvf git- git- make && sudo make install

Verify by running git –version.


wget /usr/local/share/mansudo tar xzvf [download_dir/]git-manpages-

Verify by running man git.


Co-Working’s Future

I guess the title’s mostly unfair since I’m not going to deliberate on the future of Co-Working, or Telecommuting, or Teleworking, in the large. This missive is actually an extended response to two well-thought-out posts from a couple of folks I respect.

I will not steal from you the opportunity to read Jeremy’s post and Jim’s post. Go read them, for they provide the context behind this entry; I’ll wait for you.

I may ramble; I may not. But the journey should be fun. Enjoy!

What are they talking about?

I believe both approaches have merit and may even be complimentary. However I feel both approaches have a different set of motivations and goals which it seeks to achieve.

In my short, illustrious career of some 17 years I’ve been involved in several different types of employments: full-time employee, contractor, but all in an organization I did create or have influence over. Over this time I developed likes and dislikes; we all do. And when I seriously started thinking of working for myself, my old prejudices came to light, shaping the kind of organization I wanted to grow.

I believe both posts come from a position of the ideal organization they would like to have, based on the experiences both gentlemen have accumulated over their careers, and, dare I say, their lives. Like was mentioned in a comment: “top-down” vs. “bottom-up”. But I think there’s more to it. I will not pretend to speak for Jeremy or Jim.

What does my Co-Working future look like?

I recognized early on that I would not have employees, that Juicy Parts Software would be a one-man show. As with everything, there are pluses and minuses to this approach. This approach allows me to focus on the relationship aspect of the project. But it does limit the kind of services I can provide, on the surface. Because I value the relationship above the technology I value a large and diverse network of professionals. There is where my approach, I believe, more closely aligns with Jeremy’s post. Working with people with whom I’ve built a relationship is like an ongoing interview process wherein I don’t have to have employees.

However I also recognize the allure of Jim’s post. As with the aspect of employees, I knew I didn’t really want to be involved with the business part of my business (I quickly outgrew that position, though), wanting to focus on what I’m good at: building resilient software solutions. Being able to offload all the icky bits of business is attractive to me. But, I don’t believe I would partake in Jim’s approach for personal reasons: I need to know AND trust the people I task with running my business. The one thing I’ve learned over the years: everyone has different motivations. Even if everyone really likes a CPA or a Lawyer, there’s no guarantee I’m going to like them. In that respects I find Jim’s approach no different from the typical corporation. And though it would seem ownership is the differentiator, I posit: that won’t scale. Maybe it doesn’t have to, but if it doesn’t you lose economies of scale when it comes to negotiating rates and what not.

I readily admit that I’m not a business guru; that’s why I try to listen to everyone around me that have successful businesses. But for me co-working is a chance to work with people whom I enjoy being around without any pretense of trying to build a larger organization above the community of which we’re a part.


Headed to RubyNation 2010

This year I’m planning on attending a couple of conferences. I missed everything last year but what better conference to start the year of than one in my backyard.

I’ve heard nothing but good things about RubyNation and, this year, I’ll be there. They’re offering a great conference: Speakers and Agenda.

It’s nearly sold-out so you should stop reading and register:


NTS: GeoKit + YM4R-GM

I’ve just started looking into Google Maps integration and I settled on those two plugins. I also noticed you have to set the Geocoders key, based on your environment.

I just knew there had to be a way to get to the keys in gmaps_api_key.yml (this file is used by the YM4R plugin) because I didn’t want to copy/paste the values into environemnt.rb and I didn’t want multiple definitions in each evnrionment’s file, and this is Ruby!

So I’m going to try this method: one line in environment.rbGeoKit::Geocoders::google = Ym4r::GmPlugin::ApiKey.get


NTS: Rubyscript2exe Modifications

I have occasion to build Ruby applications for Windows. And it seems like I have to modify rubyscript2exe on each machine. Here are my changes (these are made directly to the gem files):


Before: gemdir= File.expand_path(“..”, File.dirname(FILE)) realstuff= File.expand_path(“realstuff.rb”, gemdir) isapplication= File.basename(File.dirname(FILE)) == “bin” $0.replace(realstuff)if isapplication load(realstuff)After: gemdir= File.expand_path(“..”, File.dirname(FILE)) realstuff= File.expand_path(“realstuff.rb”, gemdir) isapplication= File.basename(File.dirname(FILE)) == “bin” $0 = realstuff alias $__0 $0 alias $0 $0 $0.replace(realstuff)if isapplication load(realstuff)


For me this starts on line 620:Before: if FILE == $0 $0.replace(File.expand_path(“./init.rb”)) TAR2RUBYSCRIPT= trueunless defined?(TAR2RUBYSCRIPT)After: if FILE == $0 $0 = File.expand_path(“./init.rb”) alias $__0 $0 alias $0 $0 TAR2RUBYSCRIPT= trueunless defined?(TAR2RUBYSCRIPT)

Again: This works for me. YMMV!


I Just Don’t Blog Like I Used To…

I can’t believe May was the last time I blogged. Well, yeah, I can believe it. Over the past several months I’ve been trying to focus on staying gainfully employed. So Far, So Good. I will let you know that as now (and since June) I’m 100% Rails. I’m so stoked. But I’m also over committed. I would venture a natural reaction for a young freelancer motivated to keep the food on the table for his family.

I think the main reason my blogging has almost become nil is that I’m not sure what I want to use this blog for. I’m on Twitter. I run the CVREG. I just don’t know what to do this blog. I had ideas. But I don’t have the enthusiasm and energy right now - I’ve been focusing those on the projects I’m either running or helping with; maybe I’ll talk about my projects (at a high-level since I’m under NDA for some).


Until then…Cheers