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

<channel>
	<title>Index of /andrejciho</title>
	<atom:link href="http://www.andrejciho.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andrejciho.com</link>
	<description>Personal blog of a webdeveloper</description>
	<lastBuildDate>Fri, 18 Jan 2013 16:20:02 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Log INSERT, UPDATE, REPLACE Queries made using WPDB</title>
		<link>http://www.andrejciho.com/wordpress/log-insert-update-replace-queries-made-using-wpdb/</link>
		<comments>http://www.andrejciho.com/wordpress/log-insert-update-replace-queries-made-using-wpdb/#comments</comments>
		<pubDate>Fri, 18 Jan 2013 16:20:02 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=216</guid>
		<description><![CDATA[Using source control for tracking changes only covers part of the changes you make...]]></description>
				<content:encoded><![CDATA[<p>Using source control (git, mercurial&#8230;) is a must when developing for WordPress but only covers part of changes you make &#8211; the part that lives in the file structure. But what about the database?</p>
<p>For example, say your SEO ranking takes a sharp turn and you want to know what caused it. Source control, even if used properly, can answer the question for you only if the downturn was caused by a change to a file(s).  If the change was made using a setting that is stored in the database you&#8217;re out of luck tracing that.</p>
<p>I built a very simple WordPress plugin that helps me with this by logging any queries that modify the database. You can grab it from github here: <a href="https://github.com/andrej1c/wpdb-query-logger">https://github.com/andrej1c/wpdb-query-logger</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/log-insert-update-replace-queries-made-using-wpdb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Impersonate a WordPress User (for honorable debugging purposes)</title>
		<link>http://www.andrejciho.com/wordpress/impersonate-a-wordpress-user-for-honorable-debugging-purposes/</link>
		<comments>http://www.andrejciho.com/wordpress/impersonate-a-wordpress-user-for-honorable-debugging-purposes/#comments</comments>
		<pubDate>Fri, 07 Sep 2012 19:22:24 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=204</guid>
		<description><![CDATA[Wordpress Plugin to help support admin]]></description>
				<content:encoded><![CDATA[<p><strong>PROBLEM:</strong> I needed a way to debug a large WordPress site that had a ton of custom functionality with conditional logic depending on the user that was logged in with regards to their <a href="http://codex.wordpress.org/Roles_and_Capabilities" target="_blank">user role</a>, subscriptions, membership in Active Directory groups, etc.</p>
<p><strong><span style="text-decoration: line-through;">HACK</span> SOLUTION:</strong> I copied the wp_authenticate() function from /wp-includes/pluggable.php and added 6 lines of code that allow me to <em>log in as somebody as long as I know their username and the master password</em>.</p>
<p><strong>INSTALLATION INSTRUCTIONS:</strong></p>
<ol>
<li>CHANGE MASTER PASSWORD ON LINE 14!!!</li>
<li>Upload to /wp-content/plugins/</li>
<li>Activate</li>
<li>Do your work</li>
<li>Deactivate and Delete ASAP</li>
</ol>
<div><strong>WARNING:</strong> If you use this plugin for anything short of honorable the universe will be angry at you.</div>
<p><a title="Impersonate User [Wordpress Plugin]" href="http://www.andrejciho.com/wp-content/uploads/2012/09/impersonate-user.php_.gz" target="_blank">DOWNLOAD</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/impersonate-a-wordpress-user-for-honorable-debugging-purposes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wasteful coding</title>
		<link>http://www.andrejciho.com/wordpress/wasteful-coding/</link>
		<comments>http://www.andrejciho.com/wordpress/wasteful-coding/#comments</comments>
		<pubDate>Fri, 24 Aug 2012 15:23:08 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=186</guid>
		<description><![CDATA[Let's not insult the server.]]></description>
				<content:encoded><![CDATA[<p>Recently I bought a premium WordPress theme but now I&#8217;m not so sure the author intended to maintain it by fixing bugs or releasing updates.</p>
<p>The theme options allow for configuration of colors so there was a need for a dynamic stylesheet that would produce css with the custom colors. This theme includes a php files that prints css headers followed by css with some php echo statements of the dynamic stuff. So far so good. However, their color.php starts it with the following &#8220;beauty&#8221;:</p><pre class="crayon-plain-tag">if(file_exists('../../../../wp-load.php')) :
	include '../../../../wp-load.php';
else:
	include '../../../../../wp-load.php';
endif;</pre><p>followed by&#8230;</p><pre class="crayon-plain-tag">$color = of_get_option('primary_colorpicker');</pre><p>They took similar approach to some dynamic javascript so this theme I purchased spawns multiple php threads and has each of them load the WP API and interact with the database. <em>That</em> is wasteful and unnecessary.</p>
<p>I&#8217;m sure there are more elegant solutions to this than what I came up with off the top of my head but wouldn&#8217;t it be less wasteful to load the parameters from db in header.php and then just pass them to the stylesheet file?</p><pre class="crayon-plain-tag">&lt;?php $color = of_get_option('primary_colorpicker'); ?&gt;
&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_directory'); ?&gt;/framework/css/color.php?color=&lt;?php echo $color; ?&gt;" type="text/css" /&gt;</pre><p>Yes, that still spawns php threads but at least they don&#8217;t all load full WordPress API and interact with the database.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/wasteful-coding/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Extension of the WPDB class that throws exceptions on SQL error</title>
		<link>http://www.andrejciho.com/wordpress/extension-of-the-wpdb-class-that-throws-exceptions-on-sql-error/</link>
		<comments>http://www.andrejciho.com/wordpress/extension-of-the-wpdb-class-that-throws-exceptions-on-sql-error/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 01:52:18 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=159</guid>
		<description><![CDATA[NOW you can tell a SQL error apart from empty result set]]></description>
				<content:encoded><![CDATA[<p><a target="_blank" href="http://codex.wordpress.org/Class_Reference/wpdb">WPDB</a> (WordPress&#8217; database class) gives you two options how to handle SQL errors. You either show them in the browser to everybody:</p>
<p></p><pre class="crayon-plain-tag">$wpdb-&gt;show_errors();</pre><p></p>
<p>or any potential the failure happens silently </p>
<p></p><pre class="crayon-plain-tag">$wpdb-&gt;hide_errors();</pre><p> </p>
<p>with results of the SQL query coming back as blank and you can&#8217;t tell &#8220;nothing found&#8221; apart from &#8220;SQL error&#8221;.</p>
<p>I needed a better way to deal with SQL errors. PHP allows for throwing and catching exceptions (read more about it <a href="http://php.net/manual/en/language.exceptions.php">here</a>) which I highly encourage all of us WordPress developers to get very familiar with if you aren&#8217;t already. I cooked up a simple plugin that basically extends the WPDB class redefining some select methods and allows me to capture the SQL errors for further processing.</p>
<p>Here&#8217;s how I can interact with this extended class in my plugins or theme files:</p>
<p></p><pre class="crayon-plain-tag">try {
    $transactions = $wpdb_e-&gt;get_results($query);
} catch (Exception $e) {
    // You can decide what to do with a SQL failure at this point, here are some ideas:
    if (WP_DEBUG) die($e-&gt;getMessage());
    echo 'We apologize but we were not able to retrieve your transactions';
    wp_mail('myname@mydomain.com', bloginfo('name') . ' has a SQL error', $e-&gt;getMessage());
}

if (empty($transactions))  echo 'You have no transactions as of yet';</pre><p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/extension-of-the-wpdb-class-that-throws-exceptions-on-sql-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Replacing Charcoal Canister on 2003 Toyota Sienna</title>
		<link>http://www.andrejciho.com/automotive/replacing-charcoal-canister-on-2003-toyota-sienna/</link>
		<comments>http://www.andrejciho.com/automotive/replacing-charcoal-canister-on-2003-toyota-sienna/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 17:25:14 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[Automotive]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=183</guid>
		<description><![CDATA[Do it yourself. I did and it was relatively easy. I'm not a mechanic by any means.]]></description>
				<content:encoded><![CDATA[<p>So, I just passed the emissions test with our van. On the third attempt. The first attempt wasn&#8217;t really an attempt because they won&#8217;t test a car that has the Check Engine light on. Two error codes were read: <a href="http://www.obd-codes.com/p0442" target="_blank">P0442</a> and <a href="http://www.obd-codes.com/p0456" target="_blank">P0456</a>.</p>
<p>Dude at  the emissions testing place offered their standard diagnostics at $75 and since I had good experience with this place I took him up on it. He said it appeared that the purge valve on the charcoal canister was stuck open. He tested all three valves in the circuit that brings the fuel vapors from the gas tank back to the engine for burning and said this one was the culprit.</p>
<p>How expensive could a simple valve be, right? Two things:</p>
<ul>
<li>The valve is not sold separately, only with the entire charcoal canister</li>
<li>Only a Toyota dealership can acquire a new charcoal canister.</li>
</ul>
<p>I got a quote from the nearest dealership that came up to $730 including labor and taxes.</p>
<p>No way.</p>
<p>I called a number of junk yards in the area and found a totaled 2002 Sienna that still had the canister on it. Bought the canister for $85, replaced it myself following <a href="http://www.findonefindall.com/toyota-sienna/toyota_sienna_evap_P0446.htm" target="_blank">this blog post</a> and <a href="http://steampunkworkshop.com/toyota-sienna-evaporative-canister-and-svs-valve-repair" target="_blank">this one</a>.</p>
<p>I&#8217;m not a mechanic by any means and this was a very doable repair. Just pay attention to what you remove and put it back the same way.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/automotive/replacing-charcoal-canister-on-2003-toyota-sienna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging a live WordPress site using WP_DEBUG</title>
		<link>http://www.andrejciho.com/wordpress/debugging-a-live-wordpress-site-using-wp_debug/</link>
		<comments>http://www.andrejciho.com/wordpress/debugging-a-live-wordpress-site-using-wp_debug/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 01:39:32 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=166</guid>
		<description><![CDATA[Enable WP_DEBUG messages just for YOU, but nobody else]]></description>
				<content:encoded><![CDATA[<p>WP_DEBUG is a boolean constant found in wp-config.php. When set to <em>true</em>, all php errors (and warnings and notifications) are printed in the browser. This is very useful during development but can be dangerous because text of php errors often reveals unnecessary details about your programming code, paths, etc to visitors in case they run into an issue with your site. For production sites this is always set to <em>false</em>.</p>
<p>But what do you do when you get a frantic client phone call reporting an issue on the live site? You can&#8217;t just enable WP_DEBUG for everybody and very likely break the site&#8217;s design as various error messages of sloppy plugin or WordPress&#8217; core code might render.</p>
<p>Solution is simple: Enable WP_DEBUG just for <em>you</em>. </p>
<p>First, you&#8217;ll need to know your outgoing IP address. When I&#8217;m lazy I go to my friend <a href="http://derosia.com">Topher&#8217;s beautiful website</a> which tells me my IP address.</p>
<p>Then edit your wp-config.php (CAREFUL) by replacing:</p>
<p></p><pre class="crayon-plain-tag">define('WP_DEBUG', false);</pre><p></p>
<p>with </p>
<p></p><pre class="crayon-plain-tag">if ($_SERVER['REMOTE_ADDR'] == '123.123.123.123') {
	define('WP_DEBUG', true);	
} else {
	define('WP_DEBUG', false);
}</pre><p></p>
<p>(don&#8217;t forget to replace 123.123.123.123 with your outgoing IP address)</p>
<p>By the way this is a great solution if you&#8217;re working from home or are tethering using your phone so that you are the only one coming from this IP address. If you&#8217;re in the same building with your client and try to debug the site without freaking out the CEO this might not be the best because odds are you and her are coming from the same IP address and she&#8217;ll see the same debug junk you do.</p>
<p>Please let me know if this was any helpful to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/debugging-a-live-wordpress-site-using-wp_debug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time to restart this sorry blog</title>
		<link>http://www.andrejciho.com/general/time-to-restart-this-sorry-blog/</link>
		<comments>http://www.andrejciho.com/general/time-to-restart-this-sorry-blog/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 23:41:10 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=171</guid>
		<description><![CDATA[It's been 2 years]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been almost two years since I put this blog on hold. I&#8217;m back. I think.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/general/time-to-restart-this-sorry-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Patch for Pods CMS 1.8.1 &#8211; mysql_real_escape_string</title>
		<link>http://www.andrejciho.com/wordpress/patch-for-pods-cms-1-8-1-mysql_real_escape_string/</link>
		<comments>http://www.andrejciho.com/wordpress/patch-for-pods-cms-1-8-1-mysql_real_escape_string/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 15:41:42 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=154</guid>
		<description><![CDATA[A patch to Pods CMS 1.8.1 to add a link_identifier as a second parameter to mysql_real_escape_string to avoid "access denied" errors]]></description>
				<content:encoded><![CDATA[<p>At <a href="http://atlantawordcamp.com/" target="_blank">Wordcamp Atlanta</a> I learned about <a href="http://pods.uproot.us/" target="_blank">Pods CMS</a> &#8211; a powerful WordPress plugin allowing you to build your content types, giving you an admin to add/edit/delete (kinda like RoR&#8217;s scaffolding) and an easy way to pull it out of database in your template. Very powerful plugin. Needless to say another world of possibilities opened up for me.</p>
<p>After spending some time on setting things up on my local box I uploaded it to a staging environment on our server and noticed a &#8220;mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user: &#8216;nobody@localhost&#8217;&#8221; error.</p>
<p>If you look up <a href="http://php.net/manual/en/function.mysql-real-escape-string.php" target="_blank">mysql-real-escape-string</a> in the php manual you&#8217;ll notice that the second and optional parameter is <em>link_identifier</em> (the db resource). The manual describes it as:</p>
<blockquote><p>The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If no connection is found or established, an E_WARNING level error is generated.</p></blockquote>
<p>There might be another solution to the problem, for example changing a setting on the server, but if you don&#8217;t know how to change it or don&#8217;t have permissions to do so, you can modify code of Pods CMS so that anytime it calls mysql_real_escape_string it passes the link_identifier. Here is a <a href="http://www.andrejciho.com/wp-content/uploads/2010/01/mysql_real_escape_string_1.8.1.txt">patch</a> I created.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/patch-for-pods-cms-1-8-1-mysql_real_escape_string/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relative Bookmarks for WordPress Admin Pages</title>
		<link>http://www.andrejciho.com/wordpress/relative-bookmarks-for-wordpress-admin-pages/</link>
		<comments>http://www.andrejciho.com/wordpress/relative-bookmarks-for-wordpress-admin-pages/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 14:22:18 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=147</guid>
		<description><![CDATA[Get around wordpress admin menus quickly - on any wordpress blog]]></description>
				<content:encoded><![CDATA[<p>A recent <a href="http://twitter.com/andrea_r/status/3405028496">tweet</a> by @andrea_r inspired me to post my relative bookmarks (bookmarklets rather) solution. If you manage a lot of websites in WordPress, you probably find yourself jumping around the administrative area a good bit and while the 2.8 admin redesign helped a lot in saving time, using these universal bookmarks takes it a step further.</p>
<p>It is quite simple. I created a folder in my Bookmarks Toolbar in Firefox and placed the bookmarks I use the most in it, as shown below:</p>
<p><img class="alignnone size-full wp-image-148" title="wp-admin" src="http://www.andrejciho.com/wp-content/uploads/2009/08/wp-admin.PNG" alt="wp-admin" width="168" height="228" /></p>
<p>The way to make this URL/blog independent is link to relative page, for example &#8220;Add New Post&#8221; points to post-new.php (which needs to point to www.andrejciho.com/wp-admin/post-new.php on this blog). The &#8220;relativeness&#8221; is done via javascript so the &#8220;Location&#8221; of the bookmark is:</p>
<blockquote><p>javascript:window.location=&#8217;post-new.php&#8217;</p></blockquote>
<p>So you can really roll your own bookmarks following the pattern above. The links in the</p>
<blockquote><p>javascript:window.location=&#8217;post-new.php&#8217;<br />
javascript:window.location=&#8217;edit.php&#8217;<br />
javascript:window.location=&#8217;page-new.php&#8217;<br />
javascript:window.location=&#8217;edit-pages.php&#8217;<br />
javascript:window.location=&#8217;link-add.php&#8217;<br />
javascript:window.location=&#8217;link-manager.php&#8217;<br />
javascript:window.location=&#8217;plugins.php&#8217;</p></blockquote>
<p><strong>Note: </strong>These bookmarks only work once you are already logged in and within WordPress admin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/relative-bookmarks-for-wordpress-admin-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comcast Monthly Issues</title>
		<link>http://www.andrejciho.com/rants/comcast-monthly-issues/</link>
		<comments>http://www.andrejciho.com/rants/comcast-monthly-issues/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 15:44:12 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=144</guid>
		<description><![CDATA[My monthly issues with Comcast where I go through the phases of denial, anger, bargaining, depression, and acceptance]]></description>
				<content:encoded><![CDATA[<p>My <strong>monthly </strong>routine with Comcast consists of these steps, triggered by slow and intermittent Internet connection:</p>
<p><a href="http://www.andrejciho.com/wp-content/uploads/2009/06/comcast.PNG"><img class="alignnone size-thumbnail wp-image-143" title="comcast" src="http://www.andrejciho.com/wp-content/uploads/2009/06/comcast-150x150.PNG" alt="comcast" width="150" height="150" /></a></p>
<p><strong>DENIAL</strong>.</p>
<p>I drive to a coffee shop because I actually have billable work to get done and would rather do that than waste time on messing with the ISP.</p>
<p><strong>ANGER.</strong></p>
<p>I come home hours later to find that the Internet connection is still spotty. Time to <em>stop</em> billable work and tinker with the issue at hand.  I power down the cable model and the wifi router, disable and enable wireless card,&#8230; the whole nine yards &#8211; I did work tech support 5+ years, I do know the drill.</p>
<p>Surprise surprise: It&#8217;s not me, it&#8217;s them.</p>
<p><strong>BARGAINING</strong>.</p>
<p>I call Comcast to report the problem. I sit on hold for a while. Phone tech apologizes for the inconvenience and assures me they will fix this free of charge. Ha! I bite my tongue and not mention the cost of lost time and income, cost of gas driving somewhere with reliable internet connection, etc.</p>
<p>The tech looks up the history of connection between their servers and my cable model and confirms that there are issues, sometimes they can&#8217;t see the cable model online at all. Tech offers to reset the cable model remotely. This kicks me off the phone since I&#8217;m on the Comcast home phone (rather than burning cell minutes). Comcast tech calls back and says that the issue is still occurring.</p>
<p>We schedule a time for a tech to come out.</p>
<p><strong>DEPRESSION.</strong></p>
<p>Tech comes out a couple days later. Surprisingly he knows the exact date/time when the issue started occuring. How? Because that&#8217;s when Comcast issued the regular IP refresh signal to my cable model. Because of the tech&#8217;s lack of knowledge/experience, I end up training him on how the Internet works behind the scenes (DNS, IP addresses, packets, cable modems, routers). I provide this to Comcast free of charge, every time. Then I walk him step by step through the indisputable proof that my computer is NOT the issue &#8211; also providing training on how one can best diagnose whether it is the computer, the website(s) being pinged, or the ISP&#8217;s equipment/service.</p>
<p>Tech tries everything and anything to resolve the issue and in the end &#8220;adjusts the signal stength something-or-another on the router which should improve the problem over time.&#8221; He admits that the model of wifi router issued by Comcast is giving a lot of people trouble but Comcast will not issue a different one to me &#8211; I&#8217;d have to buy one myself.</p>
<p>After 2 hours of my time, the tech says it shouldn&#8217;t be an issue any more and leaves. The internet connection seems to be working OK at this point.</p>
<p><strong>ACCEPTANCE.</strong></p>
<p>I cross my fingers in hopes that the &#8220;solution&#8221; works for as long as possible before another ice age hits.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/rants/comcast-monthly-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.andrejciho.com/feed/ ) in 3.12779 seconds, on May 22nd, 2013 at 5:45 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 22nd, 2013 at 6:45 pm UTC -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Quick Cache Is Fully Functional :-) ... A Quick Cache file was just served for (  www.andrejciho.com/feed/ ) in 0.00136 seconds, on May 22nd, 2013 at 6:08 pm UTC. -->