Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/o0101/blogfolio
:pencil2: Blogfolio of my creative work in open-source software engineering, 2017 to present.
https://github.com/o0101/blogfolio
archiving bepis blog bona-fides browser cryptography github-stars portfolio rbi selector-generalization types utilities
Last synced: 15 days ago
JSON representation
:pencil2: Blogfolio of my creative work in open-source software engineering, 2017 to present.
- Host: GitHub
- URL: https://github.com/o0101/blogfolio
- Owner: o0101
- Created: 2020-01-20T16:25:05.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-21T11:32:54.000Z (over 3 years ago)
- Last Synced: 2024-08-01T22:48:12.532Z (3 months ago)
- Topics: archiving, bepis, blog, bona-fides, browser, cryptography, github-stars, portfolio, rbi, selector-generalization, types, utilities
- Homepage: https://c9fe.github.io/Blogfolio/
- Size: 186 KB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# [THE BLOGFOLIO OF MY CREATIVE WORKS](https://github.com/crislin2046/portfolio/blob/master/README.md#creative-works)
In software I've made open-source creative works in 4 main areas: [cryptography](#cryptography), [web development](#web-development), [browser technology](#browser-technology) and [utilities](#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%)](https://triplebyte.com/tb/cris-stringfellow-daovgil/certificate/track/frontend)
- [Triplebyte Generalist certificate (top 10%)](https://triplebyte.com/tb/cris-stringfellow-daovgil/certificate/track/generalist)
- [Triplebyte DevOps certificate (top 10%)](https://triplebyte.com/tb/cris-stringfellow-daovgil/certificate/track/devops)
- [Stackoverflow Developer Story](https://stackoverflow.com/users/story/10283964)
- [Stackoverflow Profile (from '13)](https://stackoverflow.com/users/907415/Cris%20Stringfellow)
- [Pluralsight Skills IQ](https://app.pluralsight.com/profile/cris-stringfellow-e)## That time I rendered a web browser in a web browser
I created [ViewFinder](https://github.com/c9fe/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](https://chromedevtools.github.io/devtools-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](https://isolation.site) or to [try the free demo](https://demo.browsergap.dosyago.com), because it turns out that live streaming a browser, is actually a [product category](https://gcn.com/articles/2020/09/08/disa-cbii.aspx) in and off itself, deeply related to [cyber security](https://www.toptal.com/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](https://github.com/dosyago/OuterShell)?
## [Browser Technology](https://github.com/cris691/portfolio/blob/master/README.md#browser-technology)
My browsing technology works (also known as browser controllers) center around enhancements to the way you normally might browse.
### [:classical_building: 22120](https://github.com/c9fe/22120)
#### [![version](https://img.shields.io/npm/v/archivist1.svg?label=&color=0080FF)](https://github.com/dosyago/22120/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/archivist1) ![binary downloads](https://img.shields.io/github/downloads/dosyago/22120/total?label=binary%20downloads) [![GitHub stars](https://img.shields.io/github/stars/dosyago/22120.svg?style=social&label=Star)](https://GitHub.com/dosyago/22120/stargazers/)
**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](https://github.com/c9fe/ViewFinder)
#### [![docker pulls](https://img.shields.io/docker/pulls/dosyago/browsergapce)](https://hub.docker.com/r/dosyago/browsergapce) ![version](https://img.shields.io/npm/v/remoteview) [![npm downloads](https://img.shields.io/npm/dt/remoteview)](https://www.npmjs.com/package/remoteview) [![binary downloads](https://img.shields.io/github/downloads/cris691/ViewFinder/total?label=binary%20downloads)](https://github.com/cris691/ViewFinder/releases/latest)[![GitHub stars](https://img.shields.io/github/stars/c9fe/ViewFinder.svg?style=social&label=Star)](https://GitHub.com/c9fe/ViewFinder/stargazers/)
**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](https://www.npmjs.com/package/selector-generalization)
#### [![version](https://img.shields.io/npm/v/selector-generalization.svg?label=&color=0080FF)](https://github.com/crislin2046/selector-generalization/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/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](https://github.com/crislin2046/portfolio/blob/master/README.md#web-development)
My web development works center around ergonomic "frameworks" to make coding the web easier.
### [:dog2: Bepis](https://github.com/dosyago/bepis)
#### [![version](https://img.shields.io/npm/v/bepis.svg?label=&color=0080FF)](https://github.com/dosyago/bepis/releases/latest) ![npm downloads total](https://img.shields.io/npm/dt/bepis) [![GitHub stars](https://img.shields.io/github/stars/dosyago/bepis.svg?style=social&label=Star)](https://GitHub.com/dosyago/bepis/stargazers/)
**Bepis** (named en homage to the [meme](https://www.youtube.com/watch?v=zbqdh5duDuU)) 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](https://github.com/dosyago/dumbass)
#### [![version](https://img.shields.io/npm/v/dumbass.svg?label=&color=0080FF)](https://github.com/dosyago/dumbass/releases/latest) ![npm downloads total](https://img.shields.io/npm/dt/dumbass) [![GitHub stars](https://img.shields.io/github/stars/dosyago/dumbass.svg?style=social&label=Star)](https://GitHub.com/dosyago/dumbass/stargazers/)
**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](https://github.com/crislin2046/portfolio/blob/master/README.md#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](https://github.com/dosyago/floppsy)
#### **[200MB/s, passes all SMHasher](https://github.com/rurban/smhasher/blob/master/doc/floppsyhash.txt)** [![version](https://img.shields.io/npm/v/floppsy.svg?label=&color=0080FF)](https://github.com/dosyago/floppsy/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/floppsy)
**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](https://github.com/cris691/discohash)
#### **[2 - 5 GB/s, passes all SMHasher](https://github.com/rurban/smhasher/blob/master/doc/BEBB4185.txt)** [![version](https://img.shields.io/npm/v/bebb4185.svg?label=&color=0080FF)](https://github.com/cris691/discohash/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/bebb4185) [![GitHub stars](https://img.shields.io/github/stars/cris691/discohash.svg?style=social&label=Star)](https://GitHub.com/cris691/discohash/stargazers/)
**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](https://github.com/cris691/beamsplitter)
#### **[500 - 800MB/s, passes all SMHasher](https://github.com/rurban/smhasher/blob/master/doc/beamsplitter.txt)** [![version](https://img.shields.io/npm/v/beamsplitter.svg?label=&color=0080FF)](https://github.com/cris691/beamsplitter/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/beamsplitter) [![GitHub stars](https://img.shields.io/github/stars/cris691/beamsplitter.svg?style=social&label=Star)](https://GitHub.com/cris691/beamsplitter/stargazers/)
**Beamsplitter** (named for the [optical device](https://www.edmundoptics.com.tw/c/laser-optics/754/?#Categories=Categories%3ANzYy0)) 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](https://github.com/dosyago/xen)
#### [![version](https://img.shields.io/npm/v/xen.svg?label=&color=0080FF)](https://github.com/dosyago/xen/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/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](https://github.com/dosyago/tarobox)
#### [![version](https://img.shields.io/npm/v/tarobox.svg?label=&color=0080FF)](https://github.com/dosyago/tarobox/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/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](https://github.com/crislin2046/portfolio/blob/master/README.md#utilities)
Collected, assorted, high-utility miscellania.
### [:goggles: Grader.JS](https://github.com/c9fe/graderjs)
#### ![npm downloads](https://img.shields.io/npm/dt/graderjs?label=npm%20downloads) ![version](https://img.shields.io/npm/v/graderjs?label=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.
### [:icecream: vanillatype](https://github.com/crislin2046/jtype-system)
#### ![version](https://img.shields.io/npm/v/jtype-system?label=%22%22) ![npm downloads](https://img.shields.io/npm/dt/jtype-system)
Lightweight runtime types for vanilla JavaScript and Node.
### [:page_facing_up: p2.](https://github.com/dosyago/p2.)
#### [![GitHub stars](https://img.shields.io/github/stars/dosyago/p2..svg?style=social&label=Star)](https://GitHub.com/dosyago/p2./stargazers/)
**p2.** is a simple PDF to PNG server that also works for XSLX, DOCX, and other documents.
### [:man: Sir>DB](https://github.com/c9fe/sirdb)
#### [![version](https://img.shields.io/npm/v/stubdb.svg?label=&color=0080FF)](https://github.com/cris691/stubdb/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/sirdb) [![GitHub stars](https://img.shields.io/github/stars/c9fe/sirdb.svg?style=social&label=Star)](https://GitHub.com/c9fe/sirdb/stargazers/)
**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](https://github.com/c9fe/servedata)
#### [![version](https://img.shields.io/npm/v/servedata.svg?label=&color=0080FF)](https://github.com/cris691/servedata/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/servedata) [![GitHub stars](https://img.shields.io/github/stars/cris691/servedata.svg?style=social&label=Star)](https://GitHub.com/cris691/servedata/stargazers/)
**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](https://github.com/crislin2046/bitmath)
#### [![version](https://img.shields.io/npm/v/bitmath.svg?label=&color=0080FF)](https://github.com/crislin2046/abacus/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/bitmath)
**Abacus** is bit arithmetic package to add, subtract, multiply, euclidean divide bit arrays of any size.
### [:wind_chime: Uint1Array](https://github.com/crislin2046/Uint1Array)
#### [![version](https://img.shields.io/npm/v/uint1array.svg?label=&color=0080FF)](https://github.com/crislin2046/Uint1Array/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/uint1array)
**Uint1Array** is JavaScript's missing TypedArray. Bit-level view of any underlying ArrayBuffer.
### [:small_airplane: environments](https://github.com/cris691/environments)
#### [![version](https://img.shields.io/npm/v/environments.svg?label=&color=0080FF)](https://github.com/cris691/environments/releases/latest) ![npm downloads](https://img.shields.io/npm/dt/environments)
My coding **environments** (some dotfiles, and configs) and useful tools.
-----
## Other Bona Fides
I also record some [test results](TEST_RESULTS.md) I pick up along the way.