Very outdated.
A highly opinionated list of the things I use to make other things.
I develop on OS X and deploy to Ubuntu. A Macbook Air with a retina display would be a perfect laptop. I use Sublime Text 3 to write almost all my code. Homebrew is my package manager of choice.
I deploy my static sites to Github Pages. I deploy my backends to Heroku or Digital Ocean.
- Color scheme: Tango Dark
- Shell: zsh
- Prompt: pure
- Text editor: vim is the best text editor because it is everywhere and won't give you carpal tunnel.
I use Python for scripting, machine learning/NLP and web development. Useful features/libraries in Python:
fileinput: read lines from files listed insys.argv, or fromstdinif emptyCounteranddefaultdict: for accumulating things in dictionaries under the same keystempfile: temporary fileslogging: better than justprinting everything
I use Python 3 whenever I can. Useful features/libraries in Python 3:
- dictionary comprehensions:
{k: v for k, v in stuff} - built-in virtual environments (
pyenv) - built-in
pip - concurrency à la Node (
asyncio) - built-in
enums pathlib: high-level path library
IPython is a lot better than the default interpreter. Make sure you enable autoreload.
- Beautiful Soup -
pip install beautifulsoup4
- Flask -
pip install flask
- TextBlob -
pip install textblob && python -m textblob.download_corpora
Use ES6 (via Babel) if possible. Don't use CoffeeScript. TypeScript is acceptable.
- Node.js - Homebrew:
brew install node
- KaTeX - Node:
npm install katex, Duo:require('Khan/KaTeX')
- Marked - Node:
npm install marked, Duo:require('chjj/marked')
I currently use promises to manage async operations. They're a planned part of ES6, but since they're currently unavailable in any stable browser or runtime, I use the Bluebird (Node: npm install bluebird, Duo: require('petkaantonov/bluebird')) library instead. Promises are much better than callbacks, but stream-based async (reactive programming) is probably the future.
- Chalk - Node:
npm install chalk
- Express - Node:
npm install express
- Moment.js - Duo:
require('moment/moment/');, Node:npm install moment
- Normalize.css - Duo:
@import 'necolas/normalize.css';
- Font Awesome - Duo:
@import 'FortAwesome/Font-Awesome';
- Sass - Ruby:
gem install sass
- Colors - Duo:
@import 'mrmrs/colors';
- PostgreSQL - Homebrew:
brew install postgresql
- Redis - Homebrew:
brew install redis
- Apple's Network Link Conditioner, part of Hardware IO Tools for XCode
- Grapher, bundled with OS X, is great for making basic 2D/3D plots