Skip to content

✏️ Blogfolio of my creative work in open-source software engineering, 2017 to present.

Notifications You must be signed in to change notification settings

o0101/Blogfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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:

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?

My browsing technology works (also known as browser controllers) center around enhancements to the way you normally might browse.

version npm downloads binary downloads GitHub stars

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.

docker pulls version npm downloads binary downloadsGitHub stars

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.

version npm downloads

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.

My web development works center around ergonomic "frameworks" to make coding the web easier.

version npm downloads total GitHub stars

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!

version npm downloads total GitHub stars

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.

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.

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.

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.

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.

version npm downloads

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.

version npm downloads

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.

Collected, assorted, high-utility miscellania.

npm downloads version

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.

version npm downloads

Lightweight runtime types for vanilla JavaScript and Node.

GitHub stars

p2. is a simple PDF to PNG server that also works for XSLX, DOCX, and other documents.

version npm downloads GitHub stars

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.

version npm downloads GitHub stars

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.

version npm downloads

Abacus is bit arithmetic package to add, subtract, multiply, euclidean divide bit arrays of any size.

version npm downloads

Uint1Array is JavaScript's missing TypedArray. Bit-level view of any underlying ArrayBuffer.

version npm downloads

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.

Releases

No releases published

Sponsor this project

Packages

No packages published