I've just made the move!
I'm as from now on developing Gaia Ajax Widgets on my Ubuntu Laptop.
And YUP it was HARD. Especially since I am using an Acer Ferrari 4000 which doesn't have Open Source WLAN drivers. I am going to write here a couple of lines about my experience in my "Race to Linux"! Hopefully it'll come in handy for those needing to do this after I've done it...
Choosing the 64, or 32 bits edition of Ubuntu
For those making this port, at least with the same system as I have I have just one thing to say;
use the 32 bits edition of Ubuntu! At least the 7.04 edition of Ubuntu you will get spared a lot by choosing the 32 bits edition of it instead of the 64 bits edition. I assume it's like Windows XP 64 bits Architecture, nobody cares to support SW for it yet... ;)
In fact it was
Matthew MacSuga who said this to me, and he's a somewhat old eagle when it comes to Ubuntu. (or Kubuntu as he's using, K means KDE instead of Gnome)
Porting Outlook Data
Outlook was HARD I'll have to confess, mainly because I had no idea what-so-ever where to start! I had luckily a data-partition on my harddrive which I could use in both operational systems. I was porting from Microsoft Outlook 2007 and after I got the hang of it it really wasn't all that hard. Here's a bulleted list about how to easy reproduce my experiences...
- Install Thunderbird on your WINDOWS system!
- Import your emails and contacts from Outlook using the Import feature of the Thunderbird.
- Export those data from Thunderbird to some media you can read on your Linux OS. (for me that was the Data-Partition)
- Boot your Ubuntu OS and import those data back again into either Thunderbird or Evolution. I prefer Evolution since I like the Calendar feature of Evolution which Thunderbird doesn't have, but if you're only looking for a nice Email Client I have a hunch that Thunderbird might be better than Evolution...
- Download Outport and run it to export your Calendar from Outlook. Outport must be run on your Windows system and then you copy the file over to your Linux system somehow and import it using the Evolution Import feature.
That's it, now you should have ported your emails and your calendar data.
WLAN, (puuh...!)
WLAN was probably one of the HARDEST things and in fact the point where I realized that I had to start all over again since I had installed the 64 bits edition of Ubuntu and not the 32 bits edition. At least for my Acer Ferrari 4000 this was THE hardest thing to get up running. I've got one word for WLAN; "ndiswrapper"! Get used to is!
Ndiswrapper, download it and see this
Install WLAN drivers for Acer Ferrari 4000 on Linux. I probably spent half a day in the dark before I realized I needed to BLACKLIST the "bcm43xx" driver before I could get this to work. Also the editing of the /etc/modules I spent a long time before I figured out. Basically NDISWRAPPER is a Linux project to be able to run Windows Drivers on your Linux Box. Awesome tool! :)
Mono and MonoDevelop
I want to develop Gaia on my Linux box, and since Gaia is a .Net project I obviously had to install
Mono. Mono is today an extremely mature project and in fact some few weeks ago they announced for the first time 100% ASP.NET 2.0 support! Great news! Congratulations to Miguel and all the other developers on that project for really making a difference! :)
The first thing you must realize when it comes to Mono is that you should
not use the package from the Ubuntu Repository since it's OLD, OUTDATED and you'll NOT be able to build Gaia Ajax Widgets with that version! Download the .bin package (for "all other x86 Linux versions") and
read the documentation for installing it.
Gaia on Linux
Within a couple of weeks we'll come with a new Service Pack of Gaia Ajax Widgets which will have two major features;
- 100% Mono support
- 100% Opera (and maybe Safari) support!
Until now Gaia has had 95% Mono support but you wouldn't have been able to
build Gaia on your Linux box, though since .Net is a binary compatible "byte-codish-language" you could run binaries built with Visual Studio on your Linux box. The single most important feature of the next version of Gaia is that it'll have an extremely easy build process for Linux and all samples will work on Linux. This means that it'll be very easy to develop Gaia on Linux using
MonoDevelop! MonoDevelop is a project forked OUT from SharpDevelop a couple of years ago and is beginning to be really amazing! I think also now that the Mono project has 100% ASP.NET 2.0 support they can focus more on MonoDevelop in the near future. (I think it's mostly the same guys behind MonoDevelop as is behind Mono-Project)
A couple of things I truly miss on MonoDevelop though is a killer debugger! There's no (working) debugger on the MonoDevelop IDE and it looks according to their news that this will also not make it into their first "stable release" (1.0) coming up within a short timeframe. This is something I as a former Windows Developer miss a LOT! Also you should realize that the MonoDeveloper also cannot run ASP.NET 2.0 projects directly, instead you must rely on manually starting XSP2 (Mono WebServer) through the Shell and browsing to http://localhost:8080/Default.aspx with your browser. Of the two the first one I guess will be the most annoying thing as I progress further into Gaia Development.
So those was my 2 cents about how to start coding Ajax on Linux for (Previous Windows) Dummies... ;)
Have fun, I have :)