My web development toolkit

Posted at 01:39:01 pm by hari under Software and Technology (1087 views)

Since I tinker with PHP, XHTML, CSS and programming as a hobby, I use quite a lot of development tools which make my life easier. Here I'll share this information with you and hopefully you'll find it useful as well. Note that my primary OS of choice is Debian GNU/Linux which packages quite a large bundle of Free Software and makes life much easier thanks to its fantastic package management system.

Platform: Linux, Apache, MySQL, PHP with firewall

On my Debian system, I've installed Apache 2.0 web server, along with MySQL and PHP 5. This makes for a fairly standard web setup and although my router acts as a firewall, I've also installed and configured guarddog which acts as an excellent graphical front-end to iptables, the Linux kernel firewall. This makes up a good "sandbox" setup which is great for development and local testing before uploading content to the web.

Web editor of choice: Quanta Plus

Quanta Plus is an excellent web development editor for KDE. Optimized for PHP development with syntax highlighting, code auto-completion and function parameter tooltips, this resource is great for editing HTML, XHTML and CSS along with PHP and other code. I cannot imagine writing PHP code without this editor and it has served me well in editing, creating and optimizing my website offline.

It has a large set of tools which automate creation of HTML forms and tables as well as a fully integrated style editor which allows you to create CSS in an integrated GUI environment.

It has many more features which make life easier for developers, but I'll just say that this is one tool that every PHP programmer needs to check out before using commercial, proprietary web editors.

Graphic designer: GIMP

GIMP is another tool I really over-use for creating cool web graphics. It has many scripts which make this easy, but I generally like to experiment with this tool to try out new effects. In fact, the current theme for this blog was designed using GIMP. Once again, for those who cannot paid, proprietary tools like Photoshop, GIMP is the way to go, particularly for web graphics design.

Miscellaneous development aids

Here are a list of other programming tools which I find useful in my web development work.

  • MySQL Navigator - while the MySQL command line is the most flexible and powerful way of manipulating databases, sometimes you need a graphical tool just to examine and view table structures and contents. This is one such tool I found in the Debian repositories. Features include exporting/importing databases as well as running SQL queries on the server.
  • KRegExpEditor - a KDE application which allows you to create regular expressions in a graphical, intuitive way. An excellent companion for all programmers, particular those who need to parse textual data in a powerful, flexible manner.
  • KColorChooser - this is a KDE widget which is bundled along with the kdegraphics package. What this makes easy is picking colours from anywhere on the desktop which is very handy when editing CSS files.
  • KDiff3 - a useful front-end to diff and patch, this allows me to easily compare two versions of the same file for changes/modifications. This is handy if you find the command line diff tools inconvenient.
  • rsync and ssh - rsync allows me to securely upload/sync files on my server (a much better, faster, safer alternative to FTP), while the OpenSSH client allows me to securely login to my user account on the remote server (access kindly provided by Drew).

Finally of course, I have installed all the relevant documentation including PHP documentation on my hard disk which allows me to browse them without an internet connection. That's about it. If I remember any other tool which I use regularly I will update this post.

8 comments

GravatarComment from: drew [Visitor] · http://trickykid.org
Hmmm.. this made me think how little tools I use to complete a large amount of tasks.

For any type of editing, it's vi for me. Yeah that's right, not vim, not emacs, gedit, nano or pico, just plain old vi.

I do love the gimp for graphic manipulation.

Unless it's webmail, any other mail is usually checked with mutt and I guess my most used tool would actually be bash, preferred shell. I use it to administer iptables, networking and even using mysql CLI or console to administer databases.

And of course, rsync to transfer files back and forth from servers or machines and ssh.
Wednesday Oct 10, 2007 @ 17:56
GravatarComment from: hari [Member] · http://literaryforums.org
Well, I cannot do serious programming with vi or vim because it doesn't have many conveniences that I need, including function tooltips and autocomplete (both of which optimize my time by avoiding looking up documentation for functions all the time). Besides coding within the GUI just feels more natural to me as I keep switching workspaces all the time and seeing the results of my scripts in a browser.

Secondly I use these tools because I feel that they are Free! :-)
Wednesday Oct 10, 2007 @ 18:29
GravatarComment from: RT Cunningham [Visitor] · http://www.untwistedvortex.com/
My web editor is UltraEdit, a simple text editor.

I don't have access to the shell, or I'd be using rsync as well. I'm left with just FTP. :-(
Wednesday Oct 10, 2007 @ 19:45
GravatarComment from: hari [Member] · http://literaryforums.org
FTP is quite slow, RT. It is, in a way, an outdated protocol, but remains the most popular for file transfer.
Wednesday Oct 10, 2007 @ 19:52
GravatarComment from: drew [Visitor] · http://trickykid.org
To my knowledge, FTP is one of the fastest protocols to transfer data, but it only really matters when you're transferring a lot of files and large files or transfers.

But rsync comes into play if you already have most of the files on the remote location, as it will not overwrite any files that have not changed, thus making it seem faster in technical terms as it does not actually need to transfer all the files, unless it's a full dump of course.

Another advantage I think it has is that it doesn't require so much interaction, especially if you have ssh keys and don't need logins and prompts to start the transfer of files.

But again and if I'm not mistaken, the FTP protocol itself is actually a faster protocol on speed measurements of actual data going across the pipe.
Wednesday Oct 10, 2007 @ 22:37
GravatarComment from: drew [Visitor] · http://trickykid.org
And another feature I forgot to mention, rsync is secure, unlike an FTP connection unless you use sftp, which rsync and scp can utilize. So you just get more options and functionality out of rsync over regular ol ftp. :)
Wednesday Oct 10, 2007 @ 22:40
GravatarComment from: hari [Member] · http://literaryforums.org
Drew, you're right. FTP is insecure and transfers files as plain text. I guess it's also faster for that reason. Also the mode in which you transfer files (ASCII or binary) affects the speed to an extent (I think).

I would agree that rsync might be slightly slower technically, but because it allows compression and encryption, you might get better utilization of bandwidth.
Wednesday Oct 10, 2007 @ 22:44
GravatarComment from: drew [Visitor] · http://trickykid.org
Yeah, we had to explain to end users at a previous employer the benefits of FTP to share files for clients as they were trying to send files larger than 10MB thru email, when we had a publicly accessible FTP server for such things and they kept crashing our mail servers. A few hits on the head and explanation knocked some sense into them after that. :)
Thursday Oct 11, 2007 @ 00:19

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
PoorExcellent
:!: :?: :idea: :) :D :p B) ;) :> :roll: :oops: :| :-/ :( :'( |-| :>> :yes: ;D :P :)) 88| :. :no: XX( :lalala: :crazy: >:XX
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)