• code

    Object-Oriented JavaScript

    First a caveat: JavaScript is a prototype-based language, not an object-oriented language.  Now that we have an understanding of that very important fact, let’s learn how to use JavaScript as if it were object-oriented. A few weeks ago, I was asked to teach a couple of my colleagues how to code with JavaScript.  We’re building…
    Read More


    A Week of Running

    My friends and me at the finish line of the Race for the Roses half marathon.

    A little over a year ago, my brother invited me to go running with him.  It was going to be a short jog, just a mile or so, and I decided to join him.  Sadly, I barely made it a block before I could no longer breathe and had to stop.

    That 1 mile run took me almost 20 minutes to complete … with lots of walking all along the way.  In a word, it was embarassing.

    So I started working on my running in the gym.  First I worked on the ellipticals, pushing myself to run farther and faster every time.  Once I was ready, I upgraded to the treadmill and was once again reduced to slow walk/runs that took far too long.  free people dresses   free people dresses

    A year of training finally came to a head last Sunday.  I woke up before the crack of dawn, grabbed some Gatorade, drove downtown … and ran in my first ever half-marathon.

    One year took me from barely making it to the end of the block to running a half marathon (that’s 13.1 miles for those of you keeping track) in just under 3 hours.  To say I’m proud of that accomplishment would be a vast understatement. [Read more...]


    Development Fail

    I know, “fail” is a disallowed word in this day and age, but it’s still very appropriate for this situation.  Earlier today, fellow developer Travis Northcutt alerted us all to a problem with the Pearson Higher Education website:

    Wow. http://pearsonhighered.com/ loads a ~165,000 line .css file. Yes, you read that right. ~3.5MB. I don’t know what to say.less than a minute ago via TweetDeck

    I immediately launched Firebug so I could track down the issue.  It turned out, the main stylesheet – the file that determines the look and presentation of the page – was over 3MB.  That might not seem like much in the day of high-definition movies and large hard drives, but a 3MB text file was preventing anything else from loading on the page.

    A few other developers gave up loading the site after 10 or 15 seconds.  I sat through the entire download and, 30 seconds later, was looking at the clean, polished Pearson Higher Education website.

    I was a bit confused, though.  The site is well put-together, but nothing about it should require a 165,000-line stylesheet definition.  I took a look at the source and discovered the problem.

    The entire stylesheet was comprised of a 165-line block … repeated 999 times!

    My first instinct was to email the developer directly (he was kind enough to leave his email address in the stylesheet) to alert him of the problem.  Since the stylesheet listed its creation date as 2009, and since I wanted to be extra nice, I even tracked down the “report an issue with our website” page on Pearson’s site.

    Unfortunately, the form was broken and refused to submit!

    I did notice that, by the afternoon, someone related to the site had cut out the extra 998 repetitions of the stylesheet, reducing it back to something resembling a sane document.  But this still shows how quickly a website can be destroyed by a developer or system administrator not paying attention.


    The Third Great Migration

    Once upon a time, I had a blog.  It was a simple thing, built entirely in Microsoft Frontpage and updated maybe once or twice a week.  It was a pain to manage, so I eventually dumped it and stopped blogging all together.

    Then WordPress happened.  And it was a beautiful thing. [Read more...]



    For those of you who’ve noticed, I’ve been fairly silent for the past few days.  Part of that was a result of being swamped with work.  Part of it was a nasty bug I picked up last week (though I can finally breathe without rattling again!).  As much as I’ve wanted to put content out, I just really haven’t had the time and worrying about a consistent update schedule has pushed me to the brink of “blogging burnout.”

    So I’m taking some time to re-evaluate and repurpose my sites.  I still want a presence online in the form of a blog.  I still want to talk about my faith, the struggles and achievements of my everyday life, and all things code or marketing related.  I’m just not sure I want to do that every day, and I’m not sure I should be doing it all in the same place. [Read more...]


    WordPress 3.1 is out!

    I’ve actually been using version 3.1 since before the first beta release several months ago.  The first release candidate dropped on Christmas, and it’s just gotten better from there (several bug fixes and minor improvements).  But today, it’s official.  The rest of the world can now benefit from the coolness that is WordPress 3.1!  Oh, and yes, I had a couple of patches in this version, too :-)

    The long-awaited fourteenth release of WordPress is now available. WordPress 3.1 “Django” is named in honor of the jazz guitarist Django Reinhardt. Version 3.1 is available for download, or you can update from within your dashboard.

    This release features a lightning fast redesigned linking workflow which makes it easy to link to your existing posts and pages, an admin bar so you’re never more than a click away from your most-used dashboard pages, a streamlined writing interface that hides many of the seldom-used panels by default to create a simpler and less intimidating writing experience for new bloggers (visit Screen Options in the top right to get old panels back), and a refreshed blue admin scheme available for selection under your personal options.

    There’s a bucket of candy for developers as well, including our new Post Formats support which makes it easy for themes to create portable tumblelogs with different styling for different types of posts, new CMS capabilities like archive pages for custom content types, a new Network Admin, an overhaul of the import and export system, and the ability to perform advanced taxonomy and custom fields queries.

    With the 3.1 release, WordPress is more of a CMS than ever before. The only limit to what you can build is your imagination.

    Read the rest of the announcement on the official WordPress blog …

    Flash Visualization of Core Contributors


    A Presidential Killswitch

    Driving home tonight, I heard a radio DJ mention a bill pending in Congress that would give the president the power to “turn off” the Internet in the event of a “national cyber emergency.”

    This bill was originally introduced in the 111th Congress by Senator Joe Lieberman.  It didn’t go very far, but recent events in the middle East and Africa have brought it back to the surface.

    After I heard the radio pitch, I immediately wanted to look up some arguments both in favor and against the bill so I could weight my own personal beliefs.

    In Favor

    On the one hand, people want to feel safe and secure in their dealings online.  Your Facebook profile lists your contact information.  Foursquare tells people when you’re away from home.  Your financial life resides online.  Your safety and security in retirement, times of damaged health, etc.  Just about everything is digital.

    So what happens when a coordinated attack targeted at the nation’s information infrastructure occurs?  We run in to a real-world Live Free or Die Hard scenario.  It might sound outrageous and impossible … but 15 years ago we were still able to meet our loved ones at the airport gate …


    The most resounding argument I’ve heard against the bill is in terms of cost.  The proposed bill (which will likely be used to frame the new edition in the 112th Congress) creates a new Federal agency – the Office of Cyberspace Policy.  The bill revises the Homeland Security Act, adds new offices, a new director position, and creates a new level of bureaucracy.

    It would be costly, and while we’re still overcoming a down economy and struggling to dig our way out of a deep hole of national debt, creating more overhead is not the way to go for the immediate future.

    My Concerns

    I’m not as concerned with the safety of my information or the cost to the taxpayer.  They are valid issues, but what bothers me is what this kind of law would mean for online publishing.

    Open social networks like Twitter have been largely credited with fueling and enabling conversations and protests across Egypt.  Without the freedom and power that the Internet gives to the average man, this kind of massive, rapid communication would likely have never happened.

    America was founded on a set of simple freedoms, one of which being the freedom of the press.

    My blog is a publication.  It might not be printed on a traditional “press,” but it is a distributed publication nonetheless.  As such, I have the inalienable right to produce content, be it supportive of the government, critical of the government, or arguing a different issue all together.

    The idea of giving anyone, let alone the president, a killswitch for the Internet gives me pause.  That someone could one day, for any arbitrary reason, decide to limit my right to communicate with the world at large out of a purported interest for my safety is, to me at least, preposterous.

    At the same time, I invite you to disagree and argue the point.  I’d love to hear further discussion on the issue, on both sides of the issue.  Would you or would you not support a presidential killswitch for the Internet?  Under what circumstances would it be permitted?  Why or why not?