Latest entries
Reemplazando expresiones regulares en ficheros con sed
14 December 2010
Cuando trabajamos con un editor de textos en la terminal, en ocasiones echamos de menos un Ctrl+H para reemplazar un texto por otro. Esto es especialmente útil cuando estamos configurando un servidor remoto a través de SSH.
Para ello disponemos del comando sed (Stream EDitor), que nos permite filtrar y hacer transformaciones sobre texto.
Breves: Cómo crear un lanzador personalizado con varios comandos en Gnome
11 December 2010
Alguna que otra vez he necesitado crear (o me gusta tener) un lanzador de aplicaciones que involucra la ejecución de varios comandos. Lo más típico, tener que lanzar una aplicación desde un directorio determinado:
$ cd ruta/de/aplicacion/
$ ./mi_aplicacion
Lo primero que pensé:
cd ruta/de/aplicacion/ && ./mi_aplicacion
pero esto no le gusta al lanzador de aplicaciones, no es un shell. ¿La solución? ¡Que lo ejecute un shell! :)
bash -c 'cd ruta/de/aplicacion/ && ./mi_aplicacion'
Algunas cosas útiles acerca de las funciones en Matlab
11 December 2010
Últimamente he estado trabajando mucho con Matlab, y aunque no termina de gustarme voy a ir relatando algunas experiencias y consejos que pueden ser útiles (si programas Matlab, claro). Ahora toca funciones.
Breves: Cómo listar los idiomas disponibles en Django
6 December 2010
>> from django.conf import settings
>> map(lambda lang_tuple:lang_tuple[0], settings.LANGUAGES)
['es', 'en', 'de']
Functores y ordenación mediante sort en la STL
5 December 2010
La STL, o Standard Template Library, es un conjunto de plantillas para C++ que facilitan la vida al programador, y además de una forma eficiente.
Para quién no lo conozca, un Functor o Function Object es un objeto que puede ser invocado como una función. Por tanto, nos estamos refiriendo a la instancia de a una clase o a una estructura, la cuál tiene definido el operator().
Cómo ejecutar las prácticas MPI de PDP
1 December 2010
PDP, Programación Distribuida y Paralela, es una asignatura optativa de Ingeniería Informática que estoy cursando. Para la práctica 2 nos piden ejecutar el algoritmo de Floyd (implementado sobre OpenMPI) en cuatro máquinas del aula de prácticas.
Añadir transparencias en OpenGL
1 December 2010
Para hacer que un objeto tenga cierto grado de transparencia, debemos de activar GL_BLEND e indicar como queremos que se apliquen las transparencias:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
A partir de aquí, se tendrá en cuenta el valor de alpha de los colores. Con glBlendFunc es quien nos permite decidir como aplicar el valor de alpha. Por ejemplo, podemos indicar el alpha con la siguiente función:
void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
Así, la siguiente llamada introduce una opacidad del 80% a un color rojo (255, 0, 0):
glColor4f(1.0, 0.0, 0.0, 0.8);
Manifiesto por una Red Neutral
30 November 2010
Integrar aplicaciones de Wine con Gnome
27 November 2010
Como creo que ya sabemos todos, la apariencia de las aplicaciones de Wine es espantosa (al menos por el momento). Voy a explicar como podemos tratar de solucionarlo, instalando algún tema para Wine.
Redirección de dominios con VirtualHosts en Apache2
27 November 2010
Inicialmente, el despliegue para PlagaOS lo realicé en un subdominio de MenudoProblema (palgaos.menudoproblema.es). A los pocos días decidí comprar un nombre de dominio, por lo que ahora quiero redirigir todo el tráfico de http://plagaos.menudoproblema.es hacia http://www.plagaos.com.
Cómo hacer en Django una migración manual en producción
26 November 2010
Últimamente tengo aún menos tiempo, ya que estoy aprovechando PlagaOS para actualizar los módulos de MenudoProblema y crear algunos módulos que incorporaré más adelante. Pero aquí os dejo un pequeño problema:tras explorar la limitaciones de Django FlatPages decidí hacerme mi propio módulo de páginas estáticas. Lo desarrollé, lo incluí en la página del proyecto, hice el despliegue y como no, acabé haciendo un cambio en el modelo.
Broadcom: Wifi en Fedora 14
22 November 2010
Una vez más he estado probando Fedora, aprovechando el lanzamiento de la versión 14, y una vez más me encuentro con el problema de siempre: los chipset wifi de Broadcom.
PlagaOS
22 November 2010
Llevo ya unos cuantos días sin tiempo para poder escribir, y me temo que mi tiempo irá a menos, estoy comenzando con el proyecto de fin de carrera: PlagaOS.
Breves: Cómo ejecutar caspian desde wine
9 November 2010
Para la asignatura de Ampliación de Ingeniería del Conocimiento estamos utilizando un Sistema de Razonamiento Basado en Casos que se llama Caspian.
Caspian está disponible de forma gratuita con algunos ejemplos aquí. La última versión que apareció es del 1997, así que podréis imaginar.
La ejecución es muy sencilla, en lugar de usar wine debemos usar wineconsole:
wineconsole caspian.exe chef2
La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.
