Ask HN: What tools do you use?
42 comments
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
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.
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
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.
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.
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.
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:
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.
* 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.
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
http://github.com/brodie/terminalcolours/downloads
Here is something similar that I posted a while back that got some good responses:
http://news.ycombinator.com/item?id=937855
http://news.ycombinator.com/item?id=937855
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.
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.
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.
I tried to emulate it with Wine and others, but they all failed miserably.
try winscp instead of filezilla.
It just detects them as binary, its not any less efficient than SVN AFAIK, possibly MORE efficient.
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...
Does showers count?
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)
For versionning i use Git and for Project Management i use my own web app. (soon to be shown here)
For screenshots, I use an free alternative for Windows(which in my case is much much better): http://pokit.etf.ba
http://searchyc.com/submissions/ask+hn+tools?sort=by_points
Modify the kw's and you can get some good info.
Modify the kw's and you can get some good info.
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
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).
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.
On specific client projects, I also use Mercurial, SSH and SSHFS.
gedit, filezilla, photoshop
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.
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.
Emacs, slime, nxml-mode, nhtml-mode, firebug, YSlow, git, putty, PaintDotNet, SOAPUI, NaviCat, Clozure Common Lisp.
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, Fireworkseclipse, 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.
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.
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.
pbcopy and pbpaste are fantastic. I use this regularly, it is a part of my ~/.bash_profile : alias cpwd='pwd|xargs echo -n|pbcopy'
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
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
I use xmarks. But I miss some sort of "Panic erase". If I lose my laptop or gets stolen, there's no way to erase my passwords from firefox. A gadget identification like Dropbox with the ability to exclude it from an access list would be great. (I know, it's wrong to save passwords in firefox, but sometimes its easier than copying them from my keepass DB)
Do you have a link to weave? My google-fu seems weak this morning.
http://en.wikipedia.org/wiki/Mozilla_Weave - Looks appropriate considering the description given.
bpython is awesome, far better than ipython and is the best tool to learn new libraries. bob did a great job there. Also weave is fantastic. Do check tarek's work on python-weave client. Rest are time-tested and well-proven tools.
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
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
Pathfinder looks really cool, but the screencast has some really weird music and a TTS voice! Prince is cool too, but expensive!
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.
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.
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.
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.
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.
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.
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!)
For deployment, ssh+maven.
Version control: git and svn (slowly moving everything to git)
Project tracking: xp-dev.com (I run it!)
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
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
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.
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.
sublime text, linode, filezilla, msysgit, 5pmweb, firefox + firebug, firefox + sqlite manager, console2 + powershell
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?
on a side note, has anyone used an editor that does javascript 'intellisense' and was it any good?
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.
I used a trial version of PyCharm and it was quite good with intellisense for javascript and python.
Notepad++ with Plugins
I know I could probably just google it, but if you don't mind, could you expand on the "plug-ins" you use?
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. :)
vim, git, ssh, firefox, pen+paper, Python interpreter, wget, ion3, find, sed, cat, grep, awk, bash, sort, uniq, colrm, ...
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?