Páginas

martes, 19 de abril de 2011

Las gallinas que entran por las que salen

El viernes pasado fue la final de Madrid del concurso, al igual que el jueves tuve el examen de Fundamentos de los Computadores, y dejando de lado que ya se que no tengo perdon de FSM por tardar tanto en comentar el resultado del partido, lo cierto es que he estado bastante liado/agobiado estos dias.

Las noticias buenas, primero que creo que al final despues de 5 años me he quitado al fin la famosa asignatura :-D No se porque razon, pero la electronica se me atraganto sobremanera, y eso teniendo en cuenta que me meti en informatica por culpa de que la electronica se me quedaba pequeña... Y la segunda... Piranna wins!!! :-D Contra todo pronostico y en especial el mio, ¡resulta que PirannaFS ha ganado! :-D Empece el proyecto por hobbie, nada especial, y ademas era muy "friki" y especifico cuando habia otros que estaban mas orientados a la comunidad. Aparte, de los que estuvimos en la final realmente yo habria apostado por los de los demas (cORMoran me parecio bastante practico, e InfantView yo ya le saque alguna que otra utilidad practica...), asi que normal que todos me miraran con cara rara cuando me entro la risa floja cuando me entere que habia ganado porque todavia no me lo creia :-P Pero bueno, no deja de ser ironico que no me cogiese la promocion de la tablet del ABC aprovechando que trabajaba alli y que ahora tenga una Galaxy Tab para sustituir a mi pobre Spica... :-D

En cualquier caso las dos proximas semanas el proyecto va a estar parado debido a que voy a estar estudiando Java para el examen de Orientacion a Objetos (si, a la vejez viruelas, quien lo diria...), y como no puedo estar haciendo una sola cosa, pues voy a aprovechar para aprender Android y desarrollar el cliente en Java de UnHosted todo a la vez. Como dijo el pirata, "la vida es corta pero ancha"... :-D

Ahora las malas, y es que a pesar de ser "un tecnico extraordinario" (palabras literales) me despidieron del trabajo porque no buscaban un perfil tan tecnico sino "alguien mas de gestion o administracion capaz de atender al cliente". En resumen, yo preocupandome siempre de que mi codigo hablara por mi y ahora resulta que lo que hay que hacer si quieres seguir ascendiendo es saber colocar correctamente un lazo rosa para que no se vean las grietas ni se desmorone el invento. Pues mira, ellos se pierden el tener un campeon entre sus tropas. Al final cuando hasta en el trabajo te dicen directa o indirectamente que si quieres desarrollar una carrera puramente tecnica te tienes que ir a Estados Unidos, agua lleva.

Esta claro, no podian pasarme tantas cosas buenas en una semana sin riesgo de provocar un desequilibrio en la constante espacio-tiempo. Maldito karma...

miércoles, 6 de abril de 2011

Fahrenheit 1832

Semanita de aupa llevo, y semanita de aupa me espera. Semanita llevo, porque he "intentado" (no existe una palabra mejor...) mezclar las dos ramas de PirannaFS (FUSE y PyFilesystem) y el repositorio ha acabado como era previsible: apocalipsis post-nuclear y terminar metiendo los archivos a mano de nuevo (con esto ya si que me paso definitivamente a GIT), al hacerlo me he encontrado bugs al prepararlo todo para la integracion (y aqui me veis, un dia antes de terminado el plazo haciendo todavia la memoria) y encima al empezar a hacer las pruebas directamente sobre el disco he descubierto que SQLite es mucho mas lento de lo que pensaba por pura paranoia y voy a tener que configurarlo y optimizarlo muchisimo antes de tener algo usable. Semanita me espera, porque el jueves tengo examen de Fundamentos de los Computadores (y no he estudiado...), el viernes tengo la presentacion del proyecto (y todavia no la he preparado...) y encima me he comprometido a hacer la version Java-Android de UnHosted en lugar de las aburridas, inutiles y nada practicas practicas de POO para el examen de dentro de 3 semanas. Me encanta vivir al limite... :-D

Pero bueno, no todo son buenas noticias, tambien he conseguido sacar tiempo para hacer la memoria del proyecto, y la teneis en la pagina de documentacion. Tambien estoy aprovechando a desarrollar toda la documentacion del proyecto para tenerlo centralizado en algun sitio y que sea usable por otras personas, y una de las cosas mas importantes es la estructura de clases, la cual ademas me ha permitido ver algunos detallitos y hacer algunas optimizaciones (siempre se me ha dado bien la memoria espacial... :-D ).


Vamos a explicar las partes. En primer lugar vemos un conjunto de clases fuera del paquete de PirannaFS a la derecha de este. Son el conjunto de clases encargadas del sistema de plugins, junto con los plugins encargados de los checksums, el log y los links simbolicos (obviamente, todos ellos en la carpeta de plugins... :-D ). Ya dentro de PirannaFS vemos un par de paquetes para las interfaces de FUSE y de PyFilesystem. Obviamente las clases de FUSE estan vacias porque tengo que adaptarlas a la nueva estructura, asi que nos centraremos en la de PyFilesystem. Ahi vemos tres clases: Filesystem, Dir y File, que heredan de sus correspondientes dentro del core, las cuales tienen sus referencias a la base de datos y al dispositivo. Ahora mismo tienen casi toda su funcionalidad dentro a la espera de que se vayan "destilando" al core a medida que reintegre la interfaz de FUSE. Como se ve la estructura por capas es realmente sencilla puesto que he desarrollado el codigo alrededor de las funciones correspondientes a las interfaces (de ahi que casi todo el codigo este ahora mismo dentro de los paquetes FUSE y PyFilesystem) y porque todo el trabajo duro se lo esta llevando la base de datos (de ahi que sea tan lenta...). Luego cuando convierta Dir y File en plugins propios ya veremos que pasa con todo esto... :-P

Y bueno, aparte de eso, tambien estoy pensando si en lugar de acceder a la base de datos directamente no hacerme un controlador independiente... Eso me permitiria varias ventajas, como el poder serializarlo todo para que tenga soporte multihilo (se le lanzan peticiones y ya se encargara de resolverlas cuando pueda), cachear las peticiones para que funcione mas rapido el sistema (si solo accede el al sistema no deberia haber problema de que esten desactualizados) o incluso simplificar el proceso de sacar el codigo SQL a archivos externos y cargarlos al principio incluso por parte de los plugins... Pura poesia... :-D

PD: Fahrenheit 1832 es la temperatura a la que arde el silicio en contacto con el aire, convirtiendose en SiO2. Nunca maldigo mi suerteeeeee, porque yo friki naciiiii... :-P