<?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>Blog from the Loft &#124; PK Shiu Personal Blog &#187; django</title>
	<atom:link href="http://www.pkshiu.com/loft/archive/tag/django/feed" rel="self" type="application/rss+xml" />
	<link>http://www.pkshiu.com/loft</link>
	<description>Thoughts without walls</description>
	<lastBuildDate>Sun, 05 Feb 2012 01:50:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Upgrading to Django 1.3?</title>
		<link>http://www.pkshiu.com/loft/archive/2011/03/upgrading-to-django-1-3</link>
		<comments>http://www.pkshiu.com/loft/archive/2011/03/upgrading-to-django-1-3#comments</comments>
		<pubDate>Sun, 27 Mar 2011 18:08:57 +0000</pubDate>
		<dc:creator>PK</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.pkshiu.com/loft/?p=1101</guid>
		<description><![CDATA[Should you upgrade to Django 1.3? Upgrade any web framework in your application in general? Try this decision chart here http://www.djangopro.com/2011/03/should-i-upgrade-to-django-1-3/:]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.djangopro.com/2011/03/should-i-upgrade-to-django-1-3/"><img class="alignleft" title="Should you Upgrade to django 1.3?" src="http://farm6.static.flickr.com/5051/5565031486_d9161499e4_m.jpg" alt="" width="162" height="240" /></a>Should you upgrade to Django 1.3? Upgrade any web framework in your application in general? Try this decision chart here http://www.djangopro.com/2011/03/should-i-upgrade-to-django-1-3/:</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pkshiu.com/loft/archive/2011/03/upgrading-to-django-1-3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django South Explained</title>
		<link>http://www.pkshiu.com/loft/archive/2011/01/django-south-explained</link>
		<comments>http://www.pkshiu.com/loft/archive/2011/01/django-south-explained#comments</comments>
		<pubDate>Tue, 04 Jan 2011 16:26:25 +0000</pubDate>
		<dc:creator>PK</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.pkshiu.com/loft/?p=1051</guid>
		<description><![CDATA[Posted my tutorial on using Django south, the database migration tool, over at DjangoPro. Check it out!]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="sketch for explanation diagram" src="http://farm6.static.flickr.com/5085/5319960031_41b64af255_m.jpg" alt="" width="180" height="240" />Posted my tutorial on using Django south, the database migration tool, over at <a href="http://www.djangopro.com/2011/01/django-database-migration-tool-south-explained/">DjangoPro</a>. Check it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pkshiu.com/loft/archive/2011/01/django-south-explained/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paul Bissex Presenting at the Boston Django Meetup 2010</title>
		<link>http://www.pkshiu.com/loft/archive/2010/12/paul-bissex-presenting-at-the-boston-django-meetup-2010</link>
		<comments>http://www.pkshiu.com/loft/archive/2010/12/paul-bissex-presenting-at-the-boston-django-meetup-2010#comments</comments>
		<pubDate>Fri, 10 Dec 2010 16:46:22 +0000</pubDate>
		<dc:creator>pk</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.pkshiu.com/loft/?p=1021</guid>
		<description><![CDATA[Paul Bissex, author of &#8220;Python Web Development with Django&#8221;, described how he use Django to replace two legacy desktop applications at hallmark.edu at the Boston Django meetup this month. Because of Django&#8217;s ease of use and robustness, not only he replaced and deploy those apps easily, the apps has been running error free for a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://e-scribe.com/">Paul Bissex</a>, author of &#8220;Python Web Development with Django&#8221;, described how he use Django to replace two legacy desktop applications at hallmark.edu at the Boston Django meetup this month. Because of Django&#8217;s ease of use and robustness, not only he replaced and deploy those apps easily, the apps has been running error free for a very long time!</p>
<p><iframe src="http://player.vimeo.com/video/17674285" width="400" height="300" frameborder="0"></iframe>
<p><a href="http://vimeo.com/17674285">Paul Bissex Presenting at the Boston Django Meetup 2010</a> from <a href="http://vimeo.com/pks">PK Shiu</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pkshiu.com/loft/archive/2010/12/paul-bissex-presenting-at-the-boston-django-meetup-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jacob Kaplan-Moss on DevOps</title>
		<link>http://www.pkshiu.com/loft/archive/2010/12/jacob-kaplan-moss-on-devops</link>
		<comments>http://www.pkshiu.com/loft/archive/2010/12/jacob-kaplan-moss-on-devops#comments</comments>
		<pubDate>Fri, 10 Dec 2010 13:43:32 +0000</pubDate>
		<dc:creator>pk</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.pkshiu.com/loft/?p=1017</guid>
		<description><![CDATA[Jacob gave a talk at the Boston Django Meetup this month on the topic of DevOps &#8212; The role of the developer and the role of sysadmin are merging, and it is a good thing. This idea certainly resonate with me. I started my career as a DevOps by necessity &#8212; I worked with a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jacobian.org/">Jacob</a> gave a talk at the <a href="http://www.meetup.com/djangoboston/">Boston Django Meetup</a> this month on the topic of DevOps &#8212; The role of the developer and the role of sysadmin are merging, and it is a good thing. This idea certainly resonate with me. I started my career as a DevOps by necessity &#8212; I worked with a new and proprietary mini-computer, the <a href="http://en.wikipedia.org/wiki/Stratus_Technologies">Stratus</a>. The OS was designed to be a developer&#8217;s OS. All the operation support tools are designed for used by developers. It was a great OS to work with. When I moved to the *nix world, I met Ben, still one of the best sysadmin I know, who actually introduced me to Python. The world has come full cycle now. With utility computing and browser based clients, small team with small budgets launch large scale, fast growing web applications, developers need to be their own sysadmin as well.</p>
<p>This is the video of Jacob&#8217;s talk. I was a little bit late and missed a few minutes at the beginning.</p>
<p><iframe src="http://player.vimeo.com/video/17672519" width="400" height="300" frameborder="0"></iframe>
<p><a href="http://vimeo.com/17672519">Jacob Kaplan-Moss on DevOps at Boston Django Meetup 2010</a> from <a href="http://vimeo.com/pks">PK Shiu</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pkshiu.com/loft/archive/2010/12/jacob-kaplan-moss-on-devops/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Django CSRF Migration</title>
		<link>http://www.pkshiu.com/loft/archive/2010/06/django-csrf-migration</link>
		<comments>http://www.pkshiu.com/loft/archive/2010/06/django-csrf-migration#comments</comments>
		<pubDate>Wed, 02 Jun 2010 16:35:52 +0000</pubDate>
		<dc:creator>pk</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.pkshiu.com/loft/?p=886</guid>
		<description><![CDATA[Like many of you, I am migrating all my Django sites to Django 1.2.1. For sites that are currently in production, I am doing the slow migration route. Just trying to get the site up with 1.2 without using any of the new features yet. One thing that I ran into is the new CSRF [...]]]></description>
			<content:encoded><![CDATA[<p>Like many of you, I am migrating all my Django sites to Django 1.2.1. For sites that are currently in production, I am doing the slow migration route. Just trying to get the site up with 1.2 without using any of the new features yet.</p>
<p>One thing that I ran into is the new CSRF support. If you were not using it before, there really is no change with one exception &#8212; all the generic views and admin views requires CSRF protection. This means that if you are using django login view django.contrib.auth.views.login , you have to make sure that any wrapper or custom templates support CSRF.</p>
<p>Specifically:</p>
<ol>
<li>If you use your own login template, you must add {% csrf_token %} to the end of the openning form tag.</li>
<li>If you wrap the call to login with your own view, you must add the csrf decorator @csrf_protect to your view, after importing  django.views.decorators.csrf.csrf_protect</li>
<li>If you use the django.contrib.auth.logout view to redisplay a login form, you have to replace that with a wrapper because the auth.logout view does NOT add the csrf token. (<b>Updated</b>)</li>
</ol>
<p>Otherwise django will send you a 403 error when you try to login.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pkshiu.com/loft/archive/2010/06/django-csrf-migration/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My Accidental Connection with Senator Ted Kennedy</title>
		<link>http://www.pkshiu.com/loft/archive/2009/08/my-accidental-connection-with-senator-ted-kennedy</link>
		<comments>http://www.pkshiu.com/loft/archive/2009/08/my-accidental-connection-with-senator-ted-kennedy#comments</comments>
		<pubDate>Fri, 28 Aug 2009 13:54:16 +0000</pubDate>
		<dc:creator>pk</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[Imperial Consulting]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[ted kennedy]]></category>

		<guid isPermaLink="false">http://www.pkshiu.com/loft/?p=718</guid>
		<description><![CDATA[Being Chinese in Boston, I always hear positive stories about the late Senator Ted Kennedy helping immigrants. In addition, I agree with most of his political views, he seemed like a good Senator. After learning of his death, I felt we had lost a great man. I added one of his biographies to my Amazon [...]]]></description>
			<content:encoded><![CDATA[<p>Being Chinese in Boston, I always hear positive stories about the late Senator Ted Kennedy helping immigrants. In addition, I agree with most of his political views, he seemed like a good Senator. After learning of his death, I felt we had lost a great man. I added one of his biographies to my Amazon wish list, to learn even more. Other than media, that is the only connection I have had to Ted Kennedy.</p>
<p><strong>Until Thursday</strong>.</p>
<p>I was instant messaging with my designer on a project, NPR news streaming in the background when a bit of white noise filtered in. “Did I just heard that the Kennedy Funeral is going to be held at the Basilica of Our Lady of Perpetual Help?” I am familiar with this church, often called the Mission Church, as it is located on Tremont Street, Mission Hill.</p>
<p>About a year ago, my friend, a supporter of the church, asked us to revamp their website. The previous site was, let&#8217;s say, a pre FrontPage era website. Donating our services, we redesigned the site. With the limited budget, I photographed the site images myself. Corrie, our designer, touched them up digitally. You can read about <a title="her design process of the site on her blog" href="http://corriehaffly.wordpress.com/2009/08/27/the-mission-church-of-boston-site-redesign/">the design process on her blog</a>.</p>
<p>After hearing the Funeral location on NPR, I immediately checked the Google analytics for the website we had worked on. It went up over one thousand percent just yesterday, upping a few hits a day to 6,000. But that was before the radio announcements.</p>
<p>[*Update*] The site traffic spiked to a 14000 visits (about 30,000 hits) on Saturday. During the funeral I did embed a live stream from ustream.tv onto the news section, since I assume most visitor at that time wanted to watch it.</p>
<p><a href="http://www.flickr.com/photos/pkshiu/3870199675/"><img class="alignright" title="Google Analytics of Site Traffic Spike" src="http://farm3.static.flickr.com/2495/3870199675_4a6a2a3f7e_m.jpg" alt="" width="240" height="180" /></a></p>
<p>I quickly made changes to the site to ensure it could handle the spike in traffic. I notified our hosting company, <a href="http://www.webfaction.com/tour.html">Web Faction</a> and they agreed to keep an eye out for us on the status of the church site. So far, we have received about 20,000 hits in the last eight hours, averaging one hit every 1.5 seconds. People are hitting the <a href="http://www.themissionchurchboston.com/visit/">visit us</a> page, and the <a href="http://www.themissionchurchboston.com/news/">news page</a> looking for details on the funeral.</p>
<p>I am glad the site has stayed up, and that I caught the news about the Funeral location. We really cannot fault the Church for neglecting to notify us of the pending event so that we could better prepare the website. The church has their hands more than full and I am sure the web site is not top priority.</p>
<p><strong>I am glad we were able to make a very, very small contribution to the Senator&#8217;s legacy.</strong></p>
<p>For the techies, the site is done in Django, our web application framework of choice. It uses a custom content management system from my company, <a href="http://imperial-consulting.com/">Imperial Consulting</a>. The dynamic content is pulled from a Postgresql database. While we provided the Church with bi-lingual capabilities, they have yet to create all the Spanish content. It is supported by some busy and dedicated church volunteers, after all. The pages are cached by memcached at the URL level by the Django cache framework. So far, it is handling the traffic with ease. Keeping our fingers crossed.</p>
<p><strong>Some books on Ted Kennedy</strong></p>
<ul>
<li><a href="http://www.amazon.com/gp/product/1439138176?ie=UTF8&amp;tag=pkshiucom&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1439138176">Last Lion: The Fall and Rise of Ted Kennedy</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=pkshiucom&amp;l=as2&amp;o=1&amp;a=1439138176" border="0" alt="" width="1" height="1" /> &#8211; This one shot up to Amazon&#8217;s best seller list, but below Julia Child &#8212; it&#8217;s a preorder (avail Sept 4th)</li>
<li><a href="http://www.amazon.com/gp/product/1439138176?ie=UTF8&amp;tag=pkshiucom&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1439138176">Last Lion: The Fall and Rise of Ted Kennedy</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=pkshiucom&amp;l=as2&amp;o=1&amp;a=1439138176" border="0" alt="" width="1" height="1" /></li>
</ul>
<p>If you can recommend a good biography let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pkshiu.com/loft/archive/2009/08/my-accidental-connection-with-senator-ted-kennedy/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Django Production Error Handler</title>
		<link>http://www.pkshiu.com/loft/archive/2009/03/django-production-error-handler</link>
		<comments>http://www.pkshiu.com/loft/archive/2009/03/django-production-error-handler#comments</comments>
		<pubDate>Fri, 06 Mar 2009 20:55:18 +0000</pubDate>
		<dc:creator>pk</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.pkshiu.com/loft/archive/2009/03/django-production-error-handler</guid>
		<description><![CDATA[I am working on an application that, besides providing a dynamic website, also talks to an iPhone application. What happens when the iPhone, or a web visitor, triggered a bug in the application? Django actually provide a nice mechanism to report error in its &#8220;batteries included&#8221; goodness. You can easily setup the Django environment so [...]]]></description>
			<content:encoded><![CDATA[<p>I am working on an application that, besides providing a dynamic website, also talks to an iPhone application. What happens when the iPhone, or a web visitor, triggered a bug in the application?</p>
<p>Django actually provide a nice mechanism to report error in its &#8220;batteries included&#8221; goodness. You can easily setup the Django environment so that it will send you an email when a &#8220;server error&#8221; occurs. You just need to make sure the following is setup:</p>
<p><strong>Outbound email working</strong></p>
<p>The django environment must be able to send outbound emails. The actual requirement depends on your server environment, but you definitely need to have correct values setup for:</p>
<p>settings.EMAIL_HOST<br />
settings.EMAIL_PORT<br />
settings.EMAIL_HOST_USER<br />
settings.EMAIL_HOST_PASSWORD</p>
<p><strong>Admin users</strong></p>
<p>settings.ADMINS &#8212; this is a list of lists (or more accurately tuple of tuples)<br />
settings.SERVER_EMAIL &#8212; email address of the error reporting from address<br />
<strong>Debug Setup</strong></p>
<p>settings.DEBUG=False</p>
<p><strong>500.html and 404.html</strong></p>
<p>Once DEBUG is off, Django will want to display your 500 or 404 page. Create these pages and make them available on one of our template directories.</p>
<p><strong>Example</strong></p>
<p>Here are some sample entries from my settings file:</p>
<p>EMAIL_HOST=&#8217;smtp.webfaction.com&#8217;<br />
EMAIL_PORT=25<br />
EMAIL_HOST_USER=&#8217;my_mailbox_name&#8217;<br />
EMAIL_HOST_PASSWORD=&#8217;my_mailbox_password&#8217;<br />
SERVER_EMAIL=&#8217;webmaster@imperial-consulting.com&#8217;<br />
ADMINS=( (&#8216;PK Shiu&#8217;, &#8216;support@imperial-consulting.com&#8217;),)<br />
DEBUG=False</p>
<p><strong>Reference</strong></p>
<ul>
<li><a href="http://docs.djangoproject.com/en/dev/ref/settings/">Django settings file settings</a></li>
<li><a href="http://docs.djangoproject.com/en/dev/topics/email/">Django e-mail configuration</a></li>
<li><a href="http://docs.djangoproject.com/en/dev/howto/error-reporting/">Django Error Reporting via Email</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.pkshiu.com/loft/archive/2009/03/django-production-error-handler/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Serving favicon in an Django App using Apache</title>
		<link>http://www.pkshiu.com/loft/archive/2008/08/serving-favicon-in-an-django-app-using-apache</link>
		<comments>http://www.pkshiu.com/loft/archive/2008/08/serving-favicon-in-an-django-app-using-apache#comments</comments>
		<pubDate>Wed, 13 Aug 2008 20:10:41 +0000</pubDate>
		<dc:creator>pk</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.pkshiu.com/loft/archive/2008/08/serving-favicon-in-an-django-app-using-apache</guid>
		<description><![CDATA[I got a free few minutes to work on my own site here. Since I migrated the site from all static pages to Django served, I still haven&#8217;t put back the favicon icon back onto the site. The sites runs under a virtual host in apache2 at WebFaction. This is what you need to put [...]]]></description>
			<content:encoded><![CDATA[<p>I got a free few minutes to work on my own site here. Since I migrated the site from all static pages to Django served, I still haven&#8217;t put back the favicon icon back onto the site. The sites runs under a virtual host in apache2 at WebFaction. This is what you need to put in your httpd.conf file:</p>
<pre>alias /favicon.ico /home/your-home/your-app-etc/static/image/favicon.ico

&lt;LocationMatch "\.(jpg|css|gif|pdf|ico)$"&gt;
SetHandler None
&lt;/LocationMatch&gt;

The alias line tells apache to go look for the favicon.ico file at a static location of your choice.

The LocationMatch directives tell apache to <strong>not</strong> run those files thru the Django engine.</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.pkshiu.com/loft/archive/2008/08/serving-favicon-in-an-django-app-using-apache/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Resetting Django Admin Password</title>
		<link>http://www.pkshiu.com/loft/archive/2008/08/resetting-django-admin-password</link>
		<comments>http://www.pkshiu.com/loft/archive/2008/08/resetting-django-admin-password#comments</comments>
		<pubDate>Thu, 07 Aug 2008 15:39:09 +0000</pubDate>
		<dc:creator>pk</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.pkshiu.com/loft/archive/2008/08/resetting-django-admin-password</guid>
		<description><![CDATA[This barely qualifies for a blog post, but what to do if you loaded, via django-admin.py loaddata a full json file from someone during testing, and don&#8217;t have their user&#8217;s password? Just run the django-admin.py shell, and by hand reset all the passwords: from django.contrib.auth.models import User for u in Users: u.set_password(&#8216;secret&#8217;) u.save() That&#8217;s why [...]]]></description>
			<content:encoded><![CDATA[<p>This barely qualifies for a blog post, but what to do if you loaded, via django-admin.py loaddata<br />
a full json file from someone during testing, and don&#8217;t have their user&#8217;s password?</p>
<p>Just run the django-admin.py shell, and by hand reset all the passwords:</p>
<p>from django.contrib.auth.models import User<br />
for u in Users:<br />
u.set_password(&#8216;secret&#8217;)<br />
u.save()</p>
<p>That&#8217;s why you have to keep your shell login and settings files safe !!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pkshiu.com/loft/archive/2008/08/resetting-django-admin-password/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>J2EE to Django, slides for the Presentation at Cambridge Python Meetup</title>
		<link>http://www.pkshiu.com/loft/archive/2008/06/j2ee-to-django-slides-for-the-presentation-at-cambridge-python-meetup</link>
		<comments>http://www.pkshiu.com/loft/archive/2008/06/j2ee-to-django-slides-for-the-presentation-at-cambridge-python-meetup#comments</comments>
		<pubDate>Mon, 30 Jun 2008 03:39:01 +0000</pubDate>
		<dc:creator>pk</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.pkshiu.com/loft/archive/2008/06/j2ee-to-django-slides-for-the-presentation-at-cambridge-python-meetup</guid>
		<description><![CDATA[I gave a short presentation on Django to the Cambridge Python Users group earlier. Nate has a great writeup of the event and the other presentations that evening. I just want to share the slides here. The slides are just visual reminders and do not stand on their own. If you want more info free [...]]]></description>
			<content:encoded><![CDATA[<p>I gave a short presentation on Django to the Cambridge Python Users group earlier. <a href="http://nateaune.com/2008/06/24/gigblastr-an-experimental-pylons-app-on-google-app-engine/">Nate</a> has a great writeup of the event and the other presentations that evening. I just want to share the slides here. The slides are just visual reminders and do not stand on their own. If you want more info free feel to shoot me an email.</p>
<p>I switched from J2EE to Django as my sole web application platform two years ago and has not looked back since. It allows me to develop, and more importantly maintain, web apps faster and better. It is more time and cost effective for <a href="http://www.imperial-consulting.com/">my customers and I</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.vimeo.com/moogaloop.swf?clip_id=1254020&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://www.vimeo.com/moogaloop.swf?clip_id=1254020&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<a href="http://www.vimeo.com/1254020?pg=embed&amp;sec=1254020">Slides from J2EE to Django Presentations at Cambrdge Python Group</a> from <a href="http://www.vimeo.com/user566207?pg=embed&amp;sec=1254020">PK Shiu</a> on <a href="http://vimeo.com?pg=embed&amp;sec=1254020">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pkshiu.com/loft/archive/2008/06/j2ee-to-django-slides-for-the-presentation-at-cambridge-python-meetup/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

