Categories
- deporte (1)
- entretenimiento (11)
- física (23)
- google SoC (19)
- informática (58)
- desarrollo web (4)
- java (2)
- motos (4)
- opinión (4)
- trabajo (9)
- ull (4)
- ulpgc (38)
- uncategorized (4)
Latest News
- Sistemas de control de versiones: Subversion
- Movistar y timofónica. Odisea 2008: Liberar el móvil.
- Poblaciones del Carbono bajo campo de radiación
- Tasas de absorción y emisión estimulada
- Intel Fortran Compiler
- Espectro del carbono. El de verdad
- Retrasos becas FPU
- Espectro del carbono
- Frameworks PHP. Por fin una alternativa.
- Primer triatlón. Experiencias.
Monthly archives
- November 2008
- June 2008
- May 2008
- April 2008
- February 2008
- November 2007
- October 2007
- September 2007
- March 2007
- February 2007
- November 2006
- October 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
Links
Blogroll
Universidad
Search
Soc 2006 deadline
El Summer of Code 2006 dio por finalizado su periodo de programación el día 21 de agosto. El trabajo que he hecho es funcional, salvo por un pequeño detalle en relación a la interacción entre DaVinci y las X. La verdad es que ni siquiera llegué a compilar DaVinci con soporte para las X.
Sin embargo, presupongo que lograr una compenetración total, similar a la que obtuve al utilizar sockets para salvaguardar el sistema de edición en línea de comandos, no será muy complicado.
Posted by dsuarez
Posted in: google SoC
No Comments »
August 2006
Estados estacionarios y estados ligados
Una típica duda que suele surgir durante el estudio de la física cuántica (a nivel de 2º de Licenciatura en Física) es la diferencia entre un estado estacionario y un estado ligado. Vamos a aclararlo aquí.
Un estado estacionario es un autoestado o vector propio del Hamiltoniano. De modo que:

Una combinación lineal de autovectores no es en general un estado estacionario, salvo que los autovectores pertenezcan todos a un mismo autovalor degenerado.
Por otro lado, un estado ligado es cualquier combinación lineal de autoestados que de lugar a un movimiento acotado, normalmente como consecuencia de que la partícula se encuentra confinada en un pozo de potencial.
Posted by dsuarez
Posted in: física, ull
No Comments »
August 2006
Comentarios sobre el SoC
Ya que hace mucho tiempo que no escribo nada sobre el proyecto del Summer of Code, voy a realizar un pequeño resumen del trabajo realizado, puesto que ya faltan pocos días para la fecha de entrega.
El proyecto consistía en modificar el intérprete del lenguaje DaVinci para que paralelizara automaticamente llamadas a funciones. La forma de hacerlo es mediante el operador @axis(variable), que divide el dato que va entre paréntesis según la ristra axis. El valor que puede tener axis es una combinación de algunas de las siguientes letras: x, y, z; simbolizando cada letra un eje de coordenadas y ningún valor. Por ejemplo, la utilización de @xy(data) dividiría la variable data (que debe ser una variable numérica tridimensional) en varias filas de tamaño 1×1xk donde k es el tamaño del eje z. Es decir, hemos dividido la variable según los ejes x e y. Cuando no se utiliza ninguna letra, la variable entre paréntesis debe ser una estructura, y entonces se divide según cada campo.
El uso de @axis(variable) está retringido a los parámetros de las llamadas a funciones. Cuando se llama a una función que tiene como parámetro una variable paralelizada mediante @(), entonces se ejecuta la función tantas veces como divisiones de la variable se obtuvieron al aplicarle el operador @(), enviándole como parámetro a cada función la correspondiente parte de la variable.
Evidentemente, la paralelización se obtiene de ejecutar cada una de las llamadas a las funciones en un proceso distinto. Para ello se ha utilizado el estándar MPI. MPI es un estándar que define una serie de funciones que se utilizan para crear procesos y comunicar datos entre ellos. La implementación usada ha sido OpenMPI. La ejecución de DaVinci en un cluster de ordenadores que soporte OpenMPI significaría que la ejecución de los programas escritos en DaVinci se ejecutaran mucho más rapido al estar paralelizados, y que su paralelización sería trivial gracias al operador @().
El objetivo del proyecto ha sido logrado y esta en fase de pruebas y optimización.
Posted by dsuarez
Posted in: google SoC, informática
No Comments »
August 2006
Sistemas de control de versiones: Subversion
Un sistema de control de versiones es un conjunto de programas que permiten gestionar los cambios en los ficheros que componen un proyecto, facilitando el trabajo en equipo al controlar el acceso y actualización del código fuente y llevando un registro de las modificaciones de éste.
Me he decidido a instalarlo porque me he encontrado con la necesidad de utilizar un sistema de control de versiones para gestionar los cambios que voy realizando en el código de mi proyecto de fin de carrera y en el código de DaVinci (esto último enmarcado en el Google Summer of Code).
El sistema que me he decidido a instalar es Subversion. Pretende ser una mejora del tan conocido CVS, añadiendo algunas características que se echaban en falta, como el renombre de ficheros o la eliminación de directorios.
El mayor problema a la hora de instalar el subversion vendrá dado por el control de acceso (no he podido aún hacer que funcione utilizando https en lugar de http). Pero por lo demás es bastante sencillo. La forma en que lo instalé fue mediante el módulo mod_dav_svn para Apache 2. Mediante este módulo, se puede acceder a los repositorios de código mediante http en lugar de utilizar el protocolo propio de Subversion (svn://).
Basta con instalar Apache 2 y configurarlo al gusto. Instalar el Subversion y el mod_dav_svn. Configurar el httpd.conf para que cargue mod_dav_svn como módulo y agregar las diversas líneas que definen un repositorio. Por ejemplo, para crear un repositorio accesible en http://myserver.com/repos podemos hacer lo siguiente:
$ cd /var/www/svn
$ chown -R apache.apache svn
Esto presupone que el usuario apache es el usuario que ejecuta el servidor httpd. Ahora los cambios al httpd.conf:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /repos>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/www/.htpasswd
Require valid-user
</Location>
Esto permite un acceso básico al repositorio para inspeccionar el código fuente. Para trabajar con el repositorio debes utilizar: 1) las órdenes de línea de comandos de svn o 2) Una interfaz gráfica como kdesvn en Linux o TortoiseSVN en Windows.
Como adición, viene muy bien buscar el ViewVC, un script cgi que permite una inspección detallada del repositorio, permitiendo ver diferencias entre versiones de un fichero, registros de modificación, etc. Es fácil de instalar, lo desempaquetas y sigues las instrucciones, que básicamente consisten en copiar el ejecutable viewvc.cgi al directorio cgi-bin (o cualquiera donde se ejecuten scripts del servidor web) y configurar httpd.conf para que permita ejecutarlo.
Posted by dsuarez
Posted in: google SoC, informática, pfc
No Comments »
August 2006