Is there any list of software that you recommend that increases a developer's productivity? Not necessarily programming software but organizers, planners, etc.
For eg. I just found this fences software to group desktop icons.
Is there any list of software that you recommend that increases a developer's productivity? Not necessarily programming software but organizers, planners, etc.
For eg. I just found this fences software to group desktop icons.
I like Expresso. It is a regex tool that makes working with regex easier.
N/B: I do not mean coffee! I mean the software tool :)
I find Mind Mapping useful. MindMapper is the one I have and know best, but there are many others.
Helps me organize my thoughts about a problem.
Evernote for a mind dump application and Remember the Milk for a task list. Also, to daily improve your general computer productivity I highly recommend going to Lifehacker.
Take a look at How do you organize your work? question. There is a list of programs helping to organize your every day tasks.
Big list of online prodctivity tools. I recomend reading a book The Productive Programmer by Neal Ford.
Here is a very nice list of tools.
I give many thanks to Scott Hanselman for creating this list.
I use Pomodoro Technique: http://www.pomodorotechnique.com/
There's a desktop app for it written in Air but I hate Air because of perfomance. So I've written my own simple timer for it :)
The tool that most improves my productivity is the desktop trash can.
... i.e. putting away all the distracting stuff, working on what I need to and deleting the rest.
If you want efficiency then you want "best practices" and then you ask which tools support these practices.
For example, having a bug-tracker/todo list saves a LOT of time. So there's trac, basecamp, github, fogbugz and... they're a dime a dozen really, I prefer Trac myself.
Version control saves time, distributed version control saves the most time. So try git, bazaar, or mercurial.
Unit testing saves time. Believe it or not. It saves time in the long run, so use whichever xUnit framework to save time.
Gantt charts DO NOT SAVE TIME on projects with less than 10 people. I know, I've dealt with them a lot. So look out for MS Project, or GtkGantt or Kivio or whatever.
One thing to keep in mind with this list, to save time you need to invest some time to learn the tools. So always weigh in whether the tool proliferation is worth it.
Hope that helps, it took me a while to learn these things.
Gnome-Do, and I guess by extension Quicksilver. I haven't used Quicksilver so I can't comment on it's usefulness.
It hooks into everything and minimizes the cost of a context switch, when you need to do some task in another program.
For example looking something up on google becomes as simple as typing "Win+space searchterm enter" from any window.
Best file manager for programmers still is Total Commander. And I switched to Mac long time ago. I do miss it.
Sometimes the lack of software increases productivity. Close any browser tabs containing Google Reader, Reddit, Digg, Slashdot, and close any IRC sessions. Productivity increases tenfold. ;-)
I use emacs and org-mode in a GTD style, it gives me an overview of my tasks, and lets me consider the code rather than remembering the N tasks that i'll have to do during the day.
Also, the browser is a double edged sword, it might be that shutting down the browser after each search will make you think before you surf.
For non-programming related, check out "everything" http://www.voidtools.com/ for extremely fast file searching on windows. It handles regex's as well. I hotkey it to ctrl-alt-f, and i never have to click to find files again, or remember an entire file name for that matter.
If your using visual studio for c++ or c, check out visual assist X from whole tomato. Where intellisense fails, vax usually can figure out whats happening.
On a Mac, software such as SelfControl is good if you're tempted to visit non-work related websites.
Although you may be asking for software for yourself, I've found that the best way to handle this was to let team members choose their own software, operating system, and so on. As long as their choices didn't affect the rest of the team (such as needing a certain editor, etc), they are free to use whatever makes them productive.
As a corollary to that, I try to not let any tool decide the process. When the tool decides how you do things instead of the other way around, you have problems.
I'm mostly a toolsmith, so I end up automating most of any process. Since I also create the tools, I can change the process as it evolves.