Por Charles M. Strauss

“Una de las cosas más fascinantes de los programadores es que no puedes saber si están trabajando o no sólo con mirarlos. A menudo están sentados aparentemente tomando café, chismorreando o mirando a las nubes. Sin embargo, es posible que estén poniendo en orden todas las ideas individuales y sin relación que pululan por su mente”

–Charles M. Strauss

Me identifico con ese texto jeje, me gusto, por eso lo coloco en mi primer post del año 2009.

Escribo esto desde un 31 de Diciembre de 2008 y se auto publicara a las 00:00 del 1ero de Enero de 2009 juas! :-P

Para todos mis amigos, conocidos, no conocidos, robots, aliens.. ehh /*ya*/. Mas que desear un prospero año nuevo, feliz o no, depende de cada quien. Prefiero desear que realicen todos sus sueños, no importa el tiempo, y decir que las metas son solo una referencia, lo importante es vivir, lo que aprendemos nos debería ayudar a ser mejores. Sobre todo en esta época que vivimos en donde hace falta cultivar la conciencia.

no tengo mucho tiempo jeje, que tengan un 2009 lleno de sorpresas :-)

Juego de Ajedrez - Pychess

No soy jugador de ajedrez a diferencia de mi hermano :-P, fue por él que busqué sobre el tema.

Me dijo que en el ajedrez existe un sistema de puntuación llamado Elo, en el que se intenta calcular la fuerza de los jugadores. Éste sistema también es aplicado a motores de IA (inteligencia Artificial) para el ajedrez.

Por los momentos el motor de IA con mayor puntuación es uno llamado Rybka, desafortunadamente no es SL (Software Libre) pero hay una versión gratuita y disponible para Linux.

Lo poco que logre encontrar fue Pychess, existen otros más, pero este programa me gusto mas porque es sencillo, tiene soporte para jugar en red y soporta distintos motores de IA para jugar contra la computadora.

En el tema de la IA solo probé dos que son SL bajo la GPL, fruit y crafty, no puedo opinar cual de los dos es mejor por mi poca experiencia, pero puedo decir que crafty me pareció mas rápido.

Acá pueden ver una lista más grande de motores de IA para ajedrez: http://en.wikipedia.org/wiki/Chess_engine

Unas capturas de pychess:

Alanis Morissette - Not As We

Reborn and shivering
Settled on new terrain
Unsure, unkind, insane
It’s faint and shaken

Chorus:

Day one, day one
Start over again
Step one, step one
I’m barely making sense
For now I’m faking it
‘Til I’m psuedo-making it
From scratch, begin again
But this time I as I
And not as we

Verse 2:

Gun-shy and shivering
Tear it without a hand
Feign brave but still intent
Little and hardly here

Chorus:

Day one, day one
Start over again
Step one, step one
I’m barely making sense
For now I’m faking it
‘Til I’m psuedo-making it
From scratch, begin again
But this time I as I
And not as we

Eyes wet toward wide open fright,
If God is taking bias, I pray he wants to lose,

Chorus:

Day one, day one
Start over again
Step one, step one
I’m barely making sense
For now I’m faking it
‘Til I’m psuedo-making it
From scratch, begin again
But this time I as I
And not as we

Wireless VIA VT6655

¿Como instalar la inalambrica VIA VT6655?

Resulta que la Síragon ML-1010 trae como dispositivo de red inalámbrica el chipset VIA VT6655 que por desgracia no tiene soporte directo con el kernel linux.

Existe un driver liberado por VIA para el soporte nativo con un modulo para el kernel, pero tiene una gran tranca, la licencia del driver no esta clara, no se sabe si es 100% libre y por eso ha tenido poco soporte por los desarrolladores, espero que esto se solucione.

Esta la opción con ndiswrapper que permite utilizar el driver para windows en linux. explicare las 2 formas.

Primero la mas fácil.

usen el manejador de paquetes de su distribución para instalar ndiswrapper, en archlinux es:

pacman -S ndiswrapper

se descargan el driver del VT6655 para windows de acá: http://www.viaarena.com/default.aspx?PageID=420&OSID=1&CatID=1190&SubCatID=179

Como se darán cuenta, el archivo que descargaron contiene es un .exe, tienen 2 formas de obtener los archivos, usan windows ó cabextract desde el mismo linux.

en archlinux:

pacman -S cabextract

luego, extraen el driver:

cabextract VT6655\ XP\ v2.17.0.3\ x32.exe

Verán un montón de archivos, solo necesitamos uno: VNWL.inf

tienen que instalarlo con ndiswrapper:

ndiswrapper -i VNWL.inf

verificamos que este instalado con:

ndiswrapper -l

Si hace falta, cargamos el modulo:

modprobe ndiswrapper

Deberíamos poder ver la interfaz con iwconfig con el nombre wlan0

.

La opción menos Fácil:

Esta es la que a mi me gusta jejeje, lo que haremos es compilar el modulo del kernel para que pueda manejar la inalámbrica sin necesidad de utilizar ndiswrapper.

Asegúrense de que tiene el compilador gcc y el código fuente del kernel linux.

Descargamos el código fuente de acá: http://www.viaarena.com/default.aspx?PageID=420&OSID=25&CatID=2590&SubCatID=179

Al extraer el archivo, veremos una carpeta de nombre vt6655_v118_02

Vamos desde consola hacia esa carpeta, y viene lo interesante, resulta que el modulo da error al compilar con los kernels nuevos, por ejemplo 2.6.26 y 2.6.27 no se con los anteriores a estos.

Simplemente escribir: make

Si les da error iwctl.c no se preocupen, encontré la solución, hice un parche para ese archivo.

Descargan este archivo: iwctlc.patch

Para aplicar el parche, en la consola van al directorio driver que esta dentro de vt6655_v118_02 escriben:

patch -p0 < *ubicacion*/iwctlc.patch

Donde *ubicacion* naturalmente es donde guardaron el archivo .patch

Ahora al hacer make no debería dar error, después como root escribimos: make install

Cargan el nuevo modulo con: modprobe viawget

Ahora el dispositivo inalámbrico seria eth1

Cosas que hay que tomar en cuenta:

  • Con ndiswrapper se sabe que no es posible usar el modo monitor, y por los momentos éste modulo del kernel tampoco puede :S
  • Usando el modulo del kernel, al hacer un cambio (por ejemplo: de managed a ad-hoc) con el dispositivo activado congela el sistema, tiene primero que desactivarla (ifconfig eth1 down) hacer el cambio y luego activarla (ifconfig eth1 up)

que disfruten.

Archlinux en Síragon ML-1010 - Parte 2

Continuando con la instalación de archlinux en la síragon ML-1010 decidí seguir con la instalación de Xorg antes que la inalambrica, aprovechando que tenia red por cable :P.

No voy a explicar todos los pasos, para eso pueden ver http://wiki.archlinux.org/index.php/Guía oficial de Instalación (Español)

Así que, vamos con xorg:

pacman -S xorg

En archlinux hay una utilidad que permite configurar automáticamente el xorg, se llama hwd, la instalamos:

pacman -S hwd

Y para auto configurar el xorg usamos:

hwd -xa

Por defecto va ha configurar el vídeo con el driver vesa, pero eso lo vamos a cambiar luego.

El chip de vídeo de la síragon ML-1010 es VIA UniChrome, existe un proyecto de driver libre para ese chip, se llama OpenChrome, en el wiki de archlinux sale alguna información http://wiki.archlinux.org/index.php/Via_Unichrome

En realidad el openchrome de los repositorios de arch no me funcionaron, así que descargue las fuentes y lo compile, va ser necesario gcc y subversion

pacman -S gcc subversion

En AUR se encuentra el paquete listo para usar, si tiene yaourt simplemente hacen:

yaourt -S openchrome-svn

Si no, descargan el “tarball” de opencrome-svn lo descomprimen en alguna carpeta del sistema, por ejemplo: /var/abs/local y luego entran a la carpeta que se crea, debería ser openchrome-svn y escriben:

makepkg

ó

makepkg –asroot

Esa ultima opción no es recomendada por seguridad.

Si ha dado algún error, revisar bien que, puede que falten algunos programas. De lo contrario, si todo salio bien, deberíamos ver un archivo nuevo de nombre openchrome-svn que termina en .pkg.tar.gz es el que necesitamos para instalar, así:

pacman -U openchome-svn-(….).pkg.tar.gz

Coloco varios puntos (….) porque en esa parte va en numero de revisión de subversion, que es algo muy variable.

Por ultimo queda configurar el xorg.conf, que se encuentra en /etc/X11/xorg.conf

Modificamos:

Section “Monitor”
Identifier “Monitor0″
Option “DPMS” “true”
HorizSync 31.5-55
VertRefresh 40-70
# 1024×600 @ 60.00 Hz (GTF) hsync: 37.32 kHz; pclk: 48.96 MHz
Modeline “1024×600″  48.96  1024 1064 1168 1312  600 601 604 622  -HSync +Vsync
EndSection

El modeline es necesario para que la pantalla pueda agarrar la resolución de 1024×600 ya que es widescreen

También:

Section “Device”
Identifier  “Card0″
Driver      “openchrome”
VendorName  “VIA”
BoardName   “UniChrome”
#Option “DPMS”
#Option “VBEModes”
#Option “VBESaveRestore”
Option “ForcePanel”
Option “ActiveDevice” “LCD,CRT”
Option “PanelSize” “1024×600″
Option “SWcursor”
EndSection

Esta es la parte del dirver y opciones del video, las opciones comentadas en algunos casos pueden ser necesaria, con la ML-1010 no.

Para el que quiera dejo mi xorg: xorg.conf

Con este driver ya deberia tener video y tambien la opcion de 3D

Que lo disfruten.

PARTE 1: http://jhuss.com/2008/11/07/archlinux-en-siragon-ml-1010-parte-1/

Delerium - You & I

Up from my back door
I can see
A hand-span of eternity
And up through the buildings
An indifferent sky
Is heavy with silence like You & I

Why do You & I
Make each other cry
When we both know
(Yes we both know)
We love each other so

Up from my back door
The stars look so at home
Meanwhile, I feel alone
Whenever we fight baby
We both lose sight
Of You & I

Why do You & I
Make each other cry
When we both know
(Yes we both know)
We love each other so

Oh baby
Oh you have to hear me
I don’t want to fight with you
Want to make things right for you
Because I care about you

Why do You & I
Oh baby why do we fight…
When we both know
(Yes we both know)
We love each other so

Archlinux en Síragon ML-1010 - Parte 1

saludos

les cuento que ya termine de instalar y ajustar archlinux en la netbook síragon ML-1010, salvo algún detalle que después les comentare.

Llevó algo de trabajo y de investigación que iré colocando en varias partes, para cualquiera que quiera probar :D

La síragon ML-1010 trae un sistema operativo basado en debian, se llama rxart que en realidad no me gusto mucho. En mi opinión el sistema no viene para nada optimizado al hardware de la maquina, y una carga de procesos que agotan muy rápido la batería.

.

Descargar Archlinux:

hay que descargar la versión USB de arch, de extensión .img que la pueden encontrar en http://archlinux.org/download/ lo pueden descargar desde la misma ML-1010 o en otra computadora, preferiblemente desde otra pc con arch, ya que se va hacer uso de algunas herramientas que pueden no estar disponibles de forma inmediata en el sistema rxart.

La imagen puede ser la versión Core o la Ftp la diferencia es que con la versión core no es necesario internet para instalar el sistema base, con ftp si.

Necesitamos una memoria USB o “Pendrive” cualquiera de 512MB en adelante. AVISO: si tiene datos en la memoria usb, respalde, porque van a ser borrados

.

Copiado de la .img a la memoria USB:

Ya con la imagen de arch para USB, en mi caso use la versión Core, de forma simple deberíamos copiarla y arrancar con ella. Pero lamentablemente no se que problema hay entre la imagen de arch y el BIOS de la ML-1010 que no funciona correctamente.

Probé hasta con un cd de arch en una unidad externa de CD y tampoco funciono. Así que me toco crear una imagen que si funcionase, esta fue una de las partes en la que mas me tarde, pero encontré la solución.

Lo que vamos a usar es Syslinux, un bootloader que permite iniciar sistemas Linux en sistemas de fichero tipo FAT los utilizados para msdos y windows.

Deberemos tener instalado en el sistema lo siguiente: syslinux, dosfstools y lilo, en arch hacemos:

pacman -S syslinux dosfstools lilo

Conectamos la memoria USB, en mi caso se crea en /dev/sdb , la limpiamos de contenido:

dd if=/dev/zero of=/dev/sdb

Hay que crear la tabla de particiones de tipo DOS/FAT, pueden utilizar la forma que mas les guste, yo use fdisk:

fdisk /dev/sdb

en orden las siguientes opciones:

n , p , 1 , aceptar, aceptar, a , 1 , t , 6 , w

Ahora falta darle formato:

mkdosfs /dev/sdb1

Instalamos syslinux en la memoria USB:

syslinux /dev/sdb1

Solo resta copiar el contenido de la .img de arch, pero ¿como se hace?

usamos el sistema de loop para montar la imagen, de la siguiente manera:

losetup -o32256 /dev/loop0 /ruta/del/archivo.img

Nota: la opción -o32256 es necesaria porque la imagen esta creada con esa cantidad de bytes libres antes de cualquier partición.

Nota2: Si da error creando el dispositivo /dev/loop0, falta cargar el modulo, con: modprobe loop

Luego montamos el loop en algún directorio, por ejemplo en /media/archimg :

mkdir /media/archimg

mount /dev/loop0 /media/archimg

Ya podemos ver el contenido de la imagen de archlinux, ahora hay que copiar algunas cosas a la memoria USB, done la memoria la montaremos en /media/archboot :

mkdir /media/archboot

mount /dev/sdb1 /media/archboot

cp -rpf /media/archimg/* /media/archboot

de la carpeta boot de /media/archboot solo necesitamos 2 archivos, el kernel necesario para iniciar:

mv /media/archboot/boot/vmlinuz26 /media/archboot

mv /media/archboot/boot/archlive.img /media/archboot

rm -r /media/archboot/boot

Necesitamos crear el archivo syslinux.cfg, con su editor favorito, yo uso nano:

nano /media/archboot/syslinux.cfg

agregamos:

default archlinux

label archlinux

kernel vmlinuz26

append initrd=archlive.img

Guardamos con: ctrl+o

Salimos con: ctrl+x

Ya tenemos casi todo listo, ahora instalar el arranque:

Desmontamos la memoria USB

umount /dev/sdb1

Instalamos lilo

lilo -M /dev/sdb

No se coloca el 1 después de sdb

Y ya tienen su memoria USB con archlinux listo para instalar en la síragon ML-1010.

Desmontan la unidad loop:

umount /dev/loop0

y eliminan la instancia de loop0

losetup -d /dev/loop0

Solo resta reiniciar, entrar al bios y colocar el orden de boteo de 1er lugar la memoria USB.

PARTE 2: http://jhuss.com/2008/11/13/archlinux-en-siragon-ml-1010-parte-2/

Síragon ML-1010

Ya tengo mi netbook, o mini-laptop (como la quieran llamar) es una pequeña maquinita con pantalla de 10.2″

Es ensamblada en Venezuela por Síragon, de un modelo similar creado por la compañia China “Great Wall” la A81

las características de la ML-1010 son:

  • Procesador VIA de 1.6GHz / 400MHz FSB
  • Memoria RAM de 1GB DDR2 667 MHz
  • Disco Duro SATA de 160GB a 5400RPM
  • Lector de memorias SD/XD etc.. 4 en 1
  • Pantalla de 10.2″ XGA TFT
  • LAN y WLAN VIA 802.11 a/b/g
  • Vídeo cámara web de 1.3Mpx

Por sistema operativo trae Linux, una distro argentina que se llama Rxart , para información mas detallada, acá tienen el lspci:

00:00.0 Host bridge: VIA Technologies, Inc. CX700/VX700 Host Bridge (rev 10)
00:00.1 Host bridge: VIA Technologies, Inc. CX700/VX700 Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. CX700/VX700 Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. CX700/VX700 Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. CX700/VX700 Host Bridge
00:00.7 Host bridge: VIA Technologies, Inc. CX700/VX700 Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237/VX700 PCI Bridge
00:06.0 Network controller: VIA Technologies, Inc. VIA VT6655 WiFi Adapter, 802.11a/b/g
00:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0f.0 IDE interface: VIA Technologies, Inc. VX800 Serial ATA and EIDE Controller
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 90)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 90)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 90)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 90)
00:11.0 ISA bridge: VIA Technologies, Inc. CX700/VX700 PCI to ISA Bridge
00:11.7 Host bridge: VIA Technologies, Inc. CX700/VX700 Internal Module Bus
00:13.0 PCI bridge: VIA Technologies, Inc. CX700/VX700 Host Bridge
01:00.0 VGA compatible controller: VIA Technologies, Inc. CX700/VX700 [S3 UniChrome Pro] (rev 03)
02:01.0 Audio device: VIA Technologies, Inc. VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) (rev 10)

también dejo el lsusb:

Bus 004 Device 003: ID eb1a:2761 eMPIA Technology, Inc. EeePC 701 integrated Webcam
Bus 004 Device 001: ID 0000:0000
Bus 004 Device 002: ID 0bda:0156 Realtek Semiconductor Corp. Mass Stroage Device
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

Próximamente estaré instalando Archlinux en esta maquina, pero sera para otro post :P

Como siempre las fotos no pueden faltar :D

Project Kenai

Hace una semana SUN lanzo un nuevo portal para proyectos de código abierto, funciona de forma similar a lo que hace Google Code, Sourceforge, Gna! y otros.

Para alojar el código ademas de tener SVN incluye Mercurial (en ingles).

Y tiene todas las demás cosas que se espera un sistema de este tipo, listas de correo, foros, wiki y bug tracking.

Se echa de menos la traducción de la interfaz al español y otros idiomas, esperemos que pronto estén disponibles.

Por los momentos es un sistema en “beta” pero en mi opinión es mucho mas rápido, elegante e intuitivo que otros sistemas de este tipo, es una herramienta a tomar en cuenta y ver como va evolucionando, como se va comportando a medida que tenga mas carga de trabajo.

la web del proyecto es: projectkenai.com

Eclipse - Web Developer Tools

¿Eclipse?
Es un IDE (Integrated Development Enviroment) en español “entorno de desarrollo integrado“, de código abierto, principalmente para desarrollos en java, pero es extensible mediante plugins. ver mas sobre eclipse

Inicialmente mi interés por eclipse fue por el plugin pydev, que permite utilizar eclipse para la programación con python, en verdad no he visto un editor en entorno gráfico que tenga todas las características que tiene el de eclipse, su sintaxis, reconocimiento y auto búsqueda de funciones y variables, en contra se puede decir que es algo lento y un alto consumo de memoria.

Realmente poco he usado eclipse, para mi, no vale la pena gastar esos recursos solo por python, para eso uso anjuta o geany, pero casualidad me encontré con un proyecto para eclipse, se llama Web Tools Platform

Este proyecto extiende la capacidad de eclipse al igual que pydev, pero orientado al desarrollo web y claro, muy orientado a java, en verdad lo que me intereso fue un subproyecto “Web Developer Tools” que solo son herramientas que permiten usar a eclipse como editor para javascript, html, css y xml sin tener que agregas mas cosas de Web Tools Platform como java EE.

la versión liberada a esta fecha, es la 3.0, lo pueden descargar de: http://download.eclipse.org/webtools/downloads/drops/R3.0/R-3.0-20080616152118/ y ver el apartado “Web Developer Tools” un archivo zip que ocupa 35Mb.

básicamente para instalarlo seria descomprimirlo en el directorio de instalación de eclipse. Para Archlinux la distribución que uso, hice un PKGBUILD listo para usar: http://aur.archlinux.org/packages.php?ID=19136 También existe otro paquete, que trae todo el framework de Web Developer Tools http://aur.archlinux.org/packages.php?ID=5283 y hay cosas que no necesito, ademas mi ancho de banda casi no me deja :P

después de instalar eclipse-wtp-wst, abrimos eclipse (tengo eclipse 3.4 - Ganymede ) y veremos:

Plugin wtp-wst para eclipse

Plugin wtp-wst para eclipse

eclipse-wst dialogo de preferencias

eclipse-wst dialogo de preferencias, se puede ver las opciones de javascript, html y css

eclipse-wst editando html

eclipse-wst editando html

eclipse-wst editando css, se puede ver la lista de propiedades

eclipse-wst editando css, se puede ver la lista de propiedades

eclipse-wst editando el .js de mootools

eclipse-wst editando el .js de mootools

Ahora tengo eclipse como “todo en 1″ jeje tal vez lo este usando cada vez mas, aun esta en prueba.

saludos, hasta la próxima.