Archivo

Archivo para la categoría ‘profesión’

Historia de un bit

viernes, 2 de marzo de 2012
Comentarios desactivados en Historia de un bit

Un bit en el ordenador es una decisión. Un sí o un no, el camino de la izquierda o el de la derecha, mostrar un punto en la pantalla, o no, enviar un dato por la línea de comunicaciones o no, mandar una señal al otro lado del mundo. O no.

Cuando combinas varios bits, tienes tantos caminos como la posible combinación de ellos. Así, si tienes dos bits, tendrás dos posibles alternativas para el primero, y para cada una de ellas, otras dos para el segundo bit, en total, cuatro. Con tres bits, son 8 los posibles caminos. Si reúnes ocho bits, un clásico en nuestro mundillo, tendrías 2 · 2 · 2 · 2 · 2 · 2 · 2 · 2 = 28 = 256 opciones. Precisamente con 8 bits puedes representar las letras del alfabeto, los números, algunos signos de puntuación y otros caracteres, porque todos ellos juntos (27 mayúsculas, 27 minúsculas, 10 dígitos…) suponen menos de 257 caracteres. Por ejemplo, la B está representada por la combinación de bits 01000010 (que además es el número 66).

Los números se vuelve enormemente grandes cuando consideramos programas de cierto tamaño. Por ejemplo, la versión 2010 de Microsoft Excel ocupa 20.767.072 bytes, es decir, 166.136.576 alternativas. Excel no funciona sólo, necesita de Windows y de programas adicionales para poder funcionar. Todos los programas básicos de Windows (me tomaré la libertad considerar básicos únicamente los programas en la carpeta C:\Windows\System32 de mi ordenador) suponen algo más de 4.580 millones de decisiones.

TronPaperBit

Se podría decir entonces que lo sencillo de la informática es que todo se reduce a ceros y a unos, y habría que coincidir en que lo complicado de la informática es que te vienen en paquetes de varios millones de ellos, y un cambio en uno sólo de esos dígitos, si pasa si ser detectado, puede dar al traste con tu trabajo. Os cuento un caso.

Ayer mismo, durante unas pruebas, cierto porcentaje en un cálculo resultó ser 7,56%, cuando realmente debería ser 0,00%. ¿Qué ocurrió? Nos llevó un tiempo encontrarlo, pero el problema residía en que, en la maraña de datos que manejábamos, en vez de aparecer la letra B, aparecía la letra C. Esta letra en binario se representa como 01000011 en vez de 01000010, que es la representación de la B, es decir, un único bit de diferencia. Con una única decisión equivocada entre varios billones de decisiones, dos conjuntos de datos nunca llegaron a encontrarse, y una triste resta, que debería haber dado como resultado un cero, dio un resultado distinto. Una única decisión.

Ya lo decía Neo

Para los que no hayan visto la primera película de Tron, lo de la imagen son los modelos en papel de un bit representando un uno (“Sí”), un bit en estado neutro, y un bit representando un cero (“No”) 🙂

profesión , , , , ,

Un final (y un comienzo) a un clic de distancia

viernes, 8 de abril de 2011

Parecía que no iba a llegar nunca. Pero al final todo llega. Incluso el último envío de los trabajos del máster. Hoy, a las 23:32, puedo dar por concluido, definitivamente, y para el beneficio mío, de mi familia y de mis amigos, el proyecto Norman.

Aquí, la prueba:

¡Enhorabuena a los premiados!

mens sana, profesión, Secretos del corazón , , , ,

Test de Ishihara

miércoles, 9 de febrero de 2011

Seguro que los has visto alguna vez. Los test de Ishihara fueron desarrollados por el profesor Shinobu Ishihara, de la Universidad de Tokio, y publicados por él en el año 1917, así que ya tienen unos añitos. Son unos patrones circulares formados a su vez por círculos más pequeños de distintos colores, utilizados para diagnosticar los distintos tipos de daltonismo. Tienen esta pinta:

ishihara

Todo esto viene a cuento de que he ido a cambiar el tamaño de la fuente que utilizo para escribir mis programas con Visual Studio, y me he dado cuenta de que ponen un texto de prueba para que puedas ver cómo va a quedar. Lejos de ser algo arbitrario, el texto tiene todo su sentido (además de ser una expresión gramaticalmente correcta desde el punto de vista del lenguaje). El texto es este:

ij = I::oO(0xB81l);

El motivo de haber escogido esos caracteres será más evidente si veis la siguiente imagen:

fuentes

Como podéis comprobar, si escribes con Century Gothic (la primera de la segunda fila), tendrás problemas para diferenciar la letra L minúscula de la letra I mayúscula, y lo que está detrás del ocho, ¿es un uno o la letra L minúscula?. Arial (la primera) tiene problemas similares. Si no tienes texto para comparar, o no se puede deducir del contexto, escribir con Times New Roman (la tercera de la primera fila) te haría preguntarte si detrás del ocho pone 11 o alguna otra cosa. Si vas leyendo rápido, en Verdana (segunda de la segunda fila) la letra O puede confundirse fácilmente con un cero, y en Courier New (tercera, segunda fila), ojo si confundes el número uno con la L minúscula. Escribir código con Lucida Handwriting puede ser divertido un rato, pero te aseguro que a la larga se te hará muuuuuy cansado 😉

En definitiva, que ese texto funciona como una especie de detector de “daltonismo programático” 🙂 . Salta a la vista (y nunca mejor dicho) que de los que os muestro, los mejores tipos para programar son Consolas (la que uso ahora mismo) y Monaco (que en tiempos era la que recomendaba Apple para desarrollar para sus máquinas, ahora ni idea).

Por cierto, como nota curiosa: si pedís la Wi-Fi en un Starbucks o un VIPS, veréis que han eliminado del usuario y la contraseña algunos de los caracteres que pueden dar problemas: por ejemplo, no hay ceros ni unos. Así evitan que los camareros estén resolviendo dudas en vez de servir café. Hay que ahorrar costes, que los tiempos están muy mal 🙂

profesión , , , ,

Belleza

martes, 30 de noviembre de 2010

Parece inevitable pensar en la idea de belleza y no pensar en una flor, en una mujer (o un hombre, vosotros, queridos lectores, decidís), o en un cuadro de Velázquez o Vermeer. De hecho, no piensas en ello. Simplemente la ves en tu mente, y después de verla, una agradable pero sutil sensación de satisfacción remueve tu fondo. Si la sensación no es sutil o agradable, ten cuidado porque estás sufriendo el síndrome de Stendhal.

Más difícil es que a alguien se le venga a la cabeza, así de primeras, un edificio, un puente o un coche. Es un segundo paso, si piensas primero en un edificio, un puente o un coche, inmediatamente lo evalúas en términos de más o menos bello. Hablarás de la suavidad de sus líneas, las simetrías que muestra, los colores, la cuidadosa combinación de los elementos que conforman su estructura…

Y llegamos al tercer nivel. El conjunto de aquellas cosas que no consideramos bellas, o que directamente no consideramos. ¿Alguna vez escuchó alguien de boca de un matemático aquello de la “belleza de la demostración de un teorema”? Es difícil visualizar algo así, sobre todo si no te gustan las matemáticas. Pero existe. Como si de una obra de teatro se tratara, hay finales demoledores, toda una trama que nos dirige a ellos, cambios bruscos, confluencia de argumentos, contradicciones que se tornan útiles y algún punto de genialidad. Y al final, una vez que la demostración ha terminado, y quedas sentado en la platea, te das cuenta de que la historia era mucho más sencilla de lo que parecía mientras la recorrías.

Abstract Grid Structure, por Toby Horne Shepherd No soy matemático, pero me gustaría reivindicar el derecho a usar el concepto de belleza a lo que es mi pasión: el diseño e implementación de sistemas software. Un programa, un sistema software, pertenece a la categoría de “¿bello? ¿estás loco o qué?”. Ignoro si poseen belleza por sí mismos, o porque son dignos hijos de sus madres, la Lógica y la Matemática. No me importa. Pero lo que sí puedo afirmar sin ningún género de duda es que la belleza existe en ellos. Se aprecia en la manera en la que los distintos componentes que la integran se enlazan y relacionan, en la manera en la que un concepto se repite de una estructura a otra, con las mínimas variaciones necesarias, en la simplicidad que destilan sus estructuras o en lo genial del uso de una determinada representación. Impacta la elección de una determinada manera de concretar en líneas de código un concepto intangible.

Escribir no significa necesariamente crear, y mucho menos significa crear algo bello. Cuando el artista crea por medio de la palabra, se deja en el papel y la tinta su piel y su sangre, lo más profundo que de ello tiene. Y así, programar y tirar líneas de código no significa crear, y mucho menos significa crear algo bello. Sé que aquí me tacharán de hereje: el diseño y la programación del software tiene mucho de creación artística, mucho de literatura. Pero para hacer surgir la belleza, debes dejarte, entre las líneas de código que forman la historia, a ti mismo.

profesión , , ,

Pomodoro

martes, 27 de abril de 2010

Quisiera compartir con vosotros una metodología de trabajo que me ha funcionado muy bien en estos meses en los que la he estado probando.

Si vuestro entorno de trabajo es como el mío, vuestra capacidad de concentración se verá mermada por todo tipo de interrupciones. Estas interrupciones cortan tu “flujo” y provocan que después de cada una de ellas te preguntes eso de “¿y yo qué demonios estaba haciendo?”. Con lo de flujo no me refiero al flujo de trabajo, alguna combinación de “explorar, analizar, resolver, pulir, probar”, sino más bien a ese estado en el que el tiempo deja de existir y lo único que ocupa tu cabeza es lo que en ese momento estás haciendo. Entrar en ese estado cuesta mucho. Y salir de él te deja de nuevo en el punto de partida, aunque hayas estado así durante horas.

Las interrupciones que os comentaba toman multitud de formas: llamadas de teléfono, reuniones no programadas, consultas de tus compañeros… Pero no son las únicas, ni las más peligrosas. Esas interrupciones son “externas”. Las peores son las interrupciones “internas”. “Tengo que decidir dónde voy a comer”, “voy a bajar a por una cocacola”, “voy a navegar un poco, nah, cinco minutos”, “¡anda!, si olvidé avisar a Paco de que no podré ir al cine…”. Muchísimas de esas interrupciones pasan inadvertidas porque no las consideramos interrupciones.

pomodoro-timer El principio básico sobre el que se sustenta la técnica Pomodoro es la división de tu tiempo en fracciones de 30 minutos. Para saber cuando empieza y termina cada fracción, necesitarás algún tipo de cronómetro. Francesco Cirillo, el autor de este método, italiano, utilizaba un reloj de cocina con forma de tomate. Y tomate en italiano se dice “pomodoro”. Así que al final, cada fracción de tiempo acabó llamándose un pomodoro.

Cada pomodoro está formado por un periodo de trabajo dedicado, un bloque de tiempo indestructible de 25 minutos, seguidos de 5 minutos de descanso. Cuando has cumplido cuatro pomodoros (es decir, dos horas), puedes dedicarte 15 o 20 minutos de descanso. Y bueno, ya sé lo que estáis pensando: “Es imposible que durante esos 25 minutos nada ni nadie te interrumpa, sobre todo después de los que nos has contado de las interrupciones internas”. Y tienes razón. El truco no está en evitar las interrupciones, ya sean internas o externas. El truco está en saber gestionarlas.

Cuando una interrupción está a punto de interrumpir tu trabajo, lo más importante es resolverla cuanto antes. Las interrupciones internas son fáciles de resolver: las apuntas en un papel, y las dejas para más adelante, por ejemplo, para cuando termines el pomodoro. Es posible que para entonces hayan perdido mucho de su urgencia o importancia. Las externas se resuelven relativamente bien con algunas frases estratégicas del estilo “¿Te puedo llamar en 18 minutos?” [la gente flipa cuando eres tan preciso con el momento en el que les devolverás la llamada], o “Me pillas en medio de un pomodoro, ¿te puedo atender más tarde?” [la referencia al pomodoro levanta la curiosidad de la gente. Nunca les he preguntado lo que imaginan]. De verdad, hay pocas cosas tan importantes o tan urgentes que no puedan esperar, en media 12 minutos y medio de tiempo. Tu jefe aceptará relativamente bien que le digas que en diez minutos estás con él al 100%.

Hay multitud de excepciones y de situaciones que no encajan perfectamente con la breve descripción de la técnica que os he ofrecido. ¿Qué ocurre si la tarea que tienes a mano no llega a ocupar los 25 minutos? ¿Qué pasa si mi jefe se le pone en las narices que vaya a esa bendita reunión? ¿Y si la tarea ocupa más de 25 minutos? ¿Qué ocurre si suena el reloj justo cuando me quedan dos minutos para terminar lo que me había propuesto? Si estáis interesados en las respuestas que ofrece esta técnica, os sugiero que os leáis el pequeño manual en el que el autor la describe con más detalle. Podéis encontrarla en su sitio web.

Gracias a esta técnica he encontrado la manera de ser más consciente de las interrupciones que me acechan, y he aprendido a gestionarlas mejor. He aprendido a contabilizar efectivamente cuánto tiempo me lleva una tarea. Me ha impuesto una disciplina que combina perfectamente la dedicación al 100% a una tarea con la entreverados con descansos periódicos que me ayuda a ser más productivo. En definitiva, he aprendido a ser más productivo siguiendo disciplinadamente un pequeño conjunto de reglas. ¿Qué más se puede pedir?

profesión , , , , ,

Buenos programadores

viernes, 15 de enero de 2010

mad_scientist Good programmers have to be paranoid about all the influences that can undermine their work. This can lead to a certain negativity in their communications. It doesn’t mean they’re negative people; it just means that many programmers have found that the best way to ensure something works is to be hyper-conscious of all the ways it might break. For people who aren’t used to that orientation, it can seem pretty negative.

Thinking about software executives,
Steve McConnell

Lo que viene a ser, en libre traducción del que suscribe, lo siguiente:

“Los buenos programadores deben ser paranoicos en todo lo relativo a aquello que puede minar su trabajo. Esta paranoia puede conducirles a cierta negatividad al comunicarse. No significa que sean personas negativas, es sólo que han encontrado que la mejor manera de asegurarse de que algo funciona es ser hiper-consciente de todas las maneras en las que puede dejar de hacerlo. Para la gente que no está acostumbrada a esa inclinación, puede parecer francamente negativa”.

¡Entiéndannos! 🙂

profesión , , , , , , , ,

Herramientas informáticas “megahipersuperefectivas”

martes, 12 de enero de 2010
Comentarios desactivados en Herramientas informáticas “megahipersuperefectivas”

monkey_wrenchAcabo de leer un artículo en yoriento.com, en el que enumera algunos indicadores que pueden ser útiles para identificar si una determinada técnica de cambio (modelo de intervención psicológica, estrategia de “autoayuda”…) es o puede ser ineficaz, o incluso dañina. Su artículo está basado en otro de Jorge Campo en Conducta.org.

El caso es que tras leer la lista he llegado a la conclusión de que también sirve, además del uso que Alfonso Alcántara hace de ella para identificar malas praxis de coaching, para destapar publicidad engañosa sobre herramientas informáticas. Así que he sustituido algunas palabras por otras y parafraseando queda esto:

La publicidad de una determinada herramienta informática puede ser engañosa si:

  1. Proclaman obtener un “gran éxito” en sus resultados.
  2. Prometen efectos rápidos.
  3. Se dice que la herramienta es eficaz para muchos tipos de problemas.
  4. “La teoría” detrás de la herramienta contradice el conocimiento objetivo (y a veces, el sentido común).
  5. Se dice que la herramienta es fácil de administrar, requiriendo un pequeño entrenamiento o especialización.
  6. Se señala de otras herramientas efectivas, que son innecesarias, inferiores, o dañinas.
  7. Los promotores de la herramienta trabajan fuera de su área de especialización [esto no siempre ocurre].
  8. Los promotores se benefician financieramente de forma directa o indirecta con la adopción de la herramienta [esto siempre ocurre].
  9. Los testimonios, anécdotas, o las historias personales se ofrecen como apoyo de la efectividad de la herramienta, pero se ofrece escasa o ninguna evidencia objetiva.
  10.   Se ofrecen argumentos y eslóganes emocionalmente sobrecogedores para la comercialización de la herramienta.
  11.   Se dicen que la creencia y la fe son necesarias para que la herramienta produzca “efectos”.
  12.   Se dice que el escepticismo y la evaluación crítica provoca que los efectos de la herramienta se evaporen [en honor a la verdad, esto no ocurre].
  13.   Los promotores se resisten a la evaluación objetiva y escrutinio del la herramienta por otros [tampoco ocurre, pero publicarán un millón de whitepapers para realizar sus evaluaciones].
  14.   Se ignoran los resultados negativos de los estudios científicos o se rechazan.
  15.   Los críticos y los investigadores científicos son tratados con hostilidad, y se les acusa de perseguir a los promotores, tener la “mente cerrada” o tener segundas intenciones para “hurgar” en la herramienta.

Algunos de los puntos, lo reconzco, están cogidos con alfileres, pero en general muchos de estos indicadores son totalmente aplicables. ¿Qué opináis vosotros, amigos informáticos? ¿Os siguiere algo para aquellos que no lo sois?

La chica con el “monkey wrench” es de Dunechaser.

profesión , , ,

El fantasma de las carreras pasadas

lunes, 19 de octubre de 2009

20091014203038_universidad

—Odio este trabajo. Ojalá hubiera terminado la carrera.
—¡Soy el fantasma de las carreras pasadas! ¡Estoy aquí para mostrarte qué hubiera sido de tu vida con un título universitario!
— …
—No hemos ido a ningún sitio.
—Ya.

Visto en el fotolog de pisito. y originario de amazing superpowers.

profesión , , , , , ,

Trabajo en equipo

sábado, 31 de enero de 2009

Pregúntale a cualquier directivo cuál es el más importante de sus recursos. Contestará sin dudarlo

1971-toon-humbug-scrooge
    — ¡Las personas!

 

Y quizá sea ese el problema. Que contesta sin dudarlo, automáticamente. Es una respuesta aprendida, porque si dice “el tiempo”, o “el dinero”, o “mi sistema de electrogeneradores en caso de una pérdida de tensión”, pues lo mismo queda mal, y todo el mundo le dice que no cuida “sus recursos humanos”. Es lo que ha leído en los librillos que dan con las páginas salmón, lo que le dicen sus colegas en conferencias y workshops., lo que le dicen en las reuniones con sus superiores, en la semana de retiro empresarial allá en esa casa rural tan chula.

Sin embargo, creo que el tema no está en saber que los recursos humanos son los más importantes, o si son más o menos importantes que otro tipo de recursos. Es más, en algunos casos, los recursos humanos no son el recurso más importante: son el único recurso. Como decía, creo que el tema no está en saberlo, está en sentirlo.

Es difícil transmitir un sentimiento, sobre todo si sólo se hace con palabras, o leyéndolo en un libro. Creo que por eso existe la música. Y la imagen…

Balance
Wolfgang Lauenstein

¿Comentarios?

PS: No estoy diciendo que todos los directivos sean como el Sr. Scrooge 😉

ágil, en busca de mis valores, profesión , ,

La definición de un buen líder

jueves, 22 de enero de 2009

Para que no se me olvide…

LaoGod

Cuando el Maestro gobierna,
la gente apenas percibe su existencia.
Inferior gobernante es aquel que es amado.
Inferior más aún el que es temido.
El peor, el despreciado.

Si no confías en la gente,
la gente pierde su confianza.

El Maestro no habla; actúa.
Cuando su tarea concluye,
la gente dice: «Asombroso:
¡lo hicimos nosotros solos!»
.

Tao Te Ching ( 道 德 經 , El Libro del Camino y la Virtud), 17
Lao Tse ( 老 子 )

en busca de mis valores, profesión , , , , , ,