viernes, 31 de diciembre de 2010
2010 Closure
lunes, 7 de junio de 2010
Nietzsche y el cuestionamiento de la moral
Hace tiempo, por casualidad, leí un fragmento de uno de los textos de Nietzsche, y como parece que el tema de hoy en twitter es sobre si debemos o no prohibir que las mujeres del mundo árabe lleven burka, pañuelo, o sobre infravalorar aspectos de su cultura, os dejo aquí el texto, que creo que viene bastante a cuento:
Estos historiadores de la moral (principalmente los ingleses) son mentirosos, pues suelen sufrir ingenuamente la exigencia de una moral determinada, convirtiéndose, sin advertirlo, en sus defensores y en su escolta. Admiten, de este modo, ese prejuicio difundido en la Europa cristiana, tan ingenuamente repetido, según el cual la acción moral se caracteriza por el desinterés, la renuncia a uno mismo, el sacrificio personal, el sentimiento de solidaridad, la compasión, la piedad. El fallo habitual de sus hipótesis consiste en afirmar no sé qué pacto de los pueblos, al menos de los pueblos domesticados, respecto a ciertos preceptos de moral, y en concluir determinando la obligación absoluta de éstos para cada uno de nosotros; o, por el contrario, tras haber aceptado la verdad de que las valoraciones difieren necesariamente según los pueblos, concluir en la ausencia de obligación de toda moral; ambas conclusiones son pueriles. Los más sutiles de estos historiadores cometen el defecto consistente en que cuando descubren y critican las opiniones, tal vez insensatas, de un pueblo respecto a su propia moral o las de los hombres respecto a toda moral humana, o bien lo relativo al origen de ésta última, sus sanciones religiosas, la superstición del libre albedrío y otras cosas por el estilo, se imaginan que con eso han criticado a la moral misma. Pero el valor de un precepto como “debes” es muy diferente e independiente de semejantes opiniones acerca del mismo precepto y de la cizaña de error que haya podido invadirlo, del mismo modo que la eficacia de una medicina es totalmente independiente de las opiniones que el enfermo tenga de ella, de que posea conocimientos científicos o prejuicios de anciana.
Una moral puede haber nacido muy bien de un error; esta constatación ni siquiera ha abordado el problema de su valor. Nadie hasta ahora ha examinado, entonces, el valor de la más famosa de las medicinas, llamada moral. Esto exigiría ante todo decidirse a poner en cuestión este valor. ¡Pues bien! ¡En esto precisamente consiste nuestra empresa!
Friedrich Nietzsche: GAYA CIENCIA. LIBRO QUINTO: LOS QUE NO TENEMOS MIEDO. 345. La moral como problema.
lunes, 26 de abril de 2010
Nexus ¿One?
Bueno, me acabo de enterar que en el blog El Androide Libre sortean un Nexus. Y como un Nexus nunca está de más, vamos a ver si hay suerte y puedo llevarme uno xD.
Si me toca, no dudéis que lo usaré para el bien, y solo se desarrollarán programitas de calidad con él :P
Por cierto, hace poco se ha anunciado que el Nexus One saldrá a la venta en España de mano de vodafone en Mayo. Os recomiendo a todos que le echéis un vistazo, olvidaos del iPhone y tiraros a por un androide! XD
viernes, 16 de abril de 2010
Cautivando al Usuario
Uno de los mayores retos a la hora de desarrollar software, y que muchas veces se deja de lado, es la gran importancia de la comunicación de la aplicación con el usuario.
Cuando digo "comunicación", me refiero a un concepto mucho más amplio que el de un campo de texto, un mensaje de ayuda, o al uso de botones y ventanas, me refiero al "feeling", a que la aplicación sea capaz de decirlo todo por si misma, sin necesidad de ayuda o excesivo texto indicatorio.
Hace tiempo leía una entrevista que hacían a Shigueru Miyamoto, el creador de Super Mario, y "gurú" del mundo de los videojuegos. Miyamoto San explicaba como habían diseñado los personajes del primer Super Mario Bros. Y es que no es casualidad que muchos enemigos tuviesen pinchos en la espalda, el jugador debía saber que si se acercaba a esas partes puntiagudas, no pasaría nada bueno! Claro, pensándolo ahora, más de dos décadas después, parece obvio, pero conseguir este tipo de comunicación es más difícil de lo que parece.
Tomando una frase del vicepresidente de diseño industrial de Apple, y padre del iPod, Jonathan Ive, hablando sobre el indicador de hibernación de los nuevos MacBook: "An indicator has a value if it's indicating something, but if it's not indicating something it shouldn't be there", lo que traducido al castellano viene a ser algo como: "Un indicador tiene sentido si está indicando algo, si no esta indicando nada no debería estar ahí".
Volviendo al tema de interfaces gráficas; los mensajes de ayuda, los abominables textos de introducción y parecidos, deben minimizarse al extremo, ser el último recurso, o no ser un recurso en absoluto. El usuario debe comprender en un periodo muy corto de tiempo qué es cada elemento que aparece en la pantalla, y cual es su función.
En el caso de aplicaciones para móviles, especialmente en lo referente a iPhone y Android, esto pasa a ser un punto fundamental, por la elevada competencia, y por el corto periodo de atención del usuario.
sábado, 3 de abril de 2010
while (1) { ... }
Una de las primeras cosas que le enseñan a uno cuando empieza a estudiar ingeniería informática es la potencia de los bucles.
Sí, hablo de esas tareas repetitivas para las que supuestamente tan malos somos los humanos, por eso de que no queremos perder el tiempo calculando a mano los 10 mil primeros decimales de pi, o porque no está bien visto dedicarse a dibujar 30 imágenes por segundo para poder entretener a alguien que quiere jugar al Halo (aunque yo lo vería bien :P)
Para los no iniciados, la estructura de un bucle, en general, es algo como esto:
mientras (condición verdadera)
{ hacer esto }
Los programadores, tan osados ellos, definieron lo que se llama "bucle infinito", esto es, aquel cuya condición siempre se cumple, y que, por tanto, se ejecuta ilimitadamente. El bucle infinito puede tener muchas formas:
Puede ser algo tan sencillo como: while (true) { ... }, algo muy utilizado, por ejemplo, en videojuegos, donde queremos que continuamente se estén dibujando imágenes en la pantalla. Estos bucles infinitos son "los buenos", porque se hacen adrede, y en principio entendiendo lo que significa.
Pero claro, como siempre, hay formas de cagarla, y que aparezca un bucle infinito donde en principio no debería. Suelen ser situaciones mucho más complejas, en las que ocurren cosas concurrentemente, y hay muchos más factores que influyen en la condición del bucle.
Y no, no me he puesto a escribir a las cuatro de la mañana para explicaros lo que es un bucle, sino porque todo esto tiene una analogía bastante clara con lo que es nuestra vida hoy en día.
En general, uno puede comenzar a hacer una tarea repetitiva bien determinada, como por ejemplo lavar los platos. Uno lava un plato, luego lava el siguiente, hasta que lava el último.
Esto, traducido a "lenguaje informático", sería algo como:
while (quedan platos sucios)
{lavar el siguiente plato sucio}
La condición del bucle es muy sencilla, y no corremos peligro de caer en un bucle infinito (a menos claro que haya algún capullo ensuciando los platos según los lavamos xD), de ser así, lavaríamos platos continuamente de por vida, y claro, eso no es muy recomendable...
Pero, al igual que en informática, hay muchas formas, muy peligrosas, de caer en un bucle infinito, y digo muy peligrosas porque las consecuencias no son tan insignificantes como que se cuelgue el ordenador, o que salga el relojito de Windows (o la pelotita de playa de la muerte para mis compañeros de Mac OS). El resultado en la vida real suele ser perder gran parte de la misma, o acabar atrapado en "algo", siendo ese "algo" un ente indefinido, que puede ser tan evidente como la propia rutina de trabajo o estudios, o repetir una y otra vez los mismos errores, hablar siempre de las mismas cosas con las mismas personas, o una secuencia más enrevesada que sea prácticamente inapreciable.
La gran pregunta es ¿cómo evitar esto?
Yo no sé la respuesta, pero las analogías suelen ser útiles para hacernos una idea de como resolver un problema, y en informática esto tiene varias soluciones.
Como por ejemplo, un contador de bucle, es decir, permitir que el bucle se ejecute un número limitado de veces, lo que al otro lado de la analogía podría ser replantearse cada cierto tiempo la situación personal de uno mismo (aunque aquí corremos el peligro de encontrarnos con un bucle más externo que consista en replantearse continuamente la situación pero, por no estar dispuestos a cambiar, esta sea siempre la misma)
También existe la posibilidad de que un agente externo interrumpa el bucle (donde "agente externo" puede ser que el mejor amigo de turno te de un toque de atención).
La otra opción, mucho menos recomendable, es "matar el proceso", y confiar en que alguien pulse el botón de "reportar fallo a microsoft", pero esto es algo mucho más dramático y poco deseable para nuestra integridad física, ¿verdad?
Da un poco de miedo ponerse a pensar en esto detenidamente, porque en nuestra vida hay ocultos muchos más bucles infinitos de los que pensamos...
viernes, 19 de febrero de 2010
Nueva York: Día 3 - O cómo Luis invadió las oficinas de Google
domingo, 14 de febrero de 2010
Nueva York: Día 2 - Central Park/Zona Cero/Empire State
jueves, 11 de febrero de 2010
Nueva York: Día 1
martes, 26 de enero de 2010
Sobre tiempo y naves espaciales
Hoy no me apetecía cantar en la ducha (thanks God), y me he puesto a pensar sobre cosas aleatorias (muy a vuestro pesar). Y, me he preguntado... realmente, ¿qué es el tiempo?
viernes, 15 de enero de 2010
Avatar, lo que pudo ser y no fue
Hace poco un blogger al que sigo habitualmente comentó las bondades y, sobre todo, los terribles fallos de Avatar, la última superproducción de James Cameron.
martes, 12 de enero de 2010
Renovando antes de empezar
Como habréis notado los pocos que me leáis, el blog estrena nuevo look (si es que lo de antes se podía llamar look), cortesía de Elena (a.k.a. ilnus, a.k.a. "la que me saca de todos los apuros de diseño últimamente").
lunes, 11 de enero de 2010
Pasar Página...
... o más bien, "Pasar Libro".
11111011010
sábado, 9 de enero de 2010
Esperando...
¿Nunca habéis pensado que nos tiramos la vida esperando que algo suceda?
viernes, 8 de enero de 2010
Forget About Your House of Cards...
...and i'll do mine." Dice una de las mejores canciones de Radiohead de los últimos años.