Creando un instalador de Windows 7 desde tu telefono Android con Linux

microsoft_linux_windows-7_penguin

Como bien menciona el largo y absurdo titulo de esta entrada, recientemente recibí la pregunta de como crear un «disco de instalación» de Windows 7 para que funcione con DriveDroid, específicamente como hacerlo desde Linux. Dejo también como referencia un post donde explica la creación del disco desde Windows.

Para crear el instalador sera necesario tener lo siguiente:

  • Un teléfono Android rooteado y con DriveDroid instalado;
  • 4GB de espacio libres en el teléfono Android;
  • La imagen ISO de Windows a ser instalada;
  • Gparted con soporte a NTFS (USE flag ntfs en Gentoo).

Obteniendo una imagen ISO de Windows 7

Si se cuenta con el disco de instalación, basta con colocarlo en la unidad lectora de DVD, desmontar la imagen y suponiendo que nuestra unidad sea /dev/sr0 ejecutar en la terminal:

1
dd if=/dev/sr0 of=/tmp/cdimg1.iso

Si no se cuenta con el medio de instalación físico, desde hace tiempo Billy publica las imágenes de Windows desde los propios servidores de Microsoft. Basta con elegir la versión deseada y esperar un rato a que el archivo .iso esté listo (acá un listado completo de imágenes en varios idiomas). Aunque parezca obvio debo decir las imágenes son publicas, pero es necesario tener una licencia valida de Windows 7.

Creación de la imagen en DriveDroid

Una vez se tiene la imagen ISO es necesario crear una imagen en DriveDroid que sera utilizada para copiar los archivos desde la iso de Microsoft, primero procedemos a crear una imagen de al menos 3500 MB. Ademas de esto la imagen NO debe contener tabla de particiones MBR ni formato, estos se crearan posteriormente.

2014-06-04 21.13.322014-06-04 21.14.05

DriveDroid ejecutara la creación de la imagen como un proceso en background y el tiempo que esto demore dependerá de la velocidad del dispositivo.

2014-06-04 21.14.39

Una vez lista la imagen, la seleccionamos como de lectura y escritura (Writable USB), en este punto aun no se mostrara como unidad en Linux porque carece de formato.
2014-06-04 21.18.15

Dando formato a la imagen de DriveDroid

Una vez listo el dispositivo en DriveDroid, se procede a abrir Gparted donde el ultimo dispositivo en el listado debería corresponder a la recién creada imagen:

-dev-sdd - GParted_001

Ahora bien se procede a crear la tabla de particiones MBR en formato ms-dos:

-dev-sdd - GParted_002
Una vez creada la tabla, procedemos a crear una partición primaria en formato NTFS y activamos la bandera boot, esto ultimo es importante ya que el instalador no funciona con FAT/FAT32 o cualquier otro sistema de archivos.

Create new Partition_003

Manage flags on -dev-sdd1_004

Aplicamos los cambios y si todo sale bien al desconectar y conectar nuevamente el teléfono el sistema debería reconocer un nuevo dispositivo de almacenamiento:
16363A832ED2E280_005

Copiando los archivos de instalación

Una vez que el dispositivo de instalación esta listo, procedemos a montar la imagen iso con los archivos de Windows, desde una terminal esto se logra ejecutando un comando similar al siguiente:

1
mount -o loop /home/tuxtor/Downloads/es_windows_7_ultimate_with_sp1_x86_dvd_619134.iso /media/cdrom

Una vez montado debería ser posible ver el contenido de la imagen ISO y copiar los archivos hacia el dispositivo que creamos en DriveDroid (un simple copiar y pegar desde el explorador de archivos es suficiente).

cdrom_006

Instalando Windows 7

Al terminar la copia de los archivos, se procede a reiniciar el computador desde el dispositivo USB, las instrucciones correctas dependen de cada PC. En este punto también es recomendable configurar DriveDroid en modo solo lectura y si todo sale bien el resultado debería ser este:2014-06-04 21.08.39

Como nota adicional un error común con este método es que el instalador no reconoce el dispositivo como un medio de instalación, como en la siguiente imagen:

2014-06-04 15.36.30

Si este fuera el caso, basta con regresar a la pagina inicial de instalación, desconectar el teléfono y conectarlo en un puerto diferente, y listo a instalar el mejor sistema operativo para juegos que existe hasta hoy :).

Creando un curriculum con Markdown, pandoc y wkhtmltopdf

Markdown-mark
Recientemente estoy en búsqueda de nuevos horizontes y decidí que era tiempo de actualizar mi curriculum, tarea que desde cualquier punto de vista me parece aburrida.

Ya que no es la primera vez que realizo un curriculum, tenia algunas versiones desactualizadas en ODT, otra más reciente en LaTeX y lo más actualizado en mi perfil en LinkedIn. Sin embargo, estos abordajes presentan los siguientes problemas:

  1. Dependiendo del destinatario es necesario entregar una versión impresa y/o PDF. Esto es un problema especialmente con LinkedIn ya que al generar un PDF todas las paginas quedan con sellos de agua si no tienes usuario premium.
  2. Mantener un curriculum en varios idiomas es complicado con LaTeX ya que las etiquetas multilenguaje son un tanto complejas y una vez que se tiene la información en LaTeX es complicado moverla hacia otro lugar (como por ejemplo LinkedIn o el no tan popular Xing).
  3. Al contrario de lo que sucede en LaTeX, hacer curriculums en LibreOffice y/o Word  tiene inconvenientes al editar, un enter en un mal lugar y adiós a tu bello curriculum. Además también hay complicaciones para convertirlo a otros formatos (HTML, LinkedIn).

Con todas estas limitantes decidí que lo mejor era mantener mi curriculum en un archivo de texto plano que fuera legible a simple vista y pudiera ser transformado a otros formatos. Luego de evaluar algunas alternativas como Textile o reStructuredText, decidí utilizar el viejo Markdown porque básicamente es el único que conozco sin ver el manual.

La ventaja de utilizar Markdown es la posibilidad de convertirlo hacia TeX, HTML o PDF utilizando pandoc, y al estar toda la información en texto plano es más fácil copiar y pegarla desde/hacia sitios como LinkedIn.

Creando el curriculum

Ya que GitHub soporta su propia versión de Markdown el lenguaje es bastante popular y soportado por muchos editores. Incluyendo los tradicionales Gedit, Sublime Text, Emacs y como no . . . también el único y verdadero. Asi pues el verdadero problema es elegir cual versión de Markdown utilizar, ya que la versión original, no es la misma que la de GitHub, ni tampoco la versión soportada por pandoc, siendo las mayores diferencias la creación de estructuras complejas como tablas o secciones al transformar hacia HTML.

Suponiendo que utilizaremos un markdown universal la estructura básica del curriculum es crear encabezados y agregar los items en forma de listas, por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
# Educación
- Ph.D. en resitencia revolucionaria por la pachamama, FLACSO, 2014
- M.A. en mercantilismo disfrazado de libre mercado, Universidad Francisco Marroquin, 2011
- B.A. en comunismo avanzado, Universidad de San Carlos de Guatemala, 2004
 
# Intereses
Construccion de guarimbas, uso de alteregos en redes sociales para la popularización ideologica, calculo estadistico de entregas de pizza.
 
# Experiencia
- 2013-14: Ejecutivo de entregas
MAPA (Mandados a pie y autobús)

Con un poco de paciencia, se logra un archivo legible a simple vista y bastante bonito.

Generando el archivo HTML

El archivo escrito en markdown puede ser convertido hacia HTML con pandoc. Algunas de las ventajas de pandoc es la posibilidad de utilizar varios archivos fuente, adjuntar hojas de estilo css o incluso adjuntar otros archivos HTML creados previamente. Complicando un poco las cosas, quería emular el estilo de la plantilla que utilizaba con mi curriculum en TeX y afortunadamente alguien ya había tenido la misma idea con lo cual solo modifique la hoja de estilo para retirar algunas cosas y tener el color que a mi me gustaba :). Una vez lista la hoja de estilo, basta con utilizar pandoc con algunas opciones.

1
pandoc --standalone --from markdown --to html -c style.css -o index.html resume.md

Y listo, tenemos un curriculum en HTML.

Generando un archivo PDF

Aunque pandoc soporta la generacion a TeX y posteriormente a PDF a partir de un archivo markdown, uno de los problemas es que no es posible utilizar una hoja de estilo. Sin embargo el archivo pdf puede ser facilmente generado a partir del html utilizando wkhtmltopdf, con un simple comando.

1
wkhtmltopdf -L 20mm -R 20mm index.html resume.pdf

Y bueno, el resultado es bastante similar al HTML, con una conveniente tabla de contenidos generada a partir de los encabezados definidos en el original en markdown.

Automatizando la generación de los archivos
Confieso que al ejecutar el comando varias veces para ver el resultado me pregunte a mi mismo si estaba pedo siendo impractico, así que decidí crear un Makefile con varios targets, para generar tanto los archivos html como pdf a partir de varios archivos fuente en varios idiomas, el cual copio textualmente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
PAN=pandoc
WKHTML=wkhtmltopdf
RESUME=resume
INDEX=index
STYLE=style.css
SOURCE=resume
LINGUAS="" -es -pt_BR
 
 
all:	html pdf
 
git-%:	html pdf
	git add -A
	git commit -m "$(@:git-%=%)"
	git push origin master
 
html:
	$(foreach lingua,$(LINGUAS),$(PAN) --standalone --from markdown --to html -c $(STYLE) -o $(INDEX)$(lingua).html $(SOURCE)$(lingua).md;)
	# $(SOURCE)-$(lingua).md
 
pdf:
	$(foreach lingua,$(LINGUAS), $(WKHTML) -L 20mm -R 20mm $(INDEX)$(lingua).html $(RESUME)$(lingua).pdf; )
 
view:	html
	xdg-open $(INDEX).html
 
clean:
	rm -rf *.pdf *.html

En resumen el makefile contiene un target para generar los archivos pdf, otro para generar los archivos html, un target que ejecuta ambos, un target especial para solo generar los html y posteriormente abrirlos en el navegador, un target para publicar los cambios en un repositorio git y el clasico target para limpiar todo.

Mi curricumlum completo esta disponible en GitHub, algo curioso es que al utilizar un Markdown relativamente universal sin estructuras complicadas mis archivos son correctamente compilados por GitHub y pueden verse desde el propio GitHub :D.

DriveDroid, la joya perdida para instalar Linux desde tu telefono Android

drivedroid
Una de las criticas más comunes a Android es que la mayoría de aplicaciones son feas o están a medio hornear, y pues que puedo decir . . . en parte concuerdo con ellas.

Sin embargo de tanto en tanto aparecen aplicaciones que te recuerdan porque es bueno tener dispositivos hackeables y una de las que me he topado recientemente es DriveDroid.

DriveDroid es una aplicación diseñada para iniciar computadores a partir de archivos ISO/IMG almacenados en telefonos Android, y cuyo uso más lógico es el de iniciar sistemas operativos Linux a partir de imagenes originalmente diseñadas para LiveCD/LiveDVD.

¿Porque esto es genial?

      • No se necesita invertir en un CD/DVD de uso único y ayudamos al planeta (te amamos planeta);
      • Utilizar los sistemas Live via USB 2.0/3.0 es más rápido que utilizar medios ópticos;
      • Se puede utilizar más de una imagen sin necesidad de formatear el dispositivo como en el caso de los pendrives;
      • Podemos tener un Linux siempre a la mano como sistema operativo portátil.

 

Además de la posibilidad de utilizar el teléfono con las imágenes ISO/IMG existe la opción de modo escritura, crear nuevas imágenes y un repositorio de distribuciónes Linux que contiene distribuciones comunes (Ubuntu, Fedora, Debian) y no tan comunes (Voyage Linux, RebeccaBlackOS . . .).

Acá dejo algunas capturas y pueden encontrarlo en Google Play:

2014-05-07 05.08.202014-05-07 05.08.03

Y por si se lo preguntan, también sirve para instalar Windows :).

 

Java Virtual Developer Day 2014

java8

Siguiendo la linea iniciada el año pasado, Oracle ha preparado un Java Virtual Developer Day para el dia 6 de mayo del año en curso.

En esta ocasión y como se puede observar en la agenda, las tres grandes áreas a presentar serán Java 8, Java EE 7 y Java Embedded (el nuevo giro de  Java ME). Para participar basta con registrarse en el sitio del evento el cual les permitirá acceder a las conferencias vía Internet y/o observar posteriormente todo el contenido (en ingles).

Así pues es una excelente oportunidad para actualizarse en todo lo referente al mundo Java, uno de los lenguajes más utilizados a nivel mundial.

Todo listo para FLISOL 2014

banner2014-es
Celebrando 10 años de instalar kernel Linux con blobs Software Libre, este sábado 26 de abril se llevara a cabo el Festival Latinoamericano de Instalación de Software Libre en varias ciudades de Iberoamerica. Así pues, para todos aquellos que quieran conocer acerca de Software Libre, sus bondades, la gente rara que lo promueve y experimentar por si mismos, esta es una excelente oportunidad donde pueden llevar su computador para ser asesorados por entusiastas/expertos informáticos de forma totalmente gratuita y libre.

En esta ocasión fui invitado a impartir una conferencia en mi región natal, así que si alguno de los lectores llega a esta sede pues nos vemos por ahí :).

NixOS, la proxima gran distribución Linux

nixos-hires
Recientemente reviví un viejo notebook para usarlo como «notebook de asfalto/laptop robable» y como no hubo forma de instalar Calculate Linux sobre un disco cifrado y Sabayon Linux no se lleva bien con una ATI X200M decidí salirme de mi tradición Gentoo y probar NixOS, una distribución a la que hace tiempo le sigo el paso.

En un panorama ampliamente dominado por distribuciones remix, NixOS es el resultado de una serie de investigaciones de cursos de postgrado como parte del proyecto TraCE, que básicamente propone la creación/administración de sistemas Linux con un abordaje declarativo y no imperativo, creando una distribucíon Linux basada en un paradigma funcional.

Entre las caracteristicas que hacen única a esta distribución se encuentran:

  • Actualizaciones de sistema confiables, atómicas y con posibilidad de rollback;
  • Configuraciones de sistema portables;
  • Posibilidad de instalación de paquetes binarios y basados en código fuente;
  • Instalación de paquetes locales (por usuario) y globales.

Y muchas cosas más.

Primera impresión:

Sin afán de sonar elitista puedo afirmar que NixOS es una distribución hecha para usuarios avanzados,  la instalación es bastante tosca, y la guiá de instalación ni siquiera es secuencial.

El proceso básicamente es el siguiente:

  1. Iniciar con el LiveCD de NixOS y crear las particiones manualmente;
  2. Crear o copiar una «especificación» del sistema a ser instalado;
  3. Ejecutar el instalador el cual creara el sistema a partir de esa declaración.

Por ejemplo, para crear un sistema basado en XFCE con soporte a LVM, LUKS y algunos demonios tradicionales (mi configuración) el archivo de configuración seria el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Edit this configuration file to define what should be installed on
# Edit this configuration file to define what should be installed on
# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
 
{ config, pkgs, ... }:
 
{
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
    ];
 
  # Use the GRUB 2 boot loader.
  boot.loader.grub.enable = true;
  boot.loader.grub.version = 2;
  # Define on which hard drive you want to install Grub.
  boot.loader.grub.device = "/dev/sda";
 
  # LUKS Options
  boot.initrd.luks.devices = [ { device = "/dev/sda2"; name = "dmcrypt_root"; preLVM=true; } ];
 
  # Select internationalisation properties.
  i18n = {
     consoleFont = "lat9w-16";
     consoleKeyMap = "es";
     defaultLocale = "en_US.UTF-8";
  };
 
  # Timezone
  time.timeZone = "America/Guatemala";
 
  # Wicd
  networking = {
     hostName = "turtle-tanker";
     interfaceMonitor.enable = false;
     wireless.enable = false;
     useDHCP = false;
     wicd.enable = true;
   };
 
  # List services that you want to enable:
 
  # Enable the OpenSSH daemon.
  services.openssh.enable = true;
 
  # Enable ntp daemon
  services.ntp.enable = true;
 
  # Enable CUPS to print documents.
  services.printing.enable = true;sc
 
  # Enable the X11 windowing system.
  services.xserver.enable = true;
  services.xserver.layout = "es";
  services.xserver.xkbOptions = "eurosign:e";
 
  # Enable the xfce environment.
  services.xserver.displayManager.slim.enable = true;
  services.xserver.desktopManager.xfce.enable = true;
}

Y luego de ejecutar el simple comando

nixos-install

El resultado seria este:

2014-04-23-021119_1280x800_scrot

Algo que me gusto mucho de la distribución es que la mayoría de paquetes son vanilla y cuenta tanto con ramas estable como de desarrollo. Durante mis pruebas pude saltar fácilmente de XFCE con slim hacia awesome con lightdm y hacer rollback sin problema con solo cambiar mi especificación del sistema.

En conclusion Arch, Slackware y Gentoo pueden temblar, ya que NixOS va ganando adeptos por montones :).

Lanzamiento de Java 8 y encuesta final Java EE 8

dukedelocho

El 8 parece ser un número importante en la comunidad Java estos días…

Dando secuencia a las encuestas publicadas por el JCP, ya están disponibles los resultados de la encuesta comunitaria de Java para darle forma al próximo lanzamiento de Java EE. Lo más interesante de estos resultados es que de nuevo se invita a participar a la comunidad para priorizar las características. Para esto, basta con participar en la encuesta final (siendo mis favoritos JCACHE y NoSQL para JPA) cuya fecha limite es el día lunes 24 de Marzo.

Y si eso no fuera suficiente, el día 18 de Marzo estará disponible la versión al publico de Java 8. En esta oportunidad Oracle ha preparado un Webcast con las principales novedades de la plataforma, planificado para el día 25 de Marzo. Para participar basta con inscribirse en la plataforma de Webcast de Oracle (el evento sera en ingles).

Java no esta tan muerto después de todo :).

FLISOL Microsoft y domadores de leones que les enseñan a comer verdura

chute-tux_2

Recientemente hubo un caso muy sonado acerca de la organización de un Festival Latinoamericano de Instalación de Software Libre –FLISOL– por parte de Microsoft, que a grandes razgos resultaria en un taller de «como cargar maquinas virtuales Linux sobre Windows Azure».

Como ya puede anticiparse llovieron más lineas de texto ideológicas que el equivalente a los primeros 20 releases del kernel Linux. No entanto, la comunidad internacional de FLISOL llego finalmente a un consenso y ha pedido la divulgación de su comunicado. Motivo por el cual lo divulgo, no sin antes hacer mio un fragmento de la Frikipedia de cuando Daniel Robbins se mudó a trabajar a Microsoft:

Fue un momento triste para el proyecto Gentoo cuando su fundador drobbins decidió coger los bártulos y mudarse a Microsoft, con la misión de «educarlos sobre Linux y el software libre». Se dice también que entre sus otras ofertas de trabajo estaba la de «domador de leones, para enseñarles a comer verdura» o «psicopedagogo de Michael Jackson, para enseñarle a no abusar de los niños pequeños». Sonsadas. En dos años este ingenuo estaba en la puta calle, y cuando quiso volver a su proyecto le dijeron que sí, que ya mismito le daban permiso a todos los repositorios y le devolvían su corona. ¡Ja! Tolay.

Y bueno el comunicado es este, copiado textualmente de la Wiki oficial de FLISOL:

La coordinación nacional de México, así como la coordinación internacional del FLISoL (Festival Latinoamericano de Instalación de Software Libre), dados los acontecimientos suscitados en días pasados sobre la realización de una sede en Microsoft (en sus instalaciones en la ciudad de México), proclamamos nuestro NO reconocimiento oficial de ésta.

Comprendemos las buenas intenciones, sin embargo, en base a la información intercambiada con él organizador del evento en las listas de correo públicas, consideramos que el rumbo de dicho evento está completamente distanciado de lo que nuestro InstallFest pretende, incluso, no respetando el espíritu del mismo.

En propias palabras del coordinador de esta no-sede, Claudio Morales, escribe los siguiente:

  1. «Mostrar como instalar software libre en plataformas de Microsoft como Windows Azure en una sola conferencia y ofrecer la oportunidad a los asistentes a conocer esta posibilidad de interoperabilidad de Microsoft con tecnología de Software libre.”
  2. “No existe ninguna finalidad de vender u ofrecer productos privativos de Microsoft a la venta, solo se presentará una posibilidad de instalación de Software libre sobre Windows azure que permite esto.”
  3. “Me parece bien el tema de que les cause ruido el tema que sea Microsoft el que organice por ser una empresa lucrativa, pero me parece importante que vean la importancia dado que Microsoft está abriendo las puertas para escuchar y buscar la forma de cómo apoyar a comunidades OpenSource y de Software Libre, considero a reserva de todos los lineamientos que se manejen para los Flisoles, que no existe mejor lugar y oportunidad que hacerlo desde Microsoft, para difundir este tipo de encuentros a los empleados de Microsoft para que puedan conocer más sobre el SoftwareLibre.”

Por lo tanto:

  1. Microsoft junto con Claudio Morales pretende llevar a cabo un evento de «interoperabilidad» entre sus tecnologías y tecnologías Open Source bajo el renombre de una empresa lucrativa. La charla principal de Microsoft no es otra cosa que promover Windows Azure, una estrategia de mercado que, debíamos impedir dentro de un FLISoL.
  2. Jamás se habló de hacer un installfest (base del FLISoL), es decir, la actividad en que los usuarios llevan sus computadoras para eliminar sistemas operativos privativos (como Microsoft Windows u Apple OSX) e instalar una distribución de software libre (como GNU/Linux o FreeBSD). Si bien, existe software libre que corre en otros sistemas operativos privativos y se ha instalado en algunas sedes software libre sobre otros sistemas operativos como Microsoft Windows (se menciona por ser el más usado), se realiza para que la gente sepa de las bondades del software libre y qué tanto corren en sistemas operativos libres como privativos, pero en ningún momento se intenta promover el uso de sistemas operativos privativos, aún corriendo software libre.
  3. No existe certeza de que el usuario reciba la mejor información al respecto sobre las alternativas y bondades que ofrece el Software Libre frente al Privativo. Incluso, creemos que ante una disyuntiva entre ambos tipos de productos, no se mostrará preferencia para el Software Libre.
  4. Microsot intentará apoyar al OpenSource, pero jamás hará lo mismo con el Software Libre. http://www.theregister.co.uk/2014/02/22/microsoft_uk_odf_response/

  5. Estamos a favor de que se realicen FLISoLs, con esto no estamos coartando a Claudio Morales el poder coordinar una sede, simplemente en esta ocasión no podemos apoyarlo, dado que no se demuestran las bases necesarias para la realización de un FLISoL, como el difundir y apoyar a los usuarios a conocer Software Libre como una alternativa más que viable frente a software privativo, dándoles a conocer las bondades que el software libre tiene y, sobre todo, el respeto hacia la privacidad y libertad del mismo usuario. Consideramos más una táctica mercadotécnica de este compañía para ampliar su mercado y esto no es apoyo comunitario.

Atentamente:

La coordinación internacional FLISoL

 

Ubuntu como alternativa a Windows XP

ubuntu-logo32
La comunidad de Ubuntu ha iniciado una campaña de migración para todos aquellos usuarios que quedaran sin soporte a partir de este 8 de Abril, ya que Billy finalmente dará muerte al unico sistema que se ha ganado a pulso el titulo de sistema operativo universal ;-).

flyer_xp-to-xubuntu_USletterAsí pues, todos aquellos interesados y fanáticos de Ubuntu pueden colaborar con la campaña haciendo eco mediante el material gráfico disponible en Spread Ubuntu. Personalmente tengo mis dudas de la factibilidad de Ubuntu como reemplazo a Windows XP, ya sea por cuestiones de hardware o por el pésimo soporte que he recibido en aplicaciones comerciales en Linux. Siendo así , solo diré que aun falta camino por recorrer pero este es un paso importante :-).

Porque la gallina cruzó el camino

eniavlys-chicken-tux

Esta es una traducción liberal de un post de posgraduando, un blog bastante popular entre los estudiantes de postgrado en Brasil. Al momento de escribir esto estoy ya cansado de escribir textos académicos así que decidí mudar un poco para no morir de locura, confieso que me pareció bastante divertido.

Platon: “Porque buscaba alcanzar el bien”.

Aristóteles: “Es de la naturaleza de las gallinas cruzar el camino”.

Freud: “La preocupación con el hecho de que la gallina cruzó el camino es un síntoma de inseguridad sexual».

Maquiavelo: “¿A quien le interesa el porque? Establecido el objetivo de cruzar el camino, es irrelevante discutir los medios utilizados para eso”.

Marx: “El estado actual de las fuerzas productivas exigía una nueva clase social de gallinas, capaces de cruzar el camino”.

Einstein: “Si la gallina cruzó el camino o si el camino se movió con respecto a la gallina, depende del punto de vista. Todo es relativo”.

Sócrates: “Solo se que no se nada”.

Parmenides: “La gallina no atravesó el camino porque no puede moverse. El movimiento no existe”.

Darwin: “A lo largo de grandes periodos de tiempo, las gallinas han sido seleccionadas naturalmente, así pues, ahora son genéricamente predispuestas a cruzar caminos”.

Blaise Pascal: “¿Quien sabe? El corazón de la gallina tiene razones que la propia razón desconoce”.

Sartre: “Se trata de una mera fatalidad. Con su existencia la gallina esta en libertad de cruzar el camino”.

Nietzsche: “Ella desea superar su condición de gallina, para convertirse en una supergallina”.

Richard Dawkins: “Realmente los genes para cruzar caminos son los que están de hecho cruzando el camino. La gallina es solamente una forma en que los genes se encontraron para realizar esa tarea”.

Pavlov: “Porque antes yo hacia sonar una campanilla y ofrecía alimento a la gallina al otro lado del camino. Ahora, después de varios experimentos similares, basta con tocar la campanilla sin dar alimentos para que ella cruce el camino”.

Hipócrates: “Debido a un exceso de humor en su páncreas».

Kant: “La gallina solamente siguió el imperativo categórico propio de las gallinas. Es una cuestión de razón practica”.

Esotericos: “La gallina cruzó el camino porque era un acontecimiento necesario. Es el destino. Ya estaba previsto por la orden universal del cosmos”.

Epicúreos: “Es de placer para las gallinas cruzar caminos. ¿Ud. que piensa amigo?”

Filósofos de la escuela de Frankfurt: “Es una cuestión mediocre impuesta por los mentores de arte de multitudes que transformó la imagen de una gallina en otro producto de la industria cultural”.

Filósofos medievales: “Para responder a tal pregunta, debemos primero analizar si la expresión “gallina” es un termino que carece de sentido o si la palabra expresa la idea genérica universal de gallina, o incluso si se trata de una gallina concreta y particular”.

Schopenhauer: “En el acto de cruzar, esta huyendo de si misma en un intento de aliviar la tensión y el sufrimiento que representa el estar vivo en este mundo sin sentido”.

Newton: 1) “Gallinas en reposo tienden a ficar en reposo;  gallinas en movimiento tienden a cruzar el camino”. 2) “Fue causado por la atracción gravitacional ejercida por otras gallinas que ya se encontraban al otro lado del camino”.