<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkIBSXc6fyp7ImA9WhRbEE4.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930</id><updated>2012-01-31T10:29:18.917-08:00</updated><category term="Fail" /><category term="Business Services" /><category term="Web-Applications" /><category term="Microsoft" /><category term="Internet" /><category term="Drivers" /><category term="Email" /><category term="Phone Solicitation" /><category term="Asterisk" /><category term="Remote Support" /><category term="Engineering" /><category term="Windows" /><category term="Security" /><category term="APIs" /><category term="Google" /><category term="Gentoo" /><category term="Amazon Web Services" /><category term="PHP" /><category term="VoIP" /><category term="NewEgg" /><category term="iPhone" /><category term="Comcast" /><category term="PostgreSQL" /><category term="SEO" /><category term="Linux" /><category term="Fraud" /><category term="Mac" /><category term="Mobile Workforce" /><category term="WebEx" /><category term="Disaster Recovery" /><category term="code" /><category term="Android" /><category term="Video" /><category term="Google Apps" /><category term="e-commerce" /><title>Edoceo's Blog</title><subtitle type="html">Technology related news commentary, Open Source in the Small Business, Entrepreneur Experience</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.edoceo.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.edoceo.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>David</name><uri>http://www.blogger.com/profile/14994242304180586426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>81</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/EdoceosBlog" /><feedburner:info uri="edoceosblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CkECQXYyeyp7ImA9WhRWFUk.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-1056223875999650788</id><published>2012-01-02T13:44:00.000-08:00</published><updated>2012-01-02T13:44:20.893-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-02T13:44:20.893-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Internet" /><title>The Trouble with NetSol</title><content type="html">&lt;p&gt;One of our clients hosts their domain and DNS with Network Solutions (&amp;quot;NetSol&amp;quot;) (their first mistake).&lt;br /&gt;
For those who don't know: NetSol is the oldest, more arcane domain services provider.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Today, we wanted to update some DNS records (A, CNAME).  An easy task with other providers such as eNom or GoDaddy.&lt;br /&gt;
Here is the story.&lt;br /&gt;
For references &amp;quot;@&amp;quot; is the domain name in question, a common &lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Cannot Delete A Record for &lt;em&gt;www&lt;/em&gt;&lt;/strong&gt;.&lt;br /&gt;
Our first step was to remove the &lt;strong&gt;A&lt;/strong&gt; record for the &lt;em&gt;www.&lt;/em&gt; entry, which we wanted to replace with a CNAME.&lt;br /&gt;
In the DNS manager provided by NetSol we check a box labelled &amp;quot;Delete&amp;quot; and press save.&lt;br /&gt;
The record was not deleted, the IP address portion was, but the entry it-self was not.&lt;br /&gt;
The result was that a lookup for &amp;quot;www.@&amp;quot; was simply empty. WTF?&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;We contacted support, and after more than 20 minutes of navigating the IVR and waiting we were connected with a CSR who mumbled and didn't know a freaking thing about DNS.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;We explained to them our issue, which they didn't understand.&lt;br /&gt;
After repeating 'We want to delete the A record for WWW' about a dozen time they got it.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;The CSR then looked at our account, made some adjustments and asked us to verify.&lt;br /&gt;
All the entries were gone! What the FUCK?!&lt;br /&gt;
Except, that the 'A' record section of their manage won't allow us to remove the entry for 'www', it's hard coded.&lt;br /&gt;
What an epic fail.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;So, now we had to re-create all the A records the previously existed.&lt;br /&gt;
Good thing we had documentation.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;So we tried the whole process again.&lt;br /&gt;
Checked the &amp;quot;Delete&amp;quot; box next to &lt;em&gt;www&lt;/em&gt; again and selected delete.&lt;br /&gt;
Waited for their slow caching system to referesh the data (five minutes) and saw the same results.&lt;br /&gt;
The A record persists, with a blank entry, and prevents us from creating a CNAME record for &lt;em&gt;www.&lt;/em&gt;.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;In short, the DNS &amp;quot;Manager&amp;quot; provided by NetSol is a flaming pile of crap.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;How to Fix It&lt;/h2&gt;&lt;p&gt;Firstly, NetSol, could improve their system so that it actually functions, uses caching properly and allows the user to manage A, CNAME and other records with full authority.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Another option is to choose an alternate DNS provider - such as that provided by eNom or GoDaddy (or dozens of others).&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;For us, we assisted the customer with migrating their domains out of NetSol.&lt;br /&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-1056223875999650788?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/55upKOSTp9e6fPI5B-XANV2lwAg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/55upKOSTp9e6fPI5B-XANV2lwAg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/55upKOSTp9e6fPI5B-XANV2lwAg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/55upKOSTp9e6fPI5B-XANV2lwAg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/jxsNhi-mjKU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/1056223875999650788/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=1056223875999650788&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/1056223875999650788?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/1056223875999650788?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/jxsNhi-mjKU/trouble-with-netsol.html" title="The Trouble with NetSol" /><author><name>David</name><uri>http://www.blogger.com/profile/14994242304180586426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.edoceo.com/2012/01/trouble-with-netsol.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMDSHw6cSp7ImA9WhRXEEk.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-6897661707327305593</id><published>2011-12-16T05:55:00.000-08:00</published><updated>2011-12-16T06:07:59.219-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-16T06:07:59.219-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="APIs" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Email" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Apps" /><title>Moving Mail via IMAP from Account to Another</title><content type="html">&lt;p&gt;Most of the hosting providers these days provide for IMAP access to your mailbox.&lt;br /&gt;
This is great, but what if you want to move messages from one IMAP account to another?&lt;br /&gt;
We wrote this little tool for it: &lt;a href="http://edoceo.com/creo/imap-move"&gt;imap-move&lt;/a&gt;.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;The IMAP Move tool was written with a few, very specific, intended purposes but there could be others.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Archive messages from IMAP into a local directory&lt;/li&gt;
&lt;li&gt;Move message from one Mailbox to another Mail Account&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;p&gt;The tool keeps track of the moved message (by mail message ID) so it can be run over and over on the same source mailbox w/o having to repeat it's work - this can save time when you have 40k+ messages.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;List the Source Folders/Labels&lt;/h2&gt;&lt;pre&gt;imap-move.php -s imap-ssl://user@domain:password@imap.gmail.com:993/ --list

Source: user@domain
01 Follow up; 0 messages 0 bytes
02 INBOX; 1080 messages 108104263 bytes
03 Misc; 0 messages 0 bytes
04 Priority; 0 messages 0 bytes
05 [Gmail]; skip [container only]
06 [Gmail]/All Mail; skip [skip list]
07 [Gmail]/Drafts; skip [skip list]
08 [Gmail]/Sent Mail; skip [skip list]
09 [Gmail]/Spam; skip [skip list]
10 [Gmail]/Starred; skip [skip list]
11 [Gmail]/Trash; skip [skip list]
11 Folders, 1080 messages, 108104263 bytes
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Copy to Local Directory&lt;/h2&gt;&lt;p&gt;Please note, this is not a MAILDIR (or, at least I don't think it is)&lt;/p&gt;&lt;pre&gt;imap-move.php \
  -s imap-ssl://user@domain:password@imap.gmail.com:993/ \
  --copy /path/to/storage
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Copy one IMAP Account to Another&lt;/h2&gt;&lt;p&gt;This can take a long time, the application has a lot of spew, maybe use &lt;code&gt;|tee&lt;/code&gt; or something.&lt;/p&gt;&lt;pre&gt;imap-move.php \
  -s imap-ssl://user@domain:password@imap.gmail.com:993/ \
  -t imap-ssl://noob@domain:password@imap.gmail.com:993/ \
  --move \
  --copy
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-6897661707327305593?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GPbGmPZSqFHYXnOJ0xuzQzC_zGw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GPbGmPZSqFHYXnOJ0xuzQzC_zGw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GPbGmPZSqFHYXnOJ0xuzQzC_zGw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GPbGmPZSqFHYXnOJ0xuzQzC_zGw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/HvRa-D5RusA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/6897661707327305593/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=6897661707327305593&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/6897661707327305593?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/6897661707327305593?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/HvRa-D5RusA/moving-mail-via-imap-from-account-to.html" title="Moving Mail via IMAP from Account to Another" /><author><name>David</name><uri>http://www.blogger.com/profile/14994242304180586426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/12/moving-mail-via-imap-from-account-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUAQX8_fSp7ImA9WhRQFEg.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-5130676187534455008</id><published>2011-12-09T10:48:00.001-08:00</published><updated>2011-12-09T11:00:40.145-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-09T11:00:40.145-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web-Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="Internet" /><title>A Week without Flash</title><content type="html">&lt;p&gt;Adobe Flash is a flaming pile of crap.&lt;br /&gt;
Firstly: it's got loads of security issues and consumes hella memory (&amp;gt;=100M!).&lt;br /&gt;
Additionally: ads and tracking issues, impact on web-surfing performance, &amp;amp;c.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;So starting Monday of this week we to a (seemingly) dramatic step - removed Flash from our systems.&lt;br /&gt;
Not use using FlashBlock (which is awesome!), not just disabling the Plug-In (also an option); fully gone.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Must say, I've hardly noticed the difference.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Many pages, especially on ad-ridden sites (looking at you Cheeseburger), load much faster.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Adobe Flash Fail Sites&lt;/h2&gt;&lt;p&gt;Not everything was great.  To watch YouTube we had to enable their &lt;a href="http://www.youtube.com/html5"&gt;HTML5 beta&lt;/a&gt;.&lt;br /&gt;
Also, some functionality of both Google Analytics and Google Finance depend on Adobe.&lt;br /&gt;
Lots of other stuff does too.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Important to Remove&lt;/h2&gt;&lt;p&gt;If, like us, you want to see the &lt;a href="http://death2flash.com/"&gt;death of flash!&lt;/a&gt;, start removing it.&lt;br /&gt;
This way, we can start to skew the analytics numbers to show less and less browser support.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Old, crappy technologies don't die out on their own, we have to actively kill them.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-5130676187534455008?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fgUrva41tzs1gEQe-JmwCTl2ymA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fgUrva41tzs1gEQe-JmwCTl2ymA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fgUrva41tzs1gEQe-JmwCTl2ymA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fgUrva41tzs1gEQe-JmwCTl2ymA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/Oj3HZeNjJJg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/5130676187534455008/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=5130676187534455008&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/5130676187534455008?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/5130676187534455008?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/Oj3HZeNjJJg/week-without-flash.html" title="A Week without Flash" /><author><name>David</name><uri>http://www.blogger.com/profile/14994242304180586426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/12/week-without-flash.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UFR3g_fip7ImA9WhRWFk4.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-4482901961966189582</id><published>2011-11-30T16:18:00.001-08:00</published><updated>2012-01-03T14:53:36.646-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-03T14:53:36.646-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>Getting Started with PhoneGap on Linux without Eclipse</title><content type="html">&lt;p&gt;Eclipse is a great editor and all, but I'm a much bigger fan of jEdit which I've been using since forever (at least 10 years).  So, when wanting to do Android development and especially when using PhoneGap most of the existing documentation focuses on Eclipse. &lt;/p&gt;&lt;p&gt;This shows a full manual process, from installing the Android SDK and PhoneGap, creating the initial project and building the sample provided by PhoneGap.  The target system is Linux (Gentoo) and we'll mostly be working in the home directory of a non-privileged user. &lt;/p&gt;&lt;h2&gt;Install the Android SDK&lt;/h2&gt;&lt;p&gt;At this time of this writing it was version: &lt;a href="http://dl.google.com/android/android-sdk_r15-linux.tgz"&gt;android-sdk_r15-linux.tgz&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Might take some time to complete all the downloads during &lt;em&gt;update sdk&lt;/em&gt;.&lt;/p&gt;&lt;pre&gt;wget http://dl.google.com/android/android-sdk_r15-linux.tgz
tar -zxf android-sdk_r15-linux.tgz
rm android-sdk_r15-linux.tgz
cd android-sdk-linux
tools/android update sdk --no-ui
echo "PATH=\"\${PATH}:~/android-sdk-linux/tools\"" &gt;&gt; ~/.bashrc
&lt;/pre&gt;&lt;h2&gt;Install PhoneGap&lt;/h2&gt;&lt;p&gt;Download the latest, at this time &lt;a href="https://github.com/callback/phonegap/zipball/1.2.0"&gt;PhoneGap 1.2.0&lt;/a&gt;. &lt;/p&gt;&lt;pre&gt;wget https://github.com/callback/phonegap/zipball/1.2.0
unzip 
cd phonegap-1.2.0
&lt;/pre&gt;&lt;h2&gt;Building the Sample&lt;/h2&gt;&lt;pre&gt;cd ~/phonegap-1.2.0/Android/Sample
android update project --path $(pwd)
ant debug
&lt;/pre&gt;&lt;h2&gt;Running the Sample&lt;/h2&gt;&lt;pre&gt;~/android-sdk-linux/tools/android
&lt;/pre&gt;&lt;p&gt;Using this UI create a AVD &lt;em&gt;Tools -&gt; Manage AVDs&lt;/em&gt; &lt;pre&gt;~/android-sdk-linux/platform-tools/adb devices
&lt;/pre&gt;&lt;p&gt;Now install to the running emulator&lt;/p&gt;&lt;pre&gt;~/android-sdk-linux/platform-tools/adb -e install -r bin/PhoneGapExample-debug.apk
&lt;/pre&gt;&lt;br /&gt;
&lt;h3&gt;See Also&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://developer.android.com/guide/developing/devices/managing-avds-cmdline.html"&gt;AVD Command Line (CLI)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-4482901961966189582?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3h4Qbu_Hy9zw8_Ha_YYNMJ8JxAQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3h4Qbu_Hy9zw8_Ha_YYNMJ8JxAQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3h4Qbu_Hy9zw8_Ha_YYNMJ8JxAQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3h4Qbu_Hy9zw8_Ha_YYNMJ8JxAQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/1quVlEE1lj0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/4482901961966189582/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=4482901961966189582&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/4482901961966189582?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/4482901961966189582?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/1quVlEE1lj0/getting-started-with-phonegap-on-linux.html" title="Getting Started with PhoneGap on Linux without Eclipse" /><author><name>David</name><uri>http://www.blogger.com/profile/14994242304180586426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/11/getting-started-with-phonegap-on-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UERX4yeyp7ImA9WhRTFk8.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-4965508972743281583</id><published>2011-11-06T15:13:00.000-08:00</published><updated>2011-11-06T15:13:24.093-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-06T15:13:24.093-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web-Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><title>Credit Card Brand Logos as CSS Sprite</title><content type="html">&lt;p&gt;
We recently had cause to create some CC icons for a checkout process, we just needed the four most common.
Had a heck of a time getting good downloads, quality images &amp;c.
Google has a good image they use; one image file used as sprites - smart.
&lt;/p&gt;
&lt;p&gt;
Other sites the downloads were not working, or there was some restrictive license on the images.
The card vendors themselves also don't make this easy - requiring registration to download? WTF?
Why not post to their Facebook pages, make downloadable from the Pictures section.
&lt;/p&gt;
&lt;p&gt;
So, we searched and went directly to each brand, downloaded their source images and created this image sprite, as a indexed- PNG so it's roughly 8K!
It has a hot and cold view of each of the four major credit card providers.
Use as needed, no-fee, no-charge, no-license, no-restrictions.
&lt;/p&gt;

&lt;div style="margin:0px auto;width:224px;"&gt;
&lt;img src="http://cdn.edoceo.com/img/cc.png"&gt;
&lt;/div&gt;

&lt;p&gt;
To use it, do something like this:
&lt;/p&gt;
&lt;pre&gt;
.cc { height: 36px; }
.cc div { background:url(http://cdn.edoceo.com/img/cc.png); border:1px solid #666; float:left; }
.cc .mc { background-position:0px 0px; height:32px; margin:2px; width:56px; }
.cc .vc { background-position:-56px 0px; height:32px; margin:2px; width:56px; }
.cc .dc { background-position:-112px 0px; height:32px; margin:2px; width:56px; }
.cc .ac { background-position:-168px 0px; height:32px; margin:2px; width:56px; }
.cc .mb { background-position:0px 32px; height:32px; margin:2px; width:56px; }
.cc .vb { background-position:-56px 32px; height:32px; margin:2px; width:56px; }
.cc .db { background-position:-112px 32px; height:32px; margin:2px; width:56px; }
.cc .ab { background-position:-168px 32px; height:32px; margin:2px; width:56px; }
&lt;/pre&gt;
&lt;style type="text/css"&gt;
.cc { height: 36px; }
.cc div { background:url(http://cdn.edoceo.com/img/cc.png); border:1px solid #666; float:left; }
.cc .mc { background-position:0px 0px; height:32px; margin:2px; width:56px; }
.cc .vc { background-position:-56px 0px; height:32px; margin:2px; width:56px; }
.cc .dc { background-position:-112px 0px; height:32px; margin:2px; width:56px; }
.cc .ac { background-position:-168px 0px; height:32px; margin:2px; width:56px; }
.cc .mb { background-position:0px 32px; height:32px; margin:2px; width:56px; }
.cc .vb { background-position:-56px 32px; height:32px; margin:2px; width:56px; }
.cc .db { background-position:-112px 32px; height:32px; margin:2px; width:56px; }
.cc .ab { background-position:-168px 32px; height:32px; margin:2px; width:56px; }
&lt;/style&gt;

&lt;pre&gt;
&amp;lt;div class=&amp;quot;cc&amp;quot;&amp;gt;
  &amp;lt;div class=&amp;quot;mc&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;vc&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;dc&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;ac&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/pre&gt;
&lt;div class="cc"&gt;
  &lt;div class="mc"&gt;&lt;/div&gt;
  &lt;div class="vc"&gt;&lt;/div&gt;
  &lt;div class="dc"&gt;&lt;/div&gt;
  &lt;div class="ac"&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;pre&gt;
&amp;lt;div class=&amp;quot;cc&amp;quot;&amp;gt;
  &amp;lt;div class=&amp;quot;mb&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;vb&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;db&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;ab&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/pre&gt;
&lt;div class="cc"&gt;
  &lt;div class="mb"&gt;&lt;/div&gt;
  &lt;div class="vb"&gt;&lt;/div&gt;
  &lt;div class="db"&gt;&lt;/div&gt;
  &lt;div class="ab"&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
Add some JavaScript card type auto-detection and adjust the card indicators as necessary.
&lt;/p&gt;

&lt;p&gt;
Thanks to &lt;a href="http://www.mymerchantaccountblog.com/2007/02/credit-card-logos"&gt;merchant account blog&lt;/a&gt; for some pointers.
More information about CSS Sprites can be found on &lt;a href="http://css-tricks.com/158-css-sprites/"&gt;CSS Tricks&lt;/a&gt;.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-4965508972743281583?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bsms6sSgrrfaFjFJFvq01qPqzQc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bsms6sSgrrfaFjFJFvq01qPqzQc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bsms6sSgrrfaFjFJFvq01qPqzQc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bsms6sSgrrfaFjFJFvq01qPqzQc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/wxHnp0J8xuQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/4965508972743281583/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=4965508972743281583&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/4965508972743281583?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/4965508972743281583?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/wxHnp0J8xuQ/credit-card-brand-logos-in-css-sprite.html" title="Credit Card Brand Logos as CSS Sprite" /><author><name>edoceo</name><uri>http://www.blogger.com/profile/08409805796775528160</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/11/credit-card-brand-logos-in-css-sprite.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUDQ345eSp7ImA9WhdVEk8.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-3104807509744295848</id><published>2011-09-16T18:34:00.000-07:00</published><updated>2011-09-16T18:34:32.021-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-16T18:34:32.021-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web-Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="Engineering" /><category scheme="http://www.blogger.com/atom/ns#" term="Internet" /><title>Network Solutions DNS Migration - Caution Parking!</title><content type="html">&lt;p&gt;
We recently assisted with a migration of DNS services to the Network Solutions (worldnic.com) which is a pretty normal operation.
&lt;/p&gt;
&lt;p&gt;
The process went as normal, transferred the domain to Network Solutions ("NS"), waited a few days for that to process.
Once in Network Solutions the WHOIS information was updated and again we waited 48 hours for the next move.
&lt;/p&gt;
&lt;p&gt;
A zone-dump was acquired from the existing DNS provider, including all A, CNAME, SRV and TXT records.
We initiated the DNS migration (Switch NS) process at NS and then proceeded to update their DNS with the proper records.
After two hours the settings were verified via direct query using &lt;code&gt;dig&lt;/code&gt;.
All was well.
&lt;/p&gt;
&lt;p&gt;
About eight hours later the client called, they had noticed an issue on the web-site.
Imagine our surprise when, upon examining the DNS records we found two new records that we did not create!
&lt;/p&gt;
&lt;p&gt;
Apparently, some time between 11pm and 7am these two records were added.
The two A records were for &lt;code&gt;@&lt;/code&gt; (i.e.: &lt;em&gt;domain.tld&lt;/em&gt;) and &lt;code&gt;www&lt;/code&gt;.
They pointed to a parking page IPv4 address run by NS.
Our existing records were still in-place.
&lt;/p&gt;
&lt;p&gt;
The client was seeing the issue due to the round-robin effect of these two addresses.
Some times seeing the proper site/host and other times not.
&lt;/p&gt;
&lt;p&gt;
Simply deleting these spurious records and waiting 7200 seconds did the trick.
&lt;/p&gt;
&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-3104807509744295848?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fvMBm3zH2kS2y-F7u84NZBta4Uo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fvMBm3zH2kS2y-F7u84NZBta4Uo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fvMBm3zH2kS2y-F7u84NZBta4Uo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fvMBm3zH2kS2y-F7u84NZBta4Uo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/UuAYf-0VyA4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/3104807509744295848/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=3104807509744295848&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/3104807509744295848?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/3104807509744295848?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/UuAYf-0VyA4/network-solutions-dns-migration-caution.html" title="Network Solutions DNS Migration - Caution Parking!" /><author><name>edoceo</name><uri>http://www.blogger.com/profile/08409805796775528160</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/09/network-solutions-dns-migration-caution.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcAQH4_fSp7ImA9WhdVEUQ.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-1944838899603336890</id><published>2011-09-01T11:16:00.000-07:00</published><updated>2011-09-16T11:17:21.045-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-16T11:17:21.045-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web-Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Business Services" /><title>McAfee "Secure" / HackerSafe - Bad Config?</title><content type="html">&lt;p&gt;For some of our clients that require PCI compliance we had been using the &amp;quot;McAfee Secure&amp;quot; (aka: HackerSafe) product. Changes to their site over two years ago eliminated the need for this snake-oil type service - so we canceled the service circa 2010q1. &lt;/p&gt;&lt;p&gt;Oddly, their service has continued to scan and send "alerts" for our system. &lt;/p&gt;&lt;p&gt;We contacted McAfee regarding this issue (877-302-9965) and confirmed that our account had been closed &amp;quot;for some time&amp;quot; &lt;/p&gt;&lt;p&gt;Attempts to login to the McAfee control-panel failed, as did attempts to reset our password using the known/proper email address on file. We were told by the system: &amp;quot;A mail has been sent to the email address&amp;quot; - cute.  We waited two hours for this message. &lt;/p&gt;&lt;p&gt;It appears, that like so many other snake-oil security products McAfee's system will also repeatedly nag you about spurious events.&lt;br /&gt;
So, just be aware and careful.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Internally it's a good idea to use tools like &lt;a href="http://openvas.org/"&gt;OpenVAS&lt;/a&gt; to check your systems as well as a third-party provider.&lt;br /&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-1944838899603336890?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Y592L10gh6wyEivgew1oxmC-gS8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y592L10gh6wyEivgew1oxmC-gS8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Y592L10gh6wyEivgew1oxmC-gS8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y592L10gh6wyEivgew1oxmC-gS8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/tavGx0QLtfo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/1944838899603336890/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=1944838899603336890&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/1944838899603336890?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/1944838899603336890?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/tavGx0QLtfo/mcafee-secure-hackersafe-bad-config.html" title="McAfee &quot;Secure&quot; / HackerSafe - Bad Config?" /><author><name>edoceo</name><uri>http://www.blogger.com/profile/08409805796775528160</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/09/mcafee-secure-hackersafe-bad-config.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8GRXo9eip7ImA9WhdQFkQ.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-5591817801174277641</id><published>2011-08-18T11:53:00.000-07:00</published><updated>2011-08-18T12:13:44.462-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-18T12:13:44.462-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SEO" /><title>Stop Wasting Time with Social Media</title><content type="html">&lt;p&gt;
Social Media has been a hot marketing topic for some time but it has very little value! Don't sink more than five hours a week into this low-value advertising.
&lt;/p&gt;

&lt;p&gt;A study by Outbrain says that &lt;a href="http://blog.outbrain.com/2011/04/outbrain-content-discovery-report.html"&gt;Social Media lags for Traffic Sources&lt;/a&gt;.  The results of that report has a small delta to most sites we manage.&lt;/p&gt;

&lt;p&gt;
Search is far and away the leader (41%), second is content sites (think Digg, Reddit). Portal (AOL, MSN)and Social are third and fourth with a sum-metric of 28%.
&lt;/p&gt;

&lt;p&gt;
Our opinion is that driving Social Media should be a third order priority.  At this time simply posting new products, service announcements, company news &amp; links to Social Media is sufficient.  The traffic-source numbers are just not there.  There are eye-balls yes; but they don't engage as much.
&lt;/p&gt;

&lt;p&gt;
All this of course will change over time.  Until Social Media has some real traction our advice is to cover the basics, get the branded accounts/pages and make some posts. Keep the primary focus on &lt;a href="http://seosorcerer.com/"&gt;Search Optimization&lt;/a&gt; then Local (Places, Yelp).
&lt;/p&gt;
&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-5591817801174277641?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_Xf1FZpgKwUBXRECHWlNmxMDogw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_Xf1FZpgKwUBXRECHWlNmxMDogw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_Xf1FZpgKwUBXRECHWlNmxMDogw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_Xf1FZpgKwUBXRECHWlNmxMDogw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/ZxRiCao6dLY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/5591817801174277641/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=5591817801174277641&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/5591817801174277641?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/5591817801174277641?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/ZxRiCao6dLY/stop-wasting-time-with-social-media.html" title="Stop Wasting Time with Social Media" /><author><name>edoceo</name><uri>http://www.blogger.com/profile/08409805796775528160</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/08/stop-wasting-time-with-social-media.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMCSH49eip7ImA9WhZaFUk.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-3351083366534477001</id><published>2011-07-01T11:59:00.000-07:00</published><updated>2011-07-01T12:11:09.062-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-01T12:11:09.062-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="e-commerce" /><category scheme="http://www.blogger.com/atom/ns#" term="Fraud" /><category scheme="http://www.blogger.com/atom/ns#" term="Business Services" /><title>Credit Card fraud and New Egg.com - Update</title><content type="html">&lt;p&gt;
Credit card fraud is a scary deal, could be a one-time deal - or could be the start of identity theft - which is really serious.  Fortunately this was a one-off.&lt;/p&gt;

&lt;p&gt;Spoke with NewEgg on the subject, as follows:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;
Circumstances were very suspicious, will take some internal
action/review.  Reviewed account and previous orders, to ensure that
everything was proper.  Put a lock limit on my orders (I'll have to
double verify certain purchases).  Split charges is due to fulfillment
and tax requirements.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
The &lt;acronym title="Customer Service Advocate"&gt;CSA&lt;/acronym&gt; seemed to have authentic concern for the situation assured me they would look into it.
&lt;/p&gt;

&lt;h2&gt;Single Use Credit Cards / Virtual Account Numbers&lt;/h2&gt;

&lt;p&gt;
Learned about a number of new options for single-use credit cards - widely known as &amp;quot;Virtual Account Numbers&amp;quot;.
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bank of America Shopsafe&lt;/strong&gt; - &lt;a href="http://www.bankofamerica.com/privacy/index.cfm?template=learn_about_shopsafe"&gt;http://www.bankofamerica.com/privacy/index.cfm?template=learn_about_shopsafe&lt;/a&gt;

&lt;p&gt;&lt;strong&gt;Citi&lt;/strong&gt; appears to offer this as VAN: &lt;a href="
https://www.citibank.com/us/cards/vanpromo/cmc_pop/index2.htm"&gt;https://www.citibank.com/us/cards/vanpromo/cmc_pop/index2.htm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Chase and Wells Fargo did not have similar offerings.
Heard rumors that Paypal and Discover might offer something, if you know - post a link!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-3351083366534477001?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pD1nkK_P33cec_Nz1v5FUUjL2-s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pD1nkK_P33cec_Nz1v5FUUjL2-s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pD1nkK_P33cec_Nz1v5FUUjL2-s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pD1nkK_P33cec_Nz1v5FUUjL2-s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/yA3w8uTsUPM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/3351083366534477001/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=3351083366534477001&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/3351083366534477001?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/3351083366534477001?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/yA3w8uTsUPM/credit-card-fraud-and-new-eggcom-update.html" title="Credit Card fraud and New Egg.com - Update" /><author><name>edoceo</name><uri>http://www.blogger.com/profile/08409805796775528160</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/07/credit-card-fraud-and-new-eggcom-update.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAAQH8_fSp7ImA9WhZaFUk.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-9167536359621958756</id><published>2011-06-30T17:18:00.000-07:00</published><updated>2011-07-01T11:59:01.145-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-01T11:59:01.145-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="e-commerce" /><category scheme="http://www.blogger.com/atom/ns#" term="Fraud" /><category scheme="http://www.blogger.com/atom/ns#" term="Fail" /><category scheme="http://www.blogger.com/atom/ns#" term="NewEgg" /><title>Credit Card fraud and New Egg.com</title><content type="html">&lt;p&gt;
We recently purchased roughly $750 worth of goods from NewEgg.com and two days later the card used for that transaction was being declined at every purchase!
&lt;/p&gt;
&lt;p&gt;
After being embarrassed when a purchase of a $4 coffee was declined we went to the bank to investigate.  We were then informed that there were some fraudulent looking activities against our account so the card had been frozen.  Good thing.
&lt;/p&gt;
&lt;p&gt;
What made the transactions look like fraud was initially that NewEgg hit the account two different times - once for about $400 and the other for close to $350 - with just a few short hours between the to transactions.  These transactions originated from out-of-state - I'm in WA, NewEgg is in CA.
&lt;/p&gt;
&lt;p&gt;
The final straw for the fraud detection was a transaction from a Wal-Mart Bowling Green, KY.
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the Fuck!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;
So, in the first place those two charges from NewEgg triggered the &lt;acronym title="Fraud Detection Systems"&gt;FDS&lt;/acronym&gt; - which is what allowed Wells Fargo to detect the bull-shit charge from Kentucky.  Thank you WF.
&lt;/p&gt;

&lt;p&gt;
But how could my card number have ended up Kentucky?  Well, on speculation here's what we have.
&lt;/p&gt;

&lt;p&gt;
NewEgg (who processed that transaction) has an order fulfillment center in Memphis, TN (as evidenced by the UPS tracking number).  Those shipments travel on I-40 from Memphis to Nashville, TN then north on I-65 to Lousiville, KY - right, directly through Bowling Green, KY - where the fraud occurred.
&lt;/p&gt;

&lt;p&gt;
So, some how, a purchase from NewEgg on the 28th, triggered a fradulent credit-card transaction on the 29th - while my package from the order was traveling through a city on it's route at that same time! What are the odds!?!
&lt;/p&gt;

&lt;p&gt;
Worst case NewEgg is complicit in credit card fraud.  Best case - they have some very unscrupulous people working there.
&lt;/p&gt;

&lt;p&gt;
Also, congratulations to Wells Fargo for detecting and blocking this fraud before it became more than a few hours of inconvenience.
&lt;/p&gt;

&lt;p&gt;
Now I'm stuck waiting for five to seven business days for replacement cards - I have to get cash from the bank teller - like a caveman!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-9167536359621958756?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/40utEN2Sw8T1FbbJUvQNaXXL2Uw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/40utEN2Sw8T1FbbJUvQNaXXL2Uw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/40utEN2Sw8T1FbbJUvQNaXXL2Uw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/40utEN2Sw8T1FbbJUvQNaXXL2Uw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/VwdHRr-EBwI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/9167536359621958756/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=9167536359621958756&amp;isPopup=true" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/9167536359621958756?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/9167536359621958756?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/VwdHRr-EBwI/credit-card-fraud-from-new-eggcom.html" title="Credit Card fraud and New Egg.com" /><author><name>edoceo</name><uri>http://www.blogger.com/profile/08409805796775528160</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>7</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/06/credit-card-fraud-from-new-eggcom.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8CQnY7fCp7ImA9WhZUFkQ.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-5286943681008995282</id><published>2011-06-10T00:56:00.000-07:00</published><updated>2011-06-10T01:01:03.804-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-10T01:01:03.804-07:00</app:edited><title>Google Apps Transition: Checkout</title><content type="html">&lt;p&gt;
As a crappy alternative to being able to properly transition this seemingly simple set of data you can leave the @gtempaccount.com in place and assign to a secondary Admin in your Apps account - at least until Google fixes this fail
&lt;/p&gt;

&lt;p&gt;For now all we can do is &lt;strong&gt;Tell Google:&lt;/strong&gt; &amp;quot;Allow me to Transition this data to my Google Apps based Account!@1!&amp;quot;  Visit &lt;a href="http://www.google.com/support/checkout/bin/static.py?page=suggestions.cs&amp;ctx=cm"&gt;the suggestions page&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-5286943681008995282?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sWCt82nn8DNogAFTadT1favxqRw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sWCt82nn8DNogAFTadT1favxqRw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sWCt82nn8DNogAFTadT1favxqRw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sWCt82nn8DNogAFTadT1favxqRw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/HVLUSDQTCRQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/5286943681008995282/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=5286943681008995282&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/5286943681008995282?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/5286943681008995282?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/HVLUSDQTCRQ/google-apps-transition-checkout.html" title="Google Apps Transition: Checkout" /><author><name>edoceo</name><uri>http://www.blogger.com/profile/08409805796775528160</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/06/google-apps-transition-checkout.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IASXo-eyp7ImA9WhZUFkQ.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-2390149149064599916</id><published>2011-06-10T00:28:00.000-07:00</published><updated>2011-06-10T00:39:08.453-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-10T00:39:08.453-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google Apps" /><title>Google Apps Transition - Google Analytics</title><content type="html">&lt;p&gt;
In similar fashion to the issues with the Blogger Service, Google Analytics require similar steps to remove the gtempaccount.com association - and re-join into the proper/original account in your Domain.
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sign-in to Analytics as the &lt;em&gt;user%&lt;/em&gt; account&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;User Manager&lt;/strong&gt; at the bottom of the dashboard&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Add User&lt;/strong&gt; in the upper-right of the user table&lt;/li&gt;
&lt;li&gt;Enter the email address of &lt;em&gt;user@&lt;/em&gt;, set &lt;strong&gt;Access Type&lt;/strong&gt; to &lt;strong&gt;Account Administrator&lt;/strong&gt; and enable all &lt;strong&gt;Website Profiles&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The new user won't get any email notification&lt;/li&gt;
&lt;li&gt;Sign-out and flush cookies, Sign-in as &lt;em&gt;user@&lt;/em&gt; account&lt;/li&gt;
&lt;li&gt;Use the &lt;strong&gt;User Manager&lt;/strong&gt; to remove the &lt;em&gt;user%&lt;/em&gt; gtempaccount.com user&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
A little easier than the Blogger process and all history and identifiers will be preserved.
&lt;/p&gt;

&lt;h3&gt;See Also&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Soem&lt;/li&gt;
&lt;li&gt;G Page&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-2390149149064599916?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6gAKcKstoRDY9didUsW2SRrb4y4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6gAKcKstoRDY9didUsW2SRrb4y4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6gAKcKstoRDY9didUsW2SRrb4y4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6gAKcKstoRDY9didUsW2SRrb4y4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/512FKHv5bDs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/2390149149064599916/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=2390149149064599916&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/2390149149064599916?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/2390149149064599916?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/512FKHv5bDs/google-apps-transition-google-analytics.html" title="Google Apps Transition - Google Analytics" /><author><name>edoceo</name><uri>http://www.blogger.com/profile/08409805796775528160</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/06/google-apps-transition-google-analytics.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMDQHo8fSp7ImA9WhZUFkQ.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-6326601688886194695</id><published>2011-06-09T20:50:00.001-07:00</published><updated>2011-06-10T00:54:31.475-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-10T00:54:31.475-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fail" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Apps" /><title>Google Apps Accounts Migration for Blogger &amp; Checkout</title><content type="html">&lt;p&gt;
Google has updated their Apps and is forcing all users to Migrate.
Unfortunately not all of their services are ready for this and will not fully migrate automatically.
&lt;/p&gt;

&lt;p&gt; At the time of this writing the following services fail to transition properly: Analytics / Website Optimizer, Blogger, Google Alerts, Google Base, Google Calendar, Google Checkout, Google Custom Search, Google Docs, Google Maps, Google Moderator, Google News, Google Reader, Google Subscribed Links, Google Talk, Groups, iGoogle, Places and Webmaster Tools.&lt;/p&gt;

&lt;p&gt;
Yea, that's quite a lot, these 18 products (of roughly 70) are not ready.
Google has mentioned that eventually this will be fixed but has not announced any ETA.
&lt;/p&gt;

&lt;p&gt;
That makes it difficult for anyone, including us and our clients, to plan.
We've been forced to figure out work-arounds and here is one for what to do on Blogger.
&lt;/p&gt;

&lt;h2&gt;Migrating Blogger or Checkout with Google Apps&lt;/h2&gt;
&lt;p&gt;
This is a tedious process, where your Blogger or Checkout account is going to have the existing authors switched around.
You will need two Google Apps accounts, in the same domain, to perform these steps.
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is is critical that you do not delete your blog or you will lose the custom domain (like blog.edoceo.com)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;user%&lt;/em&gt; represents the old account with the conflicting name that was migrated to gtempaccount.com&lt;/li&gt;
&lt;li&gt;&lt;em&gt;user@&lt;/em&gt; represents the new account in the Google Apps domain&lt;/li&gt;
&lt;li&gt;&lt;em&gt;temp@&lt;/em&gt; represents the account in the Google Apps domain which will be used for an interim Author&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
There were some transitioning issues when attempting to go from the &lt;em&gt;user%&lt;/em&gt; account directly to the &lt;em&gt;user@&lt;/em&gt; account - so we had to use an interim transitioning account - which &lt;em&gt;temp%&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
E.G. For us user@ would be our old blog@domain.com (user@) account, which got migrated to blog%domain.com@gtempaccount.com (user%).
We had to use the interim account shit@domain.com (temp@) during this migration.
&lt;/p&gt;

&lt;p&gt;Here are the steps to follow, may the force be with you.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sign into Blogger using the &lt;em&gt;user%&lt;/em&gt; account&lt;/li&gt;
&lt;li&gt;Visit &lt;strong&gt;Settings » Permissions&lt;/strong&gt; and select to add a new author&lt;/li&gt;
&lt;li&gt;Enter the account for &lt;em&gt;temp@&lt;/em&gt; to become an Author&lt;/li&gt;
&lt;li&gt;Sign out of Google as &lt;em&gt;user%&lt;/em&gt;, flush cookies and sign-in now as &lt;em&gt;temp@&lt;/em&gt;
&lt;/li&gt;&lt;li&gt;Follow the link in the invitaion email, connect to Blogger and create your Profile&lt;/li&gt;
&lt;li&gt;Sign out of Google as &lt;em&gt;temp@&lt;/em&gt; account and sign-in again as &lt;em&gt;user%&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Grant Admin Privileges to this the &lt;em&gt;temp@&lt;/em&gt; user account&lt;/li&gt;
&lt;li&gt;Sign out of Google as &lt;em&gt;user%&lt;/em&gt; and then sign-in as &lt;em&gt;temp@&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Go to Blogger &lt;strong&gt;Settings » Permissions&lt;/strong&gt; again and remove the Author &lt;em&gt;user%&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Sign out of all Google stuff and flush cookies&lt;/li&gt;
&lt;li&gt;Wait about 20 to 30 minutes for the Google Infrastructure to update, going too fast can make the next step fail.&lt;/li&gt;
&lt;li&gt;Did you really wait 30 minutes? Do yourself a favour and execute this step properly&lt;/li&gt;
&lt;li&gt;Sign-in as &lt;em&gt;temp@&lt;/em&gt; then add &lt;em&gt;user@&lt;/em&gt; account to your Blogger (&lt;strong&gt;Settings » Permissions&lt;/strong&gt;), this will bring in the Apps account.&lt;/li&gt;
&lt;li&gt;Sign-out as &lt;em&gt;temp@&lt;/em&gt; then sign-in as &lt;em&gt;user@&lt;/em&gt; and follow the link in this email.&lt;/li&gt;
&lt;li&gt;Sign-out again as &lt;em&gt;temp@&lt;/em&gt; and promote &lt;em&gt;user@&lt;/em&gt; to an administrative level account&lt;/li&gt;
&lt;li&gt;Sign-in now as &lt;em&gt;user@&lt;/em&gt; and visit Blogger, you should have full control.&lt;/li&gt;
&lt;li&gt;None of the Profile settings from the &lt;em&gt;user%&lt;/em&gt; account will be migrated to the &lt;em&gt;user@&lt;/em&gt; account so you will be required to re-create all that.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
There is some data migration issue that Google has not resolved yet.
When you start promoting your Google Apps domain to function more like a Google Account (or when Google forces your migration) these steps will be necessary to clean data out of your @gtempaccount.com domain and into your desired domain.
&lt;/p&gt;

&lt;h3&gt;See Also&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.wysiwygmedia.com/howto/google-apps-transition-services-matrix.wm"&gt;App Transition Matrix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.google.com/support/blogger/bin/answer.py?hl=en&amp;answer=41448"&gt;Google's Help on moving Blogger Accounts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.google.vu/support/forum/p/Google+Apps/thread?tid=17c63a3d95e85ac4&amp;hl=en"&gt;Unanswered Checkout Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.google.pl/support/forum/p/Google+Apps/thread?tid=22339be8074cd956&amp;hl=en"&gt;Checkout Migration Issues&lt;/a&gt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-6326601688886194695?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/z1DOD6iGYwbM7hG55DcVUlUQ6t8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z1DOD6iGYwbM7hG55DcVUlUQ6t8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/z1DOD6iGYwbM7hG55DcVUlUQ6t8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z1DOD6iGYwbM7hG55DcVUlUQ6t8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/IjqOBVTcRPM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/6326601688886194695/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=6326601688886194695&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/6326601688886194695?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/6326601688886194695?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/IjqOBVTcRPM/google-apps-migration-blogger-accounts.html" title="Google Apps Accounts Migration for Blogger &amp; Checkout" /><author><name>David</name><uri>http://www.blogger.com/profile/14994242304180586426</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/06/google-apps-migration-blogger-accounts.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMBQ3szeyp7ImA9WhZXFk8.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-2803903783586116240</id><published>2011-05-05T12:01:00.000-07:00</published><updated>2011-05-05T12:07:32.583-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-05T12:07:32.583-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fail" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Google Apps to Accounts Transition Failures</title><content type="html">&lt;p&gt;The process of migrating Google Apps to their new Google Accounts features is an un-mitigated disaster.  Our clients and ourselves have had nothing but problems the whole time.  The transition process is incomplete, orphans many critical services and has no work around.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;If you use any of the following services you'd want to avoid migration but Google is forcing us along that path - so now your vendor (Google) is shooting you in the foot.&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Checkout Fails to Migrate&lt;/h2&gt;&lt;p&gt;Google Checkout fails to migrate and as of yet there is no option to transfer data, so you are forced to create a new Google Checkout, re-validate your bank-account and re-configure your store front an everything, effectively starting from scratch. Major Fail.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Analytics, AdSense and AdWords Fail to Migrate&lt;/h2&gt;&lt;p&gt;These services, also critical for those of us &lt;em&gt;paying&lt;/em&gt; for Google Apps also fail to migrate leaving orphaned accounts.  Start all over.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Blogger Fails to Migrate&lt;/h2&gt;&lt;p&gt;Blogger fails to migrate but you can switch owners, a simple manual process.  One would think that something so easy could have been built by Google's Engineers before they attempted to push us all to migrate.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;They also provide a page with instructions, but those don't work yet.  From our experience and those we've tried to help, you cannot add the transistion account because the target domain account is already listed as an Author, but when you login with that account you cannot make posts.  Sloppy at best.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Alerts Fail to Migrate&lt;/h2&gt;&lt;p&gt;This one also fails, forcing humans to manually re-create the alerts they had.&lt;br /&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-2803903783586116240?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Y6aVIBAbtC5YOEmLbOwmmjFfby8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y6aVIBAbtC5YOEmLbOwmmjFfby8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Y6aVIBAbtC5YOEmLbOwmmjFfby8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y6aVIBAbtC5YOEmLbOwmmjFfby8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/hk6WyYFBtYQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/2803903783586116240/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=2803903783586116240&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/2803903783586116240?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/2803903783586116240?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/hk6WyYFBtYQ/google-apps-to-accounts-transition.html" title="Google Apps to Accounts Transition Failures" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/05/google-apps-to-accounts-transition.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMBRXk5eyp7ImA9WhZXFk8.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-6690184738625207617</id><published>2011-05-05T11:54:00.001-07:00</published><updated>2011-05-05T13:30:54.723-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-05T13:30:54.723-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fail" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Google Apps, Talk / XMPP, Andriod Failures - Part 2</title><content type="html">&lt;p&gt;The process has now gotten even worse.  We have had to visit the Google Apps domain control panel multiple times now to disable Chat, and it some how keeps getting re-enabled.  The &amp;quot;support&amp;quot; staff from Google is still clueless, after more than a dozen detailed emails showing direct XML between their XMPP system and ours.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Update from Google&lt;/h2&gt;&lt;p&gt;We spoke to Google about this issue, apparently the Android team knows this is an issue but, well you can see:&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;strong&gt;Google:&lt;/strong&gt; &amp;quot;They dont have an ETA yet, they told me they are still working on it and it will be sometime in the distant future.  They cannot give an exact date or time period because there is a lot of testing and development to be done etc and all the various variables involved make it hard to give a time period.  But they said they are working on it and will try to release some of the fixes in future updates to the OS.  Hope that helps.&amp;quot;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;h2&gt;Update from Edoceo&lt;/h2&gt;&lt;p&gt;The previous fix we listed actually does not work.  Oddly what happened was that Chat/Talk got re-enabled for our domain when we told our Android phone to sync; that then caused problems for everyone else who was trying to chat with us.  It's broken and Google doesn't care about their customers, no ETA on fix.&lt;br /&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-6690184738625207617?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iVxeflCrZUAtd_EmwY_TeM98ya0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iVxeflCrZUAtd_EmwY_TeM98ya0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iVxeflCrZUAtd_EmwY_TeM98ya0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iVxeflCrZUAtd_EmwY_TeM98ya0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/vnozbqN3uFs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/6690184738625207617/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=6690184738625207617&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/6690184738625207617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/6690184738625207617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/vnozbqN3uFs/google-apps-talk-xmpp-andriod-failures.html" title="Google Apps, Talk / XMPP, Andriod Failures - Part 2" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/05/google-apps-talk-xmpp-andriod-failures.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4MR3o4eip7ImA9WhZXEE4.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-4576367310495030814</id><published>2011-04-28T11:27:00.000-07:00</published><updated>2011-04-28T15:49:46.432-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-28T15:49:46.432-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fail" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Apps" /><title>Google Apps, Talk / XMPP, Andriod Failures</title><content type="html">&lt;p&gt;We recently decided to disable the Google Talk feature for our Google Apps for Business and use our own Jabber/XMPP server to improve monitoring and audit-ability of these communications. Turns out Google does not like it when you dis-connect their services and it will fully break email services on your phone.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Disabling Google Talk / XMPP&lt;/h2&gt;&lt;p&gt;This process is simple enough.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Create your own XMPP Server (ejabberd works well)&lt;/li&gt;
&lt;li&gt;Update the DNS Service Records&lt;/li&gt;
&lt;li&gt;Disable the Google Talk service in the control panel for Google Apps&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;p&gt;At this point you'll notice that your Android phone starts throwing authentication errors for Google Talk, even if the Talk service is not running, disabled and such.  This error about Talk authentication is actually coming from the Google Mail service on the phone.  It appears every time the phone tries to sync the mail or calendar.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;We had hoped this issues would be resolved after all systems were updated but even after 24 hours these errors/issues were still affecting all users.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;The actual error is this:&lt;br /&gt;
&lt;/p&gt;&lt;pre&gt;Authentication Error
Google Talk failed to login. If
this is a Google Apps account,
confirm that Chat service is
enabled for this account.
  [ Retry ] [ Cancel ]
&lt;/pre&gt;&lt;p&gt;If you press Retry it will of course retry and fail, if you press Cancel then your phone will no longer receive mail on that account, leaving you bricked.  Don't worry, it will throw the error again in a few minutes - and still not deliver email to your phone.  This error still appears even when Sync is fully disabled for the affected account.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Attempts a Resolution&lt;/h2&gt;&lt;p&gt;We attempted multiple ways to try to fix this.  The easiest fix was to simply remove that Google Apps account from the phone and re-add it - all was well.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;However, that does not work on the primary Google Account on the phone as that one cannot be removed! Now you have a broken account that cannot be removed, re-created and updated to function properly.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;So we opened a trouble ticket with Google, via email, and waited 36 hours without a response.  As we have Google Apps for Business we also get telephone support for "down" emergencies, such as when our phones cannot receive any email messages.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Three times we called Google (877.355.5787) and were disconnected by their system after entering our support PIN, that sucked.  We finally got a hold of them to explain the issue, went like this: &lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;Me:&lt;/em&gt; My phone no longer receives messages. I disabled Talk services and now phones cannot receive email.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Google:&lt;/em&gt; I'll have to dispatch this to our technical team&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Me:&lt;/em&gt; [ waits 10 minutes ]&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Google:&lt;/em&gt; What network connection are you using wee-fee?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Me:&lt;/em&gt; You mean why-fi?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Google:&lt;/em&gt; Here is your ticket number, we'll call you back within 24 hours. Anything else we can help you with?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Me:&lt;/em&gt; It would help to get support now, not some mythical time in the future, but we have no choice, I guess I'll wait with broken email.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;p&gt;They sent an email to follow up with my email down issue, awesome. Of particular note was that our domain name was listed as &amp;quot;Edoceo, Inc.&amp;quot;, affected accounts were mis-identified, and the carrier was noted as &amp;quot;Striant&amp;quot; - not &amp;quot;Sprint&amp;quot; like I explained and spelled for the CSR who took the call (their command of the English language was not good).&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Hard to have confidence in Google when the service is so fragile and the &amp;quot;support&amp;quot; team is so very sub-par.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;How to Fix (what Google should do)&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Google Mail should not be attempting to sign-in to Chat when Chat is disabled for this domain.  Perhaps it could update settings on the account when service options change.&lt;/li&gt;
&lt;li&gt;An option to disable this would be handy. There are no settings for the Chat service in the Google Mail account setup on the phone, only for Contacts, Mail and Calendar.&lt;/li&gt;
&lt;li&gt;Not forcing users to tie their phones to an un-removable Google Account would be handy.&lt;/li&gt;
&lt;li&gt;Calling the product by a single name would help, Chat and Talk are the same, but confused the CSR.&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;h2&gt;Update from Google #1&lt;/h2&gt;&lt;p&gt;Google advised to just add the account (yes, the one that was already added and that could not be removed because it was the primary).  So their first attempt at &amp;quot;support&amp;quot; was #fail.  Clearly their support reps did not even read the report we submitted.  Also of note here is that follow-up to our support telephone call was an email from a support rep that only contained canned instructions.  Google clearly has a lot to learn about customer service.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Update from Google #2&lt;/h2&gt;&lt;p&gt;Supposedly can simply 'Resync Account' by visiting Settings &amp;raquo; Accounts &amp;amp; Sync &amp;raquo; [ your account ] &amp;raquo; Sync Now.  We tried that, waited but the error still appeared.&lt;br /&gt;
&lt;/p&gt;&lt;h2&gt;Update from Edoceo #1&lt;/h2&gt;&lt;p&gt;That clue from Google may have started the right process.  We noticed still at issue was the Google hosted servers still (even after 24h) think they are responsible for XMPP services for edoceo.com (details below).  While that is not true, their updates appear to just be taking a while to publish to all their systems.  A typical problem for large scale service providers.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Fixed:&lt;/strong&gt; Clearly caching is an issue, which led us to the following solution.&lt;br /&gt;
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Settings &amp;raquo; Accounts &amp;amp; Sync &amp;raquo;, for each affected account&lt;/li&gt;
&lt;li&gt;Uncheck All Sync Options (Contacts, Gmail, Calendar)&lt;/li&gt;
&lt;li&gt;Wait for two hours (could be less, but that's how long we waited)&lt;/li&gt;
&lt;li&gt;Revist account options, re-enable Sync for desired services&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;p&gt;This will even work to fix issues on the primary account, which cannot be removed.  Once it came back on-line the errors from Google Talk Authentication were no longer present.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;On another device, which had the affected account not the primary, we were able to remove and re-add the account to fix. Duh, right?&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Here is the details about the issue from our eJabberd verbose logs.&lt;/p&gt;&lt;pre&gt;&amp;lt;stream:error&amp;gt;
  &amp;lt;undefined-condition xmlns=&amp;quot;urn:ietf:params:xml:ns:xmpp-streams&amp;quot; /&amp;gt;
    &amp;lt;str:text xmlns:str=&amp;quot;urn:ietf:params:xml:ns:xmpp-streams&amp;quot;&amp;gt;edoceo.com is a Google Apps Domain with Talk service enabled.&amp;lt;/str:text&amp;gt;
  &amp;lt;/stream:error&amp;gt;
&amp;lt/stream:stream&amp;gt;

&amp;lt;iq from=&amp;quot;$buddy@gmail.com&amp;quot; to=&amp;quot;me@edoceo.com/Office&amp;quot; type=&amp;quot;error&amp;quot; id=&amp;quot;purplef88a9f67&amp;quot;&amp;gt;
  &amp;lt;vCard xmlns='vcard-temp'/&amp;gt;
  &amp;lt;error code='404' type='cancel'&amp;gt;
    &amp;lt;remote-server-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas' /&amp;gt;
  &amp;lt;/error&amp;gt;
&amp;lt;/iq&amp;gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-4576367310495030814?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dcpw1E1FIjvbTQjS4y5Jp3W9tQE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dcpw1E1FIjvbTQjS4y5Jp3W9tQE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dcpw1E1FIjvbTQjS4y5Jp3W9tQE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dcpw1E1FIjvbTQjS4y5Jp3W9tQE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/iEdeHxGQsWA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/4576367310495030814/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=4576367310495030814&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/4576367310495030814?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/4576367310495030814?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/iEdeHxGQsWA/google-apps-talk-xmpp-andriod-failures.html" title="Google Apps, Talk / XMPP, Andriod Failures" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/04/google-apps-talk-xmpp-andriod-failures.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEHQHg9cCp7ImA9WhZTGUs.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-2264533862519171173</id><published>2011-03-24T04:03:00.000-07:00</published><updated>2011-03-24T04:03:51.668-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-24T04:03:51.668-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Gentoo" /><category scheme="http://www.blogger.com/atom/ns#" term="Engineering" /><title>Our Best Uptime - Ever!</title><content type="html">&lt;p&gt;At Edoceo we've been operating servers and internet systems since at least 1997. Many of us have experience dating even further.  This month (Jan 2011) we'll be moving systems around and one of our longest running systems will have to be taken off-line forever - the hardware is simply too old now.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Just sharing a bit of our history on this box and a little bragging too.&lt;br /&gt;
This system has been running since &lt;strong&gt;Wed Feb  1 02:25:22 2006&lt;/strong&gt;!!&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;The system itself is an old P3/850 that we purchased at a dot-com liquidation auction run by &lt;a href="http://murphyauction.com/"&gt;James G Murphy auction house&lt;/a&gt; - we attended at least a dozen of their auctions - they run good operation.  It was installed with our favourite distro: Gentoo and housed at &lt;a href="http://sitespecific.net/"&gt;SiteSpecific&lt;/a&gt; in Seattle.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;We've just finished migrating all services off and are about to issue the final `&lt;code&gt;poweroff&lt;/code&gt;` command once this is posted.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h3&gt;The Hardware&lt;/h3&gt;&lt;p&gt;It's a P3/850 with 512MiB of RAM and a small, 15GiB IDE disk.&lt;/p&gt;&lt;pre&gt;lithium ~ # cat /proc/cpuinfo 
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model  : 8
model name : Pentium III (Coppermine)
stepping : 6
cpu MHz  : 847.583
cache size : 256 KB
fdiv_bug : no
hlt_bug  : no
f00f_bug : no
coma_bug : no
fpu  : yes
fpu_exception : yes
cpuid level : 2
wp  : yes
flags  : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1697.27
&lt;/pre&gt;&lt;pre&gt;lithium ~ # cat /proc/meminfo 
MemTotal:       515424 kB
MemFree:        283108 kB
Buffers:        156472 kB
Cached:          36652 kB
SwapCached:          0 kB
Active:         179176 kB
Inactive:        18396 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       515424 kB
LowFree:        283108 kB
SwapTotal:      498004 kB
SwapFree:       497948 kB
Dirty:               0 kB
Writeback:           0 kB
Mapped:           9488 kB
Slab:            33132 kB
CommitLimit:    755716 kB
Committed_AS:    11856 kB
PageTables:        224 kB
VmallocTotal:   515816 kB
VmallocUsed:       952 kB
VmallocChunk:   514788 kB
&lt;/pre&gt;&lt;pre&gt;lithium ~ # sfdisk -uM -l /dev/hda

Disk /dev/hda: 32760 cylinders, 16 heads, 63 sectors/track
Warning: The partition table looks like it was made
  for C/H/S=*/255/63 (instead of 32760/16/63).
For this listing I'll assume that geometry.
Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start   End    MiB    #blocks   Id  System
/dev/hda1   *     0+    62-    63-     64228+  83  Linux
/dev/hda2        62+   549-   487-    498015   83  Linux
/dev/hda3       549+ 16119- 15571-  15944512+  83  Linux
/dev/hda4         0      -      0          0    0  Empty
&lt;/pre&gt;&lt;br /&gt;
&lt;h3&gt;Software&lt;/h3&gt;&lt;p&gt;Very old 2.6.x kernel, reasonably new OpenSSH, Lighttpd and Postfix&lt;/p&gt;&lt;pre&gt;lithium ~ # uname -a 
Linux lithium 2.6.13-gentoo-r5 #1 Tue Nov 1 14:42:07 PST 2005 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux
&lt;/pre&gt;&lt;pre&gt;lithium ~ # ssh -V
OpenSSH_5.2p1, OpenSSL 0.9.8k 25 Mar 2009
&lt;/pre&gt;&lt;pre&gt;lithium ~ # lighttpd -V
lighttpd-1.4.20 (ssl) - a light and fast webserver
Build-Date: Jun 23 2009 07:51:59
&lt;/pre&gt;&lt;pre&gt;lithium ~ # postconf mail_version
mail_version = 2.5.5
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;The Uptime Proof&lt;/h2&gt;&lt;p&gt;Here shows our uptime command, process table, tune2fs information.&lt;br /&gt;
Notice the kernel started in 2006!&lt;br /&gt;
&lt;/p&gt;&lt;pre&gt;lithium ~ # uptime
 11:38:42 up 1804 days, 16:42,  2 users,  load average: 1.05, 0.73, 0.45
&lt;/pre&gt;&lt;pre&gt;lithium ~ # ps -eF
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  0   419   500   0  2006 ?        00:42:40 init [3]         
root         2     1  0     0     0   0  2006 ?        00:04:35 [ksoftirqd/0]
root         3     1  0     0     0   0  2006 ?        00:44:50 [events/0]
root         4     1  0     0     0   0  2006 ?        00:10:19 [khelper]
root         5     1  0     0     0   0  2006 ?        00:00:00 [kthread]
root         7     5  0     0     0   0  2006 ?        00:03:35 [kblockd/0]
root        54     5  0     0     0   0  2006 ?        00:00:00 [aio/0]
root        53     1  0     0     0   0  2006 ?        00:12:53 [kswapd0]
root       638     5  0     0     0   0  2006 ?        00:00:00 [kseriod]
root       669     1  0     0     0   0  2006 ?        00:49:43 [kjournald]
root      7228     1  0   404   684   0  2006 tty1     00:00:00 /sbin/agetty 38400 tty1 linux
root      7231     1  0   404   684   0  2006 tty2     00:00:00 /sbin/agetty 38400 tty2 linux
root      4020     1  0   820  2272   0  2008 ?        03:14:55 /usr/sbin/syslog-ng
root      1599     1  0   945  1020   0  2008 ?        00:00:00 /usr/sbin/saslauthd -a pam -n 3
root      1600  1599  0   945  1020   0  2008 ?        00:00:00 /usr/sbin/saslauthd -a pam -n 3
root      1601  1599  0   945  1020   0  2008 ?        00:00:00 /usr/sbin/saslauthd -a pam -n 3
root     32007     5  0     0     0   0  2009 ?        00:00:18 [pdflush]
root     19284     1  0   437   624   0  2009 ?        00:00:00 /sbin/udevd --daemon
root      6711     5  0     0     0   0  2009 ?        00:00:00 [kauditd]
root     18726     1  0   550   844   0  2009 ?        00:00:00 /usr/sbin/fcron -c /etc/fcron/fcron.conf
root      7784     5  0     0     0   0  2010 ?        00:00:07 [pdflush]
root     11131     1  0  1155  1848   0  2010 ?        00:00:22 /usr/sbin/sshd
root     11277     1  0  1373  1584   0  2010 ?        00:00:01 /usr/lib/postfix/master
postfix  11282 11277  0  1394  1668   0  2010 ?        00:00:00 qmgr -l -t fifo -u
root      6338 11131  0  1795  2200   0 Jan07 ?        00:00:05 sshd: root@pts/0 
root      6343  6338  0   762  1684   0 Jan07 pts/0    00:00:00 -bash
postfix  21039 11277  0  1380  1528   0 10:11 ?        00:00:00 pickup -l -t fifo -u
lighttpd 21132     1  0  1010  1380   0 11:15 ?        00:00:00 /usr/sbin/lighttpd -f /etc/lighttpd /lighttpd.conf
root     21165  6343  0   582   920   0 11:15 pts/0    00:00:00 ps -eF
&lt;/pre&gt;&lt;pre&gt;lithium ~ # tune2fs -l /dev/hda3
tune2fs 1.41.3 (12-Oct-2008)
Filesystem volume name:   &lt;none&gt;
Last mounted on:          &lt;not available&gt;
Filesystem UUID:          5384337f-6d08-4938-bc70-049a10dc3bee
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal filetype needs_recovery sparse_super large_file
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              1994944
Block count:              3986128
Reserved block count:     199306
Free blocks:              2985298
Free inodes:              1708965
First block:              0
Block size:               4096
Fragment size:            4096
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         16352
Inode blocks per group:   511
Filesystem created:       Sat Oct 23 11:45:48 2004
Last mount time:          Wed Feb  1 02:25:22 2006
Last write time:          Wed Feb  1 02:25:22 2006
Mount count:              31
Maximum mount count:      30
Last checked:             Sat Oct 23 11:45:48 2004
Check interval:           15552000 (6 months)
Next check after:         Thu Apr 21 11:45:48 2005
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           128
Journal inode:            8
First orphan inode:       164326
Default directory hash:   tea
Directory Hash Seed:      e397094b-92b8-4e0d-a0d5-9b9397d7bca6
Journal backup:           inode blocks
&lt;/pre&gt;&lt;br /&gt;
&lt;h3&gt;Work Load&lt;/h3&gt;&lt;p&gt;Mail messages processed in 2010&lt;/p&gt;&lt;pre&gt;lithium 2010 # for d in /var/log/2010/*; do echo -n "2010.$d = "; grep 'status=sent' $d/*/mail.log|wc -l; done
2010.01 = 53326
2010.02 = 48392
2010.03 = 65538
2010.04 = 77076
2010.05 = 34868
2010.06 = 214204
2010.07 = 247701
2010.08 = 377079
2010.09 = 407144
2010.10 = 212466
2010.11 = 1246
2010.12 = 727
&lt;/pre&gt;&lt;h3&gt;Pages Served&lt;/h3&gt;&lt;p&gt;Only the last few months were available in the logs, notice logs are not rotated :(&lt;/p&gt;&lt;pre&gt;lithium ~ # grep 'Sep/2010' /var/log/lighttpd/access.log |wc -l
287049
lithium ~ # grep 'Oct/2010' /var/log/lighttpd/access.log |wc -l
294449
lithium ~ # grep 'Nov/2010' /var/log/lighttpd/access.log |wc -l
256327
lithium ~ # grep 'Dec/2010' /var/log/lighttpd/access.log |wc -l
260599
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-2264533862519171173?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8r_PNmQxYrrs4b5ORRcZ3AUP-2c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8r_PNmQxYrrs4b5ORRcZ3AUP-2c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8r_PNmQxYrrs4b5ORRcZ3AUP-2c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8r_PNmQxYrrs4b5ORRcZ3AUP-2c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/vta17l3psco" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/2264533862519171173/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=2264533862519171173&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/2264533862519171173?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/2264533862519171173?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/vta17l3psco/our-best-uptime-ever.html" title="Our Best Uptime - Ever!" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/03/our-best-uptime-ever.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MGRn86fSp7ImA9Wx9UF0s.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-6921357282051553822</id><published>2011-02-15T01:17:00.000-08:00</published><updated>2011-02-15T01:17:07.115-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-15T01:17:07.115-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Email" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Google Mail Aggressive Spam Marking, Latency Issues in GMail</title><content type="html">&lt;p&gt;Lately more an more of the legitimate message to our Google Apps have been getting tagged as SPAM.  This is a big bad thing, not because SPAM is bad but because Google's Spam filter has been so good we (everyone) seems to forget to check the Spam label.&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Symptoms of False Spam&lt;/h2&gt;&lt;p&gt;Firstly these messages are shown with the following warning:&lt;/p&gt;&lt;p style="background:#f00;color:#fff;"&gt;Warning: This message may not be from whom it claims to be. Beware of following any links in it or of providing the sender with any personal information.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;More and more messages are being tagged, many are legitimate like ones from Chase, WellsFargo, LinkedIn, Facebook who have properly configured MX, SMTP and DNS/SPF systems.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Another part of the issue, which we can see from headers, are DNS errors which appear to be happening inside the Google network, vis:&lt;/p&gt;&lt;br /&gt;
&lt;pre&gt;Received: from mail-iy0-f197.google.com (mail-iy0-f197.google.com [209.85.210.197])
        by mx.google.com with ESMTPS id j8si5748968icp.124.2011.02.13.19.59.23
        (version=TLSv1/SSLv3 cipher=OTHER);
        Sun, 13 Feb 2011 19:59:23 -0800 (PST)
Received-SPF: error (google.com: error in processing during lookup of XXX+bncCOq0i6ayARCb0eLqBBoE1p7bnQ@edoceo.com: DNS timeout) client-ip=209.85.210.197;
Authentication-Results: mx.google.com; spf=temperror (google.com: error in processing during lookup of XXX+bncCOq0i6ayARCb0eLqBBoE1p7bnQ@edoceo.com: DNS timeout) smtp.mail=busby+bncCOq0i6ayARCb0eLqBBoE1p7bnQ@edoceo.com
Received: by iye7 with SMTP id 7sf5690121iye.0
        for &lt;XXX@edoceo.com&gt;; Sun, 13 Feb 2011 19:59:23 -0800 (PST)
Received: by 10.231.39.205 with SMTP id h13mr719416ibe.4.1297655963810;
        Sun, 13 Feb 2011 19:59:23 -0800 (PST)
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Intra Domain Issues&lt;/h2&gt;&lt;p&gt;Another issue we've been seeing happen is completely internal to Google Apps.  In this circumstance the intra-domain message of some Google Apps users have been rejected, with 500 level SMTP errors and/or some timeout issues.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;We'll keep watching this one to see what happens, it's very intermittent at the present.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-6921357282051553822?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-Mivf9M36quCHlS-KGBpHx-iFAk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-Mivf9M36quCHlS-KGBpHx-iFAk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-Mivf9M36quCHlS-KGBpHx-iFAk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-Mivf9M36quCHlS-KGBpHx-iFAk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/2DgCpKvfJzE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/6921357282051553822/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=6921357282051553822&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/6921357282051553822?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/6921357282051553822?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/2DgCpKvfJzE/google-mail-aggressive-spam-marking.html" title="Google Mail Aggressive Spam Marking, Latency Issues in GMail" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2011/02/google-mail-aggressive-spam-marking.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEDQHo7eyp7ImA9Wx9SGEk.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-7916760976199277288</id><published>2010-12-08T11:19:00.000-08:00</published><updated>2010-12-08T13:11:11.403-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-08T13:11:11.403-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><title>TDSS.tld4 - Microsoft Support Issues</title><content type="html">&lt;p&gt;A client's computer was infected by this virus virus.&lt;br /&gt;
The symptoms were that visits to Microsoft and other security sites were blocked.&lt;br /&gt;
Many were re-directed to "get-search-results.com".&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Microsoft offers free support for their systems when they are infected.&lt;br /&gt;
Just call: 1-866-727-2338&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;The issue appears to be a resurgence in the TDSS virus.&lt;br /&gt;
Windows update won't work, Windows Live OneCare won't work.&lt;br /&gt;
Microsoft Support won't work either, they simply ask you to run these tools that you can't get to because of the Virus.  It's very much a chicken and egg issue, doctor heal thyself.  If I cannot visit these sites how can I run these tools.  I had to spend over 30 minutes on the phone with their &amp;quot;Technician&amp;quot; to explain that fact to them.  What a waste of time.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Then, after re-trying all the obvious things that I already tried the &amp;quot;Technician&amp;quot; and wasting an additional 45 minutes. Says they don't know the answer (*shock!*) and will have to transfer me to an Internet Explorer specialist - then the call drops.  &lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;So I call back, get a new technician, waste more time getting this person up to speed.  Then this tech transfers me to another &amp;quot;Technician&amp;quot; - that was more than 20 minutes on hold.  This technician was supposed to help me get the IE fixed.  This &amp;quot;Technican&amp;quot; then told me they could not help and send me back to the beginning of the line to PC Safety.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;So back now to my fourth try with PC Safety support.  By this time I'd already performed some clean up and got the system functioning much better.  This guy says simply: Hey lets use Kaspersky tools.  Shortly there-after we found the TDSS.tdl4 root-kit.  Removed it, rebooted.  Then use &lt;a href="http://www.bleepingcomputer.com/combofix/how-to-use-combofix"&gt;ComboFix&lt;/a&gt;, then reboot.&lt;br /&gt;
Should able to run Updates and other pieces successfully.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Ran into one more problem when the Updates failed, had to manually add some keys to the registry.&lt;br /&gt;
See &lt;a href="http://edoceo.com/notabene/windows-update"&gt;our Windows Update notes&lt;/a&gt; for more info.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;There was over an hour wasted with their &amp;quot;Support&amp;quot; factoring in support costs &amp;amp; the lost-productivity and this virus costs over $1000.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Keep your systems updated, get &amp;amp; use an Active Anti-Virus tool such as &lt;a href="http://usa.kaspersky.com/downloads"&gt;Kaspersky&lt;/a&gt;, use tools such as &lt;a href="http://www.safer-networking.org/en/index.html"&gt;SpyBot&lt;/a&gt; and &lt;a href="http://www.piriform.com/ccleaner/download"&gt;CCleaner&lt;/a&gt; to keep cruft from building up, where virii hide.&lt;br /&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-7916760976199277288?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FksWDIS8TWCgiAzr7nz007TCSv4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FksWDIS8TWCgiAzr7nz007TCSv4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FksWDIS8TWCgiAzr7nz007TCSv4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FksWDIS8TWCgiAzr7nz007TCSv4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/Y0x_0fbUJrM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/7916760976199277288/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=7916760976199277288&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/7916760976199277288?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/7916760976199277288?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/Y0x_0fbUJrM/tdsstld4-microsoft-support-issues.html" title="TDSS.tld4 - Microsoft Support Issues" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.edoceo.com/2010/12/tdsstld4-microsoft-support-issues.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUEQ349eip7ImA9Wx9TE08.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-3090889809128171487</id><published>2010-11-21T00:30:00.000-08:00</published><updated>2010-11-21T00:30:02.062-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-21T00:30:02.062-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web-Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Apps" /><title>Google Apps Accounts Merging with Google Accounts</title><content type="html">&lt;p&gt;Google has recently been deploying migration/integration of Google Apps Accounts to work more like a regular Google Account.&amp;nbsp; Nice feature but migration is not as smooth as one would think.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;I expected Google to implement a "seamless" migration.&amp;nbsp; That is to say, if I had a Google Account of user@domain.tld and also Google Apps for domain.tld when Google Apps is expanded data from the general Google Account would be merged/migrated/re-associated&amp;nbsp; - poof.&amp;nbsp; Perhaps even the Google team could have created a conflict-merge tool.&amp;nbsp; Complicated but, they have loads of cash and many intelligent people.&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Actuality&lt;/h2&gt;&lt;br /&gt;
&lt;p&gt;For some of our clients this migration has been not a big deal, perhaps only one or two accounts were even affected.&amp;nbsp; For them the case was easy - turn all features on and for the general Google Account they were simply deleted.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Other accounts needed to pull Calendar and other data to then re-publish in their newly-enabled full-featured Google Apps Account.  This is a tedious process.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Delete your old general Google Account account by logging in, by-pass any migration steps and then pick "Manage My Account" and then "Edit" under My products section.&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Migration Fails&lt;/h2&gt;&lt;br /&gt;
&lt;p&gt;Other users had some accounts that were tied to many, if not most, Google services such as Blogger, Checkout, Picasa, Analytics, Webmaster Tools, YouTube, &amp;amp;c.&amp;nbsp; Here is a &lt;b&gt;BIG ISSUE&lt;/b&gt; if you read this &lt;a href="http://www.google.com/support/a/bin/answer.py?hl=en&amp;amp;answer=1050693"&gt;help page&lt;/a&gt; from Google it will tell you accounts connected to many of those services cannot be migrated - they will continue to work - and hopefully be migrated soon.  It may make sense to hold off on migration until the process with these services is worked out.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-3090889809128171487?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0IxtM5_kWgYjs5oYKxtHYJxV1I0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0IxtM5_kWgYjs5oYKxtHYJxV1I0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0IxtM5_kWgYjs5oYKxtHYJxV1I0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0IxtM5_kWgYjs5oYKxtHYJxV1I0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/T8_T-ZOLG8A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/3090889809128171487/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=3090889809128171487&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/3090889809128171487?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/3090889809128171487?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/T8_T-ZOLG8A/google-apps-accounts-merging-with.html" title="Google Apps Accounts Merging with Google Accounts" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2010/11/google-apps-accounts-merging-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4MQH0-fCp7ImA9Wx5SEUw.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-4169888078827460520</id><published>2010-08-06T10:16:00.000-07:00</published><updated>2010-08-06T10:16:21.354-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-06T10:16:21.354-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web-Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="Fail" /><category scheme="http://www.blogger.com/atom/ns#" term="Internet" /><title>rDNS Epic Failures</title><content type="html">&lt;p&gt;Over the past week we've been helping a client get their systems properly configured.  One of the issues we needed to resolve was reverse DNS entries (rDNS).  Pretty simple task huh?  Especially for the "network engineers" at a data centre.  Surely they should know how to do this.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;For more than eight days we had to work with this colo-provider.  We asked for rDNS entries.  After two days they responded, asking for clarification.  Um? REVERSE DNS, add it to your NS!!.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;A day later they responded that it was complete.  We checked.  No entry was found.  SERVFAIL was the response from the `host` command.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Using `dig` directly to their NS we were able to see that their NS (the authoritative one for this block of IPs according to ARIN) was responding to these was REFUSED!!.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Usually `dig` responds with something like this:&lt;/p&gt;&lt;pre&gt;;; HEADER opcode: QUERY, status: NOERROR, id: 64327
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;Their epic-failure response looks like this:&lt;/p&gt;&lt;pre&gt;;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: REFUSED, id: 34593
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
&lt;/pre&gt;

&lt;p&gt;They are the authoritative NS for this block of IPs and they refused PTR queries from the public internet, which they are supposed to be serving.  Apparently this had been an issue at their facility for weeks if not months.  It took us three days to explain to their "engineers" why this was an issue! Read the fucking RFCs idiot!
&lt;/p&gt;
&lt;p&gt;Of particular humour was when they demonstrated to us their NS was working, by testing the NS from it-self (epic fail!). Our point was that the NS wasn't working from outside (London, Dallas, Seattle).  What did they do? Test from localhost. Um? Are you kidding me?
&lt;/p&gt;
&lt;p&gt;It's unfortunate that there are so many amateurs.  If you're sick of working with them call us.  We follow standards and persistently push others to do the same.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-4169888078827460520?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Tb7rIRJJkpeInZG-wfRc6mHoY7s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Tb7rIRJJkpeInZG-wfRc6mHoY7s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Tb7rIRJJkpeInZG-wfRc6mHoY7s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Tb7rIRJJkpeInZG-wfRc6mHoY7s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/DdRCVG0HLg4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/4169888078827460520/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=4169888078827460520&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/4169888078827460520?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/4169888078827460520?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/DdRCVG0HLg4/rdns-epic-failures.html" title="rDNS Epic Failures" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2010/08/rdns-epic-failures.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QNSHY9eyp7ImA9Wx5TF08.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-4848382121758176824</id><published>2010-08-01T23:09:00.000-07:00</published><updated>2010-08-01T23:09:59.863-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T23:09:59.863-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web-Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="e-commerce" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><title>Site Slowness? Too many Queries Maybe?</title><content type="html">&lt;p&gt;We are currently migrating a clients site to a new platform. One of the original complaints with regard to the existing site was slowness.  Think I found the answer today.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;It takes 119 queries to display a product page.  There was one query (exactly the same, no updates in between) executed 16 times! And another one run 30+ time because the author of the code didn't want to use the SQL operator &lt;em&gt;IN&lt;/em&gt; or do a &lt;em&gt;JOIN&lt;/em&gt;.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;When you're writing a store front, ask your self.  How often do you need to run&lt;br /&gt;
&lt;/p&gt;&lt;pre&gt;SELECT COUNT(*) FROM product_option where product_id = 345
&lt;/pre&gt;&lt;p&gt;We think 20 is too many.&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;Come on guys, trace your code and monitor SQL query logs when you're developing.  These kinds of things are easy to catch and fix.  Computer are fast but, lets not waste resources.&lt;br /&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-4848382121758176824?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vIxVQJa1gLqBFUM771svu3aIeiU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vIxVQJa1gLqBFUM771svu3aIeiU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vIxVQJa1gLqBFUM771svu3aIeiU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vIxVQJa1gLqBFUM771svu3aIeiU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/OuIMRyAYrp8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/4848382121758176824/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=4848382121758176824&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/4848382121758176824?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/4848382121758176824?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/OuIMRyAYrp8/site-slowness-too-many-queries-maybe.html" title="Site Slowness? Too many Queries Maybe?" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2010/08/site-slowness-too-many-queries-maybe.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08NRHk4cCp7ImA9Wx5TFU4.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-856187417218047371</id><published>2010-07-30T16:18:00.000-07:00</published><updated>2010-07-30T16:18:15.738-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-30T16:18:15.738-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web-Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><title>Keep your Systems Simple (kyss Method)</title><content type="html">&lt;p&gt;We are helping a client assume ownership of a recent business they purchased.&lt;br /&gt;
We got all the code, domain, etc.&lt;br /&gt;
But! Like many IT projects the documentation was insufficient.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Our first step was to then audit the existing system. We discovered that multiple web-servers were involved, not just physical-servers, but Apache, Lighttpd, Tomcat, etc) all on the same box. Some Apache proxy to the Tomcat, etc.  A complicated configuration with a wide set of dependencies.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;It was clear there was some scrambling in the old project, code forks all over, duplicated libraries and a wide varsity of languages used (PHP, PERL, Java, JavaScript, BASH).  There was duplicated logic-libraries in each language!  More complications that introduce inconsistencies (ie: fix the PHP lib but forget the PERL - OOPS!).  This is also clearly too complicated.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;There are many reasons why projects get to this state.  Maybe one engineer likes Java more than PERL or historically it started with a shell-script.  History, politics and engineer preferences can all be a factor. At the end however, we don't care why.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Complexity Kills.  Computers already have 1000s of layers of software between the Human and the Hardware.  Putting a &lt;a href="http://en.wikipedia.org/wiki/Rube_Goldberg_machine"&gt;Rube Goldberg&lt;/a&gt; application on top does nothing to help.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Our KYSS Method&lt;/h2&gt;&lt;p&gt;So what did we do to fix it? Our policy was to pick the low hanging fruit first.  About 80% of the project was PHP we decided to push it all there.  We simplified the system by replacing the Tomcat/Java piece with a PHP component.  Reduced by one language and Tomcat dependency.  Then we focused on performance of that component to reduce resource (network/memory) consumption by over 60%)  Added a bit of caching and it was done.  Then the back-end libs in PERL and Bash were streamlined to PHP as well.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;The end result was taking a project with three web-server-software dependencies and reducing that to two (Apache/Lighttpd).  Reduced the language count from five to two.  A result of those to is a smaller, faster and simpler configuration that is much easier to maintain.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;It will take roughly eight months to return on our investment of cleaning and simplifying this project. Awesome.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;There are many cases when multiple languages need to be used, too numerous to list.  In the end a seasoned architect &amp; business analyst need to evaluate this and make a plan.  Otherwise, like in this example, developers/engineers go their own fractured way and &lt;a href="http://en.wikipedia.org/wiki/Entropy_(order_and_disorder)"&gt;entropy&lt;/a&gt; reigns.&lt;br /&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-856187417218047371?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bdvBdEjaKkCZE1iXWJZAnCQmUJY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bdvBdEjaKkCZE1iXWJZAnCQmUJY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bdvBdEjaKkCZE1iXWJZAnCQmUJY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bdvBdEjaKkCZE1iXWJZAnCQmUJY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/JEU3G-HH3DM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/856187417218047371/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=856187417218047371&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/856187417218047371?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/856187417218047371?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/JEU3G-HH3DM/keep-your-systems-simple-kyss-method.html" title="Keep your Systems Simple (kyss Method)" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2010/07/keep-your-systems-simple-kyss-method.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcNRX8-eyp7ImA9Wx5TEE8.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-8443228013445602718</id><published>2010-07-24T19:14:00.000-07:00</published><updated>2010-07-24T19:14:54.153-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-24T19:14:54.153-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web-Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><title>PHP Timezone Handling</title><content type="html">&lt;p&gt;Today we saw another abomination of Timezone handling in PHP.&lt;br /&gt;
100s of lines of code were used with many hard coded values and the system was still incomplete.&lt;br /&gt;
So, in efforts to put a stop to this we've posted our implementation of &lt;a href="http://edoceo.com/exemplar/php-timezone"&gt;php timezone handling&lt;/a&gt; which we think is easy, fast and portable.&lt;br /&gt;
We've included a few other examples too, but just to show why we don't use them.&lt;br /&gt;
&lt;/p&gt;javascript:void(0)&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-8443228013445602718?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cBvBs_6-1peI1PYaHbuG4lS1BXs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cBvBs_6-1peI1PYaHbuG4lS1BXs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cBvBs_6-1peI1PYaHbuG4lS1BXs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cBvBs_6-1peI1PYaHbuG4lS1BXs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/jsg51hxzggY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/8443228013445602718/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=8443228013445602718&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/8443228013445602718?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/8443228013445602718?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/jsg51hxzggY/php-timezone-handling.html" title="PHP Timezone Handling" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2010/07/php-timezone-handling.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4MQXs7fCp7ImA9WxFaE08.&quot;"><id>tag:blogger.com,1999:blog-2202207999277431930.post-1108360470420831316</id><published>2010-07-16T16:45:00.000-07:00</published><updated>2010-07-16T16:46:20.504-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-16T16:46:20.504-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web-Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="e-commerce" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><title>E-Commerce Migration from Django/Satchmo to PHP/Radix</title><content type="html">&lt;p&gt;One of our clients is using an abomination of e-commerce called Satchmo.&lt;br /&gt;
The client has described the solution as "cumbersome", "difficult", "slow" and a few other words not suitable for print.&lt;br /&gt;
We've been assigned the task of re-vamping their solution.&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Despite the odd database schema and lack of documentation we're confident that this can be re-worked into our PHP/Radix based solution in short order.&lt;br /&gt;
Check back in three weeks for details.&lt;br /&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Post Feed Footer --&gt;
&lt;address&gt;http://blog.edoceo.com/&lt;/address&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2202207999277431930-1108360470420831316?l=blog.edoceo.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6Flrzo_wbSIkF8OYWZzhLHOtG54/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6Flrzo_wbSIkF8OYWZzhLHOtG54/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6Flrzo_wbSIkF8OYWZzhLHOtG54/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6Flrzo_wbSIkF8OYWZzhLHOtG54/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/EdoceosBlog/~4/NwUf6jJv25M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.edoceo.com/feeds/1108360470420831316/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2202207999277431930&amp;postID=1108360470420831316&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/1108360470420831316?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2202207999277431930/posts/default/1108360470420831316?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EdoceosBlog/~3/NwUf6jJv25M/ecommerce-migration-from-django-to.html" title="E-Commerce Migration from Django/Satchmo to PHP/Radix" /><author><name>edoceo</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.edoceo.com/2010/07/ecommerce-migration-from-django-to.html</feedburner:origLink></entry></feed>

