Repositorio personal con Git y Dropbox

17 02 2012

Como muchos tengo ideas que se vuelven en proyectos pequeños personales, lo idóneo es tener un repositorio, en la que encarecidamente sugiero Git; en algunas ocaciones se quiere tener el repositorio en lugar no tan accesible para las personas, o bien hacer “Desarrollo en Solo”, por lo que ésta es una de las soluciones:

Obtener una cuenta de Dropbox, para los que no saben que es: una carpeta mágica en tu computadora (Linux, Windows, Mac), donde todo lo que coloques ahí va a estar automaticamente en internet (Nube), con la única limitante del espacio, que al fin y al cabo no es un problema mayor ya que se puede expandir de manera gratis o de pago. Nada mas de descargarlo de http://db.tt/ldy9CHA y crear la cuenta.

Luego tener instalado Git:

  • si se está en Mac éste viene por defecto
  • para windows recomiendo cygwin o bien éste paquete http://code.google.com/p/msysgit/
  • para linux normalmente se instala en el repositorio.

Cuando ya está todo instalado, lo ideal es abrir la consola:

$ cd ~/Dropbox
$ mkdir proyecto.git
$ cd proyecto.git
$ git init --bare

Lo que hace éste comando es crear un repositorio “Bare”: clonar y hacer “push” de cambios sin posiblidad de modificar el repositorio directamente, casí como el repositorio de SVN, normalmente éste proceso va a hacer que el Dropbox comience a sincronizar, para luego hay que clonar (hacer una copia) del repositorio donde se quiera:

$ git clone ~/Drobpox/proyecto.git

Éste crea una carpeta llamada “proyecto” en la cual ya es un repositorio de Git, en la carpeta hay “proyecto.git” hay archivos presentes pero son exclusivos de repositorio y no recomiendo modificarlos; después hay que crear un archivo hacerle commit y subirlo al repositorio de donde hicimos clone:

$ cd proyecto
$ echo "hello world" > archivo.txt
$ git add archivo.txt
$ git commit -m "Importado inicial"

Ya tenemos el primer archivo en el repositorio, pero está local, para subirlo al “servidor” hay que hacerle push, para ello es necesario solo la primera vez se determinar el origen:

$ git push origin master

Ahora cada vez que se quiera hacer un “push” nada mas se ejecuta:

$ git push

Por otro lado si tienes varias máquinas con Dropbox instalado, puedes hacer el clon y trabajar tranquilamente, cuando termines haces un push; si bien quieres obtener los últimos cambios del repositorio central se hace un “pull”:

$ git pull

Con eso tendríamos sólo una pincelada para trabajar con repositorios con Dropbox, yo por mi parte, tengo mi maquina de la casa y la laptop, mis proyectos los tengo en Dropbox y me la paso haciendo commits, pull y push. 🙂





Mis maquina de trabajo en la casa

16 12 2008

Ésta entrada se refiere a la maquina que utilizo en la casa para trabajar o pasar el rato, actualmente en la casa tengo 3 computadoras, 1 de escritorio (para jugar WoW), una maquina de escritorio no tan poderosa que nada mas le falta monitor y era utilizada para servidor y por úlimo una netbook que es mi estación de trabajo y también la uso para pasar el rato si no es para jugar.

La maquina en cuestión es una Eee PC 900, a la que le instalé Ubuntu como el único Sistema Operativo, además en el trabajo me regalaron una caja para hacer discos duros externos, tomé prestado el disco duro de la maquina que utilizaba como servidor y bum! ahora tengo 40Gb de espacio extra.

Espero poder hacer más cosas, inclusive tengo ganas de probar si puedo correr WoW.

Aún no tengo mucho poder para hacer un cluster pero poco a poco voy 😛





Costumbre mañanera

13 11 2008

Unas de las cosas que apenas hago cuando llego al trabajo, es tomar café (o un refresco dependiendo del dia) con cafeina para manenerme alerta, luego me dispongo a leer noticias para saber que ha pasado en le mundo.

Ahora piendo llegar un hacer un post en el blog de lo que me se ocurra 😛 , otras de las cosas que me gustan que sean las mañanas, es que sean frias y con neblina, porque me dan ganas enormes de programar, no se porque, pero me gusta, además se sabe que los programadores trabajan mejor en entornos frios que calientes, asi como las computadoras 😀





Porque complicarse?

12 11 2008

En el trabajo me tocó modificar el comportamiento de un sistema que doy matenimiento el cual después habló de él.

Me toco crear un pequeño sistema que mandaba por correo un link que éste a su vez mandaba a un formulario especial, para ser aprobado o no, el cual todo funcionaba bien, pero me di cuenta que uno de los parametros mandaba el valor anterior y no el actual, rebusque dentro del arbol de archivos revise código para que ese parametró fuera pasado, al final era más sencillo obtener el parametro, dentro del formulario especial obtener el parametro para luego ser procesado.

Eso deja como anecdota, así como a mi, muchos programadores buscan de primero la via más dificil i/o complicada 😛

Como decía un profesor, los estudiantes siempre busca complicarse primero para entender…





Cambios en el blog

12 11 2008

Me canse del antiguo diseño, ahora me quedo con este más simplista 😛

El motivo del cambio se debe a que revisando diferentes blogs alojados en wordpress.com (al igual que este) me econtre que muchos usaban éste mismo tema, el cual no me agrado mucho, igualmente quiero que el blog se vea moderno y a la vez con buena información por lo que piendo hacer una bitacora personal sobre desarrollo y posibles problemas que me encuentre y como los solucioné (mmm  me suena a diario), asi también me saco a relucir el slogan de blog 😀

Tratare en la medida de lo posible levantar este blog, de igual modo no espero tráfico pero se que alguno que otro le va a ayudar con problemas que se encuentre 😛





Script que te recuerda la hora

8 08 2008

Me pasa bastante que programando se me van las horas volando, lo que se ocurrio para recordar que hora es, crear un script que me recuerde que hora es 😛

Primero que todo se necesita el comando notify-send que es como un popup (cuando ubuntu te avisa que tiene actualzaciones), se instala desde los repositorios:

sudo aptitude install libnotify-bin

Luego crear un archivo donde va a estar el script 😛 , a mi gusto siempre creo una carpeta dentro de mi home que se llama Scripts donde se pueden crear todas lo que nos plazca 😀

gedit /home/<usuario>/Scripts/time_reminder

Nota: Hay que reemplar <usuario> por tu usuario.

Insertamos el siguiente codigo dentro:

#!/bin/bash

TITLE="Hora actual"
ICON="appointment"
MSG="Son las $(date +%r)"
export DISPLAY=:0 && \
notify-send --icon="$ICON" "$TITLE" "$MSG" && \
aplay /usr/share/sounds/ekiga/voicemail.wav

Explico cada linea:

  • La primera linea en cada shell script dices donde esta el interprete (el que va a ejecutar tu script)
  • La linea TITLE que se desea fijar en el popup
  • La linea ICON, ésta linea tiene truco, ese nombre que puse ahi se debe que en la carpeta /usr/share/icons/Tango/34×34/ (yo uso tango puede ser Tanguerine) tienen nombres de iconos que usa el sistema (Gnome default en ubuntu) el cual seleccione uno que concuerde con mi objetivo, no se necesita poner toda la ruta ni la extesion.
  • La linea de MSG es la hora que quiero mostrar y recordar 😉
  • luego viene el comando export…., lo que hace es seleccionar la pantalla actual porque las tareas (mas adelante explico) programadas no entienden de comando que tengan que ver con interfaces gráficas, si se tienen dos monitores ese comando tiene que cambiar para que concuerde.
  • La siguiente linea es el popup, que es donde mostramos el mensaje con las variables que anteriormente definimos.
  • por ultimo un sonido de recordatorio, en ubuntu esos vienen por default al menos que se haya desinstalado Ekiga, el cua en la carpeta /usr/share/sounds/ hay varios donde escoger.

Ahora se le da al script permisos de ejecucion:

chmod +x /home/<usuario>/Scripts/time_reminder

Ahora solo falta ejecutar el script cada cierto tiempo, para eso está crontab y se modifica la lista del usuario nuestro:

crontab -e

Para ingresar la linea se presiona la tecla insert o bien la letra i

00 * * * * /home/edder/Scripts/time_reminder

Se preciona Escape luego :wq, con eso se sale del editor y lo que quere decir esos 00 es que se va a ejecutar cada hora, se puede modificar a 30 para que se ejecute cada 30 minutos.

Con eso solo hace falta esperar 😉





Programador con todas las de ley

7 08 2008

Tengo bastante tiempo de no tocar el blog y ésto se debe a que ya entré en mi nuevo trabajo, por lo que tuve que pasar por un periodo de adaptación, que ya estoy superando.

El trabajo que me toca desempeñar, está relacionado 100% al open source, por lo que ahorita tengo en mi trabajo Ubuntu y solo Ubuntu 😛 , por acá no hay nada que tenga que ver con microsoft, por otro lado estoy enteramente en desarrollo (ya no mas TI), desarrollando Web, utilizando herramientas como SVN, Eclipse para PHP, Reviewboard, Jabber, entre otras.

Otro cosa importante en éste ambiente, caso contrario como pasa en las empresas a las que he trabajado, acá el Jefe es toda una eminencia en el mundo de la programación y tiene la filosofia de tener un ambiente despreocupado y divertido, un ejemplo seria, que te dan Refrescos gratis, hay mesa de Ping Pong y Futbolín, para matar en el estrés en los ratos de ocio.

En realidad es un reto, es ajustarme a procesos que nunca habia realizado, aprender a comunicarme bien en inglés (mi jefe y un compañero son de EEUU), aprender nuevas tecnologías y patrones de programación, sumamente divertido 😀 .

De verdad nunca me habia divertido tanto en un trabajo 😀