-- Leo's gemini proxy

-- Connecting to gemini.thegonz.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

My life in textmode

Paying homage to the software which underpins my life.


All free software, all text or framebuffer.


I've included links only to the more obscure projects; for the rest, check your package manager.


Fundamentals

Linux console

Except when forced to X, I live on the linux framebuffer console.

My favoured console font is Solarize, a highly readable font with 512 glyphs including greek and cyrillic characters.

Solarize

Sometimes I use fbterm, with terminus and unifont, for full unicode and IME support.


screen

GNU screen is the backbone of my life in textmode. I never tried tmux, perhaps it is better as some say, but screen is too firmly entrenched in my brain and scripts to be extricated now. The ability to effortlessly switch between many running windows, the discreet notification of movement on a window, and the simple and uniform copy-and-paste mechanism are all things I use continuously and miss terribly when I'm forced to suffer a graphical window manager. I also not infrequently find myself using (/playing with) more advanced features like filters and the ability to :stuff characters as input to a named window.


bash


gentoo

I won't say it's never painful, but the flexibility of USE flags, custom patches, and the purity of knowing that I'm only using software which is practically as well as theoretically free software -- because I actually do build it from source -- makes up for this.


Editing

vim


Document preparation

latex

pandoc

imageMagick


Programming

gcc

ghc


Scripting

shell

bash, sed, ed, grep, tr, sort, look

python


Communications

mutt

talk

talkat

talkat

irssi

toxic

profanity


Audio

mplayer

What more do you need? I have scripts and screen keybindings to play stuff from my harddrive and various internet radio streams.


Bittorrent

transmission

tremc

tremc, successor to transmission-remote-cli

Curses client for monitoring and controlling transmission (when trrem isn't enough).


Browsers

Web: elinks

A compromise between simplicity and functionality. Even when js and css and images are ignored, html is a complex beast, and this is the only text-browser I know of with the features you need to tackle it. Numbered inline links, tabs, modal form editing, toggleable table rendering, extensive configurability. It's quick and doesn't get in the way. It is rather complicated though -- orders of magnitude less so than firefox but way more than any gemini client. Relatedly, it has some long-standing rendering bugs and hasn't been seriously developed since 2012. I keep thinking I should do some work on it myself, but never get round to it. Anyway, I certainly recommend it over any other web browser.


Gemini: diohsc

diohsc

Bit immodest of me, but... I wrote this to be what I want a gemini client to be, and it is. So of course this is what I use, and in fact it's the only client I've seriously used. I really enjoy my time in it, and regularly find myself taking advantage of even some of the more obscure features. I'd love to be able to use it for the web, and with duckling proxy that's somewhat possible, but sadly so many pages are filled with so much crap that they really need a scrollable layout as in elinks.

Duckling http->gemini proxy


Text: flinks

flinks

More immodesty... but this one isn't actually something I'm proud of, it's a hack perpetrated when I was but a child. Still I find it very useful -- not so much for its original purpose of flashing words, but as a wrapper around espeak to add navigation and variable speed. I use it mostly to read fiction with tired eyes.


RSS/Atom: newsboat


Scheduling

when

Perfect minimalistic tool -- edit a plain text file with dates and free text description, have cron mail you when the dates are coming up.


Other

dict

clanki

clanki

Simple line-based spaced repetition memoriser implementing the SuperMemo2 algorithm. A stripped-down version of anki, in other words. Not perfect, but easily hackable to make it more perfect.


Graphics

Sometimes text isn't enough. But that's what the framebuffer is for.

If you've never played with the framebuffer by the way, I recommend it. You literally get a read-write array of the pixels currently on the screen. Just like you'd naively imagine graphics programming to be, and just as it generally isn't.

Images: fim

A decent framebuffer image viewer, with zoom and pan.

pdf/djvu: fbpdf/fbdjvu

fbpdf

Pretty nice and hackable framebuffer pdf viewer using the mupdf and djvulibre renderers. Lack of text search is annoying sometimes, though.

Video: mplayer / mpv

mplayer -vo fbdev2


Amusements

glkterm; nitfol, git

glk

nitfol

git (no relation)

Interactive fiction clients for Z-machine and glulx, using the glkterm curses implementation of the glk IO abstraction. Distressing lack of unicode support, but otherwise perfect.


crawl

You shouldn't play crawl. I know this, but sometimes I forget and lose a day.


Missing

Sometimes I have to go to X, and shouldn't have to.

framebuffer pdf reader with text search

Maybe it would be straightforward to add this to fbpdf. I'll have to look into it one day. For now, I have to switch to mupdf when I need to search (if eyegrepping doesn't cut it), which is silly.

curses FICS chess client

This should be easy, but I haven't found a way to get my chess fix without eboard. The telnet interface to fics (freechess.org) is almost fine, but it needs a live clock and visual last-move indication. Another item on my long-term TODO list...

console jitsi client

Now I'm just dreaming.

-- Response ended

-- Page fetched on Sat May 4 08:36:37 2024