<?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>Diego Búrigo Zacarão's Weblog &#187; English</title>
	<atom:link href="http://diegobz.net/category/english/feed/" rel="self" type="application/rss+xml" />
	<link>http://diegobz.net</link>
	<description>Let me talk about something</description>
	<lastBuildDate>Sat, 17 Jul 2010 23:22:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Django reverse with JavaScript</title>
		<link>http://diegobz.net/2010/07/16/django-reverse-with-javascript/</link>
		<comments>http://diegobz.net/2010/07/16/django-reverse-with-javascript/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 21:06:39 +0000</pubDate>
		<dc:creator>diegobz</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Transifex]]></category>

		<guid isPermaLink="false">http://diegobz.net/?p=336</guid>
		<description><![CDATA[Taking the cobwebs out of here… Here I go to cite a way that can &#8216;solve&#8217; the URL reversing problem when you are using a Django app that uses some JavaScript and Ajax requests. Django has a very nice way to resolve URLs based on its name and optionally some args. It uses the regex [...]]]></description>
			<content:encoded><![CDATA[<p>Taking the cobwebs out of here…</p>
<p>Here I go to cite a way that can &#8216;solve&#8217; the URL reversing problem when you are using a Django app that uses some JavaScript and Ajax requests.</p>
<p>Django has a very nice way to resolve URLs based on its name and optionally some args. It uses the regex pattern defined in the related urls.py file of the given app. Example:</p>
<blockquote><p>from django.core.urlresolvers import reverse</p>
<p>reverse(&#8216;project_detail&#8217;, args=['foo'])<br />
&#8216;/projects/p/foo/&#8217;</p>
<p>reverse(&#8216;project_detail&#8217;, args=['bar'])<br />
&#8216;/projects/p/bar/&#8217;</p></blockquote>
<p>The problem turns when you want to make a Ajax request based on some dynamic data from a form or something. As some URLs sometimes need arguments to be resolved, we can&#8217;t always pre-reverse and attach them to the Context, on the Django response.</p>
<p>For the record, I found an alternative <a href="http://stackoverflow.com/questions/2724383/dry-urls-in-django-javascript" target="_blank">here</a>. With it you can take the args from the browser and request through Ajax to Django the resolved URL. It&#8217;s pretty cool, but I think it was a bit expensive to multiply by 2 the number of requests to the server.</p>
<p>It made me think on another approach, where I would pre-fill in the Context response of Django, the URL already resolved, but with named args like, %(project)s, for the required arguments. I ended up with this:</p>
<blockquote><p>from django.core.urlresolvers import get_resolver</p>
<p>def get_url_pattern(urlname):<br />
&#8220;&#8221;"<br />
Return pattern for an URL based on its name.</p>
<p>&gt;&gt;&gt; get_url_pattern(&#8216;project_deails&#8217;)<br />
u&#8217;/projects/p/%(project_slug)s/&#8217;</p>
<p>&#8220;&#8221;"<br />
return &#8216;/%s&#8217; % get_resolver(None).reverse_dict.get(urlname)[0][0][0]</p></blockquote>
<p>As you can notice, passing an URL name to that function will give you the resolved URL with named args. I&#8217;m not really aware about corner cases, so feel free to give any comment on it.</p>
<p>Once you have the URL as a string with named args, you can use this <a href="http://plugins.jquery.com/project/printf" target="_blank">JQuery plugin</a>, to resolve the named args using only JavaScript in the client side.</p>
<p>&#8230; and that&#8217;s it! <img src='http://diegobz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://diegobz.net/2010/07/16/django-reverse-with-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Enabling apache UserDir (public_html) with SELinux enabled on Fedora</title>
		<link>http://diegobz.net/2010/03/07/enabling-apache-userdir-public_html-with-selinux-enabled-on-fedora/</link>
		<comments>http://diegobz.net/2010/03/07/enabling-apache-userdir-public_html-with-selinux-enabled-on-fedora/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 20:11:28 +0000</pubDate>
		<dc:creator>diegobz</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SELinux]]></category>

		<guid isPermaLink="false">http://diegobz.net/?p=309</guid>
		<description><![CDATA[I do it barely and for me it&#8217;s kinda getting a headache every time I need to do it. I never remember exactly how it needs to be done. So here there are some steps in order to get a specific user using its home dir (usually ~/public_html/) with Apache. It will surely help me [...]]]></description>
			<content:encoded><![CDATA[<p>I do it barely and for me it&#8217;s kinda getting a headache every time I need to do it. I never remember exactly how it needs to be done. So here there are some steps in order to get a specific user using its home dir (usually ~/public_html/) with Apache. It will surely help me in the future and maybe it might help you too. <img src='http://diegobz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ol>
<li>Edit the <strong><em>/etc/httpd/conf/httpd.conf</em></strong> file.<br />
Change the <strong><em>&#8216;UserDir disabled&#8217;</em></strong> line to <strong><em>&#8216;UserDir enabled &lt;username&gt;&#8217;</em></strong>.<br />
Uncomment the <em><strong>&#8216;UserDir public_html&#8217;</strong></em> line.<br />
Also uncomment the whole <em><strong>&#8216;&lt;Directory /home/*/public_html&gt;&#8217;</strong></em> section until the <em><strong>&#8216;&lt;/Directory&gt;&#8217;</strong></em>.</li>
<li>Apply the proper permissions:<br />
# chmod 711 ~&lt;username&gt;<br />
# chmod 755 -R ~&lt;username&gt;/public_html/</li>
<li>Run the following commands so SELinux wouldn&#8217;t bother you:<br />
# setsebool -P httpd_enable_homedirs true<br />
# chcon -R -t httpd_sys_content_t ~&lt;username&gt;/public_html   <em># It looks like it&#8217;s not necessary. See dgrift&#8217;s comments below.</em></li>
<li>Extra Tip: It looks like on PHP versions  &gt;= 5.3.0, to allow the short tag &#8216;&lt;?&#8217; we need to set <em><strong>&#8216;short_open_tag = On&#8217;</strong></em> in the <em><strong>/etc/php.ini</strong></em>.</li>
</ol>
<p>Restart the httpd service and after it you should be able to access http://localhost/~&lt;username&gt;/</p>
<p>References:<br />
<a href="http://fedoraproject.org/wiki/SELinux/apache" target="_blank">http://fedoraproject.org/wiki/SELinux/apache</a><br />
<a href="http://albertux.ayalasoft.com/2010/01/30/fedora-12-httpd-userdir-selinux-works/" target="_blank">http://albertux.ayalasoft.com/2010/01/30/fedora-12-httpd-userdir-selinux-works/</a><br />
<a href="http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html" target="_blank">http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html</a></p>
<p>UPDATE 1: Altered <strong><em>&#8216;setsebool httpd_enable_homedirs true&#8217;</em></strong> into <strong><em>&#8216;setsebool -P httpd_enable_homedirs true&#8217;</em></strong>. Also added comment about the <strong><em>&#8216;chcon&#8217;</em></strong> command. Thanks, dgrift.</p>
]]></content:encoded>
			<wfw:commentRss>http://diegobz.net/2010/03/07/enabling-apache-userdir-public_html-with-selinux-enabled-on-fedora/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>It&#8217;s been 1 year of Indifex</title>
		<link>http://diegobz.net/2010/02/01/its-been-1-year-of-indifex/</link>
		<comments>http://diegobz.net/2010/02/01/its-been-1-year-of-indifex/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 13:09:52 +0000</pubDate>
		<dc:creator>diegobz</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[FUDCon]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[Indifex]]></category>
		<category><![CDATA[Transifex]]></category>

		<guid isPermaLink="false">http://diegobz.net/?p=283</guid>
		<description><![CDATA[Time definitely flies It looks like it was yesterday that I firstly flew to EU to meet some Fedora guys at the FUDCon in Brno. At that time, September of 2008, I had just finished my GSoC application and lots of ideas were going around our minds (Me and Dimitris Glezos), mainly about what we [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Time definitely flies</strong></p>
<p>It looks like it was yesterday that I firstly flew to EU to meet some Fedora guys at the FUDCon in Brno. At that time, September of 2008, I had just finished my <a title="GSoC blog posts" href="http://diegobz.net/category/gsoc/" target="_blank">GSoC application</a> and lots of ideas were going around our minds (Me and Dimitris Glezos), mainly about what we should do about <a href="http://transifex.org/" target="_blank">Transifex</a>.</p>
<p>My first time in Greece, Dimitris&#8217; country, allowed us to discuss many things, including the redesign of Transifex. I remember we realized we had in our hands an idea that, at least for us, could sound very promising and with lots of potential. We were kinda anxious and unsure on how we should push things on, but we had a shared common feeling -  We need to do something.</p>
<div style="text-align: center;">
<div class="imageframe centered" style="width: 500px;"><img class="attachment wp-att-289" src="http://diegobz.net/wp-content/uploads/2010/02/time-flies.jpg" alt="Time Flies by Bichuas (E. Carton)" width="500" height="334" /></p>
<div class="imagecaption">Time Flies by Bichuas (E. Carton)</div>
</div>
</div>
<p>In a long short history, I came back to Brazil in November of 2008 and 3 months later I was working full time on Transifex as an <a title="Indifex website" href="http://indifex.com" target="_blank">Indifexian</a>. February of 2009 was a mark for me. At that period, my life was kinda turned up side down, not in a bad way, just in a complete different way. New challenges and horizons  just shown up and it&#8217;s been like this until now, 1 year later.</p>
<p>Today we are not anymore 2 crazy guys, locked down in an apartment, ordering food and hacking most of the time during the night.  The team has increased and we are really happy about it. We keep working hard to hit our goals seeking ways to make &#8216;Translations a click away&#8217;. Talking about it, <a href="http://docs.transifex.org/releases/0.8.html#transifex-0-8-alpha" target="_blank">Transifex 0.8alpha</a> is just out, be sure to take a look at the new features. <img src='http://diegobz.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Happy translations!</p>
]]></content:encoded>
			<wfw:commentRss>http://diegobz.net/2010/02/01/its-been-1-year-of-indifex/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Running Transifex with PostgreSQL on Fedora</title>
		<link>http://diegobz.net/2009/11/22/running-transifex-with-postgresql-on-fedora/</link>
		<comments>http://diegobz.net/2009/11/22/running-transifex-with-postgresql-on-fedora/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 20:02:57 +0000</pubDate>
		<dc:creator>diegobz</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Transifex]]></category>

		<guid isPermaLink="false">http://diegobz.net/?p=257</guid>
		<description><![CDATA[Steps with sudo command configured to the current user: $ sudo yum install postgresql-server python-psycopg2 $ sudo service postgresql initdb Initializing database: [ OK ] $ sudo service postgresql start Starting postgresql service: [ OK ] $ sudo su &#8211; postgres -bash-4.0$ psql postgres=# CREATE USER transifex WITH PASSWORD &#8216;transifex&#8217;; CREATE ROLE postgres=# CREATE DATABASE [...]]]></description>
			<content:encoded><![CDATA[<p>Steps with sudo command configured to the current user:</p>
<blockquote><p>$ sudo yum install postgresql-server python-psycopg2</p>
<p>$ sudo service postgresql initdb<br />
Initializing database:                                     [  OK  ]</p>
<p>$ sudo service postgresql start<br />
Starting postgresql service:                           [  OK  ]</p>
<p>$ sudo su &#8211; postgres</p>
<p>-bash-4.0$ psql</p>
<p>postgres=# CREATE USER transifex WITH PASSWORD &#8216;transifex&#8217;;<br />
CREATE ROLE</p>
<p>postgres=# CREATE DATABASE transifex OWNER transifex;<br />
CREATE DATABASE</p>
<p>postgres=# \q</p>
<p>-bash-4.0$ exit</p>
<p>$ sudo vim /var/lib/pgsql/data/pg_hba.conf</p>
<p># &#8220;local&#8221; is for Unix domain socket connections only<br />
local   transifex   transifex                      password    # Add this line<br />
local   all            all                               ident</p>
<p>$ sudo service postgresql restart</p>
<p>$ psql transifex transifex<br />
Password for user transifex:<br />
psql (8.4.1)<br />
Type &#8220;help&#8221; for help.</p>
<p>transifex=&gt;</p>
<p>transifex=&gt; \q</p>
<p># Bellow it assumes the Tx code is under ~/workspace/mainline/ and<br />
# all the dependencies are installed. http://docs.transifex.org/intro/install.html</p>
<p>$ cd workspace/mainline/transifex/</p>
<p>$ vim settings/21-engines.conf</p>
<p># Database configuration<br />
DATABASE_ENGINE = &#8216;postgresql_psycopg2&#8242;<br />
DATABASE_NAME = &#8216;transifex&#8217;<br />
DATABASE_USER = &#8216;transifex&#8217;<br />
DATABASE_PASSWORD = &#8216;transifex&#8217;</p>
<p>$ ./manage.py syncdb</p>
<p>$ ./manage.py migrate codebases  # It shouldn&#8217;t be necessary :/</p>
<p>$ ./manage.py migrate</p>
<p>$ ./manage.py loaddata txcommon/fixtures/*</p>
<p>$ ./manage.py runserver 8080</p></blockquote>
<p>That&#8217;s it!</p>
]]></content:encoded>
			<wfw:commentRss>http://diegobz.net/2009/11/22/running-transifex-with-postgresql-on-fedora/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unicode usernames in Django admin panel</title>
		<link>http://diegobz.net/2009/11/10/unicode-usernames-in-django-admin-panel/</link>
		<comments>http://diegobz.net/2009/11/10/unicode-usernames-in-django-admin-panel/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 14:10:43 +0000</pubDate>
		<dc:creator>diegobz</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Transifex]]></category>

		<guid isPermaLink="false">http://diegobz.net/?p=243</guid>
		<description><![CDATA[This week we&#8217;ve gotten a request from translate.moblin.org for being able to login using unicode chars. They use a custom backend for authentication that allows, for example, Chinese chars in the username. Django seems to handle it pretty well, although the Django Admin Panel complains about it. As a solution, we&#8217;ve implemented a way to [...]]]></description>
			<content:encoded><![CDATA[<p>This week we&#8217;ve gotten a request from <a href="http://translate.moblin.org/" target="_blank">translate.moblin.org</a> for being able to login using unicode chars. They use a custom backend for authentication that allows, for example, Chinese chars in the username. Django seems to handle it pretty well, although the Django Admin Panel complains about it. As a solution, we&#8217;ve implemented a way to override the Django admin forms for creating and editing users, using a UnicodeRegexField.</p>
<p>That was a cool stuff. Here is a code example of an <a href="http://diegobz.net/wp-content/uploads/2009/11/admin.txt" target="_blank">admin.py</a></p>
]]></content:encoded>
			<wfw:commentRss>http://diegobz.net/2009/11/10/unicode-usernames-in-django-admin-panel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
