67 lines
2.4 KiB
Markdown
67 lines
2.4 KiB
Markdown
# Grand Aim
|
|
A semantically colored feed of bluesky skeets, for your perspective, someone else's or another group's.
|
|
|
|
## Intermediate goals so far
|
|
- [x] Visualize bluesky data.
|
|
- [x] Read from jetstream
|
|
- [x] Extract interesting fields
|
|
- [x] Filter by commit/post type. Learning bsky data model just enough, filter also by keywords. Count limit.
|
|
- [x] Get color selection ergonomic for further development, 24-bit? 32-bit? color, the alpha paramter of colorama is quite useful
|
|
- [x] colorspace, hsla / hsl
|
|
- [x] 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.
|
|
- [x] 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](https://twitterfall.com) inspiration. [hatnote's L2W](https://l2w.hatnote.com)
|
|
|
|
# Run it
|
|
|
|
## Rust version (recommended)
|
|
```bash
|
|
# 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
|
|
```bash
|
|
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:
|
|
```bash
|
|
# 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
|
|

|
|

|