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: https://bitbucket.org/inferno-os/inferno-os/
The official website of the Inferno operating system is: http://www.vitanuova.com/inferno/index.html
The official mailing list for Inferno is on Google Groups: https://groups.google.com/forum/#!forum/inferno-os
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: http://www.vitanuova.com/inferno/licence.html
Please do.
PR's welcome for all edits or new projects.
Useful documents, blogs, etc. that relate to Inferno and the Limbo programming language.
- Limbo by Example
- debu.gs blog
- powerman Inferno articles (ru)
- powerman Inferno articles (en)
- powerman programming blog (ru)
- bluishcoder blog
- lynxline blog
- infernohacks blog
- inferno-hell blog (jp)
- snegovick blog - Porting Inferno series
- hatena diary (jp)
- xj9's notes on Inferno
- Mrynet Inferno documents (old): ftp://mrynet.com/os/inferno/
- Try Inferno in a web browser
- Getting Started with Inferno
- Inferno Lab (source) - Inferno Lab - experiments in Inferno OS and Limbo
- Inferno Lab
- Porting Inferno to Raspberry Pi
- Configuring an Inferno Native Build
- Cat-v Inferno documentation
- Cat-v Inferno manuals
- Cat-v Octopus manuals
- Postnix Purgatorio manuals
- Powerman Inferno manuals
- How to Build a Native Inferno Kernel for the PC
- Installing Native Inferno on a PC
- Building Inferno with MSVC 2008
- Postnix Inferno image mirror
- Limbo on Rosetta Code
- Inferno Tutorial
- Inferno Programming with Limbo (ipwl)
- Inferno notes (jp)
- Building Inferno Disk Images
- Inferno in VirtualBox on Windows XP (jp)
- Inferno in QEMU on Windows XP (jp)
- Native Inferno (jp)
- Inferno Wiki (old)
- Developing modules for Limbo in C
- Inferno FAQ for the 4th Edition
- Установка OS Inferno New Edition (ru)
- Каталог статей по OS Inferno (ru)
- Inferno user's page (jp)
- Building Distributed Applications with Inferno and Limbo
- Pervasive Computing withInferno and Limbo
- The PathStar™ Access Server: Facilitating Carrier-Scale Packet Telephony
Various papers or paper-equivalent documents related to Inferno and Limbo.
- Cat-v papers index
- Vita Nuova papers index
- The Limbo Programming Language
- The Limbo Programming Language Addendum
- Limbo Basics
- Limbo Programming
- Two Enhancements for Native Inferno
- Inferno in Embedded Space: Porting to the Sun SPOT
- Installing the Inferno Software (natively)
- Dis VM Specification
- A Descent into Limbo
- The Inferno Shell (sh)
- The Inferno Operating System
- Program Development under Inferno
- The design of the Inferno virtual machine
- Styx on a Brick - Inferno running on a Lego Mindstorms robot
- Limbo Profilers in Inferno
- Real Inferno - Floating point implementation in Inferno
- Inferno Flash File System
- The Styx Architecture for Distributed Systems
- Using Inferno™ to Execute Java™ on Small Devices
- The design of the Inferno virtual machine
- Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization
- Reliable Benchmarking with Limbo on Inferno
- Navigating Large XML Documents on Small Devices
- Native (Inferno) Kernel Debugging with Acid
- An Overview of Limbo/Tk
Libraries, also known as modules, usable under Inferno. These may be in C or Limbo.
- zipfs(4) - Library for managing .zip files
- http - A http library and examples
- sha2 - SHA-2 library and example tools
- textmangle - Parses readable utf-8 ascii text and distills block-level layout information from it
- pdfread - A library & tools for reading pdf files
- util - A library with various commonly used functions by mjl
- filtertool - Wrapper for the Limbo filter module
- growing - Dynamically growing arrays
- powerman's hashtable - Limbo hash module substitute
- iobuf - Simpler alternative to bufio(2)
- logger - Configurable logging
- regmonitor - Monitor for added/changed/removed registry(4) services
- cjson - JSON tokenizer for (de)serializing ADT's
- tap - Test Anything Protocol (TAP) producer
- re2 - Provides access to regular expression library re2 (hosted-only)
- avl - AVL tree implementation with text file parsing
Programs or program resources which can be used under Inferno. These are most likely written in Limbo.
- simplefs - Simple styx filesystem to serve as a learning example
- tttfs - Simple styx filesystem implementing Tic-Tac-Toe as an example
- hexe - Port of hexe hexdump utility by LunarLambda
- Terzarima Inferno Software - Miscellaneous software from Terzarima
- emuq - Emu bundled with a small built-in root file system
- j2d - Java to Dis conversion (very old)
- register - Keep service registered in registry(4)
- opt skel - Skeleton template for /opt projects
- opt mkfiles - Mkfiles for /opt projects
- opt/setup - Scripts to setup /opt projects
- watchdog - Detects and acts on crash of command/pid
- retrymount - Mounter which tries to reconnect dc'd mounts
- dboddie's misc programs - A collection of Limbo programs by dboddie
- qwm - Alternative window manager to wm/wm with arrangement similar to acme/dwm
- novt - A basic ecma-48 terminal emulator with color
- wmrun - Extended alternative to wm/sh
- ircfs - IRC client expressing itself as a 9p file system (includes wm/irc gui client)
- find - Traverse directory trees; print paths and sys-stat(2) information about a file
- vacinit - Replacement for emuinit for Vac disk file systems (see: vacsrv)
- vacsrv - Vac file system
- ventisrv - Venti file server daemon
- q - Provides static-linking-like functionality for Limbo
- wm/vncv - VNC viewer using the RFB protocol
- vixen - Vi-like editor
- hgfs - Serves the contents of a mercurial repository over styx
- fdmux - Multiplexes a file descriptor, e.g. a tcp connection
- nfssrv - Contains nfssrv and nfsfs, an nfs server and client
- web - A collection of code for dealing with "the web"
- httptun - Tunnel a tcp connection through http
- nopoint - A tool for displaying slideshows, inspired by magicpoint
- playfs - Maintain play list and play audio files
- scgid - SCGI daemon for tcp connections
- ip/dhcpd - A dhcpd (it also speaks bootp)
- ext2fs - Gives read-only access to the contents of ext2 file systems
- ffs - A read-only implementation of the BSD ffs as used on OpenBSD
- ip/ftpsrv - A simple, anonymous, ftp server
- mjl's games - Two graphical games by mjl
- webdavfs - A 9p file server that accesses files over http/webdav
- hgweb - Implements a web frontend to hgfs, the mercurial file system
- (un)expand - Tab to space and space to tab conversion
- ttffs - A 9P server, serving ttf files in any size as inferno/plan 9 (sub)fonts
- fontsrv - A translation service for fonts. given a font query
- zipfs - Programs for managing .zip files
- attrfs - Reads an attrdb(6) database into memory and provides a file system interface to finding matches
- cryptfile - An encrypted block file served over styx
- authsrv9 - Provides a plan 9 authentication service (auth/authsrv)
- lsynergy - A synergy client
- snmp - Contains an snmp v1-2 client library and tools using these libraries
- styxtest - Programs to help test styx/9p servers for correct behaviour
- lyricd - Contains a lyric serving daemon, a client and a scgi program to serve as web frontend
- shhtpd - Shttpd is a simple httpd
- torrent - This package contains a bittorrent peer
- ssh - This package contains an ssh client, sftpfs, and the library that the client uses
- Acme SAC - The ACME editor for Windows/Mac/Linux
- MR - MapReduce framework including dfs and mapreduce
- ClusterComputing - Cluster and parallel computing framework based on Inferno
Software for interfacing with, or relating to, Inferno and Limbo, but not intended for use under Inferno.
- Python Dis Virtual Machine Tools
- Python Limbo Executable Packager
- Python Limbo to Qt Bridge
- Perl Inferno Registry Manager
- AsciiDoc Inferno man page backend
- Limbo syntax highlighting for Limbo
- 9mine - Run Minetest with Inferno
Ports of the Inferno operating system.
- Hellaphone (Android) - Wiki
- Android App
- Raspberry Pi
- Nintendo DS
- Marvell Kirkwood
- Internet Explorer Plugin
- Acorn A7000+
Forks of the Inferno operating system.
- Octopus - A system designed to provide ubiquitous access to computing resources
- Purgatorio
- dboddie's fork
- xj9's tomo
- metacoma's fork for Minetest/9mine
Dis virtual machine implementations outside of Inferno proper.
- DisVM - An implementation of the DisVM outside of the Inferno OS
Projects inspired by the Inferno operating system.
- Node9 - A portable hybrid distributed OS based on Inferno, LuaJIT and Libuv
- Wonderland - DHT-based distributed virtual filesystem based on Inferno
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