from Hacker News

Ask HN: Tools of the trade

by zuckerei on 8/13/15, 5:50 PM with 19 comments

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?

  • by elijahlofgren on 8/13/15, 7:11 PM

    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)
  • by bobochan on 8/13/15, 9:07 PM

    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).

  • by RaitoBezarius on 8/14/15, 1:58 AM

    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)
  • by pwang on 8/13/15, 7:11 PM

    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.

  • by caffeinewriter on 8/13/15, 7:53 PM

    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.
  • by hackertoolbox on 8/14/15, 4:06 AM

    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/

  • by zuckerei on 8/13/15, 6:24 PM

    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
  • by RedNifre on 8/13/15, 8:38 PM

    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

  • by tmaly on 8/13/15, 7:40 PM

    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
  • by 1arity on 8/14/15, 10:06 AM

    I use:

      vim on Darwin. 
      javascript es6.
      chrome canary 
      chromestatus.com
      chrome apps apis. 
      gae 
      managed vm
      docker
      gce
      python
      brain
  • by mod on 8/13/15, 7:15 PM

    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.

  • by ahazred8ta on 8/19/15, 1:53 AM

    Search HN for previous years' 'Tools of the Trade' gems:

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

  • by anon987 on 8/13/15, 7:49 PM

    https://github.com/cjbarber/ToolsOfTheTrade

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

  • by lovich on 8/13/15, 7:10 PM

      Sublime Text
      LinqPad
      VS 2012
      SQLServer 2008
      SVN
      Windows 7
  • by erbdex on 8/13/15, 8:53 PM

      terminator/iTerm
      vagrant
      travis
      tmux
      Twisted
      ELK
  • by VOYD on 8/14/15, 6:21 PM

    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"

  • by fumar on 8/13/15, 7:56 PM

    Google Docs, OneNote, HipChat, Jira, TerminalOne, TapAnalytics
  • by sampwing on 8/13/15, 8:09 PM

    Slate

    Vim

    Vimium w/ Chrome

    IntelliJ

    Docker

    Redis

    MySQL

    Elasticsearch

    Slack

    GoTo Metting

    Jira

    Confluence

    Git

    GitHub

  • by yellowapple on 8/13/15, 7:49 PM

    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.