Mostrando entradas con la etiqueta gnu. Mostrar todas las entradas
Mostrando entradas con la etiqueta gnu. Mostrar todas las entradas

viernes, abril 23, 2010

Invitación para asistir al FLISoL 2010

La celebración del Festival Latinoamericano de Instalación de Software Libre (FLISoL) se acerca ¡esta es tu oportunidad de adquirir nuevos (o más) conocimientos entorno a tecnologías libres!

Mañana, en las instalaciones del Instituto Técnico EXSAL el FLISoL dará inicio con un registro, las primeras 100 personas recibirán un kit de bienvenida.

A las 9:00 am continua con la primera ponencia: Filosofía del Software Libre.
Se impartirán exposiciones por medio de kioskos con temáticas especificas y se
repetirán durante todo el evento que finaliza a las 4:00 pm.


Algunas temáticas a exponer:
  • Edición y mezcla de audio (taller)
  • Gestores de Contenidos
  • Linux para Niños
  • Configuración de Escritorios Linux
  • Software Libre para PYMES
  • Programación con Software Libre
  • Diseño Gráfico
  • Linux para PCs antiguas
A las 2:00 pm se tendrá la segunda ponencia: Comunidades Software Libre

Existen otras sedes que se unen a la celebración, pueden verlas en el sitio: flisolsv.org
Nota:
  • Habrá parqueo disponible para el público en general.
  • Si llevas tu maquina procura anotar las especificaciones de hardware, porque te las pedirán en la entrada del lugar.
¡Estas invitado(a) a participar en este gran evento!

P.D: Este es mi primer post para Sr.Byte ¡Gracias al staff por invitarme!

Invitación para asistir al FLISoL 2010

La celebración del Festival Latinoamericano de Instalación de Software Libre (FLISoL) se acerca ¡esta es tu oportunidad de adquirir nuevos (o más) conocimientos entorno a tecnologías libres!

Mañana, en las instalaciones del Instituto Técnico EXSAL el FLISoL dará inicio con un registro, las primeras 100 personas recibirán un kit de bienvenida.

A las 9:00 am continua con la primera ponencia: Filosofía del Software Libre.
Se impartirán exposiciones por medio de kioskos con temáticas especificas y se
repetirán durante todo el evento que finaliza a las 4:00 pm.


Algunas temáticas a exponer:
  • Edición y mezcla de audio (taller)
  • Gestores de Contenidos
  • Linux para Niños
  • Configuración de Escritorios Linux
  • Software Libre para PYMES
  • Programación con Software Libre
  • Diseño Gráfico
  • Linux para PCs antiguas
A las 2:00 pm se tendrá la segunda ponencia: Comunidades Software Libre

Existen otras sedes que se unen a la celebración, pueden verlas en el sitio: flisolsv.org
Nota:
  • Habrá parqueo disponible para el público en general.
  • Si llevas tu maquina procura anotar las especificaciones de hardware, porque te las pedirán en la entrada del lugar.
¡Estas invitado(a) a participar en este gran evento!

P.D: Este es mi primer post para Sr.Byte ¡Gracias al staff por invitarme!

viernes, noviembre 28, 2008

OK Ya Instale Linux. Y ahora que? (Parte II)

Una vez que hemos puesto nuestro tema favorito, es hora de instalar un par de accesorios para tener todo a la mano y poder ver la información que nos interesa sin necesidad de dar muchos clics o gastar memoria abriendo programas pesados para simplemente chequear si hay un nuevo correo, ver la fecha actual o bajarle el volumen general a la computadora.

Estos accesorios los podemos agregar al panel principal (nos basaremos en el gnome-panel, standard del escritorio gnome, el cual viene incluido por defecto en el Ubuntu y Debian, distribuciones populares de Linux) mediante muchos programas aunque aca nos basaremos en tres diferentes accesorios: el Gnome Panel y los Screenlets.

Para agregar un nuevo elemento al panel de GNome simplemente hacemos clic derecho sobre el y seleccionamos la opción "Agregar al Panel". De la ventana que aparece seleccionamos los applets de nuestra elección. Algunos de los applets recomendados son el "Forzar la Salida" el cual permite cerrar una aplicación que deje de responder simplemente haciendo clic sobre ella, "Indicador de Distribución de Teclado" para los que tenemos teclado inglés y toca estar cambiando a distribucion latinoamericana y el "Deskbar", el cual es un buscador todo en uno.

"Imagen del Gnome Panel mostrando algunos applets como el indicador del teclado, la fecha/hora, el deskbar, forzar salida y las estadísticas del CPU/RAM/Red. Mostrando también la ventana para agregar mas applets"

Otra muy conveniente forma de tener accesorios en nuestro escritorio es usando los Screenlets. Estos accesorios son tan útiles como variados y fáciles de administrar. No se requiere mas que hacer un apt-get install screenlets para tenerlos a nuestra disposicion. Al final, podemos hacer que nuestro escritorio luzca de esta forma (clic para agrandar):

"Escritorio de Gnome haciendo uso de varios screenlets como el ClockRings en el fondo del escritorio, Reloj, Calendario, CPU Stats, etc."

"Otra serie de Screenlets los cuales junto con el tema y el fondo de escritorio dan la apariencia de Vista Gadgets en un Widows Vista."

La mayoria de screenlets no vienen por defecto al instalar la aplicación desde apt-get así que los podremos descargar de gnome-look o de la página oficial del proyecto Screenlets en la cual tambien te indican las instrucciones de instalación y uso. Entre los Screenlets recomendados se encuentran el GMail Checker, CPU Meter, Now Calendar (con capacidades de consumir eventos de calendarios como Google Calendar, via iCal), el Sidebar y el Circle Clock, Wireless Screenlet.

Para instalar estos Screenlets, te descargas el archivo comprimido de cada uno de los vínculos anteriores, lo descomprimes y copias la carpeta descomprimida en la carpeta /usr/share/screenlets/ o en la carpeta .screenlets/ luego abres el Screenlets Manager (Menu Aplicaciones -> Accesorios -> Screenlets) y los verás listados en dicha ventana para que nada mas los actives y los ubiques en la posición que quieras dentro de tu escritorio.

"Apariencia de la ventana del Screenlets Manager"

OK Ya Instale Linux. Y ahora que? (Parte II)

Una vez que hemos puesto nuestro tema favorito, es hora de instalar un par de accesorios para tener todo a la mano y poder ver la información que nos interesa sin necesidad de dar muchos clics o gastar memoria abriendo programas pesados para simplemente chequear si hay un nuevo correo, ver la fecha actual o bajarle el volumen general a la computadora.

Estos accesorios los podemos agregar al panel principal (nos basaremos en el gnome-panel, standard del escritorio gnome, el cual viene incluido por defecto en el Ubuntu y Debian, distribuciones populares de Linux) mediante muchos programas aunque aca nos basaremos en tres diferentes accesorios: el Gnome Panel y los Screenlets.

Para agregar un nuevo elemento al panel de GNome simplemente hacemos clic derecho sobre el y seleccionamos la opción "Agregar al Panel". De la ventana que aparece seleccionamos los applets de nuestra elección. Algunos de los applets recomendados son el "Forzar la Salida" el cual permite cerrar una aplicación que deje de responder simplemente haciendo clic sobre ella, "Indicador de Distribución de Teclado" para los que tenemos teclado inglés y toca estar cambiando a distribucion latinoamericana y el "Deskbar", el cual es un buscador todo en uno.

"Imagen del Gnome Panel mostrando algunos applets como el indicador del teclado, la fecha/hora, el deskbar, forzar salida y las estadísticas del CPU/RAM/Red. Mostrando también la ventana para agregar mas applets"

Otra muy conveniente forma de tener accesorios en nuestro escritorio es usando los Screenlets. Estos accesorios son tan útiles como variados y fáciles de administrar. No se requiere mas que hacer un apt-get install screenlets para tenerlos a nuestra disposicion. Al final, podemos hacer que nuestro escritorio luzca de esta forma (clic para agrandar):

"Escritorio de Gnome haciendo uso de varios screenlets como el ClockRings en el fondo del escritorio, Reloj, Calendario, CPU Stats, etc."

"Otra serie de Screenlets los cuales junto con el tema y el fondo de escritorio dan la apariencia de Vista Gadgets en un Widows Vista."

La mayoria de screenlets no vienen por defecto al instalar la aplicación desde apt-get así que los podremos descargar de gnome-look o de la página oficial del proyecto Screenlets en la cual tambien te indican las instrucciones de instalación y uso. Entre los Screenlets recomendados se encuentran el GMail Checker, CPU Meter, Now Calendar (con capacidades de consumir eventos de calendarios como Google Calendar, via iCal), el Sidebar y el Circle Clock, Wireless Screenlet.

Para instalar estos Screenlets, te descargas el archivo comprimido de cada uno de los vínculos anteriores, lo descomprimes y copias la carpeta descomprimida en la carpeta /usr/share/screenlets/ o en la carpeta .screenlets/ luego abres el Screenlets Manager (Menu Aplicaciones -> Accesorios -> Screenlets) y los verás listados en dicha ventana para que nada mas los actives y los ubiques en la posición que quieras dentro de tu escritorio.

"Apariencia de la ventana del Screenlets Manager"

sábado, agosto 16, 2008

Feliz Cumpleaños Debian!

"Pastel de Cumpleaños con la Espiral de Debian"


Un día como hoy, 16 de agosto de 1993 fue iniciado el proyecto que dio lugar a la tan popular distribución de GNU/Linux: Debian.

Desarrollada por Ian Murdock después de haber estudiado en la Universidad de Purdue, al cual años después se agrego toda una lista de comunidades de personas que han contribuido para que el proyecto se convierta en una de las distribuciones de GNU/Linux con mas soporte y estabilidad.

Algunos datos curiosos acerca de Debian:

  • Su nombre se deriva de la combinación del nombre de su creador (Ian Murdock) y el de su entonces novia y ahora esposa (Deborah): Deb + Ian.
  • Cada una de las versiones de Debian, posee un nombre clave basado en un personaje de la película de Pixar: Toy Story (Buzz, Rex, Bo, Hamm, Slink, Potato, Woody, Sarge, Etch y Lenny hasta la fecha).
  • La espiral de Debian, también fue inspirada en Toy Story. Esta marca aparece en la barbilla de Buzz Light Year, como podrán notar la próxima vez que vean la película.
  • Ha servido como base para una gran cantidad de distribuciones "hijas" como por ejemplo Knoppix y Ubuntu, por mencionar algunas de las mas populares (acá esta la lista completa).
"El origen de la espiral de Debian: La barbilla de Buzz Light Year"

Por tal motivo, cada 14 de agosto se celebra el Día Debian (Debian Day) brindando las tradicionales charlas, install fest, LAN party, reuniones y todo lo que se les pueda ocurrir a un grupo de geeks para homenajear a una de las distribuciones que mas han aportado a la difusión de GNU/Linux y el software libre en general.

Para terminar los dejo con un vídeo de los ya conocidos sorprendentes efectos de Compiz Fusion, corriendo sobre un Debian GNU/Linux:



"Efectos de Compiz Fusion, sobre Debian GNU/Linux"


Feliz Cumpleaños Debian!

"Pastel de Cumpleaños con la Espiral de Debian"


Un día como hoy, 16 de agosto de 1993 fue iniciado el proyecto que dio lugar a la tan popular distribución de GNU/Linux: Debian.

Desarrollada por Ian Murdock después de haber estudiado en la Universidad de Purdue, al cual años después se agrego toda una lista de comunidades de personas que han contribuido para que el proyecto se convierta en una de las distribuciones de GNU/Linux con mas soporte y estabilidad.

Algunos datos curiosos acerca de Debian:

  • Su nombre se deriva de la combinación del nombre de su creador (Ian Murdock) y el de su entonces novia y ahora esposa (Deborah): Deb + Ian.
  • Cada una de las versiones de Debian, posee un nombre clave basado en un personaje de la película de Pixar: Toy Story (Buzz, Rex, Bo, Hamm, Slink, Potato, Woody, Sarge, Etch y Lenny hasta la fecha).
  • La espiral de Debian, también fue inspirada en Toy Story. Esta marca aparece en la barbilla de Buzz Light Year, como podrán notar la próxima vez que vean la película.
  • Ha servido como base para una gran cantidad de distribuciones "hijas" como por ejemplo Knoppix y Ubuntu, por mencionar algunas de las mas populares (acá esta la lista completa).
"El origen de la espiral de Debian: La barbilla de Buzz Light Year"

Por tal motivo, cada 14 de agosto se celebra el Día Debian (Debian Day) brindando las tradicionales charlas, install fest, LAN party, reuniones y todo lo que se les pueda ocurrir a un grupo de geeks para homenajear a una de las distribuciones que mas han aportado a la difusión de GNU/Linux y el software libre en general.

Para terminar los dejo con un vídeo de los ya conocidos sorprendentes efectos de Compiz Fusion, corriendo sobre un Debian GNU/Linux:



"Efectos de Compiz Fusion, sobre Debian GNU/Linux"


jueves, febrero 28, 2008

Alternativas Libres: GIMP

"Pantalla de Inicio del Gimp, en la versión 2.4 "

Hace poco me enteraba leyendo en las noticias que Google desea patrocinar un proyecto más de Codeweavers, empresa detrás de wine, el popular emulador de aplicaciones Windows bajo Linux. Entre los proyectos que Google patrocina actualmente esta el soporte para la emulación de Picasa y Dragon Naturally Speaking sobre Linux.

El nuevo proyecto del que les hablo, al cual Google esta aportando, es el soporte para Photoshop en Linux. Photoshop es un robusto y muy popular editor de gráficos desarrollado por Adobe, el cual lidera el mercado de la manipulación de imágenes y gráficos.

A raíz de estas iniciativas me ha surgido una duda: Porqué financiar el soporte para software privativo cuando en el software libre existen alternativas que son capaces de competir con ellos?

Y es por esta cuestión que he decidido crear una sección denominada "Alternativas Libres" en las que describiré ciertos programas desarrollados bajo licencia de uso libre (comúnmente la GPL) que fácilmente pueden suplir las necesidades que acostumbramos resolver con software privativo o el software "por defecto". La mayor parte de estas alternativas libres son compatibles con la mayoría de los sistemas operativos populares como Windows y MacOS aparte de Linux.

El Programa de Manipulación de Imágenes el GNU (GIMP, por sus siglas en inglés) es como su nombre lo indica, una herramienta de edición de imágenes y gráficos.

Para empezar, lo que puede abrumar a los usuarios acostumbrados a Photoshop es la interfaz. Por defecto este muestra tres ventanas: La ventana principal que contiene el cuadro de herramientas, la ventana de diálogos comunes donde se encuentra por lo general el cuadro de diálogo de capas, canales y el historial de deshacer y la ventana del lienzo de dibujo.

Gimp contiene casi las mismas herramientas que Photohop o equivalentes, entre las mas comunes podemos mencionar la herramienta de lazo, la selección por colores, el pincel, la brocha, la herramienta de clonación, de texto, etc. Para casi cualquier herramienta existe un cuadro de diálogo para especificar sus opciones de uso. Dentro de la ventana de cuadro de diálogos es posible agregar o quitar los que ya tiene. Entre los dialogos mas comunes se encuentran el cuadro de diálogo de colores, tipos de brochas, tipos de texturas, tipos de gradientes, etc. los cuales se agrupan en solapas.

Entre las herramientas mas útiles del GIMP se encuentran las rutas. Estas son un conjunto de curvas Bézier[1] para pintar formas mas avanzadas y para la selección de regiones y creación de capas de máscara o la creación y edición de texto personalizado (sin utilizar las tipografías o fuentes por defecto) las cuales, en lo personal, son la verdadera magia del GIMP.

Otra característica especial del GIMP son sus filtros, con los cuales se pueden aplicar efectos especiales a una imagen tales como desenfoque, sombras, distorciones, etc. Los filtros del Gimp además se pueden extender ya que estos son meramente plugins o también llamados complementos. Los complementos son programas externos controlados desde el GIMP que permiten la edición de la imagen, mediante rutinas o acciones preprogramadas.

Los Script-Fu son parecidos a los filtros ya que automatizan tareas. Estos en ralidad son un método de acceso a la API[2] del GIMP mediante un lenguaje llamado Scheme y ejecuta funciones internas de la base de datos del GIMP. Cualquiera (con los conocimientos necesarios, por supuesto) puede escribir su propio script para automatizar alguna tarea repetitiva que realice o para crear algún nuevo efecto en las imágenes, esto gracias a la flexibilidad del GIMP, como característica de las aplicaciones de licencia libre.

Aca les dejo un vídeo de un SpeedDrawing elaborado con el GIMP:



"Speed Drawing con el GIMP"

[1]Las curvas Bézier son herramientas útiles de modelado, compuestas por curvas paramétricas generada a partir de puntos o líneas de control en cada una de sus secciones o puntas. El tamaño, posición y dirección de cada una de estas líneas de control definen la forma de la curva.

[2]Una API es una interfaz de programación o una librería de funciones o de objetos que un programa o un sistema operativo provee para que otros programas puedan hacer uso de sus servicios sin necesidad que un usuario final tenga que interactuar con su interfaz original, si es que este la posee.

Alternativas Libres: GIMP

"Pantalla de Inicio del Gimp, en la versión 2.4 "

Hace poco me enteraba leyendo en las noticias que Google desea patrocinar un proyecto más de Codeweavers, empresa detrás de wine, el popular emulador de aplicaciones Windows bajo Linux. Entre los proyectos que Google patrocina actualmente esta el soporte para la emulación de Picasa y Dragon Naturally Speaking sobre Linux.

El nuevo proyecto del que les hablo, al cual Google esta aportando, es el soporte para Photoshop en Linux. Photoshop es un robusto y muy popular editor de gráficos desarrollado por Adobe, el cual lidera el mercado de la manipulación de imágenes y gráficos.

A raíz de estas iniciativas me ha surgido una duda: Porqué financiar el soporte para software privativo cuando en el software libre existen alternativas que son capaces de competir con ellos?

Y es por esta cuestión que he decidido crear una sección denominada "Alternativas Libres" en las que describiré ciertos programas desarrollados bajo licencia de uso libre (comúnmente la GPL) que fácilmente pueden suplir las necesidades que acostumbramos resolver con software privativo o el software "por defecto". La mayor parte de estas alternativas libres son compatibles con la mayoría de los sistemas operativos populares como Windows y MacOS aparte de Linux.

El Programa de Manipulación de Imágenes el GNU (GIMP, por sus siglas en inglés) es como su nombre lo indica, una herramienta de edición de imágenes y gráficos.

Para empezar, lo que puede abrumar a los usuarios acostumbrados a Photoshop es la interfaz. Por defecto este muestra tres ventanas: La ventana principal que contiene el cuadro de herramientas, la ventana de diálogos comunes donde se encuentra por lo general el cuadro de diálogo de capas, canales y el historial de deshacer y la ventana del lienzo de dibujo.

Gimp contiene casi las mismas herramientas que Photohop o equivalentes, entre las mas comunes podemos mencionar la herramienta de lazo, la selección por colores, el pincel, la brocha, la herramienta de clonación, de texto, etc. Para casi cualquier herramienta existe un cuadro de diálogo para especificar sus opciones de uso. Dentro de la ventana de cuadro de diálogos es posible agregar o quitar los que ya tiene. Entre los dialogos mas comunes se encuentran el cuadro de diálogo de colores, tipos de brochas, tipos de texturas, tipos de gradientes, etc. los cuales se agrupan en solapas.

Entre las herramientas mas útiles del GIMP se encuentran las rutas. Estas son un conjunto de curvas Bézier[1] para pintar formas mas avanzadas y para la selección de regiones y creación de capas de máscara o la creación y edición de texto personalizado (sin utilizar las tipografías o fuentes por defecto) las cuales, en lo personal, son la verdadera magia del GIMP.

Otra característica especial del GIMP son sus filtros, con los cuales se pueden aplicar efectos especiales a una imagen tales como desenfoque, sombras, distorciones, etc. Los filtros del Gimp además se pueden extender ya que estos son meramente plugins o también llamados complementos. Los complementos son programas externos controlados desde el GIMP que permiten la edición de la imagen, mediante rutinas o acciones preprogramadas.

Los Script-Fu son parecidos a los filtros ya que automatizan tareas. Estos en ralidad son un método de acceso a la API[2] del GIMP mediante un lenguaje llamado Scheme y ejecuta funciones internas de la base de datos del GIMP. Cualquiera (con los conocimientos necesarios, por supuesto) puede escribir su propio script para automatizar alguna tarea repetitiva que realice o para crear algún nuevo efecto en las imágenes, esto gracias a la flexibilidad del GIMP, como característica de las aplicaciones de licencia libre.

Aca les dejo un vídeo de un SpeedDrawing elaborado con el GIMP:



"Speed Drawing con el GIMP"

[1]Las curvas Bézier son herramientas útiles de modelado, compuestas por curvas paramétricas generada a partir de puntos o líneas de control en cada una de sus secciones o puntas. El tamaño, posición y dirección de cada una de estas líneas de control definen la forma de la curva.

[2]Una API es una interfaz de programación o una librería de funciones o de objetos que un programa o un sistema operativo provee para que otros programas puedan hacer uso de sus servicios sin necesidad que un usuario final tenga que interactuar con su interfaz original, si es que este la posee.

viernes, julio 20, 2007

MoMA, la mamá de los monos...

MoMA o Mono Migration Analyzer, es una herramienta que ayuda a identificar diferentes problemas que se tengan al portar las aplicaciones del Framework .NET al Framework de Mono. Aunque MoMA pueda ayudar a enseñar problemas potenciales, existen muchos factores completos que no pueden ser previstos mediante el uso de una sola herramienta. Pero la utilidad de MoMA es innegable. Si tienes una aplicación hecha en .NET que no pase ninguna prueba de MoMA... entonces ya tienes una idea del trabajo que tendrás que hacer para migrar esa aplicación al Mono Framework.

Recordemos que la verdadera prueba resulta al correr tu aplicación sin problemas en Mono.
Pero para que se acostumbren a codificar bien, y tengan una idea de como usar MoMA, aquí esta una pequeña guia, ¡espero que les sea de utilidad!

nota aclaratoria: las capturas de pantallas ajustadas a menor tamaño no son tan importantes o interesantes como las de tamaño "grande", esto es claro, bajo el criterio del autor. Como siempre, pueden dar click a cualquier imagen para verla en tamaño real.

Guía ejemplo de uso de MoMA:

1.0 Descargando MoMA

Puedes descargar MoMA de http://www.mono-project.com/Moma , luego ve a la seccion de descargas "Download" y allí encontraras el vinculo de descarga.

"Captura de pantalla del sitio web de MoMA con el URL marcado (muy marcado) para descargarlo"

Recuerden que MoMA necesita el framwork .NET 2.0 ó Mono 1.2+, como solo estoy usando GNU\Linux, usare Mono para correr MoMA.

1.1 Ejecutando MoMA

Después de descargar el archivo .Zip de MoMA, extraemos su contenido y podremos ver lo siguiente:

"Captura de pantalla del contenido del archivo .Zip descargado"

Ahi estan los archivos que necesitamos, muchos diran: ah!, son simples ejecutables de windows. Pues noooo, estos archivos "exe" estan compilados en un lenguaje intermedio (como el bytecode de Java) llamado MSIL (MicroSoft Intermedium Languaje). Y las extensiones "exe" y "dll" pues solo son extensiones re utilizadas.
Vamos a usar Mono para correr/interpretar/compilar (como le quieran decir) el archivo "MoMA.exe".
Abrimos una consola (en mi caso usare Konsole) y nos vamos a la carpeta donde se encuentra "MoMA.exe", ahi ejecutamos el comando:
mono MoMA.exe
Aquí hay una captura por si se pierden:

"Captura de la consola, usando mono para ejecutar MoMA.exe"

Y si todo sale bien, pues podremos ver la ventana de MoMA en nuestra pantalla:

"Captura de MoMA en GNU\Linux, usando KDE como Desktop Manager"

1.2 Usando MoMA

Para usar MoMA solo necesitamos ejecutables hechos con el Framework .NET y dar unos cuantos clicks.
Yo usare de ejemplo la librería de un amigo para comprobar si puede ser ejecutado o no con Mono. Ustedes pueden usar cualquier otro compilado (el que ustedes quieran) que corra en el Framework .NET 1.0 y 2.0, y que evidentemente no sea una librería especifica a la plataforma o parte de .NET (como System.dll). Esta es la librería CustomDataSource(CDS) Ver.1.0 de Roberto Linares, que puede ser encontrada aquí.

"Captura de pantalla, descarga de Bin.rar de CDS, foro ingenieria UES-FMOcc"

En el paso 2 (de 4) de MoMA, podemos agregar uno o varios ejecutables hechos con el Framework .NET, asi que despues de descargar los binarios de CDS, y extraerlos en mi escritorio, agregare el archivo "CrypterClassLib.dll" dando click en el boton con signo "+" y luego eligiendo el/los archivo a agregar, asi:

"Captura de pantalla, agregando archivos para analizar con MoMA"

"Captura de pantalla, ¿Listo para analizar?"

Ya con la lista de archivos que seran analizados, pues solo basta dar click en "Next"; para que MoMA analize el ejecutable y podamos ver un resumen de compatibilidad del archivo con mono. Al final obtendremos un resultado como este:

"Captura de Pantalla, ¡Te salvaste Roberto!"

En este paso (3 de 4) podemos ver que en el análisis general, el .dll analizado paso las pruebas con exito.
Asi que en teoria, el archivo "CrypterClassLib.dll" puede ejecutarse sin problemas con el Mono Framwork.
Vaya Roberto... te salvaste del bochorno publico jaja ;)

Pero... ¿Que sucede cuando TODO sale mal?

"Captura de Pantalla, ¡OH NO!"

Bien, si sucede algo tragico como lo muestra la captura anterior, o peor... pues MoMA genera un util reporte (paso 4 de 4) que muestra de manera general, que se puede hacer para combatir esta incompatibilidad.

"Captura reporte de ejemplo"

Con este reporte en mano y teniendo en cuenta ciertos tips de migracion/codificacion seremos capaces de migrar una aplicacion casi (especulativamente) sin problemas de un S.O. a otro.

1.3 Consideraciones finales

No olviden enviar el reporte (sea bueno o malo) de compatibilidad que genera MoMA (MoMA lo envia automáticamente):

"Captura de pantalla, envío de reporte a Mono Project"

Esto ayuda para que los desarrolladores de Mono coloquen especial énfasis en los problemas mas comunes de compatibilidad encontrados, es tan fácil como dar un click al botón "Submit Report".

Una guía mas completa y extensa para corregir problemas de interoperabilidad puede ser hallada aquí.

Hasta Luego!

MoMA, la mamá de los monos...

MoMA o Mono Migration Analyzer, es una herramienta que ayuda a identificar diferentes problemas que se tengan al portar las aplicaciones del Framework .NET al Framework de Mono. Aunque MoMA pueda ayudar a enseñar problemas potenciales, existen muchos factores completos que no pueden ser previstos mediante el uso de una sola herramienta. Pero la utilidad de MoMA es innegable. Si tienes una aplicación hecha en .NET que no pase ninguna prueba de MoMA... entonces ya tienes una idea del trabajo que tendrás que hacer para migrar esa aplicación al Mono Framework.

Recordemos que la verdadera prueba resulta al correr tu aplicación sin problemas en Mono.
Pero para que se acostumbren a codificar bien, y tengan una idea de como usar MoMA, aquí esta una pequeña guia, ¡espero que les sea de utilidad!

nota aclaratoria: las capturas de pantallas ajustadas a menor tamaño no son tan importantes o interesantes como las de tamaño "grande", esto es claro, bajo el criterio del autor. Como siempre, pueden dar click a cualquier imagen para verla en tamaño real.

Guía ejemplo de uso de MoMA:

1.0 Descargando MoMA

Puedes descargar MoMA de http://www.mono-project.com/Moma , luego ve a la seccion de descargas "Download" y allí encontraras el vinculo de descarga.

"Captura de pantalla del sitio web de MoMA con el URL marcado (muy marcado) para descargarlo"

Recuerden que MoMA necesita el framwork .NET 2.0 ó Mono 1.2+, como solo estoy usando GNU\Linux, usare Mono para correr MoMA.

1.1 Ejecutando MoMA

Después de descargar el archivo .Zip de MoMA, extraemos su contenido y podremos ver lo siguiente:

"Captura de pantalla del contenido del archivo .Zip descargado"

Ahi estan los archivos que necesitamos, muchos diran: ah!, son simples ejecutables de windows. Pues noooo, estos archivos "exe" estan compilados en un lenguaje intermedio (como el bytecode de Java) llamado MSIL (MicroSoft Intermedium Languaje). Y las extensiones "exe" y "dll" pues solo son extensiones re utilizadas.
Vamos a usar Mono para correr/interpretar/compilar (como le quieran decir) el archivo "MoMA.exe".
Abrimos una consola (en mi caso usare Konsole) y nos vamos a la carpeta donde se encuentra "MoMA.exe", ahi ejecutamos el comando:
mono MoMA.exe
Aquí hay una captura por si se pierden:

"Captura de la consola, usando mono para ejecutar MoMA.exe"

Y si todo sale bien, pues podremos ver la ventana de MoMA en nuestra pantalla:

"Captura de MoMA en GNU\Linux, usando KDE como Desktop Manager"

1.2 Usando MoMA

Para usar MoMA solo necesitamos ejecutables hechos con el Framework .NET y dar unos cuantos clicks.
Yo usare de ejemplo la librería de un amigo para comprobar si puede ser ejecutado o no con Mono. Ustedes pueden usar cualquier otro compilado (el que ustedes quieran) que corra en el Framework .NET 1.0 y 2.0, y que evidentemente no sea una librería especifica a la plataforma o parte de .NET (como System.dll). Esta es la librería CustomDataSource(CDS) Ver.1.0 de Roberto Linares, que puede ser encontrada aquí.

"Captura de pantalla, descarga de Bin.rar de CDS, foro ingenieria UES-FMOcc"

En el paso 2 (de 4) de MoMA, podemos agregar uno o varios ejecutables hechos con el Framework .NET, asi que despues de descargar los binarios de CDS, y extraerlos en mi escritorio, agregare el archivo "CrypterClassLib.dll" dando click en el boton con signo "+" y luego eligiendo el/los archivo a agregar, asi:

"Captura de pantalla, agregando archivos para analizar con MoMA"

"Captura de pantalla, ¿Listo para analizar?"

Ya con la lista de archivos que seran analizados, pues solo basta dar click en "Next"; para que MoMA analize el ejecutable y podamos ver un resumen de compatibilidad del archivo con mono. Al final obtendremos un resultado como este:

"Captura de Pantalla, ¡Te salvaste Roberto!"

En este paso (3 de 4) podemos ver que en el análisis general, el .dll analizado paso las pruebas con exito.
Asi que en teoria, el archivo "CrypterClassLib.dll" puede ejecutarse sin problemas con el Mono Framwork.
Vaya Roberto... te salvaste del bochorno publico jaja ;)

Pero... ¿Que sucede cuando TODO sale mal?

"Captura de Pantalla, ¡OH NO!"

Bien, si sucede algo tragico como lo muestra la captura anterior, o peor... pues MoMA genera un util reporte (paso 4 de 4) que muestra de manera general, que se puede hacer para combatir esta incompatibilidad.

"Captura reporte de ejemplo"

Con este reporte en mano y teniendo en cuenta ciertos tips de migracion/codificacion seremos capaces de migrar una aplicacion casi (especulativamente) sin problemas de un S.O. a otro.

1.3 Consideraciones finales

No olviden enviar el reporte (sea bueno o malo) de compatibilidad que genera MoMA (MoMA lo envia automáticamente):

"Captura de pantalla, envío de reporte a Mono Project"

Esto ayuda para que los desarrolladores de Mono coloquen especial énfasis en los problemas mas comunes de compatibilidad encontrados, es tan fácil como dar un click al botón "Submit Report".

Una guía mas completa y extensa para corregir problemas de interoperabilidad puede ser hallada aquí.

Hasta Luego!

domingo, julio 08, 2007

Kernel, Almendras, Ventanas y Circulos Viciosos...

En el oscuro y ofuscado mundo de los Sistemas Operativos, un Kernel (también conocido en español como núcleo) es el componente central que se responsabiliza en manejar los recursos del sistema (manejo de memoria por ejemplo) y la comunicación entre el Hardware (parte física de una computadora) y el Software (programas).

Como componente básico de cualquier sistema operativo, un Kernel provee el nivel mas bajo en la capa de abstracción antes de llegar al Hardware... algo mas "abajo" del sistema operativo... son unos y ceros... o cambios voltaje.

La tarea del Kernel es ejecutar procesos (Software, aplicaciones, programas, como le quieran decir) y facilitarles a los mismos la tarea de interacción con el Hardware, mediante la comunicación entre procesos y llamadas al sistema (system calls).

Existen una gran variedad de Kernels: Micro Kernel y Mono Kernel y además esta el ExoKernel, el Kernel Híbrido y el Nano Kernel...

"Macro (Mono), Micro y Exo Kernel... el concepto"

...el diseño y creación de estos obedece usualmente a la implementación de los "anillos de protección". Estos anillos obedecen a un mecanismo que busca proteger datos y funcionalidad: de fallos y de comportamiento malicioso.

Los dos tipos de Kernel más usados son: Micro Kernel y Mono Kernel... y entre ellos existen un sin fin de implementaciones. Esto es como decir que solo existen Negros y Blancos... mentira, hay morenos, mulatos, cheles, chilucos, etc... Lo mismo es con las diversas implementaciones que existen entre el Micro Kernel y el Mono Kernel.

La forma mas fácil de imaginar un Kernel es como una almendra...

"Kernel en ingles, es el centro comestible de una almendra"

Hay que mencionar, que Microsoft decidió omitir esta regla de "anillos de protección" desde Windows 3.x hasta Windows 98. ¿Por qué?... bueno, la comunicación entre los anillos de protección requiere MUCHOS ciclos de procesamiento. Y con Windows siendo un sistema operativo elementalmente visual, Microsoft no tenia mas remedio que ELIMINAR los anillos de protección para mejorar el rendimiento general del sistema. Claro, esto llevo a problemas terribles muy bien conocidos en todos los Windows de la serie 3.x y 9x, como la famosa BSOD (Pantalla Azul).

"Así se vería el Kernel de Windows 98 después de una BSOD"

Ahora la serie de sistemas Windows XP/Vista eliminan (enormemente) este problema implementando en su Kernel los una vez desplazados anillos de protección... que se asemejan mucho con las capas de una cebolla... pero basta de hablar de comida.

El tema del Kernel no sera muy tratado por los usuarios de Windows... pero crean cuando les digo que es un tema muy interesante y elegido como tema de conversación (bueno, ni tanto) por muchos usuarios de GNU\Linux... y no es solo interesante, sino también controversial y ¡extenso!.

Lo "bonito" del Kernel de Linux, es que como es Open Source, todo mundo sabe como funciona y esto permite algunas características muy interesantes a la hora del famoso proceso de "compilación del Kernel".

Compilar el Kernel en un sistema, no se trata de una tarea exclusiva para "geeks", basta con leer un poco y entender la dinámica. Lo que si aburre, es el TIEMPO que tarda en compilarse, y sumado a esto, tener que re-iniciar la maquina para probar el nuevo kernel, y sino funciona, hacer el proceso de nuevo.

Pues para este circulo vicioso, existe un método que simplifica MUCHO las cosas, y además, sirve de ejemplo perfecto de la flexibilidad que presenta el Software Libre.
Este método consiste en la utilización de una maquina virtual para probar nuestro Kernel, y definitivamente NO consiste en copiar el kernel a la maquina virtual y arrancarla o peor aun, compilar el kernel en una maquina virtual, NO NO NO!
Es mucho mejor que eso (y menos tedioso), consiste en arrancar la imagen de un disco duro virtual con un Kernel (el que hemos compilado) EXTERNO a esta maquina virtual.

"Logo de QEmu"

Esta fantástica característica parte de QEMU (QEmu es un emulador de computadoras virtuales), se llama "Direct Linux Boot":

"Captura de pantalla de Qemu Laucher con Direct Linux Boot habilitado"

Direct Linux Boot, permite ahorrar tiempo de una manera increíble, al evitar estar re-iniciando la maquina constantemente y evitando el infame "Kernel Panic".

"Captura de pantalla de Direct Linux Boot con Kernel EXTERNO 2.6.21rac
Click para hacerlo más grande"

En el transcurso de la semana escribo un tutorial sobre como compilar y probar un Kernel usando QEMU.

Hasta Luego!

Kernel, Almendras, Ventanas y Circulos Viciosos...

En el oscuro y ofuscado mundo de los Sistemas Operativos, un Kernel (también conocido en español como núcleo) es el componente central que se responsabiliza en manejar los recursos del sistema (manejo de memoria por ejemplo) y la comunicación entre el Hardware (parte física de una computadora) y el Software (programas).

Como componente básico de cualquier sistema operativo, un Kernel provee el nivel mas bajo en la capa de abstracción antes de llegar al Hardware... algo mas "abajo" del sistema operativo... son unos y ceros... o cambios voltaje.

La tarea del Kernel es ejecutar procesos (Software, aplicaciones, programas, como le quieran decir) y facilitarles a los mismos la tarea de interacción con el Hardware, mediante la comunicación entre procesos y llamadas al sistema (system calls).

Existen una gran variedad de Kernels: Micro Kernel y Mono Kernel y además esta el ExoKernel, el Kernel Híbrido y el Nano Kernel...

"Macro (Mono), Micro y Exo Kernel... el concepto"

...el diseño y creación de estos obedece usualmente a la implementación de los "anillos de protección". Estos anillos obedecen a un mecanismo que busca proteger datos y funcionalidad: de fallos y de comportamiento malicioso.

Los dos tipos de Kernel más usados son: Micro Kernel y Mono Kernel... y entre ellos existen un sin fin de implementaciones. Esto es como decir que solo existen Negros y Blancos... mentira, hay morenos, mulatos, cheles, chilucos, etc... Lo mismo es con las diversas implementaciones que existen entre el Micro Kernel y el Mono Kernel.

La forma mas fácil de imaginar un Kernel es como una almendra...

"Kernel en ingles, es el centro comestible de una almendra"

Hay que mencionar, que Microsoft decidió omitir esta regla de "anillos de protección" desde Windows 3.x hasta Windows 98. ¿Por qué?... bueno, la comunicación entre los anillos de protección requiere MUCHOS ciclos de procesamiento. Y con Windows siendo un sistema operativo elementalmente visual, Microsoft no tenia mas remedio que ELIMINAR los anillos de protección para mejorar el rendimiento general del sistema. Claro, esto llevo a problemas terribles muy bien conocidos en todos los Windows de la serie 3.x y 9x, como la famosa BSOD (Pantalla Azul).

"Así se vería el Kernel de Windows 98 después de una BSOD"

Ahora la serie de sistemas Windows XP/Vista eliminan (enormemente) este problema implementando en su Kernel los una vez desplazados anillos de protección... que se asemejan mucho con las capas de una cebolla... pero basta de hablar de comida.

El tema del Kernel no sera muy tratado por los usuarios de Windows... pero crean cuando les digo que es un tema muy interesante y elegido como tema de conversación (bueno, ni tanto) por muchos usuarios de GNU\Linux... y no es solo interesante, sino también controversial y ¡extenso!.

Lo "bonito" del Kernel de Linux, es que como es Open Source, todo mundo sabe como funciona y esto permite algunas características muy interesantes a la hora del famoso proceso de "compilación del Kernel".

Compilar el Kernel en un sistema, no se trata de una tarea exclusiva para "geeks", basta con leer un poco y entender la dinámica. Lo que si aburre, es el TIEMPO que tarda en compilarse, y sumado a esto, tener que re-iniciar la maquina para probar el nuevo kernel, y sino funciona, hacer el proceso de nuevo.

Pues para este circulo vicioso, existe un método que simplifica MUCHO las cosas, y además, sirve de ejemplo perfecto de la flexibilidad que presenta el Software Libre.
Este método consiste en la utilización de una maquina virtual para probar nuestro Kernel, y definitivamente NO consiste en copiar el kernel a la maquina virtual y arrancarla o peor aun, compilar el kernel en una maquina virtual, NO NO NO!
Es mucho mejor que eso (y menos tedioso), consiste en arrancar la imagen de un disco duro virtual con un Kernel (el que hemos compilado) EXTERNO a esta maquina virtual.

"Logo de QEmu"

Esta fantástica característica parte de QEMU (QEmu es un emulador de computadoras virtuales), se llama "Direct Linux Boot":

"Captura de pantalla de Qemu Laucher con Direct Linux Boot habilitado"

Direct Linux Boot, permite ahorrar tiempo de una manera increíble, al evitar estar re-iniciando la maquina constantemente y evitando el infame "Kernel Panic".

"Captura de pantalla de Direct Linux Boot con Kernel EXTERNO 2.6.21rac
Click para hacerlo más grande"

En el transcurso de la semana escribo un tutorial sobre como compilar y probar un Kernel usando QEMU.

Hasta Luego!

Sunsetting Sr. Byte.

El Sr. Byte ha estado más de 5 años inactivo. Digamos que estaba en " code freeze ". Pero ahora es el último release. Quizas no...