<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ardamis &#187; Nonsense</title>
	<atom:link href="http://www.ardamis.com/category/nonsense/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ardamis.com</link>
	<description>Ardamis is a blog about web development and technology in general.</description>
	<lastBuildDate>Thu, 02 Feb 2012 07:07:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Little Golden Books &#8211; William Faulkner connection</title>
		<link>http://www.ardamis.com/2012/01/14/the-little-golden-books-william-faulkner-connection/</link>
		<comments>http://www.ardamis.com/2012/01/14/the-little-golden-books-william-faulkner-connection/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 18:32:01 +0000</pubDate>
		<dc:creator>ardamis</dc:creator>
				<category><![CDATA[Nonsense]]></category>

		<guid isPermaLink="false">http://www.ardamis.com/?p=1846</guid>
		<description><![CDATA[The opening passage of "We Help Daddy", by Mini Stein, has very clear echos of Faulkner's "The Sound and the Fury", intentional or not.]]></description>
			<content:encoded><![CDATA[<p>We inherited a number of Little Little Golden Books a few years ago.  These are tiny, child-sized versions of the regular Little Golden books.  I am not, for the most part, a fan of the writing in the Little Golden Books, which seems to be from the era of Dick and Jane and varies from patriarchal to nonsensical.</p>
<p>But the opening passage in a book called &#8220;We Help Daddy&#8221;, by Mini Stein, has stuck in my head for some time now due to its similarity to William Faulkner&#8217;s recognizable style and his novel &#8220;<a href="http://en.wikipedia.org/wiki/The_Sound_and_the_Fury">The Sound and the Fury</a>&#8221; in particular.</p>
<p>The story &#8220;We Help Daddy&#8221; is told in the first person by Sue, a girl of about 3 or 4 years old who helps her older brother and her father with household chores.</p>
<blockquote><p>We help Daddy a lot, Benjy and I.  Daddy fixes the attic door.  He calls, &#8220;Hammer, please.&#8221;<br />
Benjy hands him the hammer.<br />
Then Daddy says, &#8220;Sue, are you ready to help me, too?&#8221;<br />
<em>I am Sue, so I hold out my hands to show I am ready.</em>
</p></blockquote>
<p>The line beginning &#8220;I am Sue&#8221;, which would sound less unnatural coming from a Faulkner character, sounds completely out of place when spoken by a young child.  It seems very unlikely that anyone&#8217;s internal monologue contains phrases like, &#8220;I am so-and-so.&#8221;  I would expect this to be particularly true of young children, who, in my experience, have a very different sense of self.</p>
<p>Anyway, I though I&#8217;d note this before the books are outgrown.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ardamis.com/2012/01/14/the-little-golden-books-william-faulkner-connection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two Xbox consoles, one gold account, and offline achievements</title>
		<link>http://www.ardamis.com/2011/12/29/two-xbox-consoles-one-gold-account-and-offline-achievements/</link>
		<comments>http://www.ardamis.com/2011/12/29/two-xbox-consoles-one-gold-account-and-offline-achievements/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 16:09:55 +0000</pubDate>
		<dc:creator>ardamis</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[Xbox 360]]></category>

		<guid isPermaLink="false">http://www.ardamis.com/?p=1836</guid>
		<description><![CDATA[What happens when your offline achievements were earned while the same gamertag was being used to connect to Xbox Live on another console?]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m trying to find a way to save some Xbox 360 achievements that I&#8217;ve earned while my console was offline.  Typically, just connecting to Xbox Live will sync up your gamertag and the offline achievements will be added to you profile.  This works because, usually, the gamertag is associated with a single Xbox 360, which goes offline and then back online.  My situation is different, and it seems like I&#8217;m going to lose my offline achievements.</p>
<h2>The set up</h2>
<p>I have a single gold account and two Xbox 360 consoles.  One of these consoles is always online and is used exclusively for watching Netflix (because the drive tray is broken).  The other console works fine for games, but is physically located where wired Ethernet isn&#8217;t available, and I haven&#8217;t purchased a wireless adapter.  In order to get the same gamertag on both consoles, I used the recover gamertag feature to bring it down to the online console.  This means that the Netflix gamertag is regularly connecting to Xbox Live while my gaming is done on the same gamertag, but offline.</p>
<p>Microsoft doesn&#8217;t seem to want to support this sort of arrangement, as it appears that gamertags are associated with individual Xbox consoles and that only the last-to-be-connected gamertag is seen as legit.</p>
<h2>The problems</h2>
<p>The first problem I&#8217;m facing is how to get all of these achievements that were earned offline sync&#8217;d up with my Live profile.  One might reasonably think that simply connecting the offline Xbox to Xbox Live and logging in would do this, but Live sees the account as invalid (presumably because the account associated with the other box has connected more recently).  Upon connecting to Xbox Live, I&#8217;m prompted to recover my gamertag, which I know from experience will erase my offline achievements (I&#8217;ll get the gamertag as it exists on the online console &#8211; which will also render the gamertag on the online console invalid).</p>
<p>I also tried to use a USB flash drive to move my gamer profile from the offline box to the online box.  The move itself was successful, but when I tried to connect to Live, it again found the account to be invalid and invited me to recover my gamertag.  I was able to move the gamer profile back to the USB drive, remove the drive, and then recover the online gamertag in order to keep using Netflix, but I was back to square one.</p>
<p>I haven&#8217;t yet tried moving the offline console&#8217;s hard drive with the gamertag to the online console.  As of right now, this is the only thing I can think to try.</p>
<p>The second problem I&#8217;m facing is that the offline Xbox doesn&#8217;t yet have the new dashboard and some of my games have updates available that are supposed to fix some bugs.  I&#8217;ve read that it should be possible to get these updates by creating a silver account and logging into Xbox Live under that account.  That would be somewhat helpful, but unnecessary if I can solve the first problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ardamis.com/2011/12/29/two-xbox-consoles-one-gold-account-and-offline-achievements/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Autonegotiation</title>
		<link>http://www.ardamis.com/2011/12/21/autonegotiation/</link>
		<comments>http://www.ardamis.com/2011/12/21/autonegotiation/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 16:51:58 +0000</pubDate>
		<dc:creator>ardamis</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.ardamis.com/?p=1816</guid>
		<description><![CDATA[Some notes on the commonly misunderstood subject of network autonegotiation, with an emphasis on duplex mismatches caused by differences in configurations of two partners to a connection.]]></description>
			<content:encoded><![CDATA[<h2>Autonegotiation</h2>
<p>Network autonegotiation is easily misunderstood.  Consider two 10/100Mb devices attached to one another &#8211; a PC connected to a router.  For each of these devices, it&#8217;s possible to configure the connection to use either 1) a fixed speed and duplex or 2) to negotiate the optimal shared speed and duplex with whatever it is connecting to.  What is not intuitive is that both devices must be configured with the same settings.  The connection will suffer a performance hit, or may not work at all, if the two devices are configured differently.</p>
<blockquote><p>A common misconception about autonegotiation is that it is possible to manually configure one link partner for 100 Mbps full-duplex and autonegotiate to full-duplex with the other link partner. In fact, an attempt to do this results in a duplex mismatch. This is a consequence of one link partner autonegotiating, not seeing any autonegotiation parameters from the other link partner, and defaulting to half-duplex.</p>
<p><a href="http://www.cisco.com/en/US/products/hw/switches/ps4324/products_tech_note09186a0080094713.shtml#auto_neg" title="Best Practices for Catalyst 4500/4000, 5500/5000, and 6500/6000 Series Switches Running CatOS Configuration and Management">http://www.cisco.com/en/US/products/hw/switches/ps4324/products_tech_note09186a0080094713.shtml#auto_neg</a></p></blockquote>
<p>If both devices are configured to autonegotiate speed and duplex, then each will attempt to make the best possible connection among the possibilities they have in common. However, if one of the devices is set to use a fixed speed and duplex and the other device is set to autonegotiate, the autonegotiating device can determine the speed but not the duplex of the other device and so falls back to its default duplex mode.  In the case of Cisco switches, the default duplex mode is half-duplex.</p>
<blockquote><p>&#8230;it is possible for a[n autonegotiating] link partner to detect the speed at which the other link partner operates, even though the other link partner is not configured for auto-negotiation. In order to detect the speed, the link partner senses the type of electrical signal that arrives and sees if it is 10 Mb or 100 Mb. </p>
<p>It is not possible to detect the correct duplex mode in the same method that the correct speed can be detected. In this case, the [...] port of [the autonegotiating] switch [...] is forced to select the default duplex mode. On Catalyst Ethernet ports, the default mode is auto-negotiate. If auto-negotiation fails, the default mode is half-duplex.</p>
<p><a href="http://www.cisco.com/en/US/tech/tk389/tk214/technologies_tech_note09186a0080094781.shtml" title="Configuring and Troubleshooting Ethernet 10/100/1000Mb Half/Full Duplex Auto-Negotiation">http://www.cisco.com/en/US/tech/tk389/tk214/technologies_tech_note09186a0080094781.shtml</a></p></blockquote>
<p>Half-duplex as a default duplex mode is not unique to Cisco switches.  Below is a link to an article on www.dell.com written by Rich Hernandez, a senior engineer with the Server Networking and Communications Group at Dell, that contains a table summarizing &#8220;all possible combinations of speed and duplex settings, both on 10/100/1000-capable switch ports and on NICs.&#8221;  Included are combinations that would yield no link or link fail conditions, as well as combinations that would yield a duplex mismatch.</p>
<p><a href="http://www.dell.com/content/topics/global.aspx/power/en/ps1q01_hernan?c=us&#038;cs=555&#038;l=en&#038;s=biz" title="Gigabit Ethernet Auto-Negotiation">http://www.dell.com/content/topics/global.aspx/power/en/ps1q01_hernan?c=us&#038;cs=555&#038;l=en&#038;s=biz</a></p>
<p>The importance of using identical settings on both sides of a network connection is stressed in a KB article from www.symantec.com with information on how an autonegotiating port may report that it has established a full-duplex connection with a NIC configured for 100MBs/Full, but in fact is communicating at less than expected capacity. </p>
<blockquote><p>Only by explicitly setting both sides of the link to the same duplex mode would the link work flawlessly.</p>
<p><a href="http://www.symantec.com/business/support/index?page=content&#038;id=TECH87827" title="DOCUMENTATION: What is a network link duplex mismatch or conflict?">http://www.symantec.com/business/support/index?page=content&#038;id=TECH87827</a></p></blockquote>
<h2>Understanding link data errors</h2>
<p>The page at the link below contains two tables that explain the various errors and counters logged by a network switch and the possible causes.</p>
<p><a href="http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00800a7af0.shtml#ustand" title="Understanding Data Link Errors">http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00800a7af0.shtml#ustand</a></p>
<h2>Troubleshooting Ethernet Collisions</h2>
<p>Collisions may appear to indicate communication problems with a network connection, but as a technote from cisco.com states, collision counters alone are not indicative of network problems.</p>
<blockquote><p>&#8230;collisions are a way to distribute the traffic load over time by arbitrating access to the shared medium. Collisions are not bad; they are essential to correct Ethernet operation.</p>
<p>There is no set limit for &#8220;how many collisions are bad&#8221; or a maximum collision rate.  </p>
<p>In conclusion, the collisions counter does not provide a very useful statistic to analyze network performance or problems.</p>
<p><a href="http://www.cisco.com/en/US/products/hw/modules/ps2033/products_tech_note09186a008009446d.shtml" title="Troubleshooting Ethernet Collisions">http://www.cisco.com/en/US/products/hw/modules/ps2033/products_tech_note09186a008009446d.shtml</a></p></blockquote>
<h2>Late Collisions</h2>
<blockquote><p>When a collision is detected by a station after it has sent the 512th bit of its frame, it is counted as a late collision.</p>
<p>The station that reports the late collision merely indicates the problem; it is generally not the cause of the problem. Possible causes are usually incorrect cabling or a non-compliant number of hubs in the network. Bad network interface cards (NICs) can also cause late collisions.</p>
<p><a href="http://www.cisco.com/en/US/products/hw/modules/ps2033/products_tech_note09186a008009446d.shtml" title="Troubleshooting Ethernet Collisions">http://www.cisco.com/en/US/products/hw/modules/ps2033/products_tech_note09186a008009446d.shtml</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ardamis.com/2011/12/21/autonegotiation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GameFly shipped Elder Scrolls V: Skyrim</title>
		<link>http://www.ardamis.com/2011/11/10/gamefly-shipped-elder-scrolls-v-skyrim/</link>
		<comments>http://www.ardamis.com/2011/11/10/gamefly-shipped-elder-scrolls-v-skyrim/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 05:50:54 +0000</pubDate>
		<dc:creator>ardamis</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Xbox 360]]></category>

		<guid isPermaLink="false">http://www.ardamis.com/?p=1801</guid>
		<description><![CDATA[Woohoo! GameFly shipped Elder Scrolls V: Skyrim!]]></description>
			<content:encoded><![CDATA[<p>Woot.  In what was certainly the best email I received today, against all odds, GameFly shipped <a href="http://www.elderscrolls.com/">Elder Scrolls V: Skyrim</a>.  This is twice now that I&#8217;ve gotten a just-released game from GameFly.  Timing your returns to get new releases is hit or miss, and I&#8217;ve gone through spells where I&#8217;ve gotten one game after another from the bottom of my queue, but sometimes they come through.</p>
<h2>No more buyer&#8217;s remorse</h2>
<p>The last game I bought was <a href="http://www.ardamis.com/2010/03/12/final-fantasy-xiii-freezing-xbox-360/">Final Fantasy XIII</a>, which turned out to be a major disappointment.  Since then, I&#8217;ve wised up and started renting, although from all accounts, Skyrim seems like one worth buying.  Still, dollar-per-hour, renting is a far better deal than buying used, and I&#8217;ve been able to try out a ton of games I was curious about (most of which I returned within a week or two) that I wouldn&#8217;t have otherwise even played.</p>
<h2>GameFly referrals really do work</h2>
<p>By the way, the GameFly referral program is really ugly, but it seriously works.  I&#8217;ve been coasting on referrals for the last four months, and as it stands now, I won&#8217;t be billed again until January.  I&#8217;d recommend checking it out if you have the means of putting your referral code online.  If you&#8217;re not already a GameFly member, if you use this referral link to sign up with GameFly, we both get a free month: <a href="http://gamefly.tellapal.com/a/clk/cxlkm">http://gamefly.tellapal.com/a/clk/cxlkm</a>.  Even if you&#8217;re normally on the One Game Out plan, if someone uses your referral, your reward is a free month at the Two Games Out plan (so you get an extra game, too).</p>
<p>As of November 11th, the rewards have changed, though.  They no longer can offer cash via Paypal as a reward (which I am fine with).  Here&#8217;s their communication on the matter:</p>
<blockquote><p>
<strong>GameFly Refer-A-Friend: Important Information Regarding Rewards</strong></p>
<p>Thanks for telling your friends about GameFly!</p>
<p>Unfortunately, we are no longer able to offer PayPal as a reward option for our referral program. You&#8217;ll still be able to earn a free month of GameFly for every friend you refer (or you can donate it to the Make-A-Wish Foundation). </p>
<p>On December 1st, all users who have selected PayPal will be automatically switched over to the &#8216;free month of GameFly&#8217; option. Any valid rewards generated in November will be paid out as usual.</p>
<p>We apologize for this change and hope you&#8217;ll continue to send your friends our way.</p>
<p>Click Here to access your account, share more and earn more!</p>
<p>Thank you,</p>
<p>The GameFly Referral Program<br />
Powered by Extole
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ardamis.com/2011/11/10/gamefly-shipped-elder-scrolls-v-skyrim/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A common sense workaround for installing SetPoint in a VMware virtual machine</title>
		<link>http://www.ardamis.com/2011/11/01/setpoint-functionality-in-vmware/</link>
		<comments>http://www.ardamis.com/2011/11/01/setpoint-functionality-in-vmware/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 20:47:56 +0000</pubDate>
		<dc:creator>ardamis</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://www.ardamis.com/?p=1749</guid>
		<description><![CDATA[A workaround to installing Logitech's SetPoint utility in order to map mouse buttons on a Windows XP virtual machine running in VMWare Workstation 7.]]></description>
			<content:encoded><![CDATA[<p>I have a Windows XP guest running in VMWare Workstation 7 on a Windows 7 Ultimate host machine.  This is working pretty well.  The XP guest is nice and responsive.  I have only one gripe.  I&#8217;d like all of the buttons on my Logitech MX510 (the best mouse ever) to be mappable in the guest.</p>
<p>Starting from square one, I decided to try installing the current version of SetPoint in the guest OS.  The installation went fine, but the usual functionality of the SetPoint settings utility was absent.</p>
<div id="attachment_1795" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.ardamis.com/wp-content/uploads/2011/10/setpoint-vmware.png"><img src="http://www.ardamis.com/wp-content/uploads/2011/10/setpoint-vmware-300x227.png" alt="SetPoint Settings in an XP virtual machine" title="SetPoint Settings in an XP virtual machine" width="300" height="227" class="size-medium wp-image-1795" /></a><p class="wp-caption-text">SetPoint Settings in an XP virtual machine</p></div>
<p>As shown in the screenshot, the SetPoint Settings utility displays only the Tools tab.  It is missing the My Mouse tab (and if a keyboard were installed, I presume it would be missing the Keyboard tab, too).</p>
<p>After some Googling around, it appears to be a due to the way VMware approximates the physical mouse.  VMware seems to treat USB mice connected to the host as PS/2 devices in the guest.  SetPoint, then, doesn&#8217;t detect any Logitech hardware that it can configure.</p>
<p>The question of how to obtain SetPoint functionality in virtual machines is one that has been asked many, many times before, without a satisfactory answer.  More on that in a little bit.</p>
<h2>The best work around</h2>
<p>Thankfully, it seems that, at least in the case of a Windows host and a Windows guest, installing SetPoint inside the virtual machine is not necessary.  Installing it on the host seems to make all of the functionality available in the guest.  This is the solution that I&#8217;m implementing now, and it is what I would recommend, provided you have rights to install software on the host. </p>
<h2>Paths to follow if you want to pursue installing SetPoint inside a VMware virtual machine</h2>
<p>I applaud your courage.  There are a few settings that can be tweaked that may get you closer to a working installation.</p>
<p><strong>Possible setting number one</strong></p>
<p>From the post at http://coreygilmore.com/blog/2008/04/30/better-multi-button-mouse-support-with-vmware-fusion-and-workstation/</p>
<p>Add the following line to the virtual machine&#8217;s .vmx file:</p>
<pre class="brush: plain; title: ; notranslate">
mouse.vusb.enable = &quot;TRUE&quot;
</pre>
<p>From what I can tell, this setting allows me to use the Forward and Back buttons on the mouse, but does not make the mouse detectable by SetPoint.  The remaining mouse buttons do nothing.</p>
<p><strong>Possible setting number two</strong></p>
<p>From the post at <a href="http://superuser.com/questions/35830/back-forward-mouse-buttons-do-not-work-in-vmware-workstation-6-5-guest-os/304583#304583">http://superuser.com/questions/35830/back-forward-mouse-buttons-do-not-work-in-vmware-workstation-6-5-guest-os/304583#304583</a></p>
<p>The solution given (which did not work for me) is to:</p>
<p>First add the following line to the virtual machine&#8217;s .vmx file:</p>
<pre class="brush: plain; title: ; notranslate">
usb.generic.allowHID = &quot;TRUE&quot;
</pre>
<p>An explanation of what this does, by a VMware associate, can be found in the thread at <a href="http://communities.vmware.com/thread/110919?start=15&#038;tstart=0">http://communities.vmware.com/thread/110919?start=15&#038;tstart=0</a></p>
<blockquote><p>
If you&#8217;re feeling really adventurous and/or desperate, you can take out the mouse.vusb.enable line and add this option instead:</p>
<p>usb.generic.allowHID = &#8220;TRUE&#8221;</p>
<p>Then, you&#8217;ll notice that your main mouse and keyboard (if they are USB) are available to pass through into the guest via the USB devices menu.</p>
<p>The dangerous part here is that once you pass through the mouse, it is actually disconnected from the host, so you won&#8217;t be able to ungrab from the guest just by mousing out of the Fusion window. You can still ungrab with the keyboard (ctrl-cmd I believe is the shortcut?). If you actually pass through your keyboard and your mouse, you&#8217;ll be stuck in the guest and you&#8217;ll have to shut it down (or worse, reboot your physical machine).
</p></blockquote>
<p>This sounded like a great idea, and I was willing to set up a second, PS/2 mouse to control just the host, if necessary.  Without connecting a second mouse, I tried passing the Logitech mouse as a USB device to the VM, just as I would an external hard drive, but VMware prevented this, with a warning message:</p>
<blockquote><p>
[Machine Name] &#8211; VMware Workstation<br />
Cannot connect &#8220;Logitech USB-PS/2 Optical Mouse&#8221; to this virtual machine. The host requires this device for input.<br />
[OK]
</p></blockquote>
<p>The second step would have been to go into Device Manager, click Actions, and then choose &#8220;Scan for hardware changes&#8221;.</p>
<p>I didn&#8217;t get to the second step, as I was too lazy to track down a PS/2 mouse to keep attached to the host, and I still wanted to find a software solution.  I suspect, though, that this would be were to begin, were I to need to get SetPoint running in the guest OS.</p>
<h2>Summary</h2>
<p>While I wasn&#8217;t able to figure out how to install SetPoint on a guest OS, the workaround of installing SetPoint on the host OS seems to accomplish my goal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ardamis.com/2011/11/01/setpoint-functionality-in-vmware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A PHP MySQL snippet for looking up names</title>
		<link>http://www.ardamis.com/2011/10/16/a-php-mysql-snippet-for-looking-up-names/</link>
		<comments>http://www.ardamis.com/2011/10/16/a-php-mysql-snippet-for-looking-up-names/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 00:26:35 +0000</pubDate>
		<dc:creator>ardamis</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Web Site Dev]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web app]]></category>

		<guid isPermaLink="false">http://www.ardamis.com/?p=1775</guid>
		<description><![CDATA[A PHP snippet and MySQL query for an Ajax autocompleter lookup of people names by either "Firstname Lastname" or "Lastname, Firstname" from a single input field.]]></description>
			<content:encoded><![CDATA[<p>For a recent project, I needed to create a form that would perform a look up of people names in a MySQL database, but I wanted to use a single input field.  To make it easy on the users of the form, I wanted the input field to accept names in either &#8220;Firstname Lastname&#8221; or &#8220;Lastname, Firstname&#8221; format, and I wanted it to autocomplete matches as the users typed, including when they typed both names separated by a space or a comma followed by a space.</p>
<p>The Ajax lookup was quick work with <a href="http://jqueryui.com/demos/autocomplete/">jQuery UI&#8217;s Autocomplete widget</a>.  The harder part was figuring out the most simple table structure and an appropriate SQL query.</p>
<h2>A flawed beginning</h2>
<p>My people table contains a &#8220;first_name&#8221; column and a &#8220;last_name&#8221; column, nothing uncommon there.  To get the project out the door, I wrote a PHP function that ran two ALTER TABLE queries on the people table to create two additional columns for pre-formatted strings (column &#8220;firstlast&#8221;, to be formatted as &#8220;Firstname Lastname&#8221;, and column &#8220;lastfirst&#8221;, to be formatted as &#8220;Lastname, Firstname&#8221;), added indexes on these columns, and then walked through each record in the table, populating these new fields.  I then wrote a very straight forward SQL query to perform a lookup on both fields.  The PHP and query looked something like this:</p>
<pre class="brush: php; title: ; notranslate">
// The jQuery UI Autocomplete widget passes the user input as a value for the parameter &quot;name&quot;
$name= $_GET['name'];

// This SQL query uses argument swapping
$query = sprintf(&quot;SELECT * FROM people WHERE (`firstlast` LIKE '%1\$s' OR `lastfirst` LIKE '%1\$s') ORDER BY `lastfirst` ASC&quot;,
mysql_real_escape_string($name. &quot;%&quot;, $link));
</pre>
<p>This was effective, accurate, and pretty fast, but the addition of columns bothered me and I didn&#8217;t like that I needed to run a process to generate those pre-formatted fields each time a record was added to the table (or if a change was made to an existing record).  One possible alternative was to watch the input and match either lastname or firstname until the user entered a comma or a space, then explode the string on the comma or space and search more precisely.  Once a comma or a space was encountered, I felt pretty sure that I would be able to accurately determine which part of the input was the first name and which was the last name.  But this had that same inefficient, clunky bad-code-smell as the extra columns.  (Explode is one of those functions that I try to avoid using.)  Writing lots of extra PHP didn&#8217;t seem necessary or right.</p>
<p>I&#8217;m much more comfortable with PHP than with MySQL queries, but I realize that one can do some amazing things within the SQL query, and that it&#8217;s probably faster to use SQL to perform some functions.  So, I decided that I&#8217;d try to work up a query that solved my problem, rather than write more lines of PHP.</p>
<h2>CONCAT_WS to the rescue</h2>
<p>I Googled around for a bit and settled on using <code><a href="http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_concat-ws">CONCAT_WS</a></code> to concatenate the first names and last names into a single string be matched, but found it a bit confusing to work with.  I kept trying to use it to create an alias, &#8220;lastfirst&#8221;, and then use the alias in the WHERE clause, which doesn&#8217;t work, or I was getting the literal column names back instead of the values.  Eventually, I hit upon the correct usage.</p>
<p>The PHP and query now looks like this:</p>
<pre class="brush: php; title: ; notranslate">
// The jQuery UI Autocomplete widget passes the user input as a value for the parameter &quot;name&quot;
$name= $_GET['name'];

// This SQL query uses argument swapping
$query = sprintf(&quot;SELECT *, CONCAT_WS(  ', ',  `last_name`,  `first_name` ) as lastfirst FROM people WHERE (CONCAT_WS(  ', ',  `last_name`,  `first_name` ) LIKE '%1\$s' OR CONCAT_WS(  ' ',  `first_name`,  `last_name` ) LIKE '%1\$s') ORDER BY lastfirst ASC&quot;,
mysql_real_escape_string($name. &quot;%&quot;, $link));
</pre>
<p>The first instance of CONCAT_WS isn&#8217;t needed for the lookup.  The first instance allows me to order the results alphabetically and provides me an array key of &#8220;lastfirst&#8221; with a value of the person&#8217;s name already formatted as &#8220;Lastname, Firstname&#8221;, so I don&#8217;t have to do it later with PHP.  The lookup comes from the two instances of CONCAT_WS in the WHERE clause.  I haven&#8217;t done any performance measuring here, but the results of the lookup get back to the user plenty fast enough, if not just as quickly as the method using dedicated columns.</p>
<p>The result of the query is output back to the page as JSON-formatted data for use in the jQuery Autocomplete.</p>
<p>The end result works exactly as I had hoped.  A user of the form is able to type a person&#8217;s name in whatever way is comfortable to them, as &#8220;Bob Smith&#8221; or &#8220;Smith, Bob&#8221;, and the matches are found either way.  The only thing it doesn&#8217;t do is output the matches back to the autocompleter in the same format that the user is using.  But I can live with that for now. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ardamis.com/2011/10/16/a-php-mysql-snippet-for-looking-up-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring FileZilla FTP to use active mode to resolve &#8220;425 Can&#8217;t open data connection&#8221; errors</title>
		<link>http://www.ardamis.com/2011/10/07/filezilla-active-mode/</link>
		<comments>http://www.ardamis.com/2011/10/07/filezilla-active-mode/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 04:18:11 +0000</pubDate>
		<dc:creator>ardamis</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.ardamis.com/?p=1756</guid>
		<description><![CDATA[How to configure the FileZilla FTP client to use active mode in order to resolve "425 Can't open data connection" errors, and why they occur.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using the <a href="http://filezilla-project.org/">FileZilla</a> FTP client for many years and in that time have had only a few occasions where the application didn&#8217;t perform with the default settings.</p>
<p>One of those instances was yesterday, when I was trying to connect to my firm&#8217;s FTP site from an external network connection.  From inside the office, using the internal IP address, FileZilla connected normally and displayed the contents of the root directory after I authenticated.</p>
<p>From outside the office, connecting via the hostname <em>ftp.domain.com</em>, FileZilla would connect normally and authenticate successfully, but it would not display the contents of the root directory.  Instead, the server would send a &#8220;425 Can&#8217;t open data connection&#8221; message.  FileZilla would then report &#8220;Error: Failed to retrieve directory listing&#8221;. </p>
<p>Here&#8217;s the complete conversation between the client and the server (names and IP addresses changed to protect the firm&#8217;s identity):</p>
<pre class="brush: plain; title: ; notranslate">
Status: Resolving address of ftp.domain.com
Status: Connecting to 38.98.xxx.xxx:21...
Status: Connection established, waiting for welcome message...
Response: 220-Microsoft FTP Service
Response: 220 Company Name
Command: USER ftp_username
Response: 331 Password required for ftp_username.
Command: PASS **********
Response: 230-Welcome to the Company Name FTP service.  Unauthorized use is strictly prohibited.
Response: 230 User ftp_username logged in.
Status:	Connected
Status:	Retrieving directory listing...
Command: PWD
Response: 257 &quot;/&quot; is current directory.
Command: TYPE I
Response: 200 Type set to I.
Command: PASV
Response: 227 Entering Passive Mode (192,168,0,114,13,156).
Status: Server sent passive reply with unroutable address. Using server address instead.
Command: LIST
Response: 425 Can't open data connection.
Error: Failed to retrieve directory listing
Response: 421 Timeout (120 seconds): closing control connection.
Error: Could not read from socket: ECONNRESET - Connection reset by peer
Error: Disconnected from server
</pre>
<p>The interesting thing, I thought, was that when the server agreed to use passive mode, it did so with a port on the internal IP address, which is unroutable from outside the network.</p>
<h2>The fix is to use active mode</h2>
<p>OK, if you&#8217;re reading this, you probably just want to know how to make it work.  FileZilla uses passive mode by default, but due to the network configuration of certain servers, active mode is required to establish a data connection.  A bit of background reading with some explanation is farther down.  </p>
<p>In FileZilla, click on <strong>Edit | Settings</strong>.</p>
<p>Under <strong>Connection</strong>, click on <strong>FTP</strong> and choose <strong>Active</strong> as the Transfer Mode.</p>
<p>Under <strong>Connection</strong>, under <strong>FTP</strong>, click on <strong>Active mode</strong> and choose &#8220;Ask your operating system for the external IP address&#8221; (the default setting).</p>
<p>Under <strong>Connection</strong>, under <strong>FTP</strong>, click on <strong>Passive mode</strong> and choose &#8220;Fall back to active mode&#8221; (this is an optional setting).</p>
<h2>What is the difference between active and passive mode?</h2>
<p>According to the <a href="http://wiki.filezilla-project.org/Network_Configuration#Technical_background">FileZilla wiki page on network configuration</a>:</p>
<blockquote><p>
In passive mode, which is recommended (see below), the client sends the PASV command to the server, and the server responds with an address. The client then issues a command to transfer a file or to get a directory listing, and establishes a secondary connection to the address returned by the server.</p>
<p>In active mode, the client opens a socket on the local machine and tells its address to the server using the PORT command. Once the client issues a command to transfer a file or listing, the server will connect to the address provided by the client.
</p></blockquote>
<p>The difference, then, is which side gets to determine the address used during the connection.  In passive mode, the server provides the address, while in active mode, the client provides the address.</p>
<h2>Why do I need to use active mode?</h2>
<p>You probably shouldn&#8217;t need to use active mode, and in fact, it requires more configuration by the user of the FTP client to use active mode.</p>
<blockquote><p>
In passive mode, the router and firewall on the server side need to be configured to accept and forward incoming connections. On the client side, however, only outgoing connections need to be allowed (which will already be the case most of the time).</p>
<p>Analogously, in active mode, the router and firewall on the client side need to be configured to accept and forward incoming connections. Only outgoing connections have to be allowed on the server side.</p>
<p><a href="http://wiki.filezilla-project.org/Network_Configuration#Technical_background">http://wiki.filezilla-project.org/Network_Configuration#Technical_background</a>
</p></blockquote>
<p>So, it boils down to who&#8217;s going to be responsible for the NAT and firewall configuration.  Using passive mode places the responsibility on the server side of the connection, while using active mode places it on the client side.  Typically, the FTP server administrator should be better equipped to handle this responsibility than the average FTP client user.</p>
<blockquote><p>
<strong>Passive mode</strong></p>
<p>In passive mode, the client has no control over what port the server chooses for the data connection. Therefore, in order to use passive mode, you&#8217;ll have to allow outgoing connections to all ports in your firewall.</p>
<p><strong>Active mode</strong></p>
<p>In active mode, the client opens a socket and waits for the server to establish the transfer connection.</p>
<p><a href="http://wiki.filezilla-project.org/Network_Configuration#Setting_up_FileZilla_Client">http://wiki.filezilla-project.org/Network_Configuration#Setting_up_FileZilla_Client</a>
</p></blockquote>
<p>I&#8217;m behind a NAT router and I&#8217;ve never had any problems with passive mode.  On the other hand, I seem to be able to connect to all my sites without any problem with the client in active mode, too, and I haven&#8217;t had to open any ports in Windows Firewall or forward any ports on my router.  So maybe active mode doesn&#8217;t require as much configuration as the wiki page leads me to believe.  Or maybe I&#8217;m just getting lucky and I&#8217;ll eventually run into problems if I continue to run in active mode.</p>
<h2>Why does the server respond with the local IP address?</h2>
<p>The FileZilla people offer a a partial explanation for why I&#8217;m seeing the internal IP address when I connect using the hostname.  Back in Settings, under <strong>Connection | FTP | Passive mode</strong>, is some support text that reads: <em>Some misconfigured remote servers which are behind a router, may reply with their local IP address</em>.</p>
<p>The wiki page is pretty good reading, and has some interesting stuff on NAT, but I think that I&#8217;ll offer this plain-language, local IP address explanation when troubleshooting FTP connections.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ardamis.com/2011/10/07/filezilla-active-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixed: Universal USB Installer syslinux errors</title>
		<link>http://www.ardamis.com/2011/09/18/universal-usb-installer-syslinux-errors/</link>
		<comments>http://www.ardamis.com/2011/09/18/universal-usb-installer-syslinux-errors/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 03:13:35 +0000</pubDate>
		<dc:creator>ardamis</dc:creator>
				<category><![CDATA[Linux-Ubuntu]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Nonsense]]></category>

		<guid isPermaLink="false">http://www.ardamis.com/?p=1727</guid>
		<description><![CDATA[Syslinux Errors 1, zero FAT sectors, means your drive isn't formatted as FAT32.]]></description>
			<content:encoded><![CDATA[<p>I was trying to create a bootable flash drive with Ubuntu 11.04 using the Universal USB Installer 1.8.6.3 utility from <a href="http://www.pendrivelinux.com/">pendrivelinx.com</a> on a Windows 7 64-bit machine with a 16 GB flash drive (mapped to G:), but I kept getting an error that the drive wouldn&#8217;t be bootable.</p>
<p>The message in the command line window read:</p>
<blockquote><p>
Execute: C:\Users\[username]\AppData\Local\Temp\[random].tmp\syslinuxnew.exe -maf G:<br />
Syslinux Errors 1
</p></blockquote>
<p>A message box would then appear with the following warning:</p>
<blockquote><p>
<strong>Universal USB Installer 1.8.6.3 Setup</strong></p>
<p>An error(1) occurred while executing syslinux.<br />
Your USB drive won&#8217;t be bootable&#8230;<br />
[OK]
</p></blockquote>
<p>When I opened a command prompt and ran <strong>syslinuxnew.exe -maf G:</strong>, the result was <strong>zero FAT sectors</strong>.  When I ran <strong>syslinux.exe -maf G:</strong>, I got a much more informative message, or at least one that I could better understand: <strong>this doesn&#8217;t look like a valid FAT filesystem</strong>.</p>
<p>And of course, the flash drive wasn&#8217;t FAT32, it was NTFS.  I had forgotten to format the drive as FAT32 before running the utility, but I also managed to not check the box next to &#8220;We will format G:\Drive as FAT32.&#8221; in the utility itself.  No wonder Google wasn&#8217;t returning any results when I searched this &#8211; who&#8217;s going to have missed properly formatting the drive twice?  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ardamis.com/2011/09/18/universal-usb-installer-syslinux-errors/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Virgin Mobile USA Phone Number Port Snafu</title>
		<link>http://www.ardamis.com/2011/09/17/virgin-mobile-usa/</link>
		<comments>http://www.ardamis.com/2011/09/17/virgin-mobile-usa/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 20:47:11 +0000</pubDate>
		<dc:creator>ardamis</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Thriftiness]]></category>

		<guid isPermaLink="false">http://www.ardamis.com/?p=1714</guid>
		<description><![CDATA[How porting my T-Mobile phone number to Virgin Mobile resulted in my $25/month plan being converted to a $35/month plan, costing me $120/year for as long as I am a customer.]]></description>
			<content:encoded><![CDATA[<div class="success"><strong>Update 1:59 PM 9/19/2011:</strong> Tier 3 support at Virgin Mobile was able to change my Beyond Talk Plan back to $25/month, which was the resolution I was looking for.  Nice work, Tier 3.</div>
<p><strong>12:26 PM 9/17/2011</strong></p>
<p>I bought a Virgin Mobile Android phone on July 15, 2011, back when the least expensive plan was $25/month (a terrific deal, IMO).  Today, I ported my T-Mobile phone number, but as a result, I was put on the current least expensive plan, which is $35/month (the included minutes and unlimited text, messaging, and data levels of the service are all unchanged).  The cost of porting my number, which was only revealed after the port was successful, will be $10/month, to be paid in perpetuity.</p>
<p>The customer service rep that handled the actual porting didn&#8217;t seem to know what was going on.  At one point, because he seemed so confused, I stopped and asked him point blank if porting numbers was something that happened very often.  After the number was ported, I received the text message confirming the change, which noted that my plan was $35/month.  The phone, which was supposed to start working after the port, wasn&#8217;t able to receive calls.  I couldn&#8217;t even log into my account at virginmobileusa.com because I had a $0 balance, reportedly because hadn&#8217;t paid my $35 monthly bill yet (even though I&#8217;d just paid for another month at $25 two days earlier).</p>
<p>I called back, but the rep I reached this time couldn&#8217;t change my account back to $25/month, and put me on hold to speak with her supervisor.  When she came back, she said the supervisor couldn&#8217;t convert my account to the $25/month plan either, and all they could do was credit me the additional $10 that the new plan would cost me this month.</p>
<p>She said that, had the first rep noted in the call that I had been on the $25 plan, this wouldn&#8217;t have happened.  But because there was no such note, the system wasn&#8217;t allowing her to change to the $25 plan.</p>
<p>I told the rep that I would like to keep pursuing a different resolution, and asked for an email address.  She gave me fraudalerts@virginmobileusa.com (which seems like a strange address for a department that handles non-fraudulent billing problems, but OK), so I sent the following message.</p>
<blockquote><p>
Date: Sat, 17 Sep 2011 12:25:00 -0500<br />
To: fraudalerts@virginmobileusa.com<br />
Subject: Porting my phone number resulted in my $25/month plan being cancelled&#8230;</p>
<p>Hello, there.</p>
<p>I have been a Virgin Mobile customer under the now discontinued $25/month plan for a few months.  Before becoming a Virgin Mobile customer, I had a T-Mobile Prepaid &#8211; Pay As You Go plan.  At the time I bought the Virgin Mobile phone, I still had a few hundred minutes on the T-Mobile plan that I wanted to use before porting that number to Virgin Mobile.</p>
<p>Virgin Mobile changed the plan pricing structure after I became a customer, increasing the price on the $25 plan to $35/month.  When I ported the T-Mobile number, my Virgin Mobile account changed to the $35 plan.  I wasn&#8217;t told at the time that my plan would change, and honestly, I would have stuck with the original Virgin Mobile phone number if I had been told that it would cost me $120/year to port my number.</p>
<p>I think it&#8217;s probably possible to activate a $25/month plan, even if the helpful phone support staff cannot do this.  Someone, somewhere must have adminstrative access to do this.</p>
<p>Can you please provide contact information for the department that would be able to return my account to the $25/month plan, even if that means putting me back on a Virgin Mobile-assigned phone number?
</p></blockquote>
<p><em>If the porting of a number is going to cause a change to the account, and I&#8217;m not sure why this must be the case, it would be gracious to alert the customer.</em></p>
<p>Here&#8217;s my plan:<br />
1. Try again to submit a ticket using the virginmobileusa.com web site (the first time, I got a page not found error: &#8220;The specified URL cannot be found&#8221;).<br />
2. Call one more time.<br />
3. Give Virgin Mobile 48 hours to respond to the email to fraudalerts email.<br />
4. File a complaint with the BBB.</p>
<p><strong>8:40 PM 9/17/2011</strong></p>
<p>A few more thoughts:</p>
<p>Virgin Mobile seems to be treating this as a new account when it&#8217;s just a number port.  I even got an &#8220;About Your Phone &#038; Phone Number&#8221; email from Virgin Mobile that is identical to the email I received when I first became a customer back in July:</p>
<blockquote><p>
Hey OLIVER,</p>
<p>Thanks for joining Virgin Mobile! We know there are a lot of wireless options out there and we&#8217;re really glad you chose us.</p>
<p>Your Phone Number Is: (xxx) xxx-xxxx</p>
<p>Top-Up Now To Start Using Your Phone:<br />
To start using your Virgin Mobile Service all you need to do is add money to your account. If you haven&#8217;t done that yet, click here to log in and do it now. Or, give us a call at 1-888-322-1122.</p>
<p>As soon as you&#8217;ve Topped-Up, you should be able to start using your phone. Access to Downloads and Voicemail can take up to 4 hours to come online, but usually it&#8217;s a lot sooner.</p>
<p>If you want to learn about your phone click here and then click on the Phone, Apps &#038; More page to see additional information about your phone.</p>
<p>Stay Tuned:<br />
We&#8217;ll be back in touch soon with some more info about your service. If you have any questions in the meantime, check out virginmobileusa.com or give us a call at 1-888-322-1122. Thanks again, and welcome aboard!<br />
Virgin Mobile
</p></blockquote>
<p>At the bottom of the message is an email address that I hadn&#8217;t found when looking for ways to contact customer support: ourteam@virginmobileusa.com.  I&#8217;ll be sending them a copy of my first email shortly.</p>
<p>Also, the FCC&#8217;s <a href="http://www.fcc.gov/guides/portability-keeping-your-phone-number-when-changing-service-providers">Guide to Portability</a> doesn&#8217;t mention anything about whether a service provider can change your service on you during a port, but they do state that you can port your number at any time.</p>
<p>The FCC also has an online form for filing a complaint, so along with the BBB, this makes two avenues of recourse if Virgin Mobile won&#8217;t resolve this themselves.</p>
<p><strong>11:53 PM 9/17/2011</strong></p>
<p>Just for the record, before I became a customer, I wanted to be sure that the rates for existing customers wouldn&#8217;t increase on July 20, 2011.  I emailed Virgin Mobile on 07/14/2011 at 10:02 PM, and this was their response (4 days later):</p>
<blockquote><p>
Response Via Email (Jennifer)	07/18/2011 12:54 AM<br />
Hello Oliver,</p>
<p>Thanks for contacting Virgin Mobile Customer Care.</p>
<p>We are so glad to know that you want to become part of our Virgin Mobile family!</p>
<p>You have a great option to take advantage of, purchasing a Virgin Mobile phone that is compatible with our Beyond Talk plans because you cannot sign up for a monthly plan if you have not activated yet a phone, sorry about that! Remember that as of July 20th, 2011, new Virgin Mobile customers will be activated on the new plans while existing Beyond Talk customers will be able to stay on their current plans. </p>
<p>If you need additional assistance, feel free to respond to this email or contact us at 1-888-322-1122 (or *VM from your handset). You can reach us Monday through Sunday from 4am-9pm PST.</p>
<p>Thanks, </p>
<p>Kim<br />
Virgin Mobile At Your Service<br />
www.virginmobileusa.com
</p></blockquote>
<p>I&#8217;m pretty sure that I&#8217;ve got a good case here.</p>
<p><strong>8:28 PM 9/18/2011</strong></p>
<p>I received a response to my email to ourteam@virginmobileusa.com.</p>
<blockquote><p>
Response Via Email (Jose)	09/18/2011 02:22 PM<br />
Hello Oliver,</p>
<p>Thanks for contacting Virgin Mobile Customer Care. </p>
<p>First let us extend our apologies for any inconvenience this has caused. </p>
<p>Virgin Mobile values each customer and is disappointed to know how you have stated your issue was handled.</p>
<p>Unfortunately, the $25 Beyond Talk Plan is no longer available and there is no way for us to get it active in your account. These rate changes affect new activations and plan changes in our system, and in order to process a Port In Request, the phone serial number needed to be free. That is the reason we needed to deactivate your old Virgin Mobile phone number. </p>
<p>Please accept our apologies for being unable to give you a different response, but this is the policy we are ruled by. </p>
<p>If you need additional assistance, feel free to let us know how we can assist further or contact us at 1-888-322-1122 (or *VM from your handset). You can reach us from Monday to Sunday from 4:00 am- 9:00 pm PST. </p>
<p>Thanks, </p>
<p>Heydi<br />
Virgin Mobile At Your Service
</p></blockquote>
<p>Right off the bat, I think it&#8217;s unlikely that there isn&#8217;t some administrative override possible.  While the $25 Beyond Talk Plan is no longer available, I suspect there is a way to charge my account $25/month.  But let&#8217;s assume that changing the plan is not an option.  Another resolution could be that Virgin Mobile credits me the difference between the $25 Beyond Talk Plan and whatever plan they want me to use.  That can be as little as $10/month, or $120/year, for as long as I am a customer.  This way I&#8217;m not incurring a cost for porting my number, and Virgin Mobile isn&#8217;t confronted with the hassle of making that administrative change to my account.</p>
<p>I don&#8217;t believe the average wireless customer could be expected to consider the porting of a phone number as a plan deactivation and a new plan activation.</p>
<p>I sent the following reply:</p>
<blockquote><p>
Hello there,</p>
<p>Thanks for writing back to me.</p>
<p>Unfortunately, the issue is not yet resolved to my satisfaction, as I still strongly feel that porting my number should not cost me $10/month for as long as I am a customer.</p>
<p>Now that the plan has been changed, however, there is still a way to resolve this to my satisfaction.  Virgin Mobile can keep me on the $35 Beyond Talk Plan, and so avoid the problem of putting me back on the $25 Beyond Talk Plan, but then credit my account the difference each month.</p>
<p>I think that this is a fair and manageable way of handling the issue.
</p></blockquote>
<p>I&#8217;ll wait a day to hear back from my friends at ourteam@virginmobileusa.com and then go to the FCC and BBB.</p>
<p><strong>12:30 PM 9/19/2011</strong></p>
<p>I received a response from ourteam@virginmobileusa.com last night.</p>
<blockquote><p>
Response Via Email (Mariela Valenzuela) 09/18/2011 10:49 PM</p>
<p>Hello Oliver, </p>
<p>Thanks for contacting Virgin Mobile Customer Care.  </p>
<p>Please accept my apologies on behalf of Virgin Mobile, our customers are highly valued and we are sorry to know that at this moment your experience has not been pleasant and easy.</p>
<p>Regarding your request, unfortunately we will not be able to process a $10 adjustment every month to cover your monthly charge. We are very sorry about that. </p>
<p>We understand your point of view and our main goal is your satisfaction, but our system cannot proceed against our terms of service. We are very sorry for any misunderstanding and inconvenience that you had regarding this issue.</p>
<p>If you need additional assistance, feel free to let us know how we cana ssist further or contact us at 1-888-322-1122 (or *86 from a Virgin Mobile handset). You can reach us Monday through Sunday from 4am-9pm PST.</p>
<p>Thanks &#038; Best Regards, </p>
<p>Maryelah<br />
Virgin Mobile At Your Service<br />
www.virginmobileusa.com
</p></blockquote>
<p>So, it seems that it&#8217;s time to file a complaint with the FCC and the BBB.  The FCC has <a href="http://www.fcc.gov/complaints">a nifty online form for complaints</a> (but it&#8217;s limited to 1000 characters), so I submitted the following.</p>
<blockquote><p>
Hello,</p>
<p>I became a Virgin Mobile USA mobile phone customer in July, 2011 under the $25/month plan (&#8220;$25 Beyond Talk&#8221;). Since then, the $25 Beyond Talk has been discontinued and a new plan, at $35/month, has replaced it for new customers. Existing customers remain on the $25/month plan.</p>
<p>I recently ported my T-Mobile number to my Virgin Mobile account. During the port, my $25/month account was cancelled and a new account was created on the $35/month plan. I was not told of this at the time by the CSR handling the porting and would have declined to port the number.</p>
<p>I have contacted Virgin Mobile in an attempt to resolve this problem, but they have only offered me a one-time $10 credit to my account. Virgin Mobile reports that they are unable to put me back on the $25/month plan, and are unwilling to credit me the difference of $10/month each month going forward.</p>
<p>Details of the correspondence are at http://www.ardamis.com/2011/09/17/virgin-mobile-usa/</p>
<p>Thank you for your assistance.
</p></blockquote>
<p>After submitting that complaint, I received a reply to my email to fraudalerts, sent by Stephanie M from the email address Tier3@virginmobileusa.com.  I had only asked fraudalerts for the contact information of a department that could help, and so didn&#8217;t provide my phone number or PIN in that email.  The reply from Stephanie M was just a request for that information.  I replied to Tier3@virginmobileusa.com with the phone number and PIN.</p>
<p>I think I&#8217;ll wait to see what comes of the FCC complaint and the Tier 3 investigation before going to the BBB.</p>
<p><strong>1:59 PM 9/19/2011</strong></p>
<p>Well, that was fast.  Tier 3 came through with the fix that all other contacts at Virgin Mobile claimed was impossible.  Stephanie M set my account to $25/month.  Her email to me:</p>
<blockquote><p>
YOUR ACCOUNT HAS BEEN CREDITED 35.00 SO THAT I COULD TAKE  OUT  25 .00 FOR THE<br />
25 BEYOND TALK PLAN YOUR ACCOUNT CASH BALANCE IS 10.00</p>
<p>Thank you,<br />
STEPHANIE M<br />
Virgin Mobile Tier 3
</p></blockquote>
<p>I logged into my account at Virgin Mobile and confirmed that the price for my Beyond Talk plan is $25.00/month.  I sent Stephanie a thank you.</p>
<blockquote><p>
Stephanie! </p>
<p>Oh my goodness!  Were you really able to put my account back to $25/month?</p>
<p>You have no idea how many people have told me this was not possible.</p>
<p>Thank you very, very much.
</p></blockquote>
<p>I think this is the end of the story.  I&#8217;ll have to try to contact the FCC and cancel the complaint.</p>
<p>A moment ago, a new email arrived:</p>
<blockquote><p>
Hey OLIVER, </p>
<p>Thanks for switching to our $25 Beyond Talk Plan.</p>
<p>For worry-free monthly service, make sure you’ve registered a payment method with us. Or, buy Top-Up cards to cover the cost of your monthly charge.</p>
<p>Manage Your Account The Easy Way.<br />
To Top-Up, get downloads, and check your balance, log in at virginmobileusa.com. Just enter your phone number and Account PIN.</p>
<p>With Virgin Mobile, you&#8217;re in control. It&#8217;s just that simple.</p>
<p>Thanks, bye.<br />
Virgin Mobile
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ardamis.com/2011/09/17/virgin-mobile-usa/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Why do I even play MW2: Black Ops?</title>
		<link>http://www.ardamis.com/2011/09/02/why-do-i-even-play-mw2-black-ops/</link>
		<comments>http://www.ardamis.com/2011/09/02/why-do-i-even-play-mw2-black-ops/#comments</comments>
		<pubDate>Sat, 03 Sep 2011 04:42:25 +0000</pubDate>
		<dc:creator>ardamis</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[gaming]]></category>

		<guid isPermaLink="false">http://www.ardamis.com/?p=1711</guid>
		<description><![CDATA[If I'm so terrible at Modern Warfare 2: Black Ops, why do I keep playing it?]]></description>
			<content:encoded><![CDATA[<p>Why do I even play Modern Warfare 2: Black Ops?  I&#8217;m awful at it.  I have something like a .49 K/D ratio and I&#8217;m almost always the worst guy on the squad.</p>
<p>If I was this bad at any other game, I would&#8217;t play it.  But for some reason, I keep going back for more humiliation.  I can&#8217;t figure it out.  By all accounts, I should hate this game.  I should put it away and never play it again.  So why do I pick it up again, over and over?</p>
<h2>I die alot</h2>
<p>I&#8217;m too slow on the melee attack, which results in people appearing to run past me and then I get knifed.  This is particularly weird, because I was awesome at melee in Halo.</p>
<p>I never win a face-to-face quick-draw contest.  Maybe I sprint too much, or something, because it seems that the other guy can always raise his gun and shoot faster than I can.</p>
<p>The game likes to spawn me in front of more than one guy, too.  Particularly on Crisis.  Sometimes in the path of three guys.</p>
<h2>My technique is weak</h2>
<p>I really try to study the kill cams to find out how each guy beat me, but much of the time they&#8217;re shooting me in the foot or whatever.  Hell, I can usually unload an entire clip into someone&#8217;s feet before they just casually finish reloading or whatever and then off me.  It is frustrating, though, when the kill cam doesn&#8217;t quite jive with my recollection of the encounter.  Like when I&#8217;m pretty sure I shot first, but the kill cam shows the other guy very obviously getting the jump on me.</p>
<p>I also can&#8217;t figure out how these guys finish a game with ridiculous stats, like 38/3.  Guys like that look like they always know exactly where I am, from the Kill Cam.  Maybe they just know the maps extremely well and can anticipate where someone ought to be?  I saw one shared video of a guy who got 100 kills in a game, and he spent much of the time standing in the open, turning from side to side, shooting guys as they rounded a corner and ran up a hill.</p>
<p>Maybe I&#8217;m doing it all wrong.  Maybe standing in the open is a genius strategy, but my gut tells me to find a place where I can protect my back with a claymore and shoot down a hallway or something.  Or, if I decide to just always keep moving, I run the perimeter so that there is less opportunity to be ambushed.  But neither of these tactics is going to get me 20 kills per game.</p>
<h2>Like one dog waiting on another</h2>
<p>Instead of going all lone-wolf all the time, I sometimes try to follow someone on my team in an attempt to combine our firepower.  This seems to be a decent strategy on paper (and I sure get mowed down by multiple enemies enough to think that it&#8217;s effective),  but more often than not, we&#8217;re both taken out by a grenade within about 15 seconds.  </p>
<p>If I enter a room and see a teammate crouched down, gun pointed at the door, I typically figure he&#8217;ll be standing guard long enough for me to look out a window.  The guy&#8217;s got my back, I figure.  But no, I&#8217;ll get knifed in the kidney the moment I start looking down the street.  It happens every time.  Where&#8217;s the camaraderie, fellas?</p>
<h2>Impossible</h2>
<p>I get killed by these physics-defying grenade tosses that bounce in impossible ways, or fly half-way across the map and through the window to land at my feet, but I couldn&#8217;t get a grenade through a barn door.  Chances are, my grenade will just bounce off a wall and come back to get me.  At least the grenade physics part of the game is consistent with MW2.  I probably have a 1 in 20 chance of successfully avoiding a grenade.  I&#8217;d like to see stats on that.</p>
<p>A single napalm strike typically gets me more than once.  I feel certain that I&#8217;ve actually spawned in the napalm.</p>
<h2>Cover</h2>
<p>I am forever trying to be sneaky and realistic, moving from cover to cover before looking around a wall or something.  Usually, I&#8217;ll be seen before I locate my enemy and the cover will appear to be at least partly effective.  I&#8217;ll get knicked a few times, but feel that I was very smart to have cover so close, then gracefully move back into the cover, then fall down and die.  Are they shooting me through the wall each time?  Because it sure feels like the game is just lagging and it&#8217;s decided that I&#8217;m already dead before I move behind the wall.</p>
<p>Even so, even with all the frustration and suckiness, I&#8217;m really looking forward to Modern Warfare 3.  Plus, I heard they improved the completely lame and irritating slow-motion final kill cam stuff.  Maybe now the guy doesn&#8217;t run past the cross hairs half a second before the blood splatter materializes out of thin air.</p>
<div class="success"><strong>Update:</strong> I am just as bad at Modern Warfare 3.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.ardamis.com/2011/09/02/why-do-i-even-play-mw2-black-ops/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

