Sunday Aug 19, 2007

Deconstructing Solaris

Solaris is an unending source of amusement for me, possibly because I am rather easily amused. First I backed off from using the Java Desktop System in favor of the simpler FVWM window manager. Then tonight I thought, hmmm, why not try running with no window manager at all?

I'm actually kind of surprised that it worked. I logged into a Solaris failsafe session, which gave me a command line in a terminal emulator, but no desktop. Then, from the command line I just typed "Firefox", and here I am, typing in my blog. I can't move the browser window around, and there are no buttons to resize it or  minimize it. I can't even get back to the command line without closing Firefox. Now I see why people invented window managers.

But I can still write my blog quite nicely in a browser window that fills most of the screen. Sort of a minimalist, Zen-like Solaris experience.

This is way cool. I feel a bit like a medical student learning anatomy by dissecting a cadaver. I'm learning about Solaris by deconstructing it piece by piece.

Friday Aug 17, 2007

A little trick with FVWM

I was having a problem using the FVWM window manager that I had installed on OpenSolaris. Each time I opened a window from the command line, I had to open a new terminal window, because I was losing the shell prompt with each application I opened.  Thanks to Deborah and Eric Ray's Visual Quickstart Guide to UNIX, I've now figured out how to avoid this problem. For each new application you open from the command line, add an ampersand (&) after the name of the program, as in

bash 3.00$ firefox &

This runs the job in the background, at least as far as the command line is concerned, so it gives you another command prompt when the application opens. However, from the user's point of view, the "background" job can be interacted with in its own window like any application. I'm typing this blog entry in Firefox in its own window, and my command line is ready and waiting for any applications I care to request. I just have to remember to add the ampersand for each new one I open!

Saturday Aug 11, 2007

Weird and wonderful Solaris variety

One of the weirdest and coolest things about Solaris, at least to me, is that there are so many different ways to interact with it. Instead of presenting a single face to the world, like Windows or Mac OS, Solaris is a hydra with a hundred heads, and you can talk to any one of them -- or even create a new one. Case in point -- as I write this post I'm using Roller, but I didn't open the Java Desktop System to do it. I'm writing the post in a window that I opened in FVWM, one of the dozens of alternate window managers that UNIX and Linux have spawned. I downloaded FVWM from yesterday, and followed instructions I found on a blog by Sun's own Brendan Gregg to get it running. Thanks, Brendan!

Why would I want to do this? I guess it's the same reason that sometimes I like to look at my email using Pine, and sometimes I like to speak Spanish. The freedom to choose one's mode of communication is something very basic. They can build the best monolithic desktop system on the planet, like the one I was fooling around with down at the Apple store today, but there are still going to be a lot of shadetree mechanics like me that are going to want to roll our own, and you'll find us down at the corner of Solaris Avenue and Linux Street, here in UNIX Town.

Monday Aug 06, 2007

An opening for Solaris?

There is a sea change under way in desktop computing that could be an opportunity for Solaris. Eric S. Raymond (esr) and Rob Landley wrote a very perceptive essay last year that argued that every time desktop computers have increased the number of bits used to store memory addresses, the dominant platform dies and a new one takes its place. They argue that BASIC was the lingua franca of 8-bit computing (regardless of OS), that the advent of 16-bit machines brought in MS-DOS dominance, and that 32-bit machines brought in Windows.

Now, with 64-bit desktops just coming in, Rob and esr speculate that whatever OS best handles 64 bits, and that has a big enough community writing device drivers, will come to dominance. They also argue, based on history, that this platform will continue to dominate until the next big paradigm shift occurs, which they think won't happen until at least 2050.

I happened to read their essay a few days ago, and thought it interesting, but highly speculative. Then I happened to read this article on CNET that seems to back up their conclusions! Naturally, esr and Rob are hoping that Linux becomes the new dominant paradigm, but why couldn't it be Solaris? Nobody knows more about 64-bit computing than Sun, and we now have a very active driver-writing community. Why not Solaris?

Saturday Aug 04, 2007

Another terrific UNIX bookl

My quest to find the perfect UNIX book is approaching an obsession. I'm only half way through Understanding UNIX, A Conceptual Guide and already I've gone and bought another. This one is Visual Quickstart Guide UNIX, Third Edition, by Deborah S. Ray and Eric J. Ray. Eric is a noted Sun engineer, so I knew the book would be good, but it turns out that Deborah and Eric have written more than a dozen books on software, and their expertise shows throughout. 

I wonder if there is something about male/female teams that produces great software books? Kathy Sierra and Bert Bates wrote the breakthrough Head First Java, and the brother-sister team of John R. Levine and Margaret Levine Young wrote my well-thumbed and beloved UNIX for Dummies.

The Rays' book takes more of a cookbook approach than I have liked in the past, but now that I have gotten past the initial learning stage with other books that explain everything in detail, I think this information-packed handbook is exactly what I need to have at hand when I actually sit down at the computer. Excellent!

I should note that the book focuses exclusively on the command line -- true classical UNIX. This is what interests me now, but as I move into learning about X and window managers, I think I will need yet another book. Or two. Or five. Obsession is a terrible thing.

Saturday Jul 28, 2007 is my new best friend -- Or Persistence Pays with Pine

My latest quixotic quest, to get the Pine email program working on my experimental Solaris laptop, has had its intended effect, which was to force me to learn unexpected lessons about the Solaris environment and whatever else happened to pop up in the path to enlightenment. I find that solving each new challenge leads me down new and interesting paths. None of this would be possible without Internet research: maybe I should say that Google is my new best friend, now and forever.

As I wrote on July 7 (egad, have I been fooling around with this for 3 weeks?), I was having a mysterious problem connecting Pine to the North American Sun email server. From the the message, "Server disables LOGIN, no recognized SASL authenticator," it was evidently a security problem, but what? I started checking out obscure mailing lists, and asking around, to no avail. Finally, finally, I realized that more than one mailing list entry I'd already read held the answer -- I just hadn't believed it: the Pine binary that I was using had not been compiled to use the SSL and TLS security protocols, and the Sun email server required them. Sure enough, when I read through the Pine Help facility on my installation, there was actually a nifty little page that told me whether that particulary binary had been compiled to make use of the security protocols, and it had not been. Aha! Clearly, this is one of the pitfalls of not compiling your own binaries, but I'm not at that level of enlightenment yet. I had gotten the Pine 4.64 binary from the wonderful, the number one site for free software packages for Solaris, and my guess is that they compiled it without security because the majority of downloaders probably don't have to access an encrypted server like Sun's.

Where to get another binary that had been compiled for SSL and TLS? Fortunately, a kind commenter pointed me to, another treasure trove of Solaris binaries. It's a community-driven site, with hundreds of contributors, and it's filled with helpful articles. And yep, it has a Pine binary, maintained by none other than Sun's own Eric Boutilier.  I thought I was home free.

However, any time you're dealing with software, it ain't over until it's over. Lurking ahead of me was a landmine of diabolical subtlety. is more complex to use than You have to download a program called pkg-get in order to download any of the hundreds of Solaris binaries they offer. And pkg-get is about the only program you download from Blastwave itself: you get the rest from one of  40 or so mirrors that are in operation around the world. is the default mirror, but the Blastwave site warns you that it is slow, and urges you to instead use a mirror that is close to you, so I obediently checked the mirror list  for a server near me. The closest one was at the University of Southern California, just a few miles away. Excellent!

In order to tell pkg-get which mirror to use, you have to edit a little file called pkg-get.conf. My vi skills are still rudimentary, so I approached this task with some trepidation. Then I caught a break, or so I thought.  Examining the file, I saw that all the 50 or so lines were commented out with the # sign, except for one that said "url=".  This was preceded by a comment that said it was the default mirror. Then came a comment that said the secondary default site was none other than USC, followed by this line:


This was too easy! All I had to do was remove the # from the USC line, and add one to the front of the Ibiblio line. Even so, between vi's weird modes and my fat fingers, this took a while. But I got it done, saved the file, and told pkg-get to go get me a Pine binary!

Nothing happened. Oh, there was an error message: "URL not found." What the @#$%!? How could this be? I typed the URL into my browser and went directly to the USC mirror site with no problem. What could be wrong? I was stumped.

This condition persisted for a couple of days. I tried various remedies, none of which worked, and concocted wild theories, like maybe I was supposed to do something with the commented-out firewall lines in pkg-get.conf. I consulted various mailing lists. But mostly I just stared glumly at pkg-get.conf, hoping for inspiration.

Finally -- finally!--  I saw the problem. It's hard to see in the lines above, but it's there: an unwanted space after the = sign in the USC line. The Ibiblio line doesn't have a space. What's maddening about this is that the bad URL is actually repeated in the error message, but without the = sign you just don't see it. I wondered if I had inadvertently introduced the offending space myself, but I checked another copy of the original pkg-get.conf, and there it was.

I removed the space, and voila! Pine downloaded from the mirror site, along with all the packages it depends on, another cool feature of Blastwave. Eagerly, I fired it up and checked Help to see if this version had been compiled with SSL and TLS support. Hurray! It had been!

I entered the Sun server's address into the Pine configuration file, saved, restarted Pine, and there was my Sun mailbox! Hee-hee!

Actually, it took me two tries. The first time, Pine helpfully explained in great deal that, for my own good, it couldn't let me into the Sun server, because the Sun server has a self-signed security certitificate, which I couldn't match. This could expose me to a "man-in-the middle" attack, which I already knew from one of the interesting byways I had wandered down during the weeks I was trying to get Pine going. That's what I mean when I say I have been forcing myself to learn unexpected lessons. Pine advised me that I could get around this by using the novalidate-cert option, which I had also already read about, and thus knew was a legitimate option. Once I did that, my Inbox opened up. One of my next steps will be to actually retrieve and install the Sun security certificate, but for now I am content with my working Pine instance, and the lessons I have learned.

Sunday Jul 22, 2007

Enlightenment from a 24-year-old UNIX book

BW and I were hanging out at Out of the Closet, a thrift store that raises funds for an AIDS assistance group here in LA. BW has an eagle eye for classic vintage clothes, and I like to peruse the used books. I came across a real gem: Understanding UNIX, A Conceptual Guide, by James R. Groff and and Paul N. Weinberg, published by Que in 1983. What a cool blast from the past! From page 1: "Exactly what is the UNIX system? Why do such intense interest and controversy surround it? How does UNIX relate to other microcomputer operating systems, such as CP/M and MS-DOS?" And from Page 2: "What are the relationships among the different versions of UNIX, such as System V, Berkely UNIX, XENIX, and PC/IX?"  No mention in the book of that little startup called Sun Microsystems, but it does say that "over a hundred different computer vendors offer UNIX or 'UNIX look-alike' products."

Oddly enough, I'm getting a lot out of reading the book, and not just quaint references to long-vanished UNIX variants. In 1983 the authors were writing about something that was exciting in its newness, and their enthusiasm makes the text come alive. I'm learning about the features that made UNIX important then, the ones we take for granted now because they've become part of every other operating system. And UNIX was simpler then, so I'm learning about what is most important in the system, without becoming bogged down in chapters about all the less-important stuff that's been added since.

The authors weren't kidding, either, when they called it  A Conceptual Guide. A lot of the UNIX books I've seen are too monkey-see-monkey-do for my taste, telling you what to do rather than why you do it. Understanding UNIX  is organized by concept, with chapters on the file system, the shell, file processing and so forth, with explanations of the underlying structure at every step. I like that. Maybe it stems from being over-educated, but I find that I have a much greater attention span when I understand the "why" of what I'm reading. For me, this is the best UNIX book I've come across. Sometimes older really is better.

Tuesday Jul 10, 2007

Unhelpful Sun help desk

Every once in a while I astonish myself with my own naivete. Last night I logged a Sun service desk ticket asking for help with my Pine configuration to access the Sun North American email server. Early this morning when I checked email (using Thunderbird), I was happy to see that there was a "Servicedesk request completed" message. Great! What fast service! Some helpful Sun support person, toiling through the night on the other side of the planet, had found a solution to my configuration issue!

Alas, it was not to be.  This was the message:

The following action has been taken on your ticket number [deleted]
Please read the comments and respond if necessary.
Action : Close
Taken By : [deleted]
Date/Time : Jul 10 2007 8:42AM

Service Providers' Comments :

Hi David,

Please be advised that this Product Pine is not supported via ServiceDesk, so
no further action can be taken by the Global Resolution Center.

This ServiceDesk ticket will therefore be closed.


Oh, well. I know it's ridiculous to expect the Global Resolution Center to support every weird email client out there, even a legendary open source tool like Pine, but I couldn't resist razzing my Sun colleagues a bit. Heh-heh.

Sunday Jul 08, 2007

How to crash Nautilus in two easy steps

1. Search for a file using the Nautilus search facility.

2. When the results come up as file icons, click the drop down menu to switch to a list view.

Step back and watch the fireworks. Fun!

This occurs using OpenSolaris build 57. Your mileage may vary.

Saturday Jul 07, 2007

Problems with Pine email setup

I've been on vacation this week, just hanging around home with BW, and enjoying what LA has to offer. Tip for tourists: head for the Century City outdoor mall. They've completely refurbished it, and the food court is to die for. Each kiosk there would be a two-star restaurant anywhere else. The people-watching is great, too. 

The days off gave me time to fool around extensively with my Pine email installation on Solaris. No luck so far on connecting to, the Sun IMAP server. If I weren't so relaxed from vacationing, I'd be tearing out what's left of my hair. No matter what config changes I make, I still get this cryptic error message:  "Server disables LOGIN, no recognized SASL authenticator."

Oh, well. I've learned all kinds of interesting stuff by fooling around with Pine so far. This little challenge has taught me some things about security that I never would have thought of. However, my attention span is now beginning to gray out. If anyone has some advice on configuring Pine to talk to an IMAP server, please drop me a line.

Wednesday Jun 20, 2007

Solaris notebook compatibility

The more I use Solaris for my daily activities, the more I become convinced that one of its biggest barriers to widespread adoption by individual users is the issue of compatibility with the wide variety of notebooks out there. In the US, people are buying more notebooks than desktops, and the problem with notebooks is that they use a lot of really weird components in order to save space and weight. How can we support the myriad of new network cards, displays, Wi-fi cards, etc. that the manufacturers keep coming up with, not to mention the legacy hardware in use?

Microsoft solves the problem by throwing money at it. I'm sure they have hundreds of developers writing device drivers, and hundreds more who make sure that the manufacturers' own drivers work with Windows. Apple solves the problem by only supporting its own hardware. Linux has a large community of volunteer developers writing drivers.

The OpenSolaris community is vibrant, but small compared to the Linux community. When I was confronted with problems running Solaris on my notebook, I was fortunate that there is a community-written driver for my notebook's network card. I was also fortunate that a Sun developer in Beijing was assigned to write the AGPGART driver that makes my display function. Gabriel Carillo describes similar problems in a blog entry today.

One solution, of course, is to encourage the further development of a driver-writing community around OpenSolaris. Another solution, if Solaris is released under the GPL, would be to cooperate with the Linux community on developing common drivers. There is a third solution, however, that is only available to Sun. Since Sun does not manufacture notebooks, it does not compete in this market with Dell, HP, Acer, Lenovo and the other notebook manaufacturers, which are very few in number. Sun also has corporate muscle that Linux doesn't have. Perhaps we could engage in some high-level diplomacy with these manufacturers to encourage them to write open source drivers for their components that would be compatible with Solaris.

Wednesday Jun 13, 2007

Linus Torvalds on Solaris

Wow! Linus talking positively about Solaris, and about Jonathan, too! This is way cool.

Here's the link to the article on CNET. 

Update: now that I've seen the source, Linus's remarks weren't all positive. But I choose to focus on the nice parts, and apparently Jonathan does, too.

Back in the OpenSolaris saddle

After a long hiatus, I recently revived my Solaris-at-home experiment. Deciding to act like an absolute tourist to see how a consumer who wanted to try Solaris would be treated by Sun, I ordered the OpenSolaris starter kit online. It took about five weeks to arrive, which I thought was pretty good fulfillment for a free offer. It turned out to be a two-DVD set, one DVD labeled as Solaris Express Community Edition, build 57, and the other with some tutorials and LiveCDs of the Belenix, Schillix and Nexenta distros.

The packaging was pretty slick, quite tasteful, but I missed having written instructions of any sort. I guess I'm too much of a print-oriented guy. I glanced at the tutorial, but got impatient and decided to go straight to the DVD install.

The install went very well. It seemed to have been made easier and simpler than the last time I installed, which was build 42. Also, it gave a nice running commentary about what additional products, drivers and so on it was installing. I don't remember build 42 doing that. I was happy to see that the beloved (by me) AGPGART driver was being installed, since it is essential to the proper functioning of the display on my Dell Inspiron 1100 laptop.

Since I was upgrading from build 42, I tried the "upgrade" option, but couldn't make it work, since it kept looking for a file in which to back up existing data, then couldn't find one that wasn't being upgraded itself, which it refused to do. I'm sure there's a way around this, but I couldn't figure it out, so I went with the "new install" option. I didn't have any data on the machine anyway, so it was no loss, and probably beneficial in that it wiped out some of the doubtful modifications I'd done in my last experiments.

Although it's not labeled on the packaging, build 57 includes the new OpenSolaris Developer Edition that has all the developer tools. I tried installing this, but it wouldn't let me, saying my 1 gig of memory was too small. Oh well. It was easy to click on going with the standard edition instead, and that worked fine. I'm not a developer, so what the hell.

I was also happy to see that the bug in build 42 that prevented me from logging in with the Xsun X-server has been fixed, and the default Xorg server works just fine -- no need to apply the patch that the OpenSolaris guys had kindly given me before. Given all the X-related problems I've had in the past, this was a great relief. Interestingly, when I ran kdmconfig to switch to Xsun, just to see if it would work, the screen resolution degraded considerably. Sun has deprecated Xsun anyway, but it's nice to know that it's still included and at least functional in the distro.

My big complaint is that there still is no driver for my laptop's Broadcom bcm4401 network card, and I had to turn to my buddy Hermelito Go to install the mysterious Japanese driver that I've downloaded and used before. It took Hermelito, a veteran Unix sysadmin, several minutes to get that installed, so it's not a trivial operation. Hermelito pointed out that the card is quite common, so he thinks OpenSolaris may actually contain a driver for it, but can't detect that it's there.

 Beyond these quibbles, I'm pretty happy with this latest incarnation of OpenSolaris. I'm going to make an effort to use it for a lot of my daily tasks, and I hope to report to you now and then how it's working for me. 



Tuesday May 22, 2007

Moore's law for disk drives

I have been thinking about upgrading the disk drive on my experimental Solaris laptop, a Dell Inspiron 1100. I called up the same Friendly Local Vietnamese Reseller where I bought my 40-gig drive 16 months ago. Their price for that 40-gig drive in December, 2005, was  $78. Their price today for an 80-gig drive? $78. 

Monday Mar 19, 2007

OpenSolaris, brought to you by Coca-Cola?

Is the Open Source movement the last cultural artifact to reject corporate sponsorship? Any cultural artifact that attracts eyeballs -- TV show, baseball stadium, theme park ride, NASCAR racer, newspaper -- can make money by accepting advertising. The Lakers play in a basketball arena named after an office supply company.

Why not do the same thing with OpenSolaris? How much would Coke pay to have the boot-up screen say "Welcome to OpenSolaris! Wouldn't a Coke be refreshing right now?" How much would Pepsi pay for an unobtrusive watermark logo on every OpenOffice spreadsheet? Unlike newspapers, software isn't thrown away at the end of the day. You get two eyeballs staring at it for hours on end, day after day. That's got to be worth a lot.

So, OpenSolaris Governing Board, here's my recommendation: auction off naming rights for the next five Nevada builds. I'll bet you'll get enough money to buy all the servers you need for the next five years, and then some.




« July 2016