Miniatura portada GO40769

Gaceta Oficial N° 40.769: aumento sueldo 30% 1° noviembre 2015.

Download PDF

Son 3 hojitas en formato pdf  (agradezco a nautilus-pdf-tools -autor Lorenzo Carbonell- y lo recomiendo para dividir y combinar documentos en ese formato desde el explorador de archivos de Ubuntu, click derecho sobre archivo pdf, acciones); con este aumento el sueldo mínimo en Venezuela se ubica en Bs. 9.648,18 (si tomamos como referencia el SIMADI serían aproximadamente US$ 49 mensuales).

Para descargar dicho ejemplar electrónico de la Gaceta Oficial desde nuestra página web —>haga click aquí <–.

Si desea descargarla desde el Tribunal Supremo de Justicia haga click en este enlace web.

Aquí tienen la transcripción tomada de la Gaceta Oficial 40.769, de mi propio puño con propósito puramente informativo, usted debe consultar el documento original y no tomar este texto como oficial debido al riesgo de alguna «fe de errata«.


 

Decreto N° 2.056

19 de octubre de 2015

Nicolás Maduro Moros.

Presidente de la República.

Con el supremo compromiso y voluntad de lograr la mayor eficacia política y calidad revolucionaria en la construcción de la Patria Socilista, regida por la doctrina de Simón Bolívar, El Libertador, y los principios de libertad, soberanía, independencia, paz, justicia social, igualdad, solidaridad, eficiencia, democracia, responsabilidad social, protección del ambiente, productividad, a preeminencia de los derechos humanos, la ética, el bien común y la integridad territorial, a los fines de asegurar el desarrollo humano integral y una existencia digna y provechosa para la colectividad, por mandato del pueblo, deconformidad con lo establecido en los artículos 80, 91, 226 y 236 numeral 11 de la Constitución de la República Bolivariana de Venezuela; y en ejercicio de las atribuciones que me confiere el artículo 46 del Decreto con Rango, Valor y Fuerza de Ley orgánica de la Administración Pública, y 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 los trabajadores y las trabajadoras son los creadores de la riqueza socialmente producida, mediante su participación protagónica en el proceso social de trabajo, en función de satisfacer las necesidades materiales, intelectuales y espirituales del pueblo, materializando los derechos de la persona humana, de las familias y del conjunto de la sociedad, mediante la justa distribución de la riqueza,

CONSIDERANDO

Que el Estado Democrático y Social, de Derecho y de Justicia garantiza a los trabajadores y las trabajadoras su participación en la justa distribución de la riqueza, mediante un salario que le permita cubrir para sí y su familia las necesidades materiales sociales e intelectuales para vivir con dignidad y avanzar hacia la mayor suma de felicidad posible, como esencia de la nación que nos legó El Libertador,

CONSIDERANDO

Que el Estado promueve el desarrollo armónico del sistema Socioeconómico Nacional, mediante la planificación estratégica, democrática y participativa, con el fin de generar fuentes de trabajo y alto valor agregado nacional, garantizando la seguridad jurídica, el crecimiento de la producción de la riqueza, para elevar el nivel de vida de la población,

CONSIDERANDO

Que es principio rector del Gobierno proteger al proceso social del trabajo que garantice a los trabajadores y trabajadoras el salario, como instrumento de la justa distribución de la riqueza,

CONSIDERANDO

Que es principio rector del Gobierno Revolucionario proteger a la familia venezolana de la guerra económica desarrollada por el imperialismo, que induce la inflación exacerbada ejecutada por la oligarquía apátrida, como instrumento de acumulación de capital en manos de una minoría.

DECRETO

Artículo 1°.

Se fija 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 participan en el proceso social del trabajo desde las entidades de trabajo públicas y privadas, a partir del 1 de noviembre de 2015, en NUEVE MIL SEISCIENTOS CUARENTA Y OCHO BOLÍVARES CON DIECIOCHO CÉNTIMOS (Bs.9.648,18) mensuales.

El monto del salario diurno por jornada será calculado con base a la resultante del salario mínimo mensual a que se refiere este artículo entre treinta días.

Artículo 2°.

Se fija el salario mínimo nacional mensual, obligatorio en todo el territorio de la República Bolivariana de Venezuela para los y las adolescentes aprendices que participan en el proceso social de trabajo desde las entidades de trabajo públicas y privadas, de conformidad con lo previsto en el Capítulo II del Título V del Decreto con Rango, Valor y Fuerza de Ley Orgánica del Trabajo, los Trabajadores y las Trabajadoras, a partir del 1 de noviembre de 2015, en SIETE MIL CIENTO SETENTA Y CINCO BOLÍVARES CON DIECIOCHO CÉNTIMOS (Bs. 7.175,18) mensuales.

El monto del salario por jornada diurna aplicable a los aprendices y adolescentes será calculado con base a la resultante del salario mínimo mensual a que se refiere este artículo dividido entre treinta 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,

Artículo 3°.

Los salarios mínimos establecidos en este Decreto se pagarán en dinero efectivo y no comprenderán, como parte de los mismos ninguna contraprestación en especie.

Artículo 4°.

Se fija como monto de las pensiones de las jubiladas y los jubilados, pensionadas y pensionados de la Administración Pública, el salario mínimo nacional obligatorio establecido en el artículo 1° de este Decreto.

Artículo 5°.

Se fija como monto de las pensiones pagadas por el Insituto Venezolano de los Seguros Sociales (I.V.S.S.), el salario mínimo nacional obligatorio establecido en el artículo 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.

Artículo 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 prevista 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.

Artículo 9°.

Queda encargado de la ejecución de este Decreto el Ministro del Poder Popular para el Proceso Social de Trabajo.

Artículo 10.

Este Decreto entrará en vigencia a partir del 1° de noviembre de 2015.

 

Dado en Caracas, a los diecienueve días del mes de octubre de dos mil quince. Años 205° de la Independencia, 156° de la Federación y 16° de la Revolución Bolivariana.

Ejecútese,

(L.S.)

(siguen firmas del Presidente, Ministras y Ministros).

 


 

<Eso es todo, por ahora>.

Download PDF
Gnome-Pie_0.6.8

GNOME Pie.

Download PDF

GNOME Pie.

GNOME Pie en su versión 0.6.8 fue la que probé aprovechando la instalación de una máquina virtual con Ubuntu 15 «cliente» (en otra entrada les comenté mi experiencia Ubuntu Servidor 15) pero supe de esta pecualiar interfaz integrada por una página web en la cual he aprendido muchísmo en mi camino hacia el Software Libre:

He de reconocer que NO soy bueno en diseño gráfico, para nada, pero admirar las artes visuales es un placer para todo ser humano. Por eso captó mucho mi atención, y añadamos el hecho que TODO se puede hacer con atajos de teclado PUES como anillo al dedo, eso es lo mío.  

Para instalarlo, (gracias a los amigos de Linux Adictos), debemos abrir una ventana terminal y con derechos de usuario maestro introducir los siguientes comandos:

sudo add-apt-repository ppa:simonschneegans/testing
 sudo apt-get update
 sudo apt-get install gnome-pie
GNOME-Pie instalación
GNOME-Pie instalaciónE

Una vez instalado lo corremos y justo se instala junto a nuestra bandeja del sistema (disculpen mi ignorancia si recibe un nombre diferente en Ubuntu) y al darle click derecho podemos ver los créditos, un buen trabajo del señor Simon Schneegans:

GNOME-Pie Créditos
GNOME-Pie Créditos

Por el contrario, si damos click en «Preferencias» podemos ver los atajos de telcado (que sí, que ya los anoté en un papelito y los pegué en el monitor):

GNOME-Pie CTRL+ALT+A aplicaciones
GNOME-Pie CTRL+ALT+A aplicaciones
GNOME-Pie CTR+ALT+B marcadores
GNOME-Pie CTR+ALT+B marcadores
GNOME-Pie CTRL+ALT+ESPACIO menú principal
GNOME-Pie CTRL+ALT+ESPACIO menú principal
GNOME-Pie CTRL+ATL+M multimedia
GNOME-Pie CTRL+ATL+M multimedia
GNOME-Pie CTRL+ALT+Q sesión
GNOME-Pie CTRL+ALT+Q sesión
GNOME-Pie CTRL+ALT+W ventana
GNOME-Pie CTRL+ALT+W ventana

Esta última captura donde salen las opciones de maximizar, minimizar, etc pues que no le veo mucho sentido pues creo es más rápido utilizar la barra de la ventana misma EXCEPTO en los entornos de escritorio que no los posean, pero para mí no es el caso.

Lo hermoso del Software Libre es que si quieres colaborar a mejorar dicha aplicación (y postularla incluso al autor original) es que puedes acceder al código fuente en este enlace. 😎 ¡bravo! ?

Aparte de estar disponible para Ubuntu, también hay un espacio en los repositorios de Arch Linux, y para otras distribuciones, pues ya sabeís dónde está el código fuente, instalar git, clonar y compilar (instrucciones ampliadas sobre este tema, cómo no, con los conocedores de la materia: LXA Linux Adictos ?); luego van y leen las instrucciones del autor en este enlace [mi siguiente paso: probarlo en Debian 7  ¿se podrá o no se podrá?].

Por último les dejo este vídeo (que no, que no soy dado hacia el diseño gráfico y a la video producción MENOS aún), cortesía de mismísmo autor Simon Schneegans, desde Weimar, Alemania:

Gnome-Pie 0.6.1 from Simon Schneegans on Vimeo.

<Eso es todo, por ahora.>

Download PDF
No Spam can.

filter.yaml AntiSpam (2015-10-09).

Download PDF

filter.yaml AntiSpam

filter.yaml AntiSpam es una lista escrita en lenguaje YAML para que puedan filtrar el correo electrónico basura que se le escapa al Apache SpamAssasin, ya que éste no es infalible.

Lo que me motiva a publicar esta lista es que están arreciando enormemente con el correo basura (email spamming) sobrepasando incluso las habilidades del ya comentado Apache Spamassasin.

¿En que consiste este filtro? Yo decidí filtrar por dominio del correo electrónico del que me envia el mensaje no deseado ni solicitado, si cumple con la regla nuestro servidor lo envia al dispositivo \dev\null, un agujero negro creado especialmente en Unix/Linux a tal efecto. Esos dominios  los agrego manualmente y por medio de cPanel se va guardando automáticamente en un archivo llamado filter.yaml

Dicho archivo está alojado en la carpeta etc donde tengan alojada su página web, la nomenclatura es la siguiente:

\etc\sudominio\suusuario\filter.yaml

En mi caso tengo varios dominios alojados en el mismo servidor y a su vez tengo varias cuentas de correo electrónico en cada uno de esos dominios. Para simplificar el trabajo lo que hago es que copio la lista principal, la que trabajo manualmente, a cada uno de los buzones que tiene cada dominio. Eso ahorra trabajo. Imagino habrá una opción para filtrar globalmente -o al menos dominio por dominio- pero aún no aprendo a hacer eso, quien lo sepa sientase libre de comentar abajo.

Yo admiro a quien sabe más que yo, y lo reconozco públicamente, es loable el trabajo de Mister Jacek Stanislawski quien genera un filter.yaml por medio de Phyton consultando una base de datos basada en geolocalización de direcciones ip. Fascinante. Aunque no lo he probado, IMAGINO QUE FUNCIONA. Admirable. 😯

Así que si piensan que «pierdo el tiempo en esto» pues a ver que ya hay otros que le han echado muchísimo más «coco» que yo.

Sin más pues, he aquí la dichosa lista, espero les se útil en algo (esta la iremos ampliando con el tiempo):

--- 
filter: 
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_163
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: 163
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_aaa
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: aaa
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_achievedate
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: achievedate
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_adsector
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: adsector
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_agareebeth
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: agareebeth
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_algreens
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: algreens
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_apartmani
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: apartmani
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_aperak
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: aperak
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_argesp
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: argesp
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_aduces
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: aduces
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_badoo
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: badoo
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_basicunion
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: basicunion
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_benfieldminerals
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: benfieldminerals
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_breify
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: breify
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_bubbleup
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: bubbleup
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_cabpad
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: cabpad
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_caednalice
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: caednalice
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_cercocerco
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: cercocerco
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_clipperadvantage
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: clipperadvantage
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_consibu
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: consibu
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_consumerprodss
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: consumerprodss
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_cuckas
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: cuckas
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_destinyventures
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: destinyventures
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_dibloranal
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: dibloranal
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_dlfcityrwa
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: dlfcityrwa
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_dnesensate
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: dnesensate
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_donesite
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: donesite
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_duclipitto
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: duclipitto
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_dunesexpress
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: dunesexpress
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_drmommywrites
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: drmommywrites
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_eicp
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: eicp
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_ejects
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: ejects
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_empowernetworkespanol
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: empowernetworkespanol
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_eventfiller
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: eventfiller
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_fakistra
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: fakistra
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_fatlossknows
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: fatlossknows
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_foodpoll
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: foodpoll
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_fullassociation
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: fullassociation
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_gecrag
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: gecrag
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_globuslead
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: globuslead
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_haurub
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: haurub
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_highdensityfoam
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: highdensityfoam
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_highlandunion
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: highlandunion
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_highrivermedia
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: highrivermedia
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_hkyejian08@hotmail.com
    rules: 
      - 
        match: is
        opt: or
        part: "$header_from:"
        val: hkyejian08@hotmail.com
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_htni
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: htni
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_hubverse
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: hubverse
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_hwdubai
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: hwdubai
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_iklanmantop
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: iklanmantop
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_imabree
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: imabree
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_inspiredecisions
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: inspiredecisions
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_jumphere
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: jumphere
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_kasago
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: kasago
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_kidozo
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: kidozo
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_latestlevel
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: latestlevel
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_leadclick
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: leadclick
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_leadfirst
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: leadfirst
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_lifecare-rx
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: lifecare-rx
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_lilythai
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: lilythai
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_linkclicks
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: linkclicks
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_linkserv
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: linkserv
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_linkstar
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: linkstar
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_loversrouse
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: loversrouse
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_macaufeed
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: macaufeed
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_mancaveblog
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: mancaveblog
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_margaritaville
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: margaritaville
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_mediandroid
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: mediandroid
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_milleniumindustries
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: milleniumindustries
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_movetonctriangle
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: movetonctriangle
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_ncm-ukraine
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: ncm-ukraine
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_nubsgh
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: nubsgh
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_omoq
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: omoq
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_on.ca
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: on.ca
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_onlinenic
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: onlinenic
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_packeteer
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: packeteer
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_peao
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: peao
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_pensionlawyers
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: pensionlawyers
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_percq
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: percq
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_phesarius
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: phesarius
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_populence
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: populence
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_potentialedge
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: potentialedge
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_prontoshoes
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: prontoshoes
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_quidoco
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: quidoco
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_ralephi
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: ralephi
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_reao
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: reao
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_rblazo
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: rblazo
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_reginafred
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: reginafred
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_resourceprods
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: resourceprods
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_roshnirocks
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: roshnirocks
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_router-switch
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: router-switch
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_royal-income
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: royal-income
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_sadwindow
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: sadwindow
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_seoder
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: seoder
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_smartskids
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: smartskids
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_soumzaie
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: soumzaie
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_swcarlsbad
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: swcarlsbad
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_synclive
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: synclive
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_swingsoul
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: swingsoul
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_taobaoenfrancais
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: taobaoenfrancais
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_texttodate
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: texttodate
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_theluci
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: theluci
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_ubp.ch
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: ubp.ch
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_ugotdogs
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: ugotdogs
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_uploadhit
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: uploadhit
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_vestibulummassa
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: vestibulummassa
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_videosynckers
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: videosynckers
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_viridianim
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: viridianim
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_vocanova
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: vocanova
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_wediginins
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: wediginins
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_wildread
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: wildread
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_worrrkathomme
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: worrrkathomme
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_yeekong
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: yeekong
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_yourluxuryguide
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: yourluxuryguide
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_yurwurld
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: yurwurld
    unescaped: 1
  - 
    actions: 
      - 
        action: save
        dest: /dev/null
    enabled: 1
    filtername: Regla_zichoster
    rules: 
      - 
        match: contains
        opt: or
        part: "$header_from:"
        val: zichoster
    unescaped: 1

<Eso es todo, por ahora>.

Download PDF
ssh-keygen

SSH keygen y fail2ban.

Download PDF

Publicado el lunes 28 de septiembre de 2015.

Actualizado el jueves 12 de mayo de 2022

Con SSH podremos conectarnos de manera segura a nuestras máquinas remotas y ejecutar o automatizar tareas con la certeza de que nadie podrá indagar qué estamos haciendo, con privacidad absoluta.

En un entrada anterior vimos y aprendimos nuestros primeros pasos para trabajar por línea de comandos (shell) en una ventana terminal. Si no lo recordáis o queréis refrescar la memoria pues visitadlo y regresad por acá para continuar nuestro aprendizaje (que yo también escribo esto para que no se me olvide -y aprovecho de ayudar a otros también-).


ssh-keygen
ssh-keygen

Seguir leyendo

Download PDF

GNU Linux Turnkey 14.

Download PDF

GNU Linux Turnkey 14.

GNU Linux Turnkey LAPP 14 es una distribución pensada para instalar-y-usar con un buen conjunto de aplicaciones (LAPP abreviatura de Linux, Apache, Postgresql y PHP) sin descuidar la seguridad (instala claves SSH inmediatamente –algo que deberíamos hacer nosotros mismos-) y un conjunto de valores predefinidos que agilizan nuestro trabajo al montar servidores para la producción, todo esto con las características intrínsecas del Software Libre. CUENTA ADEMÁS (servicio que hay que pagar, eso sí) con DNS y respaldos «en la nube» ya que de algo tienen -tenemos- que vivir los programadores.


Yo sigo la cuenta Twitter del sr. S. Vaughan-Nichols quien siempre tiene interesantes reportajes (y abundantes críticas) sobre el mundo de la informática, muy especialmente en los temas de servidores y lo que está de moda ahora: «la nuuuuuuube» (imaginen tamborileo en paralelo). Él siempre alega la SIMPLICIDAD (muchos lo llamamos «K.I.S.S. principle«) y no sólo critica por criticar sino que ÉL TAMBIÉN APORTA SOLUCIONES.

Es por tanto que me llamó poderosamente la atención el siguiente «trino (tweet)»:

Sigo el enlace, leo el artículo, sigo el otro enlace hacia los creadores de la distribución TURNKEY, noto que en cada artículo colocan el enlace para descargar la imagen ISO con la «distro» más la aplicación deseada -amd64, por supuesto, estamos hablando de servidores-, todo muy bien explicado y detallado (en idioma inglés) y en 5 minutos la descargo y en 2 minutos más la ejecuto en un ambiente VirtualBox y listo, tengo corriendo un servidor LAPP en modo live CD y casi listo para producción. ¿NO ME CREEN? Veánlo «con sus propios ojos»:

La genial idea de los programadores de Turnkey estriba en adaptar una distribución Linux para que, siguiendo los preceptos de la licencia GNU, sea libre y sin embargo si uno desea seguir adelante con un servidor DNS y respaldo de datos en los servidores Turnkey de manera paga y con una genial API KEY en poco tiempo estemos en línea y produciendo dinero.

Esas cosas las admiro profudamente: simplicidad, apoyo inicial y si quieres CRECER allí están para convertirse en socios de manera instantánea. Además  observo que Turnkey no trabaja sola, también vende servicios Amazon para alojamiento, si es que uno no tiene máquina propia para montar lo requerido.


Instalación de Turnkey.

En otras publicaciones he descrito cómo instalar un servidor PostgreSQL y cómo administrarlo con phpPgAdmin paso a paso. Siempre es bueno saber hacerlo todo uno mismo y luego que uno ya haya aprendido no está mal que obtener ayuda extra como la concebida en esta maravillosa distribución Linux Turnkey. A pesar que en los enlaces anteriores describo en detalle el entorno que utilizo, describo un resumen: uso VirtualBox en Ubuntu 64 bits, le asigné 512 megabytes en RAM, 1 CPU, 12 megabytes para vídeo y la única tarjeta de red virtual la configuro como «puente» para que la máquina virtual Turnkey se comunique con mi enrutador inalambrico (y de allí a la internet) quien se encarga del trabajo DHCP y le asigna la dirección 192.168.1.131 con los Norton DNS.

La instalación en sí la vieron arriba en el video que subí -alojamiento cortesía de Youtube- y el detalle adicional es que RECUERDEN BIEN que la distribución del teclado es en inglés [yo hace años que dejé de usarlos, ni siquiera en español tengo ya, sólo distribución Latinoamericano, ojito al meter las contraseñas 😉 ]


Primera vista a Turnkey.

Para el sr. S. Vaughan-Nichols, quien lleva años trabajando con PhpMyAdmin, probó el Adminer y le resultó agradable; en mi caso veo una sencilla interfaz que va directo al grano y sin complicación alguna: yo la recomendaría para aprendizaje previo al PhpMyAdmin y/o PhpPgAdmin.

La primera diferencia que hallo es que para poderme conectar por el explorador de internet (en mi caso Mozilla) debo utilizar el prefijo https. Como les comenté, la seguridad no ha sido descuidadada en esta distribución, ya que genera sus propias claves al instalar la distro Turnkey (en nuestro caso «correr» live CD). Si quieren conocer al detalle los de las claves SSH y su administración recomiendo leer el siguiente post del Maestro Twitter @Phenobarbital Sr. Jesús Lara.

Como dichas claves SSH no están avaladas por un tercero de confianza el navegador hace la debida advertencia de seguridad a la cual le estableceremos unas indicaciones para nuestras pruebas en el servidor virtual Turnkey (si adquirimos una llave API tipo TKLBAM con Turnkey NADA de lo siguiente que explico haría falta hacer).

Turnkey 01
Conectando por primera vez para administrar Turnkey en una máquina VirtualBox.

Como ven el en gráfico anterior haremos click en «comprendo los riesgos» y luego «agregar excepción». Esto sólo lo haremos con nuestras máquinas que corren en nuestra propia red de área local, jamás ni nunca lo haremos con otros sitios web en internet (sigamos los consejos de seguridad de SUSCERTE).

Turnkey 02
NO agregaremos como permanente la excepción de seguridad.

NO agregaremos como permanente la excepción de seguridad ya que sólo hacemos esto con propósitos didácticos, recuerden que corremos el servidor en RAM -live CD- y cada vez que lo reiniciemos imagino genera nuevas claves SSH así que no embasuremos nuestro querido navegador web ADEMÁS que si hacemos pruebas con otras máquinas virtuales y el enrutador les asigna la misma dirección IP local nos saldrán otros mensajes de advertencia de seguridad, OSEA no nos embaserumos nosotros mismos a la hora de aprender a programar.

Turnkey 03
Portada principal para administrar Turnkey.

Lo primero que vamos a ver es el Adminer LAS FLECHAS ROJAS en las imágenes son de mi autoría para guiarnos paso a paso, hacemos click a donde ellas apuntan.

Turnkey 04
Usando Adminer,
login «posgres».

El usuario -o «login»- es la palabra «posgres» y la contraseña la que hallamos colocado al instalar -o correr- el Turnkey.

Turnkey 05
Administrando PostgreSQL con Adminer.

En fin, hagan uso de su albedrío y creen bases de datos, agreguen tablas y/o índices, clonen, jueguen y aprendan. Recuerden que como estamos ejecutando un live CD al reiniciar la máquina se perderán todos los datos. Mi imaginación vuela en este caso: si adquirimos una API key que nos permita respaldar con los servidores de Turnkey y una vez hecho eso, apagamos y pudieramos levantar otro servidor virtual en cualquier otro sitio restaurando los datos desde Turnkey, aunque imagino que eso tendrá su costo adicional, respaldar y restaurar con frecuencia. No soy el único en Venezuela que conoce TurNkey ya hay varios usuarios «corriéndolo» en Venezuela: Maracaibo, Barquisimeto, Araure [ ¿? ], Valencia, Puerto Cabello, Maracay, Cumaná y, ¡cómo no!, Caracas.

Turnkey 10
Servidores (al día de hoy 27sep2015) corriendo Turnkey en Venezuela.

Mi imaginación va mucho más allá: la manera como programaron a Turnkey se puede prestar para montar servidores maliciosos. El pequeño detalle es que deben pagarle a Turnkey con una tarjeta de crédito cuyo dueño es localizable por los bancos de manera rápida y si usan una tarjeta robada o extraviada igual es delito federal en los EE.UU. así que esa opción, como ven, queda descartada.


Administrando a Turnkey.

Turnkey 00
Pantalla de bienvenida a Turnkey.

En esta pantalla de bievenida que veremos por cónsola nos muestra un resúmen sobre cómo conectarnos vía remota y ya analizamos como entrar en el apartado anterior. Hago hincapié en la publicidad: si adquirimos una API key TKLBAM la debemos introducir en el cuadro de diálogo anterior y esperar que se realicen las actualizacions y/o instalaciones para montar BIEN EN SERIO UN SERVIDOR PARA PRODUCIR DINERO. Ese tema, por ahora ni lo tocaremos ni lo revisaremos.

Turnkey corriendo en VirtualBox.
Turnkey corriendo en VirtualBox.

Lo que si que vamos a hacer es echar un ojo a las opciones para administrar nuestro futuro servidor:

Turnkey 03
Portada principal para administrar Turnkey.

¿Recuerdan la portada principal? PUES ESTA VEZ HACEMOS CLICK EN EL ÍCONO QUE DICE WEBMIN, olvídense por un momento de la flecha roja [qué pichirre soy con el alojamiento web, NO voy a subir otra imagen nada más que para apuntar con otra flecha roja ja ja ja 😉 ]

Turnkey 06
Entrando a Webmin como usuario «root».

Usaremos las credenciales de usuario raíz -«root»- y si éste fuera un servidor para producción lo primero que haríamos es crear los usuarios correspondientes y no volver a tocar la dichosa cuenta. Acá como estamos aprendiendo y jugando pues no haremos nada de eso. La contraseña pues, halá, la que introdujimos al instalar -o correr-:

Turnkey 07
Menú principal Webmin.

Sinceramente quedé abrumado por la cantidad de opciones del Webmin lo único que se me ocurre para describirles la aplicación es que es como si estuvieramos sentados en la cónsola del servidor, pero con una interfaz gráfica de la cual carece -excepto de esta manera remota-. Podemos agregar los usuarios que les dije, reiniciar o apagar el equipo (partimos de que estamos conectados por https o SSH y bien seguros), instalar o quitar aplicaciones, configurar la red (ojito con desconectarnos nosotros mismos) y cualquier otra cantidad de cosas. Incluso para nuestro aprendizaje (nunca para un servidor en producción) podemos instalar «Google Gears» -un proyecto que aunque abandonado desde marzo de 2011 seguirá existiendo por SVN – e incluso lo podemos exportar y mantenerlo en nuestro propio espacio GitHub (nada malo ha pasado con el alojamiento de proyectos de código abierto ofrecidos por este gigante, sólamente reconocen que GitHub es mucho mejor e incluso ellos se mudaron también; YO DIGO QUE ES OTRA VICTORIA PARA LINUS TORVALDS Y RICHARD STALLMAN, un proyecto abandonado de software libre puede ser mantenido perfectamente por otros que aún lo consideren importante):

Turnkey + Webmin + Google Gears
Turnkey + Webmin + Google Gears.

Como son muchas las opciones que tiene el Webmin sólamente les mostraré las capturas de pantallas de las opciones del menú:

Webmin opción principal
Webmin opción principal
Webmin opción "system".
Webmin opción «system».
Webmin opción "servers".
Webmin opción «servers».
Webmin opción "tools".
Webmin opción «tools».

 

Webmin opción "networking".
Webmin opción «networking».
Webmin opción "hardware".
Webmin opción «hardware».

Apagado de Turnkey virtual.

Espero hayan disfrutado de este post tanto como yo, hoy aprendimos algo nuevo y sólo queda apagar la máquina virtual por (faltaba más faltaba menos) por medio de Webmin:

Apagado de servidores remotos por Webmin.
Apagado de servidores remotos por Webmin.

 

<Eso es todo, ¡por ahora!>.

Download PDF
CANTV Debian logos

CANTV Debian repositorio.

Download PDF

CANTV  Debian repositorio.


 

CANTV Debian repositorio. En mi inquietud de implementar repositorios para Linux en territorio venezolano a fin de ahorrar tiempo y hasta divisas (usar menos los cables submarinos que nos conectan a otros países) me ha llevado hasta consultar «tuiteros» con experiencia en ésa área. Para ello el sr. Juan Carlos Monsalve me ha indicado de un repositorio para Debian alojado en los servidores de datos de CANTV «a dos saltos de distancia» y es por ello que me propongo probarlos en una máquina virtual con Debian 8 Jessie.



  Me dirijo hasta la dirección suministrada, donde muestran la siguiente información para ser introducida en nuestro archivo sources.lst (Debian, y su derivado Ubuntu utilizan «Advance Packaging Tool» para los repositorios de software).


 

# REPOSITORIOS “MAS VELOCES”, ESTABLES Y VENEZOLANOS (CANTV)
# A solo dos saltos de cualquier usuario ABA

## Debian – stable
deb http://mirror-01.cantv.net/debian/ stable main contrib non-free
deb-src http://mirror-01.cantv.net/debian/ stable main contrib non-free
deb http://mirror-01.cantv.net/debian-security squeeze/updates main contrib

## Actualizaciones de seguridad
deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free

## Backports
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

 


Un repositorio, de software en este caso, es simplemente una colección de programas informáticos catalogados y almacenados de manera normalizada (o normada, que sigue las normas) a fin de poderlos descargar para cada ordenador que lo necesite (nuevo o que esté reinstalando su sistema operativo).   He aquí el meollo del asunto: un grupo de servidores no podrá encargarse de entregar para el mundo entero, no resistiría la carga. Es por ello que se implementaron servidores «espejos» -«mirrors» en inglés- que copian la información de, en teoría, los servidores centrales, pero esto no es necesariamente así. Ya que los datos digitales se pueden copiar exactamente como fueron creados y disponemos de algoritmos aplicados para certificar que dichas copias sean exactas al original pues podemos montar servidores espejos desde el que tengamos más cercanos, físicamente hablando.   Acá en Venezuela ese lugar es precisamente Caracas, nuestra ciudad capital. Mi idea es montarlos en las otras ciudades principales de Venezuela, por ejemplo Maracaibo, Valencia o Ciudad Bolívar. Para ello hemos solicitado al Ciudadano Presidente de la República Nicolás Maduro un plan especial de dirección IP fija (aprovechando que las direcciones versión 6 están bien encaminadas a ser implementadas) y el cambio de tecnología ADLS a DSL. Acá publico el video donde el Presidente recibe nuestra solicitud:



Ya colocando manos a la obra publico el video donde muestro cómo modificar el archivo (con derechos de root) y mido la velocida de descarga tanto de las cabeceras como de las mismas actualizaciones en sí:



Para lo que yo llamo «catálogo» de aplicaciones descargó 19,6 MB en 36 segundos (velocidad de 541 kB/s) y en este punto he de confesarles que tengo varios equipos conectados en la misma red de área local y al mismo modem CANTV, y uno de ellos trabaja las 24 horas compartiendo las ISO Debian por Torrent (entre otros trabajos que necesito, no viene al caso mencionarlos aquí 😎 ). Es por ello que PUEDE SER que se conecte a mayor velocidad, mi plan es de 10 mbps «de bajada» y 1 mbps «de subida» (¿ya vieron por qué necesito una conexión SIMÉTRICA?).   Ahora bien, hago una pequeña prueba instalando un programa, para la prueba Filezilla el cual utilizo en demasía, y descargó 9004 kB en 15 segundos (velocidad 592 kB/s) tras lo cual quedó satisfactoriamente instalado (de hecho duró más tiempo instalando -26 segundos- que descargando -15 segundos-). Hago notar que POR SUPUESTO mientras más lejos uno esté de Caracas, pues más tardará en descargar, son más los «saltos» a dar dentro de la misma red de CANTV (de allí mi idea de distribuir repositorios por toda Venezuela con el plan sugerido a CANTV).   Poco después el sistema operativo automática detectó las actualizaciones necesarias (éste Debian es el 8.0 y ya salió el 8.2 por lo que son sustanciosos los cambios necesarios).


 


Luego descargó 269,1 MB en 17 minutos a una veolocidad aproximada de 270 kB/s, el verdadero promedio que deseaba obtener con una descarga de tamaño moderado. De nuevo duró más tiempo instalando las actualizaciones (253 minutos) que descargando (17 minutos). Saquen ustedes mismos sus conclusiones, comparando con las descargas que realizen ustedes en sus casas y/o lugares de trabajo.

<Eso es todo, por ahora>.

Download PDF
Joseph Raphson signature

GoLang Newton Raphson.

Download PDF

GoLang Newton Raphson.

GoLang es un «nuevo» lenguaje de programación en el cual estoy interesado ya que el programa de repositorios llamado Aptly está escrito en ese «idioma de computación» (gracias a Andrey Smirnov @smira). Ustedes pueden obtener información más precisa sobre este lenguaje de programación en este enlace que obtuve via Twitter:

Por ello lo estoy aprendiendo por medio de un tutorial y allí me encuentro con un método para calcular raíces cuadradas por aproximación según Isaac Newton el cual yo no conocía.

Introducción.

Como yo estudié ingeniería y las matemáticas me traen gratos recuerdos me puse a analizar la fórmula que proponen los desenfadados programadores y desenfadadas programadoras de Google (la tuve que nombrar ya que ésta empresa es la que lo patrocina) y definitivamente que no me gustó la fórmula que presentan y el método de programación para calcularla.

Mucha gente ha escrito sobre el tema, incuyendo Wikipedia, por supuesto, pero me pareció un método muy enrevesado, para mi gusto (la historia allí descrita me hace saber que en realidad lo inventó primero el matemático Joseph Raphson pero Newton llegó a la misma conclusión si saber nada del trabajo del otro matemático).

Me encanta ser práctico, ver ejemplos y lo que muestran en este enlace me pareció pulcro y limpio y a pesar que llevo AÑOS sin calcular derivadas y series se llega rápidamente a una solución en el ejemplo 2 (pero yo realmente me deleité con el ejemplo 1) .

Propuesta.

Basado en lo que me explican me propongo programar para calcular CUALQUIER raíz cuadrada de un número natural mayor a 1 y de una manera recursiva (a diferencia de como lo piden en el tutorial con 10 iteraciones) más sin embargo no he podido resolver el detalle de convertir dicha función en un objeto que sólo tengamos que pasarle el número a calcular su raíz cuadrada, la precisión en decimales, sin más desde afuera, como lo planteo siempre hay que modificarle adentro en la función.

Si más preámbulos (que no, que no vamos a estudiar en este post «Análisis Matemático I», II ni III, ni «Ecuaciones Diferenciales» ni «Matemáticas Aplicadas») le presento mi solución, con comentarios en castellano:

package main

import (
    "fmt"
    "math"
)

func NewtonRaphson(x float64, comienzo int, margen float64) float64 {
  var resp float64 = 0
  var z    float64
  var dif  float64
  //Cambiar z al entero cuadrado inferior a x para calcular
  //otras raices
  if comienzo == 1 { z = 1   }
  //fin semilla
  if comienzo == 0 { z = x }
  
  //Para calcular otra raíz cambiar el primer 2 por
  //el numero cuya raiz cuadrada se desea calcular    
  z = ( z + 2 / z) / 2
  dif = x - z
  
  
  if dif > margen {
    resp = NewtonRaphson( z , 0, margen)
  } else {
    resp = z
  }
  return resp
}

func main() {
    fmt.Println(NewtonRaphson(2, 1, 0.0000001))
    fmt.Println(math.Sqrt(2))
}

Obteniendo los siguientes resultados, los cuales se aproximan bastante, como ven:

1.414213562373095
1.4142135623730951

Program exited.

Si quisiéramos calcular la raíz cuadrada de 50 debemos hacer dos cambios en el programa (atención: si copian y pegan el código para probar, respeten el indentado):

package main

import (
"fmt"
"math"
)

func NewtonRaphson(x float64, comienzo int, margen float64) float64 {
 var resp float64 = 0
 var z    float64
 var dif  float64
 //Siete elevado al cuadrado es el primer inferior a 50
 if comienzo == 1 { z = 7   }
 //fin semilla
 if comienzo == 0 { z = x }

 //El primer número 2 lo cambiamos por 50
 z = ( z + 50 / z) / 2
 dif = x - z

 //Verifica el margen de error para finalizar el cálculo
 //y devolver el resultado
 if dif > margen {
  resp = NewtonRaphson( z , 0, margen)
 } else {
  resp = z
 }
 return resp
}

func main() {
 fmt.Println(NewtonRaphson(50, 1, 0.0000001))
 fmt.Println(math.Sqrt(50))
}

Y esto es lo que arroja el servidor remoto que ejecuta código:

GoLang cálculo raíz cuadrada de 50 por método Newton Raphson.
GoLang cálculo raíz cuadrada de 50 por método Newton Raphson.

AHORA BIEN ésta es mi primera impresión de este lenguaje (puede ser que esté equivocado), se parece bastante a Python, pero bueno, vamos a «seguirle dando a los hierros» y veremos en que consiste este lenguaje, prometo próximas entradas en este blog acerca del tema.

<Eso es todo, por ahora>.

Download PDF
Ubuntu 6 32 bits 27 junio 2007

Ubuntu 6.10 32 bits.

Download PDF

Ubuntu 6.10 32 bits.

Ubuntu 6.10 32 bits (año 2007 y reinstalado en 2015 por medio de una máquina VirtualBox): un CD que recuperé del baúl de los recuerdos el cual le hice una imagen ISO con Brasero (recuperado en un 99,9% a pesar de haber estado más de 48 horas leyendo y releyendo) y la utilidad de disco confirma los defectos en la imagen grabada. También tiene utilidad de comprobación de memoria RAM, la ejecuté también, todo está en el video.

Por allá en el 2004 tenía una computadora que compré ya armada y me vendieron una marca infame de tarjeta madre (yo recomiendo las marcas Foxconn, Asus y Gigabyte con los ojos cerrados) y dicha tarjeta madre dejó de reconocer disco duro alguno en el 2007, pero al menos si arrancaba desde CD (en aquella época era una novedad en Venezuela el DVD interno para computadora, el cual era el primero de mi propiedad y de paso era quemador también). Así que para no darle más vueltas a ese asunto descargué el Ubuntu y usaba el live CD y guardaba en memoria USB (pendrive). Esa computadora a la final la desarmé y vendí por partes pero como no hay mal que por bien no venga me introdujo a mi primera experiencia real con el Software Libre, submundo Linux.

<Eso es todo, por ahora>.

Download PDF

NASA Journey to Mars.

Download PDF

NASA Journey to Mars:

Porque para eso son las utopías, para siempre ir hacia adelante.

NASA Journey to Mars

NASA is developing the capabilities needed to send humans to an asteroid by 2025 and Mars in the 2030s – goals outlined in the bipartisan NASA Authorization Act of 2010 and in the U.S. National Space Policy, also issued in 2010.

Mars is a rich destination for scientific discovery and robotic and human exploration as we expand our presence into the solar system. Its formation and evolution are comparable to Earth, helping us learn more about our own planet’s history and future. Mars had conditions suitable for life in its past. Future exploration could uncover evidence of life, answering one of the fundamental mysteries of the cosmos: Does life exist beyond Earth?

While robotic explorers have studied Mars for more than 40 years, NASA’s path for the human exploration of Mars begins in low-Earth orbit aboard the International Space Station. Astronauts on the orbiting laboratory are helping us prove many of the technologies and communications systems needed for human missions to deep space, including Mars. The space station also advances our understanding of how the body changes in space and how to protect astronaut health.

Our next step is deep space, where NASA will send a robotic mission to capture and redirect an asteroid to orbit the moon. Astronauts aboard the Orion spacecraft will explore the asteroid in the 2020s, returning to Earth with samples. This experience in human spaceflight beyond low-Earth orbit will help NASA test new systems and capabilities, such as Solar Electric Propulsion, which we’ll need to send cargo as part of human missions to Mars. Beginning in FY 2018, NASA’s powerful Space Launch System rocket will enable these “proving ground” missions to test new capabilities. Human missions to Mars will rely on Orion and an evolved version of SLS that will be the most powerful launch vehicle ever flown.

A fleet of robotic spacecraft and rovers already are on and around Mars, dramatically increasing our knowledge about the Red Planet and paving the way for future human explorers. The Mars Science Laboratory Curiosity rover measured radiation on the way to Mars and is sending back radiation data from the surface. This data will help us plan how to protect the astronauts who will explore Mars. Future missions like the Mars 2020 rover, seeking signs of past life, also will demonstrate new technologies that could help astronauts survive on Mars.

Engineers and scientists around the country are working hard to develop the technologies astronauts will use to one day live and work on Mars, and safely return home from the next giant leap for humanity. NASA also is a leader in a Global Exploration Roadmap, working with international partners and the U.S. commercial space industry on a coordinated expansion of human presence into the solar system, with human missions to the surface of Mars as the driving goal. Follow our progress at www.nasa.gov/exploration and www.nasa.gov/mars.

<¡Eso es todo, por ahora!>.

Download PDF

FARMAPATRIA SICM historia legal.

Download PDF

FARMAPATRIA SICM historia legal.

Prólogo:

Un cliente nos consultó vía telefónica acerca de la afiliación al sistema SICM y me vino a la mente los conceptos legales: a quién y qué aplica. Que bueno, nosotros que trabajamos y trabajamos todos los días, «de sol a sol» pues a veces se nos olvida el marco legal que compone nuestra Gran República Bolivariana y la Patria Grande. Y tal como explicamos en el post anterior, uno como programador tiene el deber de ceñirse a las leyes de manera estricta. La mejor manera que hallamos para ello es transcribirlo, letra a letra, sin miedo al trabajo. Además, será referencia para futuros proyectos, por ello verán «anclas» en lenguaje HTML para su rápida revisión desde otros enlaces web tanto externos como internos.

La presente es una transcripción de un ejemplar de la Gaceta Oficial (y vendrán más a futuro) y aunque hemos puesto el mayor empeño de copiarla al pie de la letra ustedes siempre deberán leer el documento fuente (o tal vez incluso necesiten de una gaceta certificada). Cualquier comentario o interpretación es a título personal y/o de trabajo, la práctica; usted debe consultar a su licenciado o abogado de confianza para obtener una orientación perfecta.

Introducción:

En el Decreto Presidencial N° 8.981 del 15 de mayo de 2012 y publicada en la Gaceta Oficial de la República Bolivariana de Venezuela N° 39.922 de ese mismo día (pueden obtenerla también de la página web del Tribunal Supremo de Justicia) salió publicada la creación de los Farmapatria y toda la red que lo conforma, así como del SICM; la transcribimos a continuación:



Decreto Presidencial N° 8.981

HUGO CHÁVEZ FRÍAS

Presidente de la República

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 del Estado venezolano, basado en principios humanistas, sustentado en condiciones morales y éticas que persiguen el progreso de la patria y del colectivo, por mandato del pueblo y en ejercicio de las atribuciones que le confieren los numerales 2 y 11 del Articulo 236 de la Constitución de la República Bolivariana de Venezuela, y los artículos 103 y 117, en su numeral 1 del Decreto con Rango, Valor y Fuerza de Ley Orgánica de la Administración Publica, en concordancia con lo dispuesto en los artículos 16, 105 y 118, eiusdem, en Consejo de Ministros.

ELÍAS JAUA MILANO

Vicepresidente Ejecutivo de la República

Por delegación del Presidente de la República Hugo Chávez Frías, según Decreto N° 8,328 de fecha 14 de julio de 2011, publicado en la Gaceta Oficial de la República Bolivariana de Venezuela N° 39.715 de fecha 18 de julio de 2011.

CONSIDERANDO

Que es compromiso del Estado venezolano poner al alcance de la población los medicamentos de calidad, a precios accesibles y prestar servicios de atención farmacéutica al publico en general,

CONSIDERANDO

Que el desarrollo de programas de medicina preventiva, a través de las instancias previstas en el ordenamiento jurídico exige la participación responsable del Estado, a través de una red publica de farmacias populares que mejore la disponibilidad de medicamentos a la población más necesitada y brindar servicios adicionales dirigidos a mejorar el bienestar de la comunidad,

CONSIDERANDO

Que resulta prioritario proceder a la creación de una empresa del Estado, que tenga a su cargo, la ejecución de actividades destinadas a la consecuencia de objetivos que contribuyan a sostenimiento del presupuesto familiar en el área de medicamentos y otros productos farmacéuticos, combatiendo la especulación propia de la economía capitalista, dentro de los principios bolivarianos y socialistas expuestos en el Plan de la Nación.

DECRETA

Artículo 1°

Se autoriza la creación de la empresa del Estado, bajo la forma de compasiva anónima que se denomina “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, C.A.), pudiendo utilizar a todos los efectos la denomina de FARMAPATRIA, la cual estar adscrita al Ministerio del Poder Popular para la Alimentación y tendrá como domicilio la ciudad de Caracas, pudiendo establecer  dependencias y oficinas en cualquier otra ciudad del país y en el exterior de fa República, previa autorización del Ministerio del Poder Popular para la Alimentación.

Artículo 2°

La empresa “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, C.A.) tendrá por objeto la venta de medicamentos y otros productos farmacéuticos y la prestación de servicios de prevención de enfermedades y otros servicios conexos de apoyo a los y las pacientes, a través de la red de farmacias populares en todo el territorio nacional. Para el cumplimiento del objeto social, se establecen como atribuciones y deberes generales de “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, C.A.), los siguientes:

  • La creación de la red de farmacias populares en todo el territorio nacional.
  • La ampliación de los servicios mediante la participación del sector publico y privado a través de alianzas estratégicas,
  • Favorecer la participación activa y protagónico de la clase trabajadora en la construcción del poder popular y la participación ciudadana, trabajando de manera articulada con los órganos y entes de la Administración Publica Nacional, las Comunas y otras formas de organización del Poder Popular.

Artículo 3°

La empresa del Estado “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, C.A.), cumplir su objeto social en estricto acatamiento y correspondencia con los lineamientos, políticas y planes que dicte el Ejecutivo Nacional, para el desarrollo productivo de ta República Bolivariana de Venezuela; así como, en cumplimiento de los lineamientos que dicte la Comisión Central de Planificación y su órgano de adscripción.

Artículo 4°

El capital social de la “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, C.A.), esta dividido en acciones nominativas, no convertibles al portador, y ser íntegramente suscrito y pagado por la República Bolivariana de Venezuela, por órgano del Ministerio del Poder Popular para la Alimentación, siendo su máxima autoridad quien ejercerá el control accionario de conformidad con la ley. El Acta Constitutiva Estatutaria desarrollará lo relativo al numero y valor de las acciones de la empresa del Estado “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, CA).

Artículo 5°

La Asamblea General de Accionistas ejercerá la suprema autoridad de la empresa del estado “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, C.A.), como órgano de dirección y decisión, tendrá las más amplias facultades para cumplir el objeto social de la Compañía Anónima, y su administración estará a cargo de una Junta Directiva, integrada por: Un (1) Presidente, designado por el Ministro del Poder Popular para la Alimentación que a su vez seré el Presidente de la Compañía Anónima, y cuatro (4) Directores Principales con sus respectivos suplentes, los Ministros del Poder Popular para la Alimentación, para el Comercio, para Ciencia, Tecnología e Innovación y para la Salud, respectivamente designarán y removerán a un Director Principal de la Junta Directiva, y su respectivo suplente. Asimismo, en el Acta Constitutiva Estatutaria de la Compañía Anónima, se determinarán las normas de organización y funcionamiento de la misma, de la Asamblea General de Accionistas, de la Junta Directiva, del Presidente de la Compañía así como, sus atribuciones.

Artículo 6°.

La red de farmacias populares integrada en “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, CA) estar conformada por los siguientes componentes:

  1. FARMAPATRIA TIPO I BOTICAS POPULARES: establecimientos ubicados en los puntos de venta de la red de abastecimiento de alimentos de la Misión Alimentación. Consisten en espacios con un mínimo de diez (10) metros cuadrados, de zona de libre acceso y tránsito, para el expendio de medicinas que no requieren récipes o sin prescripción médica.
  2. FARMAPATRIA TIPO II: establecimiento ubicado en zona de libre acceso y tránsito, con un mínimo de setenta (70) metros cuadrados, para el expendio de medicamentos con o sin prescripción médica y otros productos farmacéuticos (misceláneos), regentado por un o una farmaceuta.
  3. FARMAPATRIA TIPO III: establecimiento ubicado en zona de libre acceso y tránsito, con un espacio mayor de cien (100) metros cuadrados, destinado al expendio de Medicamentos con o sin prescripción médica y otros productos farmacéuticos (misceláneos), a cargo de un farmaceuta especializado o una farmaceuta especializada.
  4. CENTRO DE DISTRIBUCIÓN: infraestructura destinada a almacenar productos y embarcar órdenes de salida para su distribución a la red de farmacias populares.
  5. SEDE CENTRAL: Infraestructura destinada al Procesamiento de órdenes de compra para los laboratorios, droguerías y proveedores, mediante un sistema automatizado de control de inventarios, alimentado con dos requerimientos de medicamentos y otros productos farmacéuticos (misceláneos) de los componentes de la red de farmacias populares.

Artículo 7°

La empresa “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, C.A.), contará con un Consejo Asesor, que será designado mediante resolución conjunta de los Ministros del Poder Popular para la Alimentación, para el Comercio, para Ciencia, Tecnología e Innovación y para la Salud.

Artículo 8°

El Ministerio del Poder Popular para la Alimentación redactará el texto definitivo del Acta Constitutiva y Estatutos Sociales de la Empresa y cumplirá con los requisitos legales para su constitución, protocolización, registro, previa revisión del respectivo proyecto por parte de la Procuraduría General de la República y velará porque se haga efectiva su publicación en la Gaceta Oficial de la República Bolivariana de Venezuela, en cumplimiento de lo previsto en el artículo 104 del Decreto con Rango, Valor y Fuerza de Ley Orgánica de la Administración Publica.

Artículo 9°

Los Ministros del Poder Popular para la Alimentación, para el Comercio, para Ciencia, Tecnología e Innovación y para la Salud crearán, mediante la respectiva resolución conjunta, el Sistema Integral de Control de Medicamentos (SICM), destinado a llevar el control y seguimiento de la materia prima para la fabricación de medicamentos en los laboratorios, así como el control de los productos terminados importados, despacho de medicinas en droguerías, inventarios, distribución y venta en farmacias en todo el territorio nacional, y alertar a las autoridades competentes de posibles desabastecimientos de medicamentos, a los fines de la adopción de las medidas oportunas. El Sistema Integral de Control de Medicamentos (SICM) será operado por “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, CA).

Artículo 10°

Los Ministros del Poder Popular para la Alimentación, para el Comercio, para Ciencia, Tecnología e Innovación y para la Salud, quedan encargados de la ejecución del presente Decreto.

Artículo 11°

Los Ministros del Poder Popular para la Alimentación, para el Comercio, para Ciencia, Tecnología e Innovación y para la Salud, establecerán, mediante la correspondiente resolución conjunta y en sus respectivos ámbitos de competencias en el marco del ordenamiento jurídico aplicable, las directrices para el funcionamiento y operatividad de las actividades de “FARMAPATRIA, COMPAÑÍA ANÓNIMA” (FARMAPATRIA, C.A.).

Artículo 12°

EL presente decreto entrará en vigencia a partir de su publicación en la Gaceta Oficial de la República Bolivariana de Venezuela.


Notas y observaciones

Son apenas doce artículos y la médula está en los artículos seis y nueve.

Resumen del artículo seis

Habla de la creación de tres tipos de farmacia, en la ley de farmacia hablan de boticas («regentadas» por un Auxiliar de Farmacia registrado, no pueden vender psicotrópicos) que corresponden al «Tipo I» y los «Tipo II» y «Tipo III» que deben ser regentados por un profesional universitario, un Farmacéutico (o «doctor» como son conocidos por el pueblo). Es necesario este decreto para el asunto del área de los locales, que es distinto al establecido en la ley de farmacia. También nombran cómo serán surtidos los «Farmapatria».

Resumen del artículo nueve

El que consideramos más importante, es la creación del SICM, la partida de nacimiento de dicho sistema informático donde los siguientes ministerios, siguiendo el orden de nombramiento sin que signifique jerarquía:

  • Para la Alimentación.
  • Para el Comercio.
  • Para Ciencia, Tecnología e Innovación
  • Para la Salud.

De manera inédita son cuatro ministerios involucrados, y habla de una (y sucesivas) resolución conjunta la creación definitiva del SICM. Será entonces, en una próxima oportunidad, que traeremos la Gaceta Oficial con información relevante al respecto.

<Eso es todo, por ahora>.

Download PDF