SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
www.eticagnu.org Julio 2013 eGNUX 03
El 28 de julio es un día
doblemente especial para
nosotros, no solo por ser
el día de nuestra
independencia sino que
además EtiCA está de
aniversario, hoy
cumplimos nuestro tercer
año juntos como una
familia y espero que se
vengan muchos más.
Este número especial de
eGNUX, cuenta con una
entrevista realizada a mi persona, en donde les
comento sobre los planes que tenemos paraa el
futuro y mi experiencia como integrante de
EtiCA.
Esta edición también nos presentará al nuevo
sistema operativo móvil "Replicant" que cuenta
con el apoyo de la Free Software Foundation
para su desarrollo, hablaremos de Herramientas
de Monitoreo en Linux, desarrollo de
aplicaciones ANDROID, PostgreSQL y entre otros
temas más.
Por otro lado, debo hacer presente mi
agradecimiento a todos aquellos que
colaboraron con su tiempo y artículos para
poder traerles este nuevo número especial para
todos uds. Espero que éste sea de su agrado y
pues cualquier recomendación déjennos sus
comentarios.
28 de julio de 2013
Dirección editorial y
diagramación:
Diseño de carátula:
Suscripciones:
Directiva 2013
Presidenta:
Vicepresidente:
Secretario:
Tesorero:
Asesor:
Contacto
Web:
E­mail:
Twitter:
Guadalupe Lip Curo.
Gustavo Tompasca Panta.
egnux@eticagnu.org
Guadalupe Lip Curo.
Gustavo Fernandez Chavez.
Angel Quiroz Campos.
José Damián Samamé.
Gustavo Tomapasca Panta.
www.eticagnu.org
egnux@eticagnu.org
@eticagnu
Esta revista se publica bajo una licencia de
Creative Commons. Puede copiar, distribuir,
mostrar publicamente su contenido y hacer obras
derivadas, siempre y cuando, cumpla con lo
siguiente: a) reconozca los créditos de la obra, b)
no la uses de forma comercial y c) la compartas
bajo la misma licencia.
Guadalupe Lip Curo.
Directora editorial
gtlipcuro@gmail.com
06 Herramientas de monitoreo
en Sistemas GNU/Linux.
Existen algunas herramientas que los
administradores de sistemas utilizan
frecuentemente para monitorizar la actividad de
sus sistemas.
www.eticagnu.org Julio 2013 eGNUX 04
09 REPLICANT, un sistema operativo
completamente libre.
Y aquí estamos de nuevo con este espacio para
hablar un poco acerca del software libre y de
cómo se va introduciendo poco a poco de manera
positiva en el mundo de los dispositivos móviles.
11 Entrevista a Guadalupe Lip Curo,
presideta de EtiCA.
Yo conocí el Software Libre hace muchos años,
cuando aún estaba en primaria inclusive y en esa
época realmente eran a muy pocos los que oía
utilizar ese término.
13 PostgreSQL: un SGBD para tiempos
de independencia tecnológica.
PostgreSQL es un SBGD (Sistema Gestor de Base
de Datos) Objeto Relacional distribuido bajo
licencia BSD y con su código fuente libremente
disponible para descarga.
16 Entrevista al Ing. Pedro Rojas Vera, autor
de un libro hecho con Software Libre.
"si tienes una nueva idea, entonces compártela,
porque pueden haber muchas personas a las
cuales les interese esa idea"
19 Tercer aniversario EtiCA.
Hemos querido compartir algunas imagenes de la
celebración por nuestro tercer aniversario.
20 Desarrrollo a través de meto­
dologías ágiles con Software
Libre. (Parte 1)
23 Introducción al desarrollo de
aplicaciones en Android.
26 NOTICIAS BREVES
JOSÉ LUIS
BUGARÍN PECHE
CEO de ILUMINATIC SAC. Analista del Grupo Romero.
Docente Universitario UPC en el Programa EPE.
Emprendedor Tecnológico: www.consultorjava.com
Email: jlbugarin@gmail.com / jlbugarin@iluminatic.com
Twitter : @jlbugarin / @iluminatic
DANIELA
JÁUREGUI SOLIS
Estudiante de Ing. de Sistemas y computación.
Secretaria del WIE.
Miembro de la rama IEEE Usat.
ALEJANDRO
ROMERO TRIANA
Github: https://github.com/alejo8591
Linkedin: http://www.linkedin.com/in/alejo8591
Twitter: @alejo8591
Facebook: fb.com/alejo8591
Skype: alejo8591
EDDIE
MALCA VICENTE
Gerente de Proyectos Educativos ILUMINATIC SAC –
Desarrollador Web CONCYTEC.
Docente UPCI­ UNAC.
Email: emalca@gmail.com / emalca@iluminatic.com
Twitter : @emalca / @iluminatic
degui.
www.eticagnu.org/wetica/author/degui
Iceweasel es el navegador por defecto que
viene en las distribuciones Debian GNU/Linux.
Habrán muchos usuarios de Debian (y de sus
derivados), interesados en remplazar
Iceweasel por el navegador Firefox.
Maddog, anima usar polo Linux.
www.eticagnu.org/wetica
Jon maddog Hall publicó un post, en su blog
para Linux Magazine, animando a todos a
vestir una camiseta Tux este 7 de agosto
(también día de su cumpleaños), como un
manera de decir que GNU/Linux está en todas
partes.
Desde el 30 de mayo del presente año,
linux.com ha empezado a publicar una serie
de vídeos y entrevistas que realizará a 30
desarrolladores del kernel Linux para mostrar
al público en general el espacio de trabajo
desde donde se programan los módulos del
kernel
degui.
www.eticagnu.org/wetica/author/degui
WWW.ETICAGNU.ORG/WETICA
www.eticagnu.org Julio 2013 eGNUX 05
Existen algunas herramientas que los
administradores de sistemas utilizan
frecuentemente para monitorizar la actividad
de sus sistemas. Estas herramientas además de
brindar información valiosa sobre el
desempeño de las máquinas, ayudan a los
administradores de sistema a tomar decisiones
importantes, basándose en las estadísticas
obtenidas por estas herramientas.
En los sistemas GNU/Linux están presentes
muchas de estas herramientas de monitoreo,
uno en especial llamado sar, que viene en el
paquete Sysstat, del cual hablaremos a
continuación, para conocer de forma general
su uso y la información útil que podemos
obtener de esta herramienta.
INSTALACIÓN Y CONFIGURACIÓN.
El paquete Sysstat, si deseas instalarlo
manualmente, lo puedes descargar desde su
sitio web: http://sebastien.godard.pagesperso­
orange.fr/. Pero su instalación es muy sencilla y
rápida desde terminal, así que nosotros vamos
abrir una terminal y, como usuario root,
ejecutamos la siguiente orden:
#apt­get install sysstat
Una vez instalado, habilitaremos la orden sadc
(system activity data collector), para que
almacene toda nuestra información del sistema
en archivos binarios que luego serán leídos por
la orden sar. Para esto configuramos el archivo
sysstat con el editor vi, ejecutando la siguiente
orden:
#vi /etc/default/sysstat
Una vez dentro del archivo sysstat, nos
dirigimos al final del archivo, y cambiamos el
“false” por “true”, tal como se muestra
continuación:
ENABLED = “true”
Por último guardamos los cambios y salimos
del editor vi. De este modo ya tenemos
instalado y configurado en nuestro sistema el
monitor sar, y también otros monitores que se
incluyen en el paquete Sysstat y que nos serán
de gran utilidad.
USO DEL MONITOR SAR.
Lo primero que vamos a ejecutar es la orden
sar, que nos muestra por defecto la siguiente
información, como se puede ver en la figura 1,
y que a continuación explicaré.
$sar
Por Gustavo Tomapasca.
@iuged
Figura 1. Monitor sar, con la orden: sar.
www.eticagnu.org Julio 2013 eGNUX 06
Ejecutando sólo el comando sar, obtenemos
como resultado la información de la actividad
del procesador de la máquina, en este caso
podemos apreciar, como primera información,
que el procesador es un amd64 de dos núcleos
que utiliza el kernel Linux 3.2. La siguiente
información nos muestra, en la primera
columna, el tiempo en que se inició el
monitoreo: 17:45:03, y que cada 10 minutos el
monitor va tomando muestras.
Las demás columnas muestran el tiempo
consumido por cada variable. Por ejemplo, la
variable %user, muestra los tiempos
consumidos por el sistema en modo usuario,
mientras que la variable %system, muestra los
tiempos consumido por el sistema en modo
supervisor. Hay que aclarar que la muestra que
nos presenta el monitor en este caso, es la
media de ambos núcleos.
$sar ­d ­s 18:15:00 ­e 18:55:05 ­f /var/log/
sysstat/sa25
Si mantenemos al monitor sadc, habilitado
(ENABLED = “true”), éste recogerá muestras de
nuestro sistema desde que encendemos la
computadora hasta que la apagemos. Esta
información histórica se guarda en archivos
binarios que luego el administrador de
sistemas podrá consultar con el monitor sar,
que se encargara de leer y pasarlos a un
formato entendible para los humanos.
En este caso, como se muestra en la Figura 2,
la ruta en donde se encuentran los archivos
históricos es /var/log/sysstat y el archivo
consultado es el “sa25”, sadc le da este
nombre con el sufijo del día en que se recogió
la muestra. Esto es muy útil si el administrador
del sistema, decide consultar información
histórica de días anteriores al de hoy.
En este ejemplo monitoreamos el sistema de
archivos del disco duro, ingresándole el
parámetro ­d a la orden sar, en un rango de
tiempo determinado: 18:15:00 ­e 18:55:05,
de una información histórica del día 25, en la
ruta: ­f /var/log/systat/sa25, cuya consulta
nos arroja información valiosa como la tasa de
transferencia por segundo, en la columna tps, y
la lectura y escritura de los sectores por
segundo, en las columnas rd_sec/s y wr_sec/s
respectivamente, como se puede observar en la
figura 2.
$sar ­b ­s 18:15:00 ­e 18:55:05 ­f /var/log/
sysstat/sa25
Hacemos lo mismo para obtener la actividad
de las unidades de entrada/salida con el
parámetro ­b, en el mismo rango de tiempo y
ruta de archivo que el ejemplo anterior, como
Figura 2. Monitor sar, con la orden: sar ­d
Figura 3. Monitor sar, con la orden: sar ­b
www.eticagnu.org Julio 2013 eGNUX 07
se muestra en la Figura 3. En donde podemos
observar que la información mostrada en las
columnas rtps y wtps, nos detallan las
transferencias por segundo de las lecturas y
escritura, respectivamente, de los dispositivos.
Lo mismo sucede con los bloques de lectura y
escritura en las columnas bread/s y bwrtn/s.
Por último veremos brevemente el uso del
monitor mpstat, este es otro monitor que se
incluye en las utilidades del paquete sysstat al
momento de su instalación. También veremos,
como usarlo dinámicamente sin hacer uso de la
data histórica. Ejecutamos la orden siguiente:
$mpstat ­P 0 5 4
mpstat, es un monitor utilizado para obtener
información específica de la actividad de los
procesadores. En este caso, como se muestra
en la Figura 4, le he ingresado los parámetros
­P 0 5 4, para que me recoja 4 muestras, cada
5 segundos, del núcleo 0 del procesador. Como
se puede observar, usar las herramientas de
monitoreo de forma dinámica es muy útil, ya
que no se está utilizando la data histórica, sino
más bien, la información obtenida en el mismo
instante en que el sistema actua.
Podemos hacer lo mismo para obtener la
actividad del segundo núcleo del procesador, lo
único que cambiaríamos del anterior orden es
el 0 por el 1, como se indica a continuación:
$mpstat ­P 1 5 4
Aquí hemos consultado la información del
segundo núcleo del procesador, como se
muestra en la figura 5, y como podemos
observar, el primer núcleo (0) está
consumiendo mayor tiempo que el segundo
núcleo (2).
Si ejecutamos la orden sar ­A, podremos
observar toda la información histórica que va
recolectando sadc, de nuestro sistema. Si
queremos apagar el monitoreo, solamente
basta cambiar "true" por "false", del archivo
ubicado en: /etc/default/sysstat, como lo
hicimos al inicio de este artículo.
Esto ha sido solamente una breve
demostración de lo mucho que se puede
obtener con el monitor sar, el uso de este y
otros monitores, lo podemos dejar para otras
entregas. Espero que les haya servido como
referencia para despertar su interés en el uso
de estas potentes herramientas.
Figura 5. Monitor mpstat, con la orden: mpstat ­P
Figura 4. Monitor mpstat, con la orden: mpstat ­P
www.eticagnu.org Julio 2013 eGNUX 08
Y aquí estamos de nuevo con
este espacio para hablar un
poco acerca del software libre
y de cómo se va introduciendo
poco a poco de manera
positiva en el mundo de los
dispositivos móviles. En esta
oportunidad lo podrás saber a
través del presente artículo y
gracias al proyecto Replicant,
¿No has escuchado nada
acerca de Replicant? Bueno,
aquí yo te contaré un poco
sobre él.
Replicant es un sistema
operativo basado en Android
cuya diferencia, y muy
notable se podría decir, es que
este nuevo sistema operativo
funciona completamente con
software libre, lo sé, quizá la
duda que puede surgir en este
momento es que todos
sabemos que Android está
basado en software libre, por
lo tanto ¿Cuál sería la
diferencia? Bueno, puedo
decirte que en algunos casos
Android utiliza ciertos drivers
o firmwares como por
ejemplo los que están
relacionados con las
conexiones inalámbricas que
se caracterizan por ser
licenciados, lo cual hace que
Android no sea libre en su
totalidad, lastimosamente, a
diferencia de Replicant.
Conozcamos un poco más
acerca de Replicant...
En primer lugar pues si vamos
por lo histórico, por decirlo
así, brevemente se puede
contar que Replicant es un
proyecto muy nuevo puesto
que nació recién en el año
2010 pero que sin embargo a
pesar de su juventud en el
mundo de sistemas operativos
móviles, actualmente es
compatible con diez
dispositivos móviles los cuales
en su mayoría son de la línea
Samsung Galaxy, cuyos
teléfonos, como ya es de
nuestro conocimiento, se
caracterizan por ser de los
más avanzados además de ser
de los más adquiridos en el
mercado. Replicant
inicialmente realizó sus
primeras pruebas en tan solo
dos equipos, un Galaxy Nexus
y un HTC.
Por otro lado, si a estas
alturas ya vas interesándote
UN SISTEMA OPERATIVO COMPLETAMENTE LIBRE
Interfaz Replicant
Por Daniela Jáuregui.
www.eticagnu.org Julio 2013 eGNUX 09
un poquito más en Replicant
un dato más relevante es que,
así como Android nos
proporciona la popular Play
Store, Replicant no se queda
atrás y por defecto F­droid
será nuestra tienda de
aplicaciones, en donde podrás
encontrar las aplicaciones que
son totalmente libres y que
pueden ser personalizadas a
tu gusto. Ojo, F­droid puede
ser utilizada en algunos casos
sin estar utilizando Replicant
como sistema operativo en tu
móvil.
Este proyecto necesita de
usuarios pero también de
desarrolladores, si eres un
desarrollador o bueno si no lo
eres, también deberías saber
que Replicant cuenta con un
emulador propio para realizar
las pruebas correspondientes
de las aplicaciones
construidas.
Tal vez en este momento la
compatibilidad con equipos
no sea abundante sin
embargo es un proyecto que
va creciendo poco a poco y
rápidamente, algo que es de
resaltar, por lo tanto nadie
puede decir que más adelante
no se podría convertir en un
sistema operativo muy
importante dentro del mundo
móvil.
Como dato final se puede
decir que Richard Stallman
junto a la Free Software
Foundation, han lanzado una
propuesta para adquirir
fondos y así obtener más
equipos móviles con la
finalidad de que el Proyecto
Replicant pueda realizar las
pruebas correspondientes y así
ir ajustando el sistema
operativo a nuevos teléfonos o
tablets e ir evaluando las
posibles fallas que podrían
surgir para mejorarlas y poco
a poco ir expandiendo este
sistema operativo para un
mayor número de dispositivos
móviles.
También existe una página
web en donde se aceptan
donaciones para que este
proyecto pueda seguir
creciendo y esperemos que
sea así, entonces si tienes un
dispositivo compatible podrías
darle una oportunidad a
Replicant, teniendo en
consideración que cuenta con
menos usuarios por no ser tan
conocido, y a menos usuarios
menos interés para ser
vulnerado y más tranquilidad
para poder utilizar tu equipo
sin temor a que puedan robar
tus datos personales o acceder
a tus redes sociales, asimismo
será menor la invasión de
virus y como punto final
porque cuenta con el apoyo de
grandes personajes dentro del
mundo open source, cosa que
es un buen respaldo.
F­Droid
www.eticagnu.org Julio 2013 eGNUX 10
EtiCA está próximo a cumplir tres
años ¿Desde cuándo eres miembro de
la asociación y por qué decidiste
pertenecer a ella?
Soy miembro desde finales del año pasado,
no recuerdo con exactitud el mes en el que
me uní. En realidad mi decisión de
pertenecer fue algo que salió de improviso,
no tuve mucho tiempo para meditarlo pero
no me arrepiento de haber aceptado.
Durante todo ese tiempo como
asociada cuáles han sido las
funciones que has desempeñado
dentro de la asociación y en qué
proyectos participaste.
El año pasado me desempeñé como
tesorera y pues desde enero de este año
soy la actual presidenta. Hasta el momento
he participado en la organización del
Llampageek 2012 y como directora de la
revista con la que cuenta la asociación,
eGnux; pero estoy segura que con todo lo
que tenemos planeado se vienen muchos
proyectos más.
Ahora como presidenta de EtiCA cuál
es tu principal compromiso que has
asumido con la asociación y los
asociados.
Las responsabilidades asumidas son varias
pero considero que la principal es hacer lo
necesario para que nuestros planes se
puedan llevar a cabo y así poder cumplir
con los objetivos que tenemos como
asociación.
www.eticagnu.org Julio 2013 eGNUX 11
¿Cuáles son las expectativas que
tienes para la comunidad durante
este año de gestión?
Pues espero poder firmar un convenio que
tenemos planeado desde hace cierto tiempo
pero por sobre todo hacernos más
conocidos y lograr que más gente se una a
nuestra causa.
¿Cuáles son los proyectos que tiene
pensado la asociación realizar en lo
que le resta de este año, y cómo se
están organizando para lograrlo?
Tenemos diversos proyectos como LibreCole
o el Llampageek 2013, además de la entrega
de dos números más de eGNUX como
mínimo, entre otros.
Para poder sacar adelante estos proyectos
pues tenemos a nuestro jefe de proyectos
que nos mantiene a todos completamente
organizados y presentándole nuestros
respectivos avances para poder verificar que
no estamos dejándolos en el olvido.
Sabemos que tienes a cargo la
dirección de la revista eGNUX. ¿Cuál
ha sido tu experiencia en esta área? Y
¿Cómo pueden participar otras
personas en este proyecto?
Realmente estar como directora de eGNUX
es una genial experiencia, he aprendido
diversas cosas y me he tenido que poner en
contacto con distintas personas para poder
invitarlas a participar en los distintos
números de la revista, eGNUX me está
ayudando para mejorar en mi
desenvolvimiento con otras personas
definitivamente.
Para poder participar en este proyecto pues
las personas solo deben comunicarse
conmigo a través de las distintas redes
sociales como Facebook o Twitter o
directamente al correo de la revista que yo
les responderé lo más pronto posible y les
agradeceré mucho el interés mostrado.
¿Cómo observas el avance de la
cultura del Software Libre entre los
estudiantes de la región Lambayeque,
se han logrado importantes avances?
Yo conocí el Software Libre hace muchos
años, cuando aún estaba en primaria
inclusive y en esa época realmente eran a
muy pocos los que oía utilizar ese término;
en la actualidad he podido percibir que
cada vez hay más personas, no solo
estudiantes, que se están interesando en el
Software Libre, y a pesar de que el apogeo
aún no se puede comparar con los software
pagados puedo decir que ha habido una
mejora y eso ya es un avance.
¿Cuáles son las actividades para este
tercer aniversario de la asociación?
Espero que podamos tener un compartir
entre los integrantes de la asociación; una
torta, un brindis, unas palabras que espero
no tenga que darlas yo jajaja. Poder pasar
un lindo momento con la familia de EtiCA.
Por EtiCA GNU/Linux.
www.eticagnu.org Julio 2013 eGNUX 12
En la actualidad, vivimos tiempos de
constantes cambios: económicos, políticos,
sociales, culturales, etc. Todo el panorama
mundial cambia día a día, y
tecnológicamente no estamos ajenos a
estas transformaciones.
En nuestro país, es evidente el
crecimiento exponencial que ha sufrido las
herramientas de Software Libre y Open
Source, no sólo entre las docentes y
estudiantes de las universidades que
hacen uso de las mismas para el desarrollo
de sus contenidos curriculares, sino
también en los entornos empresariales y
gubernamentales, donde cada día se
gestan soluciones de negocios basadas en
tecnologías libres, así como modelos de
negocios y emprendimientos tecnológicos
basados en ellas.
Ante este panorama, contamos ya con un
ecosistema tecnológico donde conviven
tanto tecnologías libres como propietarias,
donde cada una de ellas se encuentra
posicionada, y los profesionales de TIC
que las implementan han logrado una
especialización en base a su uso constante
como soluciones de negocio real. Es aquí
donde un sector importante del mercado
lo constituyen los SGBD, donde existe ya
una alternativa real, robusta, y con
soporte adecuado debido a la creciente
legión de profesionales y estudiantes que
la prefieren: PostgreSQL.
“¿Qué es PostgreSQL?”
PostgreSQL es un SBGD (Sistema Gestor
de Base de Datos) Objeto Relacional
distribuido bajo licencia BSD y con su
código fuente libremente disponible para
descarga. En la actualidad se ha
constituido por sus características como el
SGBD de código abierto más potente del
mercado y en sus últimas versiones no
tiene nada que envidiarle a otras bases de
datos comerciales como Oracle o MS SQL
Server.
PostgreSQL utiliza un modelo
cliente/servidor y usa multiprocesos en
vez de multihilos para garantizar la
estabilidad del sistema. Un fallo en uno de
los procesos no afectará el resto y el
sistema continuará funcionando.
“¿Qué características tiene?”
Entre las características principales que
posee la versión 9.2 de PostgreSQL
tenemos:
• 100% ACID
• Integridad Referencial
• Tablespace para ubicación física de
archivos de la base de datos
• Puntos de Restauración
• Replicación Síncrona y Asíncrona
• Commit en dos fases
• Copias de Seguridad en caliente
• Codificación UNICODE
• Juegos de Caracteres Internacionales
• Regionalización por columnas
• Control de Concurrencias
Multiversión
• Múltiples Métodos de Autenticación
Por Eddie Malca.
emalca@gmail.com
@emalca
www.eticagnu.org Julio 2013 eGNUX 13
• Acceso encriptado vía SSL
• Actualización In­SITU integrada
• Documentación completa
• Multiplataforma para Linux, Unix y sus
variantes y Windows de 32 y 64 bits
• Funciones y Procedimientos
almacenados para en diversos
lenguajes de programación como
PL/pgSQL, PL/Perl, PL/Python y
PL/Tcl.
• Diversos tipos de datos y nuevos
tipos para definir.
• Soporte de almacenamiento de
objetos binarios grandes
• APIs para programar en lenguajes de
programación como C/C++, Java,
.Net, Perl, Python, Ruby, Tcl, ODBC,
PHP, Lisp, Scheme, Qt y otros.
Podemos leer mayor información del
proyecto en:
• http://www.postgresql.org/
• http://www.postgresql.org.es/
Algunos límites a considerar:
“¿Qué podemos hacer con
PostgreSQL?”
Con PostgreSQL es posible impartir la
enseñanza de los cursos de Bases de Datos
en las entidades educativas hasta
implementar bases de datos en producción
en diversas organizaciones, pasando por
generar servicios tecnológicos alrededor
del modelo de negocio propiciado por el
mismo uso de esta tecnología.
El costo único de usarla es su simple
descarga e instalación,
independientemente del sistema operativo
que se utiliza, ello debido a que posee
soporte multilenguaje incluyendo al
Español–Perú dentro de su motor, una
interfaz gráfica de administración muy
simple como lo es el PgAdmin que viene
por defecto con el paquete de instalación.
Asimismo modeladores gráficos muy
intuitivos como PgDesigner en entornos
libres ó PgMaestro en entornos
propietarios.
Incorpora el estándar SQL que integra
tanto lenguaje DDL como DML, para la
creación de objetos relacionales en su
motor, los mismos que identifican con un
identificador único llamado OID.
“¿Lo que yo te puedo decir?”
De mi experiencia personal, tengo
contacto con PostgreSQL desde el año
2008 cuando se realizó la primera
migración en los sistemas de información
del CONCYTEC, que soportaban los
procesos administrativos de la entidad
como el sistema de trámite documentario
entre otros. Ello dio pie a que me
aventurara a incluirlo en el curso de
Lenguaje de Programación II de la UNAC
vía conexión con lenguaje de
programación web PHP.
A mi retorno a CONCYTEC, entidad en la
cual laboro desde fines del 2010, fue
grande mi sorpresa al encontrar la
mayoría de los sistemas de información
tanto administrativos como Core de la
Límite Valor
Máximo tamaño
de base de datos
Ilimitado (Depende del
sistema de almacena­
miento)
Máximo tamaño
de tabla
32 TB
Máximo tamaño
de fila
1.6 TB
Máximo tamaño
de campo
1 GB
Máximo número
de filas por tabla
Ilimitado
Máximo número de
columnas por tabla
350 ­ 1600
(dependien­do del
tipo)
Máximo número
de índices por tabla
Ilimitado
www.eticagnu.org Julio 2013 eGNUX 14
institución implementados haciendo uso
de PostgreSQL v 8.1 y superior, incluyendo
los sistemas de información del SINACYT
(Sistema Nacional de Ciencia y
Tecnología) más importantes como el
Directorio Nacional de Investigadores
(DNI), aplicativo que almacena los CV’s de
los investigadores en ciencia y tecnología
peruanos, constituyendo la base de datos
de profesionales en investigación más
importante a nivel nacional, corriendo por
más de cinco años sobre esta tecnología
libre sin ningún tipo de problema o
inconveniente generado por el motor.
Es importante señalar que a pesar de los
esfuerzos de empresas proveedoras de
tecnologías propietarias como Oracle y
Microsoft por proveer a la entidad de
soluciones alternativas al DNI basadas en
los SGBD que sus marcas ofrecen, no han
podido superar los criterios costo­
beneficio­rendimiento con los que
contamos desde que se hace uso de
PostgreSQL.
Esta realidad que vivo cada día con
PostgreSQL me llevó a considerarlo como
herramienta para el desarrollo del curso
de Administración de Base de Datos en la
UPCI, motor con el cual ya llevo 3 ciclos
de enseñanza formando profesionales con
conocimientos en dicha tecnología con lo
que espero aportar a tener cuadros
técnicos que brindarán el soporte
necesario en el producto y lograr una
mayor penetración del mismo en las
organizaciones.
“¿Qué te recomiendo?"
Siempre inicio el curso de Administración
de Base de Datos (de los cuales llevo 120
estudiantes formados en PostgreSQL),
preguntando a los estudiantes qué SGBD
les gustaría aprender, con los cual prosigo
preguntando cuántos cursos de los
mismos encuentran en el mercado local.
Esta pregunta es base para que de ellos
mismo parta la iniciativa de aprender algo
nuevo y libre como lo es el SGBD
PostgreSQL.
Recomiendo el uso de ciertas
herramientas que complementan el uso de
este SGBD:
• PgAdmin
• PgDesigner
• DbDesigner
• SQL Power Architect
Para los casos de configuración,
administración y monitorización, los
comandos propios del motor son más que
necesarios.
“Mi consejo”
Si eres docente, no enseñes algo que
sabes. Enseña algo que les será útil a los
estudiantes. Si eres estudiante, aprende lo
que el profesor imparte, pero invierte más
tiempo en investigar, esto se constituirá en
la diferencial entre lo común y lo
excepcional.
La difusión del Software Libre y de las
tecnologías Open Source, no es
exclusividad de algunos elegidos o alguna
asociación en especial; es oportunidad y
obligación de todos los que de alguna
manera creemos que no debemos
depender tecnológicamente de alguna
marca o proveedor en especial, todos
podemos aportar desde nuestra ubicación,
hagamos lo que hagamos, a lograr la gran
ansiada independencia tecnológica que
anhelamos.
Es posible encontrar mayor información,
tutoriales, cursos libres, del autor, en las
siguientes direcciones:
www.emprendedortecnologico.com
www.iluminatic.com
www.eticagnu.org Julio 2013 eGNUX 15
Quisieramos saber ¿Cuál es la función que
desempeña en la universidad? y ¿Cómo
nació su vocación por ser Ingeniero
Mecánico Eléctrico?
Yo soy Chiclayano pero no vivo en Chiclayo
actualmente, vivo en Trujillo por un tema de
beneficio profesional. Cuando era joven nunca tuve
la intención de estudiar mecánica eléctrica, más me
gustaba el tema de la electrónica, pero en la
universidad local UNPRG no había esa carrera y es
por ello que me decidí por esta carrera dado que
era la que más se asemejaba.
El campo laboral, fue lo que definió mi especialidad
porque yo soy más eléctrico que mecánico, a pesar
de que la carrera es de ambas y, creo que lo que
más me ha gustado del tema de la electricidad es
que no está directamente relacionado con la parte
técnica sino que también con la propia persona; si
miramos el tema de la electricidad puedo llegar
incluso al extremo de decirte que la electricidad
puede hacerte feliz.
En el tercer libro, por ejemplo, que estoy
escribiendo y que espero salga a fines de año o a
comienzos del próximo, hay muchas partes en las
que menciono como la electricidad está muy
relacionada con tu forma de sentir y ver las cosas.
¿Cómo surgió la idea de comenzar a escribir
un libro?
Creo que todos llevamos dentro el tema de querer
escribir, no todas las cosas que están en el mundo
son completas para uno, al menos para un
estudiante, yo creo que ni para una ama de casa.
Siempre encontramos cosas que no son completas
para posiblemente nuestros gustos pero de repente
no tenemos los medios o la forma en que alguien
nos guíe para poder decir "si tienes una nueva idea,
entonces compártela, porque pueden haber muchas
personas a las cuales les interese esa idea" creo que
la universidad fue el motivo de apertura para poder
escribir.
Entonces, cómo nació el tema de escribir, hay
muchas cosas con las cuales yo me relaciono,
enseño y que siento que hay cosas que no están
aún escritas. Los dos libros que he escrito, tratan de
llenar un nicho que no existe, el nicho no lo he
buscado por un tema comercial, el nicho es una
necesidad. Hay formas de buscar un nicho, puede
ser por lo que más le guste a la gente pero la
necesidad de escribir salió porque hay cosas que no
están y entonces hay que recopilarlas, juntarlas,
poner un poco de tu experiecia, de la forma como
tú analizas o deduces las cosas que otros autores
puedan decir, le pones la autenticidad de tu opinión
Por Guadalupe Lip Curo.
El Ingeniero Pedro Rojas Vera, docente universitario, autor del
libro: "4 Principios para Construir Diagramas Unifilares", nos
cuenta su experiencia con el uso del Software Libre para
producir su libro e impartir a sus alumnos sus conocimientos
con estas herramientas libres.
www.eticagnu.org Julio 2013 eGNUX 16
y de tu convivencia con ello para que finalmente lo
termines entregando en un reporte escrito que no
es otra cosa que convertir tus ideas.
En su libro, usted indica haber hecho uso de
herramientas de Software Libre. Cuéntenos,
¿Cómo conoció el Software Libre?
Cuando yo llegué a USAT, yo había escuchado
mucho hablar de él y también que el tema era un
poco difícil, inclusive mi primera maestría fue en
informática y ahí fue donde me enteré de muchas
ventajas del Software Libre, pero abordar el tema
de Linux no fue algo que tenía en mente. El tema
de la maestría fue más que todo para poder
automatizar el tema de mantenimiento de la
empresa en la que laboraba en ese tiempo.
Años después, yo vengo a
desarrollar cátedra aquí en USAT y
me encuentro con que las máquinas
tenían Linux, entonces fue como un
reto aprender a usarlo y asi terminé
enamorándome de éste.
Actualmente inclusive uso Linux en
mi casa, como una plataforma
natural, claro que debo convertir
algunas cosas porque algunas veces
cuando he enviado información por
correo me contestaban con que no
podían abrir el archivo y es por ello
que ahora lo convierto a pdf y asi no
tengo ese problema.
Exactamente, ¿Para qué utilizó estas
herramientas en su libro?
Como ingenieros, nosostros tenemos un lenguaje
de comunicación y éste para nosostros son los
planos dado que con las palabras perdemos mucha
objetividad. La mayor parte de nuestra carrera se
basa en bibliografía americana o de cualquier otros
países y entonces el problema es que hay mucha
simbología gráfica que no está acorde con la
normatividad que existe en el país.
Nuestro pais ha asumido una norma internacional
que es la IEC para todo lo que es símbolos gráficos,
y estos son una forma de comunicación mucho más
específica y científica porque cualquier
equipamiento lo expresas de una forma que será
entendida por el receptor.
Mucha bibliografía que viene de otro países no
utiliza la simbología con la cual está normada
nuestro pais, entonces el encontrar este tipo de
comunicación un poco confusa me llevó a escribir
este libro que se llama "Cómo construir diagramas
unifilares" y ahí expongo cuáles son las razones del
porqué un profesional debe usar este lenguaje de
manera correcta.
Al escribir este libro, hice uso del editor de texto
LibreOffice Writer, para las imágenes hice uso de
Gimp y Shutter, que es una herramienta que
encontramos en el repositorio de Ubuntu, y para
realizar los diagramas unifilares hice uso de las
herramientas CAD. Mucha gente está familiarizada
con el AutoCad pero no saben utilizar todas las
funciones que nos ofrecen, en mi caso yo hago uso
de LibreCad.
¿Alguna vez ha dictado un taller sobre
diagramas unifilares?
Siempre lo hago, no como un taller pero cada vez
que en las clases de las asignaturas que dicto se
incluye algo de diagramas tengo que hacer una
pequeña clase de ello.
Siento la necesidad de que debe haber un taller de
diagramas unifilares aunque creo que el tema está
Guadalupe Lip Curo, entrevistando al ingeniero Pedro Rojas Vera.
www.eticagnu.org Julio 2013 eGNUX 17
escondido en algunas asignaturas que las
ingenierías llevan en los primeros ciclos, pero
además se debe incluir el tema de las
normatividades.
Al momento de dictar sus asignaturas ¿ha
hecho uso de Software Libre?
Siempre lo hago. Dado que en las aulas las
computadoras cuentan con Windows, he tenido que
pedir ayuda a los de informática para que instalen
en las máquinas en las que desarrollo las clases,
Software Libre.
El año pasado dicté un curso llamado "Análisis
Matemático I", fue un curso de primer ciclo, y dado
que eran alumnos que recién ingresaban a la
universidad traté de darles la mayor cantidad de
herramientas que hay en software libre para
matemática como por ejemplo Scilab, Maxima u
Octave que son para realizar cálculos matemáticos.
Entonces, en este curso les mostré de manera
panorámica a los alumnos mucho Software Libre
que hay en cuanto a matemática, por dos motivos,
en primer lugar abrirlos por el campo del Software
Libre ya que se puede usar sin costo alguno y
también porque uno tiene la posibilidad de
modificarlo y hacerlo a su medida, pero además
tratar de ganarme a los alumnos con clases más
didácticas.
En la actualidad hay jóvenes que son un
tanto reacios a comenzar a usar Software
Libre ¿Sus alumnos se mostraron de esa
forma?
Creo que existe una gran cantidad de jóvenes y
nosotros mismos, que nos gustan las cosas sencillas
y creemos que éstas son aquellas que son más
usadas, pero fíjate en algo, en la medida que tú
encuentres a alguien que te explique cuán fácil
puede llegar a ser algo, es fácil que pueda ser
adoptado por los alumnos; en la medida que el
alumno pueda entender que un software es un
instrumento de ayuda y que sepa valorar no la
arquitectura sino el resultado que se puede obtener
con él, creo que puede entender que en realidad es
una herramienta y no algo que solo llene su vista.
Yo no he encontrado alumnos reacios, por ejemplo
en esa asignatura que te he mencionado que he
dictado, también les hice mención de software de
pago como MatLab o Maple, no les cerré la visión
sino más bien les abrí el abánico para que ellos
puedan ver la diferencia entre estos software.
Al momento de trabajar con la imprenta ¿no
tuvo ningún problema con el formato libre?
El primer libro que escribí lo hice con Scribus, esta
herramienta nos sirve para maquetear pero al
momento que uno lo manda a la imprenta se envía
en pdf.
Para finalizar, usted nos ha mencionado su
tercer libro ¿Algún adelanto que nos pueda
dar sobre éste? y ¿Dónde podemos comprar
su segundo Libro?
Mi segundo libro lo pueden adquirir a través de
Amazon.com y bueno, sobre mi tercer libro les
puedo decir que en él hablaré sobre la iluminación,
cómo es que influye en las personas, y el uso de los
artefactos eléctricos.
Ingeniero Pedro Luis Rojas Vera, docente universitario USAT.
DATOS:
­ El libro se puede adquirir en Amazon:
http://www.amazon.com/dp/B00DB2GI8M
­ También puedes visita el sitio web del autor:
http://www.diagramasunifilares.info
www.eticagnu.org Julio 2013 eGNUX 18
Celebrando juntos el tercer aniversario EtiCA: Degui, Guadalupe Lip, Angel Quiroz y Luis vargas.
Pdta. Guadalupe Lip Curo, partiendo la torta EtiCA.
Con torta y champagne celebramos el tercer
aniversario EtiCA.
www.eticagnu.org Julio 2013 eGNUX 19
Algo de Historia en metodologías ágiles y contexto
TDD y BDD
Cuando inicie con el tema de desarrollo de software a
través de metodologías ágiles, obviamente con una
formación clásica en programación e ingeniería del
software, me surgieron varias preguntas, tales como;
¿Las metodologías ágiles realmente consideran la
ingeniería del software importante?, otra pregunta muy
parecida es ¿una cosa es la manera en que realizó
iteraciones en el equipo de trabajo, pero la ingeniería del
software donde queda?, ¿Es cierto que las metodologías
ágiles me ahorran mucho tiempo en documentación,
junto con la estructura de un software más entendible y
escalable, pero de qué manera? entre otras preguntas
muy parecidas y buscando cual era realmente la utilidad
en la construcción de código, rápidamente y de calidad.
Dentro de mi investigación encuentro interesantes
prácticas como TDD (Test Driven Development) y una
evolución, bastante importante y que aporta demasiado
al ecosistema de desarrollo, llamada BDD (Behaviour
Driven Development) que en un momento hablaré de
qué tratan estas espectaculares “herramientas”
enfocadas a buenas prácticas, predictivas, de la
construcción de software, y que responde de cierto
modo, una de mis preguntas; realmente si existe
ingeniería del software en la aplicación del paradigma
ágil.
Tal vez esté leyendo una persona nueva en el mundo del
desarrollo e incluso el desarrollo ágil, o hasta un
experto, en todo caso a manera informativa y de
análisis, propio o en grupo, las siguientes tablas (Tabla
11 y Tabla 22) como referencia, para entrar en contexto y
relacionar metodologías ágiles contra
tradicionales, de las más importantes y
usadas, aportando un marco de
referencia para continuar con el
artículo:
Luego de tener un par de referentes
con respecto a las metodologías ágiles,
las comparaciones de características y
que tanto comportamiento flexible
tienen entre ellas, continuamos
relacionando TDD y luego BDD.
¡Ahora si! ¿qué es TDD? según la
Agile Alliance1 que es el ente que
analiza y explora los principios
ágiles, la define como:
“...un estilo de programación en el que
tres actividades están estrechamente
entrelazadas: codificación, pruebas ­
en forma de pruebas unitarias (Unit
Test) ­ y diseño ­ en forma de
refactorización (Refactoring) ­.”
Metodología Ágil Metodología Tradicional
Pocos Artefactos. El modelado es
prescindible, modelos desechables.
Más Artefactos. El modelado es esencial,
mantenimiento de modelos
Pocos Roles, más genéricos y flexibles Más Roles, más específicos
No existe un contrato tradicional, debe
ser bastante flexible
Existe un contrato prefijado
Cliente es parte del equipo de desarrollo
(además in­situ)
El cliente interactúa con el equipo de
desarrollo mediante reuniones
Orientada a proyectos pequeños. Corta
duración (o entregas frecuentes), equipos
pequeños (< 10 integrantes) y
trabajando en el mismo sitio
Aplicables a proyectos de cualquier
tamaño, pero suelen ser especialmente
efectivas/usadas en proyectos grandes y
con equipos posiblemente dispersos
La arquitectura se va definiendo y
mejorando a lo largo del proyecto
Se promueve que la arquitectura se
define tempranamente en el proyecto
Énfasis en los aspectos humanos: el
individuo y el trabajo en equipo
Énfasis en la definición del proceso:
roles, actividades y artefactos
Basadas en heurísticas provenientes de
prácticas de producción de código
Basadas en normas provenientes de
estándares seguidos por el entorno de
desarrollo
Se esperan cambios durante el proyecto Se espera que no ocurran cambios de
gran impacto durante el proyecto
1. Diferencia entre metodologias tradicionales y agiles
http://arevalomaria.wordpress.com/2011/11/15/diferencias­entre­metodologias­
tradicionales­y­agiles­metodologiasagiles/
2. Highsmith, J. "Agile Software Development Ecosystems". Addison­Wesley. 2002
3. agilealliance.org
Tabla 1. Diferencias entre metodologías ágiles y no ágiles (generalmente clásicas)
Por Alejandro Romero Triana
@alejo8591
www.eticagnu.org Julio 2013 eGNUX 20
Pero cuáles son esas ventajas que ofrece esta técnica
que incluso Kent Beck uno de los padres de XP
(implementa TDD) asegura que son posibles los
siguientes logros:
­ La calidad del software aumenta (con el tiempo y la
experiencia es exponencial).
­ Conseguimos código altamente reutilizable.
­ El trabajo en equipo se hace más fácil, une a las
personas.
­ Nos permite confiar en nuestros compañeros aunque
tengan menos experiencia.
­ Multiplica la comunicación entre los miembros del
equipo.
­ Las personas encargadas de la garantía de calidad
adquieren un rol más inteligente e interesante.
­ Escribir el ejemplo (test) antes que el código nos obliga
a escribir el mínimo de funcionalidad necesaria, evitando
sobrediseñar.
­ Cuando revisamos un proyecto desarrollado mediante
TDD, nos damos cuenta de que los tests son la mejor
documentación técnica que podemos consultar a la hora de
entender qué misión cumple cada pieza del rompecabezas
(puzzle).
En conclusión a grandes rasgos con respecto a TDD,
porque puede ser tema de artículos y libros, le permite a
los desarrolladores, pensar
con claridad acerca de las
especificaciones antes de que
sus mentes se encuentren
nubladas con los detalles de la
implementación. También
asegura que las pruebas se
escriban siempre, lo que es
demasiado útil.
¿Pero BDD, que tiene que
ver en todo esto?, ¡mucho!
pues de nuevo cito como
referencia la Software
Alliance, quien la define
como:
“... BDD (Behaviour Driven Development) es una síntesis
y el perfeccionamiento de las prácticas derivadas de TDD
(Test Driven Development) y ATDD (Test Driven
Development aceptación).”
Aquí encontramos un término nuevo, ATDD; es una
práctica igualmente derivada de TDD, y consiste en el
uso de las pruebas de aceptación automatizadas con la
restricción adicional de que estas pruebas pueden
escribirse antes de la aplicación correspondiente.
Por otro lado BDD tiene unas características propias
como:
­ Pensar "de afuera hacia adentro", es decir
implementar sólo aquellos comportamientos que
contribuyen más directamente a los resultados del
negocio, así como para minimizar el desperdicio en
tiempo.
­ Describir los comportamientos en una única
notación que pueden acceder directamente los expertos
de dominio o en algunos casos conocidos como
arquitectos de software, testers y desarrolladores, con el
fin de mejorar la comunicación en el equipo de trabajo.
Teniendo en cuenta todos estos conceptos y un poco de
historia que abre el panorama de la importancia en
buenas prácticas para desarrollo de software; aquí viene
lo que realmente nos interesa, vamos a trabajar en gran
medida con BDD ¿Por qué?, la respuesta es con base al
artículo de Dan North llamado “Introducing BDD”,
donde le ocurre la misma sensación que tuve cuando
inicie, y posteriormente avance con TDD:
Sistema como algo
cambiante
Colaboración
Resultados
Simplicidad
Adaptabilidad
Excelencia técnica
Prácticas de
colaboración
Media CM
Media Total
CMM
1
2
2
1
2
4
2
2.2
1.7
ASD
5
5
5
4
5
3
5
4.4
4.8
Crystal
4
5
5
4
5
3
5
4.4
4.5
DSDM
3
4
4
3
3
4
4
3.6
3.6
FDD
3
4
4
5
3
4
3
3.8
3.6
LD
4
4
4
3
4
4
3
3.6
3.9
Scrum
5
5
5
5
4
3
4
4.2
4.7
XP
5
5
5
5
3
4
5
4.4
4.8
Tabla 2. Ranking de metodologías ágiles (Los valores más altos representan una mayor agilidad)
www.eticagnu.org Julio 2013 eGNUX 21
“...Cuanto más avanzo con TDD, más me doy cuenta que
mi aprendizaje del mismo ha sido caracterizado por
entrar y salir en callejones sin salida. Me he preguntado
a mí mismo “¿por qué nadie me dio la solución antes?”
muchas más veces que lo que he pensado “se abrió una
puerta”. Y siempre pensé que debería existir una forma
de presentar TDD en la cual se pueda acceder a lo bueno
sin tener que pasar por todos los malos momentos.”
El interés del presente escrito no es desprestigiar TDD o
algo por el estilo, al contrario es entender que sirve
como marco de referencia y que gracias a él conocimos
una evolución para quienes trabajamos a diario con
desarrollo de software a través de metodologías ágiles.
Para empezar a entender cómo nos puede ayudar BDD,
vamos a tomar el típico ejemplo de la calculadora, y
como la idea de BDD es llegar al nivel de tarea más bajo
de nuestro desarrollo, algo así como cuando se modela
con metodologías clásicas, por nombrar alguna como
RUP (Rational Unified Process) utilizando UML (Unified
Modeling Language), siendo esto un ejemplo literal,
tenemos una serie de diagramas que construir antes de
iniciar con el desarrollo formal de mi aplicación, entre
ellos podría ser los “Casos de Uso”, “Diagrama de
Clases”, “Diagrama de Secuencias”, “Diagrama de
Objetos” entre otros y por nombrar algunos; esto con el
fin de “modelar” mi aplicación sin tener en cuenta hasta
el momento posibles comportamientos, propios de las
características que puedan llegar a tener mis “objetos”
en el proceso de codificación.
En el mismo caso y resuelto con BDD se dividiría con los
“User Story” que no son más sino una escueta
representación de los requisitos de mi desarrollo. Por
ejemplo trabajaremos la suma o adición, usted empieza
con varios supuestos como: debe ser capaz de sumar o
adicionar números enteros positivos. Debe ser capaz de
sumar o adicionar números enteros negativos. Debe ser
capaz de sumar números decimales, y no sólo enteros,
adicional puede pensar en muchas maneras diferentes
con respecto a las funciones que debe cumplir la
calculadora en el proceso de suma o adición.
Antes de que hayas escrito nada del código, ya sabes
cómo desea que se comporte, pero no ha escrito
extensos documentos con estos mismos supuesto lo que
le lleva a un ahorro de tiempo interesante. Usted inicio y
escribió parte del código para suma o adición teniendo
en cuenta los supuestos anteriormente analizados y
realiza los “tests” correspondientes a sumar 2 y 2, ­5 y 4,
8 y 0, 1.2 y 3.4544, 4 y ­4 entre otras pruebas que usted
puede tener en cuenta. Al ejecutarlas, usted puede
obtener que la operación se llevó a cabo y es correcta
(que funciona de acuerdo con la especificación) o que
realmente no es correcta (no cumple con la
especificación requerida).
Si ha ejecutado todas las pruebas y arrojó el sistema que
es correcta cada una, entonces usted puede estar seguro
de que la calculadora con respecto a la suma o adición
funciona y esta lista para implementar. De los contrario
si ejecuta estas pruebas y arroja algunas fallas, entonces
usted sabe que la calculadora para sumar o adicionar no
funciona. Esto ocurre para todas y cada una de las
funciones que implemente la calculadora: resta,
multiplicación, división entre otras dependiendo de la
necesidad, pero los test dependiendo la especificación de
funcionalidades debe probarse por los test.
En este punto es donde entran las herramientas con las
cuales construiremos nuestro ejemplo y al mismo tiempo
aplicando BDD para Javascript con Software Libre a
través de Node.JS4 y Jasmine5. Algunos de ustedes ya
conocerán Node.JS y el auge que tiene en este momento
para construcción de aplicaciones ágiles que incluso
funcionan muy bien en los entornos de emprendimiento
y startups, tema que le invito a ampliar y leer en
anteriores ediciones de eGNUX6 pues es abordado con
más rigor. Adicional a esto en Github encuentra el
repositorio con los ejercicios del artículo llamado egnux­
jasmine7.
... La segunda parte de este artículo, continuará
en la siguiente edición de su revista eGNUX.
4. http://nodejs.org/
5. http://pivotal.github.io/jasmine/
6. http://eticagnu.org/egnux/
7. https://github.com/alejo8591/egnux­jasmine
www.eticagnu.org Julio 2013 eGNUX 22
“¿Cómo empezar a Desarrollar
Aplicaciones Android?”
Android es un sistema operativo basado en
Linux (esto lo hace súper interesante) diseñado
originalmente para dispositivos móviles, tales
como teléfonos inteligentes (Smartphone).
Hablar, leer, escuchar de Android es hablar de
GOOGLE que es propietaria de la patente del
sistema operativo. Android fue presentado el
2007 junto a la fundación del Open Handset
Alliance: un consorcio de compañías de
hardware, software y telecomunicaciones para
avanzar en los estándares abiertos de los
dispositivos móviles. El primer móvil con el
sistema operativo Android fue el HTC Dream y
se vendió en octubre del 2008.
Para poder desarrollar, es decir programar
aplicaciones nativas para Android (aplicaciones
nativas son aquellas aplicaciones que se
instalan en el propio dispositivo y tiene una
extensión .apk), necesitamos conocer las
siguientes herramientas:
• Android SDK, que es el Software
Development Kit. Este nos
proporcionará el conjunto de
herramientas y librerías que permiten
construir nuestras aplicaciones
móviles.
• Android Developer Studio, se trata del
entorno integrado de desarrollo para
aplicaciones Android. También existe
un plugin para eclipse IDE y para
Netbeans.
• Emulador, es el elemento que nos
permite probar nuestras aplicaciones
(también puedes hacerlo en un
Smartphone o en una tablet usando la
conexión usb). Es similar a una
maquina virtual, se simula el
funcionamiento del sistema operativo
Android.
• Lenguaje de Programación, el lenguaje
de programación que se necesita
conocer para desarrollar aplicaciones
en Android, es JAVA. Se usa
programación orientada a objetos,
polimorfismo, editores de interfaces
graficas, archivos xml. Es posible
desarrollar aplicaciones híbridas para
Android desde otra plataformas como
HTML5 y CSS, PHP o Python, pero el
desarrollo nativo es y será sobre Java.
• Hardware, es bueno recalcar que para
lanzar adecuadamente el emulador de
Android en el sistema operativo que
haya elegido como plataforma de
desarrollo, necesitará de buena
cantidad de memoria para su trabajo.
Mínimo 6 GB de RAM es
recomendada.
“Arquitectura de Android”
La arquitectura de ANDROID se encuentra
formada por varias capas que facilitan al
desarrollador la creación de aplicaciones.
Además, esta distribución le permite al
desarrollador acceder a las capas más bajas
mediante el uso de librerías para que no tenga
que programar a bajo nivel las funcionalidades
necesarias para que una aplicación haga uso de
los componentes de hardware de los teléfonos.
Cada una de las capas utiliza elementos de la
capa inferior para realizar sus funciones, es por
ello que a este tipo de arquitectura se le conoce
también como pila. Se muestra un gráfico que
esquematiza este modelo.
Por José Burgarín
jlbugarin@gmail.com
@jlbugarin
www.eticagnu.org Julio 2013 eGNUX 23
Kernel de Linux. Como ya señalamos
anteriormente el núcleo de Android está
basado en el kernel de Linux versión 2.6, muy
idéntico al que encontrarás en una distro como
Ubuntu y otras, simplemente adaptado a su
ejecución en dispositivos móviles. Este se
comporta como un elemento de abstracción
entre el hardware, ya que gestiona los diversos
recursos del teléfono y el resto de las capas de
la arquitectura, ya que gestiona los procesos,
elementos de comunicación entre otros.
Librerías. Se constituyen en la segunda capa
de la arquitectura y se ubica sobre el kernel
constituida de las bibliotecas nativas Android.
Éstas se encuentran desarrolladas en C o C++
y compiladas para la arquitectura hardware
específica del teléfono. El objetivo de las
librerías es proporcionar funcionalidad a las
aplicaciones para tareas que se repiten con
frecuencia, evitando tener que codificarlas
cada vez y garantizando que se llevan a cabo
de la forma “más eficiente” y
“transparentemente posible".
Entre las librerías incluidas habitualmente
encontramos OpenGL (motor gráfico),
Bibliotecas multimedia (formatos de audio,
imagen y video), Webkit (navegador), SSL
(cifrado de comunicaciones), FreeType
(fuentes de texto), SQLite (base de datos),
entre otras.
Runtime. Se encuentra
formado por librerías, ya
que no se trata de una capa
propiamente dicha, Aquí
encontramos las librerías
con la funcionalidades
habituales de Java así como
otras específicas de Android.
El componente principal es
la máquina virtual Dalvik.
Esta máquina virtual ejecuta
las aplicaciones codificadas
en Java y compiladas
posteriormente en formato
.dex. Dalvik es una variación
de la máquina virtual de
Java y no es compatible con
el bytecode de Java.
Framework de aplicaciones. Se encuentra
formada por todas las clases y servicios que
utilizan directamente las aplicaciones para
realizar sus funciones. Proporciona una
plataforma abierta para el desarrollo que
permite la reutilización de componentes. A
través de este Framework se puede acceder a
los dispositivos, información de ubicación,
ejecutar servicios, etc. Aquí podemos
encontrar:
•Activity Manager
•Windows Manager
•Content Provider
•View
•Notification Manager
•Package Manager
•Telephony Manager
•Resource Manager
•Location Manager
•Sensor Manager
•Cámara y Multimedia
Figura 1. Arquitectura Android.
www.eticagnu.org Julio 2013 eGNUX 24
Aplicaciones. En esta capa se encuentran todas
las aplicaciones del dispositivo, tanto las que
tienen interfaz de usuario como las que no, las
nativas y las administradas, las que vienen
preinstaladas en el dispositivo y aquellas que el
usuario ha instalado.
En esta capa encontramos también la
aplicación principal del sistema: Inicio (Home)
o lanzador (launcher), porque es la que
permite ejecutar otras aplicaciones mediante
una lista y mostrando diferentes escritorios
donde se pueden colocar accesos directos a
aplicaciones o incluso widgets, que son
también aplicaciones de esta capa.
“El Play de Google”
Se trata de la tienda de software en línea de
Google para Android. Permite a los usuarios
descargar aplicaciones para sus dispositivos,
sean gratuitas o de pago y a los desarrolladores
contar con una plataforma para publicar sus
proyectos. Ha superado la cifra de 700,000 app
disponibles. Su ejecutable se llama
Vending.apk
El registro para desarrolladores cuesta $ 25.00
donde los mismos reciben 70% de las ventas
generadas de sus aplicaciones cargadas en la
plataforma.
“Estructura de Aplicación Android"
Toda aplicación para Android sigue una misma
estructura básica que se compone de los
siguientes elementos:
­ Directorio SRC: Se encuentra toda la lógica
de aplicación, todas las clases programadas en
JAVA. Dentro de ella puedes definir distintos
paquetes, donde puedes dividir en capas tus
reglas de negocio.
­ Android Library: Se encuentran todas las
librerías propias del SDK de Android,
dependiendo la versión elegida al crear el
proyecto tendrá una versión u otra.
­ Directorios RES: Se encuentran todos los
archivos con los recursos que usan la
aplicación; las imágenes, archivos de idiomas,
estilos, etc:
• Drawable, es el directorio con todas
las imágenes de la app.
• Directorio layout, es donde se
encuentran las distintas “pantallas”
de la aplicación, es decir, los archivos
xml con las interfaces visual asociadas
a las activities.
• Values, es el directorio con los xml de
contenido de la app.
­ Directorio Bin: Se encuentran todos los
archivos generados por la propia app.
­ Directorio Gen: En esta carpeta esta el
archivo R.class, éste contiene lo identificadores
los recursos usados por tu proyecto: imágenes,
layout, etc...
­ Directorio Assests: Es el directorio donde se
encuentran los archivos auxiliares de tu
aplicación: imágenes, audios, vídeos...
­ Directorio Lib: Es el directorio donde se
encuentran las librerías externas importados
que necesites.
­ Android Manifest: Es el archivo básico de
configuración de toda aplicación Android. En
él se definen todas las activities de la app, sus
permisos, etc...
Es posible encontrar mayor información,
videotutoriales y cursos libres en la dirección:
http://www.consultorjava.com
www.eticagnu.org Julio 2013 eGNUX 25
MMoozziillllaa,, pprrooppoonnee oottrraa ffoorrmmaa ddee ccoommppaarrttiirr nnuueessttrrooss iinntteerreesseess eenn IInntteerrnneett..
Cuando Mozilla dice que quiere cambiar la web, lo dice muy en serio. La última iniciativa es una nueva
propuesta para compartir nuestros intereses con los anunciantes y los sitios web que visitamos. Ahora
mismo, esos intereses no los compartimos explícitamente sino que se obtienen analizando las páginas que
visitamos y “siguiendo” nuestros pasos de navegación.
Lo que Mozilla propone es darle al navegador la posibilidad de transmitir esos intereses a las páginas web,
todo bajo nuestro control. Firefox analizaría nuestro historial de navegación extrayendo nuestros intereses.
Después podríamos compartirlos (si queremos) con ciertas páginas web para tener una experiencia
personalizada. De esta forma, nuestro historial seguiría siendo privado y tampoco tendríamos que
conectarnos con Facebook u otras redes sociales.
Fuente: www.genbeta.com
UUnn SSooffttwwaarree LLiibbrree ppaarraa qquuee hhiijjooss yy ppaaddrreess pprrooggrraammeenn ssuuss pprrooppiiooss vviiddeeoojjuueeggooss..
El software Pilas­engine (http://pilas­engine.com.ar) es una herramienta sencilla y potente pensada
especialmente para que chicos y padres aprendan juntos a programar videojuegos y así convertirse en
verdaderos desarrolladores de software. Este proyecto está creado por la cooperativa de software libre
Gcoop y está integrado a Huayra, el sistema operativo de Conectar Igualdad.
La idea principal es presentar diferentes juegos y desafíos para aprender, de a poco, a programar. No se
necesita ningún conocimiento de computación previo ni manejar el idioma inglés: este motor utiliza el
español en todos sus contenidos: software, manuales, juegos y tutoriales. Así, jugando, y paso a paso, los
usuarios podrán crear sus propios videojuegos.
Fuente: www.conectarigualdad.gob.ar
AAnnddrrooiidd ssiigguuee lliiddeerraannddoo eell mmeerrccaaddoo ddee ttaabblleettaass dduurraannttee eell sseegguunnddoo ttrriimmeessttrree ddeell 22001133.
En los últimos meses hemos hablado mucho de la caída en la venta de PCs y cómo ha aumentado la
venta de dispositivos Post­PC, es decir, tabletas y smartphones. De hecho, aunque sea un tema que
genera bastante controversia, las proyecciones de ventas indican que en 2017 se venderán 6 tabletas
por cada PC vendido; un dato que creo que nos da una buena foto de cómo han cambiado nuestros
hábitos de acceso a la información.
Fuente: Planetubuntu.es
www.eticagnu.org Julio 2013 eGNUX 26
eGNUX #06

Contenu connexe

Similaire à eGNUX #06

Anteproyecto evolucion sistemas operativos
Anteproyecto evolucion sistemas operativosAnteproyecto evolucion sistemas operativos
Anteproyecto evolucion sistemas operativosJairoboada
 
Anteproyecto evolucion sistemas operativos
Anteproyecto evolucion sistemas operativosAnteproyecto evolucion sistemas operativos
Anteproyecto evolucion sistemas operativosJairoboada
 
Sistema Operativo 2015
Sistema Operativo 2015Sistema Operativo 2015
Sistema Operativo 2015ladislao
 
sistemas operativos
sistemas operativossistemas operativos
sistemas operativosladislao
 
Trabajosistemaoperativomily24
Trabajosistemaoperativomily24Trabajosistemaoperativomily24
Trabajosistemaoperativomily24ladislao
 
Trabajosistemaoperativos
TrabajosistemaoperativosTrabajosistemaoperativos
Trabajosistemaoperativosladislao
 
Manual netlogo basico insisoc
Manual netlogo basico insisocManual netlogo basico insisoc
Manual netlogo basico insisocGaby Martz
 
Segunda evaluación
Segunda evaluaciónSegunda evaluación
Segunda evaluaciónMartacinco
 
Edward Castillo S.O.
Edward Castillo S.O.Edward Castillo S.O.
Edward Castillo S.O.Ed Alter
 

Similaire à eGNUX #06 (20)

Curso software-libre-y-desarrollo-web-p-1
Curso software-libre-y-desarrollo-web-p-1Curso software-libre-y-desarrollo-web-p-1
Curso software-libre-y-desarrollo-web-p-1
 
Segunda evaluación
Segunda evaluaciónSegunda evaluación
Segunda evaluación
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Tallericso1
Tallericso1 Tallericso1
Tallericso1
 
Anteproyecto evolucion sistemas operativos
Anteproyecto evolucion sistemas operativosAnteproyecto evolucion sistemas operativos
Anteproyecto evolucion sistemas operativos
 
Anteproyecto evolucion sistemas operativos
Anteproyecto evolucion sistemas operativosAnteproyecto evolucion sistemas operativos
Anteproyecto evolucion sistemas operativos
 
Segunda evaluación
Segunda evaluaciónSegunda evaluación
Segunda evaluación
 
Sistema Operativo 2015
Sistema Operativo 2015Sistema Operativo 2015
Sistema Operativo 2015
 
sistemas operativos
sistemas operativossistemas operativos
sistemas operativos
 
Trabajosistemaoperativomily24
Trabajosistemaoperativomily24Trabajosistemaoperativomily24
Trabajosistemaoperativomily24
 
Trabajosistemaoperativos
TrabajosistemaoperativosTrabajosistemaoperativos
Trabajosistemaoperativos
 
Tuxinfo67
Tuxinfo67Tuxinfo67
Tuxinfo67
 
Manual netlogo basico insisoc
Manual netlogo basico insisocManual netlogo basico insisoc
Manual netlogo basico insisoc
 
Segunda evaluación
Segunda evaluaciónSegunda evaluación
Segunda evaluación
 
Edward Castillo S.O.
Edward Castillo S.O.Edward Castillo S.O.
Edward Castillo S.O.
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Proyecto 5
Proyecto 5Proyecto 5
Proyecto 5
 
Manual tic
Manual ticManual tic
Manual tic
 
Montsserrat y xolocotzi
Montsserrat y xolocotziMontsserrat y xolocotzi
Montsserrat y xolocotzi
 
Pacheco jhon cuestionario
Pacheco jhon cuestionario Pacheco jhon cuestionario
Pacheco jhon cuestionario
 

Plus de EtiCAGNU

Introducción a LibreOffice writer
Introducción a LibreOffice writerIntroducción a LibreOffice writer
Introducción a LibreOffice writerEtiCAGNU
 
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.EtiCAGNU
 
LibreCole 2013 - Fedora - Ivan Uriarte - 21/09/13
LibreCole 2013 - Fedora - Ivan Uriarte - 21/09/13LibreCole 2013 - Fedora - Ivan Uriarte - 21/09/13
LibreCole 2013 - Fedora - Ivan Uriarte - 21/09/13EtiCAGNU
 
LibreCole 2013 - LibreOffice Calc - Gustavo tomapasca - 28/09/13
LibreCole 2013 - LibreOffice Calc - Gustavo tomapasca - 28/09/13LibreCole 2013 - LibreOffice Calc - Gustavo tomapasca - 28/09/13
LibreCole 2013 - LibreOffice Calc - Gustavo tomapasca - 28/09/13EtiCAGNU
 
Infografia EtiCA 2013
Infografia EtiCA 2013Infografia EtiCA 2013
Infografia EtiCA 2013EtiCAGNU
 
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.I Llampageek - Servidores de Alta Disponibilidad en Software Libre.
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.EtiCAGNU
 
I Llampageek - Implementación de Firewalls con Software Libre.
I Llampageek - Implementación de Firewalls con Software Libre.I Llampageek - Implementación de Firewalls con Software Libre.
I Llampageek - Implementación de Firewalls con Software Libre.EtiCAGNU
 
II Llampageek: Uso corporativo del software libre
II Llampageek: Uso corporativo del software libreII Llampageek: Uso corporativo del software libre
II Llampageek: Uso corporativo del software libreEtiCAGNU
 
II Llampageek: Software Libre en la universidad
II Llampageek: Software Libre en la universidadII Llampageek: Software Libre en la universidad
II Llampageek: Software Libre en la universidadEtiCAGNU
 
II Llampageek: Software Libre y educación
II Llampageek: Software Libre y educaciónII Llampageek: Software Libre y educación
II Llampageek: Software Libre y educaciónEtiCAGNU
 

Plus de EtiCAGNU (14)

Introducción a LibreOffice writer
Introducción a LibreOffice writerIntroducción a LibreOffice writer
Introducción a LibreOffice writer
 
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
 
eGNUX #07
eGNUX #07eGNUX #07
eGNUX #07
 
LibreCole 2013 - Fedora - Ivan Uriarte - 21/09/13
LibreCole 2013 - Fedora - Ivan Uriarte - 21/09/13LibreCole 2013 - Fedora - Ivan Uriarte - 21/09/13
LibreCole 2013 - Fedora - Ivan Uriarte - 21/09/13
 
LibreCole 2013 - LibreOffice Calc - Gustavo tomapasca - 28/09/13
LibreCole 2013 - LibreOffice Calc - Gustavo tomapasca - 28/09/13LibreCole 2013 - LibreOffice Calc - Gustavo tomapasca - 28/09/13
LibreCole 2013 - LibreOffice Calc - Gustavo tomapasca - 28/09/13
 
Infografia EtiCA 2013
Infografia EtiCA 2013Infografia EtiCA 2013
Infografia EtiCA 2013
 
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.I Llampageek - Servidores de Alta Disponibilidad en Software Libre.
I Llampageek - Servidores de Alta Disponibilidad en Software Libre.
 
I Llampageek - Implementación de Firewalls con Software Libre.
I Llampageek - Implementación de Firewalls con Software Libre.I Llampageek - Implementación de Firewalls con Software Libre.
I Llampageek - Implementación de Firewalls con Software Libre.
 
eGNUX #04
eGNUX #04eGNUX #04
eGNUX #04
 
eGNUX #03
eGNUX #03eGNUX #03
eGNUX #03
 
eGNUX #02
eGNUX #02eGNUX #02
eGNUX #02
 
II Llampageek: Uso corporativo del software libre
II Llampageek: Uso corporativo del software libreII Llampageek: Uso corporativo del software libre
II Llampageek: Uso corporativo del software libre
 
II Llampageek: Software Libre en la universidad
II Llampageek: Software Libre en la universidadII Llampageek: Software Libre en la universidad
II Llampageek: Software Libre en la universidad
 
II Llampageek: Software Libre y educación
II Llampageek: Software Libre y educaciónII Llampageek: Software Libre y educación
II Llampageek: Software Libre y educación
 

eGNUX #06

  • 1.
  • 2.
  • 3. www.eticagnu.org Julio 2013 eGNUX 03 El 28 de julio es un día doblemente especial para nosotros, no solo por ser el día de nuestra independencia sino que además EtiCA está de aniversario, hoy cumplimos nuestro tercer año juntos como una familia y espero que se vengan muchos más. Este número especial de eGNUX, cuenta con una entrevista realizada a mi persona, en donde les comento sobre los planes que tenemos paraa el futuro y mi experiencia como integrante de EtiCA. Esta edición también nos presentará al nuevo sistema operativo móvil "Replicant" que cuenta con el apoyo de la Free Software Foundation para su desarrollo, hablaremos de Herramientas de Monitoreo en Linux, desarrollo de aplicaciones ANDROID, PostgreSQL y entre otros temas más. Por otro lado, debo hacer presente mi agradecimiento a todos aquellos que colaboraron con su tiempo y artículos para poder traerles este nuevo número especial para todos uds. Espero que éste sea de su agrado y pues cualquier recomendación déjennos sus comentarios. 28 de julio de 2013 Dirección editorial y diagramación: Diseño de carátula: Suscripciones: Directiva 2013 Presidenta: Vicepresidente: Secretario: Tesorero: Asesor: Contacto Web: E­mail: Twitter: Guadalupe Lip Curo. Gustavo Tompasca Panta. egnux@eticagnu.org Guadalupe Lip Curo. Gustavo Fernandez Chavez. Angel Quiroz Campos. José Damián Samamé. Gustavo Tomapasca Panta. www.eticagnu.org egnux@eticagnu.org @eticagnu Esta revista se publica bajo una licencia de Creative Commons. Puede copiar, distribuir, mostrar publicamente su contenido y hacer obras derivadas, siempre y cuando, cumpla con lo siguiente: a) reconozca los créditos de la obra, b) no la uses de forma comercial y c) la compartas bajo la misma licencia. Guadalupe Lip Curo. Directora editorial gtlipcuro@gmail.com
  • 4. 06 Herramientas de monitoreo en Sistemas GNU/Linux. Existen algunas herramientas que los administradores de sistemas utilizan frecuentemente para monitorizar la actividad de sus sistemas. www.eticagnu.org Julio 2013 eGNUX 04 09 REPLICANT, un sistema operativo completamente libre. Y aquí estamos de nuevo con este espacio para hablar un poco acerca del software libre y de cómo se va introduciendo poco a poco de manera positiva en el mundo de los dispositivos móviles. 11 Entrevista a Guadalupe Lip Curo, presideta de EtiCA. Yo conocí el Software Libre hace muchos años, cuando aún estaba en primaria inclusive y en esa época realmente eran a muy pocos los que oía utilizar ese término. 13 PostgreSQL: un SGBD para tiempos de independencia tecnológica. PostgreSQL es un SBGD (Sistema Gestor de Base de Datos) Objeto Relacional distribuido bajo licencia BSD y con su código fuente libremente disponible para descarga. 16 Entrevista al Ing. Pedro Rojas Vera, autor de un libro hecho con Software Libre. "si tienes una nueva idea, entonces compártela, porque pueden haber muchas personas a las cuales les interese esa idea" 19 Tercer aniversario EtiCA. Hemos querido compartir algunas imagenes de la celebración por nuestro tercer aniversario. 20 Desarrrollo a través de meto­ dologías ágiles con Software Libre. (Parte 1) 23 Introducción al desarrollo de aplicaciones en Android. 26 NOTICIAS BREVES
  • 5. JOSÉ LUIS BUGARÍN PECHE CEO de ILUMINATIC SAC. Analista del Grupo Romero. Docente Universitario UPC en el Programa EPE. Emprendedor Tecnológico: www.consultorjava.com Email: jlbugarin@gmail.com / jlbugarin@iluminatic.com Twitter : @jlbugarin / @iluminatic DANIELA JÁUREGUI SOLIS Estudiante de Ing. de Sistemas y computación. Secretaria del WIE. Miembro de la rama IEEE Usat. ALEJANDRO ROMERO TRIANA Github: https://github.com/alejo8591 Linkedin: http://www.linkedin.com/in/alejo8591 Twitter: @alejo8591 Facebook: fb.com/alejo8591 Skype: alejo8591 EDDIE MALCA VICENTE Gerente de Proyectos Educativos ILUMINATIC SAC – Desarrollador Web CONCYTEC. Docente UPCI­ UNAC. Email: emalca@gmail.com / emalca@iluminatic.com Twitter : @emalca / @iluminatic degui. www.eticagnu.org/wetica/author/degui Iceweasel es el navegador por defecto que viene en las distribuciones Debian GNU/Linux. Habrán muchos usuarios de Debian (y de sus derivados), interesados en remplazar Iceweasel por el navegador Firefox. Maddog, anima usar polo Linux. www.eticagnu.org/wetica Jon maddog Hall publicó un post, en su blog para Linux Magazine, animando a todos a vestir una camiseta Tux este 7 de agosto (también día de su cumpleaños), como un manera de decir que GNU/Linux está en todas partes. Desde el 30 de mayo del presente año, linux.com ha empezado a publicar una serie de vídeos y entrevistas que realizará a 30 desarrolladores del kernel Linux para mostrar al público en general el espacio de trabajo desde donde se programan los módulos del kernel degui. www.eticagnu.org/wetica/author/degui WWW.ETICAGNU.ORG/WETICA www.eticagnu.org Julio 2013 eGNUX 05
  • 6. Existen algunas herramientas que los administradores de sistemas utilizan frecuentemente para monitorizar la actividad de sus sistemas. Estas herramientas además de brindar información valiosa sobre el desempeño de las máquinas, ayudan a los administradores de sistema a tomar decisiones importantes, basándose en las estadísticas obtenidas por estas herramientas. En los sistemas GNU/Linux están presentes muchas de estas herramientas de monitoreo, uno en especial llamado sar, que viene en el paquete Sysstat, del cual hablaremos a continuación, para conocer de forma general su uso y la información útil que podemos obtener de esta herramienta. INSTALACIÓN Y CONFIGURACIÓN. El paquete Sysstat, si deseas instalarlo manualmente, lo puedes descargar desde su sitio web: http://sebastien.godard.pagesperso­ orange.fr/. Pero su instalación es muy sencilla y rápida desde terminal, así que nosotros vamos abrir una terminal y, como usuario root, ejecutamos la siguiente orden: #apt­get install sysstat Una vez instalado, habilitaremos la orden sadc (system activity data collector), para que almacene toda nuestra información del sistema en archivos binarios que luego serán leídos por la orden sar. Para esto configuramos el archivo sysstat con el editor vi, ejecutando la siguiente orden: #vi /etc/default/sysstat Una vez dentro del archivo sysstat, nos dirigimos al final del archivo, y cambiamos el “false” por “true”, tal como se muestra continuación: ENABLED = “true” Por último guardamos los cambios y salimos del editor vi. De este modo ya tenemos instalado y configurado en nuestro sistema el monitor sar, y también otros monitores que se incluyen en el paquete Sysstat y que nos serán de gran utilidad. USO DEL MONITOR SAR. Lo primero que vamos a ejecutar es la orden sar, que nos muestra por defecto la siguiente información, como se puede ver en la figura 1, y que a continuación explicaré. $sar Por Gustavo Tomapasca. @iuged Figura 1. Monitor sar, con la orden: sar. www.eticagnu.org Julio 2013 eGNUX 06
  • 7. Ejecutando sólo el comando sar, obtenemos como resultado la información de la actividad del procesador de la máquina, en este caso podemos apreciar, como primera información, que el procesador es un amd64 de dos núcleos que utiliza el kernel Linux 3.2. La siguiente información nos muestra, en la primera columna, el tiempo en que se inició el monitoreo: 17:45:03, y que cada 10 minutos el monitor va tomando muestras. Las demás columnas muestran el tiempo consumido por cada variable. Por ejemplo, la variable %user, muestra los tiempos consumidos por el sistema en modo usuario, mientras que la variable %system, muestra los tiempos consumido por el sistema en modo supervisor. Hay que aclarar que la muestra que nos presenta el monitor en este caso, es la media de ambos núcleos. $sar ­d ­s 18:15:00 ­e 18:55:05 ­f /var/log/ sysstat/sa25 Si mantenemos al monitor sadc, habilitado (ENABLED = “true”), éste recogerá muestras de nuestro sistema desde que encendemos la computadora hasta que la apagemos. Esta información histórica se guarda en archivos binarios que luego el administrador de sistemas podrá consultar con el monitor sar, que se encargara de leer y pasarlos a un formato entendible para los humanos. En este caso, como se muestra en la Figura 2, la ruta en donde se encuentran los archivos históricos es /var/log/sysstat y el archivo consultado es el “sa25”, sadc le da este nombre con el sufijo del día en que se recogió la muestra. Esto es muy útil si el administrador del sistema, decide consultar información histórica de días anteriores al de hoy. En este ejemplo monitoreamos el sistema de archivos del disco duro, ingresándole el parámetro ­d a la orden sar, en un rango de tiempo determinado: 18:15:00 ­e 18:55:05, de una información histórica del día 25, en la ruta: ­f /var/log/systat/sa25, cuya consulta nos arroja información valiosa como la tasa de transferencia por segundo, en la columna tps, y la lectura y escritura de los sectores por segundo, en las columnas rd_sec/s y wr_sec/s respectivamente, como se puede observar en la figura 2. $sar ­b ­s 18:15:00 ­e 18:55:05 ­f /var/log/ sysstat/sa25 Hacemos lo mismo para obtener la actividad de las unidades de entrada/salida con el parámetro ­b, en el mismo rango de tiempo y ruta de archivo que el ejemplo anterior, como Figura 2. Monitor sar, con la orden: sar ­d Figura 3. Monitor sar, con la orden: sar ­b www.eticagnu.org Julio 2013 eGNUX 07
  • 8. se muestra en la Figura 3. En donde podemos observar que la información mostrada en las columnas rtps y wtps, nos detallan las transferencias por segundo de las lecturas y escritura, respectivamente, de los dispositivos. Lo mismo sucede con los bloques de lectura y escritura en las columnas bread/s y bwrtn/s. Por último veremos brevemente el uso del monitor mpstat, este es otro monitor que se incluye en las utilidades del paquete sysstat al momento de su instalación. También veremos, como usarlo dinámicamente sin hacer uso de la data histórica. Ejecutamos la orden siguiente: $mpstat ­P 0 5 4 mpstat, es un monitor utilizado para obtener información específica de la actividad de los procesadores. En este caso, como se muestra en la Figura 4, le he ingresado los parámetros ­P 0 5 4, para que me recoja 4 muestras, cada 5 segundos, del núcleo 0 del procesador. Como se puede observar, usar las herramientas de monitoreo de forma dinámica es muy útil, ya que no se está utilizando la data histórica, sino más bien, la información obtenida en el mismo instante en que el sistema actua. Podemos hacer lo mismo para obtener la actividad del segundo núcleo del procesador, lo único que cambiaríamos del anterior orden es el 0 por el 1, como se indica a continuación: $mpstat ­P 1 5 4 Aquí hemos consultado la información del segundo núcleo del procesador, como se muestra en la figura 5, y como podemos observar, el primer núcleo (0) está consumiendo mayor tiempo que el segundo núcleo (2). Si ejecutamos la orden sar ­A, podremos observar toda la información histórica que va recolectando sadc, de nuestro sistema. Si queremos apagar el monitoreo, solamente basta cambiar "true" por "false", del archivo ubicado en: /etc/default/sysstat, como lo hicimos al inicio de este artículo. Esto ha sido solamente una breve demostración de lo mucho que se puede obtener con el monitor sar, el uso de este y otros monitores, lo podemos dejar para otras entregas. Espero que les haya servido como referencia para despertar su interés en el uso de estas potentes herramientas. Figura 5. Monitor mpstat, con la orden: mpstat ­P Figura 4. Monitor mpstat, con la orden: mpstat ­P www.eticagnu.org Julio 2013 eGNUX 08
  • 9. Y aquí estamos de nuevo con este espacio para hablar un poco acerca del software libre y de cómo se va introduciendo poco a poco de manera positiva en el mundo de los dispositivos móviles. En esta oportunidad lo podrás saber a través del presente artículo y gracias al proyecto Replicant, ¿No has escuchado nada acerca de Replicant? Bueno, aquí yo te contaré un poco sobre él. Replicant es un sistema operativo basado en Android cuya diferencia, y muy notable se podría decir, es que este nuevo sistema operativo funciona completamente con software libre, lo sé, quizá la duda que puede surgir en este momento es que todos sabemos que Android está basado en software libre, por lo tanto ¿Cuál sería la diferencia? Bueno, puedo decirte que en algunos casos Android utiliza ciertos drivers o firmwares como por ejemplo los que están relacionados con las conexiones inalámbricas que se caracterizan por ser licenciados, lo cual hace que Android no sea libre en su totalidad, lastimosamente, a diferencia de Replicant. Conozcamos un poco más acerca de Replicant... En primer lugar pues si vamos por lo histórico, por decirlo así, brevemente se puede contar que Replicant es un proyecto muy nuevo puesto que nació recién en el año 2010 pero que sin embargo a pesar de su juventud en el mundo de sistemas operativos móviles, actualmente es compatible con diez dispositivos móviles los cuales en su mayoría son de la línea Samsung Galaxy, cuyos teléfonos, como ya es de nuestro conocimiento, se caracterizan por ser de los más avanzados además de ser de los más adquiridos en el mercado. Replicant inicialmente realizó sus primeras pruebas en tan solo dos equipos, un Galaxy Nexus y un HTC. Por otro lado, si a estas alturas ya vas interesándote UN SISTEMA OPERATIVO COMPLETAMENTE LIBRE Interfaz Replicant Por Daniela Jáuregui. www.eticagnu.org Julio 2013 eGNUX 09
  • 10. un poquito más en Replicant un dato más relevante es que, así como Android nos proporciona la popular Play Store, Replicant no se queda atrás y por defecto F­droid será nuestra tienda de aplicaciones, en donde podrás encontrar las aplicaciones que son totalmente libres y que pueden ser personalizadas a tu gusto. Ojo, F­droid puede ser utilizada en algunos casos sin estar utilizando Replicant como sistema operativo en tu móvil. Este proyecto necesita de usuarios pero también de desarrolladores, si eres un desarrollador o bueno si no lo eres, también deberías saber que Replicant cuenta con un emulador propio para realizar las pruebas correspondientes de las aplicaciones construidas. Tal vez en este momento la compatibilidad con equipos no sea abundante sin embargo es un proyecto que va creciendo poco a poco y rápidamente, algo que es de resaltar, por lo tanto nadie puede decir que más adelante no se podría convertir en un sistema operativo muy importante dentro del mundo móvil. Como dato final se puede decir que Richard Stallman junto a la Free Software Foundation, han lanzado una propuesta para adquirir fondos y así obtener más equipos móviles con la finalidad de que el Proyecto Replicant pueda realizar las pruebas correspondientes y así ir ajustando el sistema operativo a nuevos teléfonos o tablets e ir evaluando las posibles fallas que podrían surgir para mejorarlas y poco a poco ir expandiendo este sistema operativo para un mayor número de dispositivos móviles. También existe una página web en donde se aceptan donaciones para que este proyecto pueda seguir creciendo y esperemos que sea así, entonces si tienes un dispositivo compatible podrías darle una oportunidad a Replicant, teniendo en consideración que cuenta con menos usuarios por no ser tan conocido, y a menos usuarios menos interés para ser vulnerado y más tranquilidad para poder utilizar tu equipo sin temor a que puedan robar tus datos personales o acceder a tus redes sociales, asimismo será menor la invasión de virus y como punto final porque cuenta con el apoyo de grandes personajes dentro del mundo open source, cosa que es un buen respaldo. F­Droid www.eticagnu.org Julio 2013 eGNUX 10
  • 11. EtiCA está próximo a cumplir tres años ¿Desde cuándo eres miembro de la asociación y por qué decidiste pertenecer a ella? Soy miembro desde finales del año pasado, no recuerdo con exactitud el mes en el que me uní. En realidad mi decisión de pertenecer fue algo que salió de improviso, no tuve mucho tiempo para meditarlo pero no me arrepiento de haber aceptado. Durante todo ese tiempo como asociada cuáles han sido las funciones que has desempeñado dentro de la asociación y en qué proyectos participaste. El año pasado me desempeñé como tesorera y pues desde enero de este año soy la actual presidenta. Hasta el momento he participado en la organización del Llampageek 2012 y como directora de la revista con la que cuenta la asociación, eGnux; pero estoy segura que con todo lo que tenemos planeado se vienen muchos proyectos más. Ahora como presidenta de EtiCA cuál es tu principal compromiso que has asumido con la asociación y los asociados. Las responsabilidades asumidas son varias pero considero que la principal es hacer lo necesario para que nuestros planes se puedan llevar a cabo y así poder cumplir con los objetivos que tenemos como asociación. www.eticagnu.org Julio 2013 eGNUX 11
  • 12. ¿Cuáles son las expectativas que tienes para la comunidad durante este año de gestión? Pues espero poder firmar un convenio que tenemos planeado desde hace cierto tiempo pero por sobre todo hacernos más conocidos y lograr que más gente se una a nuestra causa. ¿Cuáles son los proyectos que tiene pensado la asociación realizar en lo que le resta de este año, y cómo se están organizando para lograrlo? Tenemos diversos proyectos como LibreCole o el Llampageek 2013, además de la entrega de dos números más de eGNUX como mínimo, entre otros. Para poder sacar adelante estos proyectos pues tenemos a nuestro jefe de proyectos que nos mantiene a todos completamente organizados y presentándole nuestros respectivos avances para poder verificar que no estamos dejándolos en el olvido. Sabemos que tienes a cargo la dirección de la revista eGNUX. ¿Cuál ha sido tu experiencia en esta área? Y ¿Cómo pueden participar otras personas en este proyecto? Realmente estar como directora de eGNUX es una genial experiencia, he aprendido diversas cosas y me he tenido que poner en contacto con distintas personas para poder invitarlas a participar en los distintos números de la revista, eGNUX me está ayudando para mejorar en mi desenvolvimiento con otras personas definitivamente. Para poder participar en este proyecto pues las personas solo deben comunicarse conmigo a través de las distintas redes sociales como Facebook o Twitter o directamente al correo de la revista que yo les responderé lo más pronto posible y les agradeceré mucho el interés mostrado. ¿Cómo observas el avance de la cultura del Software Libre entre los estudiantes de la región Lambayeque, se han logrado importantes avances? Yo conocí el Software Libre hace muchos años, cuando aún estaba en primaria inclusive y en esa época realmente eran a muy pocos los que oía utilizar ese término; en la actualidad he podido percibir que cada vez hay más personas, no solo estudiantes, que se están interesando en el Software Libre, y a pesar de que el apogeo aún no se puede comparar con los software pagados puedo decir que ha habido una mejora y eso ya es un avance. ¿Cuáles son las actividades para este tercer aniversario de la asociación? Espero que podamos tener un compartir entre los integrantes de la asociación; una torta, un brindis, unas palabras que espero no tenga que darlas yo jajaja. Poder pasar un lindo momento con la familia de EtiCA. Por EtiCA GNU/Linux. www.eticagnu.org Julio 2013 eGNUX 12
  • 13. En la actualidad, vivimos tiempos de constantes cambios: económicos, políticos, sociales, culturales, etc. Todo el panorama mundial cambia día a día, y tecnológicamente no estamos ajenos a estas transformaciones. En nuestro país, es evidente el crecimiento exponencial que ha sufrido las herramientas de Software Libre y Open Source, no sólo entre las docentes y estudiantes de las universidades que hacen uso de las mismas para el desarrollo de sus contenidos curriculares, sino también en los entornos empresariales y gubernamentales, donde cada día se gestan soluciones de negocios basadas en tecnologías libres, así como modelos de negocios y emprendimientos tecnológicos basados en ellas. Ante este panorama, contamos ya con un ecosistema tecnológico donde conviven tanto tecnologías libres como propietarias, donde cada una de ellas se encuentra posicionada, y los profesionales de TIC que las implementan han logrado una especialización en base a su uso constante como soluciones de negocio real. Es aquí donde un sector importante del mercado lo constituyen los SGBD, donde existe ya una alternativa real, robusta, y con soporte adecuado debido a la creciente legión de profesionales y estudiantes que la prefieren: PostgreSQL. “¿Qué es PostgreSQL?” PostgreSQL es un SBGD (Sistema Gestor de Base de Datos) Objeto Relacional distribuido bajo licencia BSD y con su código fuente libremente disponible para descarga. En la actualidad se ha constituido por sus características como el SGBD de código abierto más potente del mercado y en sus últimas versiones no tiene nada que envidiarle a otras bases de datos comerciales como Oracle o MS SQL Server. PostgreSQL utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el sistema continuará funcionando. “¿Qué características tiene?” Entre las características principales que posee la versión 9.2 de PostgreSQL tenemos: • 100% ACID • Integridad Referencial • Tablespace para ubicación física de archivos de la base de datos • Puntos de Restauración • Replicación Síncrona y Asíncrona • Commit en dos fases • Copias de Seguridad en caliente • Codificación UNICODE • Juegos de Caracteres Internacionales • Regionalización por columnas • Control de Concurrencias Multiversión • Múltiples Métodos de Autenticación Por Eddie Malca. emalca@gmail.com @emalca www.eticagnu.org Julio 2013 eGNUX 13
  • 14. • Acceso encriptado vía SSL • Actualización In­SITU integrada • Documentación completa • Multiplataforma para Linux, Unix y sus variantes y Windows de 32 y 64 bits • Funciones y Procedimientos almacenados para en diversos lenguajes de programación como PL/pgSQL, PL/Perl, PL/Python y PL/Tcl. • Diversos tipos de datos y nuevos tipos para definir. • Soporte de almacenamiento de objetos binarios grandes • APIs para programar en lenguajes de programación como C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, PHP, Lisp, Scheme, Qt y otros. Podemos leer mayor información del proyecto en: • http://www.postgresql.org/ • http://www.postgresql.org.es/ Algunos límites a considerar: “¿Qué podemos hacer con PostgreSQL?” Con PostgreSQL es posible impartir la enseñanza de los cursos de Bases de Datos en las entidades educativas hasta implementar bases de datos en producción en diversas organizaciones, pasando por generar servicios tecnológicos alrededor del modelo de negocio propiciado por el mismo uso de esta tecnología. El costo único de usarla es su simple descarga e instalación, independientemente del sistema operativo que se utiliza, ello debido a que posee soporte multilenguaje incluyendo al Español–Perú dentro de su motor, una interfaz gráfica de administración muy simple como lo es el PgAdmin que viene por defecto con el paquete de instalación. Asimismo modeladores gráficos muy intuitivos como PgDesigner en entornos libres ó PgMaestro en entornos propietarios. Incorpora el estándar SQL que integra tanto lenguaje DDL como DML, para la creación de objetos relacionales en su motor, los mismos que identifican con un identificador único llamado OID. “¿Lo que yo te puedo decir?” De mi experiencia personal, tengo contacto con PostgreSQL desde el año 2008 cuando se realizó la primera migración en los sistemas de información del CONCYTEC, que soportaban los procesos administrativos de la entidad como el sistema de trámite documentario entre otros. Ello dio pie a que me aventurara a incluirlo en el curso de Lenguaje de Programación II de la UNAC vía conexión con lenguaje de programación web PHP. A mi retorno a CONCYTEC, entidad en la cual laboro desde fines del 2010, fue grande mi sorpresa al encontrar la mayoría de los sistemas de información tanto administrativos como Core de la Límite Valor Máximo tamaño de base de datos Ilimitado (Depende del sistema de almacena­ miento) Máximo tamaño de tabla 32 TB Máximo tamaño de fila 1.6 TB Máximo tamaño de campo 1 GB Máximo número de filas por tabla Ilimitado Máximo número de columnas por tabla 350 ­ 1600 (dependien­do del tipo) Máximo número de índices por tabla Ilimitado www.eticagnu.org Julio 2013 eGNUX 14
  • 15. institución implementados haciendo uso de PostgreSQL v 8.1 y superior, incluyendo los sistemas de información del SINACYT (Sistema Nacional de Ciencia y Tecnología) más importantes como el Directorio Nacional de Investigadores (DNI), aplicativo que almacena los CV’s de los investigadores en ciencia y tecnología peruanos, constituyendo la base de datos de profesionales en investigación más importante a nivel nacional, corriendo por más de cinco años sobre esta tecnología libre sin ningún tipo de problema o inconveniente generado por el motor. Es importante señalar que a pesar de los esfuerzos de empresas proveedoras de tecnologías propietarias como Oracle y Microsoft por proveer a la entidad de soluciones alternativas al DNI basadas en los SGBD que sus marcas ofrecen, no han podido superar los criterios costo­ beneficio­rendimiento con los que contamos desde que se hace uso de PostgreSQL. Esta realidad que vivo cada día con PostgreSQL me llevó a considerarlo como herramienta para el desarrollo del curso de Administración de Base de Datos en la UPCI, motor con el cual ya llevo 3 ciclos de enseñanza formando profesionales con conocimientos en dicha tecnología con lo que espero aportar a tener cuadros técnicos que brindarán el soporte necesario en el producto y lograr una mayor penetración del mismo en las organizaciones. “¿Qué te recomiendo?" Siempre inicio el curso de Administración de Base de Datos (de los cuales llevo 120 estudiantes formados en PostgreSQL), preguntando a los estudiantes qué SGBD les gustaría aprender, con los cual prosigo preguntando cuántos cursos de los mismos encuentran en el mercado local. Esta pregunta es base para que de ellos mismo parta la iniciativa de aprender algo nuevo y libre como lo es el SGBD PostgreSQL. Recomiendo el uso de ciertas herramientas que complementan el uso de este SGBD: • PgAdmin • PgDesigner • DbDesigner • SQL Power Architect Para los casos de configuración, administración y monitorización, los comandos propios del motor son más que necesarios. “Mi consejo” Si eres docente, no enseñes algo que sabes. Enseña algo que les será útil a los estudiantes. Si eres estudiante, aprende lo que el profesor imparte, pero invierte más tiempo en investigar, esto se constituirá en la diferencial entre lo común y lo excepcional. La difusión del Software Libre y de las tecnologías Open Source, no es exclusividad de algunos elegidos o alguna asociación en especial; es oportunidad y obligación de todos los que de alguna manera creemos que no debemos depender tecnológicamente de alguna marca o proveedor en especial, todos podemos aportar desde nuestra ubicación, hagamos lo que hagamos, a lograr la gran ansiada independencia tecnológica que anhelamos. Es posible encontrar mayor información, tutoriales, cursos libres, del autor, en las siguientes direcciones: www.emprendedortecnologico.com www.iluminatic.com www.eticagnu.org Julio 2013 eGNUX 15
  • 16. Quisieramos saber ¿Cuál es la función que desempeña en la universidad? y ¿Cómo nació su vocación por ser Ingeniero Mecánico Eléctrico? Yo soy Chiclayano pero no vivo en Chiclayo actualmente, vivo en Trujillo por un tema de beneficio profesional. Cuando era joven nunca tuve la intención de estudiar mecánica eléctrica, más me gustaba el tema de la electrónica, pero en la universidad local UNPRG no había esa carrera y es por ello que me decidí por esta carrera dado que era la que más se asemejaba. El campo laboral, fue lo que definió mi especialidad porque yo soy más eléctrico que mecánico, a pesar de que la carrera es de ambas y, creo que lo que más me ha gustado del tema de la electricidad es que no está directamente relacionado con la parte técnica sino que también con la propia persona; si miramos el tema de la electricidad puedo llegar incluso al extremo de decirte que la electricidad puede hacerte feliz. En el tercer libro, por ejemplo, que estoy escribiendo y que espero salga a fines de año o a comienzos del próximo, hay muchas partes en las que menciono como la electricidad está muy relacionada con tu forma de sentir y ver las cosas. ¿Cómo surgió la idea de comenzar a escribir un libro? Creo que todos llevamos dentro el tema de querer escribir, no todas las cosas que están en el mundo son completas para uno, al menos para un estudiante, yo creo que ni para una ama de casa. Siempre encontramos cosas que no son completas para posiblemente nuestros gustos pero de repente no tenemos los medios o la forma en que alguien nos guíe para poder decir "si tienes una nueva idea, entonces compártela, porque pueden haber muchas personas a las cuales les interese esa idea" creo que la universidad fue el motivo de apertura para poder escribir. Entonces, cómo nació el tema de escribir, hay muchas cosas con las cuales yo me relaciono, enseño y que siento que hay cosas que no están aún escritas. Los dos libros que he escrito, tratan de llenar un nicho que no existe, el nicho no lo he buscado por un tema comercial, el nicho es una necesidad. Hay formas de buscar un nicho, puede ser por lo que más le guste a la gente pero la necesidad de escribir salió porque hay cosas que no están y entonces hay que recopilarlas, juntarlas, poner un poco de tu experiecia, de la forma como tú analizas o deduces las cosas que otros autores puedan decir, le pones la autenticidad de tu opinión Por Guadalupe Lip Curo. El Ingeniero Pedro Rojas Vera, docente universitario, autor del libro: "4 Principios para Construir Diagramas Unifilares", nos cuenta su experiencia con el uso del Software Libre para producir su libro e impartir a sus alumnos sus conocimientos con estas herramientas libres. www.eticagnu.org Julio 2013 eGNUX 16
  • 17. y de tu convivencia con ello para que finalmente lo termines entregando en un reporte escrito que no es otra cosa que convertir tus ideas. En su libro, usted indica haber hecho uso de herramientas de Software Libre. Cuéntenos, ¿Cómo conoció el Software Libre? Cuando yo llegué a USAT, yo había escuchado mucho hablar de él y también que el tema era un poco difícil, inclusive mi primera maestría fue en informática y ahí fue donde me enteré de muchas ventajas del Software Libre, pero abordar el tema de Linux no fue algo que tenía en mente. El tema de la maestría fue más que todo para poder automatizar el tema de mantenimiento de la empresa en la que laboraba en ese tiempo. Años después, yo vengo a desarrollar cátedra aquí en USAT y me encuentro con que las máquinas tenían Linux, entonces fue como un reto aprender a usarlo y asi terminé enamorándome de éste. Actualmente inclusive uso Linux en mi casa, como una plataforma natural, claro que debo convertir algunas cosas porque algunas veces cuando he enviado información por correo me contestaban con que no podían abrir el archivo y es por ello que ahora lo convierto a pdf y asi no tengo ese problema. Exactamente, ¿Para qué utilizó estas herramientas en su libro? Como ingenieros, nosostros tenemos un lenguaje de comunicación y éste para nosostros son los planos dado que con las palabras perdemos mucha objetividad. La mayor parte de nuestra carrera se basa en bibliografía americana o de cualquier otros países y entonces el problema es que hay mucha simbología gráfica que no está acorde con la normatividad que existe en el país. Nuestro pais ha asumido una norma internacional que es la IEC para todo lo que es símbolos gráficos, y estos son una forma de comunicación mucho más específica y científica porque cualquier equipamiento lo expresas de una forma que será entendida por el receptor. Mucha bibliografía que viene de otro países no utiliza la simbología con la cual está normada nuestro pais, entonces el encontrar este tipo de comunicación un poco confusa me llevó a escribir este libro que se llama "Cómo construir diagramas unifilares" y ahí expongo cuáles son las razones del porqué un profesional debe usar este lenguaje de manera correcta. Al escribir este libro, hice uso del editor de texto LibreOffice Writer, para las imágenes hice uso de Gimp y Shutter, que es una herramienta que encontramos en el repositorio de Ubuntu, y para realizar los diagramas unifilares hice uso de las herramientas CAD. Mucha gente está familiarizada con el AutoCad pero no saben utilizar todas las funciones que nos ofrecen, en mi caso yo hago uso de LibreCad. ¿Alguna vez ha dictado un taller sobre diagramas unifilares? Siempre lo hago, no como un taller pero cada vez que en las clases de las asignaturas que dicto se incluye algo de diagramas tengo que hacer una pequeña clase de ello. Siento la necesidad de que debe haber un taller de diagramas unifilares aunque creo que el tema está Guadalupe Lip Curo, entrevistando al ingeniero Pedro Rojas Vera. www.eticagnu.org Julio 2013 eGNUX 17
  • 18. escondido en algunas asignaturas que las ingenierías llevan en los primeros ciclos, pero además se debe incluir el tema de las normatividades. Al momento de dictar sus asignaturas ¿ha hecho uso de Software Libre? Siempre lo hago. Dado que en las aulas las computadoras cuentan con Windows, he tenido que pedir ayuda a los de informática para que instalen en las máquinas en las que desarrollo las clases, Software Libre. El año pasado dicté un curso llamado "Análisis Matemático I", fue un curso de primer ciclo, y dado que eran alumnos que recién ingresaban a la universidad traté de darles la mayor cantidad de herramientas que hay en software libre para matemática como por ejemplo Scilab, Maxima u Octave que son para realizar cálculos matemáticos. Entonces, en este curso les mostré de manera panorámica a los alumnos mucho Software Libre que hay en cuanto a matemática, por dos motivos, en primer lugar abrirlos por el campo del Software Libre ya que se puede usar sin costo alguno y también porque uno tiene la posibilidad de modificarlo y hacerlo a su medida, pero además tratar de ganarme a los alumnos con clases más didácticas. En la actualidad hay jóvenes que son un tanto reacios a comenzar a usar Software Libre ¿Sus alumnos se mostraron de esa forma? Creo que existe una gran cantidad de jóvenes y nosotros mismos, que nos gustan las cosas sencillas y creemos que éstas son aquellas que son más usadas, pero fíjate en algo, en la medida que tú encuentres a alguien que te explique cuán fácil puede llegar a ser algo, es fácil que pueda ser adoptado por los alumnos; en la medida que el alumno pueda entender que un software es un instrumento de ayuda y que sepa valorar no la arquitectura sino el resultado que se puede obtener con él, creo que puede entender que en realidad es una herramienta y no algo que solo llene su vista. Yo no he encontrado alumnos reacios, por ejemplo en esa asignatura que te he mencionado que he dictado, también les hice mención de software de pago como MatLab o Maple, no les cerré la visión sino más bien les abrí el abánico para que ellos puedan ver la diferencia entre estos software. Al momento de trabajar con la imprenta ¿no tuvo ningún problema con el formato libre? El primer libro que escribí lo hice con Scribus, esta herramienta nos sirve para maquetear pero al momento que uno lo manda a la imprenta se envía en pdf. Para finalizar, usted nos ha mencionado su tercer libro ¿Algún adelanto que nos pueda dar sobre éste? y ¿Dónde podemos comprar su segundo Libro? Mi segundo libro lo pueden adquirir a través de Amazon.com y bueno, sobre mi tercer libro les puedo decir que en él hablaré sobre la iluminación, cómo es que influye en las personas, y el uso de los artefactos eléctricos. Ingeniero Pedro Luis Rojas Vera, docente universitario USAT. DATOS: ­ El libro se puede adquirir en Amazon: http://www.amazon.com/dp/B00DB2GI8M ­ También puedes visita el sitio web del autor: http://www.diagramasunifilares.info www.eticagnu.org Julio 2013 eGNUX 18
  • 19. Celebrando juntos el tercer aniversario EtiCA: Degui, Guadalupe Lip, Angel Quiroz y Luis vargas. Pdta. Guadalupe Lip Curo, partiendo la torta EtiCA. Con torta y champagne celebramos el tercer aniversario EtiCA. www.eticagnu.org Julio 2013 eGNUX 19
  • 20. Algo de Historia en metodologías ágiles y contexto TDD y BDD Cuando inicie con el tema de desarrollo de software a través de metodologías ágiles, obviamente con una formación clásica en programación e ingeniería del software, me surgieron varias preguntas, tales como; ¿Las metodologías ágiles realmente consideran la ingeniería del software importante?, otra pregunta muy parecida es ¿una cosa es la manera en que realizó iteraciones en el equipo de trabajo, pero la ingeniería del software donde queda?, ¿Es cierto que las metodologías ágiles me ahorran mucho tiempo en documentación, junto con la estructura de un software más entendible y escalable, pero de qué manera? entre otras preguntas muy parecidas y buscando cual era realmente la utilidad en la construcción de código, rápidamente y de calidad. Dentro de mi investigación encuentro interesantes prácticas como TDD (Test Driven Development) y una evolución, bastante importante y que aporta demasiado al ecosistema de desarrollo, llamada BDD (Behaviour Driven Development) que en un momento hablaré de qué tratan estas espectaculares “herramientas” enfocadas a buenas prácticas, predictivas, de la construcción de software, y que responde de cierto modo, una de mis preguntas; realmente si existe ingeniería del software en la aplicación del paradigma ágil. Tal vez esté leyendo una persona nueva en el mundo del desarrollo e incluso el desarrollo ágil, o hasta un experto, en todo caso a manera informativa y de análisis, propio o en grupo, las siguientes tablas (Tabla 11 y Tabla 22) como referencia, para entrar en contexto y relacionar metodologías ágiles contra tradicionales, de las más importantes y usadas, aportando un marco de referencia para continuar con el artículo: Luego de tener un par de referentes con respecto a las metodologías ágiles, las comparaciones de características y que tanto comportamiento flexible tienen entre ellas, continuamos relacionando TDD y luego BDD. ¡Ahora si! ¿qué es TDD? según la Agile Alliance1 que es el ente que analiza y explora los principios ágiles, la define como: “...un estilo de programación en el que tres actividades están estrechamente entrelazadas: codificación, pruebas ­ en forma de pruebas unitarias (Unit Test) ­ y diseño ­ en forma de refactorización (Refactoring) ­.” Metodología Ágil Metodología Tradicional Pocos Artefactos. El modelado es prescindible, modelos desechables. Más Artefactos. El modelado es esencial, mantenimiento de modelos Pocos Roles, más genéricos y flexibles Más Roles, más específicos No existe un contrato tradicional, debe ser bastante flexible Existe un contrato prefijado Cliente es parte del equipo de desarrollo (además in­situ) El cliente interactúa con el equipo de desarrollo mediante reuniones Orientada a proyectos pequeños. Corta duración (o entregas frecuentes), equipos pequeños (< 10 integrantes) y trabajando en el mismo sitio Aplicables a proyectos de cualquier tamaño, pero suelen ser especialmente efectivas/usadas en proyectos grandes y con equipos posiblemente dispersos La arquitectura se va definiendo y mejorando a lo largo del proyecto Se promueve que la arquitectura se define tempranamente en el proyecto Énfasis en los aspectos humanos: el individuo y el trabajo en equipo Énfasis en la definición del proceso: roles, actividades y artefactos Basadas en heurísticas provenientes de prácticas de producción de código Basadas en normas provenientes de estándares seguidos por el entorno de desarrollo Se esperan cambios durante el proyecto Se espera que no ocurran cambios de gran impacto durante el proyecto 1. Diferencia entre metodologias tradicionales y agiles http://arevalomaria.wordpress.com/2011/11/15/diferencias­entre­metodologias­ tradicionales­y­agiles­metodologiasagiles/ 2. Highsmith, J. "Agile Software Development Ecosystems". Addison­Wesley. 2002 3. agilealliance.org Tabla 1. Diferencias entre metodologías ágiles y no ágiles (generalmente clásicas) Por Alejandro Romero Triana @alejo8591 www.eticagnu.org Julio 2013 eGNUX 20
  • 21. Pero cuáles son esas ventajas que ofrece esta técnica que incluso Kent Beck uno de los padres de XP (implementa TDD) asegura que son posibles los siguientes logros: ­ La calidad del software aumenta (con el tiempo y la experiencia es exponencial). ­ Conseguimos código altamente reutilizable. ­ El trabajo en equipo se hace más fácil, une a las personas. ­ Nos permite confiar en nuestros compañeros aunque tengan menos experiencia. ­ Multiplica la comunicación entre los miembros del equipo. ­ Las personas encargadas de la garantía de calidad adquieren un rol más inteligente e interesante. ­ Escribir el ejemplo (test) antes que el código nos obliga a escribir el mínimo de funcionalidad necesaria, evitando sobrediseñar. ­ Cuando revisamos un proyecto desarrollado mediante TDD, nos damos cuenta de que los tests son la mejor documentación técnica que podemos consultar a la hora de entender qué misión cumple cada pieza del rompecabezas (puzzle). En conclusión a grandes rasgos con respecto a TDD, porque puede ser tema de artículos y libros, le permite a los desarrolladores, pensar con claridad acerca de las especificaciones antes de que sus mentes se encuentren nubladas con los detalles de la implementación. También asegura que las pruebas se escriban siempre, lo que es demasiado útil. ¿Pero BDD, que tiene que ver en todo esto?, ¡mucho! pues de nuevo cito como referencia la Software Alliance, quien la define como: “... BDD (Behaviour Driven Development) es una síntesis y el perfeccionamiento de las prácticas derivadas de TDD (Test Driven Development) y ATDD (Test Driven Development aceptación).” Aquí encontramos un término nuevo, ATDD; es una práctica igualmente derivada de TDD, y consiste en el uso de las pruebas de aceptación automatizadas con la restricción adicional de que estas pruebas pueden escribirse antes de la aplicación correspondiente. Por otro lado BDD tiene unas características propias como: ­ Pensar "de afuera hacia adentro", es decir implementar sólo aquellos comportamientos que contribuyen más directamente a los resultados del negocio, así como para minimizar el desperdicio en tiempo. ­ Describir los comportamientos en una única notación que pueden acceder directamente los expertos de dominio o en algunos casos conocidos como arquitectos de software, testers y desarrolladores, con el fin de mejorar la comunicación en el equipo de trabajo. Teniendo en cuenta todos estos conceptos y un poco de historia que abre el panorama de la importancia en buenas prácticas para desarrollo de software; aquí viene lo que realmente nos interesa, vamos a trabajar en gran medida con BDD ¿Por qué?, la respuesta es con base al artículo de Dan North llamado “Introducing BDD”, donde le ocurre la misma sensación que tuve cuando inicie, y posteriormente avance con TDD: Sistema como algo cambiante Colaboración Resultados Simplicidad Adaptabilidad Excelencia técnica Prácticas de colaboración Media CM Media Total CMM 1 2 2 1 2 4 2 2.2 1.7 ASD 5 5 5 4 5 3 5 4.4 4.8 Crystal 4 5 5 4 5 3 5 4.4 4.5 DSDM 3 4 4 3 3 4 4 3.6 3.6 FDD 3 4 4 5 3 4 3 3.8 3.6 LD 4 4 4 3 4 4 3 3.6 3.9 Scrum 5 5 5 5 4 3 4 4.2 4.7 XP 5 5 5 5 3 4 5 4.4 4.8 Tabla 2. Ranking de metodologías ágiles (Los valores más altos representan una mayor agilidad) www.eticagnu.org Julio 2013 eGNUX 21
  • 22. “...Cuanto más avanzo con TDD, más me doy cuenta que mi aprendizaje del mismo ha sido caracterizado por entrar y salir en callejones sin salida. Me he preguntado a mí mismo “¿por qué nadie me dio la solución antes?” muchas más veces que lo que he pensado “se abrió una puerta”. Y siempre pensé que debería existir una forma de presentar TDD en la cual se pueda acceder a lo bueno sin tener que pasar por todos los malos momentos.” El interés del presente escrito no es desprestigiar TDD o algo por el estilo, al contrario es entender que sirve como marco de referencia y que gracias a él conocimos una evolución para quienes trabajamos a diario con desarrollo de software a través de metodologías ágiles. Para empezar a entender cómo nos puede ayudar BDD, vamos a tomar el típico ejemplo de la calculadora, y como la idea de BDD es llegar al nivel de tarea más bajo de nuestro desarrollo, algo así como cuando se modela con metodologías clásicas, por nombrar alguna como RUP (Rational Unified Process) utilizando UML (Unified Modeling Language), siendo esto un ejemplo literal, tenemos una serie de diagramas que construir antes de iniciar con el desarrollo formal de mi aplicación, entre ellos podría ser los “Casos de Uso”, “Diagrama de Clases”, “Diagrama de Secuencias”, “Diagrama de Objetos” entre otros y por nombrar algunos; esto con el fin de “modelar” mi aplicación sin tener en cuenta hasta el momento posibles comportamientos, propios de las características que puedan llegar a tener mis “objetos” en el proceso de codificación. En el mismo caso y resuelto con BDD se dividiría con los “User Story” que no son más sino una escueta representación de los requisitos de mi desarrollo. Por ejemplo trabajaremos la suma o adición, usted empieza con varios supuestos como: debe ser capaz de sumar o adicionar números enteros positivos. Debe ser capaz de sumar o adicionar números enteros negativos. Debe ser capaz de sumar números decimales, y no sólo enteros, adicional puede pensar en muchas maneras diferentes con respecto a las funciones que debe cumplir la calculadora en el proceso de suma o adición. Antes de que hayas escrito nada del código, ya sabes cómo desea que se comporte, pero no ha escrito extensos documentos con estos mismos supuesto lo que le lleva a un ahorro de tiempo interesante. Usted inicio y escribió parte del código para suma o adición teniendo en cuenta los supuestos anteriormente analizados y realiza los “tests” correspondientes a sumar 2 y 2, ­5 y 4, 8 y 0, 1.2 y 3.4544, 4 y ­4 entre otras pruebas que usted puede tener en cuenta. Al ejecutarlas, usted puede obtener que la operación se llevó a cabo y es correcta (que funciona de acuerdo con la especificación) o que realmente no es correcta (no cumple con la especificación requerida). Si ha ejecutado todas las pruebas y arrojó el sistema que es correcta cada una, entonces usted puede estar seguro de que la calculadora con respecto a la suma o adición funciona y esta lista para implementar. De los contrario si ejecuta estas pruebas y arroja algunas fallas, entonces usted sabe que la calculadora para sumar o adicionar no funciona. Esto ocurre para todas y cada una de las funciones que implemente la calculadora: resta, multiplicación, división entre otras dependiendo de la necesidad, pero los test dependiendo la especificación de funcionalidades debe probarse por los test. En este punto es donde entran las herramientas con las cuales construiremos nuestro ejemplo y al mismo tiempo aplicando BDD para Javascript con Software Libre a través de Node.JS4 y Jasmine5. Algunos de ustedes ya conocerán Node.JS y el auge que tiene en este momento para construcción de aplicaciones ágiles que incluso funcionan muy bien en los entornos de emprendimiento y startups, tema que le invito a ampliar y leer en anteriores ediciones de eGNUX6 pues es abordado con más rigor. Adicional a esto en Github encuentra el repositorio con los ejercicios del artículo llamado egnux­ jasmine7. ... La segunda parte de este artículo, continuará en la siguiente edición de su revista eGNUX. 4. http://nodejs.org/ 5. http://pivotal.github.io/jasmine/ 6. http://eticagnu.org/egnux/ 7. https://github.com/alejo8591/egnux­jasmine www.eticagnu.org Julio 2013 eGNUX 22
  • 23. “¿Cómo empezar a Desarrollar Aplicaciones Android?” Android es un sistema operativo basado en Linux (esto lo hace súper interesante) diseñado originalmente para dispositivos móviles, tales como teléfonos inteligentes (Smartphone). Hablar, leer, escuchar de Android es hablar de GOOGLE que es propietaria de la patente del sistema operativo. Android fue presentado el 2007 junto a la fundación del Open Handset Alliance: un consorcio de compañías de hardware, software y telecomunicaciones para avanzar en los estándares abiertos de los dispositivos móviles. El primer móvil con el sistema operativo Android fue el HTC Dream y se vendió en octubre del 2008. Para poder desarrollar, es decir programar aplicaciones nativas para Android (aplicaciones nativas son aquellas aplicaciones que se instalan en el propio dispositivo y tiene una extensión .apk), necesitamos conocer las siguientes herramientas: • Android SDK, que es el Software Development Kit. Este nos proporcionará el conjunto de herramientas y librerías que permiten construir nuestras aplicaciones móviles. • Android Developer Studio, se trata del entorno integrado de desarrollo para aplicaciones Android. También existe un plugin para eclipse IDE y para Netbeans. • Emulador, es el elemento que nos permite probar nuestras aplicaciones (también puedes hacerlo en un Smartphone o en una tablet usando la conexión usb). Es similar a una maquina virtual, se simula el funcionamiento del sistema operativo Android. • Lenguaje de Programación, el lenguaje de programación que se necesita conocer para desarrollar aplicaciones en Android, es JAVA. Se usa programación orientada a objetos, polimorfismo, editores de interfaces graficas, archivos xml. Es posible desarrollar aplicaciones híbridas para Android desde otra plataformas como HTML5 y CSS, PHP o Python, pero el desarrollo nativo es y será sobre Java. • Hardware, es bueno recalcar que para lanzar adecuadamente el emulador de Android en el sistema operativo que haya elegido como plataforma de desarrollo, necesitará de buena cantidad de memoria para su trabajo. Mínimo 6 GB de RAM es recomendada. “Arquitectura de Android” La arquitectura de ANDROID se encuentra formada por varias capas que facilitan al desarrollador la creación de aplicaciones. Además, esta distribución le permite al desarrollador acceder a las capas más bajas mediante el uso de librerías para que no tenga que programar a bajo nivel las funcionalidades necesarias para que una aplicación haga uso de los componentes de hardware de los teléfonos. Cada una de las capas utiliza elementos de la capa inferior para realizar sus funciones, es por ello que a este tipo de arquitectura se le conoce también como pila. Se muestra un gráfico que esquematiza este modelo. Por José Burgarín jlbugarin@gmail.com @jlbugarin www.eticagnu.org Julio 2013 eGNUX 23
  • 24. Kernel de Linux. Como ya señalamos anteriormente el núcleo de Android está basado en el kernel de Linux versión 2.6, muy idéntico al que encontrarás en una distro como Ubuntu y otras, simplemente adaptado a su ejecución en dispositivos móviles. Este se comporta como un elemento de abstracción entre el hardware, ya que gestiona los diversos recursos del teléfono y el resto de las capas de la arquitectura, ya que gestiona los procesos, elementos de comunicación entre otros. Librerías. Se constituyen en la segunda capa de la arquitectura y se ubica sobre el kernel constituida de las bibliotecas nativas Android. Éstas se encuentran desarrolladas en C o C++ y compiladas para la arquitectura hardware específica del teléfono. El objetivo de las librerías es proporcionar funcionalidad a las aplicaciones para tareas que se repiten con frecuencia, evitando tener que codificarlas cada vez y garantizando que se llevan a cabo de la forma “más eficiente” y “transparentemente posible". Entre las librerías incluidas habitualmente encontramos OpenGL (motor gráfico), Bibliotecas multimedia (formatos de audio, imagen y video), Webkit (navegador), SSL (cifrado de comunicaciones), FreeType (fuentes de texto), SQLite (base de datos), entre otras. Runtime. Se encuentra formado por librerías, ya que no se trata de una capa propiamente dicha, Aquí encontramos las librerías con la funcionalidades habituales de Java así como otras específicas de Android. El componente principal es la máquina virtual Dalvik. Esta máquina virtual ejecuta las aplicaciones codificadas en Java y compiladas posteriormente en formato .dex. Dalvik es una variación de la máquina virtual de Java y no es compatible con el bytecode de Java. Framework de aplicaciones. Se encuentra formada por todas las clases y servicios que utilizan directamente las aplicaciones para realizar sus funciones. Proporciona una plataforma abierta para el desarrollo que permite la reutilización de componentes. A través de este Framework se puede acceder a los dispositivos, información de ubicación, ejecutar servicios, etc. Aquí podemos encontrar: •Activity Manager •Windows Manager •Content Provider •View •Notification Manager •Package Manager •Telephony Manager •Resource Manager •Location Manager •Sensor Manager •Cámara y Multimedia Figura 1. Arquitectura Android. www.eticagnu.org Julio 2013 eGNUX 24
  • 25. Aplicaciones. En esta capa se encuentran todas las aplicaciones del dispositivo, tanto las que tienen interfaz de usuario como las que no, las nativas y las administradas, las que vienen preinstaladas en el dispositivo y aquellas que el usuario ha instalado. En esta capa encontramos también la aplicación principal del sistema: Inicio (Home) o lanzador (launcher), porque es la que permite ejecutar otras aplicaciones mediante una lista y mostrando diferentes escritorios donde se pueden colocar accesos directos a aplicaciones o incluso widgets, que son también aplicaciones de esta capa. “El Play de Google” Se trata de la tienda de software en línea de Google para Android. Permite a los usuarios descargar aplicaciones para sus dispositivos, sean gratuitas o de pago y a los desarrolladores contar con una plataforma para publicar sus proyectos. Ha superado la cifra de 700,000 app disponibles. Su ejecutable se llama Vending.apk El registro para desarrolladores cuesta $ 25.00 donde los mismos reciben 70% de las ventas generadas de sus aplicaciones cargadas en la plataforma. “Estructura de Aplicación Android" Toda aplicación para Android sigue una misma estructura básica que se compone de los siguientes elementos: ­ Directorio SRC: Se encuentra toda la lógica de aplicación, todas las clases programadas en JAVA. Dentro de ella puedes definir distintos paquetes, donde puedes dividir en capas tus reglas de negocio. ­ Android Library: Se encuentran todas las librerías propias del SDK de Android, dependiendo la versión elegida al crear el proyecto tendrá una versión u otra. ­ Directorios RES: Se encuentran todos los archivos con los recursos que usan la aplicación; las imágenes, archivos de idiomas, estilos, etc: • Drawable, es el directorio con todas las imágenes de la app. • Directorio layout, es donde se encuentran las distintas “pantallas” de la aplicación, es decir, los archivos xml con las interfaces visual asociadas a las activities. • Values, es el directorio con los xml de contenido de la app. ­ Directorio Bin: Se encuentran todos los archivos generados por la propia app. ­ Directorio Gen: En esta carpeta esta el archivo R.class, éste contiene lo identificadores los recursos usados por tu proyecto: imágenes, layout, etc... ­ Directorio Assests: Es el directorio donde se encuentran los archivos auxiliares de tu aplicación: imágenes, audios, vídeos... ­ Directorio Lib: Es el directorio donde se encuentran las librerías externas importados que necesites. ­ Android Manifest: Es el archivo básico de configuración de toda aplicación Android. En él se definen todas las activities de la app, sus permisos, etc... Es posible encontrar mayor información, videotutoriales y cursos libres en la dirección: http://www.consultorjava.com www.eticagnu.org Julio 2013 eGNUX 25
  • 26. MMoozziillllaa,, pprrooppoonnee oottrraa ffoorrmmaa ddee ccoommppaarrttiirr nnuueessttrrooss iinntteerreesseess eenn IInntteerrnneett.. Cuando Mozilla dice que quiere cambiar la web, lo dice muy en serio. La última iniciativa es una nueva propuesta para compartir nuestros intereses con los anunciantes y los sitios web que visitamos. Ahora mismo, esos intereses no los compartimos explícitamente sino que se obtienen analizando las páginas que visitamos y “siguiendo” nuestros pasos de navegación. Lo que Mozilla propone es darle al navegador la posibilidad de transmitir esos intereses a las páginas web, todo bajo nuestro control. Firefox analizaría nuestro historial de navegación extrayendo nuestros intereses. Después podríamos compartirlos (si queremos) con ciertas páginas web para tener una experiencia personalizada. De esta forma, nuestro historial seguiría siendo privado y tampoco tendríamos que conectarnos con Facebook u otras redes sociales. Fuente: www.genbeta.com UUnn SSooffttwwaarree LLiibbrree ppaarraa qquuee hhiijjooss yy ppaaddrreess pprrooggrraammeenn ssuuss pprrooppiiooss vviiddeeoojjuueeggooss.. El software Pilas­engine (http://pilas­engine.com.ar) es una herramienta sencilla y potente pensada especialmente para que chicos y padres aprendan juntos a programar videojuegos y así convertirse en verdaderos desarrolladores de software. Este proyecto está creado por la cooperativa de software libre Gcoop y está integrado a Huayra, el sistema operativo de Conectar Igualdad. La idea principal es presentar diferentes juegos y desafíos para aprender, de a poco, a programar. No se necesita ningún conocimiento de computación previo ni manejar el idioma inglés: este motor utiliza el español en todos sus contenidos: software, manuales, juegos y tutoriales. Así, jugando, y paso a paso, los usuarios podrán crear sus propios videojuegos. Fuente: www.conectarigualdad.gob.ar AAnnddrrooiidd ssiigguuee lliiddeerraannddoo eell mmeerrccaaddoo ddee ttaabblleettaass dduurraannttee eell sseegguunnddoo ttrriimmeessttrree ddeell 22001133. En los últimos meses hemos hablado mucho de la caída en la venta de PCs y cómo ha aumentado la venta de dispositivos Post­PC, es decir, tabletas y smartphones. De hecho, aunque sea un tema que genera bastante controversia, las proyecciones de ventas indican que en 2017 se venderán 6 tabletas por cada PC vendido; un dato que creo que nos da una buena foto de cómo han cambiado nuestros hábitos de acceso a la información. Fuente: Planetubuntu.es www.eticagnu.org Julio 2013 eGNUX 26