<?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"
	>

<channel>
	<title>my life</title>
	<atom:link href="http://osterman.com/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://osterman.com/wordpress</link>
	<description>day to day</description>
	<pubDate>Sat, 09 May 2009 21:28:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Disputing Credit Card Charges</title>
		<link>http://osterman.com/wordpress/2009/05/09/disputing-credit-card-charges</link>
		<comments>http://osterman.com/wordpress/2009/05/09/disputing-credit-card-charges#comments</comments>
		<pubDate>Sat, 09 May 2009 21:28:59 +0000</pubDate>
		<dc:creator>e</dc:creator>
		
		<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://osterman.com/wordpress/?p=217</guid>
		<description><![CDATA[Recently, I learned how broken the dispute resolution process is with Bank of America. I asked them to send me the receipts for 5 recent charges from the same Mexican Food place across the street from me. I love Mexican food, but there&#8217;s no way I could have eaten 5 meals in a row from [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I learned how broken the dispute resolution process is with Bank of America. I asked them to send me the receipts for 5 recent charges from the same Mexican Food place across the street from me. I love Mexican food, but there&#8217;s no way I could have eaten 5 meals in a row from this place (esp when I wasn&#8217;t even working from home that week), so something was awry.</p>
<p>Herein lies the rub. If they send me the receipts (which include signatures), I can no longer dispute the charges because now I&#8217;m in possession of the sales receipts. Even if the signatures on the receipts clearly show an invalid signature, I have forgone the ability to issue a charge back. I asked the customer support if they could visually verify that the 5 signatures closely matched all my other signatures, but that was impossible. They didn&#8217;t have the ability to view the receipts.</p>
<p>I find this totally absurd. Granted, using a signature as a form authorization is incredibly fallible, the fact that it&#8217;s not even relevant when disputing a charge, raises the question why do we even need to sign the receipt at all? The back of my credit card is not signed, so that means that they would have been required to view a valid form of identification, which obviously wasn&#8217;t the case and is rarely ever the case. I suppose it&#8217;s all a moot point. BofA reversed the charges regardless, which was nice of them. I would have just preferred a more thorough process.</p>
]]></content:encoded>
			<wfw:commentRss>http://osterman.com/wordpress/2009/05/09/disputing-credit-card-charges/feed</wfw:commentRss>
		</item>
		<item>
		<title>Automatic Canonical Link Tags in Symfony</title>
		<link>http://osterman.com/wordpress/2009/02/18/automatic-canonical-link-tags-in-symfony</link>
		<comments>http://osterman.com/wordpress/2009/02/18/automatic-canonical-link-tags-in-symfony#comments</comments>
		<pubDate>Thu, 19 Feb 2009 05:01:51 +0000</pubDate>
		<dc:creator>e</dc:creator>
		
		<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://osterman.com/wordpress/?p=215</guid>
		<description><![CDATA[ 
&#60;link rel=&#8221;canonical&#8221; 
href=&#8221;&#60;?php echo url_for($sf_context-&#62;getRouting()-&#62;getCurrentInternalUri(true), true); ?&#62;&#8221; /&#62;
 
More information about the new canonical link tags can be found http://ysearchblog.com/2009/02/12/fighting-duplication-adding-more-arrows-to-your-quiver/
]]></description>
			<content:encoded><![CDATA[<p> </p>
<p><div class="console">&lt;link rel=&#8221;canonical&#8221; 
href=&#8221;&lt;?php echo url_for($sf_context-&gt;getRouting()-&gt;getCurrentInternalUri(true), true); ?&gt;&#8221; /&gt;</div></p>
<p> </p>
<p>More information about the new canonical link tags can be found <a href="http://ysearchblog.com/2009/02/12/fighting-duplication-adding-more-arrows-to-your-quiver/" target="_blank">http://ysearchblog.com/2009/02/12/fighting-duplication-adding-more-arrows-to-your-quiver/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://osterman.com/wordpress/2009/02/18/automatic-canonical-link-tags-in-symfony/feed</wfw:commentRss>
		</item>
		<item>
		<title>SVN Commit Error: Can&#8217;t close activity db</title>
		<link>http://osterman.com/wordpress/2008/12/03/svn-commit-error-cant-close-activity-db</link>
		<comments>http://osterman.com/wordpress/2008/12/03/svn-commit-error-cant-close-activity-db#comments</comments>
		<pubDate>Wed, 03 Dec 2008 22:10:22 +0000</pubDate>
		<dc:creator>e</dc:creator>
		
		<category><![CDATA[HOWTO]]></category>

		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://osterman.com/wordpress/?p=213</guid>
		<description><![CDATA[Recently, I moved one of my SVN repositories onto a new server. Everything seemed fine until I tried to commit.
SVN complained:
svn commit . --message &#8216;&#8230;.&#8217;
svn: Commit failed (details follow):
svn: Can&#8217;t close activity db: Error string not specified yet
And the server logs show:
[Wed Dec 03 22:53:20 2008] [error] [client 207.7.129.212] Could not create activity /svn/!svn/act/cc8c14b8-904b-4438-872d-e129baae67bb.  [500, [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I moved one of my SVN repositories onto a new server. Everything seemed fine until I tried to commit.</p>
<p>SVN complained:</p>
<p><div class="console">svn commit . --message &#8216;&#8230;.&#8217;
svn: Commit failed (details follow):
svn: Can&#8217;t close activity db: Error string not specified yet</div><br />
And the server logs show:</p>
<p><div class="console">[Wed Dec 03 22:53:20 2008] [error] [client 207.7.129.212] Could not create activity /svn/!svn/act/cc8c14b8-904b-4438-872d-e129baae67bb.  [500, #0]
[Wed Dec 03 22:53:20 2008] [error] [client 207.7.129.212] could not close dbm files.  [500, #89026]
[Wed Dec 03 22:53:20 2008] [error] [client 207.7.129.212] Can&#8217;t close activity db: Error string not specified yet  [500, #89026]</div></p>
<p>Turns out, DAV keeps some cache files around in your SVN &#8216;dav&#8217; directory. Removing all the &#8216;activ*&#8217; files solved my problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://osterman.com/wordpress/2008/12/03/svn-commit-error-cant-close-activity-db/feed</wfw:commentRss>
		</item>
		<item>
		<title>Compiz + Cairo Dock on Debian</title>
		<link>http://osterman.com/wordpress/2008/11/18/compiz-cairo-dock-on-debian</link>
		<comments>http://osterman.com/wordpress/2008/11/18/compiz-cairo-dock-on-debian#comments</comments>
		<pubDate>Tue, 18 Nov 2008 17:01:50 +0000</pubDate>
		<dc:creator>e</dc:creator>
		
		<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://osterman.com/wordpress/?p=211</guid>
		<description><![CDATA[Sorry to say it, but X.org eye candy is about to eclipse Mac OSX. Check out this video to see what I mean: 
To get this for yourself on Debian, these are the steps I had to take.

apt-get install libcairo2 librsvg2-2 libglitz1 libglitz-glx1 compiz compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-gnome compiz-plugins
Modify your X.org conf in /etc/X11/xorg.conf
Add the following [...]]]></description>
			<content:encoded><![CDATA[<p>Sorry to say it, but X.org eye candy is about to eclipse Mac OSX. Check out this video to see what I mean: <object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/_ImW0-MgR8I"></param><embed src="http://www.youtube.com/v/_ImW0-MgR8I" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
<p>To get this for yourself on Debian, these are the steps I had to take.</p>
<ol>
<li><div class="console">apt-get install libcairo2 librsvg2-2 libglitz1 libglitz-glx1 compiz compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-gnome compiz-plugins</div></li>
<li>Modify your X.org conf in <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">/etc/X11/xorg.conf</span></li>
<li>Add the following to the &#8220;Device&#8221; section:<br />
<div class="console">Option &#8220;AllowGLXWithComposite&#8221; &#8220;true&#8221;
Option &#8220;XAANoOffscreenPixmaps&#8221; &#8220;true&#8221;  #NVidia cards only</div><br />
Add the following to the &#8220;Screen&#8221; section:<br />
<div class="console">Option &#8220;AddARGBGLXVisuals&#8221; &#8220;true&#8221;  # NVidia cards only</div><br />
Add the new section:<br />
<div class="console">Section &#8220;Extensions&#8221;
Option  &#8220;Composite&#8221;      &#8220;Enable&#8221;
EndSection</div></li>
<li>Enable all the cool features of compiz:<br />
<div class="console">gconftool --set /apps/compiz/general/allscreens/options/active_plugin      --type list --list-type string &#8216;[gconf,png,svg,decoration,wobbly,fade,minimize,cube,rotate,zoom,scale,move,place,switcher,screenshot,resize]&#8216;</div></li>
<li><div class="console">echo &#8220;export WINDOW_MANAGER=/usr/bin/compiz&#8221; &gt;&gt; ~/.gnomerc</div></li>
<li>Restart Xorg</li>
</ol>
<p>If you&#8217;re having problems, you can try to download:</p>
<p><div class="console">wget http://blogage.de/files/3855/download?compiz-check_0.4-1_all.deb</div></p>
<p>And run <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">compiz-check</span> to see if there are any issues with your setup/hardware.</p>
<p>To get the features of OSX&#8217;s Docker, you&#8217;re going to want to install Cairo-Docker. Cairo-Docker is actually even MORE incredible than the traditional Docker, allowing for plugins and customization to the Nth degree.</p>
<ol>
<li>Download Cairo at:<br />
https://developer.berlios.de/project/showfiles.php?group_id=8724</li>
<li>Download the dock package that looks like: <a href="http://prdownload.berlios.de/cairo-dock/cairo-dock_v1.6.3.1_i686.deb">cairo-dock_v1.6.3.1_i686.deb</a></li>
<li>Download the plugins package that looks like: <a href="http://prdownload.berlios.de/cairo-dock/cairo-dock-plug-ins_v1.6.3.1_i686.deb">cairo-dock-plug-ins_v1.6.3.1_i686.deb</a></li>
<li>dpkg -i package.deb</li>
<li>Simply run: <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">cairo-dock</span></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://osterman.com/wordpress/2008/11/18/compiz-cairo-dock-on-debian/feed</wfw:commentRss>
		</item>
		<item>
		<title>HOWTO Install Starling</title>
		<link>http://osterman.com/wordpress/2008/11/10/howto-install-starling</link>
		<comments>http://osterman.com/wordpress/2008/11/10/howto-install-starling#comments</comments>
		<pubDate>Tue, 11 Nov 2008 02:52:31 +0000</pubDate>
		<dc:creator>e</dc:creator>
		
		<category><![CDATA[HOWTO]]></category>

		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://osterman.com/wordpress/?p=210</guid>
		<description><![CDATA[I was recently contacted by someone who got stuck setting up Starling and realized that the documentation is relatively sparse on setting up Starling. The process is easy once you know how Starling works on the inside, but not looking in.
To get started, I will assume you have ruby and ruby gems already installed. This [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently contacted by someone who got stuck setting up Starling and realized that the documentation is relatively sparse on setting up Starling. The process is easy once you know how Starling works on the inside, but not looking in.</p>
<p>To get started, I will assume you have ruby and ruby gems already installed. This will depend on your flavor of distribution, but should not be difficult and come standard on every modern version of Linux I&#8217;ve used.</p>
<p>run:</p>
<p><div class="console">gem install starling</div></p>
<p>Create the Starling queue directory in <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">/var/spool/starling</span></p>
<p>Start staring with these minimum set of arguments:</p>
<p><div class="console"></p>
<p>/usr/bin/starling -d -h $HOST -p $PORT \
-P  /var/run/starling/starling.pid</div></p>
<p>Also, if you&#8217;ll be running Starling in a PHP environment, make sure your  version doesn&#8217;t have the EOL bug described in my post:  <a class="moz-txt-link-freetext" href="../2008/07/18/starling-protocol-bug-in-stats-response">http://osterman.com/wordpress/2008/07/18/starling-protocol-bug-in-stats-response</a></p>
<p>Also, note that Starling creates a queue file for each key verbatim. So  if a key is, &#8216;<span style="display: inline; background: silver; white-space: pre; font-family:monospace;">namespace/something</span>&#8217;, then Starling will fail to do the  set if the &#8216;<span style="display: inline; background: silver; white-space: pre; font-family:monospace;">namespace</span>&#8217; directory does not exist under the  <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">/var/spool/starling</span> directory. You can also just not use &#8216;/&#8217; in your keys.</p>
<p>Also, note that Starling does not automatically purge the queue files  after it rotates them. You&#8217;ll want to cron a job to run periodically to  delete them. We run this nightly to purge files not accessed in 4 days: <div class="console">find <em class="moz-txt-slash"><span class="moz-txt-tag">/</span>var/spool/starling<span class="moz-txt-tag">/</span></em> -type f  -atime +4 -delete</div> by creating a file in /etc/cron.daily/starling with those contents.</p>
<p>All that being said, we&#8217;re still very happy with it and process about a  million jobs a day.</p>
<p>Please let me know in the comments if your still having problems!</p>
]]></content:encoded>
			<wfw:commentRss>http://osterman.com/wordpress/2008/11/10/howto-install-starling/feed</wfw:commentRss>
		</item>
		<item>
		<title>VMWare Upgrades</title>
		<link>http://osterman.com/wordpress/2008/09/25/vmware-upgrades</link>
		<comments>http://osterman.com/wordpress/2008/09/25/vmware-upgrades#comments</comments>
		<pubDate>Thu, 25 Sep 2008 22:38:48 +0000</pubDate>
		<dc:creator>e</dc:creator>
		
		<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://osterman.com/wordpress/?p=207</guid>
		<description><![CDATA[VMWare can be a real bore to upgrade when there are major kernel updates. Very often, the supplied modules with VMWare will not compile.
For example, I got this today:
CC [M]  /tmp/vmware-config0/vmmon-only/linux/driver.o
/tmp/vmware-config0/vmmon-only/linux/driver.c:197: error: unknown field &#8216;nopage&#8217; specified in initializer
/tmp/vmware-config0/vmmon-only/linux/driver.c:198: warning: initialization from incompatible pointer type
make[2]: *** [/tmp/vmware-config0/vmmon-only/linux/driver.o] Error 1

The solution is always to use the non-standard [...]]]></description>
			<content:encoded><![CDATA[<p>VMWare can be a real bore to upgrade when there are major kernel updates. Very often, the supplied modules with VMWare will not compile.</p>
<p>For example, I got this today:</p>
<p><div class="console">CC [M]  /tmp/vmware-config0/vmmon-only/linux/driver.o
/tmp/vmware-config0/vmmon-only/linux/driver.c:197: error: unknown field &#8216;nopage&#8217; specified in initializer
/tmp/vmware-config0/vmmon-only/linux/driver.c:198: warning: initialization from incompatible pointer type
make[2]: *** [/tmp/vmware-config0/vmmon-only/linux/driver.o] Error 1</p>
<p></div></p>
<p>The solution is always to use the non-standard installer available at:<br />
http://groups.google.com/group/vmkernelnewbies/files?pli=1</p>
<p>Download the latest vmware-any-any-update tarball, decompress it, and run the included <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">runme.pl</span> script inside. It works just like the vmware-install.pl script distributed with VMWare, but this version includes patches to make everything run without a hitch.</p>
]]></content:encoded>
			<wfw:commentRss>http://osterman.com/wordpress/2008/09/25/vmware-upgrades/feed</wfw:commentRss>
		</item>
		<item>
		<title>Starling Protocol Bug in STATS Response</title>
		<link>http://osterman.com/wordpress/2008/07/18/starling-protocol-bug-in-stats-response</link>
		<comments>http://osterman.com/wordpress/2008/07/18/starling-protocol-bug-in-stats-response#comments</comments>
		<pubDate>Sat, 19 Jul 2008 01:13:25 +0000</pubDate>
		<dc:creator>e</dc:creator>
		
		<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://osterman.com/wordpress/?p=206</guid>
		<description><![CDATA[The memcache protocol requires that all lines in the server response end with CRLN (\r\n). The Starling server doesn&#8217;t strictly obey this for the STATS command. The fix is trivial and the author has been notified of the fix.
Edit lib/starling/handler.rb and add the following gsub right before .freeze in the STATS_RESPONSE:
%sEND\r\n&#8221;.gsub(/\r?\n/, &#8220;\r\n&#8221;).freeze
And the same for [...]]]></description>
			<content:encoded><![CDATA[<p>The memcache protocol requires that all lines in the server response end with CRLN (\r\n). The Starling server doesn&#8217;t strictly obey this for the STATS command. The fix is trivial and the author has been notified of the fix.</p>
<p>Edit <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">lib/starling/handler.rb</span> and add the following gsub right before .freeze in the STATS_RESPONSE:<br />
<div class="console">%sEND\r\n&#8221;.gsub(/\r?\n/, &#8220;\r\n&#8221;).freeze</div><br />
And the same for QUEUE_STATS_RESPONSE:<br />
<div class="console">STAT queue_%s_expired_items %d\n&#8221;.gsub(/\r?\n/, &#8220;\r\n&#8221;).freeze</div></p>
]]></content:encoded>
			<wfw:commentRss>http://osterman.com/wordpress/2008/07/18/starling-protocol-bug-in-stats-response/feed</wfw:commentRss>
		</item>
		<item>
		<title>What to do if spl_autoload_call() hasn&#8217;t defined the class</title>
		<link>http://osterman.com/wordpress/2008/07/05/what-to-do-if-spl_autoload_call-hasnt-defined-the-class</link>
		<comments>http://osterman.com/wordpress/2008/07/05/what-to-do-if-spl_autoload_call-hasnt-defined-the-class#comments</comments>
		<pubDate>Sun, 06 Jul 2008 06:26:18 +0000</pubDate>
		<dc:creator>e</dc:creator>
		
		<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://osterman.com/wordpress/?p=205</guid>
		<description><![CDATA[Recently, I was getting the error
Warning: session_start() [function.session-start]: Function spl_autoload_call() hasn&#8217;t defined the class it was called for in&#8230;
In my particular case, the problem stemmed from defining a deserialization function using ini_set(&#8217;unserialize_callback_func&#8217;, &#8217;spl_autoload_call&#8217;) (well, symfony defines it)
In the process of deserializing an object, it tried to instantiate a class which hadn&#8217;t yet been loaded. The [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I was getting the error<br />
<div class="console">Warning: session_start() [function.session-start]: Function spl_autoload_call() hasn&#8217;t defined the class it was called for in&#8230;</div></p>
<p>In my particular case, the problem stemmed from defining a deserialization function using <div class="console">ini_set(&#8217;unserialize_callback_func&#8217;, &#8217;spl_autoload_call&#8217;)</div> (well, symfony defines it)</p>
<p>In the process of deserializing an object, it tried to instantiate a class which hadn&#8217;t yet been loaded. The autoloader wasn&#8217;t able to find the class and the spl autoload functionality therefore croaked. </p>
<p>The problem was that I had defined a property inside of one my model objects that referenced the sfWebRequest. This property should never have been serialized. Infact, only the properties of the object as defined in model should get serialized. The fix was defined a __sleep method in the model. </p>
<p><div class="console">public function __sleep()
  {
    return MySampleObjectPeer::getFieldNames(BasePeer::TYPE_FIELDNAME);
  }</div></p>
<p>Replace MySampleObjectPeer with the appropriate peer class.</p>
]]></content:encoded>
			<wfw:commentRss>http://osterman.com/wordpress/2008/07/05/what-to-do-if-spl_autoload_call-hasnt-defined-the-class/feed</wfw:commentRss>
		</item>
		<item>
		<title>Installing CPAN Packages for Debian</title>
		<link>http://osterman.com/wordpress/2008/06/19/installing-cpan-packages-for-debian</link>
		<comments>http://osterman.com/wordpress/2008/06/19/installing-cpan-packages-for-debian#comments</comments>
		<pubDate>Thu, 19 Jun 2008 19:32:54 +0000</pubDate>
		<dc:creator>e</dc:creator>
		
		<category><![CDATA[HOWTO]]></category>

		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://osterman.com/wordpress/?p=204</guid>
		<description><![CDATA[If you want to install CPAN modules as Debian packages, this HOWTO is for you.
First, install dh-make-perl:
apt-get install dh-make-perl
Then build &#38; install the package. For example, if you wish to install the module Nagios::Plugins::Memcached from CPAN, simply run:
dh-make-perl --install --cpan Nagios::Plugins::Memcached
You&#8217;re done.
]]></description>
			<content:encoded><![CDATA[<p>If you want to install CPAN modules as Debian packages, this HOWTO is for you.</p>
<p>First, install dh-make-perl:<br />
<div class="console">apt-get install dh-make-perl</div></p>
<p>Then build &amp; install the package. For example, if you wish to install the module Nagios::Plugins::Memcached from CPAN, simply run:<br />
<div class="console">dh-make-perl --install --cpan Nagios::Plugins::Memcached</div></p>
<p>You&#8217;re done.</p>
]]></content:encoded>
			<wfw:commentRss>http://osterman.com/wordpress/2008/06/19/installing-cpan-packages-for-debian/feed</wfw:commentRss>
		</item>
		<item>
		<title>Nginx Rewrite to 404</title>
		<link>http://osterman.com/wordpress/2008/05/14/nginx-rewrite-to-404</link>
		<comments>http://osterman.com/wordpress/2008/05/14/nginx-rewrite-to-404#comments</comments>
		<pubDate>Thu, 15 May 2008 03:13:59 +0000</pubDate>
		<dc:creator>e</dc:creator>
		
		<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://osterman.com/wordpress/?p=203</guid>
		<description><![CDATA[The following Nginx configuration technique will allow you to do rewrites to status codes.
rewrite ^.*?\.(?:swf&#124;xml&#124;gif&#124;jpg&#124;png&#124;css&#124;js)$ @404 break;
location = @404 {
  return 404;
}
]]></description>
			<content:encoded><![CDATA[<p>The following Nginx configuration technique will allow you to do rewrites to status codes.</p>
<p><div class="console">rewrite ^.*?\.(?:swf|xml|gif|jpg|png|css|js)$ @404 break;
location = @404 {
  return 404;
}</div></p>
]]></content:encoded>
			<wfw:commentRss>http://osterman.com/wordpress/2008/05/14/nginx-rewrite-to-404/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
