<?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>Blackhold &#187; Programación</title>
	<atom:link href="http://blackhold.nusepas.com/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://blackhold.nusepas.com</link>
	<description>Blackhold</description>
	<lastBuildDate>Tue, 07 Feb 2012 22:34:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Gif animado lluvias meteocat.com</title>
		<link>http://blackhold.nusepas.com/2011/11/gif-animado-lluvias-meteocat-com/</link>
		<comments>http://blackhold.nusepas.com/2011/11/gif-animado-lluvias-meteocat-com/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 04:25:59 +0000</pubDate>
		<dc:creator>Blackhold</dc:creator>
				<category><![CDATA[Analógico]]></category>
		<category><![CDATA[Blackhold]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://blackhold.nusepas.com/?p=3089</guid>
		<description><![CDATA[<p>Pues harta ya de cada vez que llueve tener que ir a la página de <a href="http://www.meteo.cat/servmet/radar/composicio.html" title="meteocat" target="_blank">meteocat.com</a> a mirar simplemente lo que me interesa, hago que una maquina lo haga para mi y me genere un gif animado para ponerlo en el desklet del escritorio.</p>
<p>Para hacerlo funcionar simplemente necesitamos php5-gd:</p>
<pre>
# apt-get install php5-gd
</pre>
<p>el código</p>
<pre>
# Generador d'imatge animada del radar metereològic meteocat.com
# Desenvolupat per Blackhold
# 2011-11-16

# I get the json file
$file= file_get_contents("http://www.meteo.cat/servmet/radar/images/cappicor_catalunya_10dBZ/images.json");

# And process the data
#var_dump(json_decode($file));
$parsed=json_decode($file);
$array=$parsed-{'items'};

//echo $array[0]-{'src'};

$length=count($array);

for ($i=0;$i< $length;$i++){
        $png = imagecreatefrompng("http://www.meteo.cat/servmet/radar/".$array[$i]->{'src'});

        imagegif($png, "./meteo.".$i.".gif");

        imagedestroy($png);
}

exec("/usr/bin/convert -delay 60 -loop 0 ./meteo.*.gif ./meteo.gif");
exec("rm ./meteo.*.gif");
</pre>
<p>Y para que se vaya actualizando de vez en cuando lo añadimos al cron que lo vaya verificando cada 6 minutos, periodo con el que se actualiza el json de meteocat.</p>
<pre>
# vi /etc/crontab
# generador meteocat
*/6 * * * * root php /var/www/meteocat.php
</pre>
<p>Aquí os dejo con un ejemplo (no abusar! el código es muy simple, lo puedes poner en local o en un servidor tocho -compartid los links!-).</p>
<p><center><img src="http://graf1.marsupi.org/proxy/meteo/meteo.gif"/></center>&#8230; <a href="http://blackhold.nusepas.com/2011/11/gif-animado-lluvias-meteocat-com/" class="read_more">&#124;&#124;&#124; Seguir leyendo... >>></a></p>]]></description>
		<wfw:commentRss>http://blackhold.nusepas.com/2011/11/gif-animado-lluvias-meteocat-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Etiqueta pre</title>
		<link>http://blackhold.nusepas.com/2011/10/etiqueta-pre/</link>
		<comments>http://blackhold.nusepas.com/2011/10/etiqueta-pre/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 19:00:23 +0000</pubDate>
		<dc:creator>Blackhold</dc:creator>
				<category><![CDATA[Blackhold]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://blackhold.nusepas.com/?p=3030</guid>
		<description><![CDATA[<p>Pues una pequeña mejora gráfica en el blog, aunque no lo parezca leo vuestras críticas y peticiones, y la del pre, una etiqueta que uso bastante cuando pasteo código, la he modificado para que no quede cortada.</p>
<p>La propiedad usada es overflow y el pequeño añadido al código propuesto por xsb ha sido la propiedad overflow-y: hidden, para que no aparezca la barra de scroll vertical.</p>
<p>Aquí el pedacito de código:</p>
<pre>
sectionpre {
	font-size: 1em;
	padding: 1em;
	border: 1px dashed #aa0000;
	color: #000;
	background-color: #FFFFDB;
	line-height: 1.1em;
	overflow: auto;
        overflow-y: hidden;
}
</pre>
<p>Como el template del blog es en HTML5, le aplico esta propiedad sólo al contenido principal, en este caso section.</p>
<p>Espero que os guste la pequeña modificación ;)</p>
<p>Muchas gracias!&#8230; <a href="http://blackhold.nusepas.com/2011/10/etiqueta-pre/" class="read_more">&#124;&#124;&#124; Seguir leyendo... >>></a></p>]]></description>
		<wfw:commentRss>http://blackhold.nusepas.com/2011/10/etiqueta-pre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>64k</title>
		<link>http://blackhold.nusepas.com/2011/10/64k/</link>
		<comments>http://blackhold.nusepas.com/2011/10/64k/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 23:48:43 +0000</pubDate>
		<dc:creator>Blackhold</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://blackhold.nusepas.com/?p=2997</guid>
		<description><![CDATA[<p>Hace ya un tiempo alguien me comentó sobre gente que desarrollaba aplicaciones de generación de gráficos que apenas ocupaban unas pocas kb. El secreto está en los algoritmos, toda la renderización la lleva a cabo la tarjeta gráfica.</p>
<p>Aquí tenemos una demostración de lo que se puede llegar a hacer por ejemplo con 64k de programa.</p>
<p><iframe width="500" height="284" src="http://www.youtube.com/embed/ZfuierUvx1A" frameborder="0" allowfullscreen></iframe></p>
<p><a href="http://www.youtube.com/embed/ZfuierUvx1A" target="_blank">Chaos Theory &#8211; Awesome 64k Demo!</a>&#8230; <a href="http://blackhold.nusepas.com/2011/10/64k/" class="read_more">&#124;&#124;&#124; Seguir leyendo... >>></a></p>]]></description>
		<wfw:commentRss>http://blackhold.nusepas.com/2011/10/64k/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>El arte de la programación</title>
		<link>http://blackhold.nusepas.com/2010/05/el-arte-de-la-programacion/</link>
		<comments>http://blackhold.nusepas.com/2010/05/el-arte-de-la-programacion/#comments</comments>
		<pubDate>Wed, 12 May 2010 16:01:20 +0000</pubDate>
		<dc:creator>Blackhold</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://blackhold.nusepas.com/?p=1510</guid>
		<description><![CDATA[<p>Ay! qué cierto! xD para esto es necesario comentar el código ¡¡¡porfavooooorrr!!!</p>
<p style="text-align: center;"><a href="http://blackhold.nusepas.com/wp-content/uploads/2010/05/el-arte-de-la-programacion.png"><img class="size-full wp-image-1511 aligncenter" title="el-arte-de-la-programacion" src="http://blackhold.nusepas.com/wp-content/uploads/2010/05/el-arte-de-la-programacion.png" alt="" width="434" height="581" /></a></p>
<p>No entiendo tu código, ¿qué hace esto de aquí?</p>
<p>No lo sé, pero sin esto no funciona&#8230; <a href="http://blackhold.nusepas.com/2010/05/el-arte-de-la-programacion/" class="read_more">&#124;&#124;&#124; Seguir leyendo... >>></a></p>]]></description>
		<wfw:commentRss>http://blackhold.nusepas.com/2010/05/el-arte-de-la-programacion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monos programadores</title>
		<link>http://blackhold.nusepas.com/2010/05/monos-programadores/</link>
		<comments>http://blackhold.nusepas.com/2010/05/monos-programadores/#comments</comments>
		<pubDate>Wed, 12 May 2010 15:57:10 +0000</pubDate>
		<dc:creator>Blackhold</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://blackhold.nusepas.com/?p=1506</guid>
		<description><![CDATA[<p>¡Anda! cuantas veces he dicho que esto de la programación es para monos! xD</p>
<p style="text-align: center;"><a href="http://blackhold.nusepas.com/wp-content/uploads/2010/05/monos_picando_codigo.jpg"><img class="alignnone size-full wp-image-1507" title="monos_picando_codigo" src="http://blackhold.nusepas.com/wp-content/uploads/2010/05/monos_picando_codigo.jpg" alt="" width="400" height="308" /></a></p>
<p style="text-align: center;">La expresión es cierta, ya que en los 70 hubo un experimento dónde se trató de enseñar a programar a los monos, además de los estudios en cuanto tiempo un animal era capaz de escribir una frase del libro de Shakespeare en menos tiempo.&#8230; <a href="http://blackhold.nusepas.com/2010/05/monos-programadores/" class="read_more">&#124;&#124;&#124; Seguir leyendo... >>></a></p>]]></description>
		<wfw:commentRss>http://blackhold.nusepas.com/2010/05/monos-programadores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5: muestras de su potencia (vídeo y 3d)</title>
		<link>http://blackhold.nusepas.com/2010/04/html5-muestras-de-su-potencia-video-y-3d/</link>
		<comments>http://blackhold.nusepas.com/2010/04/html5-muestras-de-su-potencia-video-y-3d/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 11:25:38 +0000</pubDate>
		<dc:creator>Blackhold</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://blackhold.nusepas.com/?p=1419</guid>
		<description><![CDATA[<p>Impresionante y al mismo momento inquietante demostración de lo que es capaz el HTML5 gracias a las etiquetas canvas y video (Canvas.drawImage()).</p>
<p>Con un simple pedazo de código es posible hacer cosas tan potentes como esto:</p>
<p style="text-align: center;"><a href="http://craftymind.com/factory/html5video/CanvasVideo.html" target="_blank"><img class="alignnone" src="http://www.craftymind.com/wp-content/uploads/2010/04/html5boom.jpg" alt="" width="399" height="241" /></a></p>
<p style="text-align: left;">Pulsa el vídeo y verás como se esparce por toda la página y vuelve en si, como si de un replicador de estos de SG-1 se tratase!</p>
<p style="text-align: left;">En <a href="http://www.craftymind.com/2010/04/20/blowing-up-html5-video-and-mapping-it-into-3d-space/" target="_blank">esta página</a> encontraréis más información de como se ha hecho, también tenéis la alternativa de hacer un control+u y ver el código ;)&#8230; <a href="http://blackhold.nusepas.com/2010/04/html5-muestras-de-su-potencia-video-y-3d/" class="read_more">&#124;&#124;&#124; Seguir leyendo... >>></a></p>]]></description>
		<wfw:commentRss>http://blackhold.nusepas.com/2010/04/html5-muestras-de-su-potencia-video-y-3d/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTML5</title>
		<link>http://blackhold.nusepas.com/2010/02/html5/</link>
		<comments>http://blackhold.nusepas.com/2010/02/html5/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 03:24:02 +0000</pubDate>
		<dc:creator>Blackhold</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blackhold.nusepas.com/?p=1145</guid>
		<description><![CDATA[<p>Pues si entráis a este blog con un navegador compatible habréis notado el pequeño cambio de look, pero no sólo cambia el look sino también el código&#8230; venga! dale al control+u!</p>
<p>Si si, HTML5! pues anda aquí lo tenéis, existe y es usable y según mi primera impresión super comprensible y fácil de modificar. Esto si, no he programado el tema del wordpress desde 0, he usado un tema de wordpress llamado <a href="http://themeplayground.digwp.com/" target="_blank">H5</a> y he tratado de modificarlo de tal forma para que se parezca un poco al <a href="http://blackhold.nusepas.com/2009/09/migracion-del-blog/" target="_blank">mandingo</a> que tenía anteriormente.<br />
<span id="more-1145"></span></p>
<p>Algunas de las novedades que trae HTML5 es la incrustación de css, es posible definir las propiedades de cada uno de los elementos sin la necesidad de lenguajes externos (desaparecen los molestos span y div), definir etiquetas que no existen, además de la reproducción de audio y vídeo sin la necesidad de conectores externos (<a href="http://www.youtube.com/html5" target="_blank">adiós flash</a>!), definición del idioma de la página, mejora de los elementos script (algunas propiedades llevan los tipicos onmouse, onreselease, etc.) y no se cuantas cosas mas&#8230; así que aquí lo tenéis y se pueden hacer cosas tan potentes como esto: <a href="http://mugtug.com/sketchpad/"><strong>Sketchpad</strong></a>.</p>
<p>Dejad volar la imaginación :)</p>
<p>Algunos links de interés:<br />
<a href="http://en.wikipedia.org/wiki/HTML5" target="_blank">wikipedia</a><br />
<a href="http://www.w3schools.com/html5/html5_reference.asp" target="_blank">Referencia HTML5 w3schools</a><br />
<a href="http://dev.w3.org/html5/html-author/" target="_blank">Otra referencia HTML5 de w3c</a><br />
<a href="http://html5demos.com/" target="_blank">Algunas demostraciones mas de lo que es capaz HTML5</a><br />
<a href="http://woork.blogspot.com/2009/09/html-5-visual-cheat-sheet-by-woork.html" target="_blank">plantilla gráfica del HTML5</a></p>
<p>Los que no hicisteis los deberes con el css y el xhtml, ahora tenéis la oportunidad de re-engancharos :)&#8230; <a href="http://blackhold.nusepas.com/2010/02/html5/" class="read_more">&#124;&#124;&#124; Seguir leyendo... >>></a></p>]]></description>
		<wfw:commentRss>http://blackhold.nusepas.com/2010/02/html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>arrancando django y primer script</title>
		<link>http://blackhold.nusepas.com/2009/10/arrancando-django-y-primer-script/</link>
		<comments>http://blackhold.nusepas.com/2009/10/arrancando-django-y-primer-script/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 21:03:10 +0000</pubDate>
		<dc:creator>Blackhold</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://blackhold.nusepas.com/?p=616</guid>
		<description><![CDATA[<p>Pues parece que tras la correcta (espero) instalación de django, ahora toca empezar a hacer un primer script.</p>
<p>Para aquellos que os canséis de los comentarios o anotaciones estúpidas que hago tenéis la fuente en este <a href="http://docs.djangoproject.com/en/dev/intro/tutorial01/" target="_blank">link</a>.</p>
<p>En una de las cajas de comentarios que hay comentan, si eres un phpero, python no es php! los ficheros que programas no van en /var/www en el caso que vayas a hacer una página web, esto puede ser incluso peligroso, así que creamos un directorio donde vivirán todos nuestros proyectos.</p>
<p>Para <strong>crear un nuevo proyecto</strong> lo haremos con el django-admin.py</p>
<p>$ cd ~/scripts/django<br />
$ django-admin.py startproject holamundo</p>
<p>Esto nos crea un directorio con 4 ficheros con extensión .py:<br />
* __init__.py: Es un fichero vacío que le dice a Python que este directorio debe tratarse como un paquete de python.<br />
* manage.py: Una utilidad de consola que te permite interactuar con el proyecto Django de varias formas. Puedes leer todos los detalles sobre manage.py en django-admin.py y manage.py.<br />
* settings.py: Propiedades/Configuración de este proyecto Django. Las propiedades de Django nos darán alguna pista de como funcionan.<br />
* urls.py: Las declaracion de las URL para este proyecto; una &#8220;tabla de contenidos&#8221; de tu página bajo django.</p>
<p><strong>Ejecutar el proyecto</strong><br />
Ahora vamos a comprobar que nuestro proyecto funciona (si, esto ya es un proyecto funcional, pero vacío). Para ello entramos al directorio del proyecto y escribimos:</p>
<blockquote><p>$ python manage.py runserver<br />
Validating models&#8230;<br />
0 errors found</p>
<p>Django version 1.2 pre-alpha SVN-11638, using settings &#8216;holamundo.settings&#8217;<br />
Development </p>&#8230; <a href="http://blackhold.nusepas.com/2009/10/arrancando-django-y-primer-script/" class="read_more">&#124;&#124;&#124; Seguir leyendo... >>></a></blockquote>]]></description>
		<wfw:commentRss>http://blackhold.nusepas.com/2009/10/arrancando-django-y-primer-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>instalación de django</title>
		<link>http://blackhold.nusepas.com/2009/10/instalacion-de-django/</link>
		<comments>http://blackhold.nusepas.com/2009/10/instalacion-de-django/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 19:08:38 +0000</pubDate>
		<dc:creator>Blackhold</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://blackhold.nusepas.com/?p=612</guid>
		<description><![CDATA[<p>Venga, vamos a rompernos un poco la cabeza, ahora que la tenemos un poco clara después de una soleada tarde y una agradable comida entre amigos.</p>
<p>Hoy puede ser un gran día para empezar con python, pero primero tengo que instalar un entorno de desarrollo que se llama django que me ha recomendado <a href="http://blog.tenak.net/" target="_blank">marc0s</a>.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://media.djangoproject.com/img/site/hdr_logo.gif" alt="" width="117" height="41" /></p>
<p>Para empezar con las cosas sencillas en lugar de instalar el programa por apt, vamos a descargarnos los sources y vamos a ejecutar un par de comandos que los apunto para no tener que estar sufriendo unos minutos porque el programa no funciona.</p>
<p>Primero de todo lo descargamos:</p>
<blockquote><p>$ cd ~/bin<br />
$ svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk</p></blockquote>
<p>una vez finalizado hacemos un par de vínculos simbólicos para que podamos ejecutar el django simplemente llamándolo en la consola.</p>
<blockquote><p>$ su<br />
# ln -s `pwd`/django-trunk/django /usr/local/bin/django<br />
# ln -s `pwd`/django-trunk/django/bin/django-admin.py /usr/local/bin</p></blockquote>
<p>y ahora le decimos al sistema que el path del python es el del django.</p>
<p>en la página web de djando, dónde cuenta como <a href="http://docs.djangoproject.com/en/dev/topics/install/#installing-official-release" target="_blank">hacer la instalación</a>, contaba algo del PYTHONPATH, que no era necesario en linux, así que he ejecutado directamente el django-admin.py para ver qué ocurría y me soltaba esto:</p>
<blockquote><p>$ django-admin.py<br />
Traceback (most recent call last):<br />
File &#8220;/usr/local/bin/django-admin.py&#8221;, line 2, in<br />
from django.core import management<br />
ImportError: No module named django.core</p></blockquote>
<p>finalmente he escrito esto y ya funciona:</p>
<blockquote><p>$ export PYTHONPATH=/home/laura/bin/django-trunk</p></blockquote>
<p>para hacerlo permanente añadid el PYTHONPATH en vuestro .bashrc.</p>
<p>finalmente ejecutando el django-admin.py (con el help), nos sale una ristra de comandos que &#8230; <a href="http://blackhold.nusepas.com/2009/10/instalacion-de-django/" class="read_more">&#124;&#124;&#124; Seguir leyendo... >>></a></p>]]></description>
		<wfw:commentRss>http://blackhold.nusepas.com/2009/10/instalacion-de-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: blackhold.nusepas.com @ 2012-02-09 06:47:31 -->
