martes, febrero 26, 2008

Haciendo lo posible por sentirse comodo

Pues bien... había quedado pendiente el ¿Qué puede hacer uno? para que sentirse uno un poquito mas cómodo en un ambiente de desarrollo Windows con Visual Studio.

Tiene uno que aceptar que por mas que uno lo intente uno seguirá siendo un vendido :P

En fin...

1) Herramientas decentes

Con cygwin uno obtiene casi todo. Emacs, Bash, ssh (no hay necesidad de usar putty) e interpretes comunes como perl, ruby, y python. Puede uno instalar muchas cosas mas.

2) Keybindings

2.1) Windows

Si uno ya tiene algunos keybindings hardcoded en el cerebro. Lo mas útil es éste pequeño plugin:

http://www.cam.hi-ho.ne.jp/oishi/indexen.html

Simplemente le da a las aplicaciones que uno escoja el comportamiento usual de emacs. Permite haste hacer macros!!

2.2) Modo Emacs Visual Studio

Pese que el plugin es bastante útil para Windows, a veces uno quiere cambiar de buffer fácil o hacer cosas que son especificas de Visual Studio. Para ésto visual Studio trae su propio modo Emacs. Es cuestión de ir a Tools-Options-Environment-Keyboard y ahi en una pestaña se puede seleccionar el modo Emacs

3) Multiples escritorios.

Para los que usan Gnome o algo por el estilo, uno se termina acostumbrando a tener múltiples escritorios. Si uno tiene WinXP puede optar por utilizar MSVDM.

4) Tips varios de VS.

Pues bien. Uno de los contras de usar un IDE típico es que el área de edicion es my pequeña por el montón de herramientas y menus. Una forma de solucionar ésto es utilizar el modo de pantalla completa Shift-Alt-Enter.

Otra cosa es que para los que detestamos el fondo blanco del editor, ésto también se puede cambiar.

Yo por ejemplo lo tengo así:



En: Tools-Options-Environment-Fonts and Colors

Background = Black
PlainText = White
Line Numbers = Silver
Comments = R=9,G=118,B=227
Identifier = R=253,G=223,B=57
Keyword = R=244,G=122,B=0
String = Lime
UserTypes = R=244,G=122,B=0

Creo que esos son todos

miércoles, febrero 20, 2008

Transición

Hay que aceptarlo. Cuando uno se acostumbra a trabajar en un ambiente Unix-Like es difícil acostumbrarse a la forma Microsoft. Y para ésto hay multitud de razones (unas mas racionales que otras)

Las que suenan racionales

Dentro de éste grupo hay una multitud. La favorita mía es el control. Saber que en Linux sé lo que pasa abajo. La consola me da poder sobre la caja negra y la carga nemónica de algunos programas como Emacs me hacen una persona mas capacitada que el usuario promedio de VS que esta acostumbrado al Drag and Drop.

Otra que es muy utilizada es la de la seguridad. Uno escucha muchas veces el, "En Linux no necesito Anti-Virus" o él "Que bueno no tener que instalar Anti-Spy-Ware". Las razones pueden ser a nivel del diseño del Sistema Operativo. La falta de usuarios ingenuos o que los que diseñan malware prefieren el objetivo que es mas popular entre los usuarios.

La Trascendental podría ser aquella que ve en el software libre una revolución de conocimiento. La manera Zen que predica religiosamente que hacer software donde "Given enough eyeballs, all bugs are shallow."

Otras razones están en el medio

Éstas, en vez de hablar de "lo bueno de Linux" se enfocan en hacer ataques ad hominem a Microsoft. Y para eso cualquier cosa funciona. Por ejemplo, Pepe Pérez dice:

* Microsoft es una compañía de ineptos que no son capaces de hacer un sistema de archivos que no tenga que ser defragmentado. Ese problema ésta solucionado desde los 70's

* Microsoft es una compañía ladrona. Sus intentos de patentar cosas que ellos mismos no han hecho los hace los seres mas amorales del universo.

Y variantes de las anteriores que usualmente se pegan ya sea de las políticas de Monopolio o defectos técnicos.

Las irracionales

Las que yo veo como diferencias culturales (Hay que aceptarlo... por estas diferencias la humanidad a perecido en millones). Uno conoce el típico empleado de software en la ciudad que defiende a capa y espada a Microsoft sin conocer nada mas y es la persona mas poco curiosa y apasionada del mundo. Sus discusiones son un mar de Weasel Words.

Existen también estereotipos que predica Microsoft que hace que ni siquiera se pueda uno identificar con la compañia (caso contrario de Google). Si uno es así:



Como se a a identificar con heroes de éste tipo:

O con gente real que sale cuando uno instala VS:



Pues bien.

Yo comparto gran parte de las cosas que dije. Desde las racionales hasta las completamente irracionales que rayan en el odio. Sin embargo uno debe ser en cierta medida justo. Y aunque son pocas, hay cosas que hace Microsoft que defiendo. Una de ellas es el trabajo en Lenguajes de Programación. Microsoft Research es un lugar donde mucha gente brillante y "cosas maravillosas suceden ahí". A veces "no parece Microsoft" Y eso es tal vez porque la gente viene de ámbitos completamente académicos.

Por Ejemplo. Simon Peyton Jones es tal vez la persona mas influyente en Haskell. Uno puede resaltar su trabajo en STM como muuuchas otras cosas. y Todo ha sido gracias a Microsoft.

Mi experiencia con F# es parecida. Se encuentra uno gente que viene del mundo Ocaml. Gente curiosa y muy brillante. Le explican a uno en el nivel de detalle que uno lo requiera. Le explican a uno desde las limitaciones del sistema de tipos de la CLR o como hacer una transición amena a Windows. Con F# por ejemplo uno tiene el código fuente. (obviamente no es GPL ni nada de eso) pero es algo mucho mejor que no tenerlo.

Últimamente he trabajado con LINQ y es otro de los productos que nació prácticamente de Microsoft Research. Es genial... Mejor que eso es ver a uno de sus creadores hablando de programación funcional.

En fin... esto simplemente habla de lo malo de generalizar indiscriminadamente. La verdad tenía en mente algo distinto cuando comencé a escribir. Quería mostrar, dado lo duro de la transición, como era posible no hacerlo tan traumático. Éso lo dejare para el próximo post.

domingo, febrero 03, 2008

Un pequeño comentario

Todo el mundo habla de la oferta de Microsoft a Yahoo. Acabo de leer el post al respecto en el Blog de Google.

Yo la verdad prefiero evitar estos temas "serios". Mi opinión es parcializada y lo es porque no confío en empresas que sus comunicados tienen mas legal notices que contenido real. Pienso que para hablar francamente no se necesitan 100 abogados detrás.

Tal vez cuando Google se vuelva malo me toque tragarme mis palabras.