Download - eGNUX #07
Hola a todos, nos
encontramos un mes más
aquí, compartiendo con
ustedes la edición #07 de
eGNUX. Este mes ha sido
para la asociación bastante
movido pero con muchas
cosas positivas para
nosotros, entre ellas el
inicio de la realización de
nuestro evento LibreCole,
del cual podrán tener más
información en un artículo
presente en esta edición.
Además, debemos resaltar que este nuevo número
cuenta con colaboradores de talla internacional, los
cuáles nos cuentan como el Software Libre forma
parte de su día a día. También tenemos la segunda
parte, que les prometimos, de cómo desarrollar
aplicaciones con metodologías ágiles y JavaScript.
No solo les traemos los artículos antes mencionados
sino que también contamos con la presentación de
los Sistemas Operativos Huayra, creado en
Argentina, y Linux Mint 15.0 e inclusive un artículo
que nos hablará sobre PhpSysInfo.
Bueno, para no hacer tan larga esta breve
introducción, solo me queda agradecer a todos los
colaboradores que han apartado un espacio en su
ocupada agenda y a ustedes, los lectores, por
apoyarnos con sus comentarios.
Disfruten, cualquier duda aquí estamos para
resolverla. Saludos!
30 de Setiembre de 2013
Guadalupe Lip Curo.
Directora editorial
Dirección editorial y
diagramación:
Diseño de carátula:
Suscripciones:
Directiva 2013
Presidenta:
Vicepresidente:
Secretario:
Tesorero:
Asesor:
Contacto
Web:
Email:
Twitter:
Guadalupe Lip Curo.
degui.
Guadalupe Lip Curo.
Gustavo Fernández Chavez.
Angel Quiroz Campos.
José Damián Samamé.
Gustavo Tomapasca Panta.
www.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.
www.eticagnu.org Setiembre 2013 eGNUX 03
06 Comunidad de Software Libre, de la sede
de Occidente de la U. de Costa Rica.
Con el paso de los años, la presencia del software
libre en el ámbito universitario costarricense es
una tendencia cada vez más común.
08 Huayra GNU/Linux.
El día en que las vacas vuelen.
Huayra es un nuevo sistema operativo, que fue
presentado con la siguiente farse: “Huayra
significa viento, y el sistema operativo libre
Huayra se representa con una vaca voladora..."
09 IBMI más Linux.
IBM ofreció habilitar todas sus plataformas de
hardware para soportar Linux, incluyendo sus
sistemas tipo mainframe, basados en RISC y
basados en plataformas x86 (Intel).
11 Desarrrollo a través de metodologías
ágiles con Software Libre. (Parte 2).
Jasmine es un Framerwok de pruebas BDD
basado en el lenguaje de programación
JavaScript. Es un conjunto de herramientas que
puede utilizar para probar código JavaScript.
14 Empezó el LibreCole 2013.
En el Colegio "San Pedro", de Sán José.
Desde el sábado 21 de Setiembre, empezó el
LibreCole 2013 en las aulas del colegio "San
Pedro", del distrito de San José, Lambayeque.
EtiCAGNU, junto a Mozilla Perú y la USAT.
17 Linux Mint 15.0.
A lo que va de este año Linux Mint se ha
convertido en la distribución más vendida en el
2013. Entonces ¿Por qué Linux Mint ha llegado a
ser la más preferida de los usuarios?.
19 PHPSYSINFO.
Estadísticas Hardware del
Servidor.
21 NOTICIAS BREVES
PHPSysinfo, como se puede
deducir, es una aplicación
desarrollada en el lenguaje de
programación PHP, que
actualmente se encuentra en su
versión 3.1.7.
www.eticagnu.org Setiembre 2013 eGNUX 04
EDWARD GIANFRANCO
DELZO ROMERO
Es Ingeniero de Sistemas y Computación de la Universidad
Católica Santo Toribio de Mogrovejo, Perú. Actualmente
labora en el Vicerrectorado de Investigación de la
Universidad Católica Santo Toribio de Mogrovejo, asi mismo
es Docente Universitario.
MICHAEL
ARIAS CHAVES
Director de Carrera Informática Empresarial (20092013)
Universidad de Costa Rica, Sede de Occidente.
ALEJANDRO
ROMERO TRIANA
Github: https://github.com/alejo8591
Linkedin: http://www.linkedin.com/in/alejo8591
Twitter: @alejo8591
Facebook: fb.com/alejo8591
Skype: alejo8591
ESTEBAN
GUGLIERMINO
Business Unit Executive, System X, Spanish South America at
IBM, Egresado de la Pontificia Universidad Católica del Perú.
WWW.ETICAGNU.ORG/WETICA
pilmee.
www.eticagnu.org/wetica/author/pilmee
Saludos. Después de haber leído el articulo
sobre paginación de esta pagina (click aqui),
les dejo una clase sencilla que programe para
gestionar todo este tema. y lo llamamos asi:
NOTA: para gestionar la conexión a la base de
datos uso PDO.
En este ejemplo, les voy a mostrar el como
obtener datos del servidor (formato json) y
almacenarlos en el navegador a través de
“localStorage“; Para que así podamos evitar
conexiones innecesarias al servidor.
Hace mucho tiempo que quería escribir algo
sobre alguna de estas aplicaciones de diseño
gráfico que encontramos en los repositorios de
software libre. Confieso que al inicio empecé a
utilizarlos, casi de forma obligada, pero al
final terminaron por convencerme y
agradarme.
degui.
www.eticagnu.org/wetica/author/degui
pilmee.
www.eticagnu.org/wetica/author/pilmee
www.eticagnu.org Setiembre 2013 eGNUX 05
Con el paso de los años, la presencia
del software libre en el ámbito
universitario costarricense es una
tendencia cada vez más común. Hoy
en día, la consolidación de las
denominadas comunidades de
software libre, han impulsado que el
software sea de uso libre, se pueda
compartir para ser mejorado y
distribuido sin ningún tipo de
restricción. Este tipo de agrupaciones
son conformadas por personas que
buscan colaborar brindando ayuda
voluntaria para fortalecer el uso de
software libre mediante charlas,
apoyo técnico y en general compartir
sus experiencias con el resto de las
personas.
En Costa Rica, existe desde el año 2007 la
Red Costarricense de Software Libre (RCSL),
una organización que promueve el uso, el
estudio, la investigación y el desarrollo del
software libre. Esta organización sin fines de
lucro sirve como punto de encuentro para
que otros grupos con objetivos en común
puedan trabajar en conjunto en pos de una
misma causa. Como parte de la RCSL, se
encuentra la Comunidad de Software Libre
de la Universidad de Costa Rica, una
comunidad que nació en la Sede Rodrigo
Facio de dicha universidad, pero que ha
logrado llegar a varias de sus Sedes
Regionales. Como parte de esa expansión, es
que en agosto del 2009, que se crea
oficialmente la Comunidad de Software Libre
de la Sede de Occidente de la Universidad de
Costa Rica, conformada por la Sede de
Occidente y el Recinto de Tacares.
En esta comunidad regional hemos ido
trabajando en busca de brindar todo el apoyo
hacia la difusión del uso de herramientas de
software libre y demás objetivos de la
Comunidad de la Universidad de Costa Rica
(UCR).
Dentro de sus principales aportes que se han
brindado están la conformación de la
comunidad tanto en el Recinto de San Ramón
con en el Recinto de Tacares de Grecia,
buscando la participación activa de los
estudiantes de toda la Sede de Occidente. El
viernes 3 de septiembre de 2010, se realizó el
primer evento de software libre de la Sede de
Occidente. El viernes 9 de septiembre de
2011 el segundo, y viernes 28 de septiembre
se realizó el tercer evento.
Comunidad de SoftwareLibre de la Sede deOccidente de laUniversidad de Costa Rica
Img. 1. Mapa de las Sedes de la Universidad de Costa Rica
Por: Mci. Michael Arias Chaves.
www.eticagnu.org Setiembre 2013 eGNUX 06
Para este 24 de
septiembre se estuvo
llevando a cabo la cuarta
edición en la Sede de
Occidente. Esta serie de
eventos ha permitido
traer a toda la población
universitaria de la región
y la comunidad en
general una serie de
charlas, talleres,
demostraciones,
festivales de instalación y
opciones de capacitación
en herramientas de
software libre. Además,
en la Sede de Occidente
se llevó a cabo el I
Encuentro Nacional de Comunidades de
Software Libre 2012, llevado a cabo entre el
3 y 4 de febrero del 2012, y que contó con
una amplia participación de otras
comunidades del país.
También, los miembros de la Comunidad de
la Sede de Occidente han participado de
manera activa en otros eventos organizados
por la RCSL, visitando centros educativos con
la Universidad Nacional de Costa Rica en su
campus en Nicoya, así como otras sedes de la
UCR como la Sede Central, la Sede del
Pacífico y la Sede de Limón.
La existencia de la Comunidad de la Sede de
Occidente así como las otras comunidades
dentro de la Red Costarricense de Software
Libre, ha traído consigo múltiples beneficios
para la comunidad estudiantil, docente y
administrativa dentro de la Universidad de
Costa Rica. Además, la Comunidad de
Software Libre se ha convertido en un pilar
indispensable para lograr llevar a cabo el
acuerdo del Consejo Universitario de la
Universidad de Costa Rica en donde se
oficializa la migración a software libre en esta
casa de estudios superiores.
Saludos..!
Foto. 1. Parte de los integrantes Comunidad de Software Libre de la Sede de Occidente.
Fotografía 2. Representación de los
miembros de la Comunidad de Software
Libre de la Universidad de Costa Rica.
www.eticagnu.org Setiembre 2013 eGNUX 07
Software Libre Costarricense.
Antes de comenzar a hablar de
este nuevo sistema operativo libre
creado en Argentina debemos
conocer un poco más sobre las
razones que impulsaron a sus
creadores a llevarlo a cabo.
Todo comenzó con la creación de
un programa de ayuda social
llamado Conectar Igualdad en
Abril del 2010, el cual busca
otorgar una netbook a todos los
estudiantes y docentes de las
escuelas públicas secundarias de
educación especial, y de los
institutos de formación docente,
pero además se busca capacitar a
los docentes en el uso de éstas
para que pueden ellos transmitir
luego lo aprendido a sus alumnos
de la mejor forma. Además, se
busca que todos los alumnos
tengan las mismas oportunidades
que los demás jóvenes de su país,
teniendo a su alcance los mejores
recursos tecnológicos que permita
eliminar la brecha digital.
Ahora que ya conocemos un
poco más sobre qué fue lo que
impulsó la creación de este
nuevo sistema operativo, pues
se los presentaré.
Huayra es un nuevo sistema
operativo que fue presentado
oficialmente el día 13 del
presente mes con la siguiente
frase “Huayra significa viento, y
el sistema operativo libre Huayra
se representa con una vaca
voladora, ya que durante muchos
años pensamos que la posibilidad
de desarrollar valor agregado
para nuestro país sucedería 'el día
que las vacas vuelen'. El día en el
que las vacas vuelan ha llegado.
(…)”. Ha sido desarrollado por
CENITAL (Centro Nacional de
Investigación y Desarrollo de
Tecnologías Libres), el cual es un
área del programa Conectar
Igualdad y está conformado por
un equipo de trece personas.
Este nuevo sistema operativo
nace de la necesidad de
independencia por parte del
programa Conectar Igualdad ya
que para ellos, si bien es cierto,
consideran necesario “seguir su
propio camino” mas no creen que
sea necesario inventar todo desde
cero y es por eso que se
decidieron a hacer uso de
GNU/Linux y poder gozar de
“pararse sobre un gigante” mas
no tener que invertir dinero
alguno.
Huayra se ha basado en Debian,
ya que esta distribución
GNU/Linux ofrece los beneficios
de poder ser modificada según
sean las necesidades propias del
usuario, permite el ingreso de
nuevos actores y además cuenta
ya con 25 mil paquetes de
software y soporta más de 10
arquitecturas de hardware.
Los beneficios que ofrece
Huayra para la comunidad
estudiantil y de profesores son
muchos dado que ha sido
creado especialmente para
satisfacer sus requerimientos,
entre ellos tenemos:
• Permite que al guardar
archivos en una determinada
carpeta, estos queden
automáticamente compartidos.
• Ofrece más de 25 mil
programas al alcance de todos y
además la posibilidad de
descargar miles de contenidos
más desde sitios web como
Educ.ar
• Como buen sistema operativo
libre, también permite que otras
personas modifiquen su
código para agregar valor a
éste.
• Da la posibilidad de no tan solo
cambiar el fondo de
pantalla sino que te permite
modificar además íconos,
ventanas, menúes e
incluso la barra de tareas
entre otros.
• Y finalmente, gracias a que
cuenta con un centro de
accesibilidad, el usuario
podrá activar de manera más
rápida y sencilla las
ayudas visuales, auditivas y
motrices.
Para finalizar, no puedo culminar
este artículo sin felicitar la
iniciativa de independencia y
deseo de sacar adelante el
desarrollo e investigación de
tecnologías libres. Además, de
dejarles el link en el que podrán
descargarlo y probarlo
(http://huayra.conectarigualdad.
gob.ar/).
Por: Guadalupe Lip Curo.
www.eticagnu.org Setiembre 2013 eGNUX 08
En 1999, IBM hizo una serie de anuncioscomprometiendo totalmente el foco de la empresa asoportar Linux.IBM ofreció habilitar todas sus plataformas dehardware para soportar Linux, incluyendo sussistemas tipo mainframe, basados en RISC y basadosen plataformas x86 (Intel). La compañía ofreciótambién lanzar versiones para Linux de sus productosde software y desarrollar prácticas de servicioscentradas en Linux.Es decir, hace más de 14 años, IBM vio en Linux unaplataforma sobre la cual muchos de sus clientes y lasindustrias a las cuales pertenecen iban a encontrarvalor, estabilidad y soluciones de negocios, tomandode esa forma una decisión trascendental. Asimismo,dedicaron desde ese entonces una gran cantidad depersonas a la comunidad Linux con la meta de haceravanzar Linux y la tecnología open source.Entonces, más de una década después,¿cumplió IBM sus promesas? ¿Fue su compromisocon Linux genuino o solo publicidad?Este artículo busca repasar el cumplimiento de dichosofrecimientos en productos, servicios y soporte a lacomunidad.Linux ha logrado cubrir un nicho sustancial en loscentros de cómputo, ya sean grandes o pequeños y eneste punto, nadie disputa la importancia de su poderde quedarse permanentemente como un sistemaoperativo preferente. Pero ésta no fue siempre larealidad. La adopción de Linux de parte del sectorempresarial no fue inmediata ni mucho menos. En1999, solo una pequeña parte de los clientesempresariales habían mostrado algún interés por
Linux y el open source. Existían algunas aplicaciones‘de marca’ disponibles, pero realmente muy escasasque podían soportar cargas de trabajo empresariales.Otra preocupación era la falta de soporte de tercerosa los sistemas operativos y a las aplicaciones,compañías que se pudieran hacer responsables.Mientras que el soporte brindado por la comunidades gratis y usualmente eficiente, la escasez derecursos y responsabilidad de un tercero hacía queun cliente no tenga la confianza suficiente parautilizar Linux cuando lo necesitaba para cargas detrabajo importantes. Finalmente, habían tambiénpreguntas de los clientes acerca de cómo integrar dela mejor manera a Linux en los centros de datos queya se estaban diseminando en muchos sistemasoperativos diferentes. Linux, siendo una opciónsólida para muchas cargas de trabajo no era (ni es)una panacea, debido a que muchas empresas aunrequieren una infraestructura heterogénea.A la luz de estos desafíos, el compromiso que IBMtuvo desde un principio hacia Linux aparentaba serextraño para algunos observadores de la industria.Era difícil entender por qué una empresa que habíahecho mucho dinero en sistemas operativos yaplicaciones de software invierta de manera decididaen soportar una alternativa gratuita. Losobservadores pensaban que de no tener éxito, IBMhabría invertido en una cantidad de recursossignificativos y en tiempo que podría haber sidomejor usado en mejorar los productos existentes. Porotro lado, se creía que si aumentaba la demanda porLinux, la venta de productos de hardware y software‘tradicionales’ declinaría. A pesar de que muchas deestas discusiones estaban siendo conducidas porcompetidores de IBM, eran preocupaciones realesque rodeaban la ‘aventura’ de Linux e IBM juntos.
Por: Esteban Gugliermino.
Business Unit Executive, System X, Spanish South America at IBM.
Egresado de la Pontificia Universidad Católica del Perú.
www.eticagnu.org Setiembre 2013 eGNUX 09
Linux y la ciudadanía comunitariaEl respaldo mayoritario a Linux y al movimiento opensource fue crítico en los primeros días. Elofrecimiento de soporte de parte de IBM en 1999 fueun gran auspicio, pero¿habría una inversión tangible que respalde laspalabras de la empresa?IBM respondió esa pregunta rápidamente alestablecer el Centro de Tecnologías Linux (LTC, porsus siglas en inglés). Con 200 empleados dedicados amejorar todos los aspectos de Linux, pero sobre todo,aquellos que eran más relevantes a la computaciónempresarial.Por ejemplo, el LTC se dedica a trabajar cerca de lacomunidad Linux para mejorar la escalabilidad,estabilidad, seguridad y administración de sistemascon la meta de expandir el alcance del sistemaoperativo y asegurar que pueda manejar hasta lascargas de trabajo más demandantes. El LTC tambiéncolabora activamente con clientes que desarrollan yhacen pruebas sobre soluciones Linux grandes ypequeñas y es responsable de que los sistemas dehardware IBM sean compatibles con Linux.El LTC creció de manera veloz, y cuenta ahora conmás de 600 empleados en 16 países. Estos empleadosde IBM han logrado completar un porcentajeconsiderable de los cambios de código que se reflejanen la versión actual de Linux.IBM y los sistemas.Es importante tener en cuenta que si bien existe unaversión de Linux que corre prácticamente encualquier procesador y cualquier arquitectura, desdesupercomputadores gigantes hasta abridores depuertas de cocheras, la verdadera habilitación deLinux va más allá de asegurar que el sistemaoperativo corra ‘bien’ sobre un servidor en particular.Los clientes empresariales no compran simplementesus equipos para correr un sistema operativo, sinoque compran servidores para resolver problemas denegocios. Un sistema que corra Linux, pero que nohaga mucho más, es una pérdida importante dedinero.
IBM, comparado a sus competidores, ha asumido esteconcepto básico de manera primordial y ha invertidouna considerable suma de dinero y gente paraasegurar que cada una de sus familias de servidorestenga un amplio rango de aplicaciones, middleware ysoftware de administración basados en Linux,dándole a estos sistemas de hardware una mucho másrica propuesta de valor.Probablemente el mejor ejemplo de esto sea elvenerable mainframe. Desde anunciarlo formalmenteen el 2000, Linux sobre el mainframe se ha convertidoen una opción popular entre los clientesempresariales. Muchas distribuciones de Linuxcorren hoy en día en el mainframe, las más conocidasson SuSE y Red Hat. Estas son las mismasdistribuciones, usando las mismas rutinas yherramientas, que los administradores ydesarrolladores de Linux han amado en el tiempo, loque significa que no tienen que aprender temascomplejos de los mainframes para poder usar elsistema.Hay también miles de aplicaciones de proveedoresindependientes que han sido recompiladas para serusadas en el Linux de mainframe, de manera quemuchas empresas van a encontrar que aplicacionesque corrían en sus servidores Intel pueden ser ahoracorridas desde sus mainframes.Estos sistemas, combinados con Linux, traencapacidades y características que no pueden serigualadas por otras empresas, consiguiendo nivelesde virtualización sin precedentes. Puede corrercientos de cargas de trabajo simultáneamente,asegurándose que cada carga de trabajo está aisladade las demás y que tiene el nivel correcto de recursosdel sistema de acuerdo a las necesidades del negocio.El sistema de administración en un ambiente de esetipo es completamente automatizado y requiremuchos menos administradores por sistema o cargade trabajo cuando se compara con servidores x86.Estas capacidades avanzadas de virtualización yadministración, junto con la escalabilidad amplia deestos sistemas, convierte a esta solución en óptimapara ambientes de consolidación masiva deservidores.
www.eticagnu.org Setiembre 2013 eGNUX 10
La primera parte de este interesante artículo lo puedes
encontrar en la edición anterior de este número.
Software Libre para tests con BDD.
Instalando Jasmine
¿Que es Jasmine? Jasmine es un Framerwok de pruebas
BDD basado en el lenguaje de programación JavaScript.
Es un conjunto de herramientas que puede utilizar para
probar código JavaScript. Lo primero que debe hacer es
descargar la última versión estable desde el repositorio
oficial. Luego descomprime y este paquete al mismo
tiempo de contener las librerías que realizan las tareas
de tests, contiene la estructura básica de un proyecto
para jasmine:
Inicialmente y sin modificar ni alterar esta estructura,
puede ejecutar a través de un navegador el archivo
HTML con nombre SpecRunner.html, si todo esta
correctamente le debe arrojar la siguiente pantalla:
Este archivo ha corrido algunas pruebas de ejemplo en el
código que viene como prueba del funcionamiento
básico para jasmine. Se está poniendo a prueba un
objeto llamado Player y otro Song. Cada vez que desee
ejecutar las pruebas, sólo hay que cargar/recargar el
navegador. En el directorio src, verás dos objetos para
probar: un Player y Song. El directorio spec almacena las
pruebas utilizando BDD con la notación de Jasmine para
el objeto Player. Puede incluso revisar el directorio spec
le ayudará a tener un acercamiento con la sintaxis de
Jasmine.
Es probable que no le interese probar este ejemplo, por
lo que debe vaciar la los directorios de spec y src. Al
cambiar los nombres de archivo, tendrá que editar
SpecRunner.html indicando los nombres de los archivos
correctos para ejecutar los tests.
Utilizando la lógica de BDD para definir las test.
Cree dentro de la carpeta src un documento Javascript
llamado helloWorld.js con una función básica que
devuelve un “Hello World”:
Ahora en el HTML SpecRunner.html adicionamos en la
línea indicada para scripts de Javascript con referencia
<! include source files here... > la nueva ubicación si
es el caso y si no el nombre del documento fuente
Javascript para ejecutar el test. (tal como se muestra en
la imagen 4). Ahora si agregamos nuestro archivo en el
directorio spec con nombre helloWorldSpec.js que
contendrá el contenido de las tests para aplicar BDD,
recuerde que en esta caso son muy básicos y a medida
que vamos trabajando crece un poco la complejidad.
(como se muestra en la imagen 5).
De nuevo vamos a nuestro documento SpecRunner.html
y adicionamos el documento de las especificaciones y los
valores para realizar el tests BDD en la línea de código
llamada <! include spec files here... >. (como se
muestra en la imagen 6).
Imagen 1. Estructura básica para proyectos jasmine.
Por Alejandro Romero Triana
@alejo8591
Imagen 2. Pantalla de verificación.
Imagen 3. Función básica de Javascript.
www.eticagnu.org Setiembre 2013 eGNUX 11
Luego de eso vuelve a ejecutar o a refrescar el
navegador del documento SpecRunner.html y si todo
salio bien, quiere decir que el test se ejecutó y se llevó a
cabo, lo que dice que los criterios se cumplieron y es
operable el software:
Pero ¿qué ocurrió exactamente y qué significan
elementos como "describe" en el código?
describe("Hello World") ... es lo que se llama una suite El
nombre de la suite ("Hello World" en este caso) por lo
general define un componente del recurso para testear.
esto podría ser una clase, una función, u otro elemento.
Esta suite se llama "Hello world"; es una cadena de
texto, no código.
En el interior de la suite (técnicamente, en el interior
cuenta con una función anónima), es el bloque it(). Esto
se llama una especificación. Es una función de
JavaScript que dice lo que un pequeño pedazo de su
componente debe hacer. Entonces si el código y la
prueba se llevó a cabo devuelva ("Says Hello"). Para
cada suite, usted puede tener cualquier número de
especificaciones para las pruebas que desee ejecutar.
Pero como ocurrió el tests.
En este caso, se está probando si helloWorld() regresa
efectivamente "Hello Word". Esta verificación se
denomina matcher. Jasmine incluye una serie de
comparadores o predefinidos,
pero usted también puede
definir su propio matcher.
Esperamos que el dato que
devuelve la función
helloWorld() es igual
(toEqual) a la cadena de texto
"Hello World". Aquí es donde
se aplica las indicaciones
iniciales con respecto a BDD,
asumo la condición de que mi
código inspeccione si
realmente se cumple con la
especificación inicial; que
básicamente es, mi saludo es correcto, entonces el tests
tuvo éxito y el código es totalmente funcional.
Ahora Vamos al ejemplo de la calculadora.
Construimos nuestra calculadora con la operación suma
en un archivo llamado calculator.js y creamos un objeto
llamado Calculator() y un método llamado add() que
realiza la operación de suma:
Ahora agregamos las pruebas que vamos a realizar con
respecto a las operaciones de suma, 2 y 3, 10 y 8, 24 y
32, 27 y 3, 2 y 3, 2.5 y 3.5:
Imagen 4. Indicando la ubicación del documento Javascript.
Imagen 5. Contenido de las tests para aplicar BDD.
Imagen 6. Adicionando el documento de las especificaciones.
Imagen 7. Ejecución satisfactoria del test.
Imagen 8. Ejemplo de calculadora.
Imagen 9. Operaciones de suma.
www.eticagnu.org Setiembre 2013 eGNUX 12
Para este ejemplo agregamos lo
correspondiente a las fuentes de código
fuente src y los test de specs. (tal como
se muestra en la imagen 10).
Por último el resultado que nos arroja,
para las pruebas unitarias de las
operaciones que definimos en los tests a
través de jasmine nos arroja el siguiente
resultado. (como se puede observar en la
imagen 11).
Que pasa cuando ocurre un error
en los tests.
Continuamos con el ejemplo de la
operación suma de la calculadora para
verificar cuando ocurre un error en el
test, vamos a tomar la última operación
con un valor de igualdad (toEqual)
errado. (ver imagen 12)
Por último en la siguiente imagen
podemos ver que nos señala el error de
la operación que fue errada. (ver imagen
13).
En conclusión y durante el artículo
planteamos cómo se complementa TDD
con BDD y que tienen que ver las
metodologías de desarrollo ágil,
tomamos un ejemplo real y a través de
Jasmine una herramienta del Software
Libre para escribir tests escrito en y para
Javascript.
Lo invito a que visite el sitio oficial y
conozca todas las funciones que puede
aprovechar de Jasmine con respecto a
BDD, y recuerde que encuentra el
código del repositorio para el ejemplo
en Github.
Imagen 10. Agregamos fuentes de código y fuentes src.
Imagen 11. Resultado de pruebas unitarias.
Imagen 12. Error de ejecución de la operación suma.
Imagen 13. Se indica el error de la operación.
www.eticagnu.org Setiembre 2013 eGNUX 13
Desde el sábado 21 de Setiembre, empezó el LibreCole 2013 en las aulas del colegio "San Pedro",
del distrito de San José, Lambayeque. EtiCAGNU, junto a Mozilla Perú y la Universidad Católica
Santo Toribio de Mogrovejo, capacitarán a un grupo de estudiantes y docentes, en el uso de
Fedora 14, LibreOffice y el manejo de las Laptop's XO. A continuación compartimos las
fotografías más destacadas de lo que va del evento.
Escolares del Colegio "San Pedro", junto a estudiantes y docente USAT, y asociados EtiCAGNU.
www.eticagnu.org Setiembre 2013 eGNUX 14
Asociado Ivan Uriarte dictando el taller de LibreOffice Writer.
Escolares "San
Pedrinos", haciendo
uso de las Laptop's
XO, en el taller de
LibreOffice Writer, el
sábado 28 de
Setiembre.
Desde las 8:30 am, los alumnos y alumnas del colegio "San Pedro", esperaban
ordenadamente en su "Aula de Innovaciones Pedagógicas" recibir su primera
capacitación introductoria de aplicaciones de Software Libre. La asistencia e
interes por parte de los escolares fue gratificante, ya que participaron alumnos
de difrentes grados y secciones.
En la primera seman
empezamos con el dictado del
taller Introductorio a Fedora 14,
y el uso de la aplicación
LibreOffice Writer, donde se
capacitó a más de 30 alumnos
en el manejo del entorno de
escritorio GENOME, y en la
segunda sesión se hizo uso de
las funciones básicas y
avanzadas de edición de hoja
de texto de Writer.
Ambos talleres fueron dictados
por el asociado Ivan Uriarte
Uriarte, estudiante de Ingeniería
de sistemas y Computación, de
la Universidad Católica Santo
Toribio de Mogrovejo, Chiclayo.
www.eticagnu.org Setiembre 2013 eGNUX 15
Estas dos primeras semanas desarrollando el
LibreCole 2013, ha sido posible gracias a la
confianza del Colegio "San Pedro", a su
Director Juan Fernández Agurto, y a la
docente Karina Soto (responsable del Aula de
Innovación Pedagógica). Y sobre todo al
grupo humano que hizo posible este evento:
Luis Vargas Carrasco (Jefe de proyecto
LibreCole 2013), Guadalupe Lip Curo, Ivan
Uriarte Uriarte, Gustavo Tomapasca Panta,
Angel Quiroz Campos, Gustavo Santisteban
Espinoza, Karla Vega Latorre, Gustavo
Fernández, entre otros. Además de las
instituciones que participaron en su
organización: Universidad Católica Santo
Toribio de Mogrovejo y Mozilla Perú.
Si nuestros lectores desean seguir el desarrollo
del LibreCole, en las siguientes semanas
(sábado 05, 12 y 19 de Octubre), les invitamos a visitar la página web del LibreCole:
www.eticagnu.org/librecole, y la galería de fotos donde encontraran estas y muchas otras fotos
más: http://www.flickr.com/photos/eticagnu.
Alumnos del colegio "San Pedro" utilizando las
Laptop's XO.
En la segunda semana, sábado 28 de
setiembre, se continuo con la programación
del evento libreCole 2013. Esta vez se
capacitó, en tres horas, a los escolares en el
uso de la aplicación LibreOffice Calc,
mostrandoles con ejemplo prácticos como
hacer uso de las funciones básicas y
avanzádas de esta herramienta.
Aunque el uso de las Laptop's XO, a diferencia
de las PC's de escritorio convencionles usadas
por el resto de alumnos, dificultó un poco el
avance del taller, al final se logro cumplir con
el objetivo de que todos los alumnos terminen
con éxito su taller de hoja de calculo con
LibreOffice Calc.
Este taller fue dictado por el asociado
Gustavo Tomapasca Panta, estudiante de
Ingeniería de Sistemas y Computación de la
Universidad Católica Santo Toribio de
Mogrovejo, Chiclayo.
Parte del equipo organizador, LibreCole 2013.
www.eticagnu.org Setiembre 2013 eGNUX 16
A lo que va de este año Linux Mint se ha
convertido en la distribución más vendida en el
2013. (Todostarups 2013). Entonces conlleva a la
pregunta:
¿Por qué Linux Mint ha llegado a ser la más
preferida de los usuarios?.
Para dar respuesta a esto debemos centrarnos en
los orígenes y la arquitectura de esta distribución.
Linux Mint proviene de Ubuntu, que a la vez está
basada en Debian, una reconocida distribución,
muy difundida en el mercado. Según estudios
Mint, ha resultado elegida como la distribución
más indicada para comenzar en GNU/Linux (La
mirada del replicante 2013), todo esto impulsado
por ser una distribución moderna, elegante y con
un sistema operativo confortable manteniendo una
capacidad de fuerza y de fácil uso. Actualmente, se
encuentra en la versión 15.0 tanto para entornos
de escritorio KDE y GNOME, lo cual representa una
amplia gama de adaptación a los entornos gráficos
de los usuarios.
Linux Mint mantiene un inventario actualizado, un
sistema operativo estable para el usuario medio,
con un fuerte énfasis en la usabilidad y facilidad de
instalación. Es reconocido por ser fácil de usar,
especialmente para los usuarios sin experiencia
previa en Linux. (Linux Mint s.f.).
Linux Mint se compone de muchos paquetes de
software, los cuales se distribuyen la mayor parte
bajo una licencia de software libre. La principal
licencia utilizada es la GNU General Public License
(GNU GPL) que, junto con la GNU Lesser General
Public License (GNU LGPL), declara explícitamente
que los usuarios tienen libertad para ejecutar,
copiar, distribuir, estudiar, cambiar, desarrollar y
mejorar el software.
Arquitectura
Linux Mint está basado y usa los repositorios de
software que son usados en la distribución
GNU/Linux Ubuntu, así como también ciertos
repositorios propios y de terceros.
Las mayores diferencias están en el escritorio.
Linux Mint vive con aplicaciones hechas para el
hogar, las cuales están diseñadas para realzar la
experiencia del usuario.
Una muestra de esto es mintDesktop, que permite
una mayor configuración de GNOME y una
búsqueda automática de grupos de trabajo
Windows y entornos de red.
Por: Edward Delzo Romero.
Img. 1. MintDesktop.
Img. 2. MintWifi.
www.eticagnu.org Setiembre 2013 eGNUX 17
MintWifi hace más fácil la configuración de las
tarjetas wireless que no tienen conexión a Internet.
MintMenu provee una nueva forma de usar el
escritorio GNOME, y MintBackup dispone una
manera sencilla de realizar copias de seguridad.
Algunos pocos cambios en el sistema hacen a este
sistema un tanto más rápido que Ubuntu. Por
ejemplo, el soporte para IPv6 está deshabilitado en
Linux Mint. Los codecs multimedia están
instalados por defecto en Linux Mint. El conjunto
de aplicaciones por defecto es diferente entre las
dos distribuciones y la versión de algunos
programas es más actual, debido a que las
versiones de Linux Mint salen más tarde (llámese
Amarok, KDE, Koffice, OpenOffice.org). (Softonic
2011).
MintSoftware
Linux Mint viene con su propio juego de
aplicaciones (Mint tools) con el objetivo de hacer
más sencilla la experiencia del usuario.
(LinuxZone s.f.)
Financiamiento
La financiación de esta distribución consta de tres
partes:
Patrocinio:
ya sean de particulares, empresas, sitios web,
ONG, entre otros; a lo cual se ofrece publicidad
en la página oficial de Linux Mint.
Donaciones:
realizadas por la comunidad, las cuales van en
directo apoyo a la distribución, y cuya cuenta
pública es mostrada en el sitio oficial.
Asociaciones:
Linux Mint se afilia a una empresa, la cual presta
un servicio o vende un producto relacionado con
Linux Mint, y a cambio recibe dinero. (Linux Mint
s.f.)
Conclusiones
Linux Mint representa una distribución con
bastante crecimiento últimamente, lo cual
representa que se esté posicionado entre las
distribuciones más usadas por parte de los
usuarios, lo cual es afianzado por su simpleza y el
grado de interacción que tiene con el usuario. Así
mismo, las herramientas de software que le
proporciona le permiten seguir tomando posición
en el mercado. Linux Mint es joven y tiene aún
mucho tiempo para consolidarse.
Mint tools
MintUpdate
MintInstall
MintDesktop
MintConfig
Diseñado especialmente para Linux Mint, y
desarrollado para los usuarios que instalan
actualizaciones prescindibles o que requieren
un nivel de conocimiento para configurarlas
apropiadamente.
Sirve para descargar programas desde los
catálogos de archivos .mint que están
alojados en el Portal de Software de Linux
Mint. Un archivo .mint no contiene el
programa, pero si contiene toda su
información y recursos desde los cuales será
descargado.
Usado para la configuración del escritorio.
MintDesktop ha recibido una mejora
significativa en la versión 4.0.
Un centro de control personalizable, que
facilita la configuración del sistema.
Un asistente personalizable que aparece
durante el primer acceso (login) del usuario,
guiándole por varias preguntas para
personalizar la base de Mint de acuerdo con
el nivel de conocimiento del usuario y su
comodidad con varios componentes de
Linux.
Un cliente FTP, integrado al menú contextual
de Nautilus, con el fin de facilitar la
compartición de archivos de forma sencilla y
rápida. Básicamente, el archivo es alojado en
un servidor FTP, con capacidad limitada a 1
Gigabyte por usuario (ampliable al comprar
el servicio Mintspace). MintMenu: Es un
menú escrito en python que permite plena
personalización de textos, iconos y colores.
Mantiene un aspecto similar al menú de
openSUSE 10.3.
MintAssistant
MintUpload
Programa que facilita el respaldo y posterior
restauración tanto de archivos de usuario
como de software del sistema.
MintBackup
Es un programa que permite restringir el
acceso a ciertas páginas de internet definidas
por el usuario
MintNanny
Img. 3. MintBackup.
www.eticagnu.org Setiembre 2013 eGNUX 18
Por: Degui.
PHPSYSINFO
PHPSysinfo, como se
puede deducir, es una
aplicación desarrollada
en el lenguaje de
programación PHP, que
actualmente se
encuentra en su versión
3.1.7 (http://rk4an.
github.io/phpsysinfo),
phpsysinfo es una
herramienta estadística
del uso hardware y
actividad de nuestro
servidor. Su rápida
instalación y fácil
manipulación, la
convierten en una herramienta útil para los
administradores de sistemas. Para instalarlo hacemos lo
siguiente:
INSTALACIÓN
Abrimos una terminal, y luego de habernos logeado
como usuario root, ejecutamos el siguiente comando:
#aptitude install phpsysinfo
Luego de instalar phpsysinfo hacemos un enlace
simbólico en el directorio que contiene nuestras páginas
webs. En nuestro caso la ruta que contiene la carpeta
con nuestras aplicaciones web es “sw2013”.
#ln s /usr/share/phpsysinfo /var/www/sw2013/
phpsysinfo
Por último vamos a nuestro navegador web e
ingresamos la siguiente dirección:
http://localhost/sw2013/phpsysinfo
En el caso de que hayas instalado phpsysinfo en un
servidor web, puedes acceder remotamente
remplazando “localhost” por la ip fija del servidor. Con
cualquiera de estas rutas, nos tiene que aparecer la
pantalla de inicio de phpsysinfo (Imagen 1).
COMPONENTES.
Apartir de este momento iremos describiendo las
diferentes aspectos de información que nos proporciona
phpsysinfo. El cual nos ofrece una detallada información
de las características hardware y actividad de nuestro
sistema.
A) VITALES
La primera información que phpsysinfo nos muestra
como datos vitales, son la características puntuales de
nuestro servidor. En este caso el nombre del servidor es
“clio”, y su nombre de dominio es “solware”; el sistema
operativo que estamos utilizando es Debian GNU/Linux
7.1; También la versión del kernel que tenemos
instalado: 3.2.0 para la arquitectura Amd64 de 64bits.
Además de otros datos como el tiempo que lleva
Figura 1. Pantalla inicial de phpsysinfo.
www.eticagnu.org Setiembre 2013 eGNUX 19
encendido el servidor y el promedio de uso. Como se
puede apreciar en la imagen siguiente:
B) INFORMACIÓN DEL HARDWARE
En esta parte phpsysinfo, nos muestra los dispositivos
hardware con los que cuenta nuestro servidor, y uno de
los dispositivos con mayor importancia dentro de
nuestro sistema es el procesador. En este caso el servidor
cuenta con un procesador AMD Turion de dos núcleos,
con una velocidad de 1.60 GHz por cada núcleo, además
del tamaño de la cache, tal como lo podemos observar
en la imagen siguiente:
C) USO DE LA MEMORIA
La memoria RAM es otro de los componentes que los
administradores de sistemas controlan y monitorean, ya
que este recurso hardware es vital para el
funcionamiento eficiente de las aplicaciones. Phpsysinfo
nos muestra estadísticas de uso de esta memoria, como
se puede apreciar en la siguiente imagen:
D) SISTEMA DE ARCHIVOS MONTADOS
Recordemos que los sistemas GNU/Linux, montan los
sistemas de archivos en la partición raíz (punto de
montaje) “/”, creando un árbol de particiones con sus
respectivos sistemas de archivos. En nuestro caso,
podemos observar que phpsysinfo nos muestra una lista
de particiones donde el sistema de archivo utilizado por
la partición raíz “/” es ext4, donde además las
estadísticas de uso y espacio disponible de nuestro disco
son fácilmente interpretados. Esto lo podemos observar
en la siguiente imagen:
E) USO DE LA RED
Como última información que nos muestra phpsysinfo,
es la actividad de nuestra red (Internet), en este caso
podemos observar que en la interface eth0, los paquetes
de red recibidos alcanzan un 22.23 MIB, y enviados
llega solamente hasta 11.25 MIB. Como se puede
apreciar en la siguiente imagen:
Para terminar, como se ha podido observar a lo largo de
este artículo, Phpsysinfo es una buena alternativa libre
para poder monitorear el rendimiento de nuestro
servido de manera remota y sencilla.
Figura 2. Vitales phpsysinfo.
Figura 3. Información del hardware.
Figura 4. Uso de memoria.
Figura 5. Sistema de Archivos Montados.
Figura 6. Uso de Red.
www.eticagnu.org Setiembre 2013 eGNUX 20
PHPSysInfo
PPrróóxxiimmaammeennttee,, IIIIII LLllaammppaaggeeeekk 22001133..
La asociación de Estudiantes de Tecnologías Informáticas de Código Abierto (EtiCAGNU), se está
preparando para organizar el tercer Llampageek 2013, que se celebrará en el mes de Noviembre. Gustavo
Fernández Chavez, jefe de proyecto Llampageek 2013, junto a su equipo organizador han elegido "Los
Sistemas Distribuidos basados en Software Libre", como tema principal, que contará con ponencias y talleres
referidos a los sistemas distribuidos.
Para los interesados, muy pronto estará disponible la página del III Llampageek:
www.eticagnu.org/llampageek donde podrán encontrar toda la información necesaria para participar de
este evento que congrega cada año a estudiantes y profesionales interesados en las tecnologías de de
Software Libre.
Fuente: www.eticagnu.com
¡¡FFeelliicceess 3300 aaññooss ddeell SSooffttwwaarree LLiibbrree!!
Hace 3 décadas Richard Stallman anunció el comienzo del proyecto GNU y plantó la primera semilla del
movimiento de software libre. El 27 de septiembre de 1983, Richard Stallman anunció públicamente el
inicio del proyecto GNU, con dichas siglas significando GNU is Not Unix en representación de un nuevo
movimiento de software libre que hoy cumple 30 años completamente vigente.
"Considero que una regla de oro requiere que si me gusta un programa debo compartirlo con otra gente a
quién le gustaría. No puedo de buena conciencia firmar un acuerdo de no divulgación o un acuerdo de
licencia de software. Con el fin de poder usar computadores sin violar mis principios, he decidido
desarrollar una colección suficiente de software libre para que yo pueda seguir funcionando sin necesitar
software que no sea libre. (Richard Stallman, MIT AI Lab, Cambridge, martes 27 Septiembre 1983 )".
Fuente: http://www.fayerwayer.com
PPrreesseennttaann uunnaa mmiinnii PPCC qquuee uussaa eell ssiisstteemmaa ooppeerraattiivvoo FFiirreeffooxx..
La Fundación Mozilla creó hace un tiempo su sistema operativo Firefox, gratis, basado en Linux y que usa el
motor de su navegador para gestionar las aplicaciones y la interfaz de usuario, orientado en principio para
teléfonos celulares . Tiene el apoyo de Alcatel, Geeksphone y ZTE.
Ahora pegó un salto y llegó a los dispositivos de escritorio, con un concepto similar al que Google plantea
con sus Chromebooks desde hace dos años , y que tiene el apoyo de Samsung, Asus, HP, Toshiba y Lenovo.
Paper es una muy sencilla computadora, hecha con una carcasa de cartón reciclado, y que tiene un precio de
cien dólares; adentro lleva un motherboard Rock, con un chip ARM CortexA9 a 800 MHz (modesto aún
para los estándares de los smartphones, pero el tipo de dispositivos al que en principio está orientado
Firefox OS), 512 MB de RAM, 4 GB de memoria Flash, conectores VGA y HDMI, Ethernet y USB.
Fuente: www.somoslibres.org
www.eticagnu.org Setiembre 2013 eGNUX 21