Stuff I Use

Tools and technology that I use. You can contact me with any suggestions.

Hardware

Software

I exclusively use free software.

Statistics and Data

  • R for statistics with ESS as an interface

    It’s a GNU Project! This is what we used in statistics courses at Berkeley. I also TA’d Stat 133 a bit. I’m so glad we were able to use free software rather than proprietary environments like MATLAB.

  • Stan (homepage, GitHub)
    for Bayesian inference (previously used JAGS)
  • Previously used D3.js a lot for visualization. Also tried React Three (see /rtft/ for an example visualization I made) via Reagent and ClojureScript.
  • data.table, but also tidyverse stuff
  • ggplot
  • ColorBrewer for a color palette
  • Sometimes Clojure and ClojureScript. Clojure for where I’m doing realtime analysis (instead of batch). ClojureScript for interactive visualizations and presentations using reagent/re-frame.
  • LaTeX for writing math, which I’ll embed using MathML (preferred) or MathJax.

Web Development

Backend

  • Clojure and Pedestal
    • Jetty
    • GraphQL via Lacinia
    • PostgreSQL for data
    • WebSockets for real time events
  • nginx for reverse proxying and some static resources
  • LetsEncrypt for my certs
  • node.js and Express (not so much recently, but this site used to be run through node.js)
    • MongoDB - Not anymore. They’re no longer open source, and Postgres does what I need anyway.

Frontend

  • HTML5 written in the XML syntax (formerly “XHTML”)
    • Occasionally RDFa for metadata
  • For JavaScript I either use
    • Handwritten JavaScript

      Gives me a better feel for various Web APIs

      • Web Components
    • ClojureScript (homepage, source, issues)
    • node.js
      • Webpack
      • Angular 1 - Never made the jump to Angular 2, I just started using React.
    • require.js - Back before JavaScript modules became a thing
  • For CSS I either use:
  • SVG
    • Inkscape (inkscape.org, GitLab)
      - For manually drawing, editing
    • Emacs - For tweaking and optimizing SVGs, adding metadata, creating SVG filters, and so on
    • Usually CSS keyframes for animation, but sometimes SMIL
    • D3.js
    • React/reagent
    • R when creating SVGs with data
  • WebGL
    • Three.js (sometimes via React Three Fiber)
  • Static site generators
    • Hexo
    • Pelican

Services

Other /uses

Check out other /uses pages at uses.tech.

Other cool /uses pages (in no particular order):