tag:blogger.com,1999:blog-7415103.post114255379802511605..comments2023-08-04T09:51:52.906+02:00Comments on reflexiones de fortran y otras basuras: cojo-gestión de configuraciónfortranhttp://www.blogger.com/profile/11425459665752142514noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-7415103.post-1149034587010163662006-05-31T02:16:00.000+02:002006-05-31T02:16:00.000+02:00Hay que tener cuidado en los parkings del IKEA , s...Hay que tener cuidado en los parkings del IKEA , sino fijaros lo que me pasó el otro dia:<BR/>Así funciona el timo: dos chicas bastante guapas de entre 18 y 20 años se acercan al coche mientras estas colocando en el maletero tus compras del centro comercial. Entonces empiezan a limpiarte el parabrisas con esponjas haciendo salir disimuladamente un poco de pechuga de sus camisas bastante apretaditas.<BR/>Cuando al final al darles las gracias les intentas dar una propina ellas renuncian y piden a cambio que las lleves hasta el Ikea de la otra punta de la ciudad. Si aceptas ellas suben y se sientan en los asientos traseros. Mientras tu conduces ellas empiezan a hacer juegos lesbicos que veras por el retrovisor. Cuando llegas al parking del otro IKEA una de ellas se pasa a asiento delantero y te hace una mamada bestial , mientras la otra sin que te des cuenta te roba la cartera.<BR/>Con este ingenioso sistema me han robado la cartera el martes, el miércoles, dos veces el jueves, otra vez el sábado y probablemente también mañana por la tarde.<BR/><BR/>Saludos e id con cuidado....Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7415103.post-1148662930689028342006-05-26T19:02:00.000+02:002006-05-26T19:02:00.000+02:00Aquí pongo un enlace para los que quieran usar un ...Aquí pongo un enlace para los que quieran usar un SVC (Software Versioning System) para documentos de OpenOffice:<BR/><BR/><A HREF="http://pesso.blogspot.com/2006/05/control-de-versiones-para-documentos-i.html" REL="nofollow">Control de versiones para documentos I</A><BR/><BR/><A HREF="http://pesso.blogspot.com/2006/05/control-de-versiones-para-documentos.html" REL="nofollow">Control de versiones para documentos II</A>fortranhttps://www.blogger.com/profile/11425459665752142514noreply@blogger.comtag:blogger.com,1999:blog-7415103.post-1148502734162438902006-05-24T22:32:00.000+02:002006-05-24T22:32:00.000+02:00Ole ese Fortran y su peacho "pitoN"... has dejao l...Ole ese Fortran y su peacho "pitoN"... has dejao la injenierida del chofgüer tiritando :p<BR/><BR/>Ale, con Dios.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7415103.post-1148486062046429122006-05-24T17:54:00.000+02:002006-05-24T17:54:00.000+02:00>Gran frase, me la apunto.<< Con la ingeniería del software me pasa lo mismo que con el comunismo. Las dos cosas me gustan, pero no puedo decir lo mismo de los ingenieros del software y los comunistas, que suelen ser gilipollas. >><BR/><BR/>Gran frase, me la apunto.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7415103.post-1148463212796504612006-05-24T11:33:00.000+02:002006-05-24T11:33:00.000+02:00vamos allá con las respuestas, Granaino ;-)a) supo...vamos allá con las respuestas, Granaino ;-)<BR/><BR/>a) supongo que sí que puede ser un problema, aunque toda la comunicación va por SSH y todas las conexiones se realizan de manera activa hacia el servidor, así que dependerá de lo estrictas que tengan las reglas... si permiten SSH, entonces OK.<BR/><BR/>b) ahí le has dado, no hay una forma precisa de saber en qué página del PDF va cada cacho del XML... aunque por el tema de la modularidad, puedes hacer un fichero para cada capítulo, sección... incluso para cada párrafo (excesivo), con lo que mejoras un poco la localización de contenidos.<BR/><BR/>c) lo de las imágenes no es problema, están incrustadas en el PDF y se ven como en cualquier documento (de hecho, el PDF es un PS compilado y con algunas restricciones más).<BR/><BR/>d) meter un tag con la mayoría de los editores es seleccionar un cacho de texto y hacer click sobre el tag, así que en rapidez anda igual; la verdadera ventaja viene por el aspecto semántico. En DocBook hay un montón de marcas pensadas específicamente para documentar software, como por ejemplo <A HREF="http://www.oasis-open.org/docbook/documentation/reference/html/guibutton.html" REL="nofollow">GUIButton</A>, <A HREF="http://www.oasis-open.org/docbook/documentation/reference/html/programlisting.html" REL="nofollow">ProgramListing</A>, <A HREF="http://www.oasis-open.org/docbook/documentation/reference/html/computeroutput.html" REL="nofollow">ComputerOutput</A>, incluso para especificar interacciones con el software, (en plan menu->submenu->item), de modo que ahorras bastante tiempo pensando en cómo es la presentación de cada elemento (aunque luego los nombres de los botones estén con una simple negrita, pero eso se puede cambiar)...<BR/><BR/>e) sip, es muy doloroso incluso cuando lo hacen los compañeros de práctica (no lo dicen, no sé si por vergüenza, timidez o yo qué sé, pero ponen mala cara, refunfuñan... coñe, si no gusta, se dice al principio). Contra eso, sólo se pueden hacer 2 cosas: usar editores visuales que lo dejen todo bien bonito (tenemos el <A HREF="http://vex.sourceforge.net/" REL="nofollow">VEX</A> y el <A HREF="http://www.conglomerate.org/" REL="nofollow">Conglomerate</A>, pero todavía les queda un largo camino), o esperar a que la alfabetización informática cale un poco más en las empresas (difícil, difícil...)<BR/><BR/>f) lo de las plantillas es un tema bastante doloroso... todo depende de si se tiene un gurú del lenguaje de transformación en concreto a mano. Nosotros hemos usado DSSSL (Document Style Sheet and Semantics Language), que es un derivado del Scheme (un LISP capado, vamos), que funciona en plan "pattern matching"; es decir, le pones un cacho de ruta XML y luego le dices en qué se transforma (con su propio lenguaje, que también es cosa fina); así que hacer modificaciones fáciles de Copy&Paste y cambia el color, el tipo o el tamaño de la letra es muy fácil, pero cuando quieres hacer cosas complicadas... para que te hagas una idea, los encabezados de nuestros títulos ponen "capítulo N" con la N bien grande y luego debajo, el título del capítulo, todo alineado a la derecha; el código que hace eso es:<BR/><BR/>;;------------------------------------------------------<BR/>;; TÃttle for Chapter<BR/>;; It's changed only for chapter title.<BR/>(define ($component-title$)<BR/> (let* ((info (cond<BR/> ((equal? (gi) (normalize "appendix"))<BR/> (select-elements (children (current-node)) (normalize "docinfo")))<BR/> ((equal? (gi) (normalize "article"))<BR/> (node-list-filter-by-gi (children (current-node))<BR/> (list (normalize "artheader")<BR/> (normalize "articleinfo"))))<BR/> ((equal? (gi) (normalize "bibliography"))<BR/> (select-elements (children (current-node)) (normalize "docinfo")))<BR/> ((equal? (gi) (normalize "chapter"))<BR/> (select-elements (children (current-node)) (normalize "docinfo")))<BR/> ((equal? (gi) (normalize "dedication"))<BR/> (empty-node-list))<BR/> ((equal? (gi) (normalize "glossary"))<BR/> (select-elements (children (current-node)) (normalize "docinfo")))<BR/> ((equal? (gi) (normalize "index"))<BR/> (select-elements (children (current-node)) (normalize "docinfo")))<BR/> ((equal? (gi) (normalize "preface"))<BR/> (select-elements (children (current-node)) (normalize "docinfo")))<BR/> ((equal? (gi) (normalize "reference"))<BR/> (select-elements (children (current-node)) (normalize "docinfo")))<BR/> ((equal? (gi) (normalize "setindex"))<BR/> (select-elements (children (current-node)) (normalize "docinfo")))<BR/> (else<BR/> (empty-node-list))))<BR/> (exp-children (if (node-list-empty? info)<BR/> (empty-node-list)<BR/> (expand-children (children info)<BR/> (list (normalize "bookbiblio")<BR/> (normalize "bibliomisc")<BR/> (normalize "biblioset")))))<BR/> (parent-titles (select-elements (children (current-node)) <BR/> (normalize "title")))<BR/><BR/> (info-titles (select-elements exp-children (normalize "title")))<BR/> (titles (if (node-list-empty? parent-titles)<BR/> info-titles<BR/> parent-titles))<BR/> (subtitles (select-elements exp-children (normalize "subtitle"))))<BR/><BR/> ;; ==================== Changed for Chapter ======================<BR/> (if (or (equal? (gi) (normalize "chapter")) (equal? (gi) (normalize "appendix")))<BR/> (make sequence<BR/> ;; Parrafo con "Capitulo n"<BR/> (make paragraph<BR/> font-family-name: %title-font-family%<BR/> ;; font-weight: 'bold<BR/> font-weight: 'semi-light<BR/> font-size: (HSIZE 5)<BR/> space-before: 0pt<BR/> ;; space-after: (* (HSIZE 6) %head-before-factor% )<BR/> space-after: 1cm<BR/> quadding: 'end<BR/> heading-level: (if %generate-heading-level% 1 0)<BR/> keep-with-next?: #t<BR/> (if (string=? (element-label) "")<BR/> (empty-sosofo)<BR/> (make sequence<BR/> line-spacing: (* (HSIZE 1) %line-spacing-factor%)<BR/> (literal (gentext-element-name-space (current-node)))<BR/> (make sequence<BR/> font-size: (* (HSIZE 5) 2.5)<BR/> font-weight: 'bold<BR/> ;color: light-blue<BR/> (literal (element-label))))))<BR/> ;; Quito el punto (gentext-label-title-sep (gi))<BR/><BR/> ;; Para with chapter title<BR/> (make paragraph<BR/> font-family-name: %title-font-family%<BR/> font-weight: 'bold<BR/> font-size: (HSIZE 5)<BR/> line-spacing: (* (HSIZE 1) %line-spacing-factor%)<BR/> ;; space-before: (* (HSIZE 10) %head-before-factor%)<BR/> space-before: 0.5cm<BR/> ;; space-after: (* (HSIZE 14) %head-before-factor%)<BR/> ;; se suma al 1cm anterior<BR/> space-after: 1.5cm<BR/> start-indent: 0pt<BR/> first-line-start-indent: 0pt<BR/> quadding: 'end<BR/> heading-level: (if %generate-heading-level% 1 0)<BR/> keep-with-next?: #t<BR/> (if (node-list-empty? titles)<BR/> (element-title-sosofo) ;; get a default!<BR/> (with-mode chapter-title-mode<BR/> (make sequence<BR/> (process-node-list titles))))))<BR/><BR/> ;; If not chapter:<BR/> (make sequence<BR/> (make paragraph<BR/> font-family-name: %title-font-family%<BR/> font-weight: 'bold<BR/> font-size: (HSIZE 4)<BR/> line-spacing: (* (HSIZE 4) %line-spacing-factor%)<BR/> space-before: (* (HSIZE 4) %head-before-factor%)<BR/> start-indent: 0pt<BR/> first-line-start-indent: 0pt<BR/> quadding: %component-title-quadding%<BR/> heading-level: (if %generate-heading-level% 1 0)<BR/> keep-with-next?: #t<BR/><BR/> (if (string=? (element-label) "")<BR/> (empty-sosofo)<BR/> (literal (gentext-element-name-space (current-node))<BR/> (element-label)<BR/> (gentext-label-title-sep (gi))))<BR/><BR/> (if (node-list-empty? titles)<BR/> (element-title-sosofo) ;; get a default!<BR/> (with-mode component-title-mode<BR/> (make sequence<BR/> (process-node-list titles)))))<BR/><BR/> (make paragraph<BR/> font-family-name: %title-font-family%<BR/> font-weight: 'bold<BR/> font-posture: 'italic<BR/> font-size: (HSIZE 3)<BR/> line-spacing: (* (HSIZE 3) %line-spacing-factor%)<BR/> space-before: (* 0.5 (* (HSIZE 3) %head-before-factor%))<BR/> space-after: (* (HSIZE 4) %head-after-factor%)<BR/> start-indent: 0pt<BR/> first-line-start-indent: 0pt<BR/> quadding: %component-subtitle-quadding%<BR/> keep-with-next?: #t<BR/><BR/> (with-mode component-title-mode<BR/> (make sequence<BR/> (process-node-list subtitles))))))))<BR/><BR/>;; Chapter-Title Mode<BR/>(mode chapter-title-mode<BR/> (element title<BR/> (make sequence<BR/> (process-children))))<BR/>;;------------------------------------------------------<BR/><BR/><BR/>Pero bueno, no hay porqué irse tan lejos, hay cambios más sencillos, como es que aparezcan los subtítulos de los apartados (la plantilla por defecto los omite):<BR/><BR/>;;-------------------------------------<BR/>;; (fortran)<BR/>;; añadimos los subtÃtulos de los apartados (pobrecitos ellos)<BR/>(element (section subtitle)<BR/> (make paragraph<BR/> font-family-name: %title-font-family%<BR/> font-weight: 'bold<BR/> ;font-posture: 'italic<BR/> space-after: (* (HSIZE 4) %head-after-factor%)<BR/> first-line-start-indent: 1cm<BR/> ))<BR/>;;-------------------------------------<BR/><BR/><BR/>Quizá todo esto con XSL-FO sea más fácil (por lo menos seguro que sí lo es para alguien que ya pilote de XSLT y toda la pesca, como a mí me daba igual aprender cualquier cosa, me puse con DSSSL que sonaba más bohemio)...<BR/><BR/>Pero no nos quedemos sólo con lo del DocBook, la solución es igual de válida con LaTex, por ejemplo, que hoy por hoy está todavía más extendido que DocBook (aunque no nos desviemos, LaTex está orientado a la presentación, no al contenido).<BR/><BR/><BR/>De todos modos, yo creo que el tema es ir hacia una solución más integrada que lo de tener unas hojillas de cálculo y unos scripts chapuceros... lo ideal sería tenerlo todo en una base de datos, usar herramientas estándar para hacer "reports" (que los puedes meter luego en el word, o donde te dé la gana) (le he echado un ojo a esto: <A HREF="http://www.eclipse.org/birt/" REL="nofollow">BIRT</A> y parece muy apetecible) y que la trazabilidad de requisitos, componentes y demás llegue hasta el código, que es el objetivo (utópico) con el que se hacen estas cosas, de modo que cuando se esté picando en el eclipse (o donde sea) y toques una función (que tenga algún comentario especial, tipo javadoc o algo así) te diga "oye, que alterar esta función influye en ...", o que puedas llegar a base de hiperlinks desde un requisito de usuario hasta el código que lo implementa, que te diga cuántos están cubiertos y cuántos te quedan por implementar, etc.<BR/><BR/>Ahora mismo estoy con algo que da un pasito más que las hojas de cálculo (aunque todavía le queda mucho para llegar a lo que he comentado en el párrafo anterior), para usarlo en la documentación de mi PFC (aunque es un poco putada, porque tengo ahí un cuello de botella que me está jodiendo xD)... ya hablaré más sobre ello cuando lo tenga terminado.<BR/><BR/><BR/>Hmmmmmmm... no, no estamos hablando de coches xDfortranhttps://www.blogger.com/profile/11425459665752142514noreply@blogger.comtag:blogger.com,1999:blog-7415103.post-1148423700051617722006-05-24T00:35:00.000+02:002006-05-24T00:35:00.000+02:00joer veo la piedra. Veo la primera respuesta y pie...joer veo la piedra. Veo la primera respuesta y pienso Eclipse...... CVS...estan hablando de coches? ya no entiendo tampoco de coche? <BR/><BR/>no entiendo nada xD que triste existenciaAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7415103.post-1148383095368369442006-05-23T13:18:00.000+02:002006-05-23T13:18:00.000+02:00je je je, si alguien hiciese un estudio serio sobr...je je je, si alguien hiciese un estudio serio sobre el peso que tienen los plugins del Eclipse a la hora de escoger herramientas y tecnologías...<BR/><BR/>por ejemplo, yo para hacer un parser en Java escogí ANTLR frente a JavaCC porque el plugin para Eclipse me pareció mejor, pese a que como toolkit me pareció más coherente y currado JavaCC.fortranhttps://www.blogger.com/profile/11425459665752142514noreply@blogger.comtag:blogger.com,1999:blog-7415103.post-1148376416618440962006-05-23T11:26:00.000+02:002006-05-23T11:26:00.000+02:00Muy currado... aunque en lugar de CVS quizá yo hub...Muy currado... aunque en lugar de CVS quizá yo hubiera optado por SVN........ aunque Eclipse no lo trae integrado (tiene unos cuantos plugins para ello).Lekhttps://www.blogger.com/profile/10915147172432652103noreply@blogger.com