lunes, 18 de octubre de 2010

La mentira del diseño de código

Cualquiera que se haya tenido la mala suerte de sentarse cerca de mi en IS1 me habrá escuchado quejarme de las muchas asunciones que nos cuela la profesora. Muchas cosas tienen mucho sentido pero otras...

Una que había leído siempre pero que me había chirriado desde la primera vez es llamara a codificar "picar código". Considerar que un proyecto debe crear un diseño y posteriormente el código como si de una casa se tratase.

Hoy se me ha ocurrido buscar por ahí cosas sobre este tema y resulta que aunque no lo hubiera leído nunca gente mucho más lista que yo había opinado lo mismo bastante antes. No es de estrañar pero realmente me llena de orgullo este pequeño reconocimiento.

Aquí tenéis tres artículos que a partir de ahora consideraré imprescindibles. http://www.developerdotstar.com/mag/articles/reeves_design_main.html

Además me ha llevado a darme cuenta de que realmente habría que barrer un poco internet y buscar artículos destacables. Iré comentando por aquí los artículos que lea y consideré importantes o imprescindibles

domingo, 18 de enero de 2009

Hoy he visto El maquinista



Hoy he visto El maquinista. Una película a la que le tenía echado el ojo desde hace tiempo.

Hablar de esta película sin desvelar su argumento es muy difícil. Así que haré lo que sea posible.

La película empieza con una pequeña escena que nos desconcertará durante el resto de la película. Trata de la historía de Trevor (Christian Bale), un trabajador de una industria pesada en un estado francamente lamentable. Hipnóticamente nos vamos metiendo en su vida, intentando entender que esta ocurriendo en unos escenarios cada vez más inquietantes. Y hasta aquí puedo leer. Me contentaré con elogiar un poco la película.

La puesta en escena es muy buena y correctamente montada. Como en todas las películas de este tipo (no he podido evitar acordarme de El club de la lucha por sus encuadres) el director sigue el lenguaje visual habitual. Mezcla escenas de forma desconcertante inspirando en ti el mismo tipo de desconcierto que tiene el protagonista. El trabajo del director es correcto para este tipo de películas.

El guión sorprende más de lo que se podría esperar. Aunque un poco de intuición puedes tener sobre el desenlace varios de los detalles me han sorprendido y la resolución final explota una faceta de este tipo de películas que no esperaba. Muy muy interesante.

Probablemente uno de los aspectos más sorprendete de la película es el casi irreconocible protagonista. Christian Bale hace un papel tan explendido que tienes que hacer esfuerzos, no por creerle sino por recordar que es tan solo una película y el es solo un personaje. Incluso más destacable que su interpretación es su metamorfosis física. No quiero saber cuantos kilos tuvo que adelgazar el actor para alcanzar un aspecto tan deplorable.

Y la visión de este hombre casi-muerto no es lo más inquietante de la película.

En resumen recomiendo esta película si tienes ganas de meterte el mal rollo en el cuerpo. Aunque afortunadamente no usa la casquería logra meterte un sentimiento de intranquilidad que te hace empatizar con el personaje.

Además de resultar una interesante reflexión sobre los límites de ciertos impulsos humanos que no citaré para no destripar el final.

Un saludo a todos, y incluid esta película en vuestra lista de Para ver.

Un sorprendente e inspirador video, no os lo perdáis

Debo reconocer que este vídeo me ha resultado muy sorprendente. Es un discurso de Steve Jobs a los estudiantes de primer año en la Universidad de Stanford. Sabía que Steve Jobs es un gran comunicador pero no esperaba un discurso tan emotivo.

De vez en cuando necesitas un discurso así, que te ayude a guiarte, a animarte. No quiero comentar mucho más, simplemente tenéis que verlo.



Después de que lo veáis decir que merece la pena perder el tiempo viendo las cualidades del discurso. Esta genial montado y con unos giros muy interesantes. Si tengo que poner una pega es cierta prepotencia en el pasaje de la caligrafía. Probablemente tenga razón pero solo probablemente. Y esa posibilidad de que no la tenga debería obligarlo a un poco más de modestia. Pero se lo perdonaremos al gran Steve Jobs que esperamos que se recupere.

Un abrazo a todos y disfrutad de los exámenes. Porque se puede disfrutar de los exámenes, si nos concentramos menos en los resultado.

Un saludo.

lunes, 8 de diciembre de 2008

Instalando server Ubuntu 8.10

Utilizamos Ubuntu para instalar porque parece incluso más fácil que debian...
  1. Metemos disco
  2. Marcamos instalar.
  3. Nos pide meter la configuracion de teclado. Podemos elegirla de la lista o si tenemos ganas de jugar dejar que la adivine pulsando varias teclas. ¡En mi caso funciono!
  4. Elegimos el interfaz de red si tenemos varias tarjetas.
  5. Formateamos discos. Podemos elegir LVM o LVM cifrado (http://es.wikipedia.org/wiki/Logical_Volume_Manager). Como no tenemos miedo de que nos roben el disco duro de mi casa usamos el método normal. Aunque para el servidor en producción puede ser interesante LVM para redimensionar mas cómodamente las distintas particiones. Habrá que reflexionar aunque así va perfecto.
  6. Comienza a instalar automaticamente en todo el sistema.
  7. Una vez termina nos pide nuestro nombre completo. Nombre de usuario y contraseña.
  8. Proxy: De momento no tenemos.
  9. Actualizaciones automáticas: Podemos elegir que no actualice (inseguro) que actualice automaticamente y landscape. Para landscape hay que pagar a ubuntu así que no. Pongo actualizaciones automáticas para no tener que preocuparnos (y si da algun problema sufrirlo). Hay que ver si conviene tenerlo con actualizaciones automáticas o no (como en principio no hace falta reiniciar no debería haber problemas.
  10. Elegimos que servicios queremos. Marcamos:
    • LAMP: LAMP significa (Linux Apache Mysql Php). Perfecto no?
    • MAIL-SERVER: Quiero ver si nos puede enviar los logs al correo. Así comprobamos todos los dias la seguridad del server.
    • OPENSSH: Para tener soporte SSH y controlarlo remotamente.
    • SAMBA: Para compartir archivos comodamente en windows.
    • TOMCAT: He activado tomcat para unos experimentos con Openbravo. Ya os comentaré como anda.

  11. Metemos contraseña de MYSQL.
  12. Para el correo pensamos reenviarlo mediante gmail elegimos solo SMTP (no usaremos atentificacion con smartHost (http://en.wikipedia.org/wiki/Smart_host)). El dominio para SMTP es ardinformatica.com.
  13. MIERDA!!! EL DISCO DURO NO FUNCIONA CORRECTAMENTE!!! Trasteamos un poquillo... (este problema ya lo había tenido en las pruebas con LinuxMCE y me obligo a reinstalar varias veces...).
  14. Y ya funciona!! Apache funciona correctamente. Entramos en la web y va bien.
CONFIGUREMOS SSH

Referencia: https://help.ubuntu.com/community/SSHHowto

  1. Generamos nuestra clave para autenticarnos de forma completamente segura.
  2. En Windows: PuTTYgen (vaya nombre) en http://www.chiark.greenend.org.uk/~sgtatham/putty/ (instalamos todo el programa que lo necesitaremos...). Guardamos tanto la parte publica como la privada. Hay un cuadro de texto, esta información debe enviarse al servidor.
  3. En Linux: Usamos los comandos ssh-keygen y todo por defecto :D. Enviamos el archivo id_rsa.pub en .ssh (esta oculto ya que empieza en '.').
  4. En el Servidor: Se copia en .ssh/authorized_keys los datos obtenidos una clave en cada linea.
  5. Desactivamos la entrada con contraseña para evitar que se cuele cualquiera. Esto esta en /etc/ssh/sshd_config. Cambiamos la linea "#PasswordAuthentication yes" a "PasswordAuthentication no". Así no se envia NADA en claro. Así aunque sepan nuestra password no pueden entrar (y que adivinen una clave privada de 1024 bits jejeje).
  6. Reiniciamos el ssh para los cambios: "$ sudo /etc/init.d/ssh restart"
  7. Con esto ya podemos entrar. Podemos probar el puTTy que nos permitira entrar con nuestro usuario. (NOTA: En windows es necesario tener la clave privada como activa, por ejemplo hacer doble click abrira el pageAgent de PuTTY).
  8. VOILA!! Ya tenemos una consola en el server!!! Queremos interfaces gráficas ¡Para que! Pero como algunos pueden sentirse algo incómodos vamos a preparar las interfaces gráficas.
  9. SOLO WINDOWS: Queremos poder ejecutar la interfaz gráfica en Windows. Vamos a montar el mítico Cygwin (por ejemplo aquí: http://x.cygwin.com/ ). Esto ejecuta todos los programas de utilidad que siempre se utilizan una y otra vez en entornos Unix. En muchas páginas de administradores de sistema se considera que es una aplicacion que tienes instalada si o si.
  10. Marcamos, ademas de los por defecto, el X11 (para las aplicaciones). Aquí podéis marcar todo tipo de aplicaciones así sentiros libres de cotillear.
  11. A partir de ahora nuestro windows tiene compatibilidad con X11, el sistema de Linux. Después de que se instale en el menu inicio marcamos Cygwin-X->XWin Server. Con esto tenemos un pequeño servidor de X.
  12. En putty marcamos en Connection-SSH-X11 Marcamos EnableX11Forwarding. Con esto ya podemos arrancar cualquier programa que necesitemos desde nuestra terminal de putty. Si en el server tenemos instalado el gnome, basta con ejecutar gnome-panel y tendremos el panel de gnome con todas sus aplicaciones para jugar. ¡Perfecto!

miércoles, 29 de octubre de 2008

La crisis: Dos videos en clave de humor

Si algún día tengo un rato pondré mi opinión de forma más sería pero creo que ahora mismo es mejor un poquillo de catarsis. Y que mejor que un par de vídeos: Disfrutad de la actuación.

Vídeo con sarcástico humor ingles

Entrevista de Buenafuentes a un experto realmente curioso (y revelador)

202 citas celebres la informática

Otra ronda de citas que he encontrado por ahí. Por cortesía de Variablenotfound blog que acabo de descubrir y creo que me va a interesar mucho. Ahí van sus dos recopilaciones empalmadas.


Ordenadores

  1. "Los ordenadores son inútiles. Sólo pueden darte respuestas"
    -- Pablo Picasso

  2. "Los ordenadores son como los bikinis. Ahorran a la gente el hacer muchas conjeturas"
    -- Sam Ewing

  3. "Tienen ordenadores, y pueden tener otras armas de destrucción masiva"
    --Janet Reno

  4. "Es genial trabajar con ordenadores. No discuten, lo recuerdan todo y no se beben tu cerveza"
    -- Paul Leary)

  5. "Si
    la industria automovilística hubiera seguido el mismo desarrollo que
    los ordenadores, un Rolls-Royce costaría hoy 100 dólares, circularía un
    millón de millas con 3,7 litros y explotaría una vez al año, eliminando
    a todo el que estuviera dentro en ese momento"
    -- Robert X. Cringely

Inteligencia artificial

  1. "Los
    ordenadores se hacen cada vez más inteligentes. Los científicos dicen
    que pronto ellos serán capaces de hablarnos (y con 'ellos' me refiero a
    los ordenadores, dudo mucho que los científicos sean capaces de
    hablarnos)"
    -- Dave Barry

  2. "He notado
    últimamente que el miedo paranoico hacia ordenadores inteligentes
    tomando el control del mundo ha desaparecido totalmente. Todo lo que
    puedo contar es que este hecho coincide con la aparición de MS-DOS"
    -- Larry DeLuca

  3. "Preguntarse cuándo los ordenadores podrán pensar es como preguntarse cuándo los submarinos podrán nadar"
    -- Edsger W. Dijkstra

  4. "Es
    ridículo vivir 100 años y sólo ser capaces de recordar 30 millones de
    bytes. O sea, menos que un compact disc. La condición humana se hace
    más obsoleta cada minuto"
    -- Marvin Minsky

Confianza

  1. "R2D2, ¿te lo dijo la computadora central de la ciudad? ¡R2D2, sabes bien que no debes confiar en una computadora extraña!"
    -- C3PO

  2. "Nunca confíes en un ordenador que no puedas lanzar por una ventana"
    -- Steve Wozniak

Hardware

  1. "Hardware: las partes de un ordenador que pueden ser pateadas"
    -- Jeff Pesis

Software

  1. "La
    mayoría del software actual es muy parecido a una pirámide egipcia, con
    millones de ladrillos puestos unos encima de otros sin una estructura
    integral, simplemente realizada a base de fuerza bruta y miles de
    esclavos"
    -- Alan Kay

  2. "Por fin he
    entendido lo que significa 'upward compatible' (compatible hacia
    arriba). Significa que mantenemos todos nuestros viejos errores"

    -- Dennie van Tassel

Sistemas operativos

  1. "Hay dos grandes productos que salieron de Berkeley: LSD y UNIX. No creemos que esto sea una coincidencia"
    -- Jeremy S. Anderson

  2. "19 de enero de 2038, a las 3:14:07 AM"
    (Fin del mundo de acuerdo con la limitación de Unix de 2^32 segundos desde el 1 de enero de 1970)

  3. "Todos los sistemas operativos que hay ahí fuera son más o menos iguales. Todos somos una mierda"
    --
    Brian Valentine, vicepresidente senior de Microsoft describiendo el
    estado del arte en seguridad de sistemas operativos en 2003


  4. "Microsoft
    ha lanzado una nueva versión, Windows XP, que según todo el mundo 'es
    la versión más fiable de Windows hasta la fecha'. Para mí, esto es como
    decir que el espárrago es el vegetal más articulado que ha existido
    nunca"
    -- Dave Barry

Internet

  1. "¿Internet? ¿Todavía anda eso por ahí?"
    -- Homer Simpson

  2. "La web es como una dominatriz. En todos los sitios que voy me encuentro pequeños botones ordenándome que me someta"
    -- Nytwind
    Nota: el texto 'submit' que solemos ver en los botones de formularios se puede traducir como el verbo "someter".

  3. "Ahora que lo pienso, ya hay un millón de monos con máquinas de escribir y Usenet no es en absoluto como la obra de Shakespeare"
    -- Blair Houghton

Industria del software

  1. "El
    logro más impresionante de la industria del software es su continua
    anulación de los constantes y asombrosos logros de la industria del
    hardware"
    -- Henry Petroski

  2. "La verdadera
    innovación a menudo viene de las pequeñas startups que son capaces de
    crear mercados pero carecen de peso para poseerlos"
    -- Timm Martin

  3. "Se
    dice que las grandes disciplinas científicas son ejemplos de gigantes
    subidos a los hombros de otros gigantes. También se dice que la
    industria del software es un ejemplo de enanos subidos a los dedos de
    los pies de otros enanos"

    -- Alan Cooper

  4. "No se trata bits, bytes y protocolos, sino de beneficios, pérdidas y márgenes"
    -- Lou Gerstner

  5. "Somos Microsoft. La resistencia es inútil. Serás absorbido"
    -- Bumper sticker

Software Demos

  1. "No
    importa lo estupendamente que haya ido la demo en los ensayos, cuando
    lo haces frente a tu audiencia la probabilidad de que sea una
    presentación existosa es inversamente proporcional al número de
    personas mirando, elevado a la cantidad de dinero que hay en juego"
    -- Mark Gibbs

Patentes software

  1. "La mayoría de las patentes son una mierda. Dedicar tiempo a leerlas
    es estúpido. Es cosa de los propietarios de las patentes hacerlo y procurar que se respeten"
    -- Linus Torvalds

Complejidad

  1. "Controlar la complejidad es la esencia de la programación"
    -- Brian Kernigan

  2. "La
    complejidad es destructiva. Chupa la sangre de los desarrolladores,
    hace que los productos sean difíciles de planificar, construir y
    probar, introduce problemas de seguridad y provoca la frustración de
    usuarios finales y administradores"
    -- Ray Ozzie

  3. "Hay
    dos maneras de diseñar software: una es hacerlo tan simple que sea
    obvia su falta de deficiencias, y la otra es hacerlo tan complejo que
    no haya deficiencias obvias"
    -- C.A.R. Hoare

  4. "La función de un buen software es hacer que lo complejo aparente ser simple"
    -- Grady Booch

Facilidad de uso

  1. "Recuerda:
    no eres torpe, no importa lo que digan esos libros. Los torpes de
    verdad son gente que, creyéndose expertos técnicos, no podrían diseñar
    hardware y software manejable por usuarios normales aunque la vida les
    fuera en ello"
    -- Walter Mossberg

  2. "Los
    proveedores de software están intentando hacer sus productos más
    amigables para el usuario. Su mejor aproximación hasta el momento ha
    sido tomar sus antiguos folletos y estampar las palabras 'amigable para
    el usuario' en la portada"
    -- Bill Gates

  3. "Hay
    una antigua historia sobre una persona que quería que su ordenador
    fuese tan fácil de utilizar como su teléfono. Estos deseos se han hecho
    realidad, ya no sé cómo usar mi teléfono"
    -- Bjarne Stroustrup

Usuarios

  1. "Cualquier idiota puede usar un ordenador. De hecho, muchos lo hacen"
    -- Ted Nelson

  2. "Sólo hay dos industrias que se refieren a sus clientes como 'usuarios'"
    -- Edward Tufte

Desarrolladores

  1. "La
    programación es una carrera entre los desarrolladores, intentando
    construir mayores y mejores programas a prueba de idiotas, y el
    universo, intentanto producir mayores y mejores idiotas. Por ahora va
    ganando el Universo"
    -- Rich Cook

  2. "La
    mayoría de ustedes están familiarizados con las virtudes del
    programador. Son tres, por supusto: pereza, impaciencia y orgullo
    desmedido"
    -- Larry Wall

  3. "El problema que
    hay con los programadores es que nunca puedes contar lo que un
    programador está haciendo hasta que es demasiado tarde"
    -- Seymour Cray

  4. "Esto es lo que ocurre con la gente que piensa que odia los ordenadores. Lo que realmente odia es a los malditos programadores"
    -- Larry Niven

  5. "Durante
    mucho tiempo no entendía cómo algo tan caro y puntero podía ser tan
    inútil. Y entonces me vino a la mente que un ordenador es una máquina
    estúpida con la habilidad de hacer cosas increíblemente inteligentes,
    mientras que los programadores son inteligentes personas con la
    habilidad de hacer cosas estúpidas. Son, en resumen, una pareja
    perfecta"
    -- Bill Bryson

  6. "La formación en
    informática no puede convertir a nadie en experto programador, de la
    misma forma que estudiar pinceles y pigmentos puede hacer a alguien un
    experto pintor"
    -- Eric Raymond

  7. "Un
    programador es la persona considerada experta en ser capaz de sacar,
    después de innumerables tecleos, una serie infinita de respuestas
    incomprensibles calculadas con precisión micrométrica a partir de vagas
    asunciones basadas en discutibles cifras tomadas de documentos
    inconcluyentes y llevados a cabo con instrumentos de escasa precisión,
    por personas de fiabilidad dudosa y cuestionable mentalidad con el
    propósito declarado de molestar y confundiar al desesperado e indefenso
    departamento que tuvo la mala fortuna de pedir la información en primer
    lugar"
    -- IEEE Grid newsmagazine

  8. "Un
    hacker puede ser capaz de producir, en unos pocos meses, algo que un
    pequeño grupo de desarrolladores (digamos de 7 u 8 personas) podría
    tener trabajado duramente juntos más de un año. IBM solía decir que
    ciertos programadores podían ser 100 veces más productivos que otros
    trabajadores, o más"
    -- Peter Seebach

  9. "Los
    mejores programadores no son sólo marginalmente mejores que los buenos.
    Se trata de un orden de magnitud mayor, medida por cualquier estándar:
    creatividad conceptual, velocidad, ingenio o habilidad para solucionar
    problemas"
    -- Randall E. Stross

  10. "Un gran
    operario de tornos vale varias veces más que un operario medio, pero un
    gran escritor de código vale 10.000 veces el precio de un desarrollador
    medio"
    -- Bill Gates

Programación

  1. "No te preocupes si no funciona bien. Si todo estuviera correcto, serías despedido de tu trabajo"
    -- Ley de Mosher de la Ingeniería del Software

  2. "Medir
    el progreso del desarrollo de software por líneas de código es como
    medir el progreso de la construcción de un avión por su peso"
    -- Bill Gates

  3. "La
    escritura de código tiene un lugar en la jerarquía humana de valores
    por encima del saqueo de tumbas y por debajo de la dirección y gestión"
    -- Gerald Weinberg

  4. "Primero aprende informática y toda la teoría. Después desarrolla un estilo de programación. Entonces, olvídalo todo y hackea"
    -- George Carrette

  5. "Primero resuelve el problema. Entonces, escribe el código"
    -- John Johnson

  6. "El optimismo es un riesgo laboral de la programación; el feedback es el tratamiento"
    -- Kent Beck

  7. "Iterar es humano, 'recursivar' es divino"
    -- L. Peter Deutsch

  8. "Lo mejor de los booleanos es que si te equivocas estás a un sólo bit de la solución correcta"
    -- Anónimo

  9. "¿Los
    índices de los arrays deberían comenzar en 0 o en 1? Mi propuesta
    neutral de usar 0.5 fue rechazada, en mi opinión, sin la debida
    consideración"
    -- Stan Kelly-Bootle

Lenguajes de programación

  1. "Hay
    sólo dos clases de lenguajes de programación: aquellos de los que la
    gente está siempre quejándose y aquellos que nadie usa"
    -- Bjarne Stroustrup

  2. "PHP
    es un mal menor perpetrado y creado por amaterus incompetentes,
    mientras que Perl es un gran e insidioso mal perpetrado por hábiles
    pero pervertidos profesionales"
    -- Jon Ribbens

  3. "El uso de COBOL daña la mente. Su enseñanza debería ser considerada como un ataque criminal"
    -- E. W. Dijkstra

  4. "Es
    prácticamente imposible enseñar buenos hábitos de programación a
    estudiantes que hayan sido previamente sometidos a una exposición de
    BASIC. Como desarrolladores en potencia, están mentalmente mutilados
    sin esperanza de regeneración"
    -- E. W. Dijkstra

  5. "Pienso que Microsoft eligió el nombre .Net para que no pudiera ser mostrado en un listado de directorio de Unix"
    -- Oktal

  6. "No hay lenguaje de programación, no importa su estructura, que impida que los programadores hagan malos programas"
    -- Larry Flon

  7. "El diseño de lenguajes de programación es como pasear en el parque. Bueno, en parque jurásico"
    -- Larry Wall

C/C++

  1. "¿Cincuenta años de investigación en lenguajes de programación, y acabamos con C++?"
    -- Richard A. O'Keefe

  2. "Escribir en C o C++ es como utilizar una sierra eléctrica sin ningún tipo de protección"
    -- Bob Gray

  3. "Cuando usas C++ es más difícil que te dispares a tí mismo en el pie, pero cuando lo haces, te vuelas la pierna entera"
    -- Bjarne Stroustrup

  4. "C++ : Donde los amigos tienen acceso a tus miembros privados"
    -- Gavin Russell Baker

  5. "Una
    de las causas principales de la caída del imperio romano fue que, como
    no usaban el cero, no tenían forma de saber cuándo sus programas en C
    terminaban correctamente"
    -- Robert Firth

Java

  1. "Java es, en muchos sentidos, C++-"
    -- Michael Feldman

  2. "Decir
    que Java es estupendo porque funciona con todos los sistemas operativos
    es como decir que el sexo anal es estupendo porque funciona con todos
    los géneros"
    -- Alanna

  3. "Bien, Java
    podría ser un buen ejemplo de cómo debería ser un lenguaje de
    programación. Sin embargo, las aplicaciones Java son buenos ejemplos de
    cómo las aplicaciones no deberían ser"
    -- Pixadel

  4. "Si
    Java dispusiera de un mecanismo real de recolección de basura, la
    mayoría de los programas deberían autoeliminarse al ser ejecutados"
    -- Robert Sewell

Software libre

  1. "El software es como el sexo: mejor si es libre y gratis"
    -- Linus Torvalds


  2. "Las únicas personas que tienen algo que temer de software libre son aquellos cuyos productos tienen un valor aún menor"
    -- David Emery

Código

  1. "El buen código es su mejor documentación"
    -- Steve McConnell

  2. "Cualquier código tuyo que no hayas mirado en los últimos seis meses o más es como si lo hubiese escrito otro"
    -- Eagleson's Law

  3. "El
    primer 90% del código corresponde al primer 90% del tiempo de
    desarrollo. El 10% restante corresponde al otro 90% del desarrollo"
    -- Tom Cargill

Desarrollo de software

  1. "Los buenos programadores usan sus cerebros, pero unas buenas directrices nos ahorran de tener que hacerlo en cada caso"
    -- Francis Glassborow

  2. "En
    software, muy raramente partimos de requisitos con sentido. Incluso
    teniéndolos, la única medida del éxito que importa es si nuestra
    solución resuelve la cambiante idea que el cliente tiene de lo que es
    su problema"
    -- Jeff Atwood

  3. "Considerando
    el lamentable estado de nuestras aplicaciones informáticas actuales, el
    desarrollo de software es todavía un arte oscuro, y no puede ser aún
    considerado una ingeniería"
    -- Bill Clinton

  4. "No
    puedes crear un gran software sin un gran equipo, y la mayoría de los
    equipos de desarrollo se comportan como familias disfuncionales"
    -- Jim McCarthy

Depuración

  1. "Tan
    pronto como comenzamos a programar encontramos, para nuestra sorpresa,
    que crear programas correctos no era tan fácil como habíamos pensado.
    Tuvo que descubrirse la depuración. Puedo recordar el instante exacto
    en el que me dí cuenta que una gran parte de mi vida desde entonces iba
    a pasarla encontrando errores en mis propios programas"
    -- Maurice Wilkes descubre la depuración, 1949

  2. "Depurar
    es al menos dos veces más duro que escribir el código por primera vez.
    Por tanto, si tu escribes el código de la forma más inteligente posible
    no serás, por definición, lo suficientemente inteligente para depurarlo"
    -- Brian Kernighan

  3. "Si la depuración es el proceso de eliminar errores, entonces la programación debe ser el proceso de introducirlos"
    -- Edsger W. Dijkstra

Calidad

  1. "¡No me importa si funciona en tu máquina! ¡No estamos vendiendo tu máquina!"
    -- Vidiu Platon

  2. "Programar es como el sexo: un único error y tienes que estar soportándolo toda la vida"
    -- Michael Sinz

  3. "Hay dos formas de escribir programas sin errores; sólo la tercera funciona"
    -- Alan J. Perlis

  4. "Puedes tener un software de calidad o puedes tener aritmética de punteros, pero no puedes tener ambas cosas al mismo tiempo"
    -- Bertrand Meyer

  5. "Si
    McDonnalds funcionara como una compañía de software, uno de cada cien
    Big Macs te envenenarían, y la respuesta sería 'lo sentimos, aquí tiene
    un cupón para dos más'"
    -- Mark Minasi

  6. "Codifica siempre como si la persona que finalmente mantendrá tu código fuera un psicópata violento que sabe dónde vives"
    -- Martin Golding

  7. "Cometer errores es humano, pero para estropear realmente las cosas necesitas un ordenador"
    -- Paul Ehrlich

  8. "Un
    ordenador te permite cometer más errores y más rápido que cualquier
    otra invención en la historia de la humanidad, con las posibles
    excepciones de las pistolas y el tequila"
    -- Mitch Radcliffe

Predicciones

  1. "Todo lo que puede ser inventado ha sido ya inventado"
    -- Charles H. Duell, Comisario de oficina de Patentes en EEUU, en 1899

  2. "Pienso que hay mercado en el mundo como para unos cinco ordenadores"
    -- Thomas J. Watson, Presidente de la Junta Directiva de IBM, sobre 1948

  3. "Podría
    parecer que hemos llegado a los límites alcanzables por la tecnología
    informática, aunque uno debe ser prudente con estas afirmaciones, pues
    tienden a sonar bastante tontas en cinco años"
    -- John Von Neumann, sobre 1949

  4. "Pero, ¿para qué puede valer eso?"
    -- Ingeniero en la división de sistemas informáticos avanzados de IBM, hablando sobre los microchips, en 1968

  5. "No hay ninguna razón para que un individuo tenga un ordenador en su casa"
    -- Ken Olson, Presidente de Digital Equipment Corporation, en 1977

  6. "640K deberían ser suficientes para todo el mundo"
    -- Bill Gates, 1981

  7. "Windows NT podrá direccionar 2GB de RAM, que es más de lo que cualquier aplicación va a necesitar jamás"
    -- Microsoft, durante el desarrollo de Windows NT, en 1992

  8. "Nunca seremos realmente una sociedad sin papeles hasta que la gente de la Palm Pilot creen 'WipeMe 1.0'"
    -- Andy Pierson
    (Nota: Wipe es la traducción de toallita de papel)


  9. "Si las cosas siguen así, al hombre se le atrofiarán todas sus extremidades excepto los dedos de pulsar los botones"
    -- Frank Lloyd Wright

Informática

1. "No temo a los ordenadores; lo que temo es quedarme sin ellos"
     -- Isaac Asimov

2. "Una vez un ordenador me venció jugando al ajedrez, pero no me opuso resistencia cuando pasamos al kick boxing"
     -- Emo Philips

3. "La informática tiene que ver con los ordenadores lo mismo que la astronomía con los telescopios"
     -- Edsger W. Dijkstra

4. "El ordenador nació para resolver problemas que antes no existían"
     -- Bill Gates

5.
"El software es como la entropía: difícil de atrapar, no pesa, y cumple
la Segunda Ley de la Termodinámica, es decir, tiende a incrementarse"
     -- Norman Augustine

6. "El software es un gas: se expande hasta llenar su contenedor"
     -- Nathan Myhrvold

7.
"Todas las piezas deben unirse sin ser forzadas. Debe recordar que los
componentes que está reensamblando fueron desmontados por usted, por lo
que si no puede unirlos debe existir una razón. Pero sobre todo, no use
un martillo"
     -- Manual de mantenimiento de IBM, año 1925

8. "Los estándares son siempre obsoletos. Eso es lo que los hace estándares"
     -- Alan Bennett

9. "La física es el sistema operativo del Universo"
     -- Steven R Garman

10. "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta"
     -- Craig Bruce

Conocimiento

11. "La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no"
     -- Albert Einstein

12. "El mayor enemigo del conocimiento no es la ignorancia, sino la ilusión del conocimiento"
     -- Stephen Hawking

13. "Cuanto más sabes, más te das cuenta de que no sabes nada"
     -- Sócrates

14. "Dime y lo olvido, enséñame y lo recuerdo, involúcrame y lo aprendo"
     -- Benjamín Franklin

15. "El auténtico conocimiento es conocer la extensión de la propia ignorancia"
     -- Confucio

16. "Si la gente no hiciera cosas estúpidas, nunca se podría haber hecho nada inteligente"
     -- Ludwig Wittgenstein

17. "Obtener información de internet es como intentar beber agua de una boca de incendios"
     -- Mitchell Kapor

Usuarios

18. "Si piensas que los usuarios de tus programas son idiotas, sólo los idiotas usarán tus programas"
     -- Linus Torvalds

19.
"Desde el punto de vista de un programador, el usuario no es más que un
periférico que teclea cuando se le envía una petición de lectura"
     -- P. Williams

20. "¿Dónde está la tecla 'ANY'?"
     -- Homer Simpson, frente a un mensaje "press any key"

21. "Los ordenadores son buenos siguiendo instrucciones, no leyendo tu mente"
     -- Donald Knuth

22. "Sólo hay un problema con el sentido común: que no es demasiado común"
     -- Milt Bryce

23. "Tus clientes más descontentos son tu mayor fuente de aprendizaje"
     -- Bill Gates

24.
"Tenemos que cambiar la tradicional actitud ante la construcción de
software. En vez de pensar que nuestra principal tarea es indicar a un
ordenador qué hacer, concentrémonos en explicar a las personas lo que
queremos que el ordenador haga"
     -- Donald E. Knuth

Internet

25. "¿Internet? No estamos interesados en eso"
     -- Bill Gates

26. "La mejor forma de obtener información correcta de los foros de Usenet es enviar algo incorrecto y esperar las correcciones"
     -- Matthew Austern

Profesionales

27.
"La mayoría de expertos está de acuerdo en que la causa más probable de
destrucción del mundo sería por accidente; y aquí es donde entramos
nosotros: somos profesionales de la informática, causamos accidentes"
     -- Nathaniel Borenstein

28.
"Dicen que los pesimistas ven el vaso medio vacío; los optimistas, en
cambio, lo ven medio lleno. Los ingenieros, por supuesto, ven que el
vaso es el doble de grande de lo que sería necesario"
     -- Bob Lewis

29. "Si en una sala llena de diseñadores de software dos de ellos están de acuerdo, eso es una mayoría"
     -- Bill Curtis

30.
"Es importante destacar que ningún ingeniero software con ética
consentiría escribir un procedimiento llamado DestruirBaghdad. Su ética
le obligaría a escribir un procedimiento DestruirCiudad, al que se
pasaría el parámetro Baghdad"
     -- Nathaniel S. Borenstein

31.
"Una de las cosas más fascinantes de los programadores es que no puedes
saber si están trabajando o no sólo con mirarlos. A menudo están
sentados aparentemente tomando café, chismorreando o mirando a las
nubes. Sin embargo, es posible que estén poniendo en orden todas las
ideas individuales y sin relación que pululan por su mente"
     -- Charles M. Strauss

32.
"Si piensas que vales lo que sabes, estás muy equivocado. Tus
conocimientos de hoy no tienen mucho valor más allá de un par de años.
Lo que vales es lo que puedes llegar a aprender, la facilidad con la
que te adaptas a los cambios que esta profesión nos regala tan
frecuentemente"
     -- José M. Aguilar, en cómo tu blog te ayuda a encontrar empleo

Programación

33. "Los programas deben ser escritos para que los lean las personas, y sólo incidentalmente, para que lo ejecuten las máquinas"
     -- Abelson and Sussman

34.
"Comentar el código es como limpiar el cuarto de baño; nadie quiere
hacerlo, pero el resultado es siempre una experiencia más agradable
para uno mismo y sus invitados"
     -- Ryan Campbell

35. "Tenemos que dejar de optimizar para programadores y comenzar a optimizar para usuarios"
     -- Jeff Atwood

36. "La programación en bajo nivel es buena para el alma del programador"
     -- John Carmack

37.
"Está bien investigar y resolver misteriosos asesinatos, pero no
deberías necesitar hacerlo con el código. Simplemente deberías poder
leerlo"
     -- Steve McConnell

38. "Si queremos contar líneas de código, no deberíamos referirnos a ellas como líneas producidas, sino como líneas consumidas"
     -- Edsger Dijkstra

39. "La programación puede ser divertida, al igual que la criptografía; sin embargo, ambas no deberían combinarse"
     -- Kreitzberg and Shneiderman

40. "Antes de que un software sea reutilizable debería ser utilizable"
     -- Ralph Johnson

41. "Si automatizas un procedimiento desastroso, obtienes un procedimiento desastroso automatizado"
     -- Rod Michael

42.
"Ley de Alzheimer de la programación: si lees un código que escribiste
hace más de dos semanas es como si lo vieras por primera vez"
     -- Via Dan Hurvitz

43. "Es más fácil cambiar las especificaciones para que encajen con el software que hacerlo al revés"
     -- Alan Perlis

44.
"Menos del 10% del código tienen que ver directamente con el propósito
del sistema; el resto tiene que ver con la entrada y salida, validación
de datos, mantenimiento de estructuras de datos y otras labores
domésticas"
     -- Mary Shaw

45. "Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno"
     -- Alan Perlis

46.
"Es raro que mantener el código de otro desarrollador sea como entrar
en un edificio de gran diseño que admiras mientras paseas por él y
planeas cómo añadirle un ala o algún elemento decorativo. Lo más
frecuente es que sea como tirarse de cabeza a un gran montón de basura
maloliente"
     -- Bill Venners

47. "La generación de código, como beber alcohol, es bueno si se hace con moderación"
     -- Alex Lowe

Desarrollo

48. "La simplicidad llevada al extremo se convierte en elegancia"
     -- Jon Franklin

49. "Un programa nunca está completo por debajo del 90% ni por encima del 95%"
     -- Terry Baker

50.
"Cuando estás en un atasco de tráfico con un Porsche, todo lo que
puedes hacer es consumir más combustible que el resto estando parado.
La escalabilidad va de construir carreteras más anchas, no coches más
rápidos"
     -- Steve Swartz

51. "Todo el mundo
sabe el peligro de la optimización prematura. Pienso que deberíamos
estar igualmente preocupados con el diseño prematuro, es decir, el
hecho de diseñar demasiado pronto lo que un programa debería hacer"
     -- Paul Graham

52.
"Programar sin una arquitectura o diseño en mente es como explorar una
gruta sólo con una linterna: no sabes dónde estás, dónde has estado ni
hacia dónde vas"
     -- Danny Thorpe

53. "La mejor forma de predecir el futuro es implementarlo"
     -- David Heinemeier Hansson

54.
"Lo realmente necesario es saberlo todo sobre los cambios en la
información. Nadie quiere o necesita que le recuerden 16 horas al día
que tiene sus zapatos puestos"
     -- David Hubel

55.
"En dos ocasiones me han preguntado: 'si pone datos incorrectos en la
máquina, ¿saldrán las respuestas correctas?'. Soy absolutamente incapaz
de hacerme una idea del tipo de confusión de ideas que pueden provocar
que alguien haga una pregunta así"
     -- Charles Babbage

56. "Hazlo todo tan simple como sea posible, pero no más simple"
     -- Albert Einstein

57. "Hoy en día la mayoría del software existe no para resolver un problema, sino para actuar de interfaz con otro software"
     -- I. O. Angell

58.
"Unas buenas especificaciones incrementará la productividad del
programador mucho más de lo que puede hacerlo cualquier herramienta o
técnica"
     -- Milt Bryce

59. "La diferencia entre la teoría y la práctica es que, en teoría, no hay diferencia entre la teoría y la práctica"
     -- Richard Moore, desarrollador de KDE

Errores y depuración

60. "No documentes el problema; arréglalo"
     -- Atli Björgvin Oddsson

61.
"Por norma, los sistemas software no funcionan bien hasta que han sido
utilizados y han fallado repetidamente en entornos reales"
     -- Dave Parnas

62. "Si el código y los comentarios no coinciden, posiblemente ambos sean erróneos"
     -- Norm Schryer

63. "Creo que es una nueva característica. No le cuentes a nadie que fue un accidente"
     -- Larry Wall

64. "Si no las capturas y procesas, cerramos tu aplicación. Esto incrementa enormemente la fiabilidad de tu sistema"
     -- Anders Hejlsberg, sobre las excepciones en .Net

65. "Cuando se está depurando, el programador novato introduce código correctivo; el experto elimina el código defectuoso"
     -- Richard Pattis

66.
"En un proyecto software con diez personas, probablemente tres de ellas
introducen tantos errores que podríamos considerar su productividad
como negativa"
     -- Gordon Schulmeyer

67. "Es
inevitable que la gente programe mal, y la formación no mejorará
sustancialmente las cosas. Tenemos que aprender a vivir con ello"
     -- Alan Perlis

68.
"El testing de componentes puede ser muy efectivo para mostrar la
presencia de errores, pero absolutamente inadecuado para demostrar su
ausencia"
     -- Edsger Dijkstra

Lenguajes y tecnologías

69.
"La gestión manual de bloques de memoria en C es como hacer
malabarismos con pastillas de jabón en la ducha de la prisión: todo
diversión hasta que cometes un fallo"
     -- Un usuario anónimo de un foro Usenet

70. "No pueden existir concursos de Perl ofuscado; no tendría sentido"
     -- Jeff Polk (Nota: ¡sí que los hay!)

71. "Java es lo más penoso que le ha ocurrido a la informática desde MS-DOS"
     -- Alan Kay

72. "Sólo hay dos cosas malas en C++: el concepto inicial y la implementación"
     -- Bertrand Meyer

73. "Era una broma, ¿vale? Si hubiéramos pensado que iba a usarse no la habríamos escrito"
     -- Mark Andreesen, hablando de la etiqueta BLINK de HTML

74.
"Los Servicios Web son como el sexo entre los adolescentes. Todos
hablan de hacerlo, pero aquellos que realmente lo hacen, lo hacen muy
mal"
     -- Michelle Bustamante

75. "Perl: el único lenguaje cuyo código es prácticamente igual antes y después de someterlo a una encriptación RSA"
     -- Keith Bostic

76.
"No trabajé duro para hacer Ruby perfecto para todo el mundo, porque
todos somos diferentes. Intenté hacer Ruby perfecto para mí, así que
puede que a tí no te lo parezca; probablemente, el mejor lenguaje para
Guido van Rossum es Python"
     -- Yukihiro Matsumoto, aka "Matz", creador de Ruby

77. "XML no es más lenguaje de programación que unas notas sobre una servilleta de papel"
     -- Charles Simonyi

78. "BASIC es a la programación lo que QWERTY a la mecanografía"
     -- Seymour Papert

79.
"Se ha descubierto que C++ dispone de una gran facilidad para ocultar
los detalles triviales de un programa... así como dónde están sus bugs"
     -- David Keppel

80. "UNIX es simple. Sólo necesita un genio para entender su simplicidad"
     -- Dennis Ritchie

81.
"Algunos desarrolladores cuando se enfrentan a un problema piensan que
la solución es usar expresiones regulares. En este momento, ya tienen
dos problemas"
     -- Jamie Zawinski

Seguridad

82.
"Pienso que los virus informáticos muestran la naturaleza humana: la
única forma de vida que hemos creado hasta el momento es puramente
destructiva"
     -- Stephen Hawking

83. "El único
sistema seguro es aquél que está apagado en el interior de un bloque de
hormigón protegido en una habitación sellada rodeada por guardias
armados"
     -- Gene Spafford

84. "Saber romper
medidas de seguridad no hacen que seas hacker, al igual que saber hacer
un puente en un coche no te convierte en un ingeniero de automoción"
     -- Eric Raymond

85.
"Las organizaciones gastan millones de dólares en firewalls y
dispositivos de seguridad, pero tiran el dinero porque ninguna de estas
medidas cubre el eslabón más débil de la cadena de seguridad: la gente
que usa y administra los ordenadores"
     -- Kevin Mitnick

86.
"Si piensas que la tecnología puede solucionar tus problemas de
seguridad, está claro que ni entiendes los problemas ni entiendes la
tecnología"
     -- Bruce Schneier

87. "Los bulos
(hoaxes) que circulan por internet usan la debilidad del ser humano
para asegurar su replicación y distribución. En otras palabras,
utilizan los resquicios del Sistema Operativo Humano"
     -- Stewart Kirkpatrick

88.
"Las contraseñas son como la ropa interor. No puedes dejar que nadie la
vea, debes cambiarla regularmente y no debes compartirla con extraños"
     -- Chris Pirillo

Empresa

89. "En realidad no trato de destruir a Microsoft: eso será sólo un efecto colateral no intencionado"
     -- Linus Torvalds

90. "Sí, tenemos unas reglas de vestuario en la empresa. Tienes que vestirte"
     -- Scott McNealy, co-fundador de Sun Microsystems

91.
"En el mundo del software, los activos más importantes de la compañía
se van a casa todas las noches. Si no se les trata bien, pueden no
volver al día siguiente"
     -- Peter Chang

92. "Es
mejor esperar a que un desarrollador productivo esté disponible que
esperar a que el primer desarrollador disponible sea productivo"
     -- Steve C McConnell

93.
"No soy de los que piensan que Bill Gates es el diablo. Simplemente
sospecho que si Microsoft alguna vez se encontrara con el diablo, no
necesitarían un intérprete"
     -- Nicholas Petreley

Predicciones

94. “En dos años el problema del spam se habrá resuelto”
     -- Bill Gates, 2004

95. "El problema de los virus es pasajero. En un par de años estará resuelto"
     -- John McAfee, 1988

96. “Los virus informáticos son una leyenda urbana”
     -- Peter Norton, 1988

97. "En 2031, los abogados serán componentes habituales de la mayoría de los equipos de desarrollo"
     -- Grady Booch

98. “No sé cómo será el lenguaje del año 2000, pero sé que se llamará Fortran”
     -- C. A. Hoare, 1982

99. "En el futuro es posible que los ordenadores no pesen más de 1,5 toneladas"
     -- Popular mechanics, 1949

100. “Veo poco potencial comercial en Internet, al menos durante diez años”
     -- Bill Gates, 1994

101.
"Antes de que el hombre alcance la luna, el correo será enviado en unas
horas desde Nueva York a California, Inglaterra, India o Australia con
misiles guiados. Estamos en la era del misil-correo"
     -- Arthur Summerfield, 1959, Correos de los Estados Unidos

miércoles, 3 de septiembre de 2008

Hoy he visto Amelie


Hoy he visto Amelie. Os podéis creer que no la haya visto hasta ahora. Yo no.

Y es que esta película se ve como si fuera un buen vino. Se disfrutan de sus imágenes, de su estética, de su irradiante felicidad. Y cuando acaba deja un regusto a ganas de vivir.

Para el que no le importe que le destripe la película, o la haya visto y quiera ver lo que otros ven... (Vamos, spoiler para los entendidos ;-D)

Es sencillamente preciosa. Otros la han definido como genial, curiosa e incluso rara y creo que se gana todos esos apelativos. Construye unos personajes tan absolutamente irreales que hasta podríamos conocerlos en nuestro día a día. Juega brillantemente con los estereotipos para crear personajes sencillos pero profundamente vivos.

El detalle de crear personajes desde las cosas pequeñas, con lo que le gusta y lo que no le gusta es agradable. Con este método el narrador va presentándonos un juego de personajes que sin abrumar, completan la película. Muchas de las historias parecerían merecerse una película tanto como Amelie, si no fuera por como es Amelie.

Viendo la película no podía evitar empatizar con ella, sin conseguirlo del todo. Desde el punto de vista de como se hizo, la elección del narrador de fondo es genial. Crea unas palabras sencillas que acompañan las imágenes y nuestros sentimientos pero nos impiden comprender totalmente a la protagonista.

La primera parte de la película es genial. Nos cuenta la historia de la pequeña Amelie, lleno de guiños que nos hacen reír, o al menos sonreír y hasta algo de humor negro (no olvidaré como muere la madre...).

Después de tanta extrañeza, la película parece entrar en un camino más tranquilo el resto de la película. Contándonos multitud de historias que se van abriendo y envolviendo a Amelie en su camino.

La película brilla por todos lados. Un reparto genial encabezado por Amelie, pero secundado por el maravilloso vecino de abajo y el ciego que hacen un papel extraordinario. La cámara se muestra solicita ante el director y muestra lo que quiere ver, con un aire desenfrenado y elegante que no podía faltar en esta película. El entorno no deja de ser un reflejo precioso de Paris al que quiero volver a visitar ya mismo. Por último la música de la película, acompaña la acción sin destacar.

Como únicos defectos esta que se me ha antojado ligeramente corta y que no veré otra igual en mucho tiempo. Al menos no otra que me llegue al corazón.

Conclusión por si alguien no lo ha pillado ME HA GUSTADO MUCHO, incluso llegando a este pequeño corazoncito.

Por último y como anécdota personal, recuerdo haber conocido a Amelie. Fue una mañana de un verano precioso. En uno de los albergues con mejor ubicación que conozco, en pleno centro de Carcassone recuerdo haber conocido a una francesa en el desayuno. Después de un rato de conversación no pudimos evitar hacer notar su parecido con Amelie. Y mira tu por donde que cuando nos pregunto si habíamos visto la película (y tuve que responder que no) y que si recordábamos la casa donde vivia. Resulta que ella vivia exactamente en esa misma calle. Y por si alguien no lo cree me remito a toño que de fe de que esto ocurrió (comenta cabrón!)

Y después de haber visto la película, me enorgullezco de haber conocido a Amelie en persona...