Show newer

@dvd Haha, could've maybe found these problems before the release if I worked a bit slower. 😄

@dvd 👍

The font selection issue will be fixed in the next patch, I've already found what's causing it.

@TritTriton It's a bug... On macOS, the app can now keep running after all the windows are closed. The related changes apparently broke the state saving on other platforms.

Will fix.

@TritTriton Thanks for reporting.

With the second issue, are you closing the app by closing the window, or via the Quit menu item (or Ctrl+Q, ⌘Q)?

Welp, v1.13.1 is out, too:

When working on the TUI, I pulled the text renderer apart to separate the graphical stuff from the more abstract code. Hopefully this was the only remaining regression. 🤞

Show thread

@dvd Hmm, I can produce this if I try running with an empty runtime directory.

I'll fix it...

If you build the TUI version, let me know how it works in your favorite terminal.

However, first check the gemlog post for the list of planned improvements / known issues.

Show thread

v1.13: Curses TUI, Spartan, Emoji


Time for a new release: Curses TUI (source build only in this version), better keyboard UI navigation, support for Spartan, Emoji for Unicode 14, bookmark indicator, viewing pages as plain/styled text, reopening last closed tab. A few bug fixes, too.

Emoji news in Lagrange Font Library:


There's a new monochrome Noto Emoji font that covers all Emoji up to Unicode 14. 🎉 It will be bundled with Lagrange in the future.

Also, you can now find fontpacks for missing Emoji. The cmap index was missing a bunch of characters...

@olav All network connections in the app support the HTTP proxy setting, so it is possible to run one of those to play MP3s over HTTP.

I've been using Duckling Proxy myself:

Writing a basic HTTP proxy with Python isn't all that difficult, either, it's just a simple Gemini server that handles "http://" URLs instead of "gemini://" ones.

@wmd @madargon @Arco

That is correct.

A client must continue receiving the response until the server closes the connection, or the client cancels the connection prematurely.

This does enable streaming use cases, though.

server admin 

Had trouble upgrading the Mastodon instance to 3.5.1 (from 3.4.6). The PostgreSQL database must be manually migrated from version 9 to 14, and the provided steps were not working.

Turns out that something was breaking when piping the dumped SQL data to the new db image. The solution was to instead use the `-f` option with psql, reading the dumped SQL data from a file inside a mounted Docker volume.

Next job: Upgrade the server to a new Ubuntu LTS version at some point...

@madargon @Arco

In general, Gemini doesn't have file size limits. However, since transfers don't include a content-length parameter at the start, it's best to prefer "smaller" files, whatever that means (maybe hundreds of KBs).

Then there is the quirk of data URLs that can be used to embed images in a rather hacky fashion. Gemini URLs generally should be max 1024 bytes long, so that's a good rule of thumb for these.


TLS is mandatory with Gemini.

Perhaps you’d like to look into Gopher? Or Spartan for a more modern alternative.

Why you might want to use this:

- supports both Gemini and Titan
- written entirely in Python, with minimal dependencies (pyOpenSSL is required for more advanced SSL certificate handling)
- easy to use for serving simple static files
- flexible and extensible: CGI programs and full-fledged Python modules

Why you might want to NOT use this:

- can be heavy: uses Python and more memory than native code
- early development; no official release yet

Show thread

The GmCapsule / Titan server source repository is now public.

It has been running unattended for a couple of months, so the worst initial bugs seem to be gone. It is only at v0.1, though; I've got plenty of ideas for modules to add.

The requirements are a ~recent version of Python 3 and pyOpenSSL >= 21.

Repository (Python sources):

GmCapsule introduction:


English spelling is delightfully ambiguous sometimes.

• wind — moving air
• wind — move in or take a twisting or spiral course
• wound — injury to living tissue
• wound — past and past participle of wind

Interesting to read about the failed reform attempts:

Show older

skyjake's choices:

skyjake's personal Mastodon instance