3 pointsby achempion4 hours ago3 comments
  • awfm9an hour ago
    Nice. I wonder if you could get it shorter with Ruby, or Lisp. And what it would look like with Rust or Go. Should be easy to port I reckon. Maybe I'll give it a try.
    • achempionan hour ago
      Thanks, I considered ruby initially and it's possible for the relay (even bash would work :)).

      For the local sync, I needed sqlite and python comes with sqlite client in a standard lib, ruby requires a gem.

      I wanted core parts of the infra (relay and sync) to be implemented with zero external language dependencies. I didn't want to have a relay in ruby and sync in python. TUI example uses textual, so everything fits in a single language.

      • awfm9an hour ago
        I never thought about standard library versus external dependencies in that way. I wonder why. Do you think there is a relevant difference?
        • achempionan hour ago
          I think it comes down to trust and maintenance cost. I wanted to minimise external dependencies, so the whole implementation is under 500 lines of code using only standard tooling.

          The implementation depends on OpenSSH, Python, Docker and age. Highly trusted / audited / scrutinised / maintained code. This fits well with e2e messaging infra.

  • achempion4 hours ago
    I've prepared a quick demo on how to run relay locally and connect two demo users: https://github.com/achempion/tlx#demo
  • ddaniel104 hours ago
    Nice. what the use cases and groups of people you see that are going to use it?
    • achempion3 hours ago
      I'll share a quote from a readme

      > Communicate with people you trust, away from the eyes of modern surveillance and large corporations.

      I hope this answers your question.