En nuestra entrega anterior -y con la ayuda del Doctor Jason Brownlee- instalamos Fedora 25 como máquina virtual para tener un entorno de desarrollo específico para Python3: pues bien, el fin último es tener una base para poder desarrollar el «machine learning» a un nivel intermedio, veamos.
¿Qué es el «machine learning»?
Es una ciencia aplicada con ayuda de los ordenadores: de una serie gigantesca de datos obtenidos de nuestro mundo analógico regido por la mecánica cuántica podemos obtener patrones, precisamente lo que hacemos nosotros los seres humanos, como por ejemplo cuando miramos una noche estrellada y percibimos constelaciones que solo están en nuestro cerebro. Muchas universidades en el mundo están abocadas a este estudio y promete ser el futuro en el cual debemos estar preparados para cuando lleguen los ordenadores cuánticos.
Un dato que nos llama la atención es que ya hoy en día tiene una aplicación práctica, para mal, denunciada por Edward Snowden en su cuenta en Twitter:
¿Qué tiene que ver esto con el «machine learning»? Pues que el dispositivo que es utilizado para detectar los patrones de atención de los televidentes durante los comerciales es grabado con un dispositivo originalmente diseñado para juegos denominado Kinetic. En realidad es un dispositivo biométrico que en el año 2011 incluso ganó un premio de 50 mil libras esterlinas por desarrollo innovador al reconocer los movimientos de nuestro cuerpo, interpretarlos y trasladarlo como acciones en los juegos de vídeo. Es así que en solo seis años se le ha conseguido un uso importante en la vida real, acercándonos cada vez más a las historias contadas en las saga de películas «Terminator».
Instalando un entorno basado en Python para el aprendizaje de las máquinas.
Instalando el entorno Python.
Como ya bien sabéis, ya sea por este vuestro humilde portal o por internet -que abunda información- el lenguaje de programación Python viene instalado por defecto en la mayoría de las distribuciones GNU/Linux y Fedora no es la excepción. Para saber cual versión tenemos instalada, ejecutamos nuestra máquina virtual e introducimos nuestras credenciales de usuario. Acto seguido pulsamos ALT+F2 e introducimos la orden «gnome-terminal» para ejecutar una ventana de comandos para lanzar la siguiente línea:
python3 --version
En la figura podemos observar que ya tenemos instalada la versión 3.5.2:
python3 –version
Instalando el conjunto de utilidades para Python3.
Los paquetes que necesitaremos son seis en total:
SciPy, conjunto de herramientas que integra los siguientes paquetes:
NumPy: herramienta para álgebra lineal, transformadas de Fourier y generación de números aleatorios.
Todas ellas las podemos bien instalar en una sola línea, bien una por una, depende de nuestra paciencia. Por rapidez escogeremos la primera y en la misma ventana terminal que tenemos abierta colocamos:
El comando DNF es la abreviatura para Dandified Yum, que tal como explicamos, es el equivalente al comando apt-get utilizado en las distribuciones GNU/Linux basadas en Debian. Así que autorizamos la descarga, que son más o menos 92 megabytes:
Una vez se han descargado a nuestro ordenador virtual, se hace la verificación de contenido y se procede a descomprimir e instalar; allí van 200 megabytes adicionales:
Instalando entorno Python3 para «machine learning» 3Instalando entorno Python3 para «machine learning» 4
Confirmación del entorno instalado.
Una vez finalizado procedemos a «crear» un guión en bash para averiguar rápidamente las versiones instaladas. Aquí viene la utilidad de haber instalado las utilerías de «VirtualBox Guest Additions» en nuestra entrada anterior: podremos «copiar y pegar» texto entre nuestro ordenador anfitrión y el ordenador virtual.
Habilitar el portapapeles entre VirtualBox y las máquinas virtuales.
Antes de poder «copia y pegar» texto debemos primero habilitar su paso por medio de VirtualBox: seleccionamos la máquina virtual Fedora y presionamos CONTROL+S para entrar a la configuración y vamos a la sección «Interfaz de usuario» -> «Dispositivos»:
VirtualBox portapapeles entre ordenador anfitrión y ordenador virtual
Descolgamos la lista y seleccionamos «Anfitrión a invitado» y damos «Aceptar».
VirtualBox portapapeles ordenador anfitrión a invitado
Archivo de comando «versions.py».
Ahora que podemos pasar el portapapeles a la máquina virtual (tedioso procedimiento para poder habilitarlo), seleccionamos, copiamos y pegamos lo siguiente:
En las siguientes imágenes utilizamos el editor de textos gedit, pero sentiros libres de utilizar vuestro preferido (de hecho nosotros más adelante instalamos nano):
Guión para detectar los componentes instalados de Python3 unoGuión para detectar los componentes instalados de Python3 dosGuión para detectar los componentes instalados de Python3 tresGuión para detectar los componentes instalados de Python3 cuatroGuión para detectar los componentes instalados de Python3 cinco
Leyendo el artículo del Doctor Jason Brownlee (Australia) -y aprovechando el receso de Carnaval 2017- nos decidimos a probar la distribución GNU/Linux, legendaria por demás, Fedora.
How to Create a Linux Virtual Machine For Machine Learning Development With Python 3 https://t.co/aGvlYnuwPk
First of all we want to thank Doctor Jason for his excellent article on learning about Python3 on a virtual machine and its many advantages for programming. His approach is very similar to ours, he in English, we in castilian language, so we publish this article to ADD the installation of «VirtualBox Guest Additions» in the virtual machine.
Primero que nada queremos agradecer al Doctor Jason por su excelente artículo sobre aprendizaje de Python3 sobre una máquina virtual y sus múltiples ventajas para la programación. Su enfoque es muy parecido al nuestro, él en inglés, nosotros en idioma castellano, por ello publicamos este artículo para AGREGAR la instalación de «VirtualBox Guest Additions» en la máquina virtual.
Es por ello que retomamos el camino que ya anduvimos en enero 2016 con nuestro artículo sobre la actualización de VirtualBox (recomendamos su lectura primero) y donde tratamos el tema de las «VBoxGuestAdditions». Esencialmente no hay mayor cambio:
Instalamos VirtualBox en nuestro ordenador anfitrión (máquina real).
Instalamos el Paquete de Extensiones en la máquina real.
Instalamos «VBoxGuestAdditions» en cada máquina virtual.
Por último, si lo necesitamos, compartimos ficheros con la(s) máquina(s) virtual(es).
Eso sí, haremos notar la tendencia del mundo GNU/Linux hacia la computación sobre procesadores de 64 bits, a medida que los ordenadores más viejos de 32 bits van desapareciendo por su edad y natural uso. Ya sabéis entonces: ahora Fedora solo para máquinas de 64 bits (manejo de memoria RAM de 4 gigabytes con discos duros de terabytes ¡y aún más!) y que lo único constante es el cambio.
Obteniendo Fedora a nuestro disco duro.
Nosotros acostumbramos descargar por medio de Torrent para así luego compartir desde nuestros propios ordenadores al mundo entero. Sin embargo, en una rápida búsqueda no conseguimos ningún archivo .torrent aunque en la página web de Fedora levemente lo mencionan.No queremos decir con esto que no exista, sino que simplemente, por ahora, no los conseguimos.
También sospechamos que influye el hecho de la seguridad que se ofrece en la página de descarga: DE PRIMERA MANO. En el enlace anterior podremos descargar la imagen ISO (Fedora tiene una página web segura https) y luego procedemos a descargar la llave GPG (GnuPG) y la importamos a nuestro sistema. Entonces descargamos el archivo de texto plano que contienen el CHECKSUM y a eso le aplicamos sha256sum el cual compara el resultado con el archivo previo y da su aprobación (desconocemos la causa del error en la línea 19 pero están comprobadas las dos imágenes iso -también, más adelante, probaremos la versión netinstall-). Mirad la imagen adjunta para que veáis de qué van las cosas:
sha256sum Fedora Workstation 25
Configurando la máquina virtual en VirtualBox.
Tal como recomienda el Dr. Jason Brownlee le asignamos 2 gigabytes de memoria RAM (1 solo CPU, tenemos 4 en nuestra máquina anfitrión –máquina real-) y 10 gigabytes de espacio en disco duro virtual. Acá las tomas de pantalla del proceso:
Detalle con el dispositivo apuntador en VirtualBox.
Un indicio de la modernidad -lo único constante es el cambio- es el dispositivo apuntador que por defecto trae VirtualBox: Tableta USB. Esto tal vez traiga problemas con sistemas operativos antiguos, nosotros siempre lo cambiamos a Raton/Teclado PS2 que es prácticamente universal hoy en día. Recordemos que VirtualBox le hace creer al sistema operativo que estemos instalando ciertas configuraciones de hardware, incluyendo varios discos duros, tarjetas de red, video, etcétera que en este punto no tiene mayor relevancia si el sistema operativo es moderno -¡y vaya si Fedora 25 lo es!- sino que cuando toquemos el tema del «Virtual Box Guest Additions» lo estudiaremos con sumo cuidado.
VirtualBox dispositivo apuntador por defecto
Instalando Fedora 25 ¡por fin!
Este es el paso más largo, y que trata en mayor detalle el Dr. Jason Brownlee en su tema, nosotros lo grabamos en un vídeo de 48 megabytes y lo subimos a Youtube, ¡espero os guste tanto como a nosotros cuando lo hicimos! ?
Instalando VirtualBox Guest Additions a Fedora.
Prefacio.
Ya hemos tenido ciertas «desavencias» con VirtualBox con esto de compilar los «kernel modules» y en un artículo anterior describimos con detalle nuestra experiencia al respecto. Recomendamos que por lo menos le echéis un «ojirijillo» rápidamente y volved acá con nosotros al finalizar, por favor.
Si, ya os pillamos, no leístes nada, pero bueno, acá lo resumimos: VirtualBox necesita estar a la medida de nuestro hardware, nuestra máquina real -anfitrión- y para ellos necesita estos archivos hechos a la medida para su excelente utilización:vboxdrv, vboxnetflt y vboxnetadp. Sin estos archivos simplemente no corre VirtualBox…
¿PERO QUE DECÍS, TÍO, SI VIRTUALBOX CORRE SIN PEGA ALGUNA?
Eso es correcto, es lo que estáis pensando: en los sistemas operativos populares (Debian, Ubuntu, Windows incluso) esto es cierto sin más pero hay distribuciones GNU/Linux muy específicas y es necesario recompilar dichos módulos para obtener su excelente desempeño (bueno en Windows no hay esta opción, ojo -que sepamos-).
Incluso esto que os cuento es válido para motores de bases de datos como PostgreSQL, podemos así compilar nuestros propios kernels PARA NUESTRO ORDENADOR ESPECÍFICO: esa es la ventaja que ofrece el software libre, ¡alucinante!
Detalle con nuestra tarjeta madre, máquina real.
Recordad ANTES de compilar los «kernel modules» en la máquina real el reiniciarla primero y ajustar los valores en el BIOS para soportar máquinas virtuales (hoy en día esto, generalmente, viene activo por defecto).
Cambiar los valores del SETUP de nuestra tarjeta madre puede desconfigurar seriamente nuestro sistema operativo instalado, asi que TENED MUCHO CUIDADO CON LO QUE TOCAS. Solamente os sugerimos activar UNICAMENTE la opción que permite compartir de manera eficiente los recursos reales (canales I/O, memoria, tarjeta de red) con las máquinas virtuales.
En la plataforma INTEL se necesita que tarjeta madre y procesador, ambos, soporten dicha tecnología llamada «Intel VT» o la aún mejor «Intel VT-D».
En la plataforma AMD se denomina «AMD Virtualization (AMD-V™)» y está específicamente orientada a servidores (de máquinas virtuales), todo un negocio en el alojamiento de páginas web hoy en día.
En vez de compartir un servidor web Apache, por ejemplo, os alquilan vuestra propia máquina con dirección IP exclusiva con una carta de diversos sistemas operativos, todo a vuestro gusto, INCLUSO esto permite «migrar» tus «recursos» rápidamente: mayor memoria, más procesadores, etcétera, con un solo click, luego de haber recibido vuestro pago, por supuesto.
Lo anterior es lo que denominados VENTAJAS de las máquinas virtuales, así como el artículo que inspira esta entrada, se usa una máquina virtual para contener un entorno de programación que podemos respaldar ¡y replicar en cualquier hardware moderno sin mayor dilación!
Configurando a Fedora 25 para «VirtualBox Guest Additions».
Allanando el terreno.
Antes de poder instalar «VirtualBox Guest Additions» debemos actualizar a Fedora, ¿cómo es esto posible si lo acamos de instalar?
El obstáculo del asunto es que necesitamos los encabezados «headers» de GNU/Linux para poder compilar los «kerner modules». Esto varía de distribución a distribución, y el cómo se instala depende del instalador por defecto. Así en Debian y sus derivados podemos usar apt pero en Fedora debemos utilizar yum. Para resumir, es simplemente una utilidad que se conecta a repositorios de software bien conocidos (o nuestros preferidos, incluso los desarrollados por nosotros mismos) e instala dicha software.
En cuanto a los derechos de usuario si que tenemos elementos comunes: debemos utilizar el comando sudo. Para ello presionamos ALT+F2 y tecleamos «gnome-terminal» para abrir una ventana de comandos. Luego introducimos la siguiente línea acompañada de nuestra contraseña de usuario para poder tener derechos de administrador o usuario «root»:
Desde internet descargaremos 50 megabytes -los «headers» en sí- y luego 19 megabytes de actualizaciones, aceptamos la descarga y procedemos a instalarla.
yum install kernel-devel-4.8.9-300.fc25.x86_64 updatesyum install kernel-devel-4.8.9-300.fc25.x86_64 and updates installed
Configurando el «Extension Pack» en la máquina real.
Al momento de emitir este tutorial, nosotros tenemos instalado el VirtualBox versión 5.0.32 y debemos descargar el correspondiente «Extension Pack» y luego «VirtualBox Guest Additions». En este enlace encontraréis TODAS las versiones almacenadas, solo buscad con CONTOL+F en vuestro navegador introduciendo vuestra versión.
En nuestro caso son los siguientes archivos:
«Oracle_VM_VirtualBox_Extension_Pack-5.0.32.vbox-extpack» (19 megabytes aproximadamente, para instalarlo en nuestro ordenador real -sistema operativo anfitrión-).
«virtualbox-5.0_5.0.32-112930~Ubuntu~xenial_amd64.deb» (4 megabytes aproximadamente, para instalarlo en nuestro ordenador real -sistema operativo anfitrión- el «Guest Additions» del lado de la máquina real -anfitrión-).
«VBoxGuestAdditions_5.0.32.iso» (56 megabytes aproximadamente, las «Guest Additions» en sí que le vamos a instalar a Fedora).
SHA256SUMS (5 kilobytes aproximadamente, muy importante comprobar la integridad de los archivos descargados, a pesar que no es una página web segura https).
Insertando la imagen iso con «Guest Additions».
Luego seleccionamos en VirtualBox la máquina virtual con Fedora 25 y después abrimos «Configuración» y nos dirijimos a la sección de «Almacenamiento» y abrimos la carpeta donde hayamos alojado la descarga, seleccionamos y damos al botón «Aceptar»:
Así iniciamos a Fedora 25 y una vez iniciada nuestra sesión podemos ir al navegador de archivos y abrir la unidad óptica virtual que contiene las «Guest Additions», este sistema operativo incluso trae un botón de ejecutar aplicación o bien podremos abrir una ventana terminal como describimos anteriormente y lanzar el guión script llamado «runasroot.sh«. Es de hacer notar que la vía al cd virtual es «/run/media/su-nombre-de-usuario» para navegar por la ventana terminal.
En este punto ya eliminamos la fastidiosa tarea de presionar siempre la dichosa tecla anfitrión que «captura» el cursor y el puntero entre la máquina real y la máquina virtual.
Para los usuarios que por primera vez utilizan VirtualBox tal vez esta «tontería» sea lo más frustrante: como interactuar entre «ambos mundos», lo cual confunde mucho. Tanto es así que nosotros NO utilizamos la tecla por defecto CONTROL-DERECHO sino que la cambiamos por la tecla F9 que es la que menos conflicto causa con las aplicaciones y los entornos de programación que utilizamos. Sientanse a gusto de cambiarla por la que más le convenga, pero de hecho os decimos que al término de instalar «VirtualBox Guest Additions» su ratón fluirá libremente entre ambas «pantallas» sin problema alguno.
La manera de configurar vuestra tecla anfitrión es por medio del menú «Archivo->Preferencias» o simplemente presionando CONTROL+G y luego seleccionando «Entrada». Una vez allí hacemos click en «tecla anfitrión», sección «acceso»y pulsamos la tecla que más nos guste y después damos «Aceptar» cuando estemos conformes con el cambio.
Dicho esto ahora si que procedemos a compartir las carpetas deseadas, de nuevo seleccionamos la máquina virtual Fedora 25, pulsamos configuración y nos vamos a la sección de «Carpetas compartidas» y «clickamos» en adicionar, navegamos por el disco duro de nuestro ordenador, le damos derechos de lectura y escritura y automontar automáticamente, para finalizar «Aceptar».
Siendo pragmáticos, nuestra preferencia es solo compartir una sola carpeta -un un nombre exprofeso para ello «PARA_MAQUINAS_VISTUALES», mirad la figura arriba- para todas nuestros ordenadores virtuales, pero eso ni siquiera a consejo llega; simplemente nos gusta tener todas las cosas de las máquinas virtuales en un solo sitio, nos ayuda a ubicarnos mentalmente y para mayor rapidez.
La próxima vez que ingresemos a Fedora 25 virtual, veremos algo parecido a esto en nuestro navegador de archivos:
Las ventajas de las máquinas virtuales son muchas, muchísimas, y acá apenas hemos tocado unas cuantas. El objetivo real en este caso es crear un entorno virtual para instalar Python 3 y desarrollar un ambiente de programación independiente del ordenador que estamos trabajando con solo guardar los archivos necesarios en una unidad de almacenamiento externo y siempre de la mano de VirtualBox.
¡Muchas gracias por vuestra atención, y hasta uan próxima oportunidad, nos vemos!.
Pte. @NicolasMaduro “A partir del 1 de marzo el cesta tickets pasa de 63.720 bs a 108 mil bs para todos los trabajadores y trabajadoras" pic.twitter.com/w8Nhbj15rE
Con motivo de cumplirse 200 años del nacimiento del General Ezequiel Zamora, héroe de la Guerra Federal (1859-1863), tras la cual descansa las bases de nuestra Constitución Bolivariana (República Federal), se ha decretado el 1° de febrero de 2017 como día de júbilo no laborable -aunque nosotros los de sistemas trabajamos los 365 días del año- para que podamos asistir a los actos y desfiles de celebración a nivel nacional.
Ezequiel Zamora, conocido como el General del Pueblo Soberano, nació en la población de Cúa, municipio General Rafael Urdaneta, estado Miranda, el 1º de febrero de 1817. Fue un líder militar, político y luchador social de la Guerra Federal (1859-1863), y además impulsó la reforma agraria a favor del campesinado venezolano y la libertad de los hombres y de las tierras.
Como siempre nosotros pasamos a transcribir la Gaceta Oficial N° 6284 Extraordinario del domingo 29 de enero de 2017. En el enlace anterior lo podréis descargar, formato pdf desde el Tribunal Supremo de Justicia, y consiste en el Decreto Presidencial N°2.705; a continuación su contenido.
«Elige un trabajo que te guste y no tendrás que trabajar ni un día de tu vida»
#Confucio, filósofo chino, años 551 – 478 antes de #Cristo.
A pesar de lo que diga la «Miss Panamá», Confucio ni inventó la confusión ni era japonés. Precisamente esta entrada trata un poco de su vida, obra y pensamiento, uno de los cuales nos encanta y es el que encabeza estas líneas.
Nació en lo que es actualmente la República Popular de China aproximadamente en el año 551 antes del nacimiento de Jesucristo nuestro Señor y fallece a una avanzada edad -para la época- en el año 478 AC. Afirmamos que dichas fechas son aproximadas porque en realidad la vida y obra de Confucio que conocemos en la actualidad fue recogida y recapitulada por terceros, unas cuantas generaciones después de su paso por este mundo (la comparación es profana, pero sucede lo mismo con Jesucristo).
El nombre de nacimiento es 孔子 lo cual se traduce como Maestro Kong y con el paso del tiempo y habiendo realizado su obra se le concedió el nombre de 孔夫子, Gran Maestro Kong. De la pronunciación en idioma chino mandarín (el idioma chino se escribe igual pero se pronuncia diferente según la región de china donde se encuentre) Kong Fuzi proviene la latinización del nombre a Confucius (sacerdote jesuita Matteo Ricci {1552-1610}) y luego la castellanización a Confucio (de nada «Señorita Panamá»). A partir del año 1 DC fueron conferidos mayores títulos póstumos -a pesar que hubo dinastías reinantes que prohibieron su obra-:
褒成宣尼公 -Loable y Declamable Señor Ni-.
至聖先師 -Extremadamente Sabio y Ancestro Maestro-.
至聖 -Gran Sabio-.
先師 -Primer Maestro-.
萬世師表 -Maestro Modelo por Diez mil generaciones-
Se asume que su día de nacimiento es el 28 de septiembre (calendario gregoriano) en la provincia 山东 (Shandong -Montes Orientales-) de China y su padre 孔紇 (Kong He) era oficial del ejército y fallece cuando Confucio apenas tenía tres años de edad. Es por ello que es criado por su madre 顏徵在 (Yan Zhengzai) en la pobreza. Sin embargo, por pertenecer a la clase social 士 (Shi) crece entre la aristocracia y el pueblo, aprendiendo sobre las Seis Artes, lo cual le permite trabajar en el gobierno como bibliotecario y como obrero agrícola (todo trabajo enaltece y eso forjó el caracter de Confucio). Con trabajos estables, a los 19 años desposa a 亓官 (Qiguan) y traen al mundo a su primer hijo 孔鯉 (Kong Li). A los 23 años Confucio pierde a su madre y cumple con el debido rito de 3 años que se le conceden a los ancestros -para la doctrina confuciana esto es pilar fundamental, saber de dónde vienes para saber a donde vas-).
Vida política.
Ya para el año 501 AC ya Confucio era conocido por su trabajo como Gobernador de un pequeño poblado. La Dinastía Zhou era regida por 姬丐 (Ji Gai) desde el 519 al 476 AC y atravesaban una época decadente lo cual impulsó a meditar a Confucio sobre las formas y maneras de gobernar una nación. Él propone los principios y preceptos de los antiguos chinos (se cree que son unos diez mil años de antigüedad para la época que Confucio vivía) y además los gobernantes deben de divulgarlos a la población y predicar con el ejemplo en su manera de obrar -y gobernar-.
Filosofía.
La esencia de sus enseñanzas se condensa en la buena conducta en la vida, el buen gobierno del Estado (caridad, justicia, y respeto a la jerarquía), el cuidado de la tradición, el estudio y la meditación. Las máximas virtudes son: la tolerancia, la bondad, la benevolencia, el amor al prójimo y el respeto a los mayores y antepasados. Si el príncipe es virtuoso, los súbditos imitarán su ejemplo: gobernante/súbdito, marido/mujer y padre/hijo. Una sociedad próspera sólo se conseguirá si se mantienen estas relaciones en plena armonía. La base de la doctrina confuciana es recuperar a los antiguos sabios de la cultura china e influir en las costumbres del pueblo.
Popularización de su doctrina.
Fue draconiano en su actuar, cosa que no agradó a sus compatriotas, y no tomó mayor preponderancia en el gobierno debido a la gran corrupción y conflagración reinantes. Es así que a sus 50 años de edad es que comienza a adoctrinar a sus discípulos, quienes fueron tomando e hilvanando sus grandiosas ideas para lograr una sociedad justa. Tanta es la importancia de sus ideas, basadas en los muy antiguos gobernantes y costumbres chinas, que con el pasar de los siglos llegó a ser considerada como religión en ese reino hasta el siglo VII, cosa que muchos estudiosos -y nosotros mismos- no la consideramos como tal sino como una forma de vida, una guía para perseguir nuestras utopías.
Confucio pensaba que el saber y el conocimiento debían ser universales y que los ciudadanos debía ser formados como tal, sin importar su clase social. De hecho, a pesar de provenir de familia burgeuesa, nunca se comportó como tal sino más bien se dedicó a ayudar a quienes podía y se cuenta que sus discípulos más pobres tenía casa y sustento del propio Confucio.
Actualmente la bandera de China representa en parte las clases sociales dominantes en ese país, y están muy directamente vinculadas con las enseñanzas de Confucio: fondo rojo y 5 estrellas.
El fondo rojo es por los ancestros fallecidos en batalla por la procura de la República, la estrella amarilla más grande representa al Partido Comunista (opinamos que debería ser de igual tamaño que las demás, pero bueno, cada país es soberano en su actuar y pensar) y las otras cuatro estrellas -que parecen subordinadas siempre y cuando sus gobernantes sean probos en su actuar- representan: la clase obrera, el campesinado, la pequeña burguesía urbana y la burguesía nacional.
«El verdadero conocimiento es el saber la medida de tu propia ignorancia».
Las máximas virtudes del ser humano según Confucio.
La tolerancia.
La bondad.
La benevolencia.
Amor y respeto a la naturaleza.
Amor y respeto a los padres (y antepasados).
Respeto a los mayores.
Respeto al orden político.
Respeto al orden social.
Respeto al orden religioso.
Respeto por la Armonía.
Es de hacer notar que a partir del punto N° 7 son de estricto cumplimiento siempre y cuando los gobernantes dieran el ejemplo con los puntos 1 al 6, de lo contrario era un gobierno ilegítimo y daba carta libre a la rebelión (volvemos a indicar que es por esto que Confucio tuvo tantos problemas con la decadente clase gobernante que le tocó vivir).
«Elige un trabajo que te guste y no tendrás que trabajar ni un día de tu vida» #Confucio, filósofo chino, años 551 – 478 antes de #Cristo,Mil Frases .org .
Pensamientos y frases de Confucio.
Recogidas a traves de los siglos, más o menos esta sería la traducción de las más célebres máximas expresadas por este gran filósofo. Así como el método científico revolucionó la manera de estudiar la ciencia, consideramos que Confucio planteó las bases para estudiar las ciencias sociales y conducir a nuestra sociedad humana a allanar el camino en pos de las utopías. He aquí algunas citas que invitan a pensar y reflexionar:
No importa qué tan despacio o rápido vayas, siempre y cuando no te detengas.
Nuestra mayor gloria no está en nunca caer, sino en levantarnos cada vez que caemos.
Aprender sin pensar es trabajo perdido, pensar sin aprender es peligroso.
Sé perdurable, simple y modesto y te encontrarás cerca de la virtud.
Lo que el hombre superior busca, lo encuentra en sí mismo, lo que el hombre inferior busca, lo encuentra en otros.
Todo tiene su belleza pero no todos lo ven.
Algún dinero evita preocupaciones, mucho, las atrae.
Saber que se sabe lo que se sabe y que no se sabe lo que no se sabe: he aquí el verdadero saber.
La ignorancia es la noche de la mente: pero una noche sin luna y sin estrellas.
El más elevado tipo de hombre es el que obra antes de hablar, y practica lo que profesa.
¿Uno que no sepa gobernarse a sí mismo, cómo sabrá gobernar a los demás?
El hombre que ha cometido un error y no lo corrige comete otro error mayor.
Exígete mucho a ti mismo y espera poco de los demás. Así te ahorrarás disgustos.
El hombre comienza en realidad a ser viejo cuando cesa de ser educable.
Providencia mediante la cual se establece la obligación de las personas jurídicas calificadas como sujetos pasivos especiales de presentar la Declaración Informativa del Patrimonio.
EL presidente Nicolás Maduro anunció este domingo 8 de enero el primer aumento de salario mínimo y pensiones de 2017. El aumento será de 50 por ciento, y también afectará las escalas de trabajadores públicos, maestros, policías, médicos y las Fuerzas Armadas. Esto ubica el nuevo salario mínimo en 40.638 bolívares.
Presidente Maduro anuncia primer aumento salarial y de pensiones de 2017 en 50 por ciento https://t.co/c5Uo1qysZ8
Sumando los tickets alimentación, que se mantienen en Bs. 63.720, el salario mínimo integral subirá a Bs. 104.358. Como todos y todas recordaremos, el último aumento de salario fue decretado en noviembre de 2016.
Cestaticket Socialista y Unidad Tributaria.
El Presidente Maduro indicó que, en los próximos días se anunciará el nuevo valor de la Unidad Tributaria, lo que repercutirá en un nuevo valor del ticket alimentación.
Son cinco aumentos que se han realizado en un año como forma de combatir la guerra económica. Señaló Maduro que el aumento anualizado (de enero de 2016 a enero de 2017) será de 536 por ciento.
“Mientras haya esta guerra, seguiremos con una política audaz, justa, encesaria para buscar una armonía de empleo, ingresos y la familia venezolana pueda defenderse del ataque despiadado de bachaqueros, mafias y oligarcas”.
Gaceta Oficial N° 41.070
Como siempre por acá estamos para aplicarle valor agregado a nuestras publicaciones, la Gaceta Oficial 41.070 tiene un peso de 27 megabytes y nosotros hemos extraído (con herramientes de software libre) solo las tres primeras hojas del decreto de aumento salarial (pronto la transcribiremos); HE AQUÍ EL ENLACE ALOJADO EN NUESTRO SERVIDOR con solo 1,5 megabytes (hay que ahorrar ancho de banda):
En la Gaceta Oficial 41070 de fecha 9/01/2017 se pública el Dcto. N° 2660 en el cual se aumenta el salario mínimo en un 50% a nivel nacional pic.twitter.com/yiPr0Ong5K
En Gaceta Oficial 41070 se pública el Dcto. N° 2661 en el cual se establece la escala gral. de Sueldos y Salarios de la Adm. Pub. Nacional. pic.twitter.com/Potl1l42RY
En Gaceta Oficial 41070 se pública el Dcto. N° 2662 en el que se establece el Tabulador Gral de Sueldos para l@s Obrer@s de la Adm. Pub Nac. pic.twitter.com/PQu8CZUazo
Decreto N° 2.660, mediante el cual se aumenta en un cincuenta por
ciento (50%) el salario mínimo nacional mensual obligatorio en
todo el territorio de la República Bolivariana de Venezuela, para
los trabajadores y las trabajadoras que presten servicios en los
sectores públicos y privados, sin perjuicio de lo dispuesto en el
artículo 2° de este Decreto, a partir del 1° de enero de 2017, por la
cantidad de cuarenta mil seiscientos treinta y ocho bolívares con
quince céntimos (Bs. 40.638,15) mensuales.
Decreto N° 2.660
09 de enero de 2017
Con el supremo compromiso y voluntad de lograr la mayor eficacia política y calidad revolucionaria en la construcción del Socialismo, la refundación de la patria venezolana, basado en principios humanistas, sustentado en condiciones morales y éticas que persiguen el vivir bien del país y del colectivo, por mandato del pueblo de conformidad con lo establecido en los artículos 80 y 91 de la Constitución de la República Bolivariana de Venezuela, concatenado con el artículo 226 ibidem; y en ejercicio de la atribución que me confiere el numeral 11 del artículo 236 eiusdem, en concordancia con el artículo 46 del Decreto con Rango, Valor y Fuerza de Ley Orgánica de la Administración Pública, y de acuerdo a lo preceptuado en los artículos 10, 98, 111 y 129 del Decreto con Rango, Valor y Fuerza de Ley Orgánica del Trabajo, los Trabajadores y las Trabajadoras, en Consejo de Ministros,
CONSIDERANDO
Que es una función fundamental del gobierno revolucionario la protección social, de la economía del Pueblo y de la guerra económica desarrollada por el imperialismo y sectores apátridas nacionales, que impulsan procesos inflacionarios y de desestabilización económica como instrumentos de acumulación de capital y perturbación económica, política y social,
CONSIDERANDO
Que el Estado democrático y social, de derecho y de justicia garantiza a los trabajadores y las trabajadoras, la participación en la justa distribución de la riqueza generada mediante el proceso social de trabajo, como condición básica para avanzar dada la mayor suma de felicidad posible, como objetivo esencial de la Nación que nos legó El Libertador,
CONSIDERANDO
Que es función constitucional del Estado defender principios democráticos, de equidad, así como una política de recuperación sostenida del poder adquisitivo de la población venezolana, así como la dignificación de la remuneración del trabajo y el desarrollo de un modelo productiva soberano, basado en la justa, distribución de la riqueza, capaz de generar trabajo estable y de calidad, garantizando que las y los trabajadores disfruten de un salario mínimo igual para todas y todos,
CONSIDERANDO
Que el Decreto con Rango, Valor y Fuerza de Ley Orgánica del Trabajo, los Trabajadores y las Trabajadoras, promulgado por el Comandante Supremo de la Revolución Bolivariana, Hugo Rafael Chavez Frías, el 30 de abril de 2012 y publicado en Gaceta Oficial de la República Bolivariana de Venezuela el 07 de mayo de 2012, establece que el Estado fijará cada año el salario mínimo, el cual deberá ser igual para todos Ios trabajadores y las trabajadoras en el territorio nacional y pagarse en moneda de curso legal.
DICTO
El siguiente,
DECRETO Nro. 54 EN EL MARCO DEL ESTADO DE EXCEPCIÓN Y EMERGENCIA ECONÓMICA, MEDIANTE EL CUAL SE FIJA UN AUMENTO SALARIAL MENSUAL OBLIGATORIO EN TODO EL TERRITORIO NACIONAL.
Artículo 1°.
Se aumenta en un cincuenta por ciento (50%) el salario mínimo nacional mensual obligatorio en todo el territorio de la República Bolivariana de Venezuela, para los trabajadores y las trabajadoras que presten servicios en los sectores públicos y privados, sin perjuicio de lo dispuesto en el articulo 2° de este Decreto, a partir del 1° de enero de 2017, por la cantidad de CUARENTA MIL SEISCIENTOS TREINTA Y OCHO BOLÍVARES CON QUINCE CÉNTIMOS (Bs. 40.638,15) mensuales.
El monto de salario diurno por jornada, será cancelado con base al salario mínimo mensual a que se refiere este articulo, dividido entre treinta (30) días.
Articulo 2°.
Se fija un aumento del salario mínimo nacional mensual obligatorio en todo el territorio de la República Bolivariana de Venezuela para los y las adolescentes aprendices, de conformidad con lo previsto en el Capítulo II del Titulo V del Decreto con Rango, Valor y Fuerza de Ley Orgánica del Trabajo, los Trabajadores y las Trabajadoras, a partir del 1″ de enero de 2017 por la cantidad TREINTA MIL DOSCIENTOS VEINTIUN BOLIVARES CON OCHENTA Y CINCO CENTIMOS (Bs. 30.221,85) mensuales.
El monto del salario por jornada diurna, aplicable a los y las adolescentes aprendices, seré cancelado con base al salario mínimo mensual a que se refiere este articulo, dividido entre treinta (30) días.
Cuando la labor realizada por los y las adolescentes aprendices, sea efectuada en condiciones iguales a la de los demás trabajadores y trabajadoras, su salario mínimo será el establecido en el artículo 1° de este Decreto, de conformidad con el artículo 303 del Decreto con Rango, Valor y Fuerza de Ley Orgánica del Trabajo, Los Trabajadores y las Trabajadoras.
Articulo 3°.
Los salarios mínimos establecidos en este Decreto, deberán ser pagados en dinero en efectivo y no comprenderán, como parte de los mismos, ningún tipo de salario en especie.
Artículo 4°.
Se fija como monto de las pensiones de los jubilados y las jubiladas, los pensionados y las pensionadas de la Administración Pública, el salario mínimo nacional obligatorio establecido en el artículo 1° de este Decreto.
Articulo 5°.
Se fija como monto de las pensiones otorgadas a los jubilados y jubiladas, los pensionados y las pensionadas, por el Instituto Venezolano de los Seguros Sociales (I.V.S.S.), el salario mínimo nacional obligatorio establecido en el articulo 1° de este Decreto.
Artículo 6°.
Cuando la participación en el proceso social de trabajo se hubiere convenido a tiempo parcial, el salario estipulado como mínimo, podrá someterse a lo dispuesto en el artículo 172 del Decreto con Rango, Valor y Fuerza de Ley Orgánica del Trabajo, los Trabajadores y las Trabajadoras, en cuanto fuere pertinente.
Articulo 7°.
El pago de un salario inferior a los estipulados como mínimos en este Decreto, obligará al patrono o patrona a su pago de conformidad con el artículo 130 del Decreto con Rango, Valor y Fuerza de Ley Orgánica del Trabajo, los Trabajadores y las Trabajadoras y daré lugar a la sanción indicada en su artículo 533.
Artículo 8°.
Se mantendrán inalterables las condiciones de trabajo no modificadas en este Decreto, salvo las que se adopten o acuerden en beneficio del trabajador y la trabajadora. Se mantendrán inalterables las condiciones de trabajo no modificadas en este Decreto, salvo las que se adopten o acuerden en beneficio del trabajador y la trabajadora.
Articulo 8°.
Se mantendrán inalterables las condiciones de trabajo no modificadas en este Decreto, salvo las que se adopten o acuerden en beneficio del trabajador y la trabajadora.
Artículo 9°.
Queda encargado de la ejecución de este Decreto, el Ministro del Poder Popular para el Proceso Social de Trabajo.
Articulo 10.
Este Decreto entrará en vigencia a partir del 1° de enero de 2017.
Dado en Caracas, a los nueve días del mes de enero de dos mil diecisiete. Años 206° de la Independencia, 157° de la Federación y 17° de la Revolución Bolivariana
Comenzamos el 2017 con un breve tutorial sobre Etherpad, específicamente la versión ligera o Etherpad Lite, la cual es un editor de texto colaborativo en línea sin mayores pretensiones de seguridad y/o registro pero sencilla y poderosa en concepto. Veremos como instalarla, utilizarla y hasta revisaremos de forma sencilla cómo funciona, acompañenos por favor 😎 .
Introducción.
Mucho se habla de las «nubes» en forma metafórica y siempre hemos sido un tanto excépticos al uso -y abuso- de dicho término. Somos sobre todo pragmáticos pero también cautelosos en cuanto a la tecnología que almacena nuestros datos en internet y «prometen el oro y el moro» a diestra y siniestra pero he aquí que nos llamó poderosamente la atención la herramienta Etherpad por su aparente sencillez -luego veremos muy bien los detalles «de debajo del capó«-.
En los últimos tiempos hemos visto el surgimiento de aplicaciones en línea (documentos de texto, hojas de cálculo y hasta edición de imágenes) que por una tarifa mensual alquilamos el almacenamiento de los ficheros –de algo tenemos que vivir los programadores, comemos y tenemos familias que mantener- pero tal vez no necesitemos de una herramienta tan sofisticada para nuestros propósitos. He aquí que interviene Etherpad: podremos tener «listas por hacer», documentos, declaraciones, ENTREVISTAS en línea con resaltado sobre lo que escribe cada participante identificado con diferentes colores y podremos embutirlo en cualquiera de nuestras aplicaciones con tan solo incluir una ventana al navegador web que gustéis (lo probamos con Mozilla Firefox y Chromium). Esencialmente eso es lo que hace Etherpad, después que lo instalemos ampliaremos en mayores detalles, no muchos debido a la aparente simplicidad de la aplicación.
La historia de Etherpad está bien resumida en el siguiente párrafo: la aplicación fue lanzada el 19 de noviembre de 2008 por David Greenspan, Aaron IBA y J. D. Zamfirescu (los dos últimos solía trabajar para Google). Más tarde se les unieron -los también empleados por Google- Daniel Clemens y el diseñador David Cole. El sitio original fue llamado etherpad.com (hoy en día el enlace redirige hacia etherpad.org). El 4 de diciembre de 2009 Google compró AppJet, la compañía que posee el software y se anuncia que esta solicitud de colaboración estará disponible bajo licencia Open Source. El 17 de diciembre de 2009, Google libera los código fuentes de Etherpad bajo licencia Apache v2.
Etherpad Lite fue reescrita completamente en un servidor JavaScript utilizando Node.js y del lado del cliente también utiliza javaSript en un 99%.
Los mismos programadores, que antes trabajaron para Google, destacan por Twitter la versatilidad de Etherpad y se erigen como competencia directa al servicio «Google Docs»:
La última versión también está alojada en GitHub.com y está amparada por la licencia Apache 2.
etherpad lite animated.gif
Ambiente de trabajo.
Nosotros utilizamos un ordenador con Ubuntu 16.04 en una red de área local que configuramos por DHCP que nos otorga la siguiente dirección IPv4 fija: 192.168.1.47, aparte de tener derechos de administrador «root» eso es todo lo que necesitamos, ¿sencillo, cierto?
Cada una de las palabras a la derecha de «apt install» respresenta un sfotware en particular que no describiremos detalladamente pero por acá hemos escrito sobre Git y Python, por si acaso queréis ampliar vuestros conocimientos pero para el caso que nos ocupa no es necesario saber usarlos -pero al menos tener noción de que existen-.
Como véis nosotros ya teníamos instalado lo necesario debido a nuestro trabajo de programación en otros asuntos (esto es lo que denominamos entorno de trabajo, se comparten muchos elementos, cuidad de poner muchos proyectos en una sola computadora por razones de estabilidad y uso de versiones compartidas).
En la imagen anterior, por error, no usamos la orden «sudo mv» y eso ocasionó los mensajes de «no se pude mover» es por ello que casi no usamos el concatenador «&&«, generalmente ejecutamos paso por paso, pero bueno, errar es de humanos y reconocemos nuestro fallo, a la final completamos el proceso en una segunda línea.
Tras la pequeña falla subsanada, agregamos los enlaces simbólicos hacia nuestro perfil de usuario en el ordenador:
echo "PATH=$PATH:/opt/nodejs/bin" >> ~/.profile
Si todo sale bien pues felicitaciones, tenemos instalado Node.js en nuestra máquina de pruebas.
Instalando el código fuente de Etherpad.
En idioma inglés a esto lo llaman «instalar los (archivos) binarios», nosotros simplistas siempre pues lo llamamos código fuente o más simple aún: fuente de Etherpad. Para ello haremos lo siguiente:
Crearemos un directorio llamado etherpad en la carpeta opt.
Cambiaremos el propietario de la carpeta con chown hacia nuestro nombre de usuario whoami aprovechando las cualidades del bash y el uso de variables de paso entre comandos.
Cambiamos al directorio creado ya sin credenciales de administrador «root» porque la carpeta nos pertence ahora.
utilizamos el comando git para descargar el código fuente de Etherpad.
Para comenzar a usar Etherpad («levantar el servidor») pues ejjecutamos un archivo de procesos por lote o bash llamado «run.js» desde donde se verifican las variables de entorno (esencialmente nos prohíbe ejecutarlo con derechos de administrador «root» recordad que es un servicio web expuesto a la internet y a todo el mundo) y allana el camino para ejecutar a su vez a otro bash, installDeps.sh, que hace las siguientes comprobaciones:
Se asegura que NO se haya llamado desde el directorio bin (en nuestro ordenador de ejemplo nos quedó instalado en la siguiente vía: «/opt/etherpad/etherpad-lite»).
Comenzamos a usar el comando hash que devuelve cero si encuentra la vía donde están instaladas las respectivas aplicaciones (¿recuerdan lo que comentamos sobre agregar enlaces simbólico a la vía PATH al fichero /.profile)
En el caso que estemos ejecutando sobre SunOS necesitaremos instalar el comando ggrep -no se aplica a nuestro ordenador con Ubuntu-.
Verifica que tengamos instalado curl el cual usaremos para descargar lo que necesitemos de la internet.
Verifica si tenemos node.js instalado.
Verifica si tenemos npm instalado -y su versión-. Npm nos permite manejar cientos de miles de aplicaciones escritas para JavaScript.
Verifica la versión de node.js instalada (0.10.x o superior).
Confirma el nombre del archivo «settings.json» (pronto lo abriremos y editaremos).
De no conseguir «settings.json» pues copia una plantilla por defecto para poder comenzar a trabajar.
De nuevo tomamos a npm y le indicamos que actualize o instale toda nuestra «paquetería» (este comando puede tomar algo de tiempo dependiendo de vuestra máquina y vuestra velocidad de conexión al internet).
Verificamos que la versión jQuery que tengamos sea mínimo 1.9.1 de no ser así utilizamos curl para descargarla.
Importante: en la carpeta «/var» donde tengamos instalado Etherpad (para nuestro ejemplo en «/opt/etherpad/etherpad-lite/var») reposan los archivos que comienzan con la palabra «minified» que esencialmente contienen los guiones JavaScript que corren del lado del cliente. SUPONEMOS que son borrados y creados de nuevo cada vez que se ejecuta Etherpad porque se trata de reunir todas las piezas y entregarlas al cliente para que se ejecuten allá. Cada archivo contiene una licencia de uso Apache 2 e imploran ayudar a comentar -y ayudar- a mantener el código. Esta parte garantiza que cada que vez que «reiniciemos» a Etherpad sean instaladas y «compiladas» las intrucciones al cleinte con las nuevas versiones. También en esta carpeta reposa la base de datos «dirty.db» -manejada con SQLite- la cual es para propósitos de desarrollo y pruebas (lo que enseñamos nosotros en esta vuestra página web) pero que para entornos «de producción» recomiendan sustituir con mySQL.
Se asegura que tenga los guiones .js y .css «limpiecitos» antes de comenzar a ejecutar.
Nos tomamos el «atrevimiento» de copiar el archivo installDeps.sh tal cual se muestra al día sábado 07 de enero de 2017 y le colocamos, como valor agregado, instrucciones al usuario en idioma castellano. Si vosotros queréis contribuir al código fuente central cread una cuenta en GitHub y haced una divergencia de código «fork» en vuestra cuenta, programáis y modificaís y hasta quien sabe, a futuro podéis proponer cambios a los programadores originales para que lo incorporen a la rama oficial. Pero por ahora nosotros lo que queremos es enseñaros unos pocos archivos y no vale la pena copiar todo el código, por eso GitHub tiene una sección llamada Gist (tiza) para estos casos menores y rápidos, especial para ejemplos pequeños, mirad como queda nuestro trabajo:
Ahora si que se ejecuta el guión server.js el cual es el que consideramos «compila» y «levanta» el servidor pero mejor os colocamos la cabezera del archivo para que tengaáis una noción al respecto:
#!/usr/bin/env node
/**
* This module is started with bin/run.sh. It sets up a Express HTTP and a Socket.IO Server.
* Static file Requests are answered directly from this module, Socket.IO messages are passed
* to MessageHandler and minfied requests are passed to minified.
*/
/*
* 2011 Peter 'Pita' Martischka (Primary Technology Ltd)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS-IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
etherpad-lite bin run.sh (1)etherpad-lite bin run.sh (2)
Como vemos, debe ser llamado desde run.sh quien a su vez -ya explicamos- actualiza y borra datos anteriores con installDeps.sh y ejecuta el servicio en sí. Ahora tomad un cafecito y volvéis para mostraros cómo funciona del lado del cliente, con lo que nos toparemos todos los días.
Ejecutando del lado del cliente.
Nuestro servidor de pruebas está ubicado en la dirección IPv4 fija en nuestra red de área local con los números 192.168.1.47 y nos conectaremos con el puerto 9001 el cual es por defecto (de hecho ya tenemos un servidor web Apache2 escuchando en los puertos 80 y 443). Veremos lo siguiente:
Usando Etherpad-lite en servidor local (1)
Por otra parte nos fijamos en la ventana terminal desde donde lanzamos Etherpad y observamos cierta actividad.
Usando Etherpad-lite en servidor local (2)
En esta última imagen apreciamos la versión que tenemos instalada y la advertencia que no tenemos configurados al usuario «admin» y su contraseña (más adelante lo modificaremos) y también vemos que se ha creado un archivo llamado «prueba» con un nombre aleatorio y la dirección IP del navegador que tenemos conectado.
Esto es lo que veremos, un mensaje de bienvenida, en inglés (ya vamos a cambiar la configuración) y podemos desde ya el comenzar a escribir lo que necesitemos o queramos.
Usando Etherpad-lite en servidor local (3)
Desde otra computadora ubicada en la misma red de área lcoal nos conectamos y de una vez en el registro o bitácora nos mostrará a cual archivo se conectó y su dirección IP así como la dirección IP.
Usando Etherpad-lite en servidor local (4)
En ambas computadoras procedemos a identificarnos para que podamos visualizar en diferentes colores lo escrito por cada uno de los participantes.
Usando Etherpad-lite en servidor local (5)
Abajo a la derecha (esquina inferior derecha) hallaremos el ícono para iniciar una conversación aparte del codumento que estemos editando. No consideramos explicar mayor cosa porque sabemos que los usuarios son expertos en esto de los «chats» 😉
Usando Etherpad-lite en servidor local (6)
Si hacemos click en la esquina superior derecha, en el ícono de una rueda dentada, abriremos las opciones de configuración para que nos sintamos a gusto en nuestro entorno:
Mostrar siempre la conversación en pantalla.
Mostrar conversación y usuarios.
Ver lo que escribe cada usuario con su respectivo color.
Mostrar los números de línea (útil si un documento es extenso y queremos mostrar específicamente algo a otros usuarios ).
Podemos elegir si queremos escribir de derecha a izquierda (idiomas como el árabe, ver siguiente punto).
El menú desplegable para cambiar el idioma, hay muchos, incluido el «español» -castellano en realidad-.
Configurando Etherpad
Configurando Etherpad para su uso del lado del cliente.
Imaginemos ahora que ya tenemos «montado» nuestro servidor en producción y queremos compartir el enlace al documento que estamos editando, pues hacemos click en el ícono «</>» y copiamos el enlace para enviarlo por correo electrónico, Twitter, etc.
Compartiendo enlaces en Etherpad
Visualizando los cambios realizados.
Muy útil poder visualizar los cambios realizados, Etherpad conserva un historial extremadamente detallado, lo notamos mucho cuando se importan documentos al trabajo que estamos realizando (ver el próximo punto). Para ello hacemos click en el ícono de reloj de manecillas y podremos adelantar, atrasar y cada cambio hecho se mostrará en pantalla.
Visualizando cambios en un documento de Etherpad
Importando documentos.
Esta opción no es muy lógica que digamos pero bueno, muchas veces podemos ahorrar tiempo «copiando y pegando» o, como en este apartado, importando documentos. Las instrucciones dicen que deben ser en formato .html .txt o formato Etherpad pero si instalamos AbiWord podremos «soportar» más formatos de archivo. Para este proceso damos click en las flechas encontradas y «subimos» el documento deseado.
Importando ficheros a un documento Etherpad
Guardando documentos.
Con solo hacer click en la estrella de cinco puntas el documento será guardado en la base de datos «dirty.db» para una próxima sesión (recordad que podemos configurar para que trabaje con MySQL). Si queremos llevar nuestro trabajo a otro servidor o simplemente respaldar pues lo que tenemos que hacer es copiar y/o comprimir (con fecha y hora en curso) dicho fichero. Esto es importante si tenemos la necesidad de apagar o reiniciar nuestro servidor (cosa extraña en ambiente GNU/Linux pero sucede). Ah, por cierto, en el ambiente Etherpad cada documentos es denominado «pad«.
Bitácora de registros de eventos en el lado del servidor Etherpad.
Bitácora de registros de eventos en el lado del servidor Etherpad
Cada usuario conectado o desconectado, nuevo o ya registrado, lo veremos en la ventana terminal de donde lanzamos nuestro servidor Etherpad. Simplemente mirad y admirad la obra de los programadores de software libre.
Configuraciones avanzadas en Etherpad.
Pues algo que nos sorprendió desde un principio fue que no pedía contraseña para abrir o crear un documento o «pad» como se le denomina por acá. Resulta ser que las configuraciones avanzadas las podemos acceder en la carpeta «/admin». Volvemos a nuestro ejemplo en red de área local:
http://192.168.1.47:9001/admin
Una vez allí nos pedirá un usuario y contraseña. Pues simplemente para cambiar las credenciales le damos cancelar y finalizamos el proceso que tenemos corriendo en la ventana terminal donde iniciamos el servidor Etherpad. Luego debemos editar el archivo «settings.json«. Acá os mostramos cómo «tumbamos» el servidor y comenzamos a editar el fichero.
Configurando usuarios en Etherpad
Al abrir veremos cantidad de configuraciones y sis nos ponemos a detallar vemos como importantes las opciones para poder trabajar con protocolo SSL (servidores web seguros https) y para conectar con una base de datos MySql (aunque también pueden ser redis, mongodb, casscandra, MariaDB, etc) pero cambiemos las credenciales del administrador y del usuario que vienen por defecto. Buscamos la siguiente sección y cambiamos los valores.
/* Users for basic authentication. is_admin = true gives access to /admin.
If you do not uncomment this, /admin will not be available! */
/*
"users": {
"admin": {
"password": "changeme1",
"is_admin": true
},
"user": {
"password": "changeme1",
"is_admin": false
}
},
*/
Lo que debemos hacer es descomentar la sección (eliminar «/*» y «*/») y colocamos los valores que queramos, guardamos y «levantamos» de nuevo el servidor con «run.sh«.
Arriba vemos los cambios, si queremos agregar otro usuario que tenga derechos de administrador debemos colocar la variable «is_admin» a «true». Una vez hayamos reiniciado el servicio Etherpad navegamos a la página de configuración, introducimos nuestro usuario y contraseña y veremos la siguiente pantalla:
Accediendo como administrador a Etherpad
Al hacer click en «settings» podremos volver a modificar el archivo «settings.json» vía web e incluso podemos «reiniciar» en caliente el servidor Etherpad.
Modificando settings.json via página web
Cambiando usuarios y «plugins».
Ya en este punto suponemos que estamos lo suficientemente «empapados» de Etherpad por lo tanto ahora os traemos un vídeo donde rápidamente se realiza lo siguiente:
Se descarga e instla Etherpad en un sistema oeprativo privativo.
Se cambian las contraseñas de los usuarios.
Se cambia los «plugins» que queramos (que son bastantes, hay variedad).
En una entrada anterior enseñamos como configurar mod_rewrite en nuestro .htaccess para poner a «punto de caramelo» nuestro Apache2 pero ahora es necesario preveniros de «haber abierto la caja de Pandora»: nuestro servidor web está expuesto a tácticas de intromisión y hasta toma de control por atacantes con malas intenciones. Sirva pues la presente para complementar y ayudaros a proteger vuestros equipos.