General Ezequiel Zamora

Bicentenario del nacimiento del General Ezequiel Zamora.

Download PDF

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.

Continue reading

Download PDF
Confucio opina sobre el trabajo.

Elige un trabajo que te guste y… (Confucio)

Download PDF

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

 

Nacimiento de Confucio.

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.

Bandera de la República Popular de China.
Bandera de la República Popular de China (dominio público, tomado de Wikipedia).

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.

  1. La tolerancia.
  2. La bondad.
  3. La benevolencia.
  4. Amor y respeto a la naturaleza.
  5. Amor y respeto a los padres (y antepasados).
  6. Respeto a los mayores.
  7. Respeto al orden político.
  8. Respeto al orden social.
  9. Respeto al orden religioso.
  10. 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).

Confucio opina sobre el trabajo.
«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.


Fuentes consultadas.

En idioma castellano.

En idioma inglés.

Download PDF
Gaceta Oficial membrete

Declaración Informativa del Patrimonio de Sujetos Pasivos Especiales

Download PDF

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.

Transcripción de la Providencia.

Continue reading

Download PDF
Aumento salario 08 enero 2016

Presidente Maduro anuncia primer aumento salarial y de pensiones de 2017 en 50 por ciento.

Download PDF

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.

Vídeo con anuncio del aumento.

Salario Mínimo Integral.

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):


¡Desargad aquí, haz click!


 

Fuentes consultadas.

Por cuentas Twitter de medios de comunicación:

 

Transcripción del Decreto N° 2.660.

PRESIDENCIA DE LA REPÚBLICA

SUMARIO

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

Por enlaces web:

 

Download PDF
Etherpad Foundation Logo

Etherpad editor texto colaborativo en línea

Download PDF

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.

En esta entrada evaluaremos la versión Etherpad 1.6.1 disponible tanto para GNU/Linux como para sistemas operativos privativos. Para compartir vía Torrent la versión disponible es la 1.4.1.

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
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?

Proceso de instalación.

Abrimos una ventana terminal e introducimos el siguiente comando:

sudo apt install git curl python libssl-dev pkg-config build-essential

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

sudo apt install git curl python libssl-dev pkg-config build-essential
sudo apt install git curl python libssl-dev pkg-config build-essential

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

Ahora procederemos a instalar Node.js 6.9.2 con la siguiente orden:

wget https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz
wget node-v6.9.2
wget node-v6.9.2

Una vez descargado con wget los archivos comprimidos procedemos a extraerlos con el comando tar en la carpeta donde lo descargamos:

tar xJf node-v6.9.2-linux-x64.tar.xz

Luego creamos un directorio y movemos los archivos pero con derechos de administrador “root”:

sudo mkdir /opt/nodejs/ && sudo mv node-v6.9.2-linux-x64/* /opt/nodejs
sudo mkdir nodejs and sudo mv
sudo mkdir nodejs and sudo mv

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:

  1. Crearemos un directorio llamado etherpad en la carpeta opt.
  2. 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.
  3. Cambiamos al directorio creado ya sin credenciales de administrador “root” porque la carpeta nos pertence ahora.
  4. utilizamos el comando git para descargar el código fuente de Etherpad.
sudo mkdir /opt/etherpad
sudo chown -R $(whoami).$(whoami) /opt/etherpad
cd /opt/etherpad
git clone git://github.com/ether/etherpad-lite.git
Clonando el repositorio de Etherpad
Clonando el repositorio de Etherpad

Ejecutando por primera vez 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:

  1. 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”).
  2. 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)
  3. En el caso que estemos ejecutando sobre SunOS necesitaremos instalar el comando ggrep -no se aplica a nuestro ordenador con Ubuntu-.
  4. Verifica que tengamos instalado curl el cual usaremos para descargar lo que necesitemos de la internet.
  5. Verifica si tenemos node.js instalado.
  6. Verifica si tenemos npm instalado -y su versión-. Npm nos permite manejar cientos de miles de aplicaciones escritas para JavaScript.
  7. Verifica la versión de node.js instalada (0.10.x o superior).
  8. Confirma el nombre del archivo “settings.json” (pronto lo abriremos y editaremos).
  9. De no conseguir “settings.json” pues copia una plantilla por defecto para poder comenzar a trabajar.
  10. 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).
  11. Verificamos que la versión jQuery que tengamos sea mínimo 1.9.1 de no ser así utilizamos curl para descargarla.
  12. 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.
  13. 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 (1)
etherpad-lite bin run.sh (2)
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)
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)
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)
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)
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)
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)
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

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

 "users": {
   "admin": {
     "password": "etherpad",
     "is_admin": true
   },
     "user": {
       "password": "etherpad",
       "is_admin": false
   }
 },

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

¿Qué les pareció la experiencia de aprendizaje?

Fuentes consultadas:

En idioma castellano.

En idioma francés.

Etherpad-Lite instances francophones:

 

En idioma inglés.

Download PDF