Would You Like to Play a Game?

Update: Game’s over! Congratulations, Douglas! If you want to play more or didn’t get a chance to play, you can check out Palabra, a Facebook game I’m releasing today.  It’s basically the game described here, but with three-letter words.  You can challenge your friends to see who’s got a better vocabulary.  50% of donations to the game go to UNICEF literacy programs.

Welcome WordCamp SF folks!  Thanks for visiting returncontrol.com.  If you’re here for the word game, which puts you in the running for all sorts of fun and totally trivial prizes, we’ll get started at 10:15am sharp.

Here’s how you play: At 10:15am you’ll check back here, where I’ll have posted a word.  Your mission is to take the word and make as many new words as possible by changing just one letter at a time. For example: word => ward => bard => lard => laid => paid => etc., etc., etc….

THE WORD IS: “camp”.  Go! Go! Go!

Post your word “chain” to the comments of this blog post between 10:15am and 10:25am.  The person with the longest chain wins.  I’ll post the name of the winner (and a link to your blog) here.  If you win, you can get your prize by finding David “dk” at WordCamp.  He’s the guy in this picture.

Some quick rules: Only valid words according to dictionary.com count.  Any comments time-stamped after 10:25am are not eligible.  Please don’t cheat and steal the chain of the person who posted before you, or else dk will give you his Look of Disapproval.  Have fun!

Four Web Accessibility Myths Busted

I was going through some articles I had written a while back and came across this one on Web accessibility.  Though I wrote it in 2006 while I was at TechSoup, it’s surprising to see these myths persist.  In particular, myths #1 through #3 pop up over and over again on projects I work on.  And though #4 (JavaScript use) isn’t much a problem for “Web 2.0″ sites, it’s shocking that JavaScript is still off limits in many enterprise and instiutional situations.

Read more »

Do You Always Need to Change the Color of Visited Links?

Do the links on your Web site need to be colored differently depending on whether a visitor has already clicked on them?  If you read a lot of Jakob Nielsen, you’re probably tempted to say yes. Indeed, in Nielsen’s 2007 update to Top Ten Mistakes in Web Design, “not changing the color of visited links” is sin number three.

But the problem with one-size-fits-all usability guidelines like these is that they tend to overlook the fact that not all Web sites are created equal — or, in this case, that not all hyperlinks are equal.

Read more »

Signing Up for Joyent’s Free Facebook Server Space Deal? Don’t Hold Your Breath

Did one of Joyent’s recently circulating ads touting a free year of Accelerator hosting for Facebook applications tempt you to head over to Joyent site and sign up?  Still waiting for your account?

Right. About that.

Turns out that Joyent has been advertising the program for months (it’s been running since November), the program is limited to 3500 developers at a time, they’ve been overwhelmed by registrations, and they only allow new developers on when they kick off those with accounts deemed to be inactive — which could mean 300 open spots one day, or none for weeks at a time.

Developers have asked for more clarification on wait times, or even some notice before signing up that there’s a long waiting list, but so far that hasn’t happened.  Looks like you might be better off starting elsewhere unless you really, really need that free year of hosting.

Heading to WordCamp SF 2008

Just signed up for WordCamp SF 2008, which is going to be at the Mission Bay Conference Center in San Francisco on Aug 16.  Let me know if you’re going and want to meet up.  Should be fun.

Migrate from Movable Type 4 to WordPress 2.6 in 10 Steps

 I recently migrated my personal blog from Movable Type 4 to WordPress 2.6 after being dissatisfied with the sluggishness of Movable Type, confused by its often unintuitive interface, and irritated that upgrading from version 3 to version 4 broke my site templates and rendered my comments unusable.

I had put off migrating for months, worried that it would cause even more problems, or that I would lose posts or comments in the process. Fortunately, no such thing happened. The migration went very smoothly and took about two hours. There were only a couple little speed bumps along the way, but hopefully in outlining them here, others will be able to get past them a little faster.

Read more »

14 Ways to Deal With Email More Efficiently

It’s easy to fall into bad email habits, like dropping what you’re doing to read a new message that has just come in, or spending an hour typing out a complex explanation to something that you could have explained over the phone in just minutes.  When I saw these habits get in the way of my team’s productivity while I was a manager at TechSoup, I started collecting a list of tips for better dealing with email.  Those tips were eventually published on TechSoup in early 2007, but I find them helpful to go over again whenever I notice I’m falling back into certain bad habits.

Read more »

more downtime: this time drupal.org’s database can’t take any more connections

Seems like I’m running into problems on the Web everywhere I go. Over the weekend it was an Amazon S3 failure that took down several sites. Yesterday it was Facebook’s redirection loop that made the site inaccessible for roughly an hour. Today it’s the Drupal Web site, which seems to be experiencing a problem with an overloaded MySQL database. I hope the good folks behind Drupal.org can fix the problem soon — this doesn’t help the organization defend claims that Drupal is resource-intensive and hard to scale.

As for the error message itself, it’s particularly troubling that the error message tells you:

  • the type of database
  • the name of the database user
  • the hostname for the database server

Granted, you probably could have guessed that Drupal.org was running on a MySQL database, but now everyone has three of the four pieces of information you need to access the database and a hacker can focus on guessing the last piece: the password.

There are two things that can be learned here: First, your Web application error messages shouldn’t reveal any details to anonymous users about the underlying system. All your site visitors need to know in a case like this is that there was an internal error that makes the site inaccessible for the time being. And secondly, limiting your database connections to specific IP addresses can add an extra layer of security even if the other info gets out (which Drupal.org may well have done.)

facebook redirect loop for users who tried new profile early?

I’m trying to log into Facebook and am getting the following error message. It seems Facebook is trying to redirect me to new.facebook.com, which is where they were automatically sending people who had opted in to get a preview of the new facebook profile. But they must have flipped the switch to have new.facebook.com redirect to facebook.com… and well, now you’ve got yourself an infinite loop. Oops.

if you can’t stop supporting ie6, you can at least tame it

There’s been a lot of talk recently about whether it’s time Web developers stop supporting Internet Explorer 6. In June, development firm 37Signals reported that Apple dropped IE6 for MobileMe, the new version of its .Mac services. Then 37Signals itself announced it would do the same by mid-August for its line of project management products.

The move makes sense for both companies, as the users of the products mentioned are largely tech-savvy individuals who are already using modern version of Web browsers, or know how to upgrade. But for those of us who build sites for audiences that still include a high number of IE6 users, it’s highly likely we’re going to be dealing with IE6’s bugs and poor implementation of standards for at least a couple more years, if not longer.

Fortunately, there are some tricks that can reduce the headaches and make building cross-browser compatible sites a lot easier. Here’s what I do:

  1. First, I make sure to clear CSS floats using only the Asslet / PositionIsEverything.com method. (Paul O’Brien apparently has another, seemingly simpler way to do it, but I have yet to test it in all the different scenarios that the Asslet / PiE hack works in.)
  2. Next, I explicitly set both the margins and padding on list items, paragraphs, and other major elements, so that the differences in default settings between IE and other browsers don’t mess things up.
  3. For JavaScript functionality, I use the excellent jQuery library, which lets me focus on the interactivity I’m trying to create rather than worrying about cross-browser compatibility. I also use jQuery to set rollovers on elements where IE6 doesn’t support the CSS hover property.
  4. Finally, if I need to set some style specifically for IE6 only — for instance, because div widths are calculated differently in IE6 — I use the underscore hack for declaring a style that only IE6 understands. (You can also use the asterisk hack for IE7-specific styles.) Here’s the basic concept:

    width:10px; /* sets width to 10px in all browsers */
    _width:8px; /* overrides first style and sets width to 8px in IE6 only */
    *width:11px; /* overrides above styles and sets width to 11px in IE7 only */
    

That’s it. There are dozens of other hacks and techniques for getting IE6 to do what other browsers do as a matter of course, but I find that if I stick to these four, I can most always create cross-browser compatible sites without pulling my hair out. So if you’re stuck supporting IE6 for a while longer, hopefully these tips will make your life easier too.

« Previous PageNext Page »