Allow Me To Introduce HoverForMore.js!

Once upon a time, an otherwise excellent designer colleague had an unfortunate habit. He would create beautiful, usable web page designs with but one flaw: wireframes and mockups built around dummy content rather than the site’s actual text.

I'm a saaaaad panda

Of course, even if a page is designed around real content, that’s no guarantee that needs won’t change in the future as new content gets added. What’s a coder to do?

You could always trim the string by character count during rendering, but that’s so 2003 (and not exactly pixel precise). Or you could break out some fancy CSS3, with some overflow: hidden and text-overflow: ellipsis action. But even then, some of the content is still hidden from the user! There’s got to be a better way!

Now there is: HoverForMore.js!1 Too busy to vist the example page? Just point your pointy-dealie at the title to this page! (Or right here!) Boom! Pow! Kazinga!

I welcome your feedback, bug reports and of course, pull requests.

And they all lived happily ever after.

  1. I racked my brain, and this is the least worst name I could come up with. With which I could come up. 

Shutting Off The Prediction Engine

It’s difficult to kick-start a writing habit. Anyone with a creative or imaginative bent understands the experience of being paralyzed by one’s own visions of grandeur: by picturing a perfectly crafted, finely honed work of art, anything which you actually slap together in the real world seems flat and lifeless by comparison. The longer I obsessed over how perfect my writing needed to be, the less confident I grew, and the more I avoided the simple act of sitting down and starting to type.

At the 2003 TED Conference, engineer-turned-neuroscientist Jeff Hawkins presented a simple and elegant model of how the brain works. In a nutshell, the brain is constantly making lots and lots of little predictions. These millions of educated guesses tend to be disturbingly accurate, and when put together, they operate silently and efficiently as the engine of day-to-day cognition. If I say “duck duck…”, you know instantly that it’s more likely to be followed by “goose” than “hamster”.

But this prediction engine has a dark side. Once a given prediction takes hold, it tends to perpetuate itself. An idea as simple as “I suck at math” will cause someone to shut out new information about mathematics, because, “I don’t get it! Like I said, I suck at math!” By not building up the skill, the belief self-validates, and before long, it is deeply entrenched as a core component of identity. As the saying goes: “Whether you think you can or you can’t, you’re correct.”

When it comes to the creative process, we tend to judge our own abilities by comparing ourselves with what we feel we should be able to do:

Homer & Edison

By contrasting your real-life output with that of other “talented” people, unless you have a bizarrely preternatural knack for a certain skill, you’re probably going to be disappointed, if not so depressed that you never want to attempt anything beyond mediocre corporate drone-hood for the rest of your life.

On the other hand, you can approach the whole process from the other direction: by holding a mild, even unflattering, expectation, it will be no big deal if you don’t get it right the first time, and you can feel proud that you did something at all. Better yet, you’ll regularly surprise yourself by exceeding your own expectations, and find yourself growing talents you didn’t know you had (because, well, you originally didn’t). No matter how terrible the quality of what you produce, it is always going to be superior to the alternative: an empty page, and a fantasy that someday you’ll finally have that flash of genius which enables you to get it right.

Sometimes, to break out of a self-imposed rut, you have to shut off the prediction engine completely, and simply go where your feet take you.