Donando a la Teletón


Ya hice mi donación a la Teletón y como buen geek lo realicé a través de Internet. Esta es mi segunda vez que lo hago a través de dicho medio. Así que si eres de lo que te da flojera ir al banco o no te quieres perder un segundo el show puedes hacerlo a través del sitio del Banco de Chile.

Tags: , ,

Sunday, November 30th, 2008 No Comments

Limpiando feeds en Google Reader

Siempre uso Google Reader para leer mis feeds, pero estaba aburrido.

Luego de lo que le hicieron a mi amigo. Me dispuse a eliminar varios feeds de algunos blogs que no comparto su punto de vista. Puede que sea un poco dictatorial mi decisión, pero así como tengo derecho a agregar los feeds que quiero, tengo derecho a eliminar los que quiero.

Creo que hay un mini-monopolio en los blogs chilenos que no permite la apertura a nuevos talentos en el blogging. Por ejemplo, los chicos de bloog encuentro que publican artículos muy interesantes, y son tipos del área tecnológica.

Otro blog interesante que leo es La naturaleza del software. Es una mezcla entre los gringos Joel on Software y Coding Horror. Donde se establece una sinergia entre la tecnología, software, tendencias mezclado con ideas de un hombre con experiencia en la industria del software de Chile y creador de Blogmemes.

Cada vez me alejo más de los blogs ultra-populares. Me desilusionó FayerWayer, el Francotirador parece más una ametralladora de tanto que dispara para todos lados sin afinar su puntería. Todos los blogs de betazeta realmente cada vez están más farandalurizados y se alejan de lo que eran los blogs. Tal vez estoy disparando un poco, pero la verdad es que estoy aburrido de los mismo.

Tags: , ,

Saturday, November 29th, 2008 1 Comment

¡¡A probar Bazaar!!

Luego de escribir mi post acerca de SVN recibo una respuesta muy interesante en la cual me mencionan Bazaar y Git.

La idea principal de estos sistemas de control de versiones es que son distribuidos. Así cada uno puede mantener sus desarrollos como branches separados con los cuales se realiza el merge. Esto es útil cuando hay situaciones en las cuales ciertas modificaciones se tienen que realizar en terreno. Por ejemplo: Visitas al cliente con modificaciones en vuelo, sistemas complejos de integrar, desarrollo de software con programadores ubicados en distintos lugares del mundo sin depender de un servidor central, entre otras cosas.

La verdad hasta ahora estoy en el tema conceptual, que ya es interesante, pero ya bajé las versiones para Linux y Windows (tiene un TortoiseBzr, pero todavía inmaduro), configuraré el plugin para Eclipse y ¡¡A probar Bazaar!!.

Tags: , , , , ,

Wednesday, November 19th, 2008 No Comments

Jugando con SVN

Acabo de instalar un servidor SVN en mi tarro Ubuntu. SVN consiste en un sistema de control de versiones, es decir a nivel general, una herramienta que permite la sincronización de código entre distintos equipos. Pero sigue igual siendo útil aunque lo utilice una persona debido a que permite ir creando versiones de los proyectos y obtener un respaldo controlado de lo desarrollado.

Con esto me pongo una simple regla que utilizaré para cada desarrollo que intente hacer:

Siempre utilizaré control de versiones

Hay varias razones prácticas y técnicas para usar control de versiones. Pero quiero ir a algo más allá. Me interesa ir adquiriendo poco a poco las buenas prácticas de desarrollo. Cada vez que pueda intentaré ir adaptandome a las diversas prácticas de forma de irme familiarizando con ellas y así lleguen a ser como algo natural. Iré de a poco entrenándome y mejorando. ¡¡Deseenme suerte!!.

Tags: , , , ,

Friday, November 14th, 2008 2 Comments

Cada vez veo menos tele

Me doy cuenta que cada vez veo menos tele…

…si, que Gran Conclusión!!!!. Que original… Ironicamente muchos pensarán. Pero esto significa como los medios han cambiado. Así como los videojuegos ahora son más rentables que el cine. La tele que en mis tiempos liceanos esperaba la hora para ver series como Dragon Ball o los Caballeros del Zodiaco, ahora en línea tengo acceso a todas las series de anime que me interesan, incluso mejorando mis gustos debido a la variedad hace que sea más facil distinguir las buenas de las malas.

Lo único que me hace seguir viendo tele son Los Simpsons y las noticias. Esto hace que cada vez la televisión se parezca más a la radio en el sentido de que en vez de usar la tele como un medio exclusivo de entretenimiento, es más una utilidad, tal así como los viejos que ponen la radio Bio-Bio o la Cooperativa.

Así mismo, considero un gran error tratar de imitir el medio tal cual en la red. Me cargan los famosos “diarios interactivos” hechos en Flash, en vez de aprovechar las ventajas del RSS y que Google indexa más facilmente los sitios a puro texto. Es como si en la tele en vez de ver un programa de TV vieras un estudio de radio con el locutor y los radioperadores. Aunque hay que darle tiempo, los medios se darán cuenta. Ya sea por necesidad, o por la llegada de un gerente visionario a estos.

Lo mismo pasa con la web. Muchas iniciativas de Tv Online fallan porque tratan de imitar el estilo TV. Creo que debe llegar a algo más allá. Me atrajo mucho el proyecto de realidad aumentada, si esta tecnología mejora, se pueden realizar niveles de participación que tal vez no podemos imaginar actualmente. Pero como en todo, hay que esperar.

En fin, cada vez veo menos tele.

Tags: , , , , ,

Thursday, November 13th, 2008 No Comments

No entiendo la manía por Ubuntu

En serio. No entiendo tanta manía por Ubuntu. Probé el último Ubuntu en mi notebook HP, y como siempre, no pude echar andar el wi-fi (en realidad si pude, pero a porrazos), la webcam no me pezcó ni nada. De repente, así como jugando, encuentro una copia que tenía de Mandriva One 2008. Echo a correr el Live CD, y así como magia me funciona el wi-fi (incluso tiene una elegante interfaz de configuración), me detectò la webcam incluso me configuró el Ekiga para utilzar la camara, la tarjeta de video no me dió problemas y funciona super estable. Adnemás, que apt-get y las ocho cuarto, con urpmi instalo los paquetes que necesito.

Cada vez saco la conclusión que Ubuntu es a las distribuciones de Linux como el IPhone es a los celulares. Pura moda.

Tags: , , ,

Wednesday, November 12th, 2008 No Comments

El arte de vivir solo. O explicación práctica de la entropía

Creo que el vivir solo puede ser un buen ejemplo de lo que es la entropía:

  1. Al comienzo ordenas todo, lavas todos los platos, haces el aseo todos los días, sacas la basura continuamente y haces todos los días la cama.
  2. Pasado un par de meses ya empiezas a dejar la loza tirada, la lavas cuando vez que ya esta media sucia. La cama no la haces, la “estiras”. Con suerte barres día por medio y con suerte sacas la basura alguna vez al día.
  3. Ya pasado el tiempo llegas y tiras la ropa, la loza se lava de vez en cuando, barres con suerte una vez a la semana, ya ni haces la cama, mientras esta sirva para dormir está bien, y la basura… ahí está, algún día la sacaré.
  4. Todo cambia cuando llega un agente externo (polola, madre y/o padre) a verte. Te pones a reordenar todo, dejas todo impecable, estrenas esa aspiradora que habías comprado y que dijiste que algún día la ibas a usar.
  5. Cuando se van te da remordimiento de conciencia y te vuelves a poner ordenado.
  6. Volver a paso uno.

Tags: , , ,

Tuesday, November 11th, 2008 No Comments

Grandes pensadores de la Informática

“No señorita, no funciona con Windows Linux, solo con Windows XP”

Operadora telefónica. Extraido de Barrapunto.

Tags:

Wednesday, November 5th, 2008 No Comments

El problema de los estándares de códificación

No me malentiendan. ¡No estoy en contra de los estándares de codificación!. Pero hay que reconocer que son complicados de aplicar.

Donde estoy trabajando, estamos trabajando con un código compartido. Con distintas prácticas. Por un lado un veterano programador, adorador de Java y por otro lado uno no tan veterano, pero experto programador en C/C++. Ambos son Ingenieros muy secos, pero poseen formas de trabajo muy distintas. Y yo estoy al medio.

El primero, es tan adorador de Java que intenta aplicar la misma nomenclatura a C/C++. Esta bien, es una buena práctica, pero C/C++ ofrece ciertas facilidades que a veces imitar a Java no tiene sentido. Les doy un ejemplo, el escribir un archivo utilizando C estándar es bien simple. Solo hay que crear el puntero al archivo y luego para usar el archivo tenemos las siguientes funciones básicas:

  • Abrir el archivo: fopen()
  • Cerrar el archivo: fclose()
  • Leer el archivo: fread(), fscanf(),fget(),fgets(), etc.
  • Escribir el archivo: fwrite(), fprintf(), fput(), fputs(), etc.

Si quisieramos imitar el modelo Java en C/C++. Olvidando el tema de hacerlo solo con C, que se puede, pero su complejidad no lo justifica. En el caso de C++ tendríamos que implementar las clases similares a Java. Es decir: BufferedReader, InputStreamReader,  PrintWriter, BufferedWriter, FileWriter, etc. Además de la captura de excepciones. Cuando podría ser más fácil crear una sola clase que hiciera de Wrapper sobre las funciones estándar de C. Lo cual es similar a los objetos ifstream y ofstream de C++.

Por otra parte, el esquema de desarrollo de C/C++ hace que de repente aparezcan esos nombres de variables místicos. Como el clásico ejemplo del ciclo for que explica Kernighan y Ritchie:

int i, n = 10;
int a[10]:
for(i = 0; i<n; i++) a[i] = 3;

Ese tipo de código lo he visto muchas veces, nadie sabe que es i, ni n, ni mucho menos a (hasta son indistiguibles en prosa). i queda un poco claro, es un indice, pero ¿un indice de que? ¿bajo qué está normado?, n indica cantidad, pero ¿es la cantidad de elementos o el límite que se desea recorrer?, en el caso de a se pone más enredada la cosa, puede ser una lista de clientes, una lista de sueldos de empleados, una lista de valores asignados a un hardware específico. Sé que es rápido desarrollar así, pero diganme, ¿qué es más legible? ¿El código anterior o el siguiente?

int indiceEmpleado, numeroEmpleados = 5;
int sueldoEmpleados[numeroEmpleados];
int valorSueldoPorEmpleado = 3;

for(indiceEmpleado = 0; indiceEmpleado < numeroEmpleados; indiceEmpleado++)
{
sueldoEmpleados[i] = valorSueldoPorEmpleado;
}

Debo admitir que me tomó más tiempo escribir dicho loop, pero vale la pena, queda claro cuál es el objetivo, que valor es asignado. Podríamos seguir mejorando dicho loop, pero creo que captan la idea. No podemos basar una práctica de desarrollo guíandonos por estilos asociados a un lenguaje. Hay que ser un poco más prácticos y definir algún estándar general y luego tratar los temas específicos del lenguaje. Obviamente hay temas rescatables de cada lenguaje, tal como el uso de capitalización tipo Java o el agregar prefijos para distinguir los tipos de datos, las variables miembro de una clase del resto como se hace en Visual C++. Así entre otras, pero sin casarse con un determinado lenguaje.

Espero que donde estoy lleguen a un acuerdo. En otra ocasión hablaré de como los problemas de comunicación pueden contribuir a la duplicación de código y por consiguiente a la duplicación de código propenso a errores.

Tags: , , , , , , ,

Wednesday, November 5th, 2008 2 Comments

Cuando las cosas de ponen complicadas

Mano escribiendo

Recuerdo cuando tenía mi primer blog. Me gustaba escribir, me daba el tiempo de escribir lo que se me ocurriera. Ahora se me hace cada vez más complicado.

Por lo mismo, no veo este blog de la misma forma que antes. Trato de ser más selectivo, más pensativo cuando trato de escribir. Ya no es disparar ideas, sino plantearlas con fundamentos. Ya no es criticar, es emitir una opinión fundamentada con base en algo. Ya no es escribir por escribir.

Pero gracias a Dios, tengo las  herramientas para hacerlo. Aunque cada vez me cueste más, seguiré escribiendo, nunca intentaré detener esta máquina de ideas y pensamientos llamada la mente humana.

Hace tiempo que no escribía un post de este estilo. Y me siento mejor.

Tags: , , , , ,

Tuesday, November 4th, 2008 1 Comment