Thursday May 31, 2007
Follow up from here. It's a very long entry, so feel free to skip around, look at the pictures or read notes from sections of your choice.
I reached San Jose McEnery Convention Center around 9:15am and the crowd started building closer to 9:30am.
|
|
|
|
|
|
|
|
The keynote hall opened at 9:30am. A video with different mahsups (primarily using Google Maps) was shown until the keynote started (around 10 minutes late). Here are some of the websites that were shown in the video: map.movin-360.com (seems like a virtual tour of Berlin city), prague360.com (name says it), dudewheresmyusedcar.com (looking for a used car near a zip code), wepoco.com/maps/observations.php (making weather and climate information useful), arena.tv/gastronomie/barfinder.jsp (finding a bar in Germany), cleancruising.com.au (Australian cruising site, another Map mashup), turnhere.com/sfbayarea (local Bay area guide), fishingmap.jp, bimrace.com (tracks your progress in race, shows elevation for a race and animates).
|
|
|
|
Anyway, what follows is notes/impressions from the different sessions I attended today.
The Opening Keynote was given by
Jeff Huber, Vice
President Engineering.
Jeff explained the rationale behind conducting the event at 10 cities
simultaneously that instead of bringing the developers to conference, take the
conference to developers. There is approximately 1500 in Bay area, 5000 over
all, 160 sessions over all.
housingmaps.com digged into the
APIs hidden in JavaScript which motivated Google to create the Maps API. There
are over 50,000 sites using these APIs all over the web.
Evolution of development over last several years: Start from open-source
building blocks, Linux + Apache + MySQL + [Ruby+PHP+Java+Python]. Set of Web
services as building blocks, for example Amazon S3 for storage.
Google's Developer Products are centered around three areas
Jeff talked about how Google provide infrastructure to build some of the
products like [jogplanner, apartmentfinder, moviemaps. coolphotoeditor,
syncingservice, certifiedusedcars, ok-i'm-kidding].google.com 
Integrate (Google APIs + Mashup Editor)
GData APIs - Single RESTful Web service model, uses APP and RSS for
reading/writing to Google's application. For example
picnik (online photo editing),
spanningsync (syncing mechanism to ical
and isync on Mac), Honda
Certified used cars (Google Base GData APIs, setting custom search).
Announced: Google Mashup
Editor - Experimental product, online application to create mashups. When I
went online to sign up, then I got the following message:
Google Mashup Editor
The Google Mashup Editor is currently in beta and access is limited to
small number of developers during this testing period. If you would like to
be notified when spots are available to participate in the beta please sign
up here.
The demo created a mashup of CA state parks, feed from external
source, fed to Google Maps, and then link with Google Base for camping gear in 3
lines of code + HTML wrappers. Finally publish on googlemashups.com or
igoogle.com.
Reach (Gadget +
Mapplets)
Google's network is the largest network, 500 million users per month. Gadgets
API. Very open model, 100,000 gadgets have been created. Todo List Gadget had
6.7 million page views in last week, Expedia Fare Calendar Gadget (updates every
time you are online with the latest roundtrip fares) had 4.7 million page views
in last week.
10:35am: Seems like they turned on the Air Conditioner and it's
too loud!!
Announcement: Google Mapplets
- Combined Gadgets and Maps API.
Orbitz mapplet, Weatherbug. The cool thing
is you can show data from different sources such as Hotel and Weather on the
same map. Combined Orbitz and WeatherBug with Google Maps - this combination is
more useful than any of the individual sites. Called as "enabling a mashups of
mashups".
Build (GWT
+
Gears)
Announcement:
Google Gears - offline access for web apps, cross-browser, cross-platform,
BSD-license. A way by which developers can add off line capability to your
applications in a standard manner. Browser extension to allow web apps to work
offline - Firefox, IE, Safari + Mac, Linux, Windows. Launching as open source
project.
This is an evolutionary approach where end users continue using their
application as they are using today w/o worrying about network connection,
Developers continue building the application using their existing skills and
code base, simply adapt to Gears API.
Also launching Google Reader Online -
Working with Adobe, Opera and Firefox for industry collaboration. Kevin Lynch
from Adobe showed a Flex/Apollo application with very similar online and offline
experience.
Sergey Brin (co-founder
of Google) made a cameo appearance. He talked about how the "person" involved in
maintaining the Internet needs to be out-of-the-loop for it to truly
self-sustaining and how
Mapplets are leading towards that. And of course, payback to community which
created such a fantastic ecosystem.
The complete presentation is available at doug.ricket.com/gdd2007. Doug Ricket, the speaker, used the preso from this link.
API is all about writing little bit of JavaScript and do cool things. Here are some examples of how Google Maps API have been used:
The trend is towards more collaborative.
Load maps API package (indicated by "file=api"
. There used to
be a limit to the number of times this API key can be used in a day. But this
limit is now removed. However if 5 million users are expected for the key, then
contact Google to ensure sufficient server capacity.
"v=2" indicate that there is a big change in the API and
required changes in the application code. In reality, you'll get the latest 2.x
release, but behind the scenes versions are getting incremented and you get the
latest version.
2.s is a more stable release for enterprise customers, solid and no bugs. You can also specify an exact version.
The fact that you can drag the map is the "big feature". Usability studies indicate that the cursor need to be changed to hand instead of mouse pointer (at least 2.51) - 2.50 you've pointer, 2.51 has a hand.
Because exact version numbers can be specified, almost infinite backward compatibility is available.
Key is registered for your specific website. For the public API, completely free but your site also need to be freely available. The basic API set has to be open to public. If you want to run it inside corporate firewall, then you need to use Enterprise and you get support from the Google team.
Follow along the presentation for all the detailed examples.
In Google Maps terms, InfoWindow is what is called as Balloon, Bubble or Pop-up. Marker is the red balloon, Title option to Marker is the tooltip.
Overlays is anything that can go over the map, for example Marker, Polylines, Polygons, Image and others. Can also create a custom overlay, basically any HTML can be converted into an overlay. There are few overlays that are available as default and then forums where people have shared their overlays.
Q. How far can you zoom in a particular level ?
A. Access to whatever is available to Google maps, in the area of 22 zoom
levels. Certain level that is available all over the world. No API to get that
level. The documentation says the default level available at all levels, but
it's likely 18.
Q. When Maps are not available, can people provide their own tiles
A. Yes.
Icons: Any icon (local or remote) can be used on the map. After 200 markers (on Firefox) and 100 on IE shows performance degradation.
Asynchronous HTTP: Static data in your JavaScript file. Or separate the data from the code. GDownloadUrl downloads XML file, parse the data (GXml.parse) and create a marker (addOverlay(new GMarker(..))). If it's huge amount of markup, then there could be a performance hit.
Geocoder: Translating in address into lat/long and mapping it.
Full documentation: www.google.com/apis/maps/documentation
Q. Will Google add the ability to print satellite views of the maps
A. Not right now but working on it.
Q. Do you have Routing APIs
A. Come to the advanced session.
Q. Is there a way to highlight marker
A. Yes through JavaScript, use GMarker.setImage and highlight the marker that
user mouseover.
Q. Can the Geocoder return the quality of geocode
A. It just returns null, check the documentation.
Q. Can you display a title for each marker without mouse over
A. Markers use an image, open source publicly create Overlay called TextMarker
would serve that purpose, or create your own in 20-30 lines.
Q. Can Flash be embedded in Info windows
A. Put any HTML in the Info Window.
Q. Displaying Raster data on the map like a bitmap
A. Come to Advanced session. Take an image, put it down on the map anywhere and
then add overlays. Or an API where you can specify tiles for different zoom
levels.
"Go Forth and Create Mashups" was the key message.
The multi-cuisine (Asian, Mexican, Italian ...) lunch gave a feeling of what Googlers might be eating every day.
|
|
|
|
Jeff Dean, Google Fellow gave this talk explaining "Building a Computer System for the Worlds' Information". The talk was all about behind the scenes look at Google systems infrastructure.
Every Google service sees continuing growth in computational needs = More queries + More data + More results.
The goal is to create very large scale, high performance computing infrastructure => Hardware + Software systems to make it easy to build products. Focus on price/performance and ease of use.
The Hardware Design Philosophy is:
The following set of pictures show how Google's infrastructure evolved over the years:
|
|
|
|
|
|
|
The three main components in Google's infrastructure are:
|
|
|
MapReduce - a programming model and library to simplify large-scale computations on large clusters.
Map phase extract relevant information from each record of the input, Reduce phase collects data together and produces final output.
MapReduce is
Lots of products within Google use it.
BigTable - A large-scale storage system for semi-structured data
Allows to do low-level storage optimization help performance significantly
Lot of internal pre-processing such as satellite imagery. Largest BigTable manages ~3000TB of data spread over several thousand machines (larger cells planned)
Used by Google Print, My Search History, Orkut, Crawling/Indexing pipeline
Q. What flavors of Linux ?
A. Some using 2.4 and variants of 2.6
Q. Do you do destructive testing ?
A. Definitely yes. A battery of tests, take a data center offline, much more
load than expected and see if it degrades gracefully and much more.
Q. Do you make an attempt to measure that interesting data grows than raw
data ?
A. Raw data requires computation to make interesting data. Not looked at
different class of data.
Q. Will we see an open source version of GFS ?
A. There have been some discussions about it which would make difficult to open
source it. There is an open source structure (Hudop?) that created a mimic of
MapReduce.
Q. Do you modify the Linux kernel ?
A. Do modify as problems are discovered, lot of them are contributed back to the
community.
Q. Few 1000 thousand servers, what policy is about recycling and green
computing ?
A. Generally donate after outlived it's reasonable life and try to repair the
machine instead of throwing it away.
First mashup - housingmaps.com. Paul did it before the Maps API.
Whole bunch of things before you can make/release the mashup.
Three parts to create a Mashup:
Experimental project built by a small team in NY
Feeds -> UI -> Test -> Publish -> Distribute
Mashups and Simple Applications made easy.
The speaker started with a survey and the results were:
2007 - The Year of the Gadget ?
Specialized mini-application that runs in a web page or on the desktop. There are two types of widgets:
The talk focused on desktop gadgets.
Why develop desktop gadget ? Instantly reach millions of users, Easily distribute content, Increase traffic to your sites.
Gadget is a zip archive with .gg extension and the following structure:
An easier way to develop a gadget from scratch - Google Desktop Gadget Designer - allows you to easily experiment with WYSIWYG interface. It then showed a simple demo to create the gadget using Designer.
Advanced APIs - Add Flash, Graphics, Drag/Drop, Transparency, Download streams or Internet but following are the interesting ones:
Useful links:
Next steps:
Key Take-Aways
Ramanathan Guha started Custom Search Engine at Google. Google Custom Search extends Open Publishing to search.
Why Custom Search ?
What Custom Search provides ?
Allows producing a custom search on demand.
That's the end of sessions. All in all, it was a great crash course for different Google offerings.
Technorati: googledeveloperday gdd gdd07 gdd07us
Posted by Arun Gupta in web2.0 | Comments[4]
|
|
|
|
|
Wednesday May 30, 2007
Google Developer Day - May 31, 2007
Google is hosting Google Developer Day on May 31st in 10 countries (US, Brazil, United Kingdom, France, Spain, Germany, Russia, Japan, Australia, and China) simultaneously. The distribution all over the globe ensures that major time zones in the world has an opportunity to attend the event in person or virtually from US and United Kingdom. The registration is now closed for sometime but I registered a while ago for the Mountain View location and so looking forward to an exciting time tomorrow. Here are the sessions I plan to attend:
If you can't view the live web cast then the videos will be posted at youtube afterwards. Drop a note if you are attending and would like to meet up over lunch or otherwise.
Technorati: googledeveloperday Google gdd07 gdd
Posted by Arun Gupta in web2.0 | Comments[4]
|
|
|
|
|
Monday May 28, 2007
Mon: Rest
Tue: 7 miles
Wed: 20 min rowing
Thu: Rest
Fri: 18.5 miles
Sat: Camping
Sun: Camping
Here are good reads of this time ...
Technorati: running fitness runninglog
Posted by Arun Gupta in Running | Comments[0]
|
|
|
|
|
Friday May 25, 2007
Ran 18.5 miles
(2:45:50) this morning. Click on 'large' or 'small'
link next to 'Elevation:' and it shows elevation of each point
plotted against distance. I created the same route on
runningmap (based on Yahoo
maps) which showed the minimum and maximum elevation (click on mountain icon in
the toolbar at top) as 156.9 and 579.1 feet. There is constant uphill from mile
3.5 to 8.5, a slight dip and then a constant downhill. This is a good route to
practice for
San Francisco Marathon because of the constant up-hills. But I need to look
for another route with constant up-hills and down-hills to be better prepared to
meet the course elevation.
Any recommendations ?
BTW, I plotted the entire marathon course but the distance is totaling out to be .4 miles extra.
Technorati: runsfm running marathon
Posted by Arun Gupta in Running | Comments[2]
|
|
|
|
|
Thursday May 24, 2007
PaniPuri and Presentation Tips
![]() |
Guy Kawasaki announced the result of World's Best Presentation Contest Winners. The contest ran from Mar 23 to Apr 23 2007. 2805 votes were received for the 443 entries. The blog very clearly identifies three crucial qualities of a good presentation: big fonts, big graphics and a "storytelling" orientation. The main message from the deck is clear, even in the absence of presenter. |
And my favorite is about
PaniPuri - IMHO the best appetizer, even a full meal to me 
Here are some more resources, with consistent message, on creating effective presentations:
Posted by Arun Gupta in General | Comments[1]
|
|
|
|
| Some photography tips ... I'll try some of these and then post my pictures.
Technorati: digital photographytips
Posted by Arun Gupta in photography | Comments[0]
|
|
|
|
|
Wednesday May 23, 2007
![]() |
Web Services Interoperability Technology (WSIT, aka Project Tango), integrated in GlassFish V2 builds, provides a implementation of key enterprise Web services specifications and enables first-class interoperability with .NET 3.0 framework. However if you download stand-alone WSIT builds, then you can also install similar bits on Tomcat 5.5.17. In this entry, I provide a script that allows you to install the same bits on Jetty 6.1.0. |
java -jar wsit-1_0-fcs-bin-b14-09_apr_2007.jarjax-ws-latest-wsit' directory and
name it as 'wsit-on-jetty.xml':<?xml version="1.0"?>
<project name="WSIT 1.0 Beta On Jetty" default="help" basedir=".">
<property environment="env"/>
<property name="jetty.home" value="${env.JETTY_HOME}"/>
<property name="jetty.lib.home" value="${jetty.home}/lib"/>
<property name="java.home" value="${env.JAVA_HOME}"/>
<patternset id="wsit-jars">
<include name="webservices-rt.jar"/>
<include name="webservices-tools.jar"/>
<include name="webservices-extra.jar"/>
<include name="webservices-extra-api.jar"/>
<include name="webservices-api.jar"/>
</patternset>
<target name="install" description="Install latest WSIT jars on Jetty
6.1.x">
<echo message="Installing WSIT 1.0 Beta on ${jetty.home}
..."/>
<copy toDir="${jetty.lib.home}" overwrite="true">
<fileset dir="lib">
<patternset refid="wsit-jars"/>
</fileset>
</copy>
<echo message="... installation complete."/>
</target>
<target name="uninstall" description="Install latest WSIT jars on Jetty
6.1.x">
<delete>
<fileset dir="${jetty.lib.home}">
<patternset refid="wsit-jars"/>
</fileset>
</delete>
</target>
<target name="help">
<echo message="install :"/>
<echo message=" Installs WSIT 1.0 Beta on Jetty 6.1.x"/>
<echo/>
<echo message="uninstall: "/>
<echo message=" Uninstalls WSIT 1.0 Beta from Jetty 6.1.x"/>
<echo/>
<echo message="$JETTY_HOME must be set to the installation
directory of Jetty 6.1.x."/>
<echo/>
<echo message="Usage:"/>
<echo message=" ant -f wsit-on-jetty.xml {install,uninstall}"/>
</target>
</project>ant -f wsit-on-jetty.xml installJ2EE 1.4' as the 'Java
EE version' and make sure 'Set Source Level to 1.4' is
unchecked.dist' directory of your
application such '\Users\Arun
Gupta\WebApplication1\dist\WebApplication1.war' to 'JETTY_HOME/webapps'.java -jar start.jar etc/jetty.xmlbin' directory contains only 'jetty.sh'
(no .bat script) and the only way
documented to
run is using this command.http://localhost:8080/<context-root>/<service-name>?WSDL',
for example 'http://localhost:8080/WebApplication1/HelloService?WSDL'.
Note, Jetty does not seem to support hot deployment. So if you drop a WAR
file in 'webapps' directory then you need to re-start your
Jetty instance.

This is one trivial sample. If you try other interesting combinations and they don't work, please file an issue.
Technorati: wsit glassfish webservices jetty
Posted by Arun Gupta in webservices | Comments[5]
|
|
|
|
| JavaOne 2007 slides are now available
JavaOne 2007 slides for Technical Sessions and Hands-on-Labs are available here.
Posted by Arun Gupta in webservices | Comments[1]
|
|
|
|
|
Tuesday May 22, 2007
This blog shows how Mephisto, a web publishing system based on Ruby on Rails, can be deployed on GlassFish V3 with minimal changes. These detailed steps are derived from the original instructions. Here are the exact steps that I followed:
GLASSFISH_HOME/lib' directory. Rename the installation directory
to 'jruby' (lets say JRUBY_HOME).JRUBY_HOME/bin' in your environment PATH.gem install rails -y --no-rdoc
gem install activerecord-jdbc -y --no-rdocJRUBY_HOME/lib' directory.mysqld-nt --user root --console'
in MYSQL_HOME/bin directory on Windows or './bin/mysqld_safe'
from MYSQL_HOME directory on Unix flavors.MYSQL_HOME/bin/mysql -u root
mysql> create database mephisto character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on mephisto.* to arun@localhost identified by 'noway';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit;
Byemephisto' (lets say
MEPHISTO_HOME) for convenience.MEPHISTO_HOME/config/database.example.yml'
to 'MEPHISTO_HOME/config/database.yml'. Change database entries in the
file from:development:
adapter: mysql
database: mephisto_development
username: root
password:
host: localhostdevelopment:
adapter: jdbc
driver: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/mephisto
username: arun
password: nowayMEPHISTO_HOME/config/environment.rb', add the following
fragment before "Rails::Initializer.run" statement.if RUBY_PLATFORM =~ /java/
require 'rubygems'
RAILS_CONNECTION_ADAPTERS = %w(jdbc)
endrake db:bootstrap' to bootstrap the
development database. On windows, you may have to invoke this
command as 'JRUBY_HOME\bin\jruby.bat JRUBY_HOME\bin\rake
db:bootstrap'.
GLASSFISH_HOME:java -jar lib/glassfish-10.0-SNAPSHOT.jarGLASSFISH_HOME/bin' as:asadmin deploy --path MEPHISTO_HOMEhttp://localhost:8080/mephisto'.

This shows how a Ruby application, with minimal change, can be deployed on GlassFish V3. This was also shown in the JavaOne 2007 Technical keynote (start @ 8:29 and finish @ 10:50).
I encourage you to try other popular Rails applications on GlassFish and leave your feedback here.
Technorati: glassfish mephisto rubyonrails ror jrubyonglassfish
Posted by Arun Gupta in web2.0 | Comments[16]
|
|
|
|
|
Monday May 21, 2007
Mon: Rest
Tue: 3.5 miles
Wed: 3.5 miles
Thu: 3.5 miles
Fri: 10 miles Bike
Sat: 7 miles
Sun: Rest
Traveling spoiled my long run this weekend but I plan to do a good one coming weekend.
Couple of good reads this time ...
Technorati: running fitness runninglog
Posted by Arun Gupta in Running | Comments[0]
|
|
|
|
| jMaki publish/subscribe and debugging
So far you've been playing with jMaki and
created some Web
and/or Rails
applications. Let's say you've gone a step ahead and some
widgets in your application use jMaki's publish/subscribe
mechanism to talk with each other. Some jMaki widgets,
such as Menu and Dynamic Container are pre-configured to
publish and subscribe to the same topic. So if you develop a simple
menu-based application then it'll work without adding any
glue code. Another example is Yahoo GeoCoder publishing and Yahoo Maps
and Google Maps subscribing. This allows you to drop all three widgets
together on the same page and if you enter a city and state in
GeoCoder, the coordinates will show up in both the maps. So
far so good, but what if you are writing custom publish and
subscribe code and it's not working. Lets see how we can debug that.
Let's say there is a Yahoo Calendar and Data Table widget in the page.
The Data Table displays stock tickers by pulling the data from quote
servers for the current date. You'd like to modify the application such
that whenever a date is selected in the Calendar widget, the
Data Table refreshes itself by pulling quotes for that date.
The Calendar widget
already publishes an event to "/yahoo/calendar/onSelect" topic. All you need to
do is modify 'component.js' in Web pages, resources, yahoo,
dataTable subtree and listen to that topic. For that, you add the
following statement:
jmaki.subscribe("/yahoo/calendar/onSelect",
calendarListener);
on line 172 of 'component.js'. The 'calendarListener' function
is defined as:
function calendarListener(item) {
var targetDiv = document.getElementById("newpage");
targetDiv.innerHTML = item.value;
}
On 'index.jsp', where both the widgets live together, a new
<div> is added:
<div id="newpage"></div>
Now any date selected in the calendar is printed on the page. The 'calendarListener'
function can be easily modified such that the dataTable is refreshed after
processing the date.
We created a simple, yet powerful example, demonstrating jMaki publish/subscribe mechanism.
The mechanism is simple so it should just work even if there are custom
widgets and they publish events to their own topic. But this is software so in
all likelihood don't be surprised if it does not :) But jMaki at least provide a
way to debug that situation. Open 'Web pages', 'resources',
'jmaki.js'. Search for 'this.debugGlue=false;this.debug=false;'
in this file. Change the 'false' to 'true' and save
the file. After you refresh your application in the browser window, the
bottom-right portion of your browser window shows all the topics and messages
published on it as shown below:

Happy debugging!
All jMaki Web applications can be deployed on GlassFish or Rails applications can be WARed and then deployed on GlassFish.
Technorati: jmaki glassfish rails rubyonrails
Posted by Arun Gupta in web2.0 | Comments[3]
|
|
|
|
| a.r.u.n.g.u.p.t.a-AT-gmail-DOT-com is the same as arungupta-AT-gmail-DOT-com or a.rungup.ta-AT-gmail-DOT-com.
Read for more details. New learning every day 
Technorati: gmail
Posted by Arun Gupta in General | Comments[2]
|
|
|
|
|
Sunday May 20, 2007
Tim Bray's keynote session at Rails Conf
Tim Bray, Web Guy from Sun Microsystems gave the keynote session at Rails Conf 2007 yesterday (May 19). With 1600 attendees, it was quite a different experience from JavaOne last week which had approx 16,000 people. The session was to start @ 9am and we were made to wait until 8:55am outside the Ballroom.
|
|
|
|
Anyway, once the session started it was packed!
|
|
|
|
|
|
|
He also announced Sun will donate servers to open-source Ruby projects. Showed screen shots of Mephisto source code in NetBeans 6 and RHTML debugging.
Tim invited Charles Nutter, JRuby core developer on the stage and asked "Why JRuby ?".
Charles: JRuby is a new different way of looking at Ruby. Because it runs on Java, it scales very well, tested thoroughly, allows Ruby to get into enterprises where Ruby and/or Rails have never entered and there is a vast amount of Java libraries accessible to Ruby developers.
Tim: Any gotchas ?
Charles: If not feeling the pain under Ruby, keep doing it. JRuby is not
a solution to all problems. If you want to scale better or differently, then
this may be your solution. This gets you into enterprises where there is no Ruby
or Rails presence.
Tim: When will JRuby be released ?
Charles: JRuby RC is out
and FCS will be released by month-end.
Charles also said to give JRuby tee-shirts (pretty cool looking and has Duke holding a Ruby gem) if you contribute to the project or submit patches. Here are some pictures of Tim:
One of the big questions that we were getting asked at the Sun pod was "What is Sun doing at Rails Conf ?". Tim answered that very clearly in his session:
Sun sells Computers, Infrastructures, Operating Systems (Solaris) which is driving biggest, hairiest, ugliest and yet highly-performant systems in the world. We have x4500 Thumper, M9000, Identity Management Solutions. And then we are a systems company so we have NetBeans - a highly productive Rails development environment, jMaki - rich set of widgets for Rails view, and GlassFish - deployment of Rails applications.
Another couple of interesting topics that Tim touched on is:
I had to leave the session early because of setting up the booth but it was a great talk!
Check out the flickr stream for the show.
Technorati: railsconf sun jruby glassfish netbeans jmaki
Posted by Arun Gupta in web2.0 | Comments[0]
|
|
|
|
|
Saturday May 19, 2007
One of the disadvantages of traveling on weekend is I miss my long distance road-running. This weekend because of Rails Conf 2007, I had to plan my long run on a treadmill. So anyway, I got up at 5:45am and planned a 10 miler on the treadmill (few more weeks for the marathon). I'm a road-runner and have never run that long a distance on treadmill but decided to give it a shot today. After running barely 4 miles I started feeling bored. I browsed through all the channels and it was either 'Good Morning Weekend' or something else. I finally hooked on to History channel which was showing a great program on F16 & F18. But even that couldn't keep me around for long. The walls around me were the same, the scenery was not changing and I was sweating more than normal (what else to expect in a closed room!). I finally decided to stop at 7 miles, burnt lot of calories because I changed the gradient from 3 to 5 multiple times but it was quite boring!
I wonder how anybody can run
153.76 miles on a treadmill 
Posted by Arun Gupta in Running | Comments[6]
|
|
|
|
|
Friday May 18, 2007
Sun @ Rails Conf 2007 - Keep coming!
![]() |
Sun is a diamond sponsor of Rails Conference 2007. At the booth we are showing how jMaki provides a rich set of widgets for Rails application. Also talk to us about how GlassFish V2 can provide a deployment environment for WAR-ed up RoR apps and how GlassFish V3 provides deployment of original packaging of RoR apps. |
We are also showing the best platform for hosting Ruby on Rails
-- Sun
Fire T2000, Sun
Startup Essentials, NetBeans
6 great Ruby
and Rails capabilities. And our booth is shared with Joyent.
And then of course, we are giving a few
sessions 
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
Posted by Arun Gupta in web2.0 | Comments[2]
|
|
|
|
|
Today's Page Hits: 397
Total # blog entries: 1002