Garrett is as Garrett does

An autoblogographic view of things.

'Garrett is as Garrett does'

This is what drives Developers to drink…

January 28th, 2014
by garrett

No Gravatar

I’m talking documentation-that-actively-thwarts-using-the-software here, not cars.

Okay, the scene: Night time during a chilly winter. An LCD Monitor glows in silent duet with a USB Keyboard light. The fevered, muted clicking of a keyboard.  The screen showing a cornucopia of layered windows: Multiple shells open – several halted on `man` pages, the other flickering errors on a regular basis. Websites to three different language references, plus a dozen forums across the internet. SFTP browsers, and text editors, and PDFs – oh my!

Ungh. Just trying to remember it is giving another headache.

Something a little more factual. I had just installed Drupal to act as the portal for [redacted], err, I mean Secret Project Q-36. Naturally, the next step is to customized the look (aka ‘theme it’) to fit the concept and adjust what is shown, what is hidden, etc.

I got the HTML 5 version of the built-to-be-customized Zen theme and steeled myself to pound CSS into shape.  But then I read about SASS and how the Zen theme had working SASS files that generated the CSS it uses.  A few minutes of research and I was hooked – I liked the concept of cascading stylesheets but I alway thought that they lacked internal variables.  Sure, I can apply font-color:blue to 14 different selectors, but it still means that I have 14 different references to blue that I need to manually find and replace through-out the document if I decide that I prefer silver for two of those selectors. SASS solves this by being a pre-processor. You write your SASS/SCSS (which looks a lot like CSS) and then process it into valid CCS for your server to serve to the web. Trust me, once your CSS passes about 3 pages on screen, you’ll definately want to switch to SASS.

Okay, I was sold!  <rummage> Let me just see the requirements here…

Hell’s bells. It’s a Ruby gem. Secret Project Q-36 is on a shared hosted environment running an End-of-Life version of FreeBSD. Having dealt with adding modern frameworks on EoL systems for a while now, I knew this wasn’t going to be easy.

Wow, this headache is getting worse.  I’ll skip the story and give just the post-mortem report:

  1. The sass gem incorrectly reported it’s version as “Haml 2.0.9”, reasearch indicated this is an old version.
  2. Try to get a newer version of Ruby without su/sudo rights, can’t be done in a shared hosting environment.
  3. Try to install rvm, can’t because it needs a bash shell.
  4. Switch login shell from customized tcsh to bash.
  5. Wipe failed installs and remove the .dotfiles PATH changes.
  6. Try to install rvm, latest version works, sorta but still throws shell scripting garbage like ‘Unexpected token at …’.
  7. Wipe failed installs and remove the .dotfiles PATH changes.
  8. Install sass gem again, still reports version as “Haml 2.0.9”.
  9. sass fails simple test provided by documentation.
  10. Dive into sass gem innards.
  11. Figure out what the son-of-a-biscut eater’s real problem:
    • sass gem 3.2.14 doesn’t report it’s own version correctly – why? IDKAIDC.
    • The included documentation (README.md) lies, you need to run:
      $> scss test.scss
      not
      $> sass test.scss

Hey, that headache just cleared – the caffine must be kicking in.

Tags:   · · · · · · ·
Categories: Mature · ProgrammingNo Comments

Leave a Comment

You must log in to post a comment.

0 responses so far ↓

There are no comments yet...Kick things off by filling out the form below.