martes, 21 de octubre de 2008

OpenCobol en Debian / El Editor VIM

Para seguir con la practica de nuestro particular lenguaje, debemos disponer de un editor de texto que se adapte a la originalidad de sus sintaxis.
El editor ideal debería de ser capaz de reconocer las distintas áreas (A, B) que requiere el formato, tener resaltado de sintaxis, herramientas para el auto-completado de sentencias, plegado de código, integración con el debugger y con el compilador, varios niveles de undo, y cientos de otras posibilidades.
Bien, hay muchos de esos editores que soportan estas características. Lo malo es que aun no he encontrado ninguno que funcione bajo Debian en modo consola.
En el foro de OC se han decantado por el uso de Vim y, como yo soy muy vago, me he habituado a el siguiendo los consejos de otros foristas.
Para instalarlo en Debian debemos hacer:

sudo apt-get update
sudo apt-get install vim

Y luego habrá que considerar algunas cosillas para que podamos editar código COBOL en él.
Primero y principal los modos de resaltado de color y formato que corresponde a cada lenguaje vienen en un archivo finalizado en .vim (por ej: c++.vim)
El que nos interesa a nosotros es cobol.vim pero el que viene por defecto en la instalación no es muy útil. Brian Tiffin ha realizado unas modificaciones y puedes bajar de aquí su versión corregida.
Este archivo debe ser copiado en /usr/share/vim/{tu version de vim}/syntax/ realizando primeramente una copia de seguridad del archivo cobol.vim original.
Y para activar el uso del resaltado de sintaxis debemos informarle a vim que lo incluya. Para ello debemos crear (si no lo esta) el archivo .vimrc

cd ~
touch .vimrc
echo syntax enable >> .vimrc

la sentencia "syntax enable" habilitara las funciones de sintaxis al iniciar vim.
.vimrc también nos permitirá otros seteos que colaboraran con la edición cómoda del código COBOL.
Uno muy interesante es el de la autocomplecion de palabras reservadas. Para ello debemos obtener una lista de palabras reservadas contra la cual vim pueda realizar la búsqueda. OC tiene un comando que nos permite obtener esa lista:

cd ~
mkdir .vim
cd .vim
cobc --list-reserved > reserved.lis
cd ~
echo set ignorecase >> .vimrc
echo set inferecase >> .vimrc
echo set complete=k~/.vim/reserved.lis >> .vimrc

Esta opción se activa como una lista desplegable que se genera al escribir las primeras letras de cualquier palabra reservada y presionando CTRL+P (estando en modo INSERT)

De todas formas para quien le interese dejo a su disposición una copia de mi .vimrc con varias modificaciones adicionales (comentadas en el archivo) y del archivo reserved.lst así no hay necesidad de generarlo.

Espero que esta nueva herramienta colabore con nuestro desarrollo en COBOL.




martes, 14 de octubre de 2008

OpenCobol en Debian / Instalacion

Ok, de acuerdo, COBOL es todo un tema para quien se dedica a la informática.
Tan odiado como utilizado, despierta pasiones y discusiones en cualquier lugar donde se hable de el.
Todo lo que voy a decir al respecto es: Si no te interesa, no sigas leyendo.
Punto y aparte.

Partiendo de un sistema Debian 4.0 Etch recién instalado y siguiendo estos simples pasitos, deberíamos tener un entorno de programación retro para practicar la mejor implementación libre de COBOL que conozco: OpenCobol

Vamos a preparar el entorno:
Como siempre
    sudo apt-get update
Instalemos todas la dependencias que OC va a necesitar. Es una linea larga así que darle duro al C&P
    sudo apt-get install build-essential libltdl3 
libgmp3-dev libgmp3c2 libdb4.4 libdb4.4-dev libncurses5
libncurses5-dev
Esto a su vez instalara otros paquetes necesarios para cubrir otras dependencias.
Una vez concluida esta tarea debemos descargar el tar.gz con las fuentes del OC.
A la fecha de publicación de esta nota, OC se encuentra en su versión 1.0.0 y esta a punto de editar la 1.1.0 con importantes mejoras.
A decir verdad la rev 1.0 es bastante incompleta. Y hasta el lanzamiento oficial, Roger While (uno de los desarroladores) publica semanalmente un pre-release en su sitio web.
Por lo tanto, para obtener este archivo y compilarlo debemos hacer:
    en el directorio del usuario:
mkdir temp
cd temp
wget www.sim-basis.de/open-cobol-1.1.tar.gz
tar -zxvf open-cobol-1.1.tar.gz
./configure
make
sudo make install


Para corregir un problema con las librerías de cobol que son instaladas en otros directorios fuera del standard debemos ejecutar:

    $ export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
sudo ldconfig
Hecho todo esto, solo nos queda editar y compilar el famoso Hola Mundo.
Creamos un archivo llamado hola.cob y escribimos lo siguiente en el (recordar que en formato fijo, debemos poner las sentencias empezando en la columna 8)

       IDENTIFICATION DIVISION.
PROGRAM-ID. HOLA.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
DISPLAY "Hola Mundo!".
STOP RUN.


Recuerda, la I de IDENTIFICATION debe estar en la columna 8 !!!!!!!

Para compilarlo y ejecutarlo:
        cobc -x hola.cob
./hola


Y, si todo salio bien, ya podemos empezar a revisar esos programas que hace 20 años escribimos y aggiornarlos a las nuevas sintaxis.

Sugiero tener una pestaña del navegados siempre abierta en el foro de OC Hay muy buena información y muy buena gente rondando por ahí.

sábado, 24 de noviembre de 2007

Ideas revolucionarias (y 1)

El dinero en efectivo deberá dejar de existir. Todos los ingresos y pagos se acreditaran en un registro electrónico. Hasta los prestamos y/o donaciones y/o propinas deberán ser contabilizados.
Sera tarea del estado la confección y mantenimiento de una base de datos de movimiento monetarios unificada.
Y sera implementada a través de empresas privadas que proveerán de terminales tipo PosNet tanto móviles, fijas o virtuales (como software para computadoras o dispositivos móviles - incluyendo teléfonos celulares)
Cada persona deberá poseer una tarjeta de débito que le facilitara el pago de sus compras y que reemplazara el uso de dinero en efectivo. La tarjeta deberá tener mecanismos que permitan su interpretación aunque esta sufra daños moderados.

Para el pago de servicios como llamadas telefónicas o el uso de transporte publico se empleara la anteriormente nombrada tarjeta de débito.

La perdida de la tarjeta podrá ser notificada por cualquier medio (telefónicamente, por correo electrónico, personalmente, etc) y su reemplazo deberá ser emitido en un plazo máximo de 8 horas.

Para transacciones monetarias de bajisimo precio se utilizaran monedas de valor único y numeradas (con una identificación en tipo código de puntos que facilite su control electrónico)
Estas monedas tendrán fecha de caducidad (claramente visible)y deberán ser repuestas en la cuenta bancaria de su propietario antes de la fecha pertinente o su valor se perdería.


¿Para que serviria toda esta complicacion (sobre todo para personas mayores)?

1 Reduciría notablemente la evasión de impuestos. casi que la eliminaría totalmente.
2 Reduciría la delincuencia ( o la profesionalizaría muchísimo)
3 ¡Anda a explicar el cobro de una coima o soborno!
4 ¡A ver como explicas el PAGO de una coima o soborno!
5 Nos permitiría re-formular el esquema impositivo a algo mas coherente, por ejemplo : Se podría eliminar el IVA y hacer un esquema progresivo, los que mas dinero reciben, mas impuestos pagan. Dado que se puede saber con certeza quienes son los que mas ganan.
6 Justamente, se pueden devengar impuestos directamente de la cuenta bancaria.
7 El que realiza un préstamo tiene asegurado el cobro. Lo que inmediatamente reduciría las tasas de interés.
8 ¿ Y como es que recibiste esta plata por vender esa autoparte robada?
9 ¿Ocho mil setecientos pesos en monedas numeradas? ¿vos no estarás vendiendo drogas, no?

Pero no, como los que nos deben brindar seguridad, educación y sanidad se benefician de casi todas las debilidades del uso del dinero en efectivo, aunque hoy sea técnicamente viable esta idea, no se va a poner en practica.

Cuestionando I

¿Alguien me puede explicar para que demonios se le quito la concesión del Correo Argentino a Macri?

¿Me podrá alguno aclarar cual ha sido el cambio "notable" en el funcionamiento de Aguas Argentinas ahora que pertenece al estado?

¿La seguridad aérea ahora esta mejor, peor o igual que antes de su traspaso al área civil?

¿Las reglas de la estadística, se han reformado a partir del cambio de intervención en el INDEC?

¿LAFSA ya encargo la construcción de la planta de armado de A380-XXX en la provincia de Tucuman para la ampliación de su flota?

¿Petrosur tiene bares abiertos 24x7 en sus estaciones de servicio?

¿Que tramites tengo que hacer para sacar un crédito en el Banco del Sur?

¿Donde era que se podía comprar la garrafa social a 18 pesos?

¿Hay wi-fi en el tren bala a Rosario?

¿Cuantos kilos de tomate me puedo comprar por mes gracias a la re-categorización del impuesto a las ganancias?

En las comisarias de la policía bonaerense I, ¿me sabrán decir la dirección de las comisarias de la policía bonaerense II?

En el museo de la memoria (ex ESMA) ¿tendrán algún dato sobre Jorge Julio Lopez?

¿Es legal o no pagar una operación inmobiliaria costosa con dinero en efectivo prestado por un cuñado (y olvidado en un baño)?

¡Ahh! Ahora que TBA administra el ramal Roca (ex Metropolitano) viajar de Constitución a Ezeiza, es un placer. ¡Que limpieza! ¡Que puntualidad!


Aparte de prometernos muchas cosas, ¿que cuernos hace el gobierno por nosotros, los que les pagamos el sueldo?

viernes, 19 de octubre de 2007

EZEIZA PSA y la logica.

Hace unos domingos en el diario "Clarín " se publico un informe sobre el estado de la seguridad en nuestra tristemente famosa terminal aérea.
En ella el interventor de la PSA Marcelo Sain dice que a partir de contar esa fuerza con mayor dotación y mayor presupuesto, la seguridad mejorara "notablemente"
La verdad, por ahi este hombre tiene razón. Y si le dan los medios, la cosa mejora.
Pero, conociendo el ambiente, dejenme descreer un poquito.
Para aclararles mi punto de vista permitanme describirles una situación hipotética: Supongamos que la PSA es tan eficaz que Jaime se arriesga y les encarga el control del trafico vehicular en la República Argentina.
Claramente, y según reportaría el INDEK, la seguridad en las calles y rutas argentinas seria un ejemplo para todo el mundo.
Claro que para ir de, por ejemplo, Moron a San Justo habría que pasar por Resistencia, Chaco. Es mas, para ir de cualquier lado a cualquier otro habría que pasar por Resistencia, Chaco.
Dado que alli se encontraría el centro de control unificado (CCU que a ellos les gusta llamar a todo con tres letras) Este centro estaría totalmente equipado para controlar tanto la identidad de las personas como el estado físico de los vehículos. Allí se detectarla cualquier posible delito que se pudiera cometer y solo se dejaría pasar al personal autorizado.
Para ser definido como "autorizado a circular"(AAC) al menos dos veces por año todo los conductores, pasajeros, colados y ainda-mais deberían refrendar su status concurriendo al CUA que se encontraría, claro esta, en Ushuaia.
En el Centro Unificado de Autorizaciones se revisarían todos tus datos, se te tomarían fotos, se verificarían tus antecedente y se tomaran TODAS tus huellas digitales (pies incluidos) (dos veces por año, porque como sabemos, las huellas digitales cambian día a día).
Todo este proceso incluido el pago de tasas e impuestos (en el BCRA Capital Federal y en el CCT en Posadas, personalmente.) tomaría aproximadamente 15 días y la credencial (junto con la multa por recibirla tarde) llegaría en 4 meses a la casa de tu abuela paterna (en Calabria, Italia).
Esta credencial autoriza la circulación por todo el territorio nacional (segmentado en 11 Regiones Aéreas Argentinas).
Claro que para cruzar la avenida mas cercana a tu casa, se deberla tramitar el permiso particular correspondiente. En cada avenida (o calle, o cortada o pasaje) habría un puesto de control dotado de 15 o 20 efectivos de la PSA (que se la pasarían hablando entre ellos todo el tiempo) dotados con un archivero gigante donde en la pagina 3582 folio 205 cajón a41 figuraría en letra monoescrita (con letra de mico) la autorización para ir al supermercado.
Por supuesto, la tecnología de punta no podría faltar y en Resistencia, Chaco, el scanner de rayos gama gigante reportarla que el container que dice en su exterior "COCAINA 100%" con toda seguridad (y según consta en documentación) transporta cocaina al 100%.
Por supuesto si la huella digital difiere en un micrómetro, Clarín, Canal 13, 11, 9, 26, CN5, CNN, AlYazira, INFOBAE y CronicaTV tomarían en vivo el arresto del chofer.
Por el susodicho scanner deberían pasar camiones, camionetas, autos, motos, bicicletas, ambulancias, camiones de bomberos y peatones. La cola llegaría a Pelotas, Brasil. Y las pelotas de los agentes, que se aguantan estoicamente la presión de semejante tarea (boludeando entre ellos) serian de un tamaño para destacar. Y serian tema de conversación en toda tertulia que se precie de tal.
Los agentes de la PSA destacarían por su preparación. Su habilidad para contestar en perfecto lunfardo a cada pregunta realizada en cualquier otro idioma (o tonada) sera sometida a un programa de mejora continua (ESO es lo que hacen cuando charlan entre ellos!!)
A su vez, todo intento de consulta sobre una dirección o información sobre algún tramite sera contestada con un perfecto gruñido (el cual sonara siempre igual, sea el agente hombre, mujer, gordo, alto o disminuido mental)
Claro que todo esto puede no seguir un esquema estándar, es decir algunos procedimientos cambiaran radicalmente de un día al otro, de una hora a la siguiente, de un lugar a otro y según el humor del momento. Y como corresponde, cada orden que nos ladren estara soportada por algún edicto (o algo asi) aunque nunca nos muestren un papel.
Y todo esto, es solo el comienzo. Con un mejor presupuesto, la mayor recaudación y las continuas coimas recibidas se pueden contratar a varios miles de analistas, abogados, técnicos, sicólogos y otras especialidades para profesionalizar la empresa.... digo la fuerza.
Y con todo este personal trabajando denodadamente surgirían, diariamente creo, miles y miles de formas para hacer que la tarea mas insignificante por ridícula que sea, se nos complique hasta el infinito y mas allá.

Mejor dejen las cosas como están, que estaran mal pero ya nos acostumbramos.

lunes, 15 de octubre de 2007

McDonald's no escala

La omnipresente cadena de comidas rápidas es un lugar de visita obligada para todo padre que sale un fin de semana con sus hijos.
La cajita feliz tiene una fuerza que debe ser considerada muy seriamente en toda teoría unificadora. Y hay miles de libros escritos sobre el dominio que ejercen los menores sobre sus padres abusando del dale! dale! dale! comprame!
Y ahí estamos todos, acercándonos a la muchedumbre formada por las criaturas insistentes (miles), sus (pocos) padres atosigados, la parejita de novios púberes y el grupo de muchachones de gorrita.
Pero, mientras uno dedica gran parte de su cerebro a intentar comprender que cajero esta activo, quien esta haciendo cola para pedir, quien en la cola para retirar, donde se metio mi hija, que no nos tiren encima la gaseosa los que retiran, que demonios trae la cajita feliz y donde se metio mi hija, una parte de mi mente, esa que esta deformada profesionalmente, dispara un proceso alejado de lo coyuntural.
El local y el proceso de atención al publico no esta bien organizado. Eekkk! Como has dicho? Que la empresa que invento el proceso de atención al cliente y ese es el producto del que estan mas orgullosos, no sirve?
Que el modelo a imitar por todo negocio de fast food esta mal concebido? Estas loco!
No, no estoy loco. Hacer una cola por cada cajero es un concepto que debió ser abandonado hace 40 años por lo menos.
El meme es hacer una cola única en zigzag demarcada con tensabarriers y que el que llega al principio se dirija a la caja que esta libre. Y que exista un camino también delimitado por tensabarriers para que uno retire su pedido y se lo lleve a la mesa.
El principio de cola única facilita la activación o cierre de cajeros de forma dinámica, evita que la gente se cuele, permite observar el menú pero sobre todo es mas igualitario.
Y se usa en muchos lugares de forma exitosa, por ejemplo en el aeropuerto, la municipalidad de Esteban Echeverria, Rapipago, etc, etc.
Creo yo que este es un ejemplo de dinosaurismo. O de falta de humildad. O de simple estupidez empresarial. Como siempre ha sido así, para que vamos a cambiarlo?
Lo que me cuesta creer es que en semejante empresa (me consta que tienen en cuenta el gasto en trapos de piso para calcular el costo y el volumen óptimo de la gaseosa) no haya una persona que al menos le sugiera a algún gerente el hacer la prueba.
Por que estoy seguro que al mes, todos los Mc del planeta emplearían ese método.
Otra posibilidad es que haya personas encargadas de analizar la actividad de los locales, pero como siempre ocurre, estos controllers vean el local lleno de gente y se vayan a comer a un restaurante en serio. Que ellos ya no estan para comer entre muchedumbres.