Sunday, 11 January 2015

Migrando de SVN a GIT

Como muchos de ustedes sabrán, cambiar el sistema de control de versiones en una empresa es un tema sensible, como lo es sugerir un nuevo lenguaje de programación, o la implementación de una nueva metodología.
En este post quiero comentar como hice para migrar de subversion (svn) a git en la empresa en la que estoy trabajando actualmente, de manera que mi experiencia les sirva
En primer lugar, tratamos de usar git-svn, pero después de un par de pruebas descubrimos que por detrás era svn el que hacia todo y lo dejamos de usar.
Para poder arrancar con el desarrollo del proyecto, empezamos a trabajar en un repositorio git alojado en gitlab, que permite tener repos privados. En nuestro servidor de integracion continua (jenkins) solamente usabamos SVN ya que era el sistema oficial de la empresa. El merge de git a svn lo haciamos manualmente y no había riesgos de perdida de código porque nadie trabajaba sobre el repo svn.
Ademas de un repositorio git, quería que la migración incluya algunas mejoras:
  • Autenticación con el servidor LDAP: el servidor svn no estaba sincronizado con ldap, por lo que teníamos contraseñas diferentes al correo, etc. 
  • Soporte claves SSH
  • Interfaz web: En svn tampoco teníamos una interfaz web en donde analizar el repo. Me interesaba tener algo al estilo github.
Después de un poco de investigación, decidí implementar gitblit, que ya incluía varias de estas mejoras.

Arquitectura:
La arquitectura que armé es la que se puede ver en la imagen. El servidor LDAP permite la autenticacion y autorizacion de los usuarios.
De esta manera, si necesitamos que el usuario cmarquez sea administrador de gitblit, solamente tenemos que agregar a dicho usuario al grupo que definamos.
Jenkins es nuestro servidor de integración continua, y solo necesita permiso de lectura del repositorio git. También autentica con LDAP.

Gitblit:
Para tener gitblit en produccion, hice los siguientes pasos:

  1. Instalacion: es bastante sencilla; solamente hay que bajar un zip de internet y ejecutar el archivo JAR que esta adentro.
  2. Configuracion y pruebas: tambien es sencilla, PERO se complica a la hora de utilizar LDAP ya que no hay mucha información de logging/debug disponible. (en sintesis, no sabes porqué no anda cuando tenes un error) TIP: Wireshark y filtro para LDAP
  3. Documentacion: Hice una FAQ en un mediawiki interno, de manera que las personas que deseen migrar puedan saber las cosas basicas.
  4. Homologacion por IT: Le pedi a la gente de IT que incluya ese servidor para los backups periodicos y monitoreo.
  5. Migracion: Migramos lo que teniamos en gitlab al repo gitblit. Para hacerlo, cerramos todos los branches que estaban abiertos (integramos) y copiamos los archivos al nuevo repo. Decidí perder el historial porque no teniamos mucho.

El resultado... algo asi:




Labels: , , ,

Tuesday, 18 November 2014

El Caballo de Arnet

Hace un par varios años, cuanto tenia 18 masomenos, andaba trabajando por Salta como técnico de Arnet.
Un día me llega una cita para instalar ADSL en una casa en San Lorenzo. Para los que no conocen, imaginen un lugar muy verde (es una quebrada), bastante turístico y muy muy copado. El único problema ahí era el colectivo, era uno de esos que pasan de onda: Te dejan en el primer lugar que pueden y de ahí vuelve para Capital.
Cuando me fijo la dirección a la que tenia que ir, me faltaban unos 10km que tenia que hacer a pata.
Después de caminar 2 cuadras a pleno sol, no había forma de seguir, y justo pasa al lado mio un señor que alquilaba caballos. Ni lo pensé y alquile el primer tobiano que tenia. $10 mangos la hora. Y ahi iba el técnico de Arnet en caballo.
Cuando estaba llegando no sabia si "daba" caer en caballo o no, entonces lo deje unos metros antes comiendo pasto y me mande como si nada.
El cliente era muy piola, y mientras le instalaba su ADSL, charlábamos de otras cosas, hasta que le conté como había llegado ahí. Al comienzo no me creía, pero cuando vio el caballo estacionado cerca de su casa, se entró a reír.
Varios meses después me vine a vivir a Córdoba y seguía trabajando para Arnet. Desde aquí coordinábamos las citas técnicas para la mayor parte del país. Una vez nos llama una persona de Chilesito (La Rioja) preguntando si el técnico que había llegado era ÉL Técnico, porque era raro que vaya en bicicleta...



Labels: ,

Tuesday, 1 July 2014

Comandos, tips y programas en Linux

Hola! En este post vuelo a mis orígenes, compartiendo algunas cosas del mundo linuxero. En vez de poner el nombre de un comando y que es lo que hace, voy a poner preguntas cotidianas y con que comando pude encontrar la respuesta.
Espero que les sirva!

Mi distro:

Antes que nada, veamos que distro tengo.
Si ejecuto lsb_release -a van a ver lo siguiente:
  $ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description: Linux Mint 16 Petra
Release: 16
Codename: petra

Comandos útiles:

¿Como saber que esta haciendo el sistema? ¿Que le pasa a mi maquina?Algunas veces nos pasa que "sentimos" lento el sistema, o tenemos problemas para conectarnos a Wifi, algo no nos funciona, etc, y queremos saber que es lo que pasa por abajo. 
En linux podemos ver los mensajes del kernel mediante el comando dmesg que nos muestra algo parecido a esto:
Salida de dmesg
En ese log vamos a poder ver que esta haciendo el sistema (siempre y cuando las aplicaciones escriban en el log)

¿Como leer logs en tiempo real?

Tambien nos puede pasar que necesitemos ver el log de una aplicacion que no esta relacionada con el kernel, por lo que leemos su log. (La mayoria de los logs deben estar en /var/log) A la hora de debuggear una aplicacion, vamos a necesitar ver que hace en tiempo real, por lo que podemos recurrir al comando tail -f que nos permitirá hacerlo. De esta manera, visualizaremos el contenido del archivo a medida que es escrito.
leyendo un log

¿Que aplicacion esta consumiendo mi ancho de banda?

Eso mismo. Tengo tantas cosas corriendo en mi maquina que quiero saber cual se esta comiendo mi conexion. El comando iftop nos muestra el uso de ancho de banda por procesos.
iftop

¿Que aplicacion esta tonteando usando con mi disco duro?

Idem anterior pero para ver quien esta utilizando el disco duro. Para esto tenemos el comando iotop
iotop

Explorador del sistema de archivo desde command line

Si trabajaste con computadoras en la epoca del Windows 95 y 3.1, seguramente la imagen de mc te es familiar. La interfaz es muy parecida al Norton Comander, pero en Linux es Midnight Commander. Conserva los mismos atajos de teclado que el Norton: F5 para copiar archivos, F6 para moverlos, F8 para borrarlos y F9 para acceder al menu. Ahi podemos conectarnos a un servidor por SSH o FTP. Altamente recomendado.
mc

Editor de texto en consola

Fácil: nano. Mas fácil que usar vi o vim. También esta mcedit que viene con el Midnight Commander
nano
mcedit

¿Como puedo ver el "administrador de tareas" en consola?

Si bien con ps aux podemos ver todos los procesos que esta corriendo el sistema, top permite verlos en tiempo real. Lo mismo con htop pero éste ultimo es mas bonito y muestra los micros.
top

HTOP

¿Quiero conocer en que red estoy?

Para analizar nuestra red tenemos varios comandos. Los que mas utilizo son:
ifconfig para saber que ip tengo asignada
route para conocer mi puerta de enlace
cat /etc/resolv.conf para conocer los dns que tengo configurados
nmap para ver que puertos tiene abiertos el gateway
Conociendo la red

¿Como buscar un archivo? ¿Como buscar un archivo que contenga un texto determinado?

Para ambos casos usamos find
Si queremos buscar un archivo por nombre, la sintaxis es find . -name <nombre>
En el caso de que queremos buscar un archivo que contiene x texto, la sintaxis es: find . -type f | xargs grep -i <texto_a_buscar>
Find

¿Cuantas particiones tengo? ¿Como montarlas?

Como root, ejecutamos el comando fdisk -l. Ahi vamos a ver todas las particiones de nuestro disco.

fdisk

Tools gráficas:

¿Que esta pasando en mi red local?

Etherape permite ver de manera gráfica, que esta pasando en nuestra red.
etherape

¿Que dispositivos tengo en mi red local con UPNP y que puedo hacer con ellos?

Esta un poco mas explicado en el post del hacking al smart tv . Upnp-inspector es una tool escrita en python que permite ver que tenemos en nuestra red y como podemos interactuar con esos dispositivos.

upnp inspector

Pregunta para ustedes... ¿que comando utilizan y en que situaciones?

Labels: , , ,

Monday, 30 June 2014

De monos y bananas

Hola! Les comparto un paradigma que me contó un compañero del trabajo que aplica a algunas situaciones laborales. Muy bueno! Espero que les guste.

Un grupo de científicos introdujo cinco monos en una jaula, en cuyo centro colocaron una escalera y, sobre ella, un montón de bananas.
Cuando un mono subía la escalera para apoderarse de una banana, los científicos lanzaban un chorro de agua fría sobre los que quedaban en el suelo. Al cabo de algún tiempo, cuando un mono quería subir por la escalera, los otros se lo impedían agarrándolo y dándole palos. Pasado aún más tiempo, ningún mono osaba subir la escalera a pesar de la tentación de las bananas.
Entonces, los científicos sustituyeron uno de los monos. Lo primero que hizo el nuevo inquilino fue subir la escalera, pero rápidamente los demás lo bajaron a golpes. Después de algunas palizas el mono desistió y dejó de intentarlo.
Un segundo mono fue sustituido y ocurrió lo mismo. El primer sustituto participó con entusiasmo de la paliza al novato. Un tercer mono fue cambiado y se repitió el hecho. El cuarto y, finalmente, el último de los cinco primeros monos fue sustituido.
Los científicos quedaron, así, con un grupo de cinco monos que, aún cuando nunca recibieron un baño de agua fría, continuaban golpeando a aquel que intentase llegar a las bananas. 
Fuente: http://ocw.unican.es/humanidades/teoria-y-metodos-de-la-geografia.-evolucion-del/material-de-clase-1/archivos-modulo-1/archivo-experimento-con-monos 

Labels:

Sunday, 29 June 2014

Trabajando para La Bombonera


A fines de Octubre del 2008 estaba trabajando para una empresa de Córdoba y me tocó ir a trabajar en Buenos Aires para La Rural. Como la empresa era chica, salgo de Córdoba a la noche y llego a eso de las 7 de la mañana, sin tener ningún lugar en donde parar. Ese fué el primer viaje que hacia a Bs As.

Tenia que ir a trabajar a eso de las 7 de la tarde, y todavía faltaba una eternidad. Ya que era muy temprano decidí aprovechar el tiempo para ir a ver el Templo del fútbol. Me fijé en Internet para donde quedaba la cancha.. y después de tomar el subte y caminar un par de cuadras, llegué al Barrio de La Boca.



Eran casi las 12 del mediodía y yo iba preguntando para donde quedaba la cancha. A todo esto, lo único que tenía conmigo era una mochila con herramientas (transformadores, antenas, serruchos, sierras, pinzas) , ropa extra, un desodorante, el pasaje de vuelta y 20 pesos de viáticos para comer ese día...

Después de caminar un ratito, ya podía ver los colores azul y oro de la cancha... Al mismo tiempo yo ya me acordaba de mi familia (todos bosteros) y especialmente del cumple de mi hermano y ya andaba mariconeando emocionado, aún cuando faltaban varias cuadras para llegar.

Cuando quise pasar a ver a La Bombonera me di cuenta que no se podía porque estaba todo vallado (Ese día Boca jugaba contra Rosario Central a las 3 de la tarde) De todas maneras, a los policías que estaban haciendo el control les expliqué que estaba de pasada por trabajo y que tan solo quería sacar unas fotos del estadio, nada más. Con eso logré pasar todos los controles, hasta que me di cuenta que estaba haciendo la fila para entrar a la cancha.

Le pregunto a uno de la fila cuando compró la entrada y me dice "Recién". Como tenia una mochila llena de cosas incautables pensé en comprar una entrada y después dejar la mochila en alguna casa o en algún restaurant. O me llevo la entrada como recuerdo y listo... Al final las cosas salieron de una manera diferente..

Compro la entrada con los $20 de la comida y vuelvo a la fila, cuando llega mi turno para el cacheo, se me ocurre decirle "Buenas tardes, estoy trabajando para La Bombonera". Ahí nomás saque toda la documentación que tenia que presentar en La Rural para que me dejen entrar: autorizaciones, carnets, etc...

El policía se pone a leer un poco y me dice "te tengo que revisar la mochila". Le dije que  sabiendo que no me iban a dejar pasar con todas las cosas que llevaba ahí... y lo único que me dice es "Tenés que dejar el desodorante"... Habían serruchos, y sierras y me saca el desodorante! jaja Se lo doy y me dice "pasá por aquí". Terminé entrando sin la entrada!

Ya en la cancha era cuestión de llamar a mi flia y amigos para contarle en donde estaba. INCREÍBLE experiencia. ALTO Chamuyo. EXCELENTE Partido (Ganamos 2 a 1)

Labels: , ,

Friday, 27 June 2014

Nostalgia Nerd 2

Después de escribir Nostalgia Nerd unos días atrás, empecé a recordar mas cosas de esos años gloriosos.
Si bien hoy soy muy linuxero, debo confesar que no arranqué así. El primer sistema que pude tocar fue un DOS 6.algo
Como no tenia ni idea que hacer, recurrí a lo lógico: escribir help en la linea de comandos.
En esos años no teníamos acceso a Internet, y lo que aprendí al leer esa documentación es invaluable. Leí todo lo que pude, desde el primer  hasta el ultimo comando, y mientras tanto iba probando que hacia cada uno de ellos. Y sí, varias veces pude haber llegado a romper alguna maquina.
Con eso aprendí mucho sobre el arranque de una maquina: el himem.sys, io.sys... optimizar la memoria con memmaker, comprimir con dblspace, particionar y formatear, boludear con el microsoft diganostic,  hacer .bat bonitos (con un tip de José Wierna del Salesiano para meter ascii y hacerlos mas copados) Y hasta aprendí a programar usando Qbasic.

Una de las primeras computadoras que tuve fue una Pentium 1 MMX 200Mhz con un disquito de 200MB aprox (Seagate ST3195A) el resto del mundo ya funcionaba con discos de 20 o 30GB. Gracias a saber de la existencia de dblspace pude tener algunas cositas mas: 3D Studio y Flash para tratar de aprender algo. Nunca llegue a hacer nada, mi hermano Jesús siempre fué el artista de la familia.
En la parte de los juegos, me acuerdo de haber echo:
C:\> cd juegos
C:\juegos> 
Y haber jugado alguna vez al:
  • Prince of Persia
  • Lotus
  • Carmen San Diego
  • The Incredible Machine
  • The blue brothers y
  • Cat 

Ahora, un par de imagenes por si recuerdan esos programas y juegos...
Se acuerdan de alguno mas?
El Microsoft Diagnostic


El memmaker, que permitía optimizar la memoria
3D Studio
Windows 3.1
El popular CAT

Carmen San Diego

Gorrilaz, lo encontré con QBasic

Louts, popular de la sala de Computacion del Salesiano

Prehistorik2

The Incredible Machine, excelente!



Labels: , , , ,

Tuesday, 10 June 2014

Nostalgia Nerd

Un día como hoy, y calculo que fué a la misma hora, recibía el desafío de instalar Linux por primera vez.
No tenia ni idea de como comenzar, pero gracias a la oportunidad, disponía de un kit bastante completo. Estábamos arrancando el año 2000 por esa fecha.
Mi primera distribución? Conectiva Linux.


Con ningún dato mío por perder ) me puse a probar la instalación. Los manuales eran muy buenos y los terminaba leyendo como si fueran cuentos. No existía GRUB ni el automount, en su lugar se usaba LiLo y el mount era a manopla.
También comenzaba el boom de los cibers (por lo menos en Salta) y era común la proliferación de computadoras PCChips que a mas de uno le quemó la cabeza (la calidad de los componentes era muy mala)  Recuerdo haber tenido que compilar el kernel para poder hacer andar una placa de red SIS900.
Una de las cosas que me gustaba de Conectiva fue que permitia elegir entre varios entornos de escritorio: icewm, fluxbox, kde y otros.
Después de Conectiva siguieron pasando otras distribuciones: Debian Woody, Suse 7, Mandrake, Ututo y algún que otro Live Cd que me acercaba Gustavo Jimenes[1] en sus visitas por Salta.
Ahí me metí con el popular Knoppix y fue lo que elegí como distribución principal.
¿Por qué elegí como distribución Knoppix y no las otras? Porque no tenia computadora (recién en 2011 me compré una) Knoppix me permitia bootear mi entorno en cualquier maquina y me acostumbré a tener mis archivos en Cloud: Gmail File Extension, se acuerdan?
En fin, el post era para celebrar (?) y recordar el haber arrancando este camino de ida con GNU Linux hace mas de 14 años.
PD: Ahora tengo Linux Mint 16 como distro oficial.
Ya sé, Tux no es GNU

1 Gustavo es el hermano de José que mencione en este otro post. Estudiaba en Tucumán y cada tanto iba a visitar y compartíamos info

Labels: , , ,

Sunday, 30 March 2014

Nuna Malta

Nuna Malta es una de esas bandas que no se pueden reproducir en un CD. Es una de esas bandas que uno tiene que ver tocar en vivo.
No se si será por los temas flasheros que tienen, su show psicodélico o por su reggae raro, o quizás es porque me acostumbré a ver a un monton de chabones locos arriba del escenario rompiéndola.
Hace 5 años que vienen tocando en Córdoba mezclando el Reggae con un poco de folcklore, jazz y funk. Por algo les decía que hacian reggae raro ;)
En los próximos días, Nuna estará presentando su primer disco: "Espíritu de animal Joven" , el significado de Nuna Malta.
A continuación, un par de temas y videos para que vayan conociendo a la banda.
Saludos,









Labels: , , , ,

Manual para comprar en el exterior

Hace unos dias decidi reparar mi celular, y como los repuestos eran caros aquí, los compré en etradesupply.com (ETS)
Seguramente ustedes estan al tanto sobre las restricciones establecidas a partir de Enero 2014 para las compras en el exterior, en donde se aplicarion algunas barreras y mayores controles.
Les dejo a continuación mi experiencia para traer un paquete desde USA-CHINA. Espero que les sirva

En primer lugar, compre el kit completo con el digitalizador, display, etc. El costo era de 130 U$$ aproximadamente, y 30 U$$ en gastos de envío.
A la compra la hice mediante Paypal, utilizando una tarjeta de crédito VISA. Nada raro hasta el momento.
A los 4 días de hacer la compra, de ETS me avisan que ya habían enviado el producto para Argentina y me envian el numero para el seguimiento del paquete.
Durante varios dias estuve entrando a la pagina del correo argentino (http://www.correoargentino.com.ar/formularios/oidn#) para ver en que parte se encontraba y cuando lo iba a recibir. En compras anteriores (dealextreme o alieexpress) era normal esperar por lo menos uno o dos meses como minimo, pero resultó que me encontré con una sorpresa:
Apenas pasó una semana y el repuesto ya estaba en Argentina! Era cuestion de esperar unos dias hasta que llegue a Córdoba. Una semana después ya estaba aqui

El jueves 27 de Marzo llega el Correo con el aviso de visita. Tenía que retirar el producto en la aduana de Córdoba.
Junto al aviso me dejan 2 papeles: el primero con las instrucciones para poder retirar el producto y el segundo con el formulario F4550T (que pueden descargar de aquí)
Para poder retirar los paquetes necesitan llevar esta documentación:

  1. Factura: La factura es el invoice que hicieron en el sitio en donde compraron su producto.
  2. Balance de PayPal o Resumen de Cuenta Bancaria (en donde figure la compra)
  3. Comprobante de pago del VEP (impuesto)
  4. Formulario F4550T completo
Para generar el VEP, tienen que ingresar al sistema de la AFIP mediante clave fiscal. Si no la tienen tienen que generarla. 
Una vez realizado, tienen que entrar en la sección "Presentación de DDJJ y Pagos"
Aceptan el cuadro que aparece y hacen click en Nuevo VEP.
En el formulario que aparece, tienen que llenar con la siguente info:

Al hacer click en siguiente, les sale un cartel. Tienen que hacer click en SI
 Ahora completan el formulario con los datos que correspondan. Por ejemplo

El sistema, de manera automatica, les va a informar el importe que tienen que abonar.


En el paso siguiente, pueden abonar utilizando Banelco, Rapipago, Pagomiscuentas y InterBanking.
Una vez que abonen, tienen que imprimir el comprobante.



    Para completar el formulario F4550T, necesitan hacerlo de la siguiente manera:
    CANAL DE INGRESO: Correo Oficial
    IDENTIFICADOR DEL ENVÍO: Número de tracking NACIONAL
    MERCADERÍA ADQUIRIDA
    La parte importante es el Precio en U$$. Deben colocar el total que pagaron en dolares.
    Abajo completar con los datos del VEP generado anteriormente.

    En Córdoba Capital, la aduana atiende en Buenos Aires 150 a partir de las 8:00 hs. En la pagina de la aduana dice que abren a las 10, en el aviso de visita dice a las 8:30 y en la página de la afip dice a las 7. 
    Yo fui a las 7 por las dudas, y solo eramos dos personas. A las 8 entramos y nos atendieron al toque. El unico inconveniente que tuve fue que mi paquete no habia llegado a ese deposito. Me dijeron que espere hasta las 9:30. Espere hasta las 11 y no habia llegado. Me fui y me llamaron para decirme que ya estaba. A las 13 (aduana cierra a las 14) presente la documentación (tuve que hacer la fila de nuevo), pagué $25 mas y me entregaron mi repuesto.
    Si tienen alguna duda, no duden en dejar un comentario.

    Labels: , , , , , , , , , , ,