Think Visibility: Awesome Web Marketing Conference in Leeds, England - March 2009

thinkvis.png Think Visibility is a one-day “mini conference” taking place on March 7, 2009 in Leeds (in the lovely north of England!) Within a week of coming up with the idea, organizer Dominic Hodgson (more commonly known as The Hodge) had lined up a raft of speakers (including me!) and was busy getting people excited about it. Now, just a few weeks on, most of the tickets have sold (there are about 35 left) and people are getting excited about it. It’s only £30 to go and there’s a lunch, refreshments, and an after party, so it’s a bit of a bargain. Even if you have to come from London and stop over the night, it works out cheaper than the average conference in London.. and Leeds is a gorgeous city.

The aim of this post is two fold. Firstly, to encourage some more diverse people to come (hopefully from farther afield than the North) and secondly to promote that I’m going to be giving a talk! It’s currently billed as a “mystery talk” but I’m working up a plan and it’s going to be exciting (and very useful for anyone attempting to promote their site or Web app). Other speakers include Tim Nash, Katie Lips, Al Carlton, Kieron Donoghue, and more!

So.. £30, a cracking day up north, learn lots of cool stuff, mill around with some enthusiastic Web people, what a day.. sign up!


Making PayPal Records in US $ Suitable for My UK Accounts

A quick question that, sadly, I can’t ask on Twitter (if you’re on Twitter, you can follow me here!)

I receive a lot of payments in US dollars via PayPal. These are mostly part of my income. At the end of the year, I have generally just included all of the withdrawals as income for my tax return. This has worked well, but recently I have started spending money that’s in my PayPal account too, so the amounts I withdraw are not the full income.

It seems that to be 100% legal and by the book, I’d need to track every single amount I receive via PayPal, and have it converted to British Pounds at the prevaling rate on the day of the transaction. All of these items would then be included in my accounts and used for the tax return.

The question, then, is how can I convert a PayPal transaction log into a list of UK £ amounts? I’d need to know the currency conversion rate for every date - and that’d take a long time to establish manually. Also, I’d technically need to include the PayPal transaction fees as business expenses.. How does anyone deal with this? It seems like a total nightmare, all for the sake of a few dollars here and there.

Is there a system / spreadsheet / similar for converting a significant number of payments from the US (through PayPal, specifically) into a form useful for UK accounts?


How To Install Phusion Passenger / mod_rails / mod_passenger on a cPanel box

passenger.png cpanel.png

I couldn’t find any useful references to installing Phusion Passenger / mod_rails / mod_passenger on a cPanel-based Web server so I stumbled on regardless and managed to overcome the problems I encountered on the way. Those problems and my resolution are all wrapped up here for future use.

Disclaimer

These instructions MIGHT NOT WORK FOR YOU. They also might DAMAGE your setup. They shouldn’t, but I need to disclaim that so you can’t complain later. Follow these instructions at your own risk. They work fine for me on a CentOS 4.6 box with cPanel 11.23.4-R26138 and WHM 11.23.2.

First up, install Apache 2.x

Phusion Passenger’s module only works on Apache 2.x, whereas cPanel’s default is, I believe, 1.3. Luckily, cPanel makes it ridiculously easy to update your Apache installation. If you’re already on Apache 2, skip this section.

Note: If you don’t know what version of Apache you’re running, try curl -i http://server.ip.address/junk_url and look at the Server header returned.

To upgrade Apache, go to your main control panel at https://server.ip.address:2087/ and click the “Apache Update” link on the left. You will then see something like this:

apacheupdatecpanel.png

I won’t walk through the whole process, but it’s reasonably painless. It takes at least 10 minutes for Apache and PHP to recompile in my experience, but the downtime is only a few seconds when it restarts Apache.

Tip: I’d recommend choosing Apache 2.2 when you get the option, rather than Apache 2.0.

Second, download Passenger / mod_rails

I’ll assume you already have Ruby and RubyGems installed on your server. If not, you’re way too far down the line with reading this article and need to get up to speed with actually getting those on to your box :) Google will help with that!

To install the latest release version of Passenger (rather than the “edge” version on Github), run as root:

gem install passenger

This will download and “install” the files Passenger uses, but won’t install Passenger into Apache, so Passenger isn’t operative yet.

At this point it’s probably useful to have the Passenger User Guide up on screen, just for reference.

An Aside: Errors You Might Be Experiencing If You Tried This Already..

If you follow Passenger’s instructions and run passenger-install-apache2-module at this point and put the relevant files into your Apache config files, you will end up with an error like this when you try to restart Apache:

httpd: Syntax error on line 2315 of /usr/local/apache/conf/httpd.conf: Syntax error on line 1 of /usr/local/apache/conf/includes/post_virtualhost_global.conf: API module structure ‘passenger_module’ in file /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.2/ext/apache2/mod_passenger.so is garbled - expected signature 41503232 but saw 41503230 - perhaps this is not an Apache module DSO, or was compiled for a different Apache version?

The “default” apxs being run is /usr/sbin/apxs, but this is a hold-over from the Apache 1.3 installation. The Apache 2.2 version is in /usr/local/apache/bin/apxs, so to force that one to be used:

export APXS2=/usr/local/apache/bin/apxs

Another error that can occur is:

/usr/local/apache/include/apr_file_info.h:192: error: `apr_ino_t’ does not name a type

This occurs because the wrong apr-config is being run. To fix that, you need to export yet another environment variable:

export APR_CONFIG=/usr/local/apache/bin/apr-1-config

Third, compile and install the Passenger module within Apache

Now that we have Passenger downloaded, we need to get it to compile itself as an Apache module. To do this, however, we first need to set some environment variables:

export APXS2=/usr/local/apache/bin/apxs
export APR_CONFIG=/usr/local/apache/bin/apr-1-config

Next, run:

passenger-install-apache2-module

All being well, you’ll eventually end up with Passenger telling you to add a few lines to your Apache configuration file (the code you get may differ slightly):

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.2
PassengerRuby /usr/local/bin/ruby

Do not add these to the Apache configuration file (httpd.conf) as it suggests. cPanel can overwrite things you add there! Instead, add it to /usr/local/apache/conf/includes/pre_virtualhost_global.conf - this file might not exist yet, but that’s okay.

Finally, stop and start Apache (I prefer stopping and starting to “restart” - that’s just my way):

service httpd stop
service httpd stop
service httpd start

If there were no errors, you should now be cooking with gas! If there were errors, look at the aside above and see if it’s any of those mentioned there. If all else fails, sorry, but just edit that Apache configuration file and comment out / remove the lines you added and then restart Apache again - at least you’ll have a working Web server!

Feel free to post comments here with any experiences, tips, or errors you’re having. I or someone else might be able to help - though there are no promises, of course! Also refer to the Passenger User Guide for further configuration and usage information.


A Fabulous Summary of Carphone Warehouse’s iPhone Debacle (And Possible Barclaycard Ones?)

iphonefail.png
Photo credit: James Cridland - CC 2.0 Attribution License

I’ve already posted about how I think Carphone Warehouse are a bunch of liars. Turns out it was no small blip on the radar, however. This post forms a summary of all the various problems I’ve found that people have had with The Carphone Warehouse regarding the iPhone 3G launch. In my eyes, their activities paint them as nefarious charlatans fueled only by avarice (or, kinder, a confederacy of dunces). At the end of this post I also consider whether CPW and Barclaycard have collectively had a problem regarding fraudulent transactions.

First off: Let’s call a spade a spade

First things first, let’s first establish that Carphone Warehouse made a cockup of their iPhone 3G launch. That much is fact given the number of complaints. Supposedly Carphone Warehouse even ruined one guy’s credit rating due to their incompetence:

[B]ecause I was honest and took a phone that had been given to me with NO attempt to verify my identity, acquire my signature, or anything else - making it totally untraceable - back to the store beacause I just wanted it to work, I’ve now come home with NO IPHONE and a RUINED CREDIT RATING.

A one off, right? No. Let’s walk through some quotes.

A Fabulous Summary In Quotations of Supposed Carphone Warehouse Incompetence:

First, Twitter users:

Stuart Ridout says “My iPhone purchase from Carphone Warehouse has been the most stressful of my life … no info, no help and no iPhone! Liars and muppets!”

Andrew Ebling says “Appalled someone@Carphone Warehouse leaked my debit card details to an imposter.”

Alberto Nardelli says “carphone warehouse are absolutely dreadful. They border line delinquency.”

Cybersoc says “unbelievable! The carphone warehouse just took away my iphone! They actually took it away. Total incompetence! Blog post soon!”

Simon Pow says “About to head to Carphone Warehouse & demand a refund for my non existsnt iPhone.”

Phil Gyford says “Struggling to find adequate descriptions of Carphone Warehouse. Descriptions that go further than ‘blatant liars’.”

Rob Wright says “One week on from ordering my iPhone from the Carphone Warehouse. Still i haven’t received it.”

Ed Farrow says “It appears that Carphone Warehouse have scammed me and taken money out of my account despite advanced requests to cancel the order.”

Sam Oliver says “iPhone out of stock everywhere, Carphone warehouse completely screwed up my order and have repeatedly given me wrong information.Don’t use!”

Simon Thomas says “So Carphone Warehouse have LOST my iPhone. Customer service says its in the branch, branch says its not, even though they signed for it.”

martymc says “I have a iPhone but dont have an iPhone thanks to the crap systems at carphone warehouse. ”

It doesn’t end with Twitter. The Web is groaning with complaints..

About 30 similarly pissed off customers have written in to phonesreview.co.uk.

One chap on the MacRumors forum shitstorm is “sick with anger and disappointment.” Further:

[CPW] told me I would never get the phone, because they had over-committed their allocation and had accepted more orders for 16GB than they ever had, and he didn’t reckon they would have any more 16GB in for several weeks. So basically, despite being one of the first to order and all CPW’s assurances, I’m never going to get my 16GB, I’m afraid after looking forward to today so much like a kid, I just can’t bring myself to wait another 2, 3 or even more weeks in the hope of new stock.

And, “This should have been a great day, instead CPW have totally ruined it for me.”

Tom Smith talks of a “Carphone Warehouse iPhone Scam” and then moves on to call them scum instead. Like me, Tom has pretty much lost interest in the iPhone.

James Whatley thinks the Carphone Warehouse needs to get an evangelist to deal with the flood of complaints.

Dan Lane, who was invited to a CPW store by CPW’s PR department, encountered all sorts of issues with them.

Paul Walsh says “Carephone [sic] should consider hiring new management…”

While Rome burns, have CPW been fiddling, by adding bolt-ons to contracts they shouldn’t have been?

Suw Charman is pissed off that existing iPhone users weren’t given the option to pre-order for upgrades.

Yet more people pissed off at CPW promising delivery dates then not fulfilling them. One user shares my concerns:

This is causing such a PR backlash for apple, I’ve spent over £4000 with them this year, getting a new macbook air, and a macpro, and even though I know it’s not apples fault, it certainly burns my customer perception that I’ve gone through so much hassle in regards to an apple product.

“mickeymongoose” says:

Sorry for the rant, but the gist of what I’m saying is that CPW are rubbish, and not just incompetent, but purposefully so. I imagine somewhere they have a spreadsheet with the expected number of people they think will give up and cancel their orders and the loss in revenue due to that is smaller than the gain from allowing an overabundance of orders and just keeping people in the dark until they can be completed.

Ali A reports a similar story to my own (see user comments):

I ordered my iphone online with carphonewarehouse monday of last week, and received confirmation email early last week to say phone to be delivered last friday. I worked from home friday to wait for the phone, at 4pm I finally managed to get through to carphonewarehouse sales, they said they couldnt do the security check on their system, fault at their end, they could not accept another payment method or card and so transaction was cancelled. I rang today to follow up and the sales support hung up on me. I am appalled at the poor level of service from carphonewarehouse - discusted actually. I will cut my left hand off before buying anything from them again. They had obvisouly sold me iphone and were making one excuse after another not to tell me that. awful - never buy from carphonewarehouse!

On the same page, a user called Wardy comments:

I ordered my iphone on monday this week and when i went to collect it yesterday they had sold it to someone else, Not happy at carphone warehouse.

All this, despite the claim on their own Web site:

cpwclaim.png

At the Carphone Warehouse, we believe in being totally honest with our customers. That means that when you see an item with the “In stock” badge against it, we guarantee that this item is in stock.

Yet another thread full of complaints regarding lies over stock levels. Charles Dunstone should be absolutely ashamed of the culture that has developed within his company.

Got more complaints? Post the link in the comments here, and I will continue to extend this post.

My Own Story

Within a few hours of the pre-order process going live, I put in an order with Carphone Warehouse for an iPhone 3G. I chose to have it delivered to my local store as I wouldn’t be at home on release day. On Thursday I got a mail, containing my order number, saying my iPhone 3G would be delivered “by July 11th” (Friday).

I went to my local Carphone Warehouse on Saturday and while they admitted one had been delivered on the Friday, they said it had “already gone” and didn’t know when mine would turn up (without even asking my name - hmm..). They said they were getting more on Monday. I went in on Monday; same deal. They’d had some in, but they’d sold them. I called Carphone Warehouse to investigate cancelling my order and they said I had to check if they’d take any money before they could do anything. Before I could do this (thanks to Barclaycard restricting my account for no reason at all), they sent me an SMS at 4am the next morning saying my order was cancelled.

BarclayCard have still locked my card up, refuse to tell me why, and despite promising to send a new one, I still have no working card. Only a call to close my account today has forced them to admit they had a ‘processing error’ and will send a new one ASAP.

Carphone Warehouse, O2, and Apple have all made a grave error in not accepting any responsibility for these debacles. Even if Apple had publicly come clean and apologized for the balls up in rollout, a lot of people would be able to swallow it. The silence, however, kills confidence in a company we’re meant to trust to run a monopolistic, DRM-laden, walled-garden mobile platform! I’m not getting an iPhone in the near future. If Apple doesn’t think the buck stops with them, they’re wrong. I’ve spent almost £10,000 with them in the last 18 months and they have totally sold all the brand value they had with me down the river. Fuck Apple. (By the way, if anyone wants an almost new 8-core Mac Pro with 30″ Cinema Display, I want to sell mine and get a PC.)

Barclays / BarclayCard and Carphone Warehouse Potential Fraud?

I’m investigating a potential connection between Carphone Warehouse transactions (primarily for the iPhone 3G) and BarclayCard (and Barclays debit card) fraud / rejected transaction reports. This post is to act as a repository for the information I find, and the comments to act as a place for you to share your own info or get in touch with me. There’s either a coincidence going on here or a conspiracy; I intend to establish which. Please leave comments with any supporting information.

A post on the O2 customer forum with people reporting issues with Barclays debit cards being processed at CPW stores. One person talks about two different Barclays cards being rejected (from different people) at the same store, another talks about Barclays blocking CPW transactions due to fraud (I have this page archived in PDF in case it disappears). In another post, someone reports issues with Barclays and CPW, though someone else has had success.

One forum user says about his own transaction woes: “Turns out Barclaycard Fraud Prevention blocked the transaction, as they ’seem to get a lot of fraudulent transactions from Carphone Warehouse.’” Note that this is an alleged quote from a Barclaycard phone operator. Carphone Warehouse supposedly making fraudulent transactions? Never!

This is probably not related but, allegedly, Apple has randomly been taking £121 from various people’s accounts without permission. It seems some people might be confused between authorization and actual debit though, but maybe not..


How Lies Are Destroying Both Businesses and Consumers

I’d rather be considered a tactless prick than someone who lies or doesn’t stick to his promises.

Thanks in part to insatiable customers, however, businesses have discovered that it’s economically viable to trade large amounts of goodwill by not sticking to their promises for the reward of getting a contract signed or more cash in the bank. Consumers are little different, having developed apathy towards companies who lie, resulting in their lying to get what they want (fraudulent reasons when returning items, complaining for no reason, stating matters as urgent when they’re not).

This is an amensal relationship; one where both parties are impeding each other’s success. Both parties are being passive aggressive, and neither is coming out on top. Most companies (and people) would rather be ‘polite’ liars and cheats, rather than grow some balls and tell the truth. This is slowly destroying our economy.

Even machines cannot be trusted

Supposedly “automated” tracking systems are being fraudulently manipulated to make the customer look like a liar, instead of the businesses they support. Consider the mess surrounding Amazon.com’s delivery of Harry Potter 7. Supposedly, UPS went so far to manipulate their system to show “Delivery attempted - recipient not home” (despite the recipient being at home the whole day) when they had too many packages to deliver, instead of stating the truth.

That this manipulation can even occur is a good reason not to trust tracking systems any more. Lies not only breed distrust, but apathy. If a tracking system is not relaying the facts, then I don’t care about those facts, since they are immeasurable. An apathetic customer is a customer you can milk only for a short period of time before their apathy leads to them going somewhere else.

Data manipulation is not new, but now that automated systems are so popular, it’s more powerful than before. These automated systems were initially put into place to make systems and customer communication more efficient. When you bamboozle customers by manipulating these systems, communications become less efficient as customers are forced to make phone calls, tie up customer agents, enter stores, or otherwise harass people to find the facts.

We have your phone, except when we don’t

The Carphone Warehouse decided to lie to me. I pre-ordered on the first day it was available, and received this on July 10, the day before its launch:

carphone-warehouse-lies.png

My screenshot’s a little blurry (no thanks to Ecto) but the key parts are that my order number was included in the mail; this isn’t just a spam or a mass mail, and they say “Your new iPhone 3G is now available and will be sent to your chosen delivery address on Friday 11th July.”

I attempted to call the store I had it delivered to earlier today, but there was no answer, so with a “I bet despite this they won’t have it,” Laura and I strolled into town. At the store, I asked if the phone I had ordered had arrived. The chap at the shop, leaning on the counter twiddling his thumbs, asked what the phone was, and immediately stated they didn’t have it and had no idea when they would “due to demand.” The demand issues are no big surprise, but curiously he added that “one came in yesterday but that was it.” This struck me as a curious addition, so I asked him how he knew it wasn’t mine, since I hadn’t mentioned my name, to which he had no answer. Laura suspects someone at the store has got a nice present.

Hey ho, it’ll turn up in the next couple of weeks. A lot of people haven’t entered apathy yet, and continue to get upset about things like this, but I’ve had so many companies lie to me, cheat me, and fail to live up to their promises so often that I accept it. This is how business is supposed to work. Businesses are supposed to lie, fake their systems, and trick customers. That is business. Thinking this, it then struck me how odd that is. No, that’s not how business is supposed to work. At least, it’s not how it used to work. I’m just apathetic to big business.

If I wasn’t stuck in a contract with the Carphone Warehouse that’s reasonably difficult to extract myself from, I’d have cancelled my contract today, and then chosen to wait a few weeks till the hysteria dies down. Instead, the Carphone Warehouse has ensured I’m an apathetic customer, who won’t be willing to answer their stupid surveys, won’t read their promotional mails, and who won’t be recommending them. Lies breed apathy.

Lying is initially beneficial

If you know someone who constantly lies, even in a non-malicious way, you no longer take what they say at face value. You could still be friends or have a productive relationship, but you will always need to check what they say. This is what’s happening between businesses and consumers now.

I’ve had this issue with some of my clients over the years. One in particular tends to deal with every single issue as a matter of urgency (even those with no urgency whatsoever). Mails start with subjects like “URGENT!!” and voicemails are fraught. Initially this spurred me into action, but I quickly realized they were crying wolf. They are the consumer-equivalent of the companies who realize that lying is economically viable. In this case, the customer realizes that if they make their case seem urgent, they’ll be dealt with slightly more quickly. Unfortunately, however, this no longer works. I no longer treat this customer’s cries with any urgency, because I am used to their lies.

Customers who have failed to have a good customer service experience in the past start to become like my client. If a big business ignores you once, start screaming the next time to get some attention. It tends to work with them, and likewise big businesses have started to focus on satisfying those who scream loudest. This gives a natural disadvantage to customers who choose not to lie. The winners all round? The liars. The losers when the decent customers finally become apathetic? The liars, again.

The solution (where I state the bloody obvious)

The solution is, as always, tell the truth. Whether you’re a business or a consumer, telling the truth is the best policy. It’s the most painful policy in the short term, which means few people will bother to try, but it leads the most mutually beneficial situation down the line. When we trust other people, we are willing to accept compromise, and also benefit by others accepting to compromise when we are truly in an urgent situation. When no-one trusts anyone, we no longer accept compromise, but are no longer trusted by others when we need that trust.

Luckily the trust-trust scenario is still visible in a few, minor areas of our economy. The small, personally run stores; quality craftsmen; one-man bands run by people with honor. My tailor doesn’t lie to me; I don’t lie to him; we both benefit. If he screws something up, he tells me. I have no apathy about buying clothes from him, even if they’re three times the price. It’s an experience I enjoy, and I know I’m not getting shafted.

Perhaps the power of lies will ultimately have a benefit: to small business! As people finally start to become apathetic to big businesses, and I hope they will, small businesses can have the opportunity of promote a good, honest agenda. Likewise, customers can enjoy the honesty, but also learn to deal with the truth. If a company fucks up and is honest about it, don’t get upset or encourage the company to lie, because we know where that’s gotten us so far.


How to Disable Smart / Curly Quotes on WordPress 2.5

Smart / curly quotes might look nice typographically, but they can be a major pain if you want to copy and paste source code onto your blog (as I do with Ruby Inside and Rails Inside). Luckily there’s an easy solution, though it took me a while to discover it.

Basically, go to the functions.php file within your current theme (usually wp-content/themes/[theme name]/functions.php) and add this to the end:

<?php remove_filter('the_content', 'wptexturize'); ?>

Now you’re good to go! If you want to be a bit more extreme and remove smart quoting from comments, add this:

<?php remove_filter('comment_text', 'wptexturize'); ?>

Pipex Filtering HTTP Traffic In A Rather Weird Way

I’m just posting this as a record of what occurred and in case it comes in useful to anyone else Googling on the topic.

Yesterday, it appears my DSL / ADSL / broadband provider, Pipex, had some minor outages. Whereas others thought their broadband simply wasn’t working, I discovered otherwise. Everything worked except any HTTP requests on port 80 or 443 featuring a Host: header and that would ultimately return status code 200. I confirmed all of this with lots of playing with curl in verbose (-v) mode, letting me see all HTTP traffic going in and out under different conditions.

To put that into perspective, a request to a non-existing page, such as http://news.bbc.co.uk/nonsense worked fine. A request to a page that did a redirect (such as http://tinyurl.com/1ab) did the redirect fine, but then the final destination wouldn’t load (since it’d be status 200). An HTTP 1.0 request with no Host: header would work fine (though almost nothing supports this properly anymore). XBox Live worked fine (which is what I ended up playing on since the Web wouldn’t work!), POP3 worked fine, IMAP worked fine, SSH worked fine, pinging worked.. everything worked except HTTP requests on ports 80 and 443 that would usually return an HTTP 200 OK. It was like this between about 8 and 10pm on Wednesday, July 2, 2008.

Curiously, an HTTP request to Pipex’s own Web site initially appeared to work fine, but then hung like all the others after returning only about 2KB of HTML.

This all makes me think that Pipex (or someone in their chain of connections) is passively proxying HTTP requests, most likely for surveillance purposes (or possibly caching). Since requests resulting in 301 / 302 redirects and 404s were still getting through, they’re clearly interrupting the connection at some point. These stalled connections were hanging in FIN_WAIT_2 (according to netstat), demonstrating that the connection was effectively idle (to the point of timing out), and waiting for something to arrive.


Yo Rails! - A New Way To Find Resources In A Single Topic Area

yorails.png

I haven’t actively released it yet, but Yo Rails! (yorails.com) is a new site I’ve been working on. It’s a compendium of links to useful Rails related content. Unlike many “101 links about x” type sites, however, you aren’t slammed with a giant list of links in one go, but instead you need to work your way down to what you need by selecting a combination of tags.

I think this is a compelling way to narrow down a large, disparate list of items. I’m not convinced the interface is quite right yet, but it’s already demonstrating its power to me. I developed Yo Rails! because I see a lot of great Rails articles, then lose them in the pile (even tagging them on del.icio.us is no guarantee I can find them easily again, since del.icio.us stopped doing tag unions!)

I’d certainly appreciate if any of you could give it a go and let me know what you think. The general mechanism is all there and works great, although the number of items in the index is still low (about 100). I’m open to all feedback / criticism / praise on this, so fire away.


Brain: A Book Cover

brain.gif

This is all a rather long way off and pending significant amounts of change, but I rather fancied sharing this in case it changed significantly later on. Just a book cover.

Update:

brainv2.png


How To Enable Mouse Wheel Scrolling in Ubuntu Hardy on VMware Fusion

I was having problems installing VMware Tools on Ubuntu Hardy (8.04) under VMware Fusion but got to the bottom of it.

The next problem was trying to get the mouse scroll wheel to work. I did some Googling and most of the guides suggested I change a single line in xorg.conf (namely, set the “Protocol” of the mouse device to “ImPS/2″). It didn’t work. On a limb I thought I’d try changing the driver from “vmmouse” to “mouse” and this solved the problem, but the mouse tracking and acceleration was TOTALLY different between OS X and Linux.. eugh!

With some perseverance, I’ve found a solution. You can use the vmmouse driver, keep the synchronized mouse tracking and acceleration, and use your mouse wheel as it was intended.

I have been told this technique works on VMware Workstation and VMware Player on the PC too, but I haven’t tried it on there myself.

Steps to Enable Mouse Wheel Scrolling in Ubuntu Hardy under VMware Fusion

Launch a Terminal (Applications menu -> Accessories -> Terminal).

Type:

sudo gedit /etc/X11/xorg.conf

Scroll down (it’s not far, perhaps 20 - 30 lines) till you see a block that looks like this:

Section "InputDevice"
Identifier "Configured Mouse"
Driver "vmmouse"
[.. blah blah blah ..]
EndSection

Replace that whole section with this:

Section "InputDevice"
Identifier "Configured Mouse"
Driver "vmmouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
EndSection

Save the file, then close all your apps and hit Ctrl+Alt+Backspace. X restarts within a few seconds, and you’re back up and running. Scrolling should now be possible!

I haven’t gotten to the bottom of horizontal scrolling yet. I thought a ZAxisMapping of “4 5 11 12″ would do it, but I suspect either VMware Fusion’s mouse driver does things a different way, or maybe it’s mouse specific (not likely). I’ll update this post if I work it out.


← Before