24.10.05

zing
Permalink Por: zing a las 14:50:35, Categorías: Informática profunda, Debian, 431 palabras  

Versión en Ruby de dhelp

Ya comenté hace unas semanas que estoy trabajando en mejorar dhelp.

Teniendo en cuenta que el programa está continuamente tratando ristras de caracteres, y está escrito en C (que es, como sabrán los programadores que me lean, como el peor lenguaje para hacer eso [vale, también existe FORTRAN, pero eso es abusar]), pues es un infierno encontrar fallos y mejorarlo.

Por lo tanto, me puse en contacto con el actual encargado del paquete, para proponerle reescribirlo en otro lenguaje. Inicialmente le dije Perl, por aquello de que es más popular^W conocido y sobre todo porque ya había otro programa en el paquete dhelp escrito en Perl... pero luego me dije: «¿y si le cuelo el hacerlo en Ruby?». Al fin y al cabo, teniendo en cuenta su historial reciente de trabajo en el paquete, lo iba a escribir y mantener yo, y además en Ruby probablemente quedaría más legible y más extensible, así que probé...

...y él me dijo encantado que no conocía el lenguaje, pero que tenía curiosidad por aprenderlo y que le parecía bien que lo hiciera (yo) en Ruby.

Total, que empecé a escribirlo, y ya lo tengo más o menos avanzado. La verdad es que está quedando muy bien, al menos si lo comparamos con la versión original en C: lee/escribe el mismo formato (simulando la guarrada que hacía el programa original en struct en C), es mucho más fácil de entender, mucho más compacto, más fácil de modificar, usa unas clases que con el tiempo pasaré a un módulo independiente, para poder leer y manipular las bases de datos de dhelp desde otros programas, etc.

Si alguien quiere echarle un vistazo, está en mi repositorio Arch de Debian, que está publicado en mi página personal del proyecto.

Como ejemplo de código de la conversión, para la guarrada de los struct de C me hice una clase muy mona (que llamé CStructWrapper) que hace que declarar nuevas clases que representan un struct de C sea tan fácil como:

class KeyData < CStructWrapper
    pack_fmt    'Z100 Z100 Z50'
    field_list  %w(file dir name)
end


# Value data entry
class ValueData < CStructWrapper
    pack_fmt    'Z1000'
    field_list  %w(descrip)
end

Y luego, usar esas clases es tan sencillo como:

# Leer
k = KeyData.new(stringConElChurroDelStructEnC)
k.file
k.dir
k.name

# Conseguir el formato struct, para escribir
k = KeyData.new(:file => 'fichero',
                :dir => 'dir',
                :name => 'foo')
k.to_raw_data

Mono, ¿verdad? :-P

20.10.05

zing
Permalink Por: zing a las 04:10:17, Categorías: Informática profunda, Berrinches, 220 palabras  

Problemas con baz

Ojito cuando usen baz: mantengan siempre instalado tla, porque el primero tiene un par de fallos que no permiten, por lo que he visto, llevar a cabo ciertas tareas. Para ésas necesitarán usar tla, que es más feo pero al menos funciona.

En general, como ya sabrán si les interesa esta entrada, baz está bastante bien, al menos comparado con tla «a pelo», pero tiene un par de fallos que les pueden hacer perder muchas horas buscando:

1) Al declarar un archivo nuevo que es copia de otro (lo del baz make-archive --mirror ...), en las pruebas que he hecho no sólo no declara bien el archivo de copia, sino que machaca el original con la nueva declaración. En este caso, tendrán que usar tla para borrar la definición machacada por baz, rehacerla correctamente, y hacer el archivo de copia (con el --mirror).

2) Al crear un nuevo archivo normal, cuando hay una llave en el nombre del directorio que la contiene, baz falla, porque intenta escapar la llave. Esto es muy desafortunado, porque uno de los nombres aconsejados para los directorios de archivos es precisamente «{archives}». Nolontiendo.

Así que ya saben: usen baz, que está guay, pero si se encuentran en una de estas situaciones, o les sale un error raro, inténtenlo con tla.

18.10.05

zing
Permalink Por: zing a las 12:31:52, Categorías: Anuncios, 182 palabras  

Me han «plagiado» en Wikipedia

Visitando páginas «aleatorias» (páginas que no conocía, enlazadas desde webs que enlazan webs que enlazan.... webs que aparecen en los referentes de zingzang), he encontrado la entrada de Ruby en Wikipedia.

La he leído por curiosidad, y la verdad es que no me parece especialmente brillante la descripción que hace.... y sigo bajando, y encuentro un ejemplo que me suena. Leo todo el contexto del ejemplo.... ¡y veo que me han «plagiado»! Qué mal, no me avisaron ni nada. El original está en demiurgo.org, por si no me creen.

Esto me molesta un poco por dos razones:

1) Nunca se pusieron en contacto conmigo no ya para pedirme permiso (que por supuesto que lo habría dado), sino para informarme de que iban a poner el texto en la Wikipedia.

2) La verdad es que no estoy especialmente orgulloso de él, y es muy mejorable (por no decir otras cosas, orgullo de padre y tal). Especialmente para ponerlo en una enciclopedia.

En fin, veré si tengo tiempo un día de éstos y corrijo/mejoro la página.

17.10.05

zing
Permalink Por: zing a las 10:47:56, Categorías: Informática, Filosofía barata, 147 palabras  

Estoy depre

«Custom development is that murky world where a customer tells you what to build, and you say, "are you sure?" and they say yes, and you make an absolutely beautiful spec, and say, "is this what you want?" and they say yes, and you make them sign the spec in indelible ink, nay, blood, and they do, and then you build that thing they signed off on, promptly, precisely and exactly, and they see it and they are horrified and shocked, and you spend the rest of the week reading up on whether your E&O insurance is going to cover the legal fees for the lawsuit you've gotten yourself into or merely the settlement cost. Or, if you're really lucky, the customer will smile wanly and put your code in a drawer and never use it again and never call you back.»

de Joel Spolsky.

15.10.05

zing
Permalink Por: zing a las 18:38:04, Categorías: Informática, Descubrimientos, Libertades, 200 palabras  

Dos enlaces interesantes, completamente distintos

El primero es una tienda, al estilo CDBaby, que vende sus discos tanto en Ogg (y otros formatos inferiores :-P) como en CD, que te mandan por correo. La tienda es Magnatune, y tienen música bastante interesante. Su lema es bastante cachondo (se me acaba de ocurrir qué búsquedas tan simpáticas encontrarán ahora ZingZang, por culpa de esa palabra :-P): «We're a record label. But we're not evil».

El segundo es un enlace a la última campaña de NoSoftwarePatents, con imagen incluida:

¡Vote por su derecho a programar!

La campaña es muy simpática, y consiste en hacer una serie de votos para elegir al europeo del año, entre otros «cargos». La gracia del asunto es que se pide votar a uno de los luchadores contra las patentes de programación más visible, para darle publicidad a este problema (ya está nominado, no es que sea un voto abierto). En parte es simpático porque, tal y como explican en la página de la campaña, uno de los copatrocinadores del evento es Microsoft, y la gala la moderará uno de los miembros de los grupos de presión propatentes. Jeje, qué cara se les puede quedar...

:: Pagina siguiente >>

ZingZang.org

Las historias de Zing y Zang.

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

Tala Sawari

Una canción del disco Sound of the Sitar en la que la tabla es el protagonista. Se supone que pueden oír un poco de la canción en Amazon :-)

Ver todas...

Libros, películas, ...

Delicatessen

Si no me equivoco, la primera película famosa de Jean Pierre Jeunet, que 10 años después dirigiría Amélie. Hacía muchos años que quería verla, y creo que la exceptación era demasiado alta: una película muy rara, con cosas interesantes y con humor retorcido, pero tampoco me entusiasmó, pensé que me iba a gustar mucho más. En fin, una película más para el saco :-)

Willow

Una película de aventuras, que vi hace muchos años. La volví a ver hace poco, y era mejor de lo que la recordaba. Me recordó en varias escenas y en algunos paisajes al Señor de los Anillos, y curiosamente me pareció también un poco al contrario: una escena del final se me pareció a una que aparecería muchos años después en la película (creo recordar que no en el libro) de Peter Jackson.... ¿casualidad? Igual fue un guiño del director...

Por otro lado, la actuación de Val Kilmer me pareció genial, no lo recordaba como actor de comedia (luego me recordaron lo de «Top Secret»). Definitivamente fue una sorpresa positiva verle actuando así de bien... Recomendada para pasar un rato entretenido.

Samurai Champloo

Por fin terminé de verla. Me pregunto si es la mejor serie que he visto en mi vida. Los tres últimos capítulos (tres partes de un capítulo grande) son soberbios. Hay una cosa que no me gustó del todo, pero no puedo dar pistas para no descubrir nada, y desde luego no emborrona el resultado final.

Watanabe es el mejor: Samurais, música genial, coñas con la cultura hip-hop (sí, mezclada con samurais), espectaculares peleas, una trama muy interesante...

Háganse un favor. Vean esta serie. Da igual que no les guste el manga ni el anime. De hecho, si no les gusta, casi con más razón. Y si les gusta, aparquen las series mediocres llenas de tópicos repetitivos y vean una serie genial, que «casualmente» es anime. No se cómo recomendarla más.

Ver todos...

Buscar

| Next >

Octubre 2005
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