Archive for September, 2006

Microsoft Cautions Developers About Visual Studio/Vista Conflicts

Friday, September 29th, 2006

http://www.ddj.com/dept/global/193100342

Microsoft set off a furor among developers this week when it disclosed that Visual Studio 2005 won’t be fully compatible with Vista and that older versions of Visual Studio won’t be supported at all on Vista. Microsoft pledged to smooth out the Visual Studio 2005 software conflicts with a patch “soon” after Vista’s release.

Update 2-Oct-2006: Otro link

Can your programming language do this ?

Thursday, September 28th, 2006

Joel escribió:

So now, for example, writing some really fast code to search the entire contents of the internet is as simple as calling the map function with a basic string searcher as an argument.

Edsger Wybe Dijkstra era un blogger

Saturday, September 23rd, 2006

Edsger Wybe Dijkstra era un blogger. Y en su blog tenia miles de posts.

Lamentablemente, en aquellas epocas la informatica estaba en pañales. No existia Blogger.com ni Wordpress. Pero si existia el lapiz, el papel y la fotocopiadora. Y gracias al correo postal clásico, algunas personas podian leer sus posts.

Hay que escribir blogs. Eso dice Steve.

Linux al rescate

Wednesday, September 20th, 2006

Hoy es un día célebre, por dos motivos:

  1. Me llego un mail de mi prima.
  2. Windows XP dejó de bootear.

¡¡ Al fin algún ser humano que me envia un e-mail !! ya me estaba cansando de los “Weekly News” o “Dear community of users” o “Se suspendió la clase del miércoles”.

Con respecto al XP, resulta que a mi viejo hace un par de semanas se le quemó el monitor de su vieja Pentium. ¿Vieron que hace poco se cumplieron 50 años desde la creacion del primer disco rigido magnetico de IBM? Bueno, el monitor era mas o menos de esa época.

El punto es que ayer mientras mi PC booteaba el XP, apreté reset. Se supone que teniendo el SP2 con un NTFS transaccional no deberia pasar nada malo. Al menos en un mundo ideal… sin embargo la realidad dice otra cosa. Cuando le enchufo el monitor, aparece un texto diciendo que un archivo en el SYSTEM32 estaba dañado, y que intente repararlo usando la opcion de recuperar del CD de instalación.

No la encontré.
Y como no tengo ni ganas ni tiempo de reinstalar Windows (no hubiese venido nada mal, por cierto), ahora estoy en Linux Debian como homestation. Y es bastante extraño; los que me conocen saben que en parte siempre fui pro-linux, pero nunca lo usé como sistema operativo de uso diario. Ahora voy a poder.

Voy a extrañar al Visual 2005, pero capaz así sea la unica manera de usar el Hugs.

Llamando a la policia en Argentina

Monday, September 18th, 2006

Me lo pasaron, no creo que sea cierto pero es muy bueno.

Tengo un sueño muy liviano, y la noche pasada noté que había alguien andando sigilosamente por el jardín de la casa. Me levanté silenciosamente y me quedé siguiendo los leves ruidos que venían
de afuera, hasta ver una silueta pasando por la ventana del baño. Como mi casa es muy segura, con rejas en las ventanas y trancas internas en las puertas, no me preocupé demasiado, pero estaba claro que no iba a dejar al ladrón ahí, contemplándolo tranquilamente. Llamé a la policía le informé la situación y di mi dirección. Me preguntaron si el ladrón estaba armado; de que calibre era el arma; si estaba solo; si ya estaba dentro de la casa; etc., etc. Aclaré que no y que de las características del arma no sabía nada. Me dijeron que no había ningún patrullero para ayudar, pero que iban a mandar a alguien en el momento que fuera posible. Que si pasaba algo que volviera a llamar!!! Dos minutos después llamé nuevamente y dije con voz muy calmada: Hola, hace un rato llamé porque había alguien en mi jardín. No hay necesidad de que se apuren. Yo ya maté al tipo con un tiro de escopeta calibre 12, que tengo guardada para estas situaciones. Y el tiro se lo pegué en la cara! Le volé la cabeza y ahora sus sesos están desparramados por el jardín… Pasados menos de tres minutos, había en mi calle 5 patrulleros de la Policía Federal; un helicóptero de la policía; 1 unidad de bomberos, el defensor del pueblo, 2 patrullas de Defensa Civil, un equipo de reporteros de Televisión; fotógrafos; 1 diputado, 2 concejales y un grupo de derechos humanos, que desde luego no se perderían esto por nada del mundo. La Policía agarró al ladrón in fraganti, quien estaba mirando todo con cara de asombro, tal vez pensando que la mía era la casa del Jefe de Policía… En medio del tumulto, un Oficial se aproximó y me dijo: Creí que había dicho que había matado al ladrón. Yo le contesté: Creí que me habían dicho que no tenían a nadie disponible para mandar.

An App A Day

Friday, September 15th, 2006

http://www.anappaday.com/

An App A Day

I plan on writing an application everyday for 30 days straight. May the world benefit from the purposeful destruction of my personal life. 8pm Eastern time the coding begins

Dana Hanna va a escribir un programa nuevo por dia, durante 30 dias. ¡Vamos a ver como le sale!

Mate

Friday, September 15th, 2006

Me llegó esto por mail …

El mate, no es una bebida. Bueno, sí. Es un líquido y entra por la boca. Pero no es una bebida. En este país nadie toma mate porque tenga sed. Es más bien una costumbre, como rascarse. El mate es exactamente lo contrario que la televisión. Te hace conversar si estás con alguien y te hace pensar cuando estás solo. Cuando llega alguien a tu casa la primera frase es “hola” y la segunda “¿unos mates?”. Esto pasa en todas las casas. En la de los ricos y en la de los pobres. Pasa entre mujeres charlatanas y chismosas, y pasa entre hombres serios o inmaduros. Pasa entre los viejos de un geriátrico y entre los adolescentes mientras estudian o se drogan. Es lo único que comparten los padres y los hijos sin discutir ni echarse en cara. Peronistas y radicales, de River y de Boca, ceban mate sin preguntar. En verano y en invierno. Es lo único en lo que nos parecemos las víctimas y los verdugos. Los buenos y los hijos de puta.

Cuando tenés un hijo, le empezás a dar mate cuando te pide. Se lo das tibiecito, con mucha azúcar, y se sienten grandes. Sentís un orgullo enorme cuando uno de tu sangre empieza a tomar mate. Se te sale el corazón del cuerpo. Después ellos, con los años, elegirán si tomarlo amargo, dulce, muy caliente, tereré, con cáscara de naranja, con yuyos, con un chorrito de limón. Cuando conocés a alguien por primera vez, te tomás unos mates. La gente pregunta, cuando no hay confianza: ¿Dulce o amargo? El otro responde: -Como tomés vos.

Los teclados de Argentina tienen las letras llenas de yerba. La yerba es lo único que hay siempre, en todas las casas. Siempre. Con inflación, con hambre, con militares, con democracia, con cualquiera de nuestras pestes y maldiciones eternas. Y si un día no hay yerba, un vecino tiene y te da. La yerba no se le niega a nadie. Éste es el único país del mundo en donde la decisión de dejar de ser un chico y empezar a ser un hombre ocurre un día en particular. Nada de pantalones largos, circuncisión, universidad o vivir lejos de los padres. Acá empezamos a ser grandes el día que tenemos la necesidad de tomar por primera vez unos mates, solos. No es casualidad. No es porque sí. El día que un chico pone la pava al fuego y toma su primer mate sin que haya nadie en casa, en ese minuto, es porque ha descubierto que tiene alma. O está muerto de miedo, o está muerto de amor, o algo: pero no es un día cualquiera. Ninguno de nosotros nos acordamos del día en que tomamos por primera vez unos mates solos. Pero debe haber sido un día importante para cada uno. Por adentro hay revoluciones. El sencillo mate es nada más y nada menos que una demostración de valores: es la solidaridad de bancar esos mates lavados porque la charla es buena, la charla, no el mate. Es el respeto por los tiempos para hablar y escuchar, vos hablás mientras el otro toma y viceversa. Es la sinceridad para decir: ¡basta, cambiá la yerba! Es el compañerismo hecho momento. Es la sensibilidad al agua hirviendo. Es el cariño para preguntar, estúpidamente, ¿está caliente, no? Es la modestia de quien ceba el mejor mate. Es la generosidad de dar hasta el final. Es la hospitalidad de la invitación. Es la justicia de uno por uno. Es la obligación de decir “gracias”, al menos una vez al día. Es la actitud ética, franca y leal de encontrarse sin mayores pretensiones que compartir. Ahora vos sabes, un mate no es sólo un mate… ¿Calentás el agua?

Autor Desconocido

Becoming a free software developer

Thursday, September 14th, 2006

Son 3 partes, en ingles:

No lo leí todo, a simple vista parece interesante.

Abstracción, 2

Wednesday, September 13th, 2006

Yo soy una de esas personas que son capaces de quedarse hasta las 3 de la madrugada jugando con 3 líneas de código, o 3 líneas en una hoja de estilo, o 3 capas HTML solo para probar, ver y experimentar cual es la mejor combinación en ellas.

Les cambio el tipo de datos. Les cambio el orden de los parámetros. Juego con todos los detalles que se me pueden ocurrir hasta que, al final, me voy a dormir sin obtener ningún resultado trascendental.

Mejor dicho, soy un “proyecto de persona”.

Hacer todo eso es una pérdida de tiempo; ese tipo de cosas las hacen los que recien empiezan a programar en algún lenguaje, y están explorando ese nuevo universo de las variables, loops y esa cosa esotérica llamada recursión.

La programación es mucho más que solamente escribir 5 líneas de código usando el mejor nombre de variable y el mejor nombre de función, el mejor nombre de clase, los mejores tipos de datos, la mejor identación del código o la más eficiente forma de almacenar una fecha.

La programación no se trata de escribir 5 líneas de código, sino que la programación se trata básicamente de escribir 5 millones de líneas de código, y que todas y cada una de ellas haga lo que tienen que hacer de mejor forma posible.

En ese punto, dedicarse 15 minutos a ver si a una variable boolean se le pone el tipo “Boolean” o “Integer” es una completa pérdida de tiempo.

Lo que se debe hacer es generalizar la idea del programa y verlo desde más arriba, con un panorama más amplio. Uno se olvida de las variables, funciones, loops y tipos de datos, y piensa en términos más generales.

Uno deja de ver una vtable con una doble indireccion con un par de llamadas por medio de un doble puntero a una rutina en memoria con 2 argumentos, ambos punteros. O peor aun, ¿las indirecciones las hago con un puntero o tengo un arbol R-B? ¿y una tabla hash? ¿Cómo se maneja la saturación, es abierta, cerrada o la funcion de hash es perfecta?

En vez de eso, uno empieza a ver un Perro comiéndose una Banana.

¿O era una Banana dejándose comer por un Perro?

Esa es la idea de la abstracción. En vez de estar viendo 4 variables de instancia en una clase, estás viendo un Perro. Y una Banana. Y es Roja.

No digo que esté mal tomarse el tiempo de pensar si una variable es Integer o Float. Al contrario, en definitiva en algún momento hay que hacerlo; las computadoras no entienden lo que es un Perro, no saben si las Bananas son amarillas o rojas. No saben si el Perro se come la Banana, o si la Banana se come al Perro. Las computadoras solamente son capaces de reconocer algunos patrones de bits, y luego a partir de ello se las puede extender para reconocer otros patrones de bits.

El problema es que en el Software todo es abstracto. Aún los bits, los cuales son el punto de contacto entre el Software y el mundo real. Los bits son la única cosa “mas o menos” tangible que existe en la programación.

Y aun así, nadie los quiere ver. “¿Bits? ¡Deah!

Y luego, en vez de ver un Perro, un Mono y un Oso Polar, comenzás a ver un Zoológico.

Y luego una ciudad, la cual capaz tiene un Zoológico. No interesa.

Y después, por qué no, un País. Algún País que capaz tenga Zoológicos. Y si no tiene, entonces le metemos en algún lado un Zoológico, total yo estoy siendo abstracto, ¿no?

Mejor aún, ¡Dos Zoológicos!

Esto es lo que Joel llama Arquitectos Astronautas. Y ahí empiezan los problemas, porque después de un largo rato te das cuenta que lo único que vos querías saber era el tamaño de una variable Boolean en bytes (en una de esas conversaciones altamente geekescas).

Por cierto, los Booleans son en realidad Integers.

Actuación y Política, 2

Thursday, September 7th, 2006

Hoy me acordé de lo que escribi hace un año y 9 meses en mi blog de Blogspot, “Actuación y política” se titulaba.

La política es algo que realmente me desagrada. Como dice Joel, la politica es “Cualquier situacion en la cual las consideraciones personales tienen mas influencia que las consideraciones técnicas“.

Y eso lamentablemente sucede todo el tiempo, incluso en lugares donde no debería ser así. Por ejemplo, supongamos algun hipotético caso, en donde a algun “administrador de red” (por llamarlo de alguna forma) se le ocurre cambiarte el root path del server web apache que estás usando para hacer lo que tu jefe te pidio (y quien te dijo: “lo necesitaba para ayer“). Y luego capaz se le ocurre mandar un mail diciendo “ah, si, el root path del apache no me gustaba, lo cambié“.

Además, el jefe es esa clase de jefe que te envia siete mails, uno tras otro, uno por cada cosa que tenés que hacer, los cuales todos y cada uno de ellos:

a) Tenes que estar leyendo 15 minutos por cada palabra del mail, intentando entender que quiso decir,

b) o directamente no te escribe nada en el cuerpo del mail, y toda la tarea se resume en el “Subject” .

En cuyo caso te agarra un ataque de caspa.

O por ejemplo, algun otro hipotético caso, en el que a ese mismo “administrador de red” le pidas un usuario para usar esa hermosa maquina, que nadie usa, con monitor LCD, que nadie usa, y te diga:

Yo: ¿Puedo tener un usuario en esa maquina?

El: No

Yo: ¿Por qué?

El: Porque no.

Yo: Pero nadie la us…

El: No.

Por suerte estas situaciones son hipotéticas, ¿no?

Igualmente depende mucho como uno vea las cosas. La política es en realidad una cuestión de actitud.
Por ejemplo, ahora están de moda los denominados “freelancers“; programadores que trabajan desde sus casas y las empresas les asignan proyectos, y les pagan por proyecto y no un sueldo mensual.

Hasta ahi nada malo.

El problema empieza cuando te dicen que sos vos, el programador, quien tiene que “realizar una cotización del proyecto“. ¿Que pasa si es tu primer proyecto? Basicamente, estás al horno. La cotización es en realidad una mentira. El proyecto no es una licitación en la cual hay varios candidatos y se elige la mejor oferta; las empresas ya tienen una suma previamente asignada a ese proyecto, y tu obligacion no es hacer un “presupuesto” sino, de hecho, tratar de acercarte lo mas posible a ese valor que la empresa creyó “aceptable”. Y si la empresa ofrece dos mangos, dos mangos en lo que mas vas a poder obtener.

La otra opcion es negociar, pero como dije antes, el “freelancer” es un programador. Y un programador, basicamente, “programa“. No deberia tener que realizar una cotización inútil a la cual al empleador le importa poco o nada.

Vos tenés pleno control de todo“, dicen. Mentira.

Y para colmo, después, se les ocurre bicicletearte: “Si, mirá, vamos a tener que suspender un poco el proyecto porque [inserte chamuyo aqui]“. Y luego sos vos, el “freelancer“, quien tiene que estar detrás de ellos tratando de averiguar que hacer con esas 7.144 lineas de codigo que hiciste. Luego, capaz, se les ocurre decirte: “Ahh! Si, menos mal que me preguntás, ¿te interesa seguir con el proyecto? Por favor, que sea una respuesta de SI o NO.”

Y ahi es cuando estás listo, listo para ir a romero.