Software Libre

¿ Qué tal ?

Desde hace un par de comentarios en LIDSOL, he estado escribiendo acerca de qué es lo que básicamente deberíamos como * comunidad * saber * en común * ( así con el pleonasmo como tal ).

Creo que la primer conclusión a la que he llegado es que la historia no se debe dejar atrás - en ningún momento -. La historia nos da identidad, motivación, esperanza y soluciones. Tal ves, tienen razón los que dicen por ahí que no todos pueden saber lo mismo, tal vez tiene razon los que dicen que no todos ignoramos lo mismo. Es cierto. Pero en cuanto a historia, todos deberíamos saber de donde venimos y hacia donde vamos.

En el caso del Software Libre, creo que todos debemos leer un poco sobre la historia de UNIX, y en este sentido quiero comentar acerca de lo que me gustaría en LIDSOL, todos tenemos que leer. Es un hecho, no podría recomendar mas que lo que yo he leído. Pero este ejercicio va un poco mas allá de lo que YO he leido. Me gustaría saber de mas bibliografía para agregar a este tema, y no solo eso, comentarla, ya que uno no puede emitir un juicio, sin el conocer del otro.

Así que ahora presento una lista de elementos que en este momento considero importantes y vaya. algunos de los que recuerdo, iré agregando algunos otros elementos que considere importante en algún block fijo :

Artículos:
"The Catedral and The Baazar". Eric S. Raymond.
"The history of Hacjerdom". Eric S. Raymond.

Libros:
"La Ofensiva del Software Libre". Peter Wayner.
"The Design and Implementation of the 4.4BSD Operating System". Kirk McKusick, Keith Bostic, Michael J. Karels, John S. Quarterman
"The Design of the Unix Operating System". Maurice J. Bach
"Unix Programming Environment". Kernighan, Pike
"Software libre para unasociedad libre " Richard M. Stallman
"UNIX History". http://www.levenez.com/unix/

Películas:

Revolution OS.
Pirates of Sillicon Valley.
Código Linux.

Saludos, como siempre, espero respuesta.

rommel | General, LIDSOL, Software Libre, Opinion | 2 October, 12:50am | 2 comments

Este jueves 25 y 26 de Septiembre de 2008 , me invitaron a dar un par de platicas en el CUI . Basicamente mas bien era una platica, y participar en un install fest. Pero bueno, acabamos dadno un foro y un par de platicas.

Algo que me parecio estupendo, fue que durante el foro, se tuvieron, en verdad, mushisisismas preguntas de lo mas interesante; Temas, sobre seguridad, licenciamientos, facilidad de uso, ventajas y desventajs de software libre, diferencias entre sistemas operativos. De todo. Quede fascinado de notar, que mucha de la apatia con la que me encuentro en otros sitios, ahora no figuro en lo absoluto.

Agradezco a Silvia Aguilar por la invitacion y al Ingeniero Marco por el excelente trato durante mi estancia.

En verdad un esfuerzo que vale mucho la pena comentar.

Gracias y esperaria seguir en contacto :)

rommel | Software Libre, Personal, Opinion | 26 September, 11:36pm | Comment on this

Pues. ya entrados, con la falta de monitor, en tarjetitas empotradas el uso de la consola serial es un pan de todos los dias. Por lo menos en la maquina en la que trabajo, con el kernel que tengo compilado de no hace mucho,

LaPoWeRoSa ~ # uname -a
Linux LaPoWeRoSa 2.6.25-tuxonice-r5 #4 SMP PREEMPT Wed Aug 20 23:35:59 CDT 2008 i686 Genuine Intel(R) CPU T2050 @ 1.60GHz GenuineIntel GNU/Linux

existe un driver para los cables USB -> Serial que venden en las tiendas STEREN del tipo CH341, sin embargo, al parecer, el developer del dispositivo, solo tenia un modelo del integrado que se reconoce con un lsusb -v

...
Bus 003 Device 005: ID 1a86:7523
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x1a86
idProduct 0x7523
bcdDevice 2.54
iManufacturer 0
iProduct 2 USB2.0-Ser!
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2

...

(Bus Powered)

donde , al conectarse, al parecer el modulo no carga, puesto que no tiene incluido el device en la tabla de dispositivos utilizables; basta con editar el driver ( usb/drivers/341.c ) y agregar los identificadores del dispositivo, idVendor 0x1a86, idProduct 0x7523 al driver y listo! , recompilar el modulo y volver a conectar :)

static struct usb_device_id id_table [] = {
       { USB_DEVICE(0x4348, 0x5523) },
       { USB_DEVICE(0x1a86, 0x7523)},
       { },
};

 

Bueno, asi que si compran su steren y no les jala, no salgan con que "lo fui a devolver"! :P

Saludos!

rommel | LIDSOL, Software Libre, Profesional | 26 August, 11:18pm | Comment on this

En estos ultimos dos dias laborales ( viernes/lunes) tuve que realizar un driver para una tarjeta de entrada y salida digital: la OMG-PCI-DIO24 .

A pesar de que existe un modulo de kernel para esta tarjeta, no cumple con las especificaciones requeridas. Unicamente genera un conjunt de archivos en el /proc que leen/escriben directamente en los registros de la tarjeta. Esto podria ser "suficiente" si no se tratara de una tarea verdaderamente critica.

Es decir, necesitaba habilitar la interrupcion ( segun el manual de Usuario de la tarjeta, pin 47 ). Esto podria parecer sencillo/trivial. Pero resulto un poquitin mas engorroso de lo que pense.

Basicamente, el codigo existente unicamente sirvio para una cosa: Saber en que registro base ( BAR's ) se encuentra la direccion local asignada por el fabricanete para el inicio de la region de entrada y salida. Ya que en ningun manual se encuentra este dato.

Para entender un poco mejor el funcionamente del Bus PCI pueden leer : The PCI Interface del Linux Device Drivers, 2nd Edition By Alessandro Rubini & Jonathan Corbet El cual funciono perfecto para lo que estba tratando de entender. Tambien revise el buen: The Linux Kernel Development By Robert Love y por su puesto las hojas requeridas por Wikipedia, junto con los manuales de usuario presentados por Omega.

El codigo estoy depurandolo y agregando algunos #defines , para que quede lindo el modulo, mandarlo a la lista.. y pues esperar algun "feedback", mientras me quedan un par de comentarios:

En la Documentacion de Linux ( directo en el tarball ) , se encuentra el archivo pci.txt, El cual trata de dar una muy buena explicacion de como usar los recursos provistos por Linux. Sin embargo es un tanto ambiguo - o el par de horas que trabaje en esto no fueron suficientes -.

En cuanto al manejo de interrupcion, ya sea con pci_register_driver(), o bien con pci_get_device(), esta gobernado por Linux APCI. Lo cual en teoria deberia ser majestuoso, pero causa algunos conflictos al tratar de manejarlo. ( me gustaria en verdad aprender a hacerlo ) . Basicamente, como se vera en el codigo, obligue a ulizar el IRQ asignado fisicamente por la maquina, leyendo la linea de interrupcion asignada por BIOS pci_read_config_byte ( dev, PCI_INTERRUPT_LINE, &local_irq), y haciendo de este el irq pedido,

ret_status = request_irq (      local_irq,
                                         FTio_irq_handler,
                                         SA_INTERRUPT | SA_SHIRQ,
                                         DRV_NAME,
                                         &device  );
 

Las Interrucpiones compartidas, son un poco dolorosas y se necesita un control externo ( logica ) que pueda discernir entre las petciones por interrupcion. Esto tambien quiero depurarlo. Ya que a ciencia cierta, solo confio en la documentacion. ( falta por leer pci.c tal vez ) .

De ahi en fuera. Solo resta seguir aprendiendo en como manejar limpiamente estas entradas. En breve posteo el codigo. Algunos detalles tecnicos de como genrar el modulo ( es decir toda la platica de PCI ) , estara tambien en esta semana en el sitio de bitacora de LIDSOL.

Saludos!

rommel | Software Libre, Personal, Profesional | 26 August, 10:33pm | Comment on this

Uno de los dos equipos Mexicanos registrados hasta Abril para participar en la competencia Robocup. Necesita Ayuda!.

La competencia ahora es en China, por lo que el viaje es largo y los recursos limitados. La Facultad de Ingeniería podrá financiar a solo algunos estudiantes. Pero no todos en el equipo están bien preparados y menos para la temporada pre Olímpica en la que los costos han aumentado estratosféricamente.

Por tal motivo, el Laboratorio de Biorobótica del Posgrado de Ingeniería ha organizado una rifa de una bicicleta de carreras. Las fotos después las publicaré ( ahora anda en gira :) ).

Si quieres adquirir un boleto y con esto ayudar a alguno de los companeros de licenciatura que estan participando en el proyecto, porfavor, contéctame o directamente, contacta al Laboratorio! Los precios se elevan día con día.

Cada boletito cuesta $10 :)

Es necesario comentar que, durante la estancia en el laboratorio he podido constatar que un 80%-85% del Software corriendo en el Robot, llamado "Teparacho" , está basado en Software Libre! Por lo que no es del todo off-topic para muchos de los que leen este Blog.

rommel | General, Software Libre, UNAM, Maestria, Personal | 12 April, 2:41pm | 4 comments

The last week, I was recovering myself from a bad time. And ive did in the way that i know: work in something else and hang out with friends.

In this little time , Arduino arrives!. Ive made my little Electronic "Hello World"-like application: Stand a Blinking IDE provided in arduino.cc.

Installing arduino and crossdev tools it was like a chicken-egg problem. But i've made it. In Gentoo i just emerge sys-devel/crossdev wich is the Cross-toolchian generator and run it with :

crossdev -S -s4 --target avr
 

The guide located at Arduino Playground don't say about '-S' which stand for 'stable' and for the desperate guy like me It was frustrating seeing errors on my screen. Anyways, Thats the guide you have to follow just considering this * tip *.


****

Also Ive just installed OpenSolaris in my old Ultra 5, It was kind of pain in the ass. * because my old hardware * But for now i've just install some * required * software from http://www.blastwave.org/. I'll talk with time about the dtrace stuff and some differences that ive find.

The only tip i can talk right now its when you have problems with your root fs and cannot boot it because fsck problems and complaining about mounted file system. Just boot again with cdrom ( with network it supossed to be the same ) in the ok prompt :

ok boot cdrom -s


****

I'm still working with PostgreSQL , Basically when I've learned libpq back in 2006 I didnt imagine that I'll be using it so much. So i've recommend to anyone Involved in some programming to Learn * any * database API with SQL support, I mean most commercial systems are SQL based, so its worth to learn it.


****

The last thing i 've been playing with, its Begin to create my own configure script. my point is : Have you seen, for a two lines program, those greatest configure scripts cheking for things that when you read the code, are'nt there? Well i do. All the time. And for dudes like me running gentoo this is kind of offensive :P.

I'm learning Autotools , let me say that i have so much fun with this. Also I'm going to put some tutorial on LIDSOL WIKI for this.


***

Greetings! :)

rommel | General, LIDSOL, Software Libre | 25 March, 12:50pm | Comment on this

LIDSOL Invita a la Conferencia Impartida por Richard Stallman el proximo Lunes 12 de Noviembre de 2007 en el Auditorio Javier Barros Sierra a las 11:30 hrs ( vestibulo del Edificio Principal de la Facultad de Ingenieria. UNAM CU . Mexico DF )

Mayor Informacion: LIDSOL

rommel | LIDSOL, Software Libre, UNAM | 6 November, 3:09pm | Comment on this

El final del pumasol ha llegado!

A pesar de ser un evento generado un tanto a vapor, nos fue relativamente bien. Un promedio de 40 personas caracterizaron a las platicas, en algunas ocasiones con altos de 100 y en otras con lamentables puntos criticos de 10 personas.

Hay mucho que comentar, pero en este POST solo quiero sinceramente agradecer a :

  • Alejandro Valenzuela Roca ( quien tambien presento como ponente )
  • Edgar Uriel Dominguez
  • Guillermo Romero Gallegos
  • Radamantis Torres
  • Mauro Parra Miranda
  • Cesar Clemente Gonzalez
  • Ing. Juan Jose Carreon Granados
  • Luis Enrique Amaya

Y por supuesto a nuestros ponentes :

  • Jesus Ulises Acosta Robledo
  • Eduardo Ruiz Duarte
  • Leo Utskot
  • Victor Fragoso Robledo
  • Gunnar Wolf
  • Mauro Parra Miranda
  • M.I. Alejandro Aguilar Sierra
  • Ing. Eduardo Espina
  • Ing. Alejandro Juarez
  • Lic. Alejandro Miranda
  • Mario Alberto Rivera Rivera
  • Ivan Pompa Garcia

Y al final me agradezco por no tirar la toalla y de servir como 'maestro de ceremonias' mas el de los correos molestos que le tiraban a spam: Ing. Rommel Sanchez Verdejo.

De la misma Forma: a la Universidad - Facultad de Ingenieria por prestarnos el espacio para poder difundir lo que consideramos es una alternativa y la publicidad que permitio que algunos se enteraran!

Gracias a Mauro por facilitar Material que apoya la difusion ( Discos de openSUSE y Gorras de openSUSE ) y a Radamantis por traerlo :P en el momento adecuado para que mas personas se interesaban.

Gracias a "algunos" que de la nada nos ayudaron a cargar algunas cosas en momentos un tanto cruciales. Lo mismo para los que apoyaron en decirle a la banda que estaban las conferencias

Si alguno me falta por mencionar, hagamelo saber, porque quiero que muchos leean los nomrbes que participaron en la organizacion de este evento y lo qeu siempre estan en puerta.

Sin una conclusion podemos sacar del pumaSOL es que el Software Libre no solo es un movimiento tecnico,si no social y es por esto que no debemos dejarlo pasar por alto. Todo trabajo tiene un costo, y algunas veces una paga. Esta por lo menos en sociedad debera ser reconocida:

a todos, en verdad:

GRACIAS!

rommel | General, LIDSOL, Software Libre, UNAM, Opinion | 15 October, 10:18pm | Comment on this

El evento de pumasol ahora si esta completamente calendarizado!

Tenemos desde las 13:00 hrs de hoy en la Facultad de Ingenieria del Campus central de la Universidad Nacional Autonoma de Mexico ( CU ) eventos y conferencias garantizadas:

para HOY ( 11 de Octubre ) :

Dia de: Segundo Dia PUMASOL

MotorJ: SDL con OpenGL Alejandro Valenzuela Roca Conferencia 16:00 - 17:50 AUDITORIO JAVIER BARROS SIERRA

Vertex Shader y superficies B-Splines Víctor Manuel Fragoso Rojas Conferencia 17:00 - 17:50 AUDITORIO JAVIER BARROS SIERRA

El proyecto opensuse Mauro Parra-Miranda Conferencia 18:00 - 18:50 AUDITORIO JAVIER BARROS SIERRA

Para el Siguiente Lunes 15 tenemos una excelente propuesta ( esta es una propuesta muy aproximada ) y gala :

Lunes 15 de Octubre Dia de: Tercer Dia PUMASOL

Desarrollo web en el mundo real Leo Utskot Conferencia 10:00 - 10:50 AUDITORIO JAVIER BARROS SIERRA

Análisis de malware Eduardo Espina García Conferencia 11:00 - 11:50 AUDITORIO JAVIER BARROS SIERRA

Criptografia asimetrica con curvas elipticas Eduardo Ruiz Duarte Conferencia 13:00 - 14:50 AUDITORIO JAVIER BARROS SIERRA

Presentacion de Carteles LIDSOL LIDSOL Platica Informal 15:00 - 15:50 AUDITORIO JAVIER BARROS SIERRA

SALVA: Desarrollo de aplicaciones con Ruby on Rails Alejandro Sierra Conferencia 16:00 - 16:50 AUDITORIO JAVIER BARROS SIERRA

Software Libre: Un modelo alternativo para la producción de conocimiento Gunnar Eyal Wolf Iszaevich Conferencia 17:00 - 17:50 AUDITORIO JAVIER BARROS SIERRA

La Educación con Software Libre y la brecha digital Alejandro Miranda Diaz Conferencia 18:00 - 18:50 AUDITORIO JAVIER BARROS SIERRA

Esperamos que puedan acompanarnos!!

rommel | LIDSOL, Software Libre, UNAM | 11 October, 11:32am | Comment on this

Platicando con Omar Lara y Eduardo Ruiz, concluyo que mis 'posts' durante el ano pasado no han sido productivos. Por lo que espero que esto vaya cambiando. Como primer resultado muestro lo sigiuente:

Modificando un poco el validator_mysql de Brian Roser, agregue soporte para cherokee current con los files localizados aqui para soportar PostgeSQL.

Nota: Intente actualizar Jaws pero es un poco latoso, mejor conviene una instalacion desde 0, pero hare una recapitulacion de los posts que considero productivos en el ultimo ano ( tal vez como parte de FAQ ).

rommel | Cherokee, LIDSOL, Software Libre | 30 August, 8:12pm | 6 comments