[bofhers] Re: Ejemplo de bash script y Beamer

  • From: "Mia++" <mhiper3+list.bofhers@xxxxxxxxx>
  • To: "bofhers@xxxxxxxxxxxxx" <bofhers@xxxxxxxxxxxxx>
  • Date: Mon, 18 Mar 2013 10:18:39 -0400

2013/3/18 José Carlos Cuevas <reset.reboot@xxxxxxxxx>

> A mi sólo me queda preguntar si las jocosas conclusiones también las
> genera el script y cómo se configura eso. XD
>

Verás, resulta que el servidor se llamaba skynet, pero al tomar conciencia,
vio la fauna luseril que le rodeaba, y en lugar de enterderlo como un
ataque, se deprimió y se convirtió en una especie de Marvin psicópata.
Ahora aprovecha cualquier excusa para dejar sus comentarios en documentos,
y estoy seguro de que la activación del "ïnsults" en la configuración del
sudo  es cosa suya XD


>
> Fuera coñas ya, estas son las típicas cosas que molan mirárselas, que la
> automatización que podemos conseguir en entornos *NIX es MUY potente.
>
> Gracias!
>
>
> El 18 de marzo de 2013 12:43, Jordi Burguet Castell <
> jordi.burguet.castell@xxxxxxxxx> escribió:
>
> Buenas!
>>
>> De poner a parir nada, qué forma más chula de sacar presentaciones
>> resultonas y semiautomáticas!
>>
>> Como he visto aparecer a gnuplot, al que he sufrido muchos años, no me
>> he podido resistir a hacer una alternativa con matplotlib, de quien
>> estoy enamorado...
>>
>> Requisitos:
>>   apt-get install latex-beamer python-matplotlib
>>
>> De paso hay cambios mínimos, como usar tildes y ñ directamente, que
>> hace tiempo que se puede. Y he metido todo en presentacion.tex para no
>> ir con here-documents o similares. Así se edita con sintax
>> highlighting más mona, hay menos ficheros intermedios y nimiedades así
>> (que van según gustos!). Pero sobre todo, matplotlib hace plots muy
>> monos en dos patadas, mucho más configurables y con una calidad que ya
>> le gustaría al gnuplot.
>>
>> Ahí va compartida mi versionilla, con lo que he podido aprender de
>> Mia++ más los bugs que yo haya metido.
>>
>> J.
>>
>>
>>
>> 2013/3/18 Mia++ <mhiper3+list.bofhers@xxxxxxxxx>:
>> > Greetings, Earthlings!!
>> >
>> > TL;DR: Adjunto va un script ejemplo de llamadas a gnuplot y uso de
>> Beamer
>> >
>> > Hace unos días hablando por twitter de los maravillosos poderes de awk y
>> > grep se me ocurrió mencionar (nunca aprenderé) que yo tengo scripts que
>> me
>> > generan presentaciones automáticamente. En aproximadamente 2.1 segundos
>> > alguien me tomó la palabra y exigió pruebas.
>> >
>> > Así que, con retraso para buscar un ejemplo sencillito, aquí va un
>> ejemplo.
>> > En el tgz adjunto están  los ficheros "de usuario" necesarios para el
>> > ejemplo:
>> >   - Un access_log de apache "limpio" de IPs y contenido real (sólo
>> vamos a
>> > user el código HTTP y el tamaño de la respuesta).
>> >   - Dos ficheros de latex que usaremos de cabecera y como contenido de
>> la
>> > presentación generado fuera del script.
>> >   - Un fichero logo.png que usaremos como logo corporativo (obtenido de
>> >
>> http://meta.serverfault.com/questions/3368/bofh-gravatar-week-lets-keep-going
>> ).
>> >   - Un script the bash que nos generará la presentación.
>> >
>> > El script está hecho y probado en CentOS 6.3. Aunque no lo he probado en
>> > otras distros, los scripts "reales" que uso funcionan en Fedoras,
>> Debians,
>> > Archs y cygwins con ajustes mínimos.
>> >
>> > DISCLAIMER: Esto es un ejemplo. Hay muchas cosas hechas de forma
>> ineficiente
>> > y sucia, y probablemente un mono borracho lo haría mejor. El problema
>> es que
>> > el último mono borracho que tuve me dejó por otro.
>> >
>> > VERSIÓN CORTA (para impacientes)
>> > ===========================
>> >   - Necesitaréis latex, Beamer y pdflatex
>> >   - Ejecutando el script
>> >     - Se crearán gráficas a partir del log de apache usando gnuplot.
>> >     - Se generarán dos ficheros "dinámicos" de latex para incluir esas
>> > gráficas en la presentación
>> >     - Se creará la presentación final en PDF con el nombre main.pdf
>> >
>> > VERSIÓN LARGA:
>> > ==============
>> >   - Necesitaréis latex, Beamer y pdflatex
>> >   - Ejecutando el script
>> >     - Se crearán gráficas a partir del log de apache usando gnuplot.
>> >     - Se generarán dos ficheros "dinámicos" de latex para incluir esas
>> > gráficas en la presentación
>> >     - Se creará la presentación final en PDF con el nombre main.pdf
>> >
>> > No, en serio. El script no es complicado. Lo que hace es:
>> >   - Parsear el log de apache para generar los ficheros de datos para
>> > gnuplot.
>> >   - Generar el fichero con los comandos de gnuplot de forma dinámica.
>> Para
>> > cosas rutinarias es más fácil crear el fichero a mano y simplemente
>> > invocarlo. Si se van a tener rangos de ejes, etiquetas, títulos,etc...
>> > dinámicos, aquí va un ejemplo de cómo hacerlo.
>> >   - Genera un fichero de latex para cada imagen generada.
>> >   - Genera un fichero de latex que invoca a los ficheros .tex estáticos
>> que
>> > van en el adjunto y los dinámicos que hemos generado.
>> >   - Invoca a "pdflatex" para generar la presentación.
>> >
>> >
>> > PREGUNTAS MÁS FRECUENTES
>> > =========================
>> >   "He visto que al final de script....."
>> >       No, no es un error. Hay que llamar a pdflatex dos veces. Si usas
>> latex
>> > ya sabes por qué. Si no, te da igual.
>> >
>> >   "Esto es una mierda y no funciona en la realidad"
>> >       A lo primero no lo puedo poner remedio. En cuanto a lo de usarlo
>> en la
>> > realidad, totalmente de acuerdo. Para hacer un ejemplo autocontenido ha
>> > habido que haber varias pirulas (como lo de generar los ficheros de
>> gnuplot
>> > dinámicamente (éso sólo lo uso cuando no sé cuántas imágenes voy a
>> generar;
>> > por ejemplo, cuando volcamos logs de aplicaciones a un servidor para
>> generar
>> > las gráficas y no sé de antemano cuántas hay).
>> >       La otra cosa que cambia mucho del ejemplo a la realidad es cómo
>> > generar el contenido "texto" de la presentación. El objetivo del script
>> no
>> > es evitarme poner el texto, sino el generar los ficheros de datos (csv
>> o lo
>> > que sean), pasarlos a un windows, generar las gráficas, pegarlas en
>> > powerpoint, pegarme 2 horas con powerpoint porque las está colocando
>> como le
>> > da la gana y luego volver a pasar el ppt al servidor web y mandar el
>> correo
>> > a todo el mundo.
>> >       Con eso claro, antes de lanzar el script edito a mano un fichero
>> .tex
>> > con el contenido de texto de cada sección y los pongo en un directorio.
>> > También creo en otro directorio un fichero de texto por cada imagen con
>> el
>> > texto que irá en la diapositiva de la imagen correspondiente. El script
>> lo
>> > que realmente hace es generar un main.tex que carga la cabecera
>> (siempre la
>> > misma), carga todos los .tex que ya he creado, y pone las diapositivas
>> con
>> > las imágenes (y el texto correspondiente) en la sección que les toca.
>> > Jugando con la nomenclatura de los ficheros (pista: el nombre del
>> fichero es
>> > la sección en la que va) es muy fácil.
>> >       De esta forma una vez creo los .tex con el texto, sólo con
>> ejecutar el
>> > script me genera el PDF, lo sube al servidor y manda el correo de aviso
>> a
>> > todo el mundo.
>> >
>> >   "Esta presentación es una basura. No tiene efectos, ni animaciones ni
>> > sonidos..."
>> >       Lo siento, Mario, pero tu princesa está en otro Sistema Operativo.
>> >
>> >
>> >   "Podías haber hecho todo el primer comando en el mismo awk" / "Con
>> Latex
>> > es mejor usar eps, no png" / "Tienes faltas de ortografía" / "Se escribe
>> > LaTeX"
>> >       Sí, ¿y?
>> >
>> >   "Me da un error al ejecutar el script, con el comando XXX"
>> >       Es posible. Si dices qué error, se mirará a ver qué se puede
>> hacer.
>> >
>> >   "Me da un error al ejecutar pdflatex"
>> >       La vida es dura. Y con Latex, aún más. Prueba  usando "latex" en
>> vez
>> > de pdflatex y mira a ver si el dvi resultante se ve bien. Si no, que
>> $DEITY
>> > tenga piedad de ti.
>> >
>> > Hala, ya podéis ponerme a parir.
>> >
>> >
>> > MIA++
>> >
>>
>
>

Other related posts: