|
Booking a Room in London |
Seacoast History Blog # 106
February 21, 2011
I visited London a number of times in the early 1970s. I went back for a week in the 1990s, but that was before the Internet kicked in. Now I’m returning for a week and what a difference. For the last few days I’ve been walking the streets of London, virtually, using Google Streetview. It’s almost scary. After nailing down a place to stay, I was able to walk the neighborhood from my snow-covered New Hampshire office. I know where the grocery stores are near the rented apartment. I’ve located the local pubs and have been checking their Web site menus online. I strolled around the banking district (the rental is near the Tower of London) and visited the site of Samuel Pepys house that burned on Seething Lane in the Great Fire of the late 1600s. I looked at photos of his statue in the park there and read related bits from his diary. It’s freaky. But that’s not the point of this blog. (Continued below)
What fascinates me is how much harder it is to book a room in London now that we have all this technology at hand. In the olden days (before the mid 1990s) the potential tourist simply looked at a few brochures, talked to a few friends, and threw a dart at the wall. You lucked out or the place sucked. In London, it was usually the latter. The city is filled with beds for rent. There must be a million of them, and most have saggy mattresses. The rooms are the size of a closet and smell like one too. The streets are noisy. The service is lousy. You only get a couple of TV channels. The bathroom is down the hall and you’re sharing it with five portly people from Germany.
I knew all that going in to this latest search. But the Web has changed things. Why, I figured, settle for a crappy room in the Information Age? Sites like TripAdvisor.com can point the buyer to a massive list of potential hotels, B&Bs, and rental apartments. The modern traveler can see photos of each room, compare prices and amenities, check availability, click to a street map, and book a room instantly online.
Whatever the travel agents used to do is in our hands now. No added fees. But no one to blame. Pick a noisy hotel with bad service and a lumpy bed – and it’s your own fault.
Three days into the vetting process I was beginning to wish it was the 70s again. I was bleary-eyed from reading hundreds of consumer reviews. For every guest that got cold water and a broken shower, another guest had the best time of her life. Like movies on Netflix, the ratings tended to hover in the middle – between 2.8 and 3.2 stars out of five. Whenever I found a highly rated hotel, it was gone minutes later. Makes sense. People across the planet are all looking at the same Web page at the same time.
When my wife and I finally picked the perfect spot, we hammered in a credit card number. But somewhere between New Hampshire, the credit card company in New York, the travel Web site in Australia, and the apartment in London – the electronic pipeline jammed and the credit card failed. By the time we sorted it out, the seven discounted rooms were gone.
By the fourth day we were getting punch drunk from the overload of details. We argued over which had the worst bathroom (in London they leave the toilet seat up in the photo). We could zoom-in on the furniture, check the utensils in the kitchenette, and review the menus in the restaurants across the street. We were getting emails from rental agents in London who wrote when we slept and slept when we wrote back. By the time we saw their new recommendations, the rental was gone. Hotels with 800 rooms were booked –up like Bethlehem.
So I started to widen the perimeter, searching for rentals on the edge of London. We pushed up our budgeted rate and lowered our expectations. I began calculating the exact number of minutes it would take to get to the British Museum and the Globe Theatre from Underground tube stops all over the city. My brain was filled with more trivia than Watson the Jeopardy-playing computer.
In the end, after almost 20 hours online, we were ready to throw a dart and take our chances. That’s when the phone rang. A guy who knew a guy referred a place owned by an American. He had good references. We had good references. The price was right and the location was ideal. We wired the money like they did in the days of the pony express.
It could turn out to be a bomb. We’ll see. But we definitely need a vacation after all this planning.
Copyright © 2011 by J. Dennis Robinson. All rights reserved.
A READER RESPONDS:
I remember when computer technology started edging its way into our office and homes. Pundits were telling us how much more we'd be able to get done in far less time, and the stock prices of leisure product companies started to soar. Well, that's not exactly the way things worked out, is it? Now one person does the work of four, and we spend all our time at home Googling, internet surfing, on Facebook, or trying to book a room in London. My wife is convinced that technology is a terrorist plot to reduce our productivity because we spend an inordinate amount of time with our IT consultants trying to resolve many and varied hardware and software problems instead of doing something productive. Ain't technology wonderful? I think I'll go curl up with my iPad... -- Jay Diener
Joomla! Debug Console
session.client.forwarded ⇒ 10.1.7.109
session.client.browser ⇒ Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
password_clear ⇒
groups ⇒
com_rsfirewall.geoip ⇒
6.19 MB (6,494,976 Bytes)
61 Queries Logged
SELECT `data`
FROM `rabbul_session`
WHERE `session_id` = '6898962c9196fe6e664bb8f9436cb60a'SELECT `session_id`
FROM `rabbul_session`
WHERE `session_id` = '6898962c9196fe6e664bb8f9436cb60a'
LIMIT 0, 1INSERT INTO `rabbul_session`
(`session_id`, `client_id`, `time`)
VALUES
('6898962c9196fe6e664bb8f9436cb60a', 0, '1793823956')SELECT extension_id AS id, element AS "option", params, enabled
FROM rabbul_extensions
WHERE `type` = 'component'
AND `element` = 'com_users'SELECT b.id
FROM rabbul_usergroups AS a
LEFT JOIN rabbul_usergroups AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt
WHERE a.id = 1SELECT id, rules
FROM `rabbul_viewlevels`SELECT folder AS type, element AS name, params
FROM rabbul_extensions
WHERE enabled >= 1
AND type ='plugin'
AND state >= 0
AND access IN (1,1)
ORDER BY orderingSELECT extension_id AS id, element AS "option", params, enabled
FROM rabbul_extensions
WHERE `type` = 'component'
AND `element` = 'com_languages'SELECT `query`
FROM `rabbul_admintools_wafexceptions`
WHERE (`option` IS NULL OR `option` = '')
AND (`view` IS NULL OR `view` = '')
GROUP BY `query`
ORDER BY `query` ASCSELECT `value`
FROM `rabbul_admintools_storage`
WHERE `key` = 'cparams'SELECT `path`
FROM rabbul_rsfirewall_ignored
WHERE `type`='ignore_folder' OR `type`='ignore_file'SELECT `file`
FROM rabbul_rsfirewall_hashes
WHERE `type`='protect'SELECT *
FROM rabbul_rsfirewall_configurationSHOW FULL COLUMNS
FROM `rabbul_sef_config`SELECT *
FROM rabbul_sef_config
WHERE `id` = '1'SELECT non_sef_url,alias
FROM rabbul_sef_alias
WHERE published='1'
ORDER BY idSELECT m.id, m.menutype, m.title, m.alias, m.note, m.path AS route, m.link, m.type, m.level, m.language,m.browserNav, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,e.element as component
FROM rabbul_menu AS m
LEFT JOIN rabbul_extensions AS e
ON m.component_id = e.extension_id
WHERE m.published = 1
AND m.parent_id > 0
AND m.client_id = 0
ORDER BY m.lftSELECT *
FROM rabbul_sef_redirect
WHERE CONVERT(source USING latin1) COLLATE latin1_general_cs = 'booking-a-room-in-london/?print=1&tmpl=component'
AND published='1'
LIMIT 1SELECT id
FROM rabbul_menu
WHERE alias='booking-a-room-in-london'
AND published=1SELECT id
FROM rabbul_categories
WHERE path='booking-a-room-in-london'
AND extension='com_content'SELECT id,catid
FROM rabbul_content
WHERE alias='booking-a-room-in-london'
AND state>0SELECT id,catid
FROM rabbul_content
WHERE alias='booking-a-room-in-london'
AND state>0SELECT id
FROM rabbul_menu
WHERE type='component'
AND published='1'
AND link LIKE 'index.php?option=com_content&view=article%&id=2951'
ORDER BY idSELECT id
FROM rabbul_menu
WHERE type='component'
AND published='1'
AND link LIKE 'index.php?option=com_content&view=categor%&id=258'
ORDER BY idSELECT `id`
FROM `rabbul_usergroups`SELECT parent.id, parent.lft, parent.rgt
FROM rabbul_usergroups AS parent
ORDER BY parent.lftSHOW FULL COLUMNS
FROM `rabbul_assets`SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT b.rules
FROM rabbul_assets AS a
LEFT JOIN rabbul_assets AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt
WHERE (a.name = '')
GROUP BY b.id, b.rules, b.lft
ORDER BY b.lftSELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT rules
FROM rabbul_assets
WHERE id = '1'SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT id
FROM rabbul_assets
WHERE parent_id = 0SELECT u.*
FROM rabbul_user_usergroup_map m
RIGHT JOIN rabbul_users u
ON (u.id=m.user_id)
WHERE m.group_id IN (6,7,8)
GROUP BY u.id
ORDER BY u.username ASCSHOW FULL COLUMNS
FROM `rabbul_rsfirewall_logs`SELECT *
FROM rabbul_rsfirewall_hashes
WHERE (`type`='2.5.28' OR `type`='protect')
AND `flag`!='C'SELECT *
FROM rabbul_rsfirewall_snapshots
WHERE `type`='protect'SELECT `ip`,`reason`
FROM rabbul_rsfirewall_lists
WHERE (`ip`='10.1.7.109' OR `ip` LIKE '%*%')
AND `type`='1'
AND `published`='1'SELECT `ip`,`reason`
FROM rabbul_rsfirewall_lists
WHERE (`ip`='10.1.7.109' OR `ip` LIKE '%*%')
AND `type`='0'
AND `published`='1'SELECT *
FROM rabbul_rsfirewall_exceptions
WHERE `published`='1'SELECT extension_id AS id, element AS "option", params, enabled
FROM rabbul_extensions
WHERE `type` = 'component'
AND `element` = 'com_content'SELECT *
FROM rabbul_languages
WHERE published=1
ORDER BY ordering ASCSELECT id, home, template, s.params
FROM rabbul_template_styles as s
LEFT JOIN rabbul_extensions as e
ON e.element=s.template
AND e.type='template'
AND e.client_id=s.client_id
WHERE s.client_id = 0
AND e.enabled = 1SELECT a.rules
FROM rabbul_assets AS a
WHERE (a.id = 1)
GROUP BY a.id, a.rules, a.lftSELECT b.rules
FROM rabbul_assets AS a
LEFT JOIN rabbul_assets AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt
WHERE (a.name = 'com_content')
GROUP BY b.id, b.rules, b.lft
ORDER BY b.lftSELECT a.id, a.asset_id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext,
CASE WHEN badcats.id is null THEN a.state ELSE 0 END AS state, a.mask, a.catid, a.created, a.created_by, a.created_by_alias,
CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.version, a.parentid, a.ordering, a.metakey, a.metadesc, a.access, a.hits, a.metadata, a.featured, a.language, a.xreference,c.title AS category_title, c.alias AS category_alias, c.access AS category_access,u.name AS author,(
SELECT MAX(contact.id) AS id
FROM rabbul_contact_details AS contact
WHERE contact.published = 1
AND contact.user_id = a.created_by) as contactid,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating, v.rating_count as rating_count
FROM rabbul_content AS a
LEFT JOIN rabbul_categories AS c
on c.id = a.catid
LEFT JOIN rabbul_users AS u
on u.id = a.created_by
LEFT JOIN rabbul_categories as parent
ON parent.id = c.parent_id
LEFT JOIN rabbul_content_rating AS v
ON a.id = v.content_id
LEFT
OUTER JOIN (SELECT cat.id as id
FROM rabbul_categories AS cat JOIN rabbul_categories AS parent
ON cat.lft BETWEEN parent.lft
AND parent.rgt
WHERE parent.extension = 'com_content'
AND parent.published <= 0
GROUP BY cat.id) AS badcats
ON badcats.id = c.id
WHERE a.id = 2951
AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2026-11-04 20:25:56')
AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2026-11-04 20:25:56')
AND (a.state = 1 OR a.state =2)SELECT c.*,
CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
FROM rabbul_categories as c
LEFT JOIN rabbul_categories AS s
ON (s.lft <= c.lft
AND s.rgt >= c.rgt) OR (s.lft > c.lft
AND s.rgt < c.rgt)
LEFT JOIN (SELECT cat.id as id
FROM rabbul_categories AS cat JOIN rabbul_categories AS parent
ON cat.lft BETWEEN parent.lft
AND parent.rgt
WHERE parent.extension = 'com_content'
AND parent.published != 1
GROUP BY cat.id) AS badcats
ON badcats.id = c.id
WHERE (c.extension='com_content' OR c.extension='system')
AND c.access IN (1,1)
AND c.published = 1
AND s.id=258
AND badcats.id is null
GROUP BY c.id, c.asset_id, c.access, c.alias, c.checked_out, c.checked_out_time,
c.created_time, c.created_user_id, c.description, c.extension, c.hits, c.language, c.level,
c.lft, c.metadata, c.metadesc, c.metakey, c.modified_time, c.note, c.params, c.parent_id,
c.path, c.published, c.rgt, c.title, c.modified_user_id
ORDER BY c.lftSELECT a.alias AS article
FROM rabbul_content AS a
WHERE a.id = 2951UPDATE rabbul_content
SET hits = hits + 1
WHERE id = 2951UPDATE `rabbul_session`
SET `data` = '__default|a:9:{s:15:\"session.counter\";i:1;s:19:\"session.timer.start\";i:1793823956;s:18:\"session.timer.last\";i:1793823956;s:17:\"session.timer.now\";i:1793823956;s:24:\"session.client.forwarded\";s:10:\"10.1.7.109\";s:22:\"session.client.browser\";s:103:\"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)\";s:8:\"registry\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":0:{}}s:4:\"user\";O:5:\"JUser\":25:{s:9:\"\0*\0isRoot\";b:0;s:2:\"id\";i:0;s:4:\"name\";N;s:8:\"username\";N;s:5:\"email\";N;s:8:\"password\";N;s:14:\"password_clear\";s:0:\"\";s:8:\"usertype\";N;s:5:\"block\";N;s:9:\"sendEmail\";i:0;s:12:\"registerDate\";N;s:13:\"lastvisitDate\";N;s:10:\"activation\";N;s:6:\"params\";N;s:6:\"groups\";a:0:{}s:5:\"guest\";i:1;s:13:\"lastResetTime\";N;s:10:\"resetCount\";N;s:10:\"\0*\0_params\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":0:{}}s:14:\"\0*\0_authGroups\";a:1:{i:0;i:1;}s:14:\"\0*\0_authLevels\";a:2:{i:0;i:1;i:1;i:1;}s:15:\"\0*\0_authActions\";N;s:12:\"\0*\0_errorMsg\";N;s:10:\"\0*\0_errors\";a:0:{}s:3:\"aid\";i:0;}s:20:\"com_rsfirewall.geoip\";s:0:\"\";}'
, `time` = '1793823956'
WHERE `session_id` = '6898962c9196fe6e664bb8f9436cb60a'
40 Query Types Logged, Sorted by Occurrences.
SELECT Tables:
15 × SELECT id
FROM rabbul_assets3 × SELECT extension_id AS id, element AS "option", params, enabled
FROM rabbul_extensions3 × SELECT id
FROM rabbul_menu2 × SELECT id,catid
FROM rabbul_content2 × SELECT b.rules
FROM rabbul_assets AS a
LEFT JOIN rabbul_assets AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt2 × SELECT `ip`,`reason`
FROM rabbul_rsfirewall_lists1 × SELECT *
FROM rabbul_rsfirewall_hashes1 × SELECT rules
FROM rabbul_assets1 × SELECT *
FROM rabbul_rsfirewall_snapshots1 × SELECT u.*
FROM rabbul_user_usergroup_map m RIGHT JOIN rabbul_users u
ON (u.id=m.user_id)1 × SELECT *
FROM rabbul_rsfirewall_exceptions1 × SELECT c.*,
CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
FROM rabbul_categories as c
LEFT JOIN rabbul_categories AS s
ON (s.lft <= c.lft
AND s.rgt >= c.rgt) OR (s.lft > c.lft
AND s.rgt < c.rgt)
LEFT JOIN (SELECT cat.id as id
FROM rabbul_categories AS cat JOIN rabbul_categories AS parent
ON cat.lft BETWEEN parent.lft
AND parent.rgt1 × SELECT a.alias AS article
FROM rabbul_content AS a1 × SELECT a.id, a.asset_id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext,
CASE WHEN badcats.id is null THEN a.state ELSE 0 END AS state, a.mask, a.catid, a.created, a.created_by, a.created_by_alias,
CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.version, a.parentid, a.ordering, a.metakey, a.metadesc, a.access, a.hits, a.metadata, a.featured, a.language, a.xreference,c.title AS category_title, c.alias AS category_alias, c.access AS category_access,u.name AS author,( SELECT MAX(contact.id) AS id
FROM rabbul_contact_details AS contact1 × SELECT a.rules
FROM rabbul_assets AS a1 × SELECT *
FROM rabbul_languages1 × SELECT id, home, template, s.params
FROM rabbul_template_styles as s
LEFT JOIN rabbul_extensions as e
ON e.element=s.template
AND e.type='template'
AND e.client_id=s.client_id1 × SELECT parent.id, parent.lft, parent.rgt
FROM rabbul_usergroups AS parent1 × SELECT id
FROM rabbul_categories1 × SELECT `query`
FROM `rabbul_admintools_wafexceptions`1 × SELECT `value`
FROM `rabbul_admintools_storage`1 × SELECT folder AS type, element AS name, params
FROM rabbul_extensions1 × SELECT id, rules
FROM `rabbul_viewlevels1 × SELECT `session_id`
FROM `rabbul_session`1 × SELECT b.id
FROM rabbul_usergroups AS a
LEFT JOIN rabbul_usergroups AS b
ON b.lft <= a.lft
AND b.rgt >= a.rgt1 × SELECT `path`
FROM rabbul_rsfirewall_ignored1 × SELECT `file`
FROM rabbul_rsfirewall_hashes1 × SELECT *
FROM rabbul_sef_redirect1 × SELECT `data`
FROM `rabbul_session`1 × SELECT m.id, m.menutype, m.title, m.alias, m.note, m.path AS route, m.link, m.type, m.level, m.language,m.browserNav, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,e.element as component
FROM rabbul_menu AS m
LEFT JOIN rabbul_extensions AS e
ON m.component_id = e.extension_id1 × SELECT non_sef_url,alias
FROM rabbul_sef_alias1 × SELECT *
FROM rabbul_rsfirewall_configuratio1 × SELECT *
FROM rabbul_sef_config1 × SELECT `id`
FROM `rabbul_usergroups
OTHER Tables:
1 × UPDATE rabbul_content
SET hits = hits + 11 × UPDATE `rabbul_session`
SET `data` = '__default|a:9:{s:15:\"session.counter\";i:1;s:19:\"session.timer.start\";i:1793823956;s:18:\"session.timer.last\";i:1793823956;s:17:\"session.timer.now\";i:1793823956;s:24:\"session.client.forwarded\";s:10:\"10.1.7.109\";s:22:\"session.client.browser\";s:103:\"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)\";s:8:\"registry\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":0:{}}s:4:\"user\";O:5:\"JUser\":25:{s:9:\"\0*\0isRoot\";b:0;s:2:\"id\";i:0;s:4:\"name\";N;s:8:\"username\";N;s:5:\"email\";N;s:8:\"password\";N;s:14:\"password_clear\";s:0:\"\";s:8:\"usertype\";N;s:5:\"block\";N;s:9:\"sendEmail\";i:0;s:12:\"registerDate\";N;s:13:\"lastvisitDate\";N;s:10:\"activation\";N;s:6:\"params\";N;s:6:\"groups\";a:0:{}s:5:\"guest\";i:1;s:13:\"lastResetTime\";N;s:10:\"resetCount\";N;s:10:\"\0*\0_params\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":0:{}}s:14:\"\0*\0_authGroups\";a:1:{i:0;i:1;}s:14:\"\0*\0_authLevels\";a:2:{i:0;i:1;i:1;i:1;}s:15:\"\0*\0_authActions\";N;s:12:\"\0*\0_errorMsg\";N;s:10:\"\0*\0_errors\";a:0:{}s:3:\"aid\";i:0;}s:20:\"com_rsfirewall.geoip\";s:0:\"\";}' , `time` = '1793823956'1 × SHOW FULL COLUMNS
FROM `rabbul_rsfirewall_logs1 × SHOW FULL COLUMNS
FROM `rabbul_assets1 × SHOW FULL COLUMNS
FROM `rabbul_sef_config1 × INSERT INTO `rabbul_session` (`session_id`, `client_id`, `time`)
VALUES ('6898962c9196fe6e664bb8f9436cb60a', 0, '1793823956'