<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Peter Cooper's Blog</title><link>http://peterc.org</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/petercooperuk" /><description></description><language>en</language><generator>http://wordpress.org/?v=2.7.1</generator><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/petercooperuk" /><feedburner:info uri="petercooperuk" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>petercooperuk</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item><title>Think Visibility: Awesome Web Marketing Conference in Leeds, England - March 2009</title><link>http://feedproxy.google.com/~r/petercooperuk/~3/J29dYAmxJfI/84-think-visibility-web-marketing-conference-leeds-2009.html</link><category>Uncategorized</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Cooper</dc:creator><pubDate>Sun, 28 Dec 2008 03:32:09 PST</pubDate><guid isPermaLink="false">http://peterc.org/2008/84-think-visibility-web-marketing-conference-leeds-2009.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://peterc.org/wp-content/uploads/2008/12/thinkvis.png" width="137" height="32" alt="thinkvis.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /> <a href="http://www.thinkvisibility.com/">Think Visibility</a> 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 href="http://www.thinkvisibility.com/schedule.html">a raft of speakers</a> (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 <a href="http://www.google.com/blogsearch?hl=en&amp;ie=UTF-8&amp;q=thinkvisibility&amp;btnG=Search+Blogs">people are getting excited</a> 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.</p>
<p>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 <a href="http://www.timnash.co.uk/">Tim Nash</a>, <a href="http://www.kisky.co.uk/">Katie Lips</a>, <a href="http://www.coolestgadgets.com/">Al Carlton</a>, <a href="http://www.here.org.uk/">Kieron Donoghue</a>, and more!</p>
<p>So.. £30, a cracking day up north, learn lots of cool stuff, mill around with some enthusiastic Web people, what a day.. <a href="http://thinkvisibility.eventbrite.com/">sign up!</a></p>
]]></content:encoded><description>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 [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://peterc.org/2008/84-think-visibility-web-marketing-conference-leeds-2009.html/feed</wfw:commentRss><feedburner:origLink>http://peterc.org/2008/84-think-visibility-web-marketing-conference-leeds-2009.html</feedburner:origLink></item><item><title>Making PayPal Records in US $ Suitable for My UK Accounts</title><link>http://feedproxy.google.com/~r/petercooperuk/~3/blE6XcgGA0s/82-making-paypal-records-in-us-suitable-for-my-uk-accounts.html</link><category>Uncategorized</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Cooper</dc:creator><pubDate>Wed, 29 Oct 2008 11:16:26 PDT</pubDate><guid isPermaLink="false">http://peterc.org/2008/82-making-paypal-records-in-us-suitable-for-my-uk-accounts.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>If you're in the UK and receive lots of US $ amounts, how do you record those in your accounts?<br />
<span id="more-82"></span><br />
A quick question that, sadly, I can't ask on Twitter (if you're on Twitter, you can <a href="http://twitter.com/peterc/">follow me here!</a>)</p>
<p>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 <em>withdrawals</em> 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.</p>
<p>It seems that to be 100% legal and <em>by the book</em>, 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.</p>
<p>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 <em>technically</em> 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.</p>
<p>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?</p>
]]></content:encoded><description>If you're in the UK and receive lots of US $ amounts, how do you record those in your 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. [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://peterc.org/2008/82-making-paypal-records-in-us-suitable-for-my-uk-accounts.html/feed</wfw:commentRss><feedburner:origLink>http://peterc.org/2008/82-making-paypal-records-in-us-suitable-for-my-uk-accounts.html</feedburner:origLink></item><item><title>How To Install Phusion Passenger / mod_rails / mod_passenger on a cPanel box</title><link>http://feedproxy.google.com/~r/petercooperuk/~3/ek40zzJqVLg/81-how-to-install-phusion-passenger-mod_rails-mod_passenger-on-a-cpanel-box.html</link><category>Uncategorized</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Cooper</dc:creator><pubDate>Wed, 06 Aug 2008 21:06:39 PDT</pubDate><guid isPermaLink="false">http://peterc.org/2008/81-how-to-install-phusion-passenger-mod_rails-mod_passenger-on-a-cpanel-box.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://peterc.org/wp-content/uploads/2008/08/passenger.jpg" width="187" height="57" alt="passenger.png" /> <img src="http://peterc.org/wp-content/uploads/2008/08/cpanel.jpg" width="137" height="57" alt="cpanel.png" /></p>
<p>I couldn't find any useful references to installing <a href="http://www.modrails.com/">Phusion Passenger / mod_rails / mod_passenger</a> 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.</p>
<p><span id="more-81"></span></p>
<p><big><strong>Disclaimer</strong></big></p>
<p>These instructions <em>MIGHT NOT WORK FOR YOU</em>. They also might <em>DAMAGE</em> your setup. They <em>shouldn't</em>, 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.</p>
<p><big><strong>First up, install Apache 2.x</strong></big></p>
<p>Phusion Passenger's module <strong>only works on Apache 2.x</strong>, 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.</p>
<blockquote>
<p>Note: If you don't know what version of Apache you're running, try <tt>curl -i http://server.ip.address/junk_url</tt> and look at the Server header returned.</p>
</blockquote>
<p>To upgrade Apache, go to your main control panel at <tt>https://server.ip.address:2087/</tt> and click the "Apache Update" link on the left. You will then see something like this:</p>
<p><img src="http://peterc.org/wp-content/uploads/2008/08/apacheupdatecpanel.jpg" width="433" height="354" alt="apacheupdatecpanel.png" style="border:1px #000000 solid;" /></p>
<p>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.</p>
<blockquote>
<p>Tip: <strong>I'd recommend choosing Apache 2.2</strong> when you get the option, rather than Apache 2.0.</p>
</blockquote>
<p><big><strong>Second, download Passenger / mod_rails</strong></big></p>
<p>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!</p>
<p>To install the latest release version of Passenger (rather than the "edge" version on Github), run as root:</p>
<p><tt>gem install passenger</tt></p>
<p>This will download and "install" the files Passenger uses, but won't install Passenger into Apache, so <strong>Passenger isn't operative yet.</strong></p>
<p>At this point it's probably useful to have the <a href="http://www.modrails.com/documentation/Users%20guide.html">Passenger User Guide</a> up on screen, just for reference.</p>
<blockquote>
<p><big><strong>An Aside: Errors You Might Be Experiencing If You Tried This Already..</strong></big></p>
<p>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:</p>
<p><tt>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?</tt></p>
<p>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:</p>
<p><tt>export APXS2=/usr/local/apache/bin/apxs</tt></p>
<p>Another error that can occur is:</p>
<p><tt>/usr/local/apache/include/apr_file_info.h:192: error: `apr_ino_t' does not name a type</tt></p>
<p>This occurs because the wrong apr-config is being run. To fix <em>that</em>, you need to export yet another environment variable:</p>
<p><tt>export APR_CONFIG=/usr/local/apache/bin/apr-1-config</tt></p>
</blockquote>
<p><span style="font-size: 14px; font-weight: bold;">Third, compile and install the Passenger module within Apache</span></p>
<p>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:</p>
<p><tt>export APXS2=/usr/local/apache/bin/apxs<br />
export APR_CONFIG=/usr/local/apache/bin/apr-1-config</tt></p>
<p>Next, run:</p>
<p><tt>passenger-install-apache2-module</tt></p>
<p>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):</p>
<p><tt>LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.2/ext/apache2/mod_passenger.so<br />
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.2<br />
PassengerRuby /usr/local/bin/ruby</tt></p>
<p>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 <tt>/usr/local/apache/conf/includes/pre_virtualhost_global.conf</tt> - this file might not exist yet, but that's okay.</p>
<p>Finally, stop and start Apache (I prefer stopping and starting to "restart" - that's just my way):</p>
<p><tt>service httpd stop<br />
service httpd stop<br />
service httpd start</tt></p>
<p>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!</p>
<p>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 <a href="http://www.modrails.com/documentation/Users%20guide.html">Passenger User Guide</a> for further configuration and usage information.</p>
]]></content:encoded><description>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. [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://peterc.org/2008/81-how-to-install-phusion-passenger-mod_rails-mod_passenger-on-a-cpanel-box.html/feed</wfw:commentRss><feedburner:origLink>http://peterc.org/2008/81-how-to-install-phusion-passenger-mod_rails-mod_passenger-on-a-cpanel-box.html</feedburner:origLink></item><item><title>How Lies Are Destroying Both Businesses and Consumers</title><link>http://feedproxy.google.com/~r/petercooperuk/~3/2Oyq3DfhO0w/73-how-lies-are-destroying-both-businesses-and-consumers.html</link><category>Uncategorized</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Cooper</dc:creator><pubDate>Sat, 12 Jul 2008 07:12:08 PDT</pubDate><guid isPermaLink="false">http://peterc.org/2008/73-how-lies-are-destroying-both-businesses-and-consumers.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I'd rather be considered a tactless prick than someone who lies or doesn't stick to his promises.</p>
<p>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 <em>their</em> lying to get what they want (fraudulent reasons when returning items, complaining for no reason, stating matters as urgent when they're not).</p>
<p>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.</p>
<p><strong>Even machines cannot be trusted</strong></p>
<p>Supposedly "automated" tracking systems are being fraudulently manipulated to make the customer look like a liar, instead of the businesses they support. Consider the <a href="http://www.kottke.org/07/07/harry-potter-and-the-phantom-delivery">mess surrounding Amazon.com's delivery of Harry Potter 7</a>. 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.</p>
<p>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.</p>
<p>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.</p>
<p><strong>We have your phone, except when we don't</strong></p>
<p>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:</p>
<p><img src="http://peterc.org/wp-content/uploads/2008/07/carphone-warehouse-lies.jpg" width="352" height="365" alt="carphone-warehouse-lies.png" style="border:1px #000000 solid;" /></p>
<p>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 <strong>will</strong> be sent to your chosen delivery address on Friday 11th July."</p>
<p>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.</p>
<p>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 <em>used</em> to work. I'm just apathetic to big business.</p>
<p>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 <em>won't</em> be willing to answer their stupid surveys, <em>won't</em> read their promotional mails, and who <em>won't</em> be recommending them. Lies breed apathy.</p>
<p><strong>Lying is initially beneficial</strong></p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p><strong>The solution (where I state the bloody obvious)</strong></p>
<p>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 <em>painful</em> 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 <em>truly</em> in an <strong>urgent</strong> situation. When no-one trusts anyone, we no longer accept compromise, but are no longer trusted by others when we need that trust.</p>
<p>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.</p>
<p>Perhaps the power of lies will ultimately have a benefit: to small business! As people <em>finally</em> 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.</p>
]]></content:encoded><description>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 [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://peterc.org/2008/73-how-lies-are-destroying-both-businesses-and-consumers.html/feed</wfw:commentRss><feedburner:origLink>http://peterc.org/2008/73-how-lies-are-destroying-both-businesses-and-consumers.html</feedburner:origLink></item><item><title>How to Disable Smart / Curly Quotes on WordPress 2.5</title><link>http://feedproxy.google.com/~r/petercooperuk/~3/9UyW5G9aZh4/71-how-to-disable-smart-curly-quotes-on-wordpress-25.html</link><category>Uncategorized</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Cooper</dc:creator><pubDate>Mon, 07 Jul 2008 11:16:53 PDT</pubDate><guid isPermaLink="false">http://peterc.org/2008/71-how-to-disable-smart-curly-quotes-on-wordpress-25.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>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 <a href="http://www.rubyinside.com">Ruby Inside</a> and <a href="http://www.railsinside.com">Rails Inside</a>). Luckily there's an easy solution, though it took me a while to discover it.</p>
<p>Basically, go to the functions.php file within your current theme (usually wp-content/themes/<em>[theme name]</em>/functions.php) and add this to the end:</p>
<pre>&lt;?php remove_filter('the_content', 'wptexturize'); ?></pre>
<p>Now you're good to go! If you want to be a bit more extreme and remove smart quoting from comments, add this:</p>
<pre>&lt;?php remove_filter('comment_text', 'wptexturize'); ?></pre>
]]></content:encoded><description>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 [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://peterc.org/2008/71-how-to-disable-smart-curly-quotes-on-wordpress-25.html/feed</wfw:commentRss><feedburner:origLink>http://peterc.org/2008/71-how-to-disable-smart-curly-quotes-on-wordpress-25.html</feedburner:origLink></item><item><title>Pipex Filtering HTTP Traffic In A Rather Weird Way</title><link>http://feedproxy.google.com/~r/petercooperuk/~3/mTJiHn6_844/70-pipex-filtering-http-traffic-in-a-rather-weird-way.html</link><category>Uncategorized</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Cooper</dc:creator><pubDate>Thu, 03 Jul 2008 08:41:43 PDT</pubDate><guid isPermaLink="false">http://peterc.org/2008/70-pipex-filtering-http-traffic-in-a-rather-weird-way.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>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.</p>
<p>Yesterday, it <a href="http://summize.com/search?q=pipex">appears</a> my DSL / ADSL / broadband provider, <a href="http://www.pipex.co.uk/">Pipex</a>, had some minor outages. Whereas others thought their broadband simply wasn't working, I discovered otherwise. <strong>Everything</strong> worked <em>except</em> 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 <em>curl</em> in verbose (<em>-v</em>) mode, letting me see all HTTP traffic going in and out under different conditions.</p>
<p>To put that into perspective, a request to a non-existing page, such as <a href="http://news.bbc.co.uk/nonsense">http://news.bbc.co.uk/nonsense</a> worked fine. A request to a page that did a redirect (such as <a href="http://tinyurl.com/1ab">http://tinyurl.com/1ab</a>) 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.</p>
<p>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.</p>
<p>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.</p>
]]></content:encoded><description>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 [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://peterc.org/2008/70-pipex-filtering-http-traffic-in-a-rather-weird-way.html/feed</wfw:commentRss><feedburner:origLink>http://peterc.org/2008/70-pipex-filtering-http-traffic-in-a-rather-weird-way.html</feedburner:origLink></item><item><title>Yo Rails! - A New Way To Find Resources In A Single Topic Area</title><link>http://feedproxy.google.com/~r/petercooperuk/~3/PrOBHrI18pQ/69-yo-rails-a-new-way-to-find-resources-in-a-single-topic-area.html</link><category>Uncategorized</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Cooper</dc:creator><pubDate>Sun, 15 Jun 2008 20:11:31 PDT</pubDate><guid isPermaLink="false">http://peterc.org/2008/69-yo-rails-a-new-way-to-find-resources-in-a-single-topic-area.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://peterc.org/wp-content/uploads/2008/06/yorails.jpg" width="455" height="216" alt="yorails.png" style="border:1px #000000 solid;" /></p>
<p>I haven't actively released it yet, but <a href="http://yorails.com/">Yo Rails!</a> (<em>yorails.com</em>) 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 <em>x</em>" 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.</p>
<p>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!)</p>
<p>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.</p>
]]></content:encoded><description>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 [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://peterc.org/2008/69-yo-rails-a-new-way-to-find-resources-in-a-single-topic-area.html/feed</wfw:commentRss><feedburner:origLink>http://peterc.org/2008/69-yo-rails-a-new-way-to-find-resources-in-a-single-topic-area.html</feedburner:origLink></item><item><title>Brain: A Book Cover</title><link>http://feedproxy.google.com/~r/petercooperuk/~3/4mJScIZY2ng/66-brain-a-book-cover.html</link><category>Uncategorized</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Cooper</dc:creator><pubDate>Tue, 13 May 2008 20:27:32 PDT</pubDate><guid isPermaLink="false">http://peterc.org/2008/66-brain-a-book-cover.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://peterc.org/wp-content/uploads/2008/05/brain.jpg" width="312" height="463" alt="brain.gif" /></p>
<p>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.</p>
<p><strong>Update:</strong></p>
<p><img src="http://peterc.org/wp-content/uploads/2008/05/brainv2.jpg" width="309" height="463" alt="brainv2.png" style="border:1px #000000 solid;" /></p>
]]></content:encoded><description>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:</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://peterc.org/2008/66-brain-a-book-cover.html/feed</wfw:commentRss><feedburner:origLink>http://peterc.org/2008/66-brain-a-book-cover.html</feedburner:origLink></item><item><title>How To Enable Mouse Wheel Scrolling in Ubuntu Hardy on VMware Fusion</title><link>http://feedproxy.google.com/~r/petercooperuk/~3/ceRU2ICnK0c/64-how-to-enable-vertical-mouse-wheel-scrolling-in-ubuntu-hardy-on-vmware-fusion.html</link><category>Uncategorized</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Cooper</dc:creator><pubDate>Fri, 25 Apr 2008 18:22:56 PDT</pubDate><guid isPermaLink="false">http://peterc.org/2008/64-how-to-enable-vertical-mouse-wheel-scrolling-in-ubuntu-hardy-on-vmware-fusion.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I was having problems <a href="http://peterc.org/2008/62-how-to-install-vmware-tools-on-ubuntu-hardy-804-under-vmware-fusion.html">installing VMware Tools on Ubuntu Hardy (8.04) under VMware Fusion</a> but got to the bottom of it.</p>
<p>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!</p>
<p>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.</p>
<p>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.</p>
<p><big><strong>Steps to Enable Mouse Wheel Scrolling in Ubuntu Hardy under VMware Fusion</strong></big></p>
<p>Launch a Terminal (Applications menu -&gt; Accessories -&gt; Terminal).</p>
<p>Type:</p>
<blockquote><p><code>sudo gedit /etc/X11/xorg.conf</code></p></blockquote>
<p>Scroll down (it's not far, perhaps 20 - 30 lines) till you see a block that looks like this:</p>
<blockquote><p><code>Section "InputDevice"<br />
Identifier "Configured Mouse"<br />
Driver "vmmouse"<br />
[.. blah blah blah ..]<br />
EndSection</code></p></blockquote>
<p>Replace that whole section with this:</p>
<blockquote><p><code>Section "InputDevice"<br />
Identifier      "Configured Mouse"<br />
Driver          "vmmouse"<br />
Option          "CorePointer"<br />
Option          "Device"        "/dev/input/mice"<br />
Option          "Protocol"      "ImPS/2"<br />
Option          "Buttons" "5"<br />
Option          "ZAxisMapping" "4 5"<br />
EndSection</code></p></blockquote>
<p>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!</p>
<p>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.</p>
]]></content:encoded><description>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 [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://peterc.org/2008/64-how-to-enable-vertical-mouse-wheel-scrolling-in-ubuntu-hardy-on-vmware-fusion.html/feed</wfw:commentRss><feedburner:origLink>http://peterc.org/2008/64-how-to-enable-vertical-mouse-wheel-scrolling-in-ubuntu-hardy-on-vmware-fusion.html</feedburner:origLink></item><item><title>How to Install VMware Tools on Ubuntu Hardy 8.04 under VMware Fusion</title><link>http://feedproxy.google.com/~r/petercooperuk/~3/9qNBPFpO5z0/62-how-to-install-vmware-tools-on-ubuntu-hardy-804-under-vmware-fusion.html</link><category>Uncategorized</category><category>hardy</category><category>ubuntu</category><category>ubuntu hardy</category><category>vmware</category><category>vmware fusion</category><category>vmware tools</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Cooper</dc:creator><pubDate>Fri, 25 Apr 2008 17:48:15 PDT</pubDate><guid isPermaLink="false">http://peterc.org/2008/62-how-to-install-vmware-tools-on-ubuntu-hardy-804-under-vmware-fusion.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://peterc.org/wp-content/uploads/2008/04/vmwarefusionhardy.jpg" alt="Ubuntu Hardy under VMware Fusion" /></p>
<p>The latest version of <a href="http://www.ubuntu.com/">Ubuntu</a> (8.04 a.k.a. Ubuntu Hardy - the world's most popular Linux distribution) came out yesterday on April 24th. I downloaded it right away to play with on VMware Fusion, my Mac virtualization tool of choice (though I've now been told this works in VMware Workstation and VMware Player on the PC too!). It worked pretty well out of the box, with even seamless mouse support working right away, but I needed, of course, to install VMware Tools too, as any good VMware user would do. From there, things turned sour, and I was bombarded with error messages similar to:</p>
<blockquote><p><code><small>In file included from /tmp/vmware-config8/vmblock-only/linux/os.h:35,<br />
from /tmp/vmware-config8/vmblock-only/linux/block.c:26:<br />
/tmp/vmware-config8/vmblock-only/./include/compat_wait.h:78: error: conflicting types for ‘poll_initwait’<br />
include/linux/poll.h:65: error: previous declaration of ‘poll_initwait’ was here<br />
In file included from /tmp/vmware-config8/vmblock-only/linux/vmblockInt.h:40,<br />
from /tmp/vmware-config8/vmblock-only/linux/block.c:29:<br />
/tmp/vmware-config8/vmblock-only/./include/vm_basic_types.h:184: error: conflicting types for ‘uintptr_t’<br />
include/linux/types.h:40: error: previous declaration of ‘uintptr_t’ was here<br />
make[2]: *** [/tmp/vmware-config8/vmblock-only/linux/block.o] Error 1<br />
make[1]: *** [_module_/tmp/vmware-config8/vmblock-only] Error 2<br />
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-16-generic'<br />
make: *** [vmblock.ko] Error 2<br />
make: Leaving directory `/tmp/vmware-config8/vmblock-only'<br />
Unable to build the vmblock module.</small></code></p></blockquote>
<p>After banging my head against the wall for a while, trying a "vmware-any-any" patch that didn't quite do the trick, and scouring the VMWare Fusion and Ubuntu Forums, I eventually came across a link to <a href="http://diamondsw.dyndns.org/Home/Et_Cetera/Entries/2008/4/25_Linux_2.6.24_and_VMWare.html">a page that described how to solve the problem.</a> The credit for this solution rests entirely on the guy who wrote that page and a guy called Mufassa who posted <a href="http://communities.vmware.com/message/887802#887802">a shorter explanation</a> to the VMware Fusion forums.</p>
<p>I wanted to write this up into a proper blog post though for two reasons. Firstly, I wanted to show how to fix the problem in a more, direct line by line way (just in case you're a novice or would rather follow some command line instructions). Secondly, I know posts on this blog appear in Google very quickly, so I want people Googling for "vmware fusion" and "ubuntu hardy" (like I was earlier) to find this page and have their problem solved! So, credit to those other guys, but..</p>
<p><big><strong>Steps To Getting VMware Tools installed on Ubuntu Hardy under VMware Fusion:</strong></big></p>
<p>Use the "Install VMware Tools" option in VMWare Fusion, and drag the .tar file (not the RPM!) to the Ubuntu desktop.</p>
<p>Open a Terminal (Applications menu -&gt; Accessories -&gt; Terminal). We'll do all the work from the Terminal. First, we need to install some dependencies:</p>
<blockquote><p><code>sudo apt-get install build-essential libgtk2.0-dev<br />
sudo apt-get install libproc-dev libdumbnet-dev xorg-dev<br />
cd Desktop/</code></p>
<p>wget http://mesh.dl.sourceforge.net/sourceforge/open-vm-tools/open-vm-tools-2008.04.14-87182.tar.gz</p></blockquote>
<p>Next, we need to unpack the tar files we have at hand:</p>
<blockquote><p><code>tar xzvf VMware*.gz<br />
tar xzvf open-vm-tools*.gz</code></p></blockquote>
<p>Next, we'll build the open-vm-tools:</p>
<blockquote><p><code>cd open-vm-tools-2008.04.14-87182/<br />
./configure &amp;&amp; make<br />
cd modules/linux/</code></p></blockquote>
<p>In the modules/linux folder we have the vmblock, vmhgfs, vmmemctl, vmsync and vmxnet modules that we need to tar up and place into the official VMware tools tarball:</p>
<blockquote><p><code>for i in *; do mv ${i} ${i}-only; tar -cf ${i}.tar ${i}-only; done<br />
cd ../../..</code></p>
<p>mv -f open-vm-tools-2008.04.14-87182/modules/linux/*.tar vmware-tools-distrib/lib/modules/source/</p></blockquote>
<p>Now we can run the regular VMware tools installer:</p>
<blockquote><p><code>cd vmware-tools-distrib/<br />
sudo ./vmware-install.pl</code></p></blockquote>
<p>Once this is done, the best tactic is to restart Ubuntu entirely. Once you boot back up, things should seem a bit smoother. The resolution of the VM will stick to the size of the VM, etc, and you can now drag files directly into Ubuntu Hardy from your Mac desktop!</p>
<p><em>Note: A few of the lines of code you need to use above are single lines of code but spread over multiple lines on your screen when viewing this blog. Either make your browser wider, or copy and paste them into a text editor before continuing.</em></p>
]]></content:encoded><description>The latest version of Ubuntu (8.04 a.k.a. Ubuntu Hardy - the world's most popular Linux distribution) came out yesterday on April 24th. I downloaded it right away to play with on VMware Fusion, my Mac virtualization tool of choice (though I've now been told this works in VMware Workstation and VMware Player on the PC [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://peterc.org/2008/62-how-to-install-vmware-tools-on-ubuntu-hardy-804-under-vmware-fusion.html/feed</wfw:commentRss><feedburner:origLink>http://peterc.org/2008/62-how-to-install-vmware-tools-on-ubuntu-hardy-804-under-vmware-fusion.html</feedburner:origLink></item></channel></rss>
