RSS

Tools
Steg Hide or find zip archives in image files. Steg works offline as a single page static site. The tool combines a given image and zip archive (or a custom message) into a polyglot file. The produced file appears as either the image or the zip depending on whether its name ends with the original image extension or '.zip'. The tool can also separate a polyglot file back into a .zip and image file.
Perline Write or wrap text in a one sentence per line style. The project includes a live two-way converter tool with a maximum line width option for further semantic wrapping.
Folder Maker Make a zip of folders from lines of text.
Item Finder Search a list to find the path to an item's location.
Text Join Join text files into one text file. Works with any text based files: txt, md, html, css, js, json etc.
Text Split Split text files into parts based on their content. The tool can act on one file or a batch of files. It splits the text of each given file every time its content matches a given regex pattern or substring.
Text Check Count and Highlight "to be" verbs in a text. #E-Prime
Tbook Convert EPUBs to folders, and chapters to MD text files. The project covers an open format and batch converter site.
Koad Edit and run JavaScript snippets live. This project features a simple to use and lightweight JavaScript playground that runs code live or on demand. Written in vanilla JS with no dependencies, this basic tool works offline in a browser as a single page static site.
Tasks Custom todo app (WIP)
Get Links Extract then act on URLs in pasted clipboard text. The tool lists unique links found in the plain and rich text system clipboards, to copy, save or batch open.
Duration calculator Span Calculate with times, dates and durations.
Mull Calculate named values, ranges and sums in plain text. A notepad style interface captures and names values and ranges to express sums clearly and make live calculations simpler to reason about, quicker to edit, and easier to read. When working with ranges, the tool presents side-by-side running totals for the potential minimums, averages, and maximums. The vanilla JavaScript tool runs offline in a browser and bundles to a single HTML file weighing under 20KB.
Static Site Generator Demo video of my portfolio site builder. Written in vanilla JavaScript to run offline in a browser, this tool has a simple drag and drop user interface to turn a folder of files into a ready-to-upload interlinked HTML + CSS site.
Zip-Look See the content of a zip file and extract select files.
Zipped Webpage Tool View or wrap a zipped page in an HTML file.
Dot-to-dot Maker (and optionally map quiz answers to points).
File Wrapper Wrap files in an HTML file as base64 downloads.
Tools - Table/Spreadsheet
Table Convert Tern Convert tables and 2D tabular data between formats. Made for plain-text tables, flat object lists, and key value pairs, the project covers a library of custom converters, and single page converter site. The tool handles simple JSON, ASCII, Markdown, CSV, TSV, and HTML data.
Stow (Chromium) Edit tabular data in a JSON format (simple database). Written in vanilla JavaScript, the GUI tool reads and writes local (gzipped) plain text files, runs offline in a Chromium browser, and bundles everything into a HTML monofile that weighs under 50KB.
Space table Make and edit plain text space-separated tables.
Tools - Art / Image
Swotch Make limited palette PNGs and swatch SVGs from images. A single file ~14KB tool that runs offline in a browser. Written in vanilla JavaScript.
SVG to PNG Artboard / Content, Aliased / Anti, Alpha / Opaque.
Armature Make composition guides for art and design work. The project presents a simple tool to generate composition design guides based on classical art theory. It covers harmonic symmetry, dynamic symmetry, rabatment, and other baroque ideas. The tool packs everything involved into a single html file which can run offline in a web browser. It features a simple UI with built in presets to control a custom JavaScript library, and can save the generated armatures as ready to use lightweight SVG vector files, and PNG raster images.
Chop Split one image to many (and perform basic OCR). Written in vanilla JavaScript, Chop runs offline in a browser as a single page tool. The monofile version weighs <120KB.
JS Functions / Scripts / Libs
2024 Chute Use dot-notation as a pipeline operator.

Written as a vanilla JS function, Chute can chain and send data through a mix of functions and methods using a dot-notation style.

Without any setup steps, a single chute can alternate between: (A) calling any native or custom methods the current data has; and (B) sending the current data through functions (whether global-scope or local-scope, top level or deeply nested, made for chaining or not).

Chute works with unary, curried, and non-unary functions. Chute can send the current data through non-unary functions, at any specific argument position, by using its custom-namable placeholder variable. Chute also allows sub-chains and one-off inline functions at any step in a chute. Chute has its own page, as well as a repo at GitHub.

//Demo return chute(initialData)// begin a chute .regularMethod() //map reduce etc. //any external functions: .nameOfGlobalNativeOrCustomFn() .do(nameOfLocalScopeFn) .nameOfGlobal.nestedFn() //.JSON.stringify() | Math.… // etc. ()// End

With a setup step, Chute can do a few more things.

Formats
Monotext Typeset copy as monospace plain text. The project includes a markup syntax, a JavaScript tool, and a live playground site, to produce Monotext. It defines Monotext as monospace plain text typeset in a specific style that follows the conventions of typesetting with a typewriter.
2022 Glon Format JSON-like data as a list (valid Markdown). The project introduces a Markdown compatible open format for plain-text data based on a bullet point list. It also includes a two way JSON to GLON converter tool, documentation, and a live playground site.
Snippets & Small Fns
Paste Intercept Act on pasted clipboard data before it lands.
Asides Paragraph / inline notes instead of footnotes. (HTML+CSS)
JS String Split Before, at, after, or around a pattern. A simple JavaScript function to split strings more easily.
Ideas
Skip Parse plain text, markup and Markdown to HTML with JS/XSLT.
HTML Edit Open and Save HTML files. Edit as Markdown.
MD Editor Focus on one document section at a time.
Early Store and load page settings in URLs without JavaScript.
Colour Timestamps Use hex colour codes as timestamps. Generate short, case insensitive, chronologically sorted, 6 character strings, each mapped to a timestamp and hex colour. For IDs, reference stamps, and URL slugs.