Software

Some of my software can be viewed on Plan 9 by issuing `9fs ftrv.se; ls /n/ftrv.se`. Most of it compiles and runs under 9front. None of it uses APE. All of it (and more) is also available on SourceHut[1]. Note that I don't use `drawterm` with 9front running in a VM. If something runs slow, most likely I won't fix it. Native installations ftw.

[1] SourceHut

For further development of free software you can support me with "one beer a year" over Liberapay[2], or something. I thank everyone who did so far, appreciate it.

[2] Liberapay

9pro[3]. Plan9-related tools for Unix-like operating systems.

[3] 9pro

audio/aacdec[4]. `audio/aacdec` for Plan 9.

[4] audio/aacdec

audio/aacenc[5]. `audio/aacenc` for Plan 9.

[5] audio/aacenc

audio/moddec[6]. Music mods decoder for Plan 9. Supports seeking and prints out title & duration. Plays IT, XM, MOD, STM, S3M, 669, AMF, AMF, DSM, MTM, OKT, PSM, PTM, RIFF AM/AMFF.

[6] audio/moddec

bar[7]. A small bar with battery charge, date and time, for Plan 9.

[7] bar

c9[8]. Low level 9p client and server.

[8] c9

cflood[9]. A "Color Flood" game clone for Plan 9.

[9] cflood

ext4srv[10]. Ext2/3/4 file system for Plan 9. WIP

[10] ext4srv

FastTracker II clone[11]. Native FastTracker II clone port for Plan 9.

[11] FastTracker II clone

femtolisp[12]. Femtolisp for Plan 9.

[12] femtolisp

flite[13]. Text to speech for Plan 9. Port of flite[14].

[13] flite

[14] flite

fontsel[15]. Font selector for Plan 9.

[15] fontsel

gemnine[16]. Gemini browser for Plan 9.

[16] gemnine

hj264[17]. H.264 encoder for Plan 9.

[17] hj264

hx[18]. A faster version of `hexdump -C` that I constantly use. It prints hex data as soon as it's available, so it's useful to debug slow streams.

[18] hx

jacksense[19]. Automatically switch between speakers/headphones depending on whether headphones are connected. 9front, Intel HDA.

[19] jacksense

libtags[20]. A cross-platform library for reading tags, designed for highly constrained environments. Comes with 9front as of 2021/04/13

[20] libtags

neindaw[21]. Some kind of DAW for 9front? An ongoing effort.

[21] neindaw

npe[22]. Native Porting Environment for Plan 9.

[22] npe

ORCΛ[23]. Plan 9 port of ORCΛ[24], an esoteric programming language designed to quickly create procedural sequencers, in which every letter of the alphabet is an operation, where lowercase letters operate on bang, uppercase letters operate each frame.

[23] ORCΛ

[24] ORCΛ

picker[25]. A color picker with a palette, HSLuv/HPLuv/RGB color spaces and alpha channel support. Plan 9.

[25] picker

pitch[26]. Voice pitch analyzer for Plan 9. Mainly for transgender people to practice voice training.

[26] pitch

riow[27]. Virtual desktops and basic keyboard shortcuts for rio window management in a small rc script that can be adapted to ones needs further.

[27] riow

rtmp[28]. RTMP client for Plan 9. Can stream to Twitch, both video and audio.

[28] rtmp

treason[29]. A video player for Plan 9. Plays H.264, VP8/VP9 and AV1.

[29] treason

zuke[30]. A music player for Plan 9. Comes with 9front as of 2021/04/13.

[30] zuke

Less(?) exciting(?) stuff

atlas[31]. Creates an atlas texture out of smaller images, dumps it to stdout as a Plan 9 image and write the mapping between filenames of images and their positions and dimensions to a file.

[31] atlas

bench9[32]. Benchmarks for Plan 9.

[32] bench9

dav1d[33]. Port of AV1 decoder library to Plan 9.

[33] dav1d

evdump[34]. Like `xev`, but for `rio`. Helps with finding the right `/dev/kbmap` entries to map them in 9front.

[34] evdump

h264bsd[35]. H.264 baseline decoder library ported to Plan 9.

[35] h264bsd

hyphen[36]. A library for automatic hyphenation of words, for Plan 9. WIP.

[36] hyphen

idris2[37]. A port of Idris 2 to Plan 9. Builds are available at `/n/ftrv.se/idris2`.

[37] idris2

imgtools[38]. Random image-related tools for Plan 9.

[38] imgtools

jbig2[39]. JBIG2 decoder for Plan 9.

[39] jbig2

jp2[40]. JPEG2000 decoder for Plan 9.

[40] jp2

libpt[41]. A library for pretty text printing on Plan 9. WIP.

[41] libpt

libvpx[42]. libvpx (vp8/vp9 decoder/encoder) ported to Plan 9.

[42] libvpx

mcfs[43]. A tool for working with (proprietary) video container formats.

[43] mcfs

microui[44]. A tiny, portable, immediate-mode UI library written in ANSI C. This is a fork of microui[45] targetting Plan 9 specifically.

[44] microui

[45] microui

minivmac[46]. A 9front port of minivmac, an emulator of classical Mac computers.

[46] minivmac

mkfaces[47]. Some kind of Gravatar `face(6)` fetcher for Plan 9?

[47] mkfaces

nvi[48]. PeerTube/Youtube video downloader for Plan 9.

[48] nvi

pdffs[49]. PDF as a filesystem. WIP.

[49] pdffs

rasm[50]. rasm z80 assembler, Plan 9 port.

[50] rasm

tocursor[51]. Converts a Plan 9 image to Cursor C structure.

[51] tocursor

unflac[52]. A command line tool for fast frame accurate audio image + cue sheet splitting.

[52] unflac

viewbits[53]. Shows any file as a greyscale image, where each pixel corresponds to a byte of the file, with intensity depending on the value of the byte.

[53] viewbits

xmpp[54]. XMPP client for Plan 9.

[54] xmpp