August 29, 2008

SecuritySun Alert 240706 Covert Channel Security Vulnerability in the Solaris Kernel

August 29, 2008 02:05 AM GMT
Product: Solaris 8 Operating System Solaris 9 Operating System Solaris 10 Operating System OpenSolaris

A security vulnerability with system calls in the Solaris Kernel may allow two unprivileged local user processes to establish a covert communication channel bypassing system restrictions such as the multi-level security policy found in Solaris Trusted Extensions or the isolation policy implemented using zones(5) or chroot(2).

State: Resolved
First released: 27-Aug-2008
Sun Alert Link: http://sunsolve.sun.com/search/document.do?assetkey=1-66-240706-1

Katy DickinsonYosemite

August 29, 2008 02:00 AM GMT
On our way home from our annual camping week at the Bear's Lair, we drove by way of Yosemite. I visited Yosemite many times as a kid, including a week each High School winter with the Yosemite Institute. So, the valley is a very familiar place.

Our family has driven through Yosemite valley in recent summers but this was our first long visit. From Mammoth Mountain, we drove on Highway 120, crossing into Yosemite National Park over Tioga Pass on the East side. We stayed two nights at the Yosemite View Lodge in El Portal (just outside the park's West gate on Highway 140).

Yosemite was hot and there was very little water in any of the falls. Yosemite Falls was entirely dry. We left my mother at the base of the Mist Trail (she painted a watercolor of the Merced River), then hiked to the bridge to find Vernal Falls reduced to a few ribbons.

We ate dinner at the Yosemite Lodge Mountain Room, lunched at the elegant and formal Ahwahnee Lodge, and had a very good visit.

Sierras Maps
California Sierras Maps photo: copyright 2008 Katy Dickinson
Driving to Yosemite National Park
Driving toward Yosemite National Park photo: copyright 2008 Katy Dickinson
Watch for Rocks, Iconic Yosemite Sign
Watch for Rocks Iconic Yosemite Road Sign photo: copyright 2008 Katy Dickinson
Paul, Eleanor, Jessica, Matt
Paul, Eleanor, Jessica, Matt at Olmsted Point, Yosemite National Park photo: copyright 2008 Katy Dickinson
Katy and John at Olmsted Point
Katy and John at Olmsted Point, Yosemite National Park photo: copyright 2008 Paul Dickinsoni Goodman
Half Dome
Half Dome, Yosemite National Park photo: copyright 2008 Katy Dickinson
Eleanor Painting
Eleanor Painting, Yosemite National Park photo: copyright 2008 Katy Dickinson
John Downstream from Vernal Falls
John Downstream from Vernal Falls, Yosemite National Park photo: copyright 2008 Katy Dickinson
Jessica and Paul
Jessica and Paul, Yosemite National Park photo: copyright 2008 Katy Dickinson
Swimmer Jumping, Merced River
Swimmer Jumping into the Merced River, Yosemite National Park photo: copyright 2008 Katy Dickinson
Dry Yosemite Falls
Dry Yosemite Falls, Yosemite National Park photo: copyright 2008 Katy Dickinson
The Mountain Room, Yosemite Lodge
The Mountain Room, Yosemite Lodge, Yosemite National Park photo: copyright 2008 Katy Dickinson
Ahwahnee Great Room
Ahwahnee Great Room, Yosemite National Park photo: copyright 2008 Katy Dickinson
Ahwahnee Fireplace
Ahwahnee Fireplace, Yosemite National Park photo: copyright 2008 Katy Dickinson
Ahwahnee Conduct Sign
Ahwahnee Conduct Sign, Yosemite National Park photo: copyright 2008 Katy Dickinson
El Capitan
El Capitan, Yosemite National Park photo: copyright 2008 John Plocher
Jessica and Matt check the map
Jessica and Matt check the map, Yosemite National Park photo: copyright 2008 Katy Dickinson
Rest Break, Yosemite Lodge
Rest Break, Yosemite Lodge, Yosemite National Park photo: copyright 2008 Katy Dickinson
Speeding Kills Bears
Speeding Kills Bears sign, Yosemite National Park photo: copyright 2008 Katy Dickinson

Images Copyright 2008 by Katy Dickinson, Paul Dickinson Goodman, John Plocher

Jim GrisanzioSemi

August 29, 2008 01:23 AM GMT

These semi dudes are amazingly loud. Go out in the woods and immerse yourself in these guys and you can put yourself in a meditative trance. They don't live very long, but you certainly know they are around. Summer in Japan.

Semi Semi Semi

August 28, 2008

Hinkmond WongHoly Java ME tech-enabled comics, Batman!

August 28, 2008 11:53 PM GMT

Holy comics, Batman! I hope they make Batman and Robin available as a Mobile Comic for your Java ME technology-enabled cell phone soon!

See:

Java ME tech-enabled comics

Here's a quote:

 Paramount's mobile comics are 
 currently available in MMS and 
 J2ME formats in the United States, 
 Australia, Europe and India, and 
 will be made available by download 
 through key carriers worldwide. 
Who wants manga on a cell phone when you can have Batman (pre-Christian B.), Robin, the Joker (pre-Heath), Catwoman, etc.?

Takanobu MasuzukiOpenSolaris Hot topics seminar 4th

August 28, 2008 11:50 PM GMT
OpenSolaris Hot Topics Seminar の第4回目開催です。今回のテーマはデスクトップ環境になります。 私はあまりデスクトップ環境をカスタマイズする人ではないのですが、「ちょっとした設定変更で労力を使って燃え尽きてしまう人を増やさない為にも、GNOME の構成や Solaris 用に拡張している部分についてきちんと説明して欲しい」という声が上がったので、今回取り上げてみることになりました。
講師はこのセミナー初登場の国際化エンジニア部門の藤原さんです ご興味のある方はここからどうぞ。

追伸 blog アカウントの認証方法が変更されて、ログイン出来なくて更新溜まってしまいました。 Jimmy Page が北京オリンピックの閉会式に出るというので、期待していたら生演奏じゃないのでガックリ。少女の口パクは報道されていたのに、誰も"そこ"はつっこまないのね(涙) 因みにたまたま Google で検索して見つけたクリスペプラーの blog によると Jimmy Page の孫はアンパンマンの Fan だそうです。 孫かよ.....知らなかった。

Rich BurridgeGetting Thunderbird to Automatically Load Images in Emails

August 28, 2008 11:45 PM GMT

For the version of Thunderbird I'm running under OpenSolaris 2008.05, when you receive an email with images in it, I get a little "banner" at the top of the email where I have to click the "Load Images" button in order to see the images in that email.

Well today it got to the point where it had annoyed me enough that I wanted to adjust this, so that images where automatically loaded. Seems simple right?

After spending about five minutes looking at all the Preferences options and Account Settings options and not finding it, I decided to google for it.

The solution is to bring up Edit->Preferences, click on the Advanced panel, go to the General tab and click on the "Config Editor..." button. Then look for the "mailnews.message_display.disable_remote_image" setting and double click on the "true" word to turn it to "false".

Why is this so hard? Why couldn't there be some way of doing it directly from the little banner with the "Load Images" button is? Maybe a little "Change this..." link.

Anyway, hopefully this post will save somebody else a few minutes if they are struggling with the same problem.

[]

Vijay TatkarIDF Chalktalk and two new World Records with Sun Studio

August 28, 2008 10:34 PM GMT

IDF Chalktalk went nicely yesterday. There was some decent interest in Sun Studio. This being my first chalktalk, I was a bit wary of what the expectations around it were. I didnt have to worry: I had plenty of support from well-wishers and colleagues who dropped in for moral support.
It helped, of course, that I could start the talk by announcing two new World Records with Sun Studio compilers. These performance records should put to rest some speculation about how well Sun Studio supported the Intel Xeon processor. Of course, competitive performance and SPEC benchmarking is a forever leap-frog contest and these numbers show that Sun Studio is extremely competitive even with the Intel compilers . Internally, of course, we know this but with SPEC disclosure rules, it gets hard to post competitive, comparative data that shows this. These disclosures provide the finality that is otherwise hard (but not impossible) to provide.
In addition to Performance, which is forever the #1 concern with any compiler choice, other topics of interest that came up were: Besides these very interesting discussions, I also gave short overviews of different aspects, not covered here, eg. IDE, Debugger, browsing, editing, projects management in the IDE, etc. Of course, with over 100 commands in Sun Studio product line and over 200 library versions, its hard to cover it all. But all in all, the feedback was positive and I had a great time doing it!
I look forward to doing it again next year!

Disclosure Statement:
SPEC, SPECfp, SPEComp reg tm of Standard Performance Evaluation Corporation. Results from www.spec.org as of 08/19/08. Sun results submitted to SPEC.
Sun Fire X2250 with two dual-core Intel Xeon 5272 processors and OpenSolaris: 13394 SPECompM2001
Sun Fire X2250 with Intel Xeon 5272 processors and OpenSolaris: 26.0 SPECfp2006, 24.8 SPECfp_base2006.


Tim BrayCottage?

August 28, 2008 10:20 PM GMT

If there’s anyone reading this who’s felt some empathy with the recent flurry of Cottage Life posts, and who’s from around here: there’s another waterfront property just around the corner from ours for sale; near the north point of Keats Island (Wikipedia, map, keatsisland.net). Serviced, a couple of hours from downtown Vancouver (boat only). Not perfect, has issues, needs work. But pretty unique, I think. The reason I’m plugging this is I’m hoping someone with kids gets the place; ours could use some playmates. If you might be interested, contact me and I’ll put you in touch with the vendor.
Update: It’s been listed.

Katy DickinsonMake Poverty History

August 28, 2008 10:18 PM GMT

Powered By Ringsurf
U2Charist poster, 20 September 2008 photo: copyright 2008 Episcopal Diocese of El Camino Real

Please Join Us - All Are Welcome!

U2Charist and World MDG Blogging Day

My church is preparing to present a "U2Charist" on 20 September 2008 at my home parish of Saint Andrew’s Episcopal Church (13601 Saratoga Avenue, Saratoga, CA). A U2Charist combines music from the library of humanitarian band U2 with worship and Holy Communion. For more U2Charist information, call 408-887-2977. Also in development is World MDG Blogging Day on 25 September 2008 in support of the Millenium Development Goals (MDGs).

St. Andrew's speaker at the 20 September U2Charist will be Peter Kithene, Founder, President, and CEO of Mama Maria Kenya and the Mama Maria Clinic. Peter Kithene was orphaned at age 12 but went on to found Mama Maria Kenya and the Mama Maria Clinic during his Junior Year at the University of Washington in Seattle. In 2007, Peter was chosen one out of over 70,000 applicants from 93 countries to be CNN’s Global Heroes honoree of “Medical Marvel” for his work in developing rural healthcare in Africa.

The funds offered at the event will benefit Kithene’s project Mama Maria Kenya, and Episcopal Relief & Development (ERD). This month, ERD achieved a 4-star rating from Charity Navigator for sound fiscal management. 4-stars is the highest possible rating.

The U2Charist is a project of the 18 Episcopal member churches of the Santa Clara Valley Deanery, to bring wider attention to the Millennium Development Goals, a set of eight health and welfare goals supported by nearly all of the 192 United Nation countries, including the United States.

Photos of Peter Kithene and Mama Maria Kenya

Peter Kithene
Peter Kithene photo: copyright 2008 Peter Kithene
Mama Maria Clinic, Kenya
Mama Maria Clinic, Kenya photo: copyright 2008 Peter Kithene
Peter Kithene with Patient
Peter Kithene with Patient photo: copyright 2008 Peter Kithene

Images Copyright 2008 by Peter Kithene

Tim BrayTab Sweep — The World

August 28, 2008 10:17 PM GMT

I was writing that Tech Tab Sweep and regretting the absence here of all the nifty non-tech links I’ve been twittering. I think it’s lame to gateway your Twitter feed into your blog, but I decided it’d be worthwhile to go back and pull a few out for those who might be entertained but don’t read Twitter. Some of these are superultrajuicy.

Chris GerhardIt scrubbed up good

August 28, 2008 10:00 PM GMT

Since the home server has been snapping regularly I have had to choose between snapshots and scrubbing and I chose snapshots. User error is more likely than hardware failures and scrubbing is really about seeing those errors sooner so you don't get a unrecoverable failure due to having two problems at once. However I would rather not have to choose.

So I was particularly pleased to see that build 94 contains the fix for this bug:

6343667 scrub/resilver has to start over when a snapshot is taken

So today the home server had it´s first scrub in years and it scrubbed up well:

: pearson FSS 5 $; pfexec zpool status
  pool: tank
 state: ONLINE
status: The pool is formatted using an older on-disk format.  The pool can
        still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
        pool will no longer be accessible on older software versions.
 scrub: scrub completed after 12h42m with 0 errors on Thu Aug 28 20:12:36 2008
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c1d0s7  ONLINE       0     0     0
            c5d0s7  ONLINE       0     0     0

errors: No known data errors
: pearson FSS 6 $; 

When I upgrade the pool, after the other live upgrade boot environment can support this pool version, there is the promise of a faster scrub but since this scrub happened during the day and I also backed up the pool using zfs_backup during the same time.

theaquariumGlassFish v3 - UpdateCenter Module 101

August 28, 2008 10:00 PM GMT
Updatetool snapshot

With GlassFish v3, we're moving from a home-grown packaging and update mechanism used today in GlassFish v2 to IPS. Jim has a detailed write-up about how to build an update center module for GlassFish v3.

Jim covers setting up the tools if you're not using OpenSolaris, module configuration (there is no file format and packaging per say), setting up a repository, and browsing existing repositories (simply point your browser to the magic URL).

The objective for the GlassFish Update Center remains the same - easily expose your software add-ons and updates to both internal of external users (4+ Million GlassFish downloads a year).

Tim BrayTab Sweep — Technology

August 28, 2008 09:56 PM GMT

I’d kind of gotten out of the habit of doing tab sweeps, largely because my Twitter feed is such a seductive place to drop interesting links. But as of now there are around 30 tabs open on my browser, each representing something I thought was important enough to think about and maybe write about. Some are over a month old. Some of them have been well-covered elsewhere. All I assert is that after I read each one of these, I didn’t want to hit command-W to make that window go away. Unifying theme? Surely you jest.

Databases

Jeff Atwood’s Maybe Normalizing Isn't Normal unifies a lot of the pointage that’s going to the (many and interesting) developments in the storage space; and along with the links there’s stuff that’s worth reading.

Also on the database front, I got email from the CouchDB guys wondering if I might be able to help them get access to a Niagara machine. Since the work on Wide Finder 2 is slowing down, they now have CouchDB running on that machine. That sucker has decent I/O and runs Erlang well, so I expect great things.

Erlang

Speaking of which, two of my tabs belong to Joe Armstrong: first, Itching my programming nerve, which plugs an Erlang-based Wikipedia clone. Since Wikipedia is already insanely efficient in my opinion, if they can do better that’s a news story. And I totally enjoyed UBF and VM opcocde design; literally laughing out loud, which is rarely provoked by opcode design discussions.

Further on the subject of cloning things in Erlang, Rabbiter - Open Federated Pubsub Server claims to be the Next Big Thing in federated Microblogging. No matter how much you like Twitter, the notion that there’s going to be One Big Centralized Microblogging service is just not compatible with the Internet, so federation is interesting.

Oh, and the new Delicious has some Erlang too. It’s popping up all over. Hey, the Seventh ACM SIGPLAN Erlang Workshop is right here in Vancouver in a few weeks. Wonder if I can sneak away from the family on a Saturday?

REST and the Web

Even if AtomPub turns out to be as big as I think it’ll be, it’s strongly document-optimized, and there are lots of Web Resources you’d like to do CRUD on that aren’t documents at all. Joe Gregorio started wondering out loud what the AtomPub analogue for data might be, if by data you mean JSON; see RESTful JSON and RESTful JSON Followup and Mailing List. I smell low-hanging fruit.

Two of my longest-persisting browser tabs are in this space: DeWitt Clinton’s powerful On Fighting the Web Itself and Steve O’Grady’s Beyond REST, or Beyond XMPP? Both? The Q&A.

Ruby & Friends

This is really only Ruby-related because it happened at a Ruby Conference, but the second half of Chris Wanstrath’s keynote, from the Ruby Hoedown conference, is worth a listen. He tells you to start a side project and read lots, but to stop reading blogs like the one you’re reading now.

I also enjoyed Matt Aimonetti’s Ruby developers don't scale, if only because you could have run it a dozen years ago, globally changing all instances of “Ruby” to “Java” and “Java” to “C”. When there’s a hot new technology, there’s always going to be a developer shortage. For a while.

Next, there’s Zero to Production in 15 Minutes from Charles Nutter. He points out how easy it is to pull together a complete application staging environment with JRuby and GlassFish and so on. But I see his stanza of eleven shell commands and I’m thinking “One-click installer time”. This is just a step along the way. Obviously, something similar is in order for native Ruby; quite likely Phusion is at work on it.

When I link to Charles I think about the JVM and then I think about John Rose, who recently published Happy International Invokedynamic Day!, which makes me personally very happy. I think back to December 2004, one of the first steps along this road.

Rich BurridgeFour Book Lists Updated

August 28, 2008 08:52 PM GMT

I noticed that four of the book lists that I have near the top left corner of my main blog page, have acquired bit-rot. Most of the images of the book covers were no longer being found.

Now I don't know whether this is a result of Amazon changing their API's earlier this year, or the cache URL's are just no longer valid, but I thought I'd fix them up. Rather than taking the URL that Amazon supplies when you search for a particular ISBN programmatically, I'm now using the "standard" medium size image URL that seems to nicely work with most books at Amazon with a recent publication date.

The four lists are:

I'm one of those people that finds it easier to remember an unfamiliar book by its cover than its title. That doesn't always help as they seem to need to change the art-work for the same book with each new release. It did enable me to find a few of them at the Los Altos library book sale last Friday evening.

I also highly recommend the Salon.com Reader's Guide to Contemporary Authors. The list only gives the suggested book to start with for each of the authors, but the actual book goes much further than that with mini biographies and bibliographies plus various essays and digressions under a multitude of topics.

[]

[]

FlexRexSeven Meals from Chaos

August 28, 2008 08:39 PM GMT

I have a reading coming up in October in Portland. The event is called BackfencePDX and the theme of the evening will be "Stuffing Yourself."

So, they published my story already. I called it Seven Meals from Chaos, which is kind of a take-off on a newspaper story I read called "Nine Meals from Anarchy." I think it turned out well and I got some good comments already. Enjoy!

http://backfencepdx.wordpress.com/2008/08/27/just-cant-get-enough/

FlexRexYouTube: You Suck at Marketing

August 28, 2008 08:35 PM GMT

In this parody of the You Suck at Photoshop videos, our favorite work-from-home hero shows us how to do those fancy html emails.

Timothy Kennedydiskread: reading beyond end of ramdisk (& how I recovered)

August 28, 2008 07:33 PM GMT

We had to do a maintenance to replace a NEM module in a Sun Blade 8000 Modular System.

Two of my team mates went on down to the datacenter on other business and graciously offered to SWAP the NEM for me. The pulled the old one out, stuck the new one in.

That's as simple as it should have been.

Should have been. I wish. Instead, the chassis started to freak out, cycling it's power over and over, and somehow was taking the CMM with it. In between one set of cycles, I was able to connect to the CMM via console and paste in a bunch of commands to shut down chassis power. I let it sit for a moment, then began to power up the system. First the chassis, then the individual blades. One blade came up, no problem. The next two, though, were very much less than happy, spitting out errors like:
diskread: reading beyond end of ramdisk
	start = 0x2000, size = 0x2000
failed to read superblock
diskread: reading beyond end of ramdisk
	start = 0x2000, size = 0x2000
failed to read superblock
panic: cannot mount boot archive
Press any key to reboot

The GRUB menu was coming up OK, though, so I pressed the trusty any key, booted into Solaris 10 Failsafe mode. This was no picnic either.
SunOS Release 5.10 Version Generic_120012-14 32-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Booting to milestone "milestone/single-user:default".
Configuring devices.
Searching for installed OS instances...
NOTICE: /a: unexpected free inode 5825, run fsck(1M)
/dev/dsk/c2t0d0s0 is under md control, skipping.
To manually recover the boot archive on a root mirror,mount the first
side (the one that the system boots from) and run:

        bootadm update-archive -R 

umount: /a busy

No installed OS instance found.

Starting shell.
#

My immediate thought was "WTF? No installed OS instance found?" Closer inspection revealed that it had in fact found two possibilities, but one c2t1d0s0 was inconsistent and needed a fsck, and the second c2t1d0s0 was under md control, and so being skipped.

An fsck of /dev/dsk/c2t0d0s0 revealed a few inconsistencies. Here's an example. I think this was actually the 3rd of 4 fscks I ran on this dev:
bash-3.00# fsck /dev/dsk/c2t0d0s0
** /dev/rdsk/c2t0d0s0
** Last Mounted on /
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3a - Check Connectivity
** Phase 3b - Verify Shadows/ACLs
** Phase 4 - Check Reference Counts
UNREF FILE  I=1457  OWNER=root MODE=100644
SIZE=657 MTIME=May 15 18:01 2008
RECONNECT? y

UNREF FILE  I=1458  OWNER=root MODE=100644
SIZE=675 MTIME=May 15 18:06 2008
RECONNECT? y

** Phase 5 - Check Cylinder Groups

CORRECT BAD CG SUMMARIES? y

CORRECTED SUMMARY FOR CG 0
FRAG BITMAP WRONG
FIX? y

FRAG BITMAP WRONG (CORRECTED)
CORRECTED SUMMARY FOR CG 4
CORRECTED SUMMARY FOR CG 12
CORRECTED SUMMARY FOR CG 30
CORRECTED SUMMARY FOR CG 70
CORRECT GLOBAL SUMMARY
SALVAGE? y 

Log was discarded, updating cyl groups
46737 files, 1720899 used, 24099860 free (21460 frags, 3009800 blocks, 0.1% fragmentation) 

***** FILE SYSTEM WAS MODIFIED *****

So far, so good. Let's reboot, and see if we an come up in a multi-user state. So ... reboot ... wait ... wait ...

CRAP! Same panic as our previous boot. We're missing something. A further delve into google reveals that I need to recreate the ramdisks for boot. A boot into failsafe mode again, allows me to fsck c2t0d0s0, which is mounted on /a, and remount it -o rw. bootadm update-archive fails, due to fs inconsistency. Another fcsk, we're in single user, nothing is using that disk, so I just ran the fsck without remounting -o ro. Now, let's skip bootadm and just move straight along to /boot/solaris/bin/create_ramdisk.
bash-3.00# /boot/solaris/bin/create_ramdisk -R /a
Creating ram disk for /a
updating /a/platform/i86pc/boot_archive...this may take a minute

That's it! That's the little piece of magic that fixed it. After that, I was able to reboot, and the server came right up into runlevel 3. Not without a few minor errors, but at least it was up.
SunOS Release 5.10 Version Generic_127112-11 64-bit
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: generic
NOTICE: /: unexpected free inode 9193, run fsck(1M) -o f
NOTICE: /: unexpected free inode 5961, run fsck(1M) -o f
WARNING: /: unexpected allocated inode 9637, run fsck(1M) -o f
Loading smf(5) service descriptions: 1/1
/dev/md/rdsk/d60 is clean
/dev/md/rdsk/d30 is clean
/dev/md/rdsk/d20 is clean

generic console login:

At this point it was pretty simple to complete the fix, which, not wanting to reboot into failsafe mode and fsck a bunch more to recover from the unexpected free and allocated inodes, I wrote a script to: by turns, detach each have of the root mirror, clear the detached metadevice, newfs the raw device, re-create the metadevice, and attach it once again to the mirror. Let it sit long enough to complete the resync, and repeat the same steps on the other half of the mirror.
#!/bin/sh
#
# fix-mirror.sh
#
# 05-16-2008 Tim Kennedy 
#
# This script will take one argument, which should be the 
# metadevice of the mirror you want to rebuild.  This script
# will determine the Submirrors, and one at a time, detach,
# clear, newfs, re-init, and reattach them.
# For me this has solved problems with ailing filesystems,
# while replacement storage is procured.
#
# YMMV.  Use at your own risk.  This is not in any way to
# be considered a Sun Microsystems product, and is not in
# any way supported by Sun Microsystems.
#
 
PATH=/usr/bin:/usr/sbin
export PATH
 
MIRROR=$1
 
check_return () {
        RETURN=$1
        if [ $RETURN = 0 ]; then
                printf "%-6s\n" "[ok]"
        else
                printf "%-6s\n" "[err]"
                echo 
                echo "please check the last step manually to see why it failed."
                echo
                exit 1
        fi
}
 
for m in `metastat $MIRROR | grep "Submirror of $MIRROR" | cut -d: -f1`; do
        echo "Found Submirror $m"
        DEVICE=`metastat -p $m | awk '{print $NF}'`
        printf "%-72s" "    -- metadetach $MIRROR $m"
        metadetach $MIRROR $m >/dev/null 2>&1
        check_return $?
        printf "%-72s" "    -- metaclear $m"
        metaclear $m >/dev/null 2>&1
        check_return $?
        printf "%-72s" "    -- newfs /dev/rdsk/$DEVICE"
        echo y | newfs /dev/rdsk/$DEVICE >/dev/null 2>&1
        check_return $?
        printf "%-72s" "    -- metainit $m 1 1 /dev/dsk/$DEVICE"
        metainit $m 1 1 /dev/dsk/$DEVICE >/dev/null 2>&1
        check_return $?
        printf "%-72s" "    -- metattach $MIRROR $m"
        metattach $MIRROR $m >/dev/null 2>&1
        check_return $?
        printf "%-72s" "    -- checking resync status before continuing "
        while [ 1 ]; do
                STATE=`metastat -c $MIRROR | head -1 | grep resync`
                if [ "x${STATE}" = "x" ]; then
                        printf "%-6s\n" "[ok]"
                        break;
                else    
                        sleep 60
                fi
        done
done

Now these blades are happy once again. We'll see how long that lasts or if they continue to have problems of any sort. My hope is for the former.

Have a good weekend.

Katy DickinsonSEED Annual Event Update

August 28, 2008 06:22 PM GMT
Registrations for SEED's Annual Event at the end of September are coming in briskly. We have 74 program participants, managers, and mentors signed up to attend in-person so far. There will be many joining us remotely as well. The dinner and one of the tours are already sold out. The two SEED Showcase moderators are working with the six presenters on their introductions. We are looking forward to a fun event!

More information on the SEED worldwide Engineering mentoring program is available at http://research.sun.com/SEED/

Katy DickinsonMono Lake

August 28, 2008 05:29 PM GMT
On our way home from our annual camping week at the Bear's Lair, we drove home by way of Mono Lake, Mammoth Mountain, Devil's Postpile and Rainbow Falls, and Yosemite.

We drove past Mono Lake on our way to Mammoth and then stopped back at the lake on our way to Yosemite. Besides its lovely setting, Mono Lake is remarkable for its Tufa Towers and its Brine Flies. Tufa Towers form underwater from freshwater calcium-bearing springs entering the salty lakewater. The decline of Mono's water level has left these bright white towers standing like stalagmites in a roofless cave. Black brine flies were thick on the lake border and in the water when we visited. The flies avoid other animals and people. It is interesting to watch the flies scatter under the path of a low-flying seagull. The color contrast of the black flies on the white tufa against the bluegreen lake is strange, a little icky but interesting.

Tufa Towers, Mono Lake
Tufa Towers, Mono Lake, California photo: copyright 2008 Katy Dickinson
Exploring Mono Lake
Exploring Mono Lake, California photo: copyright 2008 Katy Dickinson
Black Brine Flies, Mono Lake
Black Brine Flies, Mono Lake, California photo: copyright 2008 Katy Dickinson
Mono Lake Seagulls
Mono Lake Seagulls, California photo: copyright 2008 Katy Dickinson
Brine Flies on Tufa
Brine Flies on Tufa, Mono Lake, California photo: copyright 2008 Katy Dickinson
Mono Lake grasses and wildflowers
Mono Lake grasses and wildflowers, California photo: copyright 2008 Katy Dickinson

Images Copyright 2008 by Katy Dickinson

Henry Storymy blog is worth $49,114.98

August 28, 2008 04:39 PM GMT

According to Dan Carlson's program my blog is worth 49thousand dollars. That's nothing next to Tim Bray's who's coming up for 700thousand dollars. Of course Dan Carlson is a big winner in all this, because everybody is linking to his site, so his just keeps growing. He is now at 2 million by his own estimate which has something to do with with some AOL deal a few years ago.


My blog is worth $49,114.98.
How much is your blog worth?

Now would I sell my blog for a new car?

As with a new car you'd have to be a bit careful how you sell your site. Tim Brays http://tbray.org/ongoing is worth $693,819.66 . But http://tbray.org/ongoing/ [notice the trailing slash] is worth $375,983.64 . So is Tim's site worth the sum of both, 1 million?

Henry Storypicture of my blog

August 28, 2008 04:38 PM GMT
picture from wordle.net

Wordle is a fun little Java applet that analyses your blog and builds any number of beautiful word clouds from the content. It has started a movement I think.

Just a pitty that one cannot embed the applet in one's own web page. That would make it dynamic and a lot more interesting. Perhaps that will come. At present it seems the author is not sure what the IBM lawyers have decided.

Jim GrisanzioA Puddle and Some Blood

August 28, 2008 04:30 PM GMT

I almost sat in this puddle tonight. It's only water, of course, so it would be harmless. Well, I assume it's only water. But anyway. Can you imagine sitting in a little puddle of blood? Now, that's a great shot, Jon.

A Puddle

Chris GerhardConsitent but not accurate

August 28, 2008 04:24 PM GMT

As I wrote previously I have three kitchen appliances with clocks on them and being that kind of person I have to have the clocks in sync to the second. Yesterday I had reason to reset the clock of one as it had been powered off so I set it according to the clock on the Sun Ray photo frame which, thanks to ntp is correct. Once this was done I noticed the other two appliances are running 10 seconds slow.

What I find odd is that all three appliances have stayed in perfect sync for 6 months but have lost exactly the same amount of time.

Like I said previously they need to be on the net.

DukeSun's Student Technology Camp in the Bay Area- Friday, September 5th!

August 28, 2008 04:07 PM GMT

Invite a student to the Sun Student Technology Camp
Friday, September 5th     
Register your student today!
Bay Area Sun Employees,
Do you know a student that loves science and wants cutting-edge innovation? Maybe you know an entrepreneurial student who aspires to start the next Facebook, Google or Ebay. Have you been wondering how YOU can personally help Sun reach its SMI Connected Student goal this year? (bonus, anyone?).

If you answered yes to any of the questions above, then Sun’s Student Technology Camp will be of
great interest to you. Here is an opportunity to bring a student to work and share with them how cool your
job is! Join our Technology Camp to get demos, hands-on activities, and presentations on the latest,
most innovative technology.

Some of the topics covered will include: Web 2.0, Gaming, and Open Source software.
These events will be held at Sun locations around the world! The first one in the Bay Area will be at the Menlo Park Campus on Friday, September 5th from 4:00pm – 6:00pm. The topic will be our very own SunSPOT technology, presented by Roger Meike – Director of Operations, SunLabs!
What does SunSPOT stand for? Sun Small Programmable Object Technology. For those who haven’t heard of SunSPOTs, they are really cool sensors that are programmed almost entirely in Java to allow regular programmers to create projects that used to require specialized embedded system development skills. Students everywhere LOVE them!

These events are completely at no cost and open to Sun employees and their families.
Hurry — seating is limited! Register your student today!
Key Details
Date: Friday, September 5th
Location: Menlo Park (room location given out upon sign-up)
Event: Sun Student Technology Camp
Topic: SunSPOTs
You: Invite a student!

Jim GrisanzioShooting a Reflection

August 28, 2008 03:54 PM GMT

As I was standing on the train tonight holding my camera, I noticed that I was looking at my reflection in the window as we dove into dark tunnels. So, what else would you do, right? Click. The more and more images I shot, though, the more and more people slowly moved away from me. I wonder why? Anyway, I just found a nice way of getting some breathing room on a crowded train. Cool.

Reflection on the Train

Henry StorySun Intranet Foaf Experiment

August 28, 2008 03:50 PM GMT
image of Address Book displaying internal sun foaf

Building a foaf server from an ldap directory is pretty easy. Rinaldo Di Giorgio put a prototype server together for Sun in less than a week. As a result everyone in Sun now has a experimental temporary foaf id, that we can use to try out some things.

So what can one do with foaf that one could not so easily do with ldap? Well the semantic web is all about linking and meshing information. So one really simple thing to do is to link an external foaf file with the internal one. I did this by adding an owl:sameAs statement to my public foaf file that links my public and my sun id. (It would be better to link the internal foaf file to the external one, but that would have required a bit more work internally). As a result by dragging and dropping my foaf iconfoaf file onto today's release of the AddressBook someone who is inside the Sun firewall, can follow both my internal and my external connections. Someone outside the firewall will not be able to follow the internal link.

By extending the internal foaf server a little more one could easily give people inside of Sun a place to link to their external business connection, wherever they might be in the world. To allow other companies to do this too it would of course help if everyone in Sun had a minimally public foaf ID, which would return only minimal information, or whatever the employee was comfortable revealing about themselves. This would allow Sun to present a yet more human face to the world.

Well that's just a thought, and this is just an experiment. Hopefully it will make the semantic web more real for us here, and allow people's to dream up some great way of bringing all the open source world together, ever closer.

PS. For people inside of Sun it may be easier to just drag my foaf iconinternal foaf file directly on the the AddressBook (started via jnlp). Otherwise to get the internal foaf file to download you need to click the "fetch" button next to the "same As" combo box when viewing my info. Then you need to switch to "Last Imported" and back to allow "Bernard Traversat" to appear in the second column. He appears as someone I foaf:know after the merger of the internal and the external foaf. I know this is clumsy, and I'll try thinking up a way to make this more user friendly very soon. You are welcome to participate on the Address Book Project.

PPS. Sun internal users can get more info on the project home page.

PPPS. We of course use the Firefox Tabulator plugin too for tests. It gives a different interface to my AddressBook. It is more flexible, but less specialised... The Tabulator web application does not work currently because we only produce Turtle output. This is to avoid developers trying to use DOM tools to process these pages, as we don't want to put work into an RDF crystalisation. ( Note: If at some later time you find that the plugin is not compatible with the latest version of Firefox, you can manually disabling compatibility checks. )

GeertjanUpdate on the NetBeans Podcast!

August 28, 2008 03:41 PM GMT
Lloyd and I started doing recordings for the next NetBeans Podcast today. More will be done during the coming week (so there's still time to send your suggestions to nbpodcast AT netbeans DOT org), including, probably, an interview with one of the NetBeans Platform customers. We're aiming to release it on Monday, 8 September. One thing you'll hear is Jaroslav Tulach announcing the winner of the "Will Code HTML for Food" competition. And, of course, among many other things, there'll also be a NetBeans Podcast Puzzler. For now, meet Cormac Lawless from Ireland, holding his prize (a signed copy of "Rich Client Programming: Plugging into the NetBeans Platform") as the winner from two podcasts ago ("What does NetCAT stand for?"):

Cormac is the support manager with Ram Technologies Ltd, which is part of the Ram Group. He is responsible for hardware and software support for Duplication Systems in Ireland. He says: "I have recently undertaken a Java programming course so this book should help me as I progress through the course."

Well, if you're interested in developing large, complex Java desktop applications, you've certainly got hold of the right book, Cormac. The NetBeans Platform will give you a great starting point, guided by the book you won in the puzzler!

Yoshio TeradaGlassFish v3 TP2に関するドキュメント

August 28, 2008 03:21 PM GMT

今日は、JJUGのイベントでJRubyとJythonに関するセミナーが用賀で
開催されました。

JJUG クロスコミュニティ JRuby と Jython

講師の高井さん西尾さん共にとても面白いプレゼンで、JRuby,Jythonについて
とても分かりやすく紹介して頂きました。

お客さまからSunはJRubyとJythonどっちを押していくの?という質問を
頂きました。

SunはJRubyもJythonも、それだけではなく、Grails,JavaScript,Phobosといった
スクリプティング系の言語サポートを今後も積極的に進めていきます。

そして、GlassFishでこれらをサポートして行きます。

実際に、GlassFishのサブプロジェクト中に、GlassFish Scripting Supportプロジェクト
立ち上がっておりこちらで進められています。

今まで、アプリケーションサーバというとJava EEの実行環境として見られていましたが、
今後は、Java EEも動かす事のできるマルチ言語に対応したエンタープライズサーバとして
GlassFishは進化して行きます。

今後、Javaはプログラミング言語としてだけでなく、実行環境として
Ruby,Python等の他のプログラミング言語も動作させる事ができるようになります。
これによって、各言語のEoDで優れる所と、Javaの既存資産を融合して生かしたり
さらには、JavaVMが持つ高パフォーマンスやJMX等の管理機能を使う事で、
他の言語が持つ利点とJavaが持つ利点を存分に発揮する事ができるようになります。

実際、内部ではJRubyのエンジニアとJythonのエンジニアは今共同して作業をしています。
JRubyで培った技術をJythonで取り入れたり、その逆もあるようです。
JRubyとJyghonどちらかを推進するというより、どちらも推進して行くというのが正しいかと思います。

ところで、やっと本題のタイトルについてですが、
今日docs.sun.comを覗いた所、GlassFish v3に関するドキュメントが一部
アップされている事に気付きました。
全てのドキュメントを確認していませんが、GlassFish v3を先行して
触って頂いている方には色々と参考になる部分があるかと思いますので、
v3を触っている方は是非、下記のドキュメントも参考にして頂ければと思います。

GlassFish v3 Technical Preview 2 Document

GlassFish v3 Application Server Release Notes
GlassFish v3 Application Server Quick Start Guide
GlassFish v3 Application Server Administration Guide
GlassFish v3 Application Server Application Deployment Guide
GlassFish v3 Application Server Developer's Guide
RESTful Web Services Developer's Guide
Getting Started With JRuby on Rails for the GlassFish v3 Application Server
Getting Started With Project jMaki for the GlassFish v3 Application Server
GlassFish v3 Application Server Reference Manual


Jim GrisanzioDisaster Kit

August 28, 2008 03:13 PM GMT

The ground has been moving a lot lately here in Japan, so I thought I'd check my handy little disaster kit hanging in the office (we all have one) to see what was inside. It's not much if the building comes down, but it's better than nothing, that's for sure. We have a bunch of supplies and stuff at home, too, just in case.

Disaster Kit Disaster Kit

dEnabling floating point non-standard mode using LD_PRELOAD

August 28, 2008 02:40 PM GMT

Subnormal numbers are explained in a previous post, together with the use of the flag -fns to flush these to zero if they cause a performance impact.

Of course, it's possible that parts of the code need to be computed with subnormals and parts with them flushed to zero. There are programmatic controls to do this in libsunmath, the routines are nonstandard_arithmetic and standard_arithmetic.

Sometimes it may be that they are occurring in code that cannot be recompiled, it is still possible to disable them. One approach is to write a LD_PRELOAD library, containing the following code:

#include <sunmath.h>
#include <stdio.h>

#pragma init(go)

void go()
{
  nonstandard_arithmetic();
  printf("NONSTANDARD MODE\n");
}

The printf is just to demonstrate that the code is actually called. Taking the same code from the previous post we can confirm that this approach works:

$ cc -O ft.c
$ a.out
...
4.940656e-324
$ cc -O -G -Kpic libns.c -o libns.so -lsunmath
$ export LD_PRELOAD=./libns.so
$ a.out
NONSTANDARD MODE
...
2.225074e-308

Anton TeryaevHalf Life v3: lets play in real world

August 28, 2008 02:05 PM GMT
Large Hadron Collider
Here is Large Hadron Collider. And here is Gordon Freeman! What does it mean? The game will start soon. Be ready! ;)

Lukas HasikStolen RED BULL

August 28, 2008 02:02 PM GMT
Once upon a time there was a fridge. It was used to store things by employees of unnamed company that I work for. Inside the fridge was a red bull can but one day the can disappeared. You can say who cares, of course. But there was somebody who cared - the red bull owner. He was looking for it everywhere. Unsuccessfully. At the end he sticked a sign to the fridge asking the somebody who "lent" to return it. Nobody did.

We were very sad about it. We wanted to help the poor unhappy college. And we started gathering a money for new Red Bull can. After a few days we had enough money for new can. Actually, we had enough for two cans. So, I bought them. You can see on the picture how the red bull cans returned to the owner. Can you see the happy smile on the face of the sitting guy?

That was just a short story about the company culture in SUN office in Prague. Ehm, I mean the gathering not the stealing ;)

Simon Phippslinks for 2008-08-28

August 28, 2008 01:27 PM GMT

Mark G. DixonHonoring Corporate Attorneys Everywhere

August 28, 2008 12:50 PM GMT
I once heard there is really only one lawyer joke ... the rest of them are true!

With that bit of wisdom in mind, we honor corporate attorneys today with another bit of wise insight from our friends at Dilbert.



Technorati Tags: , ,

Arun GuptaTypo on GlassFish v3 - Ruby-on-Rails Blogging Engine

August 28, 2008 12:47 PM GMT


Typo is an open-source Blogging Engine written using Ruby-on-Rails framework. It provides a lean engine that makes blogging easy. It's main attribtues are ease of use, usability, beauty and excellent support of web standards.

I found out about this application from Sang "Passion" Shin's Lab 5543 (part of FREE 20-week course on Ruby-on-Rails started on Jul 15, 2008). But instead of using standard WEBrick/Mongrel deployment, I describe the steps to deploy this application using GlassFish v3 that supports native deployment of Rails applications. 
  1. Typo can be installed as Gem or from Sources. Installing as gem gives the following error:

    JRuby limited openssl loaded. gem install jruby-openssl for full support.
    http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
    Building native extensions.  This could take a while...
    /Users/arungupta/tools/rails20/jruby-1.1.3/lib/ruby/1.8/mkmf.rb:7: JRuby does not support native extensions. Check wiki.jruby.org for alternatives. (NotImplementedError)
            from /Users/arungupta/tools/rails20/jruby-1.1.3/lib/ruby/1.8/mkmf.rb:1:in `require'
            from extconf.rb:1
    ERROR:  Error installing typo:
            ERROR: Failed to build gem native extension.

    /Users/arungupta/tools/rails20/jruby-1.1.3/bin/jruby extconf.rb install typo


    Gem files will remain installed in /Users/arungupta/tools/rails20/jruby-1.1.3/lib/ruby/gems/1.8/gems/mysql-2.7 for inspection.
    Results logged to /Users/arungupta/tools/rails20/jruby-1.1.3/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out

    This is discussed here. In the meanwhile, download and unzip Typo 5.1.2 as:

    ~/samples/jruby >unzip ~/Downloads/typo-5.1.2.zip
    Archive:  /Users/arungupta/Downloads/typo-5.1.2.zip
       creating: typo-5.1.2/
       creating: typo-5.1.2/app/
       creating: typo-5.1.2/app/apis/
       . . .
      inflating: typo-5.1.2/vendor/uuidtools/lib/uuidtools.rb 
      inflating: typo-5.1.2/vendor/uuidtools/rakefile 
      inflating: typo-5.1.2/vendor/uuidtools/README
  2. Create the database:

    ~/samples/jruby >sudo mysqladmin create typo_dev

    Typo 5.1.x works with Rails 2.0.x only and so migrate as shown below:

    ~/samples/jruby/typo-5.1.2 >~/tools/rails20/jruby-1.1.3/bin/jruby -S rake db:migrate
    (in /Users/arungupta/samples/jruby/typo-5.1.2)
    == 1 InitialSchema: migrating =================================================
    -- create_table(:users)
       -> 0.0377s
    -- create_table(:articles)
       -> 0.0189s
    -- add_index(:articles, :permalink)
       -> 0.0094s
    -- create_table(:categories)
       -> 0.0069s

     . . .

    == 69 AddModulesToProfile: migrating ==========================================
    -- add_column(:profiles, :modules, :text)
       -> 0.0072s
    == 69 AddModulesToProfile: migrated (0.0454s) =================================

    == 70 AddUsersToNonAdmins: migrating ==========================================
    == 70 AddUsersToNonAdmins: migrated (0.0488s) =================================

  3. Typo 5.2 (scheduled in 3 days) will work with Rails 2.1.
  4. Download GlassFish (nightly, promoted or build-your-own) and install by unzipping. I tried the nightly of 8/24 as:

    ~/tools/glassfish/v3/8-24 >unzip ~/Downloads/glassfish-snapshot-v3-prelude-08_24_2008.zip
    Archive:  /Users/arungupta/Downloads/glassfish-snapshot-v3-prelude-08_24_2008.zip
       creating: glassfish/
       creating: glassfish/docs/
       creating: glassfish/docs/css/
       creating: glassfish/docs/graphics/
    . . .
      inflating: glassfish/lib/templates/login.conf 
      inflating: glassfish/lib/templates/profile.properties 
      inflating: glassfish/lib/templates/server.policy
  5. Start GlassFish as:

    ~/tools/glassfish/v3/8-24/glassfish >java -DJRUBY_HOME=/Users/arungupta/tools/rails20/jruby-1.1.3 -jar modules/glassfish-10.0-SNAPSHOT.jar
    Aug 26, 2008 5:56:10 PM com.sun.enterprise.glassfish.bootstrap.ASMain main
    INFO: Launching GlassFish on Apache Felix OSGi platform

    Welcome to Felix.
    =================

    Aug 26, 2008 5:56:11 PM HK2Main start
    INFO: contextRootDir = /Users/arungupta/tools/glassfish/v3/8-24/glassfish/modules
    Aug 26, 2008 5:56:11 PM OSGiFactoryImpl initialize

    . . .

    INFO: APIClassLoader = Class Loader for Bundle [GlassFish-Application-Common-Module [66] ]
    Aug 26, 2008 5:56:13 PM CommonClassLoaderManager Skipping creation of CommonClassLoader as there are no libraries available
    INFO: urls = []
    Aug 26, 2008 5:56:13 PM com.sun.enterprise.v3.server.AppServerStartup run
    INFO: Glassfish v3 started in 2176 ms
  6. And deploy Typo as:

    ~/samples/jruby >~/tools/glassfish/v3/8-24/glassfish/bin/asadmin deploy typo-5.1.2

    Command deploy executed successfully.
The application is available at "http://localhost:8080/typo-5.1.2" and some of the screenshots follow:

















Also check out Redmine, Substruct and Mephisto on GlassFish v3. There are some performance issues when running Typo on GlassFish and this is tracked at Issue #5662.

If your Rails application does not work on the gem, file bugs here with "jruby" as "subcomponent" (default version is "v3").

Technorati: rubyonrails glassfish v3 jruby ruby typo blogging

HPCGrand Challenge: Millisecond-scale Molecular Dynamics Simulations

August 28, 2008 12:00 PM GMT

David E. Shaw, chief scientist of D.E. Shaw Research and a senior research fellow at the Center for Computational Biology and Bioinformatics, Columbia University, opened the SIAM Conference on Parallel Processing for Scientific Computing with a plenary talk on his group’s exciting new research: designing massively parallel machine architectures and algorithms for the grand challenge of millisecond-scale molecular dynamics simulations of biological macromolecules.

D.E. Shaw Research (DESRES) conducts research in computational biochemistry to elucidate structures and dynamic behaviors of proteins. Molecular dynamics simulation is an important tool for the modeling of protein-size systems (25,000–50,000 atoms in water); applications include the development of new drugs. The grand challenge is to simulate such systems as long trajectories, in the millisecond time scale, where biologically interesting phenomena occur. Among these phenomena are the folding of proteins, the binding of drugs to molecular targets, interactions between proteins, and the dynamics of conformational changes in macromolecules. To put this molecular dynamics challenge into perspective, a single processor can simulate about one nanosecond in a day, and a massively parallel code might be able to simulate about one hundred nanoseconds per day. Meeting this grand challenge will thus require close to a hundred-fold speedup, which in turn will require new massively parallel architectures and innovative algorithms. Full Story

Tatsuo Kudo私事

August 28, 2008 10:11 AM GMT

SDC 連載の記事として先日寄稿した OpenSSO のアイデンティティ・サービス紹介が, Sun の開発者向けサイトの本家である Sun Developer Network (SDN) でも公開された. SDN への掲載を勧めてくれた PatAravindan, そしてぼくの英訳草稿をきれいに直してくれた Marina に深謝.

This article starts with a description of the four ways in which you can integrate Web applications with OpenSSO. You then learn how to secure the login process with OpenSSO's identity-service interfaces in a Ruby on Rails (henceforth, Rails) sample application.
Integrating Applications With OpenSSO

Integrating Applications With OpenSSO

そしてこれが, ぼくの Sun での最後の仕事. 8/31 付で Sun を退職し, 9/1 からは別の会社 (なんかいろんな人から 「O 社に行くの!?」 と言われるんだけど, 違いますw) にて, アイデンティティ関係のなにかしらにからむ予定. 連絡は tatsuo.kudoATgmailDOTcom, もしくは LinkedIn 経由でどうぞ. ブログは http://tkudo.blogspot.com/ をとったけど, まだなんにも書いてない...

最後に, お世話になったみなさま, およびこのブログを読んでくださったみなさまに, 厚く御礼申し上げます. どうもありがとうございました.

Anton TeryaevMySql vs MSSql: pagination

August 28, 2008 08:44 AM GMT
How to make pagination with MySql? Easy! Just use "select" and "limit" :
SELECT id, name FROM tbl ORDER BY name, id LIMIT 20, 10
This command returns 10 records starting from 20'th. It's very useful feature especially for web programming.
Few years ago I started to work with MSSql. And I was really disappointed: there is no such ability in MSSQL! So huge product doesn't have it! Here is one solution, that I used:
SELECT TOP 30 id, name FROM tbl ORDER BY name, id
WHERE id NOT IN (SELECT TOP 20 id FROM tbl ORDER BY name, id)
It can looks terrible when you use lots of search and sort conditions.

dSubnormal numbers

August 28, 2008 08:19 AM GMT

Under IEEE-754, floating point numbers are represented in binary as:

Number = signbit * mantissa * 2exponent

There are potentially multiple ways of representing the same number, using decimal as an example, the number 0.1 could be represented as 1*10-1 or 0.1*100 or even 0.01 * 10. The standard dictates that the numbers are always stored with the first bit as a one. In decimal that corresponds to the 1*10-1 example.

Now suppose that the lowest exponent that can be represented is -100. So the smallest number that can be represented in normal form is 1*10-100. However, if we relax the constraint that the leading bit be a one, then we can actually represent smaller numbers in the same space. Taking a decimal example we could represent 0.1*10-100. This is called a subnormal number. The purpose of having subnormal numbers is to smooth the gap between the smallest normal number and zero.

It is very important to realise that subnormal numbers are represented with less precision than normal numbers. In fact, they are trading reduced precision for their smaller size. Hence calculations that use subnormal numbers are not going to have the same precision as calculations on normal numbers. So an application which does significant computation on subnormal numbers is probably worth investigating to see if rescaling (i.e. multiplying the numbers by some scaling factor) would yield fewer subnormals, and more accurate results.

The following program will eventually generated subnormal numbers:

#include <stdio.h>

void main()
{
  double d=1.0;
  while (d>0) {printf("%e\n",d); d=d/2.0;}
}

Compiling and running this program will produce output that looks like:

$ cc -O ft.c
$ a.out
...
3.952525e-323
1.976263e-323
9.881313e-324
4.940656e-324

The downside with subnormal numbers is that computation on them is often deferred to software - which is significantly slower. As outlined above, this should not be a problem since computations on subnormal numbers should be both rare and treated with suspicion.

However, sometimes subnormals come out as artifacts of calculations, for example subtracting two numbers that should be equal, but due to rounding errors are just slightly different. In these cases the program might want to flush the subnormal numbers to zero, and eliminate the computation on them. There is a compiler flag that needs to be used when building the main routine called -fns which enables the hardware to flush subnormals to zero. Recompiling the above code with this flag yields the following output:

$ cc -O -fns ft.c
$ a.out
...
1.780059e-307
8.900295e-308
4.450148e-308
2.225074e-308

Notice that the smallest number when subnormals are flushed to zero is 2e-308 rather than 5e-324 that is attained when subnormals are enabled.

theaquarium... GF v3 Memory Consumption, Rails App in 15 minutes, Managing JRuby Instances, OpenMQ 4.3, and Solaris on Dell

August 28, 2008 08:00 AM GMT

A compilation of today's news of interest:

Radio Receiver Icon

Jason provides early indications of Improved Memory Consumption in GlassFish v3. Since GFv3 Prelude is early in the cycle of GFv3, expect further improvements over the life of the release family.

Charles has a detailed description of how to write a Rails App on GlassFish using the latest run-time/packagings. And Jacob describes improvements he is working on for dynamically managing the pool of JRuby instances in GlassFish.

From the OpenMQ Team, more Details on OpenMQ 4.3, which will be part of GlassFish v2.1. Proposed new functionality includes a REST Messaging API, AIX support, more platforms, STOMP Support, and more. As always, provide feedback to the team at Users at OpenMQ.dev.java.net.

And from OnTheRecord... the Original Announcement was last year and now we have the product: Solaris on Dell is finally here: Solaris@Dell.COM, Online Configurator.

branajamA Second Life for Developers

August 28, 2008 07:00 AM GMT

Hi all,

I just finished reading Dana Nourie's blog, and I want to pass on some very interesting information to you. It seems that Dana will be working more with the developer community in Second Life for Sun.

You can find out more on Dana's blog.

And while you're in Second Life, look for Dana (Dana Oceanlane) and me (Cap Wind).

See you there!

--James

Arun GuptaInterested in a 30 second promotion in Rails Conf Europe 2008 ?

August 28, 2008 06:32 AM GMT
RailsConf Europe 2008 Are you deploying Rails application on GlassFish  in any manner (WAR-based, Gem or Technology Preview 2) ?
Are you using Rails and GlassFish combination in a creative way ?
Having you been following Rails/GlassFish development/deployment options and have an opinion ?

If answer to any of the above questions is yes, then drop a comment on this blog or send me an email (arun dot gupta at sun dot com). I'll be happy to give you a 30-second promotion (at my discretion ;-) in my Rails Conf Europe talk next week. Here is the information I'm looking for:

Title:
Public URL:
Brief Description:
Credits (icon/logo if possible):

And if you are not aware of any of the options mentioned above, then Rails powered by the GlassFish Application Server provides all the details for you to get started!

Technorati: conf railsconf glassfish rubyonrails

SecuritySun Alert 241066 A Security Vulnerability in the Solaris NFS Kernel Module May Lead to a System Panic, Resulting in a Denial of Service (DoS)

August 28, 2008 06:05 AM GMT
Product: Solaris 10 Operating System OpenSolaris

A security vulnerability in the Solaris NFS kernel module on Solaris 10 systems with kernel patches 120011-14 (SPARC) and 120012-14 (x86), may allow a local unprivileged user to cause an NFS server to panic, resulting in a Denial of Service (DoS).

State: Resolved
First released: 22-Aug-2008
Sun Alert Link: http://sunsolve.sun.com/search/document.do?assetkey=1-66-241066-1

SecuritySun Alert 239186 A Security Vulnerability in Solaris 10 involving the sendfilev() system call could result in Denial of Service (DoS) due to System Panic

August 28, 2008 06:05 AM GMT
Product: Solaris 10 Operating System OpenSolaris

A security vulnerability in Solaris 10 related to the sendfilev() system call may allow a user who has the ability to create pages that are hosted on a Solaris 10 system using Apache 2.2.x to create a carefully crafted web page which could cause a system panic resulting in a Denial of Service (DoS) condition.
��
In addition, it may be possible for a local unprivileged user to be able to panic the system with a specially crafted program which calls the sendfile() system call (using either the sendfilev(3EXT) library routine or else directly).

State: Resolved
First released: 06-Aug-2008
Sun Alert Link: http://sunsolve.sun.com/search/document.do?assetkey=1-66-239186-1

ohaアイデンティティ管理システム構築 早く、安く、安全に!

August 28, 2008 06:00 AM GMT
「短期間で、安く、プロジェクトを失敗することなく、 アイデンティティ管理システムを構築したい!」というお客様の ニーズにお応えするため、 サン・プロフェッショナル・サービス(SunPS)では、 アイデンティティ管理システム実現に必要な (1)アイデンティティ情報のプロビジョニング、(2)パスワード管理、(3)ロール管理の 3つの機能に関して基本的な機能を定型化して実現するソリューションを提供しています。
これら3つの基本機能を要件定義からインプリ完了まで8~12週程度で実現します。 細かい条件によっては期間がぶれる可能性もありますが、約3ヶ月で、 PoC (Proof of Concept)ではなく、実業務で使えるレベルのシステムが できあがります。

お客様の要件が上記ソリューションで提供される機能の範囲におさまらない ケースもあると思いますが、その場合にはプロジェクトのフェーズを分ける のがよいでしょう。 まずは基本機能を上記ソリューションで短期間に立ち上げ、 次のフェーズで基本機能に対するオプションとして追加機能を開発する という、いわゆる Incremental & Iterative なアプローチです。 プロジェクトを確実に成功へ導くため、Start Small, Build Big. の 考え方を取り入れてはいかがでしょうか。

SunPSでは上記のサービスだけでなく、お客様の要件に応じてサービス内容を 規定するカスタム・コンサルティングも提供しています。 サンのアイデンティティ管理ソリューションの詳細に関しましては こちらのページをご覧ください。

M. MortazaviSteps

August 28, 2008 05:27 AM GMT
The Butchart Gardens

We expect all steps to lead somewhere.

These steps, near a parking lot at Butchart Gardens, lead to two flower pots.

The gardener meets our expectations.

Brian Utterbacklinks for 2008-08-27

August 28, 2008 02:30 AM GMT

Hal SternSanuk Sidewalk Surfers

August 28, 2008 01:35 AM GMT
I have a bad thing about shoes: I hate them. Partly this is because my feet are slightly different sizes, partly because my right foot has a deformed fourth metatarsal (ie, my right foot's topography looks like that of the San Fernando Valley in relief), partly because my feet are so wide that it's been suggested I purchase footwear at Build A Bear (home of the perfectly round shoes). I wore flip-flops for an entire spring semester in 1983, and more recently I've been a fan of Nike's "Free" sneaker which is the closest thing to a flip flop fit for non-beach wear that I've found. Until now.

A trip to the home of the original beach flip flops introduced me to Sanuk sandals, self-described as sandals with a shoe upper -- they look like shoes, but feel like sandals, or flip-flops minus the big toe thong. I think they rely on some of the same physics as the Nike Free sneakers -- using your own foot to keep you balanced and maintain stride, rather than the physical structure of a sneaker.

Now if only that improved balance could help me get up on the surfboard.....that's one that even Software CTO Bob Brewin finds intractable.

Liz DiTucciIs there a glass ceiling?

August 28, 2008 01:35 AM GMT
All political views aside, I was inspired by this video. I'm proud my parents constantly told me that I could be anything I wanted to be. I never bought into the theory that there is a glass ceiling for women until the past few years, when I had more insight into how politics are at play in management of a company. I now agree that there are times when a glass ceiling may exist ... but I still believe that I have the power to transcend it.

Hal SternNeal Peart's "Traveling Music"

August 28, 2008 01:13 AM GMT
Back from a true week of vacation: thanks to the hotel's internet service provider's inability to maintain IP addresses consistently during a 24-hour period, I had almost no IMAP service and therefore no email. A week of bakery-fueled breakfasts, days of reading by the pool, and some random boogie boarding were a huge win.

First book I finished on the trip: Neal Peart's Traveling Music, a bit of a departure from Roadshow and Ghost Rider in that he didn't write it to chronicle a momentous occasion in his personal or professional life; he wrote it because he wanted to capture the backstory of his own musical influences. So the storylines wander, diverge, meander into seemingly unrelated areas to add color or depth. Of the three, I found it the most readable, probably because it's more about music than travel, and I thoroughly enjoyed Peart's implicit recommendations of bands and albums.

There were tons of little nuggets in the book to keep any Rush-head happy: seeing the lyrics for Workin' Them Angels (from "Snakes & Arrows") take shape as the epigraphs for each chapter; seeing how his travel adventures formed the backstory for the song; the exposition of Ellis, one of Peart's pre-Rush friends who is the "hero" in Nobody's Hero (a song which always reminds me of the great friend I have in Tom Chatt, who has been a hero of mine - for every reason Peart touches on - for 27 years. Thanks, Tom); the story behind Mission and the pressures placed on creative artists to continuously be, well, creative.

Best of all for me was the insight into how Buddy Rich's drumming influenced Peart. At first, I found this surprising; but listening carefully (especially to later Rush works) exposes what music critics in the 1970s referred to as "a jazzy drummer, like Bill Bruford." Peart quotes his teacher Freddie Gruber as saying "There are no straight lines in nature," imploring Peart to think away from the 1-(2)-3-(4) rock drum (straight) lines. One of Mr. Santoro's drummer friends put it another way: Find the beats in a circle, not a square. Beats on the downward stroke of the circle are straight-ahead -- it keeps you moving. On the upswing of the circle is laid-back -- you keep moving it. But never at the top or the bottom.

As soon as I put the book down I had Groovin' Hard by the Buddy Rich Big Band on the iPod. Non-traveling vacation music, straight ahead.

Writing a Glassfish v3 Updatecenter module

August 28, 2008 12:05 AM GMT
I recently wrote a (as yet unpublished) Glassfish v3 updatecenter module. Here's how:

August 27, 2008

Alec MuffettWANT: Draganfly.com Industrial Aerial Video System

August 27, 2008 10:23 PM GMT

Want. End of story.

WANT: Draganfly.com Industrial Aerial Video System is syndicated from dropsafe.

exotericPhilmont - Days 8 & 9, Apache Springs

August 27, 2008 10:17 PM GMT
We took a bit longer to pack up camp after all of the rain, but we managed to hit the trail by 8:30am. Packing up soaking wet tents is not very fun. We headed up and over Webster Pass on our way to Fish Camp.

Fish Camp is a nice log cabin where the Phillips' would spend time fishing out of the Rayado River. It is at the junction of the Agua Fria and Rayado Creeks. We arrived there about 10:30 and got a tour of the cabin. The program activities there were fly tying and fishing. We did the fly tying, but didn't have enough time to hang out and fish. The fishing was catch and release around the cabin and you needed to be farther away if you wanted to keep the fish. You also needed to purchase a fishing license in order to fish. For the scouts it was only $2.50, but a one day license for adults was $17.50!

We had lunch at Fish Camp and it started to rain. Thankfully, it was a very light rain and we were able to continue our hike to Apache Springs. The hike up the Agua Fria Creek was spectacular with all sorts of wild flowers in bloom. The farther into Philmont we hiked, the better and better the scenery got.

Apache Springs is a staffed camp, and we were going to have a layover day there. The program activities there were Apache Indian Life, archery, sweat lodge, and we were also able to do our conservation project there.

We had our first food pickup there, and we were able to score some real tortillas and make chicken, rice and bean burritos for dinner. That night we got hit again by rain showers. We are actually getting used to being soaked every day.

The next morning we got up and walked about half a mile to where the conservation project area was. We did 3 hours of trail work. There was a new trail built recently and we were decommissioning the old trail by burying logs across it to stop erosion and allow plants to fill in over top.

After lunch we did some laundry at the staff cabin wash basin, and then did the sweat lodge. Sweat lodge was interesting. There is a big bonfire where the staff heats up buckets of rocks. You fill up several buckets of water and take them over to a small hut which is covered in canvas. We had 5 scouts in one hut, and 4 adults in the other. It was very wet, muddy and cramped. Then in comes the bucket of hot rocks and a bucket of water. The door is covered up and it gets very dark inside. You sprinkle the water on the hot rocks and get an instant sauna. The temperature inside was soon up to 150F and we were all just pouring out the sweat. We stayed in the hut for about 20 minutes and were just about ready to pass out from the intense heat. When you come out of the hut, you douse your whole body with a bucket of cold water. This closes up your pores and cools you off nicely. It was the best shower we had on the whole trip! I felt amazingly clean after this, even though we didn't use any soap.

Things in camp were just starting to dry out completely when we had another huge afternoon thundershower hit us. This unfortunately forced the cancellation of the archery activity that afternoon. It was nice having a day off of hiking, now we just need a day off of rain.

Photo album for the entire trip is here (click on the arrows at the top of each page to navigate).

dannycowardSome of my favorite things about the JavaFX SDK Preview

August 27, 2008 09:54 PM GMT