Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/henesy/awesome-inferno

A curated list of awesome Inferno documents, libraries, and software
https://github.com/henesy/awesome-inferno

List: awesome-inferno

Last synced: 16 days ago
JSON representation

A curated list of awesome Inferno documents, libraries, and software

Awesome Lists containing this project

README

        

# Awesome Inferno

_A curated list of awesome Inferno resources, libraries, and software._

_Note_: Curated is a strong word since there is so little public content related to Inferno/Limbo, so this is basically everything out there found so far. All content is awesome in this regard.

The official repository for the current Inferno source tree is:

The official website of the Inferno operating system is:

The official mailing list for Inferno is on Google Groups:

The IRC channel on Freenode for Inferno is: `#inferno`

__Legal:__

Inferno® is a registered trademark of Vita Nuova Holdings Limited in the USA and other countries, and in the European Union.

Inferno OS™ is a trademark of Vita Nuova Holdings Limited in the USA and other countries, and in the European Union.

Limbo® is a registered trademark of Vita Nuova Holdings Limited in the USA and other countries, and in the European Union.

Dis® is a registered trademark of Vita Nuova Holdings Limited in the United Kingdom, the USA and other countries.

__Inferno License Information:__

### Contributing

Please do.

PR's welcome for all edits or new projects.

### Contents

- [Awesome Inferno](#awesome-inferno)
- [Resources](#resources)
- [Libraries](#libraries)
- [Applications](#applications)
- [Non-Inferno Software](#non-inferno-software)
- [Ports](#ports)
- [Forks](#forks)
- [Dis Implementations](#dis-implementations)
- [Inspired by Inferno](#inspired-by-inferno)
- [Books](#books)

## Resources

*Useful documents, blogs, etc. that relate to Inferno and the Limbo programming language.*

* [Limbo by Example](https://github.com/henesy/limbobyexample)
* [debu.gs blog](http://debu.gs/tags/inferno)
* [Inferno, Part 1: Shell](http://debu.gs/entries/inferno-part-1-shell)
* [Inferno, Part 3: Let's Make a Filesystem!](http://debu.gs/entries/inferno-part-3-let-s-make-a-filesystem)
* [powerman Inferno articles (ru)](https://powerman.name/doc/Inferno/)
* [powerman Inferno articles (en)](https://powerman.name/doc/Inferno/index_en.html)
* [powerman programming blog (ru)](https://powerman.name/Inferno/Limbo.html)
* [bluishcoder blog](https://bluishcoder.co.nz/tags/inferno/index.html)
* [Authentication and Encryption in Inferno](https://bluishcoder.co.nz/2012/12/18/authentication-and-encryption-in-inferno-os.html)
* [Bundling (packaging) Inferno Applications](https://bluishcoder.co.nz/2016/08/12/bundling-inferno-applications.html)
* [lynxline blog](http://lynxline.com/category/inferno/)
* [infernohacks blog](http://infernohacks.blogspot.com/)
* [inferno-hell blog (jp)](https://inferno-hell.blogspot.com/search/label/inferno)
* [snegovick blog](https://snegovick.me/) - Porting Inferno series
* [hatena diary (jp)](https://inferno.hatenadiary.org/)
* [xj9's notes on Inferno](https://sunshinegardens.org/~xj9/wiki/inferno/)
* Mrynet Inferno documents (old):
* [Try Inferno in a web browser](http://tryinferno.rekka.io/)
* [Getting Started with Inferno](https://www.ueber.net/who/mjl/inferno/getting-started.html)
* [Inferno Lab (source)](https://github.com/caerwynj/inferno-lab) - Inferno Lab - experiments in Inferno OS and Limbo
* [Inferno Lab](http://ipn.caerwyn.com/)
* [Porting Inferno to Raspberry Pi](https://github.com/yshurik/inferno-rpi)
* [Configuring an Inferno Native Build](https://bitbucket.org/dboddie/inferno-os/wiki/Configuring%20a%20Native%20Build)
* [Cat-v Inferno documentation](doc.cat-v.org/inferno/)
* [Cat-v Inferno manuals](http://man.cat-v.org/inferno/)
* [Cat-v Octopus manuals](http://man.cat-v.org/octopus/)
* [Postnix Purgatorio manuals](http://man.postnix.pw/purgatorio/)
* [Powerman Inferno manuals](https://powerman.name/Inferno/man/)
* [How to Build a Native Inferno Kernel for the PC](https://umdrive.memphis.edu/blstuart/htdocs/inf_native.html)
* [Installing Native Inferno on a PC](https://umdrive.memphis.edu/blstuart/htdocs/inf_nat_inst.html)
* [Building Inferno with MSVC 2008](https://umdrive.memphis.edu/blstuart/htdocs/msvc8.html)
* [Postnix Inferno image mirror](http://9.postnix.pw/inferno/images/)
* [Limbo on Rosetta Code](http://rosettacode.org/wiki/Category:Limbo)
* [Inferno Tutorial](https://web.archive.org/web/20120227200625/http://www.resc.rdg.ac.uk/twiki/bin/view/Resc/InfernoTutorial)
* [Inferno Programming with Limbo (ipwl)](https://web.archive.org/web/20160304092801/http://www.gemusehaken.org/ipwl/)
* [Inferno notes (jp)](http://www.asahi-net.or.jp/~fa8h-kym/inferno/notes1.xml)
* [Building Inferno Disk Images](http://www.boddie.org.uk/david/www-repo/Personal/Updates/2016/2016-10-16.html)
* [Inferno in VirtualBox on Windows XP (jp)](http://mwlab.net/2010/06/virtualbox-in-inferno.html)
* [Inferno in QEMU on Windows XP (jp)](http://mwlab.net/2010/07/inferno-in-qemu-on-windowsxp.html)
* [Native Inferno (jp)](https://oraccha.hatenadiary.org/entry/20090617/1245170150)
* [Inferno Wiki (old)](https://web.archive.org/web/20060918091510/http://canto.hopto.org:80/wiki/1/index.html)
* [Developing modules for Limbo in C](https://powerman.name/doc/Inferno/c_module_en)
* [Inferno FAQ for the 4th Edition](http://goliat.eik.bme.hu/~fgergo/faq.html)
* [Установка OS Inferno New Edition (ru)](https://habr.com/en/post/145922/)
* [Каталог статей по OS Inferno (ru)](https://habr.com/en/post/145993/)
* [Inferno user's page (jp)](https://web.archive.org/web/20061212130116/http://intrance.hp.infoseek.co.jp/infernopage.old/top.html)
* [Building Distributed Applications with Inferno and Limbo](http://doc.cat-v.org/inferno/talks/pip-irp.pdf)
* [Pervasive Computing withInferno and Limbo](http://doc.cat-v.org/inferno/talks/uci-invited-lecture.pdf)
* [The PathStar™ Access Server: Facilitating Carrier-Scale Packet Telephony](http://doc.cat-v.org/inferno/pathstar/pathstar.pdf)

## Papers

*Various papers or paper-equivalent documents related to Inferno and Limbo.*

* [Cat-v papers index](http://doc.cat-v.org/inferno/4th_edition/)
* [Vita Nuova papers index](http://www.vitanuova.com/inferno/papers)
* [The Limbo Programming Language](http://www.vitanuova.com/inferno/papers/limbo.pdf)
* [The Limbo Programming Language Addendum](http://www.vitanuova.com/inferno/papers/addendum.pdf)
* [Limbo Basics](http://www.vitanuova.com/inferno/papers/limbobasics.html)
* [Limbo Programming](http://www.vitanuova.com/inferno/papers/limbomore.html)
* [Two Enhancements for Native Inferno](https://www.cs.drexel.edu/~bls96/infenhance.pdf)
* [Inferno in Embedded Space: Porting to the Sun SPOT](https://www.cs.drexel.edu/~bls96/spotinferno.pdf)
* [Installing the Inferno Software (natively)](http://www.vitanuova.com/inferno/papers/install.pdf)
* [Dis VM Specification](http://www.vitanuova.com/inferno/papers/dis.pdf)
* [A Descent into Limbo](http://www.vitanuova.com/inferno/papers/descent.pdf)
* [The Inferno Shell (sh)](http://www.vitanuova.com/inferno/papers/sh.pdf)
* [The Inferno Operating System](http://www.vitanuova.com/inferno/papers/bltj.pdf)
* [Program Development under Inferno](http://www.vitanuova.com/inferno/papers/dev.pdf)
* [The design of the Inferno virtual machine](http://www.vitanuova.com/inferno/papers/hotchips.pdf)
* [Styx on a Brick](http://www.vitanuova.com/inferno/papers/lego.pdf) - Inferno running on a Lego Mindstorms robot
* [Limbo Profilers in Inferno](http://www.vitanuova.com/inferno/papers/lprof.pdf)
* [Real Inferno](http://www.vitanuova.com/inferno/papers/real.pdf) - Floating point implementation in Inferno
* [Inferno Flash File System](http://www.vitanuova.com/inferno/papers/nandfs.pdf)
* [The Styx Architecture for Distributed Systems](http://www.vitanuova.com/inferno/papers/styx.pdf)
* [Using Inferno™ to Execute Java™ on Small Devices](http://doc.cat-v.org/inferno/java_on_dis/java_on_dis.pdf)
* [The design of the Inferno virtual machine](http://doc.cat-v.org/inferno/4th_edition/dis_VM_design)
* [Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization](http://doc.cat-v.org/inferno/concurrent_gc/)
* [Reliable Benchmarking with Limbo on Inferno](http://doc.cat-v.org/inferno/4th_edition/benchmarking)
* [Navigating Large XML Documents on Small Devices](http://doc.cat-v.org/inferno/4th_edition/navigating_xml)
* [Native (Inferno) Kernel Debugging with Acid](http://doc.cat-v.org/inferno/4th_edition/kernel_debugging/)
* [An Overview of Limbo/Tk](http://doc.cat-v.org/inferno/4th_edition/limbotk/)

## Libraries

*Libraries, also known as modules, usable under Inferno. These may be in C or Limbo.*

* [zipfs(4)](https://github.com/mjl-/zipfs) - Library for managing .zip files
* [http](https://github.com/mjl-/http/) - A http library and examples
* [sha2](https://github.com/mjl-/sha2) - SHA-2 library and example tools
* [textmangle](https://github.com/mjl-/textmangle) - Parses readable utf-8 ascii text and distills block-level layout information from it
* [pdfread](https://github.com/mjl-/pdfread) - A library & tools for reading pdf files
* [util](https://github.com/mjl-/util) - A library with various commonly used functions by mjl
* [filtertool](https://github.com/mjl-/filtertool) - Wrapper for the Limbo filter module
* [growing](https://github.com/powerman/inferno-contrib-growing) - Dynamically growing arrays
* [powerman's hashtable](https://github.com/powerman/inferno-contrib-hashtable) - Limbo hash module substitute
* [iobuf](https://github.com/powerman/inferno-contrib-iobuf) - Simpler alternative to bufio(2)
* [logger](https://github.com/powerman/inferno-contrib-logger) - Configurable logging
* [regmonitor](https://github.com/powerman/inferno-contrib-regmonitor) - Monitor for added/changed/removed registry(4) services
* [cjson](https://github.com/powerman/inferno-cjson) - JSON tokenizer for (de)serializing ADT's
* [tap](https://github.com/powerman/inferno-contrib-tap) - Test Anything Protocol (TAP) producer
* [re2](https://github.com/powerman/inferno-re2) - Provides access to regular expression library re2 (hosted-only)
* [avl](https://github.com/tonycool7/AVL-tree-Limbo) - AVL tree implementation with text file parsing

## Applications

*Programs or program resources which can be used under Inferno. These are most likely written in Limbo.*

* [simplefs](https://github.com/henesy/simplefs-limbo) - Simple styx filesystem to serve as a learning example
* [tttfs](https://github.com/henesy/tictactoefs-limbo) - Simple styx filesystem implementing Tic-Tac-Toe as an example
* [hexe](https://github.com/henesy/hexe-limbo) - Port of hexe hexdump utility by LunarLambda
* [Terzarima Inferno Software](http://www.terzarima.net/inferno/soft/index.html) - Miscellaneous software from Terzarima
* [emuq](https://www.ueber.net/emuq/) - Emu bundled with a small built-in root file system
* [j2d](https://code.google.com/archive/p/inferno-j2d/) - Java to Dis conversion (very old)
* [register](https://github.com/powerman/inferno-contrib-register) - Keep service registered in registry(4)
* [opt skel](https://github.com/powerman/inferno-opt-skel) - Skeleton template for /opt projects
* [opt mkfiles](https://github.com/powerman/inferno-opt-mkfiles) - Mkfiles for /opt projects
* [opt/setup](https://github.com/powerman/inferno-opt-setup) - Scripts to setup /opt projects
* [watchdog](https://github.com/powerman/inferno-contrib-watchdog) - Detects and acts on crash of command/pid
* [retrymount](https://github.com/powerman/inferno-contrib-retrymount) - Mounter which tries to reconnect dc'd mounts
* [dboddie's misc programs](https://gitlab.com/dboddie/limbo-programs) - A collection of Limbo programs by dboddie
* [qwm](https://github.com/mjl-/qwm/) - Alternative window manager to wm/wm with arrangement similar to acme/dwm
* [novt](https://github.com/mjl-/novt/) - A basic ecma-48 terminal emulator with color
* [wmrun](https://github.com/mjl-/wmrun) - Extended alternative to wm/sh
* [ircfs](https://github.com/mjl-/ircfs) - IRC client expressing itself as a 9p file system (includes wm/irc gui client)
* [find](https://github.com/mjl-/find/) - Traverse directory trees; print paths and sys-stat(2) information about a file
* [vacinit](https://github.com/mjl-/vacinit) - Replacement for emuinit for Vac disk file systems (see: vacsrv)
* [vacsrv](https://github.com/mjl-/vacsrv/) - Vac file system
* [ventisrv](https://github.com/mjl-/ventisrv/) - Venti file server daemon
* [q](https://github.com/mjl-/q) - Provides static-linking-like functionality for Limbo
* [wm/vncv](https://github.com/mjl-/vnc) - VNC viewer using the RFB protocol
* [vixen](https://github.com/mjl-/vixen) - Vi-like editor
* [hgfs](https://github.com/mjl-/hgfs) - Serves the contents of a mercurial repository over styx
* [fdmux](https://github.com/mjl-/fdmux) - Multiplexes a file descriptor, e.g. a tcp connection
* [nfssrv](https://github.com/mjl-/nfssrv) - Contains nfssrv and nfsfs, an nfs server and client
* [web](https://github.com/mjl-/web) - A collection of code for dealing with "the web"
* [httptun](https://github.com/mjl-/httptun) - Tunnel a tcp connection through http
* [nopoint](https://github.com/mjl-/nopoint) - A tool for displaying slideshows, inspired by magicpoint
* [playfs](https://github.com/mjl-/playfs) - Maintain play list and play audio files
* [scgid](https://github.com/mjl-/scgid) - SCGI daemon for tcp connections
* [ip/dhcpd](https://github.com/mjl-/dhcpd) - A dhcpd (it also speaks bootp)
* [ext2fs](https://github.com/mjl-/ext2fs) - Gives read-only access to the contents of ext2 file systems
* [ffs](https://github.com/mjl-/ffs) - A read-only implementation of the BSD ffs as used on OpenBSD
* [ip/ftpsrv](https://github.com/mjl-/ftpsrv) - A simple, anonymous, ftp server
* [mjl's games](https://github.com/mjl-/games) - Two graphical games by mjl
* [webdavfs](https://github.com/mjl-/webdavfs) - A 9p file server that accesses files over http/webdav
* [hgweb](https://github.com/mjl-/hgweb) - Implements a web frontend to hgfs, the mercurial file system
* [(un)expand](https://github.com/mjl-/expand) - Tab to space and space to tab conversion
* [ttffs](https://github.com/mjl-/ttffs) - A 9P server, serving ttf files in any size as inferno/plan 9 (sub)fonts
* [fontsrv](https://github.com/mjl-/fontsrv) - A translation service for fonts. given a font query
* [zipfs](https://github.com/mjl-/zipfs) - Programs for managing .zip files
* [attrfs](https://github.com/mjl-/attrfs) - Reads an attrdb(6) database into memory and provides a file system interface to finding matches
* [cryptfile](https://github.com/mjl-/cryptfile) - An encrypted block file served over styx
* [authsrv9](https://github.com/mjl-/authsrv9) - Provides a plan 9 authentication service (auth/authsrv)
* [lsynergy](https://github.com/mjl-/lsynergy) - A synergy client
* [snmp](https://github.com/mjl-/snmp) - Contains an snmp v1-2 client library and tools using these libraries
* [styxtest](https://github.com/mjl-/styxtest) - Programs to help test styx/9p servers for correct behaviour
* [lyricd](https://github.com/mjl-/lyricd) - Contains a lyric serving daemon, a client and a scgi program to serve as web frontend
* [shhtpd](https://github.com/mjl-/httpd) - Shttpd is a simple httpd
* [torrent](https://github.com/mjl-/torrent) - This package contains a bittorrent peer
* [ssh](https://github.com/mjl-/ssh) - This package contains an ssh client, sftpfs, and the library that the client uses
* [Acme SAC](https://github.com/caerwynj/acme-sac) - The ACME editor for Windows/Mac/Linux
* [MR](https://github.com/yaokai1117/MRonInferno) - MapReduce framework including dfs and mapreduce
* [ClusterComputing](https://github.com/liuxt/inferno) - Cluster and parallel computing framework based on Inferno

## Non-Inferno Software

*Software for interfacing with, or relating to, Inferno and Limbo, but not intended for use under Inferno.*

* [Python Dis Virtual Machine Tools](https://gitlab.com/dboddie/dis-virtual-machine-tools-for-python)
* [Python Limbo Executable Packager](https://gitlab.com/dboddie/limbo-packager)
* [Python Limbo to Qt Bridge](https://gitlab.com/dboddie/limbo-qt-bridge)
* [Perl Inferno Registry Manager](https://github.com/powerman/perl-Inferno-RegMgr)
* [AsciiDoc Inferno man page backend](https://github.com/powerman/asciidoc-9man-backend)
* [Limbo syntax highlighting for Limbo](https://github.com/vim-scripts/Limbo-syntax)
* [9mine](https://github.com/9mine/9mine) - Run Minetest with Inferno

## Ports

*Ports of the Inferno operating system.*

* [Hellaphone (Android)](https://github.com/Plan9-Archive/hellaphone) - [Wiki](https://github.com/Plan9-Archive/hellaphone-wiki)
* [Android App](https://github.com/bhgv/Inferno-OS_Android)
* [Raspberry Pi](https://github.com/yshurik/inferno-rpi)
* [Nintendo DS](https://github.com/Plan9-Archive/inferno-ds)
* [Marvell Kirkwood](https://github.com/Plan9-Archive/inferno-kirkwood)
* [Internet Explorer Plugin](http://www.vitanuova.com/inferno/pidoc/)
* [Acorn A7000+](https://gitlab.com/dboddie/inferno-os/-/wikis/Acorn%20A7000+)

## Forks

*Forks of the Inferno operating system.*

* [Octopus](http://lsub.org/ls/octopus.html) - A system designed to provide ubiquitous access to computing resources
* [Purgatorio](https://code.9front.org/hg/purgatorio)
* [dboddie's fork](https://bitbucket.org/dboddie/inferno-os)
* [xj9's tomo](https://git.sunshinegardens.org/~xj9/tomo)
* [metacoma's fork for Minetest/9mine](https://github.com/9mine/inferno-os/commits/master)

## Dis Implementations

*Dis virtual machine implementations outside of Inferno proper.*

* [DisVM](https://bitbucket.org/linuxuser27/disvm) - An implementation of the DisVM outside of the Inferno OS

## Inspired by Inferno

*Projects inspired by the Inferno operating system.*

* [Node9](https://github.com/jvburnes/node9) - A portable hybrid distributed OS based on Inferno, LuaJIT and Libuv
* [Wonderland](https://github.com/kabbi/wonderland) - DHT-based distributed virtual filesystem based on Inferno

## Books

*Books related to the Inferno operating system and Limbo programming language.*

*Note*: ISBN's are separated by double dashes: `--`

* Inferno Programming with Limbo -- 780470843529 -- 978-0470843529
* Principles of Operating Systems: Design & Applications -- 1-4188-3769-5
* The Inferno Programming Book : An Introduction To Programming For The Inferno Distributed Systems (unpublished) -- 0470849711 -- 9780470849712
* Inferno Programmer's Manual Collated (1 & 2) -- 0953870103 -- 978-0953870103