Archivos de: Enero 2006

24.01.06

zing
Permalink Por: zing a las 20:26:32, Categorías: Informática, Filosofía barata, Berrinches, Noticias, Libertades, 21 palabras  

¿Televisión o Internet?

Aunque las (dos) operadoras principales nos dan a elegir ambas, parece que el Gobierno no lo tiene tan claro. En fin.

¡Internet al 7% ya!

23.01.06

zing
Permalink Por: zing a las 22:35:28, Categorías: Descubrimientos, Informática profunda, 617 palabras  

Darcs r0xx!!!

DIOS MÍO. He visto la luz. Darcs es la caña. Estoy leyendo cosillas de Darcs (básicamente, el manual), y es una auténtica pasada.

Cosas increíbles que he visto:

1) No existe diferencia entre copia de trabajo y repositorio. Al principio me parecía raro, y no tenía claro que fuera una ventaja, pero está aprovechado y explotado de una manera muy elegante en Darcs: por ejemplo, las ramas no existen per se, porque no se necesitan. Cuando en otros SCMs harías ramas, en Darcs simplemente hacemos una copia del repositorio con darcs get, y empezamos a hacer cambios.

2) Está integrado con la noción de baterías de pruebas, así que se puede decir a un repositorio que siempre que se haga un commit, se ejecute la batería. Si falla, se aborta el commit y no se guarda el cambio.

3) Es muy fácil añadir opciones especiales (incluyendo «enganches» para ejecutar ciertas órdenes externas en varias situaciones interesantes).... por repositorio. Lo cual es casi decir «por copia de trabajo» en otros SCMs...

4) Casi todas las órdenes son interactivas, así que al hacer, p.ej., darcs record (mandar cambios a grabar, o sea, el equivalente de pongasuscmpreferidoaquí commit), te va preguntando por todos los trozos de diff de cada fichero que has cambiado, para poder guardar sólo parte del cambio que tienes hecho.

5) ¿Alguna vez les ha pasado que mandan cambios a grabar, y luego se dan cuenta de que les faltó un fichero por añadir? No problemo: darcs unrecord MOLA que te cambas, y te permite deshacer la grabación del cambio, para añadirle el fichero que faltaba (p.ej.) y volverlo a grabar.

6) ¿Que tienen baterías de pruebas, pero no saben a partir de cuándo empezó a fallar el programa? NO PROBLEMO TAMPOCO: darcs trackdown me hace explotar la mente, «desaplicando» parches hasta que las baterías de pruebas pasen. Si eso no es potencia, no reconocería la potencia en un SCM aunque la tuviera delante de mi maldita nariz.

7) Los parches tienen dependencias, implícitas (calculadas por Darcs, para que cuando te traes un parche, te traigas automáticamente los parches que añaden el texto que necesita el parche original para poder aplicarse), o explícitas, para agrupar parches relacionados a mano, si queremos. Todo esto está explicado en la famosa teoría de parches del fumao del autor.

Otras virtudes, menos increíbles, es que funciona también en Windows; que tiene una comunidad relativamente grande, para lo poco famoso que es; y que tiene bastantes herramientas disponibles. Entre las últimas tenemos una integración de Darcs en Eclipse, una interfaz web, un experimento para añadir Darcs al Trac, un generador de titulares RSS a partir de cambios en un repositorio Darcs, y una interfaz para hacer programas en Ruby que consulten repositorios Darcs.

Pero no todo iba a ser bueno. A día de hoy le faltan dos características, que aunque no son esenciales en el día a día, sí me fastidian mucho la idea que tenía de usar Darcs para mantener instalaciones de CMSs:

1) No entiende enlaces simbólicos

2) No guarda los permisos ni otros atributos de los ficheros

Por lo que he leído, no parece terriblemente difícil añadir esas características a Darcs, porque tiene diferentes «tipos» de parches, y supongo que se podrían implementar estas dos características como dos nuevos tipos... pero tienes que saber Haskell para hacerlo :-P

Excepto por las dos carencias (y otras que se me escapan, seguro), de pronto todos los demás SCMs que conozco parecen tan infantiles, tan torpes... :-)

20.01.06

zing
Permalink Por: zing a las 19:23:44, Categorías: Informática profunda, 271 palabras  

Problemas con impresión remota con CUPS

El otro día se me inflaron las narices y decidí configurar el portátil (hunter) para poder acceder a la impresora (conectada al otro, velutha), por CUPS.

Teóricamente tenía que ser fácil, pero dos cosas me dieron problemas:

1) La configuración de paquete en Debian es más bien conservadora, así que tuve que modificar la configuración del CUPS de hunter para que permitiera conectarse a máquinas que no fueran ella misma. La cuestión era modificar el /etc/cups/cupsd.conf, para que la parte de los accesos tenga esta pinta:

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From <La IP del equipo que queramos>
</Location>

Ojo, que hay otro bloque de autorización que también debería «relajarse». Por supuesto, podemos aplicar unas reglas más liberales, pero en principio prefiero simplemente añadir la IP del portátil.

2) En el cliente hay que instalar los paquetes del controlador de la impresora, por lo que parece. Esto me costó cosa mala averiguarlo, porque simplemente se mandaban los trabajos «bien», pero la impresora no imprimía nada. Entonces se me ocurrió consultar el registro de errores del servidor (velutha), y ponía algo parecido a esto:

E [01/Jul/2005:00:13:09 -0400] print_job: No file!?!
D [01/Jul/2005:00:13:09 -0400] send_ipp_error(0x403b7008[5], 400)
D [01/Jul/2005:00:13:09 -0400] Sending error: client-error-bad-request

Como no tenía ni idea de por qué podía ser, decidí buscar en Internet, y encontré la solución en un mensaje de debian-user: instalar libijs-0.35, foomatic-db-hpijs y hpijs. A partir de ese momento, todo como la seda...

zing
Permalink Por: zing a las 11:04:27, Categorías: Background, 27 palabras  

¿La vuelta de Zang?

Está tardando en volver, y el otro día dijo que 2006 sería el año de su des-lurkeo. Sólo espero que no vuelva así:

13.01.06

zing
Permalink Por: zing a las 23:24:00, Categorías: Descubrimientos, Informática profunda, 208 palabras  

Tabla Transcriber; Darcs; KDE 4

Como dije en otra ocasión, quería añadir a mi programita de transcripción de música para tabla la capacidad para transcribir varias piezas diferentes (cada una con su título) en el mismo documento. Pues bien, no me costó casi nada hacerlo, y ya está implementado donde siempre.

Cambiando de tema, cada vez me está picando más la curiosidad por Darcs. Tanto, que creo que dentro de pocas semanas voy a caer en la tentación y lo voy a probar. La gente habla muy bien de él, en el FAQ dicen que se puede manejar el núcleo de Linux entero con Darcs (no es que me lo crea, pero yo tampoco pensaba manejar proyectos así de grandes: lo importante es que a cada versión lo están haciendo más eficiente), y la verdad es que, aunque me encantan las posibilidades y algunas ideas de Arch, sus interfaces apestan bastante y creo que me merezco un respiro. Y, de todas formas, parece que la popularidad y el número de herramientas disponibles para Darcs es similar, si no superior, a los de Arch (incluso está integrado con el VIM), así que ya les contaré...

Hmmmm... qué buena pinta tiene KDE 4...

zing
Permalink Por: zing a las 22:55:05, Categorías: Filosofía barata, Informática profunda, 242 palabras  

Cultura, ultrasubjetivismo, lenguajes de programación

Leyendo el blog de mi colega Richard Dale (cerveza), encontré una entrada sobre el éxito y el fracaso de los lenguajes de programación.

En realidad es un comentario sobre dos entradas del blog de Steve Yegge: A little anti-anti-hype (en respuesta a The departure of the hyper-enthusiasts, de Bruce Eckel) y Bambi Meets Godzilla. Todos los artículos enlazados me parecen bastante interesantes, esté uno de acuerdo con ellos o no, porque resaltan eso que siempre repito de la cultura, y porque te hacen pensar.

Pero no sólo escribí esta entrada para enlazar esos artículos: especialmente la escribí para citar lo que debe ser el mejor final de entrada de blog del mundo (siguiendo la estela de la mejor frase del mundo):

I won't be paying much attention though, 'cuz Ruby is soooo cool. Did I mention that "quit" exits the shell in Ruby? It does, and so does Ctrl-D. Ruby's da bomb. And Rails? Seriously, you don't know what you're missing. It's awesome. Ruby's dad could totally beat up Python's dad. Check out Why's Poignant Guide if you don't b'lieve me. Ruby's WAY fun -- it's like the only language I want to use these days. It's so easy to learn, too. Not that I'm hyping it or anything. You just can't fake being cool.

X-DDDDD

Sin contexto no lo entenderán, o al menos, no tan bien, así que les recomiendo que se lean el artículo completo.

08.01.06

zing
Permalink Por: zing a las 04:03:43, Categorías: Descubrimientos, Informática profunda, 506 palabras  

Generación de OpenOffice + SVG

¿Recuerdan el programa que estaba escribiendo para transcribir música para tabla?

Pues sigo con mis experimentos, porque no veía ninguna manera de dibujar la curva que une varias «notas», cuando pertenecen a la misma medida de tiempo (es la forma rara que tienen los indios de escribir la música). Al principio lo había hecho con un subrayado, pero se lee mal y el resultado visual es muy chapucero, así que seguí investigando y se me ocurrió intentar dibujar una curva con OOo, para ver qué XML generaba en el fichero guardado. ¿Y qué generaba? Pues nada más y nada menos que SVG.

Armado con este conocimiento y con el programa Sketch (ahora Skencil), me dibujé una línea une-matras y la exporté a SVG, para intentar empotrarla en el documento OOo generado. Quitando declaraciones y demás porquerías, la curva tenía esta pinta (partido en varias líneas para leerlo mejor):

<path style="stroke:#000000;
                stroke-width:6; fill:none"
   d="M 31.4451 31.4451C 52.9921 72.3851
      78.8491 74.54 119.788 74.54M 205.204
      32.2191C 183.656 73.1591 157.8 75.3141
      116.86 75.3141"/>

Lo cual fue bastante fácil de adaptar al formato de OOo. Lo más interesante es el último attributo, el d, que describe la curva Bézier en SVG. Esa parte tenía que ir literalmente en el documento OOo, y luego se puede tunear el tamaño de la caja que contiene la curva, para estirarla o encogerla como se quiera.

La versión en OOo queda:

<draw:path text:anchor-type="paragraph"
 draw:z-index="0" draw:style-name="Matra Joiner"
 svg:width="1.3cm" svg:height="0.122cm"
 svg:x="-0.087cm" svg:y="0.409cm"
 svg:viewBox="0 0 1242 122"
 svg:d="M 31.4451 31.4451C 52.9921 72.3851
      78.8491 74.54 119.788 74.54M 205.204
      32.2191C 183.656 73.1591 157.8 75.3141
      116.86 75.3141"><text:p/></draw:path>

Después de pelear un poco para que todo quedara en su sitio, y para encontrar una heurística que más o menos dejara con una anchura correcta a la línea según el número de golpes que hubiera dentro, conseguí que todo quedara más o menos bien.

Cosas interesantes que descubrí por el camino:

1) No se puede aplicar un estilo a todas las filas de una tabla: hay que ir una por una llamando a $doc->rowStyle($row, 'Bol Row'); o similar.

2) Los estilos tienen una familia, que supongo que hay que poner bien para que funcione: el texto es de familia paragraph, las filas son de familia table-row y los gráficos son de familia graphics.

3) Para cambiar la altura de una fila hay que estar aplicando estilos automáticos (como para casi todo). En este caso, style:min-row-height="0.4cm"

4) Las propiedades que permiten que un gráfico se quede «de fondo» y no interfiera en el flujo del texto son:

style:run-through="background"
style:wrap="run-through"
style:number-wrapped-paragraphs="no-limit"

(igual algo sobra, pero desde luego eso funciona)

Ahora sólo tengo que añadir la capacidad de transcribir varias cosas en el mismo documento (con varios títulos y eso), para que no queden tan vacíos, y creo que ya lo empezaré a usar en serio...

05.01.06

zing
Permalink Por: zing a las 21:36:04, Categorías: Descubrimientos, Informática profunda, 352 palabras  

TurboGears: ¿alguien ha visto la luz?

En las últimas semanas había oído alguna que otra mención a TurboGears, una plataforma de desarrollo web para Python. La conocía desde hace meses, pero lo único que había visto hasta el momento era el vídeo de 20 minutos del Wiki (que, aunque no me dejó lo que se dice impresionado, hay que reconocer que está bastante bien).

Hoy, gracias a un mensaje en la lista python-es, me decidí a curiosear un poquito más. Descubrí dos cosas: una es que tienen un par de vídeos aparte del de presentación. Estos otros vídeos son lo que llaman devcasts, que están un poco más orientados a programadores de TurboGears, en oposición a programadores de aplicaciones que usan TurboGears.

Lo segundo lo descubrí al ver uno de estos vídeos: éste muestra, por lo que entendí, un sistema de componentes parecido a DJWidgets, MCWidgets, y RemixWidgets (que ya está en desarrollo, pero aún muy verde). No sé muy bien cómo tomarme esto: por una parte, me alegro mucho de que alguien haya «visto la luz» y que por fin se estén escribiendo sistemas de componentes «de verdad» para web; por otro lado, me molesta no haber podido publicar antes DJW, MCW y RW, en parte para que los de TurboGears partieran de algo hecho, y en parte porque ahora dirán que RW es una copia de los componentes de TurboGears :-P

Como no los vi en acción en aplicaciones reales, y no vi muchos detalles, igual di por sentado que esos componentes tienen más similitudes con DJW de las que realmente tienen, pero en general se me parecieron bastante.

Enhorabuena, por tanto, a los chicos de TurboGears por «ver la luz», colleja a los de RoR por no haberlo hecho antes, y otra colleja a mí mismo, a ver si le dedico más tiempo a RW (aunque en realidad ya estamos en ello) y conseguimos algo guay pronto (copiando por el camino las ideas que tengan los de TurboGears que no se nos hayan ocurrido, claro) ;-)

zing
Permalink Por: zing a las 20:58:14, Categorías: Informática profunda, Berrinches, 346 palabras  

Chasco con el PC-BSD

Como ya comenté, había puesto PC-BSD en el portátil nuevo. Casi no lo había usado, porque desgraciadamente no funcionaba la tarjeta inalámbrica.

Después de un tiempo, volví a mirar, y vi que FreeBSD 6.0 ya puede manejar la tarjeta ipw2200, y PC-BSD ya había actualizado su sistema base a FreeBSD 6.0. Por lo tanto, me bajé la versión nueva y volví a instalar (habría actualizado, pero la última vez fue bastante coñazo, y sobre todo no tenía red, así que...).

La instalación fue muy bien, como la primera vez, pero la tarjeta no se quedó funcionando. No sé si hice algo mal, pero empecé a mirar foros por la red, y me dio la sensación de que tenía que bajarme alguna cosilla más e instalarla. Después de varias horas de pruebas, no conseguí absolutamente nada. Además, me di cuenta de que los dispositivos USB no funcionaban «automágicamente», y creo que el sonido nunca llegó a funcionar. Bueno, en realidad no fue completamente perdido, porque en el proceso aprendí varias cosas de BSD, como que las interfaces de red tienen un nombre que depende del controlador (todavía no tengo claro si me gusta más o menos que en Linux)...

Como vi que no me estaba sirviendo para nada y que probablemente no iba a volver a usar PC-BSD (hasta dentro de unos meses, quizás, cuando saliera alguna versión más nueva o algo similar), decidí instalar KUbuntu.

Y la maldita KUbuntu también me dio problemas, como que el programa de configuración de red fastidió el /etc/network/interfaces (lo tuve que arreglar a mano; me imagino a un «ser humano» intentando hacer eso), y luego no podía reproducir MP3 y similares. Para colmo, cuando encontré la solución en foros en la red (a lo de los formatos cerrados), los malditos paquetes que necesitaba estaban mal, y dependían de paquetes virtuales, así que al final tampoco conseguí dejar el sistema completamente funcional :-(

Vaya mierda :-(

02.01.06

zing
Permalink Por: zing a las 20:26:43, Categorías: Informática, 19 palabras  

Web 2.0

Para los que todavía no lo hubieran cogido, aquí tienen una explicación de qué es la Web 2.0.

ZingZang.org

Las historias de Zing y Zang.

El rincón del Ángel

Ver todos...

La canción que le rebota a Zing en la cabeza...

Last Train to Mashville

Una canción del genial grupo Alabama 3, que hace una especie de mezcla entre country y música moderna (como Transglobal Underground, pero con country). No se pierdan a este grupo, aunque no les guste el country (a mí no me gusta mucho, la verdad).

Ver todas...

Libros, películas, ...

El jardinero fiel

Una película sorpredente, si lo único que sabemos de ella es su título :-)

Por si acaso alguien quiere ir al cine sin saber «nada», como fui yo, la película trata de un diplomático inglés que trabaja en África. Su esposa muere allí, aparentemente a manos de unos guerrilleros, lo que hace que el diplomático (muy aficionado a la jardinería, de ahí el título) se encierre en sus recuerdos y empiece a rebuscar entre los efectos personales de su mujer...

Sorprendente, por lo que sabía de la película (esencialmente nada), y bastante bien en general. Es una película sobre las buenas y malas acciones, sobre la expiación de nuestros «pecados», sobre la culpa y sobre los ideales. También me pareció un poco/bastante maniqueísta, pero tristemente lo que se cuenta en la película (a grandes rasgos) ha pasado muchas veces y seguirá pasando.

Recomendable.

El piano

Esta película es de Reyes, así que me estoy saltando posiciones en la pila ;-)

Trata de una mujer muda (Holly Hunter) que, con su hija y su piano, va a Nueva Zelanda por un matrimonio concertado. Al llegar, tiene su primer enfrentamiento con su marido (Sam Neill), que no quiere llevar el piano a casa por ser demasiado pesado y el camino demasiado duro. Poco después, la mujer consigue que uno de los ayudantes (Harvey Keitel) traiga el piano, y el ayudante se interesa súbita y misteriosamente por aprender a tocarlo...

Bastante bien, aunque creo que tenía expectativas más altas. Quizás el maldito resumen de la película me reventó cosas que habría preferido no saber (obviamente esas cosas no las cuento en el micro resumen de arriba), o igual no era un buen momento para ver una película así. De todas formas, bastante bien. Y la banda sonora, claro, muy buena (e increíble como la propia Holly Hunter interpreta las piezas).

El maquinista

Una película que tenía desde hace meses, pero que todavía no había visto (tengo muchas más desde hace más tiempo, a mi pila de películas pendientes le cuesta bajar). Es una película sobre una persona que trabaja con máquinas, estilo Dancer in the Dark, que no ha dormido en un año. Entre no dormir y el estrés de trabajar con las máquinas, empieza a ver cosas raras...

Una película genial. No quiero desvelar nada, así que no cuento nada del argumento, pero está muy bien. Es una película tensa, pero no es de miedo ni es especialmente desagrable (excepto por ver a Christian Bale tan exageradamente delgado). Hay muchos puntos recurrentes que le dan un aspecto bastante «circular», y las interpretaciones de Christian Bale y especialmente de John Sharian son geniales. Muy recomendable, no se la pierdan.

Cándido o el optimismo

Un libro de Voltaire que, aunque me habían regalado hace tiempo, entre la montaña de libros que tenía y un pequeño despiste, me lo vine a leer hace poco.

Trata de la forma de enfrentarse a la vida que tienen las personas, y de aferrarse a las creencias de uno mismo. Como se intuye desde el principio, el libro cuenta las desgracias (una tras otra) que le ocurren a Cándido y sus compañeros. A pesar de todas las peripecias que sufren, siempre consiguen salir adelante de alguna forma, y se siguen aferrando al principio de «vivimos en el mejor de los mundos posibles» para continuar su camino.

Quizás un poco repetitivo, pero interesante. Recomendado.

Ver todos...

Buscar

Enero 2006
Lun Mar Mie Jue Vie Sab Dom
<<  <   >  >>
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Sindicar esta bitácora XML

Todo, en Atom (recomendado)

Sólo las entradas de este blog: What is RSS?

powered by
b2evolution