4 de octubre de 2013

Ding! "El comando está listo"

Buenas!

A pedido de Mati les comparto algo simple pero tal vez útil!


Cansado de fijarme a cada rato si un comando que tarda mucho terminó o no, hice una función "beep" en sh:

$ beep  # Reproduce sonido de "éxito"
$ beep command arg1 arg2 ... # Reproduce sonido de éxito si command termina con éxito, sino sonido de fallo

Para usarlo tienen que poner este código en "./bashrc" o "./bash_profile", y la próxima vez que abran una consola lo van a tener disponible.

Obiamente pueden cambiar los sonidos que se ejecutan en cada caso a gusto, el primero es el de éxito y el segundo el de fallo.

Faltaría mejorarlo para que tome una sequencia de comandos.

UBUNTU




MAC



Saludos!

25 de septiembre de 2013

Nice app for Mac OS X

Aloha!

I came across this app, that is very useful for cleaning up your Mac menu bar layout and have a cleaner visual landscape: http://www.macbartender.com/

Aloha! [1]



[1] "Since the middle of the 19th century, it also has come to be used as anEnglish greeting to say goodbye and hello."
Source: http://en.wikipedia.org/wiki/Aloha

Unix exit status code reference

0    # successful termination 
64   # base value for error messages 
64   # command line usage error 
65   # data format error 
66   # cannot open input     
67   # addressee unknown     
68   # host name unknown 
69   # service unavailable 
70   # internal software error 
71   # system error (e.g., can't fork) 
72   # critical OS file missing 
73   # can't create (user) output file 
74   # input/output error 
75   # temp failure; user is invited to retry 
76   # remote error in protocol 
77   # permission denied 
78   # configuration error

24 de septiembre de 2013

Where to start to learn GIT

Many times I was asked: Where to start to learn GIT?

It is not usual to have a good answer to questions like this in the area of software engineering.

But when it comes to the case of GIT, there is one. This is a great place to start: http://try.github.io/

This is the official GitHub "Got 15 minutes and want to learn Git?" Git tutorial.

Pimp my GIT: mejorando la interfaz para el uso de GIT

Siguiendo con el post de ayer, acá les comparto otras cosas del setup que tengo para git.

El setup este, y va dentro del .git/config de su clone git:


Con esto seteado, verán, por ejemplo, los git status con colores:




Podrán usar abreviaciones de los comandos, como:

- "git st" en vez de "git status"
- "git ci" en vez de "git commit"

Podrán ver un log más interesante y con colores con git log.

Verán los diff coloreados y con formato piola:



Git branch muestra coloreado el branch actual (los branches locales aparecen en amarillo):



Y los branches remotos aparecen en verde:

Inline image 4


Saludos!

23 de septiembre de 2013

Mostrar el branch de GIT y el status actual en el shell prompt y más!

Algunos trucos para configurar nuestro setup local de GIT:

Hace algunos años encontré algo como eso y, con el tiempo, armé una serie de scripts (algunas cosas que hice yo, algunas cosas que fui encontrando en la web), que hacen varias cosas con bash, que están piolas.

¿Qué cosas?

- que se detecte automáticamente si se está en una carpeta perteneciente a un repo git, y que, en el caso que sí lo sea, el prompt muestre información relevante del repo en que se está: branch y estado. Ejemplo:



en ese caso, estoy en el branch "master" y tengo archivos modificados (por eso la "m") y archivos que borré (por eso la "d").

- otra cosa muy piola es tener tab completion (que al apretar tab, con un comando a medio escribir, se muestren opciones para completar ese comando -o que se completen, si hubiera una opción posible). Imaginen eso aplicado a nombres de branch, comandos git y comandos de django (como "python manage.py runserver", por ejemplo).

- Algunas cosas más, como:
-- aumentar el tamaño del history de bash, pero eliminando duplicados, para que al hacer "ctrl r" en la consola, podamos buscar en el historial de los comandos que hicimos y encontrar resultados interesantes.
-- Una larga lista de colores definidos, para directamente poder usarlos en la definición del prompt.

Etc!

Les paso adjuntas las scripts para hacer todo esto:


Las dos primeras las ponen derecho en el home. El .profile pueden ponerlo derecho en el home (si usan Mac y no tienen otro .profile armado) o copiar su contenido a su .profile existente. Si usan Linux, pueden hacer esto mismo con el archivo .bashrc.
(notar que tienen un underscore los archivos, a propósito, para que no sobreescriban cosas sin querer y para que no los tome el file browser como archivos ocultos).


Un abrazo y may the bash be with you (?),