open source

Open Source Applications For Database Modelling

Are there any open source applications to model my database? Many developers have asked me that question quite often lately.

When coding Drupal modules having a good picture of the database model can help a lot to write the right queries, well, actually this applies to any programming project that uses a database with more than a few tables.

Even if there are many commercial applications, many of them quite stable and complete, I think their prices are way too much for most developers, specially for open source developers like most of us Drupal dudes. Want numbers? I got numbers: CA Erwin Data Modeler costs US$ 3995. With that much dough I'd prefer to complete my list of gadgets I want for 2007 and add another laptop with Linux to my arsenal.

So, what are the options to model your database with an open source tool?

Some years ago I found DBDesigner 4 and used it in a few projects to model on MySQL, the only RDBMS it handles. I was quite happy to know that MySQL had taken over the product to relaunch it as MySQL Workbench, however, MySQL has focused on other tools and Workbench progress has been slow. I've recently read in their forum that they were almost finished with other tasks and would return to work with MySQL Workbench. Good to know.

DBDesigner 4 is still available and is a good choice if all you need is MySQL support. The installation is a little difficult in Ubuntu, although I didn't have any trouble with Fedora..

And what happens if, like me, you also need to model PostgreSQL databases? The only application I found for that some months ago was Mogwai ER-Designer, which works with MySQL, PostgreSQL, Oracle and a few other commercial RDBMS. Mogwai ER-Designer is written in Java, so it runs in most operating systems with a JVM.

Unfortunately Mogwai's interface still needs some work and creating models is not too user friendly, even when they correctly use domain dictionaries. I also think development progress is going a little slow.

What I'm using now, and recommend, is Power*Architect, which, like Mogwai, is a Java application and works with PostgreSQL, Mysql, Oracle and others.

I think Power*Architect has a better interface than Mogwai, creating models and generating SQL is quite easy and takes just a few clicks. Power*Architect has been declared open source just a few months ago, way to go guys!, and there are still many features to add and improve (like support for native auto increment fields in both MySQL and PostgreSQL) but it seems the development team is right on track and version 1.0 is coming.

So there you have it, there's still hope and we'll be seeing more mature database modelling tools in the open source arena soon.

Oh, and if you know of any other let us know.

Update September 19: Sean just told me that native types auto_increment in MySQL and serial in PostgreSQL are supported in the latest versions of Power*Architect.

Tomboy, Notes for Web Developers

Have you seen those persons that stick post-its on the borders of their computer screens? I know this is just too much but you know what they say about images and words. Sometimes they are ocassional users that use their boxes for simple stuff and I guess they find the whole post-it thing normal but, for a web developer managing so many pieces of data everyday, this is just a cause of disorder. Why using paper when there's software for taking notes?

During my years as a KDE user I was ok with Knotes, now a component of KDE Kontact, but a few months ago I made the jump from KDE on Fedora to Gnome on Ubuntu. Using a KDE app on Gnome didn't seem right so I moved all my notes to Tomboy and boy it was an excellent choice!

Tomboy comes pre-installed with Feisty Fawn and integrates perfectly with your desktop. It's very easy to create notes, link (wiki style) and search them.

I use Tomboy all day, everyday, to save pieces of code, SQL queries, simple reminders (for things needing immediate attention, for everything else there's Evolution) or any other thing requiring a paper and a pen, items that I hope to eliminate from home as soon as possible.

Thanks to Tomboy my desk is free of papers, just got gadgets on it.

Here's a shot of Woodcarver with Tomboy, vim and a cute lady on the background.

Taking note with Tomboy on Feisty Fawn

Hit the Road with Ubuntu and a System76 Pangolin

Just a few days ago I wrote about Dell, Ubuntu and Linux conquering the world in 2007. Today I'm the proud owner of a brand new System76 Pangolin.

System76 Pangolin

Her name is Amber (she joins Flenser, Woodcarver, Alpha and Manny) and she's a nice Core 2 Duo T7200 laptop with a gorgeous 15.4" wide screen and 2 Gb. of RAM running Ubuntu Feisty Fawn.

Ordering from System76 was a great experience, I was able to pay directly from my checking account, I got quick and friendly email replies from Carl and Erik to all my questions before and after buying and they even upgraded my shipping to 2nd day UPS for free.

The laptop works perfectly out of the box. I turned it on, followed Ubuntu's simple wizard to create my user account, which runs the first time you boot, and it detected my home Wi-Fi network instantly. I was browsing the Net in just a couple of minutes. I'll be telling you more about sweet Amber in a few days, she's now my main computer.

I plan on buying another laptop later this year and even if I'd like to try a Linux Dell I'm quite happy with my first System76 and could go for a Serval next.

Anyway, if you're on the market for a Linux laptop, System76 is highly recommended. Meanwhile, why don't you meet Amber on Flickr?

2007: The Year For Linux on Laptops

A few months ago I knew about a cool small company: System 76, embraced by many in the Linux GNU community because they were one of the few selling desktops and, specially, laptops with Linux preinstalled.

Running Linux on laptops has always been problematic because many hardware manufacturers are too reserved with their software, hence the development of open source drivers is harder or sometimes just impossible.

Even if any modern Linux distribution includes many drivers and can detect a lot of current hardware, expecting full wireless, video and multimedia support in laptops was often some kind of a gamble.

But that's started to change and System76 has been one of the best examples of companies providing open hardware and writing their own drivers for Linux. The company even has a forum hosted by Ubuntu, the distribution pre-installed on all their machines.

And there were so many great testimonials of people using System76's laptops with Ubuntu that I couldn't resist and ordered mine a few days ago, it should be arriving next week.

But that's not all, the biggest computer manufacturer in the world, Dell, started listening to their users some months ago, they asked for, actually screamed for, you guessed, Linux. After a few weeks Dell told the world the good news, they would start offering desktops and laptops with Linux pre-installed, goodbye Windows tax!

Yesterday, May 1st, 2007, we reached what I think is the tipping point of Linux:
Dell announced a deal with Ubuntu, which will be preinstalled in their Linux desktops and laptops.

There's no doubt that this move will make the number of Linux users skyrocket.

The world is changing, there's no coming back, and you know what? Even if the change started many years ago thanks to a few great minds and now we are millions of Linux geeks around the globe, Ubuntu, System76 and Dell have already earned their place as very important players.

And of course, I already have a Linux Dell laptop in my wishlist.

Newsletter Checkbox in Campaign Monitor Blog

I just got a message from David Greiner telling me he had posted about Newsletter Checkbox in Campaign Monitor's blog.

Newsletter Checkbox is a very simple module but gets the job done and has received good feedback from many users so I'm looking for the time to improve it and release a new version soon.

If you have some suggestion please add your comments.

What Should My Second Linux Distro Be?

I've been a RedHat/Fedora user for a long long time, since RedHat 3 I think, and feel quite ok with it.

I've even run a few servers based on Red Hat Enterprise for more than three years when I had a web hosting business with more than five hundred domains and a lot of clients. Now I run a VPS based on CentOS 4.3, a Red Hat Enterprise cousin.

But make no mistake, even if I've had my share or rpm, yum and a few GUI based applications I'm all for source compiling and the command line.

Now I'd like to add a second Linux distribution under my wing, not for replacing my loyal Fedora desktops and CentOS server but because I'm a good 'ol geek who needs to explore.

I'll be using an Intel P4 HT box with 1Gb RAM.

I have a few friends in the Debian community and I like the way the project is run. Debian is certainly my first choice for a second distro.

My second option is Slackware, which I understand is geared to the most hardcore Linux dudes out there.

Of course I know it all depends on what I need Linux for, well, I need it for quite a lot, let's see:

  • Web development: the usual vi editing for HTML, PHP, CSS and Javascript. Soon I'll start playing with some frameworks like Ruby on Rails or Django and obviously I need Apache and a RDBMS, currently MySQL.
  • Graphics design: Gimp, Inkscape and Scribus.
  • Some 3D fun with Blender.
  • This is quite standard: the usual Firefox, Thunderbird, MP3 player and OpenOffice pack.
  • When Mento Gamba wants to take a walk the Second Life client on Linux needs to run.
  • This is very important: I need my Wacom Graphire 3 tablet working right, including pressure sensitivity. I can't live without that.
  • I run a dual head monitor setup and my graphics card is based on an ATI x700 chipset.
  • A couple of applications under Wine: Internet Explorer 6 and 7 (just for testing please, don't give me that look!) and Adobe Flash 8.
  • And I'll be playing with some J2EE soon too.

What Linux distribution would you recommend as my second one?

Joomla and Drupal: The best CMS of 2006

And the winner of the best open source CMS award 2006 is Joomla.

After counting more than 16000 votes and the selections of three judges, there was a tie in the first place between Joomla and Drupal, which had to be resolved by a fourth independent judge.

Joomla is considered to be very easy to install and have one of the largest and more active communities.

Drupal highlighted points were how long the project had been around, its secure code and clever node and permissions system.