Personal urinal

I recall having a conversation about this somewhere. Wouldn’t it be great if you had a urinal at home in your bathroom? No more issues with whether the seat is up or down or whatever, no issues with aiming correctly, and you can save time too! Well, yesterday we went to visit my wife’s friend’s new house in Taoyuan. And what do you know, in their main bathroom they have both a toilet and a urinal. And not only that, but it was one of those fancy kinds with the auto-flush censor. If I ever have the opportunity to remodel or build a house, there’s gonna be a urinal in at least one of the bathrooms.

Asian countries promise to get tough on spam

On Wednesday, several Asian countries got together and signed a multilateral MOU (memorandum of understanding) pledging them to cooperate in cracking down on spam. While there’s not much beyond a general agreement, this is a positive step.

http://www.minister.dcita.gov.au/media/media_releases/asia-pacific_cooperation_on_spam

F&SF fixes things

Hey look, they changed it to TAIWAN REPUBLIC OF CHINA:

April 28, 2005

James Lick
52, 1F Zhong Yuan Street
TAIPEI 104-69
TAIWAN
REPUBLIC OF CHINA
jlick@drivel.com

Dear Mr. Lick:

Thank you for letting me know about the error.

We’ll send replacement copies of your March and April issues and we’ll fix your address in our system. Sorry about the error.

Sincerely,

Andrew Grossman
Circulation Manager
Fantasy & Science Fiction

The ‘One China’ thing can be really annoying sometimes

Found out why I wasn’t getting a magazine subscription I ordered a couple of months ago.

First a capsule history: China used to by run by an emperor. The emperor ceded Taiwan to Japan. Then the Nationalists (KMT) overthrew the emperor and established the Republic of China government. The Communists started a civil war to overthrow the Nationalists to make China communist. Meanwhile Japan was invading parts of eastern China. After WWII, Japan abandoned their claim to Chinese territories, including Taiwan. The civil war then picked up steam with the communists eventually capturing from the Nationalists all territories except Taiwan which continues to be administered by the Republic of China government, while the communist territory is administered by the People’s Republic of China government. Each side has maintained a general policy that their government is the rightful government of all Chinese territories, while various countries have established diplomatic relations with one side or the other, and maintain a ‘One China’ policy. ‘One China’ policy is an intentionally vague concept which various sides try to interpret as meaning different things at different times. It’s hard to write all this up in an objective way, but I think that comes pretty close.

The terminology I prefer to use is to refer to the People’s Republic of China or PRC when referring to the communist government ruling the mainland, and Republic of China or ROC when referring to the government ruling Taiwan. When referring to one or the other geographically, I use the terms China for the PRC bits and Taiwan for the ROC bits. While somewhat inaccurate, that’s the terminology that most people are familiar with. Sometimes though, I have to use the term ‘Chinese Taipei’ because that’s one of the few terms the PRC finds acceptable for referring to Taiwan in international groups it participates in, and will refuse to participate when groups use other terminology.

For my mailing address, I usually use “Taiwan ROC” as the country. This combines the form most people are familiar with and the abbreviation for the proper name of the governmental entity. Alternatively, “Taiwan” or “Taiwan Republic of China” would probably work fine, though spelling out “China” like that will confuse some people, as would just writing “Republic of China”.

Because this is all very confusing, and because the PRC often objects when they see certain references to Taiwan or the Republic of China, there’s often some very creative ways people have come up with to refer to Taiwan in their ordering systems. It’s common to see such things as “Taiwan, Province of China”, “Taiwan, China”, or “Chinese Taipei” in some ordering systems. These forms are variously confusing, inaccurate, and in some cases intentionally demeaning. And they can all lead to mail going astray.

So back in the middle of January, I decided to order a subscription to Fantasy & Science Fiction magazine. With most subscriptions, I have them sent to my US address and pick them up on my occasional trips. The difference in cost for F&SF was not that much, so I decided to have it sent directly here. I don’t remember what they had in place back then, but currently they have a free-form box to enter the country yourself, so chances are I put in “Taiwan ROC” or maybe “Taiwan”. I got an email confirmation that said to allow up to 12 weeks for International subscriptions to start, so I waited until a few days ago and then shot off an email to them asking what’s up.

The response was sadly that they have invented yet another broken way to write my address, and were sending my issues to “PEOPLES REPUBLIC OF CHINA”. And even more sadly, though I’d included my correct mailing address in my email to them, they only noticed that the postal code was different. (We just expanded from three digit to five digit postal codes, and both old and new still work, just like both 5 and 9 digit zip codes in the US still both work.) My reply was quite restrained, given that “Wrong country, DUMBASS!” would probably not be too far out of line. I will make sure they extend my subscription as well as soon as they sort it out.

USB Disks on Solaris 10 x86

USB support in Solaris is greatly improved these days. One thing I’ve had as a goal for a while now is to more fully migrate my server backups to using disk instead of tape. (Disk for backups? Isn’t that backwards? Actually, if you look at media prices, IDE disks are WAY cheaper than tape media, and that doesn’t even cover the exorbitant cost of tape drives. And rsync *rocks* for this type of application.) One thing that’s still keeping me on tape in addition to disk is that I don’t have any way to do easy offsite storage with disk. But USB drives provide a perfect opportunity to do this.

I’ve been playing a lot with Solaris 10 x86, so I decided to see how hard it is to get a USB disk installed. Unfortunately there’s not a whole lot of documentation out there, and what I could find was pretty vague, along the lines of ‘run rmformat’ which tells you approximately 5% of what you need to know. There’s a couple of pitfalls if you just poke around, so here’s the complete procedure I worked out.

Keep in mind that this is for Solaris 10 x86. The sparc version would be different, but would probably just skip the fdisk stuff and the s2 workarounds. This procedure also assumes you want to use ufs as the filesystem instead of something else like FAT (aka pcfs). Also remember that ufs drives cannot be shared between sparc and x86 servers because of the different methods for layout on the disk. This assumes that your USB chipset is supported and that your USB disk doesn’t require some proprietary driver. Most USB chipsets are supported in Solaris 10 x86, and most current USB disks on the market are generic. If the disk is plug-and-play on XP and Mac, it’ll probably work. The setup requires root access.

Disable Volume Management: /etc/init.d/volmgt stop

(If you don’t, vold will get in the way of what you are doing.)

Plug in your USB drive.

Look at end of file /var/adm/messages and run prtconf -v to verify it is recognized.

/var/adm/messages:

Apr 24 01:16:27 yemaozi.tcp.com usba: [ID 912658 kern.info] USB 2.0 device (usb4b4,6830) operating at hi speed (USB 2.x) on USB 2.0 root hub: storage@6, scsa2usb0 at bus address 2
Apr 24 01:16:27 yemaozi.tcp.com usba: [ID 349649 kern.info] Cypress Semiconductor USB2.0 Storage Device DEF1097DC60E

prtconf -v:

            storage, instance #0
...
                Hardware properties:
...
                    name='usb-product-name' type=string items=1
                        value='USB2.0 Storage Device'
                    name='usb-vendor-name' type=string items=1
                        value='Cypress Semiconductor'
                    name='usb-serialno' type=string items=1
                        value='DEF1097DC60E'
...

Run rmformat -l to list removable drives:

Looking for devices...
     1. Logical Node: /dev/rdsk/c1t1d0p0
        Physical Node: /pci@0,0/pci-ide@1f,1/ide@1/sd@1,0
        Connected Device: ASUS     CD-S520/A4       1.21
        Device Type: CD Reader
     2. Logical Node: /dev/rdsk/c2t0d0p0
        Physical Node: /pci@0,0/pci1297,fb62@1d,7/storage@6/disk@0,0
        Connected Device: SAMSUNG  SP1604N
        Device Type: Removable

The first device is the CD-ROM drive. The USB disk is device 2, which is at /dev/rdsk/c2t0d0p0

First create fdisk partitions: run fdisk -B /dev/rdsk/c2t0d0p0 which assigns the
whole disk to solaris. You may need to use fdisk interactively if the disk already had PC style partitioning on it to remove all other partitions before proceeding.

Add a label: rmformat -b usb-sam /dev/rdsk/c2t0d0p0

This label can be up to 8 characters. You don’t have to add one, but if you don’t add a label, it will show up as “unnamed_rmdisk” under volume management which looks icky. Here we used the label ‘usb-sam’.

Now here’s where it gets a little tricky. If you’re used to working with sparc stuff, you know that you can use partition s2 to make one big partition using the whole disk. On Solaris x86, there’s always a one cylinder boot partition (s8) at the beginning of the disk. This applies even if you’ll never boot off of that disk. So if you want to use the whole disk, you will have to start any data partitions at cylinder 1 instead of 0. Another catch is that Volume Management by default looks for s2 on removable disks, so if you use a different partition such as s0, it won’t automatically mount. But format won’t let you change the size of s2 if you keep the partition id as ‘backup’. So putting all of this together, the easiest way to resolve this is to change the partition id of s2 to ‘root’, set the permissions to ‘wm’ and then resize it to start at cylinder 1 and use the rest of the disk.

Partition disk: run format -e. Without the -e flag, Solaris won’t show
removable disks. Select your USB disk and then enter the following commands to do as described in the previous paragraph:

partition
2
root
wm
1
press enter for default
label
press enter for default
y
quit
quit

Run prtvtoc /dev/rdsk/c2t0d0p0 to verify partitioning, e.g.:

* /dev/rdsk/c2t0d0p0 (volume "usb-sam") partition map
*
* Dimensions:
*     512 bytes/sector
*      63 sectors/track
*     255 tracks/cylinder
*   16065 sectors/cylinder
*   19456 cylinders
*   19454 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
       2      2    00      16065 312512445 312528509
       8      1    01          0     16065     16064

Verify that partition s2 does NOT start at sector 0.

Now create a filesystem: newfs /dev/rdsk/c2t0d0s2

Re-enable Volume Management: /etc/init.d/volmgt start

It should show up after a second or two:

df -k:

Filesystem           1K-blocks      Used Available Use% Mounted on
...
/vol/dev/dsk/c2t0d0/usb-sam/s2
                     153893759     65553 152289269   1% /rmdisk/usb-sam/s2

When you want to remove the disk, don’t just unplug it from the system. You need to use eject to have Volume Management unmount it first: eject usb-sam

Here we use the disk’s label to identify the device to eject. If you didn’t use a label you can do this instead, though it will be ambiguous if you have multiple removable disks in use: eject rmdisk

Then before you actually unplug the drive, you will need to stop Volume Management because it cannot deal with devices being unplugged. This has to be the stupidest thing ever. Here’s what the manual says:

     A disk storage device can not be removed or  inserted  while
     vold  is  active.  To  remove  or  insert  a removeable mass
     storage device such as a USB memory stick,  first  stop  the
     daemon by issuing the command /etc/init.d/volmgt stop. After
     the device has been removed or inserted, restart the  daemon
     by issuing the command /etc/init.d/volmgt start.

So much for Volume Management being automatic. Optionally you can either remove rmdisk support in vold.conf or disable vold completely and mount/unmount the drive manually. Would probably be easier.

An update

Wow, it’s been two weeks since I’ve posted anything. What with all my health problems and various other pressures, I decided I needed to step back from things a bit and take some time out to concentrate on stuff that needed to be done without the distractions that often eat up my time. So I ignored LJ, signed off of some mailing lists, shutdown IM, logged off a couple of MUDs, and then took a look around to see what I really needed to be doing.

Unfortunately the fates took this opportunity to throw another monkey wrench into things, and one of my hard drives went belly up. This is the second Maxtor drive that has mysteriously flaked out on me recently. Before, I had preferred IBM (now Hitachi) drives for desktops, but they had a string of really bad failures with the 45, 60, and 120 gig drives, so I’ve been avoiding them. From a search of the net it seems that Maxtor is going through a similar stretch of reliability problems. This is further compounded by disk manufacturers ratcheting back on warranties such that a lot of drives only come with a one year warranty now. The previous Maxtor that failed only had a one year warranty and had already expired, but the current one that died has a two year warranty that’s still good, so at least I’ll be able to get it replaced.

Anyhow, after several days of repairing things with the excellent utilities Spinrite and HDD Regenerator, I was able to get to the point where I could get most of the files off. In all, there were five files that wouldn’t copy, three of which I was able to re-download, and the last two which weren’t very important anyways. Still lost a couple of days there.

Looking around the net, the current feelings seem to be that Western Digital and Seagate are most reliable for desktop drives. Looking into warranty practices, Seagate is still quite traditional in that they offer a full FIVE YEAR warranty on all their drives. A warranty of three years is probably enough, because the drive will be close to being obsolete by then. But the fact that they still offer five year warranties seems to say “we expect this drive to last” while a one year warranty seems to say “hope you have a backup, suckah”.

As for Western Digital, their drives come with various warranties from one to five years depending on the model. For example, a Caviar drive will have a one year warranty while a Caviar SE, while otherwise looking identical in spec and performance has a three year warranty. The interesting thing is that Western Digital offers a warranty extension for drives with less than three year warranty for a nominal charge. I looked at my WD drives and while one of them already had a three year warranty, the other two were the one year kind and almost at their expiration. I was able to extend their warranties to three years each for USD14.95 each. Not a bad deal.

So from now on I’ll be looking for WD and Seagate drives for future purchases, and will extend the warranty on any WD drives coming with only one year of coverage. But anyways, that episode set things back a bit more.

After that I was able to get a lot of things done that I had been putting off, and at this point I’ve gotten through the bulk of things I’d put off, so feeling pretty good about things. Also haven’t had any health problems for a couple of weeks, so that’s good too. Meanwhile, the weather is starting to turn hot here. It probably won’t be long until I’ll need to crank up the air conditioner.

More on sms.ac

The friend who supposedly sent me the sms.ac invitations swears up and down she knows nothing about it. Because several mutual friends have accounts on my mail server, I checked the logs and found that the invitations were sent by ‘her’ to 7 different addresses on my mail server, all mutual friends. At this point it’s a mystery how sms.ac happened to get those addresses, but there’s an awful stink about it.