All Tags

WTF? posted on: 4/13/07
WORKSFORME posted on: 4/24/07
That Pointer Thing posted on: 4/17/07
Attractive Accessibility posted on: 1/22/08
Description:

Generally speaking, I do everything I can to avoid images in content. Simple text is easier, more maintainable, more accessible and, for added incentive, I'm a spectacularly inept designer. Predictably, though, there's always an exception. When an exception arises and I have to use an image, I still want the markup to be semantic and accessible.

The technique I use isn't revolutionary or even new, but I don't see it used very much where I work, so I thought I'd write it down. Who knows? Maybe it's less common than I've been assuming it is.

Displaying an RSS Feed with ColdFusion posted on: 3/19/07
Description:

In my last post, I talked about a few of the challenges I ran across when consuming an RSS feed using ColdFusion. The whole point of consuming the feed, though, at least in my case, was to display it in some way. That presented a few challenges of its own, although these were all technical in nature and easy to solve once I figured out the problem. The hard part for me was figuring it out. I spent more than a few hours on a couple of these.

On Nomenclature in Code posted on: 1/14/08
Description:

Among the (many) things that I'm admittedly anal about with respect to code is nomenclature. I hate obfuscation, I detest ambiguity, I deplore obscure abbreviations. I'm also not a fan of misdirection.

Fogless Mirrors...Aren't posted on: 7/27/07
Double Wide Gmail? posted on: 3/23/07
Description:

I sat down in front of GMail this morning to compose a message to the CF-Talk mailing list and I had this vague sensation that something was amiss. I couldn't put my finger on it, but I honestly didn't think too much about it. After a minute or two, though, I think my neck started getting tired and it hit me. GMail's message composition window is no longer constrained. I've been turning my head to see what I'm typing. Although I've gotten used to it, I suppose, I always hated the wasted real estate that could've been used to keep the vertical scroll within a message to a minimum. As far as I could tell, there was no reason for the width to be constrained (ad space, perhaps?), it just was. Maybe not any more.

That Annoying AOLSystem Guy posted on: 5/8/07
Variable Replacement with Ant posted on: 1/14/08
Description: In the years I've been using Ant, there aren't many things I haven't been able to make it do for me to automate the end-to-end build and/or deployment process. There is at least one thing that's eluded me, though. Automated changes to a config file.
MAMP + Svn Woes posted on: 1/5/08
Description:

Reckon I just might've spoke too soon when I posted last night. Maybe. I thought I'd solved all of my issues with MAMP and had successfully bent it to my will when I got pear running. Alas, 'twould appear not. Today I tried to execute an Ant script and one of my Subversion tasks was failing.

Ant for Web Applications posted on: 1/20/08
Description:

On the whole, I suppose, Ant is probably best known as a build automation tool for "traditional" software projects (particularly Java), but its usefulness for building and deploying web applications should not be dismissed. I've been using Ant since maybe 2003 or 2004 to do just that.

This entry offers a high-level view of how I use Ant to meet my own build and deployment needs. Subsequent posts will look at specific elements that are non-standard or that relate to how I integrate Ant into my end-to-end deployment process.

Principles of Web Application Development posted on: 1/12/08
Description:

Anyone that's been building web applications (or doing anything else, for that matter) for any length of time has undoubtedly established a few operating principles that drive the way they work and the deliverables they produce. I have mine. Not too long ago, I sat down and made an effort to articulate the principles (well, at least the big ones) that drive my work and, after some thought, decided to publish them here. I'd be interested in hearing how others apply (or avoid) the principles that I follow.

  1. Keep It Simple, Stupid
  2. Separate Presentation from Content
  3. Separate Content from Behavior
  4. Prefer Extensibility to Performance
  5. Prefer Readability to Perforance
  6. Prefer Simplicity to Flexibility
  7. Less First, Then More
    GMark Bookmarklet posted on: 3/15/07
    Description:

    As many computers as I use in as many different locations, I've come to rely more and more on a central bookmark repository. Because I already use Google to manage my mail and calendar , King G was a natural selection to manage my bookmarks, too.

    Leaving Firefox Behind posted on: 2/7/08
    Description:

    I keep trying to leave Firefox behind. And trying. And trying. Not behind, behind like feathered hair or roadkill, but behind as in dropping it as my primary browser. I haven't had much luck so far and it's pissing me off just a little bit. This I tell you this now because I just installed 3.0 b2 on my Mac hoping it would be better than 2.x and my bitterness is a bit more acute at the moment. Needless to say, it's not better. Not really, anyway. It doesn't even look that much better. I may even prefer the look of 2.x with one of Aronnax's outstanding grApple themes applied, to be honest.

    Variable Replacement with Ant posted on: 1/14/08
    Description: In the years I've been using Ant, there aren't many things I haven't been able to make it do for me to automate the end-to-end build and/or deployment process. There is at least one thing that's eluded me, though. Automated changes to a config file.
    Ant for Web Applications posted on: 1/20/08
    Description:

    On the whole, I suppose, Ant is probably best known as a build automation tool for "traditional" software projects (particularly Java), but its usefulness for building and deploying web applications should not be dismissed. I've been using Ant since maybe 2003 or 2004 to do just that.

    This entry offers a high-level view of how I use Ant to meet my own build and deployment needs. Subsequent posts will look at specific elements that are non-standard or that relate to how I integrate Ant into my end-to-end deployment process.

    I'm Leaving (InstantSpot) posted on: 2/14/08
    Description:

    Seems like an easy decision, right? I mean, it's just web application, right? It's not. I mean, it is just a web app, but it wasn't an easy decision. The evil geniuses behind InstantSpot have been really good to me and, frankly, it's just so damn easy to get started and to be productive. It took me a while to decide that I wanted to take on that burden myself. But I do. More on my reasons for leaving can be found at robwilkerson.org, but the reason for this post is to talk about what's next.

    On Nomenclature in Code posted on: 1/14/08
    Description:

    Among the (many) things that I'm admittedly anal about with respect to code is nomenclature. I hate obfuscation, I detest ambiguity, I deplore obscure abbreviations. I'm also not a fan of misdirection.

    ColdFusion Form Handling posted on: 5/15/07
    BlogCFC Enhancement posted on: 4/19/07
    Update: BlogCFC Enhancement posted on: 4/20/07
    iRead Pod for BlogCFC posted on: 4/20/07
    My First RIAForge Project posted on: 4/23/07
    Installing BlogCFC 5.6.002 posted on: 4/11/07
    Consuming an RSS Feed with ColdFusion posted on: 3/18/07
    Description:

    About a year ago I wrote a feed aggregator for a content management product. In doing so, I ran into a number of issues - some big, some small - that had me banging my head against a wall until i finally tracked them down. This morning, Bob Imperial asked a question on the CF-Talk mailing list related to one of those topics. I answered his question and went to work tracking down another, similar question that I knew I had responded to in the past. I thought it was the same question so my intent was to blog the solution in case anyone else was having the same problem.

    Displaying an RSS Feed with ColdFusion posted on: 3/19/07
    Description:

    In my last post, I talked about a few of the challenges I ran across when consuming an RSS feed using ColdFusion. The whole point of consuming the feed, though, at least in my case, was to display it in some way. That presented a few challenges of its own, although these were all technical in nature and easy to solve once I figured out the problem. The hard part for me was figuring it out. I spent more than a few hours on a couple of these.

    BlogCFC Pod posted on: 4/19/07
    How I Use cfparam posted on: 3/23/07
    PHP, Meet ColdFusion posted on: 1/7/08
    Principles of Web Application Development posted on: 1/12/08
    Description:

    Anyone that's been building web applications (or doing anything else, for that matter) for any length of time has undoubtedly established a few operating principles that drive the way they work and the deliverables they produce. I have mine. Not too long ago, I sat down and made an effort to articulate the principles (well, at least the big ones) that drive my work and, after some thought, decided to publish them here. I'd be interested in hearing how others apply (or avoid) the principles that I follow.

    1. Keep It Simple, Stupid
    2. Separate Presentation from Content
    3. Separate Content from Behavior
    4. Prefer Extensibility to Performance
    5. Prefer Readability to Perforance
    6. Prefer Simplicity to Flexibility
    7. Less First, Then More
      SSH/SCP Without Being Prompted for a Password posted on: 3/13/07
      Description:

      About two or three times a year I find myself in need of a background process that either needs to SSH or SCP into a remote machine . Since I do it so infrequently, I need to remind myself of the procedure each time so I've decided to lay it out here for anyone - but especially me - to reference.

      This process will allow a user to access, via the SSH protocol, another server without being prompted for a password. This technique is tremendously useful if, for example, you want to run a cron job that creates a backup using rsync or one that simply needs to copy files from another server to be processed locally.

      Attractive Accessibility posted on: 1/22/08
      Description:

      Generally speaking, I do everything I can to avoid images in content. Simple text is easier, more maintainable, more accessible and, for added incentive, I'm a spectacularly inept designer. Predictably, though, there's always an exception. When an exception arises and I have to use an image, I still want the markup to be semantic and accessible.

      The technique I use isn't revolutionary or even new, but I don't see it used very much where I work, so I thought I'd write it down. Who knows? Maybe it's less common than I've been assuming it is.

      MySQL Performance Surprise posted on: 4/11/07
      From ColdFusion to PHP posted on: 3/28/07
      Performance vs. Readability posted on: 7/31/07
      Page Introspection with XRAY posted on: 8/22/07
      Learning OOP posted on: 9/4/07
      Choosing JSON Over XML posted on: 5/9/07
      Fail Now, Fail Loud, Fail Proud posted on: 1/30/08
      Description:

      I write less code than I used to (particularly during the daylight hours), but I inherit a lot of code and I review a lot of code in addition to that which I still write. Today I read something that reminded me to write about a trend - or maybe it's an oversight - I've noticed in the last few years. It seems that a lot of developers are afraid of errors. Somewhere, somehow, it seems like it became the norm to create "bug-free" software by masking bugs and failing silently. Why? Or, more assertively...stop that.

      Contrary to popular belief, errors are user-friendly (at least in the long run). Errors are certainly developer-friendly. In almost every case, the latter begets the former, I've found.

      On the One Hand, Google APIs posted on: 4/23/07
      The Forest and the Trees posted on: 6/21/07
      Starting Eclipse from the OS X Terminal posted on: 3/21/07
      Description:

      The other night I had a need to restart Eclipse with the -clean flag. No big deal, I've done this a thousand times. Except - and didn't you just know there'd be one of those?...I've never done it on OS X (have I mentioned that I'm a new Mac user?). Hmmm.

      Google is your friend.

      Anyone Using Wesabe? posted on: 3/21/07
      Description:

      I don't know where I've been hiding, but I only heard about Wesabe a few days ago and it looks really interesting. I don't know much right now. Hell, I know anything (or damn close to it). I don't even know how long they've been around.

      Any input or experience would be appreciated. I'm thinking about giving it a try...

      Firefox 3.0b3. Sexy. posted on: 2/13/08
      Description:

      In spite of my previous rant, I'm not prepared to give up Firefox just yet - even in the face of blazing speed increases from the Safari camp. Now the Firefox team has given me one less reason to switch (albeit a superficial one). The new beta3 release is gorgeous, borrowing heavily (it's homage, right?) from the Safari UI, it seems to me.

      I've only had it installed for a few minutes so I can't speak to any other improvements, but I like the look (a lot) and they appear to have fixed a bug that prevented me from editing blog posts in the beta2 version.

      Leaving Firefox Behind posted on: 2/7/08
      Description:

      I keep trying to leave Firefox behind. And trying. And trying. Not behind, behind like feathered hair or roadkill, but behind as in dropping it as my primary browser. I haven't had much luck so far and it's pissing me off just a little bit. This I tell you this now because I just installed 3.0 b2 on my Mac hoping it would be better than 2.x and my bitterness is a bit more acute at the moment. Needless to say, it's not better. Not really, anyway. It doesn't even look that much better. I may even prefer the look of 2.x with one of Aronnax's outstanding grApple themes applied, to be honest.

      Prologue posted on: 3/12/07
      Description:

      So here I am. I've been fighting this for a long time now. I don't know why. I really don't. Probably laziness, really. Maybe I just didn't want to feel obliged to utter the phrase "blogsphere". And now I have. I'll endeavor to never do so again.

      Dina : A Better Monospace Font for Windows posted on: 3/26/07
      Description:

      For a long time I've been slightly, maybe even moderately annoyed by the Courier New font in Windows. Not in general, mind you, just when I was coding. It's too wide and it sucks up a lot of real estate in my text editor(s) that I don't want to lose if I can avoid it. Unfortunately, there just weren't any decent monospace alternatives I could find. Not that I spent a lot of time looking.

      A Day of Silence posted on: 4/30/07
      What's this I Hear? posted on: 4/6/07
      I Was *Just* Thinking That posted on: 4/3/07
      The Fervor Over Top Posting posted on: 7/12/07
      Paint Chips are Useless posted on: 5/30/07
      Polar Clock posted on: 6/4/07
      Productivity Junkie posted on: 5/23/07
      Double Wide Gmail? posted on: 3/23/07
      Description:

      I sat down in front of GMail this morning to compose a message to the CF-Talk mailing list and I had this vague sensation that something was amiss. I couldn't put my finger on it, but I honestly didn't think too much about it. After a minute or two, though, I think my neck started getting tired and it hit me. GMail's message composition window is no longer constrained. I've been turning my head to see what I'm typing. Although I've gotten used to it, I suppose, I always hated the wasted real estate that could've been used to keep the vertical scroll within a message to a minimum. As far as I could tell, there was no reason for the width to be constrained (ad space, perhaps?), it just was. Maybe not any more.

      GMailIt posted on: 3/23/07
      Description:

      About a week ago, I wrote about a bookmarklet I had bastardized to facilitate my process for adding a new Google bookmark (GMark). Today I decided to take that same approach to automating a different process.

      GMark Bookmarklet posted on: 3/15/07
      Description:

      As many computers as I use in as many different locations, I've come to rely more and more on a central bookmark repository. Because I already use Google to manage my mail and calendar , King G was a natural selection to manage my bookmarks, too.

      Perl to the Rescue posted on: 3/13/07
      SSH/SCP Without Being Prompted for a Password posted on: 3/13/07
      Description:

      About two or three times a year I find myself in need of a background process that either needs to SSH or SCP into a remote machine . Since I do it so infrequently, I need to remind myself of the procedure each time so I've decided to lay it out here for anyone - but especially me - to reference.

      This process will allow a user to access, via the SSH protocol, another server without being prompted for a password. This technique is tremendously useful if, for example, you want to run a cron job that creates a backup using rsync or one that simply needs to copy files from another server to be processed locally.

      Recover the Menu Bar in IE7 posted on: 3/14/07
      Description:

      A couple of months ago I got a semi-panicked phone call from my mom. Seems she had allowed Windows Update to do its thing and now her Internet Explorer bookmarks, ahem Favorites, weren't there. I couldn't figure out what she was talking about until I remembered that IE7 had recently been unleashed upon the world. And the light bulb clicked on.

      OS X Death Ball posted on: 3/13/07
      Description:

      After a long morning of constant scowling while trying to write "performant" SQL against several tables containing hundreds of millions of records, I followed a feed link to this.

      It's Pi Day (Put Your Party Hat On) posted on: 3/14/07
      Description:

      Todd Sharp just posted an entry on about the existence of Pi Day. Surprisingly not on the list of US Federal Holidays, but still. Get it? 3/14 -> 3.14? Yeah, me either. I mean I get it, but I don't get it. Even from a geek, saying anything at all just seems so anticlimactic.

      xkcd Kills Me. Absolutely Kills Me. posted on: 1/16/08
      Description:

      xkcd offers a perspective that, at a glance, appears quirky and offbeat. About the time you finish reading, though, you realize that it's just so...on the nose. More than once I've been tempted to don the tin foil chapeau just to keep the author out of my head.

      If you're not a subscriber, you're seriously missing out.

      Code Monkey not Crazy, Just Proud posted on: 3/16/07
      Description:

      A friend sent me the URI to this video clip a while back and, in spite of the "boring manager Rob" part, it made me laugh. Loud. It's work-safe, but for maximum amusement, I recommend turning the volume up. If you still can't quite catch all of it, read the lyrics.

      Don't Break the Web posted on: 1/23/08
      Description:

      In light of Microsoft's plans (or is it just a proposal?) for browser version targeting, I decided to weigh-in on a more philosophical level. There are a lot of very smart people chiming in on this who are much closer to the situation than I am at a practical level. They are better equipped to speak to any implementation concerns. My concern rests at a higher (as in more abstract, not better) level.

      Recover the Menu Bar in IE7 posted on: 3/14/07
      Description:

      A couple of months ago I got a semi-panicked phone call from my mom. Seems she had allowed Windows Update to do its thing and now her Internet Explorer bookmarks, ahem Favorites, weren't there. I couldn't figure out what she was talking about until I remembered that IE7 had recently been unleashed upon the world. And the light bulb clicked on.

      I'm Leaving (InstantSpot) posted on: 2/14/08
      Description:

      Seems like an easy decision, right? I mean, it's just web application, right? It's not. I mean, it is just a web app, but it wasn't an easy decision. The evil geniuses behind InstantSpot have been really good to me and, frankly, it's just so damn easy to get started and to be productive. It took me a while to decide that I wanted to take on that burden myself. But I do. More on my reasons for leaving can be found at robwilkerson.org, but the reason for this post is to talk about what's next.

      jQuery is...Smooth posted on: 3/22/07
      Description:

      I've been a user - and a fan - of Prototype for about a year or so now, but in the last few months I've been hearing a lot of good things about jQuery so I've been looking for a reason to do something with it.

      I recently took over the technical ownership of a site that needs a little love. It's a site for a county fair and the fair date is coming up. The folks who run the fair want to do a lot with the site moving forward, but for now they just needed some quick edits made. Of course I said it wouldn't be a problem.

      jQuery is...Smooth posted on: 3/22/07
      Description:

      I've been a user - and a fan - of Prototype for about a year or so now, but in the last few months I've been hearing a lot of good things about jQuery so I've been looking for a reason to do something with it.

      I recently took over the technical ownership of a site that needs a little love. It's a site for a county fair and the fair date is coming up. The folks who run the fair want to do a lot with the site moving forward, but for now they just needed some quick edits made. Of course I said it wouldn't be a problem.

      Leopard: Initial Reactions posted on: 11/10/07
      Leopard's Spaces and Firefox posted on: 11/11/07
      Find Menu Items in Leopard posted on: 10/26/07
      SuperDuper 2.5 (Finally) Released posted on: 2/7/08
      Description:

      I've been looking forward to this for a long time now. SuperDuper, of course, is the outstanding backup software for Macs and this release offers compatibility with OS X Leopard. It's not free, sadly, but it's one of those apps that is far enough ahead of its free counterparts that I believe it's worth paying for. Yeah, I know Leopard ships with TimeMachine. Wonderful. Fantastic. Not good enough. Doesn't work for me.

      I don't mean that it literally doesn't work for me. It probably functions just fine. My problem with it is that TimeMachine forces me to park a big ol' external hard drive on my desk and hard-wire it to my machine.

      Geaux Tigers posted on: 1/8/08
      Description:

      As an LSU alum, I'm an LSU fan (of course). There's nothing cooler than showing up to class on a Thursday morning during football season, parking in the shadow of Death Valley and right next to an RV (one of many) that's already started tailgating for the game on Saturday. Great atmosphere, great school and great people. I wish I could've been there last night.

      MAMP 1.7.1: Problem(s) Solved posted on: 1/8/08
      Description:

      After all of my bitching and moaning about how MAMP was affecting (read: preventing) my full development workflow, last night I downloaded v1.7.1 - I've been running 1.7.0. I knew 1.7.1 had been released recently and it was on my "short" list of things to do, but yesterday I did it to see if it would automagically fix all my problems. Sho'nuff...it did.

      MAMP + PEAR + tcsh posted on: 1/4/08
      Description:

      Having chosen MAMP as my Apache, MySQL & PHP stack of choice on the Mac, things have been rolling along pretty well. Well, until tonight. Tonight was the first time I've had a need to connect to a database since I started developing locally. I've been building out the domain model of a project for the past few weeks and now it's time to establish persistence. Since I've used PEAR::MDB2 for database abstraction in the past and am reasonably comfortable with doing so, I decided to just stick with it (one of these days I'll get around to trying out PHP's baked-in data objects). Using MDB2, though, means that I need a working installation of pear. MAMP comes with pear installed, but it's not necessarily configured and happily ready to run. Mine most certainly wasn't.

      MAMP + Svn Woes posted on: 1/5/08
      Description:

      Reckon I just might've spoke too soon when I posted last night. Maybe. I thought I'd solved all of my issues with MAMP and had successfully bent it to my will when I got pear running. Alas, 'twould appear not. Today I tried to execute an Ant script and one of my Subversion tasks was failing.

      SuperDuper 2.5 (Finally) Released posted on: 2/7/08
      Description:

      I've been looking forward to this for a long time now. SuperDuper, of course, is the outstanding backup software for Macs and this release offers compatibility with OS X Leopard. It's not free, sadly, but it's one of those apps that is far enough ahead of its free counterparts that I believe it's worth paying for. Yeah, I know Leopard ships with TimeMachine. Wonderful. Fantastic. Not good enough. Doesn't work for me.

      I don't mean that it literally doesn't work for me. It probably functions just fine. My problem with it is that TimeMachine forces me to park a big ol' external hard drive on my desk and hard-wire it to my machine.

      Find Menu Items in Leopard posted on: 10/26/07
      .Mac Sync? posted on: 11/15/07
      Leopard: Initial Reactions posted on: 11/10/07
      Leopard's Spaces and Firefox posted on: 11/11/07
      Geaux Tigers posted on: 1/8/08
      Description:

      As an LSU alum, I'm an LSU fan (of course). There's nothing cooler than showing up to class on a Thursday morning during football season, parking in the shadow of Death Valley and right next to an RV (one of many) that's already started tailgating for the game on Saturday. Great atmosphere, great school and great people. I wish I could've been there last night.

      Dina : A Better Monospace Font for Windows posted on: 3/26/07
      Description:

      For a long time I've been slightly, maybe even moderately annoyed by the Courier New font in Windows. Not in general, mind you, just when I was coding. It's too wide and it sucks up a lot of real estate in my text editor(s) that I don't want to lose if I can avoid it. Unfortunately, there just weren't any decent monospace alternatives I could find. Not that I spent a lot of time looking.

      New TiVo Service posted on: 3/12/07
      Description:

      Look, I was an early adopter of TiVo having received my first on Christmas morning, 2000. I was happy - ecstatic - to be able to pause when I needed to take a leak, rewind when a particularly amusing Super Bowl commercial was played and let someone (ahem, something) else worry about whether a show I wanted to record was changing time slots.

      That is, until I could exercise my broadband connection and save my phone line and the hours of interminable download time it took to receive updates. Then I was happy.

      Today's Musical Re-Awakening posted on: 4/20/07
      Catch Bob Schneider Live posted on: 4/15/07
      Musical Renaissance: Money posted on: 7/9/07
      Musical Degeneration posted on: 12/10/07
      Musical Renaissance posted on: 3/27/07
      First Time Reader, Last Time Reader posted on: 1/8/08
      Description:

      I try to avoid reference posts, but the ex-paratrooper (peacetime) in me was struck by this. Articulating your own death must be an incredibly difficult thing to do on many levels. MAJ Andrew Olmsted did a hell of a job. I wish I'd known about his writing sooner.

      Grey's Law posted on: 1/9/08
      Description:

      Today, in the course of doing twelve other things, I happened onto a reference to Grey's Law which states that, " Any sufficiently advanced incompetence is indistinguishable from malice."

      I wish I'd say that.

      Impressed with Wesabe posted on: 7/19/07
      A Linux Upgrade of Sorts posted on: 5/3/07
      Linux Distro Madness posted on: 4/17/07
      Linux Distro Overload posted on: 4/11/07
      Towards a Working Backup posted on: 4/16/07
      A Pleasant Surprise posted on: 4/3/07
      Starting Eclipse from the OS X Terminal posted on: 3/21/07
      Description:

      The other night I had a need to restart Eclipse with the -clean flag. No big deal, I've done this a thousand times. Except - and didn't you just know there'd be one of those?...I've never done it on OS X (have I mentioned that I'm a new Mac user?). Hmmm.

      Google is your friend.

      Cron-ic Memory Lapse posted on: 3/23/07
      Description:

      I don't know whether it's something I'm missing or something extra that I have, but I can never, and I mean never, remember the order of arguments when I need to create a new cron job.

      With CronniX, this is no longer a problem.

      A Better System Clock/Calendar in OS X posted on: 3/20/07
      Description:

      As a long time Windows user, one of my frustrations has always been the lack of a decent date/time display. When I transitioned to the Mac a few months ago, I hoped that particular frustration would be alleviated. Although it was better, it still wasn't all it should be, in my mind.

      A few weeks ago, I just got fed up with the display on my Windows machine and I went on a serious hunt for a better system clock. I found one that was close, but not quite good enough. I'll have to carry on with the paltry OS implementation. On the periphery of that search, though, I ran across a replacement for the OS X system clock that looked pretty solid so I decided to install it.

      MAMP + PEAR + tcsh posted on: 1/4/08
      Description:

      Having chosen MAMP as my Apache, MySQL & PHP stack of choice on the Mac, things have been rolling along pretty well. Well, until tonight. Tonight was the first time I've had a need to connect to a database since I started developing locally. I've been building out the domain model of a project for the past few weeks and now it's time to establish persistence. Since I've used PEAR::MDB2 for database abstraction in the past and am reasonably comfortable with doing so, I decided to just stick with it (one of these days I'll get around to trying out PHP's baked-in data objects). Using MDB2, though, means that I need a working installation of pear. MAMP comes with pear installed, but it's not necessarily configured and happily ready to run. Mine most certainly wasn't.

      Principles of Web Application Development posted on: 1/12/08
      Description:

      Anyone that's been building web applications (or doing anything else, for that matter) for any length of time has undoubtedly established a few operating principles that drive the way they work and the deliverables they produce. I have mine. Not too long ago, I sat down and made an effort to articulate the principles (well, at least the big ones) that drive my work and, after some thought, decided to publish them here. I'd be interested in hearing how others apply (or avoid) the principles that I follow.

      1. Keep It Simple, Stupid
      2. Separate Presentation from Content
      3. Separate Content from Behavior
      4. Prefer Extensibility to Performance
      5. Prefer Readability to Perforance
      6. Prefer Simplicity to Flexibility
      7. Less First, Then More
        Consuming an RSS Feed with ColdFusion posted on: 3/18/07
        Description:

        About a year ago I wrote a feed aggregator for a content management product. In doing so, I ran into a number of issues - some big, some small - that had me banging my head against a wall until i finally tracked them down. This morning, Bob Imperial asked a question on the CF-Talk mailing list related to one of those topics. I answered his question and went to work tracking down another, similar question that I knew I had responded to in the past. I thought it was the same question so my intent was to blog the solution in case anyone else was having the same problem.

        Perl to the Rescue posted on: 3/13/07
        MAMP + PEAR + tcsh posted on: 1/4/08
        Description:

        Having chosen MAMP as my Apache, MySQL & PHP stack of choice on the Mac, things have been rolling along pretty well. Well, until tonight. Tonight was the first time I've had a need to connect to a database since I started developing locally. I've been building out the domain model of a project for the past few weeks and now it's time to establish persistence. Since I've used PEAR::MDB2 for database abstraction in the past and am reasonably comfortable with doing so, I decided to just stick with it (one of these days I'll get around to trying out PHP's baked-in data objects). Using MDB2, though, means that I need a working installation of pear. MAMP comes with pear installed, but it's not necessarily configured and happily ready to run. Mine most certainly wasn't.

        PHP, Meet ColdFusion posted on: 1/7/08
        Creating a Singleton in PHP posted on: 9/24/07
        Principles of Web Application Development posted on: 1/12/08
        Description:

        Anyone that's been building web applications (or doing anything else, for that matter) for any length of time has undoubtedly established a few operating principles that drive the way they work and the deliverables they produce. I have mine. Not too long ago, I sat down and made an effort to articulate the principles (well, at least the big ones) that drive my work and, after some thought, decided to publish them here. I'd be interested in hearing how others apply (or avoid) the principles that I follow.

        1. Keep It Simple, Stupid
        2. Separate Presentation from Content
        3. Separate Content from Behavior
        4. Prefer Extensibility to Performance
        5. Prefer Readability to Perforance
        6. Prefer Simplicity to Flexibility
        7. Less First, Then More
          GMark Bookmarklet posted on: 3/15/07
          Description:

          As many computers as I use in as many different locations, I've come to rely more and more on a central bookmark repository. Because I already use Google to manage my mail and calendar , King G was a natural selection to manage my bookmarks, too.

          GMailIt posted on: 3/23/07
          Description:

          About a week ago, I wrote about a bookmarklet I had bastardized to facilitate my process for adding a new Google bookmark (GMark). Today I decided to take that same approach to automating a different process.

          Principles of Web Application Development posted on: 1/12/08
          Description:

          Anyone that's been building web applications (or doing anything else, for that matter) for any length of time has undoubtedly established a few operating principles that drive the way they work and the deliverables they produce. I have mine. Not too long ago, I sat down and made an effort to articulate the principles (well, at least the big ones) that drive my work and, after some thought, decided to publish them here. I'd be interested in hearing how others apply (or avoid) the principles that I follow.

          1. Keep It Simple, Stupid
          2. Separate Presentation from Content
          3. Separate Content from Behavior
          4. Prefer Extensibility to Performance
          5. Prefer Readability to Perforance
          6. Prefer Simplicity to Flexibility
          7. Less First, Then More
            Regex Tip : Backreferences posted on: 3/29/07
            I'm Leaving (InstantSpot) posted on: 2/14/08
            Description:

            Seems like an easy decision, right? I mean, it's just web application, right? It's not. I mean, it is just a web app, but it wasn't an easy decision. The evil geniuses behind InstantSpot have been really good to me and, frankly, it's just so damn easy to get started and to be productive. It took me a while to decide that I wanted to take on that burden myself. But I do. More on my reasons for leaving can be found at robwilkerson.org, but the reason for this post is to talk about what's next.

            Consuming an RSS Feed with ColdFusion posted on: 3/18/07
            Description:

            About a year ago I wrote a feed aggregator for a content management product. In doing so, I ran into a number of issues - some big, some small - that had me banging my head against a wall until i finally tracked them down. This morning, Bob Imperial asked a question on the CF-Talk mailing list related to one of those topics. I answered his question and went to work tracking down another, similar question that I knew I had responded to in the past. I thought it was the same question so my intent was to blog the solution in case anyone else was having the same problem.

            Displaying an RSS Feed with ColdFusion posted on: 3/19/07
            Description:

            In my last post, I talked about a few of the challenges I ran across when consuming an RSS feed using ColdFusion. The whole point of consuming the feed, though, at least in my case, was to display it in some way. That presented a few challenges of its own, although these were all technical in nature and easy to solve once I figured out the problem. The hard part for me was figuring it out. I spent more than a few hours on a couple of these.

            SSH/SCP Without Being Prompted for a Password posted on: 3/13/07
            Description:

            About two or three times a year I find myself in need of a background process that either needs to SSH or SCP into a remote machine . Since I do it so infrequently, I need to remind myself of the procedure each time so I've decided to lay it out here for anyone - but especially me - to reference.

            This process will allow a user to access, via the SSH protocol, another server without being prompted for a password. This technique is tremendously useful if, for example, you want to run a cron job that creates a backup using rsync or one that simply needs to copy files from another server to be processed locally.

            SSH/SCP Without Being Prompted for a Password posted on: 3/13/07
            Description:

            About two or three times a year I find myself in need of a background process that either needs to SSH or SCP into a remote machine . Since I do it so infrequently, I need to remind myself of the procedure each time so I've decided to lay it out here for anyone - but especially me - to reference.

            This process will allow a user to access, via the SSH protocol, another server without being prompted for a password. This technique is tremendously useful if, for example, you want to run a cron job that creates a backup using rsync or one that simply needs to copy files from another server to be processed locally.

            Principles of Web Application Development posted on: 1/12/08
            Description:

            Anyone that's been building web applications (or doing anything else, for that matter) for any length of time has undoubtedly established a few operating principles that drive the way they work and the deliverables they produce. I have mine. Not too long ago, I sat down and made an effort to articulate the principles (well, at least the big ones) that drive my work and, after some thought, decided to publish them here. I'd be interested in hearing how others apply (or avoid) the principles that I follow.

            1. Keep It Simple, Stupid
            2. Separate Presentation from Content
            3. Separate Content from Behavior
            4. Prefer Extensibility to Performance
            5. Prefer Readability to Perforance
            6. Prefer Simplicity to Flexibility
            7. Less First, Then More
              Attractive Accessibility posted on: 1/22/08
              Description:

              Generally speaking, I do everything I can to avoid images in content. Simple text is easier, more maintainable, more accessible and, for added incentive, I'm a spectacularly inept designer. Predictably, though, there's always an exception. When an exception arises and I have to use an image, I still want the markup to be semantic and accessible.

              The technique I use isn't revolutionary or even new, but I don't see it used very much where I work, so I thought I'd write it down. Who knows? Maybe it's less common than I've been assuming it is.

              Evel Knievel Dead at 69 posted on: 12/1/07
              Principles of Web Application Development posted on: 1/12/08
              Description:

              Anyone that's been building web applications (or doing anything else, for that matter) for any length of time has undoubtedly established a few operating principles that drive the way they work and the deliverables they produce. I have mine. Not too long ago, I sat down and made an effort to articulate the principles (well, at least the big ones) that drive my work and, after some thought, decided to publish them here. I'd be interested in hearing how others apply (or avoid) the principles that I follow.

              1. Keep It Simple, Stupid
              2. Separate Presentation from Content
              3. Separate Content from Behavior
              4. Prefer Extensibility to Performance
              5. Prefer Readability to Perforance
              6. Prefer Simplicity to Flexibility
              7. Less First, Then More
                SuperDuper 2.5 (Finally) Released posted on: 2/7/08
                Description:

                I've been looking forward to this for a long time now. SuperDuper, of course, is the outstanding backup software for Macs and this release offers compatibility with OS X Leopard. It's not free, sadly, but it's one of those apps that is far enough ahead of its free counterparts that I believe it's worth paying for. Yeah, I know Leopard ships with TimeMachine. Wonderful. Fantastic. Not good enough. Doesn't work for me.

                I don't mean that it literally doesn't work for me. It probably functions just fine. My problem with it is that TimeMachine forces me to park a big ol' external hard drive on my desk and hard-wire it to my machine.

                Safari Screams posted on: 12/29/07
                I'm a QuickSilver Convert posted on: 9/5/07
                Leaving Firefox Behind posted on: 2/7/08
                Description:

                I keep trying to leave Firefox behind. And trying. And trying. Not behind, behind like feathered hair or roadkill, but behind as in dropping it as my primary browser. I haven't had much luck so far and it's pissing me off just a little bit. This I tell you this now because I just installed 3.0 b2 on my Mac hoping it would be better than 2.x and my bitterness is a bit more acute at the moment. Needless to say, it's not better. Not really, anyway. It doesn't even look that much better. I may even prefer the look of 2.x with one of Aronnax's outstanding grApple themes applied, to be honest.

                OCD Be Damed posted on: 4/9/07
                GroupCal for OS X posted on: 3/14/07
                Description: This is a new blog presence so I'm asking this question of an accidental audience at best, but has anyone used GroupCal to sync iCal with an office Exchange server? I'm currently running WinXP/Office 2007 in a Parallels VM to connect to my office's Exchange Server over VPN.
                A Better System Clock/Calendar in OS X posted on: 3/20/07
                Description:

                As a long time Windows user, one of my frustrations has always been the lack of a decent date/time display. When I transitioned to the Mac a few months ago, I hoped that particular frustration would be alleviated. Although it was better, it still wasn't all it should be, in my mind.

                A few weeks ago, I just got fed up with the display on my Windows machine and I went on a serious hunt for a better system clock. I found one that was close, but not quite good enough. I'll have to carry on with the paltry OS implementation. On the periphery of that search, though, I ran across a replacement for the OS X system clock that looked pretty solid so I decided to install it.

                Anyone Using Wesabe? posted on: 3/21/07
                Description:

                I don't know where I've been hiding, but I only heard about Wesabe a few days ago and it looks really interesting. I don't know much right now. Hell, I know anything (or damn close to it). I don't even know how long they've been around.

                Any input or experience would be appreciated. I'm thinking about giving it a try...

                Cron-ic Memory Lapse posted on: 3/23/07
                Description:

                I don't know whether it's something I'm missing or something extra that I have, but I can never, and I mean never, remember the order of arguments when I need to create a new cron job.

                With CronniX, this is no longer a problem.

                Geaux Tigers posted on: 1/8/08
                Description:

                As an LSU alum, I'm an LSU fan (of course). There's nothing cooler than showing up to class on a Thursday morning during football season, parking in the shadow of Death Valley and right next to an RV (one of many) that's already started tailgating for the game on Saturday. Great atmosphere, great school and great people. I wish I could've been there last night.

                SSH/SCP Without Being Prompted for a Password posted on: 3/13/07
                Description:

                About two or three times a year I find myself in need of a background process that either needs to SSH or SCP into a remote machine . Since I do it so infrequently, I need to remind myself of the procedure each time so I've decided to lay it out here for anyone - but especially me - to reference.

                This process will allow a user to access, via the SSH protocol, another server without being prompted for a password. This technique is tremendously useful if, for example, you want to run a cron job that creates a backup using rsync or one that simply needs to copy files from another server to be processed locally.

                Don't Break the Web posted on: 1/23/08
                Description:

                In light of Microsoft's plans (or is it just a proposal?) for browser version targeting, I decided to weigh-in on a more philosophical level. There are a lot of very smart people chiming in on this who are much closer to the situation than I am at a practical level. They are better equipped to speak to any implementation concerns. My concern rests at a higher (as in more abstract, not better) level.

                Attractive Accessibility posted on: 1/22/08
                Description:

                Generally speaking, I do everything I can to avoid images in content. Simple text is easier, more maintainable, more accessible and, for added incentive, I'm a spectacularly inept designer. Predictably, though, there's always an exception. When an exception arises and I have to use an image, I still want the markup to be semantic and accessible.

                The technique I use isn't revolutionary or even new, but I don't see it used very much where I work, so I thought I'd write it down. Who knows? Maybe it's less common than I've been assuming it is.

                On Nomenclature in Code posted on: 1/14/08
                Description:

                Among the (many) things that I'm admittedly anal about with respect to code is nomenclature. I hate obfuscation, I detest ambiguity, I deplore obscure abbreviations. I'm also not a fan of misdirection.

                MAMP + Svn Woes posted on: 1/5/08
                Description:

                Reckon I just might've spoke too soon when I posted last night. Maybe. I thought I'd solved all of my issues with MAMP and had successfully bent it to my will when I got pear running. Alas, 'twould appear not. Today I tried to execute an Ant script and one of my Subversion tasks was failing.

                Limiting Subversion Access posted on: 9/17/07
                Ant for Web Applications posted on: 1/20/08
                Description:

                On the whole, I suppose, Ant is probably best known as a build automation tool for "traditional" software projects (particularly Java), but its usefulness for building and deploying web applications should not be dismissed. I've been using Ant since maybe 2003 or 2004 to do just that.

                This entry offers a high-level view of how I use Ant to meet my own build and deployment needs. Subsequent posts will look at specific elements that are non-standard or that relate to how I integrate Ant into my end-to-end deployment process.

                SuperDuper 2.5 (Finally) Released posted on: 2/7/08
                Description:

                I've been looking forward to this for a long time now. SuperDuper, of course, is the outstanding backup software for Macs and this release offers compatibility with OS X Leopard. It's not free, sadly, but it's one of those apps that is far enough ahead of its free counterparts that I believe it's worth paying for. Yeah, I know Leopard ships with TimeMachine. Wonderful. Fantastic. Not good enough. Doesn't work for me.

                I don't mean that it literally doesn't work for me. It probably functions just fine. My problem with it is that TimeMachine forces me to park a big ol' external hard drive on my desk and hard-wire it to my machine.

                The Dirth of Bluetooth Mice posted on: 7/21/07
                Where's That Area Code? posted on: 7/24/07
                Inexpensive Servers posted on: 7/8/07
                I'm *So* Not a Hardware Guy posted on: 5/14/07
                A World Without Open Source posted on: 5/10/07
                Starting Eclipse from the OS X Terminal posted on: 3/21/07
                Description:

                The other night I had a need to restart Eclipse with the -clean flag. No big deal, I've done this a thousand times. Except - and didn't you just know there'd be one of those?...I've never done it on OS X (have I mentioned that I'm a new Mac user?). Hmmm.

                Google is your friend.

                On Nomenclature in Code posted on: 1/14/08
                Description:

                Among the (many) things that I'm admittedly anal about with respect to code is nomenclature. I hate obfuscation, I detest ambiguity, I deplore obscure abbreviations. I'm also not a fan of misdirection.

                New TiVo Service posted on: 3/12/07
                Description:

                Look, I was an early adopter of TiVo having received my first on Christmas morning, 2000. I was happy - ecstatic - to be able to pause when I needed to take a leak, rewind when a particularly amusing Super Bowl commercial was played and let someone (ahem, something) else worry about whether a show I wanted to record was changing time slots.

                That is, until I could exercise my broadband connection and save my phone line and the hours of interminable download time it took to receive updates. Then I was happy.

                Fail Now, Fail Loud, Fail Proud posted on: 1/30/08
                Description:

                I write less code than I used to (particularly during the daylight hours), but I inherit a lot of code and I review a lot of code in addition to that which I still write. Today I read something that reminded me to write about a trend - or maybe it's an oversight - I've noticed in the last few years. It seems that a lot of developers are afraid of errors. Somewhere, somehow, it seems like it became the norm to create "bug-free" software by masking bugs and failing silently. Why? Or, more assertively...stop that.

                Contrary to popular belief, errors are user-friendly (at least in the long run). Errors are certainly developer-friendly. In almost every case, the latter begets the former, I've found.

                Anyone Using Wesabe? posted on: 3/21/07
                Description:

                I don't know where I've been hiding, but I only heard about Wesabe a few days ago and it looks really interesting. I don't know much right now. Hell, I know anything (or damn close to it). I don't even know how long they've been around.

                Any input or experience would be appreciated. I'm thinking about giving it a try...

                Attractive Accessibility posted on: 1/22/08
                Description:

                Generally speaking, I do everything I can to avoid images in content. Simple text is easier, more maintainable, more accessible and, for added incentive, I'm a spectacularly inept designer. Predictably, though, there's always an exception. When an exception arises and I have to use an image, I still want the markup to be semantic and accessible.

                The technique I use isn't revolutionary or even new, but I don't see it used very much where I work, so I thought I'd write it down. Who knows? Maybe it's less common than I've been assuming it is.

                XML > XSLT > XHTML > Oops posted on: 4/18/07
                Consuming an RSS Feed with ColdFusion posted on: 3/18/07
                Description:

                About a year ago I wrote a feed aggregator for a content management product. In doing so, I ran into a number of issues - some big, some small - that had me banging my head against a wall until i finally tracked them down. This morning, Bob Imperial asked a question on the CF-Talk mailing list related to one of those topics. I answered his question and went to work tracking down another, similar question that I knew I had responded to in the past. I thought it was the same question so my intent was to blog the solution in case anyone else was having the same problem.

                Displaying an RSS Feed with ColdFusion posted on: 3/19/07
                Description:

                In my last post, I talked about a few of the challenges I ran across when consuming an RSS feed using ColdFusion. The whole point of consuming the feed, though, at least in my case, was to display it in some way. That presented a few challenges of its own, although these were all technical in nature and easy to solve once I figured out the problem. The hard part for me was figuring it out. I spent more than a few hours on a couple of these.

                Displaying an RSS Feed with ColdFusion posted on: 3/19/07
                Description:

                In my last post, I talked about a few of the challenges I ran across when consuming an RSS feed using ColdFusion. The whole point of consuming the feed, though, at least in my case, was to display it in some way. That presented a few challenges of its own, although these were all technical in nature and easy to solve once I figured out the problem. The hard part for me was figuring it out. I spent more than a few hours on a couple of these.


                Search

                Rob  Wilkerson