10 may 2008

Internet Explorer en Linux

Acabo de instalar Internet Explorer 6 sobre Ubunty Gutsy (recién hoy actualizaré a Hardy Heron) y parece funcionar correctamente, al menos hasta donde lo he podido probar. Si no sabías que se podían instalar programas de Windows en Linux, pues te cuento que sí se puede para ello primero debes instalar Wine.

Wine es una implementación de la API de Windows para plataformas Unix y Linux, de modo tal que los programas para Windows corren sobre Wine sin modificaciones y una buena parte de ellos lo hace bien e incluso más rápido que en Windows.

Si ya sabías de Wine, probablemente te estarás preguntando y ¿para qué querríamos ejecutar IE cuando en Ubuntu tenemos Firefox por defecto?. Se me ocurren dos razones, una, para no tener que utilizar una segunda máquina o tener que reiniciar nuestra máquina en Windows cuando desarrollamos sitios web que deben ser comprobados con diversos navegadores y, dos, para quienes queremos utilizar Linux como sistema operativo de escritorio y estamos obligados a navegar hacia sitios web diseñados exclusivamente para IE, justamente es mi caso.

¿Cómo?

Para instalar una o más versiones de Internet Explorer sobre Linux utilizando Wine, existe una alternativa denominada IEs 4 Linux que brinda una forma sencilla de hacerse con las diferentes versiones del navegador de Microsoft sin mayor esfuerzo. Para ello se deben seguir unas sencillas instrucciones, básicamente: habilitar los repositorios universe, instalar Wine y luego instalar IEs4Linux.

Gracias a IEs4Linux podremos, luego de algunos minutos, ejecutar IE sobre Linux, en mi caso me bastó con instalar IE6, ahora lo puedo ejecutar tecleando:

.ies4linux/bin/ie6

Haciendo clic sobre la imagen se puede ver el resultado.


A tener en cuenta
  • La instalación de Wine toma algo de tiempo, dependerá sobre todo de tu ancho de banda.
  • Tuve que reiniciar la instalación de IEs4Linux más de 10 veces (sin exagerar) debido a que se cortaban las descargas (no me detuve a analizar el motivo) si te sucede lo mismo y das con el motivo de esto o mejor aún si sabes como evitar este inconveniente ponlo en los comentarios.
  • Puedes instalar hasta 3 versiones de IE 5, 5.5 y 6, la versión 7 esta en fase beta.
  • No utilices IE para navegar, para disfrutar de la web tenemos Firefox, también Opera y Safari.
  • Y, por supuesto, nunca esta demás darle una mirada a las notas legales.

22 abr 2008

Flisol 2008

Este sábado 26 de abril se realizará la 4ta edición del Festival Latinoamericano de Instalación de Software Libre - FLISOL 2008, un evento que se realiza en simultáneo en 16 países de Latinoamerica con múltiples sedes en cada país. Si bien es cierto Ica no será sede de este evento parece muy factible asistir a una de las dos sedes establecidas en Lima que son la Universidad de Ingeniería y la Universidad Tecnológica del Perú.

Si no sabes con precisión lo que es el software libre, o quieres conocer más de él, si has decidido instalar Linux pero no sabes cómo, entonces este evento es para ti. No te lo pierdas!

La temática principal del Flisol 2008 en Perú será "TIC's Educación y Software Libre" por lo que es una invitación especial, aunque no exclusiva, para los maestros de todo el Perú. Si eres estudiante de educación, maestro o ejerces como tal, inscríbete y participa. En este evento podrás apreciar cómo el software libre puede ayudarte a mejorar tu desempeño y el de tus alumnos utilizando tecnologías que no restringen tu libertad ni la de ellos.

12 abr 2008

Virtualización

Este es uno de los términos de moda al día de hoy en el mundo informático, aunque en realidad no se trata de una novedad absoluta. Lo que sí es novedad es la cantidad de opciones y la facilidad con la cual se puede implementar. Especialmente si nos referimos a virtualización nativa, existen muchos productos que con muy pocos conocimientos técnicos nos permiten instalar una máquina virtual sencilla.

Es decir que en este momento tenemos múltiples opciones para ejecutar un sistema operativo dentro de otro como podría ser windows - windows, windows - linux, linux - windows; solo por citar los ejemplos más populares.

Pero, antes que nada, ¿porqué se nos ocurriría ejecutar un sistema operativo(guest) dentro de otro (host)? Pues las razones y las ventajas de hacerlo son múltiples, aquí algunas de ellas:

1. Para aprender, en una máquina virtual puedo instalar el sistema operativo y las aplicaciones que se me ocurran, utilizarlos tanto como sea necesario y desecharlas cuando ya no me interesen. Todo ello sin tocar mi entorno habitual de trabajo ya que todo estará encapsulado en el sistema operativo virtualizado.

2. Para un programador, contar con máquinas virtuales para cada plataforma en la quiera desarrollar/probar/desplegar su trabajo es una bendición y todo puede estar un mismo hardware.

3. Para sistemas en producción, estar alojados en un sistema operativo virtualizado simplifica enormemente su administración/recuperación. Dado el caso de un fallo de hardware en un sistema no virtualizado, las dependencias hardware-software pueden ser difíciles de salvar sobre todo si se te malogra una placa madre que hace años esta descontinuada entonces tienes un quebradero de cabeza que una máquina virtual no te daría.

4. Para aprovechar mejor el hardware, existen muchos sistemas que subutilizan el hardware en el que estan alojados, esta situación implica un desperdicio de recursos principalmente procesamiento/almacenamiento/energía. Así que si movemos esos sistemas a los que les queda grande el hardware cada uno a una máquina virtual y las alojamos todas en un servidor potente, tenemos que ese hardware estará siendo utilizado más eficientemente. De paso, simplificamos la administración y el respaldo de los sistemas. A esto se le suele llamar consolidación.

Es cierto que no todo son ventajas cuando utilizamos virtualización nativa, pero en mi opinión las ventajas son muchas y, por lo tanto, es un tema considerar muy en serio.

Pues bien, el siguiente paso sería animarnos a instalar algún software de virtualización de los cuales existen muchos, para todas las plataformas y necesidades. Si se deciden a ello, no dejen de comentarme cómo les fue.

Finalmente, una aclaración y se refiere al término virtualización que en realidad se refiere a un rango muy amplio de aplicaciones, no necesaria ni exclusivamente a la virtualización nativa que es a lo que me he referido en este artículo. El enlace los puede llevar a Wikipedia donde tenemos una muy buena explicación del término. Hasta pronto.

20 mar 2008

Estar en la Universidad es una cosa de Google

Google Code University, es un sitio web donde podemos encontrar tutoriales, resúmenes y diapositivas sobre temas de programación, la mayor parte de ellos están organizados como cursos. El sitio no es super abundante en información pero los temas que estan disponibles hasta ahora son suficientemente variados e interesantes.

Por mi parte, leí el artículo de introducción a las bases de datos y MySQL de un tirón y me pareció entretenido, claro y conciso. También llegué a ver los primeros 30 minutos del video sobre Hilos en C++, una característica que se implementará en el estándar, y nuevamente lo encontré muy interesante y didáctico. Terminaré de verlo más tarde seguramente. El vídeo sobre nuevas características del C++ standard no estaba disponible, espero que esto se arregle pronto.

Más allá de mi interés por el lenguaje C++ seguramente le daré una mirada a los recursos sobre Python y Ajax, así que por lo menos para mi, el Google Code University empieza a ser un sitio interesante, si se dan una vuelta por ahí no dejen de contarme qué les pareció.

Los interesados en el orígen de esta iniciativa pueden leer siguiente artículo.

5 dic 2007

Apilando contenedores

Hola, tengo un problema sencillo de plantear y muy interesante para ser resuelto. Se trata de figurarnos que tenemos que operar una grúa de un puerto para apilar contenedores que luego serán cargados en sendos barcos. Pues bien, si cada contenedor esta marcado con una letra (A-Z) la cual indica el barco en el que será cargado, y además sabemos que los barcos arribarán en estricto orden alfabético, debemos determinar el mínimo número de pilas que se necesitan para cargar eficientemente los barcos.
Aclarando lo de "eficientemente" diremos que siempre será mejor que los contenedores se encuentren en la parte superior de las pilas para no tener que retirar otros contenedores de encima antes de cargarlos en su respectivo barco.
Listo, el reto esta planteado... se aceptan ideas!!

23 nov 2007

Linux Day Ica

Utilizaré este medio también para invitarlos al evento sobre GNU/Linux que estamos organizando el SENATI y el PLUG, en Ica, este 1ro de diciembre. Los detalles estan en http://www.linuxdayica.com.
En cuanto a programación tendremos una charla y un taller sobre Ruby on Rails a cargo de Jaime Wong, los otros temas estan a cargo de prominentes figuras pertenecientes al PLUG como son Antonio Ognio, Néstor Ruiz y Clever Flores.
No se lo pierdan!

Primer Cambio

Hola, aquí la primera entrega. Se trata simplemente de algunos enlaces referidos a un problema de optimización. Lo interesante de este problema es que fue presentado durante una conferencia del Google Tour Perú como un problema típico de los que se plantean en las entrevistas de trabajo de esta compañía. Según comentan los asistentes a esta conferencia el problema no llegó a ser resuelto en ese momento, pero tenemos soluciones aportadas posteriormente.
En primer lugar, la solución del problema por Antonio Ognio quien se tomó el debido tiempo para interpretar y, sobre todo, explicarnos como llegó a la respuesta. Luego, mencionaremos la solución provista por Gustavo Picón quien además ha publicado una optimización de la misma.
Finalmente, un trabajo académico (¿cómo se dice ¨paper¨ en español?) con la explicación completa y general del problema.
Saludos a todos y nos vemos en el próximo cambio de código.