14 de noviembre de 2008

Segunda Entrega Robot en OpenGL


Para la segunda entrega del robot en OpenGL tuvimos que agregar muchas mas features:

  • Iluminación ambiente
  • Iluminación con color en movimiento
  • Materiales (Usamos Oro, Bronce y Plata)
  • Reflexiones
  • Primitiva creada desde cero
Para verlo en `wire mode` se usa la tecla 'W'. Para aumentar o disminuir la cantidad de triangulos de la primitiva se usa la tecla 'A' y 'a'.

* Como el servicio pastebin caduca a los pocos días en esta ocasion no publicaré el codigo hasta encontrar otro servicio similar con mejores prestaciones. Si saben de alguno no duden en comentarme. Si quieres el código con gusto se los proporcionare personalmente.

4 de noviembre de 2008

Mejora el arranque de GNOME Terminal

En sistemas basados en Debian (Ubuntu, Mint, etc.) y tal vez en otras distribuciones sucede que la terminal de GNOME (y algunas otras aplicaciones) puede tardar en arrancar porque decide buscar el hostname de la maquina local en 127.0.0.1, cuando en estos sistemas esta fijado en 127.0.1.1. Nuestro archivo /etc/hosts luce asi:

127.0.0.1 localhost
127.0.1.1 inspiron
Para solucionarlo tenemos que agregar nuestro hostname a la primera linea asi:
127.0.0.1 localhost inspiron
127.0.1.1 inspiron
Visto en: LinuxMint Wiki | Gentoo Forums

1 de noviembre de 2008

Robot en OpenGL

Desarrollé un robot humanoide en OpenGL y GLUT para una clase y se los comparto aquí. Mueve los miembros en todos los ejes y tiene limites "naturales". Código. Compilenlo asi:

cc robot.c -lglut -lGL -lGLU -pthread -lm -Wall -o robot

27 de octubre de 2008

Benchmarking de TraceMonkey en Firefox 3.1b1

Tras habilitar TraceMonkey en Firefox 3.1b1 (vease punto 7 de este link) decidi hacer unas pruebas de este que se dice ser el motor javascript mas rapido del mundo, las cuales arrojaron los siguientes resultados:


Suponiendo el mejor de los casos SIN el motor en 3,021.56 ms, y el peor de los casos CON el motor en 1,830.3 ms , podemos decir que con TraceMonkey tabajando ocupamos solo el 60% del tiempo de procesamiento cuando no esta habilitado. Una mejora del 40% ! Les invito a nuestros amigos de Google Chrome a igualarlo.

Saludos!


SIN TraceMonkey Habilitado:
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 3039.8ms +/- 0.6%
CON TraceMonkey habilitado:
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 1821.2ms +/- 0.5%

23 de febrero de 2008

Importar marcadores de Firefox en Nautilus

En mi intento por conseguir que mi browser sea más limpio y funcional he decidido eliminar la barra de menús con éste plugin y también la barra de marcadores. Mediante éste script en PHP que he adaptado he logrado importar los marcadores de Firefox y convertirlos en launchers para Nautilus. Por cierto estoy usando el nuevo Firefox Beta 3, sin embargo debe funcionar con versiones anteriores sin ningun problema, sólo recuerden modificar el script para que apunte correctamente a su archivo bookmarks.html y la carpeta donde se guardarán los favicons. A continuación les muestro un screenshot del resultado:


19 de febrero de 2008

Ajax con JQuery

JQuery nos da los metodos $.ajax, $.post y $get para manejar peticiones AJAX. Los dos últimos son derivados de $.ajax, con una interfaz mas simple. $.ajax es el más completo y nos permite manipular la petición a nuestro antojo como muestro a continuación:


function openAjax(url, data) {
$.ajax({
type: “POST”,
url: url,
data: data,
beforeSend: function() {
$(’#ajax’).hide();
$(’#ajax’).html(”);
$(’#ajax_loading’).fadeIn(’slow’);
},
success: function(callback) {
$(’#ajax’).html(callback);
},
complete: function() {
$(’#ajax_loading’).hide();
$(’#ajax’).fadeIn(’slow’);
},
error: function() {
$(’#ajax’).html(’Ajax ERROR.’);
}
});
}

18 de febrero de 2008

¿Sí o no?

Parece ser que a la línea de autobuses Noreste le gusta burlarse y confundir a sus pasajeros bilingües cuando éstos se ven en la necesidad darse una vuelta por los cómodos baños de éstas guaguas:

13 de febrero de 2008

Rotando Wallpapers en GNOME

He modificado un script en Perl que permite rotar wallpapers en GNOME cada cierto intervalo de tiempo. Lo adapté para que parseara el XML ~/.gnome2/backgrounds.xml el cual contiene los wallpapers favoritos del sistema y los usé en lugar de tener que especificar una carpeta del disco duro. Para instalarlo guarda el codigo en algun lugar de tu disco duro y hazlo ejecutable (chmod +x archivo.pl). Ya solo queda definir que se ejecute automáticamente cada vez que inicies sesión (Sistema->Preferencias->Sesiones). Aqui les dejo el código:

#!/usr/bin/perl -w
#
# Default GNOME backgrounds feature by benji
# Originally Written by Michael Moore, Nov. 2007, placed in the public domain
#
# Requieres libxml-simple-perl
# $ sudo apt-get install libxml-simple-perl
#

use strict;
use warnings;
use XML::Simple;

my $switchTime = 300; # Edit to the number of seconds between photo switches
my $xml = new XML::Simple;
my $data = $xml->XMLin("/home/".getpwuid($<)."/.gnome2/backgrounds.xml");
my @photos;
my $temp;

foreach my $key (keys (%{$data->{wallpaper}})){
$temp = $data->{wallpaper}->{$key}->{filename};
if($temp ne "(none)") {
push(@photos,$temp);
}
}

chomp(@photos);

my $photo;

while(1)
{
$photo = $photos[rand($#photos)];
`gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$photo"`;
sleep($switchTime);
}


Nota: Necesitas la libreria XML-Simple. Si usas ubuntu o derivados instalala ejecutando:
$ sudo apt-get install libxml-simple-perl

Jugando con Inkscape

No soy un dieñador gráfico ni nada por el estilo, pero siempre me he sentido atraído por el dibujo vectorial. Existen varias opciones, entre las más destacadas de Adobe y Corel, sin embargo estoy más familiarizado con Inkscape, que no le pide nada a sus contrincantes antes mencionados y además es open source. A continuación les dejo una muestra de lo que se puede llegar a hacer con esta aplicación sin necesidad de ser un Picasso:



Mi perfil en deviantART
.

Vulnerabilidad en la web del IPN

Navegando me encontré con una vulnerabilidad en el sitio del Instituto Politécnico Nacional que permite obtener casi cualquier archivo del servidor usando la siguiente URL:

http://www.cicimar.ipn.mx/cicimar/publica/verarchivos.php?archivo=../../../../../etc/passwd

Están avisados.