
Ask HN: What tools do you use? - sendos
What tools do you use for web development?<p>I'm not referring to languages (PHP, Ruby on Rails, etc), but to the tools, like Emacs, Basecamp, Eclipse, etc.<p>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 &#38; Paintbrush for image creation and editing
* svn<p>I'm wondering if there are some high-productivity tools that I am missing out on.<p>What do you guys use?
======
theli0nheart
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.

~~~
godDLL
In Snow Leopard, you can use x64 SIMBL to extend compiled applications, and
there is an SIMBL bundle that will get you terminal colors of your choice.

<http://github.com/brodie/terminalcolours/downloads>

------
donw
1\. ssh

For those of you who don't know, `man ssh_config` -- you can set per-host and
per-network connections in your `~/.ssh/config` file. Perfect when you have
different usernames on some hosts, alternate ports, etc.

2\. git

'Nuff said here. Never going back to SVN.

3\. nkf

Pretty specific, but a really useful tool if you need to deal with Japanese
character sets -- converts pretty much any encoding to any other encoding.

4\. VMWare Fusion / VMWare Workstation

If you're going to push code out to a server running on a different OS than
your workstation, having a local, virtualized copy of that OS is
indispensable.

5\. pbcopy and pbpaste

Move text between the shell and clipboard on OS X. xcopy under Linux has the
same functionality.

~~~
l0nwlf
pbcopy and pbpaste are fantastic. I use this regularly, it is a part of my
~/.bash_profile : alias cpwd='pwd|xargs echo -n|pbcopy'

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

~~~
ordinathorreur
I'm curious as to why you would be 'stuck with Windows because of Flash'

~~~
BoppreH
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.

------
iheartmemcache
Emacs, python-mode.el, ipython.el, org-mode.

~~~
sherl0ck
plus screen

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

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

------
keefe
eclipse, mylyn, git, maven, bash. I do java development about 10 hours a day.
I feel there is a oneness in the build/scm/dependencies/source world that has
to be understood properly. This doesn't mean that the particular configuration
matters so much as the fact that the configuration is consistent and
understood. Having total confidence in your build and knowing where to find
stuff is a big productivity booster.

------
lsb
Read-eval-print loops for Javascript & CSS, SQL, Rails, Haskell, etc. Emacs,
and infrequently Eclipse. Git, screen+ssh. EC2. Bugzilla.

------
eelinow
Komodo Edit with Emacs Bindings

OS X on an 8 Core Mac Pro with 4 Displays (24/24/23/7)

Mercurial for my DVCS

rsync scripts for deployment management

ssh with keypair access only to the devl & prod. servers.

Chrome (any webkit browser for primary use, plus Gecko for secondary)

Skype for long distance collaboration

Etherpad for long distance code sharing

Virtual Box with Ubuntu 9.10 and FreeBSD 7

FreeBSD 7.x for dedicated servers (always BSD)

Python, Groovy, C, Ruby, Perl, Java, etc. (right tool for the job)

Navicat 7.x for MySQL front end.

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

------
AndrewO
Things I couldn't live without (or at least would push back on if pressured to
use something different):

git (GitX for viewing), TextMate (AckMate bundle for searching w/in a
project), Basecamp, Chrome (any WebKit or Gecko browser will do though), two
Fluid SSBs for personal and business Gmail, Homebrew for Mac package
management, Hex Fiend for looking at/searching through raw files (priceless
for diagnosing character set issues).

I'm using Sequel Pro, but I've found it a bit unstable and would love to see
something better.

I just discovered Path Finder, a finder replacement that looks like it fixes
my common gripes. I'll probably end up buying it when the demo expires.

Lastly, one I haven't used in awhile and is a little project specific is
Prince for HTML->PDF conversion using CSS3 Print Profiles (and this was back
when it looked like CSS3 would never happen). Here's a rundown:
<http://tomayko.com/writings/princexml>

~~~
oomkiller
Pathfinder looks really cool, but the screencast has some really weird music
and a TTS voice! Prince is cool too, but expensive!

~~~
AndrewO
Agree 100% about the Path Finder music (and the Prince pricing).

This was a job for a professional publishing house, so the cost was justified.
At the time I used it, that was about the only way to use general CSS3
features. It was like tasting the future.

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

------
dmpayton
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

------
d0m
I've come to like Textmate and Git a lot recently. Still, I often miss vim :(

------
rksprst
Pivotal Tracker for project management. PBWorks wiki for organizing our
information, collaboration. Google Apps for email. Dropbox to share files,
backup. Google Voice for phone (love the forwarding). Chrome as a browser(just
stopped using Firefox/Firebug... too many crashes). We also use Zendesk to
manage tickets, provide customer support and a knowledge base. Google talk for
chat.

Visual Studio, SQL Server Management Studio for development. Notepad++ for
other random text files I want to open. Git for source control. Hosting on
Amazon EC2. Fireworks CS4 for design.

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

~~~
quinto42
You should check out redmine to replace basecamp. it's perfect

------
astrec
SSHKeychain and DTerm are two brilliant productivity tools for OS X.

~~~
Adaptive
SSHKeychain shouldn't be necessary on Snow Leopard, fwiw, unless you're using
it for something other than ssh passphrase caching.

~~~
astrec
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 :))

------
huwshimi
I am primarily a designer/interface developer (I moonlight as a Django coder).
I use:

Inkscape for design.

Gedit for coding (+ a couple of plugins... I like my IDE to be as simple as
possible).

Verb for project management (<http://verbapp.com/>, of course :).

Ubuntu for my OS.

Subversion (I know, I'm oldschool) + RabbitVCS.

That covers my usual workflow, but there's a healthy dose of things like SSH,
GIMP, a horde of different browsers, Firebug, IETester, FileZilla and whatever
else when I need it.

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

------
mahmud
Emacs, slime, nxml-mode, nhtml-mode, firebug, YSlow, git, putty, PaintDotNet,
SOAPUI, NaviCat, Clozure Common Lisp.

------
teuobk
By function, all (except Emacs) running on Windows:

    
    
      *SSH: Putty
      *File transfer: WinSCP, TortoiseSVN
      *Coding: Aptana (Rails), Matlab (Matlab), Eclipse (C++)
      *Text/hex editing: PSPad
      *Server-side file touch-up: Emacs
      *Browser-based debug: Firebug
      *Image editing: Photoshop, Fireworks

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

~~~
hajrice
For screenshots, I use an free alternative for Windows(which in my case is
much much better): <http://pokit.etf.ba>

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

------
rs
IntelliJ IDEA for almost everything (web, desktop, server-side development in
Python, Java, Ruby, Scala), except for the quick file edit here and there I
use vim

For deployment, ssh+maven.

Version control: git and svn (slowly moving everything to git)

Project tracking: xp-dev.com (I run it!)

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

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

------
JoelMcCracken
Here is something similar that I posted a while back that got some good
responses:

<http://news.ycombinator.com/item?id=937855>

------
steveplace
<http://searchyc.com/submissions/ask+hn+tools?sort=by_points>

Modify the kw's and you can get some good info.

------
safetytrick
ssh vim bpython textmate weave firebug

weave is awesome especially if you have more than one computer you use
regularly

bpython is fantastic for exploring unknown api's

the rest are... ya know, awesome

~~~
streety
Do you have a link to weave? My google-fu seems weak this morning.

~~~
PidGin128
<http://en.wikipedia.org/wiki/Mozilla_Weave> \- Looks appropriate considering
the description given.

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

------
myth_drannon
Console 2 - instead of the generic windows command prompt. Jing - for screen
captures.

------
inevaexisted
gedit/notepad++, winscp(when on windows), most debugging I can do in Chrome
using the developer tools.

on a side note, has anyone used an editor that does javascript 'intellisense'
and was it any good?

~~~
mistermann
Visual studio has jQuery intellisense at least....its "ok" in my estimation. I
suspect it will get better over time but for now its a work in progress.

------
pascalchristian
nobody mentions Netbeans yet? it's an amazing IDE with support for html/css,
javascript, php, java, phyton, etc and its totally free (GPL license I
believe) and cross platform

------
sjs382
vim, firefox, chrome, ssh, And occasionally when a client has a ton of word
documents where the formatting needs preserved, I paste it into dreamweaver to
sanitize it. :)

------
kd5bjo
vim, git, ssh, firefox, pen+paper, Python interpreter, wget, ion3, find, sed,
cat, grep, awk, bash, sort, uniq, colrm, ...

------
atambo
sublime text, linode, filezilla, msysgit, 5pmweb, firefox + firebug, firefox +
sqlite manager, console2 + powershell

------
Chirag
Notepad++ with Plugins

~~~
mistermann
I know I could probably just google it, but if you don't mind, could you
expand on the "plug-ins" you use?

------
coderdude
gedit, filezilla, photoshop

------
quinto42
\- 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

~~~
quinto42
\+ Redmine. Absolutely essential.

~~~
quinto42
fuck basecamp. i want wikis.

~~~
mahmud
Redmine with basecamp theme here at work :-)

------
pWneD
TextMate, VIM and Eclipse for editing, Transmit for FTP, Acorn for quick image
editing (I'm a really bad designer), Mail.app and SSH.

------
mkramlich
vim, ssh, *sh scripting & Unix tools in general, rsync, git, GitHub, Basecamp,
python, web.py, sqlite3, Apache, Firebug, DropBox, Mac dev & Linux prod
(mostly), Linode or EC2 for hosting. also Gimp, Grab, Skype, Gmail... these
are the tools I'm not uncomfortable admitting in public to using.

however, i'm pretty much also forced to deal with PHP (yuck) and SVN (bleh)
due to legacy issues, though hoping to convert the masses of unbelievers
eventually

------
BoppreH
Does showers count?

