gtb - the gemlog tractor beam
what is it?
the gemlog tractor beam exists for a few reasons.
- to allow people to read your social media posts on gemini protocol
- to keep your capsule fresh with short form writing while you work on other things
how does it work?
gtb is a python application with pretty simple configuration options. you generally only need to know your social media handle (currently there is support for bluesky, kibun, and mastodon) and where you want the files to go.
once configured and run, the application will:
- reach out to _your specific data provder_ on atproto or activitypub
- on atproto this means your PDS, which does not have to be bluesky
- if you are using a non-bluesky PDS, this tool will not touch bluesky the company's infrastructure
- on mastodon, it obviously reaches out to the instance your account is on
- transform the posts it receives into a generic post object
- sort all the posts by date and time, then group them by day
- transform each day into a gemtext file with your social media posts from that day
- write these files out to a specified directory
i have it running every day at 5am pacific time, so you can see the results on my capsule:
how do i run it?
you will need the python package and virtual environment manager `uv`:
you will want to clone the repository:
and copy the example configuration to the default configuration file:
you will want to set up the collectors as described in the example for your own social media accounts.
then you run the tool!
and now you have a folder full of gemtext files containing the past 'while' of your posting! if you continue to run this every day or so from there on, it will not overwrite files that contain the same content, so you will just be continually adding posts to your capsule!
how do i hack on it?
gtb is open source, and hosted on github (the link is at the top of the page)
there are details about hacking on the project in the readme featured on the landing page.
i welcome contributions!