Developer paths beyond the Visual Studio juggernaut

I have just purchased a Mac laptop and am planning to partition it to run OSX and Ubuntu. Currently I use Microsoft Visual Studio on Windows for development projects. My concern is whether there is an equivalent to Visual Studio and the Microsoft Developer Network (MSDN) on OS X or Ubuntu?

Today I was asked this question, one which is very similar to others I have been asked and answered in the past. In Windows the decisions a developer must make prior to starting coding are relatively simple because it is an environment dominated by Visual Studio. When making the move to OSX or Linux the decisions facing the developer are more complicated because no single company dominates these platforms in the same way Microsoft does Windows.

Outside of this Microsoft’s sphere of influence is a large number of avenues to consider which can significantly influence the productivity and even success, of your software project. The short answer is there no direct equivalent to Visual Studio and MSDN for OSX or Ubuntu, but there are plenty of satisfactory alternatives. In making your decision consider what languages you use now, or are interested in learning in the future. Also identify what general platform you wish to develop for; be it the desktop, server, web or mobile. And always remember whilst none of these discussed paths are wrong, some are more right than others depending on the project.

Interesting moves on the JavaVM front

Java One is turning out to be quite interesting this year. Not only has the Java license been changed to allow for easier distribution in Linux channels, but there is also a lot of buzz about coding in different languages for the JavaVM. The most tantalizing from a business perspective is Sun's commitment to get Visual Basic running within the JavaVM. Whilst it will not be practical to get Visual Basic applications written specifically for Windows frameworks running, (that is what Mono is for) it still will be interesting to see whether this significantly grows the Java (as a concept rather than a language) developer community. Even though Visual Basic may be ported across the fact it won't be tightly integrated into Windows like traditional Visual Basic it will more than likely not encourage a mass-migration of low-end, practical developers as some would hope. Still it will be nice to be able to get basic software written in by someone who only knows Visual Basic and have it able to run on any platform that supports the JavaVM.

Thomas Fuchs AJAX presentation & Google's AJAX API

Thomas Fuchs, the guy behind recently did a presentation in San Francisco about AJAX that looked pretty interesting. He has is slide show online in PDF format here. Associated notes made during the presentation have been put online by the guys at Ajaxian.

Intel OSX is all go

Over the weekend I finished the transition from my PowerBook to the Intel based iMac as my primary development platform. Rather than use the PowerPC only Flock or stick with Safari I have started using an unofficical Intel compiled version of Firefox. Performance is excellent and there are no issues with reliability, Java or Flash.

Installing Rails and ImageMagick turned out to be very straightforward thanks to DarwinPorts, the Rails on OSX wiki and the ImageMagick on OSX howto. Currently there is no Intel compiled DarwinPorts binary but fortunately it compiled from source without issue (once the Apple Developer Tools were installed).
In the process I found a nice Eclipse plugin for Ruby on Rails named RadRails.

A name picked and prototype development begins

After coming back from the Christmas/New Years break I have started putting together the prototype system for use in the revised BBsC303 Digital Craft course. The paper I am writing for the CAADRIA conference will be describing the methodology and once that is complete (this Friday) I will be putting a more in depth breakdown of the proposed concept online. In the meantime I have picked a name to call the system by: Reasonate

Its a play on resonate and reason because the two ideas are fairly closely tied to my concept. 'Resonate' in the sense that there is a continual reverberation of ideas within a project until some harmony is reached and 'reason' because at the end of the day it is hoped people will turn to the system to understand why decisions were made (pretty clever eh). I have bought the domain name but unfortunately someone has 'parked' the address space (damn GoDaddy and their $1.99 domain name reservations). There is no logo yet but at least there is a moniker to refer to it by.

37signals: Basecamp

I had heard the name 37signals before as they are a leading Ruby on Rails development house but I had never really thought of checking out what they were up to until this week. It turns out their Basecamp product is a very tidy project management tool with a rather large following. Feature-wise it is fairly simple and is completely centralised around the 37signals server farm (no local Intranet version). Rather than focus on email processes 37signals picks up on the blog model of posts and comments with a central (unversioned?) file repository. It appears their target audience is distributed Web developers who need a simple way to manage the comings and goings of a small group of workers.

Installing RMagic for Ruby on Rails on OSX Tiger

Installing RMagic for Ruby on OSX can be a little tricky especially considering running 'gem install RMagic' usually results in a bunch of error messages. There is a couple of ways to get this installed without too much fuss. One way is to follow the how-to on the RMagic site.

This how-to is a little long and requires installation of many Darwin ports. Fortunately however there is a self contained installer for OSX available called Locomotive. It bundles Ruby, Rails, RMagic and a bunch of other tools into an easy installer.

Getting Rails up and Running with Apache2 on SUSE

After some Googl'ing, reading and playing about I have got Ruby on Rails running on my SuSE 9.2 server. The process was made difficult by the need to compile quite a few different pieces of software from source and configure mod_fastcgi (which has not been worked on for a while). If you are stuck on this subject take a look at the tutorial here:

Rails, Apache2 and SUSE

Getting Rails up and running on Apache2 on SUSE is takes a little work as at the moment Rails is not part of the the SUSE software updates network. This means you must build Rails (and Ruby if using SuSE < 9.3) and the FastCGI development kit from source.

1. First off it you need Ruby 1.8.2 (or greater) to run Rails. If you have a version less than this you will need to compile and install Ruby from source.
Install GCC, make, the C devel, zlib and zlib-devel packages using Yast.
Download the latest version of Ruby from
Untar the source file to /usr/local/src, compile and install (as root or sudo):

Ruby on Rails in OSX Tiger

At the moment I am learning Ruby on Rails (I must say it is very impressive). Unfortunately getting it setup in OSX Tiger was not as straightforward as one would hope.
Although Apple have included Ruby with Tiger there are a few things that do not work right.
For my own future reference (and for anyone else that is interested) this is how I got it working with MySQL correctly on OSX Tiger and MySQL's own OSX binaries.

Follow the install intructions found here:
Rolling with Ruby on Rails on Mac OS X Tiger

Once installed open a Terminal window and enter the following:

sudo sh
(enter the admin password)
curl -O; sh
gem install mysql -- --with-mysql-lib=/usr/local/lib/mysql --with-mysql-include=/usr/local/include