Projects
Most of my open source endeavours revolve around the web, using TypeScript or just plain old JavaScript. The list below is only a selection of projects that I started — you are welcome to visit my profile page on Github for a fuller picture of my work and interests.
- littlefoot
- A jQuery-free rewrite of Chris Sauvé’s Bigfoot.js for delightful footnotes, as used on this site.1
@pacote/*- A collection of utilities written in TypeScript and distributed under the
@pacoteorganisation on NPM. @pacote/bloom-search- The centerpiece of my
@pacoteproject, this module uses Bloom filters to implement the lightweight full-text, client-side, offline-first search engine that I use on this site. Try out the demo to explore the concept and compare with the alternatives. - Muṣarrif
- An Arabic language verb conjugator, or مُصَرِّف. Arabic is an extraordinarily logical language, and this is an exploration of how full conjugation tables can be algorithmically derived from a small set of data.
- Scopa
- The Italian card game of Scopa in TypeScript and React.
WordPress
I’ve moved on from WordPress development, and the following are no longer actively maintained.
- Cassava CAS Server
- Cassava turns WordPress into a single sign-on authenticator for the Central Authentication Service (CAS) protocol. The plugin authenticates site members at the request of different CAS-enabled applications with just one password that never leaves the server.
- Network Restricted Members
- This WordPress plugin restricts members on a multisite install to the sites they belong to. I made it for log’s private P2 network, which is open to all employees but allows only limited access for clients and contractors.
- Post Glue
- WordPress sticky posts are great, but sometimes they stick to the bottom of your shoe. This plugin takes care of several issues found with the core implementation.
- Syllables
- A collection of minimalistic classes and functions to aid WordPress development. Frequently-used code from my WordPress projects is thoroughly groomed and receives 100% test coverage before it ends up here.
Hello, world! ↩︎