Las 21 leyes de la programación

En el blog "DevTopics", he encontrado estas 21 leyes de la programación, que ciertamente muchos desarrolladores de .NET encontrarán increíblemente precisas . Aquí las 21 leyes de la programación:

  1. Cualquiera sea el programa, una vez desplegado, ya está obsoleto.
  2. Es más fácil cambiar la especificación para que se adapte al programa que viceversa.
  3. Si un programa es útil, tendrá que ser cambiado.
  4. Si un programa es inútil, tendrá que ser documentado.
  5. Sólo el diez por ciento del código en cualquier programa se ejecuta.
  6. El Software se expande hasta consumir todos los recursos disponibles.
  7. Todo programa no-trivial contiene al menos un error.
  8. La probabilidad de una impecable demostración de un programa cualquiera, es inversamente proporcional al número de personas viendo la demostración, elevado a la potencia de la cantidad de dinero en juego.
  9. No es sino hasta que un programa ha estado en producción por lo menos seis meses, que los errores más dañinos se descubren.
  10. Los errores indetectables son infinitos en su variedad, en contraste con errores detectables, que por definición son limitados.
  11. El esfuerzo necesario para corregir un error aumenta exponencialmente con el tiempo.
  12. La complejidad de todo programa crece hasta que excede la capacidad del programador que debe mantenerlo.
  13. Cuálquier código que hayas escrito, y que no has visto en meses, puede de hecho haber sido escrito por otro.
  14. Dentro de cada pequeño programa hay un gran programa que luchan por salir.
  15. A más pronto empieces la codificación en un proyecto, más te demorarás en terminarlo.
  16. Un proyecto con un pobre análisis toma el triple de tiempo previsto en completarce, mientras que uno que ha tenido un cuidadoso análisis sólo toma el doble de tiempo previsto.
  17. Agregar más programadores a un proyecto que está retrasado, sólo hace que este se retrace aún más.
  18. Un porgama nunca esta menos del 90% completo, ni tampoco más del 95%.
  19. Si automatizas un desorden, obtienes un desorden sistematizado.
  20. Construye un programa que hasta un tonto lo pueda utilizar, y sólo un tonto lo utilizará.
  21. Los usuarios realmente no saben lo que quieren en un programa hasta que lo utilizan.

Definitivamente reglas muy divertidas y que se aplican sobre todo a los "sistémicos". Si te lo haz tomado en serio, creo que es tiempo de que dejes las erramientas de desarrollo de Windows y comiences a usar herramientas de Ingeniería de Software de verdad.

Microsoft sin Gates

El día de ayer (27 de junio) fue el último día de Bill Gates, como empleado a tiempo completo de Microsoft, aunque no ha sido el CEO de la compañía desde el año 2000, donde transfirió dicho puesto a su amigo Steve Ballmer, y ha estado transfiriendo gradualmente sus resposabilidades como Arquitecto en Jefe de Software a lo largo de los dos últimos años; definitivamente el hecho de que se retire, tiene un cierto peso dentro de la empresa que él fundó y que ha transformado la informática.

Es gracias al DOS que Microsoft marketeo bastante en los ochentas, que la revolución de las TIC fue posible, hasta antes del IBM PC, toda microcomputadora era un universo cerrado, el fabricante ofrecía tanto el hardware como el software, un modelo que sólo Apple ha mantenido hasta el presente. IBM creo una revolución de la cuál fuera excluida por no saber adaptarse a los tiempos, al liberar todas las especificaciones de su IBM PC y permitir que otros puedan fabricar tarjetas y periféricos, e incluso la misma máquina se generó un cambio en la microcomputación que llevo a que los equipos se volvieran una mercadería, es decir el libre mercado hizo que los precios bajaran de la mano de una avalancha de proveedores de PCs compatibles, que se disputaban el mercado ofreciendo alta perfomance a bajos precios. Dado que los fabricantes de PCs compatibles sólo tenian que enfocarse en el hardware, pues el software era estándar, y en cuanto el equipo siguiera las especificaciones impuestas por IBM, podría tener acceso a todos los programas que corrieran sobre el DOS. Proyectos como Linux o las sub-notebooks de menos de $500 le deben su origen a este proceso de conversión del hardware en una mercadería.

El impulso inicial del binomio IBM-PC/DOS, cambio la cara de la microcomputación, y cuando IBM decidió matar su propia creación con la introducción de la familia de computadoras PS/2, que eran incompatibles con los PC y que además tendrían su propio sistema operativo, todos los otros fabricantes de PC-compatibles simplemente decidiron mantener el estándar y seguir usando DOS, con lo cual IBM comprobó una de las reglas de la economía, en un mercado de competencia perfecta (libre mercado) ningun actor tiene la suficiente fuerza para cambiar la dirección del mismo. Lo demás para Microsoft fue inercia, pues no tenía competencia, se había convertido de hecho en un monopolio desde ese momento, pues todos los fabricantes de PC se centraban en el hardware más no en el software, que en aquellos tiempos era sólo una pequeña fracción del precio de un PC, un DOS podía costar $40-$60, mientras que un PC estaba en el orden de los $3000. A la fecha la relación de precios ha cambiado y en muchos casos el sistema operativo más los programas ofimáticos básicos pueden costar mucho más que el equipo.

Definitivamente Bill Gates tuvo suerte, estuvo en el momento preciso en el lugar correcto, luego sólo mantuvo la ventaja que le otorgó el destino, sin embargo Gates nunca se ha caracterizado por saber hacia donde se dirigía el mercado, ha fallado sucesivamente en varias de sus visiones del mercado informático, el peor de todos sus fallos fue que subestimó el impacto que tendría Internet en los ordenadores personales. En ese aspecto Steve Jobs es mucho más visionario que Gates, aunque Jobs no ha tenido toda la suerte de Gates.

¿ Sobrevivirá Microsoft sin Gates?, bueno yo diría que Microsoft ha sobrevivido a pesar de Gates, y es que la compañía tiene un tamaño tal que puede con sus activos sobrevivir a los errores de las gerencias, es lo mismo que ocurrió con IBM, que ha sobrevivido a pesar de los graves errores estratégicos que han cometido sus gerencias.

Creo que Gates ha hecho bien en retirarse, es un tipo inteligente y sabe que ya no entiende la dinámica del mercado, se ha dado cuenta de que en los últimos años, no le ha salido una sóla, y antes de ser recordado como un irresponsable que se aferró al poder por vanidad, prefiere ser recordado como el geek multimillonario que se convirtió en filántropo para ayudar a la humanidad.

En lo personal creo que Microsoft como compañía esta cometiendo el mismo error que cometió IBM hace 20 años, el cuál es básicamente cree que el mercado es suyo y que cualquier cosa que ellos hagan, el mercado tendrá que aceptarlo. Además desde hace muchos años la palabra innovación ha sido retirada del diccionario de Microsoft, y sólo se han dedicado a copiar, y además muy mal, a los líderes de todos los sectores donde el gigante de Redmond ha incursionado, consolas de video-juegos, reproductores portátiles de música, portales web, etc.

En conclusión no creo que Microsoft quiebre (con o sin Gates), porque como he dicho antes, tiene un tamaño tal, que puede sobrevivir incluso si perdiera el 90% de sus clientes. Cuando se tiene el tamaño de Micosoft, lo más complicado es quebrar.

Piratas de Silicon Valley

El Valle del Silicio, o Silicon Valley en inglés, es el lugar geográfico donde se concentra la mayor cantidad de empresas relacionadas a las tecnologías de la información. Aunque en él han aparecido y evolucionado muchas empresas, sin duda alguna las dos empresas que han jugado el mayor rol en popularizar las micro-computadoras (PC como las conocemos ahora), han sido Microsoft y Apple, que han estado envueltas en una relación de amor/odio. Sus dos fundadores son personas que pueden despertar tanto odio como admiración.

Dado que hoy ha sido el último día de Bill Gates en Microsoft y probablemente Steve Jobs, sea reemplazado en Apple también, me parece un justo homenaje visionar la que es sin duda la película que mas fielmente retrata la vida de estos dos pioneros de las micro-computadoras, la película se llama "Piratas del Sillicon Valley", porque realmente en aquellos primeros años, las empresas y sus líderes se comportaban como asaltantes, que robaban impunemente la propiedad intelectual de otro, aunque ahora que ya son ricos defienden la legalidad.

Aquí les dejo la película en español para que la puedan ver tambien, lamentablemente la primera parte que es como 8 o 9 minutos que muentra la vida de Steve Jobs y Steve Wozniak antes de fundar Apple no la he podido encontrar en Youtube, todas las demás secuencias las he puesto en un solo playlist para que la puedan ver de principio a fin. Espero que les agrade.

.confusion ICANN abre la caja de pandora

En un artículo aparecido el día de ayer (26 de junio) en Ars Technica, se comenta ampliamente sobre la decisión tomada por ICANN (Interner Corporation for Assigned Names and Numbers), de aprobar TLD de cualquier tipo incluyendo letras no pertenecientes al alfabeto latino, podría traer consecuencias a la estructura de la red como la conocemos.  Hasta la fecha sólo eran permitidos como dominios de primer nivel (TLD) .com, .net, .org, .tv, .biz, .mobi y .us además de los dominios asociados a países, en cambio con la nueva regulación que entrará en vigencia el segundo trimestre del 2009 cualquiera podra crear dominios de primer nievel (TLD) previo pago de los derechos (estimados entre $100,000 y $500,000) y pasar la prueba técnica y legar de ICANN. En pocas palabras una empresas podran registrar nombres como .sex, .sexo, .sexy, .nyc, etc.; que seran de su propiedad, y luego ellos podran vender los dominios de segundo nivel.

Obviamente los más contentos son las compañías de registro de nombres, pues podran lanzarce a ofrecer dominios que no eran posibles a la fecha. Aunque esta nueva posibilidad abre nuevos conflictos, que pueden ser peores a los que existen actualmente, por ejemplo como se comenta en Ars Technica, que si una compañía decide registar el dominio .lat que puede ser asociado con Latinoamértica, debería de permitirse la explotación comercial de ese dominio, o que con .paris, a quien se le otorgaría a Francia o a Texas, pues ambos tienen una ciudad llamada Paris. O que con los lenguajes, si alguien registra .arab puede hacer uso comercial de ese dominio reservandose su uso exclusivo. Definitivamente muchas preguntas se han levantado en torno al tema.

Definitivamente con la decisión de ICANN cambia el panorama de Internet radicalmente, el .com puede comenzar a perder su valor, y su connotación de representar un sitio en Internet. Definitivamente algunos se veran beneficiados, pero los primeros años de éste nuevo modelo traerán muchos cambios y quiebras. Como se compara correctamente ésta decisión es como abrir la frontera del salvaje oeste americana, cualquiera con el suficiente dinero y deso de aventura puede ir alli y tomar tanta tierra como desee, en éste caso sería tantos nombres de dominio de primer nivel como se desee.

Aunque en lo personal me gustaría que alguien registrara un dominio .per o .peru y lo venda como se hace con los .com, es decir al mismo precio aproximadamente unos $10 al año, y que se pueda pagar con tarjeta de crédito. Porque RCP y su monopolio de los .pe realmente son una tortura que todos los que queremos registrar un .pe debemos de sufrir.

Al final la conclusión es que el Internet como lo conocemos actualmente sufrirá un remesón a partir de mediados del 2009, si seran buenos o malos los cambios, no lo sabremos a priori, y como dice muy bien Ars Technica ICANN ha abierto la caja de pandora de los TLD.

La nube no puede oscurecer al método científico

El título de éste post es el mismo de un artículo publicado en Ars Technica, que es la respuesta al artículo escrito por el editor de la revista Wired,  Chris Anderson, titulado "El final de la teoría: El aluvión de datos hara el método científico obsoleto", el cuál comentamos en este blog el día de ayer.

El artículo de Wired, fue ciertamente provocador, novedoso y anuncia el final del método científico de la mano de la capacidad de los seres humanos de poder construir computadores mucho más poderosos y rápidos. Sin embargo el artículo de Ars Technica, se dedica a tratar de poner peros a algunos de los parrafos del artículo de Wired, aunque omite conveniente algunos que no puede refutar. Y su mejor alegato es que el método científico ha producido a los computadores, por lo tanto el método científico es mejor que los computadores, pues por más poderosos que éstos sean, han sido creados como resultado del uso del método científico.

Esta puede ser una discusión de nunca acabar, pero que la "Era del Petabyte" cambiará la forma como vemos la naturaleza y como tratamos de analizarla le queda claro tanto para Wired como para Ars Technica. Ahora se puede procesar una cantidad de datos que antes era inimaginable y por lo tanto problemas aparentemente imposibles de resolver pueden encontrar ahora una via de solución usando datamining