A long-standing and thoroughly-enjoyed hobby of mine is creating and consuming ASCII artwork (though not the kind of watered-down crap you would see in, say, an e-mail signature or a chain letter). I recently went on a wild tear after stumbling across a faithful recreation of the Amiga’s Topaz 500 and the IBM’s VGA cp437 fonts, and built a single-page application (or SPA, if you want to be a dick about it) that takes advantage of web-ified versions of these fonts—with some help from the
@font-face CSS directive—to display that artwork in its intended form without resorting to a text-to-image conversion process.
With the following knockout.js extender, you can tie an observable array to a scrollable HTML element. When the array is updated, the element will keep scrolling to the bottom. It’s smart enough to realize if the user has scrolled up, as well, and will not interrupt them. I’ve found this to be a useful mechanism for logs. Read More →
When a script is loaded synchronously, its element’s position in the DOM can be determined. With this information, the
<script> element can act as a pivot point for inserting dynamic content. This eliminates the need for
document.write, a function which wreaks havoc where AJAX is involved (and flies in the face of modern web development best practices). Read More →