Why VirtualBox rocks!

First, let me tell you why VirtualBox doesn’t rock, it’s that copying VMs really seems to be more work that it needs to be. VMWare is much easier this way.

However, VirtualBox does rock, and I’m sometimes more clueless than I think I am.

As it turns out, VirtualBox has a feature (and has had it for some time now, hence the clueless part!) wherein the guest OS can run seamlessly on the host OS. Basically this means that instead of having to open a separate desktop that has the guest OS in it, you can open applications directly onto the desktop of the host operating system. Check out the picture of my desktop at home, it is Windows Vista running a VirtualBox VM with Ubuntu 8.10 installed.

VirtualBox Seamless Integration (Vista and Ubuntu)

VirtualBox Seamless Integration (Vista and Ubuntu)

I don’t know why I feel so strongly about this, but this is one of those small things that really makes me happy to be alive in this day and age. It is just plain cool. It would be cooler if I could transfer files from the VM to the Host just by dragging and dropping, but for now I’ll settle for being able to cut and paste between the two (yes, you can do that!).

How do you accomplish this, you ask? It’s straightforward actually.

1. Download VirtualBox from Sun.
2. Install it.
3. Create a VM.
4. On the guest OS, install the VirtualBox tools.
5. Restart the guest OS.
6. Click on Machine->Seamless.
7. Enjoy.

In my few days of experimenting I found that with Windows Vista as the host and Ubuntu as the guest, it worked practically flawlessly. With Ubuntu as the host and Windows xP as the guest, it was a little slow moving into seamless mode and has more graphical hiccups. It could be the graphics card in this desktop though. Even with the hiccups, it is pretty sweet however.

So it is official, VirtualBox is right up there with Synergy as the two tools that really make me happy and, in fact, more productive in my day-to-day.

Share/Save/Bookmark

Installing PostgreSQL on Ubuntu 8.10 Server

I recently downloaded a VM of Ubuntu 8.10 Server.  Though I have Ubuntu 8.10 installed on my desktop at the office, I needed to be able to do some work with PostgreSQL from home and I did not want the overhead of a VPN connection or to install PostgreSQL on my already overburdened laptop.  I figured a server edition of Ubuntu would solve my problems, and sure enough, it did.

Most of what I wanted came from this post on Hokusposkus:http://hocuspokus.net/2007/11/05/install-postgresql-on-ubuntu-710/.

I am perfectly comfortable using the Synaptic Package Manger when a desktop is available, but the server does not have an X-server installed and so I needed to do it all via command line.

The first thing I needed to do was to update the available packages in apt-get:

sudo apt-get update



Next I installed PostgreSQL server version 8.3:

sudo apt-get install postgresql-8.3 postgresql-contrib



Next su to postgres user:

sudo su postgres



Install the support functions for pgAdmin3:

plsql < /usr/share/postgresql/8.3/contrib/adminpack.sql



Start psql

psql



Change the postgres account’s password:

ALTER USER postgres WITH PASSWORD '[password]';



Create a new user for the database:

CREATE USER [username] WITH PASSWORD '[password]';



Create a new database and grant acess to the new user:

 CREATE DATABASE [dbname] OWNER [username];



So this is great, but it still will not allow me to connect from a remote machine. So we need to do two things.

First edit the postgresql.conf file to allow remote connections:

sudo vi /etc/postgresql/8.3/main/postgresql.conf



Uncomment the line #listen_address = ‘localhost’ and change ‘localhost’ to ‘*’.
Also change the password_encryption to off

This will allow you to connect to the service, but you won’t be authenticated. For that you need to modify the pg_hba.conf file like so:

sudo vi /etc/postgresql/8.3/main/pg_hba.conf



add a line like so:

host all all 192.168.1.0/24 md5

to allow all users from the 192.168.1 subdomain access to the database.

Finally, restart the server:

sudo /etc/init.d/postgresql-8.3 restart



and voila! you can now connect from an external machine, like the machine you are hosting the VM from. If you are using a VM be sure to put in the ip address for the VM’s ethernet connection and not the regular ipaddress of the machine hosting the VM.

You can now download pgAdmin3 for whatever operating system is hosting your postgresql VM and access the database installed there. You can find pgAdmin3 here: http://www.pgadmin.org/.

Share/Save/Bookmark

Favorite Useful(and Mostly Free) Software for Ubuntu and Windows

Everytime I install an OS on a new machine there is a list of software that I install that I find I can’t live without.  I guess I could actually technically survive, but my life would be a shell of what it used to be.  When I decided to make the switch to Ubuntu from Vista, it was no different, and actually the list didn’t even need to change too much.

1. Firefox - First off, the browser.  Windows or Linux, I always go with Mozilla’s Firefox.  For some of my work I need to use IE to make sure a web application may look okay in both browsers, but if I’m just browsing, I use Firefox.  Of course, if I’m doing more than browsing, like programming javascript or updating CSS or figuring out some DHTML, then I’m still using Firefox, but this time with some plug ins or add-ons such as Web Developer and Firebug.

2. Pidgin - Next, I need to be able to communicate.  We use a couple of different IM clients including Skype and AIM and I have a few friends on both Yahoo Messenger and GoogleTalk.  So, while I use Skype on my laptop and I have Trillian installed there, typically in the office I’ll use an IM client on my desktop, and for Ubuntu, this has been Pidgin so far.  I’m new to using it, but so far, I like it.

3. Filezilla - Another bit of software that I use on both Windows and Linux is Filezilla.  While Linux certainly includes FTP and SFTP and all the protocols I could want, I still like Filezilla for it’s ease of use.

4. JDK - Since I spend a lot of time writing or reviewing Java code, I need a JDK installed.  Typically, I’ll install the latest JDK.

5. Eclipse - When coding, Eclipse is my IDE of choice, unless it’s ADF work that I’m doing.

6. JDeveloper - As I mentioned in my last post, I just installed JDeveloper.  JDeveloper might not be my first choice for straight up Java coding, but you really can’t do anything in ADF without it, so JDeveloper needs to be on my machine somewhere.

7.  Netbeans - Yea, I know, I already have 2 IDE’s installed, so why a 3rd?  Well, for two things, one, I been playing around a lot with Java FX and the preview panel in Netbeans is invaluable.  Secondly, I’ve recently been doing some XML modeling, and the best free tools I found for that are plugins to Netbeans.

8. VMPlayer - We have a demo environment that we use a lot and a couple of database installs, one is XE on a Windows machine and one is an Oracle development environment in Oracle Unbreakable Linux.  I like to have these on whichever machine I am using, so I have them in virtual machines that I can use with VMPlayer.  Very convenient.

9. Rev - Obviously if I started a software company, I think our products are useful.  So Rev is always with me for quickly creating CRUD applications that we may need.

10.  Synergy - One of my favorite programs ever, Synergy is a small application that allows you to share one keyboard and mouse across multiple machines and montitors.  For example, my set up right now inlcudes my laptop which runs Windows XP and has a nice little docking station with a 21″ LCD, to the right of that are 2 more slightly smaller LCD’s which are both connected to my workstation which is now running Ubuntu.  With Synergy, when I move my mouse off the right edge of my laptop’s monitor, it seamlessly moves to the left edge of my workstation’s monitor and I can now use my workstation.  I’ve been using Synergy for years now and if you are using more than one computer at your desk, I cannot reccomend it enough.

11.  OpenOffice - While I use Microsoft Office on my laptop for consistency and because I have noticed a couple quirks in OpenOffice that prevent me from making a document or presentation look exactly how I want it in both OpenOffice and Microsoft Office, I always install OpenOffice on my workstation.  This saves me a large amount of money and still lets me create and view documents on my workstation if I need to.

There are a couple other tools that I install if it’s a Windows machine or my laptop.

My laptop needs e-mail and up until a few weeks ago, that was always Microsoft Outlook.  Outlook is okay as an e-mail client and it let’s me set up appointments easily, but since we don’t have an Exchange server, I am certainly not tied to it and after a while it has gotten really excruciatingly slow upon startup.  Maybe because I have so many messages in my local inbox, I’m not sure, whatever it is, it even got to the point where it would hang starting up and I would have to force close it and start it again, practically everyday.  So, I made the switch to Mozilla’s Thunderbird and I haven’t looked back.  I probably should have done it a long time ago.

For IM, I use Trillian and Skype on Windows.  Until Trillian has seamless integration with Skype, I guess that is the way it will have to be.  Trillain is another great product, even the free version is great for integrating various IM services.

Ultraedit has been my text editor of choice in Windows, I bought a license a couple times and I haven’t regretted it, but I think Notepad2 isn’t so bad either so since Ultraedit is on my laptop, Notepad2 goes on any other Windows machine I may have (or VM).

Oracle XE - I do a lot of work with Oracle and Oracle XE is a nice lightweight db that lets me develop on my workstation. I must admit however, that I am somewhat stubborn and I long ago vowed that I would never install any Oracle database directly on my primary OS, so even if it is XE, I run it in a VM.  Less services running that way and then it’s only taking up resources when I need it.

Oracle SQL Developer - I have been a long time fan of Quest’s TOAD product for doing PL/SQL and SQL work in an Oracle database, but since SQL Developer was released and is free, and connects to a multitude of databases, i’ve been using it for a while now.

PuTTY - a great free ssh client for Windows, always goes with me.

VNC - Synergy isn’t going to help you connect to a machine with no monitor or a monitor in another room, so if it’s a Window’s machine, I’ll use Remote Desktop, but if it’s a Linux machine, I use VNC.

Google Desktop - I just love the search feature in Google Desktop.  I don’t use the sidebar anymore, but I keep it for the searching.  My laptop tends to have so many documents and e-mails that the search provided by Windows just wasn’t cutting it and while the index file that Google Desktp creates is rather large, I can’t use my laptop without it.

So that list turned out to be longer than I expected.  Hopefully you’ll find something useful on it.  If you have any suggestions of software that make your life easier, let me know.  One other wonderful application on Ubuntu is the package manager which makes finding and installing all types of software a breeze, I can’t help but wonder when Microsoft is going to hop on that bandwagon and make something as useful.

Share/Save/Bookmark

Installing JDeveloper 11g on Ubuntu 8.10

I recently got a little annoyed at Vista and upgraded my desktop workstation to run Ubuntu Linux.  As it has been the holiday season and I’ve been busy modeling in XML (more on that later!), I hadn’t had the chance yet to install or run JDeveloper 11g on my newly configured desktop.  Today I decided as part of the new year, I’d take the plunge and give it a whirl.

Here are the steps I followed to install JDeveloper 11g on Ubuntu.

1.  First off, download the installer from Oracle here:http://www.oracle.com/technology/software/products/jdev/htdocs/soft11.html.  I downloaded the Linux install that includes JDK 6 as running java -version at a terminal in Ubuntu revealed that I was running 1.5.0.

2.  Change the permissions of the downloaded bin file to allow execute.  chmod +x jdev* if you are lazy like me.

3.  Open a terminal window and change directory to the directory where the downloaded file is.

4.  type ./jdev* to run the downloaded file, as long as there are no other files whose name begin with jdev in that folder, if there are, type the whole thing out.

5.  Choose complete install - you are going to need it all anyway.

6.  I allowed it to install under my home directory.

7.  After it installed and the Quickstart Launcer appeared, I chose to open JDeveloper Studio.

8.  Since the installer did not create a menu item for me in my Applications Menu, I did that manually.

9.  Right click on the Applications Menu and choose “Edit Menus”.

10.  Select the Menu you want to add the entry to, I chose “Programming”.

11.  Select “New Item”, for the Type choose “Application”, for the Name: “JDeveloper”, for the Command: “[Install Dir]/Oracle/Middleware/jdeveloper/jdev/bin/jdev” replacing [Install Dir] with the correct path.

And that’s all there is to it.  Probably not even worth a post at this point, but since I typed it while installing it and I didn’t realize it was going to be so painless, I might as well post it anyway.  I’ll post again about it if I run into any quirks using it, hopefully it’s as seamless as the installation was.

Share/Save/Bookmark