24

Most Developers will already have come accross many of these tools but just as every plumber has a favoured brand of wrench or electrician has a favoured model of multi-meter we all have a favourite set of productivity enhancing utilities. Here are a few of the tools which I find tremendously useful or find developing without particularly painful. Writing up a small list of these utilities also helps me more than it may help you because it’ll also serve as a todo list for any new workstation that I want to set myself up on in the future.

(Items marked with an Asterisk * are non-free)

Delphi Tools

GExperts – Every Delphi Developer should have GExperts, adding a fantastic selection of features to the Delphi IDE and Editor.

cnWizard IDE – Quite a few commenters suggested adding cnWizard IDE here, I’ve never actually tried it but did consider it against GExperts. What put me off was the relatively uninformative website (yes, shallow of me but I can’t help it!).

DelphiCodeToDoc Options

DelphiCodeToDoc Options

DelphiCodeToDoc – Generate documentation from your Delphi Source comments, including JavaDoc compatible comments. DelphiCodeToDoc is open source and can generate Windows Help Files or HTML Documentation (or both).

SmartInspect* - This is a commercial product which gives you amazing code logging features for Delphi, .NET and Java applications (and even PHP too now which I also find useful). No more inserting breakpoints, watches and spurious ShowMessages()’s just to track the variables in an application. Even allows Remote Logging when an executable is deployed on a different machine. Saved me from a particuarly frustrating problem in a remote app recently.

SmartInspect Console

SmartInspect Console

Innosetup – A Free installer which allows you to create fully customisable installers which support nearly every version of windows and even 64 bit architectures. I’ve also found it to be just as functional and much easier to use than some of it’s expensive competitors.  Did I mention it’s also free?

MemCheck – Not really an application per se. Not fully Delphi 2009 compatible yet but this is a useful little unit that means adding a single line to your project file and then creates a log file of the memory leaks in your application.

WAnt –  A Delphi specific Build Automation tool in the same fashion as the Java Ant tool. I looked into this tool recently because I wanted a way to automatically Checkout, Build and Test the Dwitterphi project that I’m working on so I know when the SVN Trunk has been broken.

Editors / IDEs

Programmers Notepad 2 – A General Purpose Notepad replacement which includes Syntax highlighting support, bookmarks, code folding, project and project group support and all the usual gubbins which you would expect from a lightweight notepad replacement.

Zend Studio* – My copy is a few years old, before they switched to Eclipse. I’m actually looking at replacing this with something newer and free.

Zend Development Environment (older version)

Zend Development Environment (older version)

Eclipse – Needs no real introduction. A Base for so many tools. I also use the RadRails package for Rails and Ruby Development.

Version Control / File Comparison

Beyond Compare 3* – An amazing File Comparison utility with 3 way merge capability, folder sync capabilities, specialised viewers for various file types and remote comparison tools. I’ve mentioned it many times before but this is an essential tool for developers.

Beyond Compare 3

Beyond Compare 3

Toroise SVN – Easy to use interface for Subversion which integrates beautifully with the Windows Shell. My only gripe with this particular tool is that it seems to bug you often to download the latest updates when they should by now have implemented an auto-update feature.

SVNMonitor – Only Recently suggested to me by @dmiliam via Twitter. I installed it and found it tremendously useful for keeping tabs on whats happening with a SVN Repository.

Internet

SmartFTP* – There are a million FTP Clients out there, some are free with comparable features to SmartFTP but none come close to the overall package and polish that SmartFTP represents including support for FTPS and SFTP and very smooth transfer queues and folder sync features.

FeedDemon – Developed in Delphi by Nick Bradbury. It’s considered very cool to use Google Reader nowadays but you can’t beat the stability and power of a Desktop Reader and FeedDemon has it all. Fast and efficient, especially good when combined with the NewsGator Online Sync Service that allows me to sync unread/read items to my Work PC or even my Blackberry with NewsGator Go! and catch up with news on the go. Sync with Google Reader is also on the way. FeedDemon FTW.

FeedDemon 3

FeedDemon 3

twhirl – I prefer twhirl as my Twitter client of choice as it isn’t as big and bulky as TweetDeck but all that will change when there is a great native win32 twitter client.

Browser

FireFox – No explaination neccessary really.

  • Web Developer Toolbar – Simply indispensable for those who spend a great deal of time crafting Browser content or applications.
  • YSlow – I’ll be honest: I’ve never had a site that is big enough to need the level of optimisation that Yahoo.com does but the advice this tool gives is sound and it will help you to identify bottlenecks in your sites performance.
  • FireBug - Edit, debug, and monitor HTML, CSS and JavaScript live in any web page.

Google Chrome – Used for Day to Day browsing because it’s an order of magnitude faster than almost any other browser out there in general browsing (Just my opinion).

SuperPreview – A fabulous tool from Microsoft unveiled at Mix09 which allows you to view web pages in Internet Explorer 6, 7 and 8 as well as your other browsers whilst allowing you to super-impose expected layouts on top of one another to see how the renderings differ. No more hefty VMs required for testing layouts.. great success!

Shell / Miscellaneous

Open Command Window Here shortcute

Open Command Window Here shortcute

Command Prompt Here - A hugely underrated and disarmingly simple shell extension which adds an “Open Command Prompt Here” sub-item to the context menu in Windows Explorer. No more cd “C:really really really long path name” for these users.

UltraMon* – This improves the Multi-Monitor support in Windows hugely, something that if you haven’t tried it, try it now! Monitor specific task bars, extra system buttons on each window, wallpaper and desktop icon management. Ultramon is so useful that I’m suprised it hasn’t already been acquired by Microsoft like the SysInternals team were.

ProcessExplorer from SysInternals

ProcessExplorer from SysInternals

SysInternals – From by Mark Russinovich and Bryce Cogswell, The best set of power user utilities available out there, Acquired by Microsoft a few years ago. My personal favourites are:

  • Process Explorer – Think of the windows task manager on steroids, double it and then add more.
  • Autoruns – Comprehensive lists of everything starting up when your computer does.
  • ps* Utils – Lightweight remote versions of your favourite windows commands.

VirtualBox – A Free and Open Source VM competitor to Microsoft VirtualPC and VMWare etc. Not as polished as VMWare in some parts of the user interface or networking features but very usable and getting much better with every release.

Window Clippings* – Recommended to me by marc hoffman (although how he knew about it – primarily being a mac user I’m not sure). A very easy Screenshot and Window Clipping tool. Great features, addons available and inexpensive. Everyone has their own preference for a Screenshot tool so whilst I would completely recommend this, I wouldn’t push for you to change over any other.

Power Toys – An amazing set of utilities that add to windows.

SyncToy 2 - A File and Folder Synchronisation tool that I use to keep files backed up to my home servers and which I will use to Sync important indispensable files (music!) to my NetBook when I finally purchase it!

This isn’t a completely comprehensive list (I’m not going to dump a list of everything from Windows Add/Remove Programs!) but I’d love to hear if you think I’m missing out on any spectacularly useful utilities for Delphi or Web Development. Hopefully you found at least one utility in this list that you’ve been putting off trying and have realised why I found it to be useful.

Tags: , ,

24 Comments

  1. volvox on the 23rd April 2009 remarked #

    - cnWizard IDE (similar / complement to GExpert)
    - NSIS Installation
    - File Substring Replacement Utility
    - CharProbe
    - ASuite (to hold all the stuff)
    - RLPack (Reversing Labs Packer) – to pack/protect exe
    - 010 Editor (Sweetscape)

  2. Alex Artsikhovsky on the 23rd April 2009 remarked #

    add DBView from SymbolTools to list – perfect to view virtually any database and dig for data or stored procs. Plus it can save your data locally and restore it later back to the table

  3. Raymond Wilson on the 23rd April 2009 remarked #

    madExcept for exceptional(!) exception handling and reporting.
    FastMM4 for memory leak tracking
    ProDelphi for awesome and easy to use instrumented profiling

  4. Clóvis Valadares Jr on the 23rd April 2009 remarked #

    CnWizards – can’t program without
    Model Maker Code Explorer – can’t program without
    git – version control
    rake – build automation in ruby, best syntax ever
    VirtuaWin – opensource, 4 virtual desktops
    SlickRun – quick commands

  5. Francois on the 23rd April 2009 remarked #

    re: Memcheck…
    You don’t really need MemCheck anymore as its functionalities have been included in the new Delphi Memory Manager.
    FastMM4 v4.92 works with all version of Delphi from D4 up to d2009:
    (*
    Fast Memory Manager 4.92

    Description:
    A fast replacement memory manager for CodeGear Delphi Win32 applications that
    scales well under multi-threaded usage, is not prone to memory fragmentation,
    and supports shared memory without the use of external .DLL files.

    Homepage:
    http://fastmm.sourceforge.net

    Advantages:
    – Fast
    – Low overhead. FastMM is designed for an average of 5% and maximum of 10%
    overhead per block.
    – Supports up to 3GB of user mode address space under Windows 32-bit and 4GB
    under Windows 64-bit. Add the “$SetPEFlags $20″ option (in curly braces)
    to your .dpr to enable this.
    – Highly aligned memory blocks. Can be configured for either 8-byte or 16-byte
    alignment.
    – Good scaling under multi-threaded applications
    – Intelligent reallocations. Avoids slow memory move operations through
    not performing unneccesary downsizes and by having a minimum percentage
    block size growth factor when an in-place block upsize is not possible.
    – Resistant to address space fragmentation
    – No external DLL required when sharing memory between the application and
    external libraries (provided both use this memory manager)
    – Optionally reports memory leaks on program shutdown. (This check can be set
    to be performed only if Delphi is currently running on the machine, so end
    users won’t be bothered by the error message.)
    – Supports Delphi 4 (or later), C++ Builder 4 (or later), Kylix 3.
    …*)

  6. Anthony Frazier on the 23rd April 2009 remarked #

    Some things you might want to take a peek at:

    http://code.kliu.org/ – Check out CmdOpen, HashCheck, and his Notepad2 Modifications (under Misc).

    For code, I’ve come to far prefer Mercuial (and TortoiseHg) over SVN. Git/GitExtensions look very powerful too but I haven’t felt like putting in the time to really learn all the commands.

    Finally, have you seen ToDoList from http://www.abstractspoon.com/ ? It’s a really well done tool.

  7. Nick Bradbury on the 23rd April 2009 remarked #

    Nice to see FeedDemon included in your list – thanks!

  8. jamie on the 24th April 2009 remarked #

    @volvox – Thanks, for those suggestions. I think I’d tried NSIS before but found it a little more difficult to use than InnoSetup. I’m definitely giving Charprobe a try, the HTML and VK codes make it useful in several different settings and it saves me having to lookup the HTML Special Chars table so often!

    @Alex Artsikhovsky – Although I don’t normally use that kind of DB tool, I’ll have a look at that. It sounds like it might be in direct competition with some of Embarcadero’s DB Tools.

    @Raymond Wilson – I was very close to putting MADExcept on my list from the beginning, I tested it on a project recently and I was very impressed at how easy to use it was! ProDelphi is a tool I keep meaning to try but never quite find the right project.

    @Clóvis Valadares Jr – Thanks, good suggestions. I’m a fan of git and have been trying to get people to try out http://www.github.com as an introduction to git. I’ve never used Rake for anything besides Ruby/Rails projects but have gotten used to using Capistrano for Deployment of a few other projects so it would be a natural extension I guess.

  9. jamie on the 24th April 2009 remarked #

    @Francois – Thanks for pointing that out, You’re absolutely correct about FastMM. I wasn’t aware that it could also report memory leaks on shutdown. Isn’t the FastMM library now included with Delphi? That would be a much better solution as MemCheck will require a bit of updating before it is compatible with Delphi 2009.

    @Anthony Frazier – Thanks for the Link, the HashCheck extension in particular caught my eye as I’ve always thought there must be an easier way to verify and create file hashes from within windows. CmdOpen also looks like an improved version of the Command Prompt extension I currently use although I’ll have to test it out!
    The ToDoList App from Abstract Spoon looks a little too complicated for my task management needs, have you ever looked at any online tools such as Remember the Milk? (http://www.rememberthemilk.com/). It’s a simple but very well integrated online solution that also allows me to set tasks and give me reminders via Twitter.

    @Nick Bradbury – Thanks for making such a great RSS Reader Nick, I honestly can’t recommend it enough. Plus, the latest Beta is much much faster. I just can’t see how people manage a large number of feeds in an online reader without getting frustrated with the responsiveness.

  10. John G on the 24th April 2009 remarked #

    File Menu Tools

    Once you try it, you cannot live without it!

  11. Alex Artsikhovsky on the 24th April 2009 remarked #

    @jamie DBView, from my understanding, is not a competitor to Embarcadero tools as it is way smaller. Witten in Delphi it is rather gadget for assisting in developing DB applications and DB conversion projects. It is not designed to create a database, but to view it, filter it or seek in it. Well… it can export to MySQL XML as well as CSV and XLS but this was done only as a secondary feature.

  12. Nikola Jankovic on the 24th April 2009 remarked #

    Instead of Microsoft Expression Web SuperPreview, you can use IETester
    http://www.my-debugbar.com/wiki/IETester/HomePage
    which is only 24MB and free

  13. jamie on the 24th April 2009 remarked #

    @John G – You’re correct – Three hours in and already I’m pretty much convinced I’m keeping it! Thanks!

    @Alex Artsikhovsky – Interesting, I currently use per-database server tools for that purpose but would be open to a single tool for more than one db type and that is as easy to use.

    @Nikola Jankovic – The ~240Mb download for Expression Web SuperPreview really irked me when I first checked the tool out. I suspect that I need to give IETester another try because it didn’t feel particularly stable last time I tried it. SuperPreview is large and a little bloated but allows you to directly compare additional installed browsers other than IE (nowhere near as much trouble as IE normally! ;-) ) and has some cool comparison features.

  14. Rif on the 24th April 2009 remarked #

    I would like to add:
    Total Commander – indispensable file explorer + much more.
    PSPad – general text editor for coding
    HxD – Hex editor
    BullZip PDF – PDF creator (indeed strange name)
    PDFTK – PDF split and merge

    More Delphi programmer tools are listed on the Delphi Wiki
    http://delphi.wikia.com/wiki/Good_Tools_for_Delphi_Developers

  15. RRUZ on the 24th April 2009 remarked #

    shelltools
    http://www.moonsoftware.com/shelltools.asp
    NetReactor – ofuscator
    UltraEdit

  16. Alex Artsikhovsky on the 24th April 2009 remarked #

    DBView
    http://www.symboltools.com/

    BTW – if anything doesn’t work or some “nice and cool” features must be added, do not hesitate to write me to artsikhovsky2001@yahoo.ca with DBView as a subject

  17. volvox on the 24th April 2009 remarked #

    About NSIS and ECLIPSE …

    See the new NSIS plug-in for ECLIPSE:
    http://eclipsensis.sourceforge.net/index.shtml

  18. Richard on the 25th April 2009 remarked #

    KDiff3 (http://kdiff3.sourceforge.net/) is a great *free* diff/merge tool that works standalone or integrates into Tortoise SVN. Does a better job of merging than the built in function – that’s the reason I use it. Richard

  19. jamie on the 25th April 2009 remarked #

    @Rif – A Good Set of tools. I’ve never liked the idea of having a replacement file explorer but maybe it’s simply because I haven’t tried any for some time.
    That Delphi Tools page is very useful, if you look up on the right hand side of this page at the “My Bookmarks” section you’ll see that I added it to my delicious.com bookmarks a few days ago!

    @RRUZ – Interesting links – How effective are those .NET Obfuscation tools? I don’t think I have any projects that would require it but it’s worth saving for later reference. (i’ve just added it to my delicious bookmarks).

    @Alex Artsikhovsky – Thanks, I’ll have a look.

    @volvox – That appears to make NSIS a much more appealing target. I love that there are tools for virtually every kind of environment for Eclipse. I wonder how many tool packages you can add before it begins to become unmanageable?

    @Richard – The built in Merge function used to be a constant frustration. KDiff3 Appears to be a very good little tool – as I’ve already paid for it: I’ll be sticking with Beyond Compare but as you mentioned, KDiff3 is Free.

  20. Mark h on the 26th April 2009 remarked #

    After doing a conversion of our codebase to d2009, I really can’t do without cruisecontrol.net saved me many times already.

  21. Rif on the 26th April 2009 remarked #

    @Jamie
    Well I still have File explorer on my computer ;-) – I just hardly ever use it. If you start use Total Commander note that you should go through the configuration options to set it up, it is amazingly configurable. Some new users give up on Total Commander because by default the mouse right click do not act as expected. I really wish Ghisler would make the default options more intuitive for new users.
    http://ghisler.com/

    For the PDFTK, the precise name is PDFTK Builder. An open source Delphi app.
    http://www.angusj.com/pdftkb/

  22. Salar on the 30th April 2009 remarked #

    Some of my delphi tools:
    DDevExtentions
    http://andy.jgknet.de/blog/?page_id=10

    Castalia:
    http://www.twodesk.com/castalia/

  23. jamie on the 2nd May 2009 remarked #

    @Mark h – Interesting. I use CruiseControl.NET for .NET projects but not for Delphi Win32 projects. If I could use one tool for both then that would be better but have never found the time to fiddle around to try to get it working.

    @Rif – Thanks for the update and hints on using Total Commmander, sound like they’re well worth knowing if you intend on trying it!

    I’m going to add a few more of the tools suggested by commenters to the list so that I know to re-install them in the future!

    @Salar – I hear lots of good things about Castalia but hadn’t seen DDevExtensions before so thank-you!

  24. Sandeep on the 13th June 2009 remarked #

    Try my DBMaster. It is written in Delphi using Zeos.

Leave a Comment