12 May 2009

JeOS, Oracle XE and VMware on MacOS X

Last week I installed Ubuntu JeOS (Just Enough Operating System) on VMWare Fusion. JeOS is a slimmed-down version of Ubuntu specifically made for installation in a virtual machine so that it has a much smaller footprint than the normal Ubuntu distribution. Anyway, I did this so that I'd have a VM with a smaller footprint that I can use on my MacBook Pro for development and testing.

After setting up JeOS, I installed Oracle XE, a slimmed down version of Oracle that is free for development and distribution. I used these instructions for installing Oracle XE on Ubuntu but there were some catches, namely that by default the web application for Oracle XE was bound to the localhost, i.e., I couldn't see the web app from Firefox in MacOS X. This was easily remedied via this comment on a blog post about this very topic:

Set up the environment on JeOS to use sqlplus:


export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export PATH=${PATH}:${ORACLE_HOME}/bin


Now use the Oracle sqlplus command-line utility to alter a setting that disables local-only access to Apex. Below is the command to run:


$ sqlplus system@xe
Enter password: SYSTEM_password

SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);


Now that I could access the Apex webapp (http://127.0.0.1:8080/apex) that is installed with Oracle XE and I was able to use Apex create a user for myself. After this, I could access Oracle XE from MacOS X.

This setup has been working very well for me until today. For no apparent reason, the networking in JeOS went flaky and I could not access the outside world at all. I switched between NAT and host-only networking in VMWare multiple times, rebooting the VM each time - no dice. I upgraded to the latest VMWare Fusion - no dice. I could SSH into the VM from MacOS but that was it. No commands from JeOS would reach the outside world. So on a whim, I reran the vmware-install.pl script again and after that the networking seems to work again. I still have no idea why this happened which is a bit troubling. I don't want to just blindly keep running the install script again with no idea why it's fixing this networking issue.

Update

I guess the networking issue is common enough that Fusion provides a script to restart everything underneath of Fusion, e.g.:


/Library/Application\ Support/VMware\ Fusion/boot.sh --restart


Also, there's a good document available for Understanding Networking in VMware Fusion if you're interested. It's brief and to the point.

07 May 2009

SpringSource Tool Suite Now Available For FREE!



Last week in Amsterdam, at the SpringOne EU conference, it was announced that the SpringSource Tool Suite (STS) is now available for FREE! I was very pleased that we made this move as STS is an excellent set of Eclipse-based development tools that can make your Java development much more productive.

If you use Eclipse for your Java development and you use the Spring Framework, then you should really take STS for a spin. It's just like using the Eclipse you know and love but with many added features to make your development more productive. Download the SpringSource Tool Suite now!

I also saw many great talks at SpringOne EU that showcased STS via demos using it. Here is a partial list of some that I saw:



One of the demos that stands out in my mind was delivered by Adrian Colyer during his keynote on day two that utilized many technologies. But the thing I remember the most (and wish that I had more time to play with) was the use of the AWS Toolkit for Eclipse and Chris Richardson's Cloud Foundry, both for working with app deployment and monitoring in the cloud. The ease with which Adrian deployed apps to Amazon EC2 and was able to monitor them were amazing. I say it was amazing because I started working with Amazon EC2 from the command line before any such polished tools were available. It is really great to see the ever-increasing ease of working with cloud-based platforms. If you haven't checked out these two tools and you work with Amazon EC2, I highly encourage you to take some time to do so. Coupled with STS, they will make your life much, much easier.

I have to say it is very cool to see the products all come together like this. It's also awesome to watch demos delivered by folks who know each tool so well. It makes me wish that we had more face-to-face meetings so that I could sponge more of the product knowledge from folks!

03 April 2009

Apache ActiveMQ at SpringOne EU



Later this month I'll be in Amsterdam again, this time to speak at SpringOne EU about Apache ActiveMQ. It will be great to be back in Amsterdam, especially because the annual Queen's Day celebration takes place the week of the conference, which is always a fun time.

My first SpringOne conference was back in December in Florida and it was very good. Unfortunately I had a lot of travel booked back-to-back at the time so I wasn't able to be there for the entire conference. This time I will be able to spend the entire week at the conference which will be great because there are many sessions I'd like to see. Here are just a few:



There are many other talks I'd like to see, just too many to list. Take a look at the SpringOne EU schedule for the full list.

Working For SpringSource



I keep hearing from folks who aren't aware that I made a move recently. So for those who don't already know it, I'm working for SpringSource now. So far the experience has been terrific because I'm surrounded by nothing but very smart people, some of whom I already knew and respected. SpringSource is most notable for one of the most widely adopted Java frameworks in existence today, the Spring Framework.

I began using the Spring Framework back in 2003 and I can't see developing any new applications without using it. Although I don't have the privilege of working on the Spring Framework, I do get to heckle Juergen and team from the sidelines. My role hasn't changed much from the past in that I continue to do consulting and engineering. I spend my time working on Apache ActiveMQ, Apache Camel, SpringSource AMS and SpringSource tc Server. I still enjoy working with customers but I'm getting to spend a lot more time doing engineering work which is a nice change.

If you want to hear me blather on more, just follow me on Twitter.

Need Integration? Camel Integrates With 70+ Protocols




Apache Camel already provides easy integration with over 70 different protocols! And the list is still growing! Take a look at the Camel components and the Camel Extras project to see the protocols that exist today.

02 April 2009

Why Hiring Consultants is Good For Business




Anyone whose seen the goofball comedy The Office knows who Dwight is and how his co-workers enjoy winding him up and watching him go. Well it turns out that the Dwights of the world (aka the oddball) or someone who thinks different or even just someone from the outside is actually good for business.

This doesn't surprise me at all because as a consultant sometimes it is odd to walk into a business and discover that the reality inside doesn't quite match the reality outside. Inviting opinions from someone who doesn't know the business and isn't afraid to ask crazy questions helps everyone to see the familiar from a different point of view. And this is partially what I enjoy about being a consultant. By not having been a part of the team, you enter the group with a fresh perspective that will hopefully spawn many ideas. So assembling a team of miscreants and hooligans is not always a bad thing ;-).

01 April 2009

Syncing Multiple Calendars With Google Calendar



Calendars are important in my family. My wife and I are both busy professionals, I travel for work a fair amount and we have the events from our two kids as well. Given that we both use MacBook Pros at home this would be very easy. But for her professional life, my wife uses a Palm Treo phone and that's her master calendar. She (begrudgingly) syncs her Treo with her Windows PC at work. I use an iPhone which syncs easily with my MacBook.



So I hunted around a bit and found something called GooSync that can sync the Treo calendar with Google Calendar. This works great for her and all I had to do was sign up for a free account.



Syncing my iCal calendar from my MacBook was also easy using BusySync. This works great, but in the future it would really be nice if I could set up a CalDav server like the iCal Server from Apple.

At SpringSource we recently switched from using Zimbra to Microsoft Exchange (blech) which made me pull out Entourage again (essentially Outlook/Lookout for the Mac - happy, happy, joy, joy). When this change occurred I started maintaining my Exchange calendar via Entourage which gave me yet another calendar to maintain. Fortunately Entourage has a feature that will automatically sync an Exchange calendar with iCal automatically. Unfortunately this is a client-side solution so Entourage must be running for the sync to take place. Luckily, EasySync just syncs another calendar from iCal to Google Calendar and my iPhone just does the same automatically.

The whole point of all this syncing to Google Calendar is so that we can each share one another's calendars via Google Calendar. Each syncing solution syncs in a bi-directional manner from Google Calendar making all of this possible. We've been using this for nearly a year and so far we haven't had any hiccups with any of these solutions and everything has worked great.

Good solutions are good because you don't hardly notice them after the initial configuration and that initial configuration doesn't require a huge time investment.