figbert.com-gemini

[ACTIVE] the capsule and home of figbert in geminispace
git clone git://git.figbert.com/figbert.com-gemini.git
Log | Files | Refs | README

commit 13fddc66974298ef185633144612b12bb94480ad
parent ba001c6ac6358e008409068aedf832228d00940f
Author: FIGBERT <figbert@figbert.com>
Date:   Fri,  2 Jul 2021 19:12:50 -0700

Add project summary for my work on SimplyTranslate

Diffstat:
Mcontent/projects/index.gmi | 1+
Acontent/projects/simply-translate.gmi | 32++++++++++++++++++++++++++++++++
2 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/content/projects/index.gmi b/content/projects/index.gmi @@ -24,3 +24,4 @@ I make things! Here are some of them! They're open source! => txtodo.gmi txtodo: a minimalist todo list app => tofu.gmi Tofu: an easy-to-use 2FA app for iOS +=> simply-translate.gmi SimplyTranslate: a private front end for Google Translate diff --git a/content/projects/simply-translate.gmi b/content/projects/simply-translate.gmi @@ -0,0 +1,32 @@ +# SimplyTranslate + +SimplyTranslate is a collection of "translation scrapers with interfaces for gemini and the web," made by metalune. +=> gemini://metalune.xyz Check out metalune on their Gemini capsule! + +In other words, SimplyTranslate is a privacy-respecting front end for Google Translate, similar to Twitter's Nitter. Over the course of a couple days – and one synchronous hacking session – I containerized the program to make it easier to deploy on servers worldwide. + +When I first found the program, I immediately wanted to add it to my collection of self-hosted front ends. I had only one problem: I run my services with Docker, and SimplyTranslate had no Dockerfile. I tried slapping something together quickly, but curling from the container only threw an error: + +```sh +curl: (52) Empty reply from server +``` + +I hopped onto the #simple-web IRC channel on Libera.Chat and started chatting with the devs. A couple days of back-and-forth later, we sat down to debug together. After scouring the internet, we determined that the application was binding to the wrong interface: 127.0.0.1, which is only accessible from the local machine, instead of 0.0.0.0, which is public. + +I cooked up a pair of working Dockerfiles – the first running the app directly and the second through uvicorn: +=> https://www.uvicorn.org a fast ASGI server for Python. + +Metalune made a repo for the Dockerfiles, and I sent in a patch via email. It was committed within the hour. + +=> https://git.sr.ht/~metalune/simplytranslate_docker/ Check out the repo, +=> https://lists.sr.ht/~metalune/simplytranslate-devel/patches/23516 the patch I sent, +=> https://git.sr.ht/~metalune/simplytranslate_docker/commit/4fc34e3503def3a8436dab4f84a1731070a715ba and the commit itself. + +This contribution was particularly interesting! We collaborated over IRC and across timezones, and I ended up returning to git's roots by submitting the patch via git send-email. Compared to the GitHub workflow, this feels very natural! + +You can use SimplyTranslate over on metalune's hosted instance, either +=> https://translate.metalune.xyz/ on the web +=> gemini://translate.metalune.xyz/ or on Gemini. + +Also feel free to browse the source code +=> https://sr.ht/~metalune/SimplyTranslate/sources over on SourceHut.