<?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>Jacob Allred &#187; Web Dev</title>
	<atom:link href="http://www.jacoballred.com/category/web-dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jacoballred.com</link>
	<description></description>
	<lastBuildDate>Thu, 02 Feb 2012 15:48:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Cheap, easy to customize PBX</title>
		<link>http://www.jacoballred.com/web-dev/cheap-easy-to-customize-pbx/</link>
		<comments>http://www.jacoballred.com/web-dev/cheap-easy-to-customize-pbx/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 17:55:44 +0000</pubDate>
		<dc:creator>Jacob Allred</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.jacoballred.com/?p=1083</guid>
		<description><![CDATA[I recently stumbled across an amazingly awesome set of tools: Twilio and OpenVBX. I&#8217;ll tackle each one separately. First, Twilio. This service lets you purchase local telephone numbers from almost anywhere in the country for just $1 per month, 1¢/minute inbound, and  2¢/minute outbound. This may sound like a lot, but it is actually quite [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/cheap-easy-to-customize-pbx/' addthis:title='Cheap, easy to customize PBX '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>I recently stumbled across an amazingly awesome set of tools: <a href="http://www.twilio.com/">Twilio</a> and <a href="http://www.openvbx.org/">OpenVBX</a>. I&#8217;ll tackle each one separately.</p>
<p>First, Twilio. This service lets you purchase local telephone numbers from almost anywhere in the country for just $1 per month, 1¢/minute inbound, and  2¢/minute outbound. This may sound like a lot, but it is actually quite cheap. For $10/month you can talk for 15 hours inbound. And you get a $30 credit when you sign up, so really you can have months of service without paying anything.</p>
<p>If you want a toll-free number, it is only $2 per month (standard pricing for most providers), 3¢/minute inbound, and  2¢/minute outbound. Again, this is very very cheap for low-volume usage. I&#8217;m currently using Kall8.net and paying 6.9¢/minute inbound.</p>
<p>To make it even cooler, all the local numbers have SMS capability. This means you can configure your local number to accept and reply to SMS messages, or you can configure your system to send SMS reminders to you, or forward inbound SMS to your cell phone, or whatever else you want to do with your SMS capability. SMS is only 1¢ per message (inbound or outbound).</p>
<p>So now you have this local or toll free number, and you want to make it do fancy menu stuff. This is where OpenVBX comes in. This super easy to install software lets you set up all sorts of menus, text-to-speech, voicemail, call forwarding, whatever. So I could have a number that when you call, it checks if it is 8am-5pm, and if not sends it to voicemail. If it goes to voicemail, the system will do voice-to-text and email me the text of the voicemail. Otherwise the call will go to a menu that lets you pick whether you want to talk to me or my wife, and then forwards the call to the correct cell phone.</p>
<p>I&#8217;m pretty excited about all this. I&#8217;m porting my toll free number over which should save me a few bucks a month, and am working on a whole new website that relies on Twilio. The ability to programmatically make outbound calls (without dealing with the tediousness that is Asterisk) is pretty exciting.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jacoballred.com/free-stuff/new-aba-number-search-site/" rel="bookmark" class="crp_title">New ABA number search site</a></li><li><a href="http://www.jacoballred.com/linux/poor-mans-process-monitor/" rel="bookmark" class="crp_title">Poor man&#8217;s process monitor</a></li><li><a href="http://www.jacoballred.com/linux/how-to-get-your-msl-number-on-android/" rel="bookmark" class="crp_title">How to get your MSL number on Android</a></li><li><a href="http://www.jacoballred.com/reviews/review-negotiating-your-salary/" rel="bookmark" class="crp_title">Review: Negotiating Your Salary</a></li><li><a href="http://www.jacoballred.com/free-stuff/a-local-vacation/" rel="bookmark" class="crp_title">A Local Vacation</a></li></ul></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/cheap-easy-to-customize-pbx/' addthis:title='Cheap, easy to customize PBX '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.jacoballred.com/web-dev/cheap-easy-to-customize-pbx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yale School of Art</title>
		<link>http://www.jacoballred.com/web-dev/yale-school-of-art/</link>
		<comments>http://www.jacoballred.com/web-dev/yale-school-of-art/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 16:00:21 +0000</pubDate>
		<dc:creator>Jacob Allred</dc:creator>
				<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.jacoballred.com/?p=952</guid>
		<description><![CDATA[Recently I blogged about Yale and their intelligent use of Drupal. Today I would like to blog about Yale again. Well, a part of Yale. Specifically, the Yale University School of Art. This page is, well, let&#8217;s just say it is &#8220;unique&#8221;. Or maybe &#8220;special&#8221; would be a better description. They decided it&#8217;d be a [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/yale-school-of-art/' addthis:title='Yale School of Art '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Recently I <a title="Drupal at Yale" href="http://www.jacoballred.com/web-dev/drupal-at-yale/">blogged about Yale</a> and their intelligent use of Drupal.</p>
<p>Today I would like to blog about Yale again. Well, a part of Yale. Specifically, the Yale University School of Art. This page is, well, let&#8217;s just say it is &#8220;unique&#8221;. Or maybe &#8220;special&#8221; would be a better description.</p>
<p>They decided it&#8217;d be a cool idea to make the page a wiki that any Yale art student can modify. Without supervision. I&#8217;m sure whoever came up with this genius idea thought that art students &#8212; nay, <em>Yale</em> art students &#8211; collaborating together would make the most awesome sauce website in the universe.</p>
<p>Well judge for yourself: <a href="http://art.yale.edu/">Yale University School of Art</a></p>
<p>Keep in mind that the background changes frequently. At the time of writing, the background was blank, which is the first time I&#8217;ve seen it blank. It may be green or purple or pixelated or full of words when you look at it.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jacoballred.com/web-dev/drupal-at-yale/" rel="bookmark" class="crp_title">Drupal at Yale</a></li><li><a href="http://www.jacoballred.com/random/going-back-to-college/" rel="bookmark" class="crp_title">Going back to college</a></li><li><a href="http://www.jacoballred.com/free-stuff/open-atrium/" rel="bookmark" class="crp_title">Open Atrium</a></li><li><a href="http://www.jacoballred.com/my-sites/pic-code-site/" rel="bookmark" class="crp_title">PIC Code Site</a></li><li><a href="http://www.jacoballred.com/random/15-minutes-of-fame/" rel="bookmark" class="crp_title">15 Minutes of Fame</a></li></ul></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/yale-school-of-art/' addthis:title='Yale School of Art '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.jacoballred.com/web-dev/yale-school-of-art/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pinterest needs some work</title>
		<link>http://www.jacoballred.com/web-dev/pinterest-needs-some-work/</link>
		<comments>http://www.jacoballred.com/web-dev/pinterest-needs-some-work/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 13:00:21 +0000</pubDate>
		<dc:creator>Jacob Allred</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.jacoballred.com/?p=938</guid>
		<description><![CDATA[My wife convinced me to try out Pinterest. It is basically a normal bookmarking site that shows a thumbnail from the bookmarked site (not to be confused with a thumbnail of the bookmarked site). The thing that makes it so popular is that it is geared towards the kind of stuff you&#8217;d find in Martha [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/pinterest-needs-some-work/' addthis:title='Pinterest needs some work '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p><a href="http://www.jacoballred.com/wp-content/uploads/2011/10/pinterest.png"><img class="alignleft size-thumbnail wp-image-941" title="Pinterest" src="http://www.jacoballred.com/wp-content/uploads/2011/10/pinterest-150x150.png" alt="" width="150" height="150" /></a>My wife convinced me to try out <a href="http://www.pinterest.com">Pinterest</a>. It is basically a normal bookmarking site that shows a thumbnail from the bookmarked site (not to be confused with a thumbnail of the bookmarked site). The thing that makes it so popular is that it is geared towards the kind of stuff you&#8217;d find in Martha Stewart Living, and the terminology/interface is geared towards non-techies.</p>
<p>And that is the problem. In addition to being geared towards non-techies, it also feels like it was made by non-techies. I&#8217;ve been using it for a few days and like it, but would love it if they&#8217;d fix a few things:</p>
<ol>
<li><strong><strong>Don&#8217;t force me to follow people I don&#8217;t know when I sign up.</strong> </strong>The signup process needs some work. I can understand <em>suggesting</em> that you follow some people, but <em>forcing</em> you to follow strangers wasn&#8217;t something I wanted to do.<strong><br />
</strong></li>
<li><strong>Give an option to hide duplicate items when browsing Pinterest.</strong> I hate it when something popular is posted and reposted and reposted, so all you see is the same stuff over and over and over.</li>
<li><strong>Create native extensions for Chrome and Firefox.</strong> The bookmarklet doesn&#8217;t work consistently. It doesn&#8217;t work at all on some of my browsers. Right now I&#8217;m using a third-party extension that lets me right click the image I want to pin. This works maybe 90% of the time, but I&#8217;d love to use an official extension.</li>
<li><strong>When I&#8217;m done editing or deleting a board, redirect me to my original page. </strong>This one drives me crazy. I go to my list of boards, I delete one, and somehow I end up at the homepage. Why in the world would they think I want to go to the homepage? I&#8217;m obviously interested in modifying my boards, so why not put me back where I was before I edited/deleted a board?</li>
<li><strong>Add an optional profanity filter.</strong> I suspect a <span style="text-decoration: underline;">huge</span> number of their users are family-oriented or very religious. It would be awesome if I didn&#8217;t have to see the profanity put up by what I suspect is a very small minority. This is especially important when repinning from a board that has profanity in its name.</li>
</ol>
<p>There are other minor annoyances, but those are the big ones (particularly #2).</p>
<p>Overall though I&#8217;ve enjoyed it. I&#8217;m currently using two boards. One is for DIY stuff I want to try, and the other is for recipes I want to try. It is much easier to find a recipe on a wall of pictures than a list of page titles.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jacoballred.com/my-sites/recipes-and-u-s-copyright-law/" rel="bookmark" class="crp_title">Recipes and U.S. copyright law</a></li><li><a href="http://www.jacoballred.com/web-dev/is-googles-new-page-speed-service-worth-it/" rel="bookmark" class="crp_title">Is Google&#8217;s new Page Speed Service worth it?</a></li><li><a href="http://www.jacoballred.com/my-sites/lossless-image-optimization-even-for-jpg/" rel="bookmark" class="crp_title">Lossless image optimization &#8212; even for JPG!</a></li><li><a href="http://www.jacoballred.com/diy/boo-ing-your-neighbors/" rel="bookmark" class="crp_title">Boo-ing Your Neighbors</a></li><li><a href="http://www.jacoballred.com/random/water-storage/" rel="bookmark" class="crp_title">Water Storage</a></li></ul></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/pinterest-needs-some-work/' addthis:title='Pinterest needs some work '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.jacoballred.com/web-dev/pinterest-needs-some-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why you should have an account at allthis</title>
		<link>http://www.jacoballred.com/web-dev/why-you-should-have-an-account-at-allthis/</link>
		<comments>http://www.jacoballred.com/web-dev/why-you-should-have-an-account-at-allthis/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 13:27:49 +0000</pubDate>
		<dc:creator>Jacob Allred</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.jacoballred.com/?p=909</guid>
		<description><![CDATA[At the beginning of this month I stumbled upon allthis, a website that lets you buy and sell 10 minutes of people&#8217;s time. I was a little skeptical at first, but now that I&#8217;ve been using it I am hooked and absolutely convinced that it is going to be huge. Here is how it works: [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/why-you-should-have-an-account-at-allthis/' addthis:title='Why you should have an account at allthis '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>At the beginning of this month I stumbled upon <a href="http://allthis.com/rR5RE">allthis</a>, a website that lets you buy and sell 10 minutes of people&#8217;s time. I was a little skeptical at first, but now that I&#8217;ve been using it I am hooked and absolutely convinced that it is going to be huge.</p>
<p>Here is how it works:</p>
<ul>
<li>You signup and get some free time credits.</li>
<li>You use those credits to buy someone&#8217;s token.</li>
<ul>
<li>Each person only has one token available at a time.</li>
<li>The token can be redeemed for 10 minutes of that person&#8217;s time.</li>
<li>Or you can hope someone else buys it from you at a higher price so you earn a profit, which you can then spend on someone else&#8217;s token.</li>
</ul>
<li>Keep in mind that someone can buy your token, too, and possibly redeem it for 10 minutes of your time.</li>
</ul>
<p>So why would you want 10 minutes of someone&#8217;s time? Well, maybe you are an aspiring novelist, so perhaps you&#8217;ll buy 10 minutes of another writer&#8217;s time to get their input on your idea for a new book. Or maybe you make websites and aren&#8217;t very good at social media and want some tips from someone that is. Or maybe someone just plain sounds interesting and you&#8217;d like to spend 10 minutes chatting. Or maybe you won&#8217;t redeem any tokens yet, and are just trying to build up a huge chunk of cash so you can buy someone famous when they join allthis.</p>
<p>Like I said, I&#8217;m convinced this is going to be huge. It is easy to use and engages the visitor. There is always a reason to come back (to spend more credits or to fulfill someone&#8217;s request for 10 minutes of your time). But most of all it is fun. Its like a people stock market.</p>
<p>Unlike Facebook or Twitter where it doesn&#8217;t really matter when you sign up, there will definitely be an advantage for people that signup early for allthis. They&#8217;ll have more time to build their virtual credit balance and so they&#8217;ll have easier access to more interesting people in the future.</p>
<p>So go <a href="http://allthis.com/rR5RE">signup</a>! Not sure who&#8217;s token to buy first? You could always <a href="http://allthis.com/users/7466/Jacob-Allred">buy mine</a>.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jacoballred.com/random/crazy-busy-and-random-stuff/" rel="bookmark" class="crp_title">Crazy busy and random stuff</a></li><li><a href="http://www.jacoballred.com/my-sites/the-benefits-of-profiling/" rel="bookmark" class="crp_title">The Benefits of Profiling</a></li><li><a href="http://www.jacoballred.com/random/going-back-to-college/" rel="bookmark" class="crp_title">Going back to college</a></li><li><a href="http://www.jacoballred.com/my-sites/i-am-reading-lots-of-stuff/" rel="bookmark" class="crp_title">I Am Reading: Lots of stuff!</a></li><li><a href="http://www.jacoballred.com/goals/zend-certified-engineer/" rel="bookmark" class="crp_title">Zend Certified Engineer</a></li></ul></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/why-you-should-have-an-account-at-allthis/' addthis:title='Why you should have an account at allthis '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.jacoballred.com/web-dev/why-you-should-have-an-account-at-allthis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal at Yale</title>
		<link>http://www.jacoballred.com/web-dev/drupal-at-yale/</link>
		<comments>http://www.jacoballred.com/web-dev/drupal-at-yale/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 18:26:22 +0000</pubDate>
		<dc:creator>Jacob Allred</dc:creator>
				<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.jacoballred.com/?p=888</guid>
		<description><![CDATA[My wife is a graduate student at Yale University (she is super smart and stuff) in the Schmuttenmaer Research Group (she is the pretty girl on the left in the group photo). Their group had a very old website that they wanted to revamp. I don&#8217;t know all the details, but I was very interested [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/drupal-at-yale/' addthis:title='Drupal at Yale '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>My wife is a graduate student at Yale University (she is super smart and stuff) in the <a href="http://thz.yale.edu/">Schmuttenmaer Research Group</a> (she is the pretty girl on the left in the group photo). Their group had a very old website that they wanted to revamp. I don&#8217;t know all the details, but I was very interested to learn that Yale&#8217;s IT team actively supports using <a href="http://drupal.org">Drupal</a>.</p>
<p>Not all Yale pages are using Drupal, but many are, like the <a href="http://world.yale.edu/">Yale and the World</a> page and the <a href="http://giving.yale.edu/">Giving to Yale</a> page (Yale only has a tiny $16.7 billion endowment and needs your money).</p>
<p>Anyways, I just thought it was kind of neat that an organization that can obviously afford any CMS they want would choose Drupal. I think that says something about the quality and versatility of Drupal. I know I&#8217;ve been pretty happy with it.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jacoballred.com/web-dev/yale-school-of-art/" rel="bookmark" class="crp_title">Yale School of Art</a></li><li><a href="http://www.jacoballred.com/free-stuff/open-atrium/" rel="bookmark" class="crp_title">Open Atrium</a></li><li><a href="http://www.jacoballred.com/reviews/review-anathem/" rel="bookmark" class="crp_title">Review: Anathem</a></li><li><a href="http://www.jacoballred.com/rants/yodlee-oncenter/" rel="bookmark" class="crp_title">Yodlee OnCenter</a></li><li><a href="http://www.jacoballred.com/random/day-4-june-6-2006-hurry-take-the-picture/" rel="bookmark" class="crp_title">Day #4 &#8211; June 6, 2006 &#8211; HURRY! TAKE THE PICTURE!</a></li></ul></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/drupal-at-yale/' addthis:title='Drupal at Yale '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.jacoballred.com/web-dev/drupal-at-yale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Google&#8217;s new Page Speed Service worth it?</title>
		<link>http://www.jacoballred.com/web-dev/is-googles-new-page-speed-service-worth-it/</link>
		<comments>http://www.jacoballred.com/web-dev/is-googles-new-page-speed-service-worth-it/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 13:54:55 +0000</pubDate>
		<dc:creator>Jacob Allred</dc:creator>
				<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.jacoballred.com/?p=868</guid>
		<description><![CDATA[With the announcement of Google&#8217;s new Page Speed Service, I&#8217;ve been trying to determine whether it is worth the effort of switching my DNS over. You use Page Speed Service by using Google&#8217;s DNS servers. When someone requests your site, the request will go to Google. Google gets your page, optimizes CSS, JS, images, etc, [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/is-googles-new-page-speed-service-worth-it/' addthis:title='Is Google&#8217;s new Page Speed Service worth it? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p><a href="http://www.jacoballred.com/wp-content/uploads/2011/07/Page-Speed.png"><img class="alignleft size-medium wp-image-869" title="Page Speed" src="http://www.jacoballred.com/wp-content/uploads/2011/07/Page-Speed-300x141.png" alt="" width="300" height="141" /></a>With the announcement of Google&#8217;s new <a href="http://code.google.com/speed/pss/">Page Speed Service</a>, I&#8217;ve been trying to determine whether it is worth the effort of switching my DNS over.</p>
<p>You use Page Speed Service by using Google&#8217;s DNS servers. When someone requests your site, the request will go to Google. Google gets your page, optimizes CSS, JS, images, etc, and returns the optimized version to the user. This is similar to the <a title="CloudFlare Rocks!" href="http://www.jacoballred.com/free-stuff/cloudflare-rocks/">CloudFlare</a> service I tried out in the past but with a greatest emphasis on page optimization.</p>
<p>Google has provided a <a href="http://www.webpagetest.org/">service</a> to demonstrate how much Page Speed Service will help before you actually switch your DNS over. I gave it a shot on my company&#8217;s flagship site, <a title="DoS using a single client" href="http://www.fakenamegenerator.com">Fake Name Generator</a>. The <a href="http://www.webpagetest.org/result/110728_C7_0b2fb54ab73f6ec0686e610aa624139d/">results</a> were disappointing.</p>
<p>Google provides 4 metrics:</p>
<table border="1" cellspacing="0" cellpadding="15">
<tbody>
<tr>
<th></th>
<th>Original</th>
<th>Optimized</th>
<th>Difference</th>
</tr>
<tr>
<td><strong>Page Load Time</strong></td>
<td>4.066s</td>
<td>4.345s</td>
<td><span style="color: #ff0000;"><strong>+0.279s (6.9%)</strong></span></td>
</tr>
<tr>
<td><strong>Start Render Time</strong></td>
<td>0.840s</td>
<td>0.895s</td>
<td><span style="color: #ff0000;"><strong>+0.055s (6.5%)</strong></span></td>
</tr>
<tr>
<td><strong>Repeat View Page Load Time</strong></td>
<td>5.418s</td>
<td>5.211s</td>
<td><span style="color: #008000;"><strong>-0.207s (3.8%)</strong></span></td>
</tr>
<tr>
<td><strong>Repeat View Start Render Time</strong></td>
<td>0.645s</td>
<td>1.406s</td>
<td><span style="color: #ff0000;"><strong>+0.761s (118.0%)</strong></span></td>
</tr>
</tbody>
</table>
<p>So basically Page Speed Service, in general, makes my site <em>slower</em> than running it off of my own server. I&#8217;ll admit there are probably some minor differences between the original and optimized due to different ads being served, but I don&#8217;t think this explains the massive 0.761 additional seconds for the repeat view render time.</p>
<p>So to answer the question &#8220;is it worth it?&#8221;, my answer is <strong>no</strong>. If you already do the basic optimization stuff that you should already be doing (minified CSS/JS, optimized images), then it isn&#8217;t likely that Page Speed Service is going to help you, and it might actually hurt you.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jacoballred.com/my-sites/lossless-image-optimization-even-for-jpg/" rel="bookmark" class="crp_title">Lossless image optimization &#8212; even for JPG!</a></li><li><a href="http://www.jacoballred.com/web-dev/making-eclipse-for-php-useful/" rel="bookmark" class="crp_title">Making Eclipse for PHP Useful</a></li><li><a href="http://www.jacoballred.com/my-sites/php-mysql-or-mysqli/" rel="bookmark" class="crp_title">PHP: mysql or mysqli?</a></li><li><a href="http://www.jacoballred.com/web-dev/pinterest-needs-some-work/" rel="bookmark" class="crp_title">Pinterest needs some work</a></li><li><a href="http://www.jacoballred.com/free-stuff/cloudflare-rocks/" rel="bookmark" class="crp_title">CloudFlare Rocks!</a></li></ul></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/is-googles-new-page-speed-service-worth-it/' addthis:title='Is Google&#8217;s new Page Speed Service worth it? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.jacoballred.com/web-dev/is-googles-new-page-speed-service-worth-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postfix with MySQL support on CentOS</title>
		<link>http://www.jacoballred.com/web-dev/postfix-with-mysql-support-on-centos/</link>
		<comments>http://www.jacoballred.com/web-dev/postfix-with-mysql-support-on-centos/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 12:00:29 +0000</pubDate>
		<dc:creator>Jacob Allred</dc:creator>
				<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.jacoballred.com/?p=768</guid>
		<description><![CDATA[I had the need to get Postfix working with MySQL support today on CentOS 5. The version of Postfix that is in the CentOS yum repo, unfortunately, doesn&#8217;t have MySQL support, and I didn&#8217;t want to compile from source. Luckily, there is a way to get Postfix with MySQL installed using yum: Caution: These instructions [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/postfix-with-mysql-support-on-centos/' addthis:title='Postfix with MySQL support on CentOS '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>I had the need to get Postfix working with MySQL support today on CentOS 5. The version of Postfix that is in the CentOS <em>yum</em> repo, unfortunately, doesn&#8217;t have MySQL support, and I didn&#8217;t want to compile from source.</p>
<p>Luckily, there is a way to get Postfix with MySQL installed using <em>yum</em>:</p>
<p><strong>Caution:</strong> These instructions will reset your Postfix config files to the defaults. Make sure you have backups first!</p>
<p>First, add a few lines to your <em>/etc/yum.repos.d/CentOS-Base.repo</em>. The section headers should already exist, so add the additional lines immediately under the existing section header:</p>
<pre class="brush: bash; title: ; notranslate">[base]
exclude=postfix

[update]
exclude=postfix

[centosplus]
enabled=1
includepkgs=postfix</pre>
<p>This tells <em>yum</em> to ignore the Postfix package in the normal base and update repos, and instead get it from the centosplus repo.</p>
<p>Next, uninstall your existing Postfix and install the new one:</p>
<pre class="brush: bash; title: ; notranslate">yum remove postfix
yum install postfix</pre>
<p>At this point I ran into an issue that was causing <em>yum</em> to refuse to install the new Postfix. I&#8217;m using the latest MySQL server RPM from MySQL.org, which isn&#8217;t compatible with this new version of Postfix. To fix this, I downloaded/installed the MySQL compatibility RPM that matches my version of MySQL server. This allowed Postfix to install without any problems.</p>
<p>Voila! You are done! You can make sure things worked by running <em>postconf -m</em> and verifying that <em>mysql</em> is listed.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jacoballred.com/my-sites/creating-a-temporary-email-service/" rel="bookmark" class="crp_title">Creating a temporary email service</a></li><li><a href="http://www.jacoballred.com/linux/run-git-gc-on-all-repos-in-a-directory/" rel="bookmark" class="crp_title">Run &#8220;git gc&#8221; on all repos in a directory</a></li><li><a href="http://www.jacoballred.com/my-sites/fix-capitalized-words-in-a-mysql-table/" rel="bookmark" class="crp_title">Fix capitalized words in a MySQL table</a></li><li><a href="http://www.jacoballred.com/rants/crappy-hosting-company/" rel="bookmark" class="crp_title">Crappy hosting company</a></li><li><a href="http://www.jacoballred.com/my-sites/php-mysql-or-mysqli/" rel="bookmark" class="crp_title">PHP: mysql or mysqli?</a></li></ul></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/postfix-with-mysql-support-on-centos/' addthis:title='Postfix with MySQL support on CentOS '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.jacoballred.com/web-dev/postfix-with-mysql-support-on-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Studio now free for Zend Certified Engineers</title>
		<link>http://www.jacoballred.com/free-stuff/zend-studio-now-free-for-zend-certified-engineers/</link>
		<comments>http://www.jacoballred.com/free-stuff/zend-studio-now-free-for-zend-certified-engineers/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 00:09:39 +0000</pubDate>
		<dc:creator>Jacob Allred</dc:creator>
				<category><![CDATA[Free Stuff]]></category>
		<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.jacoballred.com/?p=708</guid>
		<description><![CDATA[Just got the very good news that Zen Studio ($299) is now free for Zend Certified Engineers. Neat! I&#8217;ve been wanting to try it out for a while, but wasn&#8217;t willing to spend $299 for it. Zend Studio is built on Eclipse (which is free for everybody), so it has a very small learning curve [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/free-stuff/zend-studio-now-free-for-zend-certified-engineers/' addthis:title='Zend Studio now free for Zend Certified Engineers '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Just got the very good news that Zen Studio ($299) is now free for <a title="Zend Certified Engineer" href="http://www.jacoballred.com/goals/zend-certified-engineer/">Zend Certified Engineers</a>. Neat! I&#8217;ve been wanting to try it out for a while, but wasn&#8217;t willing to spend $299 for it.</p>
<p>Zend Studio is built on Eclipse (which is free for everybody), so it has a very small learning curve for those already familiar with Eclipse. My initial impression is that it is just an easier to use version of Eclipse, with more robust PHP tools than the free Eclipse PDT gives you.</p>
<p>I ran into a few quirks while using it that took a moment to figure out:</p>
<ol>
<li>By default, Zend Studio assumes you are using PHP 5.1/5.2. With the massive speed improvements and new functionality added in 5.3, I don&#8217;t know of anyone that chooses to use 5.1/5.2. Seems like a weird default option to set, and it caused my code to show a whole pile of errors that didn&#8217;t really exist.</li>
<li>By default, Zend Studio uses PHP 5.2.14 to debug. Again, a really weird default.</li>
</ol>
<p>Anyways, I&#8217;ll be playing around with it on my next <a title="2011 Goal Update (February)" href="http://www.jacoballred.com/goals/2011-goal-update-february/">website-of-the-month</a>. Any tips from those already using it would be greatly appreciated!</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jacoballred.com/goals/zend-certified-engineer/" rel="bookmark" class="crp_title">Zend Certified Engineer</a></li><li><a href="http://www.jacoballred.com/web-dev/zend-alternatives/" rel="bookmark" class="crp_title">Zend Alternatives</a></li><li><a href="http://www.jacoballred.com/web-dev/making-eclipse-for-php-useful/" rel="bookmark" class="crp_title">Making Eclipse for PHP Useful</a></li><li><a href="http://www.jacoballred.com/goals/2011-goal-update-february/" rel="bookmark" class="crp_title">2011 Goal Update (February)</a></li><li><a href="http://www.jacoballred.com/web-dev/phps-lack-of-floating-point-precision/" rel="bookmark" class="crp_title">PHP&#8217;s [Lack of] Floating Point Precision</a></li></ul></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/free-stuff/zend-studio-now-free-for-zend-certified-engineers/' addthis:title='Zend Studio now free for Zend Certified Engineers '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.jacoballred.com/free-stuff/zend-studio-now-free-for-zend-certified-engineers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 4 Beta Team</title>
		<link>http://www.jacoballred.com/free-stuff/firefox-4-beta-team/</link>
		<comments>http://www.jacoballred.com/free-stuff/firefox-4-beta-team/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 01:38:52 +0000</pubDate>
		<dc:creator>Jacob Allred</dc:creator>
				<category><![CDATA[Free Stuff]]></category>
		<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.jacoballred.com/?p=661</guid>
		<description><![CDATA[I got home from a business trip yesterday and found an awesome Firefox 4 Beta Team t-shirt waiting for me. Very cool! You may recall that I wrote a search engine add-on a few months ago. Well Mozilla offered free t-shirts to developers that got their add-ons ready for Firefox 4 by January 7, and [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/free-stuff/firefox-4-beta-team/' addthis:title='Firefox 4 Beta Team '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p><a href="http://www.jacoballred.com/wp-content/uploads/2011/02/IMGP4518.jpg"><img class="alignleft size-medium wp-image-662" title="Firefox 4 Beta Team T-shirt" src="http://www.jacoballred.com/wp-content/uploads/2011/02/IMGP4518-225x300.jpg" alt="" width="225" height="300" /></a>I got home from a business trip yesterday and found an awesome Firefox 4 Beta Team t-shirt waiting for me. Very cool!</p>
<p>You may recall that I wrote a <a title="My First Firefox Add-on" href="http://www.jacoballred.com/my-sites/my-first-firefox-add-on/">search engine add-on</a> a few months ago. Well Mozilla offered <a href="http://blog.mozilla.com/addons/2010/12/02/firefox-4-tshirt/">free t-shirts</a> to developers that got their add-ons ready for Firefox 4 by January 7, and since my add-on is just a search engine add-on it was already compatible. I filled out the form saying my add-on was compatible but didn&#8217;t really expect to get the t-shirt. Luckily whoever processed the t-shirt requests wasn&#8217;t very picky so I qualified for the shirt.</p>
<p>Anyways, I&#8217;m holding the t-shirt instead of wearing it because it still has nasty new unwashed t-shirt smell. Also, this is a picture of the back of the shirt. The front has a stylized Firefox logo on it. Also, I was super tired when this picture was taken, so I may look a little out of it.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jacoballred.com/my-sites/my-first-firefox-add-on/" rel="bookmark" class="crp_title">My First Firefox Add-on</a></li><li><a href="http://www.jacoballred.com/free-stuff/oracle-rocks/" rel="bookmark" class="crp_title">Oracle rocks!</a></li><li><a href="http://www.jacoballred.com/random/day-4-june-6-2006-hurry-take-the-picture/" rel="bookmark" class="crp_title">Day #4 &#8211; June 6, 2006 &#8211; HURRY! TAKE THE PICTURE!</a></li><li><a href="http://www.jacoballred.com/my-sites/unexpected-traffic/" rel="bookmark" class="crp_title">Unexpected Traffic</a></li><li><a href="http://www.jacoballred.com/random/day-1-june-3-2006-tired-after-service/" rel="bookmark" class="crp_title">Day #1 &#8211; June 3, 2006 &#8211; Tired After Service</a></li></ul></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/free-stuff/firefox-4-beta-team/' addthis:title='Firefox 4 Beta Team '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.jacoballred.com/free-stuff/firefox-4-beta-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP&#8217;s [Lack of] Floating Point Precision</title>
		<link>http://www.jacoballred.com/web-dev/phps-lack-of-floating-point-precision/</link>
		<comments>http://www.jacoballred.com/web-dev/phps-lack-of-floating-point-precision/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 00:17:17 +0000</pubDate>
		<dc:creator>Jacob Allred</dc:creator>
				<category><![CDATA[Web Dev]]></category>

		<guid isPermaLink="false">http://www.jacoballred.com/?p=545</guid>
		<description><![CDATA[If you do a lot of programming in PHP, it is important to know that the way PHP handles floating points (like 1.0) has a few &#8220;gotchas&#8221; that you need to be on the look out for. In most cases, these issues won&#8217;t cause any major problems, but if you have a large invoicing or [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/phps-lack-of-floating-point-precision/' addthis:title='PHP&#8217;s [Lack of] Floating Point Precision '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>If you do a lot of programming in PHP, it is important to know that the way PHP handles floating points (like 1.0) has a few &#8220;gotchas&#8221; that you need to be on the look out for. In most cases, these issues won&#8217;t cause any major problems, but if you have a large invoicing or payment system that does hundreds or thousands of calculations, they could cause some serious issues.</p>
<p>For example, take this simple subtraction:</p>
<pre>&lt;?php

echo 20.01 - 20.00;
// Output: 0.010000000000002</pre>
<p>Well that doesn&#8217;t seem right. Sure, rounding the number to two decimal places &#8220;solves&#8221; the issue. But what if instead of subtracting a floating point we were to compare two floating points?</p>
<pre>&lt;?php

$value1 = 10.00 + 2.88 + 2.88 + 2.88 + 9.00; // 27.64
$value2 = 27.64;

if ($value1 == $value2) {
    echo 'Equal';
} else {
    echo 'Not Equal';
}

// Output: Not Equal</pre>
<p>Even though both values <em>should</em> be equal, PHP doesn&#8217;t think they are.</p>
<p>The problem is some values are difficult to store as binary, so PHP stores approximate values. This leaves us with the question is: how do you safely deal with floating point numbers in PHP?</p>
<p>The easiest way is to use <a href="http://us2.php.net/bc">BC Math</a>. For the first example above, we&#8217;d do:</p>
<pre>&lt;?php

bcscale(2); // Set the default precision

echo bcsub(20.01, 20.00);
// Output: 0.01</pre>
<p>The <em>bcscale()</em> function sets the default precision. If I didn&#8217;t specify the precision, <em>bcsub()</em> would have returned 0, because 20 &#8211; 20 = 0.</p>
<p>For the second example above:</p>
<pre>&lt;?php

bcscale(2); // Set the default precision

$value1 = 10.00 + 2.88 + 2.88 + 2.88 + 9.00; // 27.64
$value2 = 27.64;

if (bccomp($value1, $value2) === 0) {
    echo 'Equal';
} else {
    echo 'Not Equal';
}

// Output: Equal</pre>
<p>Again, bcscale() sets the default precision so we can accurately compare the two numbers.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jacoballred.com/random/weighted-randomness-using-php-and-mysql/" rel="bookmark" class="crp_title">Weighted Randomness using PHP and MySQL</a></li><li><a href="http://www.jacoballred.com/web-dev/upcoming-changes-to-sugarcrm/" rel="bookmark" class="crp_title">Upcoming changes to SugarCRM</a></li><li><a href="http://www.jacoballred.com/free-stuff/zend-studio-now-free-for-zend-certified-engineers/" rel="bookmark" class="crp_title">Zend Studio now free for Zend Certified Engineers</a></li><li><a href="http://www.jacoballred.com/web-dev/quick-and-easy-php-whois-script/" rel="bookmark" class="crp_title">Quick and Easy PHP WHOIS Script</a></li><li><a href="http://www.jacoballred.com/goals/traffic-goals/" rel="bookmark" class="crp_title">Traffic Goals</a></li></ul></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jacoballred.com/web-dev/phps-lack-of-floating-point-precision/' addthis:title='PHP&#8217;s [Lack of] Floating Point Precision '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.jacoballred.com/web-dev/phps-lack-of-floating-point-precision/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

