viernes, 27 de mayo de 2011

Taller: Diseño usando herramientas libres

Dictado por María "tatica" Leandro,

En este taller tatica nos explicó como ella usa principalmente Inkscape para hacer diseños para banners, afiches o wallpapers.

Básicamente nos dió varios consejos para trabajar de forma más sencilla y rápida:
  • Usar atajos de teclado: casi todos los atajos que más se usan, nos comenta tatica, tienen la siguiente forma: Ctrl+Shift+[Letra]. En especial el atajo Ctrl+Shift+F (fill) para definir el color de relleno (fill en ingles).
  • Colocar archivos, como imágenes, de uso común en un sitio web accesible, de este modo los tenemos a la mano donde sea que estemos y además podemos consultar información importante tal como colores.
  • Al trabajar con imprentas o medios de comunicación impresos considerar lo siguiente:
    * para afiches usar entre 150 a 300 dpi y enviar a la imprenta, en alguno de estos formatos: psd, pdf o tif.
    * para banners usar entre 120 a 170 dpi y enviar a la imprenta en formato: tif o tiff.

    Nota:Siempre es recomendable preguntar a la persona a la que enviaras el archivo cuales formatos le funcionan mejor

  • Siempre hay que considerar los costos de impresión y por ejemplo para imprimir un t-shirt es buena idea usar el color del mismo para el diseño. La regla es buscar la opción más económica pero por supuesto esto depende del presupuesto de cada quien.

  • Cuando estamos diseñando un wallpaper se debe considerar los siguientes aspectos:
    usabilidad, accesibilidad y apreciación.
    Cabe destacar que los iconos del escritorio, al menos en los escritorios tradicionales, aparecen a la izquierda por lo que un buen wallpaper tiene sus imágenes más grandes en el centro o a la derecha.


  • finalmente todas los artes que hagamos y coloquemos en el repositorio publico de Fedora, aunque no sea de inmediato, es muy probable que se use en el futuro, tal como nos contó tatica que le sucedió a ella con algunos afiches que creó hace unos años.


Muy interesante esta presentación tatica, gracias!

Saludos a todos.

Icaro: Robotica educativa.

Presentado por Valentín Basel (Argentina)

Icaro es el nombre del gato de Valentín :D y es también un proyecto iniciado por El para enseñar a los niños sobre las diferentes
disciplinas de la robótica, tales como: mecánica, electrónica, informática e inteligencia artificial.

Con Icaro Valentín busca:
  • usar componentes o hardware de especificaciones libres
  • usar piezas de equipos reciclados (las impresoras son buenas fuentes de partes en especial motores)
  • usar hardware lo más simple y barato posible.
  • enseñar por medio del constructivismo o enseñar haciendo.
  • desarrollar software libre.
Valentín nos comentó, durante la conferencia, que ha tenido experiencia en algunos colegios como El los denomina "urbanos-rurales" es decir:
colegios mayormente publicos para personas de escasos recursos que de otro modo no tendría acceso a este tipo de tecnología.

Para que este proyecto funcione Valentín programó un interprete que le permite a los niños, a quienes va dirigido este proyecto mayormente
aunque sin excluir a nadie, programar sus robots casi sin conocer nada de programación.

El interprete de icaro, nos cuenta su creador, está hecho en C++ y funciona con librerías estándar y muy básicas de modo que, en teoría, si
tienes un equipo capas de correr un GNU/Linux eres capas de usar Icaro.

Para más información por favor visitar el blog del proyecto.

jueves, 26 de mayo de 2011

FUDCon 2011 Panamá

Un comienzo interesante tubo para mi este FUDCon, ayer pasé a buscar a Tatica, Richzendy y Gomix al aeropuerto de Tocumén.

El primer día de conferencias ha estado bastante interesante con temas tales como: python, seguridad de red (iptables), robotica educativa (icaro), virtualización usando KVM y Documentación técnica.

Pronto espero poder escribir un poco más en detalles sobre esas presentaciones.

Saludos.

lunes, 23 de mayo de 2011

Como instalar Apache Archiva en Ubuntu

Hoy estoy configurando en mi laptop Apache Archiva un administrador de repositorio para maven; Y bueno me pareció buena idea documentar el proceso en caso de que le sea de ayuda a alguien más o si me hace falta en el futuro.

Instalación:
1.) descargamos archiva stand alone, estoy usando la versión 1.3.4
2.) Descomprimimos el archivo recientemente descargado.
3.) Movemos la carpeta de archiva hacia donde será instalado finalmente, en mi caso en la carpeta opt.

#1
wget -c http://www.reverse.net/pub/apache//archiva/binaries/apache-archiva-1.3.4-bin.tar.gz
#2
tar xfv apache-archiva-1.3.4-bin.tar.gz
#3
sudo mv apache-archiva-1.3.4 /opt/

Comprobamos que todo ha salido bien ejecutando en el siguiente comando:
/opt/apache-archiva-1.3.4/bin/archiva console
Abrimos el navegador web e ingresamos la dirección http://localhost:8080/archiva y deberíamos ver una pagina de configuración de la cuenta del administrador, si desean pueden rellenar los datos sino lo pueden hacer luego.

Nota: Antes de continuar con la configuración debemos terminar el proceso presionando Ctrl+C en la consola donde lanzamos archiva.

Configuración
Ahora que ya esta instalado y funcionando lo siguiente es configurarlo.
Para una mejor administración y actualización vamos a separar los datos y las configuraciones de la instalación de archiva:
1.) creamos las carpetas necesarias.
2.) copiamos los datos de la instalación actual de archiva a la carpeta de configuración.
#1
sudo mkdir -p /var/archiva/data
sudo mkdir -p /var/archiva/conf
sudo mkdir -p /var/archiva/logs

#2
cd /opt/apache-archiva-1.3.4/
cp -v conf/* /var/archiva/conf/
cp -vr data/* /var/archiva/data/

Configurar Archiva como un demonio (daemon)
1.) creamos un "start/stop" script en /etc/init.d/
2.) modificamos el nuevo script para que lance archiva
#1
sudo touch /etc/init.d/archiva
sudo chmod +x /etc/init.d/archiva
#2
sudo nano /etc/init.d/archiva

Aquí les dejo mi script /etc/init.d/archiva como ejemplo.


Nota: la variable de entorno ARCHIVA_BASE es necesaria para que archiva sepa de donde debe cargar los datos y las configuraciones

Básicamente lo que hice fue:
Definir o exportar la variable de entorno ARCHIVA_BASE igual a "/var/archiva".
Pasar el primer parámetro al script en incluido en archiva con el que se puede lanzar el servidor muy fácilmente.

Con esto podemos ejecutar los siguientes comando para lanzar o detener archiva.
sudo /etc/init.d/archiva start
sudo /etc/init.d/archiva stop

Si deseamos que archiva se lance automáticamente al iniciar el sistema podemos ejecutar el siguiente comando:
sudo update-rc.d archiva defaults
Aquí pueden encontrar más información sobre el comando update-rc.d

Algunos enlaces interesantes:

* Apache Archiva: http://archiva.apache.org/
* Archiva, guía de administradores: http://archiva.apache.org/docs/1.3.4/adminguide/index.html
* Archiva 1.3.4 quick start: http://archiva.apache.org/docs/1.3.4/quick-start.html

Saludos y será hasta la próxima.

domingo, 22 de mayo de 2011

Maven por consola de comandos en Ubuntu

El otro día le explicaba a un amigo como usar maven y por cosas de la universidad donde estudia, me dijo que debía crear su proyecto sin la ayuda de ningún IDE; Por eso decidí hacer este tutorial para explicar la forma de crear aplicaciones en java usando maven desde la consola de comandos.

Primero lo primero, hay que tener maven instalado, sino lo está ya la forma más simple es usando el siguiente comando:

sudo aptitude install maven2
Verificamos que este todo bien
mvn --version

Ahora que ya esta instalado maven, creamos nuestro proyecto, para este ejemplo crearé una aplicación Web usando el siguiente comando.
mvn archetype:generate -DgroupId=net.ejemplos -DartifactId=ejemplo -DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0-SNAPSHOT -DinteractiveMode=false

Deberiamos ver una salida similar a la siguiente en la consola:
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [archetype:generate] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] [archetype:generate {execution: default-cli}]
[INFO] Generating project in Batch mode
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-webapp:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: net.ejemplos
[INFO] Parameter: packageName, Value: net.ejemplos
[INFO] Parameter: package, Value: net.ejemplos
[INFO] Parameter: artifactId, Value: ejemplo
[INFO] Parameter: basedir, Value: /home/[usuario]/Desarrollo
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] ********************* End of debug info from resources from generated POM ***********************
[INFO] project created from Old (1.x) Archetype in dir: /home/[usuario]/Desarrollo/ejemplo
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11 seconds
[INFO] Finished at: Sun May 01 19:44:31 EST 2011
[INFO] Final Memory: 11M/27M
[INFO] ------------------------------------------------------------------------

Luego creamos la carpeta donde ira nuestro código fuente y una primera clase simple:
cd ejemeplo1
mkdir -p src/main/java/net/ejemplos/
touch src/main/java/net/ejemplos/DateTime.java
gedit src/main/java/net/ejemplos/DateTime.java

Dentro de la clase ponemos un código simple como por ejemplo el siguiente:
package net.ejemplos;

/**
 *
 * @author eivar
 */
public class DateTime {
  public long getCurrentDate(){
    return System.currentTimeMillis();
  }
}
Nota: por favor reemplacen el autor con su nombre o eliminen el comentario :P

Ahora podemos compilar o empaquetar el proyecto o cualquiera de las otras opciones que nos ofrece maven, por ejemeplo para compilar:
mvn compile

Ahora para probar nuestra clase modificamos el archivo index.jsp que debió haber sido creado automáticamente por maven:


Ya que estamos trabajando con una aplicación web yo recomiendo usar jetty sobre todo porque se integra muy bien con maven mediante un plugin, a continuación dejo un ejemplo de mi pom.xml donde tengo configurado jetty:


Ahora que tenemos integrado jetty y maven podemos usar el comando siguiente para compilar, empaquetar y ejecutar la aplicación desde la consola de comandos:
#Presionamos ctrl+C para terminar la ejecution de jetty.
mvn compile package jetty:run

Recomiendo leer la documentación de maven aquí.

Saludos.