domingo, 24 de diciembre de 2006

Buenos deseos

Ahora que estamos en plenas navidades quería transmitir mis mejores deseos para el año que viene. Después de todo ya casi he acabado mi primera carrera, ingeniería de telecomunicación (me falta una asignatura de 4º, medio crédito de libre elección y el proyecto fin de carrera). Por esas cosas de la vida he empezado mi segunda carrera: ingeniería industrial. Al principio fue un impulso, iniciado con un interés en los temas que se dan en la misma. Luego ha pasado a ser un reto. Espero que no se quede sólo en eso.

Por otra parte también estoy opositando para quedarme en mi actual puesto de trabajo. Tengo que darle un último empujón a esto, porque realmente me gusta mi trabajo actual.

BTW, la semana que viene se celebra la 23 edición del congreso de hackers CCC (Chaos Communication Congress). Van a retransmitir el congreso por video streaming. Si quieres más información puedes visitar la página del congreso.

Bueno, y luego también felicitar a los que lean este mi humilde blog (prefiero blog a bitácora, aunque el término sería más adecuado en español) las fiestas y si no vuelvo a escribir en mucho tiempo felicitar también el nuevo año ("próspero" año, es una coñita que tenemos en el trabajo, ya que una de nuestras aplicaciones se llama "próspero").

viernes, 20 de octubre de 2006

Google Analytics

Hoy he visto los resultados de una nueva herramienta (al menos para mí, porque llevar lleva mucho tiempo en el ciberespacio funcionando). Se trata de Google Analytics.

Sirve para analizar los resultados de las visitas que se hacen a tu página web. Realmente da igual qué página web sea, porque simplemente funciona añadiendo una línea a cada página de la susodicha página web.

Gracias a estas líneas cada vez que se carga una página (en este caso una página de mi blog) se informa a Google Analitics del acceso, pasando a su vez la IP del acceso.

De esta forma cuando accedes al interfaz puedes ver un resumen de los accesos a tu página: desde dónde han accedido, cuántos son visitantes nuevos y cuántos repiten (debo confesar que esto lo tengo que mejorar, porque en mi caso son visitantes nuevos, hay que captar clientes habituales).

Seguiré informando sobre mis descubrimientos.

lunes, 21 de agosto de 2006

Herramientas de productividad

Hay muchas herramientas por ahí con las que gratuitamente puedes organizar tu tiempo. Entre otras las que más útiles me parecen son:

Google Calendar (beta, por supuesto)

Para tareas periódicas, reuniones y demás lo mejor es tener un calendario a mano. Y qué mejor que un calendario online. Con él puedes organizar el trabajo a medio y largo plazo. Además tiene una API con la que puedes interactuar con otros programas.

Backpack

Es lo que se llama en inglés una TODO list. Es decir, una lista de las cosas que hay que hacer. Es bueno para organizarse y planificar tareas a largo plazo. La versión gratuita del servicio permite crear hasta 5 listas de este tipo.

Mozilla Thunderbird

El cliente de correo es un perfecto organizador del tiempo, siempre que no te dejes absorber por los correos que te llegan. Recomiendan al menos hacer alguna tarea antes de ponerse a leer el correo por la mañana. Esto es porque normalmente absorbe mucho tiempo. Una de las características que más me gustan es poder colorear los correos por orden de importancia. Así primero te lees todos los correos, sin empezar a solucionar ninguno de los problemas, simplemente clasificando por orden de importancia. Luego puedes ir gestionando en función de la urgencia o importancia de cada uno.    

lunes, 17 de abril de 2006

Accesibilidad en páginas web

Hago este envío más que nada para desengrasarme un poco, ya que hace bastante tiempo que no escribo aquí. La Semana Santa me ha servido para descansar la mente y el cuerpo y ahora vengo con energías renovadas.

Quería hablaros de lo último en lo que estoy investigando (siempre investigando, nunca haciendo nada útil). Más por una asignatura que tengo en la carrera que por otra cosa.

Se trata del tema de la accesibilidad en páginas web. Normalmente las páginas web actuales son muy poco accesibles a gente que tenga algún tipo de discapacidad porque los contenidos se muestran de una forma que da prioridad al aspecto más que al  contenido en sí.

Si una página está bien diseñada según criterios de accesibilidad, el contenido y la presentación están claramente separados. De esta forma, si una persona con una discapacidad de falta de visión (una persona ciega) intenta ver el contenido de la página puede simplemente acceder al contenido de la página. Éste está estructurado de forma que el título de la página va primero, luego las diferentes cabeceras y el contenido de cada sección, de forma que a esta persona le resulta mucho más fácil acceder a dicho contenido (puede usar un teclado de Braille por ejemplo o un navegador con síntesis de voz para que le lea la página).

Hay muchos grados de accesibilidad. Digamos que cuantos más accesible sea una página más “A”-es tiene. Una página no accesible no tiene aes. Una página más accesible tiene A. El siguiente es doble A (AA). Por último tenemos la página que cumple todos los requisitos de accesibilidad (AAA).

Se supone que las administraciones públicas (por ejemplo las universidades) han de tener un grado alto de accesibilidad. Sin embargo, según estudios recientes, casi ninguna cumple unos mínimos exigibles, por lo que en el futuro habrá que ponerse las pilas.

sábado, 11 de marzo de 2006

Suite de orquesta nº 3 en D-Mayor de Bach

Otra vez estoy por aquí. Esta vez quiero hablarte de otra de las piezas de música clásica que más me gustan. Se trata del segundo movimiento de la Suite de Orquesta nº 3 en D-Mayor BWV 1068. Es una pieza maestra de Bach. Digamos que todo artista tendría que aspirar a crear (cada uno en lo suyo claro) algo tan perfecto. Dura poco más de tres minutos, pero sabe concentrar en ese tiempo muchos sentimientos, transmite muchos significados. Sobre todo belleza, tristeza, grandeza y eternidad. Además yo me imagino algo que es a la vez simple y complejo. Porque no sobra ninguna nota, y cada una enlaza con la siguiente es perfecta armonía. Es una pieza que si la hubiera compuesto otro habría pasado a la posteridad y al mismo tiempo no extraña nada que la compusiera Bach porque era un genio.

sábado, 18 de febrero de 2006

Web 2.0

Creo que alguna vez he hablado aquí de la Web 2.0. Es un concepto que ahora está muy de moda (aunque bien podría extinguirse dentro de unos años). Concepto mi entender un tanto difuso. Según la Wikipedia gira en torno a algunas ideas novedosas:
  • Folksonomías: se definen a partir del elemento etiqueta. Antes la clasificación de cualquier contenido (correo electrónico, enlace, documento, etc) se hacía por carpetas. Si clasificamos por etiquetas estamos creando un sistema más versátil, porque cada contenido puede tener una o varias etiquetas. De esta forma se puede encontrar un documento por ejemplo como perteneciente a la "Etiqueta 1" y/o a la "Etiqueta 2". Esto es mucho más potente que la tradicional clasificación por directorios.
  • Sindicación de contenidos: creamos hilos de noticias asociados a los contenidos de una web. De esta forma es mucho más fácil estar actualizados y seguir las webs que nos interesen. También podemos acceder a hilos personalizados de los contenidos de cierta página. Si sólo nos interesan las noticias de deportes, por ejemplo, nos apuntamos al hilo de noticias de deportes.
  • Redes sociales y participación: dar a los usuarios la oportunidad de participar en los contenidos de nuestra web. Así se implican más y la visitan con frecuencia.
  • Usabilidad: cuanto más fácil y sencillo de usar más gente la usa.
  • Diseño atractivo: para captar la atención y que sea visualmente agradable.
  • APIs para acceder a los servicios: para que terceros desarrollen aplicaciones sobre nuestros "servicios web".
  • Etc, etc, etc.
Es decir, actualmente ningún sitio está cumpliendo 100% las aspiraciones de la Web 2.0. Sin embargo es algo a lo que deberíamos aspirar todos. Al menos pienso que sería positivo que se incorporase parte de los conceptos anteriores, sobre todo si añaden interactividad con el usuario.

martes, 14 de febrero de 2006

De la visión estereoscópica a la realidad virtual

Esta es una de esas ideas que se te ocurre que se podría hacer, pero no llegas al cómo. A mí me pasó con la aritmética modular. Era algo sobre lo que yo había pensado y cuando me lo encontré de frente dije: "Vaya, esto yo ya lo había pensado". Recientemente me ha pasado lo mismo con lo que se llama "visión estereoscópica".

La susodicha visión estereoscópica consiste en la reconstrucción de modelos a partir de proyecciones de escenarios/paisajes. Es decir, hablando más claro, a partir de fotografías. Un modelo en 3D es una representación normalmente mediante triángulos de una realidad física (persona, edificio, herramienta, árbol, etc). Mediante la visión estereoscópica se podrían generar en teoría (y también en la práctica) modelos en 3D de objetos.

De hecho lo único que se necesita a priori es un conjunto de proyecciones del objeto y saber exactamente dónde se ha cogido la proyección (en el fondo esto significa saber la posición de la cámara y las características de la cámara, tipo de objetivo, etc). Con estos datos, mediante un procesado de señal, es posible recuperar los vértices de los triángulos y generar el modelo en 3D.

Una vez tenemos la manera de generar fácilmente modelos en 3D el siguiente paso es crearse una biblioteca de modelos para poder llegar a un modelo de "mundo sintético". Tendríamos que dotar a los modelos de algún tipo de inteligencia para que interactuasen unos con otros.

Al final mediante un sistema de realidad virtual (que se puso muy de moda a principios de los 90) podríamos "meternos" en el mundo sintético, a la manera de un ciberespacio ad hoc. El futuro de las redes sociales debería de estar en una "realidad" de este tipo en mi opinión. Al menos las redes virutales.

jueves, 9 de febrero de 2006

Navegador tridimensional

He encontrado un proyecto bastante interesante sobre un navegador empotrado en OpenGL. La página web es esta, por si quieres ir a mirar. Se llama uBrowser. En principio no está muy desarrollado, pero la idea es interesante. Consiste en incrustar una aplicación en una estructura tridimensional como una esfera o un cubo. ¿Estamos cambiando el concepto de navegación web? ¿Vamos hacia la Web 2.0? Me recuerda a un proyecto que querían sacar (o han sacado) para Mac, que consistía en que las ventanas se pudieran rotar tridimensionalmente de forma que pudieras escribir cosas por detrás, o más bien que hubiera contenidos por detrás de las ventanas.

También es interesante echarle un vistazo a Konfabulator, que gira sobre el mismo concepto (aunque realmente este último es un motor de widgets, cuya idea está cogida de Mac OS X, el S.O. de Apple).
    

viernes, 3 de febrero de 2006

Indexación y motores de búsqueda

Uno de los temas que últimamente más me interesan es el de la indexación y los algoritmos de búsqueda. El interés viene del éxito que está teniendo Google. Además es uno de los temas que estudio en la carrera.

Por una parte tenemos la distinción entre algoritmo de búsqueda e indexación. Un algoritmo de búsqueda lo que pretende es encontrar entre un conjunto más o menos ordenado de elementos (me refiero por ejemplo a la diferencia entre un árbol y un conjunto sin ningún orden específico) uno en particular. La indexación, por otra parte, lo que hace es ordenar previamente el conjunto de datos (en cierto sentido en los árboles también se hace) para crear un índice en donde se puedan consultar posteriormente las búsquedas. Digamos que en la indexación el trabajo se hace por anticipado por si te lo piden, mientras que en las búsquedas hay que hacerlo en el momento en que te lo piden.

Otro de los temas que tienen relación con los sistemas de búsquedas como Google es la computación distribuida, que consiste en repartir el trabajo (realmente se llaman procesos) entre muchas máquinas, de manera que el rendimiento global es similar a tener una sóla máquina pero mucho más potente.

Para implementar un sistema de búsqueda tipo-Google lo que hay que conseguir por tanto es dominar la indexación y la computación distribuida.

Actualización: He leído un artículo donde explican la arquitectura de Google (o su filosofía de vida). Usan PCs normales como base para las agrupaciones de ordenadores en donde alojan sus aplicaciones (en inglés se llaman clusters). La fiabilidad y escalabilidad (paralelización) la consiguen por software. Están monitorizando continuamente sus equipos por si alguno se cae. Cuando esto ocurre balancean la carga de trabajo entre los equipos restantes. De esta forma el rendimiento global no se ve afectado. En todo caso dicen que aunque el coste por búsqueda se minimiza, sufren problemas de calentamiento (tienen que enfriar todos esos PCs para que no se tuesten). Uno de los lenguajes de programación que más usan es Python. Sin embargo es curioso que la aplicación principal del buscador esté desarrollada en C/C++.

viernes, 6 de enero de 2006

¿Cuál es el navegador más pesado?

Es una difícil pregunta. Además para responderla habría que tener en cuenta los diferentes navegadores que existen actualmente (o más bien los más utilizados). Hay que tener en cuenta también que algunos navegadores son específicos de ciertas plataformas. Por ejemplo, que yo sepa, Safari sólo existe para Mac y Konqueror sólo para Linux, por poner dos ejemplos. Otros navegadores se desarrollan más en ciertas plataformas (lo que se llama plataforma estratégica) que en otras, y por tanto la comparación depende mucho de la plataforma. Por último, también influye poderosamente la cantidad de páginas por las que se está navegando y el tipo de contenidos que se muestras. Es evidente que mostrar una página HTML estática no es lo mismo que mostrar una página que tenga java, javascript, flash, etc. Esta última ocupará más procesador y más memoria a la hora de mostrarse que la primera.

Por tanto, teniendo en cuenta esto, lo que voy a hacer es que el sistema operativo sobre el que se evalúa es Windows XP (a pelo, sin ningún Service Pack aplicado). Los navegadores considerados son: Mozilla Firefox, Opera e Internet Explorer. Yo creo que salvo Safari (que lo usa la gran mayoría de los usuarios de Apple) están los navegadores que más se usan.

En esta entrega voy a dar mi opinión sobre estos navegadores. Para hacer una comparativa justa habría que monitorizar el uso de recursos de cada navegador (conviviendo al menos con los mismos procesos arrancados) durante un período de tiempo significativo, en diferentes tipos de páginas. En un futuro puede que la haga pero ahora no.

Mozilla Firefox

Es software libre (al menos tal y como lo entiendo yo, es decir, gratuito, código disponible y posibilidad de mejorarlo), con las ventajas e inconvenientes que esto conlleva. Es multiplataforma (al menos las plataformas más utilizadas en ordenadores personales: Microsoft Windows, Linux y Mac). Tarda bastante en iniciarse, y en memoria tal vez es el que más ocupe de los tres. Necesita bastantes recursos. Entre las ventajas podemos destacar: se puede ampliar con extensiones y personalizar con temas. Podemos mejorar todos los aspectos que no nos gusten porque como he dicho antes disponemos del código de la aplicación.

Opera

Es uno de los que más siguen los estándares. La ocupación de memoria es intermedia. También se puede personalizar su aspecto y extenderse su funcionalidad, aunque en menor medida que el Firefox. Tiene integrado un cliente de correo y un lector de noticias (lo que es una ventaja). Ocupa poco en disco duro. Al igual que Firefox permite el uso de las ventanas. No me gusta su manera de configurar el tamaño de las fuentes. Disponible para Microsoft Windows, Linux y Mac (al menos).

Internet Explorer

Mi impresión (aunque más bien lo uso poco) es que es el más ligero en memoria, aunque se pelea por ese puesto con Opera. Está integrado con el sistema operativo. Disponible para Microsoft Windows y Max OSX (aunque son versiones diferentes). Es el más atacado, y por tanto el que más agujeros de seguridad aparentes presenta.

martes, 3 de enero de 2006

Trabajo de Feynman en computación paralela

Navegando por los enlaces populares de del.icio.us he encontrado un artículo publicado en Physics Today que explica cómo Feynman también puso su granito de arena en el mundo de los ordenadores. En concreto trabajó en un proyecto llamado Thinking Machines Corporation, que era una empresa que diseñó e implementó una especie de superordenador diseñado ad-hoc para simular fenómenos físicos.

Sobre todo es interesante las trazas de la personalidad del Premio Nobel que deja entrever en el artículo. Por ejemplo dice que era sexista. Pone el ejemplo de que cuando quería que le llevaran una taza de sopa siempre buscaba a las chicas para este cometido, tanto si eran cocineras, ingenieras o la directora de la compañía. Sin embargo, según la confesión de una de las damnificadas (ingeniera ella), tanto se comportaba así como le podía explicar la mecánica cuántica como nadie antes lo había hecho.        

Mejorando el rendimiento de una web

He encontrado una web donde explica la forma de aumentar el rendimiento de una web. Hay 14 consejos que cualquier desarrollador debiera que conocer para aumentar la velocidad de carga de su web.

(Vía digg)

Ir al enlace | Diggear la historia

lunes, 2 de enero de 2006

¡ Feliz año !

Lo primero de todo, ¡feliz año! Otro año más en la palestra. Todavía el blog no ha cumplido un año, pero espero no desanimarme para cuando toque.

Mediante los enlaces populares de del.icio.us he descubierto una página con mucha información interesante de diseño web. Es posible que en el futuro incorpore algunas de las cosas que ponen allí. Sobre todo me ha gustado un sitio donde pone cómo hacer con CSS que las letras parezcan imágenes.