Blackhold

Archive for the “Programación” Category

Arreglar el widget del tiempo de mate

Posted on agost 31st, 2016 by admin

Los usuarios del sistema de escritorio mate os habréis encontrado que ya hace unos días que el widget del tiempo no devuelve datos, el motivo de ello es que la página web de dónde se recolectaban los datos (weather.noaa.gov) ha dejado de funcionar. Para ello la solución es modificar la librería.

El código que hay en github puede requerir versiones de dependencias mas nuevas que las que hay en nuestro sistema, así que una de las soluciones es descargarnos el código de la versión que tenemos instalada en nuestro sistema.
Para no guarrear mucho mi sistema voy a descargarme el código en una maquina virtual (con la misma versión de sistema operativo que en mi portátil), instalar las dependencias necesarias para compilar la librería, descargar el código y modificar la librería, compilar la librería y finalmente copiar el fichero resultante a mi sistema.… ||| Seguir leyendo... >>>

Gif animado lluvias meteocat.com

Posted on novembre 16th, 2011 by admin

Pues harta ya de cada vez que llueve tener que ir a la página de meteocat.com 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.

Para hacerlo funcionar simplemente necesitamos php5-gd:

# apt-get install php5-gd

el código

# 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{'src'},"./"));

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

        imagedestroy($png);
}

exec("/usr/bin/convert -delay 60 -loop 0 ./meteo.*.gif ./meteo.gif");
exec("rm ./meteo.*.gif");

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.

# vi /etc/crontab
# generador meteocat
*/6 * * * * root php /var/www/meteocat.php

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!-).

||| Seguir leyendo... >>>

Etiqueta pre

Posted on octubre 15th, 2011 by admin

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.

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.

Aquí el pedacito de código:

section>pre {
	font-size: 1em;
	padding: 1em;
	border: 1px dashed #aa0000;
	color: #000;
	background-color: #FFFFDB;
	line-height: 1.1em;
	overflow: auto;
        overflow-y: hidden;
}

Como el template del blog es en HTML5, le aplico esta propiedad sólo al contenido principal, en este caso section.

Espero que os guste la pequeña modificación ;)

Muchas gracias!… ||| Seguir leyendo... >>>

64k

Posted on octubre 9th, 2011 by admin

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.

Aquí tenemos una demostración de lo que se puede llegar a hacer por ejemplo con 64k de programa.

Chaos Theory – Awesome 64k Demo!||| Seguir leyendo... >>>

El arte de la programación

Posted on maig 12th, 2010 by admin

Ay! qué cierto! xD para esto es necesario comentar el código ¡¡¡porfavooooorrr!!!

No entiendo tu código, ¿qué hace esto de aquí?

No lo sé, pero sin esto no funciona… ||| Seguir leyendo... >>>

Monos programadores

Posted on maig 12th, 2010 by admin

¡Anda! cuantas veces he dicho que esto de la programación es para monos! xD

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.… ||| Seguir leyendo... >>>

HTML5: muestras de su potencia (vídeo y 3d)

Posted on abril 22nd, 2010 by admin

Impresionante y al mismo momento inquietante demostración de lo que es capaz el HTML5 gracias a las etiquetas canvas y video (Canvas.drawImage()).

Con un simple pedazo de código es posible hacer cosas tan potentes como esto:

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!

En esta página 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 ;)… ||| Seguir leyendo... >>>

HTML5

Posted on febrer 10th, 2010 by admin

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… venga! dale al control+u!

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 H5 y he tratado de modificarlo de tal forma para que se parezca un poco al mandingo que tenía anteriormente.… ||| Seguir leyendo... >>>

arrancando django y primer script

Posted on octubre 23rd, 2009 by admin

Pues parece que tras la correcta (espero) instalación de django, ahora toca empezar a hacer un primer script.

Para aquellos que os canséis de los comentarios o anotaciones estúpidas que hago tenéis la fuente en este link.

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.

Para crear un nuevo proyecto lo haremos con el django-admin.py

$ cd ~/scripts/django
$ django-admin.py startproject holamundo

Esto nos crea un directorio con 4 ficheros con extensión .py:
* __init__.py: Es un fichero vacío que le dice a Python que este directorio debe tratarse como un paquete de python.
* 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.
* settings.py: Propiedades/Configuración de este proyecto Django. Las propiedades de Django nos darán alguna pista de como funcionan.
* urls.py: Las declaracion de las URL para este proyecto; una “tabla de contenidos” de tu página bajo django.

Ejecutar el proyecto
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:

$ python manage.py runserver
Validating models…
0 errors found

Django version 1.2 pre-alpha SVN-11638, using settings ‘holamundo.settings’
Development

||| Seguir leyendo... >>>

instalación de django

Posted on octubre 23rd, 2009 by admin

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.

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 marc0s.

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.

Primero de todo lo descargamos:

$ cd ~/bin
$ svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk

una vez finalizado hacemos un par de vínculos simbólicos para que podamos ejecutar el django simplemente llamándolo en la consola.

$ su
# ln -s `pwd`/django-trunk/django /usr/local/bin/django
# ln -s `pwd`/django-trunk/django/bin/django-admin.py /usr/local/bin

y ahora le decimos al sistema que el path del python es el del django.

en la página web de djando, dónde cuenta como hacer la instalación, 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:

$ django-admin.py
Traceback (most recent call last):
File “/usr/local/bin/django-admin.py”, line 2, in
from django.core import management
ImportError: No module named django.core

finalmente he escrito esto y ya funciona:

$ export PYTHONPATH=/home/laura/bin/django-trunk

para hacerlo permanente añadid el PYTHONPATH en vuestro .bashrc.

finalmente ejecutando el django-admin.py (con el help), nos sale una ristra de comandos que … ||| Seguir leyendo... >>>

guy fawkes