Sublime 3 + Stata 12: Cómo integrar Syntax y Build

Hola a todos, volvemos a lo que nos interesa: cosas de nerds, jeje.

Imagino que conocerán Sublime Text, si no, corran a instalarlo, porque sin dudas es uno de los mejores productos de software hechos en el último tiempo. Y en Ubuntu 13.10 va perfecto. :)

Captura de pantalla de 2013-09-30 18:49:46

Este súper editor de texto ofrece muchísimas alternativas y opciones al programador hardcore, pero también al novato que está aprendiendo a tocar código. En mi caso, yo programo mis cosas económicas en Stata, pero si alguna vez usaron este programejo, seguramente sabrán que el editor de “.do files” que viene dentro del programa es una verdadera garcha ^_^. Después de la primera probadita que le di a Sublible-text 3, lo primero que pensé fue en tratar de integrarlo con uno de los programas que más uso: Stata.

En plan de integrar Stata con Sublime Text 3, armé un repo en git, específico para solucionar este asunto, cosa que todos puedan implementar el truquito que armé (si si, no había NADA en la web que solucionara esto… así que me arremangué y junté los puntos con los hilos… y al final, con un poquito de suerte, anduvo!). Luego de un tiempito (y un fresh install en mi compu) pulí el proceso de instalación del script de forma que la integración pueda hacerse en Ninja Mode, con un comando.

Requerimientos:

Qué es lo que hace el complemento?

  • Remarca con colorsitos la sintaxis de Stata 11 y 12 en Sublime text
  • Permite la ejecución o compilación de archivos .do (mediante ctrl+B) desde Sublime
  • Permite instancias independientes de Stata por cada compilación (^_^)
  • Funciona con la versión gtk o con la versión terminal de Stata. :)

Ahora, a los postres. Integrando Stata y Sublime 3 con un comando:

Ninja-Install: un copy-paste.

cd ~ && wget https://copy.com/8d24ms0Ng2Us/Stata.zip?download=1 -O Stata12-Sublime3-Linux.zip && mkdir -p ~/.config/sublime-text-3/Packages && cp -a Stata12-Sublime3-Linux.zip ~/.config/sublime-text-3/Packages && cd ~/.config/sublime-text-3/Packages && unzip Stata12-Sublime3-Linux.zip && rm Stata12-Sublime3-Linux.zip

Captura de pantalla de 2013-09-30 18:54:21Reiniciamos Sublime y seleccionamos la sintaxis Stata. Automáticamente la opción de Build estará disponible mediante el atajo de tecla Ctrl+B.

Captura de pantalla de 2013-09-30 19:01:35Como ven, permite seleccionar la sintaxis de Stata (atrás se ve que la colorización del texto funciona). Obviamente va con el tema de colores que más les guste. :)

Nota:

La opción de compilar no debería andar “al instante”, devolviendo un “Error type 2”. Para que la opción de compilar funcione bien, hay que tirar unos enlaces simbólicos de forma de que Stata se pueda ejecutar como un comando bash de sistema. Esto en “mi versión mía” :P esto es automático porque siempre instalo Stata en el mismo lugar, pero en el caso de usted, estimado señor o señora lectora, dependerá de donde haya puesto sus archivitos ejecutables durante el proceso de instalación de stata.

En suma, si siguen el tutorial que hice anteriormente de cómo instalar Stata en Ubuntu, ejecuten este comando:

sudo ln -s /usr/local/stata12/xstata-se /usr/bin/xstata-se && sudo ln -s /usr/local/stata12/stata-se /usr/bin/stata-se && sudo ln -s /usr/local/stata12/xstata /usr/bin/xstata && sudo ln -s /usr/local/stata12/stata /usr/bin/stata

En el ejemplo de arriba Stata está instalado en /usr/local/stata12. Si lo instalaron en otro lugar, entonces cambien esos cachos de código y listo. :)

Qué es lo que NO hace el script?

  • Lamentablemente todavía no puedo hacer que se ejecuten PORCIONES del código (o sea sólo ejecutar una  selección de nuestra .do file, algo realmente usual en el programa por defecto). Las soluciones ultra temporales que uso son dos: la primera es meter un liso y llano STOP o PARÁ en donde quiero que la secuencia corte, de forma que me tira un error de sintaxis y puedo testear porciones de programa. La segunda es copiar la porción en un nuevo archivo, correrlo, y después agregarlo a mi archivo de verdad. Ambas implican unos pasitos más que “seleccionar y correr”, pero es lo que hay.
  • Otra limitación de esto es que (no se por qué) no se pueden ejecutar direcciones de archivos con caracteres especiales. Así que en la dirección del archivo .do NADA DE ESPACIOS ni de cosas raras, como PARÉNTESIS u otros símbolos. Ejemplo de cómo hacerlo bien: “~/preyectos/stata/prueba.do” funciona perfecto, mientras que si no tenemos cuidado y usamos espacios y cosas locas, por ejemplo con “~/preyectos/stata/prueba (sub prueba número 343).do”, la compilación no funciona.

Bueno, y eso fue todo por hoy. :)

Salú!

Sublime 3 + Stata 12: Cómo integrar Syntax y Build

Integrando Syntax de Stata 12 en Gedit o Scratch (en sólo 3 pasos)

Hola, hoy vuelvo con un post relacionado con Stata. Estoy trabajando bastante con este programa, y si bien en la versión 12 el do-file-editor mejoró mucho, la flexibilidad de usar Gedit o Scratch al hacer un doble click no tiene precio. El problema es que el código de los archivos “.do” no tiene coloreado de sintaxis, y entonces aparece todo el texto en negro, sin reconocer los comandos, lo cual hace que el asunto sobre el que estamos trabajando sea realmente difícil de leer. La idea del post, entonces, es implementar el reconocimiento de syntaxis en nuestros editores de texto favoritos de Ubuntu y Elementary OS.

Gedit abriendo una do-file sin resaltado

Captura de pantalla de 2013-07-07 06:32:07

El resultado de este post: Gedit abriendo una do-file, con un hermoso resaltado de código :)

Captura de pantalla de 2013-07-07 06:25:32

Imagino que ya tienen instalado Stata 12 en Ubuntu. Entonces el proceso es muy fácil. Son tres pasos, descargar, ejecutar un script en Stata e incluir los cambios en Gedit. Abran una terminal y peguen el siguiente código:

Primero descargamos los scripts:

wget https://dl.dropboxusercontent.com/u/491767/%40rhoconlinux/stata_gedit_rho.zip && tar -xzvf stata_gedit_rho.zip && rm stata_gedit_rho.zip

Ahora ejecutamos el código en Stata para que se genere la lista de comandos que Gedit reconocerá (sabías que stata puede ejecutarse desde la terminal? jeje). Peguen el siguente código:

cd /usr/local/stata12 && ./stata do “~/stata_gedit_rho/writestatalang.do”

Ojo que ahora estamos dentro de stata. Salimos del programa escribiendo “exit” en la terminal (en la fotito, el último comando hay que escribirlo a mano para volver a la terminal de linux).

Captura de pantalla de 2013-07-07 06:09:50

Finalmente,

cd ~/stata_gedit_rho/ &&  mkdir -p ~/.local/share/gtksourceview-2.0/language-specs &&  mkdir -p ~/.local/share/gtksourceview-3.0/language-specs &&  cp stata.lang  ~/.local/share/gtksourceview-2.0/language-specs &&  cp stata.lang  ~/.local/share/gtksourceview-3.0/language-specs &&  killall gedit

Reiniciamos Gedit y ahora podemos seleccionar el Syntax de Stata desde el menú (ver > modo resaltado > científico > stata). Una vez hecho esto, Scratch tomará también la syntaxis ;)

Captura de pantalla de 2013-07-07 06:08:48

Y al final (colores Tango) nos queda el texto de Stata resaltado en Gedit y Scratch ;)

Captura de pantalla de 2013-07-07 06:27:24

Espero les sirva tanto como a mi. Algunas notas. La mayoría de la información la saqué de Linux Scrapbook pero si exploran un poco el tuto de ahí es muy confuso y no se entiende muy bien qué hacer ni cómo. Además de que es bastante viejardo. En suma, arreglé varias cosas. Principalmente, el script ahora funciona con versiones antiguas y modernas de Ubuntu y Gedit. Por otro lado, incorporé las modificaciones propuestas por el usuario “nixahn” en las que propone algunos fixes de las reglas para el resaltado de comentarios.

Hasta la próxima :)

Salú

Integrando Syntax de Stata 12 en Gedit o Scratch (en sólo 3 pasos)

Como instalar Stata 12 en Ubuntu Linux 12.04 (también en Elementary OS)

Hola gente, ^_^

Me decidí (sabiendo que iba a salir laaaargo) a escribir un lindo post para explicar en un paso a paso cómo instalar Stata 12 en Ubuntu 12.04, Ubuntu 12.10, y Ubuntu 13.04 (32bits o 64bits). Stata 12 es un programa de estadísiticas y econometría utilizado por gran parte de los economistas de ahora (ejem) y también por otros científicos, como biólogos, ingenieros, sociólogos… etc. Este post sirve perfectamente para Elementary OS Luna, así como para Linux Mint y otros derivados de Ubuntu (y, quizás, para debian también sirva, ni idea… :P).

Todo lo que hago lo saqué de la red, pero el asunto es que está todo disperso, tuve que probar varias veces antes de tener éxito, y al final terminé con mi sistema todo agujereado. Funcional, pero agujereado. Luego de décadas de desarrollo (ueeeeeh) pulí un poco toda la data que tenía probando de a poco y resulta que la instalación es bastante sencilla. Sólo que uso algunos los “truquitos” para que todo funcione a la perfección. Ahí va.

Captura de pantalla de 2013-06-05 09:03:48

Instalando Stata 12 en Ubuntu (versión ONE STEP, para usuarios que la tienen clara… o para los que  quieren no leerme más jeje)

Parados en la dirección en donde están los instaladores, ejecutar esto: (OJO reemplazar rho:rho por su nombre de usuario y grupo!)

sudo apt-get install libgtksourceview-3.0-common libgtksourceview2.0-0 libgnomeprint2.2-0 alacarte -y && sudo ln -s /usr/lib/libgtksourceview-2.0.so.0 /usr/lib/libgtksourceview-1.0.so.0 && sudo ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.4.3.4 /usr/lib/libtiff.so.3 && sudo mkdir /usr/local/stata12/ && sudo chown rho:rho /usr/local/stata12/ && sudo cp * /usr/local/stata12/ && cd /usr/local/stata12/ && sudo chown -R rho:rho /usr/local/stata12/ && tar -xzvf docs.taz && tar -xzvf base.taz && tar -xzvf bins.taz && tar -xzvf ado.taz && chmod -R 755 .

Crean un “launcher” al archivo xstata o directamente parados en /usr/local/stata12/ ejecutar ./xstata desde una terminal. Tadaaa. :)

Si tienen dudas… problemas… o quieren saber los pormenores… pos sigan leyendo. :P

—digamos que el post en serio empieza acá, pero como me quedó muy largo decidí hacer la versión corta de arriba—

^_^

(Recomenzando civilizadamente) Un poco de background: qué cazzo es stata?

Para los que no lo conocen, Stata 12 es un software de estadística, y es realmente el estándar en econometría y manejo de datos en economía (segundeado por otro “más light” del palo, que se llama SPSS… oootro cuento). Este software, como tantos otros, tiene un competidor potentísimo en el mundo open-source que se llama R, pero ese también es cuento para otro momento. Lo que quería decir es que Stata no es open-source, ni tampoco gratis, por lo que en realidad me rompe bastante las bolas tener que estar -casi- obligado a usarlo. A pesar de esto, está claro que es un software potentísimo.

Captura de pantalla de 2013-06-04 21:04:34

No todo es marrón en la vida, y la buena noticia es que funciona PERFECTO en Ubuntu, de hecho, creo que funca mejor que en win-máaatenme-dows. Una ventaja evidente es que  “Stata 12 for Linux” tiene dos clientes: xstata, que es la versión normal que uno esperaría encontrar, que es igualita a la que todos conocemos corriendo en “la compe”; y una versión exclusiva para Unix sin interfaz gráfica, es decir, un cliente puro de terminal. Este cliente hace que el programa no tenga que dibujar las ventanitas ni nada de la interface (a.k.a GUI), por lo que prescinde de cargar un montón de librerías, ahorrando mucha mucha memoria…  Literalmente le saca el juguito a la compu en donde lo corras.

Captura de pantalla de 2013-06-05 09:08:57

(Stata y .do files editor en Ubuntu)

Seguro algún día me meto un poco más con los temitas de arriba, del open-source y todo eso…  pero ahora manos a la obra: a instalar el bastardo.

Instalando Stata 12 en Ubuntu (versión explicada)

Paso 1) Tenés Stata no?

Primero, vamos a necesitar un Stata no? ja. Lo pueden comprar acá http://www.stata.com/stata12/ jaja.

Captura de pantalla de 2013-06-04 21:17:29

O pueden explorar algunas alternativas diferentes y conseguir Stata por su cuenta, con alguna ayuda de sus amigos (oooh) ;P

Captura de pantalla de 2013-06-04 20:37:47

Paso 2) Instalando dependencias y preparando librerías.

Ok, entonces digamos que tenemos Stata. Me voy a basar, de acá en adelante, en las instrucciones para un Ubuntu 12.04 de 64bits. Pero es exactamente lo mismo para un entorno de 32 bits, con la obvia excepción de que tienen que ejecutar otros instaladores (los de 32bits). :)

Bueno, lo primero que hay que hacer, es abrir una terminal, y luego ir a donde tengamos los archivos para instalar stata. En mi caso:

cd /home/rho/Dropbox/instaladores/Software/stata-12-linux/linux.64.installer/

Los archivos instaladores están en las carpetas de 32 o 64 bits, y su contenido es este que se ve en la pantalla. Es importante que desde la terminal estemos parados en esta locación.

Captura de pantalla de 2013-06-04 21:20:20

Luego hay que instalar las siguientes dependencias:

sudo apt-get install libgtksourceview-3.0-common libgtksourceview2.0-0 libgnomeprint2.2-0 alacarte -y

y hacer un par de magias creando enlaces virtuales entre las librerías para que no tire errores de que no quiere arrancar (de hecho este es un punto clave de la instalación para que funcione la interfaz gráfica). Vinculamos dos librerías con lo que se llama un enlace simbólico (comando ln -s), de forma que una librería refiera a la otra cuando el programa la llama… En fin, para seguir, peguen esto en la terminal, jaja.

sudo ln -s /usr/lib/libgtksourceview-2.0.so.0 /usr/lib/libgtksourceview-1.0.so.0 && sudo ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.4.3.4 /usr/lib/libtiff.so.3

Con esto terminamos la segunda parte. Ahora vamos a los postres.

Parte 3: Instalando al madafaka

Bien, resumidamente, lo que tenemos que hacer es crear el directorio en donde se instalará Stata, descomprimir y mover los instaladores, arreglar los permisos de escritura y ejecución y ya estamos.

Creamos el directorio de instalación con el siguiente comando (requiere sudo, así a meter la password):

sudo mkdir /usr/local/stata12/

Ahora hay que empezar con el asunto de los permisos. Hay que cambiar los permisos de la carpeta que acabamos de crear para que sea del nivel de usuario. La razón de esto es que querríamos ejecutar stata a nivel de usuario, y no tener que meter una password de super-user (sudo) cada vez que corremos el programa (con los 1800 problemas que eso llevaría). Para eso vamos a usar el comando chown, que tendremos que completar con nuestro nombre de usuario y grupo. Si no saben mucho de linux, a esta altura deben estar puteandome. jaja. Pero bue, es así muchachos. En general la cosa es “tunombredeusuario:tunombredeusuario” a pesar de que la primera parte antes de los dos puntos es el nombre de usuario y la otra es el grupo. Más info sobre esto acá. Dicho todo esto, seguimos con el asunto cambiando los permisos de carpeta:

sudo chown rho:rho /usr/local/stata12/

Como decía, la parte de rho:rho deberían cambiarla por su propio nombre de usuario. Si su username es “pepito”, reemplazan por pepito:pepito.

Ahora estamos casi ahí. Copiamos todo y cambiamos permisos de nuevo:

sudo cp * /usr/local/stata12/ && cd /usr/local/stata12/ && sudo chown -R rho:rho /usr/local/stata12/

Descomprimimos toda la gilada, y yastá.

tar -xzvf docs.taz && tar -xzvf base.taz && tar -xzvf bins.taz && tar -xzvf ado.taz && chmod -R 755 .

(ojo, el punto del final no es un error)

Ahora oficialmente stata está instalado. Para terminar el trabajo prolijamente, podemos armar un “atajo” al menú para ejecutarlo directamente como a cualquier otro programa.

Paso 4) Creando un launcher

Bueno, esta parte es la más simple. De hecho hasta algunos podrían pensar innecesaria. Stata se puede ejecutar desde una terminal escribiendo

cd /usr/local/stata12/ && ./xstata

Pero la verdad es que es más cómodo tener una aplicación con un launcher y un ícono, que es algo un poco más normal. El proceso es bastante simple, tenemos que instalar el programita para editar los menues (alacarte) y luego crear el atajo. En una terminal, ponemos

sudo apt-get install alacarte -y

alacarte

(armando el launcher)

Después ejecutamos alacarte desde el menú, o como quieran, incluso tipeando en la terminal… creamos un nuevo elemento (dentro de oficina o en la categoría que les guste) y ponemos, como está en la imagen, el nombre del launcher, en mi caso se llama “Stata 12 for Linux 64bits” (pero pueden poner lo que quieran) y luego ingresasn en el campo del comando (este si es importante) /usr/local/stata12/xstata (también podemos configurar el ícono, que está en el mismo directorio /usr/local/stata12/).

Ahora si, listo. Cuando ejecutemos el programa el ícono se va a ver así en el dock, y también podremos agregar fácilmente un “atajo” encastrando el botón ahí mismo (este proceso es diferente dependiendo del dock que usen -en mi caso es awn-).

stataicon

Ahora haciendo click sobre el ícono se abre stata y se ve así:

(Pantalla principal Stata 12)

Captura de pantalla de 2013-06-04 20:10:58

(Graph Editor -centro- y menu de open-file -izquierda- y do editor en Stata 12 for Linux)

Captura de pantalla de 2013-06-05 09:11:07

Espero le sirva a alguien,

Salú!

Rho

Como instalar Stata 12 en Ubuntu Linux 12.04 (también en Elementary OS)