Merb merges with Rails 3!

In a bit of surprise news, Rails merges with the Merb team.

The implication will be that the efforts of the two frameworks won’t be duplicated across the teams. Users of merb will be able to enjoy the third-party support that Rails enjoys – for example Rails is bundled with the latest Mac OS X, and Eclipse has the awesome RadRails.

My previous reservations re: RoR may now be fast disappearing. Look for future blog post that re-evaluates the position.

From YehudaKatz’s blog: On to the news: beginning today, the Merb team will be working with the Rails core team on a joint project. The plan is to merge in the things that made Merb different. This will make it possible to use Rails 3 for the same sorts of use-cases that were compelling for Merb users. Effectively, Merb 2 is Rails 3.

Experimenting with Ruby and Merb

I’ve been looking through Ruby on Rails and I find many of the conventions fascinating. Convention-over-configuration is cool one … it means instead of having to tirelessly configure every single aspect of your application … RoR does some things automagically, provided you name things correctly. This cuts down on the amount of time spent tinkering with configuration (editing large XML files, a la Hibernate) and more time actually dealing with the problem at hand.

But what is perhaps RoR’s greatest strength is also likely to be it’s greatest weakness. Although you can get apps up and running very fast with a framework like RoR, you may find yourself tied to a certain way of thinking – because the framework was prescriptive like that.

And now Merb comes along. Although it’s not got as big a user base as RoR, Merb seems to have a lot of good potential. Losing some of the “automagical” convention-over-configuration pixie dust has its downsides, but the upside is that Merb seems to be a lot more flexible and lightweight, and less prescriptive. We shall see the results of these new experiments …

Fedora 10 co-operating with Windows XP – part4

Awesome! I got suspend and 3D graphics working fine on the Dell E6400!

Searching the Fedora / RPMFusion repositories revealed this:

[izamryan@localhost ~]$ yum search nvidia | grep -i ‘driver’
: driver for NVIDIA graphic cards
xorg-x11-drv-nvidia.x86_64 : NVIDIA’s proprietary display driver for NVIDIA
: driver for NVIDIA graphic cards
xorg-x11-drv-nvidia-beta.x86_64 : NVIDIA’s proprietary display driver for NVIDIA

NVIDIA proprietary display drivers … hrm … my laptop has an NVIDIA GPU Quadro NVS 160M.

Get some more info:

[izamryan@localhost ~]$ yum info xorg-x11-drv-nvidia
Loaded plugins: refresh-packagekit
Installed Packages
Name : xorg-x11-drv-nvidia
Arch : x86_64
Version : 177.82
Release : 1.fc10
Size : 9.2 M
Repo : installed
Summary : NVIDIA’s proprietary display driver for NVIDIA graphic cards
URL : http://www.nvidia.com/
License : Redistributable, no modification permitted
Description: This package provides the most recent NVIDIA display driver which allows for hardware accelerated rendering with NVIDIA
: chipsets GeForce6 series and newer. GeForce5 and below are NOT supported by this release. For the full product support list,
: please consult the release notes for driver version 177.82.

Installing this with yum -y install xorg-x11-drv-nvidia enables 3D acceleration (Desktop Effects now works) and suspend works perfectly now.

I now pronounce the Dell E6400 as sufficiently “Linux Friendly” for use. My only remaining hardware issue seems to be the Bluetooth device, and I haven’t tried the memory card reader (I’m not a photographer).

Fedora 10 w/ Aptana Studio 1.2 & RadRails

Here’s a short recipe for getting Fedora 10 up and running, with RadRails. Fedora 10 comes with Eclipse 3.4, so for this we’re going to use the stock MySQL & Eclipse from the repositories, then add the Aptana Plugin to Eclipse, then add the relevant Ruby Gems to the root filesystem.

I’ve done it this way because: Eclipse from the repositories also includes some nice Fedora niceties, Aptana’s PHP editor has a unique cloud feature, and Fedora’s repositories don’t have all the Ruby Gems required. Using the RubyGems package manager in this instance is better than using the Fedora one.

1. yum install mysql-server eclipse-pde ruby ruby-devel ruby-mysql [if you get problems w/ sqlite3 and directory names, go with MySQ. You need the "SDK" version of eclipse, not the "Platform" version , and I think PDE provides it. You'll need a Ruby interpreter (this one is the slower stable 1.8 interpreter, not the newer 1.9 development interpreter) and the Ruby header files].

2. Scan through some existing documentation from Aptana. Follow the steps documented on this page.

3. Once you have Aptana running within Eclipse, open up the “My Aptana” page. Click on the “Plugins” button of the My Aptana page (subtitle: Extensions for Studio. It’s the yellow one, you can’t miss it, the fourth icon from the left).

Screenshot of Eclipse with the My Aptana page open

Screenshot of Eclipse with the My Aptana page open

4. Choose the RadRails plugin. If you also do PHP development, I also recommend installing the PHP Extension. This is unique because you can develop PHP projects locally then deploy to Aptana’s Cloud service in one-click.

5. Once RadRails is installed in Eclipse, you will also need Rails on your local Linux system. Open a terminal, become root (su -), download the latest RubyGems file from RubyForge. You’ll need 1.3.1 or above. Un tar the file (tar -zxf rubygems-1.3.1.tar.gz), then go into the rubygems directory you just created (cd rubygems-1.3.1) and run the setup (ruby setup.rb)

6. Congrats – you have Eclipse w/ Aptana Studio & RadRails set up, and a local install of Ruby w/ RubyGems. Now install all the gems you’ll need for RadRails (gem install actionmailer actionpack activerecord activeresource activesupport cgi_multipart_eof_fix gem_plugin mongrel rails rake ruby-debug-base ruby-debug-ide ruby-prof -V) Note: the -V is the verbose switch.

7. Viola, you should now have a working install. Go to RadRails and create a new project, everything should be automated and Eclipse should create for you a nice shiny new Rails project. Good luck & Have Fun!

Fedora 10 co-operating with Windows XP – part3

OK … trying to get MS Office to run within Linux is do-able … just not easy to do for someone who doesn’t have the Office CD’s (i.e. me). I might have to drop by our local Microsoft distributor’s and ask if they can loan me the CD so I can install it on my Linux partition … LOL! My problem right now is that I have an OEM install of Office 12, and I can’t run the Install from the CD, which triggers copying all the relevant DLLs from the CD.

The winetricks shell script failed to run on my laptop … due to my iffy internet connection. I think I’ll just have to resign to keeping Windows for Office work, and Fedora 10 for experimenting with OSS.

Fedora 10 co-operating with Windows XP – part2 (Updated)

If you plan to use Linux on your Dell Latitude E-Series (E6400, E6500, etc), make sure you can live without suspend. 3D graphics support also seems very iffy. [Update: Both 3D graphics and suspend works now, after I installed new drivers from RPMFusion]

On the bright side … there are new drivers for the Broadcom wireless NICs, and work beautifully in Fedora 10, courtesy of rpmfusion.org. And the 64-bit support is very good … I’m using 64-bit Fedora, and I thought I’d have more problems using a 64-bit OS. It’s actually going very well, Linux now has 64-bit support in Flash.

Fedora 10 co-exists nicely with Windows XP. After setting up dual-boot, Windows tried to “check the disk” that Linux is sitting on. Silly operating system … that’s ext4 something you’ll never understand. My problem is now hardware compatability issues. Living without suspend is really really bad. When I used my wife’s 2006 MBP, I never had to switch it off, always using the Suspend-to-RAM feature with never a hitch. Always resumed perfectly.

I think it’s time to seriously evaluate the Mac Book Air … or even a new 15″ MBP. Fedora is a great distribution for power users, but you really have to pair it up with compatible hardware. Maybe one of the things the Brunei’s Open Source Software Community could do is to award “Tested with Linux!” stickers to hardware vendors who ship good Linux gear in Brunei … hrmmm …

Fedora 10 co-operating with Windows XP – part1

Right after my laptop went blue screen of death on me … I received a replacement laptop. Unfortunately the replacement is paired off into a Windows domain that has very restrictive policies. Which means, no installing extra programs, no playing around with OSS. This can be a bummer, especially when I need work requires me to interact with a Linux machine over ssh.

So instead of trying to fit an OSS peg into a Windows hole … I’m just going to try getting Linux working on the machine. This will be a challenge since the wireless card doesn’t have full support. But the nice thing about dual-booting is that I only have to carry around one machine, yet still be able to have access to all the Linux goodness (whoami? i am root) and Windows-specific apps (using Wine) while booted into Fed0ra 10.

I’ll be updating this blog with my success (or failure!) stories on getting Fedora 10 to play nice with Windows on the same machine. In case you are wondering to yourself … why bother? Let me leave you with this:

From desire, ariseth the thought of some means we have seen produce the like of that which we aim at;
and from the thought of that, the thought of means to that mean;
and so continually, till we come to some beginning within our own power.
Hobbes, Leviathan.

Score, for OSS, IBM and ADempiere

ADempiere has been ported to IBM i Operating System and IBM WebSphere Application Server. This port was done by Grant Quick, a student at the University of Technology, Sydney in collaboration with the IBM Innovation Centre for Business Partners. Grant Quick has put up his paper on his findings on his website.

ADempiere is the leading open source Enterprise Resource Planning (ERP) tool. These are enterprise-wide tools that orchestrate the operations of a business. An ERP can come with tools for generating financial reports, managing inventory, analysing the performance of employees, sharing information with other companies, etc. When wielded correctly, these things have the opportunity to drive an organisation’s efficiency. Imagine the waste, excess work and lost time you could save if your organisation could manage, schedule and negotiate transactions with other organisations seamlessly.

In the ERP field, ADempiere is particularly interesting because it is open source. That means that developers, enterprises, system integrators, anyone and everyone can take it free of charge and make their own modifications to it. Consultants can create consulting practices by offering “Design, Build, Operate” services. Trainers can develop courseware and train users how to use it, consultants how to consult with it, government officials to interpret its data.

Skip forward to page 63 and you find this gem …

Whilst the current OSGi developments will make it significantly easier to integrate new plugins with the core product, it will still leave a lot of work to be completed if the decision is made to create an SOA. The entire application suite would need to be restructured so that useful services could be externally exposed to other applications and swapped out for components supplied by other vendors. This would be a large undertaking and require the support of the whole community. Although OSGi may be used for the backbone of an SOA implementation, it may prove beneficial to use a more extensive and flexible framework such as J2EE. Since an architectural overhaul is scheduled for version 4.1 of ADempiere, discussion on adopting an SOA needs to begin in the community soon.

I think transitioning to a SOA model could enhance ADempiere in versions to come. Here’s looking forward to 4.1! Continue reading