diego sevilla’s weblog
it is better to remain silent and be thought a fool,
than to open your mouth and remove all doubt -- groucho marx

29/12/2009

Pobre Miguel Hernández

Filed under: General, español, crítica/critics — Diego Sevilla @ 17:03 — In English

No escapa a las catetas y sesgadas manos de la derecha.

21/12/2009

El desafío de Arc, en Clojure

No conocía que Paul Graham, el inventor de un dialecto de Lisp llamado Arc, había lanzado un desafío. El desafío incluye escribir varias páginas web en cascada en la que la primera pide algo al usuario a través de un formulario. Al pulsar el botón de enviar del formulario, se muestra una segunda página con un enlace que lleva a una tercera que muestra lo que el usuario escribió. El ejemplo en Arc se supone que es extremadamente simple (gracias, por supuesto, a un framework Web escrito para el lenguaje en cuestión.

Tampoco sabía que se habían lanzado en masa a mostrar cómo resolver este problema en otros lenguajes, pero enlazo aquí la resolución en Clojure también porque esa página lleva enlaces a otros ejemplos de cómo resolverlo, y enlaces a los foros de Arc.

API design matters

Filed under: General, español, crítica/critics, código/code — Diego Sevilla @ 0:33 — In English

API design matters. Una versión distribuida de esto intento hacer en la asignatura de distribuidos. En sistemas distribuidos el API importa aún más.

4/12/2009

Sacha di Manolo: Ride on

Filed under: General, español — Diego Sevilla @ 23:39 — In English

Buscando la música del anuncio retro de Citroën me he encontrado con esta:


Y su MySpace.

PD. ¿Por qué todos los artistas emergentes tienen que tener su sitio en MySpace? Es lo más caótico y peor diseñado que me podía haber imaginado en mis peores pesadillas. Supongo que los veinteañeros lo verán de lo más normal tener páginas totalmente desestructuradas, pero yo…

martina, 1 day old

Filed under: General — Diego Sevilla @ 17:10 — In English


martina, 1 day old, originally uploaded by dsevilla.

¡Aquí está! ¡Qué bonita es! :) Con un día de vida en el hospital. No he tenido tiempo ni de subir más fotos, pero todo se andará :)

Here she is! How beautiful she is! Just one day after birth at the hospital. I haven’t had time to upload any more photos, but hopefuly I will in the near future :)

D700 + 50mm/1.4 AF

2/12/2009

Carta a mis nietos. Enrique Amat en La Verdad de hoy

Filed under: General, español, crítica/critics — Diego Sevilla @ 0:42 — In English

De lo mejor que he leído últimamente. Vía.

29/11/2009

Intereconomía, las dos españas del 2009 y de por qué los condones no son más que un peligro para África

Filed under: General, español, crítica/critics — Diego Sevilla @ 21:06 — In English

No me podía creer el vídeo. Creía que era una broma al estilo de la de la becaria del Wyoming. Pero sí. A través de escolar.net y periodismo + derechos humanos.

YouTube Preview Image

El vídeo no tiene desperdicio. De hecho, comienza tal que así (las negritas son mías):

Los medios de comunicación de izquierdas han atizado en las últimas semanas al papa…

Para que luego digan que lo de las dos españas está muy trasnochado… Pero eso es con mucho lo de menos. Del vídeo, periodismo + derechos humanos ha destacado un conjunto de frases. Las negritas, de nuevo, son mías.


“En aquellos países donde se difunde la fe católica, la enfermedad del SIDA se expande menos que en las regiones donde se reparte el profiláctico”

“Hay que tener cuidado y no rasgar el producto con las manos; en fin, la manicura en África no destaca

“Y si a esto sumamos que los ciudadanos del Tercer Mundo no saben leer, el uso del preservativo puede ser un peligro

“Prácticamente toda la población del continente se encuentra en zonas donde el clima es eminentemente caluroso, lo que hace dificil la conservación de los preservativos”

“Aun si entendieran lo que leen, es dudoso que los africanos lleguen a aplicar directrices como la de tener cuidado al desplegar la funda. Muchos habitantes de zonas rurales del continente negro tienen unas manos que pueden ser no aptas para la manipulación del preservativo”.

Eso sí que es rigor periodístico. Y respeto por los demás. El problema son los preservativos, por supuesto, no que la población sea analfabeta. Hay que luchar, por supuesto, para que siga siendo así y no puedan ni leer la documentación adjunta. Y si no saben nada de nada y se creen a pies juntillas lo que le dice la Iglesia, pues mejor que mejor…

Me quedo sin palabras. Sobre todo porque los religiosos que están al pie del cañón en misiones allí en «el continente negro», están a favor del preservativo.

Como dicen por ahí, sin embargo, quizá sea incluso más penoso que haya gente que se lo crea.

25/11/2009

En Karmic: Increíble

Filed under: General, español, free software/software libre — Diego Sevilla @ 21:01 — In English

Sólo he tenido que quitar la opción skip-bdb de mysqld, que parece que no le gusta. Por lo demás, absolutamente todo funcionando sin problemas y actualizado.

Paso a Karmic

Filed under: General, español — Diego Sevilla @ 16:21 — In English

Este servidor, a ver si hoy mismo, pasará a Ubuntu Karmic. Como es el ordenador en el que trabajo, me gusta tenerlo actualizado todo lo que puedo. A ver si no me da tantos quebraderos de cabeza como me dieron las otras actualizaciones…

5/11/2009

Días Caldum’09

Filed under: General, español, blogging, free software/software libre — Diego Sevilla @ 15:22 — In English

Por estos días se celebran los días caldum en la Facultad de Informática y esta tarde me han pedido que participe en la mesa redonda sobre software libre (a las 18:30) representando a la cátedra SAES de software libre. Después pongo las transparencias. La mesa redonda supongo que irá sobre la influencia o implantación del software libre en Murcia. En mi caso, explicaré cómo una empresa de la región apuesta por él, y qué sinergias se pueden extraer.

Actualización: Las transparencias aquí (PDF).

4/11/2009

Estrasburgo falla que los crucifijos en las aulas «violan el derecho» a la libertad de religión

Filed under: General, español, crítica/critics, blogging — Diego Sevilla @ 15:42 — In English

Pues eso, ya está bien que haya sentencias en ese sentido. Escolar también se ocupa de ello, señalando además que el estado español pagará la mitad de la visita del Papa a España en 2011. El grupo de Facebook lo dice bien claro.

Should I use Comic Sans?

Filed under: General, english, crítica/critics — Diego Sevilla @ 1:15 — In English

Clojure

Filed under: General, español, código/code — Diego Sevilla @ 1:06 — In English

Como hace tiempo que no escribo en el blog, me voy a ir desquitando de cosas que quiero ir añadiendo para recordarlas en un futuro.

Clojure me interesa desde hace bastante tiempo por su mezcla entre lenguajes estilo Lisp dentro de la máquina virtual Java (como también Scala y unos cuantos otros, de los que hablaré más adelante). Por ahora he encontrado un link interesante que quiero guardar: 20 Clojure Links To Get You Up To Speed. Veinte enlaces a artículos interesantes sobre Clojure para iniciarse rápidamente. Además, clojure está de enhorabuena en su versión 2 :)

2/11/2009

Sobre comentarios en código

Filed under: General, english, español, crítica/critics, blogging, código/code — Diego Sevilla @ 23:10 — In English

Al hilo de lo de ayer, he encontrado otras referencias interesantes:

  • Coding without comments y Code Tells You How, Comments Tell You Why, de Jeff Atwood, con comentarios sobre el conocido como literate programming, introducido por Knuth para implementar, entre otros, su TeX. En el último artículo introduce una cita que me parece muy ilustrativa:

    Programs must be written for people to read, and only incidentally for machines to execute.

  • Después, una reflexión de si la capacidad o incapacidad para escribir en tu idioma materno afecta a tus capacidades de programación: Does Bad Writing Reflect Poor Programming Skills?, lo cual tampoco había pensado nunca, pero es una reflexión válida. Como batallita, comentaré que una de las preguntas que más me sorprendió de cuando hice mi entrevista en Google fue que uno de los que me entrevistaron directamente me preguntó «Virtual methods in C++?», y yo lo miré como diciendo… ¿qué? Me estaba pidiendo, por supuesto, que se lo explicara. Perfectamente, una cosa tan sencilla no iba a tener problema en explicárselo. Sin embargo, me puse a contárselo y no me salían las palabras exactas… ¿Habré hecho yo métodos virtuales en mi vida?, me preguntaba yo… unos cuantos miles… en fin…
  • Finalmente, al hilo de los comentarios en el código, unas cuantas razones de por qué los programadores no comentan su código, entre otras, porque “I’m the greatest programmer ever!”:)

Todo esto se puede adornar añadiendo cuestiones como las pruebas unitarias, etc. Todo se andará.

Fisionomía de un creyente

Filed under: General, español, crítica/critics, blogging — Diego Sevilla @ 1:03 — In English

De lo mejor que he leído últimamente, «Destino de Iscariote», conocido blog de Planet Murcia, presenta una fisionomía de los creyentes en su entrada «Apología de la blasfemia: un nuevo enfoque»:

Los creyentes, como todo parece indicar, creen. A pesar de la vasta cantidad de cosas en las que creer, los creyentes se decantan casi unánimemente por amigos imaginarios, seres superiores intangibles e inaprensibles que dirigen el Cosmos y, por ende, la vida humana. Algunos de ellos incluso gustan proclamarlos miembros de su familia, y los conciben como padres, madres o hermanos. Otros los prefieren en versión consciencia de la naturaleza, o incluso señores de la guerra interestelar.

Continúa…

[…] Al principio se te escapa una risa floja. Je, je, cómo no voy a poder cagarme en dios. Si se te ocurre tener ese desliz en presencia de un creyente, la intensidad de su mirada te convencerá de que en efecto habla en serio. Sal del shock.

Salpicado de consejos esporádicos:

Esto, que evidentemente es una gilipollez, puede resultar muy útil cuando se debate con creyentes. Porque está escrito en su mismo lenguaje, en unos términos que pueden entender perfectamente (cuidado: si dices amigo imaginario y no dios pueden enfadarse) […]

En fin, que no sé si reirme o llorar… Me parece muy bueno el texto, pero precisamente esta semana tuve una discusión con un par de amigos míos y fue más o menos en estos términos… No sé de dónde han salido tantos creyentes en Murcia…

Práctica de la programación

Filed under: General, español, blogging, código/code — Diego Sevilla @ 0:43 — In English

Reconozco que nunca lo había pensado. Para programar bien, igual que con cualquier otro arte, hay que practicar. He encontrado este artículo, que me ha parecido muy interesante: Practicing Programming. El artículo incluye también trucos o indicaciones de qué practicar y cómo. Algunos de los consejos no me cuadran mucho porque se refieren a cómo realizar entrevistas a programadores, que también es un tópico interesante, pero a mí no me interesa tanto.

En un momento dado, compara el ser contratado por una u otra empresa de informática como programador a estar jugando en una liga de fútbol americano (NFL). ¿Es importante que el jugador (programador) esté bien entrenado?

[…] is it good enough for him to be in good shape? Hardly. Maybe it’s sufficient for a position on a high-school junior-varsity team, but Amazon’s supposed to be more like the NFL than high school J.V., isn’t it? I think so.

O dicho de otro modo. Si queremos terminar en una empresa seria, o aspirar a lo máximo, hay que tener al día nuestra práctica.

Al hilo de esto, y gracias a los comentarios, he encontrado también un sitio dedicado a esa práctica de la programación, llamado «CodeKata» (al estilo de las tablas de artes marciales), y un artículo interesantísimo que critica y es contrapuesto a los típicos títulos «Aprenda XXX en 24 horas», o en pocos días, para el caso. El artículo, «Teach Yourself Programming in Ten Years», también en español, muestra que hay estudios que demuestran que para obtener una destreza suficiente en una disciplina hacen falta unos diez años. Esto me ha recordado también a una magnífica charla que dio Michi Henning por el 2004 sobre las falacias de la computación, que siempre estará al día… (aquí con comentarios).

1/4/2009

Web design trends for 2009

Filed under: General, english, español, blogging — Diego Sevilla @ 8:14 — In English

Me ha resultado interesante.

21/3/2009

Ext4

Filed under: General, español, free software/software libre — Diego Sevilla @ 1:54 — In English

El nuevo núcleo 2.6.28 que trae el Ubuntu Jaunty (disponible también en versiones nightly) permite montar sistemas de ficheros ext4 con la ventaja de los conocidos “extents”. Esta característica mejora la gestión de nodos-i del sistema de ficheros, intentando, por un lado, agrupar al máximo los bloques de un fichero en bloques consecutivos (lo cual también mejora el desempeño del disco), y, por otro, reducir el tamaño de los nodos-i y descriptores de bloques de ficheros usando una sintaxis del estilo: empieza en el bloque X y posee Y bloques consecutivos (parecido a la codificación de matrices sparse, que al fin y al cabo son lo que son los ficheros…), lo que ofrece una especificación mucho más compacta de los metadatos del fichero.

Aunque hay algunos tutoriales de cómo hacer el cambio de ext3 a ext4, siempre da algún tipo de quebradero de cabeza. Contaré más o menos cómo lo he hecho y qué problemas he tenido, para hacer más fácil la conversión.

Normalmente la conversión funciona sin problemas. Ext4 es compatible con ext3 en casi todos los aspectos, salvo en el “extents”, precisamente. Así que una vez establecida esta capacidad, el sistema ya no se puede leer normalmente como ext2 ó ext3. Otra característica de la implementación tal y como está ahora es que el “paso” a extents no se hace automáticamente para todos los ficheros, sino que sólo sucede cuando se crea un nuevo fichero. En siguientes versiones del núcleo se dispondrá de un demonio que irá pasando paulatinamente todos los ficheros al formato extents en segundo plano.

Teniendo un núcleo 2.6.28 bien configurado, se puede pasar a convertir a ext4. Para ello, según dictan los tutoriales, hay que, una vez desmontado el sistema de ficheros (o montado como sólo lectura), ejecutar lo siguiente:

tune2fs -O extents,uninit_bg,dir_index dispositivo/partición

Las otras opciones ayudan a que fsck sea más rápido en su ejecución y a que los directorios estén indexados con árboles B. A continuación hay que ejecutar fsck obligatoriamente para adaptar el sistema de ficheros:

fsck -pf dispositivo/partición

(la opción -p arregla todos los inconvenientes encontrados, es decir, realiza la actualización). Muestra algunas indicaciones de que reconstruye ciertos índices internos. Estos mensajes son normales.

Después, es importante, antes de reiniciar, tener en cuenta modificar el fichero /etc/fstab para indicar el tipo de los ficheros.

El gestor de arranque también es importante. Tanto grub (versión >= 0.97) como grub2 aceptan ext4 con extents. Ahora bien, al menos en grub, es importante tener actualizadas las diferentes etapas de arranque. En mi caso, por ejemplo, he tenido problemas porque las distintas etapas correspondían a una versión de grub que no soportaba extents, y el sistema no arrancaba. Así, como root hay que instalar (por si acaso) la última versión de grub en el sector de arranque (o el MBR, dependiendo de la instalación) del disco de arranque:

/usr/sbin/grub-install dispositivo

(en mi caso, el dispositivo era /dev/sdb, aunque normalmente suele ser /dev/sda en una instalación normal).

El resultado, después del arranque, en mi caso:

$ mount
/dev/sdb4 on / type ext4 (rw,relatime,errors=remount-ro)
/dev/sdb3 on /home type ext4 (rw,relatime)

Como se ha dicho, el paso a extents no es automático, y se debe hacer copiando los ficheros (no moviéndolos), o con rsync o tar entre directorios, entre otros mecanismos de sobra conocidos. Para comprobar el estado de algún fichero, se puede hacer lo siguiente:

$ sudo filefrag yo.jpg
yo.jpg: 28 extents found, perfection would be 1 extent

Conforme el sistema se llena, es más difícil alcanzar la perfección… pero se puede uno acercar :) . Por ejemplo:

$ mv yo.jpg 0yo.jpg
$ cp 0yo.jpg yo.jpg
$ rm 0yo.jpg
$ sudo filefrag yo.jpg
yo.jpg: 1 extent found

En este caso ha habido suerte.

¿El resultado? Al menos en mi caso, y de forma subjetiva, el sistema va mucho más suelto en los accesos a disco, incluso sin pasar muchos ficheros a extents. Ext4 lleva mejoras internas de la implementación que hacen más rápido el acceso, y los extents también mejorarán, porque todos los ficheros creados a partir de ese momento utilizan ese mecanismo.

10/3/2009

identi.ca

Filed under: General, english, español, blogging, código/code, free software/software libre — Diego Sevilla @ 1:18 — In English

Me he registrado en identi.ca (http://identi.ca/dsevilla) porque me ha gustado más la filosofía, al menos más libre que twitter. Además, el sitio parece estar más orientado a programadores: GNU emacs, debian, etc.

More C++ idioms wikibook

Filed under: General, english, español, código/code — Diego Sevilla @ 1:02 — In English

Gran referencia de patrones de código de C++ en un Wikibook.

« Previous PageNext Page »

Creative Commons License
This work is licensed under a Creative Commons License.
EWWV  AWStats  Site Meter 24 queries. 0.127 seconds. Powered by WordPress
406021 email messages processed in this box. 10858 were spam

0