Bookmark Tool in Common Lisp
Common Lisp bookmark converter when browser sync already handles this.
rawtohdri Converts bracketed camera raw files directly to an OpenEXR format HDRI.
SIMD-optimized Common Lisp with zero-copy EXR writing beats the 15-year-old Python version.
Photographers and HDR enthusiasts working with bracketed exposures
Luminance HDR · Photomatix · OpenImageIO
It got the job done, but was very slow. Python was what I knew at the time and even with NumPy, I was limited in the speed I could squeeze out of it. (I also made some very specific, conscious, architectural choices to be extra frugal with RAM, which impacted performance further.)
This new version is SUBSTANTIALLY faster than the old one. This time around the exercise was more about having some fun in Lisp and exploring SIMD in SBCL via the built-in sb-simd library.
It uses LibRaw (via its C API wrapper and CFFI) for reading and and a custom multi-threaded pure Lisp implementation of (a subset) of OpenEXR I created for writing the output files. The threading helps speed up the otherwise expensive deflate based codec and goes a long way towards speeding up the end-to-end pipeline. The core processing / compositing logic is pure Lisp.
Cool features:
* Buffer parallel (threaded) LibRaw reads
* Frugal use of memory (RAW read as 16 bit INT and is only upcast to float during actual stacking)
* AVX2 acceleration of 16 bit INT up-cast and HDR stacking loop
* Threaded OpenEXR writes
* EXIF to EXR metadata preservation of the "center" exposure bracket, which essentially forwards meaningful telemetry regarding the radiometric "reality" of the scene when it was photographed downstream to subsequent consumers.
You can learn more about it and the "algorithm" it uses from the repo. The math for HDR stacking is really very simply if you know basic compositing and understand how digital camera sensors work.
Common Lisp bookmark converter when browser sync already handles this.
Clearbit alternative that auto-crops and fixes logo backgrounds for dashboards.
Vibe-coded in 2 hours with AI tokens — clever but feels like a weekend experiment.
LOC-based joke leaderboard when GitHub stats already exist.
Another Common Lisp implementation competing with established giants like SBCL.
Yet another Lisp implementation with TBD usage instructions and no clear differentiation.