enero 11, 2012 0

cuaderno-de-bitácora

By in Automatización, Cuaderno de bitácora, Hallazgos, Programación, Tecnicismos

He hecho muchas cosas hoy. Empezando ayer a las 23:50 después de llegar de casa de nerea (si tarda 10 mins ¬¬ ella sabe a que me refiero).

Empecé a investigar sobre el algoritmo aho-corasick, que según tenía entendido, era un modelo de Luis para el algoritmo. Aunque por lo que me he enterado más tarde, solo interesa la problemática del acceso a memoria compartida que utiliza por debajo el algoritmo. Por lo tanto, puedo directamente, hacer un testcase que haga eso en el Adviser y a correr. De todos modos, me he estudiado el algoritmo, ya que mi PFC y lo de Luis no es lo mismo, y he ideado unos cuantos métodos para hacer el algoritmo más rápido, aunque aún hay que probar mis varias teorias.

Sea lo que sea, aún tengo que poner las cosas en Github, evidentemente, si hago algo va a ser sobre GPL, por que para mí el mundo libre… Ha sido de gran ayuda.

He pasado toda la mañana haciendo cosas sobre el algoritmo, hasta después de comer. Que por cierto, les he dado la caca con mis ideas en gran medida. Y luego me he puesto a hacer cosas que tenía pendientes, por ejemplo, de la banda. He empezado a crear el repositorio del aho-corasick, pero ya seguiré. Lo cierto es que ahora hecho la vista hacia atrás y no se que he hecho.

Mirando mi explorador, que si que sabe lo que he hecho, he estado hasta las 15:30 buscando cosas sobre aho-corasick, después he actualizado, a raíz de un código que he encontrado sobre este algoritmo (en verdad a su licencia adjunta), mis conocimientos sobre licencias de lo que haga.

Después, el chrome dice que he estado en IRC, hablando sobre una alternativa a OpenWRT, FreeWRT, despué he asistido a una reunion de ubuntu qa (sí, estoy metido ahí). Y luego por último, me he puesto a mirar cosas sobre automatización, desde IronAHK, luego Jenkins (mi gran coloso), hasta llegar a la automatización de Instalación de sistemas operativos, entonces, he empezado a caer en el fondo de un pozo que me llevaba a sistemas cada vez mejores hasta tocar fondo, Orchestra.

Por ello, al final, he tenido que mandarle un correo al del CIDIR, Jesus, para comentarle lo de Orchestra y Armando por todo lo que he descubierto.

Buenas Armando,

 

Aclaro que no espero respuesta vía correo electrónico.

 

He asistido via IRC a la reunión de QA de ubuntu, y ha salido el tema de los tests de las isos, la automatización, y eso me ha recordad algunas cosas que se y que nos podrían venir bien. Antes de mandarte un mail con mis ideas, me he puesto a buscar y a refrescar el mundo sobre la distribución de sistemas operativos, instalación automatizada, y todas esas cosas de grandes empresas.

 

Y bueno, también ya de paso, he vuelto a darme con uno de mis grandes colosos que todavía me quedan por derrotar (hay muchos). Jenkins [1]. Es una plataforma para lanza pruebas, y que está muy muy especializada. Puede que cuando se hizo la arquitectura de pruebas no existiera, pero este programa es una pasada (y como he dicho, un coloso).

 

Esto lo he ido viendo a lo largo de mi corta vida de informática (4~5 años) en varios sitios, y funciona genial, al menos si lo sabes configurar, por que yo lo he intentado (también decir que no me puse en serio), y fracase.

 

Pero visto que me tengo que aprender la arquitectura de pruebas y como funciona, porque no, aprender a utilizar este programa? Al fin y al cabo, el Adviser en verdad no necesita toda la test-arch, de hecho, con solo el adviser me basto para hacer pruebas de captura (al menos hasta lo que se yo). Es cierto que necesita el Manager, los demonios y todas esas cosas…

 

Si puedo conseguir todo de un plumazo con Jenkins, por que no intentarlo? no creo que se tarde más de un día en aprender a dominarlo, y la opción de automatizar pruebas, desde que pongo una nueva versión en el repositorio hasta la ejecución del adviser, con resultados de pruebas y logs es demasiado tentadora para mí. Dicho esto, en mi tiempo libre, estudiaré como hacer esto.

 

Ya que estaba con esto, pues he seguido mirando, y he hablando con uno de QA de xubuntu, me ha comentado que se estaba rompiendo la cabeza con el jenkins que no lo entendía etc. (Debe ser mayor ya por lo que ha dicho) y eso me ha recordado que en los laboratorios de QA de ubuntu, tienen algún tipo de sistema para automatizar las pruebas de ISO, lo que significa, que tienen la capacidad de hasta instalar sistemas automatizadamente.

 

Y eso me ha llevado a algo sorprendente. Mucho más allá de la replicación de sistemas, Ubuntu, con su intención de introducirse en el mundo de los servidores, de los de verdad, ha desarrollado el tambien llamado The Ubuntu Orchestra Project, que para el común de los mortales se conoce como Orchestra. La carta de presentación[2] no deja lugar a dudas, es un pedazo de proyecto de tres pares. Lo mejor de todo es que está en desarrollo activo, que es software libre, y que me da ideas sobre lo que te he dicho de hacerle la vida más facil a Edu (y al resto de paso también) sobre la instalación de sistemas automatizada.

 

Pues bueno, esos son mis avances de hoy.

 

Javier Domingo

 

[1] Jenkins: https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins

[2] Orchestra: http://blog.dustinkirkland.com/2011/08/formal-introduction-to-ubuntu-orchestra.html


Y bueno, eso ha sido todo por hoy, marcho a donde Nerea,

Agur!

octubre 25, 2011 0

Vfront

By in Off-topic

Bueno, ahora estoy intentando encontrar algún tipo de interfaz para una base de datos. La idea es que sea facil de configurar. Habia empezado a hacer la interfaz en PHP y tenia intencion de hacer o integrarla de alguna manera con AJAX, JQuery, o tecnologias similares que me permitan hacerlo un poco más manejable para que no esté actualizando la página todo el rato.
No se me ocurre una forma facil de hacerlo. Podría desarrollar una aplicacion que consistiera en algo parecido a lo que existe en Vfront o en dadabik… Ya vere.. Comento (escribo) con lo que sea.

Tags: , , , ,

octubre 13, 2011 0

MariaDB

By in Off-topic

Bueno, al final he migrado a mariadb… Y se me ha petado todo, ya que mysql esta en la 5.5.3 y mariadb en la 5.3.

No tenía nada muy importante gracias a dios, y no se si me molestaré en poner todo otra vez como antes, ya que de todos modos, estoy utilizando de test, y el resto de cosas las tengo en el server oficial (txomon.com).

Ahora marcho para clase a otra clase de bases de datos que está genial. Se aprende mucho la verdad. A ver que nos cuenta!

octubre 2, 2011 0

Git vs SVN

By in Tecnicismos

Pues como se puede apreciar en el titulo, si, esto es una comparativa. Lo primero es decir que git mola más, y lo segundo, que tengo que hacer una comparativa real de los dos para que sea un PFC xD.

En estos momentos estoy intalando redmine. Y se antoja chungo. Sobretodo por que lo tengo que hacer en Hostgator. Además, tengo que aprender para que demonios sirve el ruby on rails y el ruby gems. Creo que son como administradores de modulos. Pero no me convence mucho esto de ruby on rails.

De todos modos, hay tutoriales y esas cosas.

Despues de ojear un poco con google, he encontrado que RoR es para hacer apps webs facil facil y mucho mas simple que con el resto de lenguajes. Pues nada, a seguir instalando redmine.

Añadir a esto que me da una especie de… no se, mal rollete el redmine. Parece mucho y poco a la vez… ya veremos que tal sale.

septiembre 27, 2011 0

Hablando del PFC

By in Off-topic

Bueno, pues he hablado con Armando, y me ha dicho que es posible que se pueda hacer un PFC con todo lo de la gestión documental, etc. No tengo del todo claro como, pero creo conseguiré algo relacionado con el kernel o si no, gestión documental, que es lo que me mola.

Desde luego, voy a utilizar git, aunque sea en un mal arreglo con el git svn… pero por lo menos, sabré utilizarlo. A ver si lo que me ha pedido armando le convence…

 

septiembre 26, 2011 0

Casi acabado

By in Off-topic, Programación, Tecnicismos

Bueno, pues parece que ya casi he acabado el sistema de administración del control de versiones.

Es muy muy malo, pero es una forma eficaz de poder empezar a trabajar, ya que hay otras prioridades.

Lo que hace este script en python, es primero comprobar todos los grupos que existen en: /etc/groups y mirar cuales tienes svn en su nombre, y empiezan a partir del 9999  (el gid). Despues mira los directorios en la raiz que se halla especificado (mejor que sea en / y no por ahí suelto, por que los grupos se crean con los path completos.

Después de encontrar las diferencias, se dispone a corregir. Como es mas fácil crear una carpeta que un grupo, pues mira todas las carpetas que hay, y crea los grupos correspondientes. Si luego ve que hay un grupo que sobra, pregunta para borrarlo.

Una vez visto que es consistente, se dispone a poner los permisos a todas las carpetas. Como no me quería andar con milongas, he hecho que cada vez que se ejecute, ponga en orden todas los chown de las carpetas y que cambie los permisos a g+s de tal manera que todo aquel que haga algo en el repositorio, imaginando que la prevención del umask ha sido salteada, pueda ser arreglada para el resto. Eso me falta por comprobar.

Saber si de verdad funciona todo este garigay. Por que en verdad os digo que no hay nadie con más ganas de acabar de programar algo para un control de versiones que no me gusta.

Por cierto, los repositorios se crean con svn-admin create y el servidor es svnserve -t o eso espero que sea.

De todos modos, me voy a sobar que en 6 horas me levanto.

Resumen del día más o menos hecho.

Bueno, en verdad falta añadir que he estado haciendo problemas de TC y que son horribles y tengo mogollón de dudas, por lo que mañana intentaré encontrar a Luis y pedirle ayuda (Luis: un tio muy majo que da una asignatura que te deja majo, pero interesante eso si)

Tags: , , , ,

septiembre 25, 2011 0

Redmine, Gitolite y su uso con SVN

By in Hallazgos, Programación

Me he quedado atascado en la instalación de Redmine y de Gitolite. He dejado de leer los docs de Redmine en cuanto he visto que necesitaba instalar Gitolite primero. Como la versión que tengo en mi ordenador de Gitolite tiene ya más de 1 año, me he decidido a leerme todos los docs (por cierto muy completos), y he encontrado esto:

http://sitaramc.github.com/gitolite/doc/gitolite.rc.html#SVNSERVE

El tag SVNSERVE no funciona, pero si buscais SVNSERVE os lleva. Esto me ha encendido un foco en la cabeza… PUEDO UTILIZAR GITOLITE PARA EL $%!”·$% ADMINISTRADOR DE SVN!!

Y me he vuelto loco con la idea. De momento, estoy haciendo un adm en python, con una manera de código muy chunga pero que he conseguido alguna funcionalidad. La cosa es que después de ver esto, se me ha abierto una luz en el cielo.

Y me he puesto en contacto con Sitaram para ver si había algo que hacer, o al menos para saber el soporte que daba a svn, y me ha contestado que lo único que daba era un soporte de autenticación, se limita a decir que ese usuario es el que se ha logueado.

Y eso me ha apagado el foco.

Eso significa que para utilizar gitolite, voy a tener que hacer módulos que se integren, evidentemente en perl, con el código de este. Por ello, voy a volver a insistir a Alberto (al pobre lo tengo crucificado con este tema) sobre pasarnos a Git. Las razones son estas:

  1. Tal y como funciona subversión, solo puedes limitar el acceso al repositorio. Lo que hagan dentro es casi imposible, ya que las estructuras de carpetas dentro del repositorio siguen un orden que lo pone el usuario.
  2. Tendría que cambiar todo el diseño que tengo hasta el momento de los repositorios de svn para que se adapte a las nuevas necesidades, y  a este paso, podrá ser mi proyecto de fin de carrera (por el tiempo que me va a llevar).
  3. Con gitolite puedes controlar desde que rutas escriben los usuarios hasta que usuarios pueden hacer tags de versiones etc.
  4. Puedes delegar, hacer repositorios comodines (ver los docs de Sitaram http://sitaramc.github.com/gitolite/doc/wildcard-repositories.html)
  5. Con Git puedes trabajar en casa o en tu pueblo sin necesidad de internet.
  6. Con Git, un merge no es una pesadilla, y además está preparado para poder hacer todo lo que te imagines con el repositorio.
En definitiva, es un sistema completo, que tiene actualizaciones regulares, soporte especializado, y totalmente moldeable.
Alberto me va a mandar al cuerno, pero es que ahorraría un trabajo de la leche. Ademas de que aprender a utilizar Git es facilísimo y está lleno de utilidades (como encontrar archivos a lo largo de su historia etc.)

Tags: , , , , , ,

septiembre 24, 2011 0

Empezamos

By in Tecnicismos

Bueno, empezamos el lanzamiento del sitio web txomon.com, registrado por primera vez un 23 de Septiembre del 2011, a la 1 y pico. Y 13 horas depués, ya he tenido los aspectos técnicos cubiertos, como redirigir las peticiones DNS etc.

He empezado moviendo la web de la banda en la que hago pruebas a una dirección interna, hasta que consiga acabarla. Instalaré un redmine, este blog, una wiki y puede que hasta un foro… lo cual por cierto lo veo poco probable, es un tostón, y ya me cuesta entrar al de lampiweb (menos mal que tengo notificaciones por mail que si no…)

Pues eso, da comienzo la temporada de creación de txomon.com y derivados (wiki.txomon.com, etc.)

 

Edición 1: Parece que el plugin de twitter que estaba intentando probar no va… La he piciado con los permisos pero bueno. La siguiente vez será

Tags: ,