Friday Apr 17, 2009

To update Ruby, or any other application on OpenSolaris . . .

My recent post about updating Ruby on OpenSolaris can be summed up with the following steps:

(1) set the OpenSolaris developer repository as the package authority(pkg set-authority -O

(2) run "pkg image-update".

This raised questions about whether an image update was necessary just to update Ruby, which is a well behaved application with no direct ties to operating system internals.

The answer, quite simply, is a YES.  This applies to any application that is provided by  the main OpenSolaris (or dev) repositories, not just Ruby.  One can only update the application to a level of the package that is delivered on the build of the OS that one is running. 

Does that sound confusing?

 Lets say your OS level is 101 ( use "uname -a" to find that out).

root@domU-12-31-39-02-F5-56:/var/ruby/1.8/gem_home/bin# uname -a
SunOS domU-12-31-39-02-F5-56 5.11 snv_101b i86pc i386 i86xpv Solaris

Now lets look at an application installed on this machine (gmake, for example).  Use "pkg info" to get information about an installed package.

root@domU-12-31-39-02-F5-56:/var/ruby/1.8/gem_home/bin# pkg info SUNWgmake
          Name: SUNWgmake
       Summary: gmake - GNU make
      Category: Development/GNU
         State: Installed
       Version: 3.81
 Build Release: 5.11
        Branch: 0.101
Packaging Date: Wed Nov 19 22:11:01 2008
          Size: 696.26 kB
          FMRI: pkg:/SUNWgmake@3.81,5.11-0.101:20081119T221101Z

gmake 3.81 is installed, and this was built on build 101 of Solaris Nevada (build 101 is the value that corresponds to the "Branch" tag).

Now, what this means is that one will not be able to update gmake to a version higher than the one bundled with build 101 without running "pkg image-update".  In this case, that is gmake version 3.81.

Updating individual packages is possible with the IPS framework, and that means that non Sun packages can be updated.  The packages that are delivered by Sun, however, cannot be updated thus.  These packages are listed as dependencies for the meta-package called "entire". "entire" imposes the restriction on what build number a package could be updated to. 

The IPS team is working on loosening this (reboot required) restriction.   But until then, please point your pkg command to  (by uttering pkg set-authority -O ) and then say " pkg image-update ".

This will bring up Ruby 1.8.7p72 and Rubygems 1.3.1.  There is work happening to make Rails available too. stay tuned.

Wednesday Dec 05, 2007


It's been a while since I made an entry here, and, like the California Sun which, after a couple of days, is now shining through the bay area winter clouds, and on to my Ferrari, this may be a good time for a new blog entry to "show up". I've been caught up with different threads after the Ruby integration into Solaris - looking into Ruby/Rails performance, benchmarks, micro-benchmarks, Rails etc.,

The next set of Solaris integrations should begin quite soon, and we've got lots of work to do. My colleagues Siva and Chris are working with me on getting Joyent's Dtrace probes integrated with Ruby, and then we'll tackle Rails!

Amanda Waite, a Rails fanatic in our team, is looking into Lighttpd on Nevada(and Rails performance) . . . so expect more stuff there.

Among other things, I've been regularly attending the Web 2.0 speaker series at the Xerox PARC Forums - this is a hugely interesting series if you like Web 2.0 kind of stuff; If you're not from the bay area, look here for archived talks!

My favorites are the Stumbleupon and "Reinventing the media business" talks.


Friday Jul 27, 2007

OSCON 07, Thursday and Friday.

I'm finally done with OSCON 07 – it was fun while it lasted, but was a little tiring, and I'm looking forward to a weekend of exploring Portland.
Some highlights of the last couple or days are:

-> Impressive demo of the language called processing – see their home page for more information.

-> Steve Yegge from Google talked about why branding was important, and why he believed that “Open Source” wasnt the right brand for open source. He made a lot of other comments during the talk that were equally interesting. Here's how that went - perceptions are, “TurboC is faster than QuickC”, when you hear “GTE”, you think “sucks”, when you hear “Amazon”, you think books, when you hear Java, you think . . . “Enterprise”? Hold on for a moment there. This may be true for some people – I can't speak for others. So many things come to mind when I hear Java – this may be because I'm with Sun, and I have an above average Java exposure – or maybe not. In fact one single thing doesn't come to my mind when I think Java - so the exercise is pointless.

An excellent community panel on what makes open source communities, with Karl Fogel, Brain Behlendorf, and Jimmy Wales, among others. Just in case you had not heard of them, Karl Fogel was the dude that wrote the free CVS book that saved my butt at least a couple of times when I was on the hook to set up a repository. He is passionate about copyright reform these days, and is involved in QuestionCopyright (copyright, and reform is an issue of huge import that everyone should educate himself/herself on)
Brian B is one of the Apache Software Foundation founders.
Jimmy Wales is the guy behind Wikipedia. His noble motive is to “imagine a world in which every person is given free access to the sum of human knowledge.”
Discussed on the panel were questions of how to deal with problem people in the community, how communities recognize someone's contributions, and what the indicators of a healthy community are.
An interesting comment was “ Communities don't scale” ie., there can be too many members in a community. I imagine this refers to the core team(the inner ring of the onion :-), and not it's user base – how can you have too many users?

I attended many deployment architecture talks, all of which were very educative, the most relevant being the Typepad architecture talk – others were S3/37signals, and Youtube and how they scaled – doing justice to these topics would necessitate blog entries by themselves.

Throw in another copyright reform talk by Karl Fogel, a GPL v3 dive-in by the FSF, a hardware hacking session, and an keynote on commoditization, which covered Saas( and for the first time, I heard about HaaS, and Faas, Hosting and Framework is what the H and F mean). This is an easy way to describe hosting services and the application infrastructure hosting companies.

In summary, it was time well spent for me, and I'm looking forward to attending next year . . .
Now, on to my Portland weekend vacation . . . adios.

Thursday Jul 26, 2007

What's hot at OSCON 07?

I attended OSCON for the first time, this year. In spite of being involved in the free and open source communities since a decade, when I first volunteered in the FSF when in grad school – there was a period when I wasn't directly involved . . . so it's fun time now!

The key notes were strongly attended – was able to ballpark about 2250 strong - hackers, system admins, a few managers, publishers(and probably many other functions as well). As Eben Moglen said in a later talk , “We[the free/open source community] have turned a corner – we will never go away now . . . it is now safe to say that . . .”

Tim O'Reilly did the obligatory introduction talk. Some interesting stats: The rails developer team is only 14 persons, Amazon has over 100,000 developers, Flickr has 10 million contributors with over 750 million pictures.

In other key notes, Simon Peyton-Jones(Haskell) gave a pitch for transactional memory, Shuttleworth talked about Ubuntu, launch pad, target markets etc.,

Mention of Sun Microsystems?
The scalability talk on Monday had a lot of mention of Solaris – the binary compatibility was touted by a speaker from Ominiti, Dtrace received it's usual share of the limelight. (A vague mention was made about it not being easy to get patches on OpenSolaris – couldn't follow up on what this meant, but I'll watch out for this speaker in the coming days, and try to follow up.)

Ian Murdock's talk drew in a committed set of Solaris enthusiasts – some project Indiana time lines were disclosed:
-> Indiana will have short release cycles – spaced 6 months.
-> First release Spring 2008
-> Test releases beginning fall 2007!

Main features are easier installation, network based package management, and, zfs is the default file system.

The Open Document Format (ODF) was mentioned many times including the keynote - people were already educated about the OpenJDK piece, going by the questions raised in Mark Reinhold's talk on the topic(this could be attributed to the initial coverage that this announcement got?)

There is a lot more to write about, but I fear I've been quite verbose already, and I have to grab my lunch(which is not a huge attraction here, but a hacker's got to eat sometime) So I'll stop. I'll post more during the conference!

Sunday Apr 16, 2006


Monolith is a program that XORs two binary files – ie., FileA XOR FileB = FileC.

The resultant File C can, of course, be XOR'd with one of the initial files to reproduce the other file(ie., FileC XOR FileB = FileA). Surely, if B and C were freely available on the internet, and A was copyrighted(like an MP3 version of a Britney Spears' song), then distributing B and C along with a program to reproduce A would avoid copyright restrictions that were imposed by Ms Spears' hordes of lawyers?


I support what the author is trying to do(avoid music copyrights). But using Monolith is loosely the same as converting your wma file into a .ogg file, and claiming that the .ogg file does not violate copyright because your MP3 player cannot play it. Especially if your file has a .ogg extension and you have a link to the Vorbis player in bold.

Monolith's premise can have scary ramifications for free software – someone could munge a free software program. If munging a copyrighted program would void copyright, then munging a free program would void copyleft!

If she were to go further, and define a transformation on the munged program that would result in the removal of data consisting of the licensing information and author's name, then “unmunging” it will result in a new program that is the same as, but with no copyleft notice. Solaris and Linux could then be redistributed as proprietary programs by anyone who could munge-transform-unmunge!

But the interesting question that Monolith brings up – what if you were to munge a file copyrighted by Britney Spears and come out with a song copyrighted by a boy band? Who would be violating copyright then, Britney, TheBoyBand, or a you(a person can legally distribute one of these songs and has a notice on her website that says that munging this file will result in the other song)?




« April 2014