<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>&#62;&#62;&#62; k0001</title>
	<atom:link href="http://k0001.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://k0001.wordpress.com</link>
	<description>NameError: name 'k0001' is not defined</description>
	<lastBuildDate>Thu, 08 May 2008 05:09:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='k0001.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>&#62;&#62;&#62; k0001</title>
		<link>http://k0001.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://k0001.wordpress.com/osd.xml" title="&#62;&#62;&#62; k0001" />
	<atom:link rel='hub' href='http://k0001.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Testing</title>
		<link>http://k0001.wordpress.com/2008/05/08/testing/</link>
		<comments>http://k0001.wordpress.com/2008/05/08/testing/#comments</comments>
		<pubDate>Thu, 08 May 2008 05:09:20 +0000</pubDate>
		<dc:creator>k0001</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://k0001.wordpress.com/?p=15</guid>
		<description><![CDATA[Hello! ignore this please.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=k0001.wordpress.com&amp;blog=1326324&amp;post=15&amp;subd=k0001&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello! ignore <a href="http://k0001.com.ar/blog/7/">this</a> please.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/k0001.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/k0001.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/k0001.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/k0001.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/k0001.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/k0001.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/k0001.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/k0001.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/k0001.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/k0001.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/k0001.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/k0001.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/k0001.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/k0001.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/k0001.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/k0001.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=k0001.wordpress.com&amp;blog=1326324&amp;post=15&amp;subd=k0001&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://k0001.wordpress.com/2008/05/08/testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c6ff9af7ba0b0d971231d09bd76d99eb?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">k0001</media:title>
		</media:content>
	</item>
		<item>
		<title>Dual password field with Django</title>
		<link>http://k0001.wordpress.com/2007/11/15/dual-password-field-with-django/</link>
		<comments>http://k0001.wordpress.com/2007/11/15/dual-password-field-with-django/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 21:36:08 +0000</pubDate>
		<dc:creator>k0001</dc:creator>
				<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://k0001.wordpress.com/2007/11/15/dual-password-field-with-django/</guid>
		<description><![CDATA[You want to ask for a password twice so that you can prevent users from making typos, here&#8217;s how. What you need to do, instead of just making two fields, is to create one field and use a widget which renders two input boxes, so that all the work is done behind the stages. Now [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=k0001.wordpress.com&amp;blog=1326324&amp;post=9&amp;subd=k0001&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>You want to ask for a password twice so that you can prevent users from making typos, here&#8217;s how.</p>
<p>What you need to do, instead of just making two fields, is to create one field and use a widget which renders two input boxes, so that all the work is done behind the stages.</p>
<p><pre class="brush: python;">
import django.newforms as forms
from django.utils.translation import ugettext_lazy as _

class DualPasswordWidget(forms.Widget):
    pass0_field = '%s_pass0'
    pass1_field = '%s_pass1'

    def __init__(self, *args, **kwargs):
        super(DualPasswordWidget, self).__init__(*args, **kwargs)

    def render(self, name, value, *args, **kwargs):
        out = ( forms.PasswordInput().render(self.pass0_field % name, None),
                forms.PasswordInput().render(self.pass1_field % name, None) )
        return '&lt;br /&gt;'.join(out)

    def value_from_datadict(self, data, files, name):
        pass0 = data.get(self.pass0_field % name, None)
        pass1 = data.get(self.pass1_field % name, None)
        if pass0 and pass1:
            return (pass0, pass1)
        return None

class DualPasswordField(forms.Field):
    &quot;&quot;&quot;
    Field used to prevent password typos by asking the same password twice
    and checking if it's the same
    &quot;&quot;&quot;
    widget = DualPasswordWidget()
    def __init__(self, *args, **kwargs):
        kwargs.setdefault('help_text', _('Insert your password twice.'))
        super(DualPasswordField, self).__init__(*args, **kwargs)

    def clean(self, value):
        super(DualPasswordField, self).clean(value)
        if value:
            pass0, pass1 = value
            if pass0 == pass1:
                return pass0
            raise forms.ValidationError(_('Password Missmatch.'))</pre><br />
Now that you have done that, use it as a normal field:<br />
<pre class="brush: python;">
class NewUserForm(forms.Form):
    username = forms.CharField(label=_('username'))
    password = DualPasswordField(label=_(u&quot;password&quot;))
    email   = forms.EmailField(label=_('email')</pre><br />
And that&#8217;s all, when that form is rendered, you get something like:<a href="http://k0001.files.wordpress.com/2007/11/dualpassword.png" title="dualpassword.png"><img src="http://k0001.files.wordpress.com/2007/11/dualpassword.png?w=500" alt="dualpassword.png" /></a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/k0001.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/k0001.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/k0001.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/k0001.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/k0001.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/k0001.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/k0001.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/k0001.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/k0001.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/k0001.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/k0001.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/k0001.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/k0001.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/k0001.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/k0001.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/k0001.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=k0001.wordpress.com&amp;blog=1326324&amp;post=9&amp;subd=k0001&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://k0001.wordpress.com/2007/11/15/dual-password-field-with-django/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c6ff9af7ba0b0d971231d09bd76d99eb?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">k0001</media:title>
		</media:content>

		<media:content url="http://k0001.files.wordpress.com/2007/11/dualpassword.png" medium="image">
			<media:title type="html">dualpassword.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Using reCAPTCHA with Python (and Django)</title>
		<link>http://k0001.wordpress.com/2007/11/15/using-recaptcha-with-python-and-django/</link>
		<comments>http://k0001.wordpress.com/2007/11/15/using-recaptcha-with-python-and-django/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 03:45:55 +0000</pubDate>
		<dc:creator>k0001</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[recaptcha]]></category>

		<guid isPermaLink="false">http://k0001.wordpress.com/2007/11/15/using-recaptcha-with-python-and-django/</guid>
		<description><![CDATA[I&#8217;ll show you today how can you use reCAPTCHA your Python and Django web apps. I&#8217;m sure you know what a captcha is right? (if you don&#8217;t, it is that distorted set of numbers or letters you have to fill whenever you are singing up in a new forum, site, etc.) Well, reCAPTCHA is not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=k0001.wordpress.com&amp;blog=1326324&amp;post=6&amp;subd=k0001&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll show you today how can you use <a href="http://recaptcha.net/">reCAPTCHA</a> your Python and Django web apps. I&#8217;m sure you know what a <a href="http://en.wikipedia.org/wiki/Captcha">captcha</a> is right? (if you don&#8217;t, it is that <em>distorted</em> set of numbers or letters you have to fill whenever you are singing up in a new forum, site, etc.) Well, reCAPTCHA is not only an API providing captcha generation/validation so you can use it in your sites, but also, you are helping to <a href="http://en.wikipedia.org/wiki/Optical_character_recognition">digitalize books</a>, while you do it. The full explanation is <a href="http://recaptcha.net/learnmore.html">here</a>.</p>
<p>So there I was, i took <a href="http://pypi.python.org/pypi/recaptcha-client">recaptcha-client</a> (MIT/X11) from Ben Maurer and modified it a little bit, so that it has support for <a href="http://en.wikipedia.org/wiki/Unicode">unicode</a> user input and make it able to handle some more configuration when displaying the captcha.</p>
<p>So, you want to use reCAPTCHA in you new shinny Python web app. All you have to do is put <code>librecaptcha.py</code> somewhere in your <a href="http://docs.python.org/tut/node8.html#SECTION008110000000000000000">PYTHONPATH</a> and use it like this:</p>
<p>First we need some configuration.</p>
<p><pre class="brush: python;">
&gt;&gt;&gt; import librecaptcha

# set our public and private keys
# you can get them at: https://admin.recaptcha.net/recaptcha/createsite/
&gt;&gt;&gt; RECAPTCHA_PUB_KEY = '79ehj2hd09wjd90jwqoierhde7892ehqd89whdwq'
&gt;&gt;&gt; RECAPTCHA_PRIV_KEY = '0nm29ue03ud09j3mu0e93209eu2109ue09dwuqeq'</pre><br />
Now we want the field rendered with the default options<br />
<pre class="brush: python;">
&gt;&gt;&gt; html_for_captcha = librecaptcha.displayhtml(RECAPTCHA_PUB_KEY)
&gt;&gt;&gt; print html_for_captcha
&lt;script type=&quot;text/javascript&quot;&gt;
  var RecaptchaOptions={theme:'red', lang:'en', tabindex:'0',
                        custom_theme_widget:'null'};
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://api.recaptcha.net/challenge?k=79ehj2hd09wjd90jwqoierhde7892ehqd89whdwq&quot;&gt;&lt;/script&gt;
&lt;noscript&gt;
  &lt;div&gt;
    &lt;object data=&quot;http://api.recaptcha.net/noscript?k=79ehj2hd09wjd90jwqoierhde7892ehqd89whdwq&quot; type=&quot;text/html&quot; height=&quot;300&quot; width=&quot;500&quot;&gt;&lt;/object&gt;
  &lt;/div&gt;
  &lt;p&gt;&lt;textarea name=&quot;recaptcha_challenge_field&quot; rows=&quot;3&quot; cols=&quot;40&quot;&gt;&lt;/textarea&gt;&lt;/p&gt;
  &lt;p&gt;&lt;input type='hidden' name='recaptcha_response_field' value='manual_challenge' /&gt;&lt;/p&gt;
&lt;/noscript&gt;</pre><br />
Which gives you this:<br />
<a href="http://k0001.files.wordpress.com/2007/11/reden.png" title="reden.png"><img src="http://k0001.files.wordpress.com/2007/11/reden.png?w=500" alt="reden.png" /></a><br />
Lets add some customization:<br />
<pre class="brush: python;">
&gt;&gt;&gt; html_for_captcha = librecaptcha.displayhtml(RECAPTCHA_PUB_KEY, lang='es', theme='white')
&gt;&gt;&gt; print html_for_captcha
&lt;script type=&quot;text/javascript&quot;&gt;
  var RecaptchaOptions={theme:'white', lang:'es', tabindex:'0',
                        custom_theme_widget:'null'};
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://api.recaptcha.net/challenge?k=79ehj2hd09wjd90jwqoierhde7892ehqd89whdwq&quot;&gt;&lt;/script&gt;
&lt;noscript&gt;
  &lt;div&gt;
    &lt;object data=&quot;http://api.recaptcha.net/noscript?k=79ehj2hd09wjd90jwqoierhde7892ehqd89whdwq&quot; type=&quot;text/html&quot; height=&quot;300&quot; width=&quot;500&quot;&gt;&lt;/object&gt;
  &lt;/div&gt;
  &lt;p&gt;&lt;textarea name=&quot;recaptcha_challenge_field&quot; rows=&quot;3&quot; cols=&quot;40&quot;&gt;&lt;/textarea&gt;&lt;/p&gt;
  &lt;p&gt;&lt;input type='hidden' name='recaptcha_response_field' value='manual_challenge' /&gt;&lt;/p&gt;
&lt;/noscript&gt;</pre><br />
The result:<br />
<a href="http://k0001.files.wordpress.com/2007/11/whitees.png" title="whitees.png"><img src="http://k0001.files.wordpress.com/2007/11/whitees.png?w=500" alt="whitees.png" /></a><br />
After the user submit the form with the solution, you need to validate that against reCAPTCHA servers.<br />
<pre class="brush: python;">
# when the user submits the form, you need to get 3 values from that request.
# 1. REMOTE_ADDR
# 2. from request's POST: recaptcha_challenge_field
# 3. from request's POST: recaptcha_response_field
# note the way you access to theese values varies depending on your web framework
# and then:
&gt;&gt;&gt; remote_ip = request.META['REMOTE_ADDR']
&gt;&gt;&gt; challenge = request.POST['recaptcha_challenge_field']
&gt;&gt;&gt; responese = request.POST['recaptcha_response_field']
&gt;&gt;&gt; recaptcha_response = librecaptcha.submit(challenge, response, RECAPTCHA_PRIV_KEY, remote_ip)

# if everything went ok, recaptcha_response.is_valid should be true
# and recaptcha_response.error_code should be None
# example: valid reCAPTCHA
&gt;&gt;&gt; recaptcha_response.is_valid
True
&gt;&gt;&gt; recaptcha_response.error_code
None

# else, if something went wrong, recaptcha_responser.is_valid will be False
# and recaptcha_response.error_code will be some of this codes:
# http://recaptcha.net/apidocs/captcha/
# example: invalid reCAPTCHA
&gt;&gt;&gt; recaptcha_response.is_valid
False
&gt;&gt;&gt; recaptcha_response.error_code
'incorrect-captcha-sol'</pre><br />
Now you are ready to start using reCAPTCHA with Python! But what about using it <a href="http://djangoproject.com/">django</a> and there shinny newforms? <a href="http://smileychris.tactful.co.nz/">SmileyChris</a> has done it first as explained <a href="http://smileychris.tactful.co.nz/ramblings/recaptcha/">here</a>. I just modified his proposal with some improvements:</p>
<ul>
<li>Now it uses librecaptcha.py.</li>
<li>Automagically generates the captcha field instead of having to define it when you create your form.</li>
<li>Appearance customization is now possible via settings.py.</li>
<li>By default, if <code>settings.DEBUG</code> is set to <code>True</code>, reCAPTCHA will always be valid. (It&#8217;s annoying to fill forms when developing).</li>
<li> Localized error messages are shown when (if anyone).</li>
</ul>
<p>So to use it, we will be using the same approach proposed by SmileyChris, the file <code>recaptcha_newforms.py</code> provides a form which you should inherit from, and pass the remote ip address to it&#8217;s constructor.</p>
<p>So, take this as an example:</p>
<p><pre class="brush: python;">
from django.shortcuts import render_to_response
import django.newforms as forms
from recaptcha_newforms import RecaptchaForm

# create our form inheriting from RecaptchaForm
class NewAnimalForm(RecaptchaForm):
    name = forms.CharField(label='animal name')
    legs = forms.IntegerField(label='number of legs')

# and the view would be... just a little different.
# when the form is created, we explicitly pass the remote_ip
# to the form constructor. And that's all the magic.
def new_animal(request):
    remote_ip = request.META['REMOTE_ADDR']
    if request.method == 'POST':
        form = NewAnimal(remote_ip, request.POST)
        if form.is_valid():
            # if we get here, the captcha solution the user provided
            # was ok, so do whatever you want to do with your data here.
            # ...
    else:
        form = NewAnimalForm(remote_ip)

    return render_to_response('animals/new_animal.html', {'form': form })</pre><br />
Some settings can/must be customized in settings.py:<br />
<pre class="brush: python;">
# your project's settings.py
RECAPTCHA_PUB_KEY = '6dihaiodhoiwahdiowahoidwaoihdoiwahS'
RECAPTCHA_PRIV_KEY = '6Lfdwanoidhwaoidhoiwahdoiwahoiddsp'
RECAPTCHA_THEME = 'white' #optional
# lang value is taken from LANGUAGE_CODE, example
LANGUAGE_CODE = 'es_ar'
# will render the captcha in spanish (es)</pre><br />
You see? it&#8217;s really simple. Now <strong><a href="http://rapidshare.com/files/73448997/recaptcha.zip.html">download this</a></strong> and start playing. Also <a href="http://iamtgc.com/2007/09/06/recaptcha-mailhide-template-filter-for-django/">check this</a>, <a href="http://iamtgc.com/">tmc</a> has developed a django template filter allowing the use of <a href="http://mailhide.recaptcha.net/">reCAPTCHA&#8217;s mailhide</a> directly from templates.</p>
<p><strong>NOTE:</strong> Added support for the autoescaping implemented in revision <a href="http://code.djangoproject.com/changeset/6671">6671</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/k0001.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/k0001.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/k0001.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/k0001.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/k0001.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/k0001.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/k0001.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/k0001.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/k0001.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/k0001.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/k0001.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/k0001.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/k0001.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/k0001.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/k0001.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/k0001.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=k0001.wordpress.com&amp;blog=1326324&amp;post=6&amp;subd=k0001&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://k0001.wordpress.com/2007/11/15/using-recaptcha-with-python-and-django/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c6ff9af7ba0b0d971231d09bd76d99eb?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">k0001</media:title>
		</media:content>

		<media:content url="http://k0001.files.wordpress.com/2007/11/reden.png" medium="image">
			<media:title type="html">reden.png</media:title>
		</media:content>

		<media:content url="http://k0001.files.wordpress.com/2007/11/whitees.png" medium="image">
			<media:title type="html">whitees.png</media:title>
		</media:content>
	</item>
		<item>
		<title>All your base are belong to us.</title>
		<link>http://k0001.wordpress.com/2007/07/13/all-your-base-are-belong-to-us/</link>
		<comments>http://k0001.wordpress.com/2007/07/13/all-your-base-are-belong-to-us/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 05:56:04 +0000</pubDate>
		<dc:creator>k0001</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://k0001.wordpress.com/2007/07/13/all-your-base-are-belong-to-us/</guid>
		<description><![CDATA[I&#8217;m pretty sure you have at least once heard that phrase before, &#8220;All your base are belong to us&#8221;. Yeah? Well let me explain how it fits our needs today. First, I shall give you an introduction to what free (as in freedom) software is. When we talk about free software, we are referring to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=k0001.wordpress.com&amp;blog=1326324&amp;post=3&amp;subd=k0001&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p align="left">I&#8217;m pretty sure you have at least once heard that phrase before,<em> <a href="http://en.wikipedia.org/wiki/All_your_base_are_belong_to_us" title="Wikipedia entry">&#8220;All your base are belong to us&#8221;</a></em>. Yeah? Well let me explain how it fits our needs today.</p>
<p align="left">First, I shall give you an introduction to what free (as in freedom) software is. When we talk about free software, we are referring to software which you are permitted to use, modify, remix, redistribute, enhance, and even sell copies of it. All that, as long as you ensure end-users (you, world) have the same rights the very first authors (you? world?) have, giving them access to all those features. How do we achieve that? <a href="http://http://en.wikipedia.org/wiki/Free_software#Free_software_licenses" title="Wikipedia entry">Licenses</a> <a href="http://en.wikipedia.org/wiki/List_of_FSF_approved_software_licences" title="Wikipedia entry">have</a> <a href="http://en.wikipedia.org/wiki/Copyleft" title="Wikipedia entry">been</a> <a href="http://creativecommons.org/" title="Creative Commons">developed</a> for use in software, information and media projects which give us the possibility to get and provide the benefits of freedom. There&#8217;s one out there, <em>the one</em>, which is like the <em>queen of licenses</em>, it&#8217;s the famous  <a href="http://www.gnu.org/copyleft/gpl.html" title="GNU General Public License">GNU GPL</a>, or just GPL (mainly versions 2 and 3), which provide freedom to most of the software out there.</p>
<p align="left">And talking about software, we need a base where to use it. Today is your lucky day! Guess what? Although this might seem a bad world we live in, sometimes, we just have to open our eyes to make it a better place. Today, we have our base (one of <a href="http://en.wikipedia.org/wiki/List_of_operating_systems#Nonproprietary_Unix-like" title="Wikipedia entry">many</a> out there), which happens to be an <a href="http://en.wikipedia.org/wiki/Operating_system" title="Wikipedia entry">operating system</a> licensed under the terms of the GPLv2, thus giving us the freedom we need. It&#8217;s ready for your desktop, production or entertainment computer, and has a pretty <a href="http://en.wikipedia.org/wiki/Tux" title="Wikipedia entry">penguin</a> as it&#8217;s pet.</p>
<p align="left">I&#8217;m talking about <a href="http://en.wikipedia.org/wiki/Linux" title="Wikipedia entry">Linux</a>, which is no more no less, the result of millions of developers, designers, coders and thinkers (¿?) out there, which proudly can choose and say one of these:</p>
<ul>
<li>All your base are belong to us.</li>
<li>All your base are belong to you.</li>
<li>All our base are belong to us.</li>
<li>All our base are belong to you.</li>
<li>&#8230;and so on.</li>
</ul>
<p>Because that&#8217;s what free software is about, and that&#8217;s about what this blog will be (mainly) about: Linux, Software, Development, Knowledge, Magic, Love and Freedom.</p>
<p>So, please wear your seatbelts and enjoy the ride. Thanks for reading.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/k0001.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/k0001.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/k0001.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/k0001.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/k0001.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/k0001.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/k0001.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/k0001.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/k0001.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/k0001.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/k0001.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/k0001.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/k0001.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/k0001.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/k0001.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/k0001.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=k0001.wordpress.com&amp;blog=1326324&amp;post=3&amp;subd=k0001&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://k0001.wordpress.com/2007/07/13/all-your-base-are-belong-to-us/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c6ff9af7ba0b0d971231d09bd76d99eb?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">k0001</media:title>
		</media:content>
	</item>
	</channel>
</rss>
