meyerweb.com

Skip to: site navigation/presentation
Skip to: Thoughts From Eric

Archive: September 2004

Good Show

Everyone’s been pointing to the newly restored Mount Saint Helens webcam page, mostly because it’s come back online just as geologic events such as earthquake swarms are occurring in the area.

I’m pointing to it for a different reason.  To see what I mean, view source on the webcam page, or hover your mouse over the webcam image in a modern browser.

Now that’s good alt text.  The title text isn’t bad, either.

Slide Show Beta

Not many people know about it, but several major version numbers ago, Opera introduced a feature called Opera Show.  This feature allowed you to invoke a projection-medium display mode by hitting a single key.  (They’ve since introduced a similar single-key invocation of a handheld device.)  In this mode, any style sheets that applied to the projection medium were used to present the document.  It was a lightweight form of Powerpoint—not as powerful, perhaps, since it was best suited to showing a slide show of static pages, but definitely useful.  Many of my talks over the last two years have used Opera Show.

The great thing is that with one (X)HTML document, you can have a slide show, a printer-friendly version, and a screen presentation.  I put markup and CSS examples right there in the document, ready to be printed, and simply hide them in the slide show.  In some cases, I printed out the file for handouts, and then used the exact same file for the slide show.  It was very, very handy.  It was also browser-specific… and when Opera 7.5 for OS X came out, it introduced a problem: the banner ads showed up even in slide shows.  I didn’t really feel like buying a Web browser just to make my slide shows neater—if I were going to spend money on a presentation solution, I’d be much more likely to buy Keynote.

About the same time, though, Tantek Çelik was using a slide show system he’d cooked up, one that was nominally cross-browser.  It used CSS, JavaScript, and a single HTML document to create slide shows.  Here’s one example of a slide show using his approach.  I liked what he’d done, but when I dug into the guts I found that it had certain limitations I didn’t like.

(Aside: Apparently Steve Champeon has been using a similar slide show system for a while—here’s an example—but it has many of the same things I didn’t like about Tantek’s approach, such as explicitly ID’ing each slide in the markup.  My script assigns IDs dynamically, thus freeing you from having to number the slides in the markup and thus making it much easier to rearrange or insert slides.)

So I took Tantek’s idea and expanded on it, making it more flexible on the markup end and adding some features.  I’ve run into some stumbling blocks, though, and so in the best tradition of the LazyWeb, I’m turning to you folks for assistance.  Here’s the latest test file, and here’s an archive containing the test file and its associated files.  At the moment, the best (as in “most like what I expect”) rendering of the slide show is in Firefox, although it may seem a bit sluggish.  Other browsers have one or more problems; these are documented in the test file.  My goal is to bring Firefox, Explorer, and Safari together in terms of how they act.  Opera is secondary because I currently plan to hide all of the stuff I’m doing from Opera, and let it handle the slide show via the built-in Opera Show.  It won’t have quite the same functionality, I admit, but it will be good enough for me to call it done.

Note that the test file itself contains a bullet-point explanation of what’s going on, and lists the bugs I’ve yet to squash.  If you’d like to help squash them in return for credit in the source code, go crazy.  If you’re more in the “I want to use this” crowd, then you might want to wait until the system exits beta.  How will you know when that happens?  First, I’ll announce it on meyerweb.  Second, it will be given a jazzy name of some kind (thus causing the name of its directory to change).  And third, the word “[BETA]” won’t be plastered all over the test document.

Most of my current bugs are DOM and JavaScript related, although there’s a presentation problem in IE/Win that I frankly just haven’t had the energy to tackle.  Note that I’m willing to use detection methods in the JS to make the features work, but I am not willing to serve up browser-specific style sheets.  Call me a purist, but I just can’t bring myself to go there.

I’ll leave comments open for people to share information on bug fixes, or suggestions for ways to go about fixing them.  Also, if you run into a problem not listed in the slide show, you can leave a comment.  NOTE: I don’t care if the slide show feature doesn’t work in NN4.x, because I’m planning to hide all CSS and JavaScript from that browser before this exits beta.  That means NN4.x users will see a perfectly straightforward HTML document, not a horribly mangled attempt at the slide show.

My appreciation for whatever assistance people can provide.

It’s A Sign! It’s A Sign!

Back on September 10th, liberal Tom Toles published a political cartoon equating the hurricanes pummeling Florida this season with a message from God regarding the 2000 election.  Now, thanks to Photo Matt, I’ve now laid eyes on a map that kind of makes the joke seem more real.  Assuming the storm tracks and election results charted there are accurate, and from what little information I’ve been able to gather they appear to be, that’s kind of… spooky.  Hey, if God does indeed have a presence in this world, you’d think he would have dominion over the course of hurricanes; given that, you have to wonder if maybe he’s trying to tell us something.

Especially since the prediction about Ivan turning west is actually coming true.  Having dissipated over the continental United States, the low-pressure remnants of Ivan have managed to get all the way back to the Gulf of Mexico and are re-forming into a tropical storm.  Ivan is currently projected to bring flooding to Louisiana and Texas.  Seriously.

Hmmm…..

(All right, all right, if we must be serious about this, here’s the Snopes rebuttal.  But please note the categories for this post.)

They Got It Fixed Right On

This morning, as I pulled records for my show, the host before me asked if I had a special theme in mind.  “Nope,” said I; “the next thematic show won’t be until October 20th, which is Jelly Roll Morton’s birthday.  Nothin’ better than two hours of Jelly Roll.”

And then the double entendre hit me.

See, “jelly roll” was once upon a time a slang term for, to put it politely, female genitalia.  This was the case when he took on the moniker, in fact.  It’s sort of the circa-1900 equivalent of “Pussy Galore”.

There’s a tendency to think of earlier eras as being more innocent, more pure in some way.  They weren’t.  Not even close.  If you’re looking for a time when salacious puns and obvious, racy double entendres didn’t exist, you’re going to have to go back to the time before humans invented language, if not further.

Consider for a moment the first two verses and chorus of “They Got It Fixed Right On”, recorded by Georgia Tom Dorsey in 1930:

A girl with a Ford and a guy named Jim
He liked her and she liked him
Ford broke down in a quiet park
Didn’t get home ’till after dark

But they got it fixed, ain’t no doubt
Nobody knows what it’s all about
Too bad that the news got out
But they got it fixed right on

Well, Peg Leg Sam had a girl named Sue
She broke his peg leg half in two
Only way to fix the leg
Was to have his gal take a whole lot of peg

It starts out relatively tame, of course, but the second verse doesn’t leave a whole lot to the imagination, now does it?  I’m not even sure it qualifies as a double entendre, which I usually think of as being at least somewhat coy.  And remember, this is from 1930.  It isn’t quite as direct as “gonna have you naked by the end of this song”, nor as crude as “I wanna f— you like an animal”— but it isn’t exactly “Tea For Two”, either.

I’m not about to claim that this is the only example of saucy songwriting from the era, either.  Cliff Edwards, better known as Ukelele Ike and the voice of Jiminy Cricket in Pinocchio, made a career of racy songs like “I’m A Bear In A Ladies’ Boudoir” and “I’m Going To Give It To Mary With Love”.  That was also the time when Mae West was saying things like “Let’s forget about the six feet and talk about the seven inches” in her movies.

Back to Georgia Tom, though.  A later verse keeps up the laciviousness levels:

A girl went into the butcher’s shop
Grabbed the butcher’s big ham hock
Butcher knocked her off her feet
She missed his bone but she got his meat

I’ve played this song on my show a few times.  One of those times, a fellow programmer came into the studio and said, “Are you sure the FCC will let us air this?”  It seemed unlikely at the time that they’d fine or otherwise penalize us for a song recorded in 1930, but now I’m not so sure.  After all, if Janet Jackson’s nipple can cost CBS approximately $1.1 million per second, who knows?

I know a girl in a pastry shop
Selling those doughnuts and lollipops
Preacher came down to save her soul
She asked him to fix her jelly roll

There’s that jelly roll again, and being offered to a preacher, no less.  If only the kids today behaved more properly and showed some respect for public decency, just like their forebears did, eh?

It’s long been the case that one of the things I love about my show is that I don’t have to worry about previewing the songs.  After all, how much trouble could I get into for playing Billie Holiday or Louis Armstrong?  Plenty, as it turns out.  The original recording of “My Sweet Hunk o’ Trash”, a duet between those two, is included on a Billie Holiday collection we have at the station.  In this version, as Billie sings one of the verses, Louis intersperses comments between her lines (a common practice).  One of his responses is “F— ‘em, baby”.  This was in 1944, and Decca records planned to release the song.  Only public complaints from Walter Winchell prompted them to change the line to “How come, baby” in the released song.  The compilation has the original.

So there’s one song I can’t actually air, despite it being recorded half a century ago.  That’s pretty clear.  Although, last I checked, classic rock stations could still get away with airing The Who’s “Who Are You?”, which features the very same ‘naughty word’.  But never mind that now; double standards are, like double entendres, very much par for the human course.  What worries me is the songs that flirt with the line between indecency and obscenity, like “They Got It Fixed Right On”.  Or, for that matter, the 1947 Dinah Washington number “Long John Blues”.

I’ve got a dentist who’s over seven feet tall
Yes I’ve got a dentist who’s over seven feet tall
Long John they call him, and he answers every call

Well I went to Long John’s office and told him the pain was killin’
Yes I went to Long John’s office and told him the pain was killin’
He told me not to worry, that my cavity just needed fillin’

He said “when I start drillin’, I’ll have to give you novocaine”
He said, “Yes, when I start drillin’, I’ll have to give you novocaine
Cause ev’ry woman just can’t stand the pain”

He took out his trusted drill
And he told me to open wide
He said he wouldn’t hurt me
But he’d fill my hole inside
Long John, Long John, you’ve got that golden touch
You thrill me when you drill me, and I need you very much

When he got through, he said “Baby that will cost you ten”
Yes when he got through, he said “Baby that will cost you ten
Six months from now, come back and see me again”

Say you’re supposed to see your dentist
‘Bout twice a year, that’s right
But I think I feel it bobbin’
Yes I’ll go back there tonight
Long John, Long John, don’t ever move away
Say I hope I keep on achin’ so I can see you every day.

These days, it’s hard to know what can get you in trouble; even a spot of dental work, we discover, just isn’t safe.  And twice in this entry, I’ve sanitized a certain word beginning with the letter “F” because I know many readers come here from work machines, and I don’t want to be responsible for getting them in trouble with their content filter administrator, let alone their boss.  Some people, upon tripping the content filter, have to fill out paperwork explaining the nature of the site they visited, why it had a Bad Word(tm) on it, and why they shouldn’t be reprimanded or fired as a result.

You’d think we’d have grown up a little more by now.

A Millenial Mark

Last night meyerweb passed a milestone of sorts: comment number one thousand was posted to the site.  The millenial comment, which was made on the post “Photo Hunt“, was:

Simon! Spell my name right! Have some respect for us poor muggles!

Congratulations to Min Jung Kim—who, in filling out the comment form for that very same comment, mistyped the URL of her own site.  Love the irony!  Love it!

Photo Hunt

This is kind of awkward, but here’s the deal: for an article that’s being written about me, we need to include some pictures of me in action, as it were.  I’m going to take some shots of me spinning records on my show tomorrow morning, but what I’d really like to get is good pictures of me presenting.  For these purposes, the ‘livelier’ the shot, the better.  Also good would be any amusing pictures from a conference hallway, or really in any social situation.  If I happen to look a bit goofy in the picture, so much the better; I really wish I had a picture like this one of Scott, but that’s a bit much to hope for.  We’re aiming for shots that capture my personality, not ones that make me look suave.  (Which would probably require some major Photoshop work anyway.)  Thus we’re trying to stay away from posed shots, in general.

So if you happen to have anything along those lines, please either post a URL in the comments or e-mail me directly.  This is for an online article, so the pictures don’t have to be super-high resolution, especially if you’re going to mail the pictures to me as attachments.  If the picture is used, I can’t guarantee that photo credit will be given, but I’ll push very hard to make sure that it is.

Thanks for anything people can contribute!

Fractionally Restoring html.css

Having talked about how to completely rip away all brower default styles in Firefox, let’s consider the bare minimum of styles we’d need to make the Web at least moderately readable.  As it turns out, the primary factor in document mangling caused by taking out the browser’s default styles is the loss of any display information.  In the absence of information regarding what kind of box an element should generate, they’re all made to generate inline boxes.  This is roughly equivalent to saying:

* {display: inline !important;}

Speaking of which, feel free to try that some time on a test document, or as an entry in a browser’s user style sheet.  The result should remind you of the no-defaults trick.

So let’s say we back up the browser’s default style sheets (you don’t want to lose them completely, unless you plan to re-install the browser) and then erase everything in html.css.  Having done that, we can restore a great deal of sanity to the Web by placing the following rules into html.css.

@namespace url(http://www.w3.org/1999/xhtml);
  /* set default namespace to HTML */

html, body, p, div, h1, h2, h3, h4, h5, h6,
ul, ol, dl, dt, dd, blockquote, address, pre,
listing, plaintext, xmp, menu, dir, isindex, hr, map,
multicol, center, frameset, marquee {display: block;}

li {display: list-item;}

area, base, basefont, head, meta, script, style, title,
noembed, noscript, param, noframes {display: none;}

table {display: table;}
caption {display: table-caption;}
tr {display: table-row;}
col {display: table-column;}
colgroup {display: table-column-group;}
tbody {display: table-row-group;}
thead {display: table-header-group;}
tfoot {display: table-footer-group;}
td {display: table-cell;}
th {display: table-cell;}

That rule set will not only cause block-level elements to start generating block boxes again, but it also lets list items be list items, hides the elements we’d like to have vanish, and restores table behavior to table markup.  With those few rules in place, browsing around will be much easier.  It might not be pretty, but it will avoid the extreme wreckage of removing all default styles.

There will still be some notable differences.  For example, paragraphs may now generate a block box, but they aren’t being given margins, so on most sites paragraphs will suddenly not have a “blank line” of separation.  Similarly, heading margins are gone.  Lists don’t have any predefined indentation.  Table cells don’t have default padding, and the “gutter” around page contents has vanished.  Of course, you might see some or all of those things on a site.  If you do, it means that information has been provided by the site’s styles.

In a quick browse of the Web, I found that CNN‘s site was still kind of scrambled by these styles, though certainly not as badly as before.  As an example, a lot of the article sidebars and pictures weren’t floated, which means the float behavior is markup-driven, not CSS-driven.  Why does it matter?  Because in Firefox, align="right" is just a markup hook on which the default style float: right; gets hung.  If that declaration doesn’t appear in the default styles, the markup will have no visible effect.  In other words, no floating.

The home page of The Mozilla Foundation, on the other hand, hung together pretty well, which indicates all of their layout is driven by CSS instead of presentational markup.  This didn’t come as much of a surprise, but it was nice to see.  I was pleased to find that meyerweb’s home page also stayed in decent shape.

So should you add these rules to your style sheets?  Not unless you’re feeling extra-super-mega-paranoid.  The percentage of visitors displaying your site with the default style sheets removed can be safely estimated to very closely approach zero, maybe even touching it.  Besides which, if someone does drop by with all default styles removed, they’ve probably done it on purpose.  If they then send you snarky e-mail about they broke your site that way, feel free to answer them with a polite acknowledgment that they did, indeed, successfully cut their own throat.  It’s not like that’s your problem, any more than you should be bothered that someone “broke” your site with an anarchic user style sheet that suppresses display of lists and paragraphs, or sets all non-replaced elements to use white text on a white background, or whatever.

A more interesting question is whether you should set up a browser to use just those rules as defaults.  I’m giving serious thought to maintaining two copies of Firefox: a normal install, and a development install that’s been hacked to use just the styles I listed before.  It could prove valuable in checking the design assumptions of a work-in-progress, and thus to identify possible weak points in the author styles.  As an example, if I loaded a new design into the development browser and found that lists were completely non-indented, then I’d know I was leaving the list indentation distance up to browser defaults.  At that point, I could decide whether or not that was a good idea.  In some designs, it might be fine, but in others it could be a problem.  Either way, I’d have the chance to consider that question directly, and reach a decision, instead of sailing blindly on, never having thought about it either way.

Do I Have To Pick One?

Every now and again, I feel good about our city’s main paper, The Plain Dealer.  Today was one of those days; they published a Spinsanity-like piece that dissected the distortions coming from both U.S. presidential candidates.  I was going to lnkblog it, but it turned out they’d split the piece in two on the Web, so I’ll link to them here.

I’d have linked to the printer-friendly versions, except they contained a window.print call, and I wasn’t sure if they’d force a print in some browsers or not.  At the least, they’d call up a print dialog, which is kind of annoying.

The views I expressed in Partied Out are just deepened by this sort of thing.  I know, it’s nothing new.  That doesn’t make it any less depressing.

September 2004
SMTWTFS
August October
 1234
567891011
12131415161718
19202122232425
2627282930  

Archives

Feeds

Extras