Alpha's Manifesto

A black and white figure's thought-hive

How to find the problem

Applied skepticism

User minusSeven from the StackExchange community asked a seemingly uninteresting question that happens to be really deep and meaningful: How do you learn programming when you’re stuck and without access to the internet? All the answers there are really good and useful, but I think there’s an underlying theme worth discussing: how a methodical approach should be.

(Read more →)

Configuración de ManagedFusion.Rewriter como proxy reverso

Guía rápida para tener un proxy reverso en 5 pasos

En mi post anterior de alternativas para superar la limitación de la Same Origin Policy, expliqué brevemente el por qué de mi preferencia por los reverse proxy.

Aquí quiero contar un poco más al respecto y contar, con lujo de detalles, cómo configurar un proxy reverso gratuito para proyectos .NET.

(Read more →)

Responsive Web vs. Mobile Web

¿Qué son y cuándo usar cada uno?

Pantallas y tamaños

Ahora que el mundo web se ha acelerado de forma increíble, CSS3 y HTML5 son más y más poderosos cada día. Una de las características que trajo CSS3 son media queries, que habilitan un nuevo tipo de sitio llamado responsive web. ¿Qué es esto y cómo nos afecta?

(Read more →)

Transcendent Man

Un documental sobre Raymond Kurzweil y su pensamiento

This is the story of the destiny of the human-machine civilization.

A destiny we have come to refer to as the Singularity.

— Ray Kurzweil

Transcendent Man es el nombre de un documental hecho en el 2009 sobre Raymond Kurzweil y su filosofía futurista/transhumanista. Ahora hablaré sobre eso, pero primero sobre el documental en sí.

Como documental, esta hora y media realmente no es demasiado útil. Tiene una buena introducción para quien no sepa nada de Kurzweil (o su familia o su historia) ni del concepto de la Singularidad. Nuevamente, sólo en ese caso, porque a modo de introducción genera la idea necesaria, pero para alguien que quiere informarse al respecto, este documental no es sólo tendencioso y mal fundamentado, sino que es, planamente, aburrido. Como película es realmente poco dinámico, lento, la estructura de la información está bastante poco definida y la música e intercalación de infografías es pobre y poco cautivante.

Creo que soy muy duro con este documental porque este es un tema que realmente me apasiona. En poco voy a comenzar a seguir de cerca la filosofía de Kurzweil, y tengo en mi listado de próximos libros a leer los suyos. Quiero realmente saber lo que piensa y por qué lo piensa, ya que el documental lo deja presentado como un loco que tuvo la suerte de no equivocarse antes, o como un visionario que tiene sus razones y absolutamente nadie comprende. Yo creo que la situación real es mucho más profunda, y que hay muchos más argumentos a favor y encontra de los presentados, con lo que me decepciona la cantidad de información presentada en Transcendent Man.

Los primeros veinte minutos son realmente lo que esperaba: un comienzo épico y, si bien tendencioso, muy claro en lo que estamos viendo. Se trata de alguien que solo por lo que dice el mundo científico tiembla, porque siempre dijo locuras pero siempre tuvo razón. Luego de esos veinte minutos, el documental trata de varios pilares del avance transhumanista, como el avance en la investigación genética, la robótica y la nanotecnología. Creo también que no son las palabras más apropiadas para definir a la Singularidad, pero ese es otro tema que no discutiré aquí. Habla también de la historia personal de Ray, su familia y su vida actual, y su visión de la muerte y la inmortalidad.

En fin, no la recomendaría como fuente de información, y ciertamente no la recomendaría como película. Aún así, la calificaría de interesante. Le doy 2 de 5 zorrinitos.

Soy un zorrinito singular.

Deus Ex: Human Revolution

They can't stop the future

I never asked to be shown how human I was…

…or how much more I could become.

Deus Ex: Human Revolution es la flamante tercera entrega de la saga del nombre de Deus Ex. La temática de los tres juegos es similar: estamos en un mundo en el futuro en donde los humanos pueden implantarse augmentations, aumentos, que mejoran las capacidades humanas. Ha llegado el punto en donde esto da una marcada diferencia entre una persona normal y una persona aumentada, a lo cual se han formado dos grandes bandos opuestos: aquellos quienes buscan la pureza de la raza humana en su estado natural, y aquellos quienes ven a la tecnología como el nuevo paso en la evolución humana.

Para una explicación un poco más en particular, pueden ver estos videos y/o seguir leyendo.

Trailer cinemático:

“Documental” propagandístico, fan made:

La historia se desarrolla en el año 2027. Somos parte de una empresa llamada Sarif Industries que ha logrado un avance, un salto terriblemente importante en los avances de la aumentación humana. Por supuesto, esto puede tener consecuencias. La aumentación actualmente depende de la utilización de una droga, altamente adictiva, que permite al cuerpo no rechazar sus aumentos. Casos positivos y negativos se cuentan de ellos y de esta droga, dando más material para la polémica. Las personas en la calle tiene todo tipo de opiniones y una gran cantidad de grupos no revelados juegan con las corporaciones que las manejan.

El juego es terriblemente adictivo y entretenido. Le permite a uno desarrollar su personaje de una forma estratégica, pero aún así cambiar la estrategia en el momento que lo desee y seguir disfrutando del juego. Hay muchas formas de lograr una misma meta, y las guías visuales (producto de la aumentación) hacen al juego mucho menos confuso que juegos anteriores o similares, en donde tenemos que adivinar cómo interactuar con ciertos elementos. La historia se desarrolla lentamente y de a poco se va revelando también nuestra historia personal. El juego tiene varias opciones morales (aunque no tantas como los juegos anteriores) y varios pequeños detalles que hacen de nuestra experiencia lo que es.

Tras que las cosas se desarrollan, nuestro personaje va tomando opiniones sobre determinados temas (cosa que en otros juegos no ocurría) y si bien las decisiones finales son nuestras, ya no se siente tan natural. El personaje nos condiciona en cierta forma a tomar una decisión en particular para que el juego se sienta más fluido.

El juego no es largo para nada (lo terminé en 22 horas, con todas las side-quests incluidas y mucho tiempo de perderme en callejones). Las side-quests tienen dificultad variable, pero nunca imposible. Desafortunadamente, solo hay una oportunidad de hacerlas, el avanzar en la historia no nos deja forma de volver atrás. Los personajes secundarios quedan demasiado en su rol de secundarios y solo uno o dos de ellos tienen una historia personal. Además, cuando hablan, tienen siempre los mismos gestos y eso me hizo sufrir muchos déjà-vus.

[spoiler show=”Mostrar Spoilers” hide=”Ocultar Spoilers”]
La historia tiene una muy buena base, pero para ser sincero, queda truncada. Adam, nuestro personaje, descubre el secreto tras sus padres, y descubre las propiedades especiales de su ADN y cómo eso revolucionó el mundo. Esto no hace impacto alguno en el resto de la historia.

Por otro lado, la re-apareción de Megan Reed no nos deja más que un pequeño diálogo, sin discusiones morales ni cuestionamientos a todo lo ocurrido. (¿Será en otro juego?)

Nuestro personaje no muestra tampoco ningún tipo de evolución en su personalidad, excepto por algunos puntos en donde comienza a sospechar de Megan que sigue viva, tras el terrible incidente de seis meses atrás. Luego de eso, es prácticamente intrascendente todo lo que le ocurra.

Tras revelar toda la historia y las conspiraciones, no hay nadie realmente contra quién ir. Los Iluminati se conocen por el nombre de grupo y no se puso más verdad ni comprobación en su existencia que las palabras de Sarif y las acusaciones no-del-todo-aceptadas de Taggart. Zhao nunca explica a quién responde o por qué, o qué quiere, y los planes de Darrow realmente carecen de coherencia (volver al mundo loco para avisar del error… sí, claro, muy efectivo).

Finalmente, los típicos finales del juego no son la gran cosa. Peor aún, son terriblemente parecidos, con un mensaje ligeramente-tendencioso a cada decisión. No solucionan nada realmente, nos deja el mal sabor de decir que esto fue solo una transmisión al mundo pero no tenemos idea de qué pasó después.
[/spoiler]

En fin, mi opinión general es que el juego, muy jugable, muy divertido, muy adictivo, tuvo una base maravillosa para una historia pero dejó que desear en ese aspecto. La jugabilidad sigue siendo impecable, totalmente compensó eso.

Le doy 4 de 5 zorrinitos.

Soy un zorrinito aumentado.

Un reactor nuclear en tu garage

Porque cualquiera puede cambiar el mundo

“Cualquiera puede cambiar el mundo, incluso los niños” es el mensaje que  Taylor Wilson quiere dejar con su propia experiencia. Según él, desde los 13 tuvo el sueño de tener una estrella en su propio garage y comenzó a estudiar sobre cómo podía hacerla. Un año después, había construido un reactor nuclear en su propio garage, equiparando con cientos de dólares equipo de miles y miles de dólares.

Realmente no es tan funcional como los reactores nucleares actuales, pero sí funcionaba y logró reemplazar maquinaria de tecnología de punta.

Pueden leer más sobre su historia en Taylor Wilson, el niño que quiso construir un reactor nuclear de fusión en su garage, o ver su charla TED (también en YouTube) sobre su experiencia (muy corta, apenas de tres minutos). En este último link hay opiniones dispares sobre esta experiencia: hay quienes consideran que se le dieron muchos privilegios que por lo general no se dan, y que no es realmente tanto el logro sino que hay mucha represión para otros intentando lo mismo. Sea como sea, sigue siendo muy impresionante su logro.

Soy un zorrinito fusionado.

MITx

Otra gran apuesta a la educación online

Leí esto en alguna entrada de MicroSiervos pero desafortunadamente perdí el link y no puedo encontrarlo. Ellos linkeaban a una artículo hablando sobre MITx (FAQ), una de las nuevas apuestas de las universidades de tecnología para la educación online y gratuita. En este caso, como pueden adivinar por el nombre, se trata del MIT.

Aparentemente esta propuesta comenzaría a funcionar en estos primeros meses del 2012, y las clases van a tener ciertos certificados que demostrarían el conocimiento de uno sobre la materia en cuestión, pero nada realmente que tenga el nivel de un título del MIT en sí mismo.

Recordemos que MIT también es el dueño de OpenCourseWare, un esfuerzo similar, y ese seguirá siendo mantenido.

Soy un zorrinito educado.

¿Por qué HTML5?

Hace no mucho se me presentó en una conversación, en donde me encararon con la siguiente pregunta: “Si el estándar de HTML5 no está aprobado aún, por qué usarlo?”. Me abalancé con una respuesta salvaje del estilo “Por qué no?” (aunque con otras palabras) y no dije mucho más. ¿Por qué alguien querría no usarlo? Pasaron 30 segundos desde mi respuesta y me puse del otro lado, pensando en que me estaban hablando de una nueva versión de Windows y ahí creí comprender el punto de vista. Creo que no aplica a HTML5 pero… por qué habría una diferencia?

Fue entonces en donde me puse a dar una respuesta más elaborada, la cual reproduzco a continuación.


HTML5 es algo muy nuevo todavía, y eso tiene sus pros y sus contras.
El contra que todos obviamente vemos ahora es que puede cambiar hasta terminar de definirse, sumado a que tiene poca adopción y (va a tener) bugs en implementaciones en distintos browsers. Sumenlé problemas de seguridad que sin duda se van a venir, backward compatibility no-tan-suave y más temas.

Ahora, qué tiene de bueno? No voy a enumerar lo nuevo {en cuanto a capacidades} porque eso lo pueden leer en cualquier lado.
HTML5 va un poquito más allá de la tecnología que implementa. Se trata de, por un lado, una forma nueva de aproximarse a la tecnología de la web. Por otro lado, de un plan mucho mayor de lograr una mejor estandarización (que comenzó con XHTML 1.0 y siguió con Transitional HTML). Por otro lado más, el efecto que ha tenido sobre la comunidad online demuestra que estamos capaces de acelerar el proceso de estándares (que hoy por hoy, no baja de los 5 o 6 años, cuando las tecnologías nuevas aparecen cada 6 meses).

Déjenme explayarme sobre lo anterior:
– Una forma nueva de aproximarse a la tecnología de la web
HTML5 fue un poco más “democrática” que el resto de los HTMLs pasados, en donde ya la dirección no se lleva adelante por los que están experimentando en el área, sino los que además de tenerlo asimilado, ya aprendieron de los errores pasados y tienen visión del futuro. Cosas como webSockets, canvas, CSS3 3D acceleration (sé que no es HTML5 pero lo meto en el mismo paquete) no hablan tanto de algo que deba ser más fácil de programar, sino de una dirección distinta que va a empezar a tomar la web. Va a tratarse más de contenido multimedia e interacción, no más texto, imágenes y links. Abre otra forma completa en que las aplicaciones van a poder trabajar, y es un campo perfecto para la creatividad, la innovación y el avance. Cuando se asiente un poco el polvo va a venir la nueva revelación basada en esta tecnología. No estoy seguro de qué y no me las doy de visionario, pero es lo que siempre pasa, y a la velocidad que vamos, estoy seguro de que cada vez la revolución va a ser mayor.

– Forma parte de un plan mayor
Hace tiempo que la web viene “rota”, por su cualidad de “forgiving”. Cuando la web empezó había uno y luego dos navegadores. Tan poca variedad hizo que los programadores se educaran de forma terrible, y ambas partes luchaban por definir su estándar. El resultado: que cada empresa de IT tenga que tener un departamento de HTML+CSS porque algo que se suponía iba a poder hacer cualquiera se convirtió en toda una ciencia. Para sumar, el avance exponencial lo hace cada vez más difícil, con lo cual hoy hay activas 5 versiones de Internet Explorer, 4 de Firefox, 3 de Opera, 9 de Chrome, 2 de Safari y no sé cuántas más me estoy olvidando. Los renderizados y capacidades varían de SO a SO (multipliquen por todo lo que dije), y ni hablemos del mundo móvil. Cada navegador se tiene que acomodar a las 5 versiones de HTML que andan dando vueltas, más sus distintos modos. Cada navegador también implementa sus propios “extras”, que se idearon al principio para que los programadores lo eligieran y dijeran “este sitio funciona con Internet Explorer 6” (¿ActiveX alguien?). Eso era marketing: luego la web iba a ser basada en IE. {Eso hoy es inconsistencia cross-browsing.}

Por supuesto, esto es un quilombo {lío}. Todos usaban IE hasta que FireFox y la moda open source comenzaron a tomar popularidad, luego Google Chrome y la promesa de hacer todo más liviano, más rápido y ellos “apoyando y promoviendo” los estándares, hizo que el mercado se distribuyera mucho.

Programar en HTML y hacerlo “aceptable” en todos lados es complejo también, porque los navegadores se bancan {soportan} todas las formas de hacer cosas, y nosotros tenemos que ajustarnos a ellas para que nuestra nueva página haga lo que queremos. Hoy esto es una traba a la innovación y a la mejora, porque lo que tiene que ser simple es un infierno.

El fallback de HTML5 es HTML4 y se planea en un futuro (lejano) volverlo {al HTML} tan estricto como el XML (de hecho, un schema definido por el mismo), lo cual va a significar: menor cantidad de estándares, mejor performance de los navegadores, menos ambigüedad de implementaciones, más soporte y más acogimiento de distintas plataformas y usuarios. Si piensan que HTML es una regla definida en texto, está realmente muy difícil entender por qué esto no fue así antes. (Excepto que se lean la historia de los párrafos anteriores.)

Por supuesto, proponer algo así hoy está condenado al fracaso, por algo simple: nadie lo va a hacer, y nadie va a tirar a la basura la internet que tenemos hoy. Esos pasos graduales (que cada vez van más rápido) lo van a lograr. Lo mismo se hizo con IPv4 vs IPv6, que casi llega al final de sus días (y hablamos de algo que tuvo unas buenas décadas para llevarse a cabo).

– Acelera el proceso de estándares
Ahora que el UX está en su auge, el entrepeneurship es una palabra (sí, también me sorprende), Microsoft se quiere redimir, Google está en la lucha, y la comunidad misma es la que presiona por todo esto, todo se aceleró. Cuando propusieron HTML5, Google Chrome ya soportaba cosas a la semana. {Nota: Esto no es históricamente correcto. La expresión denota la velocidad con que se adoptaron los cambios.} Si algo cambiara, ellos lo cambian al toque. Se ganaron el corazón de los desarrolladores y de a poco mercado con eso. Es la misma historia, pero ahora sin la burocracia de ir contra un estándar, sino al contrario, presionar para que el estándar se consolide.

Y esto es bueno porque todo lo que conté antes va a ocurrir más rápido. En definitiva, nuestras capacidades en la web no van a ser imposibles por la arquitectura cliente-servidor a la que estamos acostumbrados, sino que pronto van a venir cosas que nos van a permitir esa revolución.

Y si yo estoy desarrollando un producto, ¿por qué me importa todo esto?
Si sos alguien a quien le importa la tecnología y tenés tu pasión en ella, ya tuviste tu respuesta.
Si sos alguien que solo quiere vender un producto, o un cliente al que le tengo que convencer de usar tecnología nueva, la razones son las siguientes:

  1. Si tenés un target determinado, podés forzar a que usen el navegador que mejor soporten lo que quieras, y hacer uso de las nuevas capacidades. Sistemas más limpios, más seguros, y que luego solitos van a funcionar con el resto de los navegadores.
  2. Si tu target es público en general, también te genera buena reputación estar sobre la cresta de la ola. Hay un mundo de apasionados y programadores que te van a mirar por cómo hiciste las cosas y no por lo que hiciste en sí (aunque claro, son la minoría). Si tu target es técnico, más interesante aún.
  3. Si te importa la experiencia del usuario, hay cosas nuevas que podés lograr que de otra forma no podés. No todos van a poder experimentarlo hoy (por la compatibilidad), pero los que sí son visitantes ganados.
  4. Cuando esta nueva tecnología se abra paso a más caminos, la ola te lleva sola sin ningún esfuerzo extra. Ejemplo: video HTML5 hizo que quienes adoptaron HTML5 llegaran al mundo móvil con multimedia. Los que se hicieron los cancheros diciendo “ya lo hicimos en Flash” se habrán enterado que esta semana Adobe anunció que abandona Flash para los móviles. Cuántos proyectos habrá que volver a tocar. Dicho sea de paso, yo pienso que Java (en web) va por el mismo camino.
  5. Last, but not least, si alguien se va a comprar un teléfono hoy, se compra un teléfono de los nuevos. Es lo que le vende y lo que mejor le va a andar hoy y mañana. Hacer un proyecto no es tan distinto, hay que usar lo nuevo para que dure más y funcione mejor hoy y mañana. Mejor aún: no hay diferencia de costos entre HTML4 y HTML5. ¿Por qué no elegir el mejor?