Potsticker Guru Header Image

James C. Liu's Weblog

All | scifi | setenv | techbiz
[Illustrated Hand Made Potsticker Recipe]
20071012 Friday October 12, 2007

A great life remembered - Professor Virgil E. Schrock - Dept. of Nuclear Engineering - UC Berkeley

A Great Man - A Great Mentor

As a kid, you grow up thinking to yourself what you want to be when you get older. I never really had much preferences until high school. I was a pretty happy-go-lucky guy who, sometime around high school, wanted to really get into Applied Physics, like maybe Nuclear Engineering. Well, I was fortunate enough to get accepted into the Nuclear Engineering Undergraduate Program at the University of California at Berkeley, where I got a pretty interdisciplinary regimen of all the standard courses in Mechanical, Civil, Electrical, CompSci, and of course, Physics.

Around my junior year, I found a part time job up at Lawrence Berkeley National Lab. A great workout since I often biked up the hill to work and biked back over Grizzly Peak in the evenings to Orinda to commute back home. It was in the course of working up there, writing Data acquistion software for the VAX which was hooked up to the Bevalac Particle accelerator that I bumped into my undergraduate advisor who was working on Polymorphous Silicon and enhancing the photo-electric effects (i.e. researching how to make a cheaper, better solar panel).

He wouldn't become my graduate adviser, but he did introduce me to an undergraduate Nuclear Engineering design contest hosted by the American Nuclear Society. The challenge that year was to analyze the feasibility of consolidated spent fuel rods in fission power plants. Simply, many older nuclear power plants today, have been storing their spent fuel rods in large, deep pools on-site. Utility companies have been charging into their base rate a decommissioning cost which includes spent fuel processing and burial costs. The US Gov't has been remiss in it's obligations to find a spent fuel storage facility in the last 40 years, although we've come close to selecting Yucca Mountain Nevada as a site. (But due to certain political obstacles and an uneducated public - there's been much opposition to the storage facility).

This political dilemma actually got me interested in looking at spent fuel consolidation. The problem looked simple at first. Utility companies wanted to know if it was okay to remove the spacing guides on the fuel pins, then bundle them closer together and therefore get more storage room out of their existing storage pools. This could extend the storage pool capacity for another decade or even two decades at most plants.

Prof. Virgil Schrock volunteered to sponsor any UC Berkeley bid into this design contest. His speciality was Nuclear Thermal Hydraulics - i.e. a fancy term for Heat Transfer and Fluid Mechanics in Reactor systems. I got together with a couple of classmates and we decided to look at this problem. We were against some stiff competition from some other big name schools from around the country, and from the get-go, Prof. Schrock was a no-nonsense guy and a tough taskmaster. He never gave us answers. Only questions. And to answer those questions required a lot of research. But I was good at this. I was resourceful and quick. Still, it took the better of our last year at Cal and early part of my summer to finish up the thesis and submit it to the judges. It was during that senior year and early in my involvement just to scope out the problem that I really found love of research and problem solving. So I decided I wanted to go to grad school. Prof. Schrock must have seen some potential in me and he helped me file for a Dept. of Energy Nuclear Engineering and Health Physics Fellowship - A free ride to grad school with full stipend. Plus -More- money than an NSF Fellowship. But only 4 - 7 of these would be granted in the US a year.

I did win one of these, and then the offers from MIT, U. of Wisconsin, Georgia Tech, etc. came rolling in. I took a few trips east, unfortunately in January, during a bitterly code winter, and I recall my face freezing upon exposure when I stepped out of my rental car in Madison. I decided then that East Coast cold or hot/muggy weather wasn't for me. I was going to stay at Cal and do my graduate work with Schrock. And not having gone much deeper into Nuclear Thermal Hydrualics, I thought at least the next few years couldn't be all that bad.

That was an interesting last semester senior year. I had quite a few more discussions one-on-one with Prof. Schrock. He clearly became my mentor. Tough, disciplined, thorough to every technical argument. I was the young, bright kid who could grasp new technical concepts fast, but I lacked focus and dedication. I was an officer in one too many student societies, throwing BBQs weekly, sometimes, 3 times per week for fellow Engineering students. I was thinking how I could make a comfortable life for myself as a grad student working for Schrock and partying with my fellow students. Schrock had bigger plans for me - he wanted to challenge me mentally and bring out the potential of whom I could be so that whatever the task, I could meet it head on and do a good job.

Certainly, my own father, a Ph.D. in Biochemistry from UC Davis was no academic or technical slouch. But as a Dad, he really has had no choice. He had to love me for being his son. And I never really disappointed him. I met every standard a Dad could really set. And while he did teach me how to labour hard doing physical chores like tilling soil/farming, fixing my own bikes and cars, and simple home improvement - all in the heat of the summer, he never forced me to reach deep and work at my true mental potential. Well, all that would change now that I had officially hooked up with Prof. Schrock.

I remember around June of my last semester as an undergrad when we'd already walked at commencement and effectively graduated, that I was finishing up the submission for the design contest. My two classmates had bailed on me and either gotten jobs for the summer or were taking time off back at home. I was on my own and Schrock's technical perfection really made me question why the heck I was doing this. He was critical on every point of analysis. He forced me to apply my software skills to develop a computer simulation of time-dependent two-phase flow for freshly spent fuel rods which would radiate more heat early after removal from a power-reactor. It was painful to get up at 6am, commute in on BART, then not get home until late at night, sometimes on the last train, then work at home to verify the code against hand analysis. I never imagined I would survive living on 6 hours of sleep a night for the nearly a month of constant analytical work I had to do. And all the while, I still kept my part time jobs as a dishwasher and a bike-shop mechanic.

I came up with quite a few terms for Schrock at the time. "Hard nose" and "Slave driver" were the more polite ones. I even had doubts sometimes if I wanted a graduate adviser this tough. But at the end of 4 weeks of "finalizing", the submission was truly something I was proud of. Schrock had indeed been tough, but always supportive. His criticisms were back breaking, but always constructive. When I was ready to give up, he would give me the idea to pursue that would bring the work to the next level of analysis. Now, with the final package bundled and ready to ship off to the judges, I was more proud than any of the hand-made fishing rods I used to craft starting in high school. We submitted the simulation software, the written analysis and results that showed for at least a pool similar to the one at PG & E's Diablo Canyon facility, spent fuel rod consolidation was feasible. I actually believed it was on par with anything in the industry. It was on par with any graduate work as well. And I remembered that Schrock was also proud of our work.

Suffice it to say, that we kicked butt that year and took 1st place in the undergraduate category. I made the presentation in Washington, D.C. and received the award for our team. Professors from other schools were there and very impressed with our work. The comments I received were that it was impressive work, good enough to win the graduate student category perhaps. And what really impressed me was when they asked me who my research sponsor was. I told them: Virgil Schrock, not even thinking it was someone they would know. But they all said, "Ahh! You're one of Virgil's kids..." as if award-winning work was a standard output for anyone working with Schrock. I realized then that working with Prof. Schrock would mean working at a wholly new world-class level. It would be tough, but it was something that I wanted to know if I could complete.

I graduated in 1993 from UC Berkeley with a Ph.D. in Nuclear Engineering. I was so privileged to have had the opportunity to work with a man who, over the years, shaped me mentally and disciplined me as a scientist. For a man who contributed so greatly to the understanding of science starting more than 5 decades ago, retiring and becoming emeritus before the Internet really became widespread, I am amazed at the number of hits Google provides when searching his name. Working with Virgil Schrock and graduating with distinction from Berkeley opened many doors for me. I did a Post-Doc in Turbulent Convection and heat transfer at Tokyo Tech, then found easy employment as a consultant deploying Trading Floors and Derivative Risk Management Systems for Tokyo Stock Exchange members. It gave me the skills to then easily come back to work at Sun Microsystems and do what seems like a completely different job than the what my degree prepared me to do. The truth, however, is that I still apply the same academic skills, discipline and tenacity that Virgil Schrock instilled in me starting nearly 2 decades ago.

Because of Prof. Schrock, I learned as much as I could and more; I experienced scientific understanding as deeply as I could and more; and I was able to contribute to man's body of technical knowledge as much as I could and more. No person could have had a better guide in life than I did.

Prof. Virgil E. Schrock - A Great Man and a Great Mentor.
January 22, 1926 - October 1, 2007

Above: Picture taken of myself (left), Virgil Schrock (mid), and my Dad (right) at Graduate commencement at Berkeley 1993. I still remember my Dad dressing up in his robes as well to accompany me. Prof. Schrock has just changed out of his robes. It was warm that day. My Mom took the picture. Prof. Schrock is survived by his Wife, Mrs. Ginny Schrock, and two children and quie a few grand children. My own son and daughter (7 and 5 years old) still sleep with the stuffed beanie baby Felix Cat and the Baby Bunny that I think Mrs. Schrock picked out and sent us when they were born. October 12, 2007 12:47 PM PDT Permalink

20070914 Friday September 14, 2007

Awesome BC Salmon Fishing

It's been a while since I had time and inclination to blog. But it's a relatively quiet Friday, so I thought I'd share some fishing stories from my fishing exploits last month up near Vancouver, British Columbia.

During the end of July and first half of August, in the midst of a couple of major bug escalations on some NIC drivers, I took 3 weeks off and headed up the B.C. to do my annual salmon fishing pilgrimage. Of course, my excuse was that I had to take the kids during this time period since they have school the rest of the year, so it's now or not until next year. In reality, the timing of the trip could have been a few weeks shifted either way. I chose those particular weeks due to a culmination of research gathered over the last 7 years on the annual salmon run. Specifically, the end of July and first half of August are when the fishing heats up and salmon can be caught from shore - which is just a 30 second walk from our home up there.

I've always debated internally whether this was good practice - to take work along on a vacation. Some folks like to unplug completely. Others prefer to always stay connected. I'm more of the latter kind of person, since the work really doesn't go away. It just piles up while we're gone and I'd rather return to work and hit the ground running rather than spending yet another week dequeuing the hoards of emails and requests I've gotten while I was out. I also love my job - tinkering with hardware and software - and to get paid for it is a bonus. And secretly, I use long vacations like this sort of to test the possibility of working remotely for extended periods, not that I'd ask my manager about right away.

The picture above should provide a small clue that the fishing was a blast. And the scenery was gorgeous. I was fortunate to catch many species of fish. Notable were the rock sole, which are really tasty steamed, and fresh sea cucumbers, which are a Chinese delicacy when used in stews. But the real big catch were the salmon. And they run during a select time of the year. I'm now referring to the end of July and first of August when the first large schools of pink and chinook salmon moved in close to shore.

Our vacation home is on the edge of a salt water estuary, and the salmon come back annually and use these waters as their last feeding source. From May through October, schools of salmon migrate through the estuary and then up river to spawn. There are 5 species. Chinook, pink, coho, sockey and chum. There are millions of fish and over the summer months, many will stop briefly and then move past our shoreline. Some remain and spawn in our creek, waiting for the next big rain that will provide them sufficient water levels to migrate upstream to the waters from where they hatched. Once salmon enter freshwater, they stop eating. Many still hit a lure, but it's primarily for instintive or defensive reasons and not hunger. The end of July and first half of August signals the Pink salmon run. Most salmon live 3 - 5 years and then return to spawn. However, Pink salmon live only 2 years before returning. Due to accidents and rockslides on key rivers back in 1952 or some even numbered year in the 50's, most of the even-numbered-year Pink salmon were wiped out. 50 years later, due to conservation efforts and some human efforts to restore pink salmon runs, we now have some pink returning in even number years. But this is 2007, an odd-numbered year. And that meant some massive pink salmon runs.

I remember July 30th. The pinks had been showing up in small numbers since the 25th. But a massive slug of them arrived on July 29th right on queue the same as two years ago. They were abundant to catch, and I was releasing almost all of the fish, since the limit was just 2 pinks, in a total of 4 salmon bag limit per day of all species, with 8 fish total in possession at any time cumulative. On that Thursday evening, July 30th, the pinks settled in at high tide inside the cove adjacent to our homes. I walked out to the shore and sat down on a big log at 5pm . I met up with 3 other neighbours who had all decided to wet a line. The cove, which was less than 6 ft deep at high tide, was thick with jumping salmon. Many fish were in just 1 ft of water chasing food. And from 5 pm - 8:30 pm, I counted personally, 39 salmon caught, landed and released. Regulations required us to use barbless hooks, but these can be treble hooks which have 3 points. After the sixth fish, it was taking too long to release the fish, so I switched to a single-point Siwash-style hook. I did lose a few more fish due to the hook, but the salmon were everywhere. Most times, there were at least two of us that had fish on simultaneously. We even had 4 fish on briefly at the same time. Two of my neighbours - Larry and Mauritzio joined me on that big log that had washed onto shore in previous weeks during a high tide. As the tide moved in, the big log started to float up. I sensibly got off and moved back a little onto some rocks and kept hooking more fish. But Mo and Larry lost track of the time and remained on the log, hooking ever more salmon. We were all whooping and shouting out, "Fish On!" nonstop while the log slowly floated up and out to the middle of the cove with Mo and Larry still on the log.

Larry then went silent for quite a few minutes as he struggled to haul something in. After 12 minutes perched on one end of the floating log, a big black and silver flash surfaced and started jumping. It was a massive Chinook. As Larry tried to work it closer to the log, the fish suddenly turned around and started swimming toward him. The fish dove under, went behind and around, then jumped up and over the massive trunk of this log. Larry's line was now wrapped around and there was just too much friction on the line and move the fish. A break off was imminent. Larry instinctively opened the bail and let the line loose, preventing a break-off and so the salmon continued to struggle. Meanwhile, Larry looked over at Maurice who had brought a small landing net. Larry shouted over Maurice for help with landing his fish. Mo seemed clumsier than usual as he knelt down and tried to swat the net at the fish. It was beyond being bad technique. It almost seemed like a comical attempt to intentionally knock the fish off the hook. And as I watched thinking about Maurice's bad form, the fish appeared to have swam up to the log and rubbed its mouth against the trunk. One of the points of Larry's treble must have embedded itself into the log. Since the points were barbless, this must have allowed the big fish to twist and back off the hook. And POP! The fish was free. But it quietly laid on the surface of the water for a moment before it made a small splash and disappeared! "Ahhhhhhhhhh!!!" came the cries from both Mo and Larry and they looked dumbfounded first at the water then at each other. But that only lasted about 30 seconds before they were both casting again and hooking their next salmon. Eventually, another neighbour came out in a canoe and ferried each man, one at a time in two trips, back to shore.

My elbows were seriously injured by the onslaught of fish. Mind you, these weren't smally dinky trout. Even the smallest pinks are full fledged salmon weighing 4 lbs and upto 9lb with enough fight for a fish that can swim 100 miles up river to spawn. Occasionally, we would hook up with some chinook salmon which get much bigger. One fish stripped me of more than 70 yds of lin in about 7 seconds, and then headed into deep waters where it dove then cut the line cleanly probably on the sharp rocky ledge about 40 yards from shore. With such powerful fish, a typical fight lasted for at 3 - 5 minutes, and we were averaging about 1 fish every 3 casts with our metal lures. By the time the 20th fish had been caught and released, I switched rod types and tried to switch from right-arm holding the rod, left hand cranking, to left hand holding the rod and right hand cranking. It helped a little during that evening, but next morning, the tendons near boths elbows were paying a painful price.

The fishing was great for the kids too. Because the fish were that plentiful, it wasn't hard to head out, walk to the shoreline, make a couple of casts, hook the fish, then hand the rod over to my son or daughter to then fight and land the fish. And if they had a lapse in technique where they left slack in the line and the barbless hook fell out, well, not much of a problem. I would hook up soon after and give them a second chance and a third or a fourth, until they got too tired.

Speaking of kids, while we were up there, we invited the family of one of our son's classmates to stay over for the weekend and fish. Mark and Tracy have two boys, Jake and Kyle who both attend the same elementary school here in Sunnyvale. We've known them now, for about 2.5 yrs. Mark is an avid fishermen. He claims Tracy lets him head out on some pretty good fishing trips, like long range boats out of San Diego, or offshore tuna trips around the world. I'm not a big boat fishing guy, but that sounds like he's got a good arrangement. Tracy teaches at the school, and doesn't really fish much. But she's a Vancouver native with relatives still there. So she visits them often. Naturally, when I mentioned we'd have a great salmon run this year and we could just catch them from shore, they made plans to be up there around the same time and meet up to fish (well, at least Mark made arrangements with me via email).

The Friday afternoon that Mark arrived with the family, we were just on the way out the door to pick up my wife's sister at Vancouver airport (YVR). The sis-in-law was stopping by to visit from Alaska. The drive to YVR, by my guess, was going to take more than 2 hours due to weekend traffic and Highway 99 construction for the upcoming winter Olympics. So as I was leaving, I gave Mark a quick tour of the garage, the rods/reels and the tackle. I also showed him key shoreline fishing spots. Then we left them alone with a house key if they needed to get in or out.

We did successfully pickup my sis-in-law at YVR, but we decided on dinner first before heading back. It wasn't until after 8pm when we got home, after which time, Mark, Tracy and the boys were not to be found. It wasn't long before they came back and we found out that Mark and his 2 boys had gone out fishing just after we left. In just 1/2 an hour, he hooked and Jake landed a 12 lb Chinook, and he hooked and Kyle landed a 9 lb pink. They remained in an ice chest in the garage awaiting instructions from me on how to fillet them. At that point, I think Mark turned to me and said this was the best shore line fishing he's ever experienced. Then he turned back to Tracy with a grin and said, half seriously, that they should buy a place up here. Tracy responded, with a negative; they'd simply just come up and stay at our house, to which we all laughed.

Because of the all the folks with licenses and valid salmon stamps, I ended being able to keep quite a few salmon in the freezer. But that presented a problem because there wasn't room in our small frige/freezer. The solution was to head to the new Home Depot in Squamish and pick up a new chest freezer (aka "Trophy Case" in Alaska said my sis-in-law). But after accumulating that much salmon, I ended up getting buying a smoker as well, after which we bought a vacuum packing system for the smoked filets. I found out that our next door neighbour's wife, Yelena, makes salmon roe caviar that is just blanched in modestly hot brine, and separates out the eggs from the sack material using a badminton racquet.

It was tough coming back after that kind of vacation, but I had to save my arms. If I had stayed up there, I'd probably been needing surgery and multiple cortisone shots into my elbows. Even with all the swelling on the last day, I took some some Aleve in the morning and then headed out to fish. It wasn't more than 6 or 7 casts before I hooked a very nice chinook which I landed and released. Then not long after, I hooked and released 3 more pink salmon. I had to head back in after that to really save my arms. But before leaving, I was able to test install the new Solaris Developer Express release on 4 machines and provide feedback to the Nevada team. That wasn't painful at all. September 14, 2007 03:47 PM PDT Permalink

20070105 Friday January 05, 2007

Giving USB the boot - install

A sale on 4 GB USB jumpdrives ended yesterday at Fry's. It wasn't a huge savings, but for $49, there was a USB flash drive from PQI that seemed fairly decent and I bought one. I wasn't sure what I was going to do with it, but I was thinking along the lines of using it to burn Solaris Nevada b55 onto so I could carry it with me always and install other systems that support boot from USB. It's big enough afterall.

There's been lots of news from India about the Belenix folks on the Solaris-runnable Flash archive on the 1GB stick. It's very cool and the person -Anil Gulecha- who did the runnable flash stick image has been getting lots of praise. I thought I'd join in, since I leveraged a lot of things he was doing in his usbdump.sh to create a bootable Solaris Nevada b55 image onto that USB drive (on sale!).

Overview of Steps

Basically, the process is fairly straightforward, except the commands aren't always known or easy to remember.

As I discovered, the contents of the install DVD aren't quite amenable to a straightforward installation. There are definite dependencies for example, the path where the DVD install scripts expect the media to be (i.e. /cdrom). And this doesn't make life easy unless you know the workarounds. But as I discovered, the USB drive installation is about 30% faster than standard DVD install when it all works, and it's a lot quieter than a spinning optical drive. It also works when the system doesn't support PXEboot net-install, or the driver for the network isn't by default in the x86.miniroot for the installation OS. The flash drive, being a disk, makes it easy to include additional software like driver source files, the Studio 11 compiler packages, and optional freeware.

Formatting a USB flash drive for Solaris

This was shamelessly reverse engineered from Anil's usbdump.sh script and it seems to work pretty well. For those that don't want to extract out the relevant shell script lines to make their own script, basically, this is what I did to format my jump drive.

Loading the Install Media onto Flash drive

For the time it takes to burn a DVD with the Solaris install media, it's almost possible to copy the files onto disk using Solaris' loopback mount filesystem capability. The utility is lofiadm(1M) and is really useful for mounting ISO images already present on the filesystem and saves the hassle of burning media only to insert the finished DVD and remount it. Steps are the following to mount the Solaris install media ISO and copy them to the flash:

Note that with some flash drives, including this PQI, I had data errors. At least if the error occurs, Solaris will usually tell me and then I note the error in the package and try to re-copy it later. What's more insidious is if the drive doesn't report errors initially but then encounters a few errors during the install and fails to install, say some of the Xorg components or fails to run the post-install on the fonts and then your windowing won't be able to come up. More details below.

Booting and Installing with the flash drive

On one IBM/Lenovo laptop we tried, we inserted the jump drive and the system BIOS knew to boot from the USB drive immediately. On an Acer Ferrari 3400, I like others who've reported the same thing, had to go into BIOS and set the boot order to be from a Hard Disk. Not a USB zip, USB floppy, or other USB drive. And on a PCChips V21G system, I pressed F11 to get into the boot menu and then found the Generic USB boot drive under the +Harddisk boot sub-menu.

Once booted, it looks just like the DVD/CDROM install. Only, the install scripts for this media all are expecting the installation content to be mounted under /cdrom. And so the boot will proceed partially, and then exit to a #sh prompt when it can't proceed with the installation. The solution I found was to mount the flash filesystem under /cdrom. But finding the logical [usbslice] to mount is a bit tougher. The rmformat utility isn't in the installers x86.miniroot so that utility isn't available. The next best thing is to look in /dev/usb/ and do a full listing (ls -l mass-storage*) and observe the path. You should see one or more entries that should point to the physical path in the /devices/ tree. Note the exact path, which can be tedious, but if we back out directories to ../dsk/ and then do a full listing, we should see a similar slice. We want to mount the path for slice0. This usually ends up being /dev/dsk/c1t0d0s0, /dev/dsk/c0t0d0s0 or /dev/dsk/c2t0d0s0. If you aren't sure, just give those 3 entries a try using this command as an example: # mount -o ro /dev/dsk/c1t0d0s0 /cdrom.

To continue with the install, I think folks are recommending /sbin/install-solaris. But since we haven't gotten to the initial questions about hostname, networking, locale, etc., I've been using the /sbin/install-begin script. I hope someone reading this in the install group knows how to kicks this off again, and corrects me if this isn't the preferred way.

Notes

I was able to install on a couple of systems, and they booted, but Xorg failed to come up and I think it had something to do with corruption on a couple of font packages and Xorg drivers. Also, on a triple boot laptop, I was also having some issues getting the installer to go into Upgrade mode. It couldn't see the slice for Solaris, but it worked fine for a double-boot and . There's still bugs I guess, and some may be related to data corruption on these flash drives, which seem buggy. But it's not a bad start to get things to boot and come up. So that's progress. The next step is to look at adding some support into the script for install_media=[a local filesystem path] if someone hasn't done it already, and also to see if I can use a USB portable hard drive to see if this eliminates the data corruption errors.

In addition, the current Solaris install is fragile because it hard codes support (and therefore limits it) to /cdrom and nfs mount paths currently. I guess with access to the x86.miniroot for the installer, anyone might potentially add some support for USB drive mounting and installation off of that media with the right amount of clever scripting. That's probably a project requiring a whole weekend though, unless somebody's already done it.

Gotta run and pickup my new 2007 California fishing license and go fishing. Probably not something to hack this weekend.

January 05, 2007 04:37 PM PST Permalink

20061206 Wednesday December 06, 2006

Swapping drives between Solaris machines

AMD Geode NX and motherboard combo deals

In the constant search for more low-power, home system deals, another processor I've had good success with is the AMD Geode NX. The Geode is a line of x86-compatible 32-bit processors AMD offers for various embedded applications, usually in extremely low-power, space-constrained applications. I'm not sure what the roots are of the Geode line, but at the higher end of the spectrum is the Geode NX and from what folks are saying on the web, it looks like these have roots from the Athlon XP line and might actually be the cream-of-the-crop CPUs that are down-clocked and can run stably at 1.2V (rather than the usual 1.6V) so as to reduce power. I've only seen Geode NX 1750 1.4 GHz cpus sold on combos with motherboards retail but AMD advertises multiple speed versions of the Geode NX, probably for volume OEMs.

About two months ago, there was a sale at Newegg.com on a particular Geode NX/Motherboard combo. The price on the combo was $69.99. This deal was for a PCChips M863G(v7.0) micro-ATX socket-A board with SiS 741GX/964L chipset and integrated graphics, AC'97 audio and SiS900 fast ethernet. The combo included a factory mounted, Geode NX 1750 idling which supposedly idles at 14 Watts going up to 20 Watts. The combo included a generous heat sink and super loud 70x15mm fan that ate 7.3Watts by itself! (Fan and H/S replaced with much quieter CoolerMaster unit running at 7V and 2200 rpm). Rev 7.0 of this board does support a 1.2V core cpu voltage setting that lets the Geode NX achieve its low power status. Newegg seems to be sold out of this combo, but they get more once in a while. (Picture courtesy of Newegg.com).


Fig. 1. PCChips M863G board with bundled AMD Geode NX 1750 CPU from Newegg.COM
 

Directron.com is also sold-out on a similar combo with a Biostar M7VIG 400 board with all-in-one VIA KM266 Pro chipset. The Biostar board should have been the better board and I actually bought this board first, paying a few bucks more because I knew the chipset better and thought it was well supported. But after buying it, I wasn't fully happy because the board revision and BIOS didn't support the Geode NX's low-voltage mode. So while the cpu could run cooler and with the same clock rate, 1.4V was the lowest voltage it could drop to, so basically, I was sort of running the equivalent of an Athlon XP at 30 - 35 Watts, when the cpu should be able to operate at 14 - 20 Watts. I also had some issues with Xorg on the Unichrome graphics which I was able to work around, but it wasn't a clean install. The Xorg workaround will be explained a little further down.

So with the Biostar-VIA board not being as low-power as I thought, and Newegg having the similar combo with SiS chipset, I didn't hesistate; I bought one. As luck would have it, not 10 days after I received the first board, Newegg had the $10 rebate offer that would save more on the same item, so I had to take advantage of that deal too and get a second combo to score on the rebate. I did this pretty much not having checked if the SiS graphics, network and audio would work - the deal was just too good to pass up.

Sad days; Retirement of two old friends coming soon.

The goal of buying those Geode NX combos was to begin the process of retiring a pair of 8 year old boxes that have served me well over the years. These were proprietary BookPCs I bought back in 1998 with a tiny Super Socket 7 mobo, special 95 Watt power supply, and were short depth. These had the VIA Apollo MVP3 chipset with ECC SDRAM support and I maxed each one out with 512 MB of branded ECC memory and AMD K6-2 450 MHz. These were tough boxes and the weight alone on these small but heavy units was definitely old school manufacturing. They had Davicom 9102 NICs and I only put a disk drive into each, removing optical drive and FDD after the installation for reduced cabling and improved airflow. I've upgraded these boxes over the years. First 6.4GB IDE drives in both, then 40 GB Ultra quiet drives. Today, one runs Linux kernel 2.4 still and the other runs Solaris Nevada. Both have run so long that the power supply and CPU fans have clogged up from dust and seized up and the power supplies (which are very hard to find) have blown. I spent a couple of days back in 2001 relearning basic circuit analysis again and researching power supplies. After a couple of trips to Halted Supply Co. (HSC) near Lawrence Expressway and Central in Santa Clara, I finally got a bag of high frequency switching capacitors in various sizes at about $0.35/each. So for about $1.50 per power supply plus $7 for a new fan, I had some quiet and good-as-new power supplies and was back up. Since 2001, I take the servers down at least every 100 days or more often during Spring and Summer to dust off the systems, replace fans that are noisy, etc. I still have a spare set of capacitors out there for one more repair.

It's amazing how much dust can accumulate inside a server box when you run it at home. With humans shedding skin flakes, pollen and dust from outside in the garden, those servers were actually like air filters for the house. After cleaning, I was shocked at how warm the side of the case was; and then it hit me that the dust build up had been preventing heat from radiating out the sides of the case too, and that sent more heat out the back through the power supply. So almost every 2 to 3 months, the servers get taken down on a Saturday evening, at 1 am or so, and the cases are cracked open and the units go outside to the patio where I try to stay barefoot and grounded and then blow on the boards with some type of compressed air. Some stubborn soot gets caught between pins or in nooks and crannies like on the cpu heat sink and I use a soft tooth brush with Swiffer dust cloths to clean and wipe. The units go back inside and get tested to see if cpu, case and P/S fans are noisy or wobbling after service. I stock 50mm, 60mm and 80mm fans in 10mm and 15mm thickness (and other size fans too) for this purpose. They get swapped if noisy and I usually switch pin order to bias the fans at 7V versus 12V so as to reduce noise. Not all fans and motherboards support this, so you need to make sure the ones you get aren't smoking or failing to start doing this. Then the systems get closed up and put back into service.

It'll be sad retiring these old friends, since they handle email, web, Java servlets and JSPs, firewalling and database for close to 10 domains and do it without any real performance issues so far. But each consumes about 44 Watts in power when I have other servers that are 1.5 times faster at 19 Watts, which could tremendously improve battery life on the two 1500VA UPS units I own and allow me to consolidate all the switches and routers onto a shared UPS rather than adding separate smaller UPS units for those. With newer, even faster chips using about the same or less power, I may even be able to use just one box for all services and consolidate completely and really saving money, power, the environment, and all that good stuff.

Installation Dilemma - Slim Drive or No Drive?

Ever since Sun produced the Netra X1 line of products, I've loved the low 1U, shallow 13 inch depth case. Those boxes sort of epitomize the whole idea what a small, cool looking, but industrial server should look like. I wished someone made an affordable case in a similar form factor that was a bit quieter, and equally attractive. About the closest thing I can find today is a SuperMicro SC513 or SC512 1U chassis. But at close to $180 for the case, it's not cheap. And to add cost, it requires expensive slim optical and floppy drives. It's certainly too rich for my tastes and I've never investigated the acoustics. Those old Netra's though were pretty quiet, if I recall.

A compromise of sorts is to go with a BookPC form factor chassis. The first gen of these cases were like the ones I described above; they came with small proprietary boards and power supplies and actually were the size of a large telephone book. The whole barebones kits could be gotten for under $100 + shipping. A good feature was they did take standard-sized optical and floppy drives, usually over the motherboard, but it got cramped inside pretty fast. Back in the late 1990's, not all DIMMs were low-profile. Some were 1.4 inches tall and too tall to allow sufficient clearance between drive bracket above and cabling that went over the DIMMs situated underneath or partially below the drive bays. Subsequent revisions of BookPC cases have gotten longer and deeper so the board is entirely clear of the drive bays. Prices have also gotten longer and deeper and they start around $60 and go up to $100 or $200 for some sleek all-aluminum cases. (If I'm gonna pay $200 for an all-aluminum case, it better protect the board from EMP from the next nuclear detonation in my neighbourhood! LOL!)

And the peeve I've had with cheaper BookPC cases are they're really noisy due to all the cheap small fans because the makers know that there will be folks out there who think they can save a few bucks and get a small case for that Quad Core/Quad GPU gaming system. So, yes, that's why they have a bunch of fans and they're noisy. And that's why I focus on finding low-power processors and motherboards to reduce volumetric heat generation on these small boxes. (Note: Before video games, kid brothers would watch their 2nd grade sisters use a Hasbro Easy Bake Oven with the 100 Watt light bulb heat source - it bakes -real- cookies. Understanding the heat generated by a little box might be something to bring back into 2nd grade education so big boys don't grow up and try to shove a 200Watt heat source into a small case. Note2: We could educate the manufacturers too... only, most aren't socialized in America with Easy Bake Ovens - they're just putting in noisy fans to cover themselves and their distributors against too many RMAs on melted chasses).

For all my complaining, the compact BookPC size and shape does appeal to my sense of aesthetics, and with some re-wiring and soldering skills, I can usually lower the voltage on case and power supply fans to make them slower and quieter, yet still sufficent to cool a lower-power system. And that's what I did to a couple Enlight 7396AM1 low-pro cases. These have a high quality, sound insulated chassis, front USB, comes with a fairly quiet power supply and Directron.com has them on clearance for $19.99 with $13.99 shipping, which gets cheaper if you buy more than one case. (See figure below - courtesy of Directron.COM):


Fig. 2. Enlight 7396AM1 micro-ATX case for $19.99 + S/H at Directron.COM
 

I bought two of these last month, and then realized that the drive bays take a normal floppy, but -slim- CD/DVD drive. I was sort of in a dilemma. I didn't want to shell out $75 each for 2 slim DVD burners when I had perfectly good regular NEC 3550As in stock. It would sort of defeat the whole idea of buying these cases for $19.99 + shipping. Then I asked myself the question if I really needed an optical drive or even floppy on the box, since the reason for these systems were to replace those two 8-year old AMD K6-2 450 MHz bookpc servers. Neither have any optical or floppy drives in them; they were removed after OS installation, leaving just the hard drive.

Chicken or Egg Solaris Install? How about transplants?

So I don't have slim optical drives to do the Solaris install using the small Enlight cases. In addition, the PCChips M863G with SiS chipset boards support Novell IPX Netware Boot but not PXE, so a DHCP boot of the system isn't going to be easy to implement. And even if the board supported PXE boot, the default Solaris install doesn't have the SiS900 network driver. I guess if we had PXE, I could disassemble the x86miniroot in Jumpstart to add Murayama's sfe driver (Howto provided in a previous Blog) and that would give us an active network interface to complete the Jumpstart install. But the boards don't have PXE, only IPX Netware boot so thinking about PXE boot without a PXE boot capable NIC would be moot. I checked my inventory of Intel and 3COM ethernet cards and none had the optional PXE boot ROM. And the only one with the PXE boot option ROM I have in stock is a PCI-e Intel e1000g. Great. More shopping, but that would take a bit of time and I wanted to install the systems, there and then.

So the best solution I initially thought of was to temporarily attach a standard DVD-ROM drive and have it perched outside the propped-open case and do the install once on each disk. That'd expose the system for just an hour or two and we could then close them up. But that's still an hour or 2 or more. Plus the whole hokey setup with cable/ribbon hanging out and a bare drive setting there spinning loudly for 2 hours while I'm trying to watch a remake of Van Helsing with Hugh Jackman, isn't what I had in mind. And looking over my desk, I had a bunch of IDE Seagate Barracuda IV ST380021A drives, in clear plastic clam shells, just sitting there, recently swapped out of a couple of test boxes with Solaris Nevada b52, which got newer SATA drives.

A conversation with a colleague earlier in the Spring of this year came to mind. We were all sitting outside the Sun Santa Clara Auditorium after a Silicon Valley Open Solaris Users Group (SVOSUG) meeting and a bunch of folks were going over to Denny's or IHOP for a late bite. Dan Price had just given an S10 Next Gen Overview and he covered a lot of things. And our SATA team had given a talk on the new SATA framework. And one of my colleagues who works on x86 boot and ACPI was there. I think we were waiting for a couple of guys still inside and probably cleaning up, and I asked my colleague about why if I switch disks from one box to another, I can't get Solaris to boot, except for Safeboot.

My colleague gave me that funny look, like, "Why would anyone wanna do that?" I explained that from a customer support perspective, it'd be cool to flash a Solaris image to disk, then ship it and let it boot up and do self-config. He countered that, no, this isn't a big feature demand for Solaris and asked rhetorically how many folks would ever use that feature anyway? Well, I wasn't sure. But on Linux, I do this all the time - preflash a disk and when I need to do a quick build, I slap the drive in there, Kudzu kicks in, and voila... system is configured in a couple of minutes. Solaris gets stuck in reboot-hell if we try this. So after some debate, which went nowhere, I brought up the Jerry Seinfeld episode that got me to start watching that sitcom. And this was the first episode I ever chanced upon where Seinfeld has his little comedy clips at the open and close of each episode. He's standing there talking about the black box.

"Ya know, when a plane crashes... the only thing that survives is the BLACK BOX... Ever wonder why they don't just make the WHOLE plane.... out of THE black box???" (laughter).

In all seriousness, we know that Solaris safeboot has the hooks to rebuild the boot-archive and device trees, and the installer figures out the devices and puts a permanent map of that onto the filesystem somewhere. So why can't we put those same hooks into the regular Solaris boot or multi-boot? That's what I asked my colleague.

He gave me that, 'James, you're naive and uninformed about Solaris x86 boot'-look and just told me that it's not a widely used feature, and that's not what multi-boot does, and started down the path of how the GRUB works with multi-boot and the whole secondary boot blah, blah, blah, blah. Which I took as obfuscating the issue with detailed specs that don't matter to end users. Anyways, to make a long story short, I was miffed and decided against Denny's, and went home to eat cold supper made by my wife, who's always been a lot warmer and at least seems more understanding.

Fast forward 9 or 10 months and here, I have two perfectly good disks, almost new, and pre-installed. I searched the web and managed to find a few Sun FAQ/Developer discussion board topics. It was clear that at least a couple other folks wanted to do the exact thing and actually had the gumption to ask us how. One guy got pretty far in the boot but still didn't get it going. Our standard answer was to boot the kernel in debug mode and look at the output. That's fine if you're a Sun Engineer and know how to look at the messages and hex scrolling off the console. But to for most folks, it's nonsense and just shows a lack of empathy on our part.

But within the various tips, I put together the various tips and gave it a try; magically, 5 minutes later, it was all working on the new SiS chipset motherboard. Here are my steps:

  1. Boot into Solaris Safeboot mode. You can get access at the Grub menu, usually the 2nd option.
  2. Mount the found Solaris partition on /a Safeboot will usually find the slice on the disk with Solaris and ask if you want it to mount on /a. Select Yes.
  3. Move /a/dev, /a/devices, and /a/etc/path_to_inst to another name (I just append .orig) and then create new directories, (mkdir) /a/dev and /a/devices, and touch /a/etc/path_to_inst.
  4. Run "devfsadm -r /a" to rebuild the device tree
  5. Edit /a/boot/solaris/bootenv.rc and modify the line with "setprop bootpath '/pci@0,0....' to match the path you'll find mounted for /a (i.e. run a 'df -k' command, and you should see /a mounted from /dev/dsk/c1d0s0 or something, then run 'ls -l /dev/dsk/c1d0s0' or whatever your device listed was, and you should see the actual link point to ../../devices/pci@0,0/...) The path to bootpath you want should be the hard disk which is mounted as /a and you just need to find the expanded /devices/pci@0,0/... path and put that in the bootenv.rc file on the Solaris root filesystem on the hard disk (sans the /devices/ prefix of course).
  6. Now run "bootadm update-archive -v -R /a" to rebuild the boot-archive on /a
  7. run a 'touch /a/reconfigure'
  8. Run "cd /; sync; sync; sync; umount /a"
  9. and finally reboot.

There may still be issues if you have changed the IDE priority (master/slave) of the hard drive or moved it to a different SATA socket. In these cases, you probably will successfully boot but run into problems with mounting filesystems not found, in which case, boot into safeboot again, and edit /a/etc/vfstab to correct.

Once the system boots, it does retain its legacy settings for network and naming service which may be totally bogus, in which case, I check for any missing drivers (like an SiS900 Fast Ethernet module) and either transfer the source/binaries for the modules via CD/DVD media or USB which usually will work. I'll then delete any /etc/hostname.[NIC#] files and run a sys-unconfig on the system, and reboot again.

Yes, not the most elegant of solutions, but it could be scripted and one of my colleagues down the hallway thought we could do our customers right but putting that script into the safeboot and documenting that we put it there. For now, I hope the instructions help others who might be in the same boat. It takes about 5 - 10 minutes to swap the drive and reboot and reconfigure the system if you know what you're doing. That's a lot better than an hour or two re-installing or upgrading and it also means I can keep pre-flashed drives just sitting around to save time on installs and testing.

BTW, Solaris b52 runs well on the PCChips M863G motherboard with AMD Geode NX 1750. The SiS 741GX/964L chipset functions normally, and Xorg even finds and configures the SiS onboard graphics with no work required. The graphics support on the SiS chipset, while supported in Solaris, is really grainy. And the graininess is particularly worse on one of the systems than on the other. I guess I could stick an AGP card into in the slot (and I did try an older ATI Radeon unit and it looked beautiful), but it eats more wattage with the optional graphics card. And since my plan is to mainly run these headless, I really shouldn't care. But this isn't the first time I've had graininess issues with Integrated graphics, especially on these small form factor boards. I suspect it has something to do with the number of layers in the board (usually cheap boards use fewer layers) and the integrity of the analog/vga signal that goes through the motherboard where there may be a lot of RF interference to get to the back I/O plate. I've used the same graphics chip and software driver on different boards and sometimes the image is crystal clear. And of course, with an optional AGP card in the slot, the board is raised and separate from the board and less likely to have interference due to wires too close in proximity. I get similar graininess with the VIA mini-ITX systems, but it's not as bad as on the SIS chipset on this particular board, plus an older celeron system I used to have with an SiS chipset and SiS Mirage graphics looked great, so it isn't the chipset.

The goal is to run them as network servers, so I plan to disable the graphical login and run only in text mode anyway. Next, I compiled and installed the sfe-2.2.0 gldv3-nemo driver from Masayuki Murayama's Free Solaris NIC collection and it just works. Honto ni, arigatou gozaimasu, Murayama-sama! (someone send this guy a case of Sapporo Nama Biru and Pizza Hut vouchers or a free Shinkansen Ticket to Sapporo where he can pig out at the beer factory at the "Ghengis Khan" Mongolian BBQ Tabe/Nomihoudai [all-you-can-eat and drink] !)

Note about Xorg on older Unichrome (not Pro) Graphics

I mentioned above I had an issue with graphics installing Solaris on the VIA Unichrome graphics. This was on the Biostar M7VIG 400 board. Back in Nevada b30-something timeframe, more than a year ago, I was having some graphics issues on my EPIA mini-ITX boxes which only impacted the graphical installer, and the VGA text modes. But Xorg, itself, worked fine. Only, if you selected Text Console as the login option, you'd get a dark and illegible screen or sometimes a pastel screen. But the version of Xorg did work and very stably if you always used the graphics. We had a few talks with some of the VIA folks who tried to reproduce this on newer mini-ITX boards and they didn't see the same problem. The funny thing was we knew this was partly a problem with the Solaris driver and partly in hardware rev, because in going from an older rev of a PCChips M789CG v2 to a newer rev, v3, both with VIA Unichrome graphics, suddenly the problems went away in the same build of Solaris and all the modes: the VGA text, console login and X graphics worked fine - no driver changes. A friend mentioned also that a 1.3 MHz Nehemiah on CN400 chipset with Unichrome worked fine, but I saw weird pastels or garbelled text consoles on my older EPIA ME6000, M10000, and EPIA 800 systems.

Some time around the build 48 time frame, I was going through and upgrading a bunch of my systems when suddenly, all of my VIA Unichrome systems would power-up in blanked out graphics mode (i.e. there was no VGA signal coming from the graphics port and the monitor would blank with a yellow blinking standby-mode light). The behaviour was very peculiar. And nothing was showing up in the logs. I tried to log in, and yes, it was as if X was thinking that it was running because I could see the disk spinning as if I succeeded in logging in, and ssh'ing from another machine showed that I had active Shell processes on the console, even though the console was blanked (like someone turned off graphics or blanked the screen in low-power mode or something like that).

Back in the old XFree86-to-Xorg transition days of Linux, I used to run a bunch of Biostar M6VLR boxes with the old Trident Cyberblade graphics embedded as part of the VIA PLE133T chipset. Fedora Core 1 and 2 had fits with the Trident Cyberblade. And even FC3 still had some issues. A more stable driver binary was available and the trick was to use it to replace the default driver module used by the Xserver. Using the same trick, I loaded a Solaris DVD from a previous build and found the ./Solaris_11/Product/SUNWxorg-graphics-ddx package and copied the ./archive/none.bz2archive to /tmp and unpacked it using:

        # bzcat none.bz2 | cpio -C 512 -idukm

This created /tmp/X11 and inside /tmp/X11/lib/modules/drivers/ was the via_drv.so file.

I copied the old VIA graphics driver in /usr/X11/lib/modules/drivers to via_drv.so.orig and then copied the one unpacked in /tmp/X11/lib over to /usr/X11/lib, clobbering the old version. Because the sizes differ slightly with each build of Solaris, I couldn't tell which was the same or different. So I methodically went back checking each build of Solaris until about build 42 or 43 before I found a version of via_drv.so that worked with the graphics and didn't blank the screen. But it did cause the Biostar board with Geode NX cpu to revert back to bad console text. So at least it seems that the Biostar boards were old versions of the VIA Unichrome hardware (reaffirming my disappointment with that first Geode NX/Biostar combo). But I had a work around to get X graphics working.

I know build 53 put back some big changes to graphics, and improves AGPgart. I don't know if it fixes other graphics issues; but it's worth a try. And b54 just got posted internally. Unfortunately, that Geode NX box is up near Vancouver, Canada right now and in a powered-off state with no LOM (lights-out management). I'll be up there for Christmas in a couple of weeks and then I'll give it a try, unless the weather warms up a bit to let me get out there and go fishing for some winter steelhead. I'm usually more worry free in winter while fishing. The black bears are hibernating and not likely to be up stalking me while fishing. I'll save that for another blog.

December 06, 2006 05:12 PM PST Permalink

20061205 Tuesday December 05, 2006

Solaris x86 Desktop Hardware Shopping

I'm not sure if it's the Christmas holiday coming up soon, or if it's just coincidence, but the 3rd person this week emailed me this week asking for recommendations on a Solaris x86 box. Two were asking about low cost laptops for kids that will dual boot, and the other was for a home server. There's also been this interesting internal discussion on small form factor Solaris x86 boxes that's garnered a lot of enthusiasm and suggestions for small appliance systems.

I'm by no means the expert on hardware, especially the high end. I know you can buy that premium stuff online at the Sun shop which has a new look and feel. Surprisingly, I needed to do a double take when I just looked at this site, just now, because while I sometimes have a disdain for big-iron workstations, a dual core Opteron workstation starting at $995 from Sun has to be a printing error, right? It's missing an extra digit somewhere. No, it actually looks like a real price, and it looks like it comes with 1 yr hardware support too. That's pretty hard to believe coming from Sun. We're actually selling them cheap. I'll need to look further into the shop to see what other stuff we sell. But back to the really low-end do-it-urself boxes and shopping for Hardware.

I've been known to have a weakness for big sales (except ones requiring rebates), and I have a hoarding instinct for this computer stuff. Some folks refer to this as a disease. And yes, admittedly, I've got some variation of the illness. But I reassure myself that I'm not the worst. I do have lots of spare parts, but it's all well organized into bins and boxed and bagged properly in anti-static bags. And I tend not to carry anything expensive or power-hungry. For example, the fastest CPU I keep in stock is maybe an Athlon-64 3000+, and I only have one of these. And the biggest graphics card is maybe a 128MB AGP8x unit. The rest is slower, really cheap, but extremely usable and great for fixing computers and great for building Solaris boxes. I'm referring here to my home inventory; not my work, where we get to play sometimes with some bigger, enterprise type systems.

And my stockpile of stuff has come in handy on occasion, like when my nephew's budget "educational software" (i.e. gaming) system died recently due to a bad power supply that then led to a fried motherboard. I had both a compatible micro-ATX motherboard in stock, plus a newer, quiet power supply too and he was back up and running; Or when my Dad's box suffered back-to-back power outages during a recent late summer rain storm that shorted out the power supply, I had a surge protector and new special TFX12V power supply in stock, and still have another in stock just in case. Or if my psychic powers are right, I predict my Bro-in-law will have paging issues with a particular PC game that is memory hog and that extra stick of 512MB DDR333 will be the salvation he will be looking for... just mark my words. I've got it in stock and people will need it!

If you stockpile more than 5 boxed motherboards, or 5 new cases, or more than 5 separate power-supplies, then probably you fall into the class of electronics junky known as a "Hardware 'Ho". The etymology, I'm told, is not from anything related to the "Ho, Ho, Ho..." from a cheerful Santa at Christmas, but from the slang term for "Whore" implying, you'll pay anything to get close to computer hardware. I suffer similar issues with being a Fishing Tackle 'Ho, and I'm also a recovering Bicycle Gear 'Ho. But that said, there are ways to live with being a HW Ho and not break the bank. For example, one way is to focus your energies on low-cost, low-power stuff that works well with Solaris x86. That's how I channel the urge spend all available money on hardware on the biggest, baddest and most power-hungry systems into a contest of who can achieve the best price/power/performance. So, for example, instead of say, blowing $650 on a graphics card to get better frame rates on Quake 4, I simply evaluate 3 integrated graphics motherboards under $50 and experiment with which one has the best graphics performance for the dollar. Another part of my therapy is to go to Fry's for lunch (their small cafe inside the store has surprisingly decent sandwiches) and buy no hardware. The goal is to resist the urge to spend money frivolously while being tempted by a store full of stuff ready to buy. Becoming a discriminating shopper for Solaris-compatible stuff is a good way to curb that urge to waste money, and we'll go more in-depth below.

Step 1: Solaris End-User Requirements

As far as I know, Solaris isn't really an OS for gaming, at least not yet. It's possible to dual boot a Solaris box with Windows so that you can have an awesome PC gaming system, but get real work and do real Solaris development using the same box. But as a home-user, I use it for word processing, spread sheets, some digital photo stuff, email client, web browser client, playing and ripping audio, as a file/web/email server and firewall. I also VPN into work from home using IPSec and I burn a lot of CD and DVD iso images. I find these were most of the things I used to do with Linux, but less and less because on Solaris, the software now performs as well if not better than Linux, and has pretty solid stability even across kernel versions. I can tell that it won't be long before, at least in our household, Linux won't be active, although, I plan to always keep a current copy of a popular free distro around to play with.

More than just software and performance requirements, I also have environmental requirements. My living room and bedroom are places where these systems will stay. People coexist here and must endure the noise. People living in a place also stirs up air and dust too, and the PCs need to behave stably with lots of dust fouling during hot summers and cold winters.

If your requirements are like mine, nothing there really needs a lot of big-honkin' iron processing. Some of the audio ripping and conversion, or editing photo images does take some CPU and memory, but for the most part, any Pentium-3 class machine with more than 600MHz and 512MB of PC133 SDRAM is almost adequate for Solaris. Anything much faster, will be spent idling, or burning more Watts which costs money if folks actually stopped to think of the costs to power and cool a system. In addtion, it could shorten the life of the system because that extra power requirement goes into more fans to suck more air in to cool the system, depositing more dust that can foul and burn out power supplies and overheat capacitors on the motherboard causing failure. Some of my colleagues refer to their home racks as "air filters" for the home, since they suck up so much air and deposit soot inside the case.

This doesn't mean we should just stop buying newer, high speed hardware. In fact, quite the opposite. While the CPU and memory might have achieved performance adequacy 5 years ago for home users, some newer systems may provide even better power economy while running faster, as well as support newer, faster chipsets, graphics and monitors, faster networking and USB peripherals, and are likely to be more available in stores at a lower price, than having to try to find it on some auction site because the original part is no longer made. Sellers rarely make overt offers for low-power, high-value hardware; you need to look for these deals.

Step 2: What works with Solaris x86

To find out the official list of hardware items that work with Solaris, there's an official site called the BigAdmin HCL. On that page, you'll get a list of servers, desktops, motherboards and laptops that are certified or reported to work with official Solaris 10 and Solaris Express. The HCL allows companies and individuals to buy a Support Contract from Sun for an annual fee. Using the OS is still free. Folks can also download the Hardware Compatibility Test Suite (HCTS) from Sun and run this on their hardware and submit their entries. Version 3.0 of HCTS recently went public and it runs for about 12 hours and tests the filesystems, cpu, memory and network pretty intensely during that time. It requires two machines (a system-under-test SUT, and a Test Manager/Server) hooked up back-to-back, or through a seperate switch on a private network to run the fully networked test. The Solaris Marketing folks used to have a Tshirt Give-away for anyone who registered, downloaded the HCTS and tried to run it, then made a Report-To-Work submission or certification. I made a bunch of submissions, but found out later than Sun employees were forbidden to participate in that contest, and anyway, they didn't have 3XLT tshirts to fit me. Bummer.

Unofficially, Solaris x86, especially, the latest build of Open Solaris, supports a lot more hardware. In general, Solaris will run on most major CPUs (AMD, Intel, VIA) and motherboard bridges and north/southbridge chipsets that support Intel's x86 instruction set or the AMD64 instructions (or variant, such as Intel's version - EM64T). This includes standard I/O like IDE/ATAPI interfaces, any SATA interfaces that support IDE legacy mode, systems with PCI, PCI-X, and PCIe bus, older ISA bus support for PS/2 keyboards, mouse, peripherals and Serial and Parallel I/O, most on-board USB, and systems with an AGP slot. Typically, Solaris can be install in console mode on any x86 system with about 128MB of memory, some type of ATAPI optical drive and some type of supported hard disk with at least 5GB of free space. But if you want something usable, 512MB or more RAM is good, and 80 GB disk might be a start. By default Solaris x86 auto-senses 32-bit or 64-bit architecture and boots the OS as appropriate. And yes, the 64-bit version of OS is fully compatible with 32-bit user applications.

Where Solaris doesn't work out-of-the-box is for certain on-board and common peripheral devices like new native SATA and RAID controllers, Wireless 802.11, some ethernet chips, some new graphics cards, or and with some types of high-definition (HD) audio devices. Solaris also lacks software and drivers with proprietary peripherals, like Point-of-Sale scanners, printers, card-swipes, kiosks, etc. Many network, audio, and storage controller drivers are available from third parties, and in the open source space and there are companies that sell proprietary drivers solutions that run on Solaris as well. There are a few drivers in the GNU GPL space that Solaris might be better off having, but those are getting fewer as hardware vendors are coming over to Solaris and we apply more engineering resources for porting. For the time being, it still pays to stick with what we know.

Step 2a: Motherboard Selection

With some experience, we find that most chipsets work with Solaris and it isn't really a particular maker or brand that causes incompatibilities, but it's an onboard peripheral bundled with that particular chipset that may not have a supported driver. When that is a native-only storage controller or NIC or Graphics port, then immediately the Solaris install is more difficult. So the trick isn't so much choosing the maker or the chipset, but knowing what peripherals come with a particular board or chipset-bundle. In some cases, the behaviour of a peripheral, like a native SATA controller, can be adjusted to set to use legacy-mode only, in which case, the board works fine with Solaris.

I like the low-end and all-in-one chipsets because this category provides excellent price/performance and low-cost to buy and own. Counter to what others tell me, I actually think the cheapest and most mass market motherboards are some of the most abused and tested board on the market, and therefore, manufacturers tend to make them more robust to human abuse than on server boards that cost 10 times as much, but have a much smaller marketshare. Certainly, the margins are much greater on server hardware (yeah, we at Sun should talk... we're in that business). But the whole ideal of achieving volume Solaris for the Proletariat means (a) making it cheap to get the OS, and (b) having it install and run well on a damn cheap box!

Rather than go through each chipset and what works, it's probably easier to say what is not likely to work. Since most CPUs, bridges, buses, and standard I/O controllers to memory and disk have to be somewhat compatible with Windows/x86 instructions and memory flow, for the most part, Solaris just works and recognizes and uses that hardware like any other x86 operating system. Standard drivers are in place for the usual ISA legacy devices like serial, parallel, ps/2 mouse and keyboard. Also supported for the most part and standard USB devices and USB storage, and ATAPI drives like IDE disks and CD/DVD ROM and Burner drives and any SATA drives that are running in Legacy IDE mode.

Step 2b: Graphics Selection

What might NOT be fully supported in the install media are the graphics, NICs, audio devices, and WiFi networking chips. These don't necessarily mean that all is hopeless. Some drivers can be downloaded from the web if another system is available and networked and you have something, like a USB jump drive to copy drivers after the initial install for configuration. In other cases, there may be no support for the onboard device, but you might be able to install an add-on card that works with the board you have. Graphics is a good example. Up until build 53 of Solaris Nevada, the AGPgart driver didn't support the onboard VIA Unichrome Pro graphics on any of my newer VIA systems. But those systems all had optional AGP4x/8x slot or PCIe and it was possible to buy a very inexpensive ($15 - $20 online) ATI- or nVidia-based AGP card from a previous chipset line (e.g. ATI Radeon 7000 or nVidia MX-4000). Laptops are different story when it comes to graphics - pretty much, you're stuck with what you get. In these cases, Solaris supports the slightly higher end embedded graphics chips like the ATI Radeon Xpress 200M or the nVidia GeForce 6100/6150. Solaris has lots of issues with Intel embedded graphics, even among chipset variants and vendor implementations that should be supported by the Xorg Intel embedded graphics drivers. I often have the same graphics non-compliance issues with Linux, and luckily, it's been getting less frequent with both Linux and Solaris, as it should since both leverage the Xorg source. But I try to avoid embedded Intel graphics on a system for running Solaris graphics mode. But ATI and nVidia seem like well support brands these days. We even support the newer nVidia Quadro line in Solaris.

Step 2c: NIC selection

With NICs, the problem is less difficult. There are many free drivers out there for Solaris. Murayama-san puts out a bunch of open source, free Solaris NIC drivers. So the installation may not find any drivers for the ethernet devices onboard, but if you have a VIA, SiS, Tulip, Davicom, or other mass market embedded NIC, then most likely, there's a driver for it. What folks may want to avoid are the newer embedded PCI-Express GigE NICs. The drivers may actually use the same core logic, but the PCIe bus signals and handles interrupts differently over PCI. We do support most high-end PCIe server NICs, but each has a specific initialization and so this is device specific and our driver requires some amount of code to correctly initialize each variant of that MAC. So it isn't as easy as trying to stick that vendor/device ID into the /etc/driver_aliases file and run devfsadm to initialize one of these PCIe embedded NICs. It may work, but usually not. Luckily, if you need a NIC and this isn't some laptop where you have no choice, then you can get a Realtek 8139-based Fast 10/100BT PCI card for about $0.99 on sale (sometimes $0.49), and I've purchased 3 Realtek 8169 10/100/1000 GigE PCI cards which I paid $4.99 for each. This is brand new. Not used.

Step 2d: Audio Selection

Solaris 10 and later supports most Intel Spec AC'97 audio, VIA 823x Audio, and some legacy Sound Blaster stuff. That covers about half of all the audio on most boards these days. There are still a few boards with AC'97 audio which the Solaris included install media won't recognize, and there is the new class of High Definition or HD Audio chips. For folks with an unknown AC'97 type of audio controller/codec combination (read your spec sheet or prtconf -pv and find the PCI vendor and device ID and web search that device to find out what it supports), most likely, you have a good chance if you download Jurgen Keil's audio drivers and install them. Jurgen supplies his own versions of VIA and AC97 Intel audio drivers. These have different module names and will not clobber the existing drivers, and his installation package does a good job of pruning and transferring PCI vendor and device IDs to his driver control where both the Sun drivers collide with his drivers. Jurgen's drivers are especially useful with some AC97 codecs that have a non-standard sample rate conversion hardware. Where the Sun audio810 driver fails, or takes a huge performance hit going with a software sample rate converter (am_src module), Jurgen's driver allows one to compute the proper sample rate and set it as a configurable in the /platform/i86pc/kernel/drv/audioi810.conf which usually gets the driver to play audio at the proper speed. The information on how to do this is actually in the .conf file itself and has come in handy on a Compaq motherboard with Intel 815 chipset and AC97 audio. Jurgen's VIA drivers eat a bit more memory for buffer space, but lower the interrupt rate dramatically, eliminating almost any hiccups on some very slow first-gen EPIA 500 fanless C3 mini-ITX systems and allow those to play flawless audio.

As of Nevada build 44, Minskey Guo and the Beijing team did a put back of a quick High Definition compatible audiohd driver implementation. Minskey says he was "helping" me, but actually, he did most of the heavy lifting on the all-nighter coding and testing. I ought to send this guy a case of quality beer and certificates for Pizza Hut in Beijing. I wonder if they deliver like in Tokyo?

HD audio comes from a 2004 Intel spec and is pretty much different and not meant to be compatible with AC97. First of all, the spec which is available from Intel's site separates the combined AC97 controller/codec into separate HD audio controller interface and compliant codec. Capabilities are for much higher bit rate (upto 192kbps for 8 channel - 7.1 audio) versus the old AC97 (48kbps for 6 channel - 5.1 audio). This allows motherboard vendors more performance and choice in selecting the codec and implementing rich audio support for multiple devices, playing different streams simultaneously. At the same time, if the driver is implemented with good support for codec discovery, it's possible to implement a universal audio driver that can ideally parse and initialize any codec. All communications between audio applications to the device are through the controller and through defined kernel DMA structures. This eliminates applications ever needing to hold onto pesky base address register values once the memory segments, driver and codec initialization are complete. The only problem is that support for codec discovery isn't trivial and can take time to test and properly debug. Also, we learn in the hardware business that every codec isn't quite the same and there's always some errata on either the controller or the analog pinouts the codec is hooked up to, such that the discovery may not provide correct information. It's quite a bit easier and faster if the register specs are available to simply check for codec device and do the initialization in the driver code or to use an external configuration file that enumerates name=value pairs of properties that specify where the standard pins for that codec are. It makes it easy for vendors to ship audio codec initialization files too as properties. But that all depends on if vendors are willing to give out the specs on their codecs. Which is really the crux of the problem, since that's been somewhat hard to get except for the Realtek, which have just been excellent Solaris partners. So far, the Nevada audiohd driver can support most Realtek HD audio codes like the 260, 880, 883, and 885 and others. And this supports stereo audio playback and recording. But the number of tested HD Audio controllers isn't great. But if you have a Realtek codec or think you may have one, you may still be able to get the driver to work by editing the /etc/driver_aliases file, and searching for "audiohd". Then add an entry in the same format for a new device. For example, on my MSI K8NGM2 motherboard system with MCP51 chipset and HD Audio controller, the PCI device node blocks me from seeing the codec directly, but a "prtconf -pv" shows the controller as "pci10de,26c" which I added to the list, then ran devfsadm -i audiohd, reboot and suddenly, the audiohd driver works great. The driver may work for quite a few other audiohd controllers that are back-ended using Realtek HD Audio codecs. But we didn't have too many systems at this point to play around with, although a number of laptops are now coming out with HD Audio standard. Many don't use a Realtek HD audio codec, but some other brand, like a SigmaTel.

Support is unlikely until we get specs, or if we have time to work out a really good parsing algorithm for codec discovery. But for the time being, you're not all shot on Solaris if you have HD Audio. In fact, there may be a version of OSS (Open Sound System) from 4Front Technologies that works on Solaris x86. 4Front has been doing high quality commercial audio drivers for UNIX for years. And their latest stuff is free for personal use and has a 6 month license that is renewable for free every 6 months, or can be purchased perpetually for just $49 to end the hassle of re-submitting for that license key. I've tried the OSS stuff and it does work with the ATI SB450 HD Audio controller and codec underneath on my new bargain Toshiba M115-S1064 laptop. The audio worked fine out of the box, but had some issues with standard Solaris audio support devices (like the Gnome volume control) not responding on the laptop (since there is a manual dial for audio volume), but otherwise it sounded good. I have some poorly ripped Enrique Iglesias and Led Zepplin tracks that had lots of Cymbals and high pitch audio that got a bit over saturated and tinny in this driver. But I peeked at the hdaudio.conf driver (no collisions in the name space again) and I downgraded the quality of the input audio stream the driver was expecting to medium (instead of the default - high) and suddenly, the tinniness went away and I was hearing great audio again. It pays to try different settings in the driver if it has a .conf file. Hopefully, between the existing drivers, Jurgen's drivers, and OSS drivers, most audio chips will just work with Solaris.

Step 2e: WiFi Selection

I used to think selecting a WiFi chip was specific to laptops. But recently, in Sunnyvale, the Mtn.View based company: MetroFi Wireless, has installed a bunch of WiFi base stations. These are advertising supported services, but it's changed my outlook on how to help the families of kids at my local elementary get online using broadband. Instead of deploying a donated and refurbished Linux Box with some semi-expensive and rare controller-based modem for a cheap dialup service, the PTA might be able to collect donations and get some cheap PCI WiFi cards, install them into these systems, and then use wifi to get on the network with no monthly or annual dialup fees. We wouldn't be limited to Linux and its LinModem support, which is mercurial at best with the plethora of Host-signal processing (i.e. controller-less) modems. We could go stock 802.11g and with the right booster antennas, users should could get good WiFi signal.

That's motivated me to look more closely at WiFi support and not just on laptops, but at built-in, cardbus, and PCI card WiFi NICs. A big list of WiFi drivers recently got into build 53 of Nevada. These support PCI, mini-PCI and cardbus versions of popular 802.11b/g chipsets including the Intel Pro Wireless 2100 and 2200bg/2915abg, the Prism/Orinoco chipsets, the Atheros 52xx series, the Ralink Technologies RT2500 series chipsets, the Realtek 802.11b wireless chipset and the Cisco Airnet chipsets. The Atheros driver works with most of the previous mini-PCI laptop ABG cards. It doesn't quite work yet with the newer AR5006 PCI express line which is starting to become more prominent with laptops. The same story goes for the Intel ipw3945 which is also a PCIe device showing up in lots of laptops, and latestly, the Broadcom BCM4306 line of WiFi chips fills in the remainder. So none of the newer Wifi chips are supported... yet. But my bet is on the AR5006 since it's already available in the MADwifi driver on Linux so it shouldn't be too long. I don't have too much public news about the ipw3945 or the bcm4306 except that we don't have the specs to write the driver, but some reports claim that the NDIS wrapper can provide a usable and stable driver for either device on most laptops.

But besides laptops, what's interesting is the availability of WPA on top of a lot of PCI-bus WiFi-BG cards. To my surprise, a lot of the cheapest (e.g. Airlink 101) PCI WiFi cards are based either on the Atheros (Super g) 5212 chip, or the RaLink RT2500 chipset (regular G). These are cards that show up frequently on sale for under $20 at stores like Fry's. And the RT2500 version have been down as low as $7 for the card (limit 2 per customer) which is why I have two at home. For folks that don't want to rewire their homes with Cat 5e/6 cabling, and have noise already on the PowerLine and can't get more than 6Mbps/sec throughput on PowerLine accessories, then 54 Mbps is a refreshing increase and it only takes switching to wireless. So Solaris users can simply go out and get a cheap card for their desktops too and enable WiFi without shelling out a lot of money to go wireless. Not bad at all, I'd say.

Step 3: Where to buy this stuff?

I shop for most of my stuff at these sites:

  1. www.newegg.com - probably where I spend the most money. Awesome website, great customer product reviews, and awesome prices. Once you New Egg...
  2. www.ewiz.com - less selection than newegg, 5% cheaper on boards than newegg in a lot of cases and a local Bay Area company with insanely fast service - order it and get it in 24 hours!
  3. San Jose Mercury News - click on the [Newspaper Ads Online] link and see daily Fry's ads. If I see something cheap, a quick trip at lunch with 3 other colleagues in a carpool is the usual menu/venue. And you can order a decent lunch at good prices at the Fry's coffee shop inside the store.
  4. www.directron.com Another low cost online retailer. Houston, Texas-based. No sales tax to CA and good service. I get a lot of quiet-PC gear, adapter, fans, and cases from them.
  5. Starmicro.Net A Bay Area company with fast service and some really cheap prices on older memory and cpu.
  6. www.compuvest.com A Washington-state based company with a long history of low prices and good mail order service. They carry a large variety of older technology and new stuff at competitive prices and out-of-state means no sales tax either.

This is by no means an exhaustive list. Sometimes TigerDirect.COM has a good deal if you're into waiting for Rebates (I'm not), or SurplusComputers.COM will have some good deals too which are online-only and not available if you go to the store for pick-up, which is a bummer, since I live pretty close to those guys. There's also www.axiontech.com, another Texas-based company that caries some good motherboard prices, just to name a few.

I tend not to shop eBay that much. There used to be deals in the past, but most sellers have jacked up the price on shipping and handling to the point where the prices are ridiculous. Often, with computer gear, the shipping and handling are more expensive than the item. Who in modern history would pay $25 per disk for a -USED- IDE 40GB drive? But that's exactly what it comes to with these online auctions and the bidding wars in the last few minutes of every auction close. The going rate for disk storage is about $0.40 per Gig and that's out-the-door prices after tax and shipping on a -NEW- disk drive retail. I usually wait for a sale on some Seagate 5 year warranty SATA or IDE drives and get storage at close to $0.25/Gig. Folks are paying upwards of $0.60/Gig for used stuff and that's just stupid and buying from some kid with a 97.9% rating. For that amount of shipping and handling, I'd expect a 110% rating if it existed. But again, eBay does serve its purpose for those desparate and in search of something the other vendors don't carry any longer. I picked up a couple of Intel D815EEA boards for $16/each with shipping recently to build a couple more Solaris boxes to go with a couple of Intel PIII 733 MHz cpus I bought for $8 each at Compuvest.

My Top Pick for Solaris System Right Now

Clearly, there are a lot of choices that anyone could make right now about what parts to throw into a Solaris box for home use. And it's a lot of fun to build and install systems, especially if in the end, they go to help families get low-cost broadband. But I do have a favourite box for at least I think this is the best deal and the one, right now, I wish I had in my home. It appeals to all my personal criteria for the right blend of a) price, b) performance, c) quietness, d) power consumption, e) Solaris support and f) aesthetics. It starts with the PCChips V21G flex-ATX motherboard with soldered-on VIA c7 processor at 1.5GHz. It has a new CN700 chipset that supports IDE and SATA and has integrated VIA Unichrome Pro graphics, VIA rhine Fast Ethernet, and DDR2 support. The motherboard and cpu all-in-one is just $68 at ewiz.com and installs Build 53 of Nevada without any real issues. I'd stick a 120GB Maxtor SATA drive with 8MB buffer which was on sale at Fry's for $49 recently, and then a 1GB stick of DDR2-533 Kingston memory for $95, and put that inside an Antec Minuet 300 Case w/ 300 Watt P/S for $79 with a silver bezel NEC 3550A or 7170A-0S DVD burner for $30 and a Multi-format, Silver bezel USB 2.0 flash reader for floppy drive bay install for $14. Total cost would run upwards of $380 when all shipping and handling was done. Not the cheapest build possible, but a very usable system that's small and relatively quiet. If I were going for a true budget server system and forego a DVD burner and get a cheap case, I'd probably use an Enlight 7396AM1 BookPC case with 180W P/S and save $50 on the case, $44 on optical drive and flash reader. I'd also get a stick of 512MB DDR2 for half the price and save $50 since most of the time, I would run this without X. That'd save a considerable amount of memory more than ample for a simple httpd/j2ee server and mail server. That'd make a box for about $250 that could serve up a lot of services.

How would you install a box without a working network interface (yet) or an Optical drive?

I'll talk about options for that in the next blog.

December 05, 2006 03:23 AM PST Permalink

20061116 Thursday November 16, 2006

What? Solaris Life Style?

Fishing Vacation Recap

Okay, so I haven't had time to blog in a while. Or fish for that matter. The exception was a short vacation back not too long ago to Vancouver to install a couple of new workstations in the vacation home up there, put in a second security camera and to figure out what was eating and extra 2kW-hrs/day in electricity besides the frige. I did manage to get some fishing in there, and a little scientific method of observing when the fish arrive relative to the tide, yielded big results. Here's a 10+kg salmon caught from shore just outside the house. Yeah, that's me in the picture. Took me 20 minutes to land the fish and two boats anchored just off shore to watch me bring it in. I wish I had a net with me, but I rarely bring one for fear of "Murphy's" Corollary - which states: If you bring a big net, you won't need it. But the fish looks like a Chinook on the outside. Black mouth, massive size, fiesty. And I got a kick cleaning it in the driveway. More than several of my neighbours (who own boats) drove by, hit the brakes, then backed up and lowered their passenger side power windows. "Ooooooh. N-I-C-E fish!" they all said, licking their chops. Amazingly, this salmon had no pink flesh. It's known as a "White Chinook" or "Ivory King." And up in B.C., there appear to be anywhere from 1% to several percent of the Chinook population that have the same genetic mutation where they lack the enzyme to breakdown and absorb beta-carotene. Hence, their flesh isn't pink. The flavour also is very sweet and mild, like a trout or char, and hardly like regular salmon. A delicacy in my book, for sure.

The two workstations I installed up there were systems for each bedroom. I found this killer store in Richmond, B.C., just off Bridgeport Rd., not to far west of the Home Depot/IKEA. It's called CanComputer and they have some good prices that compare well with the US. I may have mentioned some series of shops along the Bridgeport ICBC row (the section of Road where lots of auto-body repair shops are). Most are hole-in-the-wall shops with small store fronts, little retail display space, but large back rooms with inventory. CanComputer is like one of those shops, just a little fancier and cleaner. But they're all more mail order fulfillment businesses as opposed to Best Buy (which moved in last year, next door to the Future Shop at Landesdown Mall), which is over-priced anyway. Plus, the folks at CanComputer seem to know there specs a bit better on parts than the Future Shop or BestBuy folks. At least I was impressed that a sales person at CanComputer actually knew the difference in form factor for a x16 lane PCI-express slot versus AGP slot on an AMD socket 939 board and quiet power supplies with 20+4 versus 24+4 pins power rails. But neither BestBuy nor Future shop sell many computer parts - rather, they sell whole finished systems, so they aren't the kind of shops you'd expect true geeks/nerds to frequent.

I also had the privilege to bump into Nick Harrison at the Richmond, B.C. Costco. I was doing a run for DVD videos and on the lookout for Season 9 of Stargate SG-1, and met a semi-tall, medium build guy in the same video section looking at Sci-Fi serials. For folks who don't know, Nick Harrison is the guy who plays the Dark Knight in some of the Arthurian episode in last year's Stargate SG-1. He played roles as Jaffa in previous seasons as well. But it's just a kick to meet up with folks from popular Sci-Fi shows who are nice people and approachable. And with all the movies and TV shows they make up in Vancouver, that's another bonus for going up there. BTW, Season 9 of SG1 is out on DVD now. In the US, it's $32 at Costco.

Solaris Life Style?

So what's to do during those lazy late summer/early fall evenings in the great North? Well, for one thing, you can sit around and rip CD audio into mp3s to stuff them on a new, cheap, no-name MP3 player. I picked one up for fishing and roadtrips in California for around $50. It's a Truly MP310 in lime green with FM radio, colour display and 512MB of flash memory. I saw a recent sale at Fry's down in California on the same unit for about the same base price but $35 after rebate (curse short profanity to self...should've waited!) My sister always recommends waiting for these cheap electronic gizmos. "They'll get so cheap, you'll get 'em free with a Happy Meal in a year," she says.

Usually, I carry a trusty laptop with Linux on it, but as you all know, upgrading is a crap shoot, and sometimes, in the middle of an upgrade to a new kernel version, the Linux ABI story ain't the best and something go wrong. So my triple boot laptop has been booting Solaris x86-only in recent weeks/months. And it'll stay that way until I find some time to fix the install without hosing all my data on the existing slice. Well, I thought it was a bummer that I didn't have Linux with me, since, for things like CD-ripping and burning, it's been very handy and relatively easy to use. In fact, I believe the ability to rip and burn audio and mp3 CDs (as well as hook up digital cameras and other device support), has been critical to Linux's success. Without those utilities, there wouldn't have been the widespread adoption of Linux in the enterprise. In essence, Linux offered the Geeks something other Unices couldn't - LIFESTYLE.

Getting the powers-that-be who direct Solaris to view Multi-media support on Solaris, has been a long struggle for a lot of folks inside, and for many years. Senior/Upper management got the need for an Office Suite pretty quick. And Open Office/Star Office is just an awesome product. But office productivity doesn't equate to LIFESTYLE. A word processor isn't fun. You use it when a paper is due and you gotta get the darn thing out. You use a presentation package when customers are gonna show up the next day and you need to make something look pretty to sell them on some product or idea. And a spreadsheet... well, it's useful when creating PTA invoices to submit for reimbursement.

I thought Solaris was a long way from offering any Lifestyle, but I was wrong.

Stuck without operational Linux, I gave Solaris a try. And reading the man page on the cdrw(1) command, I quickly found out that it's possible to rip audio tracks and quite easily. For example, if you want to rip the 7th audio track off of any audio CD to a .wav file, then just do this:

    % /bin/cdrw -x -T wav 7 myaudiotrack.wav

So imagine what any shell scripter or Java programmer could do with a command line this simple... well, yes, it was easy enough to script this and rip and re-title every single song off of a CD and it's pretty fast too - probably less than 4 minutes to rip an hour of music into .wav format.

Once in .wav format, to convert it to .mp3, we can use any program. My preference is for Lame. And getting any version 3.9.x or later compiles cleanly and easily on Solaris x86 and runs fairly quickly, ripping at close to 6x playing speed for 128kbps bitrate. Usage is also straightforward. My ears aren't finicky so I don't need a higher bit rate. And if your cheap mp3 player is only 512 MB, the files are smaller than ripping using a higher bitrate.

  % /usr/local/bin/lame -h -b 128 --ta "Artist" --tt "Title" myaudiotrack.wav myaudiotrack.mp3

You may want to keep the .wav files around if you ever plan to burn a backup of your CD. But I usually delete them and just keep the .mp3 files. Some folks don't like the fact that .mp3s are lossy and noticeably lossy at 128kbps, so you can rip at a higher rate and store them which is still much smaller than the .wav files. I convert the .mp3 back to .wav files using mpg123 which is available freeware, and included on the Solaris 10 update 1 companion software distribution. If you've installed the companion software, then you'll find it in /opt/sfw/bin/mpg123. The command to convert songs back to .wav is:

    % /opt/sfw/bin/mpg123 --wav myaudiotrack.wav myaudiotrack.mp3

When you have all the tracks you want in .wav format, burning the audio CD is straightforward. Just use:

   % cdrw -a [track1.wav] track2.wav ....] trackN.wav]

So all this playing around with audio clips made me reconsider if Solaris can yield some semblance of LIFESTYLE. Yes. I think it can. The real question though is whether it could load songs onto the el cheapo MP3 player which is supposedly a usb-storage device. Funny thing is that the manufacturer claims that one can use Linux 2.2 and later with this player. But some users have had issues with kernel 2.6 and the usb port with this device. I had some issues with Fedora Core 3 at home, which has been upgraded a few times. There appeared to be an "Error USB Port 1" on Linux in the log files. I didn't expect much on Open Solaris Nevada build 48 if Linux couldn't even see this.

So on to Solaris. And as expected, nothing happened. Well there was some output in the /var/adm/message file on Solaris, but the usb-storage didn't mount. Yes, I was a little disappointed, until I got an idea to contact some of our Beijing driver folks working on USB. I got my hands on an early version of USB driver and after installing, I tried plugging the device in and, WOW! The device mounted and was found in /media. I found out that the MP3 player only supports USB 1.1, so it's a slow dog to upload songs. But after a couple of hours of chugging along, I managed to load up some oldies and goodies for my exceptional entertainment-on-the-go. I've checked recently with build 51 of Solaris Nevada, and yes, the new USB is in there, so soak up the Lifestyle folks. And if you have some cool scripts or Java GUI front end for the command line utils to rip and process audio clips, let me know. I would upload mine to Java.NET, except they're pretty embarrassing right now. Maybe later after code clean-up.

[disclaimer: Please use information here only to create -legal- archives of music you own. Don't be a spoil-sport and steal music. Support your favourite musicians and their labels]. November 16, 2006 05:08 PM PST Permalink

20060328 Tuesday March 28, 2006

Adding a pxeboot driver to Solaris 10 01/06 x86

So a partner came in last month with a network driver for a blade system. They developed it using a whitebox PC running Solaris with a reference PCI card. But they never officially tested it on the blade system the driver was intended for because they couldn't get the driver on the blade... at least not conveniently. The problem is that while they could power the blade inside a special case, without a full chassis with optional shared optical drives, it was pretty tough installing the OS because the only way to install it on the blade was to do a network install. But since this was a new network driver, it wasn't in the installation OS.

The BIOS and the NIC supported PXE boot and while Solaris could begin the installation, it would stop and exit to a shell prompt the moment the PXE handed control over to the Solaris installer. Mind you, we're talking about new boot in the Solaris 10 Update 1 (aka Solaris 10 01/06) which now uses grub bootloader. But this was a classic example of the Chicken versus Egg problem.

The partner had a good working knowledge of PXE boot and they followed the docs.sun.com document and others they found on the net. When PXE booting a PC, the install client receives a number of options from the DHCP server that direct it to fetch a runnable ramdisk image which then bootstraps the rest of the system.

In the case of Solars 10 1/06, the boot client receives DHCP option entries that tell it where to download what a Solaris x86.miniroot root image, which is about a 50+MB bootable ramdisk image. The PXE BIOS handles the entire network transfer from the server, then unpacks the image and boots it. Control of the network is then handed over by PXE to the Solaris miniroot.

Now, if a necessary network driver isn't in the Solaris x86 miniroot at this point, well, the installation stops, prints an error and exits to a shell prompt. This was pretty frustrating for our partner who knew they needed to get their driver into the installer image but didn't know how. Solaris 10 x86 update 1 came to the rescue. The new boot architecture has added several commands that simplify the packing and unpacking of x86 miniroots. To add a driver, one simply unpacks the miniroot, adds the driver and repacks it.

To do the first step, unpacking the miniroot, a user can run the root_archive(1M) command on the install server (presumably it's running Solaris 10 x86 1/06 - update 1 - since older versions and SPARC do not have this utility):

  # /boot/solaris/bin/root_archive unpack [pxeserverpath]/boot/x86.miniroot [path-to-unpacked-dir]

Once the miniroot is unpacked, one copies the 32-bit driver binary and driver .conf file to the [path-to-unpacked-dir]/kernel/drv directory, and then runs the /usr/sbin/add_drv command with the right PCI IDs and the right permissions against the unpacked miniroot directory. E.g.

  # add_drv -b [path-to-unpacked-dir] -n -v -m '* 0600 root sys' -i "[device ids]" [mydrivername]

where, [mydrivername] is the name of the binary just copied to the unpacked miniroot ./kernel/drv directory, and the [device ids] is a string list of PCI device IDs that might look like:

  '"pci1a44,9043" "pci1a44,9065" "pci1a44,9106" "pci1a44,9053"'

Note that the -b flag allows you to set the root path where to apply the driver add operation, which is pointing to the unpacked miniroot. Note also that the x86.miniroot is 32-bit and only supports 32-bit drivers.

The last thing to do is to repack the miniroot using the same command, but specifying "pack" as the keyword. But before we do that, I like to make a copy of the original x86.miniroot in the same boot directory, and then run the root_archive(1M) command:

  # /boot/solaris/bin/root_archive pack [pxeserverpath]/boot/x86.miniroot [path-to-unpacked-dir]

If the PXE boot server was working before, the client should be able to boot and load the x86.miniroot and complete a normal Solaris 10 1/06 installation. The installation will bring up a menu of install choices; the default is to perform an interactive install. When doing an interactive install, the installer offers a choice of auto-reboot, or manual reboot. Choose the manual reboot, because while the above steps get the driver into the miniroot, they don't do anything to install the missing network driver onto the final client system. So we select manual reboot, to give ourselves a chance to copy over the drivers and run the add_drv command on the final client disk image before rebooting. Otherwise, the newly installed system, still won't have a network driver.

So where do we put the driver binaries so the install client can copy then over? One way is to copy the one from the miniroot's /kernel/drv that's already there. This works if the system is only 32-bit and will only run in this mode. However, if the system is x64 capable, we didn't copy the 64-bit driver binary into the miniroot's /kernel/drv/amd64 directory and that's because the miniroot is only 32-bit and doesn't have a ./kernel/drv/amd64 directory. We could have created that directory in earlier steps, but that's not necessary. In fact, during the Solaris PXE boot installation, the client mounts the install server directories via NFS. Thus it's easy enough, before rebooting, to simply just put the driver files in the install server's exported PXE boot directory, especially inside the jumpstart directory where the client already mounts them during the install. I usually just put a ./jumpstart/drv subdirectory inside the server's exported directories. This will be mounted on the install client as /tmp/install_config usually. If you can't find it, use the df(1M) command to see a list of filesystems and their mount points.

So now we can persist the drivers to the install client. The installer miniroot mounts the client's hard drive usually at /a. So it should be straightforward to copy the binaries and .conf over to /a/kernel/drv and /a/kernel/drv/amd64. (Note: there's usually just one .conf file for the driver that goes in the /a/kernel/drv - which is used by both 32- and 64-bit binaries.) The we run the add_drv(1M) command again, but for the -b option, we point to the /a directory.

If this is a custom, hands-off jumpstart installation, it's possible to modify the post-installation finish script to copy the driver (both 32- and 64-bit binaries and .conf) over to the final system disk and also run the add_drv(1M) command so all systems of the same type get the same new network driver without manual intervention.

Our partner with the driver problem was pretty pleased that this worked, and surprised that it wasn't all that hard to do. We're hoping to make it even easier in future versions to add drivers into the installer and even create bootable CDs and DVDs and burn them all in Solaris. March 28, 2006 09:06 PM PST Permalink

20060321 Tuesday March 21, 2006

The cheap Solaris 64-bit box pending rebates

I was on a quest 6 weeks ago to see how cheaply I could build a 64-bit Solaris 10 box that I could use in the office, and gave myself a 2 week period to hunt for deals. The quest wasn't all that hard, and what I've ended up with wasn't all that bad of a system for office use.

At the core is an ECS K8M800-M2 motherboard and AMD Sempron-64 cpu. I got this on sale for just $69 together at Fry's on a one-day sale. I had to be careful that they didn't switch a 32-bit BABOX processor on me, so I insisted they honour their ad for a 32- or 64-bit mode cpu which they did, and I got a 2600+ 64-bit BXBOX retail cpu (the box actually has 64-bit on the lower right front corner). It's socket 754 which is probably going out of date soon, but for a functional system that I don't plan to upgrade, it'll get the job done and hold its own for a few years. The board has on-board LAN, Audio, and Graphics, so hopefully, this would make a pretty cheap system. And best of all, no rebates required.

Next was the case. I found the Antec 1650B black case w 350W power-supply on sale for $59.99 with $30 rebate. I'm not fond of rebates, but if I see a good deal and the rebate is from the manufacturer, like Antec, I usually go for it. Plus, this is a fairly quiet case, with easy-install and tool-less takedown. I have an identical white case in the office which ran my old ECS K7VTA3 mobo, and it was pretty reliable and quiet.

A few days after I found the case, I saw an ad for 200 GB WD SATA drive retail kit with cable for just $49.99 after a $30 + $20 dual rebate. And about the same time, I also found a dual stick 1GB of OCZ DDR400 (2 x 512MB) for just $75 with $25 rebate which ain't bad for branded memory. And for optical drive, I found a black retail NEC 3550A 16x DVD burner online for $39 w/ free 3day shipping.

A few days later, I put the box together, and installed Solaris 10 1/06 on the system. First boot wasn't very cheerful. The installer graphics couldn't recognize the onboard Unichrome Pro graphics, and defaulted to text console install, which did complete, but still couldn't get the Xorg to recognize the Unichrome Pro. The SATA controller for the mobo apparently runs the disks in IDE legacy mode so boot and install were transparent. I didn't have to turn on any switches in BIOS even. But I was stuck with no X-graphics with the Unichrome Pro, so I exercised the AGP option, since the micro-ATX board DOES include an AGP 4x/8x slot.

I found a refurbed Diamond S60 board for sale at a local surplus. It has AGP 2x/4x I think and the ATI Radeon 7000 chipset, which is well supported on Solaris. It was a 32MB card and cost $19. I knew I could get 64 MB cards these days for that much brand-new, but in a pinch it worked and I had a working system. Plus, with the newer cards sucking so much power and competing with the CPU, the older card with slower GPU seemed like a wise choice for the 350W power supply.

I added extra USB 12-in-1 flash reader for $7.99 later, and an $8 floppy drive a bit later with a $3.99 round 10" IDE floppy cable for better airflow. I also bought a $3.99 12" IDE ATAPI cable for the DVD burner as well.

Altogether, the cost for this system will come to about $300 after tax and if all the rebates come through. It's not great, but another decent deal for a 1GB sytem with 200 GB disk, universal usb reader and floppy, network, and audio.

Getting Solaris up and running with graphics wasn't hard, especially with the extra AGP graphics card plugged in, but the on-board NIC requires a 3rd party VIA Rhine-III driver. Luckily Murayama's got free Solaris drivers on his site and so I was able to download and compile the driver and install it. A new version 2.0.1 of the rh driver is available and runs well on a number of my systems. It's based on the new Solaris GLD framework (generic lan driver). If folks haven't compiled drivers on Solaris 10 Update 1 (i.e. 01/06 release), there's a slight bug on line 206 of the /usr/include/sys/ddi_implfuncs.h header file. Just comment that line out and if you make clean, then make; make install in the driver build directory, it should just work. Murayama also includes pre-built binaries as part of his distro so a make; make install doesn't actually rebuild the objects unless you 'make clean' first.

In booting this system, a psrinfo -pv reports the CPU is AMD Hammer Family processor - Model Unknown and isainfo reports that the system by default boots into 64-bit mode. I've had the system up for close to a month now with no unscheduled downtime. It's been a real champ for an office workstation and even for development. With home directories mounted remotely and most of the building switches defaulting still to 100Base-T, the system was more than capable of working well and quickly, even with compiles. I'd like to see a Unichrome Pro graphics driver for Solaris x86/Xorg soon. If that happens and works stably at 1600 x 1200 pixels on the 21" LCD flat panel display, then I can probably pull the AGP card out and save a few watts and just keep working. March 21, 2006 03:08 PM PST Permalink

20051104 Friday November 04, 2005

Silent and Cool - Home Upgrades to Solaris x86

Solaris running on a mini-ITX fanless system inside a shoebox case is quiet and stable.

It's been a long time since I blogged. I guess I just got tired of blogging. And plus, I got caught up in other things in life like my first kid starting Kindergarten and all the other things that happen - like getting to know the school, the teachers, and the other parents and getting involved in the PTA. I also switched groups internally. I'm working with Solaris x86 and hardware vendors. It's a heck of a learning experience and lots of fun.

Speaking of Solaris x86, the momentum has really taken off. Someone mentioned that we hit over 3 Million downloads the other day on S10 alone. Wow. Not bad for GA - General Availability - in March of this year. But sadly, I've somewhat of a hypocrite. Sure, my work laptop has Solaris x86 on it, but it's triple boot, and to get wireless networking in airports, I'm still booting Linux more often than not. And at home, I'm still mostly a Linux shop, even if I do have Solaris on a couple of boxes.

But that time has come every few years to upgrade. My last attempt failed last year around the time Fedora Core 3 released. I had the FC2 CDs and was excited about upgrading, frankly because some of us geeks love slapping our own boxes together :-).

I saw a sale at the local Fry's and bought 3 low-power VIA c3 mini ITX boards for about $89 each back then. And shopping online, I found a sale on some Inwin low-profile bookpc small form factor cases for $40 with free shipping. I was pretty excited waiting for the parts to arrive and when they came in, I assembled my first box and slapped the FC2 install CD into the drive, booted up and then got a big REJECTION when FC2 quit the install telling me that my hardware wasn't supported. I tried some Redhat Enterprise and it too wasn't supported, and then some Solaris 9 CDs and that wasn't supported. And that wasn't the only disappointment, the 60mm P/S fan inside the case was a 5700RPM noisy bugger that screamed at close to 40dB. It was inward facing and already muffled by the case, but still, it was pretty loud, and at night, when the kids went gone to bed, it made my house sound like a data center.

I did manage to solder two 30 Ohm resistors onto the P/S fan wire and it slowed it down a little but it still whined loudly, albeit, no longer loud enough to make me want to take a sledgehammer and kill it. I knew I could go ahead and install FC1 which I already have running in my bedroom in a quiet PC. But, but I decided to download FC3 which folks reported worked with VIA c3 systems. The install was stable, but FC3 turned out to be quite unstable in itself, locking up constantly due to problems in the graphics. I tried the same board in different cases, different power supplies, with new DIMMs, and still had instabilities that would lock up the system even though the text mode worked fine.

I shelved those boards until recently, when I bought a couple of new Antec Aria cases. Initially, I ordered 2 for work, to do some testing in low power Solaris x86 systems and compare them to Linux. The cases were so quiet that I went out and bought two for myself. I also tried out FC4, but it turned out to be somewhat disappointing and not really stable either. And by instability, I mean that it would lock up after 20 hrs of uptime. I've downloaded all the upgrades for both FC3 and FC4 and it hasn't improved the stability, even though I've spent quite a few sleepness nights swapping boxes, power supplies, and memory. And with certain brands of ps/2 KVM switches, the Linux 2.6 kernel seems to hiccup and inject a button 2 or 3 event with using scroll mice.

But enter Solaris 10 x86. The installation is still buggy and the kdmconfig core dumps when trying to bring the XFree86 installer up. The failure converts into a pastel screen text console with funky colors for text when it should be black on white. There's also a problem with reverse text visibility. But the text is actually there and the install proceeds. It only happens with certain graphics chips and BIOS sets is what I'm told, like the VIA chipsets using Unichrome or formerly called CastleRock AGP. Prior to December 2004, Solaris had never been able to recognize VIA c3 as a valid x86 cpu and would crap out during the secondary boot. Since build 69 back late last year/early this year, the kernel team said they did a put back that fixed the CPU recognition issue. But this has really opened up the market for low-power OEMs like Igologic.COM to supply the Jbox running Solaris.

Ironically, I hadn't actually tried using the 3/05 GA release bits for s10 to test my mini-ITX boards back in March. I did test using some CDs that someone had burned for me with "S10x86 GA" on the labels, Disk 1 - 4, but when they installed, they crapped out on the secondary boot with the "Unsupported architecture" error and I never bothered to follow up with my mini-ITX boards being too busy. After all, there was a workaround for the bug. Prior to S10, I had been using a hack to replace the GenuineIntel recognition string in the kernel binary and on the ISO install image with CentaurHauls (some funky name for the family of VIA c3 processors). I was thinking that the S10 bits only supported some of the cores like the Nehemiah but not Ezra or Samuel cores.

But 7 months later, with a couple of test systems at work I want to install, I looked into the CPU recognition problem and behold, the old media I had didn't actually have S10 GA bits, but build 67 bits. So I went home and actually tried my own mini-ITX systems with S10 GA and it installed. With the exception of the kdmconfig errors during initial install, the process was straight forward and I had a graphical workstation up and running in an hour or so. Xorg with JDS boots and configures itself for 1280x1024 24 bit graphics. The USB storage driver works too, as does the camera tool. One needs to restart the volume manager daemon (/etc/init.d/volmgt [stop|start] ) which is a legacy service daemon not folded yet under Solaris 10's new Service Management Framework (SMF).

I had to go online using another system to obtain VIA Rhine Ethernet network drivers and the VT 8235/8xxx audio drivers as well. But both sources of drivers had recent tests by their authors on Solaris 10 and they provided portable driver build srcs that were just 100kB to download and supported Solaris 8, 9, and 10 versions. that easily fits on a USB Jump Drive and within a few minutes, I had audio and network up.

The build size and archive for these drivers is pretty incredible when you think how big a Linux cross-platform kernel driver build environment has to be, and the compatibility issues between kernel 2.4 and 2.6 versions. I've been running Linux since the early 90's when I saw my first set of CDs walking along the streets of Akihabara, Tokyo. They were Walnut Creek CDs if I recall, and they still distribute Slackware, if I'm not mistaken. But the kernel source build environment has really bloated since then, and for companies trying to support -for-profit- proprietary software, such build systems and lack of ABI compatibility is tough. I've worked with some Linux IHVs now that are porting to Solaris x86 because their minimum support source base was 30+ Gigabytes! This is for all the cross-compilers, GCC versions, and kernel source versions for each flavour of Linux, be it SuSe, RedHat, Fedora, and their corresponding updates, and 32-bit versus AMD-64bit. The comparative build and install on S10 is well less than one GB.

The Antec Aria case is around $100, and has front USB, Firewire, and 7-in-1 USB flash reader. Older VIA EPIA-800 mini-ITX motherboard with cpu and fan will cost around $110 today and probably not have all the pin-outs you need to hook up the Mobo. But if you're like me and look out for hardware deals on quiet PC components, you can core a sale on boards like I did for $82.95 at Fry's a few months ago on clearance for VIA Eden 600MHz ME6000 fanless boards which as firewire and compliant USB pinouts. A 160GB disk will run you about $69 after rebates, and an NEC or Lite-on DVD burner 16x with bonus floppy drive OEM might run you around $50 if you catch those online, one-day sales like at NewEgg. A 512MB stick of DDR can run between $30 - $90. Since these chipsets don't support ECC, I've learned that it's probably better to get higher quality name-brand memory. But for around $400, you can build a pretty quiet Solaris 10 x86 system that won't break any speed records or nuke aliens in gaming, but it works great for vpn, email, web surfing, and office productivity. And it's beautifully quiet. November 04, 2005 05:28 PM PST Permalink

20050127 Thursday January 27, 2005

Spam zombies and port scans - to log or not to log

Not much happened back in December except it was cold and rainy all along the West Coast. But weather aside, I was ignorant and blissful about the security of my networks both here and up at my other place in British Columbia. I did have a chance to drive north with the family and score on some Boxing Day sales in the great, dry and friendly North, but the visit was simply too short and I only had two opportunities to enjoy great dimsum. I've been back in California for quite some time now and quite busy. However, prior to my return, I setup my B.C. WiFi network to do more logging - both on the internal interfaces as well as the external WAN interface. And I had my reasons.

It was exactly a year ago that the big ISP in B.C. offered broadband DSL along Highway 99 up to Whistler, and I was one of the first on that leg to subscribe. In just that year, I've seen some tightening up of packet filtering on the ISP's network. Within about a month after DSL became available, apparently, I picked up intrusion attempts by at least three other compromised systems from neighbours. I sent out some email to the home owners up there to be on the lookout for unusually heavy network activity on their routers when they weren't actively using their systems. And I wasn't the only one that noticed. About 6 months into our new found bandwidth, the ISP decided to shutdown free flow of port 25 SMTP traffic from any subscriber except through their mail routers.

Such action by my ISP was annoying, but easily circumvented by tunnelling packets through a virtual private channel back to my mail server back in California, so my problems were solved, and I still retained some autonomy and privacy. But, I'm sure that for quite a few customers, including some of my neighbours up there, the ISPs actions caused some grief. You see, for some of my neighbours, a significant fraction of their emails began to bounce and were no longer getting to their intended and legitimate recipients. Mail was bouncing due to the ISP's mail servers getting onto DNS blacklists as primary sources of SPAM. And the reason why the ISP's servers got blacklisted was that the spammers adapted to the block on packets destined to port 25 on non-ISP servers; they decided simply to route email through the ISP's mail gateways. And to avoid the ISP from tracking down all the compromised systems, the spammers didn't ust use a few spam-running-zombies, these folks compromised hundreds of systems and had each one send just a few thousand emails and then stop after a couple of days, until the next campaign. This caused half of the ISP's mail servers to get onto some of the major DNS blacklist servers out there, and I would guess their tech support guys had to field a lot of calls from folks that ended up with rejected emails and needed to switch SMTP gateways. Three or four out of the half dozen ISP's mail servers in the lower mainland B.C. and Alberta are currently or were as of a few weeks ago, on the top world's DNS blacklists for sending too much spam. In fact, I think more than 90% of email coming out of their network is spam, at least I block about 80 to 90 spams a day from them with no abatement and 99+% of that is spam. And while I've configured my mail server at home to block spams and return a polite spam Error 550 messag, the ISPs around the world that route spam emails often just seem to ignore, or worse, forward the problem, as opposed to aggressively dealing with the situation and solving it.

A clear example was a case of rejected spam which I tracked was originating from a poor guy in southern California, who evidently, suffered a fatal disk crash after I contacted him and told him about the problem. He ended up having to re-format and install his operating environment. How I found out his system was compromised and a spam zombie was quite a coincidence. A month and a half ago, during a 30 minute period, I received over 1000 emails from about 5 MTAs worldwide that were bouncing an undeliverable spam to me, the apparent sender. Fortunately for me, 4 of those 5 mail servers included the message with full headers, and clearly, I could tell that the first hops and last hops were not from my IP address domain. But the ISPs should have easily figured that out and just killed or dropped the email or simply denied mail routing because the mail headers and addresses were so obviously mismatched. But as I said, many ISPs are just sloppy about mail filtering and don't bother. So despite me obviously not being the true sender of the spam, these ISPs just let me have the flood of bounced emails. In fact, one ISP's automated SPAM fighting machine apparently recognized the 250+ emails it got as spam, but then decided to reply to the faked Sender address with some legal-mumbo-jumbo about abuse of terms of service. Geez. I felt like half these ISPs were just playing dumb and arrogant. Clearly, their own header information encapsulated within the email indicated it was a spam and the sender domain and MTA IP address had huge mismatches.

To stop the flood for the next few hours, I decided to simply block all emails to that address and send immediate errors messages that explained that this address was not valid. The campaign did only lasted about 2 hours, and then the numbers of messages subsided after several thousand bounces. How many were actually delivered, I don't know. It did make me think.

But the lucky coincidence for me was that all the spoofed emails were using an email alias that I publish to the network for just my fishing msgboards. And by inspecting the headers in some of the bounced emails, I quickly found a common point of origin from an IP address in southern California. And the two pieces of information led me to check my web server access logs, and I did get a match, plus a bonus piece of info: a cookie ID. This cookie is something I plant in my web pages that can help identify unique sessions, especially identifying HTTP connections for logins.

This allowed me to identify the actual user and again, luckily, he had contacted me in the past and left an email address. Unfortunately, he was a skilful angler, but not a big IT technician, and so he wasn't sure beyond running standard anti-virus software how he could stop being this spam zombie. And unfortunately for him, I guess the folks using his system for a zombie were finished and didn't want many traces of their activity. Within just a day after I notified him, his computer disk crashed and all data was lost. After a week of silence, he emailed me back and told me about the crash, and the subsequent re-format and re-install of his entire system.

All this bad network activity in the past month or so spurred me to turn on aggressive logging on most of my home server and router systems. So just two weeks ago, I started to get a rash of panic emails from my router up in B.C. Evidently, pings of death were being detected and I had set the system up to email me immediately. Again, like the spam incident I was getting copious emails, this time not as quickly, but they were averaging many per minute and they indicated that the attacks were coming from 7 separate networks in at least 3 different countries. For two days, the router logs were arriving in my mailbox here in California almost once every 30 seconds. I wrote the ISPs to politely forward abuse emails to the right folks in their network to stop the attacks on my hosts. Most did have an automatic mail responder, but only the Germans sent back a personal response to my inquiries and told me that they have identified the host and have forwarded the headers and logs to those in charge of that subnet for investigation. After 3 days, and a few megabytes of logs and emails, the pings of death and port scans finally stopped up in Canada. I'm not sure if rebooting the router and getting a new IP address assigned was the trick or if the campaign just stopped.

Being the curious kinda person I am, I couldn't just be satisfied with the status quo, so I decided to turn on aggressive packet filtering and logging on my local systems here in California. I have two servers that run 24/7 and have open interfaces to the internet. I do have firewalls turned on, but I was not logging the packet rejections or denials. So for the last few days, I decided to turn them on and observe. Just between 2:45am last night and 8am this morning, I rejected about 120 attempts on my mail/web server, and about 40 attempts on my NAT firewall box. I have funky ICMP packet requests that don't look like pings of death. I have strange UDP and TCP attempts at really weird high port numbers that don't conform to any service or standard, and by far, the 90+% of denied packets are port scans for 139 and 445 NTFS file share UDP ports. And that was just in a little over 5 hours. It's incredible to me just how many scripts set off by hackers there are out there, and how many unique attempts occur to gain unauthorized remote entry onto a system there are. The costs must be staggering for folks with systems less robust and less protected against these hackers. But just having that knowledge itself can be pretty depressing, especially seeing how it means we need to be ever more vigilant against intrusion. It's almost enough to turn off the logging, save some disk space, and just live in ignorant bliss for a (short) while. January 27, 2005 05:20 PM PST Permalink

20041110 Wednesday November 10, 2004

The Sky Fell

California gets a little rain and what happens? Well one could say that the sky fell yesterday. Actually, a couple of tree branches came down yesterday outside our office and landed on top of some vehicles out in the parking lot. I'm sure glad none of the cars were mine and that no one got hurt, but it did put one driver into a predicament when he came out and needed to get to the airport to catch a flight. The driver of the rental vehicle (a silver Chevy Cavalier) had good spirits and with a little bit of help from colleagues, we cleared the trees off his car, which wasn't in too bad a shape. Hopefully, the rental company won't hassle him too much.

The driver of the blue minivan didn't suffer too much of a loss either, although she couldn't get into her car or back out since some thick limbs were caught between the two cars and stuck partially in her wheel well.

Apparently, a witness says that he was waiting for the Sun company shuttle Tuesday evening during the twilight hours. He heard a loud crack and looked up. A branch high above on an old, tall species of Eucalyptus tree I think (Tasmanian Blue Gum perhaps?) had cracked off and was barely hanging on by some small fibres and bark. He says he called the Security office to have them tend to this urgently since a crash of several hundred pounds of wood posed a serious threat. But he couldn't stick around to point this out to security because his shuttled arrived and had to leave.

No one apparently tended to the problem and in the morning, two unlucky employees arrived at our MPK24 building, parked as they would normally do and proceeded inside. Unbeknownst to them, the branches above their vehicles were precariously held by the slimest of margins and could come crashing down at any moment. Well, the branches didn't fall until shortly after lunch, when two large limbs ended up mostly on top of the silver Chevy compact. From the pattern, it looks like the branch on top broke first, and put its weight all on the branch below. The weight was too much for the lower limb to support and so it gave way and the two heavy limbs came crashing down. Luckily, the thinnest strips of bark must have held onto the falling limbs long enough so instead of a clean snap, the limbs pivoted downward, then fell more closely to the trunk where they hit the ground leaves-side first, bounced up a bit and rolled over the cars. Direct impact to the vehicles was avoided.

I had heard of Eucalyptus trees "shedding" limbs once in a while, but this was my first actual experience, . A quick inspection of the break points doesn't seem to show any signs of malformations from water, rot or insect damage. But a little of excitement on a quiet afternoon. November 10, 2004 06:15 PM PST Permalink

20041108 Monday November 08, 2004

Passing less smog

Most of us drivers in California already know about the smog test rules here. Basically, newer cars don't need a smog certificate, but after 4 years, all vehicles less than 30 years old are required to have a bi-annual smog certificate. Don't ask me why the policy makers in Sacramento put in the grandfather clause that allows 30+ year old cars to drive without passing the smog test, because it doesn't make sense. Some studies back in the late 80's and 90's indicated that 8% of all the vehicles (mostly the older ones without any type of smog equipment) produced 90+% of the smog).

How much smog a vehicle has the potential to make is measured as the percentage of allowable NOx, CO, and unburnt hydrocarbons (HCs). That's because these compounds react with moisture in the air and sunlight and create a hazy and obnoxious vapour that sometimes covers large urban areas. California still doesn't seem ready to limit the absolute maximum amounts of these pollutants; Our policy only enforces concentrations of these pollutants as percentage or parts per million in the exhaust stream. This means that an SUV with 10-cylinder, 6 liter montrous engine that's pissing a liter of gasoline per 5km could pontentially be releasing 10 times the pollutants of, say, a hybrid gasoline/electric vehicle with 1.2 liter engine that barely sips a liter of petrol and achieves 25km; they both get the same passing score on the smog test and both get people to work and school conveniently.

Last year, California did change its rule and instead of a low and high RPM smog test, they now require older vehicles to undergo a low speed (15 mph) and moderate speed (25 mph) on a dyno that can simulate the car going up a slight incline at these speeds. The test is tougher for older vehicles to pass because unlike the slow and fast idle test, this puts real load on the pistons and if rings and valves are worn, such a load will reveal a more accurate picture of the pollution released while actually driving. I'm not sure if all cars are required to take this test, but I've noticed the older ones and high mileage vehicles seem to be targets for this test.

I drive a 1992 model year Toyota P/U 2WD with 4-cylinder Fuel Injected 22-RE engine - perhaps the finest and most durable mass production engine ever made in the world, bar none [at least in the eye of this very satisfied owner]. This engine and its carburated predecessor, the 22-R, are legendary for lasting well over 300,000 miles without an overhaul. (Remember the "Oh what a feeling! (Jump) Toyota! Commercials?) The engine is mechanically simple and extremely serviceable and reliable. I bought the truck Dec 1991 while in College for just a hair over $7,400 out the door. It averaged about 24 mpg fuel economy while commuting to Berkeley and this included driving up and over the hills into Tilden Park in the mornings to avoid the gridlock along Hwy 24 and the Caldecott Tunnel. To my surprise, almost 13 years later, an audit of fuel costs and mileage today indicates that my flat-land-Silicon-Valley commute provides me an average of 28 mpg. Part of this no-doubt is due to the terrain difference. But another big factor has been the aerodynamics improvement of a lightweight composite flush-mount camper shell mounted over the truck bed. It streamlines the backside and provides a lockable storage area. Another factor are the improved tires at 33 psi that provide a few more percent mileage over the older tires at 28 psi. And instead of the old resistor spark plugs, the addition of platinum and iridium plugs and even dual prongs seem to improve the combustion.

My truck hasn't been in a shop ever for engine work. I've done all that work myself. It was recently in the shop for new tires and shock absorbers and some wheel bearings and seals. These were long deserved maintenance jobs that my home garage isn't equiped to do. But for a truck that has 174,000 miles on it, I'd say it has been well worth the maintenance. I now have a truck that drives better, I think, than it ever felt when I bought it, and it gets even better gas mileage than ever before.

So what about the smog test?

Two years ago, when I got the truck smogged, it passed with flying colours. But the test was the old slow and fast idle RPM test - not the new load test that went into effect recently. I had a few trepidations about that, so I decided to do some standard things to tune the truck up.

We all know that higher temps inside the engine produce more power. But this also produces more NOx. So it's like a balancing act. Too low of a temperature and you have too much unburnt fuel and no power. Too high a temperature and you produce NOx. That's why CA vehicles have EGR (Exhaust Gas Recirculation) valves. These take some of the exhaust and put it back into the engine to complete the burn but also lower the combustion temperature. A lot of things need to work properly to minimize HC, CO and NOx. One of those things is engine ambient temperature. So I flushed and refilled my radiator and replaced with new hoses and thermostat. The last time I actually had done that was at 78,000 miles so it was due at 174,000. I don't use the standard green ethylene glycol stuff that rots radiators, engine blocks, and water pumps after 30,000 miles. Instead, I use some special Pink stuff either from Toyota or some other OEMs. I think it's based on propylene glycol and lasts upto 100,000 miles. It costs about 3 times as much, but I think it's well worth the durability, protection and labour savings of having to flush the fluid more often.

I also did the standard air and oil filter changes, then changed the fan belts too. And then I focused on the ignition wires. Rather than get the standard OEM factory parts, I opted for some cheaper, after-market High-Current, low-resistance cables. I also put in some new Bosch platinum-2 dual-prong plugs. I yanked off the relatively new PCV value and sprayed some Gumout through it to clear it out. And lastly, I took off the intake throttle boot with the car facing down my driveway (so there was a decline) and sprayed copious amounts of gumout into the air inlet while keeping the throttle plate open. A lot of dark solvent flowed back out of the intake, which I intercepted with a lint-free rag. I later sprayed even more gumout inside and used a chopstick with the rag and pushed it into the intake to wipe down the flapper valve, and intake sidewalls. I try to be gentle and not poke around hard with any metal objects. There's some instrumenation in the throttle body to sense the throttle position and this is all hooked into the Electronic fuel injection, the Exhaust Gas Recirculation (EGR) and other emissions/ignition controls. As much as I'm religious about filling up with Chevron gasoline with Techron, I still can't avoid the gumming up of the intake manifold plus all the sensors, so I get paranoid before these smog checks to make sure that vacuum lines are in good shape, that the EGR value works under vacuum, and that the throttle body sensor openings aren't all gummed up and blocked. So I usually try to give the inside of the throttle body and the plate a good soaking and wipe down.

I did check one last thing which are the battery cables. An experience with Fords has taught me that engine electronics are sometimes quite mercurial when battery cables get corroded. So it can sometimes pay to spend the $8 to get a new cable and apply some contact grease to battery posts and clamps if you see a corroded battery cable. Mine were fine, except for some small cathodic deposits which I cleaned and coated with a conducting lubricant/protector to battery terminals. And then I hopped in the truck and drove down to my local Arco Service station.

To my surprise, they could not give me a standard smog test. My truck fit a "High Polluter Profile" and I was then sent to a "Test-Only" place where the folks are not allowed to make any repairs on the vehicle. I asked the Arco station guy why they do this and he doesn't know. He guessed that it was the gov't's way of keeping some of the Testing stations in business and also preventing some stations from cheating by doing certain minor tweaks to help some folks pass the test.

My results? Passed again with flying colours. I produced less than 1/3rd the average rate of unburnt HC, 1/20th (nearly immeasurable) CO, and only 1/8th the average NOx. In fact, the average is about 1/4 the maximum limits for my class of vehicle. Not bad for an old beater truck with 174,000 miles. And my truck's results were even better relative to average on the 25 mph test than the 15 mph one. It only took minor know-how and diligence in keeping the car tuned. But still, I can't be too pround of the crappy gas mileage of 28 mpg. I certainly have the right to gloat over those folks driving around in a big Chevy Suburban with a "Keep Tahoe Blue" sticker on their back window. But with the current VVT Corolla 2004 getting 40 MPG freeway, and the Prius hybrid getting 60 mpg in the City (yes! in the city!) my truck is a gas-guzzler by comparison. So, yeah, I'm feeling relieved that I passed smog, but the fact is, I'm pretty envious of those folks hauling around in those gas-miser hybrids. November 08, 2004 06:55 PM PST Permalink

20040915 Wednesday September 15, 2004

Foobar at the School District

Most of the folks living in Silicon Valley should count themselves lucky, or at least their kids lucky because the California STAR (Standard Testing And Reporting) scores have been published now at the end of the 2003-2004 academic year. At last night's school board meeting, the district administration had these test scores as one of the major agenda items for discussion.

I'm in the Cupertino/Sunnyvale School District ( http://cupertino.ca.campusgrid.net/home ), a pretty good school district and while my 2 and 4 year old kids aren't even enrolled yet, I thought I might attend these meetings to learn more about the public schools. And considering the dire news in the other districts in and around the Bay Area, I'm glad that our school board is at least competent.

I'll get to the STAR scores in the district later. But let me say that the popular news media doesn't quite capture what's going on in the schools that affects teaching quality and school education. In fact, I think most news reporting does a real disservice to the public. For example, the news often talks about class sizes in California and how it's really growing and reducing individual attention that teachers give to kids, and there's the complaint that schools aren't getting enough monies from local, state and federal gov'ts.

To some extent, district budget does affect how good the students are, but above a certain point, budget is no longer relevant; demographics are perhaps more important than anything else. Some school districts must be ripe with corruption. I have no proof, and it's hard to catch these district administrators in the act, but a few years ago, with the dotCOM boom bringing in extra Millions if not tens of Millions of dollars to budgets, some districts, like West Contra Costa (a.k.a. Richmond) and the Oakland School Districts continued to run large annual deficits. I talked with one relative who works in Sacramento state gov't and he joked that these crooks at the districts simply write checks to bogus companies for bogus work and cash the money. Millions disappear this way and since no technology is implemented to track the transactions, the money just simply disappears and the accountants simply can't tell you where the money went. That's how our tax dollars are spent.

Another issue that made headlines was the big California Teachers Layoff. Yes, many districts, faced with less budget, laid off teachers. But what the news media didn't tell you was how the selection was made. Some very good teachers lost there jobs. Why you ask? Because the school districts don't actually have the power to select who goes or stays. They cede that to the Teachers Union. In fact, if you can download or get a hold of the Union Arbitration docs that our school district hands out, it would scare you. Basically, it says that the California Teachers' Union is the SOLE negotiator of teachers contracts with the districts. Why you and I in the public may think our school boards have quite a bit of control over the district to review policies and set direction, in fact, it's all a sham. The Unions negotiate all aspects of Teachers and employees used as teachers. For example, the Union specifies business work hours. They specify tenure rules (which are not merit based) and they don't have the same accountability standards. During this last lay-off, it didn't matter which teaches they laid off. The Union rules protect the older (more expensive) teachers. So they laid off the Young, Idealistic, and More energetic teachers to meeat negotiated budget requirements. Somehow, the news media didn't quite explain that in the 30 second spot they devoted to this important issue. And I don't want to bash the Unions, but I will because their stupid rules are hurting a relative of mine. They have a special needs child with Autism. The child needs personal counselling and therapy which the District shall provide according to California Law. However, the District is withholding funding for a private therapist which they only co-fund. Why are they not paying their obligation? Because the teacher's Union says the Therapist is covered under their negotiation and arbitration contract and thus the employee must be subject to the Union, and follow Union rules. So instead of a tailored program in the interests of the child with a therapist that works just 4 hours from say 3 - 7pm, the Union allows them to only work until 5pm. No weekends. Stupid and mean spirited and unhelpful.

Another example in point is the lack of foresight of some districts. Mine included. Last year, they got an announcement that PBS, a major educational video supplier to the schools would cease subscriptions on VHS video tape. Instead, going forward, to reduce costs of production, they would burn the content on high quality DVD for classrooms. PBS is short for Public Broadcasting System, the gov't funded stations of which there are like 3 or 4 in the Bay Area. KQED, KTEH, KCSM and maybe one more. They have shows like Nova, Science, Nature, Scientific American Frontiers, and the News Hour with Jim Lehrer (formerly the McNeil/Lehrer News Hour). I would donate to them if they weren't such a Liberal, half-nonsense organization, but my taxes go to them anyway. But I digress. My kids' school district mentioned at a board meeting that they were short of DVD players in classrooms. They hadn't budgeted for this and so kids might be missing out on educational video content because some classrooms might be short of DVD players.

Wanting No Child to be Left Behind, I went out to Costco Wholesale the next week, and picked up 10 Toshiba players at $69/each. I didn't buy the cheaper Koss players for only $49/each because they have a poor reliability record. But suffice it to say, I left work half an hour early, picked them up on the way home, and hand delivered them to district offices in Cupertino. This solved partly, the DVD crisis. While I did the right thing for the public good, one has to wonder what the priorities of the district are? They have a total budget of almost $80Million spent to education 15K+ kindergarten and elementary school kids in the district. That's over $5K/student-year. And this does NOT include Bond measures for Capital and Infrastructure enhancements voted and passed by the public in prior years. So oodles of $$$$ are flowing into our school district and they couldn't have the foresight to migrate old VCR decks to DVD players at $60-$80each in the last 2 years. And, I can't understand why they don't have budget.

They spent nearly $1.75Million last year on health services. In a presentation at an earlier School Board meeting, we got to meet the 3 full time and 4 part time nurses and the programs they run. They serve 16 campuses with 5 full head count. So the truth from the kids' perspective is that nurses are rarely there on campus when someone gets hurt. They are paged and then drive over to the school if a real emergency. Often, one of the school admins just does some simple first aid and the nurse doesn't even show up. But if you're like me, you'd be wondering where does $1.75Million get spent? Surprisingly, none of it actually buys health insurance for needy kids or their families. None of it goes to immunizations or shots, only the arranging and scheduling at low cost clinics. Most of it is spent on marketing and communications with parents in the district. But what really got me peeved was when the nurses each came up and presented their roles in the district. 6 of the 7 nurses had to read the names of their schools that they supported off of slips of paper. That's amazing. I've been only attending school board meetings for a year now, and I can name more than half the schools in the district. That $1.75Million sure could have gone to better DVD players and maybe some cash in the pockets of low income folks so they can shop and buy their own health plan.

Note: I'm sure at this point, folks in Socialist countries are rolling their eyes and wondering about US health care and why we don't nationalize it. I would support nationalizing it if we re-architected the AMA and allowed all Universities to produce doctors like they produce engineers and in order to practice anywhere in the US, there would be a standardized test. But as it happens, the AMA has a monopoly and like the lawyers and their Bar Associations, part of setting a high level is to prevent qualified candidates from being useful practitioners thus limiting supply artificially so Doctors and Lawyers can drive around in their Beamers, Bimmers, Benzes, Acuras and Lexae. But even while US health care is such a mess, we still have the most kick ass system that actually -fixes- people (who can afford health care). When I broke my ankle and shredded all the ligaments in Tokyo in 1994, the Doctors looked at my ankle and made a deep sucking sound and said, "Anooo....chotto...Eien arukenai to omoimasu yo...." or something like that, I can't remember; I was in agony at the time. Shortly translated, it meant something like (deep sucking sound), "...I don't think you'll walk again..."

Needless to say, I walk and I can cycle. No impact sports, but I walk normally. I sometimes set off metal detectors at OAK and SFO airports, but surprisingly, not at SJC. But I walk and do so comfortably. That's because in under 36 hours after the accident, United Airlines had me back in the US and I was visiting an orthopedic surgeon with 3 pictures of ex-San Francisco 49'er football (American Tackle Football - not soccer) players.

In addition, it used to be that the greater metro Seattle area had more CT scan machines than all of Canada (one of the best socialized medicine systems...that's now going bankrupt...you see all these folks with -Health Care-before-Winter-Olympics- bumper stickers on cars in and around Vancouver). Now Canada has adequate supply of CT scan machines. But that was old technology. They now are short of MRI machines compared to Seattle.

So the point is we have pretty good health care in the US; only it isn't free unless you're really, really broke and go into a public hospital for something critical. But for the lower, middle class, health care is scarce and expensive. But at $1.75M/yr, our school district doesn't actually buy any health care insurance. Instead, it pays for health care "awareness," whatever that is. I think that's wasteful too.

Another waste is energy. They get Macs and PCs donated from various vendors like Apple and HPaq. And some of these run 40W - 80W processors in systems with monitors sucking 200Watts each. The district and the kids don't need such big honking iron desktops which eat maybe tens of thousands of dollars more in power each year, even if they are turned off at night. By going with lower-power chips and chipsets, they can greatly reduce power consumption and save money. And I would wish it'd be that easy, only now the district is looking at hiring a consulting company to teach the district about energy education. Most of it is common sense. But somehow, by paying $100+K/yr for 4 years, the district thinks it can save more than $100K/yr and the consulting company guarantees it. If you don't save more money that you would have spent without them, they'll cut a check. I'm not sure how they can figure out the savings. I'm sure they probably do save more for the district through their educational programs. But why can't the district save more energy and NOT pay these guys? Can't the district go to our Utility and have them come over and educate staff regularly on conservation? But I guess if it's free, some executive administrators think it has no value. Sound familiar in lots of technology companies too.

And I can't believe the type of employee recognition that goes on in the district. It seems like every other meeting, the School Board has to have some opening celebration to award some district employee-of-the-month. Don't get me wrong. I believe in employee recognition. But only if it goes to deserving employees and only if it was a true accomplishment for the district. In this case, they gave recognition to some clerk in the district for discovering how ISBN numbers work and using them to Order books on Amazon, thus saving the district money. Those award presentations are not open to the public really for criticisms, but any one in the Valley has to wonder how hard it was to figure out ISBN numbers on Amazon and to save 15% - 40% on cover price for all books and get free 2nd Day super-saver shipping. Amazon has been around for over 8 years folks. Don't tell me, the district just figured this out now. You mean they were wasting our money on books for nearly a decade before?

But I don't want to end sounding like our District sucks. Far from it. The Cupertino Union School District is nationally ranked near the top. And with all the dire predictions of bankruptcy and schools losing funding and having Republican Arnold "Terminator" Schwarzennegar as Govenor, our school district actually ended the year with $700K more than they had budgeted. Hooray. Good fudiciary responsibility. I almost want to ask for a refund on those DVD players I donated since they got cash in the bank now.

In addition, what's impressive is that all the schools in the CUSD scored quite high on the STAR scores. Out of a possible maximum of 1000 points, Faria Elementary School scored 1000! Yes, aggragate for the school. And Portal, an English/Mandarin experimental language immersion school scored 991 out of 1000 over the whole school. And in fact, the lowest scoring schools in the district, De Vargas and Nimitz, still scored in the low 900's and high 800's respectively. Clearly, 12 of the campuses are in California's top 90th percentile or higher. And even the bottom two are above the 75-percentile. And it's no wonder. Faria kids are mostly Indian and Chinese in origin; two cultures where families and education are strongly emphasized. Portal Elementary is mostly Chinese. And in all schools, many parents are well-to-do, higher socio-econ types with technology backgrounds. It's no surprise as well, that De Vargas and Nimitz scored the lowest. De Vargas borders San Jose, and is in a lower socio-econ class. Nimitz is in southwest Sunnyvale, bordering on Cupertino, in a high rental apartment location. Nimitz actually got the lowest score last academic year and was the only campus to see regression in test scores - i.e. the scores actually decreased last year.

Some parents and School Board members are concerned and ask what they can do to improve De Vargas and Nimitz test performance. I'm not so sure I care that much. The impact seems to be mostly demographics; not budget. My theory is that Nimitz fell in test scores simply because the economy has been bad and rentals have come down in the area. Some parents, have tried to migrate from lower socio-econ areas in San Jose to this part of Sunnyvale where it's now affordable. And it's easy to tell this is the case. The rental units down the street now have 3 or 4 new rice-rocket honda civics/integras parked out front. These are lowered econo-box Japanese cars that have wide, low-pro tires, grapefruit-sized exhaust pipes, addition farings attached, sometimes a big spoiler and new paint job, and some Hello Kitty/Bad Batz Maru/Nishimura Racing stickers on the back windshield. If you drive one of these street machines, you know who your are! :-) There's been quite a few new street cars like this in my area and the renters across the street from me smoke and sometimes park their cars on our side of the street, and leave little mounds of cigarette butts on the street and litter the base of my shrubs with cellophane cigarette box wrappers and silver chewing gum foil; nothing my blowers/garden vac can't handle.

I personally attended a California 36-percentile high school. If I weren't 100kgs and 187 cm tall at age 16, I would have gotten my butt kicked daily by the 140kgs+ steroid-taking, drug selling jocks in weightlifting class. We didn't have individual gangs at our school - the whole school was one gang with lots of undercover Narcs (police officers posing as teachers to watch for drugs) and we were just one step up from the local Junvenile Penitentiary High School. So having kids in a 76%-ile school is like a dream for me. And anyway, I have nothing to fear about teaching my kids academics in all the basics of Reading, Writing, Math and Science. I'll do as my Parents did and spend quality time to teach them at home. What I do worry about, though, are what the other kids teach of a non-academic nature. But exposure should be good right? Like Gov'nor Arnie said in his Conan movies, "What doesn't kill you should make you stronger." September 15, 2004 10:48 PM PDT Permalink

20040909 Thursday September 09, 2004

Geekification of the Wife

We met a major milestone today in the history of my household. I carried on my first email exchange INSIDE our home with my Wife. Yepp. She was outside in the living room; I was inside the bedroom; and we had an exchange over this upcoming weekend's BBQ menu. Unbelievable. Separated by just 50 ft of hallway and a door, and she emails me. When I asked her why she didn't just come and talk to me, she looked at me seriously. "Sometimes, I talk to you while you're on the computer and you don't hear a word I'm saying. It's like words go in one ear and out the other. With email, I know you'll actually read my message."

Her words were very factual and contained no hint of condescension. And for the most part, she was right. However, I did have to make a correction in her statement. When she talks to me, words technically don't go in one ear and out the other. Rather, then enter one ear, then get redirected to /dev/null. I try to explain that I may look Chinese and have two-byte font and 2D graphics support for fancy Kanji bitmaps in my brain, but really, my audio processors are geared for English and the buffers don't work like an Infinite Stack. They work more like a limited sized FIFO; when the buffer fills up, the first stuff in is the first to get tossed.

She's only beginning to grock all this and optimize the use of my interfaces. Why she married me and how we even have kids can seem like a mystery, especially to my Sisters. They just don't understand. My Wife and I secretly have a Wireless Psychic connection to each other and it transcends the need a lot of times for verbal comms. In fact a great example of our psychic connection was demonstrated earlier in January when we did our taxes. After seeing just how much TurboTax said we were paying in Federal and State Income Taxes, we looked at each other, nodded and said out loud at the same time, "Better vote Republican this November." This wireless psychic feature in our relationship is great for playing mind games with our young kids. In fact, Psychically, she's telling me now that it's almost 8pm and I need to come home...but stop at Costco to pick up a case of bottled water and some diet soda....

Admittedly, it's been a longer journey for her to reach this point than it has been for me. She came from a pretty deprived childhood in working class San Francisco. Only one computer in the house. An old Packard Bell running Win95 with 16 MB of RAM and a not-so-whopping 1 GB of disk. The family had put quite a bit of investment into that computer in the old days, paying almost $1800 back in 1995 to get one with a 28.8kbps modem, even though they technically didn't subscribe to any ISP accounts. She was still living at home, studying part-time at SF City College and working full time to support her family and their Outlet Mall shopping bills up through the mid-late 90's when we met and I pulled her out of that barbaric, single node standalone computing environment (and I dare say calling it a "computing environment" was a stretch).

Her migration from San Francisco south to the Silicon Valley after meeting me introduced her to new computing environments and network technologies she had never imagined. These were her first experiences of virus free, stable, and long lived computing and the ability to use computers in a different room without actually sitting in front of those computers. I remember one of her earliest questions to me when she first came over, "You mean the computer doesn't shutdown and reboot after every few hours?" At that time, we hadn't established our wireless psychic link, so I was quite confused by her question. But she elaborated. "I thought the computers automatically crashed every few hours to save power and this gets you to stand up and walk around a bit; You know... get a cup of coffee while the system is rebooting."

It's hard for anyone at Sun to think of the benefits of a computer crashing. But evidently, my wife said that they talked with other relatives who suffered the same problems and most agreed that lock-ups, freezes, and crashes weren't really a problem ; just get into the habit of hitting Alt-F-Save, or Ctrl-F, or Alt-F-X-tab-tab-tab-S or whatever keystrokes each app used to save stuff to the disk. And when the system finally locks up, just hit the smaller button on thre front panel to reset and reboot. Plus they all agreed that a crashed computer saves power. And if she hadn't said that all so seriously in Cantonese, I would have died laughing or suffered major knee trauma from slapping it too hard. :-)

It didn't matter what her computing pedigree was in the past. I've always been tolerant of the lesser privileged, unlike some snobs I know. So, I useradd'ed her first NIS/YP Solaris/SPARC-CDE login account in 1997. She then mounted her first NFS home directory in 1998. And she got her first Linux login in 1999. But between school and work, she rarely leveraged the network, nearly missing the whole dotCOM explosion. But not all aspects of network computing were lost on her. She quickly figured out that computers eat power and generate heat. Great in the winter. But too hot in the summer. We got into some pretty heated arguments, and we spent quite a bit of money getting some portable Toyotomi airconditioning units. Still, I remember the times she said some pretty mean words - almost fighting words. "And Honey," she said then, "your machines are noisy and eat $25/month each in electricity. Maybe you should run Windows. At least they won't be running all the time and so our electricity bill won't be so high." I really can't express the level of frustration I experienced then with such statements. If we weren't married, I'd probably have broken up with her over such words.

Meanwhile, her family, still with the ancestral hardware suffered a set of losses. In late 1998, a friend of the family got the mistaken idea of upgrading the old Win95 box with a bootleg copy of Win98. The machine could barely run after the upgrade, and after spending quite the sum of money to increase the memory to 64 MB, the system crashed and corrupted the disk drive. The family was without computing power for nearly 3 months until they could reinstall the bootleg OS, but in early 1999, just as my wife learned the joys of Mapquest and Yahoo! Maps for directions and taught her family to use these web tools, their Canon Bubble Jet printer suffered a sudden and mysterious death.

Months went by and nothing happened. A year passed. One day, a baby shower invitation arrived for her family in SF. But not by Postal Mail - Instead, by Email. Attached was a PDF doc with graphics image of the Map and directions. The invitation was to a Chinese Ginger and Red Egg Party at Ming's Restaurant in Palo Alto. It was an unusual invitation already in that the venue was a fabulous Chinese restaurant outside of the usual venues of SF's various Chinese dominated districts. Legend had it that Ming's was located in a spatious lot east of Hwy 101 in beautiful and placid Palo Alto. Legend also had it that the food was quite good there, as good as any in the City. And Legend also said that Ming's had several hundred parking spaces and they were all free! But none of the SF relatives knew how to get there (most didn't even know how to drive), and most not having email meant that this invitation needed to be printed out and distributed.

Well, I took responsibility for fixing this broken computing resources, because mainly, I was the one responsible for sending out the invitation. You see, my Son was about to turn 2 months and all the Chinese almanacs said that that particular upcoming weekend was good karma for a Ginger and Red Egg party. We were over at my Inlaws for dinner midweek prior to the ginger party, because my wife's Mum is just a fabulous cook, better than my wife, even. And I had some Linux install CDs that just arrived in the mail from Cheapbytes.COM, a fairly new online company reselling various Linux distros at rock-bottom prices. The Inlaws' computer was defunct and had no data worth saving. So I wiped it clean of Win98 and migrated them to Linux. Everything just installed and worked. The modem, a controller-based USRobotics OEM model worked just fine and showed up like a normal 16550A UART. And the printer driver did support the older Canon bubblejet, but indeed the unit was dead and still we couldn't print the invitation.

While I may have painted a dismal picture of my wife's family, they weren't complete retro-grouches. They actually had Cable TV and two phone lines. The second was used as the fax/data line. My wife's younger sister had a student dialup account from the local State U. After setting up kppp to dial out, PPP worked like a charm. However I still hadn't figured out a way to print (with exception of buying a new printer), until a fortuitous phone call came in from Hong Kong. The relatives had been trying to fax something since very early in the morning their time, but the fax line was busy. Could someone check the fax machine? This gave me an idea. If all they needed was a semi-fine resolution fax with directions and map, then we could just send the image as a print-job to the fax-queue. And so with that, I setup a fax print spooler and sent the print jobs to the fax machines. And with that setup, we reached one of major milestones. My wife realized that evening that, indeed, the network was the computer, and the network could be anything - a simple phone line or a fast ethernet connection. Reliable client-server computing could lead to a happy family. Plus, we saved a little bit of money for now by not having to buy some new colour inkjet printer.

Still, we've come further over the last 7 years. We started webhosting our own family site and email out of our house in 1999. At first, it was noisy, hot and expensive. But with the advent of integrated chipsets, Linux and Solaris for x86, the cost of bandwidth and domain registration falling, and availability of low power and quiet systems, the computing landscape has evolved to make it much more ubiquitous at home, and with the whole family. In 2002, I learned about a new board form factor called mini-ITX with VIA's C3 low power processor. I spent around $400 and built a quiet server/desktop/router all-in-one system. And not long after, I built 3 more similar boxes that, today, save me about $15/month each in power bills. It wasn't long before one of the systems made its way to our bedroom. How many wives out there can say that they welcomed their husbands computers into their bedrooms?

Well, my wife can say that. I've "geekified" her. Hopefully, there's no turning back. September 09, 2004 08:07 PM PDT Permalink

20040827 Friday August 27, 2004

Super-Natural-Techno-Fishing-British Columbia

Road Trip Weekend to Vancouver, British Columbia

Yee....haw! Friday's almost over, and tomorrow, the Family and I drive up to Vancouver for a week to do some Super-Natural B.C. Fishing, Dimsum, More Dimsum and shopping. And maybe we'll hit up Victoria for our second time this year for the 100th Anniversary of Butchart Gardens to visit my favourite Republican rose - the "Barbara Bush" :-)

I always get this question from colleagues when I talk about driving up to Vancouver: How long does it take? The answer really depends. If I'm the sole driver and we only stop for gas and fast food, it's about 16 hours. If my wife's 27 year old cousin who learned to drive while attending Cal Poly - Pomona is rotating out, we've gotten there from SF in under 14 hours, ticket free. But these days, with a 2 year old, 4 year old, and maybe my Parents heading up with us, we stop in Oregon over night. And it's not so much that we need to stop, except, now that my wife has learned how to operate the Garmin GPS unit in the car. Over time, she's accumulated a whole bunch of waypoints. For example, did you know that 1 mile east of the I-5 exit 253 near Salem is a massive Dollar Store? Never mind that they have a massive Sportsman's Warehouse that carries a huge section of fishing tackle that I'd like to buy, but it's important for the wife, who is a Dollar Store Junky, to note all the dollar stores on the west coast, or at least the good ones. In fact, her number one discovery has been the Dollar Store in Lompoc, CA, a little town along the coast 40 minutes north of Santa Barbara. Killer deals for ANY Junky. That's on the GPS.

And just a couple of last facts - Medford, Oregon exit 27 Burnett Rd is excellent because they have a Chevron station next to a Washington Mutual ATM, next to Jack in the Box, KFC, and a HomeTown Buffet. It's cheaper gas than in California usually, they pump the gas for you, and they get those bugs off your windshield too. Plus there's lots of cheap eats around and it's literally a block off the freeway. Also, there is a Costco in Eugene, OR, off exit 195B to Coburg. It's about 1 mile west. They have cheap gasoline and more square footage, which means they tend to carry more stuff than the Costco out of exit 253 in Salem. I bought 2 toshiba laptops that run JDS/Sx86 fine btw, for just $700 each! Yeah, 256 MB units with 30 GB disks, and DVD roms. Couple that with mis-marked 256MB sodimms for $26 and what a deal! Why the focus on Oregon? Because, they don't charge sales tax. Great for buying laptops, or dig-cams for that matter.

Cumulative distance from Sunnyvale to the US-Canada Border in Blaine, WA is about 985 miles according to GPS. My mom loves one-arm-bandits, especially the nickel machines, and there are three convenient Indian Gaming Casinos on the way up. Northern California, just as you hit Tehama County there's the Rolling Hills Casino, then there's the Seven Feathers in Canyonville, OR somewhere after Sutherlin, and finally, north of Seattle the Tualip Tribes have opened a new Casino next to the Walmart at the Quilceda shopping center off I-5. That's gotta be my Mom's favourite. Wal*mart -next- to a Casino. But luckily for me, the Driver is the King - and I usually get to dictate how long we get to stay...or not stay. After all, why waste quality fishing time in a Casino, right Mom?

US Border Crossing and Homeland Security

Big brother is watching you. Just remember that. It ain't so much the Canucks as it is the Americans. The Canadians practically only need a valid Driver's License to let you into Canada. But if you wanna come back, you'll need a full passport, or US certificate of Citizenship (the real thing... not a copy), or a US Birth Certificate for a child (not a copy). You get passports for kids for $40 at your local major Post Office on certain hours of the week - usually the most inconvenient hours - and they take up to 40 days to run a background check on a two year old child, probably just to make sure it isn't a dog or illegal alien from some Stargate program in Colorado, but the Feds seem extremely willing to buck the thorough background check and expedite service back to you in a few days for a fist full of $120. (Note, prices may have changed in the last 2 years).

No firearms allowed across the border into Canada folks. Usually not a problem for Californians. But if y'all look like you're from Texas, and got your Beater White Pickup Truck with GW*2004 Sticker on the back window, well, best be ready to get mess'd with. Gettin' the picture, pardner? Blaine, WA/Whiterock, B.C. are NOT like Austin, TX.

Limits on alcohol and tobacco too. They don't get Trader Joes up in Vancouver, at least I haven't seen one, and they don't sell liquor/wine/beer at supermarkets - only in licensed B.C. Liquor stores. That means no Two-buck Chuck - Charles Shaw up there, and if you chose to bring some up, there's some limit on the quantity. I like the Okanagan wines anyway, and there's a lot of Australian imports too, and they are reasonable so there's usually no need to bring wine up there. No one in the family smokes anyway, and it'll kill you and your kids, so why smoke? I can find all the wine I need to cook and drink and it's quite good. A treat for Californian Wine lovers - if you like sweet desert wines like Ports, Sherries, Sauturnes, try some of the Okanagan Ice Wine.

No limits on how much gasoline is in your tank in Canada, but there's also seems no limit on the price north of the border. So fill'er-UP! before going across the border, because even with the exchange rate, welcome to Socialist Canada where gas costs like $3/US gallon. And I almost think it's a conspiracy in Canada to mess with American's by labeling all the gas prices in Canadian Dollars per LITER! If you're an engineer like me, at every fill-up, there you are, pumping and thinking... hmmmm...89.5 cents per liter $CDN is like...x USD and 3.78 liters per US Gallon, and what was the current exchange rate? .... Whatever. Only, you end up forking over about $70 CDN to fill up the Sienna minivan from Empty. But watch out. The prices change by 10% during the week. Usually, I try to fill up on Wed., or Thursday evening. Sometimes, they have like a discount evening and for 6 hours, they lower the price of gas by say 8 centers/liter. Then magically on Friday, they jack it all up again and then some. With my luck, I run out the day before they lower the prices that week.

Coming back into the US is problematic. Long delays, fruit and vegetable inspections, homeland security alerts can all add 2 or 3 hours at the border. I recommend taking the Highway 15/Surrey route which is a slightly different border crossing inside the town of Blaine. In fact, I often take that route coming into Canada as well. It can save an hour in line getting into B.C., and about 3 hours coming back because fewer people know about the 2nd crossing. If people are here from Non-Treaty countries (PRC, Taiwan, HKG, MiddleEast) you will need to first apply at the U.S. Consulate for re-entry permits if you visit the U.S. and then go to Canada, only to come back to the U.S. before heading on. I deal with this once in a while because a relative from Hong Kong visits us in San Francisco, but then they decide to head up to Vancouver for a few days and come back to depart from SFO back to HKG. Do NOT bring any food. With every kind of quarantine, SARS, Mad Cow, yadi yadi, the US is paranoid about everything. I even had my Safeway big deli submarine sandwich purchased at Lansdowne Mall Richmond, B.C., confiscated by hungry looking U.S. Customs agents. They claimed that the cold cuts might have beef in them and there was a quarantine. So bring no food.

Drive Slow - it's a KMH versus MPH thing

Silicon Valley drivers beware. We get so used to pushing 85 miles per hour driving on Hwy 85 or Hwy 101 to make our meetings. And the CHP (Calif. Highway Patrol) really don't monitor speed along 101 from Redwood City south to Santa Clara. And they don't do speed checks either on Hwy 85 much north of Almaden Expressway. They pretty much only check for CarPool violators. So, I admit, I sometimes follow traffic at excessive speeds. And I've gotten used to the hustle. In fact, that new offramp from 101 south to 85 south next to SGI/Microsoft in Mtn. View is a big irritant. You get a few drivers who can't handle the narrow turn at more than say 55 mph. But everyone else in their Silicon Valley Audi's and Volvo sedans with over 180 Horses are chomping at the bit to hit 80 mph on the nice curve that unwinds onto a wide and flat Hwy 85.

So, Welcome to B.C. Now slow down! I believe the Metric KM/H speed limits are another conspiracy the Canucks pull on Americans. What's up with putting in these unexpected 50 KMH (30 mph) zone like right smack in the middle of some 6 lane Freeway? B.C. recently passed a referendum where they outlawed all the un-manned radar-camera setups, but the cops are still able to set up manned traps. The worst (or perhaps best revenue generators) seem to be the West Vancouver cops. They monitor Hwy 1 and 99 near Taylor Way (exit 13) and Horseshoe Bay. And having so many transplanted bad drivers from Hong Kong that are used to driving on the Queen's side of the road, they like to nail those folks, especially those ones with embarrassingly Green [N] for Newbie driver signs stuck on the back of their vehicles. I think the West Van Police like nailing transplant drivers so much, it's second only to their love of nailing Drivers with California or Washington license plates! But in general, I've become a sedate driver after crossing the border. I've been nailed twice up there - in a MiniVan for Godsakes! But I did grovel and profusely apologize both times. The first ticket, the guy discounted, and the second time, he let me off with a warning. So I recommend practicing your grovelling. Just don't make it too obsequious or it'll come off wrong.

California Java-Slinger teaching them Canucks a thing about fishing.

If and when I decide to actually stop gorging myself on world-class Chinese, Indian, or Japanese cuisine, I may think about fishing this time of year. Folks like me who fish in California should be used to the near water-rationing desert conditions with 35 Million other anglers, many of them immigrants from cultures that are used to completely decimating fish and wildlife in their countries of origin. But even under those conditions, California provides pretty good sport for the skilled. I might even say that Californians are better anglers than most, at least the ones that can consistently catch fish. And it's due to the natural selection and competition for fishing in California.

B.C. is like a fisherman's paradise. Our vacation house is a townhome nestled half way up Howe Sound toward Squamish. It's overlooking a deep saltwater fiord that is surrounded on both sides by mountains. A golf course lies just behind our complex, and it's almost possible to cast to the water from our balconey. Our complex actually rests on a wide ledge on the side of a mountain that extends 2500 ft toward the sky to more than 1300 ft below sea level. Only, we can't see the ledge because it's covered by water. But the proximity to deep waters means that many migratory species and deepwater species of fish or crustaceans are very close to shore. Casting out 50 meters in some places will put you over waters that are more than 50 meters deep. Our complex is located next to a creek that supports 4 species of salmon - Chinook, Coho, Pink, and Chum. Sockeye do come by I'm told but I haven't caught one yet, and probably won't since they're supposedly filter feeders on plankton/krill. We have 2 types of char - Dolly Varden and Bull Trout, and lastly we have Steelhead. And the waters just a bit off shore host migrations of hundreds of thousands salmon a year that spawn in the Squamish river basin system. We also have a number of other great seafoods like rockfish (genus Sebastes), Lingcod, and Greenlings, halibut, rock sole and English sole, surf perch, dungeness crab, mussels, sea cucumbers, sea urchin, and spot prawns. Orca may infrequently visit us in the fiord, but seals, otters, black bears and bald eagles are residents. That's why they call this place Super-Natural British Columbia.

Fig. 1. Bull Trout - A type of Char, belong to the family of Salmonids. Caught on chromed 4" buzz bomb.
 

The complex is new, with the first units completed September of 2000. The last of 79 units in this phase were just finished mid 2003. There are still some discussions on a marina, boat launch, and some landscaping. And the rec-center is almost finished. We bought our unit Christmas of 2000 and were to first to get DSL and wireless within 12 miles December 2003. Up until last year, only about half the residents did any fishing and most took boat trips, heading back south to Vancouver to take a charter back out to the Straits or at the mouth of Howe Sound. Few fished the shoreline because regulations made it impossible to keep salmon in that zone. But beginning April 2003, Dept of Fisheries and Oceans Canada predicted a massive oversupply of salmon in the lower mainland system. They were predicting over 3 million salmon returning into river systems (Fraser and Squamish) that could at most support 2.7 million salmon. So they opened up the take of salmon in our near shore waters. Well, DFO's estimates were wrong. Last year, more than 5 million salmon returned into the lower mainland. It didn't drop the price of canned salmon at Costco (those bastards!) but it sure made fishing a lot of fun. For a California resident, the annual $200+ tidal/non-tidal non-resident-alien license was hefty. But the ability to head out 3 evenings in a row, toss a little piece of pink painted metal and nail salmon after salmon after salmon made the price of the license a pretty decent investment. I released the vast majority of the catch and only kept one to eat - which was delicious. But because the salmon returned at different times, Pinks first, then Chinook, then Chum, and then Coho... it was continuous fishing for the neighbours living there from July through October.

Moreover, I began a trend in the technology of fishing. It had three phases. The first was to get the proper equipment. Shore casting for fish is different than boat fishing. Instead of dropping a lure over the side and dragging it behind a slow moving boat (aka Trolling), anglers need to cast out and retrieve constantly. The fish can get spooked and move off shore when humans approach the edge. This isn't a big problem in California because we have big surf and waves that pound the coast. The fish are living in a loud disco-washing machine combo drive, and couldn't care less about humans. But inside Howe Sound, there is very little surf and tidal action. The water is usually calm, unless we have a big Tsunami. And it has to be a BIG Tsunami. The recent Seattle earthquake a few years ago did a little water-hammer action on the toilets, but that was all. We had mysterious blue-spots from dried toilet bowl cleaner on the undersides of our toilet seats when we arrived back up. But none of the neighbours saw any tidal action in the Fiord itself.

The tides raise and lower water by as much as 3 meters in a day, but with little surface disruptions and smooth and steady currents only. Under these conditions, we can expect schools of salmon to only be drawn inshore during high tides and seasonnally when there are fingerling Chum smolts or baby Coho salmon in the shallows to feed on.

What's needed is equipment to cast precisely upto 100 meters out and to retrieve quickly enough to match the blistering speed of a 25 lb chinook salmon, which can swim in bursts in excess of 12 knots or so. A distance surf casting rod for upto 3 oz of metal lures, and a fast gear ratio levelwind are what I specified. I actually built a number of rods for both boat and shore fishing for salmon fishing in Howe Sound, and they performed fairly well. I experimented with building rods that had more guides or less guides, longer, shorter, and with different tapers. I wrote a Java applet to compute the guide spacing on the rods.

I supplied Abu Garcia 5600c4 reels with 6.3:1 gear ratios as standard equipments. These reels are 19% faster on retrieve than the Abu Garcia c3 series of reels with only 5.3:1 gear ratio. This is a small difference on the surface, but knowing that the regulations require barbless hooks and single shaft hooks means that any sustained slack in the line may give the fish an opportunity to spit the lure out, the extra gear ratio means that I can crank faster and keep up with the fish. Especially if a chinook swims towards you. Results on the fish concurred with hypothesis.

Fig. 2. Custom-Built Spinning rod for B.C. Note the Blue-Gold colour scheme. Cal Berkeley - Go Bears. Eat your hearts out Stanfurd.
 

I also introduced 20 and 30 lb test line made from very high-tech Spectra fibre. Yes, the same stuff they use to make the new generation of bulletproof vests. This is roughly 4 times the strength to cross-sectional Area ratio of nylon monofilament and has zero stretch. The 30 lb test spectra line has the equivalent diameter of 8lb test mono. In addition, at 80 meters out, if a fish bites, nylon monofilament has too much stretch to provide any real way to exert much hook-set power on the fish. With spectra fibre braid, that changes the name of the game. Technology allows us to set the hook and exert power and with less fear of line breakage. The only problem with this line is the cost. Because it's imported into Canada, the costs are about twice that of the US, where most of the gel-spun fibre fabricators are located. NAFTA helps us here, because the tax-free stuff I can buy in Oregon that has a "made in USA" sticker on it can be imported into Canada for private use in any quantity with no duty. Don't get me wrong; the stuff is still expensive down in the U.S. Expect to pay $15 for 300 yds of the low quality stuff and about $23 for 150 yds of the good stuff. You can get spools of bulk premium mono for $8 per 1000 yds.

Tackle alone doesn't catch fish. Doing some research on local forage was useful. Using the internet and scouring websites on Salmon lifecycles, I learned that other species of Salmonids, like Dolly Varden, Bull Trout and Steelhead, often take up residence in saltwater estuaries for baby salmon. Trying out chromed and painted lures that matched the current size, shape and colour of salmon smolts immediately caught Dolly Varden and Bull Trout. Some as large as 36 inches! The above picture is a bull trout (a type of Char), released. It topped out at over 30 inches.

Lastly, I introduced the neighbours to my Tide Server. It's free software that uses Xtide, from David Flater. There is also a Palm OS version called "TideTool" that is based on the same software. There's a 600kB database that includes datum for the entire N.America West Coast. These tools have made local tide prediction much better than a crap shoot using newspaper almanacs that report for too wide an area. Because I live so close to the water and it's less than 3 minutes from walking out the door to wetting my line, having this tide technology lets me target the most productive 45 minutes in the tide cycle and catch fish. That's more fish in less time, leaving more time, of course, to head down to Richmond, B.C. for Dimsum!

So is all this high-tech fishing an unfair advantage for this ex-Canuck now turned California Boy? Yeah, but the edge has been short lived. I was competitive until my neighbours got their DSL hooked up, started hammering my servers, and put in orders to have me build a half dozen salmon casting rods. In addition, they're out there now in float tubes and kayaks nailing 24 lb lingcod! But being the landlubber that I usually am, I joke with them about getting swallowed by Shamu one of these days. It's remote, but it could happen! :-). In exchange, they have dropped off some vigourously pinching dungeness crabs and buckets full of flapping spot prawns. August 27, 2004 03:49 PM PDT Permalink