Arun Gupta, Miles to go ...

Arun Gupta is a technology enthusiast, a passionate runner, and a community guy who works for Sun Microsystems.
« Previous month (Jan 2008) | Main | Next page of month (Feb 2008) »

http://blogs.sun.com/arungupta/date/20080229 Friday February 29, 2008

Sun Tech Days Hyderabad 2008 - Day 2

The highlight of Day 2 of Sun Tech Days Hyderabad for me was the keynote session by David AxmarkMySQL co-founder. In his presentation, he explained how Storage Engine Innovation (Falcon, InnoDB, PBXT & others), "Free" Time Innovation (MySQL proxy, Language Connector), Buying Innovation (MySQL Cluster from Ericsson), Business Innovation (open source in 1996, work with an impressive list of languages, on any platform, all compiled from one source code, designed with portability in mind, simple recompile for 64-bit portability) and other different kinds of innovation give MySQL 66%  of market share in enterprises. Google, Facebook, Wikipedia, Yahoo, YouTube are some of the prominent names.

The GlassFish booth was loaded all the time with a great amount of interaction. I've been living out of India after the IT boom started there and have only heard about the energy, passion and excitement about the Indian developer community. I totally experienced it first hand during this event. There were pointed questions which I'll summarize in a later blog (of course along with answers). Here are some more pictures of visitors at the GlassFish booth and attendees in the session:


But it is overwhelming especially if there is a giveaway at the booth as seen in the picture below:



I spent the evening reviewing the slides of a colleague for GlassFish Day (more on that later) while rest of the conference participants were enjoying a walk on the ramp by Indian fashion models. Here is a video of the show I found:



However I was fortunate to catch a ramp walk by the Sun Tech Days core team. Meet Liana, Nichole, Julie, Ranjini, Anita & Renita on the ramp:


And some of them had a celebrity moment when a local TV channel had a brief interview with some of them:


Overall, it was great fun! The Tech Days concluded yesterday and a subsequent blog will talk about GlassFish Day which concluded earlier today.

The complete album with all photographs is available at:



Technorati: conf suntechdays hyderabad mysql glassfish fashionshow ramp

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080228 Thursday February 28, 2008

Sun Tech Days Hyderabad Talent Show Video - Day 2

Sun Tech Days are fun event where you learn a lot about different Sun technologies. A "fun fun" event in the agenda is a talent show where attendees get a chance to show their weirdest skill on the stage. A winner is decided by the audience applause and awarded a leather jacket. And it requires a lot of courage to do that in front of 5000 people, as was the case in Hyderabad Tech Days 2008. There were four participants who performed a variety of activities - yoga, reverse counting from 100 to 1, mimicry and singing.

Enjoy the video of this unique talent show and then decide who was the winner :)


Read more about what and why of talent show here.

Technorati: conf suntechdays hyderabad talentshow

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

Sun Tech Days Hyderabad - Day 1

30% of the approximately 5000 attendees at Sun Tech Days Hyderabad were a repeat audience. It is the biggest developer Tech Days of all - both in terms of the number of attendees and tracks/sessions. This is my first Tech Days in India and found the show to be quite impressive so far. Once you enter the main conference hall, it's hard to differentiate between Moscone Center (location for JavaOne) and Hyderabad International Convention Center (HICC). Starting from the entrance, conference rooms, audio/video facilities and the crew is just amazing and very helpful.


Here is a little video right before the opening session:



The main convention hall can accomodate upto 5000 people at a given time and it was packed for the opening keynote by Rich Green (Executive Vice President, Software, Sun Microsystems).

Rich described how JDK, MySQL (yaaay!), xVM, GlassFish, NetBeans, Solaris and many other similar offerings provide a comprehensive suite of products that cover the entire portfolio of software. He talked about how Sun Campus Ambassadors, one-fifth of the total approx 500 are from India, are playing a key role in shaping the future.


Rich also talked about "Innovate more, Code less" - basically talking about how providing incremental functionality over existing FOSS components foster the open source spirit and create a community. It can be measured by a ratio of the number of lines developed and used. Rich also talked about how MySQL (pronounced as my-ess-kew-ell) acquisition (completed earlier this week) has made Sun the largest open source company in the world.

And this is India, so of course lots of people show up at sessions, booths, lunch and every where else as well!



I participated in a technical showcase right after the keynote which demonstrates the latest & cool technologies from Sun Microsystems. There were lots of cool demos ranging from JavaFX, SunSPOT, Java2D & jMaki. A replay of the jMaki demo along with complete instructions to recreate is available here. The opening session was telecast live to Bangalore & Chennai and then there were other sessions conducted parallely as well in these cities.

In addition to the technical showcase, I delivered 2 more sessions - JavaEE, GlassFish & Their Future and Web 2.0 Applications Made Easy using jMaki. And a Hands-on-Lab on Performance Tuning your Web 2.0 Applications. Both the sessions were heavily attended with 45 minutes presentation and an equal amount of time answering the questions.

The evening concluded by a great performance by Euphoria - one of the most popular rock band in India. Their popularity was quite evident by response and participation from the audience. For me, it was quite exciting to attend an Indian rock concert after a looong time :)


I captured the video as well and will upload once I get "decent" upload speed ;-)

The complete album of the visit so far is available at:


Technorati: conf glassfish glassfishday suntechdays chennai bangalore hyderabad

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080227 Wednesday February 27, 2008

South Indian Food & GlassFish

Here are some pictures of the food I've eaten so far:





Here are some of the characteristics of Thali (first 3 pictures):
  • Banana leaf is used as the base for serving the food - clean and green
  • A large variety of items are served, including the traditional sambar/rasam/rice/yogurt
  • Modular - Items are served in a pre-defined order.
Over the lunch table, we were talking how this correlates to GlassFish v3:
  • HK2 is the core kernel - clean (written from scratch) and light-weight (green)
  • GlassFish v3 is a container that can do the traditional JavaEE and much more such as JRuby, PHP & Phobos.
  • Modular - Appropriate containers are loaded only if they are required. For example Web container is loaded only if there are any web applications deployed. Similarly for JRuby, PHP & Phobos as well.
Do you see any other similarity ? :)

And finally the Dosa (making & the final product)


And even a Biryani on the plane too :)




Technorati: food india glassfish v3 dosa biryani bangalore hyderabad

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080226 Tuesday February 26, 2008

Indian Wedding Pictures

I attended an Indian wedding over the weekend. Here are some photos from the venue before the event started



And here are couple of videos from the entertainment section:

And another memorable picture when I arrived at Delhi airport (especially an international one):


Your name tag identifies the driver to pick you up from the airport :)

Technorati: indianwedding airport wedding entertainment

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080221 Thursday February 21, 2008

Sambar/Dosa, Biryani & GlassFish

I'll be spending some time with partners in Bangalore office next week (Feb 25, 26). Then I'll be speaking at Sun Tech Days Hyderabad (Feb 27, 28) and finally coordinating GlassFish Day (Feb 29). Of course, my overarching theme is to talk about GlassFish. But these two cities are also known for their local cuisines.

For those who don't know, Hyderabad and Bangalore are metropolitan cities in two different states in southern portion of India. Other than more popularly known as the hubs of IT in India, they are also known for Sambar/Dosa and Biryani respectively. I'm certainly looking forward to feast on the local cuisines.

The GlassFish Day agenda is pretty compelling with interesting topics like High Availability and Clustering and Performance Tuning. And then there are talks by our partners on Java CAPS and NetBeans/GlassFish Tooling. We hope to share our knowledge with you and learn from your wisdom and experience. And there are a wider variety of GlassFish sessions in the Tech Days as listed here.

Anybody for Dosa or Biryani together ?

Any restaurant recommendations ?

Technorati: conf glassfish glassfishday suntechdays dosa biryani bangalore hyderabad

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080220 Wednesday February 20, 2008

Lunar Eclipse in Pictures - San Jose, Feb 20, 2008

We observed the last Lunar Eclipse of this decade and I captured in pictures.


Technorati: d80 photography lunareclipse sanjose

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

TOTD #28: Getting Started with Rails 2.0 Scaffold

Rails 2.0 changes the way Scaffold works. This blog walks you through the steps to create a simple CRUD application using Scaffold in Rails 2.0.

  1. Download & Install JRuby 1.1 RC2.
  2. Install Rails using the following command:

    jruby -S gem install rails
  3. Create a new Rails app using the following command:

    cd samples; mkdir rails; cd rails
    jruby -S rails books -d mysql
  4. Start MySQL server in a different shell using the following command:

    sudo /usr/local/mysql/bin/mysqld_safe --console
  5. Creat the database using the following command:

    cd books
    jruby -S rake db:create

    This creates the database defined by RAILS_ENV (Development is default). Here are some other new database-related commands:

    db:create:all Create all the databases (_Development, _Test, _Production)
    db:drop Drops your database
    db:reset Drop and Re-create your database, including migrations
  6. Generate a scaffold using the following command:

    jruby script/generate scaffold book title:string author:string isbn:string description:text


    The output of the command looks like:

          exists  app/models/
          exists  app/controllers/
          exists  app/helpers/
          create  app/views/books
          exists  app/views/layouts/
          exists  test/functional/
          exists  test/unit/
          create  app/views/books/index.html.erb
          create  app/views/books/show.html.erb
          create  app/views/books/new.html.erb
          create  app/views/books/edit.html.erb
          create  app/views/layouts/books.html.erb
          create  public/stylesheets/scaffold.css
      dependency  model
          exists    app/models/
          exists    test/unit/
          exists    test/fixtures/
          create    app/models/book.rb
          create    test/unit/book_test.rb
          create    test/fixtures/books.yml
          create    db/migrate
          create    db/migrate/001_create_books.rb
          create  app/controllers/books_controller.rb
          create  test/functional/books_controller_test.rb
          create  app/helpers/books_helper.rb
          route  map.resources :books


    There is no need to create the model explicitly as was the case in previous version of Rails. This creates the "db/migrate/001_create_books.rb" migration which looks like:

    class CreateBooks < ActiveRecord::Migration
      def self.up
        create_table :books do |t|
          t.string :title
          t.string :author
          t.string :isbn
          t.text :description

          t.timestamps
        end
      end

      def self.down
        drop_table :books
      end
    end
  7. Create the database tables using the following command:

    jruby -S rake db:migrate
  8. Deploy the application on WEBrick using the following command:

    jruby script/server


    The application is now available at "http://localhost:3000/books" and looks like:

    Rails2 CRUD Blank Page
  9. Click on "New book" to see a page as shown below (with values entered):

    Rails2 CRUD New Entry
    Click on Create button. After 2 entries have been entered, it looks like as shown below:

    Rails 2 CRUD Multiple Entries
That's it, you've created  a simple Rails 2.0 CRUD application.

You can also deploy this application easily on GlassFish v3 gem. Just follow the instructions here and enjoy!

I'll post a follow up blog where this is much more simplifed using NetBeans 6.1 builds where JRuby 1.1 and Rails 2.0.2 are already integrated.

Technorati: totd ruby jruby rubyonrails rails2 scaffold crud netbeans glassfish v3 gem

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080219 Tuesday February 19, 2008

Screencast #23: Social Software for GlassFish - Blogging, Tagging & Content Rating

Social Software for GlassFish
Social Software for GlassFish provides an integrated suite of Blogging, Tagging and Content Rating on GlassFish. More details about this suite are available here.

This screencast explains how this integrated suite of software can be easily downloaded using GlassFish Update Center, how different components are seamlessly integrated and can be used.

Enjoy it here!

More screencasts focused on each individual topic are available here.

An offline version (downloadable zip file) of this screencast is available here. A complete list of screencasts is available on GlassFish wiki.

Technorati: screencast web2.0 social glassfish roller slynkr blogging tagging contentrating

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080218 Monday February 18, 2008

Bought a new treadmill - Ironman Envision

Finally bought a Treadmill - Ironman Envision!

I must say it's turning out to be a great so far (in around 2 weeks) and I'm able to run regularly in spite of rain/chill in the morning. And moreover I can tune my workouts to the desired intensity. If you are in that market, it's a big jungle out there - Treadmills range anywhere from $258.71 (Unbranded) to $5899 (True Fitness Excel 9.0) and probably more expensive ones as well. Here are some tips I found handy in order to buy a treadmill for home usage:

Here is the 3-step process I followed:

  1. Identify the need - What purpose will the Treadmill serve ?
    1. What will a typical running week look like ? How many miles ?
    2. How many runners will use it ? - Just yourself, or spouse as well or may be a buddy or neighbor. Always plan for a little extra cause it may end up getting used if it's in home :)
    3. What is the weight of the biggest runner ? - Treadmills can handle certain normal weight reasonably well. You may as well need more professional support if you are above that weight limit anyway ;-)
  2. Identify the model (within your budget). This is the most difficult step but if you've done the first step diligently, then this is much easier. This is mostly done by checking the online reviews at some of the websites mentioned below:
    1. Treadmill Doctor
      1. Best Buy Treadmill (classified by budget) - here, here, here, here
    2. Treadmill Adviser
    3. Treadmill Tips
    4. Treadmill Ratings, Reviews & Comparisons
    5. Treadmill Comparison Charts
    6. Just Treadmill Reviews
    7. Treadmill Resource Center
  3. Run on the exact Treadmill model (that you intend to buy) in a store. Even though this step is important before spending a high 3-figure or low 4-figure $$ but it may not be possible all times (for example in my case). Then you rely on online reviews & return policy of the store.

Post a question in Runners World Forum if you have any doubts or clarifications or seeking particular model comparison.

Here are some of the joys of this machine:

  • The installation was really smooth with well guided instructions. It took me around 90 minutes from opening the box to get the machine running. The first nut took some time and then it was seamless.
  • The speed and incline controls on handle bars are really useful.
  • One-touch speed and incline controls are very useful too.
  • MP3 input keeps you occupied for some time but it takes some experimenting to figure out how exactly it works. Still need to hook up my TV.

The maximum distance I ran on this machine so far is 5 miles/40 minutes and it has behaved well! In all, I've spent approx 5 hours on this machine feeling happy. Few things that I don't like:

  • Once the Stop button is hit, all the meters are reset to 0. A summary of results would be useful.
  • The speakers are not powerful enough, especially at higher speed the music is barely audible.
  • If the security key is detached, the belt comes to a sudden stop. This could be dangerous if you are running at a high speed.

Technorati: running treadmill ironman envision

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080216 Saturday February 16, 2008

GlassFish v3 gem on JRuby 1.1 RC2

JRuby 1.1 RC2 was released earlier today an GlassFish v3 gem works like a charm on it :)

Read the complete announcement here. The key features of RC2 are:

  1. 260 issues resolved
  2. Large IO refactoring
  3. Less memory than previous release
    1. Control total number of JIT'd methods
    2. Support a JIT cache between runtimes to return permgen
    3. 50-70% reduction in generated methods
Here are the steps for quick verification on v3 gem ...
  1. Download JRuby 1.1 RC2
  2. Install Rails and create a simple Rails application as described in TOTD #24.
  3. Install GlassFish v3 gem using the command as shown below:

    bin/jruby -S gem install glassfish             
    JRuby limited openssl loaded. gem install jruby-openssl for full support.
    http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
    Successfully installed glassfish-0.1.1-universal-java
    1 gem installed
  4. And now the simple application can be easily deployed on GlassFish gem as:

    jruby -S glassfish_rails hello

    Notice this command needs to be given from the parent directory of the application. The Applcation environment is as shown below:

    JRuby 1.1 RC2 Application Environment

    and the application output looks like exactly as expected:

    JRuby 1.1 RC2 Application Output
More details about GlassFish and JRuby can be found @ GlassFish wiki and JRuby wiki. Help us test your application on the v3 gem and file issues in JIRA or GlassFish Issue Tracker.

Please use the gem and send us feedback on GlassFish forums, dev@glassfish or gem mailing list.

Technorati: jruby ruby rubyonrails glassfish v3 gem

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

3 steps for successful GlassFish Deployment

There are 3 simple steps for a successful GlassFish enterprise deployment - Download, Register, Subscribe. This blog describes what and why of each step. It particularly highlights the several unique benefits available to you in each step.

Download - The first step for any successful enterprise deployment is to download GlassFish - the best open source Application Server (see What's the big deal about GlassFish ?). You can download, develop and deploy your applications on GlassFish completely FREE. GlassFish Download

The benefits that comes along with download are:

Register - After GlassFish is downloaded and installed, you can easily register your instance by providing an email address. You can register by following these instructions. GlassFish Register

 The registration gives you the following benefits (in addition to the ones available in Download):
  • Access to aggregate contents like tech tips, bugs fixed, latest news and promotions.

Subscribe - Once your application is deployed and you need quality support in maintaining it then it's strongly recommended to buy the subscription. You can purchase the subscription here. GlassFish Subscribe

Here are the unique benefits that comes along with subscription (in addition to the ones available in Register):
  • Ability to escalate bugs for an out of cycle patch or engineering attention
  • Low risk, tested fixes and features for mission critical deployments
  • Enterprise level production support SLA - Standard, Premium or Premium Plus. Ensures 4 hour response for any question for Standard and Live Transfer for Premium and Premium Plus.
  • Indemnification for both parties
  • Live person technical support
  • Proactive to Sun Alerts and Notifications
  • Access to Sun Knowledge Base

The benefits at different steps are also summarized here.

Sun provides support for GlassFish through our distribution Sun Java System Application Server 9.1 (SJSAS 9.1). So if you have already downloaded then go ahead and register. If you have already registered and ready for deployment then download SJSAS 9.1 and buy a subscription. And be confident of your enterprise applications!

Technorati: glassfish appserver javaee deployment enterprise download register subscribe

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080215 Friday February 15, 2008

TOTD #27: Configurable Multiple Ruby Platforms in NetBeans 6.1 M1

NetBeans 6.1 M1 is now available. Download here!

There are several features in M1. But the feature I liked the most is storing multiple Ruby/JRuby runtime configurations in the IDE. In NetBeans 6.0 only one Ruby platform could be configured and stored. So if you have to change to another Ruby environment then you have to edit the values in the IDE. 6.1 M1 allows to configure and store multiple Ruby/JRuby runtimes. Click on "Tools", "Ruby Platforms" and you are presented with the following window:

NetBeans 6.1 M1 Ruby Platform Addition

I've already added JRuby 1.0.3 as an additional platform. And then you can choose the Ruby/JRuby runtime when creating the Rails application as shown below:

NetBeans 6.1 M1 Ruby Platform Selection

Cool, isn't it ?

Please leave suggestions on other TOTD that you'd like to see. A complete archive is available here.


Technorati: totd rubyonrails jruby ruby netbeans

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080214 Thursday February 14, 2008

GlassFish v3 Gem - 0.1.1 available

Pramod released an updated version 0.1.1 of the JRuby GlassFish v3 gem.

What's New ? - Mainly alignment with Rails convention

  1. The name of the gem is changed from "GlassFish" to "glassfish".
  2. The default port number is 3000.
  3. Applications are deployed at root context ("/"). So the default application is now deployed "http://localhost:3000/home/index" instead of "http://localhost:8080/temp/home/index".
And then there are some other improvements:
  1. The number of concurrent requests can now be set using a command-line argument (instead of "-J-Djruby.runtime"). So 2 Rails instances can be created using the following command:

    jruby -S glassfish_rails temp -n 2
  2. Rails instances are created in parallel to improve the startup time of the gem.
How to install it ?

If you installed 0.1.0 version of the gem, then you need to uninstall using the following command:

bin/jruby -S gem uninstall GlassFish
Successfully uninstalled GlassFish-0.1.0-java
Remove executables and scripts for
'glassfish_rails, asadmin, asadmin.bat' in addition to the gem? [Yn]  Y
Removing glassfish_rails
Removing asadmin
Removing asadmin.bat


And then install the new gem using the following command:

bin/jruby -S gem install glassfish
JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Successfully installed glassfish-0.1.1-universal-java
1 gem installed


And for a fresh check out of JRuby trunk, here is the list of gems shown:

bin/jruby -S gem list

*** LOCAL GEMS ***

actionmailer (2.0.2)
actionpack (2.0.2)
activerecord (2.0.2)
activeresource (2.0.2)
activesupport (2.0.2)
glassfish (0.1.1)
rails (2.0.2)
rake (0.8.1)
sources (0.0.1)


Read more details about the this newly released gem here.

All the latest information about the gem can be found at GlassFish JRuby wiki or JRuby wiki.

Please use the gem and send us feedback on GlassFish forums, dev@glassfish or gem mailing list.

File issues in JIRA or GlassFish Issue Tracker.

Technorati: ruby jruby glassfish v3 gem rubyforge rubyonrails

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20080213 Wednesday February 13, 2008

TOTD #26: Overriding Database Defaults in Rails 2.0.2

A Rails 2.0.2 application configures SQLite3 database by default. This requires you to have SQLlite3 database running and also have the corresponding database adapter installed. Even this is part of the Leopard (Mac OS 10.5+) development kit but this needs extra configuration on non-Leopard machines.

One of the guiding principles of Rails is Convention-over-Configuration. So there are couple of ways you can override this default:

  1. Generate the Rails app by specifying the database of your choice. So if you want to use MySQL as the default database, then generate the application as:

    jruby -S rails -d mysql myapp

    This is assuming you are using JRuby for generating your Rails application.
  2. If you want to use Rails without a database, remove ActiveRecord framework by editing "config/environment.rb" and adding the line:

    config.frameworks -= [ :active_record ]

    Alternatively you can uncomment line 21 in "environment.rb" and remove other frameworks from inside the parentheses.
This is generally handy if you want to generate and test a simple Rails application that does not involve database.

Please leave suggestions on other TOTD that you'd like to see. A complete archive is available here.


Technorati: totd rubyonrails jruby ruby leopard sqlite3 database

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

Valid HTML! Valid CSS!

This is a personal weblog, I do not speak for my employer.