Saltear la Navegación e ir al contenido.
Este sitio se ve mucho mejor en un navegador que soporte los estandares web (www.webstandards.org), pero es accesible para cualquier navegador o dispositivo de internet.

¡No despiertes al programador!

11 de Febrero de 2009 | Posteado en Programación

011110100101101001111010010110100111101001011010

Para la mayoría de la gente, los programadores somos gente rara.
Ante el primer descuido nos encuentran trabajando a la madrugada.
Muchas veces el que nos ve trabajar no puede determinar si estamos paveando o a punto de descubrir una forma 300% más eficiente de realizar lo que nos encargaron.
Solamente a un programador le puede parecer que 256 es un lindo número redondo.

Hoy me encontré con este artículo y me pareció muy similar a como veo la forma de trabajar de un programador.

El artículo original se titula Don’t wake up the programmer! y está en inglés, así que lo traduje y lo posteo acá.

¡No despiertes al programador!

El trabajo de un programador es prácticamente soñar.

Suena gracioso, o simplemente errado, ¿no?

Bueno, si querés ponerte en los zapatos de un programador y comenzar a entender su trabajo desde adentro, este es un concepto que necesitas seguir: simplemente debés imaginar que el programador está durmiendo mientras trabaja.

El producto del trabajo de los programadores es un sueño, la visión de la noche de sueño, la fantasía.
El sueño está escrito en un lenguaje especial para que un aparato electrónico continúe su existencia cuando el programador está despierto o pasó a soñar otro sueño.

Lo normal es pensar que el programador simplemente toma una tarea o ejercicio, escribe algún programa y la tarea está solucionada. La verdad es que nunca funciona de esta forma.

Tomemos como ejemplo un laberinto:
El programador tiene la tarea de crear un algoritmo para encontrar la salida del laberinto. Cuando un programador esta trabajando en esta tarea, no es el dedo de dios señalándole el camino a una niñita perdida en un gran laberinto. Tampoco es la niñita, ni las paredes del laberinto. Para poder resolver la tarea el programador debe convertirse en el laberinto, las paredes del laberinto, la niñita perdida y todo lo demás que aparezca junto con la tarea. No es una forma de decir. El programador está -literalmente- durmiendo y soñando todo eso en su mente.

Cuando mirás trabajar a un programador efectivamente estas mirando a una persona dormir y soñar.

Continuá leyendo el resto de este post »


¡Feliz dia, administradores de sistemas!

25 de Julio de 2008 | Posteado en Hardware

The IT Crowd: Serie de TV para geeks

Cada año, el último viernes de julio se "festeja" el día del administrador de sistemas (Sys Admin Day).

Copio y traduzco con total impunidad lo que tan bien dice el sitio web oficial.

Un sysadmin desempacó el server para este sitio web, instaló un sistema operativo, lo parcheó para que quedara seguro, se aseguró que la energía y el aire acondicionado fueran correctos en la sala de servidores, lo monitoreó para asegurarse de su estabilidad, configuró el software y mantuvo backups en caso de que algo saliera mal. Todo esto para mostrar este sitio web.

Un sysadmin instaló los routers, tiró los cables, configuró las redes, puso firewalls, observó y guió el tráfico para cada nodo de la red que corre a través de cobre, fibra óptica e incluso el aire para llevar internet a tu computadora.

El resto (y palos a Telecom y Telmex) después del link


Caustics Mapping: como crear causticas en tiempo real

23 de Julio de 2008 | Posteado en Programación

Ejemplo de renderizado con cáusticas de refracción

Hace unos días encontré un paper que explica como crear efectos de iluminación cáustica sobre objetos no brillantes.

Cáusticas:
Las cáusticas se forman cuando múltiples rayos de luz convergen en un mismo punto. Esto ocurre en presencia de objetos reflectivos o refractivos que causan que los rayos de luz se desvíen de su camino original de propagación y converjan en una región común.

Por lo tanto, para obtener cáusticas precisas, uno debe trazar los rayos de luz desde su origen y seguir sus caminos a través de las superficies refractantes y fuera de las superficies reflectivas.

Eventualmente los fotones se depositan en superficies cercanas difusas, llamadas recipientes, formando así las cáusticas.

El paper se titula "Caustics Mapping: An Image-space Technique for Real-time Caustics".

Es un pdf de 670KB, está en ingles (por supuesto) y los autores son Musawir Shah, Jaakko Konttinen y Sumanta Pattanaik.

El contenido esta realmente bueno. Está muy bien explicado y no utiliza un lenguaje extremadamente complicado.

En mi caso, hace por lo menos 2 años que no meto mano en un engine 3D moderno, e igualmente cacé la idea bastante rápido.

Algunos videos


Demostración de refracción debajo del agua.

A continuación mas videos y un análisis del algoritmo


Combinaciones de colores para ambientes de programacion

21 de Julio de 2008 | Posteado en Programación

Fondo oscuro o claro: esa es la cuestión

Por regla general, el programador es muy hincha pelotas con la apariencia de su código.

Indentación: ¿Espacios o tabs? ¿Cuantos espacios o tabs?

Sintaxis: ¿La llave de comienzo de una función va en una nueva línea? ¿Formato camelCase o guión bajo?

Combinación de colores: ¿Fondo negro o blanco? ¿Comentarios que se destaquen o que apenas se vean?

El tema de la indentación y sintaxis lo dejo para otro post.

Para ayudar con la cuestión de la combinación de colores encontré un sitio muy útil:

Vim Color Scheme test.

Este sitio presenta mas de 300 paletas de colores para el editor de textos Vim (permite descargar el archivo de configuración de colores para ese programa) pero puede servir de modelo para configurar cualquier otro editor.

Las paletas de colores están divididas en dos grupos: fondo oscuro y fondo claro, y en cada grupo hay variantes de alto y bajo contraste.

Hay gente que usa fondo claro porque de otra forma termina con la vista destruida en pocos minutos, y otra gente jura y perjura que con fondo negro y letras verdes puede estar horas sin que se le canse la vista.

En mi caso particular, hace tiempo vengo usando un tip que me viene funcionando muy bien:

Usá una paleta de colores acorde a la iluminación ambiente.

Si detrás del monitor tenés una ventana o una pared clara y bien iluminada, usá colores claros.

Si trabajas en penumbras, usá colores oscuros.

Cuanto menos contraste haya entre el ambiente y la pantalla, menos vas a forzar la vista.

Siguiendo esa regla, el resto es puramente una cuestión de gustos.

Y sobre gustos no hay nada escrito, dijo una vieja, y usaba amarillo sobre azul en TurboPascal.

PD: Si tenés algún otro tip sobre iluminación o colores, mandalo!


Las increibles pantallas multitouch y como tener una si sos un croto

27 de Mayo de 2008 | Posteado en Hardware

Pantalla multitouch de Jeff Han

Estas son pantallas sensibles al tacto que reconocen más de un punto por vez, lo que te permite usar varios dedos para realizar las tareas, algunas de las cuales se vuelven mucho más simples o intuitivas.

Últimamente las pantallas multitouch están empezando a popularizarse, aunque casi todos los proyectos comerciales todavía están en etapa de prototipo. El único ejemplo (que conozco) de un dispositivo comercial actualmente a la venta que usa esta tecnología es el iPhone de Apple.

En el iPhone, por ejemplo, para hacer zoom sobre una foto o un mapa basta con tocar la pantalla con los dedos índice y pulgar y separarlos.
Para rotar un objeto podes tocar los bordes con dos dedos y girar.

Este concepto es bastante engorroso de explicar con palabras, así que la voy a hacer más simple y directamente pongo un video del iPhone

Apple iPhone Photo

Esta tecnología, cuando es aplicada a pantallas mas grandes, permite que dos o mas personas interactúen con el sistema en forma simultanea, como lo muestra este video de Microsoft donde gente linda que está muy contenta utiliza una mesa multitouch para transferir imágenes a celulares y reproductores mp3, navegar mapas y pedir tragos en un bar.

(este y muchos mas videos después del link)

Continuá leyendo el resto de este post »


Un tour imaginario por una computadora biologica

15 de Abril de 2008 | Posteado en Hardware

Fografía de Seymour CrayHace varios años un amigo, Avatar, me pasó este texto, el cual me sorprendió mucho y desde entonces lo estoy recomendando.

Esta es una trascripción de una charla que dio Seymour Cray, un ingeniero eléctrico, matemático y pionero en la creación de supercomputadoras, en la cual hace una sorprendente comparación entre las células biológicas y las computadoras, desde su estructura hasta su funcionamiento.

Esta trascripción originalmente está en ingles, pero utiliza una forma de puntuación bastante peculiar, la cual hace un poco difícil de leer de corrido. Habiendo buscado por todos lados alguna traducción y no habiendo encontrado siquiera un resumen, me ocupé de traducir y limpiar el texto sin que se pierdan detalles ni sutilezas.

Para entender este texto no es necesario tener grandes conocimientos sobre el hardware de las computadoras, debido a la increíble facilidad para explicar cosas complejas que tenía Seymour Cray.

El que conoce mucho de computadoras se sorprenderá con los detalles y el que conoce poco se sorprenderá por las conclusiones.

Esta charla fué dada en 1996 asi que es posible que tenga algunos datos desactualizados o incluso pequeños errores debido a nuevos descubrimientos realizados desde ese momento hasta ahora. De cualquier forma me parece que aún asi no deja de ser interesante.

Nota: la parte que más me voló la peluca fue donde habla sobre la dualidad onda-partícula. Si, suena a que es recontra difícil, pero está tan bien explicado que hasta los adoquines lo podemos entender.

Continuá leyendo el resto de este post »


Adios Sound Blaster, fuiste buena hace mucho y mediocre desde entonces

1 de Abril de 2008 | Posteado en Hardware

Caja de una Sound Blaster X-FiEn lo que debe ser una de las estrategias empresariales más imbéciles de los últimos años, Creative Labs –fabricante de las placas de sonido Sound Blaster– ha decidido destruir su propio negocio.

El viernes pasado (28/03/08) el vice presidente de comunicaciones empresariales de Creative Labs, Phil O’Shaughnessy, mediante un anuncio decidió forzar a un programador independiente a que desistiera de crear drivers que hicieran que sus placas de sonido antiguas sean compatibles con Windows Vista, y la internet se le vino encima.

A continuación, una reseña de la payasada que se mando Creative Labs y sus consecuencias.
Continuá leyendo el resto de este post »


« Posts Anteriores