Retomando el blog

16 03 2012

Hace ya mas de un año que deje de escribir, mayoritariamente por asuntos personales, universidad y trabajo; donde al parecer ya las cosas que se están aligerando un poco.

Habrán cambios, decidí pasarme de Android and iPhone, ésto es para varios proyectos que tengo en ésta plataforma, con ello también me compré una Mac Mini para poder utilizar el XCode.

Otro cambio importante es que murió mi Laptop 😦  , donde ahí tenia Ubuntu, Windows y Mac, por lo que para desarrollar y hacer mis proyecto estoy mayoritariamente en Mac. Haran falta los post de Linux pero de cuando en cuando voy a hacer alguno con mención a scripts que funcionen en ámbas plataformas.

Por otro lado voy a hacer más referencias a otro lenguajes, tips y snippets de código que tenga por ahi o que valla haciendo por el camino.

Voy a hacer todo lo posible por mantener todo en la balanza y mejorar el contenido. 🙂





Script en python para hacer respaldos

5 10 2008

Ultimamente me ha interesado bastante python tanto asi, que me di la tarea de ir haciendo programitas (scripts) que hagan cosas automaticamente por mi.

Unas de las ideas que se me presentó es hacer un respaldo, ya que en la computadora que tengo en el trabajo ultimamente me ha dado problemas, creo que es el disco duro que está en las últimas, por dicha nos van a cambiar la maquinas 😀

Bueno volviendo al tema, me dieron acceso (ssh) a otro maquina para que subiera mis respaldos, como un respaldo es algo que se hace monotonamente todo el tiempo decidi hacer el script pero en python, normalmente estos tipos de scripts se hacen en shell (bash, sh, awk, perl, etc), personalmente me gusta bastante python, por lo que investigue como hacer llamadas al sistema y éste es el resultado:

import os

# Definicion de la variables que para preconfigurar
backupDir = '/home/edder/Backups/'
backupUser = 'backup'
backupPass = '*******'
summary = ""
backupDest = 'edder@192.168.0.x:/home/edder/backups/'
webroot = '/var/www/'

#funcion que ejecuta un comando y devuelve el resultado
def run_command(command, message):
	results = os.system(command)

	if results == 0:
		return message + '\n'
	else:
		return str(results) + "\n"

# comando y mensaje que hace un respaldo de mysql
command = 'mysqldump -u ' + backupUser + ' -p'+ backupPass + ' website > ' + backupDir + 'website.sql'
message = "Backup completed of the database\n"
summary += run_command(command, message)

#comando que respalda un website (apache) en un tar.gz
command = 'tar -pzcf ' + backupDir + '/website.tar.gz ' + webroot+ 'website'
message = "Backup of page website completed\n"
summary += run_command(command, message)

# comando que copia los respaldos via ssh a otra maquina via rsync
command = 'rsync -avz ' + backupDir + ' ' + backupDest
message = "Backup stored in the remote computer\n"
summary += run_command(command, message)

# los resultados obtenidos
print summary

Al script le falta pulir pero se entiene la esencia de lo que hace 😉





Usando control de versiones

15 08 2008

Unas de las paradigmas más modernas de desarollo es utilizar el control de versiones, últimamente he utilizado el SVN porque es el que siempre me han dicho que utilice, además tenia un servidor al cual acceder, luego anteriormente leí sobre git al respecto y me llamó la antención pero no tanto como para comenzar a utilizarlo.

Hoy en el trabajo me sugirieron que utilizara git, para que matuviera el orden en el proyecto, la sugerencia nació porque yo quiero poder trabajar en la oficina asi como en la casa y también se quería tener todas las propiedades de manejo de control de versiones, otras propiedades que tiene git sobre svn:

  • El repositorio de git es una carpeta oculta (.git) en directorio raiz del proyecto, por lo que permite portabilidad (copiarlo al usb)y ahi está todo lo necesario para que git lo interprete.
  • Git solo necesita las herramientas para administrar el repositorio y no es un servidor como tal, por otro lado también da flexibilidad para poder trabajar de manera colaborativa.
  • Git es sumamente rápido y los commit se han de manera local y luego si se, se quiere se hace un push de los cambios entre repositorios o bien merge entre branches.
  • Me han comentado que cuando muchos usuarios acceden al SVN existe la posibilidad de que el repositorio se corrompa y por medio de Hacks se puede recuperar pero no en todos los casos.

Ya solo queda seguirlo utilizando 😉





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 😀





Cambio de labores

8 07 2008

Otra vez me veo en el trajín de cambiar de trabajo, a mi sentido, es sumamente agotador y estresante el cambio, pero un libro sobre un queso (es un enigma) me sugirió hacer el cambio.

Personalmente creo que siempre hay que buscar la comodidad pero sin dejar de lado lo económico y la superación laborar, en éste caso aplica para mi, fue muy difícil dejar las labores a las que ya me había acostumbrado y ya empezaba a tener afecto, pero si no lo hago no puedo aspirar a otras opciones, inclusive surgir ecónomicamente.

Que voy a hacer?, es exitante el rol que voy a desepeñar, para empezar voy a ser desarrollador a tiempo completo (code monkey), además a lo que me comentaron voy a mantener un proyecto open source, cual?, no puedo decirlo, ya que me cae la sal 😛

Me emociona la idea de participar en algo open source y poder utilizar linux en un trabajo sin depender estrictamente de Windows.

Me voy a dormir que tengo que bastante que documentar mañana 😦