Lunes 27 de marzo de 2017

Crear una imagen Docker a partir de debootstrap para Debian Jessie

Antes de empezar a tocar el tema sobre crear una imagen Docker a partir de debootstrap de Debian, les dejo el enlace de los artículos sobre docker del blog.

Lo primero que se tiene que hacer es instalar debootstrap:

#apt-get install debootstrap

A continuación se crea un directorio para construir la jaula debootstrap:

mkdir debian-jaula

Ahora se ejecuta debootstrap pasando la distribución a bajar, el directorio donde se crea la jaula y el repositorio a usar:

debootstrap jessie debian-jaula/ http://ftp.debian.org/debian
I: Retrieving Release 
I: Retrieving Release.gpg 
I: Checking Release signature
I: Valid Release signature (key id 75DDC3C4A499F1A18CB5F3C8CBF8D6FD518E17E1)
I: Validating Packages 
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: acl adduser dmsetup insserv libaudit-common libaudit1 libbz2-1.0 libcap2 libcap2-bin libcryptsetup4 libdb5.3 libdebconfclient0 libdevmapper1.02.1 libgcrypt20 libgpg-error0 libkmod2 libncursesw5 libprocps3 libsemanage-common libsemanage1 libslang2 libsystemd0 libudev1 libustr-1.0-1 procps systemd systemd-sysv udev 
I: Found additional base dependencies: libdns-export100 libffi6 libgmp10 libgnutls-deb0-28 libgnutls-openssl27 libhogweed2 libicu52 libidn11 libirs-export91 libisc-export95 libisccfg-export90 libmnl0 libnetfilter-acct1 libnettle4 libnfnetlink0 libp11-kit0 libpsl0 libtasn1-6 
I: Checking component main on http://ftp.debian.org/debian...
I: Validating acl 2.2.52-2
I: Retrieving libacl1 2.2.52-2
I: Validating libacl1 2.2.52-2
........................
..............
I: Configuring isc-dhcp-client...
I: Configuring tasksel...
I: Configuring tasksel-data...
I: Configuring libc-bin...
I: Configuring systemd...
I: Base system installed successfully.


Ahora se muestra el contenido del directorio:

ls debian-jaula/
bin/  boot/  dev/  etc/  home/  lib/  lib64/  media/  mnt/  opt/  proc/  root/  run/  sbin/  srv/  sys/  tmp/  usr/  var/

Ahora se crea la imagen por medio de tar y de docker import:

tar -C debian-jaula/ -c . | docker import - ecrespo/debian
sha256:49ad34e39c5f9ede2c1c57994895065236a5965496631e8fcab00b00778d85fa
Como se puede ver, se genera la imagen y el ID de la misma en sha256, se coloca en subrayado la parte que identifica la imagen al listas las imagenes.


Al hacer docker images se tiene lo siguiente:
REPOSITORY                                        TAG                 IMAGE ID            CREATED             SIZE
ecrespo/debian                                    latest              49ad34e39c5f        2 minutes ago       272.7 MB


Al tener la jaula lista se puede hacer personalizaciones y adaptaciones a fin de crear la imagen docker.

Este artículo se basa en a documentación del wiki de Debian sobre debootstrap y en un artículo sobre imagen base de docker

Sábado 25 de marzo de 2017

Miguel Ángel Useche

Miguel Ángel Useche
Planetas – El blog de Skatox

What comes next is the future: Documental sobre la web

What Comes Next Is the Future es un documental sobre la web creado por Matt Griffin. El cual relata la historia de la web: las fases por las cuales ha pasado, como está actualmente y hacia donde se dirige, contada por la gente que la construyó.

El contenido del documental

Si eres desarrollador web o deseas convertirte en uno, no debes dejar de ver este documental. Lo que mas me gustó es la participación de personas muy importantes en el mundo de la web como: Tim Berners Lee, Ethan Marcotte, Eric Meyer, John Resig, Jessica Ivins, entre otros. Pues estas escuchando la historia por quienes realmente lo hicieron y se expresan con un cierto sentimiento que le da mejor calidad a la historia.

What Comes Next Is the Future

What Comes Next Is the Future es un buen documental para todo desarrollador web

El documental tiene una duración de 1 hora, abarca desde la creación de la web, cuando todos creábamos sitios con tablas, el nacimiento de CSS, la hegemonía de flash, la aparición de los dispositivos móviles y como afectó a los sitios web. Me gustó porque muestran la historia de la web desde un punto de vista de los desarrolladores, a diferencia de otros documentales donde lo hacen desde el punto de vista del usuario. En mi caso, que llevo haciendo páginas desde 1999, el documental me recordó como se hacían muchas cosas en el pasado y como algunas tecnologías nacieron para solventar problemas del pasado.

Cómo ver What comes next is the future

Lo mejor es que el documental está disponible de forma gratuita en la web, lamentablemente por ahora no tiene sub-títulos en español (sería bueno que alguien se animara a realizarlos). Así que reserva una hora para que veas What Comes next is the future a continuación.

Recuerda que si te gustó, comparte esta información con tus amigos para que conozcan mas sobre la plataforma web.

La entrada What comes next is the future: Documental sobre la web aparece primero en El blog de Skatox.

Git log para obtener commits de una branch específica

Tengo un repositorio en el que estoy trabajando en unas 4 branches diferentes. Y hoy retomando el trabajo en una, quería solamente mostrar el log de los commits hechos en dicha branch. ¿Cómo se hace?.

Viernes 17 de marzo de 2017

Estructura de datos en python (Grafos)

Continuando con la serie de artículos sobre estructuras de datos en python. En este caso se tocará el tema de grafos con dos ejemplos, uno con listas y otro con matrices.

Los artículos anteriores son:

Este artículo se basa en los códigos en github Grafos con listas adyacentes y Grafos con matriz adyacente y del vídeo en youtube Grafos en Python.

De ejemplo de grafo se usará un modelo de procesos de colas, a continuación la imagen:


A continuación el código manejando el grafo como una lista:


#!/usr/bin/env python



class Vertice(object):

def __init__(self, n):

#Se define el nombre del vertice y la lista de vecinos

self.nombre = n

self.vecinos = list()



def agregarVecino(self, v):

if v not in self.vecinos:

self.vecinos.append(v)

self.vecinos.sort()







class Grafo(object):

#Se crea un diccionario de vertices.

vertices = {}



def agregarVertice(self, vertice):

#Se pregunta si vertice es una instancia de Vertice y si el nombre no esta en la lista de vertices.

#Si se cumple se agrega el vertice al diccionario de vertices.

if isinstance(vertice, Vertice) and vertice.nombre not in self.vertices:

self.vertices[vertice.nombre] = vertice

return True

else:

return False



def agregarBorde(self, u, v):

#Si u y v estan en vertices. se agregan como vecinos.

if u in self.vertices and v in self.vertices:

self.vertices[u].agregarVecino(v)

self.vertices[v].agregarVecino(u)

return True

else:

return False



def printGrafo(self):

#Se muestra el grafo.

for key in sorted(list(self.vertices.keys())):

print(key + str(self.vertices[key].vecinos))



if __name__ == '__main__':

g = Grafo()

cinco = Vertice('5')

tres = Vertice('3')

cuatro = Vertice('4')

uno = Vertice('1')

dos = Vertice('2')

for i in range(ord('1'), ord('6')):

g.agregarVertice(Vertice(chr(i)))



bordes = ['53','54','31','35','41','42','45','12','13','14','21','24']

for borde in bordes:

g.agregarBorde(borde[:1],borde[1:])



g.printGrafo()







Al ejecutar el script se tiene:
python grafo-listas.py
1['2', '3', '4']
2['1', '4']
3['1', '5']
4['1', '2', '5']
5['3', '4']


Como se ve, los vertices relacionados, el 1 se conecta con 2,3 y 4, el 2 con 1 y 4, el 3 con 1 y 5, el 4 con 1,2 y 5; y el 5 con 3 y 4.

El siguiente código muestra otra manera de crear el grafo, en este caso se puede manejar el peso de los bordes (aunque no se usa en el ejemplo).  A continuación el código:


#!/usr/bin/env python3



#Se importa nuevas caracteristicas de print

from __future__ import print_function





#Se crea la clace vertice que solo tiene como argumento su nombre.

class Vertice(object):

def __init__(self, n):

self.nombre = n





#Se crea la clase grafo con vertices e indices de bordes como diccionarios

#y bordes como una lista.

class Grafo(object):

vertices = {}

bordes = []

indices_bordes = {}





def agregarVertice(self,vertice):

#Si vertice es una instancia de su clase y su nombre no esta en el 

#diccionario de vertices se agrega.

if isinstance(vertice, Vertice) and vertice.nombre not in self.vertices:

self.vertices[vertice.nombre] = vertice

#Se recorre los bordes y se agregan.

for fila in self.bordes:

fila.append(0)

self.bordes.append([0] * (len(self.bordes)+1))

self.indices_bordes[vertice.nombre] = len(self.indices_bordes)

return True

else:

return False



def agregarBorde(self,u,v, peso=1):

#Se agrega el borde.

if u in self.vertices and v in self.vertices:

self.bordes[self.indices_bordes[u]][self.indices_bordes[v]] = peso

self.bordes[self.indices_bordes[v]][self.indices_bordes[u]] = peso

return True

else:

return False





def printGrafo(self):

#Se muestra el grafo

for v, i in sorted(self.indices_bordes.items()):

print(v + ' ', end='')

for j in range(len(self.bordes)):

print(self.bordes[i][j], end='')

print(' ')    





if __name__ == '__main__':

g = Grafo()

cinco = Vertice('5')

tres = Vertice('3')

cuatro = Vertice('4')

uno = Vertice('1')

dos = Vertice('2')

for i in range(ord('1'), ord('6')):

g.agregarVertice(Vertice(chr(i)))



bordes = ['53','54','31','35','41','42','45','12','13','14','21','24']

for borde in bordes:

g.agregarBorde(borde[:1],borde[1:])



g.p

rintGrafo()





Al ejecutar el script se tiene lo siguiente:
python grafo-matrix-adyacente.py 
1 01110 
2 10010 
3 10001 
4 11001 
5 00110 

Como en el caso anterior, el vertice 1 se conecta con 2,3 y 4, el vertice 2 se conecta con 1 y 4, el vertice 3 conecta a 1 y 5, el vertice 4 conecta a 1,2 y 5; y el vertice 5 conecta con 3 y 4.



Se tienen dos formas de representar un grafo, puede usar el que prefiera, dependiendo de la complejida, si se necesita manejar pesos, la opción es el de la matriz.


Jesus Palencia

Ayuda a Firefox Multiproceso con Add-on Compatibility Reporter

Firefox está actualmente en transición a una arquitectura multiproceso (e10s), la cual dará a los usuarios una mayor estabilidad y una mejor respuesta del navegador. Esta transición afecta ciertos complementos, los cuales deben adaptarse al nuevo modelo o no trabajarán … Sigue leyendo

Lunes 13 de marzo de 2017

Jesus Palencia

Como medir la conexión a tierra de un toma-corriente con un multímetro

Usando el multímetro como voltímetro, en la posición VAC, con un rango superior a la tensión que queremos medir (normalmente mayor de 230 VAC), conectamos las puntas de prueba entre fase y neutro. Esto nos dará el valor real de … Sigue leyendo
Miguel Ángel Useche

Miguel Ángel Useche
Planetas – El blog de Skatox

Las mejores aplicaciones para tablets con Android

Muchas personas piensan que tener una tablet (o tableta si prefieres el término en español) es lo mismo que un teléfono móvil, pero no es cierto, pues al tener una pantalla de mayor tamaño y mejor rendimiento, las posibilidades aumentan: ves mejor las cosas, puedes jugar de videojuegos mas potentes y de forma mas cómoda de usar debido al tamaño del dispositivo, por esta razón, sino sabes que hacer con tu dispositivo a continuación te muestro las mejores aplicaciones para tablets con Android.

Las mejores aplicaciones para tablets con Android

Kindle/Play Books

Para mi una de las razones para tener una tablet es disfrutar la comodidad de leer libros, puedes tener almacenado cientos de ellos en tu dispositivo y el formato digital brinda muchas ventajas como buscar definiciones, compartir fragmentos en redes sociales, leer una parte en tu móvil y continuar en tu casa con otro dispositivo, no pesan y no se dañan. Con esta aplicación, podrás descargar, leer y administrar tus libros digitales, sincronizarlos con tu computadora, agregar notas y buscar cosa en Wikipedia. Totalmente recomendada para los lectores frecuentes.

Whatsapp para Tablets

Whatsapp es la aplicación líder para las comunicaciones debido a su sencillez y cantidad de usuarios, por mas que he intentado migrar a otras aplicaciones, nunca he podido abandonar Whatsapp porque la mayoría de mis contactos lo utiliza. Anteriormente me parecía una aplicación insegura, pero desde que añadieron el protocolo de cifrado de Open Whisper Systems, me siento un poco mas seguro al comunicarme con amigos (a pesar de que comparten datos de las conversaciones con Facebook) y desde una tablet me es mas cómodo escribir, ver las imágenes y vídeos que te envían, puedes leer las conversaciones mas fácil y la disposición de la aplicación es mucho mejor. Te recomiendo instalarla la versión para tablets, para obtener esta versión simplemente sigue la guía para instalar whatsapp para tablet y en minutos lo tendrás en tu dispositivo.

Netflix

La ventaja de una tablet es su tamaño de pantalla superior a un teléfono pero mas fácil de movilizar que un televisor, por eso, estos aparatos son excelentes para disfrutar de una película o serie mientras estas en el transporte público, esperando la consulta de un doctor, luego de almorzar en el trabajo, etc. La única limitante es que debes contar con una conexión continua a Internet, de lo contrario no podrás ver nada, sin embargo, vale la pena invertir en ello si eres de las personas que nunca anda en un lugar fijo y debes esperar mucho tiempo sin poder hacer algo (cola del banco, supermercado, etc).

Microsoft Word/Excel/PowerPoint

Las tablets son mini-computadoras, por eso, aparte de servir para entretenernos, son excelentes herramientas para el trabajo. Al llevar a cualquier parte el poder de la ofimática, podrás redactar documentos, presentaciones (muy útil en mi caso, donde a veces debo editar presentaciones minutos antes de dar una charla), realizar cálculos, entre otras cosas. Aquellos profesionales que deben realizar visitas a oficinas de terceros o ir a plantas industriales, es mucho mas fácil manipular y llevar una tablet con la suite ofimática que estar llevando un portátil que llevar una portátil cuya batería probablemente dure mucho menos.

Otro gran uso de tener estas aplicaciones en tu tablet, es para los estudiantes universitarios, puedes llevar el dispositivo en bolso sin molestar tu peso, ademas es mas fácil para grabar las clases, tomar apuntes, elaborar tus tareas/presentaciones en cualquier lugar, estudiar con los documentos compartidos por tu profesor, entre otras cosas. ¡Inclusive puedes trabajar mientras andas en transporte público!

Firefox para Android

Este navegador permite realizar muchas cosas que no puedes hacer con el navegador oficial, como por ejemplo, reproducir un vídeo de Youtube y seguir escuchándolo mientras realizas otras acciones en tu tablet, puedes sincronizar las pestañas entre tu tableta y computadora de escritorio, puedes iniciar una sesión de invitado para que tus amigos puedan navegar en tu tablet sin riesgo de acceder a tu información personal, es rápido y soporta las últimas tecnologías. Puedes añadir mas funcionalidades gracias al soporte de complementas y ademas, Firefox es el único navegador totalmente libre que respeta tu privacidad y aumenta tu seguridad en la red, por ello, a pesar de un excelente navegador contarás con una capa de protección adicional mientras navegas en la web.

Adobe Photoshop Express

Lo chévere del tamaño de las tablets es poder tomar fotos y observarlas en su máximo esplendor. La mayoría de veces queremos editarla para arreglar las imperfecciones de las imagen, mejorar nuestra apariencia, aumentar los colores, cortar elementos no deseados, aplicar filtros como de otras aplicaciones y mas. En el móvil es muy difícil hacer esto debido al tamaño de la pantalla respecto a nuestros dedos, pero con el tamaño de la pantalla de las tablets, es muy cómodo y genial editar las fotos desde ese dispositivo, así que no es necesario acudir a tu computadora personal para editar la foto para luego compartirla en redes sociales. Simplemente toma una foto, edítala con Adobe Photoshop Express y listo, ya podrás compartirla con otros desde tu dispositivo.

Conclusiones

Espero que esta lista de las mejores aplicaciones para tablets con Android te ayude a disfrutar aún mas tu tableta, bien sea que la uses para entretenimiento, estudios o diversión. Lo que me gustaron de estas aplicaciones es como aprovechan el hardware para brindar mejores funcionalidades que su contrapartes para celulares,  ademas te permiten aprovechar el tiempo que puedas tener disponible fuera de tu hogar. Sin embargo, no debemos exceder su uso, pues corremos el riesgo de aislarnos mucho de la realidad y no comunicarte con otros, o inclusive sufrir accidentes, así que utiliza tu equipo con moderación.

Recuerda compartir este artículo en tus redes sociales para que tus amigos disfruten de estas apps.

La entrada Las mejores aplicaciones para tablets con Android aparece primero en El blog de Skatox.

Domingo 12 de marzo de 2017

Estructura de datos en Python (Lista Enlazada)

Continuando con la serie de estructuras de datos, en el artículo anterior se trato de la estructura de datos Nodo, en este artículo se usará el Nodo por medio de composición en la lista enlazada.

Este artículo se basa del tutorial en youtube llamado Python:Linked Lists donde pasan el enlace al código en github.

La lista enlazada se basa en el Nodo, como recordarán el Nodo tiene el dato y lo que apunta al próximo nodo.  En el caso de la lista enlazada contendrá lo siguiente:

  • Argumentos:
    • Nodo: Al crear la lista enlazada se crea un Nodo sin datos y que apunte a None.
    • primero: variable privada que apunta al primer nodo.
    • ultimo: variable privada que apunta al último nodo.
    • tamagno: variable privada que lleva la cantidad de nodos que maneja la lista.
  • Métodos:
    • obtenerTamagno: Devuelve el tamaño de la lista.
    • add: Agrega un nodo a la lista enlazada.
    • remove: Remueve un nodo de la lista enlazada.
    • find:Busca un dato en la lista, devuelve el dato o False.


El código de la lista enlazada se muestra a continuación:


#!/usr/bin/env python3

#Se importa Nodo de nodos.

from nodos import Nodo









class ListaEnlazada(object):

    def __init__(self,primero = Nodo(None,None)):

        """Se asigna como Nodo inicial a primero y ultimo por que apuntan al mismo nodo

        y se define el tamagno de la lista en cero"""

        self.__primero = primero 

        self.__ultimo = self.__primero

        self.__tamagno = 0





    def obtenerTamagno(self):

        """Devuelve el tamagno de la lista"""

        return self.__tamagno



    def add(self,d):

        """Agrega un nodo a la lista enlazada"""

        #Se crea una instancia de nodo donde se le pasa el dato d y se coloca

        #como proximo nodo el primer nodo.

        nodoNuevo = Nodo(d,self.__primero)

        #El primer nodo apunta al nodo nuevo y se incrementa el tamagno.

        self.__primero = nodoNuevo

        self.__tamagno += 1





    def remove(self,d):

        """Se elimina el nodo que tenga el dato d"""

        #Al nodo actual se le asigna el primer nodo

        nodoActual = self.__primero

        #Y al nodo anterior se le asigna None.

        nodoAnterior = None



        #Mientras exista el nodo actual-

        while nodoActual:

            #Si el dato de nodo actual es igual al dato que se esta buscando.

            if nodoActual.dato == d:

                #Si existe nodo anterior

                if nodoAnterior:

                    #Se asigna  al apuntador proximo del nodo anterior el proximo de nodo actual

                    nodoAnterior.proximo = nodoActual.proximo

                else: 

                    #A primero se le asigna el apuntador al proximo nodo del nodo actual

                    self.__primero = nodoActual.proximo

                #En cualquiera de los dos casos se decrementa el tamagno de la lista.

                self.__tamagno -= 1

                #Devuelve True por que se elimino.

                return True

            else:

                #Se asigna al nodo anterior el nodo actual

                nodoAnterior = nodoActual

                #Se asigna al nodo actual, el nodo proximo del nodo actual

                nodoActual = nodoActual.proximo





    def find(self,d):

        """Se busca d en la lista enlazada, si existe devuelve d, si no devuelve None"""

        #a nodo actual se le asigna el primer nodo.

        nodoActual = self.__primero

        #Mientras exista el nodo actual.

        while nodoActual:

            #Si el dato de nodo actual es igual a d, devuelve d

            if nodoActual.dato == d:

                return d

            else:

                #Si no, el nodo actual apunta al proximo nodo.

                nodoActual = nodoActual.proximo

        #Si no se encuentra devuelve None.

        return None 







if __name__ == '__main__':

    miLista = ListaEnlazada()

    miLista.add(1)

    miLista.add(8)

    miLista.add(12)

    print("size: {0}".format(miLista.obtenerTamagno()))

    print (miLista.find(8))

    miLista.remove(8)

    print("size: {0}".format(miLista.obtenerTamagno()))

    print(miLista.remove(12))

    print("size:{0} ".format(miLista.obtenerTamagno()))

    print(miLista.find(5))





Al ejecutar el script se tiene lo siguiente:

python listas.py 
size: 3
8
size: 2
True
size: 1
None


Como se puede ver se agregan 3 elementos a la lista, luego se muestra el tamaño de la lista, se va eliminando cada elemento de la lista, donde se muestra el tamagno de la lista mientras se va eliminando elementos, y por último se busca el valor de 5 en la lista donde devuelve None. 



Viernes 03 de marzo de 2017

Tutorial: Instalar paquetes .tar.gz y .tar.bz2

Está Escrito:
Porque el amor de Cristo nos constriñe, pensando esto: que si uno murió por todos, luego todos murieron; y por todos murió, para que los que viven, ya no vivan para sí, sino para aquel que murió y resucitó por ellos. (2 Corintios 5:14-15)
Tomado de: DesdeLinux
Al principio cuando nos iniciamos en Linux y buscamos un programa lo normal es que encontremos un .deb o .rpm y en muchos casos nos encontramos programas con la extensión .tar.gz y .tar.bz2, estos archivos están comprimidos y por lo general contienen aparte del programa unas instrucciones para instalarlo.
La instalación para estos dos tipos de paquetes es exactamente igual.

Primero entramos a la carpeta donde tengamos el archivo, si la carpeta tiene varias palabras tenemos que ponerlas con “” o si no nos buscará carpetas con cada palabra.
 
Dentro descomprimimos
tar -zxvf nombredelarchivo.tar.gz

tar -jxvf nombredelarchivo.tar.bz2
cd carpeta nombredelarchivo

cd “carpeta nombre del archivo”

Configuramos
./configure
Hacemos make (compilamos)
make
Ahora make install
make install
A veces nos puede dar un error en ./configure, en ese caso no necesita compilación y con ejecutar nos sobra, en una terminal hacemos
nombredelprograma
O bien creamos un lanzador.

Notas:
en realidad lo correcto para descomprimir es
tar -zxvf archivo.tar.gz
tar -jxvf archivo.tar.bz2

y para el configure existe una infinidad de opciones (dependiendo del software) para personalizar la instalación
./configure –help
Con eso verán las distintas opciones adicionales al instalar un programa.
No todas las distribuciones usan /usr/local para instalar los programas, eso hay que mencionarlo también.
--------------------------------------------------------
De todas maneras el .tar.gz lo es el último recurso, si no lo hay ni en paquete deb/rpm o en los repositorios
--------------------------------------------------------
Si cambias el “make install” por “checkinstall” (lo puedes instalar con aptitude, esta en los repositorios) te instala el programa, pero ademas:
-Crea un .deb para que puedas instalarlo en futuras ocasiones
-El programa instalado aparecerá en Synaptic, con lo que lo puedes desinstalar fácilmente desde allí 
--------------------------------------------------------
Los que usan qmake de Qt son más o menos así:

cd CarpetaPrograma
qmake
make
sudo make install
Y agrego otro caso más que son los cmakes:

cd CarpetaPrograma
mkdir build
cd build
cmake ..
make
sudo make install
O hay otros que sólo hay que ejecutar el make && sudo make install.
Esos son los casos más comunes...

Lunes 27 de febrero de 2017

Miguel Ángel Useche

Miguel Ángel Useche
Planetas – El blog de Skatox

Configurar centro de mensajes de texto en Android

Siempre que viajo desde otro país a Venezuela (país donde vivo) mi teléfono no puede enviar mensajes de texto (SMS) y la razón es porque tiene el centro de mensajes mal configurado luego de entrar en roaming.

  1. Ir al marcador de llamadas, escribir el código *#*#4636#*#*  y aparecerá un menú.
  2. Luego vas a Información del teléfono.
  3. Ve a la caja de texto de SMSC, borra el contenido y escribe el código +584240000954 (Código para SMS de Venezuela con prefijo 0424).
  4. Le das clic al primer botón de Actualizar y luego al segundo (en ese orden).
  5. Regresas al menú principal y ¡listo!

Ya con esto puedes mandar mensajes de texto sin problema. Espero que les ayude a resolver el problema de fallo de envío de mensajes SMS luego de viajar a Colombia u otro país.

La entrada Configurar centro de mensajes de texto en Android aparece primero en El blog de Skatox.

Viernes 10 de febrero de 2017

Silvio Perez: Ansible … :)

Jueves 02 de febrero de 2017

Montando ficheros VHD en Linux Debian

Está Escrito:
Antes bien, como está escrito: Cosas que ojo no vio, ni oído oyó, Ni han subido en corazón de hombre, Son las que Dios ha preparado para los que le aman. (1 Corintios 2:9)

Tomado de :Javier Anto
Es posible montar discos virtuales en formato VHD

Si desea montar la imagen de unidad VirtualBox (vdi) en Debian 8, use vdfuse. Este módulo Fuse utiliza la biblioteca de acceso de VirtualBox para abrir un archivo de imagen VD compatible con VirtualBox y montarlo como un sistema de archivos Fuse. El punto de montaje contiene un directorio plano que contiene los archivos EntireDisk, Partition1 .. PartitionN.  

Estos pueden ser montados en bucle para acceder a los sistemas de archivos subyacentes.
 
Se instalan las utilidades virtualbox-fuse

sudo apt-get install virtualbox-fuse
Para montar una unidad vhd

sudo vdfuse -f /path/to/file.vhd /path/to/mountpoint

Una vez montada la unidad, /path/to/mountpoint contendrá unos ficheros como 'EntireDisk', 'Partition1′, etc. Si solo hay una partición , probablemente será lo quiera verse, así que para montar esa partición en otra carpeta hay que ejecutar:

mount /path/to/mountpoint/Partition1 /path/to/someother/mountpoint

Y ahora si en /path/to/someother/mountpoint tendremos el sistema de archivos

Listo...

Lunes 30 de enero de 2017

MEGA(sync) se está portando con Linux

Está Escrito:
Hay camino que al hombre le parece derecho, pero al final es camino de muerte. (Proverbios 16:25)
    Mega (estilizado como MEGA) es el sucesor del servicio de archivos en la nube Megaupload. El sitio web se lanzó el 19 de enero de 2013 a las 03:48 hora neozelandesa (UTC+12) para coincidir con el primer aniversario del cierre de Megaupload por el FBI. Según su fundador, Kim Dotcom, Mega es más rápido, más grande y mejor que su predecesor. Sin embargo Kim terminó desligándose de la compañia que fundó y advirtió a los usuarios no confiar en esta.

Sus principales competidores son los servicios de alojamiento de archivos: ADrive, Dropbox, Google Drive y OneDrive, que utilizan el mismo cifrado de datos.

Después de que Gabón negara a la nueva empresa el nombre de dominio me.ga, Dotcom anunció que en su lugar se registrarían en su hogar adoptivo de Nueva Zelanda, dejando al sitio web fuera de la jurisdicción y alcance de los Estados Unidos, con lo que finalmente el nombre de dominio es mega.co.nz.

A inicios del 2016 se cambiaron las políticas de descarga ya sea desde la nube o desde enlaces externos lo que las limita a solo 1GB (para Latinoamérica) o 5GB (resto del mundo) cada 6 horas.


Mega es una empresa dedicada proveer almacenamiento en la nube con la característica que las información se almacena en los servidores está cifrada, entonces solo es posible acceder la data con la contraseña correcta, es decir con tu contraseña. Y ahora Mega provee una aplicación nativa para Linux llamada MegaSync con la que puedes sincronizar información de tu equipo directamente a tu cuenta de Mega y aquí te digo como instalarla.

Para instalar y utilizar esta característica debes primero crear una cuenta en MEGA, la opción “free” te da 50 GB de almacenamiento gratis , y por € 9.00 al mes (o € 99.00 al año) puedes tener 500 GB para resguardar tu información y mantenerla segura en los data centers de MEGA.
Para crear tu cuenta mega puedes seleccionar un paquete pro o puedes seleccionar el botón que dice “Create Account” en la parte superior derecha para tener una cuenta gratis.
crear cuenta mega


y llenar los datos que te pide como tu nombre, correo y tu contraseña como se muestra en la imagen:
crear tu cuenta mega
Luego una vez que has creado la cuenta y que está activa es hora de descargar e instalar la aplicación MegaSync. Para hacerlo ve a esta página:

Ahí debes desplazar la pagina un poco hacia abajo y luego seleccionar la arquitectura de tu equipo ya sea de 32 o de 64 bits, después solo debes seleccionar tu distribución linux en esta caso seleccionaremos Ubuntu 14.04.


descargar mega sync para ubuntu linux mint


Y luego debes dar click en el botón de la derecha que dice “Free Download for linux” y se descargará el paquete .rmp o .deb dependiendo de tu distribución. En mi caso uso Linux Mint y he seleccionado la versión de Ubuntu 14.04 por lo que me ha descargado este archivo: megasync-xUbuntu_14.04_amd64.deb

Para instalarlo solo debes ir a la carpeta de “Descargas” y luego hacer doble click en el paquete para instalarlo. Al hacerlo se abrirá el centro de software y solo debes dar click en el botón instalar. En este momento MegaSync quedará instalado y listo para usar.

Domingo 22 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” desde el código fuente, para entornos de desarrollo.

Introducción

Logotipo de Odoo 9

Logotipo de Odoo 9

Odoo (conocido hasta la versión 7 como OpenERP y anteriormente hasta la versión 4 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.

Instalación desde código fuente

Esta forma de instalación es más difícil para empezar a usarlo a diferencia de los instaladores empaquetados, proporciona una mayor flexibilidad, debido a que los instaladores empaquetados (para Windows, distribuciones basadas en Ubuntu / Debian o Redhat / Fedora incluso Mac OS X), generalmente no permiten ejecutar varias versiones en el mismo sistema y no proporcionan acceso fácil a Odoo.

Este modo de instalación le facilita el desarrollar módulos en Odoo 9 1 y versiones superiores, además le puede utilizar como base para el despliegue en producción.
El código fuente de Odoo puede obtenerse descargando directamente desde el control de versiones del proyecto usando utilizando la herramienta git o en un archivo comprimido tarball / zip.

Se recomienda encarecidamente utilizar git, ya que facilita contribuir a las mejoras de Odoo como a la actualización, cambios entre varias versiones (incluida la versión de desarrollo actual).

 

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í.


Sábado 21 de enero de 2017

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 hasta la versión 7 como OpenERP y anteriormente hasta la versión 4 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.

Instalador para Windows

También conocido Instalador empaquetado, Odoo ofrece una forma simple de empezar a usarlo bajo la plataforma como:

Este instalador le permite una mayor flexibilidad en el alojamiento y despliegue del sistema y un mayor control sobre dónde se almacenan los datos. La carga de mantenimiento se transfiere al usuario.

Adecuado para realizar pruebas de Odoo, desarrollando módulos para su negocio y puede ser usado para el uso de entornos de producción de su negocio a largo plazo con unos trabajos adicionales en las configuraciones de despliegue y mantenimiento.

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 Base de Datos para 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í.


Domingo 08 de enero de 2017

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.

Martes 27 de diciembre de 2016

Valencia Software Libre: Donaciones de VaSlibre Navidad 2016

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

Valencia Software Libre: Publicados premios de Observatorio Tecnologico de PortalProgramas
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


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.

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!

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í.


Martes 31 de mayo de 2016

Jorge Ortega

Jorge Ortega
Joenco

Actualizar el Libreoffice en Debian 8 (jessie)

Hola! Espero hayan tenido un feliz Mayo, se acuerdan el artículo donde actualizamos la versión del lector de pantalla orca en jessie? la entrada era: Actualizar el lector de pantalla orca a la versión 3.18 en Debian Jessie, lo que mejora la accesibilidad, pero al realizar esta actualización el libreoffice pierde algo de accesibilidad ya que orca no verbaliza el contenido que tiene el documento.
 
Para resolver este problema solo debemos actualizar el libreoffice y es justo lo que haremos a continuación:

  1. Abrimos un terminal/consola y entramos cómo superusuario (root).
  2. Abrimos el archivo sources.list escribiendo en el terminal/consola:
  3. gedit /etc/apt/sources.list

  4. Revisamos el archivo para saber si tenemos los Backports, en caso contrario los añadimos al archivo copiando y pegando al final del mismo la siguientes 3 líneas:
  5. # Backports
    deb http://ftp.fr.debian.org/debian jessie-backports main contrib non-free
    deb-src http://ftp.fr.debian.org/debian jessie-backports main contrib non-free

  6. Guardamos los cambios con “Control+S” y cerramos con “Control+Q”.
  7. Actualizamos escribiendo en el terminal/consola lo siguiente:
  8. aptitude update

  9. Instalamos la última versión de libreoffice escribiendo:
  10. apt-get -t jessie-backports install libreoffice

  11. Finalizamos escribiendo en nuestra terminal:
  12. aptitude upgrade

 
Y eso es todo lo que debemos hacer para tener el libreoffice actualizado y completamente accesible!!
 
La información de cómo actualizar la conseguí en: Como instalar la última versión de Libre Office en Debian Jessie por si desean más información.
 
Saludos y nos encontramos en una próxima entrada!


Lunes 09 de mayo de 2016

Richzendy Contreras

Richzendy Contreras
Gnu y Linux – Richzendy.org

Flisol 2016 San Cristóbal

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.


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

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.


Lunes 02 de noviembre de 2015

Manuel Mújica

Manuel Mújica
Experiencias Doctorales

Los permisos de archivos en Linux

Origen: Los permisos de archivos en LinuxArchivado en: Varios

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.