Run traces on your ‘bases

No Comments

Database admins should run regular traces (aka profiles) on all of their database servers. Audit all login/logout events just to be aware of who’s logging into each server, from which machines, and how often.

Today, I caught one of the production application servers logging into a development database server – a bad combination. I checked with the application guys, and sure enough, someone had misconfigured the app server to hit the wrong database server.

Thankfully I caught it before we lost data, but it could have been worse. We could have run a production app on a tiny development database server for weeks, maybe months, without finding out. The only way we’d have found out is by losing data due to the development box going down – which isn’t backed up – and that would have been horribly bad.

Remember The Milk Review

Remember The Milk

Remember The Milk

Remember The Milk is the killer to-do list app, period. It’s a free web site to help you manage your to-do list. There’s tons of similar task management web apps out there, and here’s why this one is different:

I can set up multiple lists like work, personal, vacation planning, grocery list, etc. It sounds simple, but a lot of task management systems (like Outlook’s task list) don’t make it easy to slot your tasks into different lists. When I’m at work, I only want to look at my work tasks – not the list of chores I need to do at home.

I can share lists or individual tasks with other people. Erika can browse my home to-do list and add tasks. My coworkers can browse my work to-do list. But best, my coworkers can’t browse my home to-do list. These settings can be made at the list level or at the individual task level – so if I set up a task to get Erika a birthday present, I can hide that specific task from her, so she doesn’t see my list of ideas.

My coworkers can access my to-dos with all kinds of software. RememberTheMilk offers Atom RSS feeds and iCal feeds, so these guys don’t have to use RememberTheMilk directly in order to keep tabs with what’s going on with my database servers. They can just add a news feed to their existing RSS newsreaders, or use an Outlook plugin to get the iCal feed.

I can assign tags (aka labels) to my tasks. For example, I might have several tasks that require spending money, and I can tag all of them with the label “budget”. When I want to see all of the upcoming things requiring my not-so-hard-earned moolah, I can quickly search for the “budget” tag and see all matching tasks, regardless of which list they’re in.

I can set up smart lists of tasks. With the above example, I can set up a Smart List with all tasks with the budget tag, and it’s like my own custom report.

I can email myself tasks from my cell phone. I always come up with good (okay, mostly bad) ideas when I’m standing in lines, walking the dog, or going through the grocery store. I can whip out my cell phone, send a text message to my RememberTheMilk email address, and presto, it instantly adds the task to my to-do list. I can even set the priorities, deadlines, reminders, and more all inside the email if I want to get fancy.

I can get reminders anywhere, anytime, when it works for me. Remember The Milk will send reminders via email, instant messaging, and SMS. I can set what time of the day I want my daily reminders, and how many hours in advance I want reminders for tasks with specific due times.

RememberTheMilk is a great example of how software developers should keep an eye on good features in new web applications and software programs, and then figure out how to implement those features in their own applications. No matter what industry a programmer works in, there’s always great features coming out in other seemingly unrelated pieces of software.

The authors of RememberTheMilk drew inspiration from all kinds of other programs: tagging from Delicious, smart lists from iTunes, usability & fast response from Gmail, social bookmarking from – well, that’s from Delicious too, actually. But my point is that a good developer should always try to stay in touch with the cutting edge of software features.

Tagging, social sharing, smart lists, pervasive access – all of these will be a commonly expected feature in software packages by the end of the decade. Everybody’s software will have to have it sooner or later. Software developers that get this stuff out sooner will have a competitive advantage and gain market share. Software developers that don’t, and add it years later as an afterthought, will lose market share in the meantime. The recent release of IE7 will prove this one out, because Firefox and Flock will continue to gain market share as a result of their slick features like tagging and social integration.

Notes from our Caribbean cruise

Me on deck in Martinique

We’re back! We’re back at home with our beloved Ernie, on our beloved land. We had a pretty good and extremely relaxing time on our cruise.

The thing I like about cruising is that it’s so stress-free. We pull into the cruise port, unload our luggage, and we’re done working for ten days. By day two or three, I’m completely carefree, and by day three or four, I can’t remember what day of the week it is. As I write this on Saturday morning, I feel fantastic. That’s the good part.

The things we don’t like about cruising are the food, the very short port stops, and the seasickness.

We’re more the type to dive into local restaurants than go to the same buffet and dining room night after night. Even though they varied the menu, it all had the same mass-produced buffet feel. It wasn’t necessarily cheap, but it felt that way, and we’re probably more into food personality than ingredient cost. All cruise long, Erika and I pined for some good chips and salsa – very cheap, but unattainable in the buffet line or the restaurants.

I would recommend cruise-takers stick with the regular dinner seatings as opposed to the anytime-dining on the Princess “Sun Princess” ship, because it just doesn’t have good dining options to support an anytime-dining plan. It’s an older ship, built just before the anytime-dining craze caught on. Sure, technically there’s a few restaurants, but the poolside grill just serves burgers and brats, the Italian place has a small menu and tiny portions, and the Sterling Steakhouse is a complete joke. Princess separates half of the buffet at night and turns it into a faux steakhouse simply by adding candles to the tables. Come on, guys, gimme a break, we’re still sitting next to the egg station and the ice tea dispenser – lose the $15/person surcharge.

Fishing boat in St. Lucia

On this cruise with its several port stops, the islands seemed to blend together in a blur. They all had things that made them stand out, but the time just flew by. We’ve decided that we’d rather pick a single island, fly to it, and stay in a hotel near our main attractions. After we left Trunk Bay on St. Johns, I spent the rest of the cruise trying to get to another good snorkel spot, and couldn’t pull it off. We were so close! I wish we could have just stayed on that island itself, especially since we talked to another couple who were staying in nearby St. Thomas for a two-week vacation.

The one deal-killer for us, though, is Erika’s seasickness. There’s no point in having a vacation when one person is sick to their stomach half the time. Both of the cruises we’ve taken, she’s gotten seasick, so that’s that. Oddly, I didn’t talk to any other passengers who’d gotten seasick, but I guess if they were seasick, they probably wouldn’t be out all the time on the decks with me, hahaha.

I don’t want to sound like a party pooper. We had a good time, met some nice people, and completely relaxed. But it wasn’t our favorite vacation ever. Erika’s favorite is surprisingly the cruise to Mexico we took in February 2005, because she loved swimming next to the ruins of Tulum. My favorite is our Zihuatanejo, Mexico trip a couple of years ago because the food was so good and it had so much local character. Talking to some of the other cruises, Erika and I are extremely lucky to have seen so much of the world so far, and to have developed our own preferred travel styles and destinations.

The rest of this blog post is my travel notes taken during the cruise. A word of warning: this is way, way overly detailed. This isn’t really written for your own reading as much as it is for mine, so I can go back later and remember everything about the vacation. I’ll start uploading my travel photos Saturday and post a note on here when they’re available. It’ll take a while, because I shot several hundred.

And now, the long story:

Day One – Leaving Fort Lauderdale

Wednesday, December 28, 2005 – Photos from Fort LauderdalePhotos Around the Ship

We drove into Port Everglades in the afternoon and got into what turned out to be the slowest line of the day: the security checkpoint to get into the Port itself. Only two out of the five available lanes were marked “Open”, but drivers were using all five lanes anyway, leading to a last-second-merge with honks and all. Tip: when you drive into Port Everglades, go into the far left lane. Due to the design of the lanes, it’s the only one that doesn’t have to merge with anybody else, so that lane goes much faster. The taxis seem to have figured it out – every taxi I saw was in the far left lane.

After getting into the port, the signage left a lot to be desired. In a nutshell: before you leave home, call ahead to find out if the on-port parking garages are full. If so, use Park-N-Fly by the Fort Lauderdale airport, because nobody’s going to tell you that the garages are full until it’s too late, and you have to drive out of the port to park off site, and then endure the lines again while riding in a Park-N-Fly bus.

If the garages aren’t full, drive directly to your cruise ship’s terminal and drop off all of your luggage. (This is why the cruise lines send luggage tags along with the tickets – use them, and your luggage will cruise with you.) Then drive to the nearest parking garage. Shuttles run from the garages to the terminals every half-hour or so, but do yourself a favor and grab the nearest cab instead. It was $2/person to ride from the parking garage to the terminal – much better than waiting an unknown amount of time for a shuttle. Nobody around us had seen a shuttle, so we didn’t take that as a good sign.

Once we got back to the terminal, processing was very quick and painless. From the time we got in line until the time we stepped on the ship, I’m guessing it took maybe fifteen minutes tops. The only bottleneck: everybody had to line up to get Bahamas immigration forms from a single guy who was moving at the speed of light – light coming from a very dim bulb. Nice guy, though, as was absolutely everybody we came into contact with during the boarding process. Nobody was dull and routine.

We’ve only had one prior cruise, a Carnival one going out of New Orleans about six months before Hurricane Katrina hit, and Princess definitely does things much more smoothly than Carnival.

Sun Princess promenade deck

When we stepped aboard the Sun Princess, our positive comparisons to Carnival continued. The Carnival ship felt like a cheap 1980’s hotel with its loud, bright primary colors, neon lights everywhere, and faux-art-deco finishes. The Sun Princess was a mix of historical nautical decor (very dark woods, brass accents) and a mid-priced 1990’s hotel (reserved dark blues and greens, more real artwork, lots of marble). We felt much more at home on the Princess ship.

Our stateroom, an inside cabin on deck 9, was small but well-designed. We found it easy to move around, plenty of storage even for our ten-day cruise. Our steward, Reynaldo (aka Ray), displayed a horrified look on his face when found I’d pushed the two twin beds together. He stammered, “You…I…you….”

“You’re supposed to be the one who does that, right?” We both laughed, and he assured me that he’d come back with a set of sheets, blankets, etc. He chided me and told me I was the one who was on vacation, and he should let me do all the work. That attitude came up several times from different staff members: I really got the genuine impression that they wanted to do their job, and that they wanted to make my vacation worry-free and enjoyable. He didn’t give me any bad attitude at all, and was nothing but friendly.

The room only had one electric outlet, so gadget freaks, bring your USB chargers. I’d guessed this would be the case, so I brought my USB charger for the iPod and my phone. If you’re not familiar with USB chargers, they’re little electric cables that go from your laptop’s USB port to your gadget, and they charge the gadget using your computer’s power. That means you can recharge from the laptop without needing multiple AC outlets. Plus you can recharge from the laptop’s battery, useful in emergency situations.

We hit the buffet before the muster drill, and the food was another improvement from Carnival, although not a night-and-day change like the interior decor. The buffet held more choices, but all of them still seemed like Luby’s food. White fish with butter, beef with red wine sauce, tortellini in tomato sauce, etc. It was like walking down the frozen food aisle and reading off the Stauffer’s boxes. None of the food was bad, at least none that we tried, but we’ve got pretty high standards when it comes to restaurants. The food was tolerable, but I wouldn’t have paid $10 to eat at that buffet. The staff was quick to pick up dirty plates.

The muster drill was a complete joke. They moved our muster station from the Shooting Stars Disco to the casino immediately upstairs, and instructed us to sit anywhere we could – slot machines, roulette tables, the bar, etc. We were all so spread out that we couldn’t hear a thing. The supervisor happened to be the guy who managed the casino, and he spent more time on funny slot machine remarks than he did on life jackets.

Erika and I were more than a little surprised at the number of kids who readily put the life jacket whistles right into their mouth and started blowing. If there’s anything that never gets cleaned on a cruise ship, I gotta bet that’s the one. Norwalk Virus, here we come.

We got in line to talk to the Maitre D at 3pm because our travel agent,, had screwed up our dinner reservations. We wanted to change from anytime-dining to a fixed seating. In order to talk to the Maitre D, we first had to survive a line, then talk to the head waiter and convince him why we wanted to talk to the big cheese. The head waiter’s job appeared to be convincing people that anytime dining was okay, and didn’t suck. “It’s the same food, same waiters, same atmosphere – the only thing different is the color of the chairs.” He’d obviously given this speech more than once, and I sorry enough for him that I didn’t bother to point out that it couldn’t be the same waiters. One waiter doesn’t service dining guests on two different floors at the same time, and since one waiter always serves the same tables every night during a cruise, we would never see a fixed-seating waiter while eating in the anytime dining hall. But anyway, Erika and I gave in and left him to deal with the next irate guest. The couple ahead of us had already busted his chops trying to get a window table, and it was hilariously obvious that the guy was trying to pass the waiter some bills while keeping that unknown to the rest of us. He kept moving around so that his back was to the rest of the line, shielding his illicit transaction from the public. The waiter did his best to be politically correct and not take the moolah.

Leaving Port Everglades

We went above deck to watch the ship leave Fort Lauderdale. I tried getting a glass of wine from one of the deck lounges only to find that the on-deck selection of wine isn’t just limited, it’s non-existent. The poor waiter had to hustle upstairs to the wine lounge, get the glass of wine, and bring it back. And wouldn’t you know it, he brought the wrong kind. I’m not a wine genius by any means, but when I order a glass of Pinot Noir (a red) and the waiter brings back a white wine, I’m pretty sure it’s the wrong one. The waiter was really gracious, ran back upstairs, and fetched back another glass. I wouldn’t have cared what kind of red wine it was at that point – I didn’t want to make him run back a third time! Note to self: when ordering wine from the deck lounge, ask what kinds they have on hand first.

As we made our way out to sea and the sun fell below the horizon, the winds picked up and we figured we’d better go get warm. We headed to our cabin to read and take a nap, and we never came back out. We were both trying to recover from sore throats, so we missed the first night’s activities altogether.

Day Two – Princess Cay

The blue globe is the hand sanitizer

Thursday, December 29, 2005 – Photos from Princess Cay

From our inside cabin, judging by the ship’s motion, I thought we were in rough seas. I could see the bathroom towels swaying, could see the water moving from side to side in the toilet bowl, and guessed Erika would need to take her ginger pills pretty quickly. After showering and heading above deck, I could see that the sea was actually pretty calm, maybe 1-3′ waves. Strong winds, though. Still, I was surprised to see how much the ship moved in such small seas.

Upon entering the Horizon Court buffet for an early breakfast (around 6am), a water-free sanitary hand wash station guilts passersby into cleaning their hands before each trip through the buffet. As if that’s not enough, a staff member stationed nearby catches people and points them back to the hand wash. “Do you want to wash your hands first?” Combine that with the fact that all of the restaurant workers wore plastic gloves, even the bussers, and you get the idea that Princess is pretty serious about sanitation. It reinforces the Luby’s Cafeteria feel, but hey, I’d rather be healthy at Luby’s than be sick at a good restaurant. The Hand Wash Police remained stationed at the front of the buffet for the entire cruise, not just as an introductory-day thing.

The breakfast buffet fare consisted of yogurt, granola, cereals, fruits, and more pastries than I’ve seen at some bakeries. There was an egg station for cooked-to-order omelettes and whatnot. I’m a pastry guy, so I left quite satisfied, but fans of fresh pancakes and waffles should head for the dining room instead of the buffet.

Love Me TenderOur first shore excursion: Princess Cay. It’s not really an island, just a 40-acre stretch of Eleuthera Island. The island doesn’t have a dock of its own, so to get to shore, cruisers have to board a small boat called a tender. The cruise brochure said we’d be at Princess Cay from 9am until 4pm, which is do-able, but in reality, it was more like 10 to 2. They start giving out tender tickets at 9am, and the last tender leaves Princess Cay at 3:30.

I’d initially worried that Princess Cay would suck just because it’s owned and operated by the cruise lines. I couldn’t have been more wrong – it made for a great first day on the beach. The facilities were set up well, plenty of wait staff (brought to land by the cruise ship, evidently), lots of water gear to rent, and plenty of cabanas. It’s not the place to go snorkeling because the shores are rocky and the wildlife nonexistent, but sailors, floaters, and sun worshippers will have a great time.

Princess Cay Beach

Erika and I did absolutely nothing. For a few hours, we shuffled through a few pages of books, but mostly just watched the waves coming ashore, laughed at the little kids getting socked by the waves, and tried not to look at the two very large and aged women in front of us who confidently sunbathed topless. The horror.

The cookout food was apparently brought ashore from the ship and consisted of typical basics – burgers, brats, ribs, etc. Nothing bad, but nothing to get excited about, and certainly nothing island-y.

Erika and I both wanted a fresh coconut, but the closest I could get was pina coladas in coconuts carved up to resemble monkey heads. The monos did not join us in the trip back to the boat.

The tender ride back to the cruise ship was anything but tender: a rollicking, rolling romp through the waves. Thankfully it’s only around five minutes long, because passengers were hooting and hollering with each pounding wave. The lifeboat’s windows leaked water. A lot. Enough that passengers moved around, put up towels, and donned hats.

Bayview Reading Room

Erika found her way to the Bayview Reading Room while I took an afternoon nap. The ship’s library has a row of thick leather chairs with cassette tape players built into the armrests. They may be outdated, but they’re still comfortable, as Erika can attest to after falling asleep in them.

We went into the Marquis Dining Room for our first anytime dinner around seven o’clock. The menu and atmosphere was indeed just as good as the scheduled dining, with the advantage being a slower pace and more individualized service. The wait staff had more time to chat with us about their backgrounds, their time on the ship, and the menu items. The waiter saved me from a dessert choice I probably wouldn’t have enjoyed, but they couldn’t save us from our choice of champagne. We were still getting to know the different brands in the ship’s cellar, and it turned out we didn’t like the full-bodied one we ordered. Ah, well, we’d try something else the next night.

The show of the evening, a production show called Curtains Up, started out pretty badly. Erika and I aren’t exactly fans of musicals – this show is like a “Greatest Hits” for Broadway show tunes – and the two stars were overly cheesy to boot. Lullaby of Broadway has to be one of the dumbest songs I’ve ever heard, but you can’t blame the dancers for what they’ve been given to work with. They threw their hammy hearts into all of the songs, though, and everybody could find something enjoyable. Our favorites were the Cabaret numbers (hubba hubba) and Oklahoma.

Another staff kudo: before the show started, the theater waiter pleasantly took our orders for hot tea (a free beverage) and delivered it back promptly without any fuss. We weren’t trying to be cheap, but we just wanted hot tea to soothe our sore throats.

Note to late-arriving theater guests: either arrive on time, or don’t arrive at all. Under absolutely no circumstances should guests walk into the theater after the lights are out and the show has started. It’s extremely distracting to watch these bozos walk around from aisle to aisle, looking for a few seats grouped together. The show repeats at another time. Better luck next time.

Note to families: get everybody into the theater at the same time. Don’t trickle in one by one, thereby forcing everybody in your aisle to stand up and let you through individually, every three minutes.

The late night buffet at the Horizon Court still leaves a lot to be desired.

Day Three – At Sea

Me up on deck
Friday, December 30, 2005 – Photos at Sea

(If it wasn’t for these notes, I would have absolutely no idea what day it is. Erika and I settled into our cruise ship rhythms last night, and it already feels like home. Man, I’m ready for retirement.)

The morning ocean was as flat as open water could possibly be, and I can’t imagine having a better day at sea.

Every morning I head up on deck with the laptop, and I got a few people stopping to ask questions about it. It spans the extremes: an older gentleman had never seen a laptop before, and a young European crew member talked shop about his laptop’s 17″ wide screen and my Centrino processor, and everybody and their brother asked me if I got WiFi reception all over the ship. (I didn’t – it’s available in the Atrium 5th floor for free, but the signal is very weak.) None of the other guests appear to be morning writers like myself – rather, they’re more the type to lay down in one of the poolside deck chairs and bundle up in a towel in an effort to reserve a few precious chairs for their family. Everybody’s idea of vacation is different.

This ship is quiet. The rooms are quiet: we’ve never heard our neighbors. The deck is quiet: no music, no blaring announcements, and no annoying sales attempts. (They seem to confine the sales pitches to flyers they deposit at your door all day.) This is a heck of a place to relax. The average passenger age appears much older than the Carnival ships, at least evidenced by the very low number of families with kids that I’ve seen. The nightly events cater less to the party animals, and more to the show crowd.

This was the first formal night. I didn’t pack any formalwear, and as we’ve discussed with several other families, guys really get screwed on formal nights. Women can put on anything shimmery and get in, but guys have to get all dolled up in these useless suits and ties. I understand that at one time, cruising was a formal affair, but get with the times. When the restaurant pushes promo shots of booze every night at dinner, we’re not talking about a five-star restaurant here.

At lunchtime, the buffet offered food with a Mexican theme: fajitas, refried beans, chips, salsa, etc. Erika and I were excited at the prospect of good chips and salsa, but the kitchen crew let us down. There is no way to grab intact chips out of a bowl using plastic tongs. We ended up with a bunch of little chip fragments, and some pico de gallo. Hmm. High school cafeteria Mexican.

For evening entertainment, we settled on a comedy show by Don Friezen. He had a strong start, but tapered off into a long routine about a Southwest Airlines pilot on Percocet that didn’t quite make sense. Even the MC, who picked up the mike after him, said she didn’t quite understand that kind of humor.

Day Four – St. Thomas

Saturday, December 31, 2005 – Photos from St. Thomas and St. Johns

Docked in St. Thomas

To get the most out of a vacation, get independent guidebooks for your destination, and read them again and again. These people know what they’re talking about. We picked up the Frommer’s Guide to Caribbean Cruise Ports, and it suggested that the nearby island of St. John holds one of the best beaches in the world. They said going to the Caribbean and skipping Trunk Bay is like touring Europe without going to Paris. Our cruise wasn’t stopping in St. John, but we decided we didn’t want to miss this beach, so we planned our own private excursion.

After disembarking the ship around 10am, we took a private van taxi to Red Hook Bay, where ferries run to the island of St. John every hour. The taxi ride was a thriller in and of itself: tiny two-lane roads are strewn all over the mountainous island of St. Thomas, going up and down hills at crazy angles. We held on for dear life as the taxi driver explained how he’d found God earlier this year in the form of an 84 year old woman who read scriptures. I shall now tell you how I found God in the form of a 50-something taxi driver.

While driving, this guy told us a story about a near-death accident he’d had a few years back. The brakes failed because he hadn’t been maintaining them properly, and he had a vanload full of paying passengers going down a big hill. He held on for dear life, swerved around a lot, and rolled the van over. Thankfully, he said, nobody called his insurance company, and he had the tiniest amount of insurance on the van, just liability, $10k max per person.

He told us this story while we were going up and down hills in his van.

Now, I’m not a marketing guru, but I bet he doesn’t get too many repeat passengers.

Regardless of his driving style, we made it to Red Hook safe and sound. While in line for the $4 ferry tickets, we struck up a conversation with a Nashville couple staying in St. Thomas for a couple of weeks. They were taking a day trip over to St. John to eat at a place known far and wide (okay, maybe not) as the 3rd best cheeseburger in the Caribbean. 3rd best cheeseburger in the Caribbean? What kind of list is that? I suppose if one wants to end up with a best-cheeseburger-in-the-world list, one would have to start by analyzing region-by-region. Bizarre. Regardless, I liked their vacation style, and looking back, that matches our travel ambitions more than a 10-day cruise does.

The ferry and taxi rides exposed the area’s poverty. Residents ferried from one island to another to work, and boarded open safari-bus-style taxis to get to work, shopping, and school. All over both islands, cars just died by the side of the road, never to be resuscitated. I saw one car after another that had blown a tire, and then sat in a state of complete disrepair. Mentally, I kept building pictures of families who were barely scraping by, and then couldn’t afford basic repairs on their cars. Pretty sad.

Erika and I wondered how the islanders really felt about tourism. Sure, we’re bringing in money, but there has to be some bitterness when a steady stream of strangers blow through and blow cash without getting to know the natives.


Enough of that – let’s get back to my selfish vacation. 😀 Trunk Bay was indeed gorgeous, if not a little small. Okay, it was really small, especially compared to our huge, wide swathes of sand back in Miami Beach. As far as beach itself goes, the sand was good, but not plentiful by any means, and at first, I was a little underwhelmed. Sure, the water was clear, but come on – it still wasn’t clear enough for us to identify those rocky things we stepped on.

Then I got into the water, put on my optical-correcting goggles for the first time, and stuck my head underwater.

Holy moly. That’s some clear water, and those rocky things are dead coral!

The US National Park Service maintains Trunk Bay just like any other national park in the US, with guideposts, signs explaining the natural life, helpful trail markers, etc. But here’s the difference: this park is underwater. I snorkeled (again, for the first time) out into the water and started down the underwater coral reef trail. It’s marked with signs, explanations of different kinds of fish, and has helpful buoys where tired snorkelers can catch a breath above water. The coral trail runs from the ocean’s edge out to a nearby island and back.

I was completely amazed. We’re talking life-changing experience. I could see so clearly, so far down underwater, and even more, the underwater world held so many gorgeous living things! The experience was beyond anything I’ve ever seen, and the only thing I can possibly relate it to would be taking a swim through the tropical aquarium at a major US zoo. I’ve always seen those aquariums with their dozens of unique fish species and thought, “Yeah, right. They’re just stuffing all those totally different fish together to simulate what the entire ocean is like. Those diverse fish don’t all hang out in the same ten foot square area.” But they do! I could drift for a few moments and spot a dozen different species of fish all within a space the size of my bed.

I didn’t make it far on my first snorkeling attempt, not more than a hundred feet, and I came straight back to Erika – who stayed in shallow water because she doesn’t swim. I tried to explain how exciting the whole thing was, but I did a pretty bad job because I was still kinda freaked out by the ability to breathe underwater. I’m the kind of guy who doesn’t open my eyes in the shower, let alone underwater. Being able to both see AND breathe while scoping out all this cool stuff – well, I was just blown away.

I snorkeled out farther and farther, and I’m hooked. What an incredible time! It was worth the side trip, even though we only got to spend a couple of hours at Trunk Bay versus the four hours of ferry & taxi time it took to get from the cruise ship dock to the bay and back. I would heartily recommend it to anybody – but then again, that’s why we buy guidebooks, read them, and heed them.

High Tide Bar in St. Johns

We had about 45 minutes to kill while waiting to catch the return ferry from St. John to St. Thomas, so we walked over to the High Tide Bar. It’s a friendly, pleasant, open-air bar right next to the Cruz Bay ferry, and the (apparently American) owner was brilliant to set it up there. They got plenty of walk-up business from tourists taking the ferry. The menu offered locally styled food as well as American favorites.

We ordered conch fritters, chips & salsa, and Virgin Islands Pale Ale. I fell madly in love with the food and beer, and I promptly declared it the best food we’d had yet on this vacation. The chips appeared to be made of fried filo dough: soft, yet crispy. I liked the pineapple-based salsa more than Erika did, and we both hankered for some good old fashioned Mexican salsa at some point during this cruise. The Virgin Islands Pale Ale was light and very fruity. I pledged to look it up in my alcohol-distributor client’s database after the vacation to find local places that carried it.

Back on the cruise ship, the New Year’s Eve celebration required formal clothing, and since both Erika and I were pretty tired out, we decided to skip it. We grabbed food from the buffet and hit the bed for a nap at 8pm, saying we’d wake up at 10pm and join the festivities up on deck. At 10pm, we were still zonked, so we slept until 11:45pm. I went up on deck and found the boat completely deserted, including the pool bar – everybody was in the Atrium Lounge for the official party. So much for my impromptu affair. Instead, I hit the Horizon Court buffet and celebrated the countdown with a Filipino waiter – and no, I didn’t kiss him, hahaha. I was the only guest in the restaurant for a few minutes until the partiers came up from the lounge party, at which point I retired back to the room with Erika to watch TV and fall back asleep.

Day Five – Martinique

Sunday, January 1, 2006 – Photos from Martinique

Martinique coastline

This morning, I sat in a deck chair, sipped my latte, and watched the dolphins leaping out of the water in the shadow of the cloud-covered peak of a volcano.

Un-bee-lievable. The whole cruise was worth it for that moment, and you can watch it unfold in a movie I shot with my digital camera. (I’ll link to this later.) That one instant is a perfect example of why I tell everybody to carry a pocket-size digital camera that shoots movies. Play around with it until you’re comfortable enough to pull it out of your pocket at any time and be shooting video within five seconds. Life’s best moments happen at unpredictable times, and you want to be able to remember them forever.


At noon, the ship disembarked at Martinique, and hundreds of cruisers poured out into downtown Fort de France. The silence was deafening. Our Frommer’s guide had warned us that Martinique’s shops would be closed on Sundays, and the fact that it was New Year’s Day didn’t help either. Aside from a handful of t-shirt vendors, there was literally nothing to do. The restaurants were closed, the famous church was closed, the library was closed, etc., etc. This would have been a perfect day to take an excursion snorkeling or sailing, but we’d expected at least a few shops to be open, so we prowled the town. Nothing. We scored some t-shirts and a couple of paintings, and we stepped back onto the ship in less than two hours. Erika and I spent the afternoon lounging on the promenade deck reading and writing.

The ship’s dinner menu and the production shows took clues from French Martinique: both were very French, although the restaurant did a better job than the show. C’est Magnifique consisted of various Paris-inspired numbers meant to tell a story of love won and lost, but the female star’s bad wigs were so distracting that it was hard to keep a straight face. To add insult to injury, she had to do a song by Edith Piaf, one of Erika’s favorite singers, and those are some tough shoes to fill. I liked the outfits and the songs they chose, but – well, let’s just say Erika and I won’t be going to any musicals or revues anytime soon.

The pitching motion of the ship finally caught up with Erika just before the show started. She was uncomfortable enough that she decided to pass on the next day’s shore excursion, an all-day jaunt through St. Lucia via boats and buses – probably the least enjoyable thing possible for someone seasick.

Day Six – St. Lucia

The local pilot boards off St. Lucia

Monday, January 2, 2006 – Photos from St. Lucia

When big boats like freighters and cruise ships pull into local harbors, a local pilot gets on board the ship to help the ship’s captain find his way into the harbor and dock. The local pilots know the ins and outs of how to get the ships in safely.

I watched the local harbor pilot motor up to the ship and try to board. I’d never seen this before, and now I’ve got quite a level of respect for those guys. It’s enough to know how to drive a ship, but the boarding is the tough part: these guys have to jump from a little bobbing boat up onto a rope ladder, climb that, and get into the cruise ship – all in pitching seas. Whitecaps dotted the ocean’s 3-5′ waves. The pilot’s boat appeared to be doing its darndest to avoid bumping into the cruise ship, which was great for the mechanicals of both vessels, but didn’t do much for the poor pilot trying to climb aboard. Over the course of ten minutes, they must have made as many passes. Impressive. Talk about a case of the Mondays.

Due to her bout with seasickness, Erika skipped the shore excursion, The Best of St. Lucia by Land & Sea. We’ve since both agreed this would be the last cruise we take: she’s just too susceptible to motion sickness. I went anyway by myself, and I’m glad she didn’t go, because the van rides on this excursion were the perfect scene to shoot an ad for motion sickness medicine. One hairpin turn followed another, all the while going up and down mountain-side one-and-a-half lane roads with no guardrails and huge drop-offs. Throw in off and on tropical rainstorms, and it was a recipe for an accident.

Hurricane Hole in St. Lucia
Our first stop on the van tour was a photo-op of the bay where our cruise ship docked, and the second stop overlooked Hurricane Harbor, a bay where The Moorings (a charter company) keeps some sailboats. The guide explained boats pile in there during a hurricane because it’s a great place to ride out storms. My mind went back to our recent weathering of Hurricane Wilma in our condo building, with its steel-reinforced concrete walls. The thought of riding out a hurricane in a sailboat, no matter how safe the harbor, sounded utterly ridiculous. The live aboard lifestyle is not for me, no matter how cool it sounds, and no matter how many magazines I subscribe to. I’m a wussie.

The next stop took us into a poor coastal village whose main claim to fame was a clean public restroom. I kid you not. Our van stopped on a short street running along the ocean’s edge, not fifty feet from the water. At one end were the aforementioned restrooms, and along the rest of the street, vendors had set up small booths with t-shirts, banana ketchup, trinkets and hats. These were not big-time vendors – these were women and children clearly just scraping by, sharing street space with roosters and kittens.

Seaside fishing village on St. Lucia

Having sold our first home a few months ago and being just barely in tune with Miami Beach real estate prices, I couldn’t get my head around this little piece of oceanfront property. Call me materialistic, but all I could think about was how much this land was worth. It was half an hour’s drive from an airport and cruise terminals, just around the corner from great snorkeling, and there was the slightest bit of a town forming around it. Granted, getting water and sewage set up would probably present an obstacle, and the builder would have to design in some serious storm protection, but damn, we’re talking about oceanfront property with a street next to it! I’m glad I’m not in the real estate business: I would have been too tempted to call a bank right then and there, trying to scrape together money to buy that little patch. “Who do I need to bribe to make this happen?” Hahahaha.

Throughout the day’s drives, a similar theme kept showing up: guest houses in various states of disrepair dotted the south side of the island, the only side we toured. The guidebooks and our guide said that hotel development is concentrated on the northern side of the island. It looked like people had built mini-hotels all over the south side, without thought to beach access, nearby hiking trails, or any of the other amenities that bring in tourism. Build it and they do not come, unfortunately – takes a little more thought than that. (Kind of why I’m not in real estate – I just know what I don’t know, and I know it’s a lot!)

St.Lucia Drive-In Volcano

The van motored on, this time to Sulfur Springs, touted as the world’s only drive-in volcano. We drove into the crater, true to advertising, and hiked up higher to get a view of the bubbling, liquid-hot magma – oh, wait, turns out it‮s just bubbling black water. It’s really, really hot black water, so at least it’s got that going for it. It’s black because it’s so loaded with iron content, and it stinks because it’s loaded with sulfur. Natural gas companies add sulfur to their product so that customers can smell when there’s a leak. Sulfur’s strong, rotten-egg stench is easily detectable by anyone, anywhere, anytime, and the foul smell drives people away, so it’s perfect to get people out in the event of a natural gas leak.

Did I mention the smell?

Yeah. So, the volcano stank, as evidenced by some visitors covering their mouths and noses with their bandannas, shirts, used baby diapers, and whatever else was available that smelled better. Our guide explained that the sulfur water had healing, medicinal qualities that would make one’s skin look better. Who cares how good you look, though, when you stink this badly? I think I’ll stick with my current skin and scent.

The ever-present street vendors hawked necklaces supposedly made from the volcano’s lava, with the same healing qualities as the sulfur-laden water. Anybody who buys one of those is a true sucker: these necklaces are the exact same necklaces as we’d seen on the past couple of tour stops, made from the same material, and here’s the kicker – the necklaces didn’t stink. I don’t even understand why you’d want a healing necklace that reeks of sulfur, much less a regular necklace with that same smell, but hey – it’s working for the street vendors, and who am I to take away from their livelihood? I said nothing as some of the cruise folks handed over their money.

Fond Doux Plantation cocoa bean drying racks

We stopped at the Fond Doux Plantation, a cocoa and fruit farm, for a tour. The place felt like more of a plant garden than a working farm, but it was well kept-up and showed a lot of interesting plants.

The cocoa beans, 95% of which are sent to Hershey, are dried in open flat trays at two stages during processing. The trays are mounted on wheels so they can be easily slid into the barn when rain comes down, and we got an unintended demonstration of those wheels when an afternoon rainstorm popped up. From that point on, all afternoon, the sky would open up briefly at random times, despite a continuing bright sunshine. That’s the tropics.

Our guide had informed us that unlike other Caribbean islands, water was plentiful on St. Lucia thanks to a reservoir system. A few short minutes later, though, as we approached our next destination, she explained the lunch menu and said the first drink was free, but that we’d have to pay for water. Uhhh, what? I thought it was plentiful – but then again, so are the sucker tourists….

We lunched at The Still, a former rum distillery turned “resort”. Like West Michigan, “resort” seems to mean a hotel with a restaurant and a pool. I loved the open stone buildings on the grounds. If I built a home on St. Lucia, I’d want it to look just like this building. It’d be tough to survive a hurricane, but hey, if I could afford a house in St. Lucia, I could afford to split before the hurricane hit.

St. Lucia Dive Spot

After lunch, we drove to a dock and boarded the large catamaran Sun Kissed for our afternoon snorkeling tour. The crew was fun, the rum was free, and the views were beautiful. The weather wasn’t bad, but with a tight timeline, the crew decided to motor rather than raise sails. I was a little disappointed, because I was looking forward to the chance to see such a big boat under sail, but life goes on.

The catamaran pulled up to our designated swimming spot, the crew dropped the stairway in the bow, and the tour guide announced that we were free to start swimming and snorkeling.

Several people gathered around the ladder and…stood there.

I went up to the bow and found that nobody wanted to be the first one to descend the ladder and discover how cold and how deep the water was! So, being of questionable mind and an unquestionable lack of ability, I went first. I got a huge kick out of that – fifty-some people on this boat, and who’s the only guy willing to step into the unknown water? Me. That’s definitely not the way I see myself, and maybe I need to work on how I see myself. Anyway, down I went, and discovered that the water was bathwater warm and about six feet deep.

I continued my voyage of bravery and stupidity by soldiering off alone in the open ocean looking for coral reefs. Only after I made my way a couple hundred yards from the boat did I realize:

1. The boat had no lifeguard aboard.

2. There was no barrier island to protect me from the ocean waves.

3. I’m a 32 year old overweight guy with less than three hours of swimming time in the last five years.

4. The only other people with snorkeling gear still hadn’t gotten into the water yet, and they looked even less fit than me.

This was beyond “No Fear” territory and was well into “No Brains”. I scaled back my ambitions and confined my snorkeling adventures within a hundred yards of the catamaran.

St. Lucia dive spot

We were on the windward side of St. Lucia, the west side, away from the Atlantic Ocean. The windward side is relatively protected from ocean waves, but still nowhere near as calm as the Trunk Bay inlet at St. Johns. I had a great time just drifting along, face down, watching the waves pull the sand back and forth across the ocean bottom. But that wave action meant the water was cloudier than the crystal-clear St. Johns. I could still see the ocean bottom and the passing fish quite well, but they didn’t have the super-realistic snap, and the colors didn’t pop.

The only type of visible coral within a couple hundred yards of the boat was the yellow tubes. (Sorry, no scientific verbiage here, I’m a newbie at this underwater stuff.)

The fish were completely unafraid and swam within a foot or two of me. The quantity of fish was about the same as Trunk Bay – a few dozen fish for every square yard of ocean bottom – but they weren’t as large. I held discussions with the other snorkelers, and probably since all of us were relative newcomers to snorkeling, we agreed that this was one of the high points of our lives. There was nothing that could compare with sticking your head underwater and seeing a whole new colorful, lively world just below your feet. This wasn’t the excursion to take for people who just wanted to focus on snorkeling; it made a great cap to a day of seeing St. Lucia.

An hour later, the catamaran pulled out of our snorkeling hole and headed back for the cruise ship, plowing through one brief rain shower after another. We did our best to deplete the boat’s stash of rum, and the crew seemed more than willing to assist our efforts.


Out in the ocean, we witnessed a stream of increasingly more courageous fishermen. At first, we marveled at two guys out together in a small 25 foot craft with a single large outboard engine. If that engine failed, they could be in a lot of trouble pretty quickly. Then we saw one guy out alone in a 20 foot boat with a very small outboard engine, maybe 15 horsepower, not much more than a trolling motor. We were stunned that he’d even take on these rolling waves in the rain. If the rain and wind intensified, he could well be swept out to sea without enough power to fight the ocean, and he didn’t have a friend to help out. Clearly, these were people who didn’t want to be out at sea – they had to be. Finally, we saw a guy in a rowboat, pulling in his fishing line by hand! We were dumbfounded. This is the ocean, not some local lake or inlet, but the real, bona fide ocean. The ocean is something to be not just respected, but even feared, and this guy was out in a rowboat. Hats off.

Inside the boat, a member of the crew actually caught a mackerel as we sailed – well, motored – home. The passengers cheered his skill.

All in all, this excursion was worth every penny, and I’d recommend it to anybody with a strong stomach stopping over in St. Lucia. The faint-of-heart should be aware that the roads are winding and dramatic, and between the roads and the catamaran, motion sickness is a real threat.

Back on the cruise ship, the dinner service and food in the Marquis dining room surpassed our expectations, but with Erika’s escalating seasickness, we had to abort just before dessert. We skipped the comedy show as it was being held in the rocking-and-rolling Vista Lounge, very prone to wave motions due to its location in the ship. The evening’s scheduled island-style party up on the pool deck got cancelled due to inclement weather, but of course the rain stopped shortly after the cancellation announcement went over the loudspeakers. I spent the evening out on the promenade deck updating my travel notes and cataloging my photos. That one day alone, I shot over 500 photos!

The Sun Princess holds around 2,000 guests, but it feels much smaller than that by far. I’m not a raging socialite – I don’t even go to the bars – but by evening 6, I continuously ran into people I’d met and talked with. That evening on the promenade deck, several couples stopped and talked to me while I chilled out with the laptop and a glass of wine.

Day Seven – Grenada

Tuesday, January 3, 2006 – Photos from Grenada

Laundry day – or at least, laundry morning. The number of daily activities on board and on islands means we change outfits two, three or four times a day, burning through clean clothes at an alarming rate. I had packed about 20 shirts, but by evening six, I was down to three clean ones. I eyed the gift t-shirts we picked up in Martinique, but I decided I’d better do the right thing.

Guests can avoid the laundry room by paying $15 per bag for laundry service, but the bags are quite small while the washers & dryers are full size. I have a hard time paying what amounts to $30 per load for laundry when I have a couple of hours of idle time in the mornings, so I opted to do my own.

Laundry facilities on board the Sun Princess are clean, well-kept, cheap at 75 cents per load, and very small. Our floor had a laundry with two washers and two dryers. (I’ll spare you from pictures.) Erika advised me to go early to avoid the lines, but when I stumbled in with a duffel bag of clothes at 6:00 AM, the two washers were already running. I plopped into a chair with my laptop and waited for the other person’s two loads to finish. After he moved his clothes into the dryer and left, I started loading mine into the washers. As I put in the coins, a woman came in carrying clothes and tried opening the washers. I explained I was using them, and that she could be next. She said disgustedly, “You’re using BOTH of them? Come on.”

Just then, the first guy came back in to add dryer sheets, and thankfully, these two knew each other. “Oh, I should have known!” she exclaimed. “What the hell are you doing washing clothes this early?”

“Hey, you gotta get with it! These things are full 24 hours a day! You gotta get up earlier.” They joked and laughed, and I was off the hook. Whew. She made me promise twice that I’d go knock on her door after my wash finished. These laundry room people are ruthless.

By 8 am, I was done with the laundry, tired of fending off strangers from stealing my washer and dryer. I made my way up onto the deck with a couple of lattes, my iPod playing Jimmy Buffet, and watched the tenders scuttling back and forth to the Grenada shoreline.

With Erika’s bout of seasickness, we decided to skip the van and boat excursions and head for Grand Anse Beach, conveniently located just a couple of miles from the ship’s mooring. We took a $15 car taxi ride over, and we had an interesting question-and-answer session with the driver, a retired police officer. He pointed out some of the more interesting sights, including the former prime minister’s office up on a hill. Back in the 80’s, some Cuban rebels took over the building and the Grenada government asked the US for help. Reagan sent it in the form of a bomb dropped directly on the building. Gotta love that guy. No screwing around there.

Grenada suffered horribly during 2004’s Hurricane Ivan, and the effects were still visible on the vast majority of structures. Churches, libraries, homes and shops all had their roofs blown off and were still unrepaired. I’d guess that 50% of the structures were uninhabitable, and I saw no construction or repair work going on. The economy just won’t support a rebuilding effort yet.

Aside from the friendly driver, the short ride to the beach was pretty brutal. There was no infrastructure to support tourism: the streets all around the cruise ship docks are barely two lanes wide, and shared with locals walking around. Our taxi herked and jerked as it inched through foot and car traffic, usually staying below 5mph. I might recommend the water taxi service to Grand Anse beach over the car service, but frankly, I didn’t like that option either. The water taxis were comprised of skiffs loaded down with so many people that their hulls were maybe a foot over the waterline, if that. I had visions of one strong wave capsizing the boat right over, and I’ve seen too many passengers that couldn’t swim to shore – including me – in the strong currents here.

Me backfloating in Grand Anse

Grand Anse is a long stretch of beach, about 2 miles long. Stay with the side furthest from the cruise ships. Not armed with that piece of knowledge, we avoided the crowds – we’re not people-people at the beach. We went to the end closer to the cruise ships and rented an umbrella and sit-up beach chairs for $9.

Locals prowl up and down the beach hawking every kind of handmade ware you could imagine, along with some you can’t imagine. One guy walked up carrying nothing and said he was the “therapy man”, offering foot massages. Riiiight. While that would indeed be an unforgettable vacation memory, I somehow had to pass. They just don’t stop, either: we were visited by a vendor every 3-5 minutes.

I temporarily avoided the vendors by taking a swim only to discover why people don’t go to the north end of the beach. The first ten feet out are sharp rocks, and past that is thick seaweed. It takes a lot to get me out of the water, especially when the beach is crawling with street vendors, but I can only back float so long without getting bored.

No snorkeling here – the water was way too cloudy, less than a couple of feet of visibility. I would have been rather interested to see this forest of seaweed, too.

We packed up after less than an hour and walked over to the driver’s favorite beachside restaurant, Coconut Beach. I absolutely loved the atmosphere – very casual, right on the beach, sand on the floors – but the service was so casual as to be intolerable. Nobody would talk to us, and we gave up after sitting at a table for ten minutes without so much as a sight of a waitress. The prices on the menu were in Eastern Caribbean dollars, and converted to dollars, they were ridiculously high. The cheapest entree, fried shrimp with no sides, was $25. I can tolerate high prices with good service, but since nobody would talk to us, we walked out and caught a cab back to the docks.

Later that evening, I spoke with other couples who’d taken tours of the island. They came away with similar impressions of the island’s deep poverty and disrepair. One couple saw the national stadium, and it looked like the hurricane hit yesterday, with big chunks of concrete lying around. I wondered to myself how our recovery effort in New Orleans will compare to that.

I’m very much in favor of sustainable tourism, especially helping other cultures profit from their natural resources, but if I had the chance to stop in Grenada again, I doubt I’d get off the boat. I’d rather send an aid check than spend a day of my vacation here. Maybe an aid organization ought to start up something like that – have a virtual vacation in the country of your choice. You send a $200 check, and you get back a bunch of knickknacks, t-shirts and postcards. (Note to relatives: your knickknacks and t-shirts are en route, having been earned the old-fashioned way.)

The ship’s food got markedly better over the last couple of days, especially in the Horizon Court buffet. The past two days have brought good pastas and soups. The meat at the carving station was still burnt to a dry crisp, though: I actually dipped my London Broil in the tomato soup just to make the meat edible.

Day Eight – St. Vincent

Wednesday, January 4, 2006 – Photos from St. Vincent


Every night, the ship’s staff distributes flyers describing the next day’s port. These flyers describe the island’s history, culture, excursions and of course, shopping. Today’s flyer for St. Vincent was very thin on details, and the shopping section read, “The only shopping is in Kingstown.” That’s great, but Kingstown is in the middle of the island, miles away from the port, and we’d need to cross a mountain range to get there. Hmmm.

Erika and I disembarked nonetheless, just to see what we could see. The tiny port held half a dozen knickknack stores, some of which didn’t even accept credit cards. The port was surrounded with barbed wire, and leaving the grounds looked like leaving a government checkpoint. The other side held decrepit buildings, without a store sign or an inviting place in sight, so we turned back and came back on the ship.

We talked to a Canadian couple who’d taken a St. Vincent van tour and enjoyed it quite a bit. In fact, they thought it was the most secure, friendly island they’d seen. They’d also spoken with another couple who paid a taxi driver $20 to take them to a snorkel spot, which turned out to be great. So the word on the street: get far away from the cruise port and you’ll do fine.

The St. Vincent stop only lasted five hours, just long enough for the cruise ship to ring up a few excursions, and then we set sail for Port Everglades.

Afternoon activities at sea included a German Bierfest Buffet from 5:30 until 10. I’m not a big German food fan other than the sausages, but they had brockwurst, knockwurst, and a couple of other varieties, so I was a happy camper.

Days Nine & Ten – At Sea

Thursday – Saturday, January 5-7, 2006 – Photos at Sea

Sunrise on promenade deck

The last couple of days, the ship rocked and rolled more and more. I was impressed that nothing ever seemed to creak or groan with all this moving around – the ship felt screwed together really well – but everything moved around. Our stateroom near the center of the ship jittered from side to side for hours, and further toward either end of the ship, the ride was a big roller coaster. Saturday morning in the Atrium Lounge near the center, the Christmas tree fell over as I sat typing travel notes. I couldn’t understand all the motion, because outside, the wind and waves weren’t bad at all, waves being never more than 4-5′ tall. The only thing I could think was that the stabilizers weren’t working or had been turned off.

At sea, Erika stayed in the room for the most part and read or watched TV. The onboard TV channels don’t include commercials, which was great since we were going through Tivo withdrawal. The live CNN feed showed stock numbers during commercials, and the ship had special feeds for sitcoms, Travel Channel shows, and Discovery shows, all without commercials. Two thumbs up.

I stuck with the promenade deck. Every few minutes as the sun rose, I would climb out of my comfy deck lounge chair, take a few pictures of the sun and clouds for my computer wallpaper collection, and then settle back down.

The cruise staff planned plenty of events all day and night for both days at sea, and there was something for everybody. They pushed the art auctions a lot via nightly junk mail flyers distributed to each room. I’d read complaints from other cruisers about how the art was displayed so prominently around the ship, but it’s really just confined to deck 7 forward, and we enjoyed checking out the collections. I have a hard time complaining about an abundance of art.

Drifting boat off Puerto Rico

A bit of unplanned excitement occurred on Thursday when someone spotted a drifting boat nearby. The captain swung the big ship around to get a closer look, and we maneuvered within a few hundred feet of the tiny dinghy. Thankfully, it was empty. We hoped that the boat had simply drifted away from its mooring, unattended. The captain notified the US Coast Guard in nearby Puerto Rico, and we continued on our way.

The chef ran a sushi demonstration followed by a sushi buffet lunch in the Horizon Court Buffet at 11:30. There was a veritable stampede of guests packed around the small buffet tables – I had not seen that many people packed into a buffet area during the whole trip. The sushi left a lot to be desired, but it was still a refreshing change from more typical buffet food.

One of the funniest parts of the cruise occurred on the last day, Saturday morning, as I sat in the Atrium Lounge polishing up the travel notes. I overheard hilarious conversations between husbands and wives. Funny how ten days of close proximity affects people:

Older woman toting a small suitcase: “I told you I can’t follow you because I keep tripping over that damn big suitcase you’re dragging.” Husband: “Then let’s switch. You take your stuff, and I’ll take mine.”

Canadian woman to her husband: “Stop worrying about the money, eh? They just charge it to the card. Besides, it’s in US dollars. They don’t convert it to Canadian dollars, because they’re both dollars. They just charge it as is, eh?”

Grouchy curmudgeon: “I can’t sit still in this place for another half an hour.” Upbeat wife: “Three laps around the outside deck is a mile. The door’s over there.”

Pre-teen kid to his parents: “This is the part I hate. We see something really nice for once, and we have to leave it.”


It was all I could do to keep from laughing out loud. Erika and I have it pretty darned good: our stressed-out part is the start of the vacation, packing and preparing, not the end.

And that was our cruise! The final verdict is up at the top of this, but in a nutshell, I left completely relaxed and rejuvenated. As Erika declared, this last port was our favorite.

SQL Server 2005 Intellisense


With Microsoft touting Intellisense in just about all of their products, including Visual Studio, one would assume it’d show up in their flagship database product, SQL Server 2005. Unfortunately, the SQL Management Studio still doesn’t offer any prompting as you type in code, even though it’s based roughly on Visual Studio 2005.

Enter PromptSQL, an add-on product that offers Intellisense for SQL Server in several different editors. It supports not only Query Analyzer and SQL Management Studio, but also UltraEdit, my favorite text editor.

PromptSQL monitors your typing and helpfully pops up just like IntelliSense would. The best way to see it in action is to check out the screen shots on the home page of their web site.

It does a surprisingly good job for a standalone third-party application. You have to give it your SQL Server login information and it runs queries against your database to get the necessary information. It strikes me as a lot like Ajax, for whatever that’s worth.

It’s $50. At first, that seemed like a lot of money for something Microsoft usually includes for free in all of their products – but then if it was easy, I guess Microsoft would have included it in SQL Management Studio. I think I’ll buy it when I get back from vacation, but for now, I’m saving my money for more margaritas. 5 days and counting…

Multiple SQL servers, same SAN

No Comments

My jaw hit the floor on this tech note from Microsoft: with SQL Server 2005 and a SAN, you can have multiple SQL servers hitting the same read-only reporting database.

This is really only a solution for reporting loads that require more work from the CPUs than they do from the drive arrays. If the report queries spend most of their time waiting on disk access, then this won’t offer much speed improvement.

However, as an example, I’ve worked with analysis functions that did math-intensive work on a relatively low number of records. We initially coded these formulas inside stored procedures and SQL functions, but the CPU load was too high relative to the amount of queries we’d need to run. When we scaled out to full production load, we would need more CPU power than was available from a single server. We ended up recoding the analysis work in standalone Delphi processing applications, adding processing queues, and so on, but it was a lot of management overhead.

With this new feature of SQL Server 2005, we’d have been able to keep the work inside SQL, make the applications faster, and reduce turnaround time for the reports.


To the guy who broke into my Jeep last night

No Comments

Hi. I’m Brent. I’m the owner of the black Jeep.

I went out this morning to go to work, and I got nervous when I put the key in the passenger side door and it turned way too easily, meaning it was already unlocked. Then I noticed the pennies you scattered all over the passenger side floor. I have to admit that my first thought wasn’t a break-in, but that Erika had gotten sloppy when digging for change for a parking meter. We leave our leftover change in the Jeep’s center console, and it looks like you share our opinion on the worth of a penny.

I finally put two and two together when I started the Jeep. I usually make the same mistake morning after morning: I put the key in the ignition, start the Jeep, and then reach for the iPod in the locked center console only to realize that I have to turn the Jeep back off, take the key out, unlock the console, and get out the iPod. This morning, I was surprised to find the center console unlocked, and even more surprised to find the iPod missing. I thought maybe Erika took it inside to sync it up, copy some new songs over, but then I noticed that the cigarette lighter dock was gone too.

Evidently you took my emergency duffel bag from the back, too. I’m guessing you didn’t even look inside before you took it, and I can’t stop laughing when I think about you opening up your booty at home. I grew up in Michigan, so I always keep water, food, and some basic tools in my cars just in case I run into problems. Now you have your own emergency bag. Hope you enjoy those granola bars. I have a secret hope that you’ll return the next evening, unzip my Jeep’s windows, and put the emergency bag back complete with the water and granola bars. That would truly be funny.

I want to thank you for a few things.

First, thanks for not smoking in my Jeep. I really like that Jeep. A lot. I spent a ton of money on it specifically so I could have a nice, clean Jeep that was mine from the get-go, and it would piss me off if it smelled like smoke. I appreciate your courtesy. When I had my last Jeep parked at an apartment complex in Houston, people would sit in it, smoke, and drink beer. I kid you not. Maybe this says something about the healthiness of Miami Beach criminals. Maybe that’s why you took the water and granola bars, too. Maybe you’re a hipster, a discerning burglar. Of course, in that case, the first thing you’ll probably do when you get home is wipe out my un-hip MP3 collection.

Thank you for not slicing the windows open with a knife. I always said that if somebody broke in, I would hope they’d have the intelligence to simply unzip the windows rather than cutting them open, because those things are pretty expensive to replace. Looks like you had the good sense to unzip the back window and climb in that way, and that’s mighty nice of you.

Thanks for not trying to take the stereo out of the dash. It’s a navigation system, and I’m sure it’s worth some money on Ebay or something, but it is indeed useless without professional installation and a GPS antenna. Either you didn’t realize how expensive it was, or you realized how difficult it would be to install in a regular car, or you just didn’t have screwdriver-like tools with you to pry it out of the dash. Actually, you did have the tools with you – they were in the emergency bag. But I think we’ve established that you didn’t look in the bag before you actually stole it, or else you probably would have just left it. Anyway, thanks for not screwing up the dashboard.

Now, about your new iPod. I’d like to think you’re going down to the Apple store to pick up a dock and use the iPod yourself, as opposed to pawning it. I don’t care about the music on it, because that’s all backed up on our computer at home, but my heart sinks at the thought of Erika’s iPod in a pawn shop somewhere, all lonely, being touched by strangers.

Please do us both a favor: hang on to it. Try it out. Listen to the music on it. Give it a chance before you cast it aside. Take care of it, because it’s a physical reminder of a memory, of a point in time in your life.

That’s what the iPod was for me, anyway. I remember coming home from a Dallas trip, pulling into the driveway, and having Erika meet me at the door to help me unload the car. She wasn’t supposed to see the iPod box in the trunk, but she did, and she realized it was her birthday present. I loved seeing the look on her face – that was priceless. Every now and then, seeing the iPod would remind me of that moment, and that alone was awesome.

The iPod itself? Bah, it’s an old 3G one with 15gb of storage. Which leads me to my final thank-you – thanks for giving me an excuse to buy Erika a new gadget.

SQL Server 2005 icons


Ugly situation, but pretty iconMe talking to my developers: “Well, guys, I’ve got good news and bad news. Bad news first: looks like somebody forgot about today’s scheduled outage, and they were trying to load data when the network admins shut down the database server. The ETL database is now trying to recover the messy transactions, and the server could be down for a few hours.”

“The good news, though, is check out the cool new SQL Server 2005 icon for databases that are in recovery mode! Is that cool or what?”

Using UltraEdit for SQL editing


My former manager asked why I use UltraEdit for all of my SQL Server coding, and after pouring out the answer, I figured I should post it here as well for posterity.

There’s so many advantages you just take for granted after a while. I had to open it and do some editing to remember what all they were.

SQL Syntax Highlighting

It has color-coded syntax highlighting for just about any language imaginable via add-on word files. (Download the T-SQL word file off and append it to the end of the installed wordfile.txt to enable it.)

It automatically highlights the matching parenthesis. When your cursor is on a beginning parenthesis, UltraEdit highlights the matching end one, regardless of which line it’s on. That’s a troubleshooting lifesaver.

It can automatically use spaces instead of tabs, and you can set the number of spaces to use for each press of the tab button. Tabs work differently across different editors (Query Analyzer, Enterprise Mgr, UltraEdit, Notepad, etc), but spaces work exactly the same. Makes the code much easier to read.

It automatically indents and unindents based on the words you type. (This is defined in the wordfile.txt for each language.) When you start a “begin” statement and hit enter, for example, it automatically tabs in.

SQL Templates and Indenting

It has support for templates and code snippets built in. I have to confess that I never use those, though.

It can quickly comment out code. Highlight the lines you want to comment out, and click Edit, Comment Add.

UltraEdit theoretically has the ability to re-indent code like HTMLtidy cleans up HTML, but UltraEdit’s method is woefully inadequate. Instead, check out this online SQL formatter. It’s like HTMLtidy, but for SQL. Call it SQLtidy – or at least, they should have. Copy/paste a small stored proc in there and it fixes the indenting, cases, and puts one item per line. Great stuff. I ran across this when trying to clean up some horrendous sql at the new gig. Just standardize on a set of options, and then have everybody clean up their sp’s in here before they check them into CVS.

Plus, that tool even facilitates inline SQL – in the “Output” dropdown at the top, pick the programming tool you’re using and it’ll build the string for you, nice and clean.

Automatic Code Cleanup From The Command Line

There’s a command line utility for download and you can even somewhat integrate it into UltraEdit. Install the command line util, and then run it once from inside UltraEdit via Advanced, DOS Command. UE has a variable for the filename and can set the working directory, so once you’ve ran the command line utility, you can run it again for other sql files pretty easily. Just make sure you save your file before you run the command, so you don’t lose your changes.

I never got ambitious enough to use this company-wide because people have wildly different syntax styles, but this really makes it easy to standardize and clean things up. Saved me a ton of time at the new place – the prior “DBA” used Enterprise Manager’s graphical query builder to build all of his queries, and the [syntax].[and].[MIXEDCASE].[made].[bABYjESUS].[Cry].

File Comparison for Stored Proc Versions

UltraEdit also has a decent file compare utility. Use CVS to locally save the prior version of a stored proc, then open both the current and the prior in UE. Click File, Compare Files, and it’ll show both files side by side with the differences highlighted. Makes it easy to test new versions of sp’s and views because you can see exactly what changed. There’s also an extra-cost higher-powered file compare called UltraCompare, but it’s not worth the money if you’re just comparing stored procs.

It has some other obscure features, like search and replace with regular expressions syntax, but just as far as day-to-day commonly used stuff goes, UltraEdit blows the doors off Query Analyzer.

Ebay buying WHAT for HOW MUCH?!?

No Comments

Ebay just announced they’re buying Skype for $2.6 billion dollars. Here’s the press release.

For those of you who don’t know what Skype is…exactly. That’s the point.

Skype is a free (FREE) online phone service so you can instant message with people, except you’re actually talking to each other instead of typing. It’s like free long distance. Free. Sounds like a huge moneymaker, right?

But wait, it gets better. Skype is not compatible with any of the other online voice chat services out there like Google Talk, Yahoo Instant Messenger, MSN Messenger, etc. There are tons out there – all … free. Free. FREE. Most of them are better than Skype.

And if you divide out the number of Skype users, Ebay is paying about $1,000 per user for Skype. A thousand bucks per person for a service that gives stuff away for free. Well, wow, of course it makes sense! What a deal!

It’s like I woke up in 1999. These numbers are totally disconnected from reality. Skype has no synergy for Ebay. I’ve bought and sold around a hundred things on Ebay, and every now and then I get questions from bidders via email. I have never gotten a single question via instant messaging, even though my instant messaging info is on my web site and on my auctions. Ebay wants to integrate voice services so buyers and sellers can talk to each other easier, but here’s the thing: they could do that for free without buying a company. All they have to do is offer to partner with any of the voice-over-IP companies out there, and the companies would leap at the chance to partner with Ebay and get their name out there. Ebay wouldn’t have to spend a cent. Much less two hundred sixty billion cents.

I’ve talked this over with other geek friends and none of us get it. Either Ebay’s really got a wild product up their sleeve, or they misstumbled badly. When they bought Paypal, all of us got it. None of us get Skype.

Database & Network Administrators are really Customer Administrators

No Comments

The first thing administrators want to monitor is their resources: file servers, database servers, app servers, etc. That’s understandable, since they’re system administrators. In order to be really successful with monitoring, though, we need to think like customer administrators – for both our internal and external customers. Forget the hardware, and think about the people. How do our customers interact with our systems?

Let’s say we’re administering an ecommerce site. As a Customer Administrator, the basic customers are:

  • Outside money-waving customers who place orders
  • The shipping department who sends out the orders
  • The inventory people who replenish our stock

How do each of these groups interact with our system? The outside customers are the easiest to diagnose: they go to our site, browse our items, and hopefully place orders. We want to set up monitoring on each of those activities: using our server monitoring software, we need to make sure that our site works, that we have items in our store, and that people are placing orders.

Network Admin crying out in pain: “That’s not my responsibility! Why should I monitor whether people are placing orders or not?”

Well, network admins should care about the number of orders placed because it’s a critical customer statistic that will get the IT department into a whole lot of trouble if something goes wrong. You can monitor everything in the shop, but if somebody makes a programming error and the money stops coming in, everybody needs to know as soon as possible – and that’s where server uptime monitoring can step in and make you a hero.

Even better, when monitoring is done right, the IT department can catch when people place an unusually high number of orders – like if a pricing error discounts 19″ flat panel monitors to $5.99 instead of $599. Is it the network department’s job? Nope. But if you can catch it before anybody else, and if you can get the right information to the right people to fix the problem, then it’s easy to justify the IT department as a vital part of doing business online.

So our order monitoring needs to have at least three parts:

  • Alert when people haven’t placed any orders in 1 hour
  • Alert when we’ve gotten more than X orders this hour (may be 100 or 1,000 or 10,000 depending on the size of the organization)
  • Alert when one item’s sales have been more this hour than the last 72 hours combined (or appropriate timing rules)

Start with a small set of monitoring triggers, like 3, and then hone your alerts as you gain experience with your statistics. Get as curious about order statistics as you would about database server memory use: figure out new ways to analyze it. For example, you may want to alert when any one customer orders more than 3 of an item priced over $200. Even if it doesn’t indicate a problem, you can still suddenly find yourself in-the-know about your company’s business pulse. Imagine emailing one of your sales crew and saying, “Hey, a guy in Mississippi just ordered fifty flat panels. Maybe he’s setting up a temporary office for people displaced from the hurricane. You wanna contact him and see what else he’s shopping for?”

The more you know about the way your customers interact with your IT systems, the more you can help other departments – and the other departments will remember you as a valuable, in-the-know guy.

Network Admin with a frown: “Yeah, but that’s an easy example. That just relates to people with online stores. We don’t sell stuff online.”

And neither do I, but I can’t give you my exact examples here. I’d have to kill you. It really does work with any company.

Let’s say you run a fantasy sports site. Your customers:

  • Start new teams
  • Make trades
  • Play games against each other

Then set up an alert to tell you when no new teams have been started in X hours. Granted, you’re going to want to put this check on maintenance in the offseason, but we can write that into our query.

Set up another alert when no trades have been made in X hours. This would indicate a problem with your trading system.

Set up another alert when any games have a combined score of zero. Depending on the sport, we’d need timing rules in here – for example, in football, we would only want to alert on Sundays after 5pm. Zero scores would indicate a problem with your scoring system.

This kind of analysis helps alert us when the system is running, but it’s having specific problems. Likewise, when monitoring a mail server, don’t just monitor to see that it’s up, that it’s accepting connections on the SMTP port, and that it’s accepting connections on the POP3 port. Instead, look at how your customers interact with the mail server: they send and receive emails. Therefore, monitor the number of incoming and outgoing emails per hour, and send alerts when either sinks to zero. (Of course, we’ll need business logic on the outgoing emails – we may not want to alert on that outside of business hours.)

Network Admin starting to see the light: “Yeah, but my users will still call me first. I’ve got these really intense guys who live by their email, and they call me the instant anything’s wrong.”

Users won’t notice when they get no incoming emails from outside the building for an hour. Some days are just quiet. It’s the Customer Administrator’s job to make sure that the interactions are going properly, and only the company-wide Customer Administrator will know that NOBODY got incoming emails from outside the building for an hour, therefore indicating a system-wide problem.

Monitoring is never done. People who run uptime monitoring systems have to continually refine their alerting methods to strike a balance: we don’t want false alarms when something isn’t really down, and we don’t want the system ignoring an actual outage. Let’s say we set up our alerting so that it’s a little paranoid, and it gives us just 1 false alarm per month. When we’ve got 30 alerts set up, we’re going to get a false alarm every day. That gets a little annoying, and worse, false alarms make the IT staff think that every incoming alert is a false alarm. We can’t have that, and we’ll talk about that more in later blogs.

Back to our e-commerce site example: we still have our inventory and shipping departments. Remember, Customer Administrators need to handle all of their customers – internal customers are just as important as external customers. The shipping department is easy to analyze: they interact with our system by shipping out every order that gets placed. Our alerting needs to detect when unusual things are happening in the shipping department, so we want to:

  • Alert when we’re backlogged by more than 1 day (with some business logic for weekends)
  • Alert during business hours when no packages have been shipped in X hours, but some are waiting

That second alert may seem like overkill: after all, the shipping department will probably alert IT directly if they have a problem with the shipping systems and they can’t get packages out. Probably – but maybe not, and that’s what uptime monitoring is all about. After all, most of your alerts should almost always be up.

That’s the point of uptime monitoring: you don’t want to catch the 999 times out of 1,000 when the system is working. You want to catch the 1 time in 1,000 when the system doesn’t work. These systems may be IT, or they may be operational, like customers ordering huge quantities of mispriced items. The more you get to know your customers, the more effective your monitoring can be, and the more valuable the IT department is to the organization as a whole.

Network Admin: “Ah, so I can get a raise?”

Now you’re thinkin’.

Ernie with her ears up

No Comments

What?  What?  Can you repeat that?I can say with absolute certainty that our ittle Ernie is the most adorable little dog on the planet. Period.

Several times a week, Erika and I try various tricks to get her ears to pop up. Ernie quickly gets accustomed to these efforts like a virus resisting penicillin, and adapts her state of relaxation to ignore our outbursts of noise. As a result, it’s pretty hard to get a picture of her with her ears shooting out sideways. I’m not sure what we did to get this particular shot.

Something like a million people are still without power from Hurricane Katrina, but life here on the beach is back to normal. I went out for my coffee this morning and sat on the beach with a couple of chicken empanadas, and the only indication of anything out of the ordinary was the row of MTV satellite trucks. Not news trucks, mind you, but MTV trucks here for the Video Music Awards. There have been tons of celebrity sightings in the papers the last couple of days. Yesterday a big, fat Maybach limo sat idling across the street from us for half the day as the driver waited for his passengers to get done partying. Half a dozen Range Rovers and their chauffeurs waited nearby, with their chauffeurs standing around talking.

Speaking of celebrities and pictures, check out Glenn Feron’s portfolio called The Art of Retouching. Click on a picture and move your mouse back and forth over the image to see the before and after. He does retouching work with Photoshop to clean up photos. Great stuff. I’ve done enough Photoshop work to know what a good eye for details this takes.

Tropical Storm Katrina update

No Comments

Getting warmer
Brent Cantori here for the Panic Channel. The 11am advisory has come out, and the Panic Center is forecasting a large “H” in our immediate vicinity. Don’t be fooled by the bright sunshine outside, the cloudless sky, or the fact that when I walk Ernie in a few minutes, I’ll be wearing flipflops, shorts, a t-shirt and a hat. This is a serious storm, people. Serious! No foolin’ around here. In fact, you’d be wise to stock up on Cuban coffee, empanadas, and suntan lotion.

Okay, let’s face it, it’s hard to get panicked when it’s absolutely gorgeous outside. I can see why so many people say they can ride it out, because it’s just beautiful outside. Now they think it’ll be at our place around Friday morning, but we’d be on the south side of it so we’d be spared most of the ill effects.

I’m not looking forward to Erika getting home today. She’s been concerned about hurricanes ever since we decided on Miami. Now, whaddya know, today’s her first day of school, and there’s a storm comin’ our way. Grrrrreat timing.

We’re moving to Miami!

I’ve been waiting to blog about this for a little while, but had to hold off while we got a few things handled. Now it’s official – we’re moving to Miami! Erika’s going to quit work and go to school full time for the next couple of years. Why Miami? The school had specific advantages, but more on that down the road.

That means we’re selling the house. I put it up for sale by owner, but with a realtor’s help to get it on MLS. Last time I used a realtor for a house sale, I was very disappointed with the lack of effort put in by the realtor even though she said she was an active seller. Whatever. This time around, I still paid buyer’s agent commission (because they definitely do some hard work), but I did the selling myself through MLS. The house sold very quickly because we priced it very competitively with the other houses in the ‘hood – we didn’t want to stick around for half a year to make an extra $5-$10k, and thereby miss the fall semester.

Now that we’ve got a contract on it, people are coming out of the woodwork saying, “Man, I told this friend of mine to buy it, but he didn’t move fast enough!” Hahaha.

We’re really, really going to miss this neighborhood. We’re both completely aware that if we get the chance to come back here in 2 years after her school is finished, we probably won’t be able to buy into this neighborhood, something I find hilarious. We didn’t want to keep the house and rent it out, though, because that’s a pain in the rear from another state. It’s hard enough to own rental property in the same city, let alone a different state.

This also means I have to relinquish my position on the HOA Board of Directors. I genuinely loved doing that. I’m not cut out for politics – too many skeletons in my closet – but at this level, politics is enjoyable. It’s great fun to be able to make a positive difference in the neighborhood and help build a community. The next time we buy a house in an HOA, I’ll be active again, but for now, it’s back to apartment life while Erika goes to class.

We’re going to sell Erika’s Jetta and keep my Jeep because we only want one new car payment for a while. I’ll miss the Jetta because it’s tons of fun to drive, but the Jeep is my dream vehicle, I think. There’s nothing under $100,000 that I’d rather drive. Up over the $100k mark, it’s the Ferrari Superamerica. Even if the top didn’t flip like a pop-top beer, it’d still be gorgeous.

How to make your web site popular

Good old fashioned turtle love.I gotta confess that I don’t really give a rip whether my site is popular or not. I rarely look at my web site statistics. Every now and then I pull it up just out of curiosity to see what people find interesting about my site. The statistics packages I use gives me a vague idea of why people are coming to my site. I haven’t looked at it in at least a few months, and this time around, I was in for a wild surprise.

The biggest draw to my web site at the moment is people searching for images via And what are they searching for? Lovin. This particular photo is referenced in my turtle pages, and I happened to name the file “lovin” because – well, because it was funny. Turns out people are looking for lovin, and this picture is one of the ones they pull up.

Goes to show you that internet search still has a little ways to go.

Unless, of course, people are really into this sort of thing. Which makes me feel a little dirty.

This week blows

YawwwwwnI was leaning back yawning when my browser opened, and I saw my own image on my webcam. Hello. Had to grab a copy of that.

Yes, it’s 3:36pm, and I’m dead tired. Not a good week. Having a rough time at work. I’ve always made a policy of not discussing work stuff here on the blog, and…now is no different, hahaha.

Better Than Ezra is playing Houston and Dallas next week, and I think I’m going to be in Dallas. Erika will kill me for missing the Houston show. They’ve got a new CD coming out in a couple of weeks, and I’d love to take her to this one here in town. Damn schedules. I have to be in Dallas because they’ve hired another programmer to help me out, though, and it’s hard to complain about that. More people is always a good thing.

Busy weekend planned

Me & MomThe photo’s courtesy of Mom, who is playing around with picture mail on her phone. Nice picture, actually. I don’t remember this one.

Got a busy weekend planned. This morning I’m helping clean up the neighborhood by doing a trash walk down Airline in front of our subdivision, picking up trash with a few neighbors. Then I’m running over to a friend’s house to help with his wireless network, and then helping to plan a neighborhood block party this evening.

Ernie had a day at the beauty salon yesterday and came back looking trim and clean. And hopefully flea-free.

I’ve got an idea for a web business. I’m bursting at the seams to start work on it, because this is the first one I’ve had in years that didn’t violate my non-compete agreement at the office, hahaha. I’ve got a zillion ideas on how to implement it, but now comes the hard part – programming it. Well, not programming it, really, but picking which programming language. I can develop fastest in VBscript ASP, an “old” language, but that’s not really how I want to start a new online business in 2005. I should be using .NET or PHP, but I don’t want to learn those as in-depth as I’ll need in order to make this work. Tough decision.

It’s a bomb! No, wait, it’s THE bomb

Wave-X Digital TS-300 MP3 Player (and a tube of Chapstick for reference)My purchasing philosophy is to either buy the best designed product out there, something that’s going to last ten or twenty years, or else buy the all-out cheapest thing that meets my needs. Everything in between usually involves too many compromises, and I end up wishing I’d saved my money or else I pine for the higher quality one.

So when I decided to start jogging – well, I mean, when Erika decided for me to start jogging – I figured the only way I’d do it is if I could work in technology somehow. I’m a news addict, and I figured now was the time to start listening to podcasts.

Podcasts are like this blog that you’re reading, only they’re audio files instead of web pages. People record regular “shows” in MP3 format and put them up on the web for other people to download and listen to. And, yes, like this blog that you’re reading, most of them aren’t that terribly interesting, made up of personal drivel and low-rent opinions. I don’t really care what Sam Smith in San Antonio says about his family or his computer.

However, there are some podcasts with high production quality, just about to the level of radio shows. And since podcasting is dramatically cheaper than running a radio station, there’s a great variety of podcasts about even the narrowest of topic ranges. For example, I love to watch Survivor. (Yeah, I know, I know.) Every week, after someone’s been voted off, there’s a long show with the recently booted contestant being interviewed. When I’m walking the dog at 6 AM, before the coffee’s done brewing, this is exactly the kind of intelligence level stuff that I need, and about all I’m ready for. Russell Holliman does the Survivor world a favor by making a podcast out of this, with the commercials clipped out.

Russell has a podcast of his own, covering computer happenings and things around Texas. His would probably fall into the vast numbers of podcasts I’d never hear except that he lives near me, has similar political leanings, and has a couple of computer toys I want – a Mac Mini and a Treo phone.

Back to my purchasing philosophy. We already have an Apple iPod in the house, a gift to Erika for her last birthday. Well, I mean her most recent birthday – I certainly hope it’s not her last. The iPod was the quality piece of gear, the best thing out there, and a purchase I’m certainly glad we made. But she uses it most of the time, and I wanted an MP3 player of my own so I could listen to podcasts in the morning. I went down to Fry’s to pick up the cheapest MP3 player available.

I settled on a WaveXDigital TS-300, amusingly shaped like a little bomb. Time for a quick review. For $40, it came with 128mb of memory, an FM radio, and voice recording. 128mb is enough to store a few hours of podcasts, because they’re recorded at low quality – they’re just people talking, generally speaking, so you don’t need CD-quality audio. I wanted the FM radio so I could listen to KUHF, my local public radio station. I gotta be honest: that is literally the only radio station I listen to. I don’t even bother with presets on my car radio – I just never change the station. The voice recorder does what it’s supposed to, which is handy for morning walks when I remember things I should have done earlier. Oops.

The TS-300 has some drawbacks, though. It’s powered by a single AAA battery, but it won’t recharge that battery through the USB cable. I figured I’d just plug it into my computer’s USB port, sync some music, and leave it plugged in to charge. No – I have to swap out rechargable AAA batteries myself. Not a big problem, but just a bit of a nuisance.

Even worse, though, is that leaving the TS-300 plugged into your computer doesn’t charge the battery – it discharges the battery! The TS-300 uses power while it’s connected via USB. I left it plugged in to set up some automatic file copying from my computer to the MP3 player, and came back to find the battery dead. I would have thought it’d use power from the USB cable, since it’s plugged into my computer which is providing power, but no – even when it’s plugged in, it’s burning up the battery. Not too smart.

The most serious problem is that when you turn it off and then turn it back on later, it doesn’t keep track of where it left off. Podcasts are long – anywhere from 10 to 60 minutes – and I don’t want to start back up again at the beginning of a podcast every time I go out for a walk with the dog. So if I go for a fifteen minute walk in the morning, I have to remember where I left off in the audio track, and then when I walk her for lunch, I have to spend a minute fast-forwarding to that same part of the track. LAME.

But for $40, I can live with it. And it makes the time fly by when I’m walking the dog. I used to get antsy after 15-20 minutes, but now I find myself letting her run all over the park, and 30 minutes has gone by without me even noticing.

Ernie has her first bath at home

No Comments

Ernie after her bathBeen a long couple of weeks. Ernie’s doing well, but battling a touch of diarrhea. Okay, more than a touch – more like she got pounded with a diarrhea stick, but you get the idea. For three days I’ve been following her around the house with a spray can of Woolite Heavy Traffic carpet cleaner. I’m thankful we got the berber, but even berber carpet can’t disguise the mess we’ve got here. Time to call in the heavy guns – an actual carpet cleaner.

I just finished a home network setup for a great guy who found me via my HAL-PC articles (and no, I’m not flattering him, because he doesn’t read my blog anyway, hahaha.) He wanted to grow his home network to run a couple of machines dedicated to SETI@HOME, a project designed to search for extraterrestrials. I used to run that software several years ago, but I abandoned it when I started using laptops as my main machines instead of desktops. The software’s come a long way: now there’s programs like BoincView that let you manage a lot of SETI processing machines from your desktop. You can track how many work units they’ve completed, see which ones are faster than others, and make sure all of them are doing what you want them to do.

His network is now made up of two older machines (Win98), two identical new Dells (Windows XP), and two identical Shuttle small-form-factor PC’s we got from Directron, my favorite online vendor. The experience of integrating them together into the network, getting them all using SETI, and supporting them makes me even more convinced that Dell is the only way to go for home computers. Out of the two identical Shuttles, one of them had bad memory when we first installed it. Thank goodness we’d bought two of them, so it was relatively easy to swap parts back and forth until we came to the conclusion that the memory was the culprit. Directron exchanged the memory, but now we’re having problems with one of the Shuttles randomly shutting itself down. Ouch.

The Dells, on the other hand, went in perfectly and performed flawlessly. They cost more than the Shuttle setups, but they came with a lot more hardware, and they’re worth it just for the testing alone. I think next time, even for SETI processing, I’d be more likely to recomment a pair of identical Dell small-form-factor boxes than a homebuilt pair of boxes. Even if you sacrifice some of the performance, it’s worth it for the reliability.

Work’s going well, although I’m about to get one of those promotions that means more responsibility without any more pay. I’m probably going on call, which means I’ll be online for instant messaging a lot more, and probably updating this blog more, heh.

I rediscovered one of my old favorite games, Grand Theft Auto: Vice City. I’m not much on playing the latest and greatest games because they usually require so much more graphics horsepower than my work machine has. Playing games two or three years old, though, is a great sweet spot. My P4 2.6ghz with 1gb ram and an ATI Radeon 7000 plays GTA:VC quite well, and my newly installed speakers in the home office make the game more enjoyable.

I’ve started making DVDs using my Tivo, with the new Tivo-To-Go feature. I gotta say that unless you’re a geek, the process is more of a pain in the rear than it needs to be. You have to:

1. Copy the shows from your Tivo to your computer (takes roughly the same amount of time as the show length)
2. Decrypt the Tivo encryption (takes 2-3 minutes per show)
3. Edit the commercials out (takes 2-3 minutes per show)
4. Burn several shows to a DVD (takes multiple hours per DVD)

Last night, I burned a DVD with five episodes of Dwell, a great TV show made by the same folks as Dwell Magazine, covering affordable modern architecture and design. I’ve got a couple of friends in the neighborhood who I’ve introduced to the magazine, and since they don’t have DirecTV, I wanted to show them what the show was like. Burning just that one DVD, all in all, took the entire day. Granted, I wasn’t involved with the process for that entire day, maybe an hour of it total, but that’s still way more work than I’d like. For that reason, I’d guess the networks don’t have to worry too much about people pirating TV shows over the internet or passing around DVDs to their friends. It’s just not worth the hassle.

Ernie’s getting used to the house

Ernie at my office windowErnie’s settling into her new home and getting used to the place. Her comfort level is indicated by her newfound confidence in chewing on magazines, which we’ve always kept in a basket in the living room on the floor. That will probably need to change. I’d rather remove the temptation than try to explain to her why magazines are not chew toys.

We’d only bought her a couple of chew toys initially because we weren’t sure what she’d like. She’s grown to like a little alien-looking rubber ball with two feet, about the size of a golf ball, and that’s about the biggest thing she can put in her mouth. We got her a rope toy but the thing’s bigger than her legs, and she certainly isn’t about to go dragging it around the house.

The most interesting thing about her is her apparent obsessive-compulsiveness. I’ll have to get a video of it happening. Sometimes when she gets a treat, she will refuse to touch it. She’ll push it around with her nose, but it’s not even just a straight push: she will rub her nose on the floor, going towards the target object for a few inches, then when her nose gets to it, she will raise her head and tap the object. It’s like she’s sweeping it along, and then touching it once on the top for good luck. She repeats this over and over and over. She’s not gentle about it either – she’s got the motion down pretty good, and I half-expect her to have a nose full of carpet fibers when she’s done.

I gave her a heartworm chewable yesterday and she was in the OCD mode. This morning, I found it in her bed in my home office. I’m not sure how she got it up two flights of stairs – she obviously used her mouth, but if she did that, why not just eat the silly thing? It’s gone again now, and I’m not sure where she put it.

She does the same thing with Beggin’ Strips, those bacon-like treats. She won’t eat them in front of anyone, but instead she carries them around. Either she’s eating them in privacy, or I’m going to find a stockpile of bacon strips one afternoon piled away in a corner somewhere.