miércoles, 21 de marzo de 2012

Repositorios privados gratuitos online de Git, Mercurial y Subversion(SVN)

Los servicios Bitbucket, Assembla, Unfuddle y Beanstalk ofrecen repositorios privados y públicos gratuitos online (o como ahora está de moda decir, "en la nube") para el sistema distribuido de gestión de versiones Git. Y aparte, según cada cuál también para Mercurial o Subversion(SVN).


bitbucket logoEl plan gratuito de Bitbucket (de Atlassian) ofrece:
  • Repositorios públicos y privados ilimitados (Git o Mercurial)
  • Colaboradores públicos ilimitados
  • Espacio de disco ilimitado
  • Dominios personalizados
  • Sistema de seguimiento de incidencias (Issue tracking)
  • Descargas
  • Wiki
  • Acceso seguro a través de SSL
unfuddle logoEl plan gratuito de Unfuddle ofrece:
  • Repositorios ilimitados de (Git o Subversion) (creo que, si es privado se limita a sólo uno, pero no estoy seguro)
  • 1 proyecto activo
  • Máximo 2 usuarios por cuenta
  • 200 MB de espacio de disco
  • Sistema de seguimiento de incidencias (Bug tracking)
  • Programación de hitos
  • Mensajería interna
  • 3 páginas para anotaciones
  • Rss y iCal
  • Acceso sin SSL
assembla logo
El plan gratuito de Assembla ofrece:
  • Repositorios públicos ilimitados (Git o Subversion)
  • 1 repositorio privado (Git o Subversion)
  • Colaboradores ilimitados
  • Espacio de disco de 1GB
  • Acceso seguro a través de SSL

beanstalk logo
  • 1 repositorio privado (Git o Subversion)
  • 1 sólo usuario
  • Espacio de disco de 100MB
  • Acceso seguro a través de SSL
freepository logo
  • 1 repositorios privado (Subversion)
  • 1 sólo usuario
  • Espacio de disco de ??
  • Acceso seguro a través de SSL
projectlocker logo
  • 3 Repositorios públicos o privados (Git o Subversion)
  • Máximo de 3 usuarios por cuenta
  • Espacio en disco de 300MB
  • Trac (wiki, seguimiento de incidencias, gestión del proyecto)
  • Acceso seguro a través de SSL
  • Copias de seguridad nocturnas (en la versión gratuita no se pueden descargar)
  • Publicidad
xp-dev logo
  • 2 repositorios privados (Git o Subversion o Mercurial)
  • Trac (wiki, seguimiento de incidencias, gestión del proyecto)
  • Espacio en disco de 200MB
  • Acceso sin SSL
  • Publicidad

La bombilla eterna - invento español

www.oepelectrics.com
La bombilla "eterna" inventada por un español y que vende desde su web. El informativo que anuncia con pomposidad y orgullo la noticia, no se molesta en mencionar ni el nombre del inventor, ni de la empresa, ni de la web,... Menos mal que por lo menos en la noticia en el ABC hay un link a la web de empresa. Se habrán despistado. No sé que co****s les enseñarán a los periodistas, seguramente sólo literatura, porque lo que es transmitir información útil, cero.

martes, 20 de marzo de 2012

Campeonato abierto de robótica de San Petersburgo de 2012

El pasado 18 de marzo de 2012, se ha celebrado el 6º campeonato abierto de robótica de San Petersburgo.

El programa constaba de los siguientes eventos:
  • Competiciones con las reglas propias del campeonato abierto.
  • Torneo regional encuadrado en la competición internacional de robots con las reglas de la Olimpiada Mundial de Robots, WRO 2012
  • Fútbol de robots
  • Muestra de proyectos personales.

Me sorprendió y alegró descubrir que en el liceo Físico-Matemático de San Petersburgo desde 2008 se ha instaurado un taller gratuito de robótica para niños y adolescentes de 10 a 17 años. Desconozco si aquí en España existen iniciativas similares, pero creo que se deberían poner en marcha.

Algunos vídeos:

Competición de laberinto


Seguir la línea

Máquina de pinball



Otro evento interesante de robótica que se celebrará próximamente es el RoboFest 2012, del 5 al 7 de abril, en Moscú.

martes, 13 de marzo de 2012

Añadir el botón de "Pinterest" a cada entrada de Blogger

Vamos a colocar un botón de "Pin it", con contador, a cada entrada(post) de nuestro blog en Blogger/Blogspot. Se visualizará únicamente en las páginas individuales de cada entrada(post) y no en la que se listan varias entradas. Con él permitiremos a nuestros lectores compartir nuestro post en la red social "Pinterest". Igual que seguramente ya hacemos con botones de twitter, facebook, google+,...

Ir a Diseño->Edición de HTML (En el nuevo interfaz: Plantilla -> Editar HTML)
Antes de modificarla, es muy buena idea hacer una copia de seguridad de nuestra plantilla actual.
Marcar el checkbox "Expandir plantillas de artilugios", sobre la esquina superior derecha de la ventana con el código HTML.
Buscar el siguiente tag en el código HTML:
<data:post.body/>

Éste tag es el que inserta el contenido de cada entrada en el blog. Normalmente, vamos a encontrar 2 ocurrencias de ese tag en el código. Nos vamos a quedar con la primera (desde arriba).

Pegamos el siguiente código a continuación del primer tag <data:post.body/> que hemos encontrado:

<!-- Pinterest Start -->
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div id='pin-wrapper' style='margin:5px 10px 5px 0; text-align: left;'>
<a class='pin-it-button' count-layout='horizontal' expr:href='&quot;http://pinterest.com/pin/create/button/?url=&quot; + data:post.url'>Pin It</a>
<a href='javascript:void(run_pinmarklet())' style='margin-left:-93px; width:43px; height:20px; display:inline-block;'/>
</div>
<script src='http://assets.pinterest.com/js/pinit.js' type='text/javascript'/>
<script type='text/javascript'>
function run_pinmarklet() {
var e=document.createElement(&#39;script&#39;);
e.setAttribute(&#39;type&#39;,&#39;text/javascript&#39;);
e.setAttribute(&#39;charset&#39;,&#39;UTF-8&#39;);
e.setAttribute(&#39;src&#39;,&#39;http://assets.pinterest.com/js/pinmarklet.js?r=&#39; + Math.random()*99999999);
document.body.appendChild(e);
}
</script>
</b:if>
<!-- Pinterest button End -->

Configuración del botón

El botón se puede ajustar cambiando el valor del atributo "count-layout", tomando como referencia la siguiente tabla:

Button type


count-layout value


margin-left (in line 5) value

pinterest pin-it button vertical

vertical


-46px

pinterest pin-it button horizontal

horizontal


-93px

pinterest pin-it button no count

none


-46px

Posición del botón

Los pasos anteriores son para colocar el botón en la parte inferior izquierda de cada entrada del blog. Para cambiar la posición, hacemos lo siguiente:
Para colocarlo en la parte superior de la entrada, pegar el código anterior antes del primer tag <data:post.body/>, en vez de después.

Alineación del botón

Cambiar el valor de la propiedad "text-align", en el primer
del código que hemos pegado el código HTML de la plantilla:
Para alinear a la derecha: asignarle "right";
Para centrar: asignarle "center";
Una vez que lo hemos cambiado en la plantilla, pulsamos "Guardar" y visualizamos el blog.

El botón debería estar apareciendo en la páginas individuales de cada entrada del blog.


Traducido desde aquí.

Añadir el botón de "Pin it", de Pinterest, como widget en blogger.

"Pinterest" es una red social online que se basa en compartir tablones, donde se van (pin)chando las cosas que quiere compartir cada usuario. Parecido a lo que es el muro de facebook. Está enfocada a compartir videos, imágenes,... para que al ver cada tablón sea vistoso y llamativo, parecido a un corcho lleno con fotos estáticas o no (vídeos).

A continuación explico una de las formas de conectar nuestro blog alojado en blogger, con esta red, para que los visitantes puedan difundirlo si quieren a través de ella, tal como es típico hacerlo a través de twitter, facebook,...

En éste caso vamos a colocar un botón de "pin it" genérico para todo el blog, no para una entrada individual.

Para colocar el botón "Pin it" fuera del área de los posts/entradas del blog, por ejemplo en la barra lateral(sidebar) o en el faldón(footer), copiar el siguiente código en un gadget nuevo o existente de blogger de tipo HTML/Javascript. Con esto, el botón aparecerá en todas las páginas, no sólo en las individuales de cada entrada, pero no vendrá con contador que nos indica cuántas veces nos han hecho "pin".

El código:
<a href='javascript:void(run_pinmarklet())'><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn2wDJa2XwSW2BPVkL4Lc5wGKpEHqse3agjInTXxkRSP1VevtjjB19TrkXioXgKO3Fzy0P7GZmQZZSQ6Bps5aXMAkwSLFF0g1WU3y2DqbBvv1VD0TVGgURQZaiw8EEVzygludq5hfQvXhZ/s1600/pinmask2.png" style='margin:0; padding:0; border:none;'/></a>
<script type='text/javascript'>
function run_pinmarklet() {
var e=document.createElement('script');
e.setAttribute('type','text/javascript');
e.setAttribute('charset','UTF-8');
e.setAttribute('src','http://assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);
document.body.appendChild(e);http://www.blogger.com/img/blank.gif
}
</script>

Resultado:

En éste ejemplo lo he metido en un gadget de tipo HTML/Javascript que tenía en la barra lateral de éste blog.

Quizás quieras añadir un botón de pinterest para cada entrada.

martes, 6 de marzo de 2012

Guardar las configuraciones de aliases en cygwin

a) Sólo para el usuario actual

asumiendo que se usa Bash
modificar .bashrc en el directorio home

b) para todos los usuarios del pc

crear/modificar
/etc/profile.d/alias.sh

Los script en /etc/profile.d/ se ejecutan para todos los perfiles.

De esta forma, por ejemplo puedo guardar el alias que he creado para el ejecutable 'gem' (de ruby). Sin ese alias, al intentar ejecutar gem desde la consola de cygwin, me saltaba este error:
C:\Ruby193\bin\ruby.exe: No such file or directory -- /cygdrive/c/Ruby193/bin/gem (LoadError)

Así que cree un alias en cygwin, que apunta 'gem' al ejecutable:
alias gem='C:/Ruby193/bin/gem'

Para que ese alias se cargue cada vez que abro una consola de cygwin, metí su definición como script, dentro del directorio: [directorio de instalación de cygwin]/etc/profile.d/

lunes, 6 de febrero de 2012

SLF4J

La interfaz del sistema de logging contra la que se programa es: slf4j-api
Las implementaciones de esa interfaz son -> logback, slf4j-log4j,... Una vez al compilar, sólo debe haber una efectiva.

Incompatibilidad entre commons-logging y jcl-over-slf4j.


commons-logging y commons-logging-api son incompatibles con jcl-over-slf4j, o está uno o están los otros dos.

Recursos para consulta de POMs, búsqueda de artefactos de maven,...


Búsqueda en el repositorio de artefactos de maven:
search.maven.org

Otra web de búsqueda de clases, proyectos,... de Java:
www.jarvana.com

Activar el editor de POM en MyEclipse

En MyEclipse, si se quiere usar el editor de los pom.xml con sus pestañas avanzadas, se ha de activar de manera siguiente:

  • Se tiene que tener instalado el plugin de Maven para MyEclipse. En mi caso "Maven4MyEclipse".
  • Acceder al menú del pom editor en las preferencias de MyEclipse y marcar las opciones deseadas.Window-->Preferences-->MyEclipse-->Maven4MyEclipse-->Maven-->POM Editor.

Estas instrucciones son válidas para MyEclipse 8.6 Blue Edition.

También sería posible abrir el pom.xml con el editor de POM, si abrimos el fichero con "Open With" y seleccionando ese editor. Pero para no hacerlo cada vez, es mejor dejarlo configurado desde el menú que se menciona al principio.

lunes, 16 de enero de 2012

SCONS - software construction tool

Muy interesante, una herramienta de construcción de software por lo visto muy poderosa, de la que no había oido hablar antes, SCONS. Tiene soporte integrado para una gran para C, C++, D, Java, Fortran, Yacc, Lex, Qt y SWIG, y para construir documentos TeX y LaTeX. Aunque no estoy muy familiarizado con este campo, es probable que existan alternativas más interesantes, porque la web me pareció un pelín desactualizada, pero podría ser un buen punto de partida.

http://www.scons.org/