Skip to content
View colbyn's full-sized avatar

Organizations

@SubSys @imager-io @subscript-publishing @SuperSwiftMarkup

Block or report colbyn

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
colbyn/README.md

Biography & Status Timelines

Pre 2025

Overall very personal.

Some highlights are:

  • Imager Project Site performance tools for efficiently distributing media on the web. Notably includes a tool for optimizing the binary encoding of images in a brute force trial ’n error sorta manner, using a new (at that time) ML based perceptual quality metric designed to be a more accurate model of human perception compared to prior formulaic approaches.
  • My Note Taking Explorations:
    • The tools I developed to compile and publish my school notes such as,
    • Also the notes themselves:
      • colbyn's math notes.
        • Which I used to great effect and yet such left much to be desired, especially for hand drawn notes (see the following chem notes).
      • My proof-of-concept chemistry notes:
        • root index
        • Where this differs from other note taking apps is its ability to support giant autogenerated tables of contents from the root notebook down to the individual pages.
        • example page.
    • Overall I wanted notes that were as compact as possible for any viewport resolution, and that could be navigated as quickly as possible in an obvious way.

From 2025 onwards

Initially the work began with a proof-of-concept prototype with the following aims:

  • Implement a native text renderer that supports all block types as defined in the GitHub Flavored Markdown Spec.
  • With uniform behavior concerning text selection and selection-based navigation. Including:
    • This includes the ability to select any inline text within any markdown block and be able to extend that selection across multiple and varying markdown block types.
    • Cross platform support for multiple cursors / selections.
  • Implement all of the above without relying on macOS only APIs.
    • While the prototype was implemented in terms of AppKit APIs, the port to iOS should be relatively trivial. Especially since this project was itself based on an earlier codebase that was implemented in terms of UIKit and I have verified that the TextKit 2 functionality concerning text selections does indeed work on—at least—iOS 17 (which I honestly thought would be too good to be true lol).

At the time of this writing:

Now that the core functionality has been proven viable, I (the author) have learned much and I intend to translate my experience and lessons learned from the proof-of-concept prototype codebase into a viable set of libraries that app developers can depend upon. Starting from a blank slate.

So keep in mind:

  • This project is a complete rewrite from the ground up.
  • The git tree is also a fresh start.
  • At the time of this writing this project is in heavy development and does not yet present any cool tangible functionality.
  • So head over to the aforementioned proof-of-concept prototype to see the past history and screenshots from where that project left off (spoiler alert it’s super cool).
  • For the layperson, unless you’re interested in contributing towards or influencing the initial evolution of the SuperSwiftMarkup libraries, please check back every so often to see when some libraries therein are ready for real world use.
  • But if you’re interested in influencing the initial evolution of this project, then by all means dive in. 🙂

High Level Objectives:

  • First class (cross platform) support for all markdown block types, with uniform behavior concerning text selection and selection-based navigation.
  • First class (cross platform) support for multiple cursors/selections.
  • Default support for everything under "Meeting the expectations of iOS and macOS users" (see Appendix).

Additionally:

  • Where the rendering engine is designed in such a way that can accommodate,
    • Horizontally scrollable fragments (on a per-fragment basis) as an alternative to text wrapping. Which is particularly desirable for e.g. long tables that cannot neatly fit within their available view space.

Overall I hope you’re excited as I am!

Personally I, the author (Colbyn Wadman), have been messing around with miscellaneous problems concerning text processing and text rendering (in one form or another) for a very long time and—as far as the POC has demonstrated—it’s good to see something interesting come from it, and when I release my work, I hope you’ll be pleased with the results. 🤞

Links

Dev Blogs

Contact

Pinned Loading

  1. SuperSwiftMarkup/SuperSwiftMarkdownPrototype SuperSwiftMarkup/SuperSwiftMarkdownPrototype Public

    A Better Markdown UI — Proof Of Concept

    Swift 19 1

  2. imager-io/imager imager-io/imager Public

    Automated image compression for efficiently distributing images on the web.

    Rust 661 35

  3. imager-io/ffmpeg-dev-rs imager-io/ffmpeg-dev-rs Public

    Rust - Self Contained FFmpeg Bindings

    C 53 14

  4. commands commands Public

    A convenient tool for building upon and referencing existing cli tools via a bash dialect.

    Haskell

  5. web-images-js web-images-js Public archive

    Safe† - Fast (and Non Blocking)‡ - Dependency free* - MIT License (with no GPL extras) - Image Loading, Resizing, Conversion and Processing

    Rust 3

  6. imager-io/x264-dev imager-io/x264-dev Public

    Rust bindings to x264

    Rust 8 2