<?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"
	>

<channel>
	<title>An Independent Game Developer's Diary</title>
	<atom:link href="http://www.mibgames.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mibgames.co.uk</link>
	<description>Journalling the creation of a games development company</description>
	<pubDate>Thu, 11 Sep 2008 22:08:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Google AppEngine, Django and File Uploads</title>
		<link>http://www.mibgames.co.uk/2008/09/11/google-appengine-django-and-file-uploads/</link>
		<comments>http://www.mibgames.co.uk/2008/09/11/google-appengine-django-and-file-uploads/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 22:08:47 +0000</pubDate>
		<dc:creator>mib</dc:creator>
		
		<category><![CDATA[Google App Engine]]></category>

		<category><![CDATA[PyCon]]></category>

		<guid isPermaLink="false">http://www.mibgames.co.uk/?p=160</guid>
		<description><![CDATA[So I&#8217;ve been preparing my Google AppEngine talk for PyConUK, and have struggled with one of my demos because of what appears to be a bug in the AppEngine to Django conversion code.
I want the facility to upload a file, storing it into a Blob field on the datastore.
My model looks like
class Kitten(db.Model):
  index [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been preparing my Google AppEngine talk for PyConUK, and have struggled with one of my demos because of what appears to be a bug in the AppEngine to Django conversion code.</p>
<p>I want the facility to upload a file, storing it into a Blob field on the datastore.</p>
<p>My model looks like</p>
<pre>class Kitten(db.Model):
  index = db.IntegerProperty(default=0)
  name = db.StringProperty(required=True)
  picture = db.BlobProperty()
  votes = db.IntegerProperty(default=0)</pre>
<p>Then we create a form called that we can use to hold that data,</p>
<pre>class KittenForm(djangoforms.ModelForm):
    class Meta:
      model = Kitten
      exclude = [ 'index' ]</pre>
<p>In our add method, we attempt to load the form, and validate it if we have been posted back,</p>
<pre>if request.method == "POST":
    # Handle form submission
    form = KittenForm(request.POST, request.FILES)
    if (form.is_valid()):
      # Do stuff
  else:
    form = KittenForm()
  return render_to_response('addkitten.html', {'form': form})</pre>
<p>At first we just don&#8217;t get a file upload button in our form, this is because Django 0.97.1 doesn&#8217;t support FileFields properly, so AppEngine wont map a Blob to one unless you upgrade to django 1.0</p>
<p>Once that&#8217;s done, and we&#8217;re running AppEngine from subversion as well to get latest code fixes there. when we post to the method, we get an attribute error,</p>
<pre>'NoneType' object has no attribute 'validate'</pre>
<p>This appears to be caused by the clean_for_property_field calling property_clean.</p>
<p>When the model is created, it sets up a set of property cleaners, one for each field on the model.</p>
<p>The code to do so looks like:</p>
<pre><code>in google/appengine/ext/db/djangoforms.py</code>:
for name, field in model_fields.iteritems():
  prop = props.get(name)
  if prop:
    def clean_for_property_field(value, prop=prop, old_clean=field.clean):
      value = old_clean(value)
      property_clean(prop, value)
      return value
    field.clean = clean_for_property_field</pre>
<p>According to my traceback, prop is equal to None when clean_for_property_field is called back by django.</p>
<p>However, it looks to me like what has happened is that the code that calls the above code has changed in how it calls it, passing in a second parameter called initial, but only when it&#8217;s a FileField.</p>
<pre>if isinstance(field, FileField):</pre>
<pre>    initial = self.initial.get(name, field.initial)</pre>
<pre>    value = field.clean(value, initial)</pre>
<pre>else:</pre>
<pre>    value = field.clean(value)</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mibgames.co.uk/2008/09/11/google-appengine-django-and-file-uploads/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Talking at PyConUk</title>
		<link>http://www.mibgames.co.uk/2008/08/08/talking-at-pyconuk/</link>
		<comments>http://www.mibgames.co.uk/2008/08/08/talking-at-pyconuk/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 13:22:02 +0000</pubDate>
		<dc:creator>mib</dc:creator>
		
		<category><![CDATA[Google App Engine]]></category>

		<category><![CDATA[talking]]></category>

		<guid isPermaLink="false">http://www.mibgames.co.uk/?p=157</guid>
		<description><![CDATA[I&#8217;ll be giving my Google AppEngine talk at PyCon UK, I&#8217;ve been given a 45 minute slot, which is excellent as I discovered with 2 previous talks at my workplace that 30 minutes is about 5 to 10 minutes to short.
I&#8217;m very excited about this, because I&#8217;ll also be getting to meet Mano Marks from [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be giving my Google AppEngine talk at PyCon UK, I&#8217;ve been given a 45 minute slot, which is excellent as I discovered with 2 previous talks at my workplace that 30 minutes is about 5 to 10 minutes to short.</p>
<p>I&#8217;m very excited about this, because I&#8217;ll also be getting to meet Mano Marks from Google who will be giving an App Engine code lab at PyConUK.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mibgames.co.uk/2008/08/08/talking-at-pyconuk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter messages stopped</title>
		<link>http://www.mibgames.co.uk/2008/08/04/twitter-messages-stopped/</link>
		<comments>http://www.mibgames.co.uk/2008/08/04/twitter-messages-stopped/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 11:27:19 +0000</pubDate>
		<dc:creator>mib</dc:creator>
		
		<category><![CDATA[Twitter]]></category>

		<category><![CDATA[meta]]></category>

		<guid isPermaLink="false">http://www.mibgames.co.uk/?p=156</guid>
		<description><![CDATA[I recently went to go back looking for a post on my own site and realised that I&#8217;m way over-spamming the twitter messages.
Twitter messages are still appearing on the side bar but wont come out in RSS or as posts anymore.
Feel free to follow me in twitter if you want to see my twitter messages
]]></description>
			<content:encoded><![CDATA[<p>I recently went to go back looking for a post on my own site and realised that I&#8217;m way over-spamming the twitter messages.</p>
<p>Twitter messages are still appearing on the side bar but wont come out in RSS or as posts anymore.</p>
<p>Feel free to follow me in twitter if you want to see my twitter messages</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mibgames.co.uk/2008/08/04/twitter-messages-stopped/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why I will be sharing baby photo&#8217;s on Flickr and not Facebook</title>
		<link>http://www.mibgames.co.uk/2008/08/04/why-i-will-be-sharing-baby-photos-on-flickr-and-not-facebook/</link>
		<comments>http://www.mibgames.co.uk/2008/08/04/why-i-will-be-sharing-baby-photos-on-flickr-and-not-facebook/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 10:13:02 +0000</pubDate>
		<dc:creator>mib</dc:creator>
		
		<category><![CDATA[web2.0]]></category>

		<category><![CDATA[facebook]]></category>

		<category><![CDATA[flickr]]></category>

		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://www.mibgames.co.uk/?p=155</guid>
		<description><![CDATA[So the baby is born, I&#8217;m low on sleep, and I&#8217;m trying to upload photo&#8217;s for everybody to see.
Even with sleep deprivation I worry about Facebook, I&#8217;ve considered a number times deleting my account as I worry about my privacy.  Facebook is not known for it&#8217;s good terms of service with regard to privacy.  Maybe [...]]]></description>
			<content:encoded><![CDATA[<p>So the baby is born, I&#8217;m low on sleep, and I&#8217;m trying to upload photo&#8217;s for everybody to see.</p>
<p>Even with sleep deprivation I worry about Facebook, I&#8217;ve considered a number times deleting my account as I worry about my privacy.  Facebook is not known for it&#8217;s good terms of service with regard to privacy.  Maybe the sleep deprivation is making me more paranoid, but I decided to check out the terms of use for FaceBook with regard to posting pictures, photo&#8217;s and other User Generated content.</p>
<p>What I found shocked me to the core, and means that I will be deleting my Facebook account permanantly and refusing to use it anymore (in about 7 days, I need to let everyone know).</p>
<p>The terms of service read</p>
<p>&#8220;<em>When you post User Content to the Site, you authorize and direct us to make such copies thereof as we deem necessary in order to facilitate the posting and storage of the User Content on the Site. By posting User Content to any part of the Site, you automatically grant, and you represent and warrant that you have the right to grant, to the Company an irrevocable, perpetual, non-exclusive, transferable, fully paid, worldwide license (with the right to sublicense) to use, copy, publicly perform, publicly display, reformat, translate, excerpt (in whole or in part) and distribute such User Content for any purpose, commercial, advertising, or otherwise, on or in connection with the Site or the promotion thereof, to prepare derivative works of, or incorporate into other works, such User Content, and to grant and authorize sublicenses of the foregoing.</em>&#8221;</p>
<p>In english what this says is, When you put anything on facebook, you allow facebook to do anything with your stuff that they want to do, including advertising with it, and selling it as part of a commercial operation, and the ability to grant that exact same license to anybody else they want.</p>
<p>So if I upload a photo of my baby, and facebook decides to collect together a catalog of baby photos, sell them to any company that wants them, they can do so.</p>
<p>Flickr on the otherhand says &#8220;<em>With respect to photos, graphics, audio or video you submit or make available for inclusion on publicly accessible areas of the Service other than Yahoo! Groups, the license to use, distribute, reproduce, modify, adapt, publicly perform and publicly display such Content on the Service solely for the purpose for which such Content was submitted or made available. This license exists only for as long as you elect to continue to include such Content on the Service and will terminate at the time you remove or Yahoo! removes such Content from the Service.</em>&#8221;</p>
<p>Which basically says that when you upload your photo&#8217;s you get to decide if those photo&#8217;s are copyrighted and cant be used, or creative commons and can be used for say non-commercial purposes, or completely public and free for all. If you change ytour mind later and delete the phot, then Yahoo! will honour that decision.</p>
<p>You can find my flickr photostream at <a title="www.flickr.com/photos/mibgames/" href="http://www.flickr.com/photos/mibgames/" target="_blank">http://www.flickr.com/photos/mibgames/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mibgames.co.uk/2008/08/04/why-i-will-be-sharing-baby-photos-on-flickr-and-not-facebook/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Updates for 2008-08-01</title>
		<link>http://www.mibgames.co.uk/2008/08/01/twitter-updates-for-2008-08-01/</link>
		<comments>http://www.mibgames.co.uk/2008/08/01/twitter-updates-for-2008-08-01/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 22:59:59 +0000</pubDate>
		<dc:creator>mib</dc:creator>
		
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mibgames.co.uk/2008/08/01/twitter-updates-for-2008-08-01/</guid>
		<description><![CDATA[
Ah baby slept well most of the night, from midnight to 6am with only one feed at 3. Asleep again! woo hoo #

Powered by Twitter Tools.
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Ah baby slept well most of the night, from midnight to 6am with only one feed at 3. Asleep again! woo hoo <a href="http://twitter.com/mibgames/statuses/874517207">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mibgames.co.uk/2008/08/01/twitter-updates-for-2008-08-01/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Updates for 2008-07-31</title>
		<link>http://www.mibgames.co.uk/2008/07/31/twitter-updates-for-2008-07-31/</link>
		<comments>http://www.mibgames.co.uk/2008/07/31/twitter-updates-for-2008-07-31/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 22:59:59 +0000</pubDate>
		<dc:creator>mib</dc:creator>
		
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mibgames.co.uk/2008/07/31/twitter-updates-for-2008-07-31/</guid>
		<description><![CDATA[
Cheers everyone for the thanks.  It&#8217;s been so cool to get thanks from people so fast #
Here&#8217;s hoping that @brunns or @juliaespana managed to get a picture up on big display at the Guardian #
For the record, my DS batteries ran out, so I was not playing DS during the actual birth bit.  [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Cheers everyone for the thanks.  It&#8217;s been so cool to get thanks from people so fast <a href="http://twitter.com/mibgames/statuses/873450262">#</a></li>
<li>Here&#8217;s hoping that @brunns or @juliaespana managed to get a picture up on big display at the Guardian <a href="http://twitter.com/mibgames/statuses/873451427">#</a></li>
<li>For the record, my DS batteries ran out, so I was not playing DS during the actual birth bit.  During labour was a differant matter! <a href="http://twitter.com/mibgames/statuses/873452826">#</a></li>
<li>I think @paulcarvill gets the record for first congrats twitter, and John Herbert for first facebook congrats.  Cheers <a href="http://twitter.com/mibgames/statuses/873453643">#</a></li>
<li>midwives are here to do first day checks, and naturally baby has just gone to sleep 15 minutes ago <a href="http://twitter.com/mibgames/statuses/873537685">#</a></li>
<li>Got some great pictures of baby, just going through birth pictures removing blood, gore and nudity!  Should sleep at some point. <a href="http://twitter.com/mibgames/statuses/873617083">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mibgames.co.uk/2008/07/31/twitter-updates-for-2008-07-31/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Updates for 2008-07-30</title>
		<link>http://www.mibgames.co.uk/2008/07/30/twitter-updates-for-2008-07-30/</link>
		<comments>http://www.mibgames.co.uk/2008/07/30/twitter-updates-for-2008-07-30/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 22:59:59 +0000</pubDate>
		<dc:creator>mib</dc:creator>
		
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mibgames.co.uk/2008/07/30/twitter-updates-for-2008-07-30/</guid>
		<description><![CDATA[
Up at 5:30am with possible contractions&#8230; #
@tackers not going to be in work today, weird request, can somebody eat my lunch in the fridge? #
Definately in labour now, looks like I&#8217;ll be a dad in the coming hours&#8230; very scary! #
only 2cm dialated apparently, so early days, going to be a few hours #
@aleksk cheers, [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Up at 5:30am with possible contractions&#8230; <a href="http://twitter.com/mibgames/statuses/872344333">#</a></li>
<li>@tackers not going to be in work today, weird request, can somebody eat my lunch in the fridge? <a href="http://twitter.com/mibgames/statuses/872350950">#</a></li>
<li>Definately in labour now, looks like I&#8217;ll be a dad in the coming hours&#8230; very scary! <a href="http://twitter.com/mibgames/statuses/872367776">#</a></li>
<li>only 2cm dialated apparently, so early days, going to be a few hours <a href="http://twitter.com/mibgames/statuses/872384109">#</a></li>
<li>@aleksk cheers, although we&#8217;re having the baby at home as hospitals are for sick people.  Going well so far <a href="http://twitter.com/mibgames/statuses/872395746">#</a></li>
<li>Midwife has been to visit, everything is well so far, we just have to wait for baby to come out now <a href="http://twitter.com/mibgames/statuses/872396833">#</a></li>
<li>@brunns can you get me a copy of todays guardian put aside so we have paper on day baby is born? <a href="http://twitter.com/mibgames/statuses/872409821">#</a></li>
<li>Labour seems to mostly be a waiting game for the husband <a href="http://twitter.com/mibgames/statuses/872431103">#</a></li>
<li>Contractions are coming along stronger now, meanwhile I&#8217;m taking a break and eating lunch <a href="http://twitter.com/mibgames/statuses/872471423">#</a></li>
<li>Timing&#8217;s so far, contractions started mildly at 3:30am, woke me at 5:30, by 7:30 certain that they are real contractions, midwife at 9:3 &#8230; <a href="http://twitter.com/mibgames/statuses/872474497">#</a></li>
<li>Also to confirm again to everybody, we&#8217;re at home, cathy is now in birthing pool in front room, her mother and me in attendance as team  &#8230; <a href="http://twitter.com/mibgames/statuses/872475498">#</a></li>
<li>Phew contractions look like hard work <a href="http://twitter.com/mibgames/statuses/872507460">#</a></li>
<li>another midwife here now, plus a student midwife <a href="http://twitter.com/mibgames/statuses/872521510">#</a></li>
<li>6 hours into labour, things are progressing but cathy&#8217;s tired.  So am I! <a href="http://twitter.com/mibgames/statuses/872682580">#</a></li>
<li>Baby brunton-spall was born at 19:44 after approx 9 and three quarter hours <a href="http://twitter.com/mibgames/statuses/872864758">#</a></li>
<li>Pictures available on facebook already <a href="http://twitter.com/mibgames/statuses/872902230">#</a></li>
<li>Weigh-in says 8 pounds 5 ounces <a href="http://twitter.com/mibgames/statuses/872904478">#</a></li>
<li>First picture of Aristotle, Cathy and I - photo at <a href="http://twitxr.com/mibgames/updates/81988" rel="nofollow">http://twitxr.com/mibgames/updates/81988</a> <a href="http://twitter.com/mibgames/statuses/872963227">#</a></li>
<li>Baby&#8217;s name by the way is Aristotle Brunton-Spall or Art / Arty for short <a href="http://twitter.com/mibgames/statuses/872968693">#</a></li>
<li>Now I&#8217;m starving and tired, going to go see baby eating, eat soemthing and sleep <a href="http://twitter.com/mibgames/statuses/872969002">#</a></li>
<li>now going to sleep, baby isn&#8217;t yet, he&#8217;s just staring around the bedroom <a href="http://twitter.com/mibgames/statuses/873013176">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mibgames.co.uk/2008/07/30/twitter-updates-for-2008-07-30/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Updates for 2008-07-28</title>
		<link>http://www.mibgames.co.uk/2008/07/28/twitter-updates-for-2008-07-28/</link>
		<comments>http://www.mibgames.co.uk/2008/07/28/twitter-updates-for-2008-07-28/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 22:59:59 +0000</pubDate>
		<dc:creator>mib</dc:creator>
		
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mibgames.co.uk/2008/07/28/twitter-updates-for-2008-07-28/</guid>
		<description><![CDATA[
My talk got accepted at PyConUK, now I just have to get work to send me #

Powered by Twitter Tools.
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>My talk got accepted at PyConUK, now I just have to get work to send me <a href="http://twitter.com/mibgames/statuses/870976378">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mibgames.co.uk/2008/07/28/twitter-updates-for-2008-07-28/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Updates for 2008-07-25</title>
		<link>http://www.mibgames.co.uk/2008/07/25/twitter-updates-for-2008-07-25/</link>
		<comments>http://www.mibgames.co.uk/2008/07/25/twitter-updates-for-2008-07-25/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 22:59:59 +0000</pubDate>
		<dc:creator>mib</dc:creator>
		
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mibgames.co.uk/2008/07/25/twitter-updates-for-2008-07-25/</guid>
		<description><![CDATA[
eating nicest thai food ever! pink geranium restaurant. totally stuffed now. #

Powered by Twitter Tools.
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>eating nicest thai food ever! pink geranium restaurant. totally stuffed now. <a href="http://twitter.com/mibgames/statuses/868451036">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mibgames.co.uk/2008/07/25/twitter-updates-for-2008-07-25/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Updates for 2008-07-23</title>
		<link>http://www.mibgames.co.uk/2008/07/23/twitter-updates-for-2008-07-23/</link>
		<comments>http://www.mibgames.co.uk/2008/07/23/twitter-updates-for-2008-07-23/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 22:59:59 +0000</pubDate>
		<dc:creator>mib</dc:creator>
		
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.mibgames.co.uk/2008/07/23/twitter-updates-for-2008-07-23/</guid>
		<description><![CDATA[
text adventure goes live, first demo anyway, see gamesblog for details #

Powered by Twitter Tools.
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>text adventure goes live, first demo anyway, see gamesblog for details <a href="http://twitter.com/mibgames/statuses/866332921">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mibgames.co.uk/2008/07/23/twitter-updates-for-2008-07-23/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
