October 1st, 2008


Hotel Reviews

Park Place Bloomington, Minneapolis MN

Right next to the Seagate factory. Physical facilities are ok. Laundry service got my clothes back in the evening, nice turnaround. Takes half a dozen rings for them to answer the phone. Breakfast buffet is greasy and overcooked. The internet connection is wireless, and it sucks. Each of the dozens of APs have their own ESSID, and the signal strength is poor at best, provided by some outfit called "e-comm.com". I finally gave up on it, have been using my AT&T card. The Aeron chair is a nice touch, but the desk is not really meant to be used, it's more like a wide end table.

Radisson Valley Forge, King of Prussia PA

RIght next to "history Valley Forge" and the KoP supermall, part of the KoP convention center complex. There was an on-site hotel bar, that served decent bar food. And a morning breakfast cafe, that make pretty good omlettes to order. The font desk and guest services take forever to answer the phone. I finally gave up calling for wakeup service. The hotel laundry lost my good pants, swapping in a horrid pair of dacron polyester slacks from a rental uniform. Internet connection was wired, and every 24 hours would again "log out", and make me go thru the the hotel slash screen again. The chair and the desk were functional.

Woodcrest, Cupertino CA

This is an aging hotel. Shabby but clean. I think the carpet and the furnishings were installed in the 70s. Internet connection was wired, and Just Worked. Big desk space.

Wingate by Wyndham Henderson, Henderson NV

This is a brand new hotel. Located between two brand new shopping centers within hiking distance. Just about all of the town of Henderson is "brand new", it's a rapidly growing subdivision based exurb of Las Vegas. Physical facilities were ok. The breakfast buffet was ok, but sparse on choices. There were otherwise nothing to eat, and local restaurants were a long hike away, and sparse. The internet connection was great. Both wired and wireless, ran fast, Just Worked. Decent shuttle service, reliable enough that I used it to get to the gig each day.

Cypress, Cupertino CA

This is the best business hotel I've stayed in yet, ever. It was a bit over decorated, and the animal print motif was maybe a tad overdone, extending all the way to the pair of luxury robes hanging in the closet, but oh they felt nice. Nice sheets. Great internet connection, good desk. Answered the phone in just one ring. Good hotel restaurant. Located right next to the MySQL Cupertino offices. And by "next to", I've usually had to walk farther from the parking the car to walking in the door at a gig. I would want to stay here every time I go to Cupertino, except that the price is "not in policy" for Sun's PS gig travel guidelines.

On storing phone numbers in databases

The client du jour has a table with a column that keeps phone numbers. This is normal.

However, the column is a varchar(255) charset UTF8.

This is not okay.

In MySQL, that will take up 765 bytes per row in memory, plus will be doing UTF8 to to 3byte expansion for every row read or scanned. And it has to use the wchar string ops to do comparisons.

The ISO standard for PSTN phone numbers, E.164, states that phone numbers are a max of 15 digits long, and that includes the country code.

Make phone numbers a varchar(16) charset ASCII. Have your application mash out all the spaces and hypens.

Then marshalling and expansion is free, and modern processors can do an equality test against 16 bytes in a single operation.

16 bytes vs 765, that's a 50x savings.

Oh, and stop assuming that all phone numbers are in the US and Canada, and thus are of the form (AAA) EEE-TTTT. There are acceptably good library routines in your language of choice that will accept a string of digits, look at the country code, know that country's dialing plan, and output a "pretty formated" phone number. Don't try to keep pretty formated phone numbers in your database, and don't try to make the database server do the pretty formatting.

Tweets for Today

  • 02:42 @harper i feel your pain. twice a week. #
  • 02:49 @harper it just really sucks, and Sun's made it a lot harder to get frequent flyer miles and upgrades with all this travel #
  • 20:26 Feeling VERY run down, and my eyelids are starting to twitch. Not A Good Sign. #
  • 23:25 I'm at Minneapolis St Paul Airport (USA) - bkite.com/01Jwb #
  • 23:27 @wilw i like it so much, its my ringtone #
  • 23:29 @tithonium what are "peggle coins"? #
  • 23:31 @t its just an 802.1x system, if only they would publish their credentials #
Automatically shipped by LoudTwitter

Dear Lazyweb, JS to get my current city

Dopplr can generate a "blog badge" of my Dopplr location and future trips, like so:

I want a little bit of JS that can reach into either Dopplr or Fireeagle, and give back just the name of the city I am in, so I can put in my home page something like "today, Mark is in JS_SCRIPT_REFERENCE_HERE", and it will render as something like "today, Mark is in Seattle".

Am I doomed to write it myself, or has someone else done it?