miércoles, 10 de junio de 2009

Nueva dirección

Bueno, le quiero poner algo de orden a esto, así que de ahora en adelante (o hasta que ya no pueda pagarlo) estaré publicando en el nuevo sitio: http://www.confusion.com.mx/

espero verlos por ahí!

miércoles, 1 de abril de 2009

Gnome Partition Editor: LiveUSB


Esta debe ser una aplicación conocida para todo linuxero, muy útil.. pero que pasa cuando debes modificar una partición que estas usando, por ejemplo /home o el mismisimo directorio raíz?

Respuesta: Live CD/USB

LiveCD
Lo que todos conocemos, bajas la imagen ISO y la quemas, reinicias y cargas un bonito y rápido fluxbox

LiveUSB

  1. Inserta la memoria USB y espera unos segundos a que la detecte

  2. Ejecuta el comando $dmesg y busca el punto de montaje de tu memoria (para este ejemplo será /dev/sdb1

  3. Descomprime el contenido de la imagen o del archivo zip de GParted LiveUSB en el directorio raíz del USB (por ejemplo: /media/usb/

  4. Ejecuta: $sudo /media/usb/utils/linux/makeboot.sh /dev/sdb1

  5. Te debe aparecer un mensaje para confirmar que vas a "meterle mano" a la partición del USB, le dices que si

  6. Luego debe preguntarte si quieres grabar el programa de arranque, le dices que si.


Listo! ya debes tener configurado tu memoria USB para poder arrancar, reinicias la computadora y verificas. Ahora puedes crear y modificar las particiones de tu cajita linux o incluso windows (soporta varios sistemas de archivos).

Nota: El sistema necesita 105 MB para instalarse, asi que una memoria de 256 MB es más que suficiente (de hecho es el tamaño de la que yo use!)


Felices particionamientos :P

Referencia en ingles: http://gparted.sourceforge.net/liveusb.php
Archivos de LiveCD/USB: http://gparted.sourceforge.net/download.php
Sistemas de archivos soportados: http://gparted.sourceforge.net/features.php


lunes, 30 de marzo de 2009

Instalando paquetes de desarrollo para DirectFB

En el mensaje anterior hablaba de DirectFB, sus características, bondades y sus inconvenientes, pero... vamos a ver antes que nada cómo empezar a desarrollar sobre esta API
  • Hay que instalar los paquetes de desarrollo y sus dependencias

  • $sudo apt-get install build-essential exuberant-ctags gcc libdirectfb-dev libdirectfb-bin libdirectfb

  • Nota: libdirectfb puede contener ademas el número de version, ten en cuenta eso
  • Hay que modificar el grub para decirle que resolución debe usar el framebuffer

  • $sudo gedit /boot/grub/menu.lst

  • Elige la opción con la cual vas a entrar. Siempre puedes crear otra nueva.
  • Agrega: vga=0x317 al final de las opciones de inicio, debe quedar algo asi:

  • title         Ubuntu 8.10, kernel 2.6.27-11-generic
    uuid 8f9525c0-6f01-4b8h-bc24-e05775f052b0
    kernel /boot/vmlinuz-2.6.27-11-generic root=UUID=8f9525c0-6f01-4b8h-bc24-e05775f052b0 ro quiet splash vga=0x317
    initrd /boot/initrd.img-2.6.27-11-genericquiet

  • Aqui hay una lista de modos de video, puedes cambiar a consideración, siempre y cuando tu computadora lo soporte
  • Reinicia y listo, ya puedes comezar a programar en DirectFB :)

jueves, 26 de marzo de 2009

Cuando Linux se vuelve tu primera opción

Encontré un buen artículo de un fanatico de linux, tan bueno que me siento identificado, les dejo la traducción-adaptación a mi caso:

Tengo que admitir que soy fanático de linux desde 2002. Frecuentemente la gente pregunta por qué uso linux como sistema operativo único en todas mis computadoras y practicamente en el trabajo diario. Aqui están las razones:

  • Windows XP era un bonito sistema operativo (sin embargo, Vista no lo es) para oficinas o juegos. Es para gente que usa sus computadoras como avanzadas máquinas de escribir o como consolas de juego. Similarmente, los usuarios de MAC esperan una interfáz limpia con pocas perillas, como una lavadora. Pero soy un usuario poderoso haciendo mucho de mi trabajo con eficientes comandos shell. Quiero mi computadora de regreso.

  • No quiero pagar por cada pedazo de software. Tampoco quiero buscar en toda la internet para encontrar una solución freeware (generalmente de fuentes dudosas) . Con un sistema linux basado en Debian, por ejemplo, puedo encontrar cerca de 20,000 paquetes de programas libres en sus repositorios (y el código fuente).

  • Evito comprar productos de Apple. En resumen:
    • Te hacen pensar que inventaron algo nuevo
    • Crean una religión de fetichistas. Alguna vez has visto una ceremonia de desempacado?
    • Compré un iPod Classic que no funciona en sistemas linux o windows ¬¬
    • Las nuevas generaciones de iPods están cifradas para excluir su uso en aplicaciones que no sean de Apple. Que impertinencia!

  • Quiero desarrollar software. Con LINUX tienes muchas herramientas, compiladores y bibliotecas bajo varias licencias no restrictivas. En sistemas operativos comerciales, la mayoría de los ambientes de desarrollo y bibliotecas requieren que hayas pagado la licencia para desarrollar.

  • Quiero dar soporte a estándares abiertos. Puedes abrir un documento de Microsoft Word que fue creado hace 10 años?

  • No quiero ayudar a compañias que promueven el monopolio de Internet o de tecnologías multimedia.

  • Quiero apoyar al movimiento de Código Abierto. Me gusta la filosofía tras Wikipedia. Por lo tanto, prefiero software desarrollado por la comunidad.

Actualmente hay muchas más ventajas (velocidad, portabilidad, re-uso de hardware antiguo, herramientas de red), pero hasta aqui llegamos en el mensaje de hoy :P


Mi primer linux fue Mandrake 9, fanatico de Debian y ahora usuario de Ubuntu.

Originalmente visto en:
http://www.perihel.at/3/index.html

martes, 24 de marzo de 2009

Llave OpenPGP

Lo de siempre en seguridad ;)

Key ID: 0xD247AA0D
Keyserver: pool.sks-keyservers.net


-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)

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
DeXQ5M/0QGvcd+y+Axsw
=CNfF
-----END PGP PUBLIC KEY BLOCK-----

jueves, 19 de marzo de 2009

Doxygen: documentando código

Hace unos dias estaba buscando una herramienta que me ayudara a documentar mi código, comenze de 0, pero no dio buenos resultados, asi que opté por algo que habia visto alguna vez: doxygen.

La idea es simple: hacer la documentación EN el archivo fuente. Esto da una gran ventaja a la hora de evolucionar un programa, mucho más cuando los requerimientos no están del todo claro :P

Puedo decir que doxygen cumple las espectativas, la creación del paquete de documentación en HTML es rapida, sencilla y parece que puede ser muy poderosa (recuerda que solo llevo un par de dias usandolo!).

Los "comandos" para documentar son simples y estéticos, y lo mejor de todo, puedes documentar el código... digamos que por separado, esto es, escribes lo que contendrá el HTML/PDF/etc como si fuese un ente aparte, mientras sigues poniendo comentarios del tipo:


/* Ponemos este contador en lo que se me ocurre algo más */
int cont = 0;


Curioso, no? Veamos algo un poquitín elaborado:


/** @fn int RellenaCirculo (int color, int centro_x, int centro_y, int radio);
@brief Rellena con el color indicado un círculo trigonométrico.
@param[in] color El color a usar basado la lista de colores
@param[in] centro_x Coordenada del punto centro del círculo en el eje X
@param[in] centro_y Coordenada del punto centro del círculo en el eje Y
@param[in] radio Radio geométrico para representar el circulo
@return verdadero en caso de exito, falso si hubo error.
@todo Hacer la función!!!
@author Antonio
*/


Se ve muy bien para ser la primera impresión... amor a primera vista? Uno nunca sabe :)

Enlaces de interés:

  1. Página de un maestro costarricense, muy interesante
  2. Página principal del proyecto
  3. El manual mas nuevo (al momento de escribir la nota)

jueves, 12 de marzo de 2009

Acentos ortográficos y Ñ en Ubuntu




Debo confesar que ha sido un fastidio desde que llegue a linux, el no poder escribir fácilmente los símbolos propios de mi lengua madre, el español, que son los acentos y la representativa ¨ñ¨.

En la computadora de casa no es tanto problema, pues poseo teclado latinoamericano. Pero en el trabajo, donde solo hay teclados con distribución estadounidense, debí buscar un poco para resolver este pequeño problema.

Esta es la receta:


En Ubuntu 5.10 Breezy, normalito y en ingles (según encontré)
  1. System>Preferences>keyboard>layouts
  2. Poner dos: ¨U.S. English¨ y ¨U.S. English Alternative International¨, seleccionando como default el ¨U.S. English Alternative¨
  3. Teclado: Generic 104KEY PC
  4. Cerrar todo
  5. Click derecho sobre la barra de estado superior
  6. ¨Add to panel¨
  7. Utilities>Keyboard indicator
  8. Aparecerán las siglas USA en esta barra, al hacer click sobre la palabra aparece USA* lo que quiere decir que esta funcionando el US_int.


En Xubuntu 8.10 Intrepid, tambien en ingles, este si lo confirmo :P

  1. Applications->Settings->Settings Manager->Keyboard->Layouts
  2. Use X configuration: no seleccioando
  3. Teclado: Generic 105-key (Intl) PC
  4. Keyboard layout: US y US Intl
  5. Cerrar el admnistrador de configuraciones
  6. Hacer click en la barra superior (o donde esté) y poner ¨+ Add new item¨
  7. Buscar y seleccionar: Keyboard layout switcher
  8. Aparece una ventana, selecciona el US Intl, si aparece dos veces US, prueba ambos para ver cuál es
Ahora solo tienes que combinar ¨ALTgr¨ (el ALT que esta al lado derecho de la barra espaciadora) y la tecla que necesites.

Dejo un mapa del teclado internacional y sus caracteres:



miércoles, 11 de marzo de 2009

Direct Frame Buffer

También conocido como DirectFB o DFB, es una tecnología que proporciona "aceleración gráfica de hardware, manejo y abstracción de dispositivos de entrada, sistema integrado de ventanas, con soporte para ventanas translúcidas y capas múltiples de visualización sobre del dispositivo Linux Framebuffer.

Quire decir que puedes usarlo para programar gráficos con alta velocidad de respuesta y una API de alto nivel.

Suele usarse en dispositivos móbiles o sistemas empotrados, ya que la programación gráfica resulta sencilla y poderosa.

En este momento, es bueno comentar, que me encuentro aprendiendo esta tecnología para ser usada en las interfaces gráficas de los sistemas empotrados que la compañia produce, asi que tendré tiempo para publicar mis experiencias, espero que les sirva :)


Sitio oficial: http://www.directfb.org