<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Revolution Systems Blog</title>
    
    <link rel="alternate" type="text/html" href="http://blog.revsys.com/" />
    <link rel="service.post" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589" title="Revolution Systems Blog" /> 
    <id>tag:typepad.com,2003:weblog-595589</id>
    <updated>2009-07-16T20:27:47Z</updated>
    
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <geo:lat>38.983551</geo:lat><geo:long>-95.232023</geo:long><link rel="self" href="http://feeds.feedburner.com/RevolutionSystemsBlog" type="application/atom+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry>
        <title>Django Training</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/RevolutionSystemsBlog/~3/xvhQLxJv-Ek/django-training.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589/entry_id=6a00d83420a30553ef0115720f53c9970b" title="Django Training" />
        <link rel="replies" type="text/html" href="http://blog.revsys.com/2009/07/django-training.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00d83420a30553ef0115720f53c9970b</id>
        <published>2009-07-16T15:27:47-05:00</published>
        <updated>2009-07-16T20:26:27Z</updated>
        <summary>I'm pleased to announce that this September, Revolution Systems will be offering a four-day Django training course here in Kansas City, taught by Jacob Kaplan-Moss. Jacob has taught a number of similar courses privately in the past, but this is...</summary>
        <author>
            <name>Jacob Kaplan-Moss</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="django" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.revsys.com/"><div xmlns="http://www.w3.org/1999/xhtml"><p>I'm pleased to announce that this September, Revolution Systems will be offering a <a class="reference external" href="http://www.revsys.com/training/django/sept-2009/">four-day Django training course</a> here in Kansas City, taught by Jacob Kaplan-Moss. Jacob has taught a number of similar courses privately in the past, but this is the first time we're opening this up to the public.</p>
<p>If you've been wanting to really learn Django, this is a great chance. The class is intended for relative beginners to Django, but by the time you leave you'll know enough to create some pretty awesome websites.</p>
<p>The class will be Monday, September 21 - Friday, September 25, 2009 in Kansas City, MO.</p>
<p>For more, or to sign up, <a class="reference external" href="http://www.revsys.com/training/django/sept-2009/">check out the full details</a>.</p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/RevolutionSystemsBlog/~4/xvhQLxJv-Ek" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.revsys.com/2009/07/django-training.html</feedburner:origLink></entry>
    <entry>
        <title>Some quick updates</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/RevolutionSystemsBlog/~3/cMcaNIQne4Y/some-quick-updates.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589/entry_id=64836667" title="Some quick updates" />
        <link rel="replies" type="text/html" href="http://blog.revsys.com/2009/03/some-quick-updates.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-64836667</id>
        <published>2009-03-30T10:15:46-05:00</published>
        <updated>2009-03-30T18:53:11Z</updated>
        <summary>It's been a busy and exciting week for us. Jacob has been at PyCon in Chicago where he is participating in a number of panel discussions and giving quite a few talks as well. Right now I imagine he's neck...</summary>
        <author>
            <name>Frank Wiles</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="business" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="django" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="postgresql" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.revsys.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;It's been a busy and exciting week for us.&amp;nbsp; Jacob has been at &lt;a href="http://us.pycon.org/2009/about/" title="US Python Conference"&gt;PyCon&lt;/a&gt; in Chicago where he is participating in a number of panel discussions and giving quite a &lt;a href="http://jacobian.org/speaking/" title="talks by Jacob Kaplan-Moss"&gt;few talks&lt;/a&gt; as well. &amp;nbsp; Right now I imagine he's neck deep in code in the &lt;a href="http://us.pycon.org/2009/sprints/projects/django/" title="django code sprint"&gt;Django sprint&lt;/a&gt; helping to finish up the upcoming &lt;a href="http://www.djangoproject.com/weblog/2009/mar/23/11-beta-1/"&gt;1.1 release&lt;/a&gt;. If you're running a production site built with Django you should absolutely check out the talk he is giving with &lt;a href="http://b-list.org"&gt;James Bennett&lt;/a&gt; on &lt;a href="http://jacobian.org/speaking/2009/real-world-django/"&gt;Real World Django&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;While my week has been busy hacking away on several client projects and moving my main work machine to a shiny new &lt;a href="http://www.amazon.com/gp/product/B000VR3P9K?ie=UTF8&amp;amp;tag=revosystblog-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B000VR3P9K"&gt;MacBook Pro&lt;/a&gt; (can't recommend these highly enough),&lt;img  alt="" src="http://www.assoc-amazon.com/e/ir?t=revosystblog-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B000VR3P9K" style="border: medium none ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt;
I was interviewed by Daniel Dern of Business Trends Quarterly in his post about scaling and performance titled &lt;a href="http://www.btquarterly.com/?mc=brain-brawn&amp;amp;page=btp-viewarticle"&gt;For Scaling, Brains May Beat Brawn&lt;/a&gt;. We talk about how just throwing more money and hardware at a problem is not always the best solution.&amp;nbsp; Often there are architectural, design, and/or configuration changes that can bring significant cost savings to your project.&amp;nbsp; Both in terms of the hardware necessary to keep everything flowing, but also in on going system maintenance labor costs.&amp;nbsp; I'm not talking about pre-optimization evils or complicating things for your admin, often these changes are transparent to day to day operations, but certainly not to your bottom line. For example, just using the proper RAID levels and physical disk configurations for your particular PostgreSQL database can be a huge win in performance. &lt;/p&gt;&lt;p&gt;I also added a tidbit of wisdom in an advice post to budding entrepreneurs called &lt;a href="http://www.toiletpaperentrepreneur.com/blog/163-ways-how-to-become-an-entrepreneur"&gt;163 Ways How To Become An Entrepreneur&lt;/a&gt;. &lt;/p&gt;&amp;nbsp;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/RevolutionSystemsBlog/~4/cMcaNIQne4Y" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://blog.revsys.com/2009/03/some-quick-updates.html</feedburner:origLink></entry>
    <entry>
        <title>Welcome Jacob Kaplan-Moss</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/RevolutionSystemsBlog/~3/wTikHN5JQZc/welcome-jacob-kaplanmoss.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589/entry_id=63673669" title="Welcome Jacob Kaplan-Moss" />
        <link rel="replies" type="text/html" href="http://blog.revsys.com/2009/03/welcome-jacob-kaplanmoss.html" thr:count="2" thr:when="2009-03-23T00:34:22Z" />
        <id>tag:typepad.com,2003:post-63673669</id>
        <published>2009-03-05T07:02:23-06:00</published>
        <updated>2009-03-05T13:02:23Z</updated>
        <summary>I'm very pleased to announce that Jacob Kaplan-Moss has joined Revolution Systems to head up a new line of services around the ever growing Django web development framework. First up are commercial Django Support Plans, but look for more Django...</summary>
        <author>
            <name>Frank Wiles</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="django" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Featured Posts" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="open source" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="postgresql" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.revsys.com/"><div xmlns="http://www.w3.org/1999/xhtml"><p>I'm very pleased to announce that <a href="http://www.revsys.com/about/bio/jkm.html" title="Short biography for Jacob Kaplan-Moss">Jacob Kaplan-Moss</a> has joined Revolution Systems to head up a new line of services around the ever growing <a href="http://www.djangoproject.com">Django</a> web development framework. First up are <a href="http://www.revsys.com/services/django/" title="Django Support Plans and Packages">commercial Django Support Plans</a>, but look for more Django related offerings in the near future. </p><p>Jacob has been a good friend of mine since before Django was even released.  It was a pleasure to work with him at our previous day jobs and I'm very excited for the future ahead.  Not only is he <em>obviously</em> an authority on Django, he's an amazing developer and generally an expert on all things tech. Jacob and Adrian are both great examples of how to lead an Open Source project and grow a real community around it.</p><p>By offering <a href="http://www.revsys.com/services/django/">Django Support</a> packages we hope to help adoption of Django in the business world, which helps grow the community at large.   </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/RevolutionSystemsBlog/~4/wTikHN5JQZc" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.revsys.com/2009/03/welcome-jacob-kaplanmoss.html</feedburner:origLink></entry>
    <entry>
        <title>ORD Camp a Huge Success</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/RevolutionSystemsBlog/~3/2-gvPf4cMps/ord-camp-a-huge-success.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589/entry_id=62326954" title="ORD Camp a Huge Success" />
        <link rel="replies" type="text/html" href="http://blog.revsys.com/2009/02/ord-camp-a-huge-success.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-62326954</id>
        <published>2009-02-03T13:30:39-06:00</published>
        <updated>2009-02-03T19:30:39Z</updated>
        <summary>I was luck enough to be invited to attend ORD Camp this last weekend in blisteringly cold Chicago. ORD Camp is an invite only, FooCamp style unconference targeted at geeks living in the Midwest. Having never attended a FooCamp style...</summary>
        <author>
            <name>Frank Wiles</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="business" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="django" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Misc" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="open source" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="postgresql" />
        
        
<content type="xhtml" xml:lang="en-US" xml:base="http://blog.revsys.com/"><div xmlns="http://www.w3.org/1999/xhtml"><p>I was luck enough to be invited to attend <a href="http://www.ordcamp.com">ORD Camp</a> this last weekend in blisteringly cold Chicago.  ORD Camp is an invite only, FooCamp style unconference targeted at geeks living in the Midwest. Having never attended a FooCamp style event I wasn't sure what to expect.  I can now say if you ever have the opportunity to attend an event like this it is well worth your time. </p><p>As you can see from the <a href="http://www.ordcamp.com/whos-coming">attendee list</a> it was a very diverse group of people, not just the usual crowd of notable Open Source geeks.  The amount of brain power in that room was simply amazing and I can't remember when I had as much fun.  Some sessions were presentations, others were just focused discussions.  Everything from how words work, brewing beer, life hacking, to what not to do as a startup.  </p><p>While I loved the sessions the most fun was getting into random conversations ( some ended up being NSFW after midnight and many beers ) others were more typical.  Spent some time talking with people about PostgreSQL's advantages over MySQL, alternative business models, how a certain entrepreneur might improve the performance of their servers, etc. </p><p>It is difficult to determine how important this conference will be to my business in the future, but I can easily say that it has increased my drive, ambition, and overall excitement level.  Passionate people, doing amazing things will do that to you! I can't wait to attend next year. </p><xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/RevolutionSystemsBlog/~4/2-gvPf4cMps" height="1" width="1" /></div></content>


    <feedburner:origLink>http://blog.revsys.com/2009/02/ord-camp-a-huge-success.html</feedburner:origLink></entry>
    <entry>
        <title>ResumeBucket.com Launches</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/RevolutionSystemsBlog/~3/89_O0Ga_xsE/resumebucketcom-launches.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589/entry_id=60561278" title="ResumeBucket.com Launches" />
        <link rel="replies" type="text/html" href="http://blog.revsys.com/2008/12/resumebucketcom-launches.html" thr:count="3" thr:when="2008-12-30T14:41:04Z" />
        <id>tag:typepad.com,2003:post-60561278</id>
        <published>2008-12-29T12:19:16-06:00</published>
        <updated>2008-12-29T18:19:16Z</updated>
        <summary>I hope everyone had a great holiday this year. For the past few months I've been working on an online resume site ResumeBucket.com and I need your help taking it for a test drive. Our goal with this site is...</summary>
        <author>
            <name>Frank Wiles</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="business" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="postgresql" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="programming" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.revsys.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I hope everyone had a great holiday this year.&amp;nbsp; For the past few months I've been working on &lt;a href="http://www.resumebucket.com" title="ResumeBucket -- Online Resume Service"&gt;an online resume site ResumeBucket.com&lt;/a&gt; and I need your help taking it for a test drive.&amp;nbsp; Our goal with this site is to create a site where you can upload your current resume in Word form, build a new resume using our online resume creation tool, or even just type in what you want using using our online text editor.&amp;nbsp; &lt;/p&gt;&lt;p&gt;The site gives you a unique URL you can give out to friends and prospective employers so they can instantly access an up to date copy of your resume.&amp;nbsp; There are options for them to also download a copy of your resume in Word or PDF format.&amp;nbsp; For an example of how your resume can look see our &lt;a href="http://www.resumebucket.com/joshstomel"&gt;CEO's resume&lt;/a&gt; page. &lt;/p&gt;&lt;p&gt;Unlike the other resume services out there, employers are able to search the database without paying any huge fees which will drive more qualified employment leads to your INBOX. &lt;/p&gt;&lt;p&gt;Please take a few minutes to kick the tires.&amp;nbsp; You can leave feedback here in the comments or E-mail me at &lt;a href="mailto:frank@revsys.com"&gt;frank@revsys.com&lt;/a&gt;. Thanks! &lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/RevolutionSystemsBlog/~4/89_O0Ga_xsE" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://blog.revsys.com/2008/12/resumebucketcom-launches.html</feedburner:origLink></entry>
    <entry>
        <title>Why isn't PostgreSQL using my index? </title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/RevolutionSystemsBlog/~3/F3eGtVZLgO4/why-isnt-postgr.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589/entry_id=55698072" title="Why isn't PostgreSQL using my index? " />
        <link rel="replies" type="text/html" href="http://blog.revsys.com/2008/09/why-isnt-postgr.html" thr:count="2" thr:when="2008-09-17T19:53:57Z" />
        <id>tag:typepad.com,2003:post-55698072</id>
        <published>2008-09-16T10:16:49-05:00</published>
        <updated>2008-09-16T15:16:49Z</updated>
        <summary>This is a common question I see from PostgreSQL users. In fact, someone was just in IRC asking it and it prompted this post. The exchange usually goes: Steve: I have this column foo and I have an index on...</summary>
        <author>
            <name>Frank Wiles</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="open source" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="postgresql" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.revsys.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;This is a common question I see from PostgreSQL users.&amp;nbsp; In fact, someone was just in IRC asking it and it prompted this post.&amp;nbsp; The exchange usually goes: &lt;/p&gt;

&lt;p&gt;Steve: I have this column foo and I have an index on it, but when I do SELECT * FROM table WHERE foo = X, EXPLAIN doesn't use the index.&amp;nbsp; What am I doing wrong? &lt;/p&gt;

&lt;p&gt;90% of the time the answer is unfortunately &amp;quot;Because the query optimizer is smarter than you are&amp;quot;. Or maybe it's &lt;em&gt;fortunately&lt;/em&gt; depending on how you think about it! &lt;/p&gt;

&lt;p&gt;In this user's particular case he was mocking up a database schema and had only one row in the table he was querying against.&amp;nbsp; People who are more familiar with PostgreSQL will probably roll their eyes at the question, but if you put yourself in the user's shoes I can see how people would be confused by this.&amp;nbsp; They are thinking, &lt;em&gt;&amp;quot;I put an index on there on purpose, why the hell isn't it working?&amp;quot;&lt;/em&gt;.&amp;nbsp; &lt;/p&gt;

&lt;p&gt;PostgreSQL's query optimizer is &lt;strong&gt;smart, &lt;em&gt;really smart&lt;/em&gt;&lt;/strong&gt; and unless you have evidence otherwise you should trust what it is doing.&amp;nbsp; In this particular case, the optimizer realizes that if a table has only a few rows that using the index is actually &lt;em&gt;slower&lt;/em&gt; than just spinning through the entire table.&amp;nbsp; Just because PostgreSQL isn't using your index today with a small number of rows, does not mean it won't choose to use it later when you have more data or the query changes. Because he was just mocking up a design he didn't have real world data, which is almost always a bad way to performance tune your system unless you are very familiar with how PostgreSQL behaves.&amp;nbsp; &lt;/p&gt;

&lt;p&gt;Now there are other reasons why it might not be using the index.&amp;nbsp; If you have lots of data and the query you're running appears that it would benefit from the index, it might be a simple matter of forgetting to run an ANALYZE on the table or not having autovacuum turned on.&amp;nbsp; Until PostgreSQL re-analyzes your table it doesn't really &amp;quot;know&amp;quot; about that index to take it into account when building the query plan.&amp;nbsp; &lt;/p&gt;

&lt;p&gt;While performance tuning PostgreSQL is much easier and better documented than in days gone by, it can still be very confusing and time consuming for the inexperienced.&amp;nbsp; If your business needs help tuning their system you might consider my &lt;a href="http://www.revsys.com/services/postgresql/tuning"&gt;PostgreSQL Tuning Service&lt;/a&gt;. &lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/RevolutionSystemsBlog/~4/F3eGtVZLgO4" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://blog.revsys.com/2008/09/why-isnt-postgr.html</feedburner:origLink></entry>
    <entry>
        <title>Fret Free -- Introduction to Django and the Django Software Foundation</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/RevolutionSystemsBlog/~3/w7vXMm-gaOQ/fret-free----in.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589/entry_id=54466400" title="Fret Free -- Introduction to Django and the Django Software Foundation" />
        <link rel="replies" type="text/html" href="http://blog.revsys.com/2008/08/fret-free----in.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-54466400</id>
        <published>2008-08-20T12:07:40-05:00</published>
        <updated>2008-08-20T17:07:40Z</updated>
        <summary>LinuxPro Magazine just released my latest article, an introduction to Django and some discussion about the newly created Django Software Foundation. Being a life long Perl user, I didn't think I would enjoy Django at all. I have to admit...</summary>
        <author>
            <name>Frank Wiles</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="django" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="open source" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="postgresql" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="programming" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.revsys.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;a href="http://www.linuxpromagazine.com"&gt;LinuxPro Magazine&lt;/a&gt; just released my latest article, an introduction to &lt;a href="http://www.djangoproject.com"&gt;Django&lt;/a&gt; and some discussion about the newly created &lt;a href="http://www.djangoproject.com/foundation/"&gt;Django Software Foundation&lt;/a&gt;.  Being a life long Perl user, I didn't think I would enjoy Django at all. I have to admit that it is a VERY polished system.&amp;nbsp; It has great PostgreSQL support, in fact the core developers smartly prefer it over MySQL for their own systems. &lt;/p&gt;

&lt;p&gt;You can download a PDF copy of the article at, &lt;a href="http://www.linuxpromagazine.com/issues/2008/95/fret_free"&gt;Fret Free -- Django and the Django Software Foundation&lt;/a&gt;.&amp;nbsp; The print issue will hit the stands in October.&amp;nbsp; Hope you enjoy it!&lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/RevolutionSystemsBlog/~4/w7vXMm-gaOQ" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://blog.revsys.com/2008/08/fret-free----in.html</feedburner:origLink></entry>
    <entry>
        <title>Installing Apache2::Request on a 64-bit system</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/RevolutionSystemsBlog/~3/dADvPTh475Q/installing-apac.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589/entry_id=51473380" title="Installing Apache2::Request on a 64-bit system" />
        <link rel="replies" type="text/html" href="http://blog.revsys.com/2008/06/installing-apac.html" thr:count="1" thr:when="2008-07-31T08:37:24Z" />
        <id>tag:typepad.com,2003:post-51473380</id>
        <published>2008-06-17T14:44:02-05:00</published>
        <updated>2008-06-17T19:44:02Z</updated>
        <summary>I usually shy away from using 64-bit systems unless there is a clear need for it. But with more and more hosting companies installing 64-but Linux distrobutions by default I sometimes have to suffer through. Today I ran into a...</summary>
        <author>
            <name>Frank Wiles</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="open source" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="perl" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="programming" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="systems administration" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.revsys.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I usually shy away from using 64-bit systems unless there is a clear need for it.&amp;nbsp; But with more and more hosting companies installing 64-but Linux distrobutions by default I sometimes have to suffer through. &lt;/p&gt;

&lt;p&gt;Today I ran into a very small bug in installing Apache2::Request modules via the CPAN shell.&amp;nbsp; This simply installs the default libapreq2 library with the Perl bindings for you. When attempting to start Apache I received this error: &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Can't load '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/APR/Request/Request.so' for module APR::Request: libapreq2.so.2: cannot open shared object file: No such file or directory at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230. at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/APR/Request/Param.pm line 27 Compilation failed in require at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/APR/Request/Param.pm line 27. BEGIN failed--compilation aborted at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/APR/Request/Param.pm line 27. Compilation failed in require at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/Apache2/Request.pm line 2. BEGIN failed--compilation aborted at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/Apache2/Request.pm line 2. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Basically it is saying it can't load libapreq2.so.2.&amp;nbsp; Digging around in the system I found it had installed them in /usr/lib instead of the proper /usr/lib64.&amp;nbsp; The actual shared library was compiled for 64-bit, but was just installed in the wrong location.&amp;nbsp; A quick symlink like this fixes the isuse: &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;ln -s /usr/lib/libapreq2.so.2 /usr/lib64/libapreq2.so.2&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Hope this helps you get over this small issue. &lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/RevolutionSystemsBlog/~4/dADvPTh475Q" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://blog.revsys.com/2008/06/installing-apac.html</feedburner:origLink></entry>
    <entry>
        <title>Django Software Foundation</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/RevolutionSystemsBlog/~3/qK3PvG2YvqE/django-software.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589/entry_id=51470176" title="Django Software Foundation" />
        <link rel="replies" type="text/html" href="http://blog.revsys.com/2008/06/django-software.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-51470176</id>
        <published>2008-06-17T13:38:38-05:00</published>
        <updated>2008-06-17T18:38:38Z</updated>
        <summary>The Django guys have scored another milestone today with the creation of the Django Software Foundation. Being a huge Open Source advocate I love hearing great news like this. You can read more about the foundation at: Announcing the Django...</summary>
        <author>
            <name>Frank Wiles</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="django" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="open source" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="perl" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="programming" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="systems administration" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.revsys.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;The &lt;a href="http://www.djangoproject.com"&gt;Django&lt;/a&gt; guys have scored another milestone today with the creation of the &lt;a href="http://www.djangoproject.com/foundation/"&gt;Django Software Foundation&lt;/a&gt;. Being a huge Open Source advocate I love hearing great news like this.&amp;nbsp; You can read more about the foundation at: &lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.djangoproject.com/weblog/2008/jun/17/foundation/"&gt;Announcing the Django Software Foundation&lt;/a&gt; &lt;/li&gt;

&lt;li&gt;&lt;a href="http://www2.ljworld.com/news/2008/jun/17/new_foundation_django/"&gt;New Foundation for Django&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;On an unrelated note, an article I wrote for &lt;a href="http://www.linux-magazine.com"&gt;LinuxPro Magazine&lt;/a&gt; last November about using &lt;a href="http://www.danga.com/perlbal"&gt;Perlbal&lt;/a&gt; was recently put online.&amp;nbsp; You can read it at &lt;a href="http://w3.linux-magazine.com/issue/84/Perlbal.pdf"&gt;The Juggler -- Let the nimble Perlbal webserver keep your traffic in balance &lt;/a&gt;. &lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/RevolutionSystemsBlog/~4/qK3PvG2YvqE" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://blog.revsys.com/2008/06/django-software.html</feedburner:origLink></entry>
    <entry>
        <title>Test Driven Development and Getting Things Done</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/RevolutionSystemsBlog/~3/asz5uBERzew/test-driven-dev.html" />
        <link rel="service.edit" type="application/atom+xml" href="http://www.typepad.com/t/atom/weblog/blog_id=595589/entry_id=49964582" title="Test Driven Development and Getting Things Done" />
        <link rel="replies" type="text/html" href="http://blog.revsys.com/2008/05/test-driven-dev.html" thr:count="1" thr:when="2008-08-21T22:03:47Z" />
        <id>tag:typepad.com,2003:post-49964582</id>
        <published>2008-05-16T10:54:26-05:00</published>
        <updated>2008-05-16T15:54:26Z</updated>
        <summary>I'm sure someone, somewhere, has already determined this. It's probably been blogged about before, but I just realized something today. Test driven development dovetails nicely with David Allen's time management book Getting Things Done . By creating your tests first,...</summary>
        <author>
            <name>Frank Wiles</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Managing Programmers" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="perl" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="programming" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.revsys.com/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I'm sure someone, somewhere, has already determined this.&amp;nbsp; It's probably been blogged about before, but I just realized something today.&amp;nbsp; Test driven development dovetails nicely with &lt;a href="http://www.davidco.com/"&gt;David Allen's&lt;/a&gt; time management book &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FGetting-Things-Done-Stress-Free-Productivity%2Fdp%2F0142000280%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1210952702%26sr%3D1-1&amp;amp;tag=revosystblog-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;Getting Things Done&lt;/a&gt;&lt;img width="1" height="1" border="0" src="http://www.assoc-amazon.com/e/ir?t=revosystblog-20&amp;amp;l=ur2&amp;amp;o=1" style="border: medium none  ! important; margin: 0px ! important;" /&gt;.&amp;nbsp; By creating your tests first, with or without even marking them as TODO tests, builds you a TODO list of sorts for your project. &lt;/p&gt;

&lt;p&gt;Other than just being a &lt;em&gt;different&lt;/em&gt; way of doing things, I never really took to test driven development for small or personal projects.&amp;nbsp; Most of my projects are web applications and &amp;quot;unit testing&amp;quot; modules never seemed worthwhile because you weren't easily able to test the database and web interactions.&amp;nbsp; Well I can easily say that &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FPerl-Testing-Developers-Notebook%2Fdp%2F0596100922%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1210952970%26sr%3D1-1&amp;amp;tag=revosystblog-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;Perl Testing: A Developer's Notebook&lt;/a&gt;&lt;img width="1" height="1" border="0" src="http://www.assoc-amazon.com/e/ir?t=revosystblog-20&amp;amp;l=ur2&amp;amp;o=1" style="border: medium none  ! important; margin: 0px ! important;" /&gt; by Ian Langworth and chromatic has shown me the way.&lt;/p&gt;

&lt;p&gt;I had always focused too much on ensuring that 'make test' would be able to be run from anywhere and simply did not think about the fact that I could automate most of the work of building a test environment and if I wasn't able, to bail on those tests so they would be skipped.&amp;nbsp; For example, you could automate creating your PostgreSQL database, but what if PostgreSQL isn't installed on the server or what about when your user isn't allowed to create databases?&amp;nbsp; You just bail out of those tests. &lt;/p&gt;

&lt;p&gt;I was definitely too concerned with getting 100% of the tests to pass 100% of the time, in all possible scenarios now that I think about it.&amp;nbsp; &lt;/p&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/RevolutionSystemsBlog/~4/asz5uBERzew" height="1" width="1"/&gt;</content>


    <feedburner:origLink>http://blog.revsys.com/2008/05/test-driven-dev.html</feedburner:origLink></entry>
 
</feed><!-- ph=1 --><!-- nhm:from_kauri -->
