Ask HN: What tools do you use?

36 points by sendos ↗ HN
What tools do you use for web development?

I'm not referring to languages (PHP, Ruby on Rails, etc), but to the tools, like Emacs, Basecamp, Eclipse, etc.

Personally, to develop my website (mentioned in my profile), I use bare-bones stuff: * ssh via xterm * Emacs for editing PHP and CSS files * FileZilla * Firebug for debugging * Gimp & Paintbrush for image creation and editing * svn

I'm wondering if there are some high-productivity tools that I am missing out on.

What do you guys use?

68 comments

[ 4.8 ms ] story [ 109 ms ] thread
The primary tools I use are ssh and sftp, emacs and git. Those do most of what I need, though occasionally I find myself saving some time by using Filezilla. If I can manage it, I use Acorn for image editing, and fall back to Photoshop if it doesn't crash too much. I'd count Mail.app as one of my tools, too.

emacs is my favorite, and I learn more about it every day.

Console 2 - instead of the generic windows command prompt. Jing - for screen captures.
Komodo Edit for most coding because it gives me a consistent UI at work on my Mac and at home on Ubuntu

nano for editing files server-side

Git/Github (work) and Mercurial/Bitbucket (personal) for version control and deployment

scp for those rare instances when I need to transfer files manually

Windows XP in VirtualBox for IE testing and Photoshop

I mount my server via SSH through MacFusion, then create a project in Aptana.

I'll add files by dragging and dropping into Aptana, or I'll use scp to upload through terminal.

I'm a designer by training, so I just know a little command-line and emacs, so I'll use that for quick edits from time to time.

I also use the Adobe Suite for image editing and creation. I haven't dove into Fireworks yet, but I keep meaning to as I hear it's great.

TextMate, VIM and Eclipse for editing, Transmit for FTP, Acorn for quick image editing (I'm a really bad designer), Mail.app and SSH.
Emacs, Git, (SVN occasionally), Paint.NET (if im on windows), and Python.

I know you said not languages, but I see Python more as a tool since I can use it to hammer out code to convert data and the like.

OSX Specific: TextMate, Terminal, DTerm (awesome timesaver), Digital ColorMeter (Pixel measurement, CMD+SHIFT+C FTW)

General: Firebug, Dropbox (automatic backups!), Git, Photoshop, Customized .bashrc, .irbrc

Ruby specific: Sketches (with the default sketches dir symlinked into Dropbox)

These are probably 95% of where I spend my time. My workflow is generally: I use Spotlight and Finder to find things and then DTerm to interact with them or launch TextMate. If I want to dink around in Ruby I will go into irb and start a new sketch which will pop up TextMate and away I code.

I tend to use Carbon Emacs and Plainview (webkit based browser) in their fullscreen modes when knocking out code. Beyond that, just a small gang of shell scripts and aliases alongside the usual shell tools.
Vim for coding. Mustang is the current color scheme of choice. Plugins I use:

  * Fuzzy Finder
  * surround.vim
  * supertab
  * NERD Tree
Git for version control (at work I use git-svn, don't get me started about subversion). I have aliases for status (s), commit (ci), checkout (co), tag (t), and branch (b).

Fabric / rsync for deployment.

Sphinx for documentation.

IPython for my python shell.

Screen for terminal persistence and management.

http://github.com/rupa/z for directory navigation. Also, learn how to use your shell. It probably does things you never thought possible.

In Snow Leopard, I use X11 to interface with the shell (256 colors yo, makes syntax highlighting SO much nicer).

Spotlight for finding things.

Firebug and Flash Player Debugger Version.

Flash CS4 for the design parts and Flashdevelop for the code parts. And Notepad++ for the rest (Python, PHP, some HTML). I'm actually undecided between Scite and Notepad++, but I usually prefer the former.

Filezilla to upload files to the server, but the constant annoying popups ("a file appears to have changed, would you like to resend it?" and "this file is already open (hint: it's not), would you like to open it again?") are making me think about switching to something else.

Starting to use Git too, but I'm afraid of what will happen with the *.fla files (huge binary blobs).

I'm stuck with Windows because of Flash.

try winscp instead of filezilla.
It just detects them as binary, its not any less efficient than SVN AFAIK, possibly MORE efficient.
I'm curious as to why you would be 'stuck with Windows because of Flash'
Because there's no Flash for Linux and a Mac is out of question in a third-world country.

I tried to emulate it with Wine and others, but they all failed miserably.

Emacs[org-mode, gnus, erc, many programming modes], Chrome, Mercurial and/or SVN and/or GIT (in that order!), a few random useful plugins &c...
I've come to like Textmate and Git a lot recently. Still, I often miss vim :(
Right now i have these softwares open : Omnigraffle (UML design), Transmit (yes, poor me i need an FTP client), Google Quick Search Box, TinyGrab (Dead simple tool for sending screenshots. highly recommended), MacVim.

For versionning i use Git and for Project Management i use my own web app. (soon to be shown here)

Read-eval-print loops for Javascript & CSS, SQL, Rails, Haskell, etc. Emacs, and infrequently Eclipse. Git, screen+ssh. EC2. Bugzilla.
- Mac OS X - textmate - instapaper - bpython - Chrome - Linode Servers + S3 - SSH + Screen - Zsh - GitHub - Sequel Pro - Transmit - Things - Ulysees - Google support for ActiveSync for Appointment and Contacts management - MediaTemple
+ Redmine. Absolutely essential.
fuck basecamp. i want wikis.
Redmine with basecamp theme here at work :-)
IDEA, svn, TeamCity (continuous integration), Jira (bug tracking), Confluence (info sharing), Basecamp (file sharing - though I wish we had nothing to do with it - it's generally painful)
You should check out redmine to replace basecamp. it's perfect
SSHKeychain and DTerm are two brilliant productivity tools for OS X.
+1 for Dterm. i never use it as often as i should.
SSHKeychain shouldn't be necessary on Snow Leopard, fwiw, unless you're using it for something other than ssh passphrase caching.
Call me paranoid, but I prefer to remove keys from the agent on screensaver or sleep and I'm pretty sure that's not straightforward without SSHKeychain (but I'm happy to be proven wrong :))
Emacs and screen. Git is very nice. Charles Proxy is wonderful for inspecting HTTP traffic.

Pixelmator is very good for quick graphics. It's on par with Photoshop 5 (version 5 from like 1998, not CS-Whatever).

Netbeans for code & HTML, Git + GitHub, Filezilla, Basecamp, Freshbooks, GIMP (or Photoshop CS2 on Windows), and occasionally Eclipse for Android dev (not much of that yet, still learning).

On specific client projects, I also use Mercurial, SSH and SSHFS.

I can't use Windows without VirtuaWin for virtual desktops (two spaces * three monitors == 6 screens), and Switcher for expose on Windows 7. Both of those are mapped to the thumb buttons on my mouse. One thumb button toggles between spaces, the other toggles expose.

Three monitors on one space are devoted to fullscreen putty terminals. Each one is running in "screen -x" with 8 terminals opened up mapped to my F1-F8 keys. That's plenty of terminals for this or that. If i need to move what's on one fullscreen'd monitor to the next then I just click on the monitor and press the function key for the given terminal session I want. This lets me move them around without dealing with window positioning.

Nearly all code is written with Vim. Plugins include FuzzyFinderTextMate and BufferExplorer plugins mapped to hotkeys. Netbeans is absolutely essential for J2EE apps. Unix and Vim are for everything else.

I can explain any of this in further detail if anyone wants my configs.