Glumly

Tuesday, September 21. 2010

Si bien no soy para nada amante del alto nivel y sus prácticas, la vez pasada necesitaba representar unas entidades en un paper, creí que era copado hacerlo en un lenguaje universal, y me vi ante la necesidad de hacer mi primer diagrama UML.

Por una cuestión de presentación, necesitaba que el diagrama fuera elegante, y de ser posible en algún formato vectorial, para embeberlo en LaTeX. Con este objetivo, hice una pequeña búsqueda en las aplicaciones que encontré en el repositorio de paquetes de mis distros, y un rato más tarde me convencí de que no había nada que mínimamente me satisfaciera. O herramientas pensadas para generación de código automático, o herramientas de diagramas con nulo aporte estilístico...

Googleando, llegué a yUML y realmente me parecieron bastante copados los gráficos que generaba. Para el volumen de mi problema no necesitaba mucho más que eso. Ahora bien, los gráficos que genera son rasterizados, y por otro lado, tampoco parecía muy práctico estar desarrollando contra una aplicación web. Lamentablemente, yUML es privativo, por lo que tampoco había mucha forma de meter mano como para enmendar una u otra cosa.

Pregunté en el IRC del LUGFI por el tema, y Albertito me recomendó usar Graphviz para armar los diagramas, que si bien tenía un poco de overhead de sintaxis servía. Miré un poco por encima Graphviz y me convenció, así que le di para adelante. Si bien los gráficos que sacaba Graphviz pelado creo que ya eran ampliamente superiores a los que se podían sacar con Dia, googleé un poco y encontré hojas de estilos para maquillar un poco y hacer un poco más vistozos los SVGs de Graphviz, con lo que además de simple, la solución generaba gráficos bonitos.

Luego de delineado el fuente en DOT del primer UML, decidí que iba a ser el último y escribí un generador de DOT orientado a lo que necesitaba, sencillísimo, menos de 10 líneas de código. Ya que estaba, agregué tipos de dependencias que mi proyecto no necesitaba pero completaban los diagramas de clases UML, y terminé cerrando una miniaplicación.

Curiosamente (o no tanto), con un poco de googleo y un par de modestas líneas de código, desarrollé un proceso que si no es con el que está implementado yUML, le pega en el poste. Y dentro del contexto de la falencia de una aplicación sencilla para hacer ese tipo de cosas y de la licencia restrictiva de yUML, un script que hubiera dejado tirado en mi disco hoy lo estoy publicando para beneficio de otros.

Les presento Glumly (grep uml /usr/share/dict/*), una pseudo implementación libre de yUML, que me salió de casualidad.

Acá está el gráfico de ejemplo que colgué en la web (el cual está "inspirado" en el ejemplo más avanzado de la web de yUML):



P.D.: Al respecto de mi problema original, como era obvio esto me sirvió parcialmente... la única aplicación para postprocesar SVGs es el Inkscape y si bien para todos los demás formatos anda joya, los SVGs que genera este script rompen a Cairo, por lo que la exportación a PDF o a EPS anda para atrás. Por fuera de eso, el proceso funciona automagicamente para PNGs y otros formatos raster. Si alguien necesita sacar salida vectorial del Inkscape, comento cómo lo solucioné, pero ya es otro tema. Al respecto de la extensión para que LaTeX procese DOT, también me anduvo para atrás, si bien probablemente podria haber andado dedicándole más tiempo.
P.D.2: Al respecto de referenciar todo lo que menciono, me da paja; si quieren links, la homepage de Glumly tiene todos los que hacen falta.

Proporciones y porcentajes (de algo relevante).

Wednesday, April 14. 2010


45% para el primero, 42% para el segundo y 29% para el tercero... seguidos de varios "4 de cada 10".

Concurrencia...

Saturday, March 6. 2010


—¿Concuquée?

NIH

Saturday, January 9. 2010

Desconfiá siempre de lo que haya hecho el otro. No va a estar bien hasta que lo hayas hecho vos...



Y una vez que lo hayas hecho vos, aunque te haya salido igual... ¡festejá exageradamente!



(El Sudoku no me confía.)

Los mata bien muertos.

Thursday, December 17. 2009

Nunca había tenido discos en RAID en mi PC. Cansado de malas experiencias con roturas de discos (generalmente amortiguadas pudiendo prever la rotura inminente en base al concierto que puede dar uno de esos dipositivos cuando está por espichar) la última vez que armé PC, hace un año, decidí comprar dos discos gemelos y espejarlos.

Reconozco que me dolió en su momento estar comprando 500GB de almacenamiento para usar sólo 250GB; y además que la relación de precio no era lineal contra discos de 320GB o 500GB, por lo que esos 500GB me salieron un tanto más que si hubiera comprado un sólo disco. Y también reconozco que siendo que mi mother no soporta hacer RAID por hardware, más de una vez evalué si no había sido una mala idea meter RAID por software ante el overhead en cualquier copiada de archivos grosa o cosas por el estilo permanente.

Finalmente, ayer se me murió un disco. Murió sin ningún tipo de preaviso. Sencillamente dejó de andar. El hecho de desenchufarlo (tuve que sacarlo porque enlentecía mucho el hecho de que MD estuviera tratando todo el tiempo de acceder a un disco que se había ido, hacía inusable la máquina sin reiniciarla), y seguir usando la máquina como si nada, con el backup restante, creo que no tiene precio.


Si vamos a lo anecdótico, sí, tiene precio; y cada vez tengo las bolas más llenas de lo pelotudos que son los vendendores de hardware. El punto que me hace saltar la térmica cada vez es el hecho de que siempre están cagándote con guita, cuando ya trabajan con márgenes que son extraordinarios (y, con la publicación ilegal de precios en dólares, lo cual implica que sus ganancias también se disparan a la vez que lo hace el primero).

En el mostrador había un cartelito que decía que el dólar para pagar se tomaba al precio más alto de compra (??) y que si tenían que darte vuelto y no tenían cambio lo hacían al precio más bajo de venta (??).

  • Por empezar, el precio del disco estaba ya publicado en dólares; ¿de qué conversión hablarán cuando toda la lista la tienen en una moneda foránea?

  • El disco salía u$s80; le digo, "te pago con u$s100", respuesta "no tengo cambio, te devuelvo en pesos". Cuando yo había visto el cartelito me había imaginado un "son u$s1001.25", "te pago con u$s2000", "no tengo cambio", donde sería mínimamente entendible. ¿Trabajás en dólares pero no tenés dos mugrosos billetes de 10?. Por otro lado, en el caso del u$s1001.25, ¿alguna vez en toda su vida vieron que un vendedor de Galería Jardín diga "¿sabés qué, u$s1.25 es menos del 0.2% de tu compra, te cobro u$s1000?". Yo nunca lo vi, los he visto pijoteando centavos en compras de mucha guita, o en compras en masa de 10 productos iguales, etc.

  • Yo fui a comprar hardware, no a vender dólares. ¿Por qué tengo que bancarme que me devuelvas a menos de u$s3.79 cuando no estoy especulando con la reventa si no que sos vos el que no tiene vuelto para darme? Pagame a precio compra, salgo del local y me compro de vuelta los u$s20 que vos no pudiste darme y yo ya tenía.

  • Ante el panorama, le dije que pagaba en pesos. "Son $310, entonces". A ver... $310/u$s80 = 3.875 $/u$s (cuenta que hice en mi casa porque ahí carecía de calculadora, viendo eso, creo que perdía menos aceptando el vuelto en pesos). ¿Alguien me dice dónde cuernos el dólar cotiza casi 5 centavos más arriba que en las 100 casas de cambio que quedan a menos de 3 cuadras del local?, ¡ni por homebanking me cobran eso, Comafi hoy ofrece a $3.8425! "Vas a tener que esperarme porque tengo que ir al cajero, traje dólares, no pesos", "OK, te voy haciendo la factura, ¿consumidor final?"

  • Regresando del cajero, veo que en la puerta del local tenían pegados los calcos de Visa Electrón. Entro, saco el DNI, la tarjeta de débito, el tipo me dice "Te hice factura de contado, con débito es un 5% más". ¿Alguien me explica por qué pueden llegar a recargarte el 5% de un precio en dólares por un pago débito en concepto de qué service charge esotérico, cuando se suponía que ya me había hecho una factura legal?... me hace dudar muchísimo de la validez de la factura que me expidieron para el "pago efectivo"
Terminé pagando en pesos, efectivo; y con ganas de imitarlo a Michael Douglas en Un Día de Furia... posta que me sacan.


En fin, sólo enchufar el disco nuevo, clonar la tabla de particiones y pedirle a mdadm que syncee con el disco nuevo. Hora y media más tarde, todo como antes.

No, miento. Habían dos pares de particiones no espejadas, así que perdí la imagen con la que levantaba un Windows XP (licencia estudiantil) en qemu. Lamentable, pero la única cosa para la que he usado Windows en el último año, ha sido para acceder a la página de la AFIP. Espero poder arreglarme con IEs4Linux (que la última vez que lo usé, me colgaba el wine), porque ni en pedo vuelvo a hacerme una imagen de XP para eso.