Blogfolio
Blogfolio copied to clipboard
:pencil2: Blogfolio of my creative work in open-source software engineering, 2017 to present.
THE BLOGFOLIO OF MY CREATIVE WORKS
In software I've made open-source creative works in 4 main areas: cryptography, web development, browser technology and utilities.
Stats
In total my open-source projects have:
- been used by more than 55000 people
- earned more than 4900 stars on GitHub, and
- been downloaded more than 65000 times across DockerHub, NPM and GitHub releases.
Bona Fides
Besides the projects below which are all my own work, here are some other links:
- Triplebyte Front-end certificate (top 10%)
- Triplebyte Generalist certificate (top 10%)
- Triplebyte DevOps certificate (top 10%)
- Stackoverflow Developer Story
- Stackoverflow Profile (from '13)
- Pluralsight Skills IQ
That time I rendered a web browser in a web browser
I created ViewFinder to make web scraping easier by delivering the interface without the need for downloads, nor browser extensions. This required turning a browser (actually a remote isolated browser running headless in the cloud) into a client-server app that had a web interface and a back-end. By the magic of Chrome Remote Debugging Protocol (or just "the protocol" to those in the know), I was able to achieve this lofty and seemingly impossible goal. The result is a shining testament to man/woman/humankind's ability to overcome...yada yada yada. It's actually pretty cool, to play with or to try the free demo, because it turns out that live streaming a browser, is actually a product category in and off itself, deeply related to cyber security by being able to isolate threatening websites from your network and devices. So that time I rendered a web browser in a web browser, for fun, or...actually as part of another product, turned into something cool and useful in and of itself. So...check it out?
Browser Technology
My browsing technology works (also known as browser controllers) center around enhancements to the way you normally might browse.
:classical_building: 22120
22120 (named for the Vatican library) is a browser controller that lets you self host an offline archive of the internet. The part of it you browsed, at least. Your browser never knows the difference.
:camera: ViewFinder
ViewFinder lets you live-stream the browser interactively. You can build on top of it to create augmented browsing experiences deliverable on any device without download.
:mag: Selector-Generalization
Selector-Generalization is novel algorithm for data collection exposed as a package of JavaScript utils to generalize a set of CSS selectors to a single selector that matches them all. Useful for picking columns of data from a view and for mapping the structure of web apps to use as data sources or for automation.
Web Development
My web development works center around ergonomic "frameworks" to make coding the web easier.
:dog2: Bepis
Bepis (named en homage to the meme) is a silly but useful way to write markup in a kindof-sortof shorthand for HTML. It just makes quickly parsing and writing markup easier (when you're not trying to count your pesky . characters, at least). Drincc up!
:bug: Dumbass
Dumbass is a tool for stupid people. Aren't we all? Use it when you don't want to think hard about building UIs, and care not for opinions.
Cryptography
My cryptography works are centered around novel takes on existing patterns and primitives and simple, magic-free designs, written in portable, readable code that isn't super-optimized in order to preserve legibility.
:baby_chick: Floppsy
200MB/s, passes all SMHasher

Floppsy is a hashing algorithm that passes SMHasher, meaning it stands alongside the best algorithms known. It's slower than most, clocking a modest 200Mb/s on an average workstation. Interstingly, I created it inspired by Egyptian fractions and continued fractions. It uses all floating point arithmetic, a hash-function first.
:dancers: Discohash
2 - 5 GB/s, passes all SMHasher

Discohash (also known as BEBB4185) is a super-fast non-cryptographic hash that passes SMHasher, and runs at 2 - 5GB/s (depending on hardware) in this naive, portable implementation.
:gem: Beamsplitter
500 - 800MB/s, passes all SMHasher

Beamsplitter (named for the optical device) is a SMHasher-passing family of hash functions parameterized over the choice of a high-entropy random 10x64 S-box. It's not particularly fast, and at 500 - 800MB/s (depending on hardware) is faster than SHA1, SHA2 and SHA3.
:alien: Xen
Xen is a set of crypto tools made from mostly unknown primitives I invented. Its output passes Practrand and Dieharder, meaning it is statistically indistinguishable from randomness.
:bento: Tarobox
Tarobox (anagram of xor and btoa
) is named based on its constituent parts. It's a Diehard-passing pseudo-random number generator built out of the simple, reusable components of: a base64 expansion function, and a wrap-and-xor compression function. It's simple, but performs really well statistically. It's not fast, however.
Utilities
Collected, assorted, high-utility miscellania.
:goggles: Grader.JS
Grader.JS, or just Grader, is a tool to help you build accessible, cross-platform desktop app binaries in Node.JS, JavaScript, HTML and CSS, without the bloat of Electron, nor the headaches of Qt.
:icecream: vanillatype
Lightweight runtime types for vanilla JavaScript and Node.
:page_facing_up: p2.
p2. is a simple PDF to PNG server that also works for XSLX, DOCX, and other documents.
:man: Sir>DB
Sir>DB is very simple database on the file system for when you're too small to fail. It's git-diff-able, organized into subdirectories, and all JSON.
💾 servedata
servedata is based on sirdb, and is very simple server for its database, incorporating payment, users, groups, permissions and authentication as well as standard landing page and sign in and profile interface.
:keycap_ten: Abacus
Abacus is bit arithmetic package to add, subtract, multiply, euclidean divide bit arrays of any size.
:wind_chime: Uint1Array
Uint1Array is JavaScript's missing TypedArray. Bit-level view of any underlying ArrayBuffer.
:small_airplane: environments
My coding environments (some dotfiles, and configs) and useful tools.
Other Bona Fides
I also record some test results I pick up along the way.