Category: Reviews
Monday Mar 10, 2008Visual Basic (almost) on Linux
I've known about Gambas for a while now, but I neglected mentioning it on this blog. Recently this project made it back to the Debian repositories and I was really pleased to see how well it has matured into a full-fledged Visual Basic-like development environment for Linux.
Now, I know that a lot of developers scoff at Basic in general and Visual Basic in particular. But to be honest, it was my first real GUI programming experience on Windows and I was immediately hooked by its simplicity and power until I got into Visual C++ and such. Similarly Linux programming needn't be all about complex shell scripting and C programming. There are *plenty* of options for newbie programmers who just want to get an application developed as quickly and painlessly as possible.
Gambas is not a VB-clone but those who've used VB for any length of time will immediately feel at home with it. Though it has a long way to go, I was able to write a fairly decent GUI application within an hour (and that was slow by my standards). The best thing about it is that it has support for both QT (with or without KDE support) and GTK interfaces, so all you need to do is choose the library you want to use for your final executable and you're set. Besides it has a number of components which tap into the full power of libraries like libXML, ODBC, MySQL, PostgreSQL, OpenGL and so on.
So if you're looking for a simple RAD tool for Linux without having to learn a complex scripting or programming language, give Gambas a try.
Rosegarden: Compose Music in Linux
If you are a budding/amateur music composer like me or you just need to vent your creative energies into music, Linux has the best tools in the business to get the job done. I've looked around every corner of the web and I couldn't find a MIDI sequencer/composer better than Rosegarden. It does have a bit of a learning curve and you'll need to learn how to use the score editor (or the piano roll) to make sequences but once you master that, it's a bit of a breeze to put together a wonderful little song. I know there are other MIDI sequencers and trackers, but in my opinion, nothing comes close to the stability and configurability of this program.

I've always been fond of Trackers, ever since I used MIDITracker under Windows but I couldn't find one which was stable and feature-rich like it, so I decided to go with this program instead. And once I found my way around the piano roll, composing music is as simple as drag and drop.
Of course, you need to set up MIDI on your Linux system first, but I've already covered that in past articles. You can either go with TiMidity or use qsynth (a GUI front-end to fluidsynth). Of course, you need good sound patches or sound fonts.
You can download sound fonts for use with qsynth/fluidsynth at HammerSound.net or you can get the EAW patches for use with TiMidity. I don't have any particular preference for either, so use whichever one works for you. Make sure you download a GM-compatible set if you intend to share your work with others.
Here's a sample piece I composed in Rosegarden (MIDI format):
Download: new-creme-1.mid (18.9 kB, ~2 min)
Don't ask me why I named it New Creme 1.
Note that it is copyright material, so please don't use it for any purpose other than personal enjoyment without informing me. ![]()
My web development toolkit
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
kdegraphicspackage. 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
diffandpatch, this allows me to easily compare two versions of the same file for changes/modifications. This is handy if you find the command linedifftools inconvenient. - rsync and ssh -
rsyncallows 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.
A review of Hari's Corner
I got Hari's Corner reviewed by my good friend, RT Cunningham at Untwisted Vortex. I requested the review because it's always interesting to get a different perspective of my writings and because I respect RT's insights.
If you want your blog to get reviewed, just ask RT by either commenting on his blog or by e-mailing him. I think blog reviews are quite interesting because it's hard to assess how readers perceive your writings from comments to individual articles. It's good to have a complete assessment done just to know where one is heading.
3D modelling tool that's easier to use than Blender
Misfit Model 3D is a software that recently appeared in Debian's repository and so caught my eye. For those looking for a simple 3D modelling program without the complexity and the advanced features of Blender this appears to be a good choice.

As you can see from the screenshot, it has a more familiar QT interface (with menus) and intuitive editing features that don't require you to memorize a dozen keyboard shortcuts. The familiar front-left-top views used by many 3D modelling software along with a perspective mode for preview also gives it a thumbs up on the usability score. The only thing I don't like about it is the cyan background (and I haven't found out where to change this setting). However that's only a minor irritation.
It is written in Linux, but it's also a cross-platform application available in FreeBSD, Windows and MacOS X (experimental). It seems to have enough features to keep any amateur 3D artist happy, so if you're one, give it a go. I think you'll like it.