alanc @ sun.com

Alan Coopersmith’s blog

Random thoughts of a disorganized mind...
(and though it should be obvious, while Sun pays me to think about things, they disclaim any responsibility for these thoughts, nor do I claim what I say matches in any way what Sun thinks)

Loading...
http://blogs.sun.com/alanc/date/20040629 Tuesday June 29, 2004

Packing up the office...

It's amazing how much junk piles up in three years - I feel like I'm shoveling it out by the ton as I pack up my office. I'm still not done, and the movers are showing up tomorrow afternoon to pick it all up to move to what will be my third office in a little over 5 years at Sun.

I started working at Sun at a small satellite campus in Menlo Park that was home to Sun's workstation business, including the "Power Client Desktop Software" group (CDE, X, & OpenWindows) that hired me. After two years there, a reorg moved the X group into an organization that went through many names, of which "User Experience Engineering" was probably most appropriate for the work we did (it also included Accessibility, Internationalization, Localization, Usability, and Documentation). As part of that we moved to the new building that was opened for the group at the new "Lincoln Tech Center" campus near the San Jose Airport. Unfortunately, while that campus seemed like a good idea when the tech boom was at full steam and Sun was hiring thousands of employees per year, by the time it was ready the bubble had burst, and only two of the four buildings were ever permanently occupied. A "For Sublease" sign appeared out front a little over a year ago, and came down recently when they announced the campus was closing and Sun would be moved out by the end of summer.

This came on the heels of yet another reorg, which moved the X group into the Operating Platforms Group with much of the core Solaris development groups, so our group is moving in with them on Sun's big Menlo Park campus, near the end of the Dumbarton Bridge. (The campus is occasionally lovingly known as "Sun Quentin" due to the similar placement and style of San Quentin near the end of the Richmond-San Rafael bridge at the other end of the bay.)

(Just for completeness, I suppose I should mention I also spent 8 months in 1995 working at SunService doing frontline Tech Support in a cube farm at Sun's original campus in Mountain View, which has long since closed down as Sun moved to the newer campuses in Menlo Park, Newark, and Santa Clara. I left when my contract expired to go back to Berkeley to finish my degree and then work for the University before returning to Sun 3 years later.)

http://blogs.sun.com/alanc/date/20040620 Sunday June 20, 2004

I partied with Nick Weaver

So we're watching a rerun of Law & Order: Criminal Intent tonight and I can't help but laugh when I hear when they describe the violent criminal exploits of a loan shark and mob boss named "Nick Weaver." I hear the name and think of someone I knew at Berkeley named Nick Weaver, and I can't imagine him breaking anyone's knees.

Of course, the association was probably reinforced by recently getting the June 2004 Usenix ;login: magazine featuring an article Nick wrote accompanied by a picture of him. Nick's earned his 15 minutes of fame by studying "Warhol worms" - worms that spread quickly across the internet and can be active worldwide in a matter of minutes. Unfortunately the worm authors seem to be getting better and the good guys have to fight to keep ahead of them. Good to see Nick is one of the good guys - sure seems to have come a long way since "I partied with Nick Weaver" was the in-joke catch phrase of the Berkeley Computer Science undergrad student group.

http://blogs.sun.com/alanc/date/20040615 Tuesday June 15, 2004

X.Org Election Results

Congratulations to the winners of the X.Org Foundation inaugural elections! (Not that the contest was that heated, with the most controversy being over the 2-employees-per-company limit pushing out one of the 3 HP employees who would have otherwise been elected to both boards.) I'm looking forward to continuing to work with the new architecture board as I have with the previous incarnation for the last year.

For those who haven't seen this mornings announcement yet, the new board members are:

Board of Directors
Stuart Anderson, Egbert Eich, Jim Gettys, Stuart Kreitman, Kevin Martin, James McQuillan, Keith Packard, Leon Shiman
Architecture Board
Alan Coopersmith (hi!), Egbert Eich, Jim Gettys, Stuart Kreitman, Keith Packard, James McQuillan, Leon Shiman

The 4 highest vote getters for each earned 2 year sentences, I mean, terms, and the rest will serve for 1 year. (Paul Anderson earned enough votes to be elected to both boards, but was third place in vote counts among HP employees, behind Keith and Jim, so unfortunately was not able to take his place on either board due to the rules to prevent any one company from stacking the board. Paul's done a great job running the old Architecture Task Force for the year I've been involved and I hope will stay involved even if he's not an official voting member. Of course, anyone is welcome to participate and join in the architecture board discussions even if you don't have a formal vote - hopefully in most cases we'll be able to come to a reasonable consensus without having to resort to decisions by formal voting between strongly opposed positions.)

http://blogs.sun.com/alanc/date/20040611 Friday June 11, 2004

Killing Xsun with a keystroke

Every few months I get asked how to do this, and have to go dig it up again, so I may as well post it here to save me the trouble of trying to remember where I posted it last.

You can configure Xsun to let you kill it with a keystroke, much like the Xorg and XFree86 servers. To do this, you need to activate the X Keyboard Extension (XKB) which extends X keyboard handling in a number of ways. (It's on by default in recent versions of XFree86 and X.Org releases, but not in Xsun since there are still some issues in the Xsun implementation and XKB keyboard maps to work out.)

To do this, add +kb to the Xsun options in /etc/dt/config/Xservers to start in XKB mode. (If /etc/dt/config/Xservers doesn't exist, create it with "mkdir -p /etc/dt/config ; cp /usr/dt/config/Xservers /etc/dt/config/" .)

Now login and run 'xmodmap -pke | grep Delete' - it should print a line like this, though the number varies depending on keyboard type.

	keycode  83 = Delete
Take that line and feed it back into xmodmap with "Delete Terminate_Server" added to the end like this:
	xmodmap -e "keycode  83 = Delete Delete Terminate_Server"
Now pressing AltGraph (or the right Alt key on PC's) + Delete should cause Xsun to exit. To make it permanent, you probably want to stick the xmodmap command in your $HOME/.dtprofile or somewhere similar. You can pick other keys to modify if you prefer a different combination - though you probably want one that you won't hit by accident, are likely to press when you put a book down on your keyboard, or your cat decides it's time to get your attention by walking across the keyboard.

http://blogs.sun.com/alanc/date/20040608 Tuesday June 08, 2004

Solaris Express 6/04

Alan Hargreaves posted a list of highlights in Solaris Express 6/04, and the What's New in Solaris 10 Beta 4 docs are posted on docs.sun.com now (S10 Beta 4 and Solaris Express 6/04 are both the same s10_58 build of Solaris 10, just different release mechanisms), but I often find the changes I most like are the little ones not listed in the highlights and major new fixes list. For this release, my favorite changes since the previous (s10_55) are (in no particular order):

XFree86 DDX module updates for Solaris x86
The drivers from the XFree86 porting kit were added to Solaris x86 in the previous release - this one improves the integration with kdmconfig and includes several other updates to make them work better.
pfiles(1) now displays the pathname to each open file
   9: S_IFREG mode:0644 dev:85,6 ino:12592 uid:0 gid:0 size:286
      O_RDWR|O_SYNC|O_CREAT|O_LARGEFILE
      /var/fm/fmd/errlog
/usr/bin/mktemp added
For making shell scripts more secure
X Keysyms updated
The new keysyms defined in XFree86 4.4 and X.Org X11R6.7.0 have been added to the X Keysym DB and headers for Solaris. This isn't a big thing in itself, but simply as the first step of integrating X11R6.7.0 changes into Solaris. There are many more bits to come, and not all of them will make Solaris 10 FCS, but it's a start.
CDE/Motif support for Sun Keyboards on Solaris x86
CDE & Motif applications now recognize the extra Sun keys like Copy & Paste when you use a Sun Type 6 USB keyboard on an x86 machine. (You can get this on earlier releases by manually editing /usr/dt/lib/bindings/xmbind.alias and changing the Sun entry from the sun_at line to the sun line.)
Mozilla 1.4 installation bug fixed
The /usr/sfw/bin/mozilla link should be correctly installed now (it wasn't always in the previous release) so that you can actually run Mozilla. [Update: turns out there's still a Mozilla 1.4 installation bug that breaks Mozilla installs since the package install scripts can't find certain things when not running on the OS image being installed to - if Mozilla still won't start, pkgrm all the SUNWmoz* packages and re-pkgadd them from the install CD while the system is running. This bug is supposed to be fixed in s10_60.]
proc(1m) commands buffer output
Sounds trivial, until you run pmap or pfiles on your Xsun, from an xterm displaying on your Xsun and watch the whole screen deadlock as pmap grabs the Xsun process, tries to print data, but hangs because the pipe to xterm has filled, because xterm's pipe to Xsun has filled, because Xsun can't drain it until pmap lets go. Simply buffering the output of pmap/pfiles/etc. and not dumping to stdout until the process has been let go clears this classic deadlock that has bitten almost everyone who debugs X problems.

http://blogs.sun.com/alanc/date/20040605 Saturday June 05, 2004

Xorg upcoming release plans

We've been talking for a bit now on the Xorg release-wranglers calls and mailing lists (and at the recent X Developer's Conference) about what should be in the future releases of the Xorg distribution. We've tossed around the idea having another release sometime this summer, but nothing has been decided for sure yet. Some of these are already in either branches off the Xorg CVS tree on freedestkop.org or in the experimental Xserver CVS tree on freedesktop.org.

Features that are being discussed as candidates for inclusion in the next release at this point include:

Composite Extension
Redirects window drawing to an offscreen pixmap so another client (a "composite manager") can transform the contents before displaying it.
Damage Extension
Sends notice when a client updates its windows with the "damaged" region so that a client such as a composite manager or screen magnifier or remote redirector (like VNC) can update the transformed actual output.
X Event Interception Extension (XEvIE)
Allows a client such as a composite manager or accessibility helper to intercept and modify events from input devices before delivering them to the final destination clients.
XFixes Extension
Grab bag of miscellaneous fixes to correct oversights in the original X protocol design.
Distributed Multihead X (DMX)
A single virtual server that displays onto video cards in multiple machines (similar things are done in existing commercial products such as Sun Fire Visual Grid System and X-Software's X-Meta-X).

The first four extensions are most interesting as a group, where they will enable both accessibility projects such as the magnifier and on-screen keyboard portions of the GNOME Accessibility Project, and eye-candy projects such as Project Looking Glass and translucent windows.

There's some longer-term projects that have been discussed and which the early work on may appear as well:

Document Conversion
The documents in the Xorg tree are in a variety of formats, including troff with several different macro packages, FrameMaker, TeX, and a few others. To make it easier to deal with them in the future, and allow editing and manipulations with free software tools, it's been proposed to convert them all to a common, standard format such as the DocBook XML format.
GNU Autotool Support
X has been built for years with the Imake build tool, but these days few other projects use it, while many use the GNU Autotools (autoconf, automake, libtool, pkgconfig, etc.) so many more developers know how to use them. Making the tree build with either Imake or the autotools so that developers can work with the toolchain they know best has been proposed as a way to help bring more developers in and get them up to speed faster.
Modularization
The X tree is a really big tree, currently released as one huge monolithic entity which results in large amounts of work for distributors to integrate new releases, spaced well apart at irregular intervals. Several people who work in packaging and distributing the releases would like to see the tree broken down into smaller components which can be released separately, so they can have smaller integration projects spread out over time to bring in the latest changes into their releases. Exactly how to accomplish this is still a topic of considerable debate.

And of course there's a variety of bug fixes and smaller enhancements that have gone in already and that will continue to go in (see the CVS ChangeLog and the freedesktop.org Bugzilla for details).

If even some of these make it, it looks like the next Xorg release will emerge from being perceived as "just a fork of XFree86" into an identity of it's own.

http://blogs.sun.com/alanc/date/20040604 Friday June 04, 2004

A belated introduction

I suppose I should finally get around to explaining who I am for those who don't already know me.

Please allow me to introduce myself: I'm a man of wealth and taste... wait, scratch that. I've got neither of those. Let me try again.

Born on a mountaintop in, erm, well, Nevada. (Not literally on a mountaintop - in a nice little hospital in a valley between two mountain ranges about 6500 feet above sea level.) I grew up in various places in Nevada, Utah, and California, ranging from a small company mining town of about 1200 people to cities like Reno & Sacramento with hundreds of thousands of people.

I went to college at U.C. Berkeley where I studied Computer Science, learned to eat Chinese food, got hooked on Unix, and met the woman I'm now lucky to call my wife.

I worked at Sun as a contractor doing front-line tech support in SunService in 1995 for several months, then went back to school to finish my degree, before coming back to Sun full time in 1999. I started out as a tools developer in the Desktop Release Engineering group, working on various projects to improve the way we built products like X and CDE. After about a year I moved into the X Engineering group, where I've been ever since.

I work on a wide variety of things in X for Solaris - I've done a lot of work on Xinerama, the keyboard and mouse input modules, merging fixes between our trees and the open source releases, importing open source projects like XRender & fontconfig, performance tuning, and much more. Probably the most visible projects I've done are the IPv6 support (which was donated to X11R6.7 and XFree86 4.4) and the X server side of the wheel mouse support you can now find in Solaris Express and soon in Solaris 9 patches.

I also participate in many (probably too many) mailing lists, both inside and outside of Sun, answering many questions on some, asking the hard questions people don't want to answer on others (or telling them what I think the answers should be when I disagree).

At home I keep entertained with two TiVos (I can't imagine watching TV without them any more - there's rarely anything on I want to watch when I have time for TV, and rarely is anything I want to watch on at the time I can watch) and just about every game console since the N64 (except the Xbox). We also have far too many computers for two people (though the Mac IIsi, RS/6000 and Apollo DN3000 are away in the storage closet at least, so our computer room doesn't completely overflow) - but the ones that are plugged in all get used regularly, so I guess we're stuck with them. Of course, my wife will tell you I spend too much time at home in front of the Solaris machines with VPN running so I can work from home.

So in a nutshell, that's who I am (and yes, I guess that makes me a nut). Now I just have to wonder who all of you are who come here to read this boring page...all three of you.