Software for archiving my digital stuff like tweets

Overview

rsms's memex

Software for managing my digital information, like tweets.

Usage

First check out the source and build. You'll need Make and Go installed.

git clone https://github.com/rsms/memex.git
cd memex
make

Then make your memex data directory by starting from a copy of the example directory. This directory can be anywhere you like and will hold your data and service configs.

cp -a path-to-source-of/memex/example-memexdir ~/memex

You can also start with an empty directory, e.g. mkdir ~/memex.

Next, export the path of your memex directory in your environment:

export MEMEX_DIR=$HOME/memex
# optional: add to you shell's init script:
echo "export MEMEX_DIR=$MEMEX_DIR" \
>> ~/`[[ $SHELL == *"/zsh" ]] && echo .zshrc || echo .bashrc`

Finally, run the memex service:

path-to-source-of/memex/bin/memex

The memex program is a service manager, much like an operating system service manager like systemd it manages services (processes). It takes care of restarting processes when they exit, start, restart or stop processes when their configuration files changes and collect all logs and outputs in one place. This makes it easy to "run a lot of processes" with a single command (memex), and similarly to stop them all (^C.)

The memex program looks in your MEMEX_DIR for files called memexservice.yml which it treats as "service configurations". These YAML files describes what command to run as the service process, what arguments to pass it, its environment, it it's been temporarily disabled or not, and so on.

Changes to these files are automatically detected and you don't need to restart memex when making changes to these "service config" files.

Service processes are started with a working directory of the configuration file. I.e. ~/memex/foo/bar/memexservice.yml with start:./bar will start a process ./bar in the directory ~/memex/foo/bar.

See example-memexdir/foo/memexservice.yml for a full example and more details.

You might also like...
Nvote - Decentralized, vote-driven community similar to services like Reddit and HackerNews. Built on nostr

NVote Nvote is a decentralized, vote-driven community similar to services like R

Service that wrap up different movies-related APIs like IMDB and match it to streaming services
Service that wrap up different movies-related APIs like IMDB and match it to streaming services

Service that wrap up different movies-related APIs like IMDB and match it to streaming services. That way you can check in which platforms you can find your favorite movies.

Prig is for Processing Records In Go. Like AWK, but snobbish.

Prig: the snobbish AWK Prig is for Processing Records In Go. It's like AWK, but snobbish (Go! static typing!). It's also faster to execute, and if you

GoBatch is a batch processing framework in Go like Spring Batch in Java
GoBatch is a batch processing framework in Go like Spring Batch in Java

GoBatch English|中文 GoBatch is a batch processing framework in Go like Spring Batch in Java. If you are familiar with Spring Batch, you will find GoBat

Go-backend-test - Creating backend stuff & openid connect authentication stuff in golang

Go Backend Coding Practice This is my practice repo to learn about creating back

Tdtl - TKeel Digital Twins Language (TDTL) is language of Digital Twins in tKeel

TQL TKeel Digital Twins Language (TDTL) is language of Digital Twins in tKeel, w

Alternative archiving tool with fast performance for huge numbers of small files

fast-archiver fast-archiver is a command-line tool for archiving directories, and restoring those archives written in [Go](http://golang.org). fast-ar

A twitch focused command line tool for producing, archiving and managing live stream content. Built for Linux.

twinx is a live-streaming command line tool for Linux. It connects streaming services (like Twitch, OBS and YouTube) together via a common title and description.

Archiving Street Art in a distributed manner
Archiving Street Art in a distributed manner

Graffiti Repository provides a tool for graffiti community to keep track and preserving street artwork in their areas. Features Distributed storage Th

Open source forensic software to analyze and present digital evidence.
Open source forensic software to analyze and present digital evidence.

Go Forensics Core Open source forensic software to analyze digital evidence to be presented in court. The core of Go Forensics PostgreSQL The core use

A console based twitter client for displaying tweets from twitter lists
A console based twitter client for displaying tweets from twitter lists

About I follow a bunch of people who span a bunch of topics and wanted a way to keep track of all the cool stuff they post. I figured there would cert

Schedule daily tweets from markdown files in your repo, posted via github actions.

markdown-tweet-scheduler Schedule daily tweets from markdown files in your repo, posted to twitter via github actions. Setup Fork this repo Get your t

Bot that tweets posts with the Go tag on Qiita
Bot that tweets posts with the Go tag on Qiita

GoTwitterBot A bot that tweets posts with the Go tag on Qiita

A bot that tweets posts with the Go tag on Qiita
A bot that tweets posts with the Go tag on Qiita

GoTwitterBot A bot that tweets posts with the Go tag on Qiita go mod init main/main go get github.com/joho/godotenv go get github.com/ChimeraCoder/a

Sentiment Analysis Pipeline + API written in Golang (currently processing Twitter tweets).

Go Sentiment Analysis Components Config: config module based in JSON (enter twitter credentials for use) Controllers: handle the API db call/logic for

Sentiment Analysis Pipeline + API written in Golang (currently processing Twitter tweets).

Go Sentiment Analysis Components Config: config module based in JSON (enter twitter credentials for use) Controllers: handle the API db call/logic for

Heatmap creation stuff for go.
Heatmap creation stuff for go.

Heatmaps This is a toolkit for creating heatmaps. Heatmaps are awesome. I use them for a few things, and now you can, too. There are quite a few thing

Gountries provides: Countries (ISO-3166-1), Country Subdivisions(ISO-3166-2), Currencies (ISO 4217), Geo Coordinates(ISO-6709) as well as translations, country borders and other stuff exposed as struct data.

gountries Inspired by the countries gem for ruby. Countries (ISO-3166-1), Country Subdivisions(ISO-3166-2), Currencies (ISO 4217), Geo Coordinates(ISO

go.pipeline is a utility library that imitates unix pipeline. It simplifies chaining unix commands (and other stuff) in Go.

go.pipeline go.pipeline is a utility library that imitates unix pipeline. It simplifies chaining unix commands (and other stuff) in Go. Installation g

Owner
Rasmus
Languages, compilers, making computers talk with eachother, and other fun things. Professional life is at Figma; previously Facebook, Spotify, Dropbox and more
Rasmus
A bot that tweets posts with the Go tag on Qiita

GoTwitterBot A bot that tweets posts with the Go tag on Qiita go mod init main/main go get github.com/joho/godotenv go get github.com/ChimeraCoder/a

Ibuki Yoshida 9 Oct 4, 2021
The Bhojpur Ara is a software product used for automated resource assembly within Bhojpur.NET Platform ecosystem to enable delivery of applications and services.

Bhojpur Ara - Automated Resource Assembly The Bhojpur Ara is a service product used for automated resource assembly within the Bhojpur.NET Platform ec

Bhojpur Consulting 0 Apr 28, 2022
The Bhojpur PEE is a software-as-a-service product used as a Provider's Edge Equipment based on Bhojpur.NET Platform for application delivery.

Bhojpur PEE - Provider's Edge Equipment The Bhojpur PEE is a software-as-a-service product used as a Provider's Edge Equipment based on Bhojpur.NET Pl

Bhojpur Consulting 0 Dec 31, 2021
Zms - The Bhojpur ZMS is a software-as-a-service product applied in different risk management areas. It is a containment Zone Management System based on Bhojpur.NET Platform.

Bhojpur ZMS - Zone Management System The Bhojpur ZMS is a software-as-a-service product used as a Zone Management System based on Bhojpur.NET Platform

Bhojpur Consulting 0 Sep 26, 2022
Simple Apple Software Release Notifier, sends an email containing release information

Apple Release Notifier Simple Apple Software Release Notifier, sends an email containing release information. Usage Fill in the contacts file with the

Ahmet Batur Tülek 2 Feb 22, 2022
fzf-like fuzzy-finder as a Go library

go-fuzzyfinder go-fuzzyfinder is a Go library that provides fuzzy-finding with an fzf-like terminal user interface. Installation $ go get github.com/k

ktr 330 Nov 25, 2022
A simple Go utility to display track information from, and send commands to, spotifyd from Tiling Window Managers like Sway and i3

Untitled Spotifyd Controller A simple Go utility to display track information from, and send commands to, spotifyd from Tiling Window Managers like Sw

Matt 2 Mar 8, 2022
🚀 A command with fzf-like UI to quickly search Wikipedia articles and open it in your browser

fzwiki A command with fzf-like UI to quickly search Wikipedia articles and open it in your browser. Usage Run the command by specifying a search query

sheepla 77 Nov 26, 2022
DND-magic-item-Generator - D&D magic item generator like in Diablo

DND-magic-item-Generator D&D magic item generator like in Diablo Legendary items

Hex Kot 0 Mar 28, 2022