batch-cluster.js
exiftool-vendored.js
batch-cluster.js | exiftool-vendored.js | |
---|---|---|
2 | 4 | |
14 | 397 | |
- | 2.8% | |
7.7 | 9.2 | |
12 days ago | 12 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
batch-cluster.js
-
Lychee – Self-hosted photo-management done right
The frontend is in Vue. Both the FE and BE are in TypeScript.
Parallelism is provided by https://github.com/photostructure/batch-cluster.js/
Metadata reads and writes are via https://github.com/photostructure/exiftool-vendored.js/
My more nerdier blog posts are tagged here: https://photostructure.com/tags/coding/
-
Ask HN: What are some tools / libraries you built yourself?
I needed a good Node wrapper for ExifTool and wrote https://github.com/photostructure/exiftool-vendored.js
When I saw how slow it is to fork child processes in Windows, I then realized I wanted to run ExifTool in "stay-open" mode, which meant I needed to manage 1 or more long-lived child processes that communicate via stdin/stdout, so I wrote https://github.com/photostructure/batch-cluster.js
I also really missed scala's `lazy` operator, so I built that (and several other small, helpful functions/classes) that I documented here: https://photostructure.com/coding/uncertain-lazy-forgetful-a...
exiftool-vendored.js
-
Exploring EXIF
Know that although ExifTool is written in perl, you can run it in "batch mode" which makes it quite fast--only a couple of ms to parse a file. I've written an open source library to manage the subprocesses for you if you're using node.js (and I also wrote the ruby variant ages ago):
https://github.com/photostructure/exiftool-vendored.js
-
Lychee – Self-hosted photo-management done right
The frontend is in Vue. Both the FE and BE are in TypeScript.
Parallelism is provided by https://github.com/photostructure/batch-cluster.js/
Metadata reads and writes are via https://github.com/photostructure/exiftool-vendored.js/
My more nerdier blog posts are tagged here: https://photostructure.com/tags/coding/
-
FS-Viewer 1.2.0 - Now stable on Windows
if you're looking into doing stuff with EXIF, there's a really good library that's also typed: https://github.com/photostructure/exiftool-vendored.js
-
Ask HN: What are some tools / libraries you built yourself?
I needed a good Node wrapper for ExifTool and wrote https://github.com/photostructure/exiftool-vendored.js
When I saw how slow it is to fork child processes in Windows, I then realized I wanted to run ExifTool in "stay-open" mode, which meant I needed to manage 1 or more long-lived child processes that communicate via stdin/stdout, so I wrote https://github.com/photostructure/batch-cluster.js
I also really missed scala's `lazy` operator, so I built that (and several other small, helpful functions/classes) that I documented here: https://photostructure.com/coding/uncertain-lazy-forgetful-a...
What are some alternatives?
fselect - Find files with SQL-like queries
qrcode - qr code generator
Zip Foundation - Effortless ZIP Handling in Swift
gm - GraphicsMagick for node
Shynet - Modern, privacy-friendly, and detailed web analytics that works without cookies or JS.
ImageScript - zero-dependency JavaScript image manipulation
sqldb-logger - A logger for Go SQL database driver without modifying existing *sql.DB stdlib usage.
is-progressive - Check if JPEG images are progressive
null - Nullable Go types that can be marshalled/unmarshalled to/from JSON.
jimp - An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.
Nullboard - Nullboard is a minimalist kanban board, focused on compactness and readability.
image-type - Detect the image type of a Buffer/Uint8Array