miércoles, 14 de septiembre de 2011

Herramientas básicas para programar

Éste tema es muy a mi modo, cualquier sugerencia es bienvenida, ok, al tema cuando tengo que hacer alguna aplicación ya sea sólo de mi utilidad o bien para un público mayor y en el mejor de los casos un camarón.

Lo principal es tener un entorno apropiado y con ello me refiero a tener por lo menos una consola lista para ser explotada, Linux, Mac y Android pueden estar tranquilos, para los usuarios de Windows está mi primera recomendación:

Cygwin:

Ésta herramienta permite parte del poder de Bash y otras herramientas portadas de Linux, en el entorno de Windows, con ésta herramienta puedes usar cosas como scripts, pipes, herramientas hechas para la consola de linux, entre otras más cosas Leet.

SSH:

Tienes un servidor web que corre en Linux, quieres poder acceder a él con si estuviera a la par de tu escritorio, quieres poder acceder a redes que están fuera de tu alcance, copiar y descargar archivos de tu servidor, esta herramienta hace eso y mas, para instalarla en linux esta como el paquete "open-ssh", Mac ya lo trae y Windows con Cygwin, vease herramienta anterior.

IDE:

El IDE depende de gustos y el lenguaje a programar, por ejemplo yo soy fanático de Netbeans 7 para programar PHP, pero para Java/Android uso Eclipse, para lo que es Ruby si estoy en Mac (casi nunca) uso TextMate, pero cuando estoy en Ubuntu Linux (casi siempre) uso Gedit con el conjunto de plugins Gmate, por los demás lenguajes como .NET que tienen su propio IDE, es mejor usar la integración con el lenguaje que ya traen, al menos que te guste nadar contra corriente, para cuando estoy remoto con SSH uso vim, ésta es una combinación muy poderosa si se sabe usar.

Google Chrome:

Personalmente me gusta más los tiempo de respuesta de éste navegador, además siento más intuitivo sus herramientas de desarrollo y lo que más me llama la antención es lo simple que es hacer extensiones utilizando solo Javascript, CSS, JSON y HTML, por lo que utilidades que uso todo el tiempo las hago para Chrome y no pierdo mucho tiempo en ellas.

Git:

Una vez que lo empesé a usar no pude volver a atrás, antes de utilizarlo pase por SVN y Bazaar, pero Git ganó con el hecho de ser extremadamente rápido, esta bien documentado, muchas integraciones y lo mejor se ajusta a tu tipo de flujo de trabajo, permitiendo poder trabajar de muchas maneras con entornos descentralizada pero efectivamente, ésta herramienta con Dropbox es muy útil.

Dropbox:

Todo programador que se respete debería tener una cuenta, esto es por que puedes tener repositorio de Git, extensiones de google chrome hechas por ti, paquetes, iconos y muchas cosas que no necesariamente con información sensible, lo mejor de todo funciona hasta en tu teléfono (iPhone o Android), por lo que tienes acceso a ello en todo momento y multiples computadoras evitándote la molestia de hacer respaldos o andar llaves USB, tuanis verdad?

Hay muchas herramientas que dejo por fuera, no es porque no las recomiendo, es porque, todo eso se ajusta a los gustos particulares, además estoy más orientado a ser un programador orientado a web, programadores que usen C++, C, Java o lenguajes afin pueden necesitan herramientas adicionales, de igual modo pueden utilizar las que anteriormente describí.

En cuanto a virtualización de los sistemas operativos, no tengo un servidor casero ni mucho espacio disponible y prefiero Dual Boot o Triple boot que virtualizar, ésto es, porque no tengo buenas experiencias virutalizando por problemas triviales que se convierten en molestos con el tiempo y se depende del fabricante para que sean solucionados, de todos mi recomendación es neutral y todo depende de las necesidades y no de un criterio particular.

martes, 13 de septiembre de 2011

Cambio de lugar, mejor contenido

La personalización es unas de mis debilidades y todo lo que pueda ser modificado me llama la antención y  cuando tengo esta limitante me gusta que la funcionalidad sea buena y la interfas limpia, dicho eso use por  un buen tiempo wordpress para mi blog, pero terminé cansandome de la multitud de problemas para crear un entradas con código fuente y como dije anteriormente la personalización.

Ya que gracias a mi nuevo integrante de entre mis gadgets (Samsung captivate), me tome la tarea de darle mas importarncia a los productos de google para ver que tal es la experiencia completa.

Aún no he decidio la transición, posiblemente termine pasando entradas o escribiendo desde cero, quiero darle un refrescamiento a los temas y darle más énfasis al tema principal que es el "Desarrollo", también mientras me haga de más experiencia voy a incluir Android y Ruby on Rails, que es algo que traigo sobre manos y quiero darle también importancia.

Estaré cambiando aqui allá para ver como me va.