Fluttering Back To The 20s

I’ve been running Youtube clips sourced from whatever is playing on the stereo as the background to my hallway weather monitor  for quite some time now, and I kinda like it.  Except when having guests over being slightly er puzzled about what’s running on the screen when the band Sex Worker is playing, for instance.  It can be kinda random playing stuff at random.  And sometimes a bit embarrassing.

So when I got the new Walt and Skeezix book the other month, another solution occurred to me.

(Walt and Skeezix is a collection of the Gasoline Alley dayilies published by Drawn & Quarterly.  The books are just beautiful, and the series itself is really funny and engrossing.  You know, some of these collections of comic strips from the 20s and 30s are more “interesting” in a historic context than actually entertaining, but I’m just loving these strips by Frank King.)

Anyway!  There’s a DVD included in the latest book compiled from home movies Frank King filmed in the 20s and 30s.  So I ripped the DVD and pointed mplayer at that in an infinite loop.

It’s been running for a few days, and I like it.  I catch a few seconds of Oldee Timeyness whenever I go out or come in.


(The line at the bottom is how much it’s gonna rain the next 24 hours.  So much rain!)

1995: New Writing 4

This is an anthology of (mainly) British writing (edited by A. S. Byatt and Alan Hollinghurst) that I bought at a sale in 1995, and didn’t read.  For obvious reasons.  I mean, it’s an anthology of (mainly) British writing.  Give me a break!

This isn’t a “best of” anthology, or anything.  Apparently the editors just invited a bunch of people to submit stories, poems and excerpts from their upcoming novels, and then they sent it off to the printers.  That’s certainly what it reads like.

It’s not that there isn’t good stuff in here.  It’s just that there’s enough mediocre stuff in here that I started approaching every new text with suspicion.  “Is this going to suck?  I’ve read two pages now, and it’s not any good yet.  Should I ditch it?  Carry on?”

Losing faith in an anthology makes for a very unsatisfactory reading experience.

Which reminds me of an anthology I have the utmost confidence in: The Paris Review.  I started picking it up on a whim like a decade ago.  I was intrigued by its “silence”.  There’s no introduction from an editor at the start.  Each contributor has a note in the back, but these are so short as to be more mystifying than enlightening (i.e., “*** has published several novels”, “*** was born in 1953”, and that’s it, sometimes).

There’s just the texts, and they range from pretty good to absofuckinglutely wonderful.  Ok, sometimes they’re a bit on the pretentious side, but I don’t mind that.  I don’t want everything to be a flippant McSweeney’s thing, although I like that, too.

The mixture of short stories, poetry, art “folios”, the occational reportage and the always-enlightening author interviews (“What kind of pencil do you usually write with?  Do you write mostly in the morning or the evening?”) creates a perfect alchemical mixture that’s very satisfying.  I mostly read The Paris Review while travelling, which may also have something to do with my appreciation of the publication.

Anyway, back to New Writing 4.  Like I said, there is good stuff in here.  The hilarious Labels by Louis de Bernières.  The ambiguously optimistic A Geographer by Philip Hensher.  The heartbreaking A Day by William Trevor.

But there’s way too much meh here.

You know that old question about what an editor does for a living?  The answer is: Not work here.

Rating: Unevenicious

1995: Bingo!

Ketil Bjørnstad is a musician and an author, and this book is about a musician who’s also an author.  And then there’s a Hardy Boys plot about terrorism and the Steiner School.

The bits about being a musician are better than the terrorism bit.  There’s a sort of vigorous charm in the writing, and there are funny bits.  But it all feels so unnecessary. 

It’s written in 1980, and I apparently bought this in 1995 at a sale, dirt cheap.  Which explains why I hadn’t read it until now.

But it’s difficult to imagine anybody wanting to read this now, at all.  It was probably a much more entertaining read in 1980, but now it’s mostly just annoying.  Not actually bad or anything, but “eh”.

Rating: Superfluoicious

eww… improvements

I’ve spent a bit of time making shr faster, and making eww render forms prettier. The latter entailed implementing all the widgets myself instead of trying to shoe-horn widget.el into eww.

shr is still slow, but it’s 4x faster now rendering typical Wikipedia pages than it was a few days ago.

I find comparing the rendering with emacs-w3m helpful, because emacs-w3m renders stuff quite nicely.  eww at the top, emacs-w3m at the bottom.  We see that eww is more colourful than emacs-w3m, but that emacs-w3m has align=center working on non-tabular elements, too.  Which shr probably won’t be supporting.

Above are emacs-w3m to the left/top, and eww to the right/bottom.  It’s getting there.

Above we have emacs-w3m to the left/top, and eww to the right/bottom.  That’s a rendering of the all-important ocelot page on Wikipedia.  emacs-w3m inlines images into tables, while eww doesn’t because of reasons.  But Eli has ideas that I must explore.


A couple of years ago I wrote an HTML rendering library for Emacs so that I could read blogs in Gnus. And because I thought that Emacs should have a built-in method to display HTML. I mean, it was only about 20 years over-due.

Simple HTML Renderer (or shr, as the cool kids call it) was included in Emacs 24, and is based on the HTML capabilities of libxml2.  So it parses HTML very quickly.  The rendering, however, is in Emacs Lisp, so there’s a constant struggle between the impulse to IMPLEMENT IT ALL and not having it be so slow that you wouldn’t want to use it.

shr is fast enough to be usable on short, un-complicated pages.  But point it to a page containing tables nested ten-deep, and it’s a dog.  Mostly because I couldn’t come up with a table rendering algorithm that isn’t exponential.  Or something.

Anyway, after doing that, implementing an Emacs web browser seemed like the obvious next step.  It would be useful for doing, say, lookups in the Common Lisp Hyperspec, or look up the documentation for PHP functions, and stuff like that.  Since shr doesn’t do JavaScript, you can’t really do Gmail.

So this Monday, I came up with the name of the browser while half-asleep: eww!  I don’t quite know what the second w is supposed to stand for (Emacs Web Wowser?), but now that I had a name I just had to start programming.

It was only a couple day’s work (mostly implementing support), and here’s how eww renders the Wikipedia page on kittens, which we all consult daily.  Probably.

It’s alive!

Emacs has other, non-built-in browsers.  I think the reason they haven’t been included are for copyright assignment reasons.  But let’s compare.

Here’s emacs-w3m, which uses the external w3m program do generate a parse tree:

emacs-w3m is quite fast (much faster than shr on nested tables) and renders stuff nicely.  The

  • list is better in emacs-w3m than in shr, for instance.  And shr “lifts” the [1] elements, making the lines uneven.  On the other hand, shr displays the images in-line, which surely must be the most important thing on pages with kittens!


Then there’s the venerable w3, which I only have for XEmacs.  Let’s see how it does:

Oops.  Perhaps it doesn’t like https links?  Yup, the http version is better:

w3 is more fond of changing font size than both eww and emacs-w3m.  My reasoning for disallowing font size changes is that Emacs has a pretty basic rendering model.  If you have characters with different widths, lining stuff up is almost impossible.  And since so many pages are table-based, it’s more important to make stuff readable than to vary text sizes and use different fonts.  But perhaps shr could do font stuff outside of tables?  There wouldn’t be much of an issue of lining stuff up outside of table contexts.

Anyway, there you go.  There’s lots of stuff that could and possibly should be tweaked in eww (and shr), but I think it’s basically usable.

If you want to give it a twirl, the easiest (ahem) thing is probably to pull down the Emacs 24 bzr tree.  Or, if you’re using Emacs 24, pull down the Gnus git tree.  (I put it in the Gnus git repository, where it kinda doesn’t belong, but since shr is in there already, and they’re developed synchronously, it was easier to put it there.  It’ll probably be removed from there after a while.)