La ética hacker y el espíritu de la era de la información

21 07 2008

Este es un E-Book que lei hace más de un año, habla sobre las conductas y la ética seguida por los hackers reales.

El libro es interesante, menciona varias puntos llamativos, como la relación de la utilización del tiempo con el dinero y el uso del dinero como motivación.

Habla como Linus Torvalds no escribió el kernel de linux en un horario de oficina, si no que trabajaba pausadamente porque ocupaba el día para cosas más importantes (como jugar con la pc :) )

En resumen es una lectura interesante (o eso me pareció a mi xD) , y por si alguien penso que es un libro para hackers, pues la verdad no, simplemente es una forma de entender el funcionamiento de estas mentes y de la cual se pueden aprender bastantes cosas que incluso pueden servir como guías para algunos aspectos de la vida.

/* Como el de trabajar a su propio ritmo, jaja eso es lo que hago yo y la verdad que los resultados no son tan malos. (si se puede equilibrar el ocio con el trabajo) :D */

El contenido:

Prefacio
Prólogo; ¿Por qué el hacker es como es? La ley de Linus, por Linus Torvalds

PRIMERA PARTE: LA ÉTICA DEL TRABAJO

Capítulo 1. La ética hacker del trabajo
Capítulo 2. ¿El tiempo es dinero?

SEGUNDA PARTE : LA ÉTICA DEL DINERO

Capítulo 3. El dinero como motivación
Capítulo 4. La academia y el monasterio

TERCERA PARTE : LA NÉTICA O LA ÉTICA DE LA RED

Capítulo 5. De la netiqueta a la nética
Capítulo 6. El espíritu del informacionalismo

CONCLUSIÓN

Capítulo 7. Descanso

Epílogo: Informacionalismo y la sociedad red, por Manuel Castells
Apéndice: Breve historia del hackerismo en informática

Notas
Bibliografía
Agradecimientos

Pekka Himanen
Linus Torvalds
Manuel Castells

Pekka Himanen | Prólogo de Linus Torvalds | Epílogo de Manuel Castells

También viene la letra de la canción del software libre xD :D

Únete a nosotros, comparte el software;
libérate, hacker, libérate.
Únete a nosotros, comparte el software;
libérate, hacker, libérate.
Los avaros amasan mucho dinero;
pues qué bien, hacker, pues qué bien.
Pero no ayudan a su prójimo;
y no puede ser, hacker, no puede ser.
Cuando tengamos bastante software libre
en nuestro poder, hacker, en nuestro pod

esas necias licencias las tiraremos,
lo vas a ver, hacker, lo vas a ver.
Únete a nosotros, comparte el software;
libérate, hacker, libérate.
Únete a nosotros, comparte el software;
libérate, hacker, libérate.

El vídeo:

[youtube]http://www.youtube.com/watch?v=xSkCny-HtTw[/youtube]

/* Como que ya me estoy saliendo del tema pero no importa :) */

Bastante entretenida..

Esa me acordo a esta otra:

[youtube]http://www.youtube.com/watch?v=YvmDwE4YXIU[/youtube]

jaja, voy a comenzar a visitar otra vez los canales IRC, ultimamente deje de entrar a los que frecuentaba.

Ese ha hecho varios vídeos, casi todos relacionados con la informática, pueden ver lo vídeos en youtube

y esa canción me acordo de esta otra xD :

[youtube]http://www.youtube.com/watch?v=9Iozx-6XymE[/youtube]

Más!, dame C++!, quiero programar con vosss!

La canción es pegajosa pero…

/* yo os maldigo pilas, colas y listas dinámicas */

Y bueno ya estoy llegando al fin del post, no saben lo difícil que ha sido escribir la entrada por culpa de mi mouse xD, cuando vayan a comprar uno asegúrense que no sea marca AOpen, hace como una semana que lo consegui y hoy de la nada se puso hipersencible :?

El culpable:

Desgracia de mouse..

Con todo esto y ni estava poniendo el link para descargar el E-Book, aquí esta el link:

[Descargar de MU]

Y solamente, hasta otra entrada :D





Empaquetando y creando nuestros .deb

17 07 2008

Ya tenia un tiempo sin actualizar esto, pero en recompensa ahora traigo un tuto sobre la empaquetacion y creación de los .deb :D

Disfrutenlo, luego voy a poner otra entrada tocando otros temas xD

***********

Ya desde hace días quería preparar este tutorial, pero tenia un problema con unas dependencias en mi debian y no me dejaba instalar algunas de las herramientas necesarias para trabajar, hasta el día de hoy fue que arregle todo.

Comencemos:

¿Que es un paquete .deb?

Cita Wikipedia:

deb es la extensión del formato de paquetes de software de Debian, y el nombre más usado para dichos paquetes. Como Debian, su nombre proviene de Deborah Murdock, esposa del fundador Ian Murdock.

El programa predeterminado para manejar estos paquetes es dpkg, generalmente via el sistema APT.

Los paquetes deb también pueden ser convertidos a otros formatos de paquetes y viceversa usando la aplicación Alien.

¿Como se empaqueta y para qué?

La utilidad de empaquetar es ahorrarle al usuario final el trabajo de compilación e instalación, haciendo todo eso de una manera mucho más eficaz con la única condición de tener instaladas en el sistema las dependencias del binario.

P.e es mucho más practico para un usuario novato correr la siguiente linea:

dpkg -i nombre.deb

Que bajar los archivos fuentes, instalar las herramientas de compilación, depurar errores, cumplir las exigencias del código y mover todo a sus respectivos directorios.

¿Como hacerlo?

Lo primero y obvio es tener las fuentes del programa que deseamos empaquetar.

En mi caso yo he elegido los drivers para mi cámara (gspca) que actualmente solo estan disponibles las fuentes en un .tar.gz

¿Que se necesita?

/* Las siguientes herramientas instalarlas usando aptitude o apt-get */

build-essential
dh-make
devscripts
fakeroot

En caso de que vayamos a crear paquetes oficiales:

patch
diff
patchutils

Una vez que ya tengamos las herramientas instaladas podemos ir a lo bueno.

Como dije antes yo voy a empaquetar el driver de mi cámara, primero descargar las fuentes de nuestra distribución para evitar problemas a la hora de instalar el driver ya empaquetado.

Descarga:

http://mxhaard.free.fr/download.html

Como el tutorial es de debian, obviamente baje las fuentes para mi distribución:

http://ftp.de.debian.org/debian/pool/main/g/gspca/gspca_01.00.20-1.tar.gz

Una vez descargado el fichero, lo descomprimo y se me crea un directorio con este nombre:

gspca-01.00.20

/* Para descomprimir el comando es: tar -xzvf nombre.tar.gz */

Una vez creado el directorio me muevo a el, y ahi dentro corro la siguiente linea:

dh_make -e fclyoko@gmail.com -s

/* la -s viene de single, y el -e es para agregar el mail de manteiner a la documentación */

Una vez corrido el comando tenemos una lista con las especificaciones del paquete, simplemente doy enter para aceptarlas.

Con esto ya tenemos ganado bastante terreno en el proceso de empaquetado, ahora tenemos un nuevo directorio de nombre debian dentro de el hay una serie de ficheros que se encargan de dar las ordenes a la hora de instalarse, también su respectiva documentación (p.e el changelog y copyright), antes de dar el paso final y empaquetar tenemos que comprobar que tenemos las dependencias que requiere el programa ya instaladas en nuestro sistema.

Simplemente abrir el archivo control y comprobar cuales son y si ya estan instaladas.

En este caso son estas:

Depends: debhelper (>= 5.0.37), module-assistant, bzip2

Si ya estan instaladas podemos dar el paso final:

debuild -us -uc

Esto se va a encargar de compilar y construir todas las reglas de instalación del paquete. Si no hay errores en el directorio padre tendríamos que tener un nuevo fichero de nombre:

gspca-source_01.00.20-1_all.deb

Si!, ya esta empaquetado! ahora se puede instalar sin mayores problemas con el comando dpkg -i

/* dpkg -i gspca-source_01.00.20-1_all.deb */

Ahora tenemos un bonito fichero .deb en lugar de las fuentes en tar.gz, podemos distribuirlo como queramos.

// SEGUNDA PARTE

Con lo anterior ya podemos empaquetar, ahora viene algo mejor todavía, crear nuestro propio programa y empaquetarlo también en un .deb

Lo que voy a hacer va a ser algo fácil y con un método que se conoce como Sucio  por ser bastante rustico xD.

Lo primero es crear un directorio con este formato

programa-versión

/* Asi lo pide el canon de debian, p.e: lko-1.0 */

una vez creado el directorio lko-1.0 nos movemos ahi y ahi dentro creamos otro directorio de nombre usr nos movemos a el y creamos otro ahi dentro con el nombre bin ahi dentro es donde vamos a colocar el programa :) .

lo primero es crearlo en la terminal:

cat > lko.c

Editamos el archivo con cualquier editor y le ponemos las lineas de código del programa.

Como solo es un ejemplo, voy a hacer un script que muestre la url de mi blog al correr el comando lko en la terminal:

el código debe ser asi:

#include <stdio.h>

main() {

printf(“\n\n\t http://www.lyoko.sv.tc \n\n”);
return 0;

}

Lo compilamos asi en caso de que se llame lko.c

gcc lko.c -o lko

Con eso ya se genero un binario de nombre lko y podemos borrar el otro fichero de nombre lko.c

Una vez terminado esto salimos de esos dos directorios

/* cd ../../ */

Y deberíamos estar dentro del primer directorio que creamos (lko-1.0) ahi creamos uno nuevo y de nombre le ponemos DEBIAN nos movemos a el y creamos un archivo de nombre control , este lo llenamos con los siguientes datos:

Package: nombredel paquete
Version: numero de la version
Architecture: tipodearquitectura
Maintainer: el encargado de mantenerlo
Description: una corta descripcion

/* en caso de querer el paquete para todas las arquitecturas poner la palabra all, p.e:

Architecture: all

*/

Una vez creado el archivo control salimos al directorio padre (justo afuera de lko-1.0)

Y solo corremos este comando:

dpkg-deb -b lko-1.0

Si todo sale bien se debe crear un nuevo archivo de nombre lko-1.0.deb :)

El script esta listo para instalarse:

dpkg -i lko-1.0.deb

Ya instalado lo podemos probar escribiendo en la terminal el comando lko debería salir la url de la pagina con alguna tabulación :D

Y eso fue todo.. Comentarios, dudas, correcciones son bien recibidas

/* Esto fue para empaquetar, hay otro método que lo que hace es debianizar las fuentes de los programas, osea modificarlas para que sean instalables con el dpkg, si quieren saber sobre este lean la entrada en la wikipedia:

http://es.wikipedia.org/wiki/Deb

Sin embargo esto necesita un poco más de conocimiento ya que seria necesario editar algunos ficheros para su correcta adaptación a debian o similares */

Referencias:

http://www.debian.org/doc/manuals/reference/ch-program.en.html
http://www.elrincondetolito.com/content/view/59/31/
http://www.wikipedia.org

Autor:
Lyoko (fclyoko@gmail.com)
www.lyoko.sv.tc

Notas finales:

La mayoría de tutoriales y tips que escribo siempre van a ser publicadas en mi blog :)