# list of software # applications * [clang-format](http://clang.llvm.org/docs/ClangFormat.html) c source code formatter. can also format preprocessor macros * [cryptsetup](http://code.google.com/p/cryptsetup) setup disk encryption. dm-crypt, luks * [darktable](http://www.darktable.org/) photography workflow application and raw developer * [blender](https://www.blender.org/) 3d computer graphics editor * [dash](http://gondor.apana.org.au/~herbert/dash) posix-compliant implementation of /bin/sh that aims to be as small as possible * [dcron](https://github.com/dubiousjim/dcron) cron implementation * [diff](http://en.wikipedia.org/wiki/Diff) finds line differences between texts * [dmenu](http://tools.suckless.org/dmenu) dmenu is a dynamic menu for X. can be used for example to choose a command to be run by typing * [dwm](http://dwm.suckless.org/) window manager for x * [emacs](http://www.gnu.org/software/emacs) customisable text editor and integrated development environment * [ffmpeg](https://ffmpeg.org/) audio and video converter * [firefox](https://www.mozilla.org/en-US/firefox/new/) * [flac](https://xiph.org/flac) free lossless audio compression * [gimp](http://www.gimp.org) pixel based image manipulation for tasks like photo retouching, image composition, image authoring and more. tasks can be automated with "http://docs.gimp.org/2.8/en/gimp-scripting.html" "scheme" * [git](http://git-scm.com) version control system * [httpie](https://github.com/jakubroztocil/httpie) http requests on the command-line * [losslesscut](https://github.com/mifi/lossless-cut) convert and cut a video into multiple custom segments * [mirage](http://mirageiv.sourceforge.net/) image viewer. can change fast between images in the same directory, for example using the mouse wheel * [mpd](http://www.musicpd.org) music player that runs in the background, separating playback functionality from user interfaces * [mupdf](https://mupdf.com/) pdf, xps and ebook viewer * [nano](https://en.wikipedia.org/wiki/GNU_nano) text editor. mini emacs * [ncdu](https://dev.yorhel.nl/ncdu) displays disk usage by browsable directory structure sorted by size descending * [ncmpc](http://www.musicpd.org/clients/ncmpc) client for mpd * [nginx](http://nginx.org/en/docs) http proxy and web server * [nodejs](https://nodejs.org/en/) command-line calculator. also a standalone javascript interpreter * [openssh](https://www.openssh.com/) secure shell remote connections * [pacman](https://www.archlinux.org/pacman) package manager with an efficient interface and usage, with probably the most packages available anywhere. creating packages is easy * [qemu](http://wiki.qemu.org/Main_Page) machine emulator, virtual machine * [replacer](https://github.com/dmerejkowsky/replacer) replace text in multiple files * [roundcube](http://roundcube.net) web based email management * [sbase](http://git.suckless.org/sbase/file/README.html) simpler replacements for many core tools like cp, cat, mount, and more * [simplescreenrecorder](https://www.maartenbaert.be/simplescreenrecorder/), still the best (2023). select a rectangle, window or screen and record with easily selectable settings, optionally with cursor and audio * [smplayer](http://www.smplayer.info/en/info) media player. fast seeking * [sqlite](http://www.sqlite.org) an sql database that uses single files with exceptional documentation * [sshfs](http://fuse.sourceforge.net/sshfs.html) mount filesystems using ssh * [st](http://st.suckless.org/) a simple terminal implementation for x. works great in combination with screen as a better replacement for tabbing * [suckless](http://suckless.org) software with a focus on simplicity, including dwm, dmenu and st among others * [thunar](http://en.wikipedia.org/wiki/Thunar) graphical file-manager. supports custom right-click commands, tabs and a bulk file renamer "thunar -B" * [alsamixer](https://en.wikipedia.org/wiki/Alsamixer) control sound volume * [apache bench](https://httpd.apache.org/docs/2.4/programs/ab.html) http performance testing * [aurget](https://github.com/pbrisbin/aurget) arch linux related: pacman-like interface to the AUR * [bastet](http://fph.altervista.org/prog/bastet.html?) version of tetris that chooses the worst possible blocks * [f-droid](https://f-droid.org/) repository for free-software android apps * [firehol](https://firehol.org) iptables based firewall * [gnuplot](http://www.gnuplot.info/) * [gnu software](https://www.gnu.org/software/software.html) * [google earth](https://www.google.com/earth/versions/) desktop app for viewing satellite imagery, 3d in many areas, and streetview. best graphics quality and usability in the desktop version * [graphicsmagick](http://www.graphicsmagick.org) image processing system * [graphviz](http://www.graphviz.org/) for creating and rendering (directed) graph drawings * [gr](https://github.com/mixu/gr) execute a command in multiple git repositories at once * [guileemacs](http://www.emacswiki.org/emacs/GuileEmacs) * [ldm](https://github.com/LemonBoy/ldm) automount unencrypted devices * [librejs](https://www.gnu.org/software/librejs) a way to let http clients automatically determine the license of included javascript files * [musl-libc](https://wiki.musl-libc.org/) libc * [privoxy](http://www.privoxy.org) non-caching web proxy with advanced filtering capabilities, for example ad-blocking or blocking of sites * [reddit](https://github.com/reddit/reddit) source code for the link submission and discussion website * [redmine](https://github.com/redmine/redmine) issue tracking system * [rhyme](http://rhyme.sourceforge.net/) rhyming dictionary * [sox](http://sox.sourceforge.net/) sound processing utility * [sqlighting](https://www.openhub.net/p/SQLightning) fork of sqlite that is much faster * [srm](http://srm.sourceforge.net) secure file removal * [suckless.org/rocks](http://suckless.org/rocks) a similar list of applications * [systemd](http://www.freedesktop.org/wiki/Software/systemd) system and service manager. does a bit too much perhaps * [tagsistant](http://www.tagsistant.net) tagging filesystem * [units](https://www.gnu.org/software/units) converts quantities expressed in various systems of measurement to their equivalents in other systems of measurement * [unp](https://github.com/mitsuhiko/unp) unpacks things. available in the repositories of many linux distributions * [utimer](http://utimer.codealpha.net/utimer) command-line countdown/stopwatch * [valgrind](http://valgrind.org) finds memory leaks * [w3m](http://w3m.sourceforge.net) terminal web text browser * [xbindkeys](http://www.nongnu.org/xbindkeys/xbindkeys.html) execute commands with keypresses * [xdot](https://github.com/jrfonseca/xdot.py) uses the "dot" utility from graphviz to draw a directed or undirected graph using the dot graph definition language * [xdotool](https://github.com/jordansissel/xdotool) produce xserver events (mouse clicks, keyboard events, etc) from the command-line * [xmodmap](https://wiki.archlinux.org/index.php/Xmodmap) utility for modifying keymaps and pointer button mappings * [xz-utils](http://tukaani.org/xz) file compression * [youtube-dl](https://github.com/rg3/youtube-dl) * [zenity](https://en.wikipedia.org/wiki/Zenity) command-line program to create graphical dialogs # libraries ## c * [fast fourier transform implementation](https://www.nayuki.io/page/free-small-fft-in-multiple-languages) * [fuse](http://fuse.sourceforge.net/doxygen/index.html) filesystems in userspace * [klib](http://attractivechaos.github.io/klib) * [libsndfile](http://www.mega-nerd.com/libsndfile) reading and writing of many different audio formats * [md5 hash implementation](https://www.nayuki.io/page/fast-md5-hash-implementation-in-x86-assembly) * [murmur hash](https://github.com/PeterScott/murmur3) non-cryptographic hash function, for example for hash tables * [nanomsg](http://nanomsg.org/) to use several common communication patterns over sockets * [symas lightning mdb](http://symas.com/mdb) memory-mapped key-value database ## javascript * [browserify](https://browserify.org/) minimal compiler with node module syntax for the browser * [color-diff](https://github.com/markusn/color-diff) implements the ciede2000 color difference algorithm * [commanderjs](https://github.com/tj/commander.js) for command-line interfaces * [crel](https://github.com/KoryNunn/crel) dom element creation * [css-parse](https://github.com/reworkcss/css-parse) css parser * [expressjs](https://expressjs.com/) web application framework * [js2coffee](http://js2coffee.org) online javascript to coffeescript converter * [tinycolor](https://github.com/bgrins/TinyColor) * [web apis](https://developer.mozilla.org/en-US/docs/Web/API) browser interfaces * [$script.js](https://github.com/ded/script.js) asynchronous script inclusion * [cash](https://github.com/kenwheeler/cash) jquery alternative * [d3](http://d3js.org) svg-based visualizations * [jrumble](http://jackrugile.com/jrumble) jQuery plugin that rumbles, vibrates, shakes, and rotates any element you choose * [modulejs](https://github.com/jkalbhenn/module.js) module system for javascript * [spinjs](http://fgnass.github.io/spin.js) creates spinning activity indicators dynamically that can be used as resolution-independent replacement for loading gifs # programming languages and implementations * [coffeescript](http://coffeescript.org) javascript without the clutter and an indent-based syntax. the coffee command can be used in place of node * [puredata](http://puredata.info) visual programming environment for sound processing and device interaction, written and extendable in c. can create custom user interfaces * [chibi scheme](http://synthcode.com/scheme/chibi/) chibi scheme * [guile](https://www.gnu.org/software/guile) language independent core with vm, jit compilation and more, good c interface, scheme, and can be used as an extension language # standards * [alliance for open media](https://aomedia.org/) av1 * [khronos group](https://www.khronos.org/) vulkan, openxr, opengl, and more * [scgi](http://python.ca/scgi/protocol.txt) * [scheme reports](http://www.scheme-reports.org/) standards for the scheme programming language * [the json format](http://json.org/) * [xiph.org](https://xiph.org/) flac, opus, vorbis # linux distributions * [arch linux](https://www.archlinux.org) incrementally updating GNU/linux distribution that installs no graphical desktop manager or extra stuff by default, is well documented and keeps it simple. a minimalistic distribution * [parabola GNU/linux](https://parabolagnulinux.org) fsf endorsed variant of arch linux. arch linux can be converted to parabola any time