Pragmatism in code

Waxing lyrical about life the universe and everything software related since lunchtime 2006.

Coda - Web Code The Mac Way


It's been a long time since I switched from using Windows as my primary development platform, and whilst you may hear a fair bit about the effect that this has had within my posts (for better or worse). Something that i have never really been able to completely replace on either the Mac or Linux platform was my favoured editor - Ultraedit. Deep down I have a soft spot for Uedit, and whilst it can be a little bloated for simple tasks, years of useage and tweaking to my liking made it my favourite tool for all kinds of development work.Gedit on the Linux platform, once endowed with a few useful plugins, becomes a useable tool for web development. The inclusion of tools such as the 'Class Browser' (, 'Symbol Browser' (, 'Word Completion' ( and 'Find in Files', makes Gedit a really useful editor, which whilst not really feature packed is more than capable, which is excellent for the standard packaged editor that is supplied with the Gnome desktop.For the Mac, there are quite a few editors out there, some free some not, none are really on par with Ultraedit featurewise, but this could be seen as a plus in some respects. I was quite happy using TextMate for web development work, especially as it had plugins available for code browsing and project handling, that is, until I found Coda.Coda, takes up where other editors on the Mac finish, and whilst it may only be aimed at web development, it includes everything that you might need in the day to day life of a web dev.Coda integrates the most useful programs all into one single IDE, it includes project management, an FTP client, text editor, preview window, css editor, SVN client and even a terminal window for remote access to your web server.The Project management features allows you to keep local and remote server details, as well as FTP and SSH login details all together, meaning that when working on a project it is easy to upload / download files, check the results of your work in the inbuilt browser, edit css etc. There is even a built in book library that includes books for HTML, Javascript, CSS and PHP, There is also the ability to add more if you so wish. The in built code navigator allows quick access to classes and functions, and with the addition of a few extra plugins you can also validate your PHP code, and perform other actions such as HTML tidying and url encoding. All of this is in addition to the standard expcted features of any decent editor such as tabbed MDI, syntax highlighting, find in files, text commenting, text conversion and even split window editing.Coda is not a free application, but does offer a free demo. If you're in the market for a decent development platform for web apps, then give Coda a try, I'm sure that you will not be  dissapointed.Coda is available from Panic software at DM

3730 Hits

Whats New?

It's been along time since I wrote anything to this page, this is mainly due to not having the time to spare to site and get some words together.So, what has been happening in the past four months?The DMCMS (DeeEmm CMS) project has been updated a couple of times, the updates were mainly security related and mostly due to the site being hacked (Damn script kiddies!) The development has been rather slow apart from that. The project has  now branched into two seperate versions, with a 'lite' version being available to download from Sourceforge - this is basically the normal version that has been available. The second branch is a version that is incorporating full user and permissions management.The new branch was originally going to be available this year but has now taken a back seat to other projects.The current 'lite' version is currenly still available as a beta version release, but it is likely that this will be released as version 1 before the new year.


A great little program I come across that allows you to use one keyboard and mouse for more than one computer is 'Synergy' Synergy is cross platform compatible and utilises the loacl LAN network to pass mouse and keyboard info between computers. The synergy client needs to be installed on both computers, and then setup to allow one computer (the one with the keyboard and mouse) to be run as the synergy server - the screen positions between both then need to be set and youre then ready.

To switch between computers the mouse is simply moved off of the screen and on to the next computer monitor, in the same way that multiple monitors work.

Continue reading
1934 Hits

Eclipse PDT And Xdebug (Better Than Ultraedit?)

Unusually I have found myself with a spare half hour this morning so decided to put it to good use and write a post here. Progress has been slow of late - the only thing that has really changed is the folder layout - I've created a few new folders and moved some files from the site root - the only real use this serves is simply to tidy things up a little. There's basically two new folders - 'javascript' and 'core_files' - both of these should be self explainatary. For those of you who are interested - checkout the latest CVS - you will see a branch called 'new_folder_layout' under the dmcms_080 module - that's the new site layout.Other worthy things of note are my continued useage of eclipse - some of you may recall that late last year I switched to Linux from Windoze (Ubuntu to be exact) the transition was relatively painless but it did leave me without a linux version of my trusty Ultraedit. Rumors of a Linux port aside it looked like UEdit Studio was not going to find its way over to the dark side and so that left me with little choice than to try something else - that something else was Eclipse with the PDT plugin (which I have installed by using the Pulse Eclipse manager).For the odd file edits here and there I must admit I use the built in text editor (Gedit) which has syntax highlighting and generally suits me fine but for project based stuff (like DMCMS) I've been using Eclipse. The integrated CVS client is great - there's not even any need for a key - just put in your password once and the checkout / update process is seamless and uninterrupted. Checking out into a project is very easy - in fact a project can be created when you check the files out if you require. Overall - very easy to use. My only (very small) complaint is that the CVS commands are hidden under a second level in the context menu (Under the 'Team' menu to be precise).With an active project you might want to set up the Xdebug integrated (free) php debugger - to do so you will need to select Xdebug as the default debugger from the properties menu (accessible under windows > properties) and add in the path to your php executable. A point worthy of note here is that you may not have a php executable if you installed PHP from the repository - you might need to add the command line interface version of PHP - you can easily do this by the following command-(for ubuntu)sudo apt-get install php5-cli

Obviously replace the php5 with your version - now you should be able to find php5 under Usr/Bin (type 'find php5' in a terminal to list all occurances of php5).

The Xdebug debugger is an open source project that is now bundled into Eclipse, it is free and thus very obviously a fraction of the price of the Zend version. For those of you who have a license for the Zend product - Eclipse also offers support for this too

With the Xdebug debugger installed and the CVS client up and running I now have a tool of comparible use to Ultraedit Studio for PHP work -for me it's still a bit clunky but then that's probably more to do with the fact that I've been using ultraedit for many years - I'm sure I'l eventually get used to it.

Continue reading
4779 Hits

One Week Later...

I've now been using Eclipse for the past 5 days and must admit I think I've found a serious contender for replacing Ultraedit. I've set up the CVS client plugin - which incidentally doesn't have the annoying problem found with crossvc and tortoise that requires you to input your password multiple times (I added it once and haven't needed to add it in again!!!) - the CVS client is as good as any others I've used - it integrates nicely into the main editor so you only really need to go into the plugin to set it up. Some of the terminology differs from what you might expect (instead of 'CVS' on the context menu it says 'team') but once you're used to it it really isn't a problem.

Eclipse as an editor has some nice productivity features - for instance - it searches all the code in the project and lists all instances of the text 'TODO' (and some other tags) and provides you with a task list in a window at the bottom the screen - these tasks link directly with the code in which they were found - clicking on them open the relevent file at the appropriate place. You can update / expand the text to make it more useable or readable, plus you can set priorities and mark them as finished too. What a great tool!!Code checking was one feature that I loved about using Ultraedit for writing PHP, well Eclipse not only includes code checking - it handles it in a very different way. Along side the task window you will find the 'Problems' window - this is a live list of all errors and warnings found in all files in the project - No need to syntax check each file - simple browse through the window content - again clicking on the error will take you directly to the relevent part of the code. Warnings and errors are also highlighted by a warning or error icon in the margin of the codepage.Another nifty feature that I love is the full page editing - if you double click on the tab for the page you want to edit all of the docked menus are automatically hidden and the page is shown full size within the editor - menus can still be accessed by the use of small icons around the edge of the screen. Double clicking the tab or selecting one of the restore icons returns the layout back to normal. This feature also works with any of the tabbed docked tool windows as well.I must admit however, I haven't found a column edit mode, which I use quite a lot in Ultraedit. In summary - I actually like this editor quite a lot, whether it is extensible enough to use for other non supported languages remains to be seen but as a PHP editing envoiroment it certainly cuts the mustard, I'm quite happy to adopt this as my primary PHP editor within the Linux envoironment.One thing of note is the way in which you choose to install it. I am running Ubuntu 7.10 (Gutsy) and found that if you wanted to install Eclipse via synaptics and then installl the plugin using the built in feature manager in Eclipse the PDT plugin will not install - this is because the version of Eclipse in the Gutsy repository is too old. this means that you can either manually install a later version of Eclipse, or install the PDT 'all in one'. There is also another alternative - you can use Eclipse 'Pulse' - this is an online plugin management service - it is free to use and currently in beta - Pulse provides PDT as a package as well.Anyhows...Enough talking for the moment - I actually have work to be getting on with. Currently I am working on getting the user group functionality sorted out for DMCMS - this will provide the possibility of many additional features - one of which will be user comments. (Hopefully some of you who read this might also contribute to the discussion) I just thoght I'd take the time to share my findings with Eclipse.L8RSDM.

2271 Hits