Pues si que van rápido los servidores de Ubuntu…
23 Diciembre 2008 Informática Sin comentariosEsto si que es aprovechar al 100% el ADSL de 10 megas
Esto si que es aprovechar al 100% el ADSL de 10 megas
Navegando por Internet me topé con un artículo de Kriptopolis en el cual hablan maravillas del proceso de las GPUs en comparación con las CPUs. Acto seguido me puse a buscar en Internet como usar la GPU de mi tarjeta NVDIA Geforce 8800 GTS y encontré el entorno CUDA (Compute Unified Device Architecture) de NVIDIA.
Este entorno está orientado a las tarjetas gráficas de la serie NVIDIA GeForce 8, 9, y 200; NVIDIA Tesla y muchos de los productos NVIDIA Quadro y está disponible para Windows, Linux y Mac. Tiene librerías específicas para transformadas rápidas de Fourier (FFT) y algebra lineal (BLAS) entre otras cosas. Existen plugins para MatLab y para Photoshop que usan CUDA para agilizar los cálculos que realizan. Existe otro entorno llamado BrookGPU aunque no lo he tratado a fondo parace algo más genérico.
Con una tarjeta de las mencionadas anteriormente se pueden ejecutar miles de hilos (threads) en cada uno de los nucleos que contiene la GPU a una velocidad superior que con una CPU actual.
Para trabajar con CUDA lo primero que hay que hacer es instalarse el último driver de la tarjeta NVIDIA (que ya posee soporte CUDA). Después hay que instalar el toolkit de Cuda y finalmente hay que instalarse el SDK de Cuda. Todo esto se puede bajar en http://www.nvidia.es/object/cuda_get_es.html, pero el driver recomiendo instalarlo desde la sección de drivers para obtener el más actualizado.
En el siguiente artículo explicaré como usar la potencia de cálculo de la GPU con CUDA y Visual Studio 2005, haciendo un pequeño ejemplo.
Pues finalmente y tal como aparece en la web: http://open.movilforum.com/concurso/3/ganadores GuideMe consigue el segundo puesto con un premio de 2000 €. Enhorabuena al 1er y 3er galardonados.
Lo estúve pensando el otro día y creo que para repartir los premios deberían haber seguido una fórmula de proporciones. Si el premio a repartir son 10000 € y son 3 ganadores, la formula que propondría sería 3x + 2x +x = 10000. Eso sería 6x = 10000, con lo que x ≈ 1667. Finalmente el ganador tendría la proporción 3x, por lo que se llevaría 5001 €, el segundo 3334 € (2x) y el tercero 1667 € (x).
Espero que en siguientes concursos lo hagan de esa manera para premiar al 1, 2 y 3 equitativamente.
Aprovechando que aún estoy a tiempo de presentarme al concurso de mashups de open movil forum , he creado una aplicación en java bajo licencia Apache 2.0 llamada GuideMe. Para saber más, solo teneis que pasaros por el wiki para haceros una idea de que vá. Y si quereis descargaros el código fuente, podeis hacerlo desde aquí.
Y de ejemplo, un video (lástima de enfoque al móvil):
Muchas veces nos hemos topado con páginas web que tienen un montón de enlaces edonkey publicados y quisierámos guardarlos todos en un fichero, para que luego nuestro programa favorito p2p pueda descargárselos de una tacada en vez de pulsar de uno en uno. En linux se puede hacer muy fácilmente usando los comandos wget y el grep de esta forma:
wget -q -O - <url> | grep -E -o 'ed2k://[^/]+/' > <fichero>
Donde <url> es la url de la página web que contiene los enlaces y <fichero> es el fichero donde queremos guardarlos.
Si en el anterior artículo hablaba sobre las bondades del jpgraph generando gráficas para php, en este comento una utilidad estupenda para hacer gráficas animadas en flash.
XML/SWF Charts es una herramienta hecha en flash creada por Manii. Esta herramienta es un conjunto de ficheros swf que guardaremos en nuestro servidor y que a través de un fichero xml daremos forma a nuestra gráfica. Se pueden generar un montón de gráficas distintas, y lo mejor: son animadas. Aunque flash no está tan extendido como las imágenes estáticas en los navegadores, podría aventurarme que un 90% o más se verá perfectamente.
Así por ejemplo, este fichero xml hace que se muestre esta gráfica:
Para crear gráficas en php no he encontrado mejor herramienta que jpgraph. Es gratuito si no se usa comercialmente y su uso es muy sencillo.
Tiene muchos tipos de gráficas para representar datos y se instala fácilmente en cualquier servidor: Copiando la carpeta src en el servidor web, renombrándola a jpgraph y luego simplemente enlanzando dentro de nuestro script php las librerías.
Así por ejemplo podemos crear un gráfico simple con unos datos sobre la renta per cápita de distintos países:
Para generar este gráfico hay que seguir estos pasos:
Incluir las librerias (la ruta dependerá de donde las hayamos copiado):
include ("../../jpgraph/jpgraph.php");
include ("../../jpgraph/jpgraph_bar.php");
Creamos dos arrays con los datos que se van a representar (eje x e y):
$datax = array("Alemania", "España", "Francia", "Italia", "Reino Unido");
$datay = array(43267, 22368, 37644, 32949, 39762);
Creamos el objeto del gráfico de un tamaño de 500px * 200px y establecemos que el eje x es texto y el eje y es numérico:
$graph = new Graph(500,200,"auto");
$graph->SetScale("textlin");
Establecemos los márgenes del gráfico y le añadimos una sombra por detrás:
$graph->img->SetMargin(50,100,20,40);
$graph->SetShadow();
Creamos un objeto de gráfica de barras, decimos que su color sea naranja, que se muestre la leyenda y que añada esa gráfica al objeto general.
$barra = new BarPlot($datay);
$barra->SetFillColor("orange");
$barra->SetLegend("Euros");
$graph->Add($barra);
Le añadimos un título al gráfico y otro a uno de los ejes, poniendo ambos en negrita:
$graph->title->Set("Renta per cápita");
$graph->xaxis->title->Set("Países");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
Añadimos el texto del eje x y finalmente lo mostramos:
$graph->xaxis->SetTickLabels($datax);
$graph->Stroke();
El otro día estuve probando cómo con el airoplay se puede desconectar a todos los usuarios de una red wifi, probándolo en la red wifi de mi casa. Y efectivamente, dejó a mi pda sin conexión mientras duró el ataque.
Aunque no se ve bien, con la pda hago ping a google y funciona correctamente. Luego me voy al ordenador, ejecuto el ataque del airoplay y a continuación vuelvo a enfocar la pda, donde se ve el cambio de estado de los paquetes ping a time out. Después paro el ataque, enfoco de nuevo la pda y se ve como otra vez hace ping a google correctamente.
Muchas veces cuando quieres hacer una web con menús te gustaría darla un toque especial y hacer las opciones en forma de botones con texto. Con el GIMP o el photoshop se puede hacer, pero es engorroso.

Pero hay una manera mucho más cómoda. En la web http://www.buttongenerator.com/
puedes generar botones y menús de botones dinámicamente. Hay algunos que son libres y otros que sólo se pueden usar si te registras en la web. Si los usas debes poner un link a buttongenerator y no puedes venderlos ni incluirlos en un almacén de imágenes o plantilla web.
Con la documentación aportada en este sitio http://akutz.files.wordpress.com/2008/05/vi3progplugin-rev13.pdf he sido capaz de crear un plugin para los clientes de VMWare Infraestructure. El plugin en cuestión es un chat para que la gente que esté conectada y tenga instalado el plugin puedan hablar entre ellos aunque estén distantes geográficamente.
Con el plugin cada cliente se conecta a un servidor de B.B.D.D. SQL Server para comprobar si hay mensajes de otros usuarios cada poco tiempo, al igual que guarda en este los mensajes escritos por el usuario. Si un usuario no está en el chat en ese momento se le puede llamar haciendo doble click en el nombre de la lista de sesiones.
La pena es que la API no haya sido publicada oficialmente por VMWare. Aún más engorroso es registrar una extensión del servidor (para poner el plugin a disposición de todos) ya que se usan triquiñuelas y no se sabe si VMWare dará documentación de como hacerlo.
Los plugins por lo general deben instalarse en el directorio del ordenador cliente [directorio de VMware]\Infrastructure\Virtual Infrastructure Client\Plugins.
Como está personalizada para mi empresa no pongo los fuentes, pero si alguien desea preguntarme algo lo puede hacer usando los comentarios de este mismo artículo.