sprocket i/o

thomas stromberg on technology, nature, and motorcycles

sprocket i/o header image 2

Rekeying things

February 22nd, 2008 · Comments

It’s been a busy week, pushing to get the first ‘public’ beta of an internal tool I’ve been developing for over a year available. I feel like I can get back to taking care of things in my real life. It’s not that they’ve been working me very hard, it’s just that at times like this, I tend to stay hyper-focused on a single task, and unable to distract myself from it for more than a minute or two. So, yesterday I finally got to a few things on my TODO list.

Rekeyed my Gas Cap

So, as I found out, even if you buy a new gas cap for an F650GS, you still need to replace the key cylinder if you want it to close properly. Two weeks worth of using duct-tape to seal it shut are over. The new cylinder only cost $21, including having it rekeyed. Took me a good 25 minutes to get everything put back together correctly though.

New ~/.profile

Since 1999, I’ve basically been using and tuning the same shell initialization scripts for all of my UNIX machines, regardless of shell. I hated the way something was being done on Mac OS X, so I rewrote it and released it as the ultimate-profile. It’s mostly tuned for zsh, but equally at home with bash, sh, or ksh. Here is a sample of what it looks like when you connect into a machine with it:

// uProfile(zsh) 3.0-667 :: MacOS X 10.5.1
// 4 x Intel Core2 Quad Q6600 @ 2.40GHz, 8192MB RAM, load 0.09
// PATH += /usr/local/sbin:/usr/libexec:/opt/local/sbin:/opt/local/bin

Getting all of the hardware/patchlevel information on every platform was tricky, and required a massive amount of testing. Thanks in part to the HP TestDrive Program and VMware Fusion, I was able to test my scripts on nearly 20 combinations of operating system and architecture. I even have a screenshot of being logged into 17 different UNIX versions.

Special hatred goes to HP-UX, which makes it especially difficult to gather hardware information as a normal user:

ram=$((`grep Physical  /var/adm/syslog/syslog.log | tail -1 | \
               cut -d: -f5 | cut -d" " -f2` / 1024))
top -s1 -n1 -u -f $tmpdir/top.$$
num_procs=`cat $tmpdir/top.$$ | egrep "[0-9] .*%" | grep -vc avg`

I’m still not able to discover what speed the processors are under HP-UX without root.

Missing ZFS volumes

On my home backup server running FreeBSD 8.0, my ZFS volumes that I use for backups disappeared one day out of the blue. I presume it was related to a power outage, but didn’t get around to solving it until this morning. In a very scary way, zfs list simply said “no datasets available”. This morning I ran zpool list instead. It was only slightly more positive:

NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
backup                     -       -       -      -  FAULTED    -
backup-750GB               -       -       -      -  FAULTED    -

So, I run zpool status backup:

  pool: backup
 state: UNAVAIL
status: One or more devices could not be used because the label is missing
        or invalid.  There are insufficient replicas for the pool to continue
        functioning.
action: Destroy and re-create the pool from a backup source.
config:

        NAME        STATE     READ WRITE CKSUM
        backup      UNAVAIL      0     0     0  insufficient replicas
          da1       UNAVAIL      0     0     0  corrupted data

That doesn’t sound good. the backup-750GB says the same. I look at the fdisk labels on the devices, and notice that my 750GB firewire drive (backup-750GB) is on da0, and my 1000GB USB drive (backup) is on da1, which is opposite of where they were when I defined my zfs pools. I wasn’t quite sure what to do to get the volumes rekeyed to the new device names, but knew that I didn’t want to run zpool destroy. I found that importing and exporting the pools made the mountpoints come back to life:

sudo zpool export backup
sudo zpool export backup-750GB
sudo zpool import backup
sudo zpool import backup-750GB

I hate it when devices renumber themselves.

Sent the broken 80-400mm off

While I wrote about it some weeks ago, I finally got around to mailing off my Broken 80-400mm lens. Assuming that Nikon will fix the lens for a reasonable cost, I will buy a quick release lens plate for it before I try to use it on a tripod next. Lesson learned.

Interview Backlog

I interview 3-4 people a week at work for various positions around the company. I take a lot of pride in helping shape the future of the company, but I fell behind in getting my feedback completed. I spent yesterday getting all this done, and even referred an aquaintance for a job. If you think you’ve got what it takes, we’re hiring..

Our interviewing system plays a huge role in how successful we are as a company. When I think back, all the worst companies I’ve worked at were the easiest to get hired at. If you don’t get a good technical grilling when you interview, chances are that you will be working with a bunch of idiots. Google places a lot of value on technical phone screens, and in-person technical interviews. Before you even get to talk to a manager, you have to score well with your peers on both a technical and a social level. Unlike most companies, the manager doesn’t pick who is hired or not, but your future peers do, as well as the dreaded hiring committee.

Sure, it makes the interview process here a lot longer than other companies, but it’s by far the most fair one I’ve seen. The end result of our interview process is that I get to be surrounded by people smarter than myself — yes, even the managers!

Tags: other

 

Trackbacks

(Trackback URL)

close Reblog this comment
blog comments powered by Disqus