Keep Calm!
Operating Systems, Tech

Very Large PDFs Exported by Keynote 6 – SOLVED

Mavericks + Keynote 6 were the worst upgrades I’ve experienced from Apple since System 7. There were lots of problems, especially with

One in particular that has bitten me hard is the Keynote export to PDF feature. I’ve used Keynote for years to create awesomely beautiful presentations, especially 3D graphs, which I then want to distribute to lots of people and maybe even post them onto this internet thingy we keep hearing about. Keynote files are huge, generally big enough to not want to send via email, and besides, not everyone has a Mac or even iWork. So PDF is the way to distribute these docs.

Unfortunately, you now pay a toll of 2.3MB per full screen 3D Numbers chart when you export your Keynote presentation to PDF. Reduce the size of the chart and you reduce the overhead, but I like nice, simple, one-chart-to-a-page slides. This bug turned one of my routine PDFs from under a meg to over 20MB, which is actually bigger than the original .key file!

My speculation on the cause of the issue: Numbers is producing very high resolution .PNG images for use in Keynote, and Keynote isn’t compressing them when exporting to PDF.

It was actually pretty tricky to find a solution. I was stumped and ended up exporting the deck as JPG images and then importing them into a PDF so I could send something (anything!) by email. But these hacked PDFs didn’t look as good, they took some extra work and the recipients couldn’t cut/paste data out of the PDFs.

Eventually I came across the Quartz Filters in Preview that can compress your PDF. This is how you do it.

  1. Export your PDF as usual. It’ll be a monster file – at least 2.3 megabytes per slide.
  2. Open the PDF in Preview.
  3. Choose ‘Duplicate’ from the File menu. A second copy will appear.
  4. Select the new copy (it will have a title along the lines of “Untitled (blahblah copy)” where ‘blahblah’ was the name of your original PDF.
  5. Choose ‘Save…’ from the File menu.
  6. Select ‘Reduce File Size’ from the drop down ‘Quartz Filter’
  7. Enter a new file name and press SAVE.

Voila! Your file is now 10x smaller (like it should have been, and was with Keynote ’09) with no loss of quality (as far as I can tell). Say a short prayer for St Steve (this would never have happened on his watch) and then go delete the old, large PDF.

Filed as Apple bug #16192837.

Large PDF Export from Keynote


The Most Amazing Alternative to Thanksgiving Turkey

Delicious Kobe BrisketA few years ago my wife took over the role of Thanksgiving host for her family’s annual event. I quickly found that cooking enough turkey for 15-20 people was a challenge. A large beef brisket is a much easier way to feed so many people. On the advice of a friend, I tried wagyu beef and we never looked back. We still have turkey – it wouldn’t really be Thanksgiving without it – but American Kobe is the highlight of our Thanksgiving dinner.

Here’s how you can do it too.

The Gear – about $250

1. A smoker. Get a nice cheap one, you’re only going to use it once or twice a year. Mine cost about $150.
2. Wood chips. Mesquite works well. I like to experiment with cherry and apple wood too. Smaller chips work best if you have a cheap and cheerful smoker like mine.
3. A Remote Thermometer. You’re going to run the smoker for 24 hours or so. Again, you’re not going to be smoking meat all year round, aim to spend about $40.
4. Propane.
5. Heavy duty aluminum foil.
6. Oven gloves.
7. Twine (NOT plastic/nylon string!).
8. Squirting water bottle (for dampening your wood chips).
9. Large water container (for replenishing the water dish).

The Rub

Here’s a great recipe from my friend Tim. There are many alternatives on the web but why muck about with a winning formula?

1/2 cup lawry’s seasoning salt
3 tbsp ground pepper (white or black)
2 tbsp cumin
2 tbsp ground mustard
1 tbsp granulated garlic or garlic powder (not garlic salt)
1 tbsp onion powder
1 tbsp chili powder (adjust to your spicyness liking)
1 tbsp ground sage (optional)
1 cup dark brown sugar

Mix it up real good, taste a pinch of it. You should get a definite sweet up front, then followed by a slight saltiness, spice and smokiness. If you taste super salty, or super spicy add more brown sugar and onion/garlic/mustard/cumin. The cumin brings a latin smokiness to it. Adjust until the flavors are balanced to your liking. You can run a little salty because its a huge chunk of meat.

The Meat

I use wagyu brisket from Snake River farms ($140 + shipping). I get the biggest I can find as folks keep eating it until it’s gone.

T-45 days – Order Beef

Order the meat well ahead of time. They run out! I order mine in October and then call and ask for delivery the week of Thanksgiving. Get the meat delivered on the Monday so you can defrost and deal with any shipping delays.

T-7 days – Get all the other stuff

Go get your rub ingredients a week early. They’ll keep forever and you don’t want to run out of anything.

T-72 hours – Beef arrives!

The beef will come in a giant insulated box. Keep this handy, as you’ll need it for resting the meat before serving. Follow the defrost instructions so it’s ready for cooking 48 hours later.

Have a think about how you’re going to place the meat in your smoker. This can be a fun engineering challenge. My smoker is vertically oriented and so I have to hang the meat using twine (not nylon as it melts and affects the flavor of the meat). If you have a bigger smoker you may be able to lay the meat flat. In this case, make sure you put it fatty side up, to enhance the flavor.

Do spend some time to plan this before you rub the meat or you will be left struggling with getting it into your smoker on the big day (this was stressful for me the first time as I didn’t have any twine).

T-30 hours – Equipment Prep & Planning

Timing is the tricky part. If, like me, you are a noob to all this, you’ll likely be mucking around with the smoker constantly on the first few times, and each door opening and gas adjustment will extend your cooking time. Officially it’s 1.5 hours per pound, so a 13lb brisket will take about 19 hours to cook, and a 17lb one about 26 hours. You’re looking to cook the meat all the way through, so all the sinew is broken down, which is what makes the meat so tender. The last thing you want to do is serve it before it’s ready, or have a bunch of hungry folk waiting for your masterpiece.

The good news is that once the brisket is cooked you can keep it nice and hot for 4-6 hours in the box it came in, i.e. it doesn’t matter too much if you screw up the cooking time and finish a few hours early.

I recommend you start to setup the day before, around 3 hours earlier than the official cooking time requires. For example, if you have a 17lb brisket (26 hour cooking time) and you want lunch at 1pm, then start 26+3 hours before, in this case 8am on Wednesday.

Find a nice place outside for your smoker. It shouldn’t be exposed to wind or rain – that will cool the smoker and potentially put out the flame – but don’t put it in your porch, it is a smoker after all! We have a nice big open space right in front of our front door. It’s covered and sheltered but the roof is a good 12-14′ above the smoker. Use your head here, the risk isn’t so much from fire as from staining/smoking your property.

Lay down a couple of sheets of foil and put your smoker on top. A lot of fat and other gunk will come out from the bottom of your smoker, and the foil will reduce staining of concrete and other mess. Roll up the edges of the foil and then test with a little bit of water: your foil system should be able to hold a cup of water.

Put your wood chips in the smoking tray and soak with water. Fill the water tray and check the smoker is level: if it’s not you’re going to have fatty water spilling out the whole time. Practice moving the trays in/out. Explore all the flaps and openings on your smoker and familiarize yourself with the manual: these are used to increase/decrease temperature without mucking around with the gas level, which is a blunt instrument to use for finding the right temperature. Do all of this before connecting the gas as they will be very hot later.

T-29 hours – Cooking the Meat

Prepare the rub as described above. For bonus flavor, rub the whole brisket with deli mustard or honey mustard before applying the rub. Applying rub to the meat is fun and very messy – use an apron. Rub it all over, into every nook and cranny, no part should be left uncovered. As it sits, the brown sugar liquifies and it will get sticky and drippy. Plan accordingly going in/out of the house, as your hands will NOT escape unscathed. Multiple towels, tongs, etc are useful.

At this point you should have:
– one smoker setup, gas attached but not on
– one beautiful piece of brisket covered in rub
– very messy hands

Now go put the meat in your smoker. Attach your thermometer, turn up the gas to high and then adjust until the temperature inside the smoker is between 210F and 240F. My remote thermometer measures two temperatures: inside the meat and inside the smoker. Set your thermometer to alarm if the temperature of the oven goes below 180F (this means your flame has gone out) and above 250F (your water has run out).

Keep an eye on the thermometer. The smoker will cool at night (duh) and you’ll need to fiddle with those vents and gas to keep the temperature up. Try to keep door openings to a minimum. The smell will be delicious and you’ll want to stare at the meat but try to keep this to a minimum. Most smokers have a separate door for the water & chips so you don’t have to keep opening the main door.

It’s really important to keep the water topped up. If you don’t, the meat will dry out. You’ll quickly learn how long it takes for your smoker to exhaust its water supply.

T-12 hours – Tuck Your Meat into Bed

There’s a lot of debate about when to wrap your meat. Purists leave it to the last minute, I recommend noobs like me do it sooner than later.

The point of wrapping is two fold: it reduces the chances of you drying out the meat, and it limits the amount of smoke you get into the food. Some folks like more smoke, others like less. You’ll have to experiment to find out what’s best for you.

I prefer to wrap my meat the night before. Take the meat out of the smoker. Wrap it in two full layers of heavy duty aluminum foil like a pouch, then put it back on. Don’t forget to re-attach your thermometer and to top up the water once last time. Wait for the smoker temperature to get back up to 210-240F. Put your thermometer by your bed and dream about how delicious this meat will be.

T-4 hours – The Next Morning

Your goal today is to get the inside of the meat to 180F, at the thickest point of the meat. But first, we’re going to make some burnt ends.

Remove the meat again from the smoker and cut off the triangular hunk at the top (the point). Re-wrap the main brisket, and put back in the smoker. Cut the point into 1″ chunks and mix with a new batch of rub. Put on an aluminum dish and put in the smoker. These will make the best part, the burnt ends. They only need to be in the smoker for 1-2 hours, and they make a delicious appetizer to get everyone ready for the main course.

Now all you have to do is wait until the internal temp reaches 180F.

T-1 hour – Ping! It’s Done!

Once the inside of the meat reaches 180F, it’s done cooking. Prepare the cooler – I use the box the meat comes in, but a standard cooler will do just as well – by lining it with some more foil and dumping in some boiling water. Remove the meat from the smoker, leave it wrapped but remove the thermometer, and then dump it in the cooler. Leave the meat there until you’re ready to serve. It should stay hot for 4-6 hours, try to leave it in there for at least an hour. This will “rest” the meat and make it even more tender: it’s literally marinading in its own juices. Hmmm…

When ready to serve, remove from the box, put on a nice large wooden chopping board and slice across the grain of the meat. Try not to eat too many pieces yourself!

Hopefully, it will taste delicious and everyone will remember your Thanksgiving lunch. We certainly do.


Thanks go to Tim P. and Adam K. for their help perfecting this amazing roast over the past few years.

Operating Systems

Life without Apple

bungee jumperI suppose it was inevitable, and I’ve written about it before (see here) but it still sucks to watch a part of Apple sink into mediocrity. From the total lack of innovation in, Address Book and the other apps included in Mountain Lion it’s pretty obvious that Apple’s focus is elsewhere.

After months of trying to ignore the growing problems I was forced to switch to BusyCal when iCal just stopped working with Google Calendars. We’d hired a few more folks and my delegated calendar list was getting longer. My own calendar stopped syncing, and then these modal dialogs started popping up every 15 minutes. I’d come back to my laptop overnight and find myself forced to close each one individually. No amount of Googling could find a permanent solution, and it’s clear plenty of other folks are affected.

BusyCal is a little rough at the edges. I certainly find myself a little less clear about my schedule than I did with iCal. But it has one huge advantage: it actually works! No longer do I miss meetings because the calendar stopped syncing.

If you can bear a slightly less slick look, there are other apps out there which work better than the Apple ones.

CoBook has quickly displaced Address Book as my default contact manager. Combined with FullContact for Individuals I’m way ahead of where I was: my address is book is up to date and duplicate free for the first time in years.

But I spend most of my OSX time using a browser or an email client.

Browser choices on OSX are easy. I’ve been switching between Chrome, Safari and Firefox for a while. Firefox had got really bloated and I only used it as a ‘clean’ browser (where I could trash all cookies for testing & stuff) but Firefox 18 is a big improvement, and I’m giving it a try for a while. I’m sure I’ll switch back to Safari or Chrome several times in 2013 as I hit problems or new features are released.

The big challenge when cutting the Apple cord is the Mail client. I need a desktop client for two reasons: I really don’t get on with Gmail’s web interface, and I fly a lot, using the time to power through email while offline. Google swallowed up the awesome Sparrow leaving just Postbox as a realistic alternative to

By the end of last year I had a ton of email and my client was running like glue and occasionally crashing even after vacuuming. When I did my annual inbox clear out on New Year’s Day it just wasn’t able to keep up, but Thunderbird was. The only problem: it’s really clunky and it’s no longer being developed. So I turned to Postbox, and you know what? A month later I’m still using it.

Postbox is based on Thunderbird but don’t hold that against it. It was a bit of an adjustment but I’m able to do pretty much everything I did on Intelligent folders? Yeah, they’re not so intelligent in Postbox but good enough for me. Spotlight? Again, I struggle to find emails from time to time, but when that happens I just cut over to Gmail.

The biggest on-going sore spots I have with Postbox are:

  1. It insists on placing signatures below quoted emails.
  2. It doesn’t have the feature that highlights addresses in red when composing if they aren’t from a specific list of domains.
  3. The PGP plugin has a bug that means it can’t detect emails signed using OpenPGP in
  4. There’s no real support to speak of.

You can fix item 1 in the Advanced Settings dialog. Just set mail.identity.default.sig_bottom to false.

I’m still looking for a way to avoid sending colleagues email to their personal or last employer addresses, and to detect properly signed emails. If you know of a way to fix these problems please let me know and I’ll update this post.

My biggest problem is the lack of proper support. There’s simply no way of filing a bug or asking a question to a real person. There’s just a black hole called “request a feature”: file a request and never hear from them again. This is my biggest problem with Postbox, and I hope it changes soon.

Overall my experience cutting the Apple app cord has been exhilarating. Maybe I’ll experiment with some other OS next, now I’m not really dependent on OSX based apps. But for now I’ll be focusing on seeing if I can do the same on my iPhone. I’ve already switched to Sparrow/Fantastical/Chrome and I’ll write up my experience in another few weeks.

Other Tech

Netgear router issue – FIXED

WNDR4500I moved my Netgear WNDR-4500 (aka the N900) today and it wouldn’t come back up when I plugged it in. It just sat there with a winking green light.

Google threw up an answer: reflash the unit. But following the instructions didn’t work, it just sat there still winking.

After consulting a friend, I tried the TFTP instructions DD-WRT provide for OSX, which includes the crucial setting the transfer type to binary. OSX TFTP defaults to ASCII, who would have thunk that?

Setting to binary sorted the issue very quickly. This is a just a quick post to save any other poor soul a few hours as I guess the next step would have been to obtain an RMA.

tl;dr The Netgear docs are missing a critical step for OSX and Linux users: set your mode to BINARY before attempting to PUT the new firmware.

Personal, Portland

Applying a Startup Mentality to Local Government

Interstate Brigde JamI live in Vancouver, WA, which is about 20 miles from my office in the Pearl District of Portland, OR. When things go well my commute takes about 25 minutes each way. When the traffic gods are angry this jumps to 45-75 minutes each way. So you can imagine my utter lack of surprise when I learnt that Portland has the 8th worst traffic in the nation.

The result is a lot of time spent sitting in traffic thinking about how to reduce or eliminate these kinds of delays, except for the time thinking about what I’d do to whichever idiot caused the problem in the first place of course.

The Interstate (I-5) and Glenn Jackson (I-205) bridges together handle an average of 264,000 movements a day. Some back-of-envelope math (US average non-farm hourly wage of $24, 66% of traffic movements occur during rush hour and a guess that there’s an average of 1 worker per vehicle) throws out an estimated $2MM in lost productivity each and every time there’s a 30 minute delay during rush hour.

Whatever the real cost, traffic has a real impact on the area. Which makes me pretty tense when I notice there are some really obvious easy wins that nobody in government appears to be even considering.

To start with, despite hard times, there is some time and money being spent on transport in the Portland area. The mayor likes to talk about safety and traffic improvements, and there is some big money being spent on transportation projects. Here’s a sample:

  1. A new bridge is being built to extend the Max to Milwaukee.
  2. Various improvements to US-26 (like widening stretches to 6 lanes).
  3. Safety initiatives on inner-city streets like 82nd Ave.

Local government and startups have one thing in common: very meagre resources. But the similarity ends there. If our startup worked on things like this while ignoring the easy wins we’d go bankrupt pretty quickly. And taking a closer look at current transport initiatives, I really don’t understand why they got priority over other things that would have a broader impact.

Here’s a quick sample of some cheap and quick changes that would really make a positive impact for commuters all across the area:

  1. Use the existing digital traffic signs to provide “time to : 15 minutes” messages so motorists can decide if they want to route round traffic jams or bridge openings.
  2. Use the same signs to show the next the Interstate bridge is next due to open.
  3. Properly policed HOV lanes on I-205, I-84, I-5.
  4. A public/private partnership to develop a simple Portland traffic app to notify you of which routes you use are getting congested and why, in near real-time, not the 30 minutes delayed stuff we get on map sites.

While we’re talking about it there are a few other more expensive items on my shopping list that cost a considerable amount but are still affordable and would have an even bigger impact:

  1. Variable speed limits on all the Interstates and US-26, to reduce the impact of traffic waves. (These are a big problem in Portland, especially in wet weather.)
  2. Upgrade the I-205/Airport Way junction to have a separate on/off lane from I-205. Backlogs of traffic caused by vehicles joining and leaving I-205 at this junction cause massive tailbacks onto I-84 during rush hour.
  3. Expand the I-205N/I-84 exits so that (a) there are two lanes of traffic joining I-205N and (b) those lanes are not entering the slow lane of I-205N.

And then there are a few projects that are more focused on commuters from outside of Portland. These should still be on the list since they benefit Portlanders by reducing congestion and increasing the dollars spent in town (less traffic = more visits):

  1. An upgraded Park’n’Ride program operating frequently, through late evening. See C-Trans for the existing routes. Count the number of times it says ‘limited’ and ‘peak hours only’.
  2. AmTrak trains running every 30 minutes between Vancouver and Oregon City via Portland during peak hours.
  3. Tweak the Airport Way/I-205N on-ramp so that it can take two lanes of traffic instead of one. Anyone attempting to leave the airport during rush hour will attest to the long backups on Airport Way thanks to the way the on-ramp works.

These items are pretty modest compared to some really big projects like the Columbia River Crossing ($4B), upgrading the I-405/US-26 interchange and expanding light rail.

There seems to a real lack of leadership in transport for the metro area. Maybe it’s the co-ordination it needs between city, county, state and federal levels. I would love to hear from people in the know about either why some of these initiatives can’t or won’t ever happen. As an outsider I don’t even pretend to understand the local politics.

In the meantime, I’ll go back to dreaming about a more consistent commute while sitting in my daily jam on one of the interstates.

Code, Tech

Fixing Issues When Building Ruby Gems With Native Extensions

I’ve had plenty of install of devtools and as a ruby dev it’s important so you can compile native extensions like Nokogiri.

Earlier this year I hit a problem compiling native extensions, bundler couldn’t find gcc even though which gcc found it no problem. I got round it with CC='/usr/bin/gcc' prefix to my bundle and gem installs.

Today I hit a new (for me) issue related to g++ this time. I decided it was time to take a deeper look and find out why I kept hitting these issues.

Turns out there were two problems with my setup that might be affecting others.

First, I Had a bunch of environment variables defined in my .bashrc file from a few years back. Variables like CC were set, so I cleared these all out which fixed the Nokogiri issue (described above) but didn’t get me any further with the g++/EventMachine issue.

Secondly, I found some incorrect and missing symlinks for gcc, g++, etc. in /usr/bin. It turns out that my compiler used to live in /Developer but at some point they moved to /usr/bin/llvm. My gcc symlink pointed to /Developer while the symlink for g++ just wasn’t there.

As I don’t know how this happened you may have different missing and incorrect llvm symlinks. On my system these commands fixed the issue:

sudo rm /usr/bin/g++ sudo ln -s ../llvm-gcc-4.2/bin/llvm-g++-4.2 g++ sudo rm /usr/bin/gcc sudo ln -s ../llvm-gcc-4.2/bin/llvm-gcc-4.2 gcc sudo rm /usr/bin/g++-4.2 sudo ln -s /usr/bin/g++ g++-4.2

This left my /usr/bin folder looking like this

> ls -alh /usr/bin | grep llvm drwxr-xr-x@ 13 root wheel 442B Aug 7 21:44 .. lrwxr-xr-x 1 root wheel 32B Aug 13 17:21 g++ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2 lrwxr-xr-x 1 root wheel 12B Aug 13 17:23 g++-4.2 -> /usr/bin/g++ lrwxr-xr-x 1 root wheel 32B Aug 13 17:22 gcc -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2 lrwxr-xr-x 1 root wheel 12B Aug 7 21:49 gcc-4.2 -> /usr/bin/gcc lrwxr-xr-x 1 root wheel 8B Aug 7 21:44 gcov -> gcov-4.2 lrwxr-xr-x 1 root wheel 28B Aug 7 21:44 gcov-4.2 -> ../llvm-gcc-4.2/bin/gcov-4.2 lrwxr-xr-x 1 root wheel 52B Aug 7 21:44 i686-apple-darwin11-llvm-g++-4.2 -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-g++-4.2 lrwxr-xr-x 1 root wheel 52B Aug 7 21:44 i686-apple-darwin11-llvm-gcc-4.2 -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 lrwxr-xr-x 1 root wheel 32B Aug 7 21:44 llvm-cpp-4.2 -> ../llvm-gcc-4.2/bin/llvm-cpp-4.2 lrwxr-xr-x 1 root wheel 32B Aug 7 21:44 llvm-g++ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2 lrwxr-xr-x 1 root wheel 32B Aug 7 21:44 llvm-g++-4.2 -> ../llvm-gcc-4.2/bin/llvm-g++-4.2 lrwxr-xr-x 1 root wheel 32B Aug 7 21:44 llvm-gcc -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2 lrwxr-xr-x 1 root wheel 32B Aug 7 21:44 llvm-gcc-4.2 -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2

Obviously something went wrong and I can tell from Google that quite a few are suffering from this or some variation of it. A couple of coders in our team got round it by installing tools from sources like Fink and Ports. You may have different missing/wrong links, so just make sure your /usr/bin ls output looks as above and you should be ok.

For the sake of completeness:

  1. you must always install XCode.
  2. if you’ve recently upgraded to 10.8 you’ll need to open XCode and tick ‘command line tools’ under the ‘Downloads’ tab in Preferences or you’ll have nothing to link to.


Addendum: Andrew Cronk of Tempo-DB points out you don’t need to download all 4GB of XCode. If you only want the command line build tools you can download them from here Thanks Andy!


When the Price is Wrong!

I have three small children and like to get them interesting things to play with. Sometimes they ask “Where did you get this Daddy?”. For an easy life I’m almost always tell them “I found it on Google”.

There was a time when I didn’t buy everything from the web. As a boy I often spent Saturday afternoon on the phone calling every breaker’s yard in the county until I found the obscure car part my dad was looking for.

Now I do the same but it’s on Google and the outcome is pretty similar. Once I’ve found what I am looking for, I want it now. The longer I spent looking for it the more likely I’m going to buy it right now. Vendors know this: if whatever I want is widely available and in stock everywhere, make it as cheap as you can, otherwise find a way to raise your price. Go too high though and I’ll keep looking. Even if you’re the only source but the price is too high you I might just decide not to buy (I’m looking at you Logitech remote controls!).

This week I received two appeals for money that illustrated a different pricing dynamic I hadn’t noticed until now. One was for the Colorado wildfires, the other from a well known politician.

In the first case I donated $50 but at checkout there was a $5 charge tacked on. I was outraged: a 10% handling fee?? A quick read of the blurb revealed it was a suggested donation but 10% as starting point was so offensive to me I almost didn’t donate at all. I went ahead anyway but set the donation to 0% despite there being cheaper donation options. By now I just wasn’t feeling that charitable.

In the second case, I read the political email and thought ‘meh’. But they wanted less than $10 and I knew it wouldn’t take a second. So I clicked the link and somehow along the way I decided to give a bit more.

The politician vs the non-profit interaction made me realize this unintentional and adverse outcome may be happening more often than people realize.

For instance I travel a lot, I’m on the road two days out of three, yet I almost never stay in a hotel. They feel massively over priced to me, but that’s probably because I only stay in them when I have to, and that’s only when all my other options are exhausted because my destination is packed out. Of course the room is going to be expensive.

This is how hotels make money nowadays: sell rooms at a low price in quiet times to cover your costs and then make hay during conference or vacation season. The problem with this algorithm is it doesn’t take into account the other 200 nights each year I would have stayed at a hotel until I was trained to think of them as overpriced. Nowadays I don’t even bother checking hotels the rest of the time when I might consider them. I’d almost certainly be a customer if I could commit to buying 30 or 50 nights in a specific chain at a fixed price but as far as I know nobody offers me this and the hotel trade is $20,000 a year poorer as a result.

It is possible to get this right. I almost always rent my cars from Enterprise: they are efficient, friendly, cheap and most importantly they never leave me in the lurch (take note other rental companies!). And they have the upsell perfected. I’m usually offered an upgrade for just a few dollars more per day, and I usually take it. Virgin America does this with their first class upgrades. I’d never buy a first class ticket but an upgrade for $40 is a steal.

Competition for very qualified buyers – I must have it and right now! – is very high (some CPCs on Google after over $50) while developments in behavioral targeting and big data permits increasingly profitable interactions with less motivated shoppers.

So the motto of this story is that companies need to focus not just on margin but also making sure they are not scaring potential customers away in more subtle ways than we are used to when they do find ways to charge more. Caveat venditor.

Beam me up Siri!
Other Tech, Ramblings

From Star Trek to Siri: Giving Your Computer a Say

I always loved this scene from Star Trek when Scotty tries to talk to a 1980s computer. Even as a kid I wondered how we’d get there. You see, great technology doesn’t just spring forth, it evolves. The cotton gin was arguably one of the most important inventions of the industrial revolution, but it took a dozen arcane and seemingly minor improvements to take it to a place where it had the impact that it did. Left unmodified it wouldn’t have been forgotten and the machine we ended up with could never have been invented in isolation.

Even today, voice recognition is poor enough that I’ve often wondered how we it would ever enter every day use. Plus, I couldn’t see us all sitting there in an office, or on a bus, or at the coffee shop talking to our computers. It’s noisy and you look really silly, just like when you use a bluetooth headset.

For voice recognition it’s got to solve a specific problem, not just be a fun demo and/or neat concept. Mice solved the issue that GUIs had too many function combinations for a person to remember (hey WordPerfect ALT+SHIFT+F8 I’m looking at you). The touch screen solved the problem of a lack of a keyboard. Which problem is voice recognition 1.0 solve first?

Recently I had two experiences that I think shows how this evolution will happen.

I had a the fortune to get some free upgrades and the fancy cars I rented had bluetooth phone links, which is easier than using a headset. The Volvo allowed me to voice dial using Siri, whereas the Volkswagen made me use the car’s built-in voice system. Oscar Mike Foxtrot: going from Siri to Volkswagen was excruciating. In my opinion, Siri is now easier to use than dialing with hands. Despite the inevitable typos it’s still quicker to have a couple of goes at dialing than fiddling around with a dial pad or list of text messages.

A few days later I was browsing the news over breakfast when I came across an article I wanted to tweet with a comment. Doing this with one of my kids on my lap and a cup of espresso in my hand was really hard. I would have loved to have spoken the commentary out loud and felt the urge to use Siri once again. That’s a killer sign the app is working. I didn’t do so only because I was on my MacBook and not on my iPhone but I would have if I could have.

Siri still needs a lot of work, especially if you don’t speak American (I’m from the UK), but it’s clearly now usable enough for folks like Apple to spend millions on improving it, and for others to spend even more making their own versions. We’re on our way.

Choose Your Model S Tesla
Other Tech, Ramblings

Livin’ in the future and lovin’ it

Sci-fi is one of my favorite things. I don’t know exactly when it happened but at some point after I left high school I stopped thinking about the future as something far away and started to feel more and more often that I am actually living in the future.

For instance, I saw a tweet about the new Tesla S going on show and headed off to the Tesla site to enjoy these beautiful machines. On the page where you get to actually build your own Tesla (yes! my Tesla! and I built it! pity I can’t buy it…) I saw this:

Yeah, that’s right: battery size has replaced engine size. Instead of “3.5 liter” it now says “85 kWh”. Maybe my kids will hear about petrol engine sizes and wonder what they mean like I used to hear about old (British) money and wonder what a tuppenny-bit or a half-crown was.

I for one love living in the future.


Typhoon & C-130 (Hercules) Get to Know Each Other

I’m told this is the RAF at work (play?) but based on what I know about military types it could be pretty much any service!

These photos were taken during the filming of the new Eurofighter Typhoon jet from the back of a Hercules C-130 transport aircraft (why?).

Apparently they asked the pilot “How much closer can you get?” Quite close as it turns out….

Source: Major HH.