Cypherpunks: Freedom and the Future of the Internet

Por recomendación de Ghostbar empece a leer este libro, pues siempre me ha llamado la atención el mundo cypherpunk y al ver que Julian Assange era uno de los autores me animé aún mas.

El contenido del libro no es una historia o resumen de esta cultura, sino mas bien sobre la problemática mundial, de la violación de la privacidad de los ciudadanos por parte de sus gobiernos, y como la comunidad cypherpunk ha ayudado a enfrentar el problema. La forma de exponer esto, es a través de una serie de debates (no sé si hay un tipo de nombre para este tipo de narrativa) entre distintos miembros de Wikileaks, comentan su opinión del tema y muchas veces cuentan experiencias propias, las cuales ayudan a comprender que muchas cosas mencionadas, no son ciencia ficción sino ya ocurren actualmente en distintas partes del mundo.

De los temas me gustaron, fue al principio del libro donde promueve el cifrado de datos y hace comparaciones con la naturaleza, como funcionan las tarjetas de crédito y como todo es procesado en EEUU permitiendo espiarte desde cualquier parte del mundo (ahora entiendo la paranoia de Richard Stallman), como Gaddafi compraba satélites espías a Francia para usarlo en sus ciudadanos, entre otros. Ademas, por la situación que estamos pasando en Venezuela, me identifiqué con algunos puntos.

Cypherpunks: Freedom and the Future of the Internet

Portada del libro

Si les llama la atención la criptografía, deseas conocer como los gobiernos espían a sus ciudadanos, deseas apoyar Juliar Assange, crees en la protección y privacidad de tus datos, no puedes dejar de leer este libro. Así que búscalo en tu tienda favorita.

La catedral y el bazar: Famoso ensayo sobre código abierto

A pesar de tener casi 10 años en el mundo del Software Libre, nunca había leído el ensayo escrito por el hacker Eric S. Raymond (quien por cierto vivió en Venezuela cuando era niño) en 1997. Esta publicación es famosa porque explicó por primera vez como es el proceso de desarrollo de software en un entorno colaborativo y además sirvió de inspiración para que Netscape liberara el código fuente de su navegador, creando Mozilla Browser que luego se transformaría en Mozilla Firefox.

El libro compara el desarrollo de software cerrado con la construcción de una Catedral: todo se planifica previamente, se diseña por completo la estructura antes de empezar, la cantidad de materiales utilizados, los empleados, entre otros. Por ello, si se desea hacer un cambio, en las primeras etapas es posible pero lleva a la pérdida de tiempo, se debe planificar todo de nuevo, por mencionar algunos. Mientras que un bazar por su naturaleza, empieza como algo sencillo, crece proporcionalmente a medida que tiene éxito, los empleados están allí voluntariamente a diferencia de la catedral que pueden estar solo por el pago, etc.

Portada del ensayo

Portada del ensayo

Además usa como ejemplos el desarrollo de Linux y su proyecto personal, Fetchmail un cliente de correo, para brindar bases a lo que explica. Al leer estos ejemplos, recordé mucho mi experiencia con mis proyectos de software libre y el video que compartí aquí en el blog sobre lo que la industría de la tecnología ha aprendido de Linus Torvalds. Pues explica como en un desarrollo de un proyecto de código abierto la comunicación es mas abierta, la gente colabora/trabaja voluntariamente en el proyecto (tendiendo a ser mas productivos que en el esquema cerrado al no estar obligados a hacer cosas), el proyecto va creciendo de acuerdo a las sugerencias de los usuarios (en los proyectos cerrados el mayor interés es el económico, no la calidad o brindarle al usuario lo que desea), se obtienen código de mayor calidad al ser posible su revisión pública por parte de cualquier persona, y mas.

No les cuento mucho porque el libro es corto, recomiendo leerlo si son fanáticos del software de código abierto o libre, si desean crear o participar en un proyecto abierto, si no conocen de este mundo y desean tener las bases iniciales, o si piensan que el modelo de desarrollo usado por estos proyectos es de mala calidad o no es posible tener ganancias.

El libro se encuentra distribuido libremente en Internet. A continuación les dejo el enlace para leerlo en español: La catedral y el bazar, pero recomendaría leerlo en inglés, porque he leído sobre algunos problemas de traducción y términos usados.

¡Espero que les guste y sigan apoyando las tecnologías abiertas!

Understanding the Linux Kernel: Entiende como funciona Linux o un sistema operativo

Desde aproximadamente un año, estoy dictando la materia de Sistemas Operativos en la Universidad Nacional Experimental del Tachira (UNET) y buscando como explicar el contenido prográmatico con el núcleo Linux, conseguí una recomendación de leer Understanting the Linux Kernel de O’Reilly, acto seguido, adquirí la versión digital y me puse a leerlo.

En mi opinión el libro se divide en dos partes, una sección introductoria donde explica toda la teoría de como funcionan los Sistemas Operativos, aquí veremos como es el arranque del sistema, el manejo de: procesos, memoria, dispositivos de entrada y salida; pero con gran nivel técnico y muchos ejemplos superficiales de como son implementados en Linux. Me pareció interesante porque a diferencia de otros libros de Sistemas Operativos, el contenido está dirigido a profesionales y no a estudiantes, por ello, si desconoces estos temas es mejor leer un libro académico antes de leer esta sección.

La siguiente parte (como el 75% restante del libro), deja de ser teoría general y se adentra en como Linux implementa cada una las cosas explicadas en la sección anterior, aquí leeremos sobre los algoritmos disponibles en Linux para manejo de procesadores, memoria y dispositivos de E/S. A partir de aquí el contenido se dirige a personas interesadas en el diseño de Linux o futuros colaboradores del núcleo, pues veremos secciones de código (no muchas), las diferentes estructuras y variables disponibles para utilizar cuando se desarrolla, ell autor explica muy bien a través de tablas, cada una de las estructuras disponibles con sus correspondientes atributos, los ejemplos son muy sencillos y cortos (bueno la naturaleza de un sistema operativo es así) sin rellenar con otras cosas y los conceptos pueden ser sencillos o muy complejos dependiendo de tu dominio del tema.

Understanding the Linux Kernel

Portada del libro

Este libro lo recomiendo si deseas empezar a modificar (fork) el núcleo de Linux, Firefox OS o Android, si te interesa como funciona el núcleo Linux con mucho detalle pero sin la complejidad que se suele conseguir en otras fuentes, si deseas conocer con mayor profundidad como son los sistemas operativos o eres curioso. Eso si, si no tienes bases en el área evita leer este libro, pues te costará entenderlo y no le sacarás provecho al libro.

 Así que consigue este libro y comienza a estudiar sobre Linux (literalmente).

Clean Code: Libro para desarrolladores

Hace unos meses terminé de leer Clean Code, un libro recomendado en un artículo de Mundo Geek titulado 10 libros míticos sobre programación que todo desarrollador debería leer.  se enfoca hacia el programador y no al resto de tareas, por lo que si no son desarrolladores este libro no es para ustedes.

De hecho, al principio advierte sobre el uso de ejemplos usando porciones de código: recomiendan leerlos con calma hasta entenderlo correctamente, comparar modificaciones realizadas con el original y otros. Por mi  parte, me pareció muy interesante pues uno aprende a reconocer fácilmente errores cometidos y ver como se deberían hacer, además los ejemplos suelen estar en varios lenguajes de programación entendibles por cualquier profesional, pero si no te gusta programar este libro no es para ti.

El libro está divido en capítulos, en cada uno de ellos, se habla de un tema en específico como funciones, comentarios, objetos y estructuras, entre otros. Por ejemplo, el de comentarios (uno de los que mas me gustó) expresa como se debe documentar el código, casos en los que no es necesario, métodos, uso de Javadoc, ejemplos de malos comentarios y mas.  El de funciones explica los casos en que se deben crear funciones, como nombrarlas, casos en los que deben crearse funciones y mas. En otras palabras, solo se habla de un tema y se explica todo lo que se puede de él, al pasar a un nuevo capítulo se repite el mismo proceso para el nuevo concepto.

 

Portada de Clean Code

Portada de Clean Code

Un aspecto interesante, es como el autor logra explicar muchos conceptos de desarrollo de software o programación usando ejemplos de la vida cotidiana, por ejemplo, analogías de mantenimiento de la limpieza / mantenimiento de ventanas de un edificio con el mantenimiento de un sistema. Así que no deben ser unos estudiados en el tema para entenderlos, cualquier persona con una vida normal los entenderán (tal vez existan programadores que no han visitado un taller o han visto un edificio).

Es un buen libro, no me pareció muy bueno como Code Complete o The Pragmatic Programmer, pero se los recomiendo si son programadores, aprenderán nuevas técnicas, formas de escribir mejor código y mas. También al igual que con otros libros mencionados en este blog, opino que todo profesional debe leerlos cuanto antes para mejorar su forma de escribir código.

Hace 2 años en esa fecha: Doom Live Wallpaper

Ghost in the Wires: Las historias de hacking de Kevin Mitnick

Si has estado en el mundo de la seguridad informática seguro conoces a Kevin Mitnick, si no, te recomiendo leer sobre el hacker mas famoso de todos los tiempos por ser el primero en aparecer en la lista de los 10 mas buscados del FBI.

Su libro “Ghost in the Wires” narra, toda sus actividades de hacking desde los inicios hasta que se cambió al bando de la seguridad informática. Lo interesante de esta historia, es el hacking en la era pre-internet (como la conocemos) pues narra y explica sus hacks (o phreaks) a las líneas telefónicas, como logró tomar poder se de switches, hacer llamadas a donde quisiera, clonar líneas telefónicas, entre otros. Para la gente de nuestra generación que conoce el hacking sólo a través de Internet, les gustará conocer el pasado de como se hacía todo esto a través de las líneas telefónicas.

Ghost in the wires

Portada del libro

La narración me parece normal, el libro se pone interesante dependiendo del tema que se esta leyendo, hay partes aburridas pero otras buenas, podemos decir que tiene sus altos y altibajos. Para los amantes de la ingeniería social, les gustará ver como Mitnick lograba engañar a las personas y tener control sobre ellas para pedir cualquier tipo de información interna, logrando ahorrarse gran parte de encontrar vulnerabilidades en los servidores, para los phreakers encontrarán mucha información sobre como se hacían los ataques a las líneas telefónicas y para los hackers pues como estudiaba la infraestructura de la empresa para encontrar una vulnerabilidad y aprovecharla.

Al final de leer el libro, aprenderán como en la vida se tiene altos y bajos, como él para llegar a la fama y reputación actual pasó por muchas situaciones difíciles y el castigo que se aplica a los crackers. También una vez conocida la historia, al ver la película “Operation Takedown” de nuevo, se darán cuenta que no se acerca a la vida real todo es una historia paralela creada por  Tsutomu Shimomura.

Realmente les recomiendo leer este libro si son fanáticos de Kevin Mitnick, del hacking y de la ingeniería social. La versión física incluye unas fotos de Kevin, Lewis y Eric. De resto no le veo ninguna diferencia con respecto a la versión digital.