This page houses some programming related resources that I have found useful while working on anything. It's starting out jumbled but will get more organized as I put more things in here.

1. LaTeX

While I haven't tried it yet, a modern solution if you write pure \(\LaTeX\) and not Org or something is probably tectonic.

2. Tools

Few nifty tools. Along with the usual *nix pack, they make life so much easier as a programmer.

  • Pandoc for document conversion. If you feel like something is off, check out filters.
  • imagemagick for image manipulation. A lot of image-fu is possible just by piping through this.
  • gifsicle for working with gifs
  • ffmpeg for media conversion.
  • graphviz and ditaa for making graphs, flowcharts etc. Both go really nicely in org-babel.
  • q allows running SQL over CSVs.
  • jq for working with json strings in command line. Also see jid.
  • HTTPie as HTTP client. Just use curl. In Emacs, try restclient and ob-restclient.
  • pup for working with html strings.
  • youtube-dl for downloading media.
  • aria2 for downloading the rest. There is an interface for Emacs but I haven't used it.
  • live-server for avoiding python -m SimpleHTTPServer.
  • ngrok for quickly exposing localhost.
  • pgcli / mycli as db cli.
  • tldr for quick docs.
  • rg / ag for searching in code. Spacemacs has nice ag wrappers.
  • csvkit for csv-fu. Haven't used it but tools like csvcut are really nice.
  • Command line tools from poppler-utils can help you with almost every pdf related task.
  • entr helps in rerunning commands based on file changes.
  • SimpleScreenRecorder does most of the things I want. A few other fancier tools I tried don't work very nicely with tiling systems.
  • I like termsql for working with tabular data in terminal. There might be better tools for particular use cases, but in general, just the possibility of using plain sql works nicely.
  • ledger for accounting.
  • diffoscope helps in diffing much more than just files.
  • Though I don't use it, TaskJuggler looks like something that belongs here.
  • gpsbabel for working with GPS logs and related file formats. You might also like to use GPXSee for visualizing tracks.