Enlace en una tienda web (no está disponible en Amazon): abebooks.com
El ISBN del libro es: 84-487-0636-6
Este libro narra la historia de las cruzadas (1096-1291) basándose en los testimonios y descripciones de historiadores árabes. Ha sido muy interesante conocer esta parte de la historia prácticamente ignorada en las clases de Historia de todos los niveles de enseñanza desde la primaria hasta el pre.
Aún lo estoy leyendo.
domingo, 14 de septiembre de 2008
jueves, 31 de julio de 2008
"Applying Domain-Driven Design and Patterns" de Jimmy Nilsson
Enlace en Amazon
Me lo estoy leyendo en estos momentos, y parece muy prometedor. En las primeras páginas ya me ha dado seguridad en muchas de las cosas que he estado implementando con DDD, me ha aclarado dudas.
Algo que me parece muy importante es que el autor explica su proceso de pensamiento, lo que creo que es la mejor manera de enseñar a alguien.
Actualización:
- No propone una arquitectura definitiva.
- Se muestran varias soluciones a los problemas y me ha servido para ver que otros arquitectos y desarrolladores se encuentran con las mismas dificultades, y que las soluciones a las que llegan son similares.
- Tengo que estudiar con más profundidad el patrón de "Domain Rules" que se comenta. Parece muy útil para resolver el problema de reutilizar las reglas de negocio en varias capas.
Me lo estoy leyendo en estos momentos, y parece muy prometedor. En las primeras páginas ya me ha dado seguridad en muchas de las cosas que he estado implementando con DDD, me ha aclarado dudas.
Algo que me parece muy importante es que el autor explica su proceso de pensamiento, lo que creo que es la mejor manera de enseñar a alguien.
Actualización:
- No propone una arquitectura definitiva.
- Se muestran varias soluciones a los problemas y me ha servido para ver que otros arquitectos y desarrolladores se encuentran con las mismas dificultades, y que las soluciones a las que llegan son similares.
- Tengo que estudiar con más profundidad el patrón de "Domain Rules" que se comenta. Parece muy útil para resolver el problema de reutilizar las reglas de negocio en varias capas.
jueves, 10 de julio de 2008
"Domain Driven Design: Tackling complexity in the heart of software" de Eric Evans
Enlace en Amazon
Trascendental. Aclara y guía en muchos aspectos de la construcción de software en los que habían demasiados agujeros.
Tengo que extenderme más en este post, el libro es realmente importante y me gustaría resumirlo aquí como un ejercicio individual de comprensión.
Trascendental. Aclara y guía en muchos aspectos de la construcción de software en los que habían demasiados agujeros.
Tengo que extenderme más en este post, el libro es realmente importante y me gustaría resumirlo aquí como un ejercicio individual de comprensión.
lunes, 19 de mayo de 2008
"The inmates are running the asylum" de Alan Cooper
Enlace en Amazon
El libro trata sobre la mala calidad de la interacción entre humanos y tecnología en general partiendo de la base de que "tecnología" significa computadoras (ordenadores).
Me lo estoy leyendo en este momento...
El libro trata sobre la mala calidad de la interacción entre humanos y tecnología en general partiendo de la base de que "tecnología" significa computadoras (ordenadores).
Me lo estoy leyendo en este momento...
"1984" de George Orwells
Enlace en Amazon
Excelente continuación de Animal Farm. Se adentra un poco más en la motivación y los mecanismos utilizados por aquellos que están en el lado del poder, los que saben lo que está pasando.
No comparto la opinión de que haya tanto desconocimiento entre los que gobiernan y que lo hagan sólo porque crean que hacen lo correcto, pero sí de que el objetivo primordial es mantenerse en el poder.
Me encanta el análisis de la historia de la humanidad hecho. No es históricamente estricto y no es aplicable en general, pero da muchísimo en qué pensar. No soy historiador ni filósofo ni leo demasiado sobre esos temas así que pudiera ser que haya puntos de vista y análisis más interesantes y estrictos sobre lo mismo, pero no los conozco.
El hecho de que se defina que siempre han habido 3 clases: poderosos, sirvientes y manipulados, y no sólo 2 como me habían enseñado tan bien: explotados y explotadores, ha sido toda una revelación para mi, como también lo es la forma en que esas 3 clases interactúan y sobre todo, la forma en que los manipulados no cambian nunca y que siempre son los que peor viven, quizás merecidamente.
Excelente continuación de Animal Farm. Se adentra un poco más en la motivación y los mecanismos utilizados por aquellos que están en el lado del poder, los que saben lo que está pasando.
No comparto la opinión de que haya tanto desconocimiento entre los que gobiernan y que lo hagan sólo porque crean que hacen lo correcto, pero sí de que el objetivo primordial es mantenerse en el poder.
Me encanta el análisis de la historia de la humanidad hecho. No es históricamente estricto y no es aplicable en general, pero da muchísimo en qué pensar. No soy historiador ni filósofo ni leo demasiado sobre esos temas así que pudiera ser que haya puntos de vista y análisis más interesantes y estrictos sobre lo mismo, pero no los conozco.
El hecho de que se defina que siempre han habido 3 clases: poderosos, sirvientes y manipulados, y no sólo 2 como me habían enseñado tan bien: explotados y explotadores, ha sido toda una revelación para mi, como también lo es la forma en que esas 3 clases interactúan y sobre todo, la forma en que los manipulados no cambian nunca y que siempre son los que peor viven, quizás merecidamente.
"Refactoring: Improving the Design of Existing Code" de Martin Fowler
Enlace en Amazon
No puede compararse la importancia de este libro con "Patterns of Enterprise Application Architecture" pero aún así es un libro que me alegro de haber leído.
Siguiendo el estilo del autor, brinda muchos consejos basados en su experiencia sobre cómo debe afrontarse un proceso de refactorización, cómo valorar si vale la pena refactorizar y la importancia que tiene refactorizar el código sobre la marcha.
Yo me permito añadir a sus consideraciones que la refactorización es mucho menos importante cuando la calidad del código que se está generando no representa un valor añadido. Este es el caso de la mayoría de proyectos hechos por consultoras para clientes externos, al menos según el modelo que se utiliza en España.
En este tipo de proyectos, mi experiencia indica que los desarrolladores "rasos" deben limitarse a hacer refactorizaciones a nivel de métodos, y que sólo el arquitecto o alguien con una visión global de los objetivos de la aplicación y con un excelente juicio sobre el impacto en el proyecto deben acometer una refactorización más compleja.
Como regla general, las refactorizaciones deben estar orientadas a lograr una disminución de la complejidad del proyecto y a un adelanto de la fecha de terminación.
No puede compararse la importancia de este libro con "Patterns of Enterprise Application Architecture" pero aún así es un libro que me alegro de haber leído.
Siguiendo el estilo del autor, brinda muchos consejos basados en su experiencia sobre cómo debe afrontarse un proceso de refactorización, cómo valorar si vale la pena refactorizar y la importancia que tiene refactorizar el código sobre la marcha.
Yo me permito añadir a sus consideraciones que la refactorización es mucho menos importante cuando la calidad del código que se está generando no representa un valor añadido. Este es el caso de la mayoría de proyectos hechos por consultoras para clientes externos, al menos según el modelo que se utiliza en España.
En este tipo de proyectos, mi experiencia indica que los desarrolladores "rasos" deben limitarse a hacer refactorizaciones a nivel de métodos, y que sólo el arquitecto o alguien con una visión global de los objetivos de la aplicación y con un excelente juicio sobre el impacto en el proyecto deben acometer una refactorización más compleja.
Como regla general, las refactorizaciones deben estar orientadas a lograr una disminución de la complejidad del proyecto y a un adelanto de la fecha de terminación.
"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"
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.
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".
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.
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.
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.
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).
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).
"No Silver Bullet" by Frederick P. Brooks
No es un libro sino un artículo, un clásico en la literatura para informáticos.
Nota: hace 2 años que leí este artículo por lo que lo leeré de nuevo antes de hacer mi resumen. Esta será una de las cosas buenas de hacer este blog: repasar muchas de las cosas que ya he leído.
Siempre me ha impactado cuantas cosas nuevas aprecias en un texto CADA VEZ QUE LO LEES.
En fin, los comentarios sobre este artículos quedan diferidos hasta que lo lea, que debería ser hoy por la noche después de un poco de natación.
Nota: hace 2 años que leí este artículo por lo que lo leeré de nuevo antes de hacer mi resumen. Esta será una de las cosas buenas de hacer este blog: repasar muchas de las cosas que ya he leído.
Siempre me ha impactado cuantas cosas nuevas aprecias en un texto CADA VEZ QUE LO LEES.
En fin, los comentarios sobre este artículos quedan diferidos hasta que lo lea, que debería ser hoy por la noche después de un poco de natación.
Comenzando...
Primer post en este blog en el que pienso mantener una lista de todos los libros y artículos que he leído y que lea a partir de ahora. Será muy fácil (solo un ejercicio de voluntad) ir añadiendo las nuevas lecturas pero hacer historia tomará mas tiempo; aunque también lo haré.
Creo que esto será muy útil para mi mismo y para mi hermana que en gran parte por mi culpa es "cibernética" y a la cual me gustaría tener conmigo cada día.
Creo que esto será muy útil para mi mismo y para mi hermana que en gran parte por mi culpa es "cibernética" y a la cual me gustaría tener conmigo cada día.
Suscribirse a:
Entradas (Atom)