<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-6520817137056197130</atom:id><lastBuildDate>Wed, 09 Dec 2009 06:53:54 +0000</lastBuildDate><title>Wresting the gorilla</title><description></description><link>http://timsloan.blogspot.com/</link><managingEditor>noreply@blogger.com (Tim Sloan)</managingEditor><generator>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-1721888394589394579</guid><pubDate>Mon, 29 Dec 2008 20:20:00 +0000</pubDate><atom:updated>2008-12-29T12:23:06.580-08:00</atom:updated><title>BootIt NG from TeraByte Unlimited</title><description>I'm thinking of buying BootIt NG from &lt;a href="http://www.terabyteunlimited.com/"&gt;TeraByte Unlimited&lt;/a&gt; to solve backup/boot/partitioning stuff in the household. With the hard drive failure on a significant other's computer, I've been thinking quite a bit about this and I'd like to do something about it before it hurts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-1721888394589394579?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/12/bootit-ng-from-terabyte-unlimited.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-801597494813981087</guid><pubDate>Mon, 22 Dec 2008 18:35:00 +0000</pubDate><atom:updated>2008-12-22T10:46:04.875-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>python django soap suds</category><title>Python &amp; SOAP</title><description>Generally speaking, python doesn't work well with SOAP services out there. I went through a bunch of tutorials, blog posts and massive Google-ing and found very little that worked. I have a M$ created SOAP service that I need to work with and it was just a pain.&lt;br /&gt;&lt;br /&gt;I tried SOAPpy and ZSI and neither worked well. This left me with two options. Either I could work in the XML and use urllib to post the info, and consequently parse the results or I could use the PHP example. Both of these are gross. I ended up choosing the PHP idea. I put a php script in my Django app and called it (sending along the appropriate parameters) with from my Django view. It worked but man does this solution suck. I don't have appropriate error handling and there's the future compatibility issue. Yikes.&lt;br /&gt;&lt;br /&gt;Anyway, I just kept my ear to the ground on this while my app was doing its thing. Until I read in a Google Group about the best answer for SOAP and Python. It's Suds (&lt;a href="https://fedorahosted.org/suds/"&gt;https://fedorahosted.org/suds/&lt;/a&gt;). Very easy to use, works perfectly and now it's python instead of PHP. My error handling works and I can feel a lot more comforatable about this app into the future.&lt;br /&gt;&lt;br /&gt;If you're working with Python or Django and you need to consume a SOAP web service, do yourself a favor and get Suds. It's worth re-writing your old code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-801597494813981087?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/12/python-soap.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-2310182499671442862</guid><pubDate>Thu, 20 Nov 2008 17:10:00 +0000</pubDate><atom:updated>2008-11-20T09:11:05.108-08:00</atom:updated><title></title><description>think i'll go sit by the river just to get outside of my mind. i'm wishing i could stay here forever but the river won't stay that long, it's moving on. ~Chad VanGaalen&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-2310182499671442862?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/11/think-ill-go-sit-by-river-just-to-get.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-6122492308007535449</guid><pubDate>Fri, 10 Oct 2008 16:17:00 +0000</pubDate><atom:updated>2008-10-10T09:20:28.111-07:00</atom:updated><title>US Financial Crisis</title><description>As a Canadian, I'm being told (promised) by the federal politicians that our nation isn't going to be as affected by the US financial crisis as it would seem. Since we get US television, we're bombarded with news so it's hard to not get scared.&lt;br /&gt;&lt;br /&gt;However, &lt;a href="http://bit.ly/1AasBY"&gt;here's a link&lt;/a&gt; to help understand things. Very funny. Some course language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-6122492308007535449?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/10/us-financial-crisis.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-3958082836680798843</guid><pubDate>Thu, 24 Jul 2008 19:45:00 +0000</pubDate><atom:updated>2008-07-24T12:55:14.462-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Django</category><category domain='http://www.blogger.com/atom/ns#'>newforms-admin</category><category domain='http://www.blogger.com/atom/ns#'>code</category><title>Django Newforms Admin learning</title><description>Not the easiest but perhaps the best way to add on to the User in django.contrib.auth:&lt;br /&gt;&lt;br /&gt;In one of your other models, create the mixin code. This adds these fields to your application's version of the User. &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;from django.contrib.auth.models import User&lt;br /&gt;User.add_to_class("company", models.ForeignKey(Company, blank=True, null=True))&lt;br /&gt;User.add_to_class("title", models.CharField(max_length=100, blank=True))&lt;br /&gt;User.add_to_class("company_admin", models.BooleanField(default=False))&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Of course, you'll need to add the fields to the database manually.&lt;br /&gt;&lt;br /&gt;Now, to add them to the admin. The following code takes the Newforms Admin's version of the UserAdmin and adds some extra stuff.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;from django.contrib.auth.admin import UserAdmin&lt;br /&gt;UserAdmin.list_display += ('company','title','company_admin')&lt;br /&gt;UserAdmin.list_filter += ('company_admin')&lt;br /&gt;UserAdmin.fieldsets += (&lt;br /&gt;        ('Company Info', {'fields': ('company', 'title', 'company_admin')}),&lt;br /&gt;    )&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;By using Mixin's without a lot of code, you can add to User model and still use the exact same shortcuts and decorators (get_profile() still works.)&lt;br /&gt;&lt;br /&gt;Inspiration came from &lt;a href="http://www.amitu.com/blog/2007/july/django-extending-user-model/"&gt;http://www.amitu.com/blog/2007/july/django-extending-user-model/&lt;/a&gt; and some extra work to get it to work with Newforms Admin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-3958082836680798843?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/07/django-newforms-admin-learning.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-7190253982034888217</guid><pubDate>Wed, 14 May 2008 15:54:00 +0000</pubDate><atom:updated>2008-05-14T08:56:27.809-07:00</atom:updated><title>Realization</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://imgs.xkcd.com/comics/stove_ownership.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://imgs.xkcd.com/comics/stove_ownership.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-7190253982034888217?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/05/realization.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-8287712848446548707</guid><pubDate>Thu, 24 Apr 2008 17:31:00 +0000</pubDate><atom:updated>2008-04-24T10:32:01.652-07:00</atom:updated><title></title><description>&lt;a href="http://www.50waystohelp.com"&gt;&lt;img src="http://www.50waystohelp.com/icons.gif" alt="50 ways" width="460" height="380" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-8287712848446548707?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/04/50-ways.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-5574785029757721188</guid><pubDate>Fri, 28 Mar 2008 05:16:00 +0000</pubDate><atom:updated>2008-03-27T23:10:14.529-07:00</atom:updated><title>Setting up for Django development on a Ubuntu Hardy Heron Beta desktop</title><description>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: verdana;"&gt;Pretty standard set up for the desktop.&lt;br /&gt;&lt;br /&gt;Install a LAMP server:&lt;br /&gt;&lt;br /&gt;$ sudo tasksel install lamp-server&lt;br /&gt;&lt;br /&gt;Make sure you set a root password for your MySQL database.&lt;br /&gt;&lt;br /&gt;Or manually set your MySQL root password&lt;br /&gt;&lt;br /&gt;mysql -u root&lt;br /&gt;mysql&gt; SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password');&lt;br /&gt;mysql&gt; \q&lt;br /&gt;&lt;br /&gt;To create a database and a user:&lt;br /&gt;&lt;br /&gt;Sign in:&lt;br /&gt;&lt;br /&gt;mysql -u root -p&lt;br /&gt;mysql&gt; CREATE DATABASE database1;&lt;br /&gt;mysql&gt; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON database1.* TO 'yourusername'@'localhost' IDENTIFIED BY 'password';&lt;br /&gt;&lt;br /&gt;Now we'll create a virtual host in Apache. Initally Apache creates a site called "default" at "/var/www". To create our own site, which we will manage from our home directory.&lt;br /&gt;&lt;br /&gt;Copy the config at "/etc/apache2/sites-available/default" to a new config called "/etc/apache2/sites-available/django.conf"&lt;br /&gt;&lt;br /&gt;$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/django.conf&lt;br /&gt;&lt;br /&gt;And then edit the new config and change "DocumentRoot" and "Directory" from /var/www/ to "/home/[username]/django/www". Just so you know, I've put my django source, my various django projects and such in a folder in my home directory. Just to keep them neat.&lt;br /&gt;&lt;br /&gt;$ sudo gedit /etc/apache2/sites-available/django.conf&lt;br /&gt;&lt;br /&gt;Now we'll disable "default" and enable "mysite" in Apache&lt;br /&gt;&lt;br /&gt;$ sudo a2dissite default &amp;amp;&amp;amp; sudo a2ensite django.conf&lt;br /&gt;&lt;br /&gt;As per instructions, we'll run:&lt;br /&gt;&lt;br /&gt;$ sudo /etc/init.d/apache2 restart&lt;br /&gt;&lt;br /&gt;Put in a test PHP or HTML page and go to http://localhost/ and it should all work.&lt;br /&gt;&lt;br /&gt;The quickest way to set up the management of you MySQL databases is to set up PhpMyAdmin. It's quite simple:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install phpmyadmin&lt;br /&gt;&lt;br /&gt;To get to your phpmyadmin, just go to http://localhost/phpmyadmin&lt;br /&gt;&lt;br /&gt;I've already got my Django code installed via SVN. Now I just need to finish setting up Apache to run it.&lt;br /&gt;&lt;br /&gt;Install the adapter for the database (i.e. python-pysqlite2, python-psycopg, python-mysqldb):&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install python-mysqldb python-sqlite&lt;br /&gt;&lt;br /&gt;To add Apache support, install mod-python:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install libapache2-mod-python&lt;br /&gt;&lt;br /&gt;Let's build a link to the Django scripts from the Python site-packages:&lt;br /&gt;&lt;br /&gt;$ sudo ln -s /home/[username]/django/django-trunk/django /usr/lib/python2.5/site-packages/django&lt;br /&gt;&lt;br /&gt;$ sudo ln -s /home/[username]/django/django-trunk/django/bin/django-admin.py /usr/bin&lt;br /&gt;&lt;br /&gt;This should be most of the set up required. There may be a few extras that you'll have to set up, like certain python modules and such but we're on our way. Our next steps will be to set up apache to host the projects and to get to work.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;em style="font-family: verdana;"&gt;&lt;code&gt;&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-5574785029757721188?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/03/setting-up-for-django-development-on.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-6894302682200576830</guid><pubDate>Thu, 27 Mar 2008 21:20:00 +0000</pubDate><atom:updated>2008-03-27T14:25:39.563-07:00</atom:updated><title>Napa Style</title><description>Another interesting site: &lt;a href="http://www.napastyle.com/"&gt;http://www.napastyle.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This site is a shopping site for dishes, furniture and other miscellaneous home and kitchen stuff that is based on the Napa, California theme. I like the look of much of this stuff. It's not very close to what we have in our home at the moment but it certainly would be interesting to have the contrast of our current style with Napa style.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-6894302682200576830?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/03/napa-style.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-1948275681591865230</guid><pubDate>Thu, 27 Mar 2008 21:16:00 +0000</pubDate><atom:updated>2008-03-27T14:19:19.171-07:00</atom:updated><title>Bamboo for my cats</title><description>Wow, here's an interesting site: &lt;a href="http://www.squarecathabitat.com/"&gt;http://www.squarecathabitat.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's designer furniture made from bamboo for cats. I like some of the stuff and it would look great in our house. However, I'm not sure if I want to order it. You see, I have a bunch of solid bamboo hardwood left over from when we did our floors. I wonder if there's someway to make this furniture myself using the pieces of left over wood. Personally, I like the idea of using what I already have instead of buying new stuff. I think I have a weekend project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-1948275681591865230?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/03/bamboo-for-my-cats.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-961818311909250372</guid><pubDate>Thu, 27 Mar 2008 21:10:00 +0000</pubDate><atom:updated>2008-03-27T14:16:23.420-07:00</atom:updated><title>sk*rt</title><description>Cool site: &lt;a href="http://www.sk-rt.com/"&gt;http://www.sk-rt.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I think it's pronounced "skirt". Basically it's a site that let's cruise through all sorts of websites, sort of like Digg, but the topics are quite different. Topics are things like Arts &amp;amp; Entertainment, Design, Fashion but also Internet and Technology. It's targeted towards women but there's lots for either gender.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-961818311909250372?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/03/skrt.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-150654531106175086</guid><pubDate>Thu, 07 Feb 2008 01:27:00 +0000</pubDate><atom:updated>2008-02-06T17:29:32.370-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Django</category><title>Django Snippets</title><description>&lt;h2&gt;Make anything into a template&lt;/h2&gt;&lt;a href="http://www.djangosnippets.org/snippets/586/"&gt;http://www.djangosnippets.org/snippets/586/&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;Age - custom filter&lt;/h2&gt;&lt;a href="http://www.djangosnippets.org/snippets/557/"&gt;http://www.djangosnippets.org/snippets/557/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-150654531106175086?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/02/django-snippets.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-6520817137056197130.post-5750147075401234003</guid><pubDate>Thu, 07 Feb 2008 01:26:00 +0000</pubDate><atom:updated>2008-02-06T17:27:00.531-08:00</atom:updated><title>Getting organized</title><description>&lt;div class="postentry"&gt;     &lt;p&gt;Cheap and simple. Your own mini, inexpensive personal organizer.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.pocketmod.com/app/index.html"&gt;PocketMod&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6520817137056197130-5750147075401234003?l=timsloan.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://timsloan.blogspot.com/2008/02/getting-organized.html</link><author>noreply@blogger.com (Tim Sloan)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>