<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Shifting Bits by Patrick Altman: Latest Entries</title><link>http://paltman.com/</link><description /><language>en-us</language><lastBuildDate>Sat, 06 Mar 2010 22:48:57 -0500</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PatrickAltman" /><feedburner:info uri="patrickaltman" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>36.180507</geo:lat><geo:long>-86.60111</geo:long><image><link>http://creativecommons.org/licenses/by-nc-nd/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /><meta xmlns="http://pipes.yahoo.com" name="pipes" content="noprocess" /><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><item><title>Blown Away by Precor</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/4sm5wvtK3Cg/</link><description>&lt;p&gt;Seven years ago we purchased a &lt;a href="http://www.precor.com/"&gt;Precor&lt;/a&gt; treadmill from &lt;a href="http://www.fitnesssystemsinc.com/"&gt;Fitness Systems, Inc&lt;/a&gt;, a local &lt;a href="http://www.precor.com/"&gt;Precor&lt;/a&gt; dealer.  I wanted a treadmill that could sustain my pounding and be comfortable with my longer than average stride.
&lt;/p&gt;
&lt;p&gt;We fell in love with the treadmill first thing after visiting the showroom and testing a few of them.  It was a solid piece of equipment.  It was delivered and setup in our home and we have used it pretty solid for over 7 years with no problems.
&lt;/p&gt;
&lt;p&gt;Until recently.
&lt;/p&gt;
&lt;p&gt;We began noticing lots of black residue coming off the belt and it would ruin anything it touched -- clothes, carpet, etc.  Impossible to get out.  It happened gradually over time, so we didn't really notice it at first, but I decided to call Fitness Systems to just inquire if that sounded normal and what parts we might be able to buy to fix it.
&lt;/p&gt;
&lt;p&gt;The lady who I spoke with promptly told me that was the belt wearing out due to friction against the front and rear rollers and the black residue was actually disintegrating belt (assuming it's some form of rubber).  She then told me all the parts that I was going to need to replace and told me not be alarmed but they were basically going to rebuild my entire treadmill.
&lt;/p&gt;
&lt;p&gt;I asked her to slow down and tell me what all this was going to cost as I may be interested in just buying a replacement.  After all we've put a LOT of miles on it between the two of us for the past 7 years -- how long did these last after all?
&lt;/p&gt;
&lt;p&gt;That's when I became a life long fan of &lt;a href="http://www.precor.com/"&gt;Precor&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;She told me, &amp;quot;Oh no, you are not paying for anything.  It's under a 10 year warranty so it will all be replaced for free as soon as we get the parts in.&amp;quot;
&lt;/p&gt;
&lt;p&gt;A week later the parts came in and a repair guy came to the house and rebuilt the treadmill in about 45 minutes.
&lt;/p&gt;
&lt;p&gt;Upon leaving he told me he noticed that the motor didn't sound quite right and that it might be on it's way out in the next year or so, so he was going to go ahead and have a new one sent to them so he could replace that as well -- again at NO cost to me.
&lt;/p&gt;
&lt;p&gt;So we have used this treadmill pretty hard for over 7 years and now it's been rebuilt with all new parts.  No complicated forms to fill out, no long waits on the telephone, or having to have the right receipt to prove anything.
&lt;/p&gt;
&lt;p&gt;Simply awesome.
&lt;/p&gt;
&lt;p&gt;So, it can be no surprise to you then, that I say if you are in the market for some home exercise equipment you should certainly checkout &lt;a href="http://www.precor.com/"&gt;Precor&lt;/a&gt;.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=4sm5wvtK3Cg:ma8UNYYXKvo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=4sm5wvtK3Cg:ma8UNYYXKvo:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=4sm5wvtK3Cg:ma8UNYYXKvo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?i=4sm5wvtK3Cg:ma8UNYYXKvo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=4sm5wvtK3Cg:ma8UNYYXKvo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/4sm5wvtK3Cg" height="1" width="1"/&gt;</description><pubDate>Sat, 06 Mar 2010 22:48:57 -0500</pubDate><guid isPermaLink="false">http://paltman.com/2010/mar/06/blown-away-by-precor/</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><feedburner:origLink>http://paltman.com/2010/mar/06/blown-away-by-precor/</feedburner:origLink></item><item><title>Open vs Closed Source</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/Xvqr7sR5Og0/</link><description>&lt;p&gt;I have heard open source compared a lot to socialism, or maybe better as something that is not capitalism.  Equally frustrating, I have been around the crowd that jeers the people that sell closed source software.  There is a lot of misperceptions that exist about both commercial software and open source.  &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;I have been involved with both and have worked around people who have held views on opposite ends of the spectrum.  There is room for both closed source, proprietary software as well as open source software.  &lt;br /&gt;
&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Bill Gates is Evil.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Linux is for Communists.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Software should be free.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Patents stifle innovation.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;If you have worked in technology around other people at all, you have heard these types of statements before.  Are we really supposed to believe these types of statements?  Furthermore, what good does it accomplish?
&lt;/p&gt;

&lt;h2&gt;My Background&lt;/h2&gt;
&lt;p&gt;I started my career in closed source and couldn't believe how or why people would &amp;quot;work for free&amp;quot; or give their code away.  Didn't they know that not many people can write software -- it was valuable, they shouldn't just give it away.
&lt;/p&gt;
&lt;p&gt;Later, I learned Python and then Django.
&lt;/p&gt;
&lt;p&gt;I started using some open source libraries to build solutions in the cloud.  I've &lt;a href="http://studionow.com"&gt;built websites&lt;/a&gt; &lt;a href="http://tabaracrestina.com"&gt;on entirely&lt;/a&gt; &lt;a href="http://aminosoftware.com"&gt;free&lt;/a&gt; &lt;a href="http://tnchildren.org/"&gt;software&lt;/a&gt;, software that I was able to learn how things work by reading the source code.  I have been able to make a lot of money off of software written by others who gave away their creations.  This in turn has led me to recognize that I do have a moral obligation to give back to the communities that have given so much to me.
&lt;/p&gt;

&lt;h2&gt;Open Source Rocks&lt;/h2&gt;
&lt;p&gt;This is why I contribute time and effort to the &lt;a href="http://boto.googlecode.com"&gt;boto project&lt;/a&gt;.  It's also why I have &lt;a href="http://gist.github.com/313761"&gt;contributed&lt;/a&gt; &lt;a href="http://github.com/paltman/shiftingbits"&gt;bits&lt;/a&gt; &lt;a href="http://github.com/paltman/nashvegas"&gt;and&lt;/a&gt; &lt;a href="http://github.com/paltman/django-logicaldelete"&gt;pieces&lt;/a&gt; to the &lt;a href="http://djangoproject.com"&gt;Django&lt;/a&gt; community and why I hope to get more involved in helping out on Django itself as well as &lt;a href="http://pinaxproject.com/"&gt;Pinax&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;But that is not the only reason.  It's also a lot of fun.  &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Chatting up folks in IRC, on mailing lists, via Twitter, about the latest project you are working on, a problem you are having, or just to say hi, builds cool sense of community.  In addition, getting a chance to meet these folks in person at conferences such as PyCon is an experience you just don't find when working in isolation or just on a small team.
&lt;/p&gt;
&lt;p&gt;Furthermore, it helps to hone one's craft to practice the art of writing good software out in the open.  If I write something just for myself that no one else will see, it is sure to be pretty crappy.  But if I put something out in public, there is an extra sense of wanting it to be perfect, to be beautiful.
&lt;/p&gt;

&lt;h2&gt;But So Does Closed Source&lt;/h2&gt;
&lt;p&gt;It's no secret that in addition to being a huge fan of Python and Django, I am a C# developer.  In fact, I co-founded and run &lt;a href="http://aminosoftware.com"&gt;AminoSoftware&lt;/a&gt; where my partner and I have been very successful in building a solution that delivers tremendous value to technology groups around the world both in industry and in governments.  We sell this value for money and I am not ashamed of that.  In return for the relative small amount of one time costs, teams are able to do what is extremely hard and time consuming.  &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;They are able to leverage a problem solved by our software and focus on creating other unique value for their respective groups.  They are able to realize savings well above and beyond the cost of the license.  If we open sourced this software, we would not be able to sell it.  If we were not able to sell it, it would be hard be hard to justify the time to write it.  Thus, the solution would exist, a many teams over would not be realizing the value we've delivered to them.
&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I don't see closed versus open in some sort of dogmatic one is right one is wrong.  Those are value judgements and we are talking about software and how and when that software is shared or sold by it's creator.  There are reasons for doing both -- I actively participate in both at the same time.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=Xvqr7sR5Og0:DMVSJCM2fpU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=Xvqr7sR5Og0:DMVSJCM2fpU:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=Xvqr7sR5Og0:DMVSJCM2fpU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?i=Xvqr7sR5Og0:DMVSJCM2fpU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=Xvqr7sR5Og0:DMVSJCM2fpU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/Xvqr7sR5Og0" height="1" width="1"/&gt;</description><pubDate>Fri, 26 Feb 2010 06:28:28 -0500</pubDate><guid isPermaLink="false">http://paltman.com/2010/feb/26/open-vs-closed-source/</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><feedburner:origLink>http://paltman.com/2010/feb/26/open-vs-closed-source/</feedburner:origLink></item><item><title>How to Store Arbitrary Data in a Django Model</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/lQn1wVJXt5w/</link><description>&lt;p&gt;I have a number of different places where I have wanted to store arbitrary data along with structured data in a Django model.  This is data that I wouldn't necessarily care to use a value to retrieve data but when displaying or working with a record or records of this data, being able to have this data available in a manner that I didn't have to parse was nice.
&lt;/p&gt;
&lt;p&gt;My solution was to serialize/deserialize in and out of JSON using simplejson and a Field class that derives from a TextField.  i think it is easier to just read the code and the example of how to use it in the gist below than for me to continue with my rambles.
&lt;/p&gt;

&lt;h2&gt;The Code&lt;/h2&gt;
&lt;script src="http://gist.github.com/313761.js"&gt;&lt;/script&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: It wasn't clear in this post.  This wasn't &lt;a href="http://paltman.com/2008/oct/21/jsonfield-for-django-models/"&gt;my code, as I had previously pointed out&lt;/a&gt;.  Just wanted to be clear that I have found this solution useful and have used the snippet so much that I feel like it's mine -- but it's not. :)
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=lQn1wVJXt5w:AXAS0qwhLl0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=lQn1wVJXt5w:AXAS0qwhLl0:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=lQn1wVJXt5w:AXAS0qwhLl0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?i=lQn1wVJXt5w:AXAS0qwhLl0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=lQn1wVJXt5w:AXAS0qwhLl0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/lQn1wVJXt5w" height="1" width="1"/&gt;</description><pubDate>Thu, 25 Feb 2010 14:28:23 -0500</pubDate><guid isPermaLink="false">http://paltman.com/2010/feb/25/how-to-store-arbitrary-data-in-a-django-model/</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><feedburner:origLink>http://paltman.com/2010/feb/25/how-to-store-arbitrary-data-in-a-django-model/</feedburner:origLink></item><item><title>PyCon 2010 Recap</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/mbMaiowDLtQ/</link><description>&lt;p&gt;The &lt;a href="http://pycon.blip.tv/"&gt;videos from PyCon 2010&lt;/a&gt; appear to be coming online now and I highly recommend checking them out if you weren't able to attend or missed some of the sessions you wanted to see while there at other sessions.  There was a ton of great stuff to soak in through osmosis.  In addition, it was great to meet others in the community that I know through IRC / Twitter / Email / Projects.
&lt;/p&gt;
&lt;p&gt;Here is my recap of things that impressed me and that I saw as directly applicable to what I am working on.
&lt;/p&gt;

&lt;h2&gt;redis / pyres / celery&lt;/h2&gt;
&lt;ul&gt;
 &lt;li&gt;
     &lt;a href="http://code.google.com/p/redis/"&gt;redis&lt;/a&gt;, &lt;a href="http://github.com/binarydud/pyres"&gt;pyres&lt;/a&gt;, &lt;a href="http://ask.github.com/celery/index.html"&gt;celery&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     I need to use Redis with pyres or celery.
 &lt;/li&gt;

 &lt;li&gt;
     Could replace a lot of my crontabs
 &lt;/li&gt;

 &lt;li&gt;
     Could replace local queuing (versus distributed queuing running in the cloud).
 &lt;/li&gt;

 &lt;li&gt;
     Could replace adhoc email queue infrastructure
 &lt;/li&gt;

 &lt;li&gt;
     Simplifies stuff done asynchronously with crontabs - queue up the fact that something needs to be done at the moment instead of running queries repeatedly looking for conditions to trigger action.
 &lt;/li&gt;

 &lt;li&gt;
     Becomes super simple to mark things as something to execute asynchronously so more functionality can be added without slowing down website (e.g. logging, near real-time data warehousing, etc.)
 &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;picloud&lt;/h2&gt;
&lt;ul&gt;
 &lt;li&gt;
     &lt;a href="http://www.picloud.com/"&gt;picloud&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     Looks promising, however, cannot execute non-python code (e.g. ffmpeg)
 &lt;/li&gt;

 &lt;li&gt;
     Client is LGPL but it is pure Python so should be able to at least glean ideas from it especially how bytecode is compiled and shipped for remote execution.
 &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Haystack / solr&lt;/h2&gt;
&lt;ul&gt;
 &lt;li&gt;
     &lt;a href="http://haystacksearch.org/"&gt;Haystack&lt;/a&gt;, &lt;a href="http://lucene.apache.org/solr/"&gt;solr&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     solr seems to be what everyone prefers.  not much talked about this, but rather Haystack
 &lt;/li&gt;

 &lt;li&gt;
     Haystack is genius.
 &lt;/li&gt;

 &lt;li&gt;
     It's designed for Django.  It's modular.
 &lt;/li&gt;

 &lt;li&gt;
     Interface/API is simple and clean.
 &lt;/li&gt;

 &lt;li&gt;
     Makes adding new search indexes easy and useable.
 &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beautiful Architecture&lt;/h2&gt;
&lt;ul&gt;
 &lt;li&gt;
     &lt;a href="http://third-bit.com"&gt;Greg Wilson&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     Beautiful Code author
 &lt;/li&gt;

 &lt;li&gt;
     20 pages describing architecture of great software or, comparing architectures of two similar pieces of software from community for chapters.
 &lt;/li&gt;

 &lt;li&gt;
     Looking forward to reading this when complete.
 &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Unit Testing&lt;/h2&gt;
&lt;ul&gt;
 &lt;li&gt;
     &lt;a href="http://nedbatchelder.com"&gt;Ned Batchelder&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     &lt;a href="http://nedbatchelder.com/code/coverage/"&gt;coverage.py, lots of improvements over the past year&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     HTML reporting
 &lt;/li&gt;

 &lt;li&gt;
     Branch coverage
 &lt;/li&gt;

 &lt;li&gt;
     Cobertura-compatible for XML output for CI reporting
 &lt;/li&gt;

 &lt;li&gt;
     Can set settings in .coveragerc to ignore certain lines
 &lt;/li&gt;

 &lt;li&gt;
     Coming: will work with nose and test.py
 &lt;/li&gt;

 &lt;li&gt;
     unittest in Python 2.7 gets major update
 &lt;/li&gt;

 &lt;li&gt;
     new unittest stuff is backported and available as module as &lt;a href="http://pypi.python.org/pypi/unittest2/0.1.4"&gt;unittest2&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     provides nose-like test discovery
 &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Creating/Reading Word Documents in Pure Python&lt;/h2&gt;
&lt;ul&gt;
 &lt;li&gt;
     &lt;a href="http://github.com/mikemaccana"&gt;Mike Maccana&lt;/a&gt; / &lt;a href="http://twitter.com/mikemaccana"&gt;@mikemaccana&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     &lt;a href="http://github.com/mikemaccana/python-docx"&gt;python-docx&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     creates word documents
 &lt;/li&gt;

 &lt;li&gt;
     extracts plain text of documents (parse documents)
 &lt;/li&gt;

 &lt;li&gt;
     search + replace
 &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;virtualenv&lt;/h2&gt;
&lt;ul&gt;
 &lt;li&gt;
     Need to be doing things in &lt;a href="http://pypi.python.org/pypi/virtualenv"&gt;virtualenv&lt;/a&gt; with &lt;a href="http://www.doughellmann.com/projects/virtualenvwrapper/"&gt;virtualenvwrapper&lt;/a&gt;
 &lt;/li&gt;

 &lt;li&gt;
     creates virtual python environments
 &lt;/li&gt;

 &lt;li&gt;
     easy segregation of third party library dependancies
 &lt;/li&gt;

 &lt;li&gt;
     good for managing upgrade efforts to things like Django or SimpleJson, etc.
 &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;pip&lt;/h2&gt;
&lt;ul&gt;
 &lt;li&gt;
     &lt;a href="http://pip.openplans.org/"&gt;pip&lt;/a&gt; blows easy_install out of the water
 &lt;/li&gt;

 &lt;li&gt;
     can install directly from svn, hg, or git
 &lt;/li&gt;

 &lt;li&gt;
     can cleanly uninstall
 &lt;/li&gt;

 &lt;li&gt;
     recovers from failed installs (doesn't leave site-packages in strange state like easy_install can)
 &lt;/li&gt;

 &lt;li&gt;
     easy requirements management for a package
 &lt;/li&gt;

 &lt;li&gt;
     this could be part of our internal deployment strategy
 &lt;/li&gt;

 &lt;li&gt;
     easy upgrading of existing packages
 &lt;/li&gt;

 &lt;li&gt;
     could be very useful in bootstrapping different versions of software in cloud environment
 &lt;/li&gt;

 &lt;li&gt;
     especially powerful when used with virtualenv
 &lt;/li&gt;
&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=mbMaiowDLtQ:3T5aLT-IhYw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=mbMaiowDLtQ:3T5aLT-IhYw:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=mbMaiowDLtQ:3T5aLT-IhYw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?i=mbMaiowDLtQ:3T5aLT-IhYw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=mbMaiowDLtQ:3T5aLT-IhYw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/mbMaiowDLtQ" height="1" width="1"/&gt;</description><pubDate>Wed, 24 Feb 2010 12:33:49 -0500</pubDate><guid isPermaLink="false">http://paltman.com/2010/feb/24/pycon-2010-recap/</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><feedburner:origLink>http://paltman.com/2010/feb/24/pycon-2010-recap/</feedburner:origLink></item><item><title>How to Backup Your MySQL Database with Git</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/kizGm-YyTKc/</link><description>&lt;h2&gt;Background&lt;/h2&gt;
&lt;p&gt;I run a half dozen small database backed websites, including this blog.  For over a year, I ran
   with literally no backup strategy at all.  For one, none of the sites were tall that critical.
   Secondly, all the code is on GitHub, so it would just be data loss, which while not fun, would
   not cause me any loss of income/revenue.
&lt;/p&gt;
&lt;p&gt;That said, it would be kind of painful to lose years of blog posts and in some of the other
   sites, content that had been written and added to the sites.
&lt;/p&gt;
&lt;p&gt;Therefore, I figured I needed to come up with some lightweight way to automatically take backups.
&lt;/p&gt;

&lt;h2&gt;Storage&lt;/h2&gt;
&lt;p&gt;My first thought was to automatically tar gzip exports from MySql via crontab script that pushed
   the tarball to S3.  One of the things I wanted to snapshots at small time intervals if at all
   possible.  I know jumping from nothing to wanting small interval snapshots seems silly, but I was 
   in the mode of building a solution at this point, so why not.  If I were to do this, uploading 
   full size tar balls to S3 didn't seem like it would scale very well after a while as I didn't want
   to delete anything -- this would leave me with thousands of files pretty quickly.
&lt;/p&gt;
&lt;p&gt;Then I thought, what about git?
&lt;/p&gt;
&lt;p&gt;It's good at just storing deltas.  Plus, I would be able to push out to GitHub and get offsite
   backup for free (well not for free since I pay for my account, but you get the idea).
&lt;/p&gt;

&lt;h2&gt;Solution&lt;/h2&gt;
&lt;p&gt;In searching for &amp;quot;backup databases with git&amp;quot; I found &lt;a href="http://www.viget.com/extend/backup-your-database-in-git/"&gt;this link&lt;/a&gt; where the author was thinking pretty much the same thing, which saved me some time in looking up the parameters to mysqldump.
&lt;/p&gt;
&lt;p&gt;The first thing I did was create a new repository for my backups.  Then I wrote a bash script in this repository that calls the mysql command to dump each database into a single file with full inserts.
   This creates a bigger file but it's only the initial file that will be big -- remember, git is very efficient 
   in how deltas are the only thing that will occur subsequently.  The last command of this bash script commits and pushes to the GitHub remote. Lastly, I needed to wire up a crontab to execute this every few minutes. 
   This works on my databases because the sites are small and the exports happen quickly.  If the sites were
   large, I'd likely set up replication and backup off the replicated database.
&lt;/p&gt;

&lt;h2&gt;Backup Script&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;#!/bin/bash
mysqldump -u &amp;lt;USER&amp;gt; -p &amp;lt;PASSWORD&amp;gt; --skip-extended-insert &amp;lt;DB_NAME&amp;gt; | grep -v &amp;quot; Dump completed on &amp;quot; &amp;gt; &amp;lt;FILENAME&amp;gt;
...
mysqldump -u &amp;lt;USER&amp;gt; -p &amp;lt;PASSWORD&amp;gt; --skip-extended-insert &amp;lt;DB_NAME&amp;gt; | grep -v &amp;quot; Dump completed on &amp;quot; &amp;gt; &amp;lt;FILENAME&amp;gt;
/usr/local/bin/git commit -am &amp;quot;Updating DB Backups&amp;quot;
/usr/local/bin/git gc
/usr/local/bin/git push origin master
&lt;/code&gt;&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=kizGm-YyTKc:UV5cspBM6vM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=kizGm-YyTKc:UV5cspBM6vM:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=kizGm-YyTKc:UV5cspBM6vM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?i=kizGm-YyTKc:UV5cspBM6vM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=kizGm-YyTKc:UV5cspBM6vM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/kizGm-YyTKc" height="1" width="1"/&gt;</description><pubDate>Tue, 23 Feb 2010 08:44:55 -0500</pubDate><guid isPermaLink="false">http://paltman.com/2010/feb/23/how-backup-your-mysql-database-git/</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><feedburner:origLink>http://paltman.com/2010/feb/23/how-backup-your-mysql-database-git/</feedburner:origLink></item><item><title>Forget The Pony</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/g_p23phj3hI/</link><description>&lt;p&gt;This is too good not to share (and thank you Eric for &lt;a href="http://twitter.com/ericflo/status/9442570467"&gt;tweeting the link&lt;/a&gt;):
&lt;/p&gt;
&lt;p&gt;&lt;embed id=VideoPlayback src=http://video.google.com/googleplayer.swf?docid=3025928432286462456&amp;hl=en&amp;fs=true style=width:400px;height:326px allowFullScreen=true allowScriptAccess=always type=application/x-shockwave-flash&gt; &lt;/embed&gt;
&lt;/p&gt;
&lt;p&gt;Forget that pink pony as the mascot of Django, one of our very own, Eric Florenzano, appears to already have magical powers.  I wish we could have seen the light saber during one of his PyCon talks.  :)
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=g_p23phj3hI:9TVGO6ISH4g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=g_p23phj3hI:9TVGO6ISH4g:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=g_p23phj3hI:9TVGO6ISH4g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?i=g_p23phj3hI:9TVGO6ISH4g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=g_p23phj3hI:9TVGO6ISH4g:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/g_p23phj3hI" height="1" width="1"/&gt;</description><pubDate>Sun, 21 Feb 2010 22:23:51 -0500</pubDate><guid isPermaLink="false">http://paltman.com/2010/feb/21/forget-pony/</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><feedburner:origLink>http://paltman.com/2010/feb/21/forget-pony/</feedburner:origLink></item><item><title>Obama&amp;#39;s Transparency Strategy</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/1UxNaIEAmS8/</link><description>&lt;p&gt;It goes something like this:  &lt;br /&gt;
&lt;/p&gt;
&lt;ol&gt;
 &lt;li&gt;
     Promise everyone you are different.
 &lt;/li&gt;

 &lt;li&gt;
     Sing a good tune about open government and transparency.
 &lt;/li&gt;

 &lt;li&gt;
     Make it sound believable and not just platitudes by using concrete examples like allowing CSPAN to cover healthcare debate.
 &lt;/li&gt;

 &lt;li&gt;
     Get elected.
 &lt;/li&gt;

 &lt;li&gt;
     Continue to talk the game of transparency while at the same time keeping everything hidden and in the dark.
 &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;embed src="http://blip.tv/play/hJNRgbu%2BTwI%2Em4v" type="application/x-shockwave-flash" width="480" height="364" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=1UxNaIEAmS8:lV8kdhrgCY0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=1UxNaIEAmS8:lV8kdhrgCY0:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=1UxNaIEAmS8:lV8kdhrgCY0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?i=1UxNaIEAmS8:lV8kdhrgCY0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=1UxNaIEAmS8:lV8kdhrgCY0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/1UxNaIEAmS8" height="1" width="1"/&gt;</description><pubDate>Wed, 06 Jan 2010 13:46:52 -0500</pubDate><guid isPermaLink="false">http://paltman.com/2010/jan/06/obamas-transparency-strategy/</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><feedburner:origLink>http://paltman.com/2010/jan/06/obamas-transparency-strategy/</feedburner:origLink></item><item><title>Links for 2009-12-11 [del.icio.us]</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/wPb6lF5eNp4/altman</link><pubDate>Sat, 12 Dec 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/altman#2009-12-11</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ivorycity.com/blog/jquery-template-plugin/"&gt;The Web Architects&amp;rsquo; Blog &amp;raquo; jQuery Templates Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://connectasketch.com/"&gt;Connect-A-Sketch - Upload and connect your sketches to create clickable prototypes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/wPb6lF5eNp4" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/altman#2009-12-11</feedburner:origLink></item><item><title>Links for 2009-12-09 [del.icio.us]</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/IAQRW0gThlg/altman</link><pubDate>Thu, 10 Dec 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/altman#2009-12-09</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://the389.com/"&gt;389&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/IAQRW0gThlg" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/altman#2009-12-09</feedburner:origLink></item><item><title>Links for 2009-12-08 [del.icio.us]</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/8eMHVZ2kL4A/altman</link><pubDate>Wed, 09 Dec 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/altman#2009-12-08</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.fluidr.com/"&gt;Fluidr / Today's Explore&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/8eMHVZ2kL4A" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/altman#2009-12-08</feedburner:origLink></item><item><title>Links for 2009-12-05 [del.icio.us]</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/D-syFrrJW7o/altman</link><pubDate>Sun, 06 Dec 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/altman#2009-12-05</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.naturalearthdata.com/"&gt;Natural Earth&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/D-syFrrJW7o" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/altman#2009-12-05</feedburner:origLink></item><item><title>Links for 2009-12-03 [del.icio.us]</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/MbYjoKt-INs/altman</link><pubDate>Fri, 04 Dec 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/altman#2009-12-03</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://wiki.github.com/sorccu/cufon/usage"&gt;Usage - cufon - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/MbYjoKt-INs" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/altman#2009-12-03</feedburner:origLink></item><item><title>Links for 2009-11-30 [del.icio.us]</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/E7X1ZhcDw-U/altman</link><pubDate>Tue, 01 Dec 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/altman#2009-11-30</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lazypython.blogspot.com/2009/11/you-built-metaclass-for-what.html"&gt;Lazy Pythonista: You Built a Metaclass for *what*?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/E7X1ZhcDw-U" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/altman#2009-11-30</feedburner:origLink></item><item><title>Thankful, I am</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/b4fgtGcCIgU/</link><description>&lt;p&gt;&lt;img src="http://farm2.static.flickr.com/1124/1390272636_50c38fbf17_m.jpg" align="left" style="margin: 0 1em 0 0;"&gt;It seems like an obligatory or cliched post to write, but on the eve of Thanksgiving (actually it's already past midnight as I write, so I guess it is already here), I feel it appropriate to sum up just some of the highlights of things in my life that I am thankful for.  &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;First and foremost, would be my wife of almost 10 years.  She is a truly exceptional human being and I am a better man and better father because of her.  In addition to being a wife, she is my best friend and I cannot imagine doing life without her.  I feel like, no, I know that God designed us for each other.
&lt;/p&gt;
&lt;p&gt;In addition, she is also a most fantastic mother to our three children.  I could not dream up or design a better mother for our three little ones.  I know our children are blessed because her and as their father, having her as my &amp;quot;co-captain&amp;quot; so-to-speak I am immensely grateful to her.
&lt;/p&gt;
&lt;p&gt;Speaking of the kiddos, what can a father say?  I count the title/role of &amp;quot;father&amp;quot; 2nd only to &amp;quot;husband&amp;quot; in this life.  It's an immense responsibility, but what an immense joy I receive from each of them.  To be allowed to participate in this part of Creation is a sacred honor that I do not take for granted.
&lt;/p&gt;
&lt;p&gt;I know I am gushing here, but man, I love my family.  Everything, I mean everything else, seems so petty, so inconsequential.
&lt;/p&gt;
&lt;p&gt;Everything that is, except for my number one.
&lt;/p&gt;
&lt;p&gt;I am thankful for the One who does not and will not ever forsake me.  The One who washed my sins clean through His sacrifice.  The One who has given me everything.  The One who through Him all things are possible.  I am most thankful for and to Jesus.
&lt;/p&gt;
&lt;p&gt;I hope you have a great Thanksgiving!
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=b4fgtGcCIgU:u3pxOKiR1cQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=b4fgtGcCIgU:u3pxOKiR1cQ:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=b4fgtGcCIgU:u3pxOKiR1cQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?i=b4fgtGcCIgU:u3pxOKiR1cQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=b4fgtGcCIgU:u3pxOKiR1cQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/b4fgtGcCIgU" height="1" width="1"/&gt;</description><pubDate>Thu, 26 Nov 2009 00:51:13 -0500</pubDate><guid isPermaLink="false">http://paltman.com/2009/nov/26/thankful-i-am/</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><feedburner:origLink>http://paltman.com/2009/nov/26/thankful-i-am/</feedburner:origLink></item><item><title>Links for 2009-11-24 [del.icio.us]</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/Zkm4lH8uRrI/altman</link><pubDate>Wed, 25 Nov 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/altman#2009-11-24</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tuxradar.com/content/command-line-tricks-smart-geeks"&gt;Command line tricks for smart geeks | TuxRadar Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://agilezen.com/"&gt;Zen &amp;ndash; Project management gets lean&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/Zkm4lH8uRrI" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/altman#2009-11-24</feedburner:origLink></item><item><title>Global Warming Scam Exposed</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/Lz_mv_V6hI4/</link><description>&lt;p&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZYSOnJ_uZXE&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ZYSOnJ_uZXE&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/p&gt;

&lt;h2&gt;Update&lt;/h2&gt;
&lt;p&gt;For those Glenn-haters out there, here is the story also reported in the &lt;a href="http://online.wsj.com/article/SB125883405294859215.html"&gt;Wall Street Journal&lt;/a&gt;.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=Lz_mv_V6hI4:PJtPwfXMBQw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=Lz_mv_V6hI4:PJtPwfXMBQw:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=Lz_mv_V6hI4:PJtPwfXMBQw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?i=Lz_mv_V6hI4:PJtPwfXMBQw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=Lz_mv_V6hI4:PJtPwfXMBQw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/Lz_mv_V6hI4" height="1" width="1"/&gt;</description><pubDate>Mon, 23 Nov 2009 22:14:58 -0500</pubDate><guid isPermaLink="false">http://paltman.com/2009/nov/23/global-warming-scam-exposed/</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><feedburner:origLink>http://paltman.com/2009/nov/23/global-warming-scam-exposed/</feedburner:origLink></item><item><title>Thoughts on Healthcare</title><link>http://feedproxy.google.com/~r/PatrickAltman/~3/yn4LQjKLuI8/</link><description>&lt;p&gt;What is the real end goal with this Healthcare legislation?  &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Despite only a minority of citizens wanting such legislation, we have an Administration and a Congress pulling out all of the stops, burning up all of their political capital to get something enacted into Law.
&lt;/p&gt;
&lt;p&gt;To what end?
&lt;/p&gt;
&lt;p&gt;It can't be to lower costs, because it is ridiculously expensive.  It can't be to improve care, because we are already the envy of the world when it comes to advances and delivery of care.
&lt;/p&gt;
&lt;p&gt;In fact, I would argue that it is precisely the government's meddling with the system that we insane levels of cost and waste in our healthcare payment system.  &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Remove the government subsidized healthcare programs.
&lt;/p&gt;
&lt;p&gt;Remove the government regulations on insurance companies, which actually reduces competitive pressures to delivery a superior product (health insurance) at a cheaper cost.
&lt;/p&gt;
&lt;p&gt;Remove the tax incentives for businesses to provide healthcare to their employees, and I think we'll see a market solution emerge and faster than any government mandated solution will.
&lt;/p&gt;
&lt;p&gt;And when that happens it will occur without people loosing freedoms and liberties.  It won't violate our US Constition.  It won't cost the tax payer trillions of dollars.
&lt;/p&gt;
&lt;p&gt;When the government pays for something (e.g. Medicare) by definition they have to take the money from someone who doesn't need or eligible for the service through confiscatory taxation to pay for it.  Basic economics tells us that this removes the idea of the consumer from making rational choices.  Since in this case the consumer isn't paying for the service, someone else is.
&lt;/p&gt;
&lt;p&gt;To take this a step further, consumers have rationally chosen to go for the least expensive option available to them which is most of the time employer provided insurance.  Sure they may pay some or all of the group premiums but it can typically be cheaper than buying the same product on your own.  Not to mention, Group insurance carries special legal priviledges through HIPAA that Individual insurance does not enjoy.
&lt;/p&gt;
&lt;p&gt;Sure there is the idea of HSAs, however, how many people know about them?  How many Group plans offer them as an option.  Certainly more and more are offering them, but I still have no worked for an employer where that has been an option.
&lt;/p&gt;
&lt;p&gt;So now you have a person with healthcare insurance that pays a monthly premium either in full or with help from their employer.  The consumption of healthcare related services bear little correlation with the cost of those services because it's really not healthcare insurance, but rather a healthcare payment plan.  Therefore, once again, the rational choice of what to consume and how much isn't there because there is no direct payment for the service being rendered/consumed.
&lt;/p&gt;
&lt;p&gt;I feel like this problem of bloated healthcare is really not all that hard to fix:
&lt;/p&gt;
&lt;ol&gt;
 &lt;li&gt;
     Remove tax incentives for employers to provide healthcare insurance.  They would still be allowed to, but it would factor in more as a true part of compensation, rather than a benefit they were artificially being manipulated into providing.
 &lt;/li&gt;

 &lt;li&gt;
     Remove the distinction between Group and Individual plans.
 &lt;/li&gt;

 &lt;li&gt;
     Remove the regulations on transportability.  Make plans borderless.
 &lt;/li&gt;

 &lt;li&gt;
     Provide tax credits for use in funding HSA plans.
 &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These are just off the top of my head.  I am sure something needs to be done with Medicare, but am no expert on what all is currently covered by Medicare or how it is executed.
&lt;/p&gt;
&lt;p&gt;The point is, we need to be moving more in the direction of payment for services directly from a consumer to a physician.  If that consumer wishes to work out some type of contract on their own with a provider like an insurance company, then that should be completely market driven and not influenced by the government.
&lt;/p&gt;
&lt;p&gt;So, to me this makes perfect and clear sense.  I cannot understand why were are doing what we are doing the way were are doing it, unless it is for other motives.
&lt;/p&gt;
&lt;p&gt;Without being too conspiratorial, I think those motives fall along the same lines of every other progressive agenda for the past 100 years.  The more people take from redistributive polcies of the government, the more people become dependant on the government to provide them things that they grow to not know how to live without.  This creates a power push upward and centralized, versus downward and decentralized and ultimately in the hands of the people.
&lt;/p&gt;
&lt;p&gt;America, I think we are trading our freedoms, our liberties, our futures, and that of our children, for just the idea of a solved problem.
&lt;/p&gt;
&lt;p&gt;Disaster is ahead.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=yn4LQjKLuI8:igYgrCdhg70:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=yn4LQjKLuI8:igYgrCdhg70:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=yn4LQjKLuI8:igYgrCdhg70:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?i=yn4LQjKLuI8:igYgrCdhg70:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/PatrickAltman?a=yn4LQjKLuI8:igYgrCdhg70:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/PatrickAltman?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PatrickAltman/~4/yn4LQjKLuI8" height="1" width="1"/&gt;</description><pubDate>Mon, 23 Nov 2009 16:48:55 -0500</pubDate><guid isPermaLink="false">http://paltman.com/2009/nov/23/thoughts-on-healthcare/</guid><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><feedburner:origLink>http://paltman.com/2009/nov/23/thoughts-on-healthcare/</feedburner:origLink></item></channel></rss>
