View Post

Old Newspaper Database Search

In Custom, Websites by henry

This was a really fun pro-bono project we took on in 2003, shortly before a local librarian’s retirement. Judy had spent several decades writing some 87,190 abstracts (single-sentence summaries) of newspaper articles published in Northern Nevada prior to 1900. She also developed a hierarchical indexing vocabulary that she used to tag each article. She was an amazing resource for visiting historians, but when she gave notice, she feared the library might scrap her ancient Apple Mac, and her data along with it. No one else there really knew how to use it. Though fairly consistent in format, her abstracts were scattered across a variety of Hypercard and FileMaker databases of various vintages, going all the way back to FileMaker 1.0. Judy had a portable ZIP drive (remember those?) so we used that to get all the database files onto our system. From there, we exported them as text files, and used Unix text-processing tools (sed, awk, grep, etc.) to finagle them all into a single, massive comma-delimited file. From there, it was an easy matter to write a custom MySQL database and import the records. Finally, we wrote a full-text search interface using PHP, HTML, and CSS. It enables Judy, in her capacity as a museum volunteer, to continue her legacy of supporting local historians in their research efforts. Features include an advanced search interface, sortable result columns, and keyword highlighting. It’s blazing fast, scoring a perfect 100 on Pagespeed Insights. Our hope was that someone would eventually come up with the funding to photograph the pages of these ancient papers, so that the search results could take the reader to the full article. Any takers???

View Post

Tilman Hilbish

In Custom, Websites by henry

This site, though dated and due for an update, shows the enduring, high-performance value of a site built solely with static HTML. I built it in 2009, after my artist friend Matthew Tilman Hilbish told me he had worked with another builder for months, but had not achieved his vision of a simple, uncluttered site that would quickly show visitors the various facets of his work. I did some research, and found the GalleryScript javascript library, which seemed to do what Matthew described. The site uses server-side includes to enforce code orthogonality, and the javascript elements were assembled by bash scripts from image filenames. It was completed in a day or two, and has been live for nearly a decade — a good run for any website. We are discussing a possible update to bring the site into the modern era of mobile devices.

View Post

Teddy Swecker

In Custom, Websites by henry

I built this portfolio site for a local artist in 2009, using GalleryScript, a javascript library popular at the time. It features a 3D rotating moon logo created with the GiMP, and animated by custom javascript, and style elements borrowed from one of Teddy’s books for children. Several pages feature playful javascript animations written from scratch. It features photographs of Teddy’s paintings taken at local gallery shows, and has a very simple PayPal shopping cart system for those wishing to buy Teddy’s books or paintings.

View Post

DerbyKing Wheels

In Custom, Websites by henry

Here’s a blast from the past! I built this site in 2002, entirely from scratch, using MySQL, PHP, HTML, CSS, and a smidge of C. Until 2016, the site enabled a retired bicycle shop owner with little computer expertise to run an online store featuring vintage bicycle gear. The shop closed when the owner passed away. I have left it up as a tribute, after disabling the “Buy” buttons. It still gets a lot of traffic, in part because of the moon calendar, which provides moon-rise and -set information aimed at helping people plan moonlight mountain bike rides, a passion of the site’s former owner. The moon calendar calls custom-compiled C binaries based on phoon and gcal. Over the years, the code was ported from BSD Unix to Linux, and from PHP3 to PHP5. It is due for another facelift, from function-based PHP5 to object-based PHP7, and to responsive display code, if anyone is interested! DerbyKing.com’s homepage and product pages have the distinction of earning a perfect 100 on Google’s PageSpeed ranking, while the category pages rate 99 or higher!! This feat is more astonishing when you consider what this site is NOT doing: No page or code caching No minified code No page compression PHP5, without speed enhancements of PHP7 No high-end hosting… it’s just DigitalOcean What’s the secret? Carefully optimized SQL queries that hit the database only a time or two per page load One .css file per page Loading .js files only on pages where needed. Dead-simple DOM. Only ~300 nodes! The administrator backend is pretty fast, too. As noted, if any readers have time and interest in hacking on this, let me know, and I’ll set it up a github and release it GPL2.