Jueves 12 de enero de 2017

Instalar Odoo 9 en Debian 8 “Jessie”

Este articulo explica como instalar un servidor local Odoo 9 en Debian 8 “Jessie” en modo desarrollo.

Introducción

Logotipo de Odoo 9

Logotipo de Odoo 9

Odoo (conocido anteriormente como OpenERP y anteriormente como TinyERP) es mas que un sistema de ERP integrado de código abierto actualmente producido por la empresa belga Odoo S.A. El fabricante declara su producto como una alternativa de código abierto a SAP ERP y Microsoft Dynamics.

Debian GNU/Linux

Debian GNU/Linux

Debian GNU/Linux, es un sistema operativo, liberado bajo la licencia GPL y desarrollado por “Proyecto Debian” una comunidad de desarrolladores y usuarios.

Instalando y configurando Postgresql

Para instalar el servidor de base de datos Postgresql, ejecute los siguientes comando:

$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install postgresql postgresql-client libpq-dev

Inicie sesión en el usuario administrativo de Postgresql, ejecutando el siguiente comando:

$ sudo su - postgres

Debe crear el usuario de conexión de Odoo con Postgresql, ejecutando el siguiente comando:

$ createuser --createdb --username postgres --no-createrole \ 
             --no-superuser --pwprompt USUARIO-LINUX

No se olvide de reemplazar USUARIO-LINUX con su nombre de usuario Linux que ejecutara Odoo. Se le pedirá ingresar la contraseña, introduzca la contraseña y confirmarla, como se muestra en el mensaje a continuación:

Enter password for new role:
Enter it again:

Este usuario debe ser el mismo nombre del usuario el cual lo ejecutará, en este caso el usuario Linux, en y le asigna una contraseña, estas credenciales de usuario debemos tenerlo presente porque la usara mas adelante para la configuración de Odoo con Postgresql.

Cierre la sesión usuario administrativo de Postgresql, ejecute le siguiente comando:

$ exit

 

Instalando librerías

Instalando librerías y utilidades necesarias para la instalación de Odoo, ejecutando el siguiente comando:

$ sudo apt-get install git gcc libevent-dev libxml2-dev \
       libxslt1-dev libsasl2-dev libldap2-dev libssl-dev \
       libjpeg-dev

Instalando paquetes Python vía Debian, ejecutando el siguiente comando:

$ sudo apt-get install python-dev python-pip \ 
       python-virtualenv python-werkzeug
$ sudo pip install passlib

Librería LESS CSS

Odoo 9 depende de node-less, este paquete es el modulo de Less CSS para nodejs, entonces debe instalar “nodejs” y “npm”, ejecutando los siguientes comando:

$ sudo apt-get install npm
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
$ sudo npm install -g less

Librería Wkhtmltopdf

Esta librería es necesaria para imprimir reportes PDF, usted debe instalar usted mismo wkhtmltopdf: La versión de wkhtmltopdf disponible en los repositorios Debian no soporta encabezado y pie de pagina y por eso no puede ser instalada automáticamente. La versión recomendada para Debian Jessie es 0.12.1 esta disponible de forma no oficial en el repositorio extra http://nightly.odoo.com/extra/.

Entonces primero debe descargar el instalador de Debian de la dependencia wkhtmltopdf para arquitectura i386 o para arquitectura amd64. En mi caso es un amd64 el que usare para la demostración de la instalación.

Luego debe instalar y configurar wkhtmltopdf, ejecutando los siguientes comando:

$ sudo dpkg -i wkhtmltox-0.12.1.2_linux-jessie-amd64.deb
$ sudo ln -s /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf 
$ sudo ln -s /usr/local/bin/wkhtmltoimage /usr/bin/wkhtmltoimage

Instalando Odoo Server

Para un ambiente de desarrollo se recomienda instalar Odoo desde el repositorio de Github, ejecutando los siguientes comando:

$ mkdir $HOME/proyectos ; cd $HOME/proyectos/
$ git clone https://github.com/odoo/odoo --depth 1 \
      --branch 9.0 --single-branch

Esto puede tardar un poco en función de la velocidad de su conexión a Internet.

–depth 1

Le indica al comando, sólo recupera la última versión sin toda la historia. La descarga es ahora un poco más rápido.

Entorno virtual Python

Creando un entorno virtual Python, esto se realiza para instalar todas las dependencias Python sin afectar su sistema, ejecutando los siguientes comando:

$ mkdir $HOME/virtualenv ; cd $HOME/virtualenv
$ virtualenv odoo9
$ source $HOME/virtualenv/odoo9/bin/activate

Ejecutando estos comando previos esta activado el entorno virtual ya que la consola de comando tiene el prefijo (odoo9) esto indica que esta dentro del entorno virtual.

La utilidad del entorno virtual es para instalar todas las dependencias Python, ejecutando el siguiente comando:

(odoo9)$ pip install -r $HOME/proyectos/odoo/requirements.txt

Esto proceso de instalación, puede tardar un poco en función de la velocidad de su conexión a Internet. Para mas información sobre los entornos virtuales consulte el siguiente articulo https://lcaballero.wordpress.com/2012/10/22/creacion-de-entornos-virtuales-python/

Módulos adicionales

Creando un directorio para almacenar los módulos adicionales propios, ejecutando los siguientes comando:

(odoo9)$ mkdir -p $HOME/proyectos/odoo/extra_addons
(odoo9)$ chown $USER: $HOME/proyectos/odoo/extra_addons

Este directorio se utilizara para sus propios módulos / addons de terceros.

Archivo de logs de Odoo

La configuración puedo ser encontrada en el archivo odoo-server.log

Crear y configurar apropiadamente un directorio para almacenar el archivo de logs de Odoo server, ejecutando los siguientes comando:

(odoo9)$ mkdir $HOME/proyectos/odoo/log/
(odoo9)$ touch $HOME/proyectos/odoo/log/odoo-server.log
(odoo9)$ chmod 755 $HOME/proyectos/odoo/log/odoo-server.log
(odoo9)$ chown -R $USER: $HOME/proyectos/odoo/log/

Este archivo es de mucha utilidad para supervisar los procesos de arranque, instalación, reporte detallado de acciones o eventos de errores ocurridos del servidor Odoo.

Configurando Odoo Server

La configuración puedo ser encontrada en el archivo odoo-server.conf

Este archivo puede ser editado para conectar una BD local o remota Postgresql. Copie y otorgue los permisos necesarios para su ejecución, ejecutando los siguientes comando:

(odoo9)$ cp ~/proyectos/odoo/debian/openerp-server.conf \
         ~/proyectos/odoo/odoo-server.conf
(odoo9)$ chown $USER: $HOME/proyectos/odoo/odoo-server.conf
(odoo9)$ chmod 640 $HOME/proyectos/odoo/odoo-server.conf

Luego edite el archivo odoo-server.conf, ejecutando el siguiente comando:

(odoo9)$ nano $HOME/proyectos/odoo/odoo-server.conf

Agregue en el archivo odoo-server.conf lo siguiente:

db_user = USUARIO-POSTGRES-CREADO
db_password = CLAVE-DEL-USUARIO-POSTGRES-CREADA
addons_path = /RUTA-ABSOLUTA/addons,/RUTA-ABSOLUTA/extra_addons
logfile = /RUTA-ABSOLUTA/log/odoo-server.log

Modifique donde RUTA-ABSOLUTA, es la ruta absoluta del directorio donde se clone el repositorio de Odoo, para este ejemplo /home/USUARIO/proyectos/odoo/.

Modifique donde RUTA-ABSOLUTA, es la ruta absoluta del directorio donde se clone el repositorio de Odoo, para este ejemplo /home/USUARIO/proyectos/odoo/

Modifique el valor addons_path, removiendo es la ruta absoluta del directorio addons por defecto de este valor /usr/lib/python2.7/dist-packages/openerp/addons, a este valor /home/USUARIO/proyectos/odoo/addons, adicionalmente anexe otro valor /home/USUARIO/proyectos/odoo/extra_addons.

Donde USUARIO, es el nombre del usuario Linux que ejecutara Odoo.

Presione para guardar Ctrl + O y luego presione Enter. Luego para salir presione Ctrl + X.

Monitorear los procesos de Odoo

Usted ahora debe ser capaz de ver el archivo de registro del servicio Odoo, para hacer esto abra una terminal de consola de comando distinta a la que actualmente usa para el proceso de instalación y ejecute el siguiente comando:

(odoo9)$ tail -f $HOME/proyectos/odoo/log/odoo-server.log

Esta terminal de consola de comando solo se ejecutara si quiere monitorear los procesos.

Iniciar servidor de Odoo

Ahora abra una nueva consola e inicié el servicio de Odoo, ejecutando los siguientes comando:

(odoo9)$ ~/proyectos/odoo/odoo.py -c ~/proyectos/odoo/odoo-server.conf

Entonces usted puede ver el archivo odoo-server.log mostrando el siguiente mensaje:

INFO ? openerp.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069

Si el archivo de registro indica HTTP service (werkzeug) running on 0.0.0.0:8069 entonces el servidor Web de Odoo se esta ejecutando bien, ahora en su navegador web en la dirección IP local 127.0.0.1 de su servicio Odoo el cual por defecto usa el puerto 8069. Trate a continuación en su navegador con la dirección: http://127.0.0.1:8069.

Recrear la Base de datos de Odoo

Por primera vez, verá gestor de bases de datos para crear su primera base de datos. Esto se realiza por que Odoo le permite tener varias aplicaciones en un mismo servidor.

Creando BD de aplicación Odoo

Creando BD de aplicación Odoo

Si marca la casilla “Load demonstration data” este cargara data de prueba para visualizar el funcionamiento de Odoo y de los próximos módulos que habilite.

Esta pantalla aparecerá la primera vez que instale Odoo o luego que decida crear una nueva base de datos para una nueva aplicación Odoo. Para posterior acceso al este modulo consulte la URL: http://127.0.0.1:8069/web/database/manager.

Habilitando módulos disponibles de Odoo

Luego que defina su bases de datos para la aplicación Odoo, debe habilitar los módulos disponibles para mi aplicación Odoo

Habilitando módulos disponibles para mi aplicación Odoo

Habilitando módulos disponibles para mi aplicación Odoo

De esta forma ya tiene instalado y configurado mínimamente el servidor Odoo y una aplicación web de Odoo, solo quedara realizar configuraciones básicas de la aplicación, creación la empresa, sus empleados, sus usuarios y demás procedimientos propios de cada modulo habilitado en esta aplicación para poder empezar a usar Odoo.

Detener servidor Odoo

Para detener el servidor Odoo, por favor, presione la combinación de teclas Ctrl + C para enviar una segunda señal para forzar el cierre del proceso del servicio del servidor.

Referencias

¡Contribuye conmigo!

Espero sea de utilidad esta entrada en mi blog.

Ayúdame a seguir escribiendo en mi blog y dona 1 dolar aquí.


Miércoles 04 de enero de 2017

Quiero aprender Gambas

Está Escrito:
Porque he aquí que yo crearé nuevos cielos y nueva tierra; y de lo primero no habrá memoria, ni más vendrá al pensamiento. (Isaías 65:17)
Tomado de:desdelinux.net Por :jsbsan 
¿Por donde empiezo?
Bueno empezamos con explicar que es Gambas:
Gambas es un ambiente libre de desarrollo en Linux basado en un intérprete Basic con extensiones de objetos, un poco como Visual Basic™ (pero NO un clon !). Con Gambas, puedes diseñar rápidamente tu aplicación gráfica con QT o GTK+, acceder a bases de datos MySQL, PostgreSQL, Firebird, ODBC y SQLite, controlar aplicaciones con DBUS, traducir tu programa a cualquier lenguaje, crear Front End de comandos de linux, crear aplicaciones de red fácilmente, hacer aplicaciones 3D OpenGL , hacer aplicaciones web CGI, generar paquetes de instalación para diversas distribuciones, etc.

Comentaros que os podéis encontrar con dos versiones de Gambas: Gambas2 y Gambas3.
La más actual es Gambas3, y os aconsejo que utilicéis esta ya que esta más orientada a la programación por objetos que Gambas2, aparte que Gambas2, ya no se actualiza por el autor Benoît Minisini y usa Qt3 que esta en “deprecate” (deshuso).
Ide de gambas3IDE de gambas3 

¿Como lo instalo?

Para los usuarios de Debian/Ubuntu teneis un ppa para instalarlo:
$sudo add-apt-repository ppa:nemh/gambas3
$sudo apt-get update
$sudo apt-get install gambas3
También podéis compilarlo, desde el código fuente. El proceso esta aplicado en la pagina web del proyecto http://gambas.sourceforge.net/en/main.html, también podéis verlo explicado con capturas de pantalla en cuso de gambas: explicación de compilar el código fuente

Y para aprenderlo a usar ¿por donde empiezo?

Existen varios sitios web que podéis visitar:
http://gambasdoc.org/help/?es&v3: Página de la documentación oficial. Donde encontráis toda la información de la sintaxis del lenguaje (en varios idiomas).
Página web de la documentación de gambas2 y gambas3Página web de la documentación de gambas2 y gambas3
http://www.cursogambas.blogspot.com.es: Es un curso de gambas que estoy montando y empieza desde cero conocimientos en programación, explicando las principales ordenes, bucles, ejemplos, etc….
Incluso se comentan ejemplos de aplicaciones de bases de datos, uso de patrones de diseño y ejemplos de gambas con Arduino.
Nota:
El propio Ide de Gambas3 trae un buen número de ejemplos, listos para usar. Para ver el código fuente tenéis que previamente “guardar como…” los ejemplos en otra carpeta, y abrirlos desde la nueva carpeta, para asi poder ver el código fuente.

Foro:
gambas-es.org: Foro en castellano, donde puedes consultar más de 20.000 mensajes publicados y con más de 2000 usuarios registrados
Libros:
Tenéis dos libros gratuitos:
1) En castellano: Gambas: Este libro era para la version 1.99, pero os puede servir mucho.
2) En ingles: http://beginnersguidetogambas.com/: Es para la versión 2 pero comenta sobre la versión 3.
Video Tutoriales:
Tengo hecho un canal en YouTube, donde subí varios vídeos tutoriales, la mayoría los hice con gambas2, pero también valen para Gambas3:
http://www.youtube.com/user/jusabejusabe
Algunos manuales:
http://jsbsan.blogspot.com.es/p/tutoriales-y-manuales-de-gambas.html
Otros blog donde podéis encontrar más artículos sobre gambas:
http://jsbsan.blogspot.com.es/
http://www.sologambas.blogspot.com.es/
http://gambas-basico.blogspot.com.es/
http://willicab.gnu.org.ve/componente-ncurses-en-gambas-3/
http://gambaslinux.wordpress.com/


Espero que lo disfrutéis, saludos...

Sábado 31 de diciembre de 2016

Volviendo a lo básico, POO en Python ( herencia multiple, problema del diamante) (parte 8)

Volviendo a lo básico, POO en Python ( herencia multiple, problema del diamante) (parte 8)


Continuando con los artículos sobre programación orientada a objetos en python.

En el artículo anterior se explicó como trabajar con la herencia multiple. Ahora se  explicará el problema del diamante y como lo resuelve Python.

La herencia en diamante se muestra en la siguiente figura:

Donde la clase padre es la clase A, y la clase B y C heredan de ella, al final la clase D hereda tanto de B como de C y ambas clases como ya se saben heredan de A. ¿Por que vía se hereda de A, por B o por C?

Ese es en sí el problema del diamante; pueden encontrar más información en la página de wikipedia

Cada lenguaje tiene una forma de resolver este problema, para el caso de Python, este crea una lista de clases, que se buscan de izquierda a derecha y de abajo a arriba (D,B,A,C,A), luego elimina todas las apariciones de una clase repetida menos la última. Por lo que el orden de resolución queda D,B,C,A. 

A continuación se muestra un ejemplo en python: 




#!/usr/bin/env python3


# -*- coding: utf-8 -*-


"""multiple herencia, problema del diamante"""








class A(object):


    def __init__(self,mensajeA):


        self.mensajeA = mensajeA








    @staticmethod


    def quienSoy():


        return "Soy A"





class B(A):


    def __init__(self,mensajeA, mensajeB):


        A.__init__(self,mensajeA)


        self.mensajeB = mensajeB








    @staticmethod


    def quienSoy():


        return "Soy B"





class C(A):


    def __init__(self,mensajeA,mensajeC):


        A.__init__(self,mensajeA)


        self.mensajeC = mensajeC








    @staticmethod


    def quienSoy():


        return "Soy C"





class D(B,C):


    def __init__(self,mensajeA,mensajeB,mensajeC,mensajeD):


        B.__init__(self,mensajeA,mensajeB)


        C.__init__(self,mensajeA,mensajeC)


        self.mensajeD = mensajeD





    @staticmethod


    def quienSoy():


        return "Soy D"





if __name__ == '__main__':


    ca = A("prueba de A")


    cb = B("prueba de A desde B","prueba de B")


    cc = C("prueba de A desde C","prueba de C")


    cd = D("prueba de A desde D","prueba de B desde D","prueba de C desde D","prueba de D")


    print ("Mensaje de A:",ca.mensajeA)


    print ("Quien es?: ",ca.quienSoy())


    print ("Mensaje 1 de B:", cb.mensajeB)


    print("Mensaje 2 de B:", cb.mensajeA)


    print ("Quien es?:",cb.quienSoy())


    print ("Mensaje 1 de C:", cc.mensajeC)


    print ("Mensaje 2 de C:", cc.mensajeA)


    print ("Quien es?:", cc.quienSoy())


    print ("Mensaje 1 de D:", cd.mensajeD)


    print ("Mensaje 2 de D:", cd.mensajeB)


    print ("Mensaje 3 de D:", cd.mensajeC)


    print ("Mensaje 4 de D:", cd.mensajeA)


    print("Quien es?:", cd.quienSoy())








Noten que no se usó super, ya que para poder resolver la evaluación se hace más fácil definiendo el objeto directamente en vez de usar super una llamada de la herencia. 


Al ejecutar el código se tiene la siguiente salida:

Mensaje de A: prueba de A
Quien es?:  Soy A
Mensaje 1 de B: prueba de B
Mensaje 2 de B: prueba de A desde B
Quien es?: Soy B
Mensaje 1 de C: prueba de C
Mensaje 2 de C: prueba de A desde C
Quien es?: Soy C
Mensaje 1 de D: prueba de D
Mensaje 2 de D: prueba de B desde D
Mensaje 3 de D: prueba de C desde D
Mensaje 4 de D: prueba de A desde D
Quien es?: Soy D


Como pueden notar la ejecución de la última clase muestra la secuencia explicada en este artículo.

El código de este ejemplo lo pueden descargar desde gitlab





Volviendo a lo básico, POO en Python ( composición) (parte 9)

Volviendo a lo básico, POO en Python ( composición) (parte 9)

Para terminar la serie de artículos sobre programación orientada a objetos con python

La composición significa utilizar objetos dentro de otro objetos sin usar herencia.

A continuación se muestra el diagrama UML de dos objetos A y B. 



A continuación se muestra el código de ejemplo: 



#!/usr/bin/env python3


# -*- coding: utf-8 -*-


"""Composición"""


class A(object):


    def a1(self):


        print("a1")





class B(object):


    def b(self):


        print ("b")


        A().a1()








if __name__ =="__main__":


    objetoB = B()


    objetoB.b()








Al ejecutar el código se tiene la siguiente salida:
b
a1


Este ejemplo es algo sencillo. La composición es otra forma de reutilizar código.

El código lo pueden ver en gitlab



Volviendo a lo básico, POO en Python ( Multipleherencia) (parte 7)

Volviendo a lo básico, POO en Python (multiple herencia) (parte 7)


Continuando con los artículos de programación orientada a objetos con python, en este caso se tocará el caso de multiple herencia.

La siguiente figura se muestra el diagrama UML:


Se tiene las siguientes clases y de quien hereda:
  • Direccion(object): Tiene un método init que recibe los  argumentos calle, ciudad, estado y codigo.
  • Contacto(object): Tiene un método init con recibe los  argumentos nombre y correo.
  • Amigo(Contacto,Direccion): Tiene un método init que recibe los argumentos nombre, correo, telefono, calle, ciudad, estado y codigo.
  • ListaContactos: Tiene un método buscar que recibe un nombre como argumento.
Clase ListaContactos:



class ListaContactos(list):


    def buscar(self,nombre):


        '''Retorna todos los contactos que contengan el nombre'''


        contactos_encontrados = []


        for contacto in self:


            if nombre in contacto.nombre:


                contactos_encontrados.append(nombre)


        return contactos_encontrados





Clase Direccion:



class Direccion(object):


    def __init__(self,calle, ciudad,estado, codigo):


        '''Inicializa la clase con la calle, ciudad, estado y codigo postal)'''


        self.calle = calle


        self.ciudad = ciudad


        self.estado = estado


        self.codigo = codigo






Clase Contacto:


class Contacto(object):


    '''Clase contacto que guarda una lista de los contactos e inicializa con el nombre y el correo del contacto'''


    todos_contactos  = ListaContactos()





    def __init__(self,nombre, correo):


        self.nombre = nombre


        self.correo = correo


        Contacto.todos_contactos.append(self)






Clase Amigo:


class Amigo(Contacto,Direccion):


    def __init__(self,nombre, correo, telefono,calle,ciudad,estado,codigo):


        Contacto.__init__(self,nombre,correo)


        self.telefono = telefono


        Direccion.__init__(self,calle,ciudad,estado,codigo)







La instanciación de la clase amigo se muestra a continuación: 



contacto = Amigo("Ernesto","seraph2@contacto.com","04155556565","paez","guacara","carabobo","2015")


print(contacto.nombre,contacto.correo,contacto.telefono,contacto.calle,contacto.ciudad,contacto.estado,contacto.codigo)







Al ejecutar el programa se tiene la siguiente salida:

Ernesto seraph2@contacto.com 04155556565 paez guacara carabobo 2015


El código completo de este artículo se encuentra en gitlab en el siguiente enlace.


Martes 13 de diciembre de 2016

Veracidad noticias internacionales Bolivar y bitcoin

Leyendo este artículo (https://www.cryptocoinsnews.com/venezuela-demonetizes-100bs-banknotes-india-like-panic-awaits/), hay puntos que no comparto, y es donde digo que para defender una opinión hay que ser lo mas imparcial posible, de lo contrario se pone a tela de juicio la credibilidad. Por ejemplo:

  1. Indican que en Septiembre, medio cartón de huevos costaba 150$ (a 10Bs el $USD, lo que indica que usan tasa de cambio según conveniencia (en este caso para que se vea mayor), ignoro si esta es la tasa que le cobran a los extranjeros cuando pasan sus tarjetas en Venezuela. Cuando conviene usan la tasa paralela.
  2. También reflejan que el paralelo llegó a 4.400. Según la gráfica que muestran (http://www.venezuelaecon.com/) fué así, en caso de ser afirmativo… ponen el ejemplo con el dato mas drástico y momentaneo, me estoy enterando que llegó a ese punto.
  3. Desinforman diciendo que minar bitcoins es ilegal, cosa que no comparto, no ha habido pronunciamiento oficial de parte del gobierno sobre si bitcoin es una moneda o no (tiene propiedades únicas respecto a lo que se considera moneda), aparte que tendrían que legislar sobre cada punto… minar, aceptar pagos con bitcoins (u otra criptomoneda), transferencia, etc.

Lunes 12 de diciembre de 2016

Carlos Colmenarez

Carlos Colmenarez
LINUX – El Blog de Zero

21 gestores de ventanas para GNU/Linux

Listado de 20 gestores o administradores de ventanas para GNU/Linux, como Mutter, Metacity (Gnome), Kwin (KDE), XFWM (XFCE), Openbox y muchos otros.

Los gestores de ventanas (también llamados administradores de ventanas) son la parte del software que se encarga de mostrar una interfaz gráfica al usuario, con la que se pueda comunicar con el sistema de forma sencilla.

Muy comúnmente, son también llamados entornos gráficos o entornos de escritorio, aunque en realidad éstos (por ejemplo, KDE, Gnome, XFCE…) son un conjunto más amplio de software, entre los que se encuentran los mencionados gestores de ventanas.

En Windows sólo disponemos de un gestor de ventanas, DWM (Vista/7), mientras que en GNU/Linux podemos elegir el gestor de ventanas que más se adapte a nuestras necesidades (interfaz gráfica más atractiva, menor consumo de recursos, etc…).

Metacity

Metacity es el gestor de ventanas actualmente utilizado por el proyecto Gnome. Se trata de una interfaz sencilla pero muy agradable.

Previamente, el proyecto Gnome utilizaba otros gestores de ventanas más configurables (como Sawfish o Enlightenment) pero se optó por sacrificar esas funcionalidades por una interfaz más amigable, sencilla y usable.

Se utiliza en cantidad de distribuciones, algunas de ellas tan famosas como Ubuntu o Fedora, que tienen a disposición diversos themes.

URL | Metacity

Mutter

Mutter es el nuevo gestor de ventanas que incorporará el proyecto Gnome.

En GnomeShell puedes encontrar más información sobre esta evolución de Metacity, que tiene muy buena pinta.

URL | GnomeShell

KWin

KWin es el administrador de ventanas del famoso KDE, que junto a Gnome, son los dos entornos de escritorio más utilizados en la actualidad.

Un interfaz de usuario más complejo que el anterior, con muchos aspectos visuales configurables y gran cantidad de temas disponibles. Se puede encontrar en muchas distribuciones, como por ejemplo, OpenSUSE, Kubuntu o Xandros.

URL | Kwin

XFWM

XFWM es el gestor de ventanas de XFCE, quizás el tercer escritorio de Linux más utilizado. Es usado en distribuciones como Xubuntu.

En el logo de XFCE se ve siempre un pequeño ratón. Esto tiene su explicación, puesto que XFCE es un entorno que le da mucha importancia a este dispositivo, puesto que muchos de sus menús, utilidades u opciones, pueden realizarse íntegramente con el ratón.

URL | XFWM4

Enlightenment

Enlightenment, también conocido como E por el entorno de escritorio E16 o el reciente E17, es un gestor de ventanas como su propio nombre indica, muy ligero.

Sin embargo, a pesar de los efectos, el administrador de ventanas no renuncia a uno de sus puntos principales, no recargar el sistema innecesariamente.

Se puede encontrar por defecto en distribuciones como Elive o OpenGEU.

URL | Enlightenment

Blackbox

Blackbox es un gestor de ventanas minimalista, en el que el objetivo principal es aprovechar al máximo los recursos del sistema.

Esto lo hace especialmente útil para equipos antiguos o escasos de hardware, ya que consume apenas un 2% de RAM en comparación con entornos comunes como KDE o Gnome.

URL | Blackbox

IceWM

IceWM es uno de los administradores de ventanas alternativos por excelencia desde hace mucho tiempo. Su interfaz gráfico imitaba la apariencia de la barra de Windows para facilitar el uso a usuarios nóveles.

El netbook Asus EEE-PC tiene un modo en el que utiliza este gestor de ventanas.

URL | IceWM

UltimateWM

UWM (no confundir con UltrixWM (1985)) es un reciente gestor de ventanas asociado a un proyecto llamado UDE.

La filosofía de este administrador es ligeramente diferente a otros, donde se eliminan las tradicionales barras de estado o similares y se provee de un menu de celdas hexagonales, donde aparecen las opciones relevantes.

URL | UDE Project

Fluxbox

Fluxbox es un administrador de ventanas muy ligero, basado en el gestor Blackbox. Sin embargo, y a pesar de ello, tiene muchas opciones de personalización que lo hacen muy interesante.

Suele ser utilizado por multitud de distribuciones que necesitan un entorno ligero y rápido, como por ejemplo Damn Small Linux o Fluxbuntu.

URL | Fluxbox

JWM

El gestor de ventanas JWM se incorpora como un sistema rápido de administración de ventanas para distribuciones como Puppy Linux.

Molinux, la distribución oficial de la Junta de Comunidades de Castilla-La Mancha, tiene una versión llamada Molinux zero, una mini-distribución de Linux en español, basada en Puppy Linux, que permite funcionar hasta en los sistemas más antiguos.

URL | JWM

Openbox

Openbox comenzó como un gestor de ventanas basado en Blackbox, pero recientemente fue reescrito desde cero. Muy aceptado con la aceptación del entorno de escritorio LXDE.

Una de sus características más interesantes es que puede iniciar sesión muy rápidamente, en apenas unos segundos, aún en equipos modestos. Para ello prescinde de menús o sistemas visuales, pero aportando un menú contextual altamente configurable.

Es utilizado en distribuciones como Lubuntu, gOS o CrunchBang.

URL | Openbox

FVWM

FVWM es uno de los padres de muchos de los gestores de ventanas de este artículo, como por ejemplo AfterStep, WindowMaker, Enlightenment o XFWM.

Una de las distros que adoptan FVWM como gestor de ventanas por defecto es SymphonyOS, mediante su entorno de escritorio Mezzo.

URL | FVWM

VTWM

Virtual Tabbed WM es un gestor de ventanas sencillo bastante veterano, pero que supo resistir hasta la actualidad, guardando el formato de entonces.

Utiliza los estilos tan asociados a sistemas antiguos (TomWM), pero que tanto gustan a algunos.

URL | VTWM

AfterStep

AfterStep nació con la idea de imitar el formato de las estaciones de trabajo NextStep, obteniendo un buen resultado.

Una apariencia simple pero justa, para manejar de forma gráfica las tareas del sistema.

URL | AfterStep

WindowMaker

WindowMaker «retomó» el proyecto de AfterStep, renovándolo y convirtiéndolo en un gestor de ventanas muy similar, sencillo pero potente, emulando el entorno NeXT y adheriendose al proyecto GNUStep, el cuál ha terminado por apoyar Étoilé.

WindowMaker aún continua siendo una buena opción para algunos usuarios a los que le gusta su capacidad de personalización.

URL | WindowMaker

Matchbox

Matchbox es el administrador de ventanas incluído en la distribución Linux por defecto en el proyecto OLPC (Un portátil por niño) o en móviles como el Nokia 770.

Esta diseñado para sistemas portátiles, mínimos, como PDAs, móviles o portatiles muy limitados. También cabe recalcar que está especialmente indicado para mostrar una sóla ventana simultáneamente y así dar prioridad a las tareas principales y ahorrar recursos.

URL | Matchbox Project

WindowLab

WindowLab nació en 2001 como un clon similar al aspecto gráfico de la Amiga.

Con el tiempo, fue adaptándose a los requisitos de los usuarios y permitiendo todo tipo de personalización gráfica, entre otras opciones.

URL | WindowLab

Ion

Ion, también denominado Ion3, nace de un experimento en el que se intenta reducir al máximo el tiempo que el usuario pasa cambiando, buscando o redimensionando ventanas.

El gestor de ventanas muestra las ventanas abiertas en un mosaico de ventanas en serie, fijas, las cuales no es necesario manipular.

URL | Ion Project

DWM & WMII

DynamicWM es un administrador de ventanas simple, basado en texto y muy ligero. De forma muy similar, también tenemos wmii, otro gestor de ventanas similar del mismo autor.

DWM ha sido utilizado para muchos forks, como xmonad -gestor de ventanas escrito en Haskell- o Awesome -llamado así por la famosa frase de Barney Stinson (de la serie Como conocí a vuestra Madre).

URL | DWM | WMII

RatPoison

RatPoison es un administrador de ventanas que, como dice su nombre, es veneno para ratones, por lo que el ratón de tu ordenador de poco te va a servir en este gestor.

Esta directamente diseñado para personas que prefieren utilizar el teclado y no gustan de usar dispositivos apuntadores como ratones o trackballs. RatPoison fue relevado por StumpWM, su sucesor.

URL | Ratpoison

HaZe

Basado en MLVWM, que a su vez está basado en FVWM, HaZe se define como un sistema real en blanco y negro.

Se trata de un gestor de ventanas minimalista, muy rústico y de alto contraste.

URL | HaZe

 articulo visto en : emezeta

 

 


Miércoles 07 de diciembre de 2016

Jorge Ortega

Jorge Ortega
Joenco

Configurando parámetros de accesibilidad en Debian

Cómo están amigos? espero que excelente! aquí les vengo con un interesante artículo sobre cómo configurar algunos parámetros de accesibilidad después de instalar Debian, para que nuestro equipo este casi perfecto!

Estas son las que yo realizo cada vez que hago una instalación nueva de Debian, vamos a ello:

    • Activar un sonido en el grub

Solo debemos agregar o descomentar en el archivo /etc/default/grub lo siguiente:
GRUB_INIT_TUNE="480 440 1"
y luego ejecutamos update-grub para actualizar los cambios, si quieres colocar un tono diferente puedes leer el articulo Colocando un tono al grup.

    • Accesibilidad en aplicaciones QT.

Tenemos que instalar la biblioteca qt-at-spi:
apt-get install qt-at-spi
y la variable de entorno QT_ACCESSIBILITY la establecemos en 1, escribiendo al final del archivo /etc/profile lo siguiente:
export QT_ACCESSIBILITY=1

    • Accesibilidad en aplicaciones de 32 Bits en equipos de 64 Bits

Para poder hacer accesible aplicaciones de 32 Bits debemos hacer lo siguiente desde un terminal cómo superusuario:
dpkg --add-architecture i386
luego actualizamos:
apt-get update
e instalamos lo siguiente para hacer accesible los paquetes de 32 bits:
apt-get install libatk-adaptor:i386 libatk-adaptor

    • Accesibilidad en Java

Hay que instalar el paquete libatk-wrapper-java:
apt-get install libatk-wrapper-java
se debe activar la accesibilidad en OpenJDK manualmente, descomentando, en el archivo /etc/java-6-openjdk/accessibility.properties para Debian 7 (Wheezy) o /etc/java-7-openjdk/accessibility.properties en Debian 8 (Jessie), la siguiente línea:
assistive_technologies=org.GNOME.Accessibility.AtkWrapper

    • Mostrar los íconos en el escritorio

Para mostrar los iconos en el escritorio sigue este articulo: Mostrar los íconos en el escritorio en Debian 7 o superior.

    • Accesibilidad en el GDM

Para que orca nos verbalice en el GDM, cuando nos pide iniciar sesión (esto en debian jessie) presionamos las teclas alternar+supra+S.
También se puede activar ejecutando cómo root lo siguiente:

    • para Squeeze:

/bin/sh -c "gconftool-2 --type bool --set /desktop/gnome/applications/at/screen_reader_enabled true" Debian-gdm

    • O en Wheezy y posteriores así:

/bin/sh -c "eval $(dbus-launch) ; export DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID ; GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true" Debian-gdm || true
Con estas configuraciones tendremos un sistema accesible y funcional, les recomiendo leer el wiki de debian sobre accesibilidad en español y si tienen preguntas, dudas o sugerencias pueden dejarlas en los comentarios!

Saludos y nos encontramos pronto …


Viernes 02 de diciembre de 2016

ubuntu-ve: Ubuntu lanza un concurso para crear apps navideñas para Raspberry Pi

Martes 29 de noviembre de 2016

ubuntu-ve: Creados grupos Telegram para la Región Sur

Lunes 28 de noviembre de 2016

ubuntu-ve: Incentivando el uso de Ubuntu en Amazonas

Miércoles 23 de noviembre de 2016

Héctor Colina

nginx detrás de proxy e ip real

Hace poco, en uno de los proyectos que estamos trabajando, nos encontramos con que los servidores usaban apache. Luego de examinar una cantidad de variables, tomamos la decisión de usar nginx. Sin embargo, luego de que finalizamos la configuración, nos dimos cuenta de que en los logs no aparecía la ip real de los visitantes sino una única ip; Al preguntar al proveedor nos informó que estábamos detrás de un proxy.

Esta situación nos obligó a revisar la configuración de nginx de forma tal de que pudiésemos obtener la ip real del visitante sin que el proveedor, bien conocido en Venezuela por su mal disposición a cambios que les haga salir de su “zona de confort”, tuviese que hacer ningún cambio.

Para ello, colocamos 3 directivas extras en el archivo de configuración del vhost respectivo (archivo /etc/nginx/sites-available/mi_vhost) en la sección server, las cuales son:

    server {
           set_real_ip_from IP_DEL_PROXY;
           real_ip_header X-Real-IP;
           real_ip_recursive on;
           bla, bla, bla
           }

Luego del cambio, reiniciamos el servicio:
     service nginx stop     service nginx start
Antes de realizar este cambio, nuestro log se veía así:
10.10.25.xx – – [22/Nov/2016:20:25:05 -0400] “GET / HTTP/1.0” 200 3573 “-” “Mozilla/5.0 (Windows NT 6.1; rv:50.0) Gecko/20100101 Firefox/50.0”
10.70.25.xx – – [22/Nov/2016:20:25:07 -0400] “GET /xpizarron.png.pagespeed.ic.C7Lq_VUyAW.jpg HTTP/1.0” 200 58211 “http://BLABLABLA/” “Mozilla/5.0 (Windows NT 6.1; rv:50.0) Gecko/20100101 Firefox/50.0”
Luego de realizarlo:
66.249.XX.XX – – [22/Nov/2016:20:38:15 -0400] “GET /xpizarron.png.pagespeed.ic.Qv832abBVy.webp HTTP/1.0” 200 29822 “http://BLABLABLABLA/” “Mozilla/5.0 (Linux; Android 4.2.2; V769M Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36”
66.249.XX.XX – – [22/Nov/2016:20:38:17 -0400] “GET /favicon.ico HTTP/1.0” 200 29942 “http://BLABLABLABLA/” “Mozilla/5.0 (Linux; Android 4.2.2; V769M Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36”
Espero les sea útil esta ayuda.

Lunes 21 de noviembre de 2016

Héctor Colina

Aplicaciones en php5 sin servidor web externo

Debe haber una forma mediante la cual hacer funcionar una aplicación en php sea más expedita que el procedimiento de instalar un servidor web (cualquiera que sea) junto con las dependencias necesarias para php y configuración para que permita el funcionamiento de la app, esta fue la pregunta que me hizo este escribir este post.

Revisando la documentación de php conseguí que php5 tiene integrado su propio servidor web, a partir de la versión 5.4 [1], el cual permite hacer funcionar, “rápidamente”, una aplicación web sin mayores complicaciones; en Debian, el procedimiento pasa por instalar php5 [2], cambiarse hacia el directorio donde está la aplicación que deseamos hacer funcionar y ejecutar:

root@snoopy:/home/hector/Documentos/wiki# php5 -S 127.0.0.1:8000

Donde:

  • php5 ejecutable de php5
  • -S que indica cual es la ip local donde estará funcionando el servidor, seguido de dos puntos indicando el puerto

Luego de esto, sólo es cuestión de abrir un navegador y visitar la dirección de 127.0.0.1 (localhost) en el puerto 8000

Es importante recalcar que este es un modo para desarrollo y no está pensado para producción; para esta función, utilicen servidores pensados para tal fin como apache2, lighttpd, nginx u otro.

Consola servidor php

Espero les sea útil esta ayuda

[1] http://php.net/manual/ro/features.commandline.webserver.php

[2] Procedimiento que instala las dependencias necesarias, a saber:  apache2{a} apache2-bin{a} apache2-data{a} apache2-utils{a}   libapache2-mod-php5{a} libapr1{a} libaprutil1{a} libaprutil1-dbd-sqlite3{a}  libaprutil1-ldap{a} libonig2{a} libqdbm14{a} php5 php5-cli{a} php5-json{a}   php5-readline{a} ssl-cert{a}

Lunes 07 de noviembre de 2016

Jesus Palencia

Nueva versión de Firefox llega con mejoras en la reproducción de videos y mucho más

El pasado martes 19 de septiembre Mozilla liberó una nueva versión de su navegador e inmediatamente compartimos con ustedes sus novedades. Lo nuevo El administrador de contraseñas ha sido actualizado para permitir a las páginas HTTPS emplear las credenciales HTTP … Sigue leyendo

Domingo 06 de noviembre de 2016

Remover dangling commits

Escribo este artículo, porque es otra de esas cosas que olvido y siempre termino buscando repetidas veces (aunque tenga en guardado en mi zsh los 10.000 últimos comandos ejecutados). Voy a escribir brevemente sobre los dangling blobs o dangling commits.

Viernes 28 de octubre de 2016

César Sevilla

César Sevilla
Linux

1er Festival Universitario de Tecnologías Libres

banner2-1024x512A petición del público traemos para todos ustedes a través de la Unidad Territorial – Fundacite Zulia (UTZ) el “Festival Universitario de Tecnologías Libres”, el mismo tiene como objetivo: Impulsar el crecimiento y desarrollo del Software Libre y Código Abierto dentro del ámbito Educativo Institucional en la Región Occidental, para lograr la independencia Científica–Tecnológica del software, apoyándose en los Decretos Nacionales y leyes que ampara el estado venezolano.

Este Festival, se llevará a cabo en el Auditorio de la Universidad José Gregorio Hernández los días viernes 11/11/16 de 8:00 am / 12:00 m – 2:00 pm / 5:00pm y el sábado 12/11/16 de 9:00 am / 12:00 m.

El día Viernes realizaremos 5 Charlas técnicas y para el día Sábado realizaremos 2 charlas y una Jornada de Instalación de Sistemas Operativos Libres y/o Herramientas Libres.

Es importante resaltar que contaremos con varios representantes a nivel nacional, entre ellos Representante de la Cámara Venezolana de la industria Tecnológica, del Laboratorio Vivencial, de la Comunidad de Ubuntu-ve, y de diferentes organizaciones con el propósito de presentar los diferentes proyectos tecnológicos hechos con herramientas libres.

Si deseas participar en dicha actividad recuerda que debes registrarte a través del siguiente enlace: https://www.eventbrite.es/e/entradas-festival-universitario-de-tecnologias-libres-2016-27283438499

Si deseas obtener mayor información, puedes contactarme a través del correo csevilla@fundacite-zulia.gob.ve


Sábado 01 de octubre de 2016

David Moreno

David Moreno
dm's blog

Thanks Debian

I sent this email to debian-private a few days ago, on the 10th anniversary of my Debian account creation:

Date: Fri, 14 Aug 2015 19:37:20 +0200
From: David Moreno 
To: debian-private@lists.debian.org
Subject: Retiring from Debian
User-Agent: Mutt/1.5.23 (2014-03-12)

[-- PGP output follows (current time: Sun 23 Aug 2015 06:18:36 PM CEST) --]
gpg: Signature made Fri 14 Aug 2015 07:37:20 PM CEST using RSA key ID 4DADEC2F
gpg: Good signature from "David Moreno "
gpg:                 aka "David Moreno "
gpg:                 aka "David Moreno (1984-08-08) "
[-- End of PGP output --]

[-- The following data is signed --]

Hi,

Ten years ago today (2005-08-14) my account was created:

https://nm.debian.org/public/person/damog

Today, I don't feel like Debian represents me and neither do I represent the
project anymore.

I had tried over the last couple of years to retake my involvement but lack of
motivation and time always got on the way, so the right thing to do for me is
to officially retire and gtfo.

I certainly learned a bunch from dozens of Debian people over these many years,
and I'm nothing but grateful with all of them; I will for sure carry the project
close to my heart — as I carry it with the Debian swirl I still have tattooed
on my back ;)

http://damog.net/blog/2005/06/29/debian-tattoo/

I have three packages left that have not been updated in forever and you can
consider orphaned now: gcolor2, libperl6-say-perl and libxml-treepp-perl.

With all best wishes,
David Moreno.
http://damog.net/


[-- End of signed data --]

I received a couple of questions about my decision here. I basically don’t feel like Debian represents my interests and neither do I represent the project – this doesn’t mean I don’t believe in free software, to the contrary. I think some of the best software advancements we’ve made as society are thanks to it. I don’t necessarily believe on how the project has evolved itself, whether that has been the right way, to regain relevancy and dominance, and if it’s remained primarily a way to feed dogmatism versus pragmatism. This is the perfect example of a tragic consequence. I was very happy to learn that the current Debian Conference being held in Germany got the highest attendance ever, hopefully that can be utilized in a significant and useful way.

Regardless, my contributions to Debian were never noteworthy so it’s also not that big of a deal. I just need to close cycles myself and move forward, and the ten year anniversary looked like a significant mark for that.

Poke me in case you wanna discuss some more. I’ll always be happy to. Specially over beer :)

Peace.

Miércoles 14 de septiembre de 2016

Cómo cargar el driver de VirtualBox

Si por algún motivo (Por ejemplo que Genymotion te dice que no consigue VirtualBox) y necesitas reiniciar el driver de Virtualbox, ten en cuenta que en versiones recientes de Debian y Ubuntu el script que realizaba esto cambió de ruta, por lo que si antes hacías esto:

/etc/init.d/vboxdrv.sh setup

Ahora debes cargar el módulo de la siguiente manera:

/usr/lib/virtualbox/vboxdrv.sh setup

Lunes 29 de agosto de 2016

David Moreno

David Moreno
dm's blog

Webhook Setup with Facebook::Messenger::Bot

The documentation for the Facebook Messenger API points out how to setup your initial bot webhook. I just committed a quick patch that would make it very easy to setup a quick script to get it done using the unreleased and still in progress Perl’s Facebook::Messenger::Bot:

use Facebook::Messenger::Bot;

use constant VERIFY_TOKEN => 'imsosecret';

my $bot = Facebook::Messenger::Bot->new(); # no config specified!
$bot->expect_verify_token( VERIFY_TOKEN );
$bot->spin();

This should get you sorted. What endpoint would that be, though? Well that depends on how you’re giving Facebook access to your Plack’s .psgi application.

Jesus Palencia

¿Que es el efecto secundario en informática?

En ciencias de la computación se dice que una función o expresión tiene efecto colateral, efecto de lado o efecto secundario si esta, además de retornar un valor, modifica el estado de su entorno. Por ejemplo, una función puede modificar … Sigue leyendo

Jueves 25 de agosto de 2016

Liquify de Darktable, deformación directa a tu RAW

Si hay algo cierto es que cuando editas fotografías, tratas de capturar a la persona tal y como es, pero en un mundo tan saturado de “perfección” los clientes siempre piden un poco de retoque; a veces no es por inseguridad de la persona, sino por mera estética. Lo cierto es que la herramienta de IWarp de Gimp se había convertido en mi mejor amiga a la hora de mover cosas, pero como siempre, darktable sigue agregando cosas increíbles para que mi flujo de trabajo tanto de revelado como de post-producción sea hecho completamente dentro de la app.

Liquify (o Licuar) es uno de los nuevos módulos que se encuentra en Darktable y ofrece una forma versátil de mover pixeles aplicando estilos libres de distorsión a distintas partes de la imagen. Hay tres herramientas para lograrlo, puntos, líneas y curvas; todos basados en nodos. Por ahora, hay un límite de 100 nodos por instancia, pero en serio… ¿Quién usa mas de 100 nodos por instancia? Antes de probarlo, toma en consideración que el módulo consume una cantidad considerable de recursos.

Para crear el nodo solo da click en la zona que quieres afectar. Una vez hecho el click, aparecerá un circulo que podrás controlar de 3 formas: Arrastrando el punto central para re-ubicación, arrastrando el punto al borde externo de la circunferencia para agrandar/disminuir el tamaño de la zona afectada, y arrastrando la flecha interna para determinar la dirección y tamaño de la deformación. Puedes utilizar nodos simples (un solo nodo) o nodos compuestos, que crearán una deformación siguiendo el patron de puntos afectados.


This post has a nicer formatting that can be seen at it's original source at tatica.org , so feel free to hit the link and read better version!

Domingo 21 de agosto de 2016

César Sevilla

César Sevilla
Linux

Problemas con Revolution Slider (Abort Class-pclzip.php : Missing Zlib)

Si eres una persona que te gusta utilizar WordPress y te llega a salir este pequeño detalle (Abort Class-pclzip.php : Missing Zlib) cuando estás importante un Slider de Revolution Slider, no te preocupes, la solución es la siguiente:

  1. Debes editar el archivo que se encuentra dentro de la carpeta wp-admin/includes/: sudo nano /carpetadondeseencuentresusitio/wp-admin/includes/class-pclzip.php
  2. Encontrar la linea if (!function_exists(‘gzopen’)) y reemplazar gzopen por gzopen64.

Con ese pequeño cambio podrás seguir utilizando sin ningún problema el plugin.

Ahora, ¿Porqué da ese error?, en las últimas versiones de Ubuntu gzopen (función de PHP que nos permite abrir un archivo comprimido en .gz), solo está incluido para arquitectura de 64bits, es por esta razón que es necesario reemplazar gzopen por gzopen64 para que podamos importar todos esos archivos que se encuentran comprimido a través de este tipo de formato.

Happy Hacking!


David Moreno

David Moreno
dm's blog

WIP: Perl bindings for Facebook Messenger

A couple of weeks ago I started looking into wrapping the Facebook Messenger API into Perl. Since all the calls are extremely simple using a REST API, I thought it could be easier and simpler even, to provide a small framework to hook bots using PSGI/Plack.

So I started putting some things together and with a very simple interface you could do a lot:

use strict;
use warnings;
use Facebook::Messenger::Bot;

my $bot = Facebook::Messenger::Bot->new({
    access_token   => '...',
    app_secret     => '...',
    verify_token   => '...'
});

$bot->register_hook_for('message', sub {
    my $bot = shift;
    my $message = shift;

    my $res = $bot->deliver({
        recipient => $message->sender,
        message => { text => "You said: " . $message->text() }
    });
    ...
});

$bot->spin();

You can hook a script like that as a .psgi file and plug it in to whatever you want.

Once you have some more decent user flow and whatnot, you can build something like:



…using a simple script like this one.

The work is not finished and not yet CPAN-ready but I’m posting this in case someone wants to join me in this mini-project or have suggestions, the work in progress is here.

Thanks!

Lunes 15 de agosto de 2016

César Sevilla

César Sevilla
Linux

Scratch, un Software interesante

Hola a todos, después de tanto tiempo me he permitido escribir este artículo como propósito de compartir una experiencia vivida hace poco a través de un programa de formación presentado por www.zuliatec.com llamado Procodi www.procodi.com, programa de formación para niños donde les brinda desde muy temprana edad herramientas que les permiten a ellos desarrollar habilidades y destreza en las áreas de desarrollo, diseño gráfico, Electrónica Digital, Robótica, Medios digitales y música digital.

Scratch (Cómo lo dice su misma página web), está diseñado especialmente para edades entre los 8 y 16 años, pero es usado por personas de todas las edades. Millones de personas están creando proyectos en Scratch en una amplia variedad de entornos, incluyendo hogares, escuelas, museos, bibliotecas y centros comunitarios.

También cita: La capacidad de codificar programas de computador es una parte importante de la alfabetización en la sociedad actual. Cuando las personas aprenden a programar en Scratch, aprenden estrategias importantes para la solución de problemas, diseño de proyectos, y la comunicación de ideas.

Dado a que es muy provechoso esta herramienta tanto para niños como para los adultos me dedico a explicarle de una manera sencilla como hacer funcionar el programa desde GNU/Linux de manera OffLine.

Si usas Gnome o derivado es necesario tener instalado una librería que tiene como nombre Gnome-Keyring y si usas KDE debes tener instalado Kde-Wallet.

Para este ejemplo explico como hacer funcionado Scratch para Linux Mint y que puede servir para S.O derivados para Debian.

  1. Descarga primero desde la web oficial de Scratch https://scratch.mit.edu/scratch2download/ los archivos para instalar Adobe Air y Scratch para Linux, también está disponible para Windows y para Mac.
  2. Luego instalar gnome-keyring: sudo aptitude install gnome-keyring
  3. Agregar dos enlaces simbólicos a la carpeta /usr/lib/ de la siguiente manera: sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0 && sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0
  4. Luego te posiciones desde la consola donde se encuentre el instalador de Adobe Air, y desde allí ejecutar lo siguiente: chmod +x AdobeAIRInstaller.bin && ./AdobeAIRInstaller.bin
  5. Sigue todos los pasos que te indique el instalador y ten un poco de paciencia.
  6. Ya instalado el Adobe Air, buscamos gráficamente el archivo Scratch-448.air y lo abrimos con Adobe AIR application Instaler. También hay que tener un poco de paciencia, pero al terminar te generará un enlace en tu escritorio donde podrás acceder al sistema las veces que desees.

Con lo ante expuesto ya podemos utilizar Scratch OffLine, pero recuerda que si entraste en la web oficial del proyecto pudiste haber notado que también lo podemos utilizar en linea.

Happy Hacking.


Martes 09 de agosto de 2016

Aprendizaje del FlocktoFedora para Diversidad

No puedo expresar la alegría de tener un equipo de personas tan maravillosas, quienes a pesar de las 12h de diferencia, han logrado mantenerme informada sobre todo lo que sucede al rededor de nuestro trabajo de Diversidad en Fedora durante el Flock. Interminables logs de IRC y Telegram han hecho esto posible. Así que acá está mi lista de pensamientos, tareas e ideas sobre las coas logradas en el Flock de Polonia.

Primeros Pasos

Buzón de Diversidad

Estoy bastante impactada con la gran cantidad de casos que mi equipo de Diversidad ha obtenido durante el Flock. Tenemos personas que, a pesar de ser fantásticas para el proyecto, necesitan un poco de guía sobre como tratar a sus compañeros con mas respeto. Es hora de educar a las personas sobre como mantener un ambiente mas amigable y acogedor, sin tantas criticas a las personas nuevas, o a aquellas personas que simplemente no tienen tanto tiempo para colaborar.

Luego de realizar una encuesta personal, más del 80% de las personas que tienen dificultades encontrando un ambiente armónico en Fedora no quieren hablar en voz alta, ni quieren decir sus nombres, y casi 2/3 de ellos ni siquiera quieren reportar el caso ya que piensan que no son relevantes. SI SON RELEVANTES.

A principios de año se comentó la idea de que necesitamos un Buzón de Diversidad lo cual me reforzó Amita luego de conversar con los amigos en el Flock, para que las personas se sientan con la confianza suficiente de conversar con nosotros sin tener que poner sus nombres públicamente. Tenemos casos en otras comunidades donde por el simple hecho de hablar en voz alta han sufrido mucho mas, y transformar un problema pequeño en grande no es nuestra meta.

Este buzón debería ser capaz de registrar información personal o permitir entradas anónimas, así como adjuntar registros o pruebas del problema, para que podamos estudiarlo y buscar la mejor solución. Puedes ayudarnos? por favor, contácteme ASAP para que podamos sacar este buzón!

Programas de Inclusión

Tuvimos un excelente programa inicial con el FWD organizado el mes pasado, y a pesar de que comenzamos pequeño, lo hicimos con mucha energía. Fui parte de una jornada de Diseño online en Perú y me uní a los esfuerzos locales de las reuniones de WordPress en mi ciudad, Amita organizó un excelente FWD en India, Jona hizo un fantástico trabajo con su grupo de chicas en Albania y Christos se nos unió con un excelente panel en el FWD de Grecia. La asistencia fue fantástica, mejor de lo esperado!

Mientras mas comencemos a aprender sobre los colaboradores, podremos crear mejores programas para ayudar a cada grupo de minoría. FWD demostró ser una excelente iniciativa pero queremos mas, y para eso necesitamos el elemento mas importante, colaboradores. A pesar de que hagamos nuestro mejor esfuerzo en conocer cada minoría, aquellos que las experimentan de primera mano son quienes nos ayudarán a aprender a comprender mejor a cada colaborador de forma particular en nuestro proyecto. Nuestra idea es no solo tener reuniones anuales, pero también tener tantas reuniones en línea como sea posible para que nuestras barreras desaparezcan. Te interesa organizar alguna de estas reuniones?

Nuestra meta es organizar al menos una reunion mensual donde no solo podamos construir una mejor comunidad Fedora, pero también expandir los conocimientos que tenemos sobre cada miembro de nuestra comunidad.

Próximos Pasos

Encuesta de Diversidad

Una de las primeras ideas que tuvimos para el team de Diversidad fue la (no tan famosa) encuesta, que nos ayudaría a comprender mejor como esta construida nuestra comunidad. A pesar de que tenemos infinidad de nombres en nuestra FAS, conocemos muy poco sobre nuestros colaboradores. Es imperativo seguir presionando para que esta idea se convierta en realidad.

Puedes ver el estado actual de nuestra encuesta revisando al final de los registros de nuestras reuniones de Diversidad en Polonia en este pad.

Reportes Anuales

Cada año tenemos estadísticas sobre cuantos tickets fueron resueltos, cuantos nuevos embajadores tenemos y cuantas badges fueron otorgadas, pero necesitamos estadísticas sobre nuestros esfuerzos de diversidad e inclusión.

Con reportes anuales que nos ayuden a comparar y aprender, podremos ver si nuestros esfuerzos están generando una comunidad mas acogedora, y nos está ayudando a combatir el bullying y el acoso, permitiéndonos mejorar.

Qué sigue?

Queremos escuchar tus ideas! No seas penos@!

[contact-form]

This post has a nicer formatting that can be seen at it's original source at tatica.org , so feel free to hit the link and read better version!

Viernes 05 de agosto de 2016

Jorge Ortega

Jorge Ortega
Joenco

Activar la accesibilidad en el escritorio Mate en Debian

¡Saludos amigos!, feliz comienzo de vacaciones deseando que las disfruten lo mejor posible, yo seguiré trabajando ya que mis vacaciones ya las disfrute, pero dejemos de dar tantas vueltas y revisemos cómo podemos activar la accesibilidad en el escritorio Mate cuando lo instalamos en Debian Jessie teniendo otro entorno cómo Gnome que es mi caso, ya que al parecer esta no se activa. La información aquí detallada la puedes conseguir en inglés en el articulo “Mate Desktop Installation and Accessibility”, por si desean revisar, además que hacen algunas recomendaciones para dejar mucho más accesible este escritorio.
 
Comencemos por instalar el escritorio, abriendo un terminal como superusuario(root) y escribiendo:
aptitude install mate-desktop-environment-extras
con el comando anterior instalaremos todo el entorno Mate y algunos extras.
 
Cuando termine de instalar y antes de reiniciar, desde la misma terminal/consola, vamos a crear un archivo en /etc/profile.d/ con extensión .sh, el cual yo llame accesibilidadmate.sh, aquí los pasos:
 
1. Escribimos en terminal:
nano /etc/profile.d/accesibilidadmate.sh
eso nos abrirá un archivo vacío, en el cual agregamos las siguientes líneas:
 
#!/bin/bash
export GTK_MODULES=gail:atk-bridge
 
2. guardamos presionando “control+O”, presionamos enter para que lo guarde con el nombre que habíamos colocado y cerramos con “control+X”, este archivo exporta el modulo GTK requerido para que el escritorio Mate, así cómo otros sean accesibles
 
3. Ahora le damos permisos de ejecución, por lo que escribimos en el terminal:
chmod 755 /etc/profile.d/accesibilidadmate.sh
 
4. Nos toca reiniciar, así que desde la misma terminal/consola escribimos:
reboot
 
5. Antes de iniciar sesión, cuando nos pida colocar la contraseña presionamos 2 veces la tecla tabular, luego pulsamos la barra espaciadora y elegimos el escritorio Mate, al elegir el escritorio ya podremos iniciar sesión.
 
6. Ya dentro del escritorio abrimos un terminal, pulsando alternar + F2 y escribiendo “mate-terminal”, cuando se abra el terminal/consola nos logueamos cómo superusuario(root) y activamos las tecnologías de asistencia colocando:
 
gsettings set org.mate.interface accessibility true
gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true
 
Si aún no tenemos accesibilidad, sólo nos toca reiniciar y listo, ya podremos usar el escritorio sin problemas!
 
Todas estas configuraciones las tuve que hacer ya que cómo tenia instalado el entorno Gnome previamente, al parecer al instalar Mate este último no tenia accesibilidad, es decir, el lector de pantalla orca se activa pero no verbaliza nada del escritorio, ni los menús, ni las aplicaciones, ni nada.
 
Y ya sabes, si te ha gustado la entrada o te parece interesante puedes compartirla para que otros se enteren cómo activar la accesibilidad en el escritorio Mate. Además si tienes alguna duda o sugerencia puedes dejarla en los comentarios, con gusto te respondo!.


Miércoles 03 de agosto de 2016

Diversidad en el Flock Krakow (Polonia)

Hay algo que todos amamos, una buena charla con amigos, y eso fue el Panel de Diversidad en el Flock Krakow. En un Panel realmente interesante lleno de no solo personas increíbles, pero experimentadas, discutimos como podemos mejorar nuestros esfuerzos para lograr que todos se sientan cómodos y animarlos a hacer lo que les gusta sin que tengan que preocuparse por lo que la gente piense.

Tengo que darle un agradecimiento especial a mi equipo de Diversidad, Justin, Amita, Jona, Bee y Silvia; quienes hicieron posible que asistiera a pensar de las dificultades; no puedo expresar lo agradecida que estoy por el esfuerzo de todos! Ahora, entremos en tema: (mis disculpas si no coloco los nombres al lado de las ideas expuestas, el video no era lo suficientemente bueno para identificarlos a todos)

Escuchar

Es fácil llenarse la cabeza con los últimos paquetes que necesitan ser armados, sobre los últimos .po que deben ser traducidos, o sobre ese bendito px que sigue interfiriendo en el diseño; debemos tomarnos un momento para levantar la cabeza y ver las personas que trabajan con nosotros. Nuestra comunidad está llena de toneladas de personas con cualidades que hacen que el proyecto crezca cada día, sin embargo, a veces consideramos que esto es un trabajo de tiempo completo en vez de un trabajo colaborativo. El momento en que dejamos de escuchar a nuestros colaboradores que necesitan guía, nuestros números bajaran ya que no seremos capaces de  generar una nueva generación de relevo.

Difundir

Siéntete orgulloso de trabajar con otros en vez de solo buscar tus propias recompensas. La comunidad ES tu familia, y deberías tratarla como tal. no seremos capaces de incluir mas personas a nuestras líneas a menos de que hablemos de ello, siente orgullo sobre tu comunidad y deja de darle importancia al que dirán. Es fácil olvidad que todos comenzamos como novatos preguntando cosas tontas, es fácil olvidar que NOSOTROS somos quienes tenemos la responsabilidad de mostrar que hay una tarea para todos en la comunidad. Es momento de que difundamos que nos sentimos orgullosos por nuestros compañeros en el proyecto. Una gran idea es tener una persona del equipo de Diversidad como representante en cada Team, para así poder hacer que todos se sientan incluidos. No es un secreto que conocemos mas a las personas que están dentro de nuestro mismo equipo, y no conocemos mucho a el resto de personas que están en el proyecto… es un gran proyecto. Al tener un miembro de Diversidad en cada Equipo podremos reducir la brecha entre nosotros y las personas que necesiten de nuestra ayuda.

Incentivar

Yo creo que nuestros procesos son inclusivos, si no, muchos de nosotros no estaríamos aquí en primer lugar, sin embargo, si creo que tenemos algunos miembros activos que son una debilidad. Una de nuestras debilidades es que no sacamos la cabeza de lo que estamos haciendo, y no tomamos un momento para ver lo que nos rodea. Hay un MONTÓN de personas dispuestas a colaborar, sin embargo, TODOS tenemos que trabajar como mentores (sin importar si eso te agrega un +1 de karma). Con tantos badges, estadísticas y similares, de cierta forma estamos olvidando el porque somos una comunidad, no es solo para hacer cosas fantásticas con software, pero también para divertirnos. Una vez comprendamos que el número de colaboradores felices es tan importante (o mas) que el número de badges que tenemos o nuestras estadísticas en el track, seremos capaces de tener una comunidad mas saludable y acogedora.

Apoyar

No es un secreto que hay personas que se sienten incómodas y otras personas que disfrutan de esto, siempre hay un troll y un peleón. Necesitamos crear una red de soporte con la que podamos ayudar a las personas a sentirse protegidas y seguras, y también un lugar donde podamos enseñarles a lidiar con estas situaciones. No debemos construir una pared al rededor de nuestros colaboradores, debemos enseñarlos a forjar herramientas que los preparen para defenderse ante cualquier ataque. Creo que podemos ser un instrumento para enseñarle a las personas como vivir felices en este mundo.

Me gustaría agradecer a Matthew, Christoph, Marina, Laura, Kohane, Kushal y todos aquellos a quienes no les reconocí las voces mientras colaboraban en el panel; esto demuestra que hay un interés real en construir una mejor comunidad para nuestros usuarios, y no solo construir buen software.


This post has a nicer formatting that can be seen at it's original source at tatica.org , so feel free to hit the link and read better version!

Viernes 08 de julio de 2016

Jesus Palencia

Colorear texto en bash

Muchas veces necesitamos hacer algún script en bash donde queremos que tenga ciertas características, y muchas veces queremos que las salidas por pantalla de ese script se vean distintas para llamar la atención. Pues bien, se puede usar colores para … Sigue leyendo

Domingo 26 de junio de 2016

Instalar Odoo 9 en Windows 8

Este articulo explica como instalar un servidor local Odoo 9 en Windows 8 en modo de pruebas local en su PC.

Introducción

Logotipo de Odoo 9

Logotipo de Odoo 9

Odoo (conocido anteriormente como OpenERP y anteriormente como TinyERP) es mas que un sistema de ERP integrado de código abierto actualmente producido por la empresa belga Odoo S.A. El fabricante declara su producto como una alternativa de código abierto a SAP ERP y Microsoft Dynamics.

Instalando

Luego de descargar el archivo de instalación aquí haga doble clic sobre el archivo para lanzar el asistente de instalación:

Seleccionar idioma del instalador

Seleccionar idioma del instalador

 

Bienvenida al instalador de Odoo 9

Bienvenida al instalador de Odoo 9

 

Aceptar los términos de licencia de Odoo 9

Aceptar los términos de licencia de Odoo 9

 

Seleccionar que componentes del Odoo 9 debe instalar

Seleccionar componentes de Odoo 9 a instalar

 

Definir las credenciales de usuario y base de datos de la aplicación Odoo 9

Definir las credenciales de usuario y base de datos de la aplicación Odoo 9

 

Definir ruta de instalación de Odoo 9

Definir ruta de instalación de Odoo 9

 

Ejecutando la instalación de Odoo 9

Ejecutando la instalación de Odoo 9

 

Instalando motor de base de datos de Odoo 9

Instalando motor de base de datos de Odoo 9

 

Instalación de Odoo 9 completa

Instalación de Odoo 9 completa

 

Iniciando el servicio de Odoo 9

Iniciando el servicio de Odoo 9

Luego continue en una ventana del navegador en la dirección http://127.0.0.1:8069

Recrear la Base de datos de Odoo

Por primera vez, verá gestor de bases de datos para crear su primera base de datos. Esto se realiza por que Odoo le permite tener varias aplicaciones en un mismo servidor.

Creando BD de aplicación Odoo

Creando BD de aplicación Odoo

Esta pantalla aparecerá la primera vez que instale Odoo o luego que decida crear una nueva base de datos para una nueva aplicación Odoo. Para posterior acceso al este modulo consulte la URL: http://127.0.0.1:8069/web/database/manager

Habilitando módulos disponibles de Odoo

Luego que defina su bases de datos para la aplicación Odoo, debe habilitar los módulos disponibles para mi aplicación Odoo

Habilitando módulos disponibles para mi aplicación Odoo

Habilitando módulos disponibles para mi aplicación Odoo

De esta forma ya tiene instalado y configurado inicialmente el servidor Odoo con una aplicación web de Odoo, solo quedara realizar configuraciones básicas de la aplicación, creación la empresa, sus empleados, sus usuarios y demás procedimientos propios de cada modulo habilitado en esta aplicación para poder empezar a usar Odoo.

Detener servidor Odoo

Para detener el servidor Odoo use el Panel de control de Servicios de Windows para Reiniciar/Iniciar/Detener del servicio Odoo.

Diríjase al Menú Inicio –> ingrese Servicios –> busque Odoo Server –> Seleccione linea y haga clic en los botones Reiniciar / Iniciar / Detener de arriba.

Referencias

¡Contribuye conmigo!

Espero sea de utilidad esta entrada en mi blog.

Ayúdame a seguir escribiendo en mi blog y dona 1 dolar aquí.


Jueves 23 de junio de 2016

Instalación de phpPgAdmin en Debian Jessie

Introducción

Hace un tiempo publique como instalar un servidor de base de datos PostgreSQL en Debian Wheezy, en esa oportunidad explicaba como instalar y configurar el servicio del servidor PostgreSQL desde la linea de comando, ahora le ofrezco como administrar gráficamente este servicio de base de datos para usando una herramienta gráfica y Web llamada phpPgAdmin.

phpPgAdmin

Instalación

Para este caso se instalara phpPgAdmin en Debian GNU/Linux Jessie con el servidor y un cliente de lineas de comando PostgreSQL de la versión 9.1, ejecutando el siguiente comando:

$ sudo apt-get install phppgadmin php5-pgsql

Configuración

Una vez realizado esto, ya el programa esta instalado y tienen un muy practico y además elegante frontend para administrar su servidor de Postgresql, recuerden que por defecto no podrán iniciar sesión en el servidor desde phpPgAdmin como root, postgres u otro usuario de este tipo, si lo desean deben realizar un cambio en el archivo:

$ sudo nano /etc/phppgadmin/config.inc.php

El archivo config.inc.php este archivo lo pueden encontrar en /etc/phppgadmin/ deben cambiar la siguiente línea:

$conf['extra_login_security'] = true;

por esta linea:

$conf['extra_login_security'] = false;

Una vez hecho ese cambio puede ejecutar su instalación.

Ejecución

Acceda a la siguiente dirección URL http://127.0.0.1/phppgadmin/

Bienvenido a phpPgAdmin

Bienvenido a phpPgAdmin

Para acceder a administrar sus base de datos usted allí debe colocar el nombre de usuario y contraseña de PostgreSQL, entonces le mostrar una pantalla principal de gestión de base de datos Web de phpPgAdmin.

Configuraciones generales de phpPgAdmin

Configuraciones generales y Bases de datos desde phpPgAdmin

De esta forma puede administrar sus bases de datos de forma gráfica y a través de la Web usando el navegador de su preferencia.

Ver también

Le recomiendo consultar el siguiente enlace para complementar el conocimiento adquirido en esta entrada en mi blog.

Referencia

¡Contribuye conmigo!

Espero sea de utilidad esta entrada en mi blog.

Ayúdame a seguir escribiendo en mi blog y dona 1 dolar aquí.


Miércoles 08 de junio de 2016

Jorge Ortega

Jorge Ortega
Joenco

Actualizar el lector de pantalla orca a la versión 3.18 en Debian Jessie

Hola amigos, gracias a Luis González usuario de la Lista de correo de los usuarios del lector de pantalla Orca, les explico como podemos actualizar a la versión 3.18, la cual trae buenas mejoras en el escritorio de Gnome3.18 y que pueden leer desde “Accesibilidad en la nueva versión de GNOME 3.18” publicada en la página Tiflo Linux
 
Estos son los pasos a seguir:

  1. Descargamos las dependencias para poder compilarlo (esto lo hacemos como superusuario).
  2. #> apt-get -y build-dep gnome-orca
    #> apt-get -y install gnome-common yelp-tools git-core

  3. Descargamos el código fuente.
  4. $> git clone git://git.gnome.org/orca

  5. Ahora compilamos e instalamos.
  6. $> cd orca
    $> ./autogen.sh
    $> make
    #> make install (esta instrucción la hacemos como superusuario)

  7. Perfecto! ya tenemos Orca actualizado!

 
Con el tiempo podemos seguir actualizando el orca y lo hacemos de la siguiente forma:

  1. Abrimos un terminal/consola y entramos en la carpeta de orca:
  2. cd orca

  3. Descargamos las actualizaciones escribiendo:
  4. git pull
    esperamos un momento ha que se descarguen.

  5. Luego hacemos:
  6. ./configure
    make
    make install (esta instrucción es cómo superusuario)

  7. Listo, tendremos la última versión del orca!

 
Nota: es de acotar que todos estos pasos deben hacerse desde un terminal/consola.
 
También se puede instalar en versiones anteriores de Gnome, siempre y cuando sea gnome3. Sin embargo, dependiendo de la distribución, puede que se necesite compilar otros paquetes como at-spi2 y otros relacionados para actualizarlos.
 
Nota: la versión 3.18 todavía no tiene su propia rama, Cuando la tenga, la rama debería llamarse “gnome-3-18”, por lo que si desean instalar la versión estable cuando salga, deberán sustituir la instrucción del paso #2 por esta:
– git clone git://git.gnome.org/orca -b gnome-3-18
(es decir, añadirle la opción “-b gnome-3-18)
 
Un saludo y espero disfruten de esta nueva versión del lector de pantalla orca!!


Sábado 04 de junio de 2016

Alsamixer

Está Escrito:
Porque si la trompeta da un sonido incierto, ¿quién se preparará para la batalla?(1Corintios 14:8)


Tomado de:Wikipedia
alsamixer 
es un programa de mezclado de audio para la arquitectura de sonido de Linux ALSA. Se utiliza para configurar el sonido y ajustar los volúmenes. Tiene una interfaz para usuarios basada en ncurses (modo texto) y no necesita del sistema X Window System. Soporta gran variedad de placas de sonidos con dispositivos múltiples.

Antes de probar el audio, vamos a asegurarnos que todo está bien en el controlador alsamixer. Lo volvemos a lanzar desde terminal con:

alsamixer
El manejo es con el teclado:
[TAB] para cambiar Playback, Capture, All. Para reproducción, lo dejamos en Playback.
Flechas izquierda/derecha para movernos por los parámetros (Items)
Flechas arriba/abajo para cambiar valor.
Tecla [M] para silenciar/activar. (MM indica silenciado, OO activado)
Para oír audio, el Master debe de estar activado y arriba (no tiene por qué estar a tope) y el PCM arriba.
Además, dependiendo de la configuración de altavoces que tengas (sonido estéreo o envolvente) necesitarás
activar y subir el nivel de algunos canales de la mezcla. Para estéreo, la reproducción funcionará para
estéreo (2.0) con el Item “Front” a un nivel alto. Esto implica que tienes que tener el par de altavoces
conectado a la salida frontal, de color verde.
También tenemos mezcladores de ALSA gráficos que podemos instalar desde synaptic, como alsamixergui,

Con todo esto, no está garantizado que el problema se vaya a solucionar para cualquier tarjeta solo una buena calidad de sonido.

Viernes 20 de mayo de 2016

Entrevista en Popular Top

Como comenté en mi entrada sobre el FLISOL 2016, antes del evento estuvimos presentes en varias estaciones de radio, entre esas en LA MEGA gracias a F.J. Betancourt (locutor de Popular Top) quien inicialmente nos invitó a su programa y nos enlazó a otros locutores.

Pues el pasado 21 de abril, tuve la oportunidad de ser invitado junto con Maria “Tatica” Leandro para hablar sobre el FLISOL en Popular Top (muy conocido en la región) abarca temas de tecnología, noticias actuales, habla sobre eventos locales, entrevista a personas que suelen realizar alguna actividad en la región y siempre realiza un ranking de cosas interesantes. Además, suelo colaborar con la administración del servidor, página y cuentas de correo del programa :).

En popular top por la MEGA

Autorretrato realizado por Maria Leandro en plena cabina de grabación

En fin, les recomiendo escuchar el programa que está bueno (me equivoqué en muchas partes) y recuerden que pueden suscribirse en su canal para que sigan escuchando el programa cada día:

La entrada Entrevista en Popular Top aparece primero en El blog de Skatox.

Jueves 19 de mayo de 2016

Permisos de archivos y carpetas

Está Escrito:
Por lo cual mi corazón se alegró, y se gozó mi lengua, Y aun mi carne descansará en esperanza;  (Hechos 2:26)
Tomado de: Ite.Educacion.es
Usuario propietario y grupo propietario de un archivo  
 
Anteriormente se ha comentado que en Unix todos los archivos pertenecen obligatoriamente a un usuario y a un grupo. Cuando un usuario crea un nuevo archivo, el propietario del archivo será el usuario que lo ha creado y el grupo del archivo será el grupo principal de dicho usuario.

Ejemplo, si un usuario llamado 'pepe' cuyo grupo principal es el grupo 'profesores' crea un nuevo archivo, el propietario del archivo será 'pepe' y el grupo propietario del archivo será 'profesores', o lo que es lo mismo, el archivo pertenecerá al usuario pepe y al grupo profesores. Obligatoriamente, todos los archivos del sistema pertenecen a algún usuario y a algún grupo.

Con el comando ls añadiendo la opción -l (formato largo) podemos visualizar el usuario propietario y el grupo propietario del archivo, ejemplo:
Mostrar el propietario con el comando ls -l
Comprobamos que el usuario propietario es pepe y el grupo propietario es profesores. La misma información podemos verla desde el administrador de archivos si vamos a la carpeta /home/pepe y mostramos las columnas correspondientes:
Navegador de archivos

Tipos de permisos

En los Sistemas Unix, la gestión de los permisos que los usuarios y los grupos de usuarios tienen sobre los archivos y las carpetas, se realiza mediante un sencillo esquema de tres tipos de permisos que son:
  • Permiso de lectura
  • Permiso de escritura
  • Permiso de ejecución
El significado de estos permisos difiere si se tienen sobre archivos o sobre carpetas. A continuación veremos el significado para cada uno de los casos:

Permiso de lectura

Cuando un usuario tiene permiso de lectura de un archivo significa que puede leerlo o visualizarlo, bien sea con una aplicación o mediante comandos. Ejemplo, si tenemos permiso de lectura sobre el archivo examen.txt, significa que podemos ver el contenido del archivo. Si el usuario no tiene permiso de lectura, no podrá ver el contenido del archivo.
Cuando un usuario tiene permiso de lectura de una carpeta, significa que puede visualizar el contenido de la carpeta, es decir, puede ver los archivos y carpetas que contiene, bien sea con el comando 'ls' o con un explorador de archivos como Konqueror. Si el usuario no tiene permiso de lectura sobre la carpeta, no podrá ver lo que contiene.

El permiso de lectura se simboliza con la letra 'r' del inglés 'read'.
Permiso de lectura

Permiso de escritura

Cuando un usuario tiene permiso de escritura sobre un archivo significa que puede modificar su contenido, e incluso borrarlo. También le da derecho a cambiar los permisos del archivo mediante el comando chmod así como cambiar su propietario y el grupo propietario mediante el comando chown. Si el usuario no tiene permiso de escritura, no podrá modificar el contenido del archivo.
Cuando un usuario tiene permiso de escritura sobre una carpeta, significa que puede modificar el contenido de la carpeta, es decir, puede crear y eliminar archivos y otras carpetas dentro de ella. Si el usuario no tiene permiso de escritura sobre la carpeta, no podrá crear ni eliminar archivos ni carpetas dentro de ella.

El permiso de escritura se simboliza con la letra 'w' del inglés 'write'.

Permiso de escritura

Permiso de ejecución

Cuando un usuario tiene permiso de ejecución de un archivo significa que puede ejecutarlo. Si el usuario no dispone de permiso de ejecución, no podrá ejecutarlo aunque sea una aplicación.
Los únicos archivos ejecutables son las aplicaciones y los archivos de comandos (scripts). Si tratamos de ejecutar un archivo no ejecutable, dará errores.

Cuando un usuario tiene permiso de ejecución sobre una carpeta, significa que puede entrar en ella, bien sea con el comando 'cd' o con un explorador de archivos como Konqueror. Si no dispone del permiso de ejecución significa que no puede ir a dicha carpeta.

El permiso de ejecución se simboliza con la letra 'x' del inglés 'eXecute'.
Permiso de ejecución

 

¿A quién se puede otorgar permisos?

Los permisos solamente pueden ser otorgados a tres tipos o grupos de usuarios:
  • Al usuario propietario del archivo
  • Al grupo propietario del archivo
  • Al resto de usuarios del sistema (todos menos el propietario)
Se pueden dar permisos de lectura, escritura, ejecución ó combinación de ambos al usuario propietario del archivo, al grupo propietario del archivo o al resto de usuarios del sistema. En Unix no existe la posibilidad de asignar permisos a usuarios concretos ni a grupos concretos, tan solo se puede asignar permisos al usuario propietario, al grupo propietario o al resto de usuarios.
Ejemplo, si disponemos de un archivo llamado 'examen.txt' cuyo propietario es 'pepe' y cuyo grupo propietario es 'profesores', se pueden dar permisos de lectura, escritura, ejecución ó combinación de ambos al usuario 'pepe', al grupo 'profesores' y al resto de usuarios, pero no podremos dar permisos a otros usuarios distintos de pepe (juan, luis, pedro,...) ni a otros grupos (alumnos, directivos, personal,...) ya que el esquema Unix no lo permite.

Supongamos que la siguiente figura representa los permisos de examen.txt:
Permisos de archivo
El usuario propietario (pepe) podrá leer y escribir en el documento. Los pertenecientes al grupo profesores podrán leerlo y el resto no podrá hacer nada.

Si deseo que otros usuarios tengan algún permiso sobre el archivo 'examen.txt', no me quedará más remedio que incluirlos en el grupo profesores u otorgar el permiso al resto de usuarios pero si hago esto último, absolutamente todos los usuarios del sistema gozarán del permiso, por eso no se recomienda salvo que eso sea nuestra intención.

Para poder cambiar permisos sobre un archivo, es necesario poseer el permiso de escritura sobre el mismo. El usuario root puede modificar los permisos de cualquier archivo ya que tiene acceso total sin restricciones a la administración del sistema.

Visualizar los permisos de un archivo o carpeta

Con el comando ls -l podemos visualizar los permisos de los archivos o carpetas. Al ejecutar el comando aparecen todos los archivos, uno por línea. El bloque de 10 caracteres del principio simboliza el tipo de archivo y los permisos.
Permisos de archivo 
El primer carácter indica de qué tipo de archivo se trata. Si es un guión '-' significa que se trata de un archivo normal, la letra 'd' significa que se trata de una carpeta (directory), la letra 'l' significa que se trata de un enlace (link). Otros valores son s, p, b que se refieren a sockets, tuberías (pipe) y dispositivos de bloque respectivamente.

Los 9 caracteres siguientes simbolizan los permisos del usuario propietario (3 caracteres), los permisos del grupo propietario (3 caracteres) y los permisos del resto de usuarios (3 caracteres). Vienen codificados con las letras r, w y x que se refieren a los permisos de lectura, escritura y ejecución. Si en lugar de aparecer dichas letras aparecen guiones significa que se carece de dicho permiso. Ejemplo, si los diez primeros caracteres son -rw-r----- significa que es un archivo normal, que el usuario propietario dispone de permisos de lectura y escritura pero no de ejecución, que el grupo propietario dispone tan solo de permiso de lectura y el resto de usuarios no dispone de ningún permiso. Veámoslo en la siguiente imagen:

 
Permisos de lectura y escritura para el propietario y lectura para el grupo
En el siguiente ejemplo vemos que pepe tiene permiso de lectura y escritura y que el resto solo tiene permiso de lectura tanto sobre el archivo 'apuntes.doc' como sobre el archivo 'examen.txt'.
// Visualización de permisos
ls -l
total 8
-rw-r--r--  1 pepe profesores 359 2011-09-28 18:02 apuntes.doc
-rw-r--r--  1 pepe profesores  11 2011-09-27 19:26 examen.txt

Cambio de permisos

Para cambiar los permisos de un archivo o una carpeta es necesario disponer del permiso de escritura (w) sobre dicho archivo o carpeta. Para hacerlo, se utiliza el comando chmod. La sintaxis del comando chmod es la siguiente:
chmod [opciones] permiso nombre_archivo_o_carpeta
Los permisos se pueden representar de dos formas. La primera es mediante las iniciales de a quién va dirigido el permiso (usuario=u, grupo=g, resto=o (other)), seguido de un signo + si se quiere añadir permiso o un signo - si se quiere quitar y seguido del tipo de permiso (lectura=r, escritura=w y ejecución=x). Ejemplos:
// Dar permiso de escritura al usuario propietario sobre el archivo 'examen.txt'
# chmod u+w examen.txt

// Quitar permiso de escritura al resto de usuarios sobre el archivo 'examen.txt'
# chmod o-w examen.txt

// Dar permiso de ejecución al grupo propietario sobre el archivo '/usr/bin/games/tetris'
# chmod g+x /usr/bin/games/tetris

// Dar permiso de lectura al grupo propietario sobre el archivo 'examen.txt'
# chmod g+r examen.txt

// Se pueden poner varios permisos juntos separados por comas
# chmod u+w,g-r,o-r examen.txt

// Se pueden poner varios usuarios juntos
# chmod ug+w examen.txt
La segunda forma de representar los permisos es mediante un código numérico cuya transformación al binario representaría la activación o desactivación de los permisos. El código numérico está compuesto por tres cifras entre 0 y 7. La primera de ellas representaría los permisos del usuario propietario, la segunda los del grupo propietario y la tercera los del resto de usuarios.

En binario, las combinaciones representan el tipo de permisos. El bit más a la derecha (menos significativo) se refiere al permiso de ejecución (1=activar y 0=desactivar). El bit central se refiere al permiso de escritura y el bit más a la izquierda se refiere al permiso de lectura. La siguiente tabla muestra las 8 combinaciones posibles:

Cód Binario   Permisos efectivos
0       0 0 0       - - -
1       0 0 1       - - x
2       0 1 0       - w -
3       0 1 1       - w x
4       1 0 0       r - -
5       1 0 1       r - x
6       1 1 0       r w -
7       1 1 1       r w x
Si deseamos otorgar sólo permiso de lectura, el código a utilizar es el 4. Si deseamos otorgar sólo permiso de lectura y ejecución, el código es el 5. Si deseamos otorgar sólo permiso de lectura y escritura, el código es el 6. Si deseamos otorgar todos los permisos, el código es el 7. Si deseamos quitar todos los permisos, el código es el 0. Ejemplos:
// Dar todos los permisos al usuario y ninguno ni al grupo ni al resto
chmod 700 examen.txt

// Dar al usuario y al grupo permisos de lectura y ejecución y ninguno al resto
chmod 550 examen.txt

// Dar todos los permisos al usuario y lectura y ejecución al grupo y al resto
chmod 755 /usr/bin/games/tetris

// Dar todos los permisos al usuario y de lectura al resto, sobre todos los archivos
chmod 744 *

// Cambiar permisos a todos los archivos incluyendo subcarpetas
chmod -R 744 *
Existe la posibilidad de cambiar los permisos utilizando el explorador de archivos. Para ello tan solo hay que seleccionar los archivos o carpetas y haciendo clic sobre la selección con el botón derecho del ratón > Propiedades, nos aparecerá la ventana de propiedades. Haciendo clic en la pestaña Permisos podremos establecer los permisos de una forma sencilla y haciendo clic en 'Permisos avanzados' de una forma avanzada.

Estableciendo permisos desde el administrador de archivos

 

Bits SUID y SGID

El bit SUID es una extensión del permiso de ejecución. Se utiliza en escasas ocasiones y sirve para que cuando un usuario ejecute una aplicación, ésta se ejecute con permisos del usuario propietario en lugar de hacerlo con los del usuario que ejecuta la aplicación, es decir, es equivalente a que sea ejecutada por el propietario.
Para activar el bit SUID, se puede ejecutar el comando chmod u+s nombre_archivo o sumar 4000 al número en octal si utilizamos dicho sistema. También se puede hacer lo mismo para el grupo, es el denominado bit SGID sumando 2000 al número en octal. Activar los bits SUID ó SGID puede ocasionar problemas de seguridad sobre todo si el propietario es root.

Si aplicamos el bit SGID a una carpeta, todas las subcarpetas y archivos creados dentro de dicha carpeta tendrán como grupo propietario el grupo propietario de la carpeta en lugar del grupo primario del usuario que ha creado el archivo. Es una ventaja cuando varias personas pertenecientes a un mismo grupo, trabajan juntas con archivos almacenados en una misma carpeta. Si otorgamos permisos de lectura y escritura al grupo, los archivos podrán ser modificados por todos los miembros del grupo y cuando cualquiera de ellos cree un archivo, éste pertenecerá al grupo.

Máscaras

Cuando se crea un archivo, los permisos originales por defecto son 666 y cuando se crea una carpeta, los permisos por defecto son 777. Dichos permisos por defecto pueden modificarse con el comando umask.
Con umask podemos definir la máscara de permisos, cuyo valor original es 000. El permiso por defecto será el resultado de restar del permiso original, el valor de la máscara. Si deseamos que los archivos se creen con permisos 644 (lo más habitual), pondremos máscara 022 ya que 666-022=644. En el caso de las carpetas, el permiso efectivo será 755 ya que 777-022=755. Si analizamos el valor de la máscara en binario, cada bit a '1' desactiva un permiso y cada bit a '0' lo activa, es decir, si tiene un valor 022 (000 010 010) cuando creemos una carpeta, tendrá permisos rwxr-xr-x y cuando creemos un archivo tendrá permisos rw-r--r-- ya que el permiso de ejecución para archivos hay que fijarle con chmod al tener los archivos el permiso original 666.

Cada usuario tiene su máscara. Se puede fijar la máscara por defecto para todos los usuarios en el archivo /etc/profile o para cada usuario en el archivo /home/usuario/.bashrc
// Ejemplo de uso de umask
pepe@ubuntu:/tmp$ umask
0002
pepe@ubuntu:/tmp$ mkdir nueva-carpeta
pepe@ubuntu:/tmp$ ls -l
drwxrwxr-x    2 pepe     profes       1024 Feb 12 19:46 nueva-carpeta
pepe@ubuntu:/tmp$ umask 022
pepe@ubuntu:/tmp$ mkdir otra-carpeta
pepe@ubuntu:/tmp$ ls -l
drwxrwxr-x    2 pepe     profes       1024 Feb 12 19:46 nueva-carpeta
drwxr-xr-x    2 pepe     profes       1024 Feb 12 19:46 otra-carpeta
pepe@ubuntu:/tmp$
La modificación con umask de la mascara por defecto no afecta a los archivos y carpetas existentes sino solo a los nuevos que cree ese usuario a partir de ese momento.

Grupos privados de usuario

Para hacer más flexible el esquema de permisos Unix, se recomienda utilizar grupos privados de usuario. Consiste en crear un nuevo grupo con el mismo nombre del usuario, cada vez que se crea un nuevo usuario y hacer que el grupo principal del nuevo usuario sea el nuevo grupo.
Ejemplo, si creamos un usuario pepe, crearemos también un grupo llamado pepe y haremos que el grupo primario del usuario pepe sea el grupo pepe.

En el siguiente ejemplo observamos que el UID del usuario pepe es 1002 y que su grupo principal es el 1003 que corresponde al GID del grupo pepe. También vemos que si creamos un nuevo archivo, pertenecerá al usuario pepe y al grupo pepe.
// Ejemplo: Usuario pepe y grupo pepe
pepe@ubuntu:/tmp$ more /etc/passwd |grep pepe
pepe:x:1002:1003::/home/pepe:
pepe@ubuntu:/tmp$ more /etc/group |grep pepe
pepe:x:1003:
pepe@ubuntu:/tmp$ ls > archivo.txt
pepe@ubuntu:/tmp$ ls -l
-rw-rw-r--    1 pepe     pepe           12 Feb 12 20:17 archivo.txt
pepe@ubuntu:/tmp$

Aunque parezca inservible, la creación de un grupo personal para cada usuario, permitirá crear otros grupos mediante los cuales, diferentes personas puedan trabajar de forma colaborativa sobre los archivos dentro de una carpeta concreta. Veámoslo mejor con un ejemplo:

Supongamos que creamos una carpeta llamada 'examenes' que pertenezca al grupo profesores. Si establecemos el bit SGID en dicha carpeta con el comando 'chmod g+s examenes', todos los archivos que se creen dentro de dicha carpeta tendrán como grupo propietario el grupo profesores. Si todos los usuarios utilizan máscara 002, los permisos de los archivos serán 664 con lo cual, cualquier integrante del grupo profesores podra visualizar y modificar los archivos.

El problema de usar la máscara 002 es que cualquiera que pertenezca al grupo principal de un usuario, tendría acceso de escritura sobre sus archivos, pero esto no sucederá nunca ya que cada usuario tiene su propio grupo principal y nadie más pertenece a él.

Cambiar usuario propietario y grupo propietario

Para poder cambiar el usuario propietario y el grupo propietario de un archivo o carpeta se utiliza el comando chown (change owner). Para ello hay que disponer de permisos de escritura sobre el archivo o carpeta. La sintaxis del comando es:
# chown nuevo_usuario[.nuevo_grupo] nombre_archivo
En el siguiente ejemplo vemos una secuencia de comandos en la que inicialmente comprobamos que el archivo 'examen.txt' pertenece al usuario pepe y al grupo profesores. Posteriormente hacemos que pertenezca al usuario luis y luego hacemos que pertenezca al usuario pedro y al grupo alumnos:
// Cambiar propietario y grupo propietario
root@ubuntu:/tmp# ls -l
total 4
-rw-rw-r--  1 pepe profesores 11 2005-09-28 20:15 examen.txt
root@ubuntu:/tmp# chown luis examen.txt
root@ubuntu:/tmp# ls -l
total 4
-rw-rw-r--  1 luis profesores 11 2005-09-28 20:15 examen.txt
root@ubuntu:/tmp# chown pedro.alumnos examen.txt
root@ubuntu:/tmp# ls -l
total 4
-rw-rw-r--  1 pedro alumnos 11 2005-09-28 20:15 examen.txt
root@ubuntu:/tmp#

Lunes 09 de mayo de 2016

Resumen del FLISOL 2016

El pasado 23 de abril en la ciudad de San Cristóbal (Venezuela) tuvimos la oportunidad de celebrar el FLISOL en la UNET,  luego de 5 años de ausencia por problemas políticos del país, falta de tiempo de los miembros de TALUG/Linuxtachira y otros. Pero este año decidí organizar el evento y al saber que contaba con la ayuda del Prof. Ronald Escalona y Maria “Tatica” Leandro pues logramos llevarlo adelante.

Organización

Desde finales de enero (¡si!, tres meses antes), estuvimos reuniéndonos públicamente en un centro comercial de la ciudad para cuadrar toda la logística. El Prof. Ronald Escalona logró conseguir el Auditorio de la Universidad Nacional Experimental del Táchira para el evento, video-beams por parte del Departamento de Informática y a través del Departamento de Informática logramos conseguir los certificados digitales de asistencia, Tatica organizó la web y redes sociales del evento, Richzendy consiguió el patrocinio por parte de Fedora y montó el servidor con los repositorios para descargar.

Gira de medios

La semana anterior al FLISOL, tuvimos la oportunidad de visitar varias estaciones de radio local y participar en varios programas reconocidos de la región, estuvimos en la 93.7 FM en El Pendrive de Lourdes, En la Mega 102.1 FM en Popular Top y en el programa de Andreina Matheus y Dario Motora, en Ecos del Torbes y mas. Gracias a todos lo que hicieron posible la participación, pues muchas personas llegaron a través de esos programas de radio. También gracias al área de medios de la UNET pudimos contar con publicidad en la página de la universidad y en sus respectivas redes sociales.

En popular top por la MEGA En el Pendrive de Lourdes Con Dario Motora En ecos del torbes

Instalaciones

Esta parte fue la que impresionó, aunque en el 2011 (la última edición) ya había bajado mucho las solicitudes de instalación y toco ofrecer software libre para Android. En este año solo hubo una instalación, bueno en realidad era una reinstalación porque tenía Ubuntu y deseaba tener una distribución mas ligera. Creo que la baja cantidad de instalaciones se debe a la facilidad de instalar Linux en un equipo y la compatibilidad ha crecido mucho actualmente, por lo que no es necesario contar con ayuda de expertos para tener software libre en tu equipo (a diferencia de hace una década).

Ponencias del FLISOL

Este fue el principal fuerte del evento debido a las pocas instalaciones que hubo. Desde las 9:30am comenzamos con la de Darwin sobre Software Libre y casos de éxito y luego con Luis Villalobos sobre comunidades libres (ambas ponencias fueron excelentes para abrir este evento). Una vez finalizadas, vino la de Leonardo Caballero nuestro invitado de Méridam donde nos habló sobre el poder de python a través de herramientas como Oddoo y Plone que son excelentes y están desarrolladas en Python. Para cerrar la mañana, se hizo mi ponencia sobre la seguridad y privacidad en Internet y como protegerse usando las herramientas de Mozilla, luego se hizo un breve descanso para almorzar el arroz chino (donado por el proyecto Fedora) y disfrutar de refrescos (donado por Feedback Software).

En la tarde contamos con las ponencia de Pablo Lopez acerca de estaciones de radio utilizando Software Libre, posteriormente contamos con la presencia de Jordi Cuevas sobre el proceso de traducción de WordPress. En paralelo, Tatica realizó un taller de Darktable con varios diseñadores y fotógrafos asistentes; en ese momento se montó a la “tarima” Richzendy y Arley para darnos una grandiosa explicación sobre Bitcoin, una moneda criptográfica de Internet (de hecho al final rifaron unos mBTC).

Finalmente, el evento se cerró con una clase magistral de seguridad informática a cargo del profesor Ronald Escalona, la introducción de la misma fue mostrar parte del tráfico de la red inalámbrica (porque estaba libre) donde pudimos ver algunas imágenes de lo que observaba el público, para luego explicar varios aspectos a tomar para la seguridad de un sitio web.

Cabe destacar que entre cada ponencia se rifaron: DVDs, camiseta, chapas, calcomanía (pegatinas), material de publicidad y mas. Algunos de los asistentes pudieron almorzar gratis, tomar refrescos y chucherías que trajeron los patrocinantes.

Ponencia de Darwin de Gnuchox Ponencia de Darwin de Luis Villalobos por parte de DjangoVE Ponencia de Leonardo Caballero Ponencia de Miguel Useche por parte de Mozilla Venezuela Ponencia de Miguel Useche por parte de Mozilla Venezuela Receso para el almuerzo Tatica en el receso de almuerzos Francisco Pagola conversando con otros gurús Tatica dando un taller de diseño gráfico Tatica dando un taller de diseño gráfico Ponencia de Jordi Cuevas sobre traducción de Wordpress Ponencia de Jordi Cuevas sobre traducción de Wordpress Ronald Forero con el pendón de Gnuchox Autorretrato con el público asistente Arley Lozano hablando sobre Bitcoins Richzendy y Arley Lozano hablando sobre Bitcoins Ponencia de Seguridad Informática de Ronald Escalona Parte del equipo organizador

Resultado del evento

Después de 5 años como profesor de la universidad, al fin pude organizar un evento “grande” para la comunidad en mi casa de estudios. Confieso que luego de tantos años sin la presencia de eventos de este tipo en la región, tenía miedo de que hubiese poca asistencia, sin embargo, como pueden ver en la foto de Tatica, la asistencia fue buena.

Asistentes del FLISOL 2016, foto cortesía de Maria Leandro

Asistentes del FLISOL 2016, foto cortesía de María Leandro

Agradezco a todos los asistentes, ponentes, organizadores, patrocinantes y personas que hicieron posible este evento. Me motivó a tratar de hacerlo cada año y a mejorar para el próximo, eso si, ¡necesitamos ayuda! Espero que para el próximo año te unas a participar en la creación de este evento, solo debes suscribirte a linuxtachira.org y estar pendiente de las reuniones o propuestas.

La entrada Resumen del FLISOL 2016 aparece primero en El blog de Skatox.

Richzendy Contreras

Richzendy Contreras
Gnu y Linux – Richzendy.org

Flisol 2016 San Cristóbal

Jueves 05 de mayo de 2016

También puedes ser un hacker de Linux

Linux es el proyecto mas famoso de software libre, también es el mas grande y probablemente el mas complejo que existe. Por su complejidad puede asustar a muchos desarrolladores que quisieran estudiar su código fuente y en muchos casos, realizar aportes para agregar nuevas funcionalidades o mejorar las existentes.

Componentes del núcleo Linux

Los componentes del núcleo Linux

En esta charla de Julia Evans, podrás ver en media hora, mucho de los aspectos importantes sobre el núcleo y cómo funciona, explica los pasos para colaborar e informa sobre la cultura de la comunidad respecto a los aportes, redacción de correos, entre otros. Luego comienza una breve parte práctica donde comparte buenos y graciosos ejemplos sobre como funcionan: módulos, ejecución y carga de procesos, por mencionar algunos.

Si no tienes claro los conceptos de los sistemas operativos te puede costar entender el vídeo, si ya los sabes, mira y disfruta:

Espero que el vídeo les anime a estudiar un poco mas este maravilloso sistema operativo, si quieren leer sobre el tema les recomiendo leer mi reseña sobre el libro Understanding the Linux Kernel donde pueden aprender muchas funcionalidades de Linux y de sistemas operativos en general, así pueden entender mejor como funciona el núcleo e inclusive aportar código al proyecto.

Happy Linux hacking!

La entrada También puedes ser un hacker de Linux aparece primero en El blog de Skatox.

Lunes 02 de mayo de 2016

Cómo actualizar el huso horario en Linux

time zone map

El 1° de mayo, el huso horario cambiará en Venezuela a UTC-4, por lo que debes actualizar el paquete tzdata en Linux para estar preparado para este cambio. Para hacer esto solo debes hacer lo siguiente:

Debian/Ubuntu

aptitude update
aptitude safe-upgrade tzdata

Red Hat

yum check-update
yum update tzdata

Para verificar que se la actualización tiene el cambio del huso horario se puede ejecutar la siguiente orden:

zdump -v /usr/share/zoneinfo/right/America/Caracas  | grep 2016

/usr/share/zoneinfo/right/America/Caracas  Sun May  1 06:59:59 2016 UT = Sun May  1 02:29:59 2016 VET isdst=0 gmtoff=-16200
/usr/share/zoneinfo/right/America/Caracas  Sun May  1 07:00:00 2016 UT = Sun May  1 03:00:00 2016 VET isdst=0 gmtoff=-14400

Referencia: How to check if the Time Zone database

Domingo 01 de mayo de 2016

Alberto Capella

Alberto Capella
alberkman Blog

Cambio de Huso Horario en Venezuela V3

Faltan pocas horas para el cambio de huso horario en Venezuela, y hace poco me preguntaban: ¿Tengo PfSense como firewall, qué hago al respecto?

Por defecto, PfSense viene sin el compilador, así que no es posible generar el archivo de zona en el mismo equipo.

La solución es muy sencilla, teniendo actualizado el paquete tzdata en algún servidor (o en tu estación de trabajo) con GNU/Linux, solo debes copiar el archivo de zona “Caracas” (ubicado en el directorio /usr/share/zoneinfo/America/ de tu sistema Debian) al directorio “/usr/share/zoneinfo/America/” en el servidor PfSense.

Para validar, solo deben ejecutar zdump -v America/Caracas | grep 2016 en una consola dentro del servidor PfSense; o ir al menú “Diagnostics” opción “Command Prompt” del dashboard y colocar el comando anterior.

Saludos.

Viernes 29 de abril de 2016

Alberto Capella

Alberto Capella
alberkman Blog

Cambio de Huso Horario en Venezuela V2

Prácticamente en menos de 48 horas el país cambiará nuevamente de Huso Horario, y como cosa rara, he visto personas tratando el tema de una manera “brillante” (joke).

Para hacer el cambio (de Huso Horario) en sistemas GNU/Linux solo hay una vía; actualizar el paquete tzdata al release 2016d; que ya incluye el cambio automático para Venezuela.

Ahora bien, que debes hacer si tienes Debian como Sistema Operativo ?

  1. Verificar que en el archivo de repositorios (/etc/apt/source.list) tengas el repositorio updates (si no lo tienes, debes agregarlo); tal como:
    deb http://ftp.br.debian.org/debian wheezy-updates main
    o
    deb http://ftp.br.debian.org/debian jessie-updates main
  2. Actualizar la lista de paquetes con el comando: apt-get update
  3. Instalar la actualización de el paquete tzdata con el comando: apt-get install tzdata
  4. Probar la actualización del paquete, con el comando: zdump -v America/Caracas | grep 2016

En Sistemas RHEL/CentOS/Etc, la actualización de este paquete se encuentra en el apartado updates en el archivo <distro>.repo que se encuentra en el directorio /etc/yum.repos.d/

Preguntas y Respuestas:

  • ¿Puedo utilizar el protocolo NTP para actualizar el huso horario? Resp: NO, para esto debes actualizar el paquete tzdata al release 2016d. El protocolo NTP sirve para actualizar la hora, NO el huso horario.
  • ¿No puedo sincronizar la hora usando NTP, puedo “setear” de forma manual la hora al sistema? Resp: , siempre y cuando actualices el paquete tzdata al realease 2016d; si no actualizas el tzdata, tu sistema podrá tener la hora teóricamente correcta, pero el sistema seguirá estando en el huso horario UTC -0430, por lo tanto, legalmente y técnicamente no tendrás la hora correcta.

Saludos.

Sábado 16 de abril de 2016

Alberto Capella

Alberto Capella
alberkman Blog

Cambio de Huso Horario en Venezuela

Hola, debido al cambio de huso horario que entrará en vigencia en el país a partir del 1 de mayo, me tome la libertad de reportar el caso en Debian y crear (disponibles desde  acá) los binarios deb y rpm con el último release de tzdata (Time Zone Data v. 2016d Released 2016-04-17); esta versión ya incluye el cambio en el huso horario Venezolano.

Solo deben descargar el paquete de acuerdo a su distro e instalarlo usando dpkg -i <paquete.deb> o rpm -iUvh <paquete.rpm>.

Para comprobar el cambio solo deben ejecutar lo siguiente:

$ zdump -v America/Caracas | grep 2016

America/Caracas Sun May 1 06:59:59 2016 UT = Sun May 1 02:29:59 2016 VET isdst=0 gmtoff=-16200
America/Caracas Sun May 1 07:00:00 2016 UT = Sun May 1 03:00:00 2016 VET isdst=0 gmtoff=-14400

Si tienen una instalación de PstgreSQL, basta con lanzar este par de querys:

SELECT TIMESTAMP ‘2016-04-30 07:00:00’ AT TIME ZONE ‘UTC’;

SELECT TIMESTAMP ‘2016-05-01 07:00:00’ AT TIME ZONE ‘UTC’;

El resultado será algo parecido al anterior.

 

Saludos.

Jueves 14 de abril de 2016

Richzendy Contreras

Richzendy Contreras
Gnu y Linux – Richzendy.org

Invitación al FLISOL San Cristóbal 2016

Martes 12 de abril de 2016

Valencia Software Libre: Flisol 2016 - Valencia | Carabobo

Domingo 10 de abril de 2016

José Miguel Parrella Romero

José Miguel Parrella Romero
null pointer dereference

Perspective at //build

Recently I had the opportunity to share stage with some brilliant internal and external colleagues advancing open source in the cloud at //build, Microsoft’s developer conference in San Francisco. Beyond having been able to talk to about 400 attendees about how we’re approaching open source in the cloud, how customers are building open source applications in Azure and much more, speaking at //build had a very special meaning for me.

Before joining Microsoft, I didn’t have a lot of exposure to the Microsoft developer ecosystem, the Microsoft subsidiaries themselves or the employees working there. I was focused in a number of open source projects such as Canaima (Venezuela’s national distro) a number of communities and expanding a small open source system integrator in the region.

Most of my interaction with Microsoft was limited to public debates, at industry events or in Congress, or to the ISO/IEC 29500 discussion back in the days (both of which I’ve covered in this blog, in Spanish) However, around 2009 or so, the company I was a CTO for and Microsoft decided to create an Open Source Interoperability Lab in Venezuela. The idea was to document common hybrid technology use cases (such as Samba-based DCs in Windows environments, or PHP and ASP.NET communicating via ESB) and transfer that knowledge to customers.

As a result of that effort, I ended up being invited to and participating in PDC09 in Los Angeles. PDC was the precursor of //build, a yearly conference aimed at Microsoft-centric developers. There are 3 things I remember clearly from PDC09: one, was the “convertible tablet PC” they offered attendees (running Windows 7 bits that rapidly became Debian bits), the second one was the PHP SDK for Azure, and the preview access to that new “cloud” thingy, and the third one was an open source roundtable led by Miguel de Icaza that mainly talked about governance and CodePlex.

While I didn’t know it back then, a lot of the things discussed in that roundtable influenced my decision, about a year later, to join Microsoft and work in open source strategy; a journey that brought me to Azure in less than 5 years. But I digress, and that whole story deserves another post.

Maybe some of the attendees then foresaw that Microsoft would end up acquiring Xamarin, or that attention would be put in non-CodePlex initiatives, like GitHub. What I really didn’t expect was that all of that new reality would converge into a PDC-like event, less than 10 years after. This year at //build it did, and then some.

For me, speaking at //build was a humbling opportunity to reconcile the many worlds increasingly pulled together by the force of open source. From the announcements to the content and all other metasignals at the conference, it was incredibly exciting to see this transformation manifesting itself within Microsoft’s developer community.

It highlights the importance of leaving no one behind when we explore new paradigms and technologies in the cloud, and how every individual in the open source community can exert change in this industry.


Viernes 01 de abril de 2016

Valencia Software Libre: Suspendido en Valencia Document Freddom Day

Domingo 20 de marzo de 2016

Silvio Perez: Creating a simple puppet manifest
Silvio Perez: Script that change all filenames in a directory to upper/lower case

Lunes 14 de marzo de 2016

Valencia Software Libre: Document Fredom Day - DFD - UJAP Valencia

Martes 09 de febrero de 2016

Silvio Perez: Centos/RHEL – Install/export X11 server

Sábado 06 de febrero de 2016

Luis A. Martínez F.

Luis A. Martínez F.
Hunting Bears

Rescatando la memoria técnica del proyecto Canaima GNU/Linux

6ta Cayapa Canaima. Imagen de David Hernández (by-nc-sa).

Una actividad creativa tiene muchos matices y particularidades. Podemos estar de acuerdo en que nada está realmente hecho desde cero, puesto que siempre existe un antecedente del cual hemos tomado prestado inspiración. Específicamente en el desarrollo de Software Libre, esta es una actividad recurrente e incluso alentada como buena práctica. Y es que, todo el movimiento del conocimiento libre tiene como premisa la mejora progresiva de la forma en que la sociedad satisface sus necesidades, tomando como referencia los avances que otros han hecho y publicado.

El Proyecto Canaima, por su parte, cumple 9 años desde la publicación de la versión 1.0. Desde ese entonces, año tras año, incontables personas han ayudado con su trabajo de diversa índole a la mejora progresiva de los procesos técnicos y no técnicos de la distribución.

Realmente son incontables. A pesar de no poseer la mano de obra de otras distribuciones, Canaima es utilizada en un número significativo de instituciones de la administración pública, sirve como sistema operativo para las más de 4 millones de canaimitas distribuídas a nivel nacional y ha entrado varias veces dentro de las 100 distribuciones más populares, según distrowatch.

Como trabajador del CNTI, fuí testigo directo de la evolución de la distribución, y de como con cada Cayapa (reuniones técnicas o bug squash parties), la calidad del código, conceptos y estructura de la distribución maduraban.

Borrón y cuenta nueva

En la última minicayapa celebrada en la Escuela Venezolana de Planificación en la ciudad de Caracas, los actores presentes tomaron la decisión de rehacer la distribución desde cero, bajo la justificación de que lo existente era tan desastroso que no servía.

Con un quórum cuestionable y una premura impresa por la institucionalidad, nacieron nuevos paquetes y nuevos procesos. Pero con ellos también volvieron los errores superados, las malas estructuras de diseño corregidas, los errores conceptuales que ya habían quedado atrás, sin mencionar los acuerdos alcanzados que fueron fácilmente rotos sin mayor explicación.

No es justificable de ninguna forma este accionar. Incluso, no estaría de acuerdo si se hubiese hecho borrón y cuenta nueva para sustituirlo por algo mejor. La memoria técnica de un proyecto no debe perderse.

Rescatando lo perdido

Es así como he decidido continuar con la línea de investigación que el Proyecto Canaima (directa o indirectamente) echó a un lado. La nueva distribución tomará el nombre de Tribus GNU/Linux, el mismo nombre de su plataforma (Tribus). Preliminarmente estaré haciendo una imagen ISO con los mismos paquetes originales de Canaima (con los nombres cambiados), basada en Debian Sid y comenzando su versionamiento en 0.1, pero luego me dedicaré enteramente a terminar la plataforma de Tribus para poder establecer los criterios de participación comunitaria, modelos de gobernanza y automatización de procesos.

Por ahora, mientras la plataforma de Tribus se completa, las plataformas asistentes serán las siguientes:

Si alguno desea sumarse a esta iniciativa, es bienvenido en las listas de correo. Esta nueva distribución está dirigida al usuario común y tiene como propósito fundamental mejorar la experiencia en el área de escritorio.

Miércoles 03 de febrero de 2016

Héctor Colina

Nuevo portal de Canaima

Hoy el proyecto Canaima institucional amaneció con nuevo portal Web, acá algunos detalles que observé de pasada

¿Qué me gustó?

* Es ligero (en mi paupérrima conexión cargó rápido)
* Interfaz moderna, no lo probé en otros dispositivos aunque por el
código debería ser responsive
* Combinación agradable de colores
*Declara los contenidos con Creative Commons Reconocimiento – No
Comercial – Compartir Igual 3.0 Venezuela

¿Qué no me gustó?
* Le quitan el crédito a la comunidad de joomla ya que estando basado en ese CMS no se ve por ningún lado que diga que lo usan, sólo revisando el código podemos verificarlo.
* TIene errores ortográficos, incluso en el código (<meta name=”keywords” content=”CNTI,cnti,Cnti,Canaima,CANAIMA,canaima,
Canaima 5.0, canaima 5.0, CANAIMA 5.0, Canaima Linux, canaima linux,
CANAIMA LINUX, Canaima GNU/Linux, canaima gnu/linux, CANAIMA
GNU/LINUX, Canaima Educativo, canaima educativo, CANIAMA EDUCATIVO…)
* Hay errores conceptuales: por ejemplo, confunden la definición de sabor de canaima educativo con el proyecto de hardware homónimo [1], o confundir el concepto de cayapa [2] con el funcionamiento de la comunidad canaima [3] lo cual si alguien que no conoce canaima lee
dirá que la comunidad canaima es una cayapa (:-)
* Mejor aprovechamiento de enlaces : Por ejemplo en
http://canaima.softwarelibre.gob.ve/canaima/soporte envían a
http://trac.canaima.softwarelibre.gob.ve/ cuando debería ser
http://trac.canaima.softwarelibre.gob.ve/canaima
* Alcances del proyecto no correctos: en [4] confunden nacional al
decir que “dado que nuestros dos principales productos están dirigidos
a usuarios en todo el país, el sector educativo y el sector APN”
dejando por fuera otros importantes sectores que también conforman lo
nacional.
* En beneficios se dejan de lado componentes estratégicos tales como
que canaima es una “excusa” par construir una soberania, un país
potencia, independencia tecnológica, apalancamiento de sectores
socio-productivos, etc.

Quizás existan otras observaciones que se me escapan en este momento,
pero creo que lo importante es el punto de que, quizás, la estrategia
de sacarlo al público para su validación es interesante siempre y
cuando se tenga claro el transfondo conceptual ya que esa es la primer
imagen que nos llevamos, lo demás es adorno…

Y así deben haber muchos detalles más.

MI humilde recomendación es que revisen bien este tipo de iniciativas
antes de salir a producción, pero que sean revisadas por un equipo
multidisciplinario para que la construcción pueda ser integral y no desde una única  perspectiva.
[1] http://canaima.softwarelibre.gob.ve/canaima/sabores-canaima
[2] http://cayapa.canaima.net.ve/wiki/doku.php
[3] http://canaima.softwarelibre.gob.ve/comunidad/como-funciona-la-comunidad-canaima
[4] http://canaima.softwarelibre.gob.ve/canaima/alcance

Martes 19 de enero de 2016

Carlos Colmenarez

Carlos Colmenarez
LINUX – El Blog de Zero

BlackBerry abandonará definitivamente su sistema operativo en favor de Android

BlackBerry 10 ha muerto. Así lo ha anunciado John Chen, el director ejecutivo de la compañía canadiense que apostará por Android en 2016 con uno o dos terminales nuevos este año. El anuncio llega mientras explicaba como el BlackBerry Priv llegaría a más operadores estadounidenses, pero sin añadir fechas para Europa todavía, pero que llegará a 31 países más a lo largo de los próximos trimestres.

BlackBerry es una compañía peculiar, y al depender mucho de las ventas corporativas no necesita tener una amplia gama o tener nuevos dispositivos cada trimestre en el mercado. Pero sí necesita una buena ejecución en cada uno. John Chen piensa que es así. En los resultados financieros presentados a finales de diciembre así lo afirmaba.

Blackberry tiene una base sólida financieramente, y estamos ejecutando bien sobre ella. Para sostener nuestra dirección actual estamos aumentando las inversiones para añadir crecimiento continuado en software

Esta estrategia de apostar por el software y los servicios, manteniendo productos con un sistema operativo que las empresas estén dispuestas a implementar, así como usuarios avanzados. El salto a Android despeja las dudas que los inversores pueden tener, y permite liberar a ingenieros de software atados en BB10 para el desarrollo y personalización de Android, así como los servicios.

blackberry resultados

El hardware de BlackBerry ya solo constituye el 40% de sus mermados ingresos. En plena cima, cuando los ingresos de BlackBerry se contaban en las decena de miles de millones y no en las centenas de millones, el hardware suponía más del 80% de sus ingresos. No es secreto que el futuro de BlackBerry pasa por los servicios y el software que puedan ofrecer a las empresas. Pero no está claro cómo de potente sea la diferenciación que puedan ofrecer para seguir siendo relevantes.


Miércoles 09 de diciembre de 2015

Extensiones útiles en Chrome

Esta vez quiero darte pequeños tips de algunas extensiones, para que tu navegador google chrome pueda lucir aun mas amigable Read Later Fast: Te permite almacenar paginas en esta aplicación que podrás consultar/leer luego. URL shortener:  Puedes cortar la URL del sitio que estás viendo, lo genial es que puedes configurar los atajos del teclado, […]

Lunes 02 de noviembre de 2015

Como instalar xanadu

Video de como Instalar Xanadu GNU/Linux 0.8.0 utilizando el instalador automatizado…

XANADU Linux

Y ya que hablamos de xanadu les comento que ya esta distro esta en su versión 0.8

Después de varios meses de desarrollo la versión 0.8.0 de Xanadu GNU/Linux ya esta entre nosotros.

Asi se ve actualmente Xanadu

xanadu linux desktop

Pasen por su blog y bajen esta distro que esta muy buena!!

https://xanadulinux.wordpress.com

Martes 13 de octubre de 2015

¿Que es QRDA? #QRDA @QRDAve

QRDA nace bajo la idea de proveer soluciones tecnológicas a distintas organizaciones sin fines de lucro, a través del apoyo de twitter.com/delbosquetech y con el respaldo de la Comunidad del Software Libre en Venezuela.

Esta idea la propone Luis Ortiz, gran amigo y compañero de trabajo. Se desarrolla en una reunión social (agua, cerveza, jugos, refresco, pizza) por lo que es considerado un evento entre panas que buscamos un mismo fin: dar apoyo con nuestro conocimiento tecnológico para desarrollar proyectos determinados.

Luis en la Charla de Inicio de QRDA

Luego de establecer las bases que sustentarían este proyecto, se fueron creando diferentes tickets en github que permitieran establecer un orden a las actividades que se van desarrollando, para luego crear las diferentes listas de correo y comenzar a trabajar.

Al final de la actividad pudimos compartir con personas que se acercaron de diferentes parte de Venezuela y que integran la Comunidad del Software Libre, gente con la cual me identifico y que se ha ganado mi respeto.

La lista de agradecimiento es extensa, son muchos los involucrados en este maravilloso proyecto que, aún y cuando está comenzando, podría asegurar que ayudará a muchas personas y tendrá un crecimiento positivo. Muchas gracias a todos.

Les dejo las redes sociales de QRDA para que también puedan seguir este proyecto y, si lo desean, puedan unirse a nosotros:

https://twitter.com/QRDAve/
https://instagram.com/qrda.ve
https://www.facebook.com/QRDA.com.ve
http://qrda.com.ve

Nuevamente Gracias por venir.

Viernes 25 de septiembre de 2015

Listado de directorios en github pages

Recientemente decidí migrar mi sitio web a github pages. El proceso es muy sencillo y perfectamente descrito en https://pages.github.com/. Los dos únicos bemoles de este servicio son:

Lunes 14 de septiembre de 2015

La accesibilidad web para personas con discapacidad visual

“La Accesibilidad” hoy en día es una de las palabras más utilizadas cuando nos referimos a las persona con alguna discapacidad, más específicamente la discapacidad visual. Ésta no solamente abarca los aspectos de software y hardware, sino que además se centra en la vida misma de estas personas, cómo puede hacerse más fácil la tarea de convivir con personas que no tienen este tipo de desventaja; debido a esto, las instituciones del Estado se han interesado y comprometido a realizar medios más accesibles para ellos, así por ejemplo tenemos los pasos peatonales, incluso hoy en día hablamos de la creación de páginas web o sistemas de información accesibles. Es importante resaltar que se debe hacer un buen uso de la tecnología para poder romper las barreras que se presentan.
La construcción de estos sistemas o páginas web son de gran ayuda para las personas que viven con esta discapacidad debido a que han sido de alguna forma discriminados, sin dejar a un lado que este grupo está ya formado por más de 30 mil personas en nuestro país, esto de acuerdo a las cifras arrojadas en el censo realizado por CONAPDIS (Consejo Nacional para las Personas con Discapacidad). Es por ello que en estos momentos se debe luchar por incluir a todas estas personas en las actividades cotidianas del hombre, más específicamente en el mundo de las tecnologías, permitiéndoles conocer, por medio de páginas web por ejemplo, todo el contenido que puede ser de su interés y así pueda salir adelante de una mejor manera. El objetivo principal es que estos sistemas estén disponibles para todas estas personas y que sean incluidas en el aparato productivo de nuestro país, además de que la misión es producir, transformar e implantar bienes y servicios lo suficientemente accesibles para ellos.
La tiflotecnología ha logrado grandes avances; a nivel mundial existen organizaciones dentro de las cuales podemos mencionar a La Once (Organización Nacional de Ciegos Españoles), la cual ha sido pionera en el uso de herramientas o dispositivos que ayudan a las personas con esta discapacidad, a ser independientes. También existen escuelas destinadas a la enseñanza completa de estas personas, como son la Lighthouse International en Estados Unidos, encargada de enseñar de manera completa con la finalidad de lograr el desenvolmiento de estos; les proporcionan ayuda en cuanto a la orientación, el uso del computador, el uso del bastón, además de otras actividades, todo con la finalidad de que cada uno de ellos no pase a ser una carga para sus familias, sino que sean personas independientes y capaces de desenvolverse tanto tecnológicamente como en las relaciones de su vida diaria.
La metodología aplicada en esta investigación es documental, ya que trata de ver lo que existe hoy en día, cómo se puede mejorar y cómo se pueden crear herramientas que verdaderamente sean útiles para el trabajo diario, ya que no tendría ningún sentido desarrollar aplicaciones sin tomar en cuenta a los usuarios interesados acerca de cómo se les puede ayudar.
Palabras Claves: Hardware, Software, Software Libre, Tiflotecnología, Discapacidad, Discapacidad Visual.

Este es uno de los tantos articulo arbitrado realizado en el proceso de postgrado, luego explicare las fases y las herramientas a usar.

Domingo 13 de septiembre de 2015

Richzendy Contreras

Richzendy Contreras
Gnu y Linux – Richzendy.org

Taller de empaquetamiento RPM en Fudcon Cordoba 2015

Sábado 12 de septiembre de 2015

Instalar Samba en Debian

Primero que nada hacemos la instalación del paquete
root@orthanc:/home/julioh# aptitude install samba

En nuestro home creamos el nombre de una carpeta que vamos a usar para compartir
mkdir share
chmod 777 share

Luego modificamos el archivo de configuración de samba

root@orthanc:/home/julioh# nano /etc/samba/smb.conf


# Samba config file created using SWAT
# from UNKNOWN (192.168.42.219)
# Date: 2014/05/15 14:19:36
[global]
server string = %h server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
hosts allow = 127.0.0.1, 192.168.41.0/24, 192.168.40.0/24
#hosts deny = 0.0.0.0/0
#Comentamos el HostDeny para que me acepte los rangos de ip #de nuestra red interna
#[homes]
# comment = Home Directories
# valid users = %S
# create mask = 0700
# directory mask = 0700
# browseable = No

#[printers]
# comment = All Printers
# path = /var/spool/samba
# create mask = 0777
# printable = Yes
# print ok = Yes
# browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[SALA]
comment = Archivos Compartidos
path = /home/julioh/share
#admin users = root, SalaP, sala01, sala02
#username = root
#hosts allow = 192.168.41.0
#read list = @users
#public = yes
#only guest = yes
#Le descomentamos para que puedan escribir
writable = yes
read only = yes
valid users = SalaP, root, sala01, sala02
write list = SalaP, root, sala01, sala02
# Lineas agregadas
# crear archivos con permisos rxw
create mask = 0700
# crear directorios con permisos rxw
directory mask = 0700

Luego Detenemos el demonio y lo volvemos a levantar
root@orthanc:/home/julioh# /etc/init.d/samba restart
[ ok ] Stopping NetBIOS name server: nmbd.
[ ok ] Starting NetBIOS name server: nmbd.
[ ok ] Stopping SMB/CIFS daemon: smbd.
[ ok ] Starting SMB/CIFS daemon: smbd.
[ ok ] Stopping Samba AD DC daemon: samba

Luego de esos podremos compartir archivos en un directorio seguro para una red interna.

Martes 08 de septiembre de 2015

Alvaro Jésus Hernández Arteaga

Alvaro Jésus Hernández Arteaga
Cacho y Capote

Volver a-Marte o migrar cuando todo se jo..

Cuando migrar a cualquier otro país no resuelve nada, Marte puede ser una buena alternativa.