Archivo de la categoría ‘Software’

Foto Mosaico

Sábado, 27 de Diciembre de 2008 por mery

Os propongo un regalo original y asequible para cualquier bolsillo: ¡haz un foto mosaico!

Detalle del foto-mosaico de Einstein

Detalle del foto-mosaico de Einstein

Hay varios programas que te permiten hacerlo. Uno de los más conocidos es Easy-mosaic, pero yo os explicaré los trucos de Foto-Mosaik, que me resultó más fácil e intuitivo de manejar.
Siguiendo las instrucciones, en 5 minutos puedes tener tu mosaico listo. Cosas que saber:
- Galería de imágenes que cogerá el programa para hacer el mosaico. Cuantas más, mejor. Puedes especificar cuántas veces quieres que se repitan. No hace falta que sean de mucha calidad, porque su tamaño real no será de más de un par de cms. ¡Ojo! El programa siempre las coge en apaisado. Rotadlas antes de hacer el mosaico si tenéis mucho interés en que la foto no aparezca cortada.
- Foto para el mosaico. Lo que mejor quedan son primeros planos, nada de mucha gente o cosas pequeñas.
- En Foto-Mosaik especificas:
1. Nº de piezas que componen el mosaico.
2. Tamaño de estas piezas.
3. Veces que se repite cada foto de tu galería.
¡Cuidado! No emocionarse con 8000 piezas, de tamaño de centenares de pixel. El resultado será una foto gigantesca (varios cientos de Mb) y el programa se cuelga. Algo normal pueden ser 2000-4000 piezas, con unos 80-150 pixel de ancho.
4. Una vez que está generado el mosaico, te permite superponer como transparecia la foto original. Ayuda sobretodo a que encajen los colores. Con un 40-50% suele ser más que suficiente.
La imagen se genera en .bmp. Antes de llevarla a revelar, comprobad que tiene el formato que queráis (4×3, 10×15), que si no os cortaran los bordes. También recomiendo guardarla en .jpeg, porque en las tiendas de revelado no se llevan bien con cualquier cosita que no sea lo estándar que manejan a diario.

Pues ya tenéis otra idea para Reyes.

Troyanos, AVG y cómo cundio el pánico

Miércoles, 12 de Noviembre de 2008 por mery

Domingo por la mañana. Mientras leía tranquilamente la crónica de un nefasto Madrid de la noche anterior, de repente …
- ¡Warning! Hemos encontrado unos troyanos! ¿Limpiar?
- Veeeeeeeeeenga, no seas pesado. Ya está el antivirus dando la lata… sólo quiero acabar de leer la crónica. No, no hagas nada.
5 minutos más tarde…
- ¡Warning! Hemos encontrado unos troyanos! ¿Limpiar?
- Pesado! Hale, limpiar.
- Su sistema puede volverse inestable, ¿está seguro de continuar?
- Hombre, si me dices que debo limpiar, confiaré en que sabes lo que haces… Sí, limpia.

Ups… por qué se reinicia? Ups… ¿por qué no es capaz de arrancar bajo Windows??? Ups… ups…
Gotita de sudor… ¿¿¿Por qué hace más de 6 meses que no hago un back-up con todo eso que debí guardar pero sólo tengo en mi disco duro??? Mierda, mierda, mierda…
Tras un minuto de pánico, arranco bajo Linux y ¡uf! todo sigue ahí.
Empleo una bonita tarde de domingo en salvar todo lo esencial del ordenador en un disco duro externo ante un formateo inminente…

Conclusión: ¿¿¿para que quiero un antivirus que hace lo mismo que un virus???

Si os suena la historia, ya sabréis qué me pasó el domingo: yo soy una de tantas con AVG, un popular (si no el que más) antivirus gratuito. Resulta que su actualización del domingo hizo que en todos los ordenadores donde estaba instalado (tanto versión gratuita como de pago) se reconociese la user32.dll como virus.
Jeje, sí, vamos, que aún me estoy partiendo de risa… je, je, je.

La solución no pasa por formatear, es simple: coger de nuevo el archivo desde el CD de instalación de Windows.
Pero creo que más de uno casi le dio un infarto al ver que su ordenador no arrancaba… en fin…

Lo más “gracioso”: que pasó exactamente lo mismo hace 1 año con la versión 7.5! ¿Lo repetirán para el 2.009? ¿Es una broma que nadie, sólo ellos, entienden? Afu…

Mail Goggles, por si vas del revés

Martes, 4 de Noviembre de 2008 por manu

¿¿¿¿Te acaba de dejar la novia y te has ido a llorarle las penas a una botella???? ¿¿¿¿¿Llegas a casa lleno de ira o en evidente estado de depresión alcohólica y te dispones a enviar un mail???? Ah, amigo, gmail no te dejará hacerlo tan fácilmente, si conoces tus debilidades: para eso está Mail Goggles, que no te dejará enviar un mail si no demuestras cierta claridad en tus pensamientos.

En principio no tienes más que buscarlo en Google Labs de tu cuenta de Gmail y se activará automáticamente los viernes y sábados de 10pm a 4am. Una vez activado, en tus opciones podrás configurar las horas y la dificultad de las pruebas a las que serás sometido. Si vas del revés, te recomendarán irte a dormir, y mañana será otro día… Algunos Google Labs son tremendos, pero este se llevaba la palma :-)

Multiplataforma Real

Sábado, 1 de Noviembre de 2008 por jorge

CMake es un generador de proyectos o Makefiles para diferentes plataformas. La idea es que tu código en C/C++ sea compilable en diferentes plataformas lo que normalmente suele implicar diferentes compiladores. En el mundo de C/C++ la batalla siempre está entre la cadena de herramientas gnu o los compiladores de Microsoft. Otra de sus ventajas es que permite compilar con facilidad en un directorio diferente del que contiene el código fuente. Esto es muy cómodo para realizar compilaciones cruzadas diferentes de un mismo código.

CMake permite generar makefiles para la cadena de herramientas GNU o proyectos de Visual C nativos. Pero su ventaja fundamental no es esta sino una biblioteca de scripts que permite resolver las dependencias del código que compilamos. Los que hayan entrado en este mundo en los tiempos de Ubuntu/APT y la instalación de paquetes automática quizá no sepan el terrible infierno que puede ser compilar un programa que depende de 5 librerías que a su vez depende de otras 5 que entran en conflicto entre sí.

Para crear un proyecto que compile con CMake lo único que hay que hacer es insertar un fichero de texto llamado “CMakeLists.txt” en cada directorio del proyecto que tenga archivos compilables.  Supongamos que queremos hacer un ejecutable que se llama Demo que depende de una librería que se llama Hello. El código de la librería y el ejecutable residen en los directorios Demo y Hello respectivamente.

El directorio de mayor nivel contiene el siguiente código:

# El nombre del proyecto es "HELLO". Los ficheros CMakeLists en este proyecto
# se refieren al direcotrio raíz del proyecto como ${HELLO_SOURCE_DIR} y
# al directorio raiz donde se almacenan los binarios como ${HELLO_BINARY_DIR}.
cmake_minimum_required (VERSION 2.6)
project (HELLO)


# Indicamos que cmake entren en dos subdirectorios Hello y Demo
add_subdirectory (Hello)
add_subdirectory (Demo)

El directorio Hello tiene el siguiente fichero CMakeLists.txt


# Crea un librería "Hello" que incluye el fichero "hello.cpp".
add_library (Hello hello.cpp)

El directorio Demo tiene el siguiente fichero CMakeLists.txt


# Definimos los ficheros de cabecera de la cabecera de la librería.
include_directories (${HELLO_SOURCE_DIR}/Hello)
# Definimos el lugar donde se encuentra el archivo de la librería.
link_directories (${HELLO_BINARY_DIR}/Hello)
# Creamos un ejecutable llamado helloDemo que se crea con los ficheros
# "demo.cpp" y "demo_b.cpp".
add_executable (helloDemo demo.cxx demo_b.cxx)
# Enlazamos el ejecutable con la librería Hello
target_link_libraries (helloDemo Hello)

Cuando ejecutamos cmake en el directorio raíz del proyecto automáticamente se genera un makefile o un proyecto de visual C nativo que podemos compilar con las herramientas correspondientes. En el caso de que nuestro proyecto dependa de una librería podemos usar una gran cantidad de scripts predefinidos para encontrarla. Por ejemplo si nuestro proyecto depende de la librería zlib podemos incluir en nuestro CMakeLists.txt

FIND_PACKAGE(ZLIB)

Esta línea busca la librería usando los macros predefinidos para la librería si la encuentra pone a nuestra disposición las variables

# ZLIB_INCLUDE_DIR - where to find zlib.h, etc.
# ZLIB_LIBRARIES - List of libraries when using zlib.
# ZLIB_FOUND - True if zlib found.

que luego podemos usar para compilar nuestro programa. Si cmake no encuentra las dependencias nos preguntará por su situación y rellenará las variables.

Su sencillez y su interfaz amistosa comparado con otras herramientas como automake/autoconf ha hecho que gane popularidad muy rápido y ha sido adoptado por grandes proyectos open source como KDE4 o OpenScenGraph. Desde mi punto de vista es una herramienta magnífica para compilar código opensource sobre windows.

Utilidades para LaTeX

Lunes, 20 de Octubre de 2008 por manu

En contra de lo que mucha mente calenturienta puede estar pensando, me refiero a LaTeX, sistema para preparación de documentos, mediante lenguaje de etiquetas. Lo cierto es que si te apetece escribir un libro es lo mejor que puedes utilizar, pero por defecto sólo puedes obtener .dvi .ps o .pdf como salida de sus comandos. Ahora hay alguna que otra herramienta que puede solucionarnos la vida:

  • LaTeX2rtf: Pasa archivos .tex a .rtf, con lo que ya podemos leerlo cómodamente en esos ebook readers que anuncia mery por aquí, dado que la lectura de los .pdf no está muy conseguida en cuestiones de zoom y esas cosas para esos cacharros.
    • Comando en Unix: $ latex2rtf fichero.tex
  • LaTeX2html: Pasa archivos .tex a .html, siendo su resultado bastante majo en las pruebas que yo he realizado, quedando el documento con la clásica forma de html de documentación de sourceforge. El mejor ejemplo viendo su página, que tiene pinta de estar hecha así.
    • Comando en Unix: $ latex2html fichero.tex
  • Writer2LaTeX: Archivos de OpenOffice a LaTex. Este tiene la desventaja de que el código LaTex sale un poco más guarro que hecho a mano. Yo he tenido problemas para ejecutarlo con hojas de cálculo que tienen operaciones, pero puede ser muy útil para incluir documentos con tablas grandes, etc.
    • Comando en Unix: $ w2l fichero_open_office fichero.tex

Todos estos programas son fácilmente descargables desde los repositorios disponibles en ubuntu, junto con los imprescindibles paquetes texlive-latex-recommended y texlive-latex-extra.

Actualización 01/11/8: Otra herramienta muy útil para páginas web es Mimetex, para introducir fórmulas de la misma forma que en LaTex en tu blog, y que queden como es debido. Puedes obtar por descargarte el software e instalarlo o utilizarlo ‘en remoto’ (visto y mucho mejor explicado en 1031tensai):
img src="http://www.forkosh.dreamhost.com/mimetex.cgi?
int_{-pi}^{frac{pi}{2}} e^x, dx ,!

Cómo trabajar en Windows como si fuera Linux

Lunes, 13 de Octubre de 2008 por luis

Cuando aprendes a trabajar en Linux te acostumbras a usar una serie de herramientas que se echan de menos al volver a Windows. Me refiero a la potencia de la consola, a la facilidad con la que trabajar en máquinas remotas mediante ssh o incluso a volcar aplicaciones gráficas de una máquina en otra.

Windows dispone de consola también, pero no es lo mismo. Además, las herramientas que se pueden usar son muy limitadas.

Voy a describir detalladamente los pasos que he seguido hasta tener una consola con la funcionalidad básica de cualquier consola en Linux, el servidor X y el servidor ssh. Como adelanto voy a decir que todo se basa en usar Cygwin y Console2.

(more…)

Google SketchUp: crea edificios 3D

Jueves, 25 de Septiembre de 2008 por mery

Acabo de descubrir la herramienta de Google para el dibujo/diseño de edificios: Google SketchUp.

A simple vista, parece muy intuitiva y sencilla. Cuando te pones con ella, no lo es tanto. Pero tiene un montón de modelos de otra gente y es fácil empezar con ellos.  También tiene muchos manuales de iniciación, pero no he tenido tiempo de ponerme con ninguno, es mejor cacharrear por libre. Cuando eche un vistazo a alguno, os recomendaré.
Lo que me parece realmente potente es un plug-in gratuito que Integrated Environmental Solutions (IES) ha desarrollado para Google SketchUp. Permite a cualquiera analizar el comportamiento energético del edificio que acabas de diseñar, emisiones de CO2, iluminación natural, flujos de aire y un largo etcétera. Sin duda, me parece mucho más potente que las herramientas que tenemos en España para cumplir con la reciente calificación energética de los edificios y el dichoso Calener.
Tampoco he podido probarlo, porque primero debo entender un poco cómo funciona SketchUp, pero tiene muy, muy buena pinta.

Búsquedas personalizadas en Chrome

Jueves, 11 de Septiembre de 2008 por luis

Mucho se ha hablado de las funcionalidades de Google Chrome, pero hay una muy interesante que ha pasado despapercibida, se trata de los motores de búsqueda personalizados.

Si accedemos habitualmente a alguna página en la que busquemos algo, por ejemplo WordReference.com, podemos asociar un comando a la búsqueda en WordReference y buscar diréctamente sin tener que abrir la página y buscar después.

Para ello tendremos que ir a Opciones -> Básicas y pulsar en “Administrar” junto al motor de búsqueda predeterminado. Allí encontraremos una lista de motores de búsqueda predeterminados y algunos que Chrome ha añadido automáticamente porque ya hemos buscado en ellos.

Podemos editar uno de ellos o pulsar “Añadir”. Como palabra clave pondremos el comando que queremos usar para ese buscador (por ejemplo “wr”) y como URL la URL completa cuando se realiza una búsqueda sustituyendo las palabras a buscar por %s. Si no conoces la URL de la búsqueda prueba a buscar algo en ese sitio y copiar la dirección que se genera tras buscar.
En el caso de WordReference.com, para buscar de inglés a español, sería:

http://www.wordreference.com/es/translation.asp?tranword=%s&dict=enes&B10=Search

De este modo, con introducir wr potato en la barra de dirección generaríamos la búsqueda inmediatamente.

Una de los motores de búsquedas que más utilizo es la búsqueda reciente de Google, es decir, buscar con Google pero sólo en páginas recientes. Lo explica perfectamente Jaluro en Instalaches (muy recomendable).
Yo he creado un motor de búsqueda para los resultados del último mes, usando ggg como comando y poniendo en la URL:

{google:baseURL}search?{google:RLZ}{google:acceptedSuggestion}
{google:originalQueryForSuggestion}sourceid=chrome&ie={inputEncoding}
&q=%s&as_qdr=w

Reconozco que hay algún plug-in para Firefox que tiene ésta funcionalidad, pero me parece un gran acierto incluirlo “de serie” en Chrome.

Google Chrome: primeras impresiones

Martes, 2 de Septiembre de 2008 por luis

A estas horas seguro que has visto algo sobre Google Chrome en algún sitio. Se desveló ayer y hoy ya es una realidad.

Para los rezagados diré que se trata de un navegador web de código abierto que ha desarrollado Google enfocado a servir de base para aplicaciones web.

Desde hace tiempo tengo problemas con Firefox, las aplicaciones web son cada vez más pesadas (el correo de Gmail, Google Reader, suites ofimáticas online como Zoho Google Docs…) y muchas veces hacen que se cuelgue el navegador. Una de los principales objetivos de Google Chrome es la velocidad de ejecución de Javascript mediante el uso de la máquina virtual V8.

Para ver la motivación y algunas de las carácterísticas se puede leer el comic que sacó ayer Google describiendo Chrome. Y también se pueden encontrar artículos muy interesantes sobre el tema en casi cualquier blog sobre tecnología como éste o éste.

Por ahora solo está disponible una versión beta para windows (que se puede descargar desde aquí), aunque parece ser que en breve saldrán versiones para Linux y Mac OS X. 

Tras descargar e instalar he comprobado que ha importado correctamente los marcadores de Firefox, pero eso no es todo, ha cogido incluso las contraseñas guardadas por éste (ésto me preocupa un poco, pero no es el momento).

La primera impresión es muy buena, Gmail carga reálmente rápido y lo mueve de manera muy ágil. En el resto de páginas que he probado también se puede apreciar que Javascript se ejecuta MUCHO más rápido que en Firefox 3.0.1

Animo a que todo el mundo lo pruebe, realmente es muy útil si usas habitualmente Gmail. Quiero destacar unas cuantas características interesantes:

  • El administrador de tareas que incorpora (click derecho en la barra superior) es muy útil, puedes ver el porcentaje de CPU que se lleva cada pestaña, cada plug-in y lo que se descarga cada uno. Ésto lo puede hacer porque lanza cada pestaña y cada plug-in como un proceso independiente, de manera que si uno se cuelga, no se cae todo el navegador. Se puede cerrar el proceso sin problemas.
  • La página de inicio es muy útil, con una configuración del estilo Speed Dial de Ópera en el que aparecen las páginas más frecuentes, buscador, marcadores recientes o pestañas cerradas recientemente.
  • Dispone de un modo de navegación “de incógnito” en el que no guarda nada en el historial de navegación, ni cookies ni ningún otro resto localmente sobre las páginas visitadas.
  • Me ha gustado el manejo de los certificados para la autenticación SSL (poniendo el “http” en verde cuando considera válido el certificado, y en rojo y tachado cuando no), ver ejemplos en el acceso seguro de Gmail, o en un enlace que lleva al acceso seguro a Google Reader, pero que da un problema con el certificado (discrepancias entre google.com y google.es). También el coloreado de la URL en la barra de direción es original, remarcando el dominio y dejando en gris claro el resto de la ruta.
  • La barra de direcciones se usa como entrada para búsquedas inteligentes, parece que funciona bien. Para comprobarlo podeis comenzar a escribir el nombre de alguna página que hayais visitado.

Si todavía no lo tienes claro te dejo el enlace a la guía de inicio rápido y a algo que a mí me gusta mucho, los atajos de teclado (atención al Ctrl+Mayús+Tabulador que funciona igual que en Firefox volviendo a abrir la última pestaña que hemos cerrado).

Sin duda es una aplicación muy interesante, a pesar de ser una versión beta. Solo espero poder probar las versiones para Linux y Mac OS X.

Pero no todo es maravilloso, como me ha avisado Manu, faltan algunos plug-ins como el de Java que permite ver el Live Timing en la página de la Formula1.

Wiibótica

Jueves, 31 de Julio de 2008 por manu

Robots + Mando de la Wii. Así he bautizado yo, que hoy estoy ingenioso, a esta corriente cada vez más popular, gracias a la librería libwiimote, fácil de usar y con bastantes adeptos. El máximo exponente que he encontrado en internet es la página sobre el Wiibot, que tiene el objetivo de enseñarnos a hacer un brazo robótico que juega al tenis o maneja espadas:

Wiibot jugando el tenis
Wiibot jugando al tenis

Si queréis un objetivo menos pretencioso, yo aconsejo empezar por la página web que descubrí hace tiempo de Manejo de un servo con el mando de la Wii de Juan González, que ya publiqué en FrikiWii.