<?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>Erik Osterman</title>
	<atom:link href="http://core.osterman.com/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://core.osterman.com/wordpress</link>
	<description>Cloud Engineer</description>
	<lastBuildDate>Thu, 22 Mar 2012 00:55:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Route53 DNS Round-Robin CNAMEs with Weighted Sets</title>
		<link>http://core.osterman.com/wordpress/2011/12/21/route53-dns-roundrobin-cnames-weighted-sets?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=route53-dns-roundrobin-cnames-weighted-sets</link>
		<comments>http://core.osterman.com/wordpress/2011/12/21/route53-dns-roundrobin-cnames-weighted-sets#comments</comments>
		<pubDate>Wed, 21 Dec 2011 19:40:42 +0000</pubDate>
		<dc:creator>e</dc:creator>
				<category><![CDATA[commentary]]></category>
		<category><![CDATA[HOWTO]]></category>

		<guid isPermaLink="false">http://core.osterman.com/wordpress/?p=345</guid>
		<description><![CDATA[According to RFC1034, CNAMES cannot reference multiple canonical hosts in the RDATA section. In other words, you can&#8217;t have the CNAME &#8220;www.domain.com&#8221; alias (or resolve to) &#8220;www1.domain.com&#8221; and &#8220;www2.domain.com&#8221;. This sucks because you may want to use DNS for round-robin (RR) load-balancing across CNAME records much like you would for A records. The good news [...]]]></description>
			<content:encoded><![CDATA[<p>According to RFC1034, CNAMES cannot reference multiple canonical hosts in the RDATA section. In other words, you can&#8217;t have the CNAME &#8220;www.domain.com&#8221; alias (or resolve to) &#8220;www1.domain.com&#8221; and &#8220;www2.domain.com&#8221;.</p>
<p>This sucks because you may want to use DNS for round-robin (RR) load-balancing across CNAME records much like you would for A records. The good news is that Route53 supports &#8220;Weighted Sets&#8221; which allow you to do round-robin-eque load balancing between multiple CNAMEs. For example, you might want to distribute your load evenly between multiple AWS regions like us-west-1 and us-west-2 that each contain an Elastic Load Balancer (ELB).</p>
<p>The other possibility is you cannot use an ELB because a particular service is private. Remember, services behind an ELB are internet accessible from 0.0.0.0/0; ELBs themselves cannot be controlled by security groups.  Using A records, one can do DNS-RR to either the public or private IP address on an instance, but not both (it just wouldn&#8217;t make sense). The drawback here is that you cannot use the same hostname for services that are inside Ec2 as services that are outside of Ec2. If instead, you use a Weighted-Set with a short TTL (e.g. 10 seconds), you can create a CNAME that points to the CNAMEs of each of the EC2 instances. Because the CNAME points to another CNAME, when it&#8217;s resolved inside of EC2 a private ip address is returned; conversely when it&#8217;s resolved from outside of EC2 a public IP address is returned.</p>
<p>The reason it&#8217;s important to return either a public or private IP address is due to the way EC2 security groups work. When an ingress rule is granted from a particular security group (e.g. allow &#8220;Group A&#8221; to access &#8220;Group B&#8221;), it only applies to the private IP addresses of instances in &#8220;Group A&#8221;. This means that when instances in &#8220;Group A&#8221; need to access instances in &#8220;Group B&#8221;, they should use the private IP address of instances in &#8220;Group B&#8221;. Using the CNAME of an EC2 instance ensures you&#8217;re always connecting to the most appropriate IP address whether your inside or outside of EC2.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://core.osterman.com/wordpress/2011/12/21/route53-dns-roundrobin-cnames-weighted-sets/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dust.js: Client-Side Templating</title>
		<link>http://core.osterman.com/wordpress/2011/12/13/dustjs-clientside-templating?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dustjs-clientside-templating</link>
		<comments>http://core.osterman.com/wordpress/2011/12/13/dustjs-clientside-templating#comments</comments>
		<pubDate>Wed, 14 Dec 2011 05:15:57 +0000</pubDate>
		<dc:creator>e</dc:creator>
				<category><![CDATA[commentary]]></category>

		<guid isPermaLink="false">http://core.osterman.com/wordpress/?p=338</guid>
		<description><![CDATA[On Hacker News today there was a mention of how LinkedIn is using the Dust.js templating system. Dust.js is doing what XSLT always promised to do but never delivered on. In the post, they make a pretty compelling argument for why to use client-side templating. Their problems are all similar to the ones I&#8217;ve seen [...]]]></description>
			<content:encoded><![CDATA[<p>On <a href="http://news.ycombinator.com/item?id=3349845">Hacker News</a> today there was a mention of how <a href="https://engineering.linkedin.com/frontend/leaving-jsps-dust-moving-linkedin-dustjs-client-side-templates">LinkedIn</a> is using the <a href="http://akdubya.github.com/dustjs/">Dust.js </a>templating system. Dust.js is doing what XSLT always promised to do but never delivered on.</p>
<p>In the post, they make a pretty compelling argument for why to use client-side templating. Their problems are all similar to the ones I&#8217;ve seen countless times &#8212; anywhere a services based architecture is employed like at TV.com.</p>
<p>At LinkedIn they have a services based architecture with applications written in a slew of frameworks across multiple languages. Because of this, it&#8217;s hard to re-use visual components. Requiring that all components be written in the same language reduces productivity of developers and hinders their ability to rapidly prototype new features, but having the templates reimplemented in each language makes maintenance a chore. What LinkedIn settled on doing was to only require applications to produce JSON responses (light weight and efficient to render) and rely on client-side (browser) rendering to transform the layout templates with JavaScript. This puts the expensive cost of rendering on the browser (totally scalable), and allows for LinkedIn to cache the layout on CDNs to accelerate their delivery (in addition to the CSS, Images, JS, etc.)</p>
<p><a href="http://core.osterman.com/wordpress/themes/osterman/uploads/2011/12/post-client.png"><img class="alignleft size-full wp-image-339" title="Dust.js Client Side Templating Diagram" src="http://core.osterman.com/wordpress/themes/osterman/uploads/2011/12/post-client.png" alt="post client Dust.js: Client Side Templating" width="484" height="425" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Some might argue that well written HTML+CSS is essentially the same thing. It&#8217;s not. First, HTML is verbose; the amount of data needed to even express a simple document far exceeds that of JSON because it includes layout information. Then generating the HTML is an expensive operation on the server involving parsing some source templates in (ERB, JSP, Jinja, Smarty, etc) and assembling them in a string object with lots of concatenation. Lastly, no matter how &#8220;light&#8221; you make the HTML, you&#8217;re still mixing layout with data so you can&#8217;t statically cache the layout on a CDN without using ESI (fancy XSLT).</p>
<p>Compare this to simply requiring apps to produce JSON responses. JSON is lightweight and efficient to generate. Most scripted languages have native bindings to libjson so that rendering is done in C.</p>
<p>Lastly, if the thought of templating done entirely in the browser is not appealing (perhaps for SEO reasons), there&#8217;s always Node.js which can sit in between; however, this negates the CDN-effect for template caching and puts the computational onus back into your datacenter / cloud.</p>
<p>I&#8217;m not a &#8220;frontend&#8221; guy, so maybe that&#8217;s why this immediately appeals to me. I&#8217;m curious what frontend developers think about this approach?</p>
]]></content:encoded>
			<wfw:commentRss>http://core.osterman.com/wordpress/2011/12/13/dustjs-clientside-templating/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Life Hacking Manifesto</title>
		<link>http://core.osterman.com/wordpress/2011/11/23/life-hacking-manifesto?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=life-hacking-manifesto</link>
		<comments>http://core.osterman.com/wordpress/2011/11/23/life-hacking-manifesto#comments</comments>
		<pubDate>Wed, 23 Nov 2011 07:38:04 +0000</pubDate>
		<dc:creator>e</dc:creator>
				<category><![CDATA[journal]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[life hacking]]></category>

		<guid isPermaLink="false">http://core.osterman.com/wordpress/?p=330</guid>
		<description><![CDATA[Every self-respecting Life Hacker needs to have a post touting their own Best Practices for tackling life&#8217;s inefficiencies. Well, here are mine. I use all of these on a regular basis. Use PayTrust as your permanent billing address and universal bill payer Reduces the volume of junkmail Increases your privacy Multiple funding accounts Use Evernote for everything [...]]]></description>
			<content:encoded><![CDATA[<p>Every self-respecting <em><a href="http://en.wikipedia.org/wiki/Life_hack">Life Hacker</a></em> needs to have a post touting their own <em>Best Practices</em> for tackling life&#8217;s inefficiencies. Well, here are mine. I use all of these on a regular basis.</p>
<p>Use <a href="http://www.paytrust.com/">PayTrust</a> as your permanent billing address and universal bill payer</p>
<ul>
<li>Reduces the volume of junkmail</li>
<li>Increases your privacy</li>
<li>Multiple funding accounts</li>
</ul>
<p>Use <a href="http://www.evernote.com/">Evernote</a> for everything</p>
<ul>
<li>I have no more physical files; I&#8217;ve scanned every document going back to &#8217;97</li>
<li>Access insurance binders, medical records, eBooks, etc from one application</li>
<li>Use as primary bookmarking log; keeps original snapshot of the page that you can search (like your own Google)</li>
<li>To share screenshots with people over IM</li>
<li>Save serial numbers &amp; digital copies of software</li>
<li>Print to Evernote to save all electronic confirmations</li>
</ul>
<p>Use <a href="https://agilebits.com/onepassword">1Password</a> for keeping your passwords secure</p>
<ul>
<li>Keeps your &#8220;Key Chain&#8221; in sync with all other devices</li>
<li>Autocompletes Credit Cards, Forms, Addresses, etc</li>
<li>Works on iOS, OSX, Windows and in all standard browsers</li>
</ul>
<p>Use <a href="http://www.cardmunch.com/">CardMunch</a> for importing all business cards</p>
<ul>
<li>Uses Mechanical Turk for crowd sourced data-entry; beats OCR any day</li>
<li>Integrates with LinkedIn</li>
</ul>
<p>Use <a href="http://www.linkedin.com/in/osterman">LinkedIn</a> for managing all professional contacts</p>
<ul>
<li>Living Resume complete with recommendations</li>
<li>Professional forum for interaction</li>
<li>Use <a href="http://resume.linkedinlabs.com/">Resume Builder</a> to export your resume in a professional format</li>
</ul>
<p>Use <a href="http://www.mint.com/">Mint.com</a> to get an overview of all finances</p>
<ul>
<li>Supports every financial institution I use</li>
<li>If your financial institution is not supported, you should consider moving your money else where</li>
</ul>
<p>Use <a href="http://www.ConnectedHQ.com/">ConnectedHQ.com</a> as your personal CRM</p>
<ul>
<li>Set reminders for when to follow up with people</li>
<li>Overview of what your contacts are doing on all connected social networks</li>
</ul>
<p>Use an <a href="https://www.ironkey.com/">IronKey</a> to protect your utmost sensitive data</p>
<ul>
<li>Tamper-proof, hardware encrypted USB stick</li>
<li>Self-destructs if too many unlock failures</li>
</ul>
<p>Use <a href="http://www.amazon.com/gp/prime">Amazon Prime</a></p>
<ul>
<li>Buy anything that&#8217;s out of your way from Amazon; e.g. Trader Joe&#8217;s doesn&#8217;t carry shaving cream, salon products, etc.</li>
</ul>
<p>Use the <a href="http://www.techsmith.com/download/jing/default.asp">Jing</a> Screen Recorder</p>
<ul>
<li>To communicate bugs to tech support; spend less time describing the problem by just illustrating it</li>
</ul>
<p>Use <a href="http://www.icloud.com/">iCloud</a> (Formerly <a href="http://www.me.com/">MobileMe</a>) for device synchronization and discovery</p>
<ul>
<li>If your an Apple fan-boy as myself, then just sticking with *Mac makes everything so much smoother</li>
<li>Google Sync + iCloud sync does NOT work; constant contact duplication and problems with UTF8 names</li>
<li>Find lost iPhones and Macs</li>
<li>Remote wipe stolen or lost devices</li>
<li>Over-the-air backups of iOS devices (including Photos!)</li>
</ul>
<p>Use <a href="http://support.apple.com/kb/ht2488">Automator</a> on the Mac with shortcuts to scan to Evernote</p>
<ul>
<li>I use Command+E to automatically scan whatever is in my HP-e710 directly into Evernote</li>
<li>Eliminates the frequent run-around going to the MFP</li>
</ul>
<p>Use <a href="http://www.onemedical.com/">One Medical</a> for doctors visits</p>
<ul>
<li>Same day appointments</li>
<li>Direct access to your doctor via email</li>
</ul>
<p>Use <a href="http://www.google.com/voice/">Google Voice</a></p>
<ul>
<li>One permanent number that rings any device when and how you want it to</li>
<li>Spam caller detection + Call blocking (&#8220;Sorry, the number you have dialed is no longer in service&#8221;)</li>
<li>Voice mail transcription means you receive voicemails as emails</li>
<li>Free SMS</li>
</ul>
<p>Use <a href="http://www.sipgate.com/">Sipgate.com</a> for your own SIP phone</p>
<ul>
<li>This allows me to bring my phone with me when I travel (works overseas!)</li>
<li>Allows me to have my landline both at my house via a cordless handset and on my laptop</li>
<li>Cheap calling rates and no monthly usage fees</li>
</ul>
<p>Use <a href="http://itunes.apple.com/us/app/facebook-messenger/id454638411?mt=8">Facebook Messenger</a> on the iPhone</p>
<ul>
<li>Easy way to get ahold of my friends for free.</li>
<li>No more of that &#8220;What Apps&#8221;, BlackBerry Messenger BS.</li>
</ul>
<p>Use <a href="http://www.google.com/apps/intl/en/business/index.html">Google Apps</a> for all your private domains</p>
<ul>
<li>Hosting your own SMTP/IMAP server is so passe</li>
<li>I&#8217;ve had 100% uptime for the past 5-6 years</li>
<li>No service has better spam detection</li>
</ul>
<p>Use <a href="http://www.dropbox.com/">DropBox</a></p>
<ul>
<li>To keep your Desktop in sync with all your devices</li>
<li>To remotely start torrents</li>
<li>To sync and backup your encrypted 1Password Agile KeyChain</li>
</ul>
<p>Use <a href="http://www.apple.com/airportextreme/">Airport Extreme</a></p>
<ul>
<li>To wirelessly backup all your devices without you having to remember to do anything</li>
<li>Act as your home router</li>
</ul>
<p>Use <a href="http://www.gpgtools.org/">GPG Tools</a> for the Mac</p>
<ul>
<li>To cryptographically sign all your outgoing mail</li>
<li>To encrypt/decrypt mail</li>
<li>To keep a manage your GPG Key Chain</li>
</ul>
<p>Use <a href="http://www.freshbooks.com/">FreshBooks</a> for invoicing</p>
<ul>
<li>Simpler to use than QuickBooks if you can get away with it</li>
<li>Automatically send invoices on a schedule via snail mail or email</li>
</ul>
<p>Use an <a href="https://www.google.com/search?q=accountant">Accountant</a> to handle all your taxes</p>
<ul>
<li>I can&#8217;t keep up with the tax codes and special deductions available</li>
<li>Just hand them the keys to Mint.com</li>
<li>Especially handy when receiving numerous 1099s</li>
<li>A resource you can ask questions as they come up</li>
</ul>
<p>Use <a href="https://www.uber.com/">Ubercab</a> for getting around San Francisco</p>
<ul>
<li>All you need is your phone; no cash or credit cards; tip included in fare</li>
<li>Arrives FAST</li>
<li>Courteous, professional drivers</li>
</ul>
<p>Use <a href="http://www.truecredit.com/">3-Bureau Credit Monitoring</a></p>
<ul>
<li>Because if your life is now hosted in SaaS, you&#8217;re vulnerable to identify theft; it&#8217;s just a matter of time</li>
<li>For the piece of mind</li>
</ul>
<p>Use <a href="http://www.TripIt.com/">TripIt.com</a> to keep track of all your travel itineraries</p>
<ul>
<li>Most useful for complex travel plans involving multiple legs</li>
<li>Handy iPhone app so you can view all flights from a single application</li>
</ul>
<p>Use <a href="http://www.pagerduty.com/">PagerDuty.com </a>for on call alert notifications</p>
<ul>
<li>Calls you when your stuff is down; SMS is so 90s</li>
<li>Supports on-call calendars so you don&#8217;t have to manage it yourself</li>
<li>Import on-call calendars straight into iCal</li>
</ul>
<div>Use <a href="http://www.google.com/reader/">Google Reader</a> to aggregate all your favorite blogs</div>
<div>
<ul>
<li>Use Gruml to connect with Google Reader on OSX for the native app experience</li>
<li>Use MobileRSS to connect to Google Reader from iOS</li>
<li>Keeps your reading activity in sync with all your devices</li>
<li>Makes searching fast</li>
</ul>
<div>Use <a href="http://www.interfax.net/en">Interfax.net</a> to for an email to fax bridge</div>
<div>
<ul>
<li>Email a PDF to their service and they fax it for you</li>
<li>No monthly usage fees</li>
<li>Pay per page</li>
</ul>
<div>Use <a href="http://www.postalmethods.com/">PostalMethods</a> for an email to snail mail bridge</div>
<div>
<ul>
<li>Email a Word Doc and they stamp and send it for you</li>
<li>No monthly usage fees</li>
<li>Pay per page</li>
</ul>
</div>
</div>
</div>
<p>Please share the tips and tricks you use! I&#8217;d love to hear them.</p>
]]></content:encoded>
			<wfw:commentRss>http://core.osterman.com/wordpress/2011/11/23/life-hacking-manifesto/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building Varnish Debian/Ubuntu Package From Souce</title>
		<link>http://core.osterman.com/wordpress/2011/09/20/building-varnish-debianubuntu-package-souce?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-varnish-debianubuntu-package-souce</link>
		<comments>http://core.osterman.com/wordpress/2011/09/20/building-varnish-debianubuntu-package-souce#comments</comments>
		<pubDate>Wed, 21 Sep 2011 00:22:16 +0000</pubDate>
		<dc:creator>e</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://core.osterman.com/wordpress/?p=278</guid>
		<description><![CDATA[Varnish-cache.org is nice about providing a lot of binary packages for most distros/releases, but not for all architectures. As a result, you may find yourself needing to build the packages by hand. Here&#8217;s how I went about it for Varnish-2.1 on an old Ubuntu release. Add the Varnish apt repo to your /etc/apt/sources.list: deb http://repo.varnish-cache.org/ubuntu/ [...]]]></description>
			<content:encoded><![CDATA[<p>Varnish-cache.org is nice about providing a lot of binary packages for most distros/releases, but not for all architectures. As a result, you may find yourself needing to build the packages by hand. Here&#8217;s how I went about it for Varnish-2.1 on an old Ubuntu release.</p>
<p>Add the Varnish apt repo to your <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">/etc/apt/sources.list</span>:<br />
<div class="console">deb http://repo.varnish-cache.org/ubuntu/ hardy varnish-2.1
deb-src http://repo.varnish-cache.org/ubuntu/ hardy varnish-2.1</div></p>
<p>Add the Varnish distributors GPG key:<br />
<div class="console">curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -</div></p>
<p>Update your repo cache:<br />
<div class="console">sudo apt-get update</div></p>
<p>Download &amp; compile source:<br />
<div class="console">sudo apt-get source varnish
cd /usr/src
dpkg-source -x varnish_2.1.2-1*.dsc
cd varnish-2.1.2 &amp;&amp; dpkg-buildpackage</div></p>
<p>Then, in <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">/usr/src/</span> you&#8217;ll find your new .deb packages ready for installation.</p>
]]></content:encoded>
			<wfw:commentRss>http://core.osterman.com/wordpress/2011/09/20/building-varnish-debianubuntu-package-souce/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I Love PayTrust</title>
		<link>http://core.osterman.com/wordpress/2011/08/07/why-i-love-paytrust?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-i-love-paytrust</link>
		<comments>http://core.osterman.com/wordpress/2011/08/07/why-i-love-paytrust#comments</comments>
		<pubDate>Mon, 08 Aug 2011 06:16:43 +0000</pubDate>
		<dc:creator>e</dc:creator>
				<category><![CDATA[journal]]></category>

		<guid isPermaLink="false">http://www.osterman.com/wordpress/?p=252</guid>
		<description><![CDATA[There is a service I use that doesn&#8217;t get enough credit. The service acts as your permanent billing address, bill payer, and bill minder. Anyone you receive a bill from you point to your PayTrust address. Then PayTrust ensures any invoices received get paid on time and reminds you if you haven&#8217;t paid a bill [...]]]></description>
			<content:encoded><![CDATA[<div>There is a service I use that doesn&#8217;t get enough credit. The service acts as your permanent billing address, bill payer, and bill minder. Anyone you receive a bill from you point to your PayTrust address. Then PayTrust ensures any invoices received get paid on time and reminds you if you haven&#8217;t paid a bill or received an expected statement. If they receive something which cannot be scanned such as a credit card, they forward it to your current mailing address.</p>
</div>
<div>
<br/><br />
<a title="http://www.paytrust.com/" href="http://www.paytrust.com/">http://www.paytrust.com/</a><br />
<br/>
</div>
<div>
<p>Here&#8217;s what I like about it:</p></div>
<ul>
<li>Cheap! Only $9.95/mo.</li>
<li>Multiple funding sources (e.g. any checking account you want to use such as your brokerage account or traditional bank checking account)</li>
<li>Late bill reminders, if no statement received with-in N number of days of your last one.</li>
<li>Permanent billing address (PO BOX 1819*****, SIOUX FALLS, SD, 57186) that doesn&#8217;t change when you move.</li>
<li>Paperless. All mail gets scanned and is available on their site for viewing or download.</li>
<li>View new or existing bills while out of town. I can go out of town for a month and not worry about anything.</li>
<li>Integrates with Mint.com &#8220;Real Balance&#8221; so you can see what your available account balances are. Kind of basic, but still a good thing.</li>
<li>Does both E-Bills and paper bills. E-bills is where it logs into the account and downloads the PDFs for you (go green!)</li>
<li>Backed by Intuit &amp; been around for more than 10 years, so it feels more legit than some small little startup.</li>
<li>I get almost no advertisements in the mail as they all go to PayTrust and get shredded.</li>
<li>24 hour phone support and no wait times. It&#8217;s almost like a direct line into their offices.</li>
<li>They research any payment issues such as payment not received or missing statements</li>
<li>They don&#8217;t float your money. Money leaves your account the day the check clears, not a few days before like normal banks do with online bill pay.</li>
<li>I use it as your billing address for &#8220;private&#8221; registration for DNS.</li>
<li>I receive CD once a year with all my bills that I hold on to for safe-keeping and store in Evernote.</li>
<li>Automatically pay statements with variable monthly amounts such as a gas bill (No bank offered Bill Pay service can do that!)</li>
<li>Pay exactly what you want to pay. For example, pay off your monthly credit card bill so long as it is under your maximum threshold.</li>
<li>No need to update 50 vendors with your new credit card the next time you lose it or it expires.</li>
<li>No need to login to multiple sites to manage your automatic payment profiles. Manage them all on PayTrust.</li>
</ul>
<div>
<div><em>* I received no credit or commission for this post.</em></div>
<div><em><br />
</em></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://core.osterman.com/wordpress/2011/08/07/why-i-love-paytrust/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using MacPorts on OSX Lion</title>
		<link>http://core.osterman.com/wordpress/2011/08/03/macports-osx-lion?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=macports-osx-lion</link>
		<comments>http://core.osterman.com/wordpress/2011/08/03/macports-osx-lion#comments</comments>
		<pubDate>Wed, 03 Aug 2011 21:17:05 +0000</pubDate>
		<dc:creator>e</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://www.osterman.com/wordpress/?p=265</guid>
		<description><![CDATA[After upgrading to OSX Lion, my MacPorts installation failed. I upgraded to OSX XCode 4.1, and then console compilation stopped working. Apparently, by default the &#8220;UNIX Development&#8221; tools and &#8220;System Development&#8221; tools are not installed when installing via the App Store. Fortunately, there&#8217;s an easy (time consuming) fix. Simply re-run the &#8220;Install XCode&#8221; app in [...]]]></description>
			<content:encoded><![CDATA[<p>After upgrading to OSX Lion, my MacPorts installation failed. I upgraded to OSX XCode 4.1, and then console compilation stopped working. Apparently, by default the &#8220;UNIX Development&#8221; tools and &#8220;System Development&#8221; tools are not installed when installing via the App Store. Fortunately, there&#8217;s an easy (time consuming) fix. Simply re-run the &#8220;Install XCode&#8221; app in your Applications directory. It&#8217;s easily located by using Spotlight.</p>
<p><div class="console">Warning: port definitions are more than two weeks old, consider using selfupdate
Warning: Xcode does not appear to be installed; most ports will likely fail to build.
Error: Unable to open port: can&#8217;t read &#8220;build.cmd&#8221;: Failed to locate &#8216;make&#8217; in path: &#8216;/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin&#8217; or at its MacPorts configuration time location, did you move it?
Error: Unable to execute port: upgrade gettext failed</div></p>
]]></content:encoded>
			<wfw:commentRss>http://core.osterman.com/wordpress/2011/08/03/macports-osx-lion/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8216;xterm-256color&#8217;: unknown terminal type.</title>
		<link>http://core.osterman.com/wordpress/2011/07/20/xterm256color-unknown-terminal-type?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=xterm256color-unknown-terminal-type</link>
		<comments>http://core.osterman.com/wordpress/2011/07/20/xterm256color-unknown-terminal-type#comments</comments>
		<pubDate>Thu, 21 Jul 2011 03:58:12 +0000</pubDate>
		<dc:creator>e</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://www.osterman.com/wordpress/?p=263</guid>
		<description><![CDATA[After upgrading to OSX Lion, I started getting this error on certain (Debian/Ubuntu) servers. The fix is simply to install the &#8220;ncurses-term&#8221; package which provides the file /usr/share/terminfo/x/xterm-256color.]]></description>
			<content:encoded><![CDATA[<p>After upgrading to OSX Lion, I started getting this error on certain (Debian/Ubuntu) servers. The fix is simply to install the &#8220;ncurses-term&#8221; package which provides the file <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">/usr/share/terminfo/x/xterm-256color</span>.</p>
]]></content:encoded>
			<wfw:commentRss>http://core.osterman.com/wordpress/2011/07/20/xterm256color-unknown-terminal-type/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Porting Fedora RPM Spec File to CentOS Error: find: invalid predicate</title>
		<link>http://core.osterman.com/wordpress/2011/04/27/porting-fedora-rpm-spec-file-centos-error-find-invalid-predicate?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=porting-fedora-rpm-spec-file-centos-error-find-invalid-predicate</link>
		<comments>http://core.osterman.com/wordpress/2011/04/27/porting-fedora-rpm-spec-file-centos-error-find-invalid-predicate#comments</comments>
		<pubDate>Wed, 27 Apr 2011 20:06:39 +0000</pubDate>
		<dc:creator>e</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://www.osterman.com/wordpress/?p=247</guid>
		<description><![CDATA[I&#8217;ve been porting many spec files from fc15 to el5. In the process, a common error that is encountered is: find: invalid predicate `&#8217; error: Bad exit status from /var/tmp/rpm-tmp.63066 (%install) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.63066 (%install) The fix is almost always that BuildRoot is not defined in the spec file. Defining [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been porting many spec files from fc15 to el5. In the process, a common error that is encountered is:<br />
<div class="console">find: invalid predicate `&#8217;
error: Bad exit status from /var/tmp/rpm-tmp.63066 (%install)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.63066 (%install)</div></p>
<p>The fix is almost always that <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">BuildRoot</span> is not defined in the spec file. Defining one near the top of the file will resolve the issue.</p>
<p><div class="console">BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot</div></p>
]]></content:encoded>
			<wfw:commentRss>http://core.osterman.com/wordpress/2011/04/27/porting-fedora-rpm-spec-file-centos-error-find-invalid-predicate/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symfony: Configuration file does not have a registered handler</title>
		<link>http://core.osterman.com/wordpress/2011/03/27/symfony-configuration-file-registered-handler?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=symfony-configuration-file-registered-handler</link>
		<comments>http://core.osterman.com/wordpress/2011/03/27/symfony-configuration-file-registered-handler#comments</comments>
		<pubDate>Mon, 28 Mar 2011 01:30:29 +0000</pubDate>
		<dc:creator>e</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://www.osterman.com/wordpress/?p=244</guid>
		<description><![CDATA[I was getting the following error in an older Symfony 1.2 project. Running the standard symfony cc didn&#8217;t resolve the issue as the symfony command itself relied on files in cache/. Turns out that after some files had been moved around on the filesystem, which made symfony unhappy. A simple rm -rf cache/* fixed the [...]]]></description>
			<content:encoded><![CDATA[<p>I was getting the following error in an older Symfony 1.2 project. Running the standard <div class="console">symfony cc</div> didn&#8217;t resolve the issue as the symfony command itself relied on files in <span style="display: inline; background: silver; white-space: pre; font-family:monospace;">cache/</span>. Turns out that after some files had been moved around on the filesystem, which made symfony unhappy. A simple <div class="console">rm -rf cache/*</div> fixed the problem.</p>
<p><div class="console">Configuration file &#8220;/opt/symfony/1.2/lib/config/config/settings.yml, /opt/symfony/1.2/lib/plugins/sfProtoculousPlugin/config/settings.yml, /vol/svn/cms/plugins/sfJqueryReloadedPlugin/config/settings.yml, /vol/svn/cms/apps/frontend/config/settings.yml&#8221; does not have a registered handler.</div></p>
]]></content:encoded>
			<wfw:commentRss>http://core.osterman.com/wordpress/2011/03/27/symfony-configuration-file-registered-handler/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recursively Create &amp; Install MacPorts with cpan2port</title>
		<link>http://core.osterman.com/wordpress/2011/02/08/recursively-create-install-macports-cpan2port?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=recursively-create-install-macports-cpan2port</link>
		<comments>http://core.osterman.com/wordpress/2011/02/08/recursively-create-install-macports-cpan2port#comments</comments>
		<pubDate>Wed, 09 Feb 2011 02:31:56 +0000</pubDate>
		<dc:creator>e</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://www.osterman.com/wordpress/?p=238</guid>
		<description><![CDATA[Recently I posted on how to create native MacPorts of Perl modules, which is useful when the Perl modules you need are not included in the distribution. The problem I quickly ran into is that dependencies were not being followed. Attempting to install Net::Amazon::S3 on my MacBook would probably have taken hours had I not [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I posted on <a href="http://www.osterman.com/wordpress/2010/11/15/macports-install-cpan-modules-included-ports-system">how to create native MacPorts of Perl modules</a>, which is useful when the Perl modules you need are not included in the distribution. The problem I quickly ran into is that dependencies were not being followed. Attempting to install Net::Amazon::S3 on my MacBook would probably have taken hours had I not whipped up this script.</p>
<p>Some smart alec is probably going to mention that the CPAN module has done this for ages, why not just use it? My problem with using the CPAN module on top of MacPorts is that that don&#8217;t play with each other, which results unsatisfied MacPort dependencies and thus duplicate installs.</p>
<p><div class="console">#!/usr/bin/env perl
#
# Recursively create and install MacPorts for Perl modules using cpan2port
#
# Author: Erik Osterman
#</p>
<p>use IO::Handle;
use IPC::Open2;
use strict;</p>
<p>$|++;
my $module = shift;
my %cache;</p>
<p>&amp;install($module);</p>
<p>sub install {
my $module = shift;
print &#8220;Building $module\n&#8221;;
$cache{$module} = 1;
my ($read_fh, $write_fh) = (IO::Handle-&gt;new(), IO::Handle-&gt;new());
open2($read_fh, $write_fh, &#8220;./cpan2port -t $module 2&gt;&amp;1&#8243;) or die</p>
<p>my $port = undef;
while(my $line = ) {
chomp($line);
# &#8220;Shall I follow them and prepend them to the queue of modules we are processing right now?&#8221;
if($line =~ /Shall I follow/) {
print $write_fh &#8220;yes\n&#8221;;
}
# creating perl/p5-datetime-format-flexible/Portfilecandidate Module::Pluggable
if($line =~ /^creating\s+(.*?)\/Portfilecandidate/) {
$port = $1;
}
# DateTime::TimeZone is not perl porter
elsif($line =~ /^([^\s]+)\s+is not perl porter/) {
unless(exists $cache{$1}) {
print &#8220;Found dependency: $1\n&#8221;;
&amp;install($1);
}
}
}
close($read_fh);
close($write_fh);
if($port) {
print &#8220;Installing $port\n&#8221;;
system(&#8220;sudo port install $port&#8221;);
} else {
print &#8220;No port file found\n&#8221;;
}
}</div></p>
]]></content:encoded>
			<wfw:commentRss>http://core.osterman.com/wordpress/2011/02/08/recursively-create-install-macports-cpan2port/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

