Category: kennsarah.net


Why You Little…!

So, here’s the story on the site. Two nights ago, I was writing the Power of Voice article that you see below and the site decides to stop working. No apparent reason, just, “hey, I don’t think I’m going to output HTML anymore.” PlugSocket has had some downtime issues in the past week, so I assumed that they were just having outages that was causing MT to mess up.

The following morning, I put in an email to tech support because the problem’s still not resolved. The helpdesk guy (“Bob”) and I try to hash out what the problem is. Apparently, the box is working fine, and my MT code must have changed. He suggests fixing what I broke—and I don’t recall changing anything—or upgrading to the newest version of MT, 2.64. So, I upgrade. Same problem. I try exporting my database entirely and completely reinstalling MT. Now I can save pages again. Then I tediously break up my exported SQL file into chunks that phpMyAdmin can handle (there’s a 30 second timeout with importing data). Now all my data is back, and I can rebuild pages. I try reinstalling my plugins, and that seems to cause a stink.

So now I get to troubleshoot plugins. Pity me. I think I’m going to clear my head and do some cleaning in the “real world.” More later.

(By the way, yes, this is now hand-maintained until I can fix MovableType. Hey, some of the best still hand-code their sites.)

Content Policy

Apparently [PG], more and more weblogs are going to require one of these.

Site Changes

Sarah is taking call again tonight, which means I’m sitting in the apartment alone with my MT templates–a very dangerous combination. :) You’ll certainly notice a bunch of changes here. Some of it is stuff that I’ve been cooking up for a little while now and some of it is stuff that I’ve done in the last 24 hours. In no particular order:

# I’ve set up Mark’s MT Macros plugin, which not only automatically appends <acronym> tags to predefined acronyms (such as HTML or NJIT), but also converts those cute smiley faces. (I double-checked with Mark to make sure that taking the smilies was copasetic–it was). I’ll work on getting this set up for comments soon, too.
# Set up Brad Choate’s MT Textile plugin, which does nice conversions in my blogs so I don’t have to expressly write out the HTML for things like the em dash entity or bulleted lists.
# Deprecated the JavaScript Dynamic Curly Quotes. That kinda sucked because I was so excited about getting that to work–MT Textile does it for me now, though.
# Migrated the WeatherBox graphics to this site rather than requesting them from another site (I know, I should probably be clubbed for doing that in the first place).
# Changed the font a bit. It should be somewhat easier to read now. At least, I think so. ;-)
# Jai cleaned up my banner graphic. Thanks, Jai!
# Minor markup and stylesheet tweaks.

In other news, in case you couldn’t tell, the stress has throttled back a bit from school. I still owe some homework and will take a final on Monday, and we still need to do a production install for the senior project, but there’s far less pressure than there was before I finished my Management paper (35 pages), the senior project documentation (101 pages), and our final presentation.

Sarah and I also decided to take a cruise to Bermuda for our anniversary. I can’t wait to get out there with some good books and just…relax.

Trolling for Cash

A good friend of mine confided to me recently how much money he has made from the Amazon Associates referral program: it was well into the hundreds of dollars for last month alone. Wow.

The Amazon Associates program, if you don’t know, is really a more subtle form of paid advertising. You sign up with them and get a customized referral URL with a tracking number embedded in it. The idea is that you can take this custom URL, blog about a book or a Segway or a DVD, and link over to Amazon with it. If anyone who clicks through and purchases stuff (it doesn’t even have to be the thing you recommended), you get a cut of whatever they purchase up to $10. Not a bad deal. In fact, it’s better than that—you’d kinda have to be stupid not to use it.

There are entire blogs (like this one) that are dedicated to the Amazon referral program business model. I mean, it’s not a bad side-job if you think about it. This site costs me $50 a year, and a MovableType key (since I’d be making a profit) would cost ~$35 as a one-time fee. That, plus some time to make a sharp looking site and do the editorializing, is all it takes to rake in some serious cash. Probably not enough to make a living, but certainly enough to make some nice pocket money. My friend—who makes recommendations on a forum that he was already reading anyway—suggested that I set up an account with Amazon, and I’m considering the idea.

I mean, I have opinions that people are generally interested in by dint of the fact that people read Our Story. When I recently recommended Evanescence, linking over to Amazon would have been totally legitimate. I could also review good tech books to the advantage of some of my geekier readers. People who know me already know that I think O’Reilly books rule. If I would have recommended a book to them in person, why not do so online, too, and make a couple of bucks from having the knowledge? What’s more, the people who read what I have to write might even want to know my opinion about such products. It all seems like a win-win situation for everyone involved.

But then I’m confronted with worldviews like this (and, perhaps to a more extreme degree, this) and I’m given pause. In the same way I was debating over my overt Google-consciousness when I post up on the Internet, I wonder if I really want to be motivated by the Cash Cow when I even just write. Besides, people are already taking issue with the overt link-obsession that Google’s PageRank has caused in the online community, who wants to give Jeff Bezos that much power as well?

It’s the age-old problem of creative self-expression versus making a pragmatic buck, I guess. I don’t mean to denegrate my friend’s hobby—I actually think it’s a really shrewd and clever way to make some money by doing something that you enjoy. I just think that Our Story isn’t the place for me to do that.

Thoughts?

(Note: of course, if I ever did sign up for the program, this blog would have to “go away.” Amazon expressly states that you cannot mention the program in your advertising site.)

Popups Bite

I hate popup windows. I have a popup-blocker on my web browser. I open any links that are targeted to open in a new window (target=”_blank” for you HTML geeks) in new tabs. “No sir, I don’t like ‘em.”

I think you should hate popup windows, too. Today, I took a step towards a popup-free kennsarah.net by replacing the comments popup window with a link to the Comments section of the individual article. “Bam, boom, baby!”

The link looks something like this in the MovableType template:

<a href="<$MTEntryPermalink$>#comments">Comments</a>

Free your site from unwanted popups. Build a website that doesn’t suck.™ You know you want to.

The Acronym Tag

Ever wonder what in the world I’m talking about when I refer to HTML? Or, what NN4 stands for? How about UI, or NJIT?

One of the tags that was specified with the HTML 4.0 specification is the acronym tag. This tag is supposed to help deal with the plethora of acronyms that permeate technology documentation, but it doesn’t seem to be implemented very often. Part of the reason for this problem may be the very fact that there’s no real way to tell if an acronym tag has been applied to some text without floating your mouse over it and waiting for a tooltip to pop up.

The Mozilla organization got smart about this and enabled Mozilla and its variant browsers to style all <acronym> tags with a little dotted line—a subtle user interface cue to float your curser over the acronym and get its meaning. It occurred to me today that Internet Explorer could also take advantage of this as well.

acronym {
   border-bottom: 1px dotted #000;
}

This bit of CSS code will enable the browser to underline any acronyms on the page with a subtle, dotted line. This indicates to the user that if he or she floats the mouse cursor over the acronym, that a tooltip will pop up with the meaning of that acronym. Though Internet Explorer has a bug that confuses dotted for dashed lines in CSS code, the concept works just as well. Cool, eh?

Update: See further discussion over the differences between the <acronym> and <abbr> tags.

Dynamic Curly Quotes

If you are of the Internet Explorer browsing persuasion, you may have noticed that often, when I quote another website, the style of the font will be in italic but there won’t be any quotes around the reference. I released a change to the site today that should take care of this issue.

The problem was that Internet Explorer—all the way up to version 6.0—does not fully support a tag standard that has been around for about five years now, namely: the <q> tag. According to the W3C specification, the browser is required to put quotes around anything surrounded by this tag. Mozilla does it, as does Opera. IE does not.

Mark Pilgrim has addressed this issue before, initially offering a CSS solution, but eventually settling for some server-side scripting that would insert the HTML quote entities en masse throughout his site. While this is probably an ideal solution, server-side scripting—even of the MT-Plugin variety—is not something that I have taken the time to learn.

Today, though, Mark provided links to JavaScript solutions provided by Simon Willison and Stuart Langridge. While the Willison solution involved proprietary IE scripting, Langridge took it one step further to make it more standards-friendly. Both of these implementations got the ball rolling for me and after hacking around for a little under an hour, I came up with this code:

function checkQuotes ()
{
   quotesElements = document.getElementsByTagName(“q”);
   if (quotesElements.length > 0) {
      q=quotesElements[0];
      if (q.currentStyle) {
         s = q.currentStyle;
      } else if (document.defaultView && document.defaultView.getComputedStyle) {
         s = document.defaultView.getComputedStyle(q,”);
      }
      supportsQuotes = false;
      for (prop in s) {
         if (prop.toLowerCase() == ‘quotes’) {
            supportsQuotes = true;
            break;
         }
      }
      if (!supportsQuotes) {
         for (var i=0; i<quotesElements.length; i++) {
            q = quotesElements[i];
            q.innerHTML = ‘&#8220;’+q.innerHTML+’&#8221;’;
         }
      }
   }
}

According to this code, any browser that supports the quotes will simply implement the CSS rules that I got from reading Mark’s article. Those that don’t, like Explorer, will have them dynamically added to each q element in the page.

I’ve tested this in my limited “QA” environment, and it works without error in the Mozilla variants, Opera 7, and Internet Explorer 6.0—which includes quite a chunk of the internet community. Netscape 4.76 did generate an error, however, quietly whining that the document.getElementsByTagName function does not exist.

Thanks to Mark, Simon, and Stuart for their work. Click here to see an article that employs the <q> tag.

Squashing Bugs

A lazy weekend at the Longs’ house, being forced to use Internet Explorer 5.5, and a desire to practice what I preach has culminated in a few bug fixes for the site. It should now look a bit less sloppy in IE5. Read on for more.

View Full Article »

Album Envy

This is the coolest online wedding photo album I’ve seen yet, courtesy of Heather Armstrong. This definitely goes on my list of things to do when I have 1,000 hours to spend in front of the scanner and a photo editor that supports macros.

Cranking the Hype Machine

Wow, here’s a new discovery with blogging: I’ve recently discovered the tension that exists between blogging about really important stuff and the time it takes to write such blogs. It’s funny because I want to blog about other stuff, but have these big essays that I’m trying to crank out and don’t want to get too ahead of myself. Sigh. Here’s what’s on the backburner:

* Jen Poley’s photos of Poley Geekfest 2003
* Project Management Methodology, A Comparative Analysis
* Review of theooze’s “Churchless Faith” article

In the meantime, here’s something quick, interesting, and nerdy:

Team DLSI: Project Backlog. I’ve found and set up some bug-tracking software to the project so we can start inputting and assigning discrete tasks. It is available here.

So I was looking around on the web for a system that can facillitate what the SCRUM project management methodology calls a “backlog”—a simple list of prioritized and assigned tasks to be processed over the course of a SCRUM “sprint.” What I wanted was a bug/request management solution for the web. I have built such a system in Microsoft Access, but it’s more for personal use than team use. Bugzilla is a great application, but the forms are extremely confusing at first glance and I feared the install process would be painful. On a whim, I searched the web for “PHP MySQL bug tracking” and found Mantis. Mantis has a very short install process, runs on my platform environment, is stable, and looks great. I couldn’t believe how quick and painless it was.

This would be a great tool for implementing small-time opensource projects like OpenMind.

Ironically, I had actually stumbled across Mantis without even realizing it earlier in the day when I was posting a bug on the Plucker site (see here for more info on that).

Powered by WordPress and Motion by 85ideas.