Archivos Mensuales: septiembre 2009

[PHP5] – Barco Project: Un proyecto sobre barcodes y QRCode

En el día de hoy (30. sep. 2009) nace Barco Project como una iniciativa de integrar bajo una misma API todo el proceso de generar y analizar (escanear) variados tipos de Codigos de Barra y Códigos 2D; esto integra la posibilidad de con una misma API, generar:

  • Code39 (Code 3 to 9)
  • EAN 128
  • UPC
  • UPCS (US Postal Code)
  • Codabar
  • UPCa
  • Code128
  • QRCode
  • ISBN

Además incluirá la posibilidad de “analizar” un PNG generado para “reconocer” el contenido de algunos códigos de barra arriba mencionados.

El proyecto se encuentra en fase de “alpha release” y actualmente solo ha sido “portado” el código para generar QRCode.

Qué es QRCode?:

Según la Wikipedia un QRCode es: “Un QRCode (Quick Response Barcode) es un sistema para almacenar información en una matriz de puntos o un código de barras bidimensional creado por la compañía japonesa Denso-Wave en 1994; se caracterizan por los tres cuadrados que se encuentran en las esquinas y que permiten detectar la posición del código al lector. La sigla “QR” se derivó de la frase inglesa “Quick Response” pues el creador aspiraba a que el código permitiera que su contenido se leyera a alta velocidad. Los códigos QR son muy comunes en Japón y de hecho son el código bidimensional más popular en ese país.” (fuente: wikipedia).

Acá un ejemplo de código QR:

Y qué tiene de intersante QR?

QRcode es de muchisima popularidad en japón, esto es debido a que mientras el resto de los códigos de barra requieren la detección de “espacios y llenos” utilizando un láser; QRCode usa un patrón de cuadrados (dot-matrix) que representan los datos (en 2 dimensiones, ancho y alto) y los “cuadrados marca” sirven para que cualquier lectór óptico reconozca donde empieza y termina “el código” (entiendase por cualquier lector a cámaras digitales y otros dispositivos ópticos).

Además QR es un proyecto de “código abierto”; desarrollado por Densa-wave (una filial de Toyota) para el inventario de repuestos de vehículos; sin embargo, tras la liberación de patentes (royalty-free) hecha en 1999 y su correspondiente estandarización como norma ISO-IEC (ISO/IEC18004) en 2000 ha permitido a mucha gente desarrollar aplicaciones para QR.

Y como ha ganado tanta popularidad?

QR viene en patrones fijos de 1 a 40 cuadros, pudiendo albergar hasta 7000 carácteres, como es posible guardar tal cantidad de información y como es posible “escanearlo” con cualquier cámara óptica (además es completamente libre hacerlo), pues 2+2!, a mucha gente en Japón se les ocurrió “incorporar” lectores de QR en sus respectivos celulares, esto fue ganando popularidad hasta el punto que en japón la gente coloca su QR informativo en el reverso de las tarjetas de presentación y hasta la información de ubicación en las revistas viene en códigos QR (ahorras espacio de publicación).

Nokia tiene su aplicación “oficial” para QRCode y Datamatrix para todos sus dispositivos serie N (aunque funciona en mi Nokia 5800 XpressMusic) acá:

http://mobilecodes.nokia.com/

Acá hay alguien que habla de una aplicación para Blackberry para analizar QRcodes:

http://www.enriquedominguez.com/leyendo-qr-codes-desde-la-blackberry/

iMatrix es la aplicación “oficial” del Iphone para leer QRCodes:

http://www.qrcode.es/?p=244&language=es

Por lo que un QRCode generado ya casi cualquier persona (que tenga cámara digital en el celular + el software) lo puede leer.

Montandose en el barco de Barco Project

Barco Project surge como una iniciativa personal de integrar dentro de una única librería todo lo necesario para generar diversos tipos de barcodes; realmente todo surge como la posibilidad de cumplir con la ordenanza de la Providencia 939 del SENIAT (Organismo tributario Venezolano) que indica que para las facturas electrónicas impresas en formas libres; se sugiere agregar el código de barra para identificar la factura y algún medio electrónico de identificación automatizado del cliente (nombre, RIF: Registro de Información Fiscal).

Para ambas cosas, que mejor que combinar Code39 (factura), UPC (Inventario) y QRCode (identificación)?.

En mi investigación, determiné que el único script “viable” para QRCode en PHP que existía estaba en Japones y solamente funcionaba en CGI (es una pagina web que te pide todos los parámetros como URL encode data); esto dista mucho de la practicidad de contar con un objeto parametrizable que permita a distintas aplicaciones generar códigos QR.

Barco::QR

Con Barco::QR un programador de aplicaciones puede generar códigos QR con la simplicidad de un código PHP; veamos un ejemplo:

Primero, inicializamos la librería barco:

require 'barco/barco.inc.php';
#Inicializamos Barco:
barco::init();

Esta línea, me permite solicitar un generador de códigos QR (Quick Response):

$qr = barco::generate('qr');

La gran mayoría de los parámetros vienen por defecto, el único valor obligatorio es los datos que debemos agregar:

#defino la data y el modo de correccion ECC;
$qr->data('Esta es una prueba de Encoding usando QRcode')->ecc('M')->size('10');

ECC es el módo de corrección de errores, QR cuenta con 4 modos (‘M’, Q, L y H) (esto es opcional: por defecto siempre es M).

El Tamaño (size) define las dimensiones máximas del QR, desde 1 (max: 35 caracteres) hasta 40 (max: 7000).

Nota: intentar crear un QR más pequeño que la cantidad de datos genera error, aunque espero “mejorar” ese comportamiento al tratar de determinar el tamaño óptimo para la longitud de los datos requeridos.

Ahora, simplemente generamos el código QR:

if($qr->generate()) {
 $qr->image('png');
}

QR puede emitir el código como un RAW de bytes de imagen (útil para almacenar en una DB) o en forma de una imágen para salida por navegador, también pueden almacenarlo con un nombre a un archivo, escogiendo claro está, si lo desean jpeg o png.

El código generado por este ejemplo es:

Esta es una prueba de Encoding usando QRcode

Esta es una prueba de Encoding usando QRcode (10x10)

Como indiqué el proyecto se encuentra en fase “pre-alpha” y ya genera códigos QR (a diferentes dimensiones), próximamente incorporaré Code39, UPC y DataMatrix como principales algorítmos de códigos de barra.

Tambien incorporaré un lector-analizador (usando imagemagick) de códigos de barra para que puedan “probar” los códigos generados en ausencia de un scanner.

Los Códigos QR generados por el proyecto han sido probados con mobilecodes de Nokia y con QuickMark para HTC (espero más gente los pruebe).

Esperen más noticias de este proyecto!.

Nota: próximamente incorporaré un servicio gratuito de generación de QRCodes para personas que solo deseen tener un QR y no tengan tiempo (o no sepan) programar; esperalo!.

“Pa que cojan tarea” los de Internet Explorer (o que tan malo es IE)

The Web Standards Project_1253692000779

Los estándares de la Web (y más web 2.0)

En la página de Web Standards encontrarán todo lo que quieran saber sobre lo que se considera “estandarizado” en la web; por parte de:

  • Navegación
  • Formatos soportados
  • Accesibilidad y soporte a páginas para usuarios con discapacidades
  • Reporte de Errores, fallas, vulnerabilidades
  • Soporte a multimedios y medios “estándares”
  • Lenguajes embebidos estándares

Y una serie adicional de cosas.-

Algo muy ACIDO de soportar …

ACID3 es una serie de pruebas que “general y frecuentemente” se le aplican a todos los navegadores web (incluyendo móviles, etc) para determinar su “nivel de soporte, estandarízación y compatibilidad” con estándares como:

  • Modelo DOM
  • HTML 4, XHTML 1.1 y HTML 5
  • ECMASCRIPT
  • Soporte a Embebidos (Flash, video, media, etc)
  • Soporte a todo tipo de selectores DOM via javascript
  • Gestión de mensajes HTTP
  • Renderizado del CSS
  • Otros formatos (SVG, RSS, Atom, etc)

La escala es del 1 al 100; un navegador 100/100 fue diseñado cumpliendo de antemano todos los estándares, algunos se desvían más que otros; pero, Y ¿Donde quedará Microsoft Internet Explorer en todo esto?

Home - Browserscope_1253691848402

Pues más aplazados y hasta sin derecho a reparación con un lindo 20% del score total. ¿seguirás usandolo?

Algunos dirán … ¿es que mi MS Internet Explorer versión XZ no pasa los tests e igualito yo navego?, ¿como es eso? …

Primeramente entendamos el proceso de ACID; verán como a Safari, Opera, Google Chrome y Firefox (los más compatibles entre sí y con los web standards de la w3c) poseen más “tests aplicados” que Internet Explorer; claro!, en su versión 3.5 Firefox “pregona” soportar 2097 “características probables” (entre ellas, SVG, CCS 3, HTML 5, XFORMS, Offline Storage, etc) y por ende se le aplican “más tests” y aún así logra pasar el 93% de lo que dice (hay un 7% de cosas que dice hacer, pero no las hace, o tal vez las haga via “extensiones”); En el caso de MS Explorer, está “tan atrás” (“como las bolas del gato” diría mi hermano) que solamente soporta un pequeño “subset” de características compatibles, pero aun de ese “pequeño set de cosas”; solamente funciona “como debería” el 20% de ellas; lo cual lo deja en los actuales momentos como “el peor navegador en la historia” para “disfrutar” de la navegación web …

Pero insisto … mi página se ve bien!, ¿no?

Claro, en ese caso ocurren dos cosas comunes; uno de los tests ACID comprende el “renderizado”; esto es, el proceso de interpretar el HTML + CSS + Javascript para poder “hacer funcionar la página web”; entre las cosas que IE no soporta están el paralelismo en la carga (FF soporta hasta 6 scripts compilados en paralelo y hasta 32 procesos de ejecución para renderizar una página) lo cual hará que tu página “se vea en IE” pero 6 veces más lento que el Firefox u Opera o Google Chrome.

La segunda cosa que ocurre es que la gente tiende a realizar “hacks” en su código CSS, HTML y Javascript para poder “funcionar dentro de Internet Explorer” (ya que aun mucha gente inconciente lo usa), lo cual ralentiza el proceso de diseño e implementación de la página web, con lo cual tu página cargará, pero a un costo de programación y un “overheat” de recursos mayor …

pero los tiempos cambian …

Y alguien dijo “No más!” …

Google Wave es una iniciativa de alta prioridad de la gente de Google para desarrollar una “aplicacion 2.0 + un protocolo de comunicación”; que gracias a las facilidades de HTML5, Xforms, offline Storage y una serie de nuevas tecnologías soportadas “unicamente por los navegadores de gente grande” (Opera, Safari, Google Chrome y Firefox) le permitirán al usuario tener toda una real experiencia integrando servicios, comunicaciones, redes sociales y además alrededor de una única e integrada interfaz.

Hace ya 5 años el diseñador de Google Maps, Lars Rassmusen (y actual líder de Google Wave) había logrado implementar Google Maps en Internet Explorer con algunos “simples hacks”; ahora la cosa no está fácil, Google Wave es “tan complejo”, que luego de miles de horas/hombre perdidas programando “hacks para Internet Explorer”; a la gente de Google les quedó más fácil plantarle la cara de frente a Microsoft y decir “no más!” (solo un grande como Google puede hacerle frente a los de Microsoft), no diseñaremos más aplicaciones para su “obsoleto y carente de sentido” Navegador; ahora, cada vez que un usuario de Internet Explorer accede a un proyecto nuevo de Google (como Wave), verán la siguiente pantalla:

Que los “invita” a instalar otros navegadores “más compatibles” o en su defecto, instalar “Google Frame” que es una “extensión” para MS Internet Explorer que simplemente “transformará” el navegador en un Google Chrome; ¿simpáticos los de Google no? …

Si aún quieres (y a pesar de los bajos score de ACID3, el pobre o casi pésimo performance en páginas web como Facebook, Tumblr, Google Maps, Google Apps, Gmail, la nula extensibilidad y en general lo horrible que es navegar ahí) seguir usando Internet Explorer, pues como dice Google “Adelante, pero vete lejos, aquí ya no verás nada” …

PHP5 – TDOM: Creando archivos XML usando DOM y PHP

En este post presento TDOM (Tomato:Document Object Model), una librería que permite simplificar el proceso de leer, analizar, modificar o crear archivos XML-based de distintos tipos usando una API simplificada y utilitaria.

Aunque esta librería tiene ya bastante tiempo conmigo (a menos más de un año desde que la hice); un “re-factoring” para hacerla más compatible con PHP > 5.3 y la posibilidad de tener una interfaz basada en “plugins” que permiten extender sus capacidades agregando nuevos tipos de documentos XML y además de crearle un proyecto libre en Google Code; es lo que me hace escribir el articulo.

El proyecto nace bajo licencia GPL v.3 y está en fase alpha, versión 0.1.2; permite crear documentos y archivos en:

  • XML
  • DocBook
  • SVG
  • (x)HTML estricto
  • Interfaces XUL remote

Espera incorporar próximamente (ya estoy programando en ello):

  • XMPP (Paquetes del protocolo XMPP que usan Jabber/Gtalk)
  • RSS (Sindicación de manera fácil)
  • RDF (Resource Description es base de muchos tipos de archivos, como FOAF: relaciones amigo-amigo descritas semánticamente usando RDF)
  • ATOM
  • ODF

TDOM forma parte de la capa de creación y vistas de Tomates Framework, que se encuentra en un proceso final de adaptación y re-invención; lo importante de TDOM es que permite crear interfaces XUL, combinado con Jquery+REST sería el primer framework completamente operativo sobre PHP (el otro es Cyclone en perl) que permitiría crear aplicaciones XUL:Remote (que correrían como una aplicación desktop usando XULRunner) en implementar completamente Interfaces XUL de Mozilla.

Creando una Interface XUL

Está claro que el código dentro de poco será más simplificado cuando todos los widgets UI (toolbars, menu, tabbers, botones) estén incorporados en la clase; pero este es un ejemplo escribiendo solo PHP:

$xml = $dom->type('xul');
#un tabbox
$tabbox = $xml->create('tabbox');
$tabbox->orient('vertical')->flex('1');
$tabs = $tabbox->create('tabs');
$tabpanel = $tabbox->create('tabpanels');
$tabpanel->flex('1');
#adjunto las pestañas:
$tabs->create('tab')->label('Google');
$tabs->create('tab')->label('PHP.net');
$tabs->create('tab')->label('DEVEL');
#y el contenido de las pestañas
$tabpanel->create('browser')->src('http://www.google.co.ve/');
$tabpanel->create('browser')->src('http://www.php.net/');
$tabpanel->create('browser')->src('http://www.devel.com.ve/');
$xml->title('Prueba de XUL');
$dom->render(); 

Output:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="chrome://global/skin/"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="xulWindow" persist="screenX screenY width height sizemode" xmlns:html="http://www.w3.org/1999/xhtml" title="Prueba de XUL">
  <tabbox orient="vertical" flex="1">
    <tabs>
      <tab label="Google"/>
      <tab label="PHP.net"/>
      <tab label="DEVEL"/>
    </tabs>
    <tabpanels flex="1">
      <browser src="http://www.google.co.ve/"/>
      <browser src="http://www.php.net/"/>
      <browser src="http://www.devel.com.ve/"/>
    </tabpanels>
  </tabbox>
</window>

Proximamente subiré una demo de como se ve esta interfaz XUL.

Creando un archivo (x)HTML estricto

Un ejemplo de como el código puede ser simplificado, es tener todo un cuerpo XHMTL 1.0 estricto teniendo solo 3 líneas de código; esto gracias a que todas las etiquetas son necesarias para la descripción de un archivo según la norma de la W3c; estas 3 líneas:

$html = $dom->type('html'); 
$html->setTitle('.: Titulo de la Pagina Web :.');
$dom->render();

Generan todo este bloque de código que es sintácticamente válido con XHTML 1.0 estricto; lo interesante es que podemos cargarle contenido al BODY con TDOM y este será normalizado para ser XHTML 1.0 estricto; básta de aplicaciones inválidas.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://localhost/proyectos/tomates/tomates/include/tdom/tomates/tdom/include/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>.: Titulo de la Pagina Web :.</title>
    <base href="http://localhost/proyectos/tomates/" />
<!--Aqui comienzan las etiquetas meta-->
    <meta name="author" content="" />
    <meta name="generator" content="Tomates Framework" />
    <meta name="description" content="" />
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta name="robots" content="all" />
    <meta http-equiv="Content-Language" content="en_US" />
    <meta name="keywords" content="" />
    <meta name="Revised" content=": Sep 18 2009" />
<!--Aqui terminan las etiquetas meta-->
    <link rel="shortcut icon" href="http://localhost/proyectos/tomates/application/assets/images/favicon.ico" type="image/x-icon" />
    <link rel="start" href="http://localhost/proyectos/tomates/" />
    <link rel="index" href="http://localhost/proyectos/tomates/" />
  </head>
  <body></body>
</html>

Creating an (x)HTML strict

Code:

                $html = $dom->type('html');
                $html->createHead();
                $html->setTitle('.: Titulo de la Pagina Web :.');
                $dom->render();

Output:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://localhost/proyectos/tomates/tomates/include/tdom/tomates/tdom/include/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>.: Titulo de la Pagina Web :.</title>
    <base href="http://localhost/proyectos/tomates/" />
<!--Aqui comienzan las etiquetas meta-->
    <meta name="author" content="" />
    <meta name="generator" content="Tomates Framework" />
    <meta name="description" content="" />
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta name="robots" content="all" />
    <meta http-equiv="Content-Language" content="en_US" />
    <meta name="keywords" content="" />
    <meta name="Revised" content=": Sep 18 2009" />
<!--Aqui terminan las etiquetas meta-->
    <link rel="shortcut icon" href="http://localhost/proyectos/tomates/application/assets/images/favicon.ico" type="image/x-icon" />
    <link rel="start" href="http://localhost/proyectos/tomates/" />
    <link rel="index" href="http://localhost/proyectos/tomates/" />
  </head>
  <body></body>
</html>

¿Quién es perseguido político en Venezuela?

Mucha gente me acusa de “ni-ni” porque apoyo mucho al gobierno (obvio, a veces se le “escapan” algunas cosas verdaderamente socialistas, aunque a veces sean por accidente) pero que me considero un acérrimo crítico del mismo; algunos me dicen que “no estoy ubicado” y considero al contrario que si me encuentro bastante bien ubicado porque conozco como es lado y lado y más bien la gente debería estar “de este lado” que andar de “Chavistas sin sentido crítico aplaudiendo cualquier cosa” o de opositores oposicionistas que apoyan “cualquier cosa” que esté contraria al gobierno (así sea el paramilitarismo o la derecha Colombiana); pero en fin, muchos son felices siendo desubicados en la vida.

Una de las cosas que más me llamó la atención de la pasada marcha (y que no pensé que nadie se habia dado cuenta hasta que ví un video en VTV de una conversación entre el escritor Manuel Caballero y Teodoro Petkoff) era la presencia de decenas de pancartas (representaban más del 75% de las pancartas) con el rostro de Eligio Cedeño como “perseguido político”; mi expresión fue la misma que de Manuel Caballero, ¡¿Como C*ñ*$#%$# de la #”$#”$ ta ese tipo ahi?!.

Recordar es vivir …

Eligio Cedeño es uno de los banqueros que nacieron con el Gobierno, con un Ministerio de Finanzas a cargo de Tobías Nóbrega (que era su amiguito y compinche) el hombre llegó a controlar acciones y emisiones de BanPro (del cual llegó a ser Presidente Ejecutivo), BNC, Bolivar Banco (todos bancos ahora controlados por Diosdado según los rumores) y participó en la desviación de millones de bolívares en recursos de esos bancos; además, desfalcó millones de dólares de CADIVI por concepto de hacer “compras falsas” con sus empresas fantasmas, entre ellas Microstar (una empresa de computación que le proveía equipos a las gobernaciones) tanto él como Tobías Nóbrega fueron declarados culpables de delito de corrupción, manejos dolosos y desfalco; mientras Eligio Cedeño está preso de manera “complaciente” protegido por funcionarios del gobierno dentro de la DISIP (en vez de estar en La Planta o el Rodeo como cualquier otro ciudadano); Tobías Nóbrega se encuentra ricamente viviendo en Funchal, República de Portugal.

Como responsables de la emisión de las pancartas, ¿Cuánto le pagó a El Nacional Eligio Cedeño para que ahora sea tratado de “Perseguido Político?; ahora que la gente lo ha “victimizado” y lo trata de perseguido y preso político; ¿Cómo un gobierno futuro podrá enjuiciarlo?, ¿Con cual moral? …

Hay que medir bien a quien victimizamos …

Jaimito y las víctimas 2.0

Siempre que veo este tipo de casos recuerdo aquel chiste de Jaimito; donde el papá le reclama “Jaimito!, no te orines la piscina!” a lo cual Jaimito replica “pero papá!, si todos los niños lo hacen!”, y el papá contesta “si carajo, pero no desde el trampolín”. El caso que nos aqueja es de los “terroristas 2.0”; jóvenes que creen que la protesta puede ser “graciosa” y publicable via “twitdeck” y que todos en el gobierno son gorilas que no conocen de tecnología; hacer grafittis en una pared es un símbolo de protesta, pero hacerlo en la pared de la comandancia de policía y para colmo publicarte como autor intelectual en twipic (twitter) y postearlo en tu blog como “una gran hazaña” es una soberana estupidez; síntoma de que ni siquiera tenemos conciencia de lo que estamos haciendo, ¿y a esos “estudiantes” son los que queremos hacer víctimas de persecusión política?.-

De Criminales ta lleno el mundo … y nosotros acostumbrados …

El show mediático detrás del caso de Nixon Moreno no tiene precedentes (salvo con las animaladas de Rosales); no solamente recibió asilo estando acusado de un crimen penal y no político (intento de violación de una joven policía); sea verdad o no la acusación, es una acusación penal (no se lo está acusando de rebelión, o de instigar a la violencia en las calles o de protestar o de terrorismo político), era un tira-piedras que llevaba más años que Cristo en la cruz dentro de la Universidad, de esos que todos conocemos cuando estamos en una. Nixon decidió en un momento de “violencia de calle” agredir a una oficial de policía; y siendo esto cierto o no, es una acusación penal que está lejos de ser un crímen por “hechos políticos”, fue tan “victimizado” por los medios que no solamente el Nuncio Apostólico le dió asilo (que por ley está imposibilitado de hacerlo, más a criminales comunes) sino que además y por encima de cualquier lógica la dirigencia académica de la ULA decidió graduarlo con honores y para colmo trasladaron el consejo académico hasta el Nuncio para “graduar” al pobre; privilegio que no se habia hecho por nadie en años.

Solo porque es enemigo del Ministro Tarek El Aissami; victimizamos a los enemigos y no a los que verdaderamente son víctimas; al menos el grafitero (y muchos otros) se quedaron a cumplir sentencia en Venezuela, este utilizó los poderes “ocultos” de la Iglesia para esconderse y fugarse del país y las dirigencias de la ULA lo graduaron sin siquiera asistir a clases …

¿A quienes estamos victimizando? …

Y no están excentos …

El Diputado de “la camarita de espionaje en el decodificador DirectTV”, el que dijo que “vio el cadaver de Vladimiro Montesinos con esos ojos que se iban a comer la tierra” (y ahora ta vivito y coleando preso en Perú), el que tras su nombramiento como plenipotenciario para la república de Colombia se gastó una fiesta donde asistieron “Chino y Nacho”; si, el mismito que solo usa trajes y Corbatas Louis Vuitton (o como se escriba esa marca); ese que lo “desaparecieron” de la palestra política luego de tantas burradas y luego de tantas cosas “ilícitas” dentro de CADIVI y del Ministerio de Interior y Justicia; los “perseguidos políticos” generados por el gobierno tienen una ventaja adicional, son “escondidos” en Embajadas para que la gente se olvide de ellos …

Por cierto … ¿Donde andará Manuitt? …

Quisiera (aunque sé que no ocurrirá pues hay muchos “intereses económicos y políticos” de por medio) que se tomara conciencia de a quienes estamos victimizando, que tomaramos conciencia de nuestra propia historia, que en plena marcha, no llegue alguien a entregarme una pancarta y uno sin saber y como gran bolsa gritando consignas y en la pancarta la foto de un criminal común que algún interés económico quiere victimizar y uno como gran pendejo ayudando a eso …

Como reza el acervo popular, “Cachicamo trabaja pa’ Lapa!” …

Al revés con el derecho: los derechos humanos en Venezuela (II)

Tengo que asegurar que este artículo y el anterior nacieron de mi creciente asombro por parte de las más claras manifestaciones de violaciones a TODOS los tipos derechos humanos que están planteados en Venezuela a través de la constitución y las leyes internacionales; si bien es cierto que lo traía desde hace algún tiempo planteado, el detonante no pudo ser otro que una protesta en el sector salud.

Seguridad versus Vida

En el Hospital los Magallanes de Catia los médicos decidieron poner como medida para protestar por la inseguridad y el robo de equipos de los hospitales algo muy simpático (que me imagino como medida afectará mucho al gobierno y a sus personeros que los hará entrar en perspectiva); decidieron simplemente detener cirugía, hospitalización y consultas hasta que les resuelvan “los problemas de robos de vehículos, insumos, equipos e inseguridad en general del hospital”. Es obvio y entendible que la gente puede estar molesta con la impunidad con la que el hampa ha tomado la sede del hospital, pero en vez de organizarse (mejorar la identificación del personal, tomar medidas para evitar personas desconocidas deambulando por pasillos, solicitar via protesta enérgica la presencia policial, etc) deciden de plano coartarle el derecho fundamental a la vida y a la salud a miles de Caraqueños … ¿es más preciado un vehículo robado que la vida de un venezolano? …

Lo peor del caso es que hay gente que defiende la medida, porque dicen que “tú no sabes lo que és trabajar con una pistola en la sien”; entonces replico “y tu no contarás porque no te lo dirán las cientos de personas que morirán porque tú no abriste cirugía”; porque caemos en el punto álgido del asunto; aceptaste trabajar para un hospital público, se te agradece la mística, si no puedes, renuncia (capaz y la renuncia en pleno de todos los galenos si haga reflexionar al gobierno), ¿quien decidió que tu derecho a la seguridad sopesaba el derecho a la salud de cientos de personas? …

Si cada funcionario corrupto, cada ministro incompetente, cada funcionario incapaz; midiera en una gran escala la cantidad de vidas que se ven afectadas e incluso cortadas de plano por su falta de conciencia, mística, falta de seriedad o de diligencia en su trabajo y se les hiciera pagar como homicidios por cada muerte … verás como el sistema de salud si se movería distinto de como se mueve ahora …

Información versus Opinión

Innumerables son los ejemplos al ver Globovisión y VTV de la poca capacidad de diferenciar en el “hecho noticioso” la “información” de “opinión de mi línea editorial”, un ejemplo clásico es que el Globovisión “informaron” de “éxito rotundo marcha del ‘NO MAS CHAVEZ’ convocada por Facebook” (primero: debería ser “convocada a través de” Facebook, Facebook no tiene nada que ver con ese peo), cuando sinceramente fueron 4 pelagatos gritones (los mismos radicales de siempre): pero VTV va más allá; en vez de informar lo “escuálida” de la marcha; afirman (como noticia, no en un espacio de opinión) que “La marcha fue convocada por sectores golpistas y apoyada por Facebook porque a Facebook lo controla la CIA”; creo que ese tipo de “comentarios” caben más en un programa de opinión que en un programa de noticias.

El país de los perseguidos políticos

Yo pensé que habia sido el único que me habia dado cuenta; pero viendo una noticia de (no sé si será legal andar “puyandole” los teléfonos a los de la oposición, pero bueno) Teodoro Petkoff donde vemos que en la marcha de la oposición; más de la mitad de los afiches de “no a los presos y perseguidos políticos” correspondian al rostro de Eligio Cedeño, el hombre detrás de la corrupción de Bolivar Banco, Microstar, el desfalco al BCV junto con el Ministro Tobías Nóbrega y parte importante de la corrupción de este “régimen”; ¿Como rayos la gente osa cargar un afiche defendiendo el status de “refugiado político” a esa pila de malhechores?, lo peor del caso es que la reflexión que se hace en el video es bastante clara; el gobierno que venga se las verá difíciles al tener que “solicitar” refugiados políticos (que la misma oposición apoyó) y que su estado claramente es de criminal común … ¿cómo pueden gozar del derecho de “refugiado político” malhechores como Eligio Cedeño, Manuel Rosales o Nixon Moreno?; el día de mañana nos costará hacer una “lucha contra los criminales” porque todo el que asesine, robe o estafe se podrá ir del país y alegar “soy un refugiado perseguido del régimen” …

Al revés con el derecho: los derechos humanos en Venezuela (I)

Cada día veo con más preocupación como la gente “asume” de buenas a primeras una postura que nos está llevando a la ruina como país; mis derechos son prioritarios sobre tus derechos; no importa quien, no importa cuando, no importa donde, la gente se está acostumbrando (y muy mal acostumbrando) a esa posibilidad de “omnipotencia” donde mis derechos siempre serán superiores; El Chavista que cree que por ser “apoyado por el presidente” puede caerle a batazos a alguien, el Opositor que cree que su derecho a la protesta es “el de los 26 millones de venezolanos” y que si él decidió cerrar la autopista, todos debemos calarnos el cierre; el médico que opina que su derecho a la seguridad (que con la violencia generalizada del hampa raya en el derecho a la vida) está por encima de los derechos de los pacientes que trata; el estado que puede jugar a la política del “bienestar de Roma, alebreste de las provincias” al distribuir toda la ineficiente carga eléctrica a las ciudades más pobladas (y en general más a Caracas) aunque pueblos pasen días sin luz, que los periodistas hayan olvidado la diferencia entre “informar” y “agregar carga de opinión” al espacio noticioso, el opositor o el chavista que creen que pueden hacer lo que “les dé la gana” en una protesta (“graffitear” paredes, violar o golpear policías, transeuntes, personas, tirar bombas a quien se le de la gana, “aplicar violencia” a marchas no violentas, etc) ya que los medios se encargarán de “politizar” su crímen y acá nadie pagará realmente sus fechorías y en general todo aquel conglomerado de defectos que vamos acumulando y que nos hace ser realmente “malos” en el entendimiento de los derechos humanos …

Y tanto que los defendemos … ¿no?

Tu protesta me quita mi derecho a la salud?

Una protesta como esta: http://www.el-nacional.com/www/site/p_contenido.php?q=nodo/99208/Nacional/Para-exigir-seguridad,-m%C3%A9dicos-de-Los-Magallanes-s%C3%B3lo-atienden-emergencias no debería permitirse (aunque tengan derecho a la seguridad); porque restringe derechos cívicos como acceso a a salud en hospitales públicos; ¿Qué hacer?

La Globalización de la mano de la transculturización

Iba subiendo a un vagón de metro hace algún tiempo cuando me consigo con una publicidad de Salchichas “Oscar Mayer” (o era Plumrose?, no recuerdo) orientada a los niños y a su “mundo de diversión”; ese mundo de diversión consistía en flechas, sombreros de vaquero, placas de “sheriff”, penachos de indios, pistolas, ¿cuándo rayos en la historia venezolana hubo cowboys y diligencias?, al menos superman y spiderman no existieron y son personajes ficticios, pero los jóvenes saben más del “viejo y salvaje oeste americano” que de las actividades de nuestro propio llano.

y ¿Qué es Trans-culturización?

Reconociendo entonces como “trans-culturización” como la pérdida de nuestra propia identidad por culpa de las fusiones culturales y el poco entendimiento o enseñanza de nuestras propias costumbres arrasadas por costumbres foráneas más “de moda”.

Todos quieren a Pocahontas, salvo mi sobrina

El otro día mi sobrina se peleó con su profesora porque dibujó un indígena desnudito con taparrabos mientras el resto de sus “amiguitos” dibujaron niños indígenas con penachos de plumas y hasta uno lo dibujó vestido de caqui con un uniforme a lo “pocahontas”; ella muy inteligente le respondió:  “yo en Venezuela no he visto indios de esos; solo en las películas de Disney”, a lo cual la profesora (y su real desconocimiento de los indígenas venezolanos) se tuvo que quedar callada.

El Salto del Angel …

Siempre he tenido una disyuntiva por culpa de la falta de información y conocimiento; el sonido <<vau>> que corresponde a la Y fenicia, desconozco (aunque algunos estudiosos lo afirman) que los caribes pemón (Maquiritare) desconocían la letra Y (que fue agregada previamente por etnólogos americanos para facilitar la escritura) en sus ideográmas; ende debería ser TEPUI y no TEPUY; debería ser <<iürö>> y no <<yurö>> (el pronombre YO Pemón); este “desconocimiento” de la lengua madre Pemón ha causado; por ejemplo,  que la gente llame al salto más grande del mundo como les dé la gana; algunos ejemplos:

  • Auyan-Tepui (o Tepuy)
  • Karekupai-Tepui
  • Karekupai-Venaa
  • Churun-Meru
  • Karekupai-Merú
  • Y el conocido “Salto Angel” (Por el “descubridor” Jimmy Angel).

Sin embargo, es menester aprender que en Pemón:

  • Merú: es salto de agua
  • Churún: es el nombre del río que forma el salto de agua
  • Tepui: es “hogar o santuario” (ya que täpui es hogar) como dicen los pemones a las montañas, “hogares de los dioses”

Ende; la frase “churún-merú” sería como “salto de agua del rio merú” y el rio merú tiene varios saltos, no solo este (de hecho, un salto más abajo en el cañon del diablo, de 400 mts de altura es quien recibe el nombre “Churún-Merú”).

  • Karekupai: es la zona donde está enmarcado tanto el tepui como el salto de agua; significa algo así como “lugar muy alto o muy profundo”
  • Karekupai-venaá: es el nombre “oficial” pemón de la formación como tal (y el único que debería usarse para describir el salto ángel)
  • Auyan-Tepui: es el nombre de la parte superior (meseta) del tepui
  • Karekupai-meru: sería algo así como “El salto de agua de Karekupai” o “salto de agua desde el lugar más alto”

Fijense entonces como el “desconocimiento” de nuestra propia identidad indígena nos lleva a desconocer muchas cosas (pero si conocemos a los benditos indios Cheyenne!) …

Nuestros ancestros indígenas olvidados

Canaima GNU/Linux

Canaima GNU/Linux

Pasó lo mismo en la discusión del logotipo de Canaima Linux (un sistema operativo diseñado por el estado para la APN); como observamos el logotipo este tiene a dos indígenas con tocados en brazos y cinturón de plumas típicos de los Yanomamos:

Típico Yanomami

Típico Yanomamö

Sin embargo; el problema ocurre cuando desconocemos nuestra propia historia indígena; y es que CANAIMA es el nombre del Dios máximo Pemón-Yecuana (o sea, nada tienen que ver los Yanomamo en el nombre), habitante de los Tepui, ¿Qué hacen entonces los yanomami ahi? (y por cierto, es <<Yanomamo>> y no “Yanomami” como plural del pueblo indígena); recuerdo que afirmé en la lista de correo “… Es para simplificarlo, como que yo le ponga “Variquecemeto” (de donde deriva Barquisimeto, Rio de Aguas Color ceniza en la etnia Jirajara) a una distribución y ponga de logotipo aun Pemón o a un Wayuu …”.

Un Colector Solar en medio del llano …

Un Chalet Bávaro

Un Chalet Bávaro

A veces el desconocimiento y la mezcla de culturas trae extrañas consecuencias; Los chalets bávaros son una forma de construcción muy eficiente; que llegó a Venezuela gracias a los Colonos alemanes asentados en varias partes del país, incluyendo la Colonia Tovar;  El ángulo agudo en el techo tiene dos finalidades específicas, evitar la acumulación de nieve y exponer la mayor cantidad del techo a la luz solar y que el poco calor de los días nórdicos sea aprovechado al máximo; de ser así, entonces ¿Qué hace un Chalet en la mitad del Llano Guanareño?, posiblemente un Chalet suizo sea una construcción muy bonita, pero sustituir los amplios saguanes que permitían correr la brisa de las casas llaneras por un gran acumulador energético europeo no es una solución “muy eficiente” de construcción.

En conclusión, no estoy en lo absoluto en contra de la globalización y la mezcla de culturas; siempre y cuando estas mezclas no pasen por el propio desconocimiento de lo nuestro y por un olvido de nuestras raices.

Entendiendo las cifras de netcraft o “lo bueno que es Windows”

Netcraft es una compañía que se dedica a monitorizar la mayoría de las páginas web del mundo, las empresas comerciales de servicios de hosting y la popularidad de los servidores web (apache, IIS, lighthttpd, etc) en el mundo.

Este mes dos listas llaman la atención; “Most Reliable hosting company site” (Mide las compañías con menor “downtime” y mayor rendimiento y/o equilibrio entre número de hostings y estabilidad) y “Hosting provider sites by activity” que mide las compañías con “más actividad” de sitios web y su capacidad de mantener la plataforma estable; ambos valores son completamente distintos porque:

  • El primero mide la cantidad de “fallas” medidas en relación al número de clientes
  • El otro mide las “fallas” de los hosting providers más populares y con más clientes

Si vemos la primera tabla:

Rank Company site OS Outage
hh:mm:ss
Failed
Req%
DNS Connect First
byte
Total
1 DataPipe unknown 0:00:00 0.034 0.112 0.008 0.016 0.016
2 Server Intellect Windows Server 2008 0:00:00 0.034 0.078 0.088 0.178 0.369
3 Swishmail FreeBSD 0:00:00 0.039 0.216 0.056 0.113 0.248
4 New York Internet FreeBSD 0:00:00 0.039 0.160 0.067 0.141 0.343
5 INetU unknown 0:00:00 0.039 0.158 0.071 0.150 0.224
6 www.memset.com Linux 0:00:00 0.039 0.184 0.097 0.207 0.207
7 www.seeweb.it Linux 0:00:00 0.045 0.366 0.064 0.133 0.143
8 Virtual Internet Linux 0:00:00 0.050 0.196 0.037 0.129 0.218
9 iWeb Technologies Linux 0:00:00 0.050 0.224 0.077 0.154 0.154
10 ReliableServers.com unknown 0:00:00 0.056 0.307 0.057 0.123 0.180

Datapipe corre su página principal y sus VPS (Virtual Private Servers) en FreeBSD y INetU corre la mayoría de su plataforma (incluída la virtualizada y la principal) en Red Hat  Linux Enterprise por lo que las cuentas son:

  • 3 FreeBSD
  • 5 Linux
  • 1 unix AIX
  • Solo 1 Windows

¿Y después dicen que “Windows” es lo más popular que hay?

Sin embargo, como conocemos a los “Microsoft Gold Members”, que siempre compran dominios (hosted domains) que no están activos para “abultar” las cifras de parking domains, así que analizemos ahora a las “hosting companies” más activas del mundo (dominios “activos”):

Rank Performance graph Company site OS Outage hh:mm:ss Failed Req% DNS Connect First byte Total Kb/s size(K)
1 www.datapipe.net DataPipe unknown 0.000 0.147 0.024 0.057 0.057 2420 2
2 www.nyi.net New York Internet FreeBSD 0.000 0.092 0.044 0.092 0.231 118 18
3 www.reliableservers.com ReliableServers.com AIX 0.000 0.142 0.046 0.100 0.150 90 5
4 www.swishmail.com Swishmail FreeBSD 0.000 0.125 0.047 0.098 0.230 118 17
5 www.web.com www.web.com Windows 2000 0.000 0.089 0.047 0.164 0.554 66 29
6 www.servint.net ServInt Linux 0.000 0.185 0.048 0.108 0.234 137 15
7 www.navisite.com www.navisite.com Linux 0.000 0.161 0.049 0.549 0.647 102 13
8 www.rackspace.com Rackspace Linux 0.000 0.179 0.049 0.098 0.098 0
9 www.inetu.net INetU unknown 0.000 0.044 0.054 0.102 0.151 182 12
10 www.pair.com Pair Networks FreeBSD 0.000 0.101 0.054 0.111 0.263 117 20

Notaremos algunas cosas:

  • Existen: 4 FreeBSD, 4 Linux, un Unix AIX y solo un Windows
  • Solo 2 de cada 10 tienen sistemas operativos “no libres”
  • Este Windows (el hosting server más activo en windows) está en ¡Windows 2000!
  • 25 (de las primeras 50) empresas más activas y populares del mundo, confían en Linux
  • MS Windows solo está en 6 de los 50 servidores más activos del mundo de hosting
  • web.com se dedica a prestar servicio a esas aplicaciones (que aún) hace la gente en ASP, .NET o usan MS SQL Server.

Para los que siguen diciendo sobre “Windows para servidores”; Servidor no es un adjetivo válido para un MS Windows.

A %d blogueros les gusta esto: