Browsercache.php: A simple browser-cache-handling library for CodeIgniter

While CodeIgniter provides a disk caching mechanism, it lacks a browser caching mechanism. Without a lengthy introduction, here’s one. Continue reading

Posted in Uncategorized | Tagged , , | Leave a comment

ascii.js: A font-based rendering engine for ASCII artwork

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.

Confused yet? Check out my ASCII gallery. If you want to run your own, or just see how it works, I’ve also put the ascii.js source on GitHub.

Posted in Uncategorized | Tagged , , | Leave a comment

scrollFollow: An auto-scrolling extender for knockout.js

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. Continue reading

Posted in Uncategorized | Tagged , , , , | Leave a comment

Add “desktop version” and “mark all as read” links to Tiny Tiny RSS mobile plugin

I installed Tiny Tiny RSS on a server of mine, and after tinkering around with it for a little while, I turned on the built-in mobile plugin. It’s a wonderful little thing; it uses the iUI library to present a slick, single page application; it strips images out of the article bodies; and it automatically forwards you to the mobile version when you view TTRSS on your phone. I have just one problem with it—there is no way to mark articles as read in bulk from the interface… so I added some tweaks. Continue reading

Posted in Uncategorized | Tagged , , | Leave a comment

LDAP authentication with C#

LDAP, or Lightweight Directory Access Protocol, is a convenient, central repository for a system’s personnel information. LDAP (and other Active Directory services) are widely-used by organizations big and small to consolidate user credentials and identification data. For instance: a reporting services application, a webmail client, and a database administration suite can all read from the same Directory, with no need for replicating user information. John Doe only has to remember one password for all systems. When he changes it, those changes cascade across the board. Continue reading

Posted in Uncategorized | Tagged , , , , , | Leave a comment