Wednesday, June 1, 2016

FiDiSoHL Chilpancingo 2016

Desde Unix Hasta Linux
Para Terminar con Python
Fiesta de Difusión del Software
y Hardware Libre
Chilpancingo, 2016
Eduardo Cantoral
Department of Mathematics and Physics
Waubonsee Community College
Wednesday 1 st June, 2016

Resumen: Presento una serie de ideas para describir mi camino en la Industria del
Software. Empieza en Lucent en 1999, y aún no termina. Para una descripción más profesional consulte mi CV en:


Ha sido un camino muy interesante, que produce mi programa actual de
crear Máquinas de Información. Empecemos con una cronología.

• Primer curso de Unix: Profesor Gerardo Cisneros Stoianowski en el
Departamento de Aplicación de Microcomputadoras de la UAP. Principios de los 90s.

• Primer empleo de Ingeniero de Software: Lucent de 1999 a 2001

• Último empleo de probador de software: CME Group, antes Chicago
Mercantile Exchange, de 2013 a 2014.

• Primer proyecto independiente de desarrollo de software: Máquinas de
Información, de 2014 hasta ahora.

Conjuntamente con esta carrera, digamos industrial, tengo la parte académica
que empieza en los 60s.

Mi interés en la computación empezó en la ciudad de México. Recuerdo
como a veces que pasaba frente a las oficinas de la IBM en Insurgentes Sur,
en camino a entrenar con las ligas menores de los Pumas de la UNAM, me
imaginaba trabajando con computadoras.

Tomé mi primer curso de programación en la ESIME con el lenguaje
Fortran. Supe que Gerardo Cisneros produjo música con las computadoras
del Centro de Cómputo.

La primera vez que tuve una máquina en mi escritorio fue a principios de
los 80s en la entonces, Escuela de Ciencias Físico Matemáticas de la UAP.
Aunque esa máquina de escritorio no era tan cara como la estación de
trabajo de SUN Microsystems, en la que aprendí UNIX, de todos modos no
hubiera sido tan accesible para mı́ con mi sueldo. Me la podía llevar a mi casa
cerca de la UAP. En colaboración con mis amigos Germán Luna, y Eduardo
Piña, publiqué los resultados de nuestra investigación.

Mi amigo Arturo Fernández Téllez, me enseñó UNIX en la práctica científica
en Fermilab a mediados de los 90s.

Mi amigo desde la escuela de graduados de la Universidad de California en Santa Bárbara Don Summers inventó la primera Máquina de Información que conocí en mi vida.

Llamo a esta máquina E791, pues ese era el experimento en Fermilab, en
el que colaboramos Don, Arturo, y yo.

Como las máquinas de vapor, uno suministra energía de un tipo, y obtiene
otro tipo de energía. En el caso de las equivalentes de información, descubiertas por mi amigo, uno introduce información de un tipo, y obtiene otro tipo de información.

Esta máquina E791, tomó Terabytes de información de Física de Quarks
Charm, y produjo un subconjunto mucho menor de información que ya puede
analizar un físico.

Podemos llamar a esta máquina un filtro de información. Don fue una de las primeras personas en el mundo en usar el protocolo TCP/IP, ya que Santa Bárbara se comunicaba con el laboratorio de Stanford, con la red instalada por el Departamento de Defensa de los Estados Unidos, en los principios de los 70s.

Nadie sabía si la máquina iba a funcionar; pero fue un éxito que produjo una gran cantidad de publicaciones de la Física del Charm. Lo que se le ocurrió a Don, fue conectar un grupo de PCs con TCP/IP, pues la Internet bajó los precios de ese equipo, en los principios de los 90s, cuando corrió el experimento E791.

Después del trabajo académico en la UAP, entré a Lucent como Ingeniero
de Software.

A través de Roberto Vargas, a quien conocí en Lucent, entré al CME
Group.

Capítulo  1
Lucent



La Máquina de Información de Lucent, se llama 5ESS. Su función es
conectar los dos extremos de una conversación telefónica sin necesidad de
operadores. Otra vez: Entra Información, y Sale Información.

Este llamado relevador o switch telefónico, no usa PCs, sino estaciones
de trabajo, como las de Sun Microsystems. Es esencial en esta aplicación
que no haya desconexiones, por lo que el costo es mayor. Sin embargo se
usan protocolos de comunicación similares, inventados por Lucent. Además
se inventó el sistema operativo UNIX, escrito con el lenguaje C, justo para
esta aplicación de telefonía digital.

Ingresé al grupo Robust Process Automation (RPA), inventado por mi
amigo Joe Lennert. La idea que tuvo Joe, fue observar como un operador
del 5ESS hacı́a su trabajo, y diseñó una máquina virtual usando el Shell
inventado por David Korn, para automatizar ese trabajo.

El sistema funcionó tan bien que mandó varias patentes, tuve la fortuna
de participar en el trabajo que llevó a la patente Computer file transmission

Para no confundir esta simple narración, una cosa es el software del 5ESS,
y otra, el software usado para manejar este monstruo de más de medio millón
de líneas de código. El grupo RPA estaba encargado de administrar el primer
software, usando el segundo.

Las ideas de Joe permitieron construir un “sistema operativo”, sobre el
Unix disponible en las estaciones de trabajo Sun, en las que trabajábamos.
Esta es la Máquina de Información, que usaré en mi aplicación mencionada al final de esta plática.

Como parte de mi trabajo en Lucent, mi supervisora me encargó investigar la industria de buscadores que apenas empezaba. Obviamente no me di cuenta del papel esencial que jugaría Google y su navegador Chrome. El mismo Eric Raymond no se dio cuenta cuando escribió "La Catedral y el Bazar" a principios de este siglo veintiuno. Claramente Google inventó otra Máquina de Información.

Después de Lucent, el siguiente trabajo con software del que escribo aquí, fue en el llamado CME Group.

Capítulo  2
CME Group


Si bien en Lucent hice trabajo de desarrollador de software, como indica
el tı́tulo de mi plática, en el grupo financiero, que antes se llamaba Chicago
Mercantile Exchange, y ahora CME Group, desarrollé trabajo de Software
Tester, o como podemos decir en español: Verificador de Software.

El objetivo del grupo al que ingresé era verificar el software de Falcon.
Esta Máquina de Información, fue escrita por un joven en Nueva York, que
notó la ineficiencia de la Bolsa de Valores allá. Se tiene un llamado libro,
donde están todas las ofertas de compra y de venta de acciones, los operadores, de forma manual, escribían las transacciones hechas.

Ya cuando entré a CME, el software habı́a avanzado, y a mı́ me tocó
verificar que el tipo de transacciones que se intentaba realizar, realmente
sucedía.

Por ejemplo, quieren comprar acciones de Pemex para muchos años.
Antes de la privatización de esa empresa no se podía hacer éso. Ahora ya es
posible, y es necesario cambiar las instrucciones que se le dan a un emulador
de Falcon, para realizar tal contrato. Fui el primero que hizo una prueba con
muchos meses, de ese tipo.

CME usa Red Hat Linux y servidores instalados por Oracle. También emplea egresados de las universidades de la India, que conocen Linux, pues este sistema operativo es usado mundialmente. Ustedes en Guerrero pueden saber tanto o más que los amigos hindúes.

Capítulo 3
Python

Finalmente quiero hablarles de mi futuro, y mi regreso a la academia en
la Universidad Autónoma de Guerrero.

En Lucent, estuve en el Comité Organizador del “9th Software Symposium” en abril del año 2000.

Durante el evento tuve la fortuna de conocer a Eric S. Raymond, me
encargaron su alojamiento en un hotel cercano a la sede del Simposio, después
de recogerlo del aeropuerto O’Hare de Chicago. Fue Raymond quien en
una plática con David Korn, nos invitó a los presentes a que aprendiéramos
Python, por su carácter interactivo, y su organización en el llamado análisis

Como indico arriba en Fermilab usé la primera, en Lucent usé la segunda
Máquina de Información en mi vida. En CME usé la tercera. Ahora estoy
trabajando en mi contribución en esta serie de máquinas.

Pueden leer algunas ideas en el sitio Hands: Pen and Tablet Project.

Algunas de las fechas indicadas ahí ya son obsoletas.

El objetivo de este proyecto es diseñar y construir una pluma inteligente.

Para terminar mi plática, quiero expresarles lo que he aprendido después
de estos casi treinta años.

Los sindicatos son necesarios para desarrollar software. Si no hay seguridad en el empleo, no se pueden emprender las investigaciones y desarrollos necesarios para construir estas máquinas. En ninguno de los dos lugares con fines de lucro aquí citados, tuve las condiciones para pensar con más cuidado, lo que se estaba haciendo, y poder avanzar más eficientemente. Perdí la oportunidad de realizar en las empresas, el trabajo que estoy realizando ya que estoy jubilado.

En conclusión pues, después de varios años de experiencia, y de la observación de la necesidad de conectarse para afrontar los problemas colectivos, creo lo siguiente.

Actualmente hay herramientas disponibles que requieren atención del
usuario. Los costos van desde dinero a tiempo, y en ocasiones los dos. En
ese sentido la situación que nos interesa en esta Fiesta, no es tan diferente
de lo que se hacía antes. Algunas ideas obtenidas de la época descrita aquí,
es decir de 1990 a la fecha, son:

• Mayor libertad para crear
• Necesidad de conectarse
• Énfasis en la autonomía del aprendiz

Los invito a unirse a este gran esfuerzo mundial, que está cambiando las
capacidades colectivas de hombres y mujeres en todos lados.

Gracias. Están todos invitados a mi esfuerzo para crear una pluma inteligente. En particular quiero agradecer a Joel Torres Leyva, por la iniciativa de auspiciar eventos como este por varios años ya. Como colaborador de Hands: The Pen and Tablet Project, quiero agradecer a José Soto Pérez, además de la magnífica traducción de la nota de Eric Raymond. La Catedral y el Bazar.

En este esfuerzo debemos ver que el pasado es fijo, pero el futuro incierto. Existen leyes naturales que nos permiten mandar un artefacto casi fuera del Sistema Solar, me refiero al Pioneer 10. Sin embargo no sé como predecir si Google Chrome seguirá siendo el buscador más usado en todo el mundo.

Sin embargo creo que si mis esfuerzos no llevan a inventar y construir una pluma inteligente, de todos modos se hará realidad. Los relojes de Apple no han sido muy exitosos hasta ahora, pero espero que las tabletas, los teléfonos, y las plumas, tendrán cada vez más circuitos electrónicos.

Hasta ahora recuerdo que empecé mis estudios como Ingeniero en Comunicaciones y Electrónica de la Escuela Superior de Ingeniería Mecánica y Eléctrica, del Instituto Politécnico Nacional.

Habrá una pluma inteligente con circuitos integrados.

Presentación:
https://drive.google.com/file/d/0ByH64cyuNreRWGhLUTdYc01ENjg/view?usp=sharing

Después de la plática se me quedaron las siguientes notas en el tintero.

El trabajo en RPA que eventualmente llevó a una patente a mi nombre y de mis amigos se refiere a paquetes. Lo menciono al principio de mis videos, pero no lo explico en ninguno. Lo haré aquí.

Cada video era de un minuto y fracción. En total subí trece o catorce. El primero está en inglés porque es el idioma que hablamos mi mujer y yo, que somos los únicos en la casa. Ahí por el octavo perdí la cuenta. Ahora les explico como la patente resuelve ese problema.

Se rompe un archivo en pedazos, o paquetes, y se enumeran. Al final al recibirse, la máquina virtual que funciona en los dos lados de la comunicación, los pone en el orden correcto. Si la línea se llega a desconectar, de todos modos se puede poner todo correctamente. Me gané mil dólares por ese trabajo, además de mi sueldo. Más bien los mil dólares eran para ceder los derechos a la empresa, Lucent Technologies.

El trabajo en CME es en Linux porque la gente de finanzas no quiere pagar por software privativo, por la misma razón traen trabajadores desde la India, para pagar menos. El diseño de Falcon lo patentó una burócrata del gobierno, que se dio cuenta que el muchacho de Nueva York no había patentado su trabajo.

Google usa la arquitectura de Don Summers, sin pagarle un quinto, porque Don no patentó su Máquina de Información.

Los del 1% se roban lo más que pueden de los del 99%.