<?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>Sequential Logic &#187; Technology</title>
	<atom:link href="http://www.sequentiallogic.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sequentiallogic.com</link>
	<description>Where software engineering meets online marketing</description>
	<lastBuildDate>Thu, 04 Mar 2010 21:03:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Viddler Set Thumbnail API Script</title>
		<link>http://www.sequentiallogic.com/2009/05/28/viddler-set-thumbnail-api-script/</link>
		<comments>http://www.sequentiallogic.com/2009/05/28/viddler-set-thumbnail-api-script/#comments</comments>
		<pubDate>Thu, 28 May 2009 10:11:46 +0000</pubDate>
		<dc:creator>emile</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sequentiallogic.com/?p=94</guid>
		<description><![CDATA[Update: This method was always a bit hit and miss. It appears that Viddler has incorporated some &#8220;set thumbnail&#8221; functionality, see the comment below from Viddler&#8217;s Rob Sandie for more details.
If you need to set the thumbnails for your Viddler videos, I&#8217;ve created a quick and _dirty_ script that will allow you to do that [...]]]></description>
			<content:encoded><![CDATA[<p>Update: This method was always a bit hit and miss. It appears that Viddler has incorporated some &#8220;set thumbnail&#8221; functionality, <a href="/2009/05/28/viddler-set-thumbnail-api-script/?preview=true&#038;preview_id=94&#038;preview_nonce=45aa7c5801#comment-17183">see the comment below from Viddler&#8217;s Rob Sandie</a> for more details.</p>
<p>If you need to set the thumbnails for your <a href="http://www.viddler.com">Viddler</a> videos, I&#8217;ve created a quick and _dirty_ script that will allow you to do that via the <a href="http://developers.viddler.com/documentation/api/">Viddler API</a>.</p>
<p>Here are the steps to get this working:</p>
<p>1) Get a Viddler API Key by going to http://www.viddler.com/YOUR_VIDDLER_USERNAME/settings/account/</p>
<p>2) Download and install the <a href="http://github.com/viddler/phpviddler/tree/master">Viddler PHP wrapper from GitHub</a></p>
<p>3) Currently, phpviddler does not implement the <a href="http://developers.viddler.com/documentation/api/method-videos-setthumbnail/">setThumbnail function</a>, so I&#8217;ve created one. <a href="http://www.sequentiallogic.com/wp-content/uploads/2009/05/phpviddler_setThumbnail.phps">Download my setThumbnail function</a> and insert it into the phpviddler.php file you got from GitHub. I put mine just below the setPermalink function.</p>
<p>4) Download my <a href="http://www.sequentiallogic.com/wp-content/uploads/2009/05/ViddlerSetThumbnail.phps">ViddlerSetThumbnail</a> script, rename it to a .php extension, and install it somewhere on your server that is web accessible. </p>
<p>WARNING! If you place this file on your server in a location that is not password protected, anyone who comes upon it in their web browser will be able to change the thumbnails of your videos. Please keep security in mind when using this script.</p>
<p>5) Change the _USERNAME_, _PASSWORD_, and _API_KEY_ defines to those of your Viddler account.</p>
<p>6) If necessary, change the require_once to match where your phpviddler.php file is,</p>
<p>7) Visit the ViddlerSetThumbnail.php script in your web browser, i.e. http://www.YOURSITE.com/PATH/TO/ViddlerSetThumbnail.php</p>
<p>8) The page will load up all the videos in your Viddler account. Below each thumbnail is an input box that lets you set where the thumbnail will be, in seconds, in the video.</p>
<p>9) When a thumbnail is changed, the resulting page will show the thumbnails as returned from Viddler. ALMOST ALWAYS, the thumbnails will be the same as before, as there seems to be a delay for Viddler to process the thumbnail change. DON&#8217;T CLICK REFRESH on this page, as it will resubmit the thumbnail change request each time you do. Not a terrible thing, but probably not what you intended. Insted, simply click the &#8220;Back to video list&#8221; link at the bottom of the page, and refresh every few minutes. You should see that video&#8217;s thumbnail change after a few minutes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sequentiallogic.com/2009/05/28/viddler-set-thumbnail-api-script/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bucking the &#8220;Green&#8221; trend, I never turn off my PCs</title>
		<link>http://www.sequentiallogic.com/2007/10/18/bucking-the-green-trend-i-never-turn-off-my-pcs/</link>
		<comments>http://www.sequentiallogic.com/2007/10/18/bucking-the-green-trend-i-never-turn-off-my-pcs/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 00:21:44 +0000</pubDate>
		<dc:creator>emile</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sequentiallogic.com/2007/10/18/bucking-the-green-trend-i-never-turn-off-my-pcs/</guid>
		<description><![CDATA[Eweek magazine is the latest to jump on the &#8220;Green Issue&#8221; trend this month (enough already). Within it are the numbers I have been looking for to justify the very ungreen practice I have of never shutting off my computers. As a CTO and software guy, I am at my computer throughout the day and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.eweek.com/">Eweek magazine</a> is the latest to jump on the &#8220;Green Issue&#8221; trend this month (enough already). Within it are the numbers I have been looking for to justify the very ungreen practice I have of never shutting off my computers. As a CTO and software guy, I am at my computer throughout the day and night, and I can never stand to wait through the 2-3 minute boot time so I can do a quick check of whatever information I need at the moment. It seems that many corporations are frowning at this practice, installing software on their computers to shut them off each night, or after certain periods of inactivity. Eweek says &#8220;&#8230;the savings can be significant&#8230;you can save anywhere from $25 to $75 per PC per year by using the power management features on your PC.&#8221;</p>
<p>Let&#8217;s run the numbers, shall we? We&#8217;ll take the high side, at $75 and compare that to the time wasted waiting for the PC to boot. Best case, we&#8217;ll say it takes 2 minutes to be completely up and running, with all required software up and running also. At 50 weeks per year (2 off for vacation), that $75 savings is a break even point for an employee that gets paid &#8230; wait for it &#8230; $9 an hour; that is, if the employee makes more than $9 an hour, the two minutes they waste each day waiting for the PC to boot costs you more than $75 a year. It doesn&#8217;t take a rocket scientist to see that turning off the computer makes no business sense. Does it &#8220;save the earth&#8217;s resources&#8221; by using less electricity? Of course. Does it make any kind of economic sense? Of course not. However, idling the processor when not in use makes sense, but shutting down the machine entirely does not.</p>
<p>A mentor engineer of mine at my first job showed me how many of these &#8220;save a little here, save a little there&#8221; types of decisions make no sense, especially in high-tech companies. I remember his point about getting the engineering managers to not be so cheap, and buy the engineers a new computer every once in a while. We wrote our code in C, so we were constantly running compile cycles. He demonstrated that if a faster computer, over all your compile cycles that day, saved you just 10 minutes a day, for a $75k engineer, that works out to be a $1,562.50 savings for the entire year. Hence, a brand new $1200 computer once a year could be a savings to the company. Imagine that.</p>
<p>It pays to run the numbers on all the silly cost savings corporations try to push down the ladder. They&#8217;re better off spending some money and getting down to business.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sequentiallogic.com/2007/10/18/bucking-the-green-trend-i-never-turn-off-my-pcs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Believe it or not, people will pay for software</title>
		<link>http://www.sequentiallogic.com/2007/08/05/believe-it-or-not-people-will-pay-for-software/</link>
		<comments>http://www.sequentiallogic.com/2007/08/05/believe-it-or-not-people-will-pay-for-software/#comments</comments>
		<pubDate>Mon, 06 Aug 2007 00:14:54 +0000</pubDate>
		<dc:creator>emile</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sequentiallogic.com/2007/08/05/believe-it-or-not-people-will-pay-for-software/</guid>
		<description><![CDATA[Over on TechCrunch, there is post about the new Mundu chat software for the iPhone that I have to take issue with. It makes some ridiculous statements about the price and pricing of software, but if you can get past (and discard) those statements, the argument may be sound.
In a nutshell, Mundu wants to charge [...]]]></description>
			<content:encoded><![CDATA[<p>Over on TechCrunch, there is <a href="http://www.techcrunch.com/2007/08/03/mundu-has-a-great-iphone-chat-application-why-are-they-charging/">post about the new Mundu chat software</a> for the iPhone that I have to take issue with. It makes some ridiculous statements about the price and pricing of software, but if you can get past (and discard) those statements, the argument may be sound.</p>
<p>In a nutshell, Mundu wants to charge $11 lifetime to use their web-enabled iPhone chat software/service, and Nick thinks they are out of their minds to be charging money. He makes two statements that are absolutely ridiculous in defense of his argument:</p>
<p>1) &#8220;There are way better ways to monetize software. Offer a free version and drop an advertisement &#8230;&#8221;<br />
2) &#8220;The marginal production cost of software is zero. That’s what the price should be.&#8221;</p>
<p>If there are &#8220;way better ways to monetize software&#8221;, then why are <a href="http://en.wikipedia.org/wiki/Bill_gates">two of the richest</a> people <a href="http://en.wikipedia.org/wiki/Larry_Ellison">on the planet</a> sellers of software?  Being a fan of all the new concepts, services and software falling under the Web 2.0 umbrella, this is the one part of this movement that I can&#8217;t always agree with; software should be free, supported by advertising. I can&#8217;t find the site now, but several months ago I went to a new Web 2.0 service that was launching, and on its front page it said something like &#8220;It has become accepted that this type of service should be free, and be supported by advertising&#8221;. Wow, way to be proud of the service you&#8217;ve built and the expectations of your users. You&#8217;ve just said your software isn&#8217;t worth much to your users, and its best feature is that it can be turned into a billboard.</p>
<p>Next, we have the almost-always true statement &#8220;The marginal production cost of software is zero.&#8221; followed by the utterly ridiculous &#8220;That’s what the price should be.&#8221;. Yes, that is one of the beautiful things about software compared to hard goods; the marginal cost of production of a web service/software is zero. Marketing guys love to take this fact and extrapolate it into all kinds of falsehoods, like &#8220;therefore the cost should be zero&#8221;, or &#8220;so giving away 100 copies for free costs us nothing.&#8221;. Wrong. What really matters is the marginal cost of distribution, the cost to have another person use the software. There are support costs, upgrade costs, and for web services, additional server and bandwidth resources, which cost more money. Having the marginal cost of production be zero means you can put a zero in your spreadsheet for that category, where you could not for physical goods, and that&#8217;s all, nothing more.</p>
<p>If I can take serious liberties with what Nick has written, I think under there is a good argument. If we can say &#8220;There are way better ways to market this type of software at the point in time they find themselves&#8221;, then there is value here. As he notes, Mundu&#8217;s main challenge is to get a critical mass of users before Apple releases their own chat application for free. To do so, he asserts that Mundu needs a freemium pricing model; free with advertisements, or paid with no advertisements. I&#8217;m a big fan of this model, as it allows users to try the service, and make some money from the users who would never pay for it in the first place. It also allows users who find it valuable to pay for it, and clear up some of the valuable screen space (incredibly valuable on a handheld device) that would have been taken up by ads.</p>
<p>However, getting a critical mass of users to beat the big guy to the punch is not the only way to make money, nor is it the best. The best way is to make a superior product, and people will have no problem paying for it. I know this for a fact, because I am in the middle of a 14-day trial period for some <a href="http://www.inesoft.com/eng/index.php?in=addressbook.htm">contact software</a> for my Windows Mobile phone that is far superior to the built in stuff, and I&#8217;ll definitely pay the $30 after the trial is up.</p>
<p>So the takeaways from this are: 1) If you want to make some money, and the 800 pound gorilla is breathing down your neck with his free version, make a superior product, and serious users will pay for it. For the rest of the users, monetize them with ads. 2) Having the marginal cost of production of software be zero only means that it is a cheaper thing to manufacture than a physical good. Nothing else.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sequentiallogic.com/2007/08/05/believe-it-or-not-people-will-pay-for-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Fine Print</title>
		<link>http://www.sequentiallogic.com/2007/03/09/the-fine-print/</link>
		<comments>http://www.sequentiallogic.com/2007/03/09/the-fine-print/#comments</comments>
		<pubDate>Fri, 09 Mar 2007 18:09:33 +0000</pubDate>
		<dc:creator>emile</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sequentiallogic.com/2007/03/09/the-fine-print/</guid>
		<description><![CDATA[There&#8217;s always something in the fine print of the digital download services that are coming out these days that show the big media companies &#8220;Just Don&#8217;t Get It&#8221;, and Amazon Unboxed is no different.
I was looking into the Tivo/Amazon Unboxed integration, thinking how cool it is that you can remotely buy a movie, and it [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s always something in the fine print of the digital download services that are coming out these days that show the big media companies &#8220;Just Don&#8217;t Get It&#8221;, and Amazon Unboxed is no different.</p>
<p>I was looking into the <a href="http://www.tivo.com/4.9.24.3.asp">Tivo/Amazon Unboxed</a> integration, thinking how cool it is that you can remotely buy a movie, and it will be on your Tivo when you get home, when I spotted <a href="http://www.tivo.com/4.9.24.2.asp">this gem</a>:</p>
<p><em>What is the &#8220;Pay-TV Blackout Window&#8221;?<br />
Due to restrictions from the video rights holders, most newly released movies will occasionally become temporarily unavailable for re-download from Your Media Library—even after they’ve already been purchased.</p>
<p>During this &#8220;Pay-TV Blackout Window&#8221; certain programs will be temporarily unavailable from the Unbox catalog and Your Media Library. This happens during the program’s run on a pay-cable channel. </p>
<p>The video will be automatically replaced and made available to you through Your Media Library once the &#8220;Pay-TV Blackout Window&#8221; has ended.<br />
</em></p>
<p>Does this sound utterly ridiculous? That&#8217;s because it is.</p>
<p>This is the equivalent of buying a DVD, being able to watch it for a few weeks, then having a Showtime/HBO/Cinemax representative show up at your door and take away your DVD until their channel is done running that movie. I can see that the original intention was for the pay-TV channel to be able to secure exclusive rights to a movie via &#8220;digital distribution to a video signal-viewing device&#8221; (my legal mumbo-jumbo), but this goes a bit too far. As far as I can see, this doesn&#8217;t serve anyone&#8217;s best interest, and only serves to make the Unboxed service less attractive.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sequentiallogic.com/2007/03/09/the-fine-print/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Album art trouble with the Samsung YP-Z5AS</title>
		<link>http://www.sequentiallogic.com/2006/11/01/album-art-trouble-with-the-samsung-yp-z5as/</link>
		<comments>http://www.sequentiallogic.com/2006/11/01/album-art-trouble-with-the-samsung-yp-z5as/#comments</comments>
		<pubDate>Wed, 01 Nov 2006 23:02:52 +0000</pubDate>
		<dc:creator>emile</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sequentiallogic.com/archives/34</guid>
		<description><![CDATA[We&#8217;re becoming experts in troubleshooting MP3 album art problems with various MP3 players. This time, a listener of one of our podcasts informed us some of our shows were causing his Samsung YP-Z5AS MP3 player to lock up when it tried to play some of our MP3 files. We got the exact model number from [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re becoming experts in troubleshooting MP3 album art problems with <a href="http://www.sequentiallogic.com/2006/05/05/sorting-out-some-trouble-with-the-emprex-mp1003-mp3-player/">various MP3 players</a>. This time, a listener of one of our podcasts informed us some of our shows were causing his <a href="http://www.samsung.com/Products/DigitalAudioPlayer/MP3Players/YP_Z5ASXAA.asp">Samsung YP-Z5AS MP3 player</a> to lock up when it tried to play some of our MP3 files. We got the exact model number from the listener, and purchased an identical one online. It came via Fed Ex today, and we got down to business.</p>
<p>What we discovered was that it was the album art image we were using that was causing the problem. By removing the album art, the YP-Z5 played the file just fine. In a code editor, we opened the JPG file we were using as album art, and discovered something interesting:</p>
<p><img id="image33" src="http://www.sequentiallogic.com/wp-content/uploads/2006/11/jpg_with_photoshop_metadata.jpg" alt="JPG with Photoshop metadata" /></p>
<p>What we&#8217;re seeing there is metadata embedded by Photoshop in the JPG file itself. Using Photoshop&#8217;s &#8220;Save for web&#8221; functionality, we produced a JPG file with no metadata in it. Using this &#8220;saved for web&#8221; file as album art in the MP3 file caused the YP-Z5 to work properly. The wildest thing is that we had been using the JPG with metadata as album art for a long time, and a lot of other MP3s with that JPG played just fine on the YP-Z5. There must be some combination of JPG file and other data in the MP3 that sets the YP-Z5 off.</p>
<p>The takeaway from this: always use the &#8220;Save for web&#8221; functionality in Photoshop if you are saving a JPG for use as album art in an MP3 file. Using the &#8220;Save as&#8221; functionality in Photoshop, then saving as a JPG embeds metadata in the JPG file, which can cause MP3 players to choke.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sequentiallogic.com/2006/11/01/album-art-trouble-with-the-samsung-yp-z5as/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Workaround for Yahoo Mail&#8217;s hack</title>
		<link>http://www.sequentiallogic.com/2006/07/17/workaround-for-yahoo-mails-hack/</link>
		<comments>http://www.sequentiallogic.com/2006/07/17/workaround-for-yahoo-mails-hack/#comments</comments>
		<pubDate>Tue, 18 Jul 2006 04:30:29 +0000</pubDate>
		<dc:creator>emile</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sequentiallogic.com/?p=21</guid>
		<description><![CDATA[It appears that Yahoo Mail doesn't want you pulling in outside stylesheets. When our Trader Interviews email arrived in a Yahoo Mail account, the &#60;link&#62; tag to our CSS was replaced with an &#60;xlink&#62; tag, rendering it unusable. Googling around, it appears that xlink is a valid XHTML tag, but it appears that Yahoo is [...]]]></description>
			<content:encoded><![CDATA[<p>It appears that Yahoo Mail doesn't want you pulling in outside stylesheets. When our <a target="_blank" title="Trader Interviews" href="http://www.traderinterviews.com">Trader Interviews</a> email arrived in a Yahoo Mail account, the &lt;link&gt; tag to our CSS was replaced with an &lt;xlink&gt; tag, rendering it unusable. Googling around, it appears that xlink is a valid XHTML tag, but it appears that Yahoo is using it just to break links to outside stylesheets, since they also replace a &lt;body&gt; tag with &lt;xbody&gt;. Our workaround is to replace any &lt;link&gt; tags to outside stylesheets with the contents of that outside stylesheet, before an email is sent. Below is a test file with the function we use to do such a thing.</p>
<div class="igBar"><span id="lcode-2"><a href="#" onclick="javascript:showPlainTxt('code-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-2">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;?php</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$text = <span style="color:#CC0000;">'&lt;LINK href=&quot;http://www.traderinterviews.com/main.css&quot;type=text/css rel=stylesheet&gt;Some more text'</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">echo StylesheetLink_Replace<span style="color:#006600; font-weight:bold;">&#40;</span>$text<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000;">/*------------------------------------------------------------------------------</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000;">Name:&nbsp; &nbsp; &nbsp; StylesheetLink_Replace</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000;">Arguments: html: The HTML to search for &lt;link&gt; tags in</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000;">Returns:&nbsp; &nbsp;The HTML passed in, with &lt;link&gt; tags to external stylesheets </span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;replaced with the contents of that file</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000;">Purpose:&nbsp; &nbsp;Replaces links to external stylesheets with the actual contents of </span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;the stylesheet. Yahoo changes the &lt;link tag to &lt;xlink, making the </span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CSS not work. Embedding it gets around the problem.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000;">Notes:&nbsp; &nbsp; &nbsp;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000;">------------------------------------------------------------------------------*/</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">function StylesheetLink_Replace<span style="color:#006600; font-weight:bold;">&#40;</span>$html<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#008000;">/* Find links to CSS files */</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;preg_match_all<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">'/&lt;LINK.*href=&quot;{0,1}.+<span style="color:#000099; font-weight:bold;">\.</span>css&quot;{0,1}.*&gt;/i'</span>, </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $html, $whole_links<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#008000;">/* Process each css link found */</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;foreach<span style="color:#006600; font-weight:bold;">&#40;</span>$whole_links<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span> as $whole_link<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#008000;">/* Find the css file path in the match */</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; preg_match<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">'/href=&quot;{0,1}(.+<span style="color:#000099; font-weight:bold;">\.</span>css)&quot;{0,1}/i'</span>, $whole_link, $paths<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#008000;">/* Open the file and read it into a variable */</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; $handle = fopen<span style="color:#006600; font-weight:bold;">&#40;</span>$paths<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#800000;color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color:#CC0000;">'rb'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#008000;">/* If the remote file could be opened, do the replacement */</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; if<span style="color:#006600; font-weight:bold;">&#40;</span>$handle<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$contents = stream_get_contents<span style="color:#006600; font-weight:bold;">&#40;</span>$handle<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fclose<span style="color:#006600; font-weight:bold;">&#40;</span>$handle<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#008000;">/* Replace the found string with the contents */</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$html = str_replace<span style="color:#006600; font-weight:bold;">&#40;</span>$whole_link, </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#CC0000;">'&lt;style type=&quot;text/css&quot;&gt;'</span>.$contents.<span style="color:#CC0000;">'&lt;/style&gt;'</span>, </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$html<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#008000;">/* Otherwise, remove the CSS link, since it couldn't be opened anyway */</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; else</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$html = str_replace<span style="color:#006600; font-weight:bold;">&#40;</span>$whole_link, <span style="color:#CC0000;">''</span>, $html<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;return $html;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">?&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sequentiallogic.com/2006/07/17/workaround-for-yahoo-mails-hack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We have our landlord to thank for this.</title>
		<link>http://www.sequentiallogic.com/2006/06/13/we-have-our-landlord-to-thank-for-this/</link>
		<comments>http://www.sequentiallogic.com/2006/06/13/we-have-our-landlord-to-thank-for-this/#comments</comments>
		<pubDate>Tue, 13 Jun 2006 21:58:13 +0000</pubDate>
		<dc:creator>emile</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sequentiallogic.com/?p=18</guid>
		<description><![CDATA[For the last two days, the SBC Global network has been having severe problems, cutting us off from our server for most of the business day:

We would love to have a redunadant cable modem link to the Net via Cox, except for one small problem; our landlord refuses to let Cox onto the premises. Cox [...]]]></description>
			<content:encoded><![CDATA[<p>For the last two days, the SBC Global network has been having severe problems, cutting us off from our server for most of the business day:</p>
<p><img align="middle" title="failed traceroute to tncnewmedia.com" alt="failed traceroute to tncnewmedia.com" src="http://www.sequentiallogic.com/wp-content/uploads/2006/06/traceroute.jpg" /></p>
<p>We would love to have a redunadant cable modem link to the Net via Cox, except for one small problem; our landlord refuses to let Cox onto the premises. Cox has said they "don't have an agreement with the landlord", so they can't provide us service. We're guessing that the landlords have some sort of "agreement" (kickback) with SBC that they don't have with Cox, so they line their pockets, and we feel the pain. I wonder if the <a title="California Public Utilities Commission" target="_blank" href="http://www.cpuc.ca.gov/">Public Utilities Commission</a> would have some jurisdiction there? Has anyone else had this experience, where essentially a monopoly is created by your landlord's business practices?</p>
<p>You'll notice I don't blame SBC for this. I guess it's because I've come to accept flaky Internet service from any provider, and our solution has become to get redundant flaky links, in an attempt to create one good one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sequentiallogic.com/2006/06/13/we-have-our-landlord-to-thank-for-this/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>No border around images in Wordpress sidebar</title>
		<link>http://www.sequentiallogic.com/2006/05/16/no-border-around-images-in-wordpress-sidebar/</link>
		<comments>http://www.sequentiallogic.com/2006/05/16/no-border-around-images-in-wordpress-sidebar/#comments</comments>
		<pubDate>Tue, 16 May 2006 18:38:15 +0000</pubDate>
		<dc:creator>emile</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sequentiallogic.com/?p=14</guid>
		<description><![CDATA[Update: In WordPress 2.1.x, the code below is now in the file wp-includes/bookmark-template.php
I wanted to put an image in the sidebar of this blog, but the default code puts a border around the image, because it's also a link. I think that's generally unattractive, but even the link editor didn't allow me to set the [...]]]></description>
			<content:encoded><![CDATA[<p>Update: In WordPress 2.1.x, the code below is now in the file wp-includes/bookmark-template.php</p>
<p>I wanted to put an image in the sidebar of this blog, but the default code puts a border around the image, because it's also a link. I think that's generally unattractive, but even the link editor didn't allow me to set the border to 0, so into the code we go.</p>
<p>In wp-includes/links.php, lines 247-249, change this:</p>
<div class="igBar"><span id="lphp-5"><a href="#" onclick="javascript:showPlainTxt('php-5'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-5">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$output</span> .= <span style="color:#FF0000;">"&lt;img src=<span style="color:#000099; font-weight:bold;">\"</span>$bookmark-&gt;link_image<span style="color:#000099; font-weight:bold;">\"</span> $alt $title /&gt;"</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">else</span> <span style="color:#FF9933; font-style:italic;">// If it's a relative path</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$output</span> .= <span style="color:#FF0000;">"&lt;img src=<span style="color:#000099; font-weight:bold;">\"</span>"</span> . get_option<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'siteurl'</span><span style="color:#006600; font-weight:bold;">&#41;</span> . <span style="color:#FF0000;">"$bookmark-&gt;link_image<span style="color:#000099; font-weight:bold;">\"</span> $alt $title /&gt;"</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>to this:</p>
<div class="igBar"><span id="lphp-6"><a href="#" onclick="javascript:showPlainTxt('php-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-6">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$output</span> .= <span style="color:#FF0000;">"&lt;img src=<span style="color:#000099; font-weight:bold;">\"</span>$bookmark-&gt;link_image<span style="color:#000099; font-weight:bold;">\"</span> $alt $title border=<span style="color:#000099; font-weight:bold;">\"</span>0<span style="color:#000099; font-weight:bold;">\"</span> /&gt;"</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">else</span> <span style="color:#FF9933; font-style:italic;">// If it's a relative path</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$output</span> .= <span style="color:#FF0000;">"&lt;img src=<span style="color:#000099; font-weight:bold;">\"</span>"</span> . get_option<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'siteurl'</span><span style="color:#006600; font-weight:bold;">&#41;</span> . <span style="color:#FF0000;">"$bookmark-&gt;link_image<span style="color:#000099; font-weight:bold;">\"</span> $alt $title border=<span style="color:#000099; font-weight:bold;">\"</span>0<span style="color:#000099; font-weight:bold;">\"</span> /&gt;"</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>and now the images under the Links sidebar won't have a border around them. Yes, I understand the border is supposed to be a visual cue that the image is also a link, but these days, most people know that things in the sidebar are generally links, plus the visual cue of the pointer changing when a user hovers over the image seems to be enough.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sequentiallogic.com/2006/05/16/no-border-around-images-in-wordpress-sidebar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Compiling mod_ruby 1.2.5 under Fedora Core 5</title>
		<link>http://www.sequentiallogic.com/2006/05/14/compiling-mod_ruby-125-under-fedora-core-5/</link>
		<comments>http://www.sequentiallogic.com/2006/05/14/compiling-mod_ruby-125-under-fedora-core-5/#comments</comments>
		<pubDate>Mon, 15 May 2006 03:52:40 +0000</pubDate>
		<dc:creator>emile</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.sequentiallogic.com/?p=12</guid>
		<description><![CDATA[When compiling mod_ruby under Fedora Core 5, and thus Apache 2.2, configure.rb assumes an incorrect path for the apr* files, and make kicked out the following errors:
# make
In file included from /usr/include/httpd/httpd.h:43,
from mod_ruby.h:49,
from mod_ruby.c:33:
/usr/include/httpd/ap_config.h:25:17: error: apr.h: No such file or directory
/usr/include/httpd/ap_config.h:26:23: error: apr_hooks.h: No such file or directory
/usr/include/httpd/ap_config.h:27:32: error: apr_optional_hooks.h: No such file or directory
...
The [...]]]></description>
			<content:encoded><![CDATA[<p>When compiling <a title="mod_ruby" target="_blank" href="http://www.modruby.net/en/">mod_ruby</a> under <a title="Fedora" target="_blank" href="http://fedora.redhat.com/">Fedora</a> Core 5, and thus <a title="Apache HTTPD" target="_blank" href="http://httpd.apache.org/">Apache</a> 2.2, configure.rb assumes an incorrect path for the apr* files, and make kicked out the following errors:</p>
<p># make<br />
In file included from /usr/include/httpd/httpd.h:43,<br />
from mod_ruby.h:49,<br />
from mod_ruby.c:33:<br />
/usr/include/httpd/ap_config.h:25:17: error: apr.h: No such file or directory<br />
/usr/include/httpd/ap_config.h:26:23: error: apr_hooks.h: No such file or directory<br />
/usr/include/httpd/ap_config.h:27:32: error: apr_optional_hooks.h: No such file or directory<br />
...</p>
<p>The problem is that the apr* files are in /usr/include/apr-1, which is not where make is looking. (In order to compile mod_ruby, the httpd-devel, apr-devel, and apr-util-devel packages are required, so doing a "yum install httpd-devel" installs these three packages).</p>
<p>To fix the problem, run the configure.rb command like this:</p>
<p>./configure.rb --with-apr-includes=/usr/include/apr-1</p>
<p>and then the "make" command will run without error.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sequentiallogic.com/2006/05/14/compiling-mod_ruby-125-under-fedora-core-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Downloads of RSS file versus audio file</title>
		<link>http://www.sequentiallogic.com/2006/05/08/downloads-of-rss-file-versus-audio-file/</link>
		<comments>http://www.sequentiallogic.com/2006/05/08/downloads-of-rss-file-versus-audio-file/#comments</comments>
		<pubDate>Mon, 08 May 2006 15:39:16 +0000</pubDate>
		<dc:creator>emile</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://sequentiallogic.com/?p=11</guid>
		<description><![CDATA[Scott Whitney had a question for us regarding the number of downloads of your RSS (XML) file versus the number of downloads of the actual audio file (Podcast) identified within it:
Do you have any data regarding the normal ratio between number of feed downloads (the XML file) versus the actual number of audio downloads?  [...]]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" title="Living In Las Vegas" href="http://www.livinginlv.com">Scott Whitney</a> had a question for us regarding the number of downloads of your RSS (XML) file versus the number of downloads of the actual audio file (Podcast) identified within it:</p>
<p class="MsoNormal"><font size="2" face="Arial" color="navy"><span style="font-size: 10pt; color: navy; font-family: Arial">Do you have any data regarding the normal ratio between number of feed downloads (the XML file) versus the actual number of audio downloads?  And, any explanation why  there would be a measurable difference?</span></font></p>
<p>Our response covers a couple of the many reasons why it will be different:</p>
<p class="MsoNormal"><font size="2" face="Arial" color="navy"><span style="font-size: 10pt; color: navy; font-family: Arial">The number of downloads of the XML file versus the audio file is almost always  very different, for several reasons. In a perfect world, all RSS aggregators  would make use of the feature in which the aggregator asks the web server “Has  this feed changed since I last downloaded it at time X ?”. If there was no new  audio program in the feed, the server would respond “No”, and the XML file would  not be downloaded. Only when there was a new post/program would the XML file be  downloaded, as would the audio file, and there would be a 1:1 ratio between the  two.</span></font></p>
<p class="MsoNormal"><font size="2" face="Arial" color="navy"><span style="font-size: 10pt; color: navy; font-family: Arial">            However,  many aggregators do not use this feature, and just blindly pull the XML file  every time, new or not. This, coupled with the fact that most aggregators can be  changed by the user as to how often they check the XML file (anywhere from every  minute to once a day), leads to the XML file being downloaded many more times  than the audio file itself. Also, things like people opening the XML file in a  browser, etc., lead to many more hits on the XML file than the  audio.</span></font></p>
<p class="MsoNormal"><font size="2" face="Arial" color="navy"><span style="font-size: 10pt; color: navy; font-family: Arial"> </span></font></p>
<p class="MsoNormal"><font size="2" face="Arial" color="navy"><span style="font-size: 10pt; color: navy; font-family: Arial">            I don’t  have any hard data on the ratio of XML versus audio downloads, because it is all  over the map depending on which podcast, time-period, etc. is looked  at.</span></font></p>
<p class="MsoNormal"><font size="2" face="Arial" color="navy"><span style="font-size: 10pt; color: navy; font-family: Arial"> </span></font></p>
<p class="MsoNormal"><font size="2" face="Arial" color="navy"><span style="font-size: 10pt; color: navy; font-family: Arial">            On a  related note, inferring subscriber statistics from the number of hits on the XML  file is very inaccurate, because of the same reasons. The number of downloads of  the audio file itself is more accurate, but still not completely accurate,  because of multiple downloads of the file by the same aggregator/person (more  downloads than real subscribers), and services like iTunes and Odeo that cache  your audio file for their users (less downloads of the file from your server  than actual subscribers).</span></font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sequentiallogic.com/2006/05/08/downloads-of-rss-file-versus-audio-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
