Notes from a Carbon Based Life Form
thoughts, opinions, and drivel. 100% free, guaranteed.
All | General | Music | Random | Satisfaction | Solaris | Wine

20090306 Friday March 06, 2009

Good Bye, Sun. Thanks for 4 great years. Today was my last day at Sun. I'm leaving and heading to Carpathia Hosting, Inc. Carpathia is a small hosting company that's growing fast, and the lure of getting in early at what is essentially still a startup environment despite having been in business for a number of years. My job will be pretty much the same, as I'll be a Senior System Administrator. I'll be working with several former coworkers from 3 of my past jobs. I'm excited about the opportunity, even though I'm sad to leave the truly extraordinary team that I'm leaving behind. Not much else to say. Have a good weekend, I guess. Posted by tkblog ( Mar 06 2009, 09:48:14 PM EST ) Permalink Comments [1]

20080516 Friday May 16, 2008

diskread: reading beyond end of ramdisk (& how I recovered)

We had to do a maintenance to replace a NEM module in a Sun Blade 8000 Modular System.

Two of my team mates went on down to the datacenter on other business and graciously offered to SWAP the NEM for me. The pulled the old one out, stuck the new one in.

That's as simple as it should have been.

Should have been. I wish. Instead, the chassis started to freak out, cycling it's power over and over, and somehow was taking the CMM with it. In between one set of cycles, I was able to connect to the CMM via console and paste in a bunch of commands to shut down chassis power. I let it sit for a moment, then began to power up the system. First the chassis, then the individual blades. One blade came up, no problem. The next two, though, were very much less than happy, spitting out errors like:

diskread: reading beyond end of ramdisk
	start = 0x2000, size = 0x2000
failed to read superblock
diskread: reading beyond end of ramdisk
	start = 0x2000, size = 0x2000
failed to read superblock
panic: cannot mount boot archive
Press any key to reboot

The GRUB menu was coming up OK, though, so I pressed the trusty any key, booted into Solaris 10 Failsafe mode. This was no picnic either.

SunOS Release 5.10 Version Generic_120012-14 32-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Booting to milestone "milestone/single-user:default".
Configuring devices.
Searching for installed OS instances...
NOTICE: /a: unexpected free inode 5825, run fsck(1M)
/dev/dsk/c2t0d0s0 is under md control, skipping.
To manually recover the boot archive on a root mirror,mount the first
side (the one that the system boots from) and run:

        bootadm update-archive -R 

umount: /a busy

No installed OS instance found.

Starting shell.
#

My immediate thought was "WTF? No installed OS instance found?" Closer inspection revealed that it had in fact found two possibilities, but one c2t1d0s0 was inconsistent and needed a fsck, and the second c2t1d0s0 was under md control, and so being skipped.

An fsck of /dev/dsk/c2t0d0s0 revealed a few inconsistencies. Here's an example. I think this was actually the 3rd of 4 fscks I ran on this dev:

bash-3.00# fsck /dev/dsk/c2t0d0s0
** /dev/rdsk/c2t0d0s0
** Last Mounted on /
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3a - Check Connectivity
** Phase 3b - Verify Shadows/ACLs
** Phase 4 - Check Reference Counts
UNREF FILE  I=1457  OWNER=root MODE=100644
SIZE=657 MTIME=May 15 18:01 2008
RECONNECT? y

UNREF FILE  I=1458  OWNER=root MODE=100644
SIZE=675 MTIME=May 15 18:06 2008
RECONNECT? y

** Phase 5 - Check Cylinder Groups

CORRECT BAD CG SUMMARIES? y

CORRECTED SUMMARY FOR CG 0
FRAG BITMAP WRONG
FIX? y

FRAG BITMAP WRONG (CORRECTED)
CORRECTED SUMMARY FOR CG 4
CORRECTED SUMMARY FOR CG 12
CORRECTED SUMMARY FOR CG 30
CORRECTED SUMMARY FOR CG 70
CORRECT GLOBAL SUMMARY
SALVAGE? y 

Log was discarded, updating cyl groups
46737 files, 1720899 used, 24099860 free (21460 frags, 3009800 blocks, 0.1% fragmentation) 

***** FILE SYSTEM WAS MODIFIED *****

So far, so good. Let's reboot, and see if we an come up in a multi-user state. So ... reboot ... wait ... wait ...

CRAP! Same panic as our previous boot. We're missing something. A further delve into google reveals that I need to recreate the ramdisks for boot. A boot into failsafe mode again, allows me to fsck c2t0d0s0, which is mounted on /a, and remount it -o rw. bootadm update-archive fails, due to fs inconsistency. Another fcsk, we're in single user, nothing is using that disk, so I just ran the fsck without remounting -o ro. Now, let's skip bootadm and just move straight along to /boot/solaris/bin/create_ramdisk.

bash-3.00# /boot/solaris/bin/create_ramdisk -R /a
Creating ram disk for /a
updating /a/platform/i86pc/boot_archive...this may take a minute

That's it! That's the little piece of magic that fixed it. After that, I was able to reboot, and the server came right up into runlevel 3. Not without a few minor errors, but at least it was up.

SunOS Release 5.10 Version Generic_127112-11 64-bit
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: generic
NOTICE: /: unexpected free inode 9193, run fsck(1M) -o f
NOTICE: /: unexpected free inode 5961, run fsck(1M) -o f
WARNING: /: unexpected allocated inode 9637, run fsck(1M) -o f
Loading smf(5) service descriptions: 1/1
/dev/md/rdsk/d60 is clean
/dev/md/rdsk/d30 is clean
/dev/md/rdsk/d20 is clean

generic console login:

At this point it was pretty simple to complete the fix, which, not wanting to reboot into failsafe mode and fsck a bunch more to recover from the unexpected free and allocated inodes, I wrote a script to: by turns, detach each have of the root mirror, clear the detached metadevice, newfs the raw device, re-create the metadevice, and attach it once again to the mirror. Let it sit long enough to complete the resync, and repeat the same steps on the other half of the mirror.

#!/bin/sh
#
# fix-mirror.sh
#
# 05-16-2008 Tim Kennedy 
#
# This script will take one argument, which should be the 
# metadevice of the mirror you want to rebuild.  This script
# will determine the Submirrors, and one at a time, detach,
# clear, newfs, re-init, and reattach them.
# For me this has solved problems with ailing filesystems,
# while replacement storage is procured.
#
# YMMV.  Use at your own risk.  This is not in any way to
# be considered a Sun Microsystems product, and is not in
# any way supported by Sun Microsystems.
#
 
PATH=/usr/bin:/usr/sbin
export PATH
 
MIRROR=$1
 
check_return () {
        RETURN=$1
        if [ $RETURN = 0 ]; then
                printf "%-6s\n" "[ok]"
        else
                printf "%-6s\n" "[err]"
                echo 
                echo "please check the last step manually to see why it failed."
                echo
                exit 1
        fi
}
 
for m in `metastat $MIRROR | grep "Submirror of $MIRROR" | cut -d: -f1`; do
        echo "Found Submirror $m"
        DEVICE=`metastat -p $m | awk '{print $NF}'`
        printf "%-72s" "    -- metadetach $MIRROR $m"
        metadetach $MIRROR $m >/dev/null 2>&1
        check_return $?
        printf "%-72s" "    -- metaclear $m"
        metaclear $m >/dev/null 2>&1
        check_return $?
        printf "%-72s" "    -- newfs /dev/rdsk/$DEVICE"
        echo y | newfs /dev/rdsk/$DEVICE >/dev/null 2>&1
        check_return $?
        printf "%-72s" "    -- metainit $m 1 1 /dev/dsk/$DEVICE"
        metainit $m 1 1 /dev/dsk/$DEVICE >/dev/null 2>&1
        check_return $?
        printf "%-72s" "    -- metattach $MIRROR $m"
        metattach $MIRROR $m >/dev/null 2>&1
        check_return $?
        printf "%-72s" "    -- checking resync status before continuing "
        while [ 1 ]; do
                STATE=`metastat -c $MIRROR | head -1 | grep resync`
                if [ "x${STATE}" = "x" ]; then
                        printf "%-6s\n" "[ok]"
                        break;
                else    
                        sleep 60
                fi
        done
done

Now these blades are happy once again. We'll see how long that lasts or if they continue to have problems of any sort. My hope is for the former.

Have a good weekend.

Posted by tkblog ( May 16 2008, 10:46:57 PM EDT ) Permalink

20080322 Saturday March 22, 2008

solaris 10, sun cluster, zfs, and zones not creating devices

I had this strange problem where zones weren't properly creating devices. This is on a newly Jumpstarted Solaris 10, Sun Cluster 3.2, cluster. The strange part is that we have 8 other clusters that all run zones, and none of them have the problem. I thought it might have been something wierd with ZFS, but other zones on ZFS roots can create devices.

As it turns out, the Jumpstart server that we built this cluster with is not as 'up to date' as our 'main' Jumpstart server, and was not patching new builds up to the latest kernel patch.

Updating the system with kernel patch 127111-11 resolves this issue. This patch patches a ton of stuff.

The specific bug that hit us was bugID 6608977 can't add device to non-global zone in S10 update 4.

That bug was actually fixed in 127111-03 but 127111-11 fixes a ton of stuff.

Posted by tkblog ( Mar 22 2008, 09:46:08 PM EST ) Permalink

20071008 Monday October 08, 2007

Parallel trends in hardware, software, and services

There is *A LOT* of content here at CEC 2007. There are hardware groups presenting on trends in processor technology like CMT (Chip Multi-Threading) like the Niagara Processors. In some ways Sun's Niagara processors consolidate entire systems onto a chip. They certainly consolidate multiple processors into a single chip. There are Software groups presenting on a variety of consolidation and virtualization techniques like Logical Domains, Containers (Zones), and Virtual Machines (VMware and Xen xVM). This would allow you, for instance, to consolidate 10 single purpose servers that spend most of their time less than 10% utilized into a single multi-processor (CMT) system, with ten zones (or more), that would allow for one server that's closer to 100% utilized, to replace those other ten older systems. Then we have Services groups presenting on new services like Data Transport Services that will allow us to modernize old services and develop new services, on a common framework that would provide value-add services like consolidated registration services, consolidated authentication and authorizations services, and the previously mentioned data transport services, out of the box.

It seems that the whole premise of these 3 parallel trends in hardware, software, and services is all to abstract each layer from the others. It's all part of Redshifting and Blueshifting. Abstracting the hardware layer from the application layer (through the OS layer and virtualization) we can expand our support for Redshift applications. Those applications that are growing faster than single purpose servers can continue to support them. We can make many systems appear as a single consolidated system to the OS and application, allowing for horizontal scalability for redshift applications. Those same developments in hardware and software (particularly the OS) allow us to support Blueshift applications just as well, by leveraging a different perspective of the same stack. Instead of making multiple systems appear as one, we can make one system appear as many, though the use of virtual machines, logical domains, and containers. Then we can take applications and systems that typically underuse systems, and combine them, onto a common platform, without them even knowing it.

It's an exciting time to be in IT, if you're the sort that enjoys always being challenged, and always feeling like you can never keep up with enough of the developments out there.

Posted by tkblog ( Oct 08 2007, 08:38:06 PM EDT ) Permalink

20070727 Friday July 27, 2007

IRS Loses In Court On Income Tax Legality!

The Internal Revenue Service has lost a lawyer's challenge in front of a jury to prove a constitutional foundation for the nation's income tax, and the victorious attorney now is setting his sights higher.

The jury in U.S. District Court in Louisiana voted 12-0 to find Cryer, of Shreveport, not guilty of failure to file income taxes for two years. He had been indicted in 2006 on charges of failing to pay $73,000 to the IRS in 2000 and 2001. The next step in his personal case will be up to the IRS and prosecutors, if they choose to continue the issue, he said.

"There are three points that are important," he told WND. "There's no law making the average working man liable [for income taxes], there's no law or regulation that allows the IRS to contend that earnings are 100 percent profit received in exchange for nothing, and the right to earn a living through any lawful occupation is a constitutionally protected fundamental right, and it is exempt from taxation."

Here's the article at Digg.

Maybe this will promote the idea of a flat tax!

Posted by tkblog ( Jul 27 2007, 12:43:20 PM EDT ) Permalink

20070705 Thursday July 05, 2007

T-Mobile announces Hotspot @ Home service

I was just reading this story about a T-Mobile announcement that got lost amid the iPhone hub-bub.

It seems that T-Mobile may have found a way to compete on some levels with the likes of Skype. For the grand old introductory price of $10/month, or $20/month for family plans, you can add Hotspot@Home to your service. When you do this, your cell phone calls will hand-off to wifi hot-spots when you're in range of a wifi network, seamlessly no less. And vice versa when you move from a wifi coverage area to a cellular coverage area.

Pros: Wifi calls are FREE. Who ever heard of a phone company doing anything for free?
Calls initiated on wifi are free, even if you later hand off to the cell network!

Cons: Lack of selection of phones. That's a big con for me. If it worked with my T-Mobile DASH,
I would sign up today, and never look back.

It's an interesting start though.

Posted by tkblog ( Jul 05 2007, 10:38:13 AM EDT ) Permalink

20061106 Monday November 06, 2006

In 2004, 53% of Eligible Americans Voted

Please Vote tomorrow.

Vote for change, or vote to keep things the same. Just get out and vote. Take a sick day or vacation if you have to, or vote on your lunch break. It's worth it, really.

Think of the last Presidential Election. Pretty contested, right? Not how you think.

Only 53% of the eligible voting population actually got off their duffs and voted. That means that 47% of the population either beleives that voting makes no difference, or that there's not a significant difference between Bush and Kerry. No matter what... that's the real poll that we should be worrying about. That almost half of the population

Dubya was elected by a majority of 50.7% of the vote in 2004.
Out of 55.3% of the eligible population that turned out to vote.

In 2000 he was elected by the Supreme Court a 47.9% majority.
Out of 51.3% of the eligible population that turned out to vote.

Bubba was elected by a majority of 49.2% of the vote in 1996.
Out of 49.1% of the eligible population that turned out to vote.

He was elected by a 43% majority vote in 1992.
Out of 55.1% of the eligible population that turned out to vote.

Even less people vote on the off years.

Like in the 30-40% range.

Please vote. And continue to vote. Tell your friends to vote.
Vote Green, Vote the Donkey, Vote GOP, Vote Libertarian.

Excercise your Freedom and Vote.

Posted by tkblog ( Nov 06 2006, 10:47:34 PM EST ) Permalink

Don't overlook the simple answers!

Today, I spent a good part of the day troubleshooting an Oracle 10g database who's db_recovery_file_dest kept filling up. Now, I'm not a DBA, by trade, just a technical generalist with a penchant for Googling. I increased the size of the db_recovery_file_dest, and 4 hours later, it was full again. I could not for the life of me figure out why the archiving and log rotation RMAN scripts weren't working. I ran them manually, and voila! problem fixed again, for a limited time.

That's when it occured to me to look in /var/cron/log. Sure enough, I found the answer to all my problems. Well, not ALL of my problems, but enough of the ones I was dealing with today that I rated today a success.

The oracle user's password had expired.

That was it. The root cause of two database outages due to the recovery log destination filling up, and the database refusing connections, and hours of troubleshooting.

An expired password.

This brings me to a lesson I know well, but often forget.

Never overlook the simple answers!

Sadly, I often forget that, and try to solve a complex problem that's not complex.

Posted by tkblog ( Nov 06 2006, 10:06:17 PM EST ) Permalink

20060913 Wednesday September 13, 2006

$800 for a Tivo Series 3? Without Service? Really?

We have an HDTV at home. More precisely we have an HD-Ready TV. A nice Sony 57" rear-projection monstrosity that really makes itself apparent in the living room of our tiny condo. But my gadget-hound wife got a good deal on it, and actually bought it before I met her, which may have contributed to the marriage itself. :D

We have not, however, had an HD tuner for the TV. Last year we decided to get the HD package from COX Communications here in Fairfax VA, and voila! we were finally able to watch HDTV on our HD-Ready TV. What a beautiful picture. With the Olympics, it felt like we were there, in some super-VIP box, where we could reach out and give the athletes high-fives when they won, the picture was that good.

Earlier this year, after COX had announced they had an HD-DVR available. The HD-DVR is the Scientific Atlanta HD DVR (HD8300). We got it home, plugged it in, and WOW! We thought it was great....

  • Dual-Tuners. Great Feature. Record two shows, or record one, and watch another, use picture-in-picture to bounce back and forth.
  • Stunning HD Picture. Truly a beautiful picture
  • Easy-to-Use. It's just like your ordinary Scientific Atlanta cable box that you're already used to, with just a couple of extra DVR options.

...for about 30 minutes. Then we started getting into the nitty-gritty finer details of setting up recordings, and setting up our preferences on the box itself....

  • No fine grained recording options. Season-passes, record first-run shows only, keyword searches, etc. All missing.
  • If you stop a show in the middle, you have to start over from the beginning and pick up where you left off. No mid-show resume!
  • No multi-box home networking available.
  • No (and this is a cable box standard) ability to filter the channel list for the Interactive Channel Guide. What the hell?!?! I don't want to scroll through 900 channels when I'm trying to find something to watch? I don't even subscribe to most of those channels. I only want to look at the channels I subscribe to.
  • Unstoppable Auto-Poweroff. Yup. The 8300HD turns itself off after a period of inactivity. That's a deal killer for anyone with a standalone ReplayTV or Tivo DVR. Who wants to record an hour of "No Signal Detected".

... and we realized that although it had a couple of good features, the cons greatly outweighed the pros. And it's not like the cons were minor... at least for us. Most of the cons are deal-killers all by themselves. None of the pro's are deal-makers. Not even all together.

So we dumped it back in the hands of COX, and went back to a regular cable-box. Not even the HD-box. We'll go back to HD when there are some better options for HD-DVRs.


And for me the Tivo Series 3 doesn't cut the mustard. $800.00? Really? The best deal available is the $800 Tivo Series 3, with 3 years pre-paid service for $300.

  • That's $1100.00
  • $30.55/month for 3 years

And that's just for the Tivo. Each Tivo Series 3 is capable of hosting 2 cable cards. Cable cards from COX Communications in Fairfax are $1.99/month according to their website. What their website doesn't mention is that, according to the COX rip-off artist representative I spoke with, each cable card also requires a device called a "Gateway". Each "Gateway" costs $5.99/month. And there is NO mention of that anywhere on the COX - Fairfax website that I could find.

That's $8.00/month! PER Cable card.

For less hardware than a cable box, you pay 2x-3x as much. It doesn't make much sense to me, but I suspect it has to do with the lost advertising revenue due to people who don't see the Interactive Channel Guide, and lost pay-per-view revenue.

So, to recap, the average monthly cost for me to replace 2 cable boxes and 2 ReplayTV units would be:

  • $61/month for the 2 Tivo Series 3 units
  • $32/month for 4 Cablecards (2 per Tivo)
  • $63/month for the actual digital cable signal to come to my house
  • $156/month Total monthly cost

Or, I can stick with my current costs, averaged over the next 3 years as is:

  • $6/month for 2 ReplayTV units. (Since I've had both ReplayTVs for over 3 year, and one had lifetime service, so I only pay the second box fee for the second box)
  • $70.87/month for the cable service, including 2 digital receivers
  • $76.87 Total monthly cost

Even $75/month for is crazy, but that's the rule of supply and demand. And they have all the supply here in Fairfax. Leaving me with only demand. That's not very good leverage.

It's better than doubling my costs for the next 3 years, just to have a great picture and really cool gadgets though.

Posted by tkblog ( Sep 13 2006, 01:57:34 PM EDT ) Permalink

20060911 Monday September 11, 2006

Integrating Linux with Active Directory Authentication, with Winbind and PAM

This is repost of a document that used to be located at http://www.timkennedy.net/docs/Linux+Active_Directory.html. I just figured I'd make it a blog post, so people can comment inline, rather than just in email.


Linux integration with Active Directory Authentication with Winbind and PAM (Pluggable Authentication Modules)

Q. What separates this effort from the all the other Samba + Active Directory + User Authentication documents that are already available?

A. We don't use shares, we use ADS only as the authoritative repository for authentication data, and we needed a way to restrict to specific users or groups, or combinations thereof, the ability to login to hosts.

This document assumes you have a basic familiarity with PAM and Fedora CoreLinux, and the ability to install RPM based packages using YUM. Other than the installation of the packages, and possibly the location of some files, most of the information contained within should be portable to other flavors of Linux(or provide the basis for other flavors of Unix).

The large portion of the data presented here is taken directly from Chapter 21 of the Samba Documentation "Winbind: Use of Domain Accounts", under Part 3 Advanced Configuration.

The Winbindd Daemon is a part of the Samba Installation. The winbindd daemon listens on a UNIX domain socket for AAA requests generated by NSS or PAM. Winbindd allows a *nix system to use PAM requests, translated into MSRPC calls, to directly query a Windows PDC for user and group information. Winbind then maps the NT accounts and groups onto UNIX uids/gids.

To install Winbind on Fedora Core Linux, if you have YUM working:

linuxserver# yum install winbind

If you don't have YUM working, you'll need to locate the RPMs for SAMBA and Winbind and install them. Try http://rpmseek.com.

change in /etc/nsswitch.conf:

passwd: files
shadow: files
group: files

to:

passwd: files winbind
shadow: files winbind
group: files winbind

edit the file /etc/samba/smb.conf, and replace:
DOMAIN with your domain
CONTROLLER1 with the ip address of your 1st DC
CONTROLLER2 with the ip address of your 2nd DC
DOMAIN.TLD with your realm DOMAIN and TLD

[global]
winbind separator = +
winbind cache time = 10
workgroup = DOMAIN
password server = CONTROLLER1 CONTROLLER1
winbind use default domain = yes
realm = DOMAIN.TLD
security = ads
encrypt passwords = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template shell = /bin/bash
template homedir = /home/%D/%U

join the linux server to the domain:

root# net ads join -U <username>
Joined 'LINUXSERVER1' to realm 'DOMAIN.TLD'

NOTE: The username you use must have administrative privileges onthe domain.

Now, start winbindd:

root# /etc/init.d/winbind start

Winbind by default runs as two processes. One answers client queries, and the other updates the winbind cache with the most current answer for the query the first process just answered for.

make sure you have a backup of /etc/pam.d directory:

root# cp -a /etc/pam.d /etc/pam.d.bak

These are the relevant lines for the various pam controlled methods: account, auth, password, and session.
Just place these lines into the pam.d file of any service for which you'd like to control authorization by ADS.

auth sufficient pam_winbind.so
account sufficient pam_winbind.so
password sufficient pam_winbind.so use_authtok

And this goes into /etc/pam.d/system-auth:

session required pam_mkhomedir.so skel=/etc/skel umask=0022

Now. All of that sets up your linux box to allow Active Directory Domain users to log in, with a bash shell, into a homedir in /home/DOMAIN/user. It will even create the home directories for any user that doesn't already have one, provided the session portion of the file contains the call to system-auth.

Now. let's say you want to be able to limit access to the server to only users from certain groups. well, it actually turned out to be kind of simple to do. As we know, all users and groups from active directory are mapped to unix uids and gids. Well, we can make that work for us.

First, let's see what groups I'm in (tkennedy):

linuxserver# getent group | grep tkennedy
Domain Users:x:10000:tkennedy,mmouse,ckent,gbush,bclinton,cpowell
Domain Admins:x:10001:tkennedy,cpowell,ckent
Enterprise Admins:x:10002:tkennedy,ckent
Unix Admins:x:10003:tknenedy,pschmidt,eroberts

by replacing the account entries in /etc/pam.d/sshd with:

account sufficient pam_succeed_if.so gid = 10003

With that entry you can limit ssh access to the server to only members of the Unix Admins group.

By using lines like that in other per-service pam.d files, you can set up quite complex authentication rules to control logins on a per service/per group basis.

Any questions?

Posted by tkblog ( Sep 11 2006, 10:39:33 PM EDT ) Permalink

20060816 Wednesday August 16, 2006

Technorati Profile

I registerd my blog at technorati, so now I have to claim it. that's what this link to my Technorati Profile will do when their spiders find it.

Of course this means that I'll also have to start posting more regularly. :)

Which is fine. It'll be a good excuse to start getting a lot of one-off docs that I have squirreled away converted into blog posts, which hopefully will result in a permanent-ish searchable archive of the wierd solutions I've found to problems that have found me.

Posted by tkblog ( Aug 16 2006, 02:42:34 PM EDT ) Permalink

20051231 Saturday December 31, 2005

Brokeback Mountain & Target.com Contextual Matching Funniness

I saw Brokeback Mountain. I enjoyed Brokeback Mountain. I didn't see the "love story" that everyone kept talking about though. I did see two guys who liked to cheat on their wives with
each other, though. More of a bisexual lust story, really. Not at all what I expected, in any case. After all the talk about unrequited love, I expected more of an "English Patient" kind of love story, just between American Cowboys, instead of the English Patient and Catherine.

I did make me really want to go camping in Alberta though. What absolutely stunning scenery
they had in the movie. It all looks so fresh and unsoiled. The opposite of the overdeveloped urban sprawl around the DC metropolitan area.

Anyhow, today, my wife and I were working on setting up our baby registry, because that's how we'll keep track of what we need to buy for the little tyke before he gets here.

I was searching Target.Com for "Johnson & Johnson's Baby Shampoo" using the search string 'Johnson Johnson'.

Here's what my results looked like:

Am I the only person that finds those search results amusing?

Maybe it's because I used to work for a company that wrote a contextual matching engine to show products related to news stories. We used to get funny results, too. Like when a volcano erupted and killed people and destroyed hundreds of homes (I don't remember where), the lead matching product was the DVD: Dante's Peak.

I guess there's still a ways to go with contextual matching.

Posted by tkblog ( Dec 31 2005, 04:39:14 PM EST ) Permalink

20050716 Saturday July 16, 2005

Cyrus Imapd and DB Errors upgrading Fedora Core 3 to 4

SO.... There I was... upgrading a remote server (my personal colo box) which is hosted at aplus.net, and which is running Fedora Core 3, to Fedora Core 4.

I've upgraded before, but this time was different, as in the intervening year I've been running up2date and yum on different repositories, and using devel packages and stuff like that. The box is basically a remote, always-up, box that I can play with. I do dev stuff, and compile on it, run an apache server, imap server, get my personal email there, etc, etc.

This time, I had to back out of a bunch of patches, and try to upgrade to Fedora 4. Long story short, the major problem I had was that my IMAP server was b0rked. Dropping lots of errors like:


Jul 16 14:35:27 radix imap[19744]: DBERROR ^DA^K^H: db4
Jul 16 14:35:27 radix imap[19738]: DBERROR ^DA^K^H: db4
Jul 16 14:35:27 radix pop3[19747]: DBERROR \204�^H^H: db4
Jul 16 14:35:27 radix pop3[19748]: DBERROR \204�^H^H: db4
Jul 16 14:35:28 radix imap[19745]: DBERROR: critical database situation
Jul 16 14:35:28 radix imap[19733]: DBERROR: critical database situation
Jul 16 14:35:28 radix imaps[19734]: DBERROR: critical database situation
Jul 16 14:35:28 radix imap[19728]: DBERROR: critical database situation
Jul 16 14:35:28 radix imaps[19729]: DBERROR: critical database situation
Jul 16 14:35:28 radix pop3s[19731]: DBERROR: critical database situation

Googling the issue shows a lot of people having the same error, but not really any useful solutions. Some people want to use db4_recover or other db4 utils to try and rescue the databases. The actual solution for me was quite a bit easier.

The directory /var/lib/imap/db contains the db files that the above processes are complaining about. The easy solution is to:


/etc/init.d/cyrus-master stop
cd /var/lib/imap/db/
rm __db.*
[ optional steps here ]**
/etc/init.d/cyrus-master start

If those steps don't work for you right away, you can also try the cyrus commands, 'ctl_recover -r' and 'reconstruct -m -r'. I've used those in the past to help me recover cyrus servers when upgrading.

Anyways... I hope this helps someone... If google every finds my blog. :)

At least I'll always have the answer myself, if I need it.

Posted by tkblog ( Jul 16 2005, 11:45:10 PM EDT ) Permalink Comments [3]

20050715 Friday July 15, 2005

Two weeks

Welcome to my new blog here @ blogs.sun.com. I've only been with sun for 2 weeks, but so far it's a grand place to be. I really enjoy the team I'm working with, and the collaboration that seems to be encouraged throughout the company. I am a sysadmin by trade, with almost 10 years of experience... just a few more months to go. I'm sort of a platform independant sysadmin. I like Linux, the various BSDs, and the Solaris Operating System. But I'm also familiar with Windows NT4 through 2003 Server, and Cisco Routers, and various vendor's wireless gear. I think that each has their place, and that each do certain things well. I know that's a good way to start people ranting, and that's not my intent. It's just my opinion. Now, I might choose to personally run one operating system or another, and it doesn't really matter. My employers at various points have even required me to use, or prohibited me from using, various operating systems or software application, or even brands of hardware, and still... no matter what... the job will get done.

I am partial to the stability that the Solaris Operating System offers for production data center type environments, and I admit that that is one of the reasons I came to work for Sun Microsystems, but I will also admit that in the past, it may not have been the most productive desktop environment for the average business user to run. Lots has changed in the last 10 years, though, and I think we're reaching a place where the average business user could accomplish their daily tasks using a Sun Ray appliance on their desk, and leveraging distributed architecture that will provide seamless session mobility. But it all depends on the individual user's needs.

Now, in other news...

New laptop came in. Toshiba Tecra M2. I think I'll install Solaris 10 on it. Some people seem to have had pretty good experiences with it, but mileage can vary. Most of the problems seem to be centered around getting X working properly, but people seem to have solved that. What I don't know is if the built-in Bluetooth and Wireless are supported. I guess we'll find out...

I have to go to the store today to get a USB->Serial adapter, since this laptop doesn't have a serial port[ >:( ] so I guess I'll buy some blank media, too, and get some cd's burnt to start really playing around with this lappy.

My daily business use involves the use of Email, Instant Messaging, SSH, and a web browser. Solaris on the desktop will definitely meet all of *my* needs, and allow me to get done what I need to... provided the Bluetooth and Wireless work. :)

Posted by tkblog ( Jul 15 2005, 10:01:11 AM EDT ) Permalink Comments [1]


Archives
Language
Links
Referrers