Awesome
Awesome Cosmopolitan
<img align="left" src="images/cool-honeybadger-smaller.png">This is a list of Cosmopolitan projects and resources. If you notice anything missing, please open a pull request or simply make a suggestion.
Table of contents
Cosmopolitan
<img align="left" src="images/honeybadger_smaller.png"> Cosmopolitan Libc makes C a build-once run-anywhere language, like Java, except it doesn't need an interpreter or virtual machine. Instead, it reconfigures stock GCC and Clang to output a POSIX-approved polyglot format that runs natively on Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS with the best possible performance and the tiniest footprint imaginable.
- Cosmopolitan - Build-once-run-anywhere for C
- API Docs - Thorough documentation for Cosmopolitan Libc
- HN discussions - Algolia list of Cosmopolitan submissions
Programs
- actually portable awk - The One True [Portable] Awk
- apelife.com - tui for conway's game of life with xterm mouse integration
- blinkenlights - Command line debugger that focuses on visualizing how software changes memory
- bob - A peer-to-peer file-transfer tool in OCaml with Cosmopolitan
- braille dump - drop in replacement for hexdump -C that uses unicode braille characters to display hex code
- memzoom.com - view/monitor the raw memory of processes/files in your UTF-8 terminal
- nesemu1.com - nes emulator in a terminal
- printimage.com - png/jpg/gif in terminals
- printvideo.com - mpeg in terminals
Projects
- cosmo-include - Set of very empty header files that can be used when building apps with Cosmopolitan
- cosmosocks - Socks server written in Cosmopolitan libc
- microwindows - The Nano-X Window System (demo)
Tilting at Windmills
Here are our most ambitious community projects, which would require perishing the greatest demons, but if it could be done, would yield some great rewards.
- cosmogfx - Build-once run-anywhere OpenGL application
Ports
Note: Some ports are experimental. The most battle-tested code is in the Cosmopolitan repo. Ports are often a stepping stone for what we put in the monorepo.
- blis - Port of BLIS
- cosmonim - Simple example to show how cosmopolitan libc can be used with Nim
- cpython311 - Port of python 3.11 (see also 3.9, 3.6, and 2.7)
- esperanto - build-once run-anywhere OCaml programs
- janet - Port of Janet
- lua - Port of Lua
- luajit - Port of Lua JIT
- make - Port of GNU Make
- nim - Turns Nim into a build once run anywhere language
- perl - Port of Perl
- php73 - Port of PHP 7.3
- php81 - Port of PHP 8.1
- ripgrep - Port of ripgrep
- rust ape example - Rust APE Example
- scalajs ape example - Scala.js APE Example
- sqlite - Port of SQLite
- tcl - Port of TCL
- wasm3 - APE of wasm3
Blog Posts
- Perl is Actually Portable - Nov 14th, 2022
- Getting Started with Cosmopolitan Libc - Sep 4th, 2022
- αcτµαlly pδrταblε εxεcµταblε - Aug 24th, 2020
- Using Landlock to Sandbox GNU Make - Aug 7th, 2022
- Porting OpenBSD pledge() to Linux - July 13th, 2022
- Ape Loader - June 11th, 2022
- Size Optimization Tricks - June 10th, 2022
- Logging C Functions - May 19th, 2022
Redbean
<img align="left" src="images/redbean.png"> redbean is an open source webserver in a zip executable that runs on six operating systems. The basic idea is if you want to build a web app that runs anywhere, then you download the redbean.com file, put your .html and .lua files inside it using the zip command, and then you've got a hermetic app you can deploy and share.
- API Docs
- redbean-template - Starting template to create your own redbean project
- HN discussions - Algolia list of redbean submissions
Projects
- action-static-redbean - GitHub action that creates a redbean
- redbean-calcpad - Alternative take on a calculator
- redbean-cardgames - Upcoming collection of cardgames playable in a browser
- redbean-docker - The smallest possible web server in Docker!
- redbean-jwt - JSON Web Token for redbean
- rig - redbean interactive grapher
- soakbean write serverlogic using beautiful reactive (nodejs) express-like middleware.
- tiddly-bean - Experiments with a redbean TiddlyWiki server
- turfwar - IPv4 address turf war!
Blog Posts
- Debugging with ZeroBrane Studio - Aug 10th, 2022
- Redbean on Fly - July 24th 2022, Recipe for deploying a dockerized redbean to fly
- Color Us Impressed: Redbean Runs A Web Server On Six Operating Systems - July 22nd, 2022
- Unbelievably clever: Redbean 2 – a single-file web server that runs on six OSes - June 20th, 2022
- redbean 2.0 - June 16th, 2022
Fullmoon
<img align="left" src="images/fullmoon.png"> Fullmoon is a fast and minimalistic web framework based on Redbean -- a portable, single-file distributable web server.
- Fullmoon - Fast and minimalistic web framework
- HN discussions - Algolia list of Fullmoon submissions