a3b42ea3e1967b1b8b2eea2839d09a3ed6ded11c
Grand Aim
A semantically colored feed of bluesky skeets, for your perspective, someone else's or another group's.
Intermediate goals so far
- Visualize bluesky data.
- Read from jetstream
- Extract interesting fields
- Filter by commit/post type. Learning bsky data model just enough, filter also by keywords. Count limit.
- Get color selection ergonomic for further development, 24-bit? 32-bit? color, the alpha paramter of colorama is quite useful
- colorspace, hsla / hsl
- Vary colors, find balance so nothing draws excessive attention, but noticeable, though gradual, color evolution occurs And, for ergonomic use to communicate meaning. Color for cluster / direction. Brightness, inverse to length, for ease of reading, uniformity of gestalt. Saturation for content searching versus scaffolding metadata. Errors in grey too.
- Port to Rust for better performance and native compilation
- Get semantic clustering working -- static color. Faiss? enough? Word2Vec? Queries?
- Get sematic selection & filtering working, based on keywords, chosen posts
- Get db/profiles/queries/modes set up -- so every taste selection input can inform any future use
- Get a streaming web view working -- possibly even fully in-browser
- fallen? twitterfall inspiration. hatnote's L2W
Run it
Rust version (recommended)
# Build and run
cargo run
# With options
cargo run -- --count 10 --filters "+love,-hate" --cfilters "+create"
# Install and run
cargo install --path .
bsky-firehose-term --help
Python version
uv run --with websockets,colorama,munch,fire python3 bluesky-simple-print.py
Command-line options
Both versions support the same filtering options:
--skips: Skip certain types (comma-separated)--only: Only show certain types (comma-separated)--cfilters: Commit type filters (+include,-skip format)--filters: Text filters (+include,-skip format)--count: Stop after N posts
Examples:
# Show only posts containing "rust" or "programming"
cargo run -- --filters "+rust,+programming"
# Skip posts containing "spam"
cargo run -- --filters "-spam"
# Show only commit types containing "create"
cargo run -- --cfilters "+create"
# Show only 5 posts
cargo run -- --count 5
What it looks like
Languages
Python
64.3%
Rust
35.4%
Just
0.3%

