La programación en solitario, un inconveniente.

Y soy de los que programan en solitario por varias razones, pero aunque nunca pude programar en grupo o en pares, sabia que por lógica programar al menos con alguien mas en un proyecto, debía ser siempre mejor que hacerlo solo. El caso es que leí dos artículos acerca de ventajas e “inconvenientes”  de la programación en grupos. Y no puedo estar más de acuerdo con las ventajas. Donde no estoy del todo de acuerdo es en los inconvenientes. Aquí un resumen de lo leído en el artículo titulado “Los 5 riesgos de la programación en solitario”:

La Programación en pareja es una de las prácticas más debatidas de Extreme Programming. Históricamente, la programación solía ser una actividad solitaria que requería de una alta concentración e incluso aislamiento total.

Alta tasa de defectos

Este es el riesgo más obvio. Los seres humanos no somos magos y sin importar que tan preciso se intente ser, es inevitable que ocurran errores de tipeo, se comprenda mal el requerimiento o simplemente ocurra una equivocación. Los programadores solitarios enfrentan estos errores con ayuda de una planificación cuidadosa, revisiones de código y varias herramientas de análisis de código. Estas actividades son todas muy útiles, pero no existe ninguna revisión de código realizada después del problema que pueda compararse con una revisión continua que se hace durante el mismo acto de escribir el código. También, no hay cantidad de de planificación cuidadosa que se pueda comparar con estar junto al cliente, al analista de negocio o al tester mientras se trabaja con el requerimiento.

La programación de a pares no es la bala de plata que solucionará todos los problemas; simplemente resulta demasiado riesgoso presuponer que una única persona puede prevenir la misma cantidad de errores que una pareja.

Las distracciones que nos fuerzan a salir de la Zona

A un trabajador promedio de oficina se lo interrumple cada 11 minutos. No resulta sorprendente que a un programador le cueste tanto Fluir, y lograr código creativo y diseños eficientes. No es tan facil interrumpir a un par de personas que trabajan como un equipo. Para quienes están caminando por la oficina, es mentalmente más dificil atreverse a interrumpir a un equipo; la pareja en general apaga el centro de atención individual a su entorno. Además, incluso aunque la pareja sea interrumpida, a menudo se puede dejar a que uno resuelva el pedido importante y deje a su pareja “fluyendo”, para luego unírsele nuevamente cuando la distracción queda resuelta.

La programación de a pares no es la bala de plata que solucionará todos los problemas; simplemente resulta demasiado riesgoso presuponer que un programador solitario puede ser tan resistente a las distracciones externas como una pareja.

Poca concentración y disciplina

Los programadores son personas bastante disciplinadas, pero a veces hay demasiados videos divertidos en YouTube, o algún artículo muy interesante (pero irrelevante en ese momento) publicado en algun sitio popular. Los motivos de distracción no son malos por si mismo, después de todo nadie puede escribir código creativo durante 8 horas seguidas.Sin embargo, cuando esta tentación se va de las manos, añade otra fuente de distracciones. Cuando se trabaja con un par, cada parte se siente naturalmente comprometida al objetivo, y las personas pueden seguir con sus objetivos puramente personales cuando se acaba el tiempo de trabajar con la pareja.

La programación de a pares no es la bala de plata que solucionará todos los problemas; simplemente resulta demasiado riesgoso presuponer que un programador solitario puede resistir las tentaciones que rompen la disciplina de forma tan efectiva como una pareja.

Pocos incentivos para seguir prácticas comunes

Cuando se aproxima la fecha de entrega, es facil olvidarse de la calidad de las pruebas unitarias, de realizar análisis de la arquitectura, de verificar que los nombres de las variables sigan los estándares de la organización, etc., etc. No resulta facil admitir esto mismo frente a una pareja. Justo al revés, es mucho más facil encontrar el coraje necesario para decirle a la gerencia que la tarea es demasiado grande, o para contarle a la pareja que uno no sabe cómo aplicar una práctica de forma eficiente.

La programación de a pares no es la bala de plata que solucionará todos los problemas; simplemente resulta demasiado riesgoso presuponer que a un programador solitario le resulta igual de facil seguir prácticas comunes como a una pareja.

Aprendizaje lento

Cualquier persona que ingresa a un equipo, tanto sea un desarrollador senior como alguien que se acaba de graduar, necesita tiempo para aprender los estándares del equipo, la forma en que trabaja y el código en si mismo. El aprendizaje en solitario puede llevar meses, y las personas más tímidas pueden terminar sin conocer el uso de una herramienta en particular. La programación de pares con un mentor o mentores reduce significativamente la cantidad de tiempo que se necesita para aprender distintos temas, comprender el código y unirse al equipo.

Por otro lado, el programador solitario sólo tiene a sus propios conocimientos y punto de vista para aprender. La programación en pareja, al rotar progresivamente por todos los miembros del equipo, enriquece constantemente a las personas, brindándoles nuevas experiencias, opiniones y perspectivas, logrando así un crecimiento personal y profesional continuo que resultaría imposible de alcanzar en forma aislada.

La programación de a pares no es la bala de plata que solucionará todos los problemas; simplemente resulta demasiado riesgoso presuponer que un programador solitario puede aprender igual de rápido como si estuviera junto a otro miembro del equipo.

Fuente: http://www.dosideas.com/noticias/reflexiones/401-los-5-riesgos-de-programar-en-solitario.html

En otro artículo que trata el mismo tema, expone un número de desventajas ademas de los beneficios.

Aun así, no todos los que añaden algún comentario al blog lo están también. Por ejemplo, hay quien da argumentos a favor del trabajo en solitario, como éstos:

  • Propiedad total de las decisiones del diseño.
  • Ser responsable de la agenda del proyecto.
  • Poder fijar tus propias prioridades, sin necesitar alentar a otros a que vivan por ellas
  • No necesitar actuar de “niñera” de desarrolladores menos experimentados
  • Poder utilizar un proyecto para explorar una nueva tecnología, sin tener que justificar la decisión a otros miembros del equipo o a encargados de proyecto
  • Poder comunicarse directamente con los clientes sin tener que trabajar a través de intermediarios (como encargados de proyecto o analistas).
  • No hay que ocuparse de código heredado de otros desarrolladores; como todo el código es el mío, mi familiaridad es mayor.
  • Poder elegir qué lenguaje y qué base de datos utilizar para los nuevos proyectos.
  • No tener que perder ni una hora en reuniones del equipo ni con los encargados

Fuente: http://nachocabanes.blogspot.com/2007/06/uno-es-el-numero-mas-solitario.html

La primera ventaja de trabajar en solitario no la veo como tal. Piensa que si te equivocas, toda responsabilidad recae sobre ti, y trabajando en grupo, corrigiéndose unos a otros hay menor probabilidad de equivocarse. Con la segunda me pasa parecido a la primera, ¿que clase de ventaja es esa?, no la entiendo. Las demás tienen un pase, pero, como digo no son realmente ventajas. La que mas me conviencia era “Poder utilizar un proyecto para explorar una nueva tecnología, sin tener que justificar la decisión a otros miembros del equipo o a encargados de proyecto”, y para esto, están los pequeños proyectos de exploración que hace uno personalmente en su casa.

Youtube ofrece la posibilidad de visionar vídeos a más de 1080p

Youtube anuncia en su blog oficial, que a partir de ahora permiten el visionado de vídeos a más de 1080p, concretamente hasta 4K.

¿Y cuanto son 4K? Pues es una resolución de 4096 x 2304. Exagerado, ¿verdad? pues es la extraña apuesta de Youtube. esto sin embargo va muy limitado. A penas existen conexiones en el mundo que tengan el suficiente ancho de banda necesario, pues se necesitan de conexiones ultrarapidas. Además, los vídeos disponibles para ser visionados a esa calidad son escasos, las cámaras de vídeo que graban a tal calidad no las tiene todo el mundo por su elevado precio.

En mi opinión, podían haberse ahorrado eso y quitar el ya no necesario límite de 11 minutos para la subida de vídeos. Pero claro, hay que sacar pelas hasta por dejar respirar.

Review: Asus A52F

Buscando un notebook que sustituyera al viejo Advent que usaba hasta ahora, encontré una buena oferta en Carrefour de este modelo de Asus. Así pues, se me ocurre hacer un review de mis impresiones acerca de este ordenador portátil, basándome en las dos semanas de uso que llevo con él.

Asus A52F

Asus A52F

Para empezar, comentaré el perfil del ordenador que estaba buscando, a continuación sus características técnicas junto con mis impresiones, empezamos.

Continue reading

FreeNet – Los barrios bajos de la red.

Muchos conoceréis FreeNet, no es algo nuevo, pero mucha gente aún no sabe que es, o solo ha oído hablar de el.

FreeNet es una red basada en el modelo p2p, que puede ser vista como una red que se construye con la misma finalidad que la World Wide Web, pero que destaca por ser una red totalmente distribuida, y sobre todo anárquica; quiero decir, sin control.

En freenet se intenta garantizar el anonimato de los navegantes, y estos son libres de publicar y descargar el contenido que quieran.

Las paginas web (denominadas freesites) y los contenidos son difundidos entre los nodos, de forma que puedes descargar una web desde varias fuentes. Esto no significa que sea mas rápido que navegar en la WWW, en realidad todo lo contrario, solo ayuda a difundir la información, pero como ocurre en todo p2p, si no tienes fuentes disponibles o accesibles desde tus nodos vecinos, no podrás visitar la página o descargar ese fichero.

El software de freenet, que prepara tu ordenador para actuar como nodo de la red, también hará los ajustes necesarios para que puedas navegar seguro. Esto si, para mayor seguridad y privacidad de lo que hagas en freenet se te pide siempre que uses un navegador distinto al que usas para navegar por la WWW, asi como que aproveches el modo “incógnito” que ofrecen últimamente los navegadores.

Al ser una red totalmente descentralizada, ocurre como en los inicios de todas estas, solo que aquí puede que se note más. La pornografía abunda, los anuncios de venta de drogas y viagra también, y no te debe de extrañar si encuentras la web de algún pedófilo. Aun pese a ello, merece la pena de explorar.

Enlace: http://freenetproject.org/

A Windows 7 le espera mi test ^^

win7_load

Mucho se ha dicho ya sobre windows 7 en sus versiones beta, de que parecia ser mejor que su antecesor vista, lento y derrochador de recursos, pero ahora tocaba comprobar por mi mismo la ultima versión del sistema operativo de microsoft, la edicion profesional.

De momento, y tras mucho pelear con la instalacion de windows (dato que comentaré mas adelante) tengo el sistema operativo instalado y fuincionando completamente. Dentro de no mucho, pondré pruebas ahora que tengo el sistema recien instalado, de este, comparandolo con la ultima versión de ubuntu.

Las pruebas las haré desde el mismo equipo, contando el tiempo que tarda el sistema operativo en estar usable y todo visible desde que lo enciendo. Las pruebas las haré con los efectos de escritorio de ambos funcionando, y sin ellos, para probar tambien que tal rinden Aero vs Compiz.

Mañana me tocará instalar ubuntu 9.10 en la otra particion.

Ambas versiones son de 64 Bits.

Google venderá e-books a partir de 2010

Es la nueva apuesta de negocio de google, con lo que parece querer competir con amazon, aunque puede estar tranquilo con el proyecto Kindle ya que no tiene nada que ver. Actualmente Google ofrece el servicio de ver previsualizado unas cuantas páginas de libros que encuentra, pero a partir de finales de 2009 y comienzos de 2010 con este nuevo proyecto, “Google Editions”, pretende venderlos, asi como de proporcionar el enlace a la tienda online que lo posee en caso de no tenerlo disponible en su propia tienda.

Fuente: http://tech.yahoo.com/news/nm/20091015/wr_nm/us_books_frankfurt_google

Fallo de conexión en Spotify

Recientemente desde la actualización de la version 0.3.20 es muy probable que tengais fallos de conexión. Yo personalmente ejecutaba spotify desde wine en Linux y pensé que algo habria pasado con la nueva ubuntu (que coincidió el momento de yo instalar la 9.04 con el de instalar la 0.3.20 de spotify). Pero parece que el fallo es generalizado, ya que en Windows y MacOSX también puede ocurrir, de hecho en mi portatil con Windows XP empezó a fallar.

Logo de spotify

Logo de spotify

El fallo llego a los oidos del equipo de spotify y han sacado una nueva versión que parece que algo mejora los fallos a los que los tenemos, solo que tarda un poco en conectar. La versión 0.3.21 solo la obtendreis si descargais la última versión manualmente ya que debido a los fallos de conexión no se actualizara automáticamente como siempre lo hace.

Documental: Código Linux

Actualizo la sección de documentales con un documental que tenia ganas de añadir y estaba preparado para añadir al blog desde hace bastante tiempo.

Código Linux es un documental donde se cuenta de una forma resumida y concreta, que es linux, que es GNU y que es GNU/Linux.

Desafortunadamente no pude subirlo yo en una sola parte y lo encontré en youtube en 5 partes, así que es mejor que hagáis clic en el vídeo o bien el enelace mas abajo donde he creado un playlist con las 5 partes.

El playlist en youtube: Documental: Código Linux

Mozilla Firefox con menús estilo "Office Ribbon"

El equipo de mozilla quiere rediseñar la barra de menús de su navegador al estilo “Ribbon” que hizo popular la suite Microsoft Office 2007. Este estilo de menús esta presente también en las nuevas versiones de paint,  y según dicen en mozzila “Empezando con Windows vista, y continuando ahora con la versión 7 del sistema operativo, las clásicas barras de menús están pasando de moda”.

Los cambios traerán los efectos de Windows Aero al navegador, y permitirá más espacio de visionado para la página web. Esto favorece  los usuarios de netbooks, con pantallas mas pequeñas.

Se espera que el cambio venga en la versión 3.7 del navegador, el cual se espera para marzo de 2010, aun asi admiten que aun queda tiempo para que se realicen propuestas para cambios de diseño distintos a este previsto.

Hay que decir, esto desde un punto de vista personal, que puede que no sea muy bien visto por los usuarios de sistemas operativos Linux, ya que existe la posibilidad de que el cambio de menús probablemente sea usando algún tipo de api para el sistema operativo propietario, con lo cual los usuarios de linux no se verian beneficiados por el cambio de look del navegador, a menos que se dediquen a reprogramar la interfaz desde cero.

Fuente: http://www.pcpro.co.uk/news/351808/firefox-tidies-up-with-office-2007s-ribbon

ASI Stage starts!: Mañana comienzo ASI :D

Bash
Pues eso, mañana comienzo el ciclo superior de “Administración de Sistemas Informáticos”.
Se me presenta un ciclo bastante completito, el jefe de departamento de informática me aseguró que aunque esto no es un DAI, se iba a dar muchiiisima programación mas de la que se suele dar en un ASI y a ser posible al mismo nivel que el DAI, lo cual para mi es bueno pues es lo que mas me gusta, pero sin dejar de lado el tema de redes y otros temarios. Esto hace que el ciclo se presente duro, pues si lo hacen asi seria una mezcla ASI+DAI un tanto extraña pero completa e interesante.

La semana que viene tengo que presentar un formulario para las convalidaciones de haber superado el grado medio que cursé el año pasado, aver que convalido….