Wednesday, December 31, 2008

OpenSolaris Workstation for Grails Development

I am creating a new development environment for the new year. I hope by writing this it will force me to both think it through and commit to actually doing it. I have an underutilized desktop computer running OpenSolaris that was built to be a GlassFish application server. What little development I currently do is on a notebook computer running Windows XP. Recently I've concluded that the notebook is partially to blame for my underwhelming productivity. I can't see enough information on the notebook screen to work productively and since it has wireless networking I tend to use it all over the house. Since there isn't a specific place I sit when I want to work, there are usually plenty of distractions wherever I am. I think if I am forced to go to a desk and sit at a workstation my brain will know when it is time to code and therefore I'll be more productive. There could be an additional benefit to spending more time working in OpenSolaris, when I need to do server administration it might be a little easier.

The tricky part is I want to make this happen for $150 or less. That should be possible for several reasons: I can get a monitor at no cost, I won't need much hard drive space, memory prices are down, and I already know the components will run OpenSolaris. The computer I am going to upgrade was built with an old 15GB hard drive. Since it was an application server all it had to fit was OpenSolaris, MySQL, and GlassFish. Now that it will be a development workstation I want to increase the drive space and mirror the hard drive. The motherboard supports RAID 1 so all I need is two matching disks (maybe one more cable). A recent price check revealed I should be able to buy 250MB SATA drives for around $50 each. As a server, 1GB RAM was easily enough. I want to increase that and there is one empty memory slot. Adding a 2GB memory module, for a total of 3GB, will let me have enough horsepower to run an IDE, database, and application server locally for development. That will be another $25. Ideally I'd like to add a graphics card that supports dual monitors but that can always come later when there is enough money for new monitors.

I recently ordered OpenSolaris media since I wasn't pressed for time and could wait for it to be mailed. Unless I am mistaken I won't be downloading any software except Grails directly. Once the Operating System is installed everything else should come through a package manager.

Here are the steps I plan to follow:
  1. Pickup 19" monitor
  2. Add new hard drives and memory
  3. Install OpenSolaris 2008.11
  4. Install NetBeans 6.5
  5. Install GlassFish v3 Prelude
  6. Install MySQL 5.1
  7. Install Grails 1.1

Wednesday, December 24, 2008

A Grails Christmas

As of this post, Grails 1.1 Beta 2 has been released. We probably don't appreciate the effort and dedication that was involved in getting this release accomplished by the end of the year. Much obliged, all those Grails people.

I celebrate Christmas and I'm also learning the Grails Framework, so I would like to pass on a Christmas list (or in this case, a map) to convey my own Grails feature wishes. If they're not implemented in the 1.1 release then I will post it again during the next holiday season.

def christmasMap = [:]
christmasMap['Grails #5'] = 'Coffee Maker Plugin'
christmasMap['Grails #4'] = 'Email Integration'
christmasMap['Grails #3'] = 'Hannah Montana Security'
christmasMap['Grails #2'] = 'Rock Band/ Guitar Hero Plugin'
christmasMap['Grails #1'] = 'Grails and Groovy Gift Cards'
println christmasMap

#5) Coffee Maker Plugin
I would like to have a USB coffee maker and the ability to program it with Grails. The caffeine in the coffee would in turn motivate me to learn more Grails. This is a win for everyone.

#4) Email Integration
I can't do Christmas cards anymore because I just can't focus. I can do email though and it would be convenient to have email integration to send out mass holiday greetings to family and friends. I can then save the email data to send again next year.

#3) Hannah Montana Security
In order for Grails to gain further acceptance in the world we have to prevent Grails from being used for applications that will not further its cause. I'm guessing a Hannah Montana site would be an example of that and there should be built-in security in the framework. No offense, Disney.

#2) Rock Band/ Guitar Hero Plugin
Some days I just want to stop coding and go home and play Rock Band. How about a plugin that lets me program Grails and Groovy with my guitar, drums or even a microphone?

#1) Gift Cards
In the spirit of Christmas, what could spread good cheer better than Grails and Groovy gift cards?

Happy Holidays and have a Groovy New Year!

Monday, December 22, 2008

How Microsoft Should Sell Windows 7

I had a revelation recently about Microsoft Windows 7. I know how Microsoft Windows 7 could be a success. Sell two, and only two, versions of the product. These two versions should differ so greatly that every person who buys a copy will know immediately which version they want to purchase. It would be easy to tell which you want to buy if one cost $99 and the other cost $999.

$999 Microsoft Windows 7 - Code Name "High Dollar"
This version should come with everything you will ever want from Microsoft; all the client software they sell, and a Client Access License (CAL) for every piece of server software they sell. Do you run Outlook connected to Exchange? Good, the license is there. You still need to buy Exchange for your server but that would be all you'd need - the product license for the server-based product. Every "High Dollar" Microsoft Windows 7 PC could access it at no additional charge. Use Office? Which version? Don't worry about it! It's all in there, even Project and Visio and Access along with Word and Excel and PowerPoint. Run SharePoint and connect to SQL Server. Think about how much simpler it would be for a business if they didn't need to count licenses anymore. If every client machine had a "High Dollar" license they're done. Plus, think about how difficult it would be for any competing vendor to sell a server product with client license fees? What, you expect us to pay you for each client that connects to your Business Intelligence, Directory, Database, Portal, etc. solution? We can run the Microsoft server product without additional client license fees.

$99 Microsoft Windows 7 - Code Name "Blank Slate"
This version should come with nothing you don't want from Microsoft; no text editor, no browser, no calculator, not even Solitaire. "Blank Slate" is just an Operating System - software that controls the operation of a computer and directs the processing of programs (as by assigning storage space in memory and controlling input and output functions).(1) Microsoft Windows 7 could be the best platform ever if that was all it tried to be. All they need to do is a little marketing around this new platform. Small applications become widgets. Partners and vendors can create and sell anything from the simplest tool to an all-encompassing specialized desktop replacement. Open up a store like iTunes. If you want a clock in the lower, right-hand corner go find one for 99 cents at the iWindows App Store. There should be 20 to choose from, many will be free while one costs $1 million and claims it can actually control time. Basically don't do anything half-baked, simply don't do it at all. PC vendors can add value by installing their set of widgets for you. All the cool kids would be buying new widgets from the iWindows App Store every night and their PC would go from being a personal computer to a personalized computer.

So there you have it, free advice from me to the richest man on the planet because I know how Microsoft Windows 7 could be a success.


1. Operating System. (2008). In Merriam-Webster Online Dictionary.
Retrieved December 10, 2008, from http://www.merriam-webster.com/dictionary/operating system

Monday, December 15, 2008

GroovyBlogs Gets Famous

Glen Smith is taking a dip in the Aquarium. Congratulations to GroovyBlogs for the well deserved mention as a tool for Grails and Groovy adoption.

Monday, December 8, 2008

Hosting Grails Applications

Back in the day when clients would ask me if they should buy a home PC or build a home PC in order to save money, I knew what to do. I would ask them if they wanted a tool or a hobby. That made the answer easy; the ones that wanted a tool should buy, the ones that thought of it as a hobby would enjoy building a PC.

I'm facing that same predicament with Grails hosting . Originally the cost for a server with enough memory for Grails hosting was cost prohibitive. I couldn't justify $70 a month without a clear, quick path to become self-supporting. So I built a server and thought I would self-host and live with limited bandwidth. That greatly reduced the cost and removed the need to make a profit. Then I found a way to get free hosting for a year, and jumped at it. The Layered Tech hosting has been great.

I have learned that I don't enjoy the sysadmin responsibilities though. I don't mind so much taking care of the server I can reach out and touch, but the remote one I'd prefer not to deal with. It also is difficult to have multiple applications running simultaneously on one virtual server with 512 MB RAM when the WAR files are 20+ MB large. My attempts to use shared libraries in order to reduce the size of the WAR files on GlassFish V2 were unsuccessful. The process seems to be better documented for GlassFish V3 Prelude. If I go forward with OpenSolaris 2008.11 and GlassFish V3 Prelude, I will be moving away from Layered Tech's supported offering. I'm all right with this because I know I don't want to be a sysadmin when I grow up. I want a tool for hosting Grails applications because I don't want hosting Grails applications to be a hobby, I want developing Grails applications to be my hobby.

Here is what I'm considering as the plan for 2009:

Wednesday, December 3, 2008

Hard Stop at Grails 1.0.4?

I am beginning to get excited about January 2009. Quite often New Year's Day provides a time of reflection on the past 12 months and an opportunity to set goals for the upcoming year. If the timeline for the release of Grails 1.1 comes through as expected, January may be a perfect time for me to start fresh. Why? I know how easy it is to upgrade Grails versions. That is one of the many really nice features of the framework.
    grails upgrade

Could it be any easier? But I want to upgrade everything. NetBeans shipped 6.5, GlassFish has V3 Prelude, OpenSolaris is coming out with the 2008.11 version, and Grails 1.1 is in beta. I'm going to start planning on some new bits for the New Year.

Monday, December 1, 2008

Dave Klein Wins Santa Look-Alike Contest in GroovyMag

The new issue of GroovyMag is out and prominently features all of the contributors in Santa hats. I haven't found the poll location for tabulating votes but Dave Klein is a shoe-in to win since he is the only participant with the correct beard, no offense Robert.