<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Jorge Luis, de Software Libre</title>
	<atom:link href="http://jorgelbg.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jorgelbg.wordpress.com</link>
	<description>Computo Ergo Sum</description>
	<lastBuildDate>Sat, 05 Sep 2009 05:05:59 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='jorgelbg.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/de673c1faccc764313a4d58fa6c5f8b8?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Jorge Luis, de Software Libre</title>
		<link>http://jorgelbg.wordpress.com</link>
	</image>
			<item>
		<title>Escribir gramáticas en LaTeX (latex-bnf)</title>
		<link>http://jorgelbg.wordpress.com/2009/05/18/gramaticas-latex/</link>
		<comments>http://jorgelbg.wordpress.com/2009/05/18/gramaticas-latex/#comments</comments>
		<pubDate>Mon, 18 May 2009 19:58:15 +0000</pubDate>
		<dc:creator>Jorge Luis</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://jorgelbg.wordpress.com/?p=13</guid>
		<description><![CDATA[Para la asignatura de Programación IV (Teoría de Lenguajes y Compilación) me ha tocado implementar un intérprete, al final me he decidido a utilizar ANTLR3. Al final como tengo que entregar un informe sobre la tarea, y como para todos mis informes de la Universidad utilizo LaTeX, pues me he puesto a buscar como escribir [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jorgelbg.wordpress.com&blog=2471272&post=13&subd=jorgelbg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Para la asignatura de Programación IV (Teoría de Lenguajes y Compilación) me ha tocado implementar un intérprete, al final me he decidido a utilizar <a href="http://www.antlr.org/">ANTLR3</a>. Al final como tengo que entregar un informe sobre la tarea, y como para todos mis informes de la Universidad utilizo LaTeX, pues me he puesto a buscar como escribir gramáticas en un documento de LaTeX, me encontré varios paquetes (simple búsqueda por <strong>grammar</strong> en la <a href="http://www.ctan.org/">CTAN</a>) sin embargo me decanté por <a href="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=latex-bnf">latex-bnf</a> la cuestión fue que cuando lo fuí a utilizar en mi Sistema (MacOS X 10.5.5 + MacTex 2007 + TextMate) y guiándome por el documento de ejemplo, me encuentro que daba error al tratar de utilizar pdflatex como generador del documento. </p>
<p>La cuestión es que al parecer el paquete tiene su tiempito ya y en la documentación te especifican que para utilizarlo debes poner la línea:</p>
<p><code> \documentstyle[bnf]{article}<br />
</code></p>
<p>Sin embargo, cuando utilizamos esta línea en por ejemplo un artículo que estemos escribiendo, obtenemos el siguiente error:</p>
<p><code> Latex Error: ./untitled 2.tex:10 LaTeX Error: LaTeX2e command \usepackage in LaTeX 2.09 document.<br />
</code></p>
<p>En mi caso la solución que encontré luego de &#8220;trastear&#8221; un tiempo, fue que con un simple:</p>
<p><code> \documentclass{article}<br />
\usepackage{bnf}<br />
</code></p>
<p>Teniendo el fichero: <code>bnf.sty</code> en el mismo directorio del documento que estemos redactando, o en su variante teniendo el paquete latex-bnf instalado correctamente en nuestro sistema LaTeX.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jorgelbg.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jorgelbg.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jorgelbg.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jorgelbg.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jorgelbg.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jorgelbg.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jorgelbg.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jorgelbg.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jorgelbg.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jorgelbg.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jorgelbg.wordpress.com&blog=2471272&post=13&subd=jorgelbg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jorgelbg.wordpress.com/2009/05/18/gramaticas-latex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fe1da2ca1555a6a4d139904fa9b9be0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jorge Luis</media:title>
		</media:content>
	</item>
		<item>
		<title>Autenticando contra un LDAP desde Python</title>
		<link>http://jorgelbg.wordpress.com/2008/07/11/python-ldap/</link>
		<comments>http://jorgelbg.wordpress.com/2008/07/11/python-ldap/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 04:26:08 +0000</pubDate>
		<dc:creator>Jorge Luis</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://jorgelbg.wordpress.com/?p=7</guid>
		<description><![CDATA[Desde hace ya algún tiempo soy un lector asiduo de los blogs de Zuzel, Yasser, Luis y otros muchachos de la UH, que poseen su blog. Realmente son algunos de los escasos blogs que existen en Cuba que se actualicen y que además publican contenidos que me resulten interesantes  .
En fin gracias a un [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jorgelbg.wordpress.com&blog=2471272&post=7&subd=jorgelbg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Desde hace ya algún tiempo soy un lector asiduo de los blogs de Zuzel, Yasser, Luis y otros muchachos de la UH, que poseen su blog. Realmente son algunos de los escasos blogs que existen en Cuba que se actualicen y que además publican contenidos que me resulten interesantes <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>En fin gracias a un trabajo que presentó Zuzel en la Jornada Científica en la Universidad de la Habana llegúe al DrProject, que según su propia web:</p>
<blockquote><p><a class="ext-link" href="http://www.drproject.org/">DrProject</a> is a web-based project management portal that integrates revision control, issue tracking, mailing lists, a wiki, and other tools that software development teams need to succeed. <a class="ext-link" href="http://www.drproject.org/">DrProject</a> was designed to be simple enough for undergraduate students to master in less than an hour, and is now being used by universities, open source projects, and commercial teams in several companies.</p></blockquote>
<p>Me pareció bastante interesante y además mucho más sencillo que otros como el GForge, además el atribuido adicional de tener a una experta cerca era tentadora. Pues nada me puse en contacto con ella y como para ella no era ningún problema el venir hasta la Universidad, ayudarme a instalar y configurar, pues asi lo hicimos. Luego de luchar con algunas &#8220;p&#8221; mal escritas <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> , se logró hacer funcionar todo sin mayores problemas.</p>
<p>De todo el proceso, la parte que más le interesaba a Zuzel era la de hacer autenticar al drproject contra el LDAP de la Universidad, luego de escribir algún que otro código lo dejamos con una autentificación, que en ese momento, pensé que funcionaba, la cuestión fue que al final, luego de probar varias veces llegué a la conclusión de que realmente no funcionaba, pues cualquier combinación de usuario / contraseña que le proporcionaba se logeaba perfectamente.</p>
<p>Entonces fue cuando comenzé a buscar información sobre la librería <code>python-ldap</code> que estábamos utilizando para la autentificación, luego de una búsqueda bastante amplia, no encontré ninguna información que me fuera del todo clara o que me proporcionara algún ejemplo que me permitiera adaptarlo de forma rápida y fácil a mis necesidades. Finalmente, pude encontrar en <a href="//">estos</a> <a href="http://http://www.packtpub.com/article/python-ldap-applications-ldap-opearations/">artículos</a> la mejor información disponible, y aquí un ejemplo que aunque orientado a <a href="http://www.djangoproject.com/">django</a> me fue muy útil para lograr un script funcional. A continuación dejo el código del fichero <code>validate.py</code> que se encarga de realizar la autentificación desde la interfaz web del <a class="ext-link" href="http://www.drproject.org/">DrProject</a>:</p>
<p>Expliquemos un poco el código:<br />
<code><br />
AD_DNS_NAME = 'uci.cu'<br />
AD_LDAP_PORT = 389<br />
AD_SEARCH_DN  = 'OU=UCI Domain Users,DC=uci,DC=cu'<br />
AD_SEARCH_FIELDS = ['displayname', 'mail', 'mailnickname', 'title']<br />
AD_LDAP_URL = 'ldap://%s:%s' % (AD_DNS_NAME, AD_LDAP_PORT)<br />
DOMAIN   = "uci.cu"<br />
</code></p>
<p>Estas líneas son simplemente de configuración para establecer el <code>AD_LDAP_URL</code> que es la URL que se utiliza para conectar al servidor LDAP.</p>
<p><code><br />
username = sys.stdin.readline().strip("\n")<br />
password = sys.stdin.readline().strip("\n")<br />
try:<br />
l = ldap.initialize(AD_LDAP_URL)<br />
r = l.simple_bind_s("%s@%s"%(username, DOMAIN), password)<br />
l.unbind_s()<br />
sys.exit(0)<br />
except ldap.LDAPError, e:<br />
# print e.message['info']<br />
if type(e.message) == dict and e.message.has_key('desc'):<br />
print e.message['desc']<br />
else:<br />
print e<br />
sys.exit(1)<br />
</code></p>
<p>Esta es la función <code>validate</code> que es la que encarga de corroborar las credenciales del usuario. En el caso particular de DrProject se leen el usuario y la contraseña mediante la entrada estándard y luego se comprueban con el servidor LDAP.</p>
<p>Finalmente lo que se incluye es una llamada a la función <code>validate </code>para ejecutarla:</p>
<p><code><br />
if __name__ == '__main__': validate()</code></p>
<p>De esta forma se logra que el DrProject autentique directamente contra un servidor LDAP, lo cual puede ser útil debido a que la gestión de usuarios no queda de parte del DrProject y además se evita que los usuarios tengan que crearse nuevas cuentas y recordar más contraseñas <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jorgelbg.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jorgelbg.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jorgelbg.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jorgelbg.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jorgelbg.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jorgelbg.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jorgelbg.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jorgelbg.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jorgelbg.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jorgelbg.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jorgelbg.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jorgelbg.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jorgelbg.wordpress.com&blog=2471272&post=7&subd=jorgelbg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jorgelbg.wordpress.com/2008/07/11/python-ldap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fe1da2ca1555a6a4d139904fa9b9be0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jorge Luis</media:title>
		</media:content>
	</item>
		<item>
		<title>Bienvenido (Al fin un blog)</title>
		<link>http://jorgelbg.wordpress.com/2008/01/08/bienvenido/</link>
		<comments>http://jorgelbg.wordpress.com/2008/01/08/bienvenido/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 05:22:49 +0000</pubDate>
		<dc:creator>Jorge Luis</dc:creator>
				<category><![CDATA[Anuncios]]></category>
		<category><![CDATA[Personales]]></category>
		<category><![CDATA[bienvenido]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[welcome]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Bueno pues nada que bienvenido a este blog, hace ya un tiempo que venía mirando el tema este de los blogs y pues que me he mirado el wordpress y luego de probarlo un tiempo en casa, me he decidido a ponerlo ya definitivo, así que ya está y espero que ustedes lo disfruten tanto [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jorgelbg.wordpress.com&blog=2471272&post=1&subd=jorgelbg&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Bueno pues nada que bienvenido a este blog, hace ya un tiempo que venía mirando el tema este de los blogs y pues que me he mirado el wordpress y luego de probarlo un tiempo en casa, me he decidido a ponerlo ya definitivo, así que ya está y espero que ustedes lo disfruten tanto como yo, así que no lo penséis más y acabáos de montar su propio blog!!!!!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jorgelbg.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jorgelbg.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jorgelbg.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jorgelbg.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jorgelbg.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jorgelbg.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jorgelbg.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jorgelbg.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jorgelbg.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jorgelbg.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jorgelbg.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jorgelbg.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jorgelbg.wordpress.com&blog=2471272&post=1&subd=jorgelbg&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://jorgelbg.wordpress.com/2008/01/08/bienvenido/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fe1da2ca1555a6a4d139904fa9b9be0f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jorge Luis</media:title>
		</media:content>
	</item>
	</channel>
</rss>