News for hackers. Stuff that matters.

Ask HN: Tools of the trade

I know, half the year is over already. But there was no "tools of the trade" thread yet. In the past I enjoyed those and I think it's also interesting in a historical context to have them once a year.

So I rolled up my sleeves and made an account to start one :)

What are the tools that you use nowadays?

( 19 comments | 25 points | on HN )
Re:Ask HN: Tools of the trade by elijahlofgren on Thursday August 13, 2015 @03:11PM (#10056496)
Mine:

  Windows Server
  ASP.NET
  Github Desktop
  SVN
  Visual Studio
  Brackets - awesome text editor with 
    JavaScript syntax checking 
    and undefined variable checking
  Jenkins
  Octopus Deploy
  Stripe.com
  Red Gate SQL Source Control
  Keen.io - not affiliated 
    but wanted to plug since has been coolest thing recently  
    awesome, easy analytics (paid but 
    free plan has 50k events/mo and 
    we've stayed under that so far)
Re:Ask HN: Tools of the trade by bobochan on Thursday August 13, 2015 @05:07PM (#10057219)
My tools changed quite a bit this year. I am using:

  emacs
  textmate2
  R
  python / pandas
  jupyter notebooks (python, R, julia kernels)
  c++
  Clojure
  Common Lisp
  
  linux on the server
  os x on my laptop
  ipad / prompt2 / pythonista / bluetooth keyboard
Almost all of my serious work is being done in either R or python right now, which is a big change from using more proprietary tools like SAS, Stata, and Matlab.

I think I might have been the last person on the planet to figure out that an iPad with a bluetooth keyboard in a coffee shop or library is a very productive work setup and that I do not need to lug my laptop everywhere.

We are living in a fantastic era and I just cannot believe the amazing free tools that are available for things like network analysis (NetworkX) and spatial visualization (ggmap).

Re:Ask HN: Tools of the trade by RaitoBezarius on Thursday August 13, 2015 @09:58PM (#10058247)
I am essentially using:

  *Development*:
  URxvt-unicode
  vim on Linux
  Sublime Text 3 on Windows
  Python (and a lot of libs, mainly, requests, Flask, AutobahnPython, Twisted)
  Rust (my new shiny tool)
  C/C++ (sometimes, but I try to avoid it)
  Frontend JavaScript (It has been a long time since I've written some ES5, I write only ES6 thanks to Babel)
  Node.js
  Webpack
  React.js
  Crossbar.io
  Git + GitHub
  Zsh (prezto framework)
  Fish (on servers sometimes)
  tmux (a.k.a the productivity booster)
  virtualenvwrapper (must-have for Python & virtualenv)
  nvm (must-have for Node.js & NPM)
  rvm (must-have for Ruby)
  fasd (when cd isn't enough, j somewhere)
  
  *Fonts*:
  Monoid whenever I can.
  Source Code Pro.
  Else, whatever can do the job.
  
  *OSes*:
  Debian on Server
  Archlinux, Debian, Windows 7 on laptop (1st, fallback on others...)
  I try to use the most appropriated OS for containers (Docker)
  
  *Services*:
  PostgreSQL OR RethinkDB whenever I can. SQLite when I can't.
  Redis
  Docker (+ dockercli)
  Docker-Compose
  nginx
  
  *SaaS*:
  Slack
  Inbox
  TweetDeck
  Asana
  Hacker News (the worst one :c)
Re:Ask HN: Tools of the trade by pwang on Thursday August 13, 2015 @03:11PM (#10056502)
When my startup was <10 people, I used Vim and Git a whole heck of a lot.

Now that we're almost 140 people, I mostly use Gmail, Google Calendar, Sublime Text and Evernote, and Google Hangouts for engineering meetings. But, a lot of those people are using Vim and Git, so it's not all bad. :-)

Of course, we all use Anaconda Python.

Oh, and I read a whole lot less Hacker News.

Re:Ask HN: Tools of the trade by caffeinewriter on Thursday August 13, 2015 @03:53PM (#10056773)
Some of mine:

  JetBrains' WebStorm
  Node.js
  MongoDB
  Redis
  MySQL
  MyCLI
  Git
  GitLab (Hosted and Self-Hosted)
  Gulp
  FireBug
  Trello
  Slack
  CircleCI or Travis, depending on the project
  WakaTime
I'm sure I'll find some more that I missed on my own list as well.
Re:Ask HN: Tools of the trade by hackertoolbox on Friday August 14, 2015 @12:06AM (#10058571)
I made a toolbox which includes tools from "Tools of the trade"/"Show HN". Glad to hear suggestions on how to make it (more) useful.

http://www.hackertoolbox.com/

Re:Ask HN: Tools of the trade by zuckerei on Thursday August 13, 2015 @02:24PM (#10056202)
Ok, let me make a start. This is what I use:

    Debian
    Apache
    MySql
    PHP
    VIM
    99designs
    Upwork
    GitHub
    webpagetest.org
    Google PagespeedInsights
    Google Analytics
Re:Ask HN: Tools of the trade by RedNifre on Thursday August 13, 2015 @04:38PM (#10057059)
Haskell for large things

Ruby for small things

Java to earn a living (with a bit of Ruby here and there)

(I'm currently evaluating Kotlin and Javascript as well)

.

OpenBSD on the server

Ubuntu for developing

.

Android Studio (IntelliJ) for Java

Atom with Vim Mode (and a thousand other plugins that turn it into an OS similar to how I imagine emacs) for everything else

.

Github

Re:Ask HN: Tools of the trade by tmaly on Thursday August 13, 2015 @03:40PM (#10056684)
Vim Perl Bash make Go vim-go plugin Chrome Developer Tools libsass uglifyjs homebrew redis postgresql Gimp Dropbox Google Docs Google Calendar Trello Slack bitbucket.org startssl
Re:Ask HN: Tools of the trade by 1arity on Friday August 14, 2015 @06:06AM (#10059370)
I use:

  vim on Darwin. 
  javascript es6.
  chrome canary 
  chromestatus.com
  chrome apps apis. 
  gae 
  managed vm
  docker
  gce
  python
  brain
Re:Ask HN: Tools of the trade by mod on Thursday August 13, 2015 @03:15PM (#10056539)
Ubuntu VIM Git Chef / Mina Rails / Django React / jQuery Digital Ocean Freckle Asana

Various APIs including Twilio, Stripe, MusicBrainz, Amazon, Shopify.

That's most of my professional and/or serious side projects, and then I dabble in other stacks when I can. Clojure lately.

Re:Ask HN: Tools of the trade by ahazred8ta on Tuesday August 18, 2015 @09:53PM (#10083307)
Search HN for previous years' 'Tools of the Trade' gems:

https://hn.algolia.com/?q=%22Tools+of+the+Trade%22

Re:Ask HN: Tools of the trade by anon987 on Thursday August 13, 2015 @03:49PM (#10056751)
https://github.com/cjbarber/ToolsOfTheTrade

Last merge was 2 months ago but it has 32 outstanding PRs so maybe he abandoned it.

Re:Ask HN: Tools of the trade by lovich on Thursday August 13, 2015 @03:10PM (#10056489)

  Sublime Text
  LinqPad
  VS 2012
  SQLServer 2008
  SVN
  Windows 7
Re:Ask HN: Tools of the trade by erbdex on Thursday August 13, 2015 @04:53PM (#10057137)

  terminator/iTerm
  vagrant
  travis
  tmux
  Twisted
  ELK
Re:Ask HN: Tools of the trade by VOYD on Friday August 14, 2015 @02:21PM (#10061834)
I'm mainly focused on web apps so:

VS Online/Visual Studio, Adobe Brackets, Git

C#: IIS, ASP.NET, Node.js JavaScript: vanilla, jquery, Knockout.js

The modern browser matrix & related built-in "dev tools"

Re:Ask HN: Tools of the trade by fumar on Thursday August 13, 2015 @03:56PM (#10056797)
Google Docs, OneNote, HipChat, Jira, TerminalOne, TapAnalytics
Re:Ask HN: Tools of the trade by sampwing on Thursday August 13, 2015 @04:09PM (#10056878)
Slate

Vim

Vimium w/ Chrome

IntelliJ

Docker

Redis

MySQL

Elasticsearch

Slack

GoTo Metting

Jira

Confluence

Git

GitHub

Re:Ask HN: Tools of the trade by yellowapple on Thursday August 13, 2015 @03:49PM (#10056747)
Well, I guess I'll go from the ground up in each category.

---

For development machines, I have a company-supplied Macbook Air for work and a variety of laptops and desktops that I use for personal things. The Macbook runs OS X Yosemite. My personal machines almost invariably run GNU/Linux (I've been especially fond of Slackware lately) or OpenBSD. My primary rig has a 122-key Unicomp Model M keyboard and a Logitech M570 trackball mouse, along with two monitors (one 1680x1050, one 1440x900); my desk at work has a 2560x1440 Thunderbolt display, connected to one USB port of which are a Logitech K570 solar-powered keyboard (Mac model) and a Logitech M570 trackball mouse (I really do love these trackball mice).

My primary editor as of late is Emacs. My workflow revolves heavily around fiplr for fuzzy-searching and Magit for git repo management (on Linux / OpenBSD, at least; on OS X I use GitX).

Git is currently my VCS of choice, though this is more out of necessity (since the vast majority of the projects I work on are hosted on GitHub, be they public or private repos; I use Bitbucket somewhat as well, so I've been looking a little bit into Mercurial lately, but I've yet to really use it for real work).

My dayjob revolves around Ruby on Rails programming. As a result, common Ruby-related tools (in addition to, of course, Ruby itself) - particularly RVM and globally-installed versions of Bundler, gemr, and Rails 4 (mostly for the various generators, though I don't really use those a whole lot) - are installed on most of my machines, including the Macbook. My job is more geared toward system administration and backend programming, so I've yet to explicitly install common frontend-development tools (like Node, bower, grunt, etc.) on very many of my machines, but I do have them installed on the Macbook as a precaution.

When it comes to building personal projects, my go-to languages have been Ruby (without Rails; I'm more a Sinatra/Padrino fan) and Elixir (recently with Sugar, which I find to be much friendlier to use than Phoenix). I maintain some private Erlang and Elixir Slackbuilds to that effect in order to track the latest versions of both on my Slackware machines (the Erlang on Slackbuilds.org tends to be slow to update, and AFAIK there's no Elixir Slackbuild at all yet); I've yet to publish them, but probably will in time. I've previously used a lot of Perl in my projects, but other than CPAN, I rarely use any Perl-specific tooling.

For databases, SQLite and PostgreSQL are my go-tos; I stay clear of NoSQL databases (except perhaps CouchDB or Mnesia), since I don't feel that they offer anything compelling over Postgres for my needs.

When it comes to the minimal frontend work I do, I generally steer clear of Javascript; when I do need to delve into JS, I've found Mootools to be nice for my uses. I've been using Yahoo's "Pure" CSS framework for things like menu bars and grids, and I've been quite happy with it so far.

---

Going into servers, my software stack tends to stick to Slackware or OpenBSD. My mail server runs OpenBSD with OpenSMTPD and a mail pipeline that includes SpamAssassin, spamd, and ClamAV. Meanwhile, for web servers, I generally go with either Nginx or OpenBSD's httpd (depending on whether the server runs Slackware or OpenBSD), along with PostgreSQL and one or more language runtimes (usually Ruby, Elixir, or Perl, inclusively, as described above). I don't really use any sort of config management system (like Chef or Puppet) on my personal servers; I prefer to configure them individually, using Emacs' TRAMP to edit configuration files over SSH.

---

I do some general electronics repair, too, on my free time. I thus carry around a physical toolbox in my truck with at least basic tools and parts (screwdrivers (particularly my really nice ratcheting screwdriver with a bunch of electronics-specific bits), spare USB/ethernet/power/SATA/etc. cables, wire strippers, soldering iron w/ solder, electrical tape, duct tape, crimpers, spare RJ-45 connectors, heatshrink tubing, zip ties for cable management, anti-static strap, multimeter, some spare PCI peripherals (including a spare dial-up modem card; you never know when you need to fix someone's dial-up), extra keyboards and mice, bag of spare jumpers, spare flashlight (in addition to the one in my glovebox), some sticks of DDR and DDR2 RAM, various AV cables, speaker wire, the works). I have a more thorough superset at home, and a thinner subset at work.

---

... I think that about covers everything.