<?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>GNU/Emacs</title>
	<atom:link href="http://www.blackhats.es/wordpress/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.blackhats.es/wordpress</link>
	<description>λf . (λx . (f (x x)) λx . (f (x x)))</description>
	<lastBuildDate>Sun, 13 May 2012 23:25:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>The land of Lisp</title>
		<link>http://www.blackhats.es/wordpress/?p=400</link>
		<comments>http://www.blackhats.es/wordpress/?p=400#comments</comments>
		<pubDate>Sun, 13 May 2012 23:19:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[basic]]></category>
		<category><![CDATA[clisp]]></category>
		<category><![CDATA[coders]]></category>
		<category><![CDATA[devel]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[extratarrestial]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[land of lisp]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[lisp games]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.blackhats.es/wordpress/?p=400</guid>
		<description><![CDATA[En el post de hoy, simplemente introduciremos un nuevo libro, ideal para aprender Lisp mediante el desarrollo de juegos. Actualmente existen pocos libros sobre este interesante y curioso lenguaje. Distinto al resto, pero tan particular como potente, lo cual lo hace interesante, pero es al mismo tiempo desconocido para muchos, incluso desarrolladores avanzados, que desconoceran [...]]]></description>
			<content:encoded><![CDATA[<p>En el post de hoy, simplemente introduciremos un nuevo libro, ideal para aprender Lisp mediante el desarrollo de juegos.</p>
<p style="text-align: center;"><a href="http://www.blackhats.es/wordpress/wp-content/uploads/2012/05/lisp.jpg"><img class="aligncenter size-full wp-image-401" title="lisp" src="http://www.blackhats.es/wordpress/wp-content/uploads/2012/05/lisp.jpg" alt="" width="397" height="522" /></a></p>
<p>Actualmente existen pocos libros sobre este interesante y curioso lenguaje. Distinto al resto, pero tan particular como potente, lo cual lo hace interesante, pero es al mismo tiempo desconocido para muchos, incluso desarrolladores avanzados, que desconoceran lo interesante de este lenguaje pensando que simplemente es un lenguaje especializado en Inteligencia Artificial, lo cual es bastante incorrecto.</p>
<p>El libro que he comprado se llama: The Land of Lisp y tiene un video promocional:</p>
<p style="text-align: center;"><a href="http://www.youtube.com/watch?v=HM1Zb3xmvMc">watch?v=HM1Zb3xmvMc</a></p>
<p style="text-align: justify;">La web promocional del libro se encuentra en<a href="http://landoflisp.com/"> http://landoflisp.com/ </a>y contiene un resumen de interesantes caracteristicas que tiene este lenguaje y que no posee ningun otro de los convencionales, como puedan ser conceptos avanzados como las <a href="http://www.bookshelf.jp/texi/onlisp/onlisp_21.html">continuaciones</a>.</p>
<p style="text-align: justify;">El libro comienza con una introduccion bastante interesante, contando la historia de la informatica y lenguajes de programacion, haciendo una analogia con la evolucion de las especies, haciendo algunas bromas bastante curiosas. El primero capitulo nos habla de Lisp, los distintos dialectos que existen y para que proposito. Asi como la instalacion de cada uno de los interpretes mas importantes para estos lenguajes en los distintos sistemas operativos. A partir de aqui, el libro explica capitulo a capitulo, conceptos del lenguaje Lisp mediante la implementacion de juegos para hacer ello mas ameno.</p>
<p style="text-align: justify;">Como curiosidad, el libro en el primer capitulo tiene un test, en el que puedes elegir entre ser una oveja, un perro rabioso o una oveja mutada con perro rabioso; segun el perfil que se escoja, uno entendera haciendo una broma con analogia incluida, el tipo de lenguaje que busca. Como veis, todo muy curioso, divertido y gracioso, al mismo tiempo que se aprende un lenguaje interesante, desconocido y posiblemente de los mas peculiares junto con Haskell.</p>
<p style="text-align: center;">&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackhats.es/wordpress/?feed=rss2&#038;p=400</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editor Hexadecimal en emacs: Hexl-mode</title>
		<link>http://www.blackhats.es/wordpress/?p=359</link>
		<comments>http://www.blackhats.es/wordpress/?p=359#comments</comments>
		<pubDate>Thu, 19 Jan 2012 19:43:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[basic]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[emacs modes]]></category>
		<category><![CDATA[fsf]]></category>
		<category><![CDATA[gnu/emacs]]></category>
		<category><![CDATA[hexadecimal]]></category>
		<category><![CDATA[hexadecimal mode]]></category>
		<category><![CDATA[hexl]]></category>
		<category><![CDATA[hexl-mode]]></category>
		<category><![CDATA[modo emacs hexadecimal]]></category>

		<guid isPermaLink="false">http://www.blackhats.es/wordpress/?p=359</guid>
		<description><![CDATA[Generalmente no suelo necesitar emplear el uso de editores hexadecimal, sin embargo existe un modo en especial en emacs para usarlo sin necesidad de salir a la consola. Recordemos que en consola podemos hacer uso de od, objdump y el comando file entre otros, para analizar ficheros. Para lanzar el editor hexadecimal en emacs tan solo [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Generalmente no suelo necesitar emplear el uso de editores hexadecimal, sin embargo existe un modo en especial en emacs para usarlo sin necesidad de salir a la consola. Recordemos que en consola podemos hacer uso de <strong>od, objdump</strong> y el comando <strong>file </strong>entre otros, para analizar ficheros. Para lanzar el editor hexadecimal en emacs tan solo debemos invocar a la funciona mediante <strong>M-x hexl-mode</strong>. Eso editara el fichero en modo hexadecimal.</p>
<p style="text-align: center;"><a href="http://www.blackhats.es/wordpress/wp-content/uploads/2012/01/hex1.png"><img class="aligncenter size-large wp-image-363" title="hex" src="http://www.blackhats.es/wordpress/wp-content/uploads/2012/01/hex1-1024x711.png" alt="" width="819" height="569" /></a></p>
<p style="text-align: center;">A la izquierda la ventana con el modo hexl y a la derecha una copia del fichero empleando el whitespace-mode</p>
<p style="text-align: justify;">La primera fila muestra el titulo de la tabla representada a continuacion. El primer valor es la direccion de memoria donde se almacena el contenido del fichero, y las siguientes filas indicaran su offset. Mas tarde nos encontramos con los valores que toma cada una de esas celdas de memoria, caracter a caracter (byte a byte realmente, en grupos de dos) en su valor hexadecimal, hasta el 15 (f). Recordemos que internamente el computador trabaja en hexadecimal por comodidad porque es como se emplea la memoria, de 16 en 16 bytes (de 0 al 15 &#8211; 0 a f). Finalmente a la derecha tenemos la traduccion en ascii de cada una de esas posiciones. En la otra ventana podemos comparar con el whitespace-mode ademas.</p>
<p style="text-align: justify;">El fin de este articulo es solo nombrar que es posible emplear este modo (y bastante comodo y rapido). Sin embargo, si dare unas nociones basicas para aquellos que esten interesados en comenzar a trabajar y debuggear algun problema con algun fichero.</p>
<p style="text-align: justify;">Antes de nada decir que es importante saber en que formato esta el fichero, si en DOS o en Unix. En el caso de estar en formato Unix el famoso CRLF es 0d0a. Aqui tenemos algunas valores hexadecimales importantes a la hora de analizar los ficheros:</p>
<ul>
<li>CRLF -&gt; <strong>0d0a</strong></li>
<li>INTRO -&gt; <strong>0a</strong></li>
<li>SPACE -&gt; <strong>20</strong></li>
<li>Control+z -&gt; <strong>1a</strong> (recordemos que en unix el control+z se suele emplear como el char de <strong>EOF</strong>)</li>
<li>0 -&gt; <strong>30</strong> (el numero 0)</li>
<li>. -&gt; <strong>2e</strong> (el punto)</li>
</ul>
<p>En <a href="http://www.asciitable.com/" target="_blank">asciitable</a> y <a href="http://www.ascii.cl/htmlcodes.htm" target="_blank">asciicl</a> es posible encontrar una lista mas completa de otros caracteres generalmente menos interesantes.</p>
<p style="text-align: justify;">Generalmente si tenemos un error de <strong>EOF</strong> prematuro, lo que debemos buscar es cualquier caracter con valor menor a <strong>0&#215;20</strong>, entonces es sospechoso. Aunque a veces el problema esta en los parsers que no esperan (segun el formato del fichero) cierto tipo de caracter y se encuentran con un espacio, intro, o un caracter aunque sea imprimible no esperado, como ha sido el caso con el que me ha tocado pelear hoy.</p>
<p style="text-align: justify;">Por supuesto es posible cambiar un caracter cualquiera por otro, para ello debemos darle el valor que queramos alli donde nos encontremos, pudiendo reemplazar un 1a (de EOF) por un 0a de intro o cualquier otro caso.</p>
<ul>
<li><strong>C-M-d</strong> : inserta un byte en formato decimal</li>
<li><strong>C-M-o</strong> : inserta un byte en formato octal</li>
<li><strong>C-M-x</strong> : inserta un byte en formato hexadecimal</li>
<li><strong>C-x [</strong> : Se mueve al principio de una pagina (1 Kb)</li>
<li><strong>C-x ]</strong> : Se mueve al final de una pagina (1 Kb)</li>
<li><strong>M-g</strong> : Salta a la direccion especificada en hexadecimal.</li>
<li><strong>M-j </strong>: Salta a la direccion espcificada en decimal</li>
</ul>
<p style="text-align: justify;">Finalmente con <strong>C-c C-c </strong>para <strong>salir</strong> del editor hexadecimal de emacs para volver al anterior y mas comun para los mortales.</p>
<p style="text-align: justify;">Gracias a |[TDP]| por sus sugerencias respecto al tema ha sido posible escribir este pequeno articulo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackhats.es/wordpress/?feed=rss2&#038;p=359</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emacs linum</title>
		<link>http://www.blackhats.es/wordpress/?p=235</link>
		<comments>http://www.blackhats.es/wordpress/?p=235#comments</comments>
		<pubDate>Sat, 26 Nov 2011 12:27:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[basic]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[gnu/emacs]]></category>
		<category><![CDATA[line numbers]]></category>
		<category><![CDATA[line numbers in emacs]]></category>
		<category><![CDATA[linum]]></category>
		<category><![CDATA[numero de linea]]></category>
		<category><![CDATA[numero de linea en emacs]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://www.blackhats.es/wordpress/?p=235</guid>
		<description><![CDATA[Este articulo sera simple y conciso. Sin embargo y aunque no sea fundamental ya que en el modeline por defecto nos indica el numero de linea en el que nos encontramos, cuando trabajamos con codigo fuente si puede ser interesante tener en el margen izquierdo el numero de lineas para todo el buffer mostrado. De [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Este articulo sera simple y conciso. Sin embargo y aunque no sea fundamental ya que en el modeline por defecto nos indica el numero de linea en el que nos encontramos, cuando trabajamos con codigo fuente si puede ser interesante tener en el margen izquierdo el numero de lineas para todo el buffer mostrado. De esa forma no tendremos que perder la vista cada vez hacia el modeline.</p>
<p>Primero deberemos descargar linum aqui: <a href="http://www.emacswiki.org/emacs/linum-ex.el" target="_blank">http://www.emacswiki.org/emacs/linum-ex.el</a> (notese que esto es una version extendida de la version que yo utilizo y por lo tanto mas moderna)</p>
<p>Y acceso directo al fuente en texto plano y sin formato aqui: <a href="http://www.emacswiki.org/emacs/download/linum-ex.el" target="_blank">http://www.emacswiki.org/emacs/download/linum-ex.el</a></p>
<p>De todos los scripts que encontre, por facilidad, simplicidad y rapidez a la hora de configurarlo, decidi finalmente usar linum. La configuracion sera muy simple, en mi caso agregue algo <a href="https://github.com/borjatarraso/blackhats.es/blob/6c232d32625775fff5bf4211e84f0116292b0418/linum.emacs" target="_blank">asi</a>:</p>
<p style="padding-left: 30px;"><span style="color: #ff6600;">;; —————————————————————————</span><br />
<span style="color: #ff6600;">;; Linum (line numbers) M-x linum-mode to enable</span><br />
<span style="color: #ff6600;">;; —————————————————————————</span><br />
<span style="color: #ff6600;">(load-file &#8220;~/.emacs.d/linum/linum.el&#8221;)</span><br />
<span style="color: #ff6600;">(require &#8216;linum)</span><br />
<span style="color: #ff6600;">(setq linum-format &#8220;%d &#8220;)</span><br />
<span style="color: #ff6600;">;(autoload &#8216;linum &#8220;linum&#8221; &#8220;Line numbers for buffers.&#8221; t)</span><br />
<span style="color: #ff6600;">(add-hook &#8216;find-file-hook (lambda () (linum-mode 1)))</span></p>
<p style="text-align: justify;">Por supuesto, debemos cercionarnos que el fichero linum.el tenga esa ruta. En mi caso, todo lo que voy anadiendo a emacs lo pongo dentro del directorio .emacs.d y tengo al menos un directorio para cada feature diferente, aunque tan solo tenga un fichero .el. De esa forma mantengo un orden estricto en todos los scripts, plugins o features para esta herramienta.</p>
<p>El resultado final sera algo asi:</p>
<p><a href="http://www.blackhats.es/wordpress/wp-content/uploads/2011/11/linum.png"><img class="aligncenter size-full wp-image-324" title="linum" src="http://www.blackhats.es/wordpress/wp-content/uploads/2011/11/linum.png" alt="" width="732" height="436" /></a></p>
<p>Otras alternativas a linum se pueden encontrar en el wiki de emacs, mas especificamente aqui: <a href="http://www.emacswiki.org/emacs/LineNumbers" target="_blank">http://www.emacswiki.org/emacs/LineNumbers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackhats.es/wordpress/?feed=rss2&#038;p=235</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

