lunes, 19 de mayo de 2008

"Patterns of Enterprise Application Architecture" de Martin Fowler

Enlace en Amazon

Este libro lo compré hace cerca de 1 año en Amazon. Creo que es uno de los mejores libros que he leído sobre diseño y arquitectura de aplicaciones. El autor expresa en forma de patrones su experiencia en el desarrollo de aplicaciones en el mundo real, que según mis propias experiencias, dista muchísimo del académico.

Comentario en Amazon:

Desde que terminé mis estudios universitarios de informática y comencé a trabajar, me di cuenta de que las aplicaciones del mundo real son mucho más complejas que crear unas cuantas clases y una interfaz. Más sobre este problema aquí

Martin Fowler ataca los problemas más comunes a los que me había enfrentado y brinda soluciones. No son soluciones "abstractas" ni incompletas, sino que están expresadas en forma de patrones, y muy bien documentadas además.

Aunque diste de ser la solución definitiva a todos los problemas y de que no quede nada más por investigar y aprender después de leer este libro, debe ser un ejemplo para todos los demás autores.


El libro en sí es un resumen, así que no se puede resumir. Se ha convertido en mi libro de cabecera y de consulta, acompañado del sitio web del autor:

http://martinfowler.com/
http://martinfowler.com/books.html

y en particular su famosísima página de patrones:

http://martinfowler.com/articles/enterprisePatterns.html

Es un libro que deberían utilizar para la preparación de programadores para evitar este problema: Por qué no es lo mismo una aplicación "de escuela" que una aplicación "del mundo real"

jueves, 21 de febrero de 2008

Animal Farm (Rebelión en la Granja) de George Orwell

Enlace en Amazon

Nota personal: El autor no es H.G Wells, ni Orson Wells! Es George Orwell.

Este libro explica cómo una sociedad puede degenerar:

- fácilmente
- poco a poco
- incluso se podría decir que "lógica e inevitablemente"
- sin que haya ningún paso individualmente criticable
- sin que nadie imponga nada
- con el acuerdo e incluso con la ayuda de la gran mayoría

en un sistema social en el cual:

- unos pocos manipulan a todo el mundo, incluso hasta el punto de modificar la memoria colectiva
- la mayoría de la gente siente miedo de expresar lo que cree
- la mayoría de la gente se siente oprimida, pero no tiene argumentos ni hechos para demostrarlo
- no se aplica la violencia explícita, pero todo el mundo se siente violentado
- nadie siente que tiene la capacidad de hacer algo para que cambien las cosas

Desgraciadamente, la mayoría de mi familia y yo mismo hemos estado envueltos en una situación así, estando en el lado de los manipulados. Quizás por eso me ha sorprendido tanto la exactitud con la que se describe el proceso y también me he quedado con tantas ganas de que el autor intentara explicar, aunque fuera con mucha imaginación, cómo se vive el proceso desde el otro lado, desde el lado de los manipuladores.

miércoles, 16 de enero de 2008

"The Picture of Dorian Gray" by Oscar Wilde

Todo un clásico de la literatura. Por algún motivo me había hecho la idea de que ese libro era "gay", si es que un libro puede serlo; pero nada más lejos de la realidad. Es un libro asexual, jaja, y habla de muchísimas cosas, pero no de sexo ni inclinaciones sexuales. Sí que se expresa demasiada simpatía y dependencia entre las amistades masculinas, pero supongo que tiene más que ver con la época y sociedad en la que fue escrito que con las inclinaciones sexuales del autor.

El libro está muy bien, con todos los elementos necesarios para atraparte y está lleno de frases, deducciones y puntos de vista muy interesantes sobre la sociedad y la vida en sociedad. La mayoría siguen siendo válidas en la actualidad a pesar de todos los años que han pasado, y según mi punto de vista, seguirán siendo válidas hasta que la evolución cambie nuestros genes y estemos más "adaptados" biológicamente a los principios y a la moral que nos queremos imponer para ser "civilizados".

"A Man in Full" by Tom Wolfe

Un libro excelente para conocer detalles de la vida normal de un americano moderno. No la de las pelis sino una más cercana a la realidad.

El libro tiene una trama que te atrapa bastante, con suspense, acción y esas cosas que hacen que todos nos esforzamos por aparentar que no nos gustan por ser superficiales, pero que instintivamente nos interesan a todos.

- La zona de aparcamiento prohibido, al menos en el sur de los Estados Unidos, es roja.

- El salario de un alto ejecutive de un banco en Atlanta está alrededor de los 130,000 dólares anuales.

- La tasa anual de impuestos para ese rango salarial está alrededor del 30%.

- El alquiler de una casa "normalita" en las afueras de la ciudad cuesta unos 700 dólares al mes.

- La relación entre New York y Atlanta y otras ciudades del sur es como entre Ciudad de La Habana y Santiago de Cuba: los habaneros se creen mejores y los santiagueros se sienten acomplejados.

- Existe la xenofobia, el racismo, el clasismo, como en todas partes. Todos quieren sentirse mejores que alguien más, y por eso los negros se creen mejores que los inmigrantes, los blancos pobres mejores que los negros, los negros ricos mejores que los negros pobres, y así, todo el mundo busca un colectivo con respecto al cual sentirse superior.

lunes, 23 de julio de 2007

El profeta, de Khalil Gibran

Muy bonito. Increíble que haya sido escrito en el año 1901 por Khalil Gibrán, que nació en 1883.

Se puede leer una versión online
aquí

Debe haber mucho de nuestro pensamiento codificado genéticamente en nuestra especie para que cosas dichas hace tanto tiempo, con tantos cambios que hemos vivido, sigan teniendo tanta validez.

martes, 5 de junio de 2007

"Small Things Considered" by Henry Pretroski

Este libro no trata sobre ningún tema relacionado directamente con la informática o la programación sino con el diseño en general. Describe el proceso de diseñar algo y analiza ejemplos históricos de diseños satisfactorios y otros no tanto.

Me ha parecido que es demasiada lectura para aclarar tan sólo un par de conceptos y que el autor se repite demasiado. Sí que aporta una gran cantidad de información histórica y curiosa y ejemplifica ampliamente cada argumento expresado.

En resumen:
- Diseñar no es sólo establecer cómo luce un artículo, sino también cómo se utilizará, que función realizará, ergonomía, etc.
- Diseñar es complejo.
- El diseño de un producto para el mundo real está siempre limitado por la tecnología disponible y los costes de producción.
- Como norma general, las costumbres ya establecidas deben prevalecer al escoger aspectos del producto que se esté diseñando.
- "Copiar" diseños ya establecidos no es malo. Es peor forzar la diferencia, obteniendo muchas veces interfaces y funcionamientos incomprensibles para la gran mayoría de usuarios.

miércoles, 28 de marzo de 2007

"MapReduce", lo que hay detrás de Google

Artículo explicando la tecnología de paralelización que se encuentra detrás de Google.

Se encuentra online en:

La idea es GENIAL, y claro, muy sencilla (después que la lees). El gran impacto viene por la aplicación del principio de que los programas "funcionales", poco rigurosamente: "donde las variables nunca cambian de valor", son automáticamente paralelizable.

Los dos creadores de Google crearon un sistema operativo que implementa esta "paralelización automática de procesos" con lo cual lograron que aumentar el poder de precesamiento para cualquier tarea definida de acuerdo a su modelo (mas abajo) fuera virtualmente infinito y fácilmente aumentado añadiendo simplemente mas computadoras a la red de procesamiento.

El modelo Map-Reduce está inspirado en lenguajes de programacion funcionales, como Lisp. El programador proporciona una función map(string key, string value) y una función reduce(string key, List values). Ninguna de estas funciones hace cambios sobre sus argumentos (programación funcional).