Screw and the Palms Casino Resort in Las Vegas

Let’s say you go online to Hotwire to make a last minute reservation for a room in Las Vegas so that your wife can meet up with cousin. And let’s say that you didn’t realize that the Nazi’s at the Palms Casino Resort in Las Vegas wouldn’t let her check in because her name wasn’t on the reservation.

You can call up Hotwire customer support and speak with someone (and I use the term “speak” loosely, since it’s barely English you’ll hear on the other end) about the matter. It turns out that they can’t do anything because the third party they work with is closed already.

Seriously. Closed!

It’s not a 24 hour operation and at 7:30pm on a Sunday they’re apparently just not doing business.

So you call the hotel and try to get her name added with the reservations department. They won’t do it. They need it to be done with that mysterious third party. After explaining the situation, they refuse to budge. So you ask to speak with the manager. And she gives you the same story and claims it’s an issue of being able to identify you.


Offer to fax or email a copy of my driver’s license, passport, and a recent utility bill. No change. So then I say “you mean my ONLY option is to cancel the charge with my credit card company and leave negative reviews online for both you and hotwire?”

“Yes. I’m sorry sir.”

No, you’re not sorry. You’re pissing off a customer who’s willing to bend over backward to provide proof of identity. You’re just lying about being sorry.

And all for a $50 room.


If you’re looking for travel to Las Vegas, you’d do well to avoid the Palms Casino Resort and Hotwire as well. You’ll waste more time than money you’ll save–believe me.

Screw both of them. They don’t deserve your business. And they lost mine.

Posted in misc, travel | Tagged , | Leave a comment

How to write a good used car ad…

For the last few weeks I’ve been shopping on-line for a new (to us) used car. And in the process of doing so, I’ve looked at hundreds of ads for cars within a 2-3 hour driving distance of our home in Groveland, California.

The bulk of my shopping has been via craigslist (of course) and I’ve found that a surprisingly number of sellers are either remarkably lazy or don’t know what basic information to include to to answer the obvious questions that most buyers are likely to have. This is especially true in the realm of cars with a salvage title (which can be a good deal).

So, in no particular order, I present a list of tips to for use car sellers. This is not at all specific to craigslist, but it certainly would hurt of more sellers there paid attention to these.

When selling a car on-line, it’s helpful if you:

  1. Include photos of the interior and exterior. If you can’t be bothered to snap a few pics, I’m assuming the car has issues with appearance and won’t give it a second thought.
  2. Make sure the photos are in focus and up-right. It only takes a few seconds to get right.
  3. Note any un-repaired damage. This stuff will come up anyway when the buyer comes to see it and realizes why the price is lower than expected.
  4. Say whether or not you’re the original owner. If you’re the only owner and have taken good care of it, say so in your ad.
  5. Specify the “trim package” so one can tell the difference between “Honda Accord DX” and “Honda Accord EX.” There’s a difference and it’s worth some real money.
  6. Include the VIN so that a potential buyer can do their homework before pestering you, busy seller. You ma not know this, but sites like AutoCheck and CarFax are really handy.
  7. In the case of a salvage car, offer to provide pictures of the damage and the name of the body shop that did the repair work (seriously, put yourself in the buyer’s shoes for a minute).
  8. Actually respond to emails when sellers contact you with questions. You do want to sell it, right?
  9. Describe what routine maintenance has or has not been done (tires, brakes, timing belt, water pump, oil/fluids, etc.)

#8 is particularly amazing. I, as “cash in hand” buyer looking to replace an aging car, got NO RESPONSES to 75% of the sellers I contacted via email. And I wasn’t asking any difficult questions.

The bottom line is that the more detail you can include in the ad, the more sellers are likely to pay attention, trust you, and want to deal with you. Don’t make the seller have to ask a dozen questions.

This will come as no surprise, but the car we ended up buying was from a seller who posted an ad with lots of detail, good pictures, and was very prompt to reply via email (including taking a few additional pictures we asked for).

Thanks car sellers!

Posted in craigslist | Leave a comment

My First Helicopter Lesson

Back on November 16th (last Sunday), we headed up to Auburn airport so that I could use the gift certificate for a 1 hour helicopter lesson that Kathleen got me for my birthday earlier this year. The plan was to fly in the Robinson R22 at Sierra Air Helicopters to get a feel for what it’d be like. Ever since our trip to Africa earlier this year, when we got to ride in a helicopter over Victoria Falls and then down into the the river canyon (video), I thought it’d be fun to try it out as a pilot.

The Robinson R22 Beta II at Auburn Airport

The Robinson R22 Beta II at Auburn Airport

After a bit of a pre-flight briefing in John’s office (the instructor), we headed out to do the actual flying. Now, I have to say, I knew the most basic theory about how to fly a helicopter, but I’d never done any reading or practice before. I expected this flight to be a lot of him demonstrating things that I’d try and mess up.

The R22 Instrument Panel

The R22 Instrument Panel

Since he had already done the pre-flight, we got in and he gave me a quick introduction to the gauges and equipment on the panel. Before long he had the engine started and was letting it warm up. When it was time, he asked me to raise the throttle so the governor would kick in and he could complete final checks.

Leaving the Departure End of Runway 25

Leaving the Departure End of Runway 25

After he confirmed the chopper was ready to fly, he asked me to pull up on collective (that’s the lever my left that controls the blade pitch) and we were in the air! We flew down the taxiway parallel to Runway 25, began a climb to 500 feet AGL, and departed the area on a left crosswind leg.

Departing the Area

Departing the Area

He took us down into a nearby river canyon for a bit of fun, flying maybe 15 feet off the water. That reminded me a lot of our Africa flight, of course. :-)

After about 10 minutes of flying around in the canyon, he asked me to pull up on the collective a bit so that we could climb up above the canyon walls and I could try my hand at flying it. Much to my surprise, the R22 wasn’t as hard to fly as I had imagined (and had been warned). I found that if I kept my movements very small and gentle, the chopper responded in fairly predictable ways.

Trying a coordinated turn...

Trying a coordinated turn…

So I flew mostly straight and level for a few minutes and then experimented with gentle turns. I continued doing that and working to refine my footwork (I kept wanting to say rudder, but it’s really the tail rotor I was controlling). As time went on, I tried more and more dramatic control movements and turns (but nothing too crazy).

For quite a while, I was doing all the flying. John had relaxed to the point that his hands were nowhere near the controls anymore and he was telling me that people usually don’t fly this well on their first lesson. But since I was, he wanted to demonstrate a few more advanced things to me. So he asked me to fly toward Folsom Lake where he could take us down lower and demonstrate a few maneuvers.

He demonstrated a few autorotations and other emergency procedures (as well as common mistakes) and the asked me to head back toward the airport so I could experience the joy of attempting to hover in place (one of the hardest things to master).

Base to Final for 25 at Auburn

Base to Final for 25 at Auburn

I got us to the downwind entry and he took over to fly the pattern and get us back over the helipad. Once we were stable there, he briefed me on what I was trying to do and then let me try keeping the helicopter over the pad. While I have no pictures of that portion of the lesson, Kathleen managed to shoot a video of my hover.

In fact, I did pretty well with the hovering, so he pushed me a bit and had me perform a couple of takeoffs as well. And after I’d done a few rounds of takeoff to hover, he got us lined up over the taxiway and had me practice following the centerline while maintaining a relatively constant altitude.

That worked out pretty well until I had to make a fairly sharp turn. I was able to do it, but I got a bit uncoordinated and also let it climb a bit too much. So he took the controls and put us down back in the parking area for the R22. Our hour was up.

All in all, I had a hell of a good time. John is a very good instructor and the R22 seems like a fun flying machine. It’s tempting to consider an add-on rating so that I could fly helicopters now and then. But first I have to work on my instrument rating. Once that’s out of the way, who knows… :-)

Posted in Uncategorized | Tagged | Leave a comment

Cast Iron Cooking

Last night I made our favorite black bean & green chili chicken soup for the first time in about a year. It’s the one recipe that always makes me pull out the cast iron pot instead of a cheap lightweight non-stick variety.

Cast Iron Pot

Doing so reminded me of why I really enjoy cooking with cast iron (and should probably do more of it). Aside from the pot or pan being so heavy that it simply won’t move around on the stovetop, it retains heat amazingly well. Once it has heated it up, it just stays hot. You can add 32 ounces of room temperature chicken broth and it’s up to a boil in just a few minutes.

Similarly, if you’re just starting a recipe by browning up some garlic and onion, you’ll be amazed at how quickly and evenly things cook up without having to raise the heat.

The only real downside is cleanup. You can’t just put the cast iron in a dishwasher–you’ve got to clean it by hand. But I think the trade-off is totally worth it. Food just tastes better when prepared in cast iron, and you know the pot/pan/skillet is going to outlive its non-sick counterparts by at least 40 or 50 years.

Posted in Uncategorized | Tagged | 1 Comment

Heading to Africa: Victoria Falls, Zambia, Namibia

As I mentioned earlier, we’re getting ready for a trip. Six years ago Kathleen and I went to Kenya and Tanzania for a 2 week African Safari and ended the trip with a 3 day stay on the island of Zanzibar where we then got married.

Wedding in Zanzibar

We’ve decided to go back! We head out later this week on a long overdue vacation. This time we’ll be starting in Victoria Falls before heading out across much of Zambia and Namibia to see some of Africa’s amazing wildlife and landscapes.

It didn’t start to feel real until a week or so ago when we went to get our travel vaccinations (ow!). But we’re now at the point where we need to finish up the remaining vegetables in the refrigerator, do packing, and finish final preparation so we can hop on a series of planes at the end of the week. (That leg from JFK to Johannesburg is going to be loooong.)

I’m not sure how much Internet access we’ll have during the trip (likely more than six years ago), but we’ll try to post a few pictures here and/or on my Facebook page as we can.

Posted in travel | 3 Comments

Installing Ubuntu (via crubuntu) on a Samsung 300 Series Chromebook

We’re getting ready for a trip in which we expect to take a lot of pictures. So I’d like to take a small, indexpensive computer along to handle the task of copying pictures from the cameras and memory cards to a portable USB hard drive (for backups and to make sure we have enough card space). For a while I considered using our old Samsung NC10 Netbook, but it’s rather slow and a little thicker and heavier than I’d prefer. So I looked at my Samsung Chomebook instead (the 300 series ARM-based 10″ model).

That seemed ideal, since it’s light, thing, and has great battery life as well as a built in SDCard reader. However, the operating system (ChromeOS) is so heavily bent toward “cloud” computing that it doesn’t make interacting with local storage devices easy. So I decided to take the plunge and install a full-blown Linux distribution: Xubuntu.

The preferred way to get various flavors of ARM-based Ubuntu on the Chromebooks is the CruBuntu script. You simply put the device in developer mode, open a shell, curl a file, and run it. From there it takes care of partitioning and downloading all the needed packages to give you a full-blown Linux “desktop” distribution. The only weird thing I’ve encountered so far is the strangeness of the default trackpad settings. But this guy has as fix for that. I may or may not apply that, since I’ve already paired a bluetooth travel mouse with the laptop.

It’s funny, I always thought of the Chromebook as a little toy that’d be handy on trips when I don’t need much time on-line. But now it’s suddenly become about 500% more useful since I can get access to all the Linux tools I could possibly want. Sure it’s not a powerful machine, but for moving photos around, handling email, and maybe posting a few things on-line, it’s more than up to the task.

This process wasn’t without a little “adventure” of course. It took three tries to get right. But since it’s mostly unattended, that wasn’t a big deal. Had I chosed Xubuntu the first time instead of taking the default Ubuntu (with Unity) I’d have been a bit better off. In any case, I now have a nice little Linux “netbook” (to re-apply an old label).

Posted in tech, travel | 1 Comment

Speaking at OpenWest 2014 Conference: real-time search infrastructure architecture at craigslist

Just a quick heads-up that I’ll be giving a 50 minute talk at OpenWest in Utah on Thursday, May 8th. The talk is titled real-time search infrastructure architecture at craigslist and is completely new. We’ve recently completed the 3 major revision to our search infrastructure at craigslist and I’ll be talking about what it looks like now, why, how we did it, and where we may go from here.

If you haven’t seen my talks on this topic before, I’ll be talking a lot about how we use the Sphinx Search Engine.

I’ve never been to OpenWest but I’ve head a lot of good things about it. And since I’ve been looking to broaden my conference horizons, it seemed like a good one to attend. Thanks to the folks at OpenWest for picking my talk and allowing craigslist to sponsor the event as well.

The full schedule looks like there will be a lot of interesting talks. I’m really looking forward to it.

On a related note: craigslist is hiring for frontend, backend, and systems administrators. Send me your resume at if you’re interested or just want to know more about working at craigslist. :-)

Posted in craigslist, sphinx | Leave a comment

Smart Appliances? I think not…

There’s been a lot of talk lately about adding various “smarts” to our everyday durable goods: things like refrigerators, cars, TVs, dishwashers, etc. You know, the kind of things you only buy every 10-15 years or when they’ve become too expensive to keep repairing. Manufacturers seem to think that since the hardware is cheap and the software is mostly free, they can just stick Android and a touch screen in your toaster.

That sounds like a horrible idea–for so many reasons. And I was prepared to enumerate them here until I came across a great ArsTechnica article: Smart TVs, smart fridges, smart washing machines? Disaster waiting to happen

To pick a few choice quotes:

These devices will inevitably be abandoned by their manufacturers, and the result will be lots of “smart” functionality—fridges that know what we buy and when, TVs that know what shows we watch—all connected to the Internet 24/7, all completely insecure.

And why is that?

To remain useful, app platforms need up-to-date apps. As such, for your smart device to remain safe, secure, and valuable, it needs a lifetime of software fixes and updates.

That’s not so hard, right?

Herein lies the problem, because if there’s one thing that companies like Samsung have demonstrated in the past, it’s a total unwillingness to provide a lifetime of software fixes and updates. Even smartphones, which are generally assumed to have a two-year lifecycle (with replacements driven by cheap or “free” contract-subsidized pricing), rarely receive updates for the full two years (Apple’s iPhone being the one notable exception).


Our fridges, cars, and TVs are not even on a two-year replacement cycle. Even if you do replace your TV after it’s a couple years old, you probably won’t throw the old one away. It will just migrate from the living room to the master bedroom, and then from the master bedroom to the kids’ room. Likewise, it’s rare that a three-year-old car is simply consigned to the scrap heap. It’s given away or sold off for a second, third, or fourth “life” as someone else’s primary vehicle. Your fridge and washing machine will probably be kept until they blow up or you move houses.

And the final recommendation, which I can get behind 100%:

Instead, use smarts elsewhere. For example, instead of using the smartness in your TV (such that upgrading the smarts means upgrading the entire TV too, pointlessly wasting the LCD), you leave the smarts in a small set-top box like a Roku or an Apple TV. That will give you your streaming media and rich connectivity, but it’s in a box that’s relatively disposable. Sure, even that box won’t be supported forever (though I daresay it will be supported for longer than a smart TV), but replacing it means replacing a small $99 gadget—not a thousand bucks of flat panel.

Now, who’s ready for the next 5-10 years of disaster after disaster as people buy these “smart” devices, only to discover bugs that the manufacturers missed and a complete lack of interest in software updates.

I guess the only real hope is that these devices are easily “rooted” so at least tech savvy folks can install, ahem, “alternative” firmware long after the manufacturer has given up on it.

Posted in Uncategorized | Tagged | 3 Comments

The Broken Permissions Model in Android Apps as Illustrated by Facebook

A couple days ago I was informed that the Facebook app on my Samsung Galaxy S3 wanted to update. But it needed me to agree to some additional permissions for the app. I clicked the button to see what they were and was greeted with this:


I was more than a little surprised by the things that Facebook expected me to agree to let them have access to on my phone. Let’s be honest, that’s a pretty invasive list of things that I’m being asked to agree to allow and trust that Facebook will do no harm.

So I decided not to upgrade.

Here’s the thing, though. While I was originally angry with Facebook (I still am to some degree), I realized that Google is to blame here as well. They’ve developed this “all or nothing” permissions model. It’d clearly be more friendly to the user if every one of those permissions had an associated checkbox. That would allow me to choose the things which are reasonable and uncheck those that are not. The price, of course, is that I wouldn’t get the application’s full feature set. But maybe I don’t need or want all those features anyway.

I just want to post cat pictures and stuff. Let’s leave my SMS messages and wireless network connections out of it, OK?

This “take it or leave it” system really doesn’t allow for that use case.

I’d remove the app entirely, but I do use the 2-factor authentication codes that it generates. So I’d need to find an alternative way of getting those.

If this was a desktop app, I could at least run it inside a Virtual Machine and manage what it has access to. Maybe we should expect next generation phones, as they’re going to be more and more powerful, to offer similar virtualization? Seems like the wrong solution to me, but I wouldn’t be at all surprised to see it.

Posted in Uncategorized | 7 Comments

Additions to a Fresh Windows 7 Installation

I recently found myself shuffling computers around a bit.  And since it’s useful to have a functional Windows box on hand, I installed Windows 7 on an older desktop in my office.  (Installing from an original Win7 DVD was entertaining–the number of updates required to bring it current was impressive.)  It occurred to me that I’ve installed Windows 7 more than a few times since it came out and I should jot down a list of all those little (and some big) things I end up installing during the first few days of breaking in a new Windows box.

So without further delay, here’s my annotated list of what gets installed:

  • Google Chrome: cross-machine browser sync rocks my world, and since extensions sync too that means I get LastPass, Ghostery, and AdBlock Plus automatically
  • Microsoft Security Essentials: basic free virus and malware protection
  • Mozilla Firefox: because it’s the next best thing to chrome and occasionally sites require it
  • Dropbox: great for cross-machine file sync
  • VirtualWin: a simple but very effective virtual desktop add-on
  • Ctrl2Cap: because the caps lock key is stupid
  • IZArc: the best free archive tool around
  • VLC: free media player that groks nearly every file format
  • PuTTY: because you need to SSH to a Linux box for Real Work anyway
  • ImgBurn: free easy CD/DVD burner
  • WinSCP: to copy files to/from non-Windows boxes

I’ll try to update this list as I come across more.  But that’s it for now.

Are there essential tools that you install on a new build?

Posted in Uncategorized | 15 Comments