Tesseract OCR

Tesseract OCR software.

Download PDF

Introducción.

Entrada actualizada el domingo 22 de agosto de 2021

Tesseract OCR es un software de reconocimiento óptico de caracteres, hecho ahora en código abierto (o como se conoce mejor, Software Libre). «OCR» es el acrónimo de tres letras (en inglés) para «Optical Character Recognition» el cual consiste en extraer texto de una imagen dada (ya sea un documento digitalizado: una foto, manuscrito, etcétera o en su defecto generado por ordenador, el cual es nuestro caso y lo haremos más adelante). Dicha tecnología existe desde finales del siglo veinte, en incluso nosotros poseíamos un «escáner» (digitalizador de documentos, artefacto parecido a una fotocopiadora) que se comunicaba via puerto paralelo al ordenador e incluso tenía otro puerto adicional para conectar a la impresora de puerto paralelo -matriz de puntos- al escáner -con un interruptor mecánico- ya que la tecnología era extremadamente costosa para la época y pocos se podían dar el lujo de agregar puerto paralelos por ranura PCI o una tarjeta USB (pero se debía adquirir también una impresora tipo USB, cara también).

En aquella época cada escáner traía su propio CD (700 megabytes) de donde uno instalaba el software y aunque existía el internet era inviable intentar descargar tal cantidad de datos por un módem de 56K. Pero hoy en día la cantidad de software es inmensa, tanto privativo o de código abierto, y Tesseract OCR es apenas uno de ellos. Podéis revisar una lista evaluada en Wikipedia pero no se limiten, el mundo es muy grande.

Es por esto que recalcamos que el mundo es inmenso: Tesseract OCR fue desarrollado por la empresa Hewlett-Packard en sus propios laboratorios radicados en Inglaterra y Estados Unidos entre 1985 y 1994 (recordad lo que os dije anteriormente sobre los limitados recursos de hardware de aquella época, por eso tantos años de desarrollo). En 1996 se logró una versión para el sistema operativo Windows y se migró -en parte- al lenguaje C++ en 1998. Poco se avanzó al llegar el siglo XXI pero en el año 2005 la empresa liberó el código fuente emplazándolo en la Universidad de Nevada (Estados Unidos) y en el año 2006 es patrocinado su mantenimiento por parte de la empresa Google. Tesseract OCR es actualmente mantenido en linea (su repositorio, código fuente), abierta para todos, por la empresa GitHub y están a cargo de dicho proyecto el señor Ray Smith acompañado de 27 colaboradores.

La necesidad es la madre de las invenciones.

La Gaceta Oficial de Venezuela (podéis leer su historia completa en nuestro blog) es la encargada de publicar las Constituciones, leyes, decretos, providencias, nombramientos y avisos oficiales (entre otras cosas) para que tengan vigencia legal en todo nuestro territorio nacional. Su importancia es capital para el funcionamiento de nuestra República Bolivariana. Sin extendernos mucho en su historia (que para ello tiene su propia entrada en esta web) del tradicional papel se ha modernizado y en un principio era simplemente digitalizada del papel impreso en imágenes en formato gif pero de unos años para acá esas imágenes gif se estaban incrustando en formato pdf (portable document format) a fin de poderlo imprimir y llevar en un solo archivo.

El método anterior es muy seguro: una fotografía del texto impreso en papel, una fiel copia del original. Pero con la modernización de las imprentas, que dejaron de ser analógicas y ahora aceptan formatos digitales (aunque sigan usando tinta y papel) se ha decidido «hacerla» en pantalla y luego enviarla a los talleres. Hasta aquí todo bien pero se planteó el problema de publicar vía electrónica (Internet) y aquí es que se presenta el dichoso problema que aquejan a nuestros estudiantes hoy día: EL INFAME COPIAR Y PEGAR.

Es por ello que en la Imprenta Nacional decidieron echar mano del método descrito MUY BIEN en esta página web para ofuscar el PDF. Vamos a simplificar al máximo porque si queréis conocer todos los detalles debéis leer esa página web (y traducirla):

  • Los laboratorios Xerox de Palo Alto, California (Estados Unidos) y luego posteriormente Steve Jobs, fundador de Apple Computer, inventaron y difundieron las fuentes gráficas para las computadoras (recientemente falleció el profesor de caligrafía quien dio clases a Steve Jobs en la universidad).
  • Dichas fuentes son simplemente archivos de imágenes (repito simplificando al máximo) pero con un detalle importante: cada letra -en código ASCII (y luego en UNICODE)- está embebida en su correspondiente imagen.
  • Esto se logró realizar debido al avance de las computadoras y el aumento de su potencia y velocidad con el paso de los años: son capaces de dibujar muy rápidamente en pantalla, puntito a puntito, píxel a píxel cada letra en pantalla.
  • Sin embargo podéis ver aún que cuando arranca una computadora, ya sea presionando escape o alguna otra tecla dedicada observaréis el texto puro y simple del monitor. Es más rápido pasarle al monitor el código ASCII (con su ubicación en fila y columna, generalmente 80 columnas y 25 líneas) y el propio monitor en su memoria incrustada sabe cómo dibujar la letra a o el número seis (tiene sus fuentes grabadas en «firmware»).
  • Pues así son las fuentes instaladas en nuestras computadoras: le dicen al ordenador cómo dibujar en pantalla (de nuevo simplificando al máximo) con ayuda del sistema operativo que se comunica con el monitor y le indica el tamaño del «lienzo» (actualmente la resolución mínima es 1024×768 píxeles) y además la ubicación de cada «letra» que vemos.
  • El problema se presenta por los diversos sistemas operativos y hardware: al pasar un documento con una muy bonita fuente a otro ordenador que no tiene instalada dicha fuente se pierde enormemente el trabajo realizado (aunque sigue siendo legible porque el sistema operativo se encarga de sustituir por una fuente predeterminada pero no se ve igual al original).
  • Es por ello que se inventó el Documento con Formato Portátil (Portable Document Format): en un solo archivo se incluye el código ASCII o UNICODE de cada letra del documento además de las fuentes escogidas por el autor del documento. Por supuesto esto abulta el tamaño del archivo pero para compensar esta desventaja aprovecharon de incluir características adicionales: se pueden incluir imágenes, enlaces web y lo más importante: cómo dibujar cada letra en el sitio correcto para que se vea idéntico a como originalmente se hizo.
  • Aquí viene lo interesante de la ofuscación del documento: se toma el texto original, de cada letra su código ASCII o UNICODE y se cambia según fórmula predeterminada por otro carácter ASCII o UNICODE diferente y a la vez también se hace lo mismo con la fuente que se incluye en el documento.
  • Es así entonces, por ejemplo, si tenemos una letra A cuyo código ASCII es 65 y la aplicamos una fórmula sencilla (sumarle 100) en el PDF colocamos el código ASCII 165 y la fuente que dibuja el carácter 195 la modificamos y ahora dibuja una letra A.
  • Luego al hacer el archivo PDF pues incluimos la fuente modificada para visualizarla como «texto» normal, seleccionable y copiable, pero que al pegar en otra ventana producirá como resultado el carácter ASCII 165 (no la letra deseada, la «A», código 65).
  • Y volvemos a repetir, esto es simplificación al máximo, volvemos a indicar el enlace donde explican la ofuscación en PDF.

Explicado «brevemente» lo anterior, observamos que las Gacetas Oficiales publicadas en Internet por la Imprenta Nacional gozan de dicha técnica pero más complicado aún: seleccionan párrafos enteros con una fórmula aplicada y fuente modificada pero diferentes para cada párrafo. Esto en realidad parece difícil de realizar (ya es difícil «dibujar» uno mismo sus propias fuentes tipográficas) más difícil aún modificar varias fuentes, pero echando mano del lenguaje PostScript (lenguaje orientado y basado en vectores gráficos) se puede automatizar la tarea y luego convertirlo a PDF (de nuevo: leed el artículo completo -en inglés-).

El resultado es el siguiente: en el documento PDF abierto seleccionas una porción de texto e inmediatamente se ve de esta manera (al copiar y pegar en nuestro editor de texto gedit solo se ven un monto de caracteres sin sentido):

PDF ofuscado
PDF ofuscado

Debido a esto, y como nuestro trabajo de programación debe cumplir parámetros legales (más que todo con las Providencias del SENIAT) que son publicadas en la Gaceta Oficial (amén de muchísimas otras leyes del SUNDDE, SUNAGRO, etc -por nombrar unos cuantos apenas-) nos damos a la tarea de transcribirlas y publicarlas por este vuestro humilde sitio web. Aquí es entonces que echamos mano del Reconocimiento Óptico de Caracteres (y no os califiquéis a nosotros de «flojos» sino que queremos hacer más en menos tiempo PARA HACER MÁS TRABAJO CON ESE TIEMPO AHORRADO, en serio).

Instalación de Tesseract OCR.

Probablemente en su distribución GNU/Linux ya tengáis instalado el Tesseract OCR (casi lo olvido, siempre acompaño las siglas OCR cuando lo escribo porque en realidad un «tesseract» -teseracto en castellano- es un cubo pero en la cuarta dimensión, demostrado por teorías matemáticas pero difícil de imaginar -de allí que lo nombran en muchas películas, la más famosa «The Avengers»-). Como ya dijimos, al ser Software Libre podemos acudir a su repositorio e instalarlo nosotros mismos pero eso escapa al tema tratado en este tutorial. Si tenéis vuestros repositorios bien orientados lo único que debéis hacer es abrir una ventana terminal, ganar acceso como usuario raíz root e introducir la siguiente orden:

apt get install tesserac-ocr

En nuestro caso nuestro Ubuntu ya tiene instalado y nos presenta el siguiente mensaje:

apt get install tesserac-ocr
apt get install tesserac-ocr

Instalación de Shutter.

Otro software de código abierto que utilizaremos es Shutter el cual nos permite tomar capturas de nuestra pantalla de ordenador de una manera muy ordenada y de una forma más poderosa que la tecla de imprimir pantalla («ImpPant» o «PrintScreen»). Dicha tecla hace muchísimos años cuando los sistemas operativos no tenían interfaz gráfica (no nos andemos con rodeos. cuando existía el CP/M y el MS-DOS) «tiraban» a la impresora de matriz de punto de puerto paralelo lo mostrado en pantalla (es decir sus códigos ASCII) y era rapidísimo porque eran unos cuantos bytes y ya la impresora «sabía» cómo imprimirlos según su memoria en «firmware». En los sistemas operativos modernos ahora dicha opción consiste en guardar en formato de imagen lo que muestra en pantalla, ya sea en el portapapeles o en un archivo en la carpeta «imágenes» del usuario.

Para instalar Shutter debemos realizar los pasos previos cuando instalamos Tesseract OCR pero esta vez cambiamos la orden de la siguiente manera:

apt-get install shutter

Si ya está instalado veréis algo similar a esto:

apt-get install shutter
apt-get install shutter

Instalando Shutter en Fedora y Ubuntu 18

Actualizado el día martes 11 de diciembre de 2018

En otra entrada dedicada totalmente a Shutter explicamos cómo instalarlo en Fedora y además, si queremos utilizar sus herramientas de edición de imágenes, explicamos cómo habilitarlas, especialmente en Ubuntu 18, ya que dichas librerías no se encuentran en los repositorios habituales.

Configurando Shutter

Repetimos: hoy en día al uno imprimir pantalla, según sea el sistema operativo que uséis, o bien lo copia como imagen al portapapeles o bien lo guarda de una vez en la carpeta «Imágenes del usuario» tal como hace GNU/Linux Debian. Con Shutter podremos hacer muchísimas más cosas al capturar nuestra pantalla y una de ellas es poder tomar solamente partes específicas de lo que vemos en nuestro monitor. Para ello lo ejecutamos y al «cerrarlo» el programa se queda en la bandeja del sistema con un ícono al cual le hacemos clic derecho y al desplegar el submenú escogemos «Selección» y arrastramos con el ratón lo que deseemos capturar y luego presionamos la tecla «Intro» o «Enter».

En nuestro caso vamos a cambiar la carpeta donde vamos a guardar nuestras imágenes seleccionadas en una carpeta nueva con el nombre de la Gaceta Oficial más el número de ejemplar, esto para trabajar de manera un tanto organizada:

Shutter - Preferencias
Shutter – Preferencias

 

Shutter - preferencia de carpeta
Shutter – preferencia de carpeta

Si no os gusta el prefijo «Selección_» podéis cambiarlo como necesitéis y/o gustéis, acá las opciones automatizadas en variables canónicas:

Shutter - nomenclatura de nombre de archivos
Shutter – nomenclatura de nombre de archivos

Capturando imágenes para convertirlas a texto.

Pues acá un ejemplo de lo que se deseamos a convertir:

Sumario Gaceta Oficial Extraordinario N° 6.227
Sumario Gaceta Oficial Extraordinario N° 6.227

De nuevo abrimos una ventana terminal e introducimos el siguiente comando, estando ubicados en la carpeta donde guardamos las selección arriba mostrada:

tesseract nombre_imagen nombre_archivo.txt

Veriamos algo similar a esto al ejecutarlo:

tesseract nombre_imagen nombre_archivo.txt
tesseract nombre_imagen nombre_archivo.txt

Acá «copiamos y pegamos» lo que convertimos para que podamos analizarlo:

SUMARIO

PRESIDENCIA DE LA REPUBLICA
Decreto N° 2.323, mediante el cual se declara el Estado de
Excepcién y de la Emergencia Econémica, dadas Ias
circunstancias extraordinarias de orden Social, Econémico,

Politico, Natural y Ecolégicas que afectan gravemente Ia
Economia NaCIonal.

Evidentemente que existe un margen de error al convertir la imagen; podemos contar los siguientes:

  1. «Excepcién».
  2. «Econémica».
  3. «Econémico».
  4. «Ecolégicas».
  5. «NaCIonal».

Cinco errores en cuarenta y un palabras, aproximadamente un 12% de margen de error. Sin embargo, a la larga, resulta menos «trabajoso» que tipear letra por letra, es decir, no tiene tanto trabajo corregir el texto convertido.

Actualizado el viernes 22 de septiembre de 2017.

Más vale tarde que nunca, acá colocamos el enlace al «Hunspell Tutorial» que permite de manera automática -en sumo grado- el corregir estas palabras mal digitalizadas, esperamos le sean de utilidad en su trabajo diario.

Trabajo de proceso por lotes.

Con un solo archivo ya vimos lo que nos espera, el panorama en general. El problema es que tenemos 43 archivos y debemos tipear (y modificar los números) de 43 lineas de comandos. Mucho trabajo, y lo que queremos es hacer más en menos tiempo (y con menos esfuerzo).

Así que echaremos mano de la programación de comando BASH de la siguiente manera:

  • Listamos los archivos deseados según un patrón predeterminado.
  • Dicho listado lo guardamos en un archivo de texto.
  • Luego leemos, linea por linea, dicho archivo de texto y lo guardamos en una variable de cadena.
  • Hacemos una linea de comando sustituyendo el nombre del archivo con la variable leída.
  • Al final concatenamos en un solo archivo, editamos los errores que encontremos simplemente leyendo y corrigiendo y ya podremos «copiar y pegar» hacia donde lo necesitemos.

El archivo de comandos por lotes tendrá estas características (comentario explicativos incluidos, son las lineas que comienza con numeral «#»):

 #!/bin/sh
 ####Licencia de uso###
 # Copyright 2016 Jimmy Olano at ks7000.net.ve
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 #
 # http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ######################
 # Cambiar la siguiente variable por el prefijo deseado
 patron="Selección_*"
 # Cambiar la siguiente variable para el nombre del archivo deseado
 nomarch="lista.txt"
 # Limpiamos pantalla
 clear
 # Guardamos en un archivo de texto los nombres de los archivos a convertir
 ls $patron > $nomarch
 # Creamos un archivo de texto vacio para inicializar ciclo
 touch documento.txt
 # Leemos linea por linea el archivo lista.txt
 while read linea
 do
 # Enunciamos el archivo con que vamos a trabajar (los seres humanos somos ansiosos)
 echo "Procesando "$linea
 # Aqui colocamos la orden de convertir a texto (automaticamente agrega extension txt)
 tesseract $linea $linea
 # Concatenamos el archivo recien convertido en un archivo temporal
 cat documento.txt $linea".txt" > documentotmp.txt
 # Renombramos el archivo temporal a su nombre original
 mv documentotmp.txt documento.txt
 # Borramos el archivo de texto convertido luego de haberlo integrado al documento completo
 rm $linea".txt"
 done <$nomarch
 # Borramos el archivo donde guardamos la lista de nombres
 rm $nomarch
 # Indicamos al usuario (nosotros mismos) que el trabajo está hecho
 echo "Trabajo terminado, abra el archivo documento.txt"

Así tendríamos el archivo de procesos por lotes sin los comentarios pero manteniendo la licencia de uso:

Reconocimiento óptico caracteres de forma avanzada

Actualizado el martes 19 de marzo de 2019

Esto que acabamos de explicar es un entorno muy aséptico, con condiciones óptimas para la detección de letras y números pero va a ser que el mundo real no es así… Por ellos traemos un vídeo de LUCA (the Last Universal Common Ancestor) acerca de las últimas tecnologías empleadas en el reconocimiento óptico de caracteres, espere disfruten del vídeo tanto como nosotros:

Enlaces relacionados.

Enlaces relacionados (en castellano):

Enlaces relacionados (en inglés):

Download PDF
Gaceta Oficial 40.893 sumario.

Gaceta Oficial N° 40.893: aumento sueldo 30% 1° mayo 2016.

Download PDF

Son 5 hojitas en formato pdf (gracias a pdfSam y lo recomiendo para dividir y combinar documentos en ese formato) y la pueden descargar desde esta vuestra humilde página web.

También podéis descargar la Gaceta Oficial desde el sitio web del Tribunal Supremo de Justicia el ejemplar completo de 16 hojas y aproximadamente 4 megabytes y medio desde este enlace web.

Con este aumento sueldo mínimo en Venezuela se ubica en Bs. 15.051,15 (si tomamos como referencia el SIMADI serían aproximadamente US$ 37 mensuales) según Decreto Presidencial N° 2.307.

Gaceta Oficial 40.893 sumario.
Gaceta Oficial 40.893 sumario.

Asimismo se aumenta el valor del Cestaticket Socialista de 2,5 U.T. a 3,5 U.U. y dado que el valor actual de la unidad tributaria es de Bs. 177,00 a razón de 30 días por mes da un total de Bs. 18.585,00 (sobrepasando el valor del salario mínimo; en los años noventa también sucedió lo mismo e incluso también se pagaba bono de transporte: los dos bonos sumaban 12 mil y el salario 8 mil, la historia se repite en contra de las prestaciones sociales).

Gaceta Oficial N° 40.893.

A continuación presentamos la transcripción (de seguro con alguna fe de errata) de la Gaceta Oficial N° 40.893 del viernes 29 de abril de 2016.


SUMARIO

PRESIDENCIA DE LA REPÚBLICA

Decreto N° 2.307,

mediante el cual se fija un aumento del salario mínimo nacional mensual obligatorio en todo el territorio de la República Bolivariana de Venezuela para los trabajadores y las trabajadoras que presten servicios en los sectores público y privado, del treinta por ciento (30%), a partir del 1° de mayo de 2016.

Decreto N° 2.308,

mediante el cual se ajusta el pago del Cestaticket Socialista para los trabajadores y las trabajadoras que presten servicios en los sectores público y privado, a tres Unidades Tributarias y media (3,5 U.T.) por día, a razón de treinta (30) días por mes.


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 cosntrucción del Socialismo, la refundación de la Patria Venezolana, basado en principios humanistas, sustentado en condiciones morales y éticas que persiguen el vivir bien del país y del colectivo, por mandato del pueblo de conformidad con lo establecido en el artículo 226 de la Constitución de la República Bolivariana de Venezuela; y en ejercicio de las atribuciones que me confiere el numeral 11 del artículo 236, en concordancia con lo dispuesto en los artículos 80 y 91 eiusdem, concatenado con el artículo 46 del Decreto con Rango, Valor y Fuerza de la Ley Orgánica del Trabajo, los Trabajadores y Trabajadoras, en Consejo de Ministros,

CONSIDERANDO

Que el Estado democrático y social, de Derecho y de Justicia garantiza a los trabajadores y trabajadoras la participación en la justa distribución de la riqueza generada mediante el proceso social del trabajo, garantizándoles que su salario sea suficiente y le eprmita vivir con dignidad y cubrir para sí y su familia las necesidades materiales, sociales e intelectuales, como condición básica para avanzar hacia hacia la mayor suma de felicidad posible, como objetivo esencial de la Nación que nos legó El Libertador,

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 por la oligarquía apátrida, como instrumento de acumulación de capital en manos de una minoría,

CONSIDERANDO

 

Download PDF
GNU software libre.

¿Qué es el Software Libre?

Download PDF

¿Qué es el Software Libre?

El software libre es un tipo de programas de ordenador que respeta nuestra libertad. Utilizar software libre es una decisión política y ética que nos permite ejercer nuestro derecho a aprender y a compartir lo que aprendemos con otras personas.

Es habitual que el software que compramos nos niegue dichos derechos. Eso es porque realmente no estamos adquiriendo la propiedad del software que compramos, sino una licencia sobre el uso del software. Y dichas licencias nos atan mediante numerosas y sutiles reglas acerca de lo que podemos y no podemos hacer con el programa.

Software libre (" free software" )
Software libre (» free software» )

Si hacemos una copia del programa y se la damos a un amigo, si tratamos de averiguar cómo funciona el programa, si tenemos más de una copia del programa en nuestro computador en casa… y nos sorprenden haciéndolo, podemos ser multados o incluso procesados. Eso es lo que pone en la letra pequeña de las licencias.

¿Y si hubiera un grupo a nivel mundial de programadores éticos con gran talento, dedicados a la idea de escribir y compartir software entre ellos, y con cualquiera que acepte compartirlo de igual forma? ¿Y si cualquiera pudiera formar parte de dicha comunidad, y beneficiarse de ello, sin necesidad de saber nada sobre programación? En ese caso no tendríamos que preocuparnos más acerca de ser sorprendidos copiando un programa para nuestros amigos… porque no estaríamos haciendo nada ilegal.

¿Qué es el software libre? Video.

El movimiento del software libre.

De hecho, tal movimiento existe, y puedes llegar a ser parte de él. El movimiento del software libre fué creado en 1984 por Richard M. Stallman, mediante la creaci ́on de un proyecto llamado GNU (que significa “GNU’s Not Unix”) para proporcionar un reemplazo del sistema operativo UNIX; un reemplazo que respete la libertad de quienes lo usen. Más tarde, en 1985, Stallman creó la Free Software Foundation, una organización sin ánimo de lucro con la misión de promover y educar al público de todo el mundo acerca del software libre.

Hoy, el número de gente que no es usuaria de computadores disminuye contínuamente, a medida que la tenología se asienta en todo el globo. Para que esta tecnología funcione son necesarios ciertos conocimientos. La gente que acapara dicho conocimiento, castigando y amenazando a los que tratan de obtenerlo y compartirlo, no lo hace para preservarlo, pese a lo que puedan decir. Muy al contrario, su objetivo es preservar su poder a expensas de la libertad de los demás.

Habiéndose dado cuenta de esto, millones de personas de todo el mundo (incluyendo gobiernos al completo) han decidido utilizar sólo software libre en sus computadoras. El hecho de que tanta gente esté dispuesta a tomar esa decisión (y ponerla en práctica) frente a las ofertas más y más baratas de Microsoft, Apple, y otras empresas que hacen softare privativo, prueba que esas empresas no están en lo cierto: no las necesitamos para hacer software.

GNU software libre.
GNU software libre.

Podemos hacerlo. Lo estamos haciendo.

¿Cómo funciona? ¡Copyleft!

En vista a que las leyes de copyright sobre el software suelen utilizar se para privarnos de nuestra libertad, Stallman y la FSF desarrollaron un documento legal llamado la «GNU General Public License» (GPL) para proteger dicha libertad. En lugar de restringir qué puede hacerse con el software, la GPL nos alienta a estudiar y compartir. Por eso es lo que denominamos una licencia “copyleft”. Miles de personas y negocios, desde amateurs a grandes compañías como IBM y Novell, desarrollan y distribuyen software bajo los términos de la GPL.

Pero qué software utilizar es una elección del usuario, no de la gente que lo programa y lo vende. Es fácil perder nuestra libertad al pulsar el botón «Aceptar» después de pasar rápidamente treinta páginas de restricciones. O podemos pulsar «Cancelar», y buscar algún programa libre que haga lo que necesitamos.

Debemos pulsar «Cancelar» siempre que podamos, porque es la opción más ética. Hacerlo significa que tendremos que aprender a utilizar un nuevo programa, y algunas veces la alternativa libre quizás no funcione tan bien; la alternativa ética no siempre es la alternativa fácil.

¡Participa!

Puedes comenzar por prometerse a tí misma que buscará alternativas libres a los programas que utiliza. El Free Software Directory (http://directory.fsf.org) contiene una gran lista de programas, más de 5000.

Hay muchas otras formas en las que la gente (con o sin conocimientos de programación) puede ayudar a que el movimiento del software libre continue siendo un éxito. Vea las páginas web de la Free Software Foundation (http://www.fsf.org/es) y el proyecto GNU (http://www.gnu.org) para averiguar cómo.

Y por supuesto, ¡ haga copias de este documento y compártalo con otros!

Reconocimientos de autoría:

Tomado de la página web de la «Free Software Foundation» en asociación estratégica con el proyecto GNU.

 Copyright c© 2000, 2001, 2005, 2006 Free Software Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110, USA.

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Humor: si no buscas al software libre…

Enlaces consultados:

Enlaces web relacionados (en inglés):

Download PDF
Git logo.

Git tutorial

Download PDF

Publicado el sábado 9 de abril de 2016.
Actualizado el sábado 28 de marzo de 2020.


Por medio de Twitter uno se entera de muchas cosas, dejando a un lado el maligno cotilleo, claro está. Una de esas cosas buenas es conocer que existe «Pro Git Book» el cual fue escrito por Scott Chacon (empleado hoy en día en la empresa GitHub) y Ben Straub (quien ahora trabaja en la empresa Zendesk) sobre el famoso sistema de administración (de versiones) de código fuente que tal como su nombre pomposo indica, es un software orientado a mantener en orden nuestros «apuntes» (ea , que estamos en el siglo XXI y ya debemos dejar de hacer esto, que yo también lo hacía, perdonadme Romero):

Seguir leyendo
Download PDF
IPv6

Internet Protocol v6 (IPv6)

Download PDF

IPv6

A manera de prólogo.

Pues que con los bajos precios del petróleo aquí en Venezuela tenemos una fuerte crisis económica y apenas hemos podido pagar el alojamiento de esta vuestra página web -humilde sitio- y hemos estado alejados de la escritura. En la década de los 90 nos sucedió igual -duramos una semana comiendo sólo arroz- pero es de grata recordación una película que vimos en esa época sobre «El Diario de Ana Frank» -transmitida por una televisora llamada «Niños Cantores«- y que nos recuerda que podríamos estar mucho peor –mal de muchos, consuelo de tontos-. Pero lo cierto del caso es que el libro se escribió y existe, y es una prueba de la perseverancia y esperanza de la humanidad.

Por ello decidimos seguir preparándonos para el futuro, ya vendrán días de sol luego de estos días de lluvia -y hasta de tormenta- SEGUIMOS, NO NOS DETENEMOS. Retomamos, entonces, el tema de la informática desde sus bases, y algo que desde que estamos conectados a internet y aún usamos día a día es el «Internet Protoco version 4» o, por su acrónimo en inglés, IPv4. Simplemente el IPv6 viene a ser el sucesor (¡ea, que nos han volado la versión 5!) y para decirlo en forma llana, pues viene a proporcionarnos, prácticamente, direcciones IP infinitas, es decir, números de identificación exclusivas para cada adaptador de red (que eso ya lo sabéis, por ejemplo es bastante común que cada ordenador portátil tenga hoy en día al menos 2 maneras de conectar al internet: por ethernet o por WI-FI) pues cada uno de ellos tiene una dirección IP independendiente (luego veremos que esto no necesariamente así en IPv6).

Historia del protocolo IiPv6.

Vint Cerf, «Evangelista» en Jefe en la empresa Google, y uno de los fundadores del internet, expone la próxima versión del internet, IPv6, y por qué la necesitamos.

Cuando el internet fue puesto en práctica en 1983, nadie nunca soñó que habrían millardos de dispositivos y usuarios intentando estar en línea. Pero así como una red de telefonía se queda sin números telefónicos para sus abonado, el internetactual se quedó sin direcciones IP en 2013, y si no implementamos el Protocolo de Internet v6 (IPv6), no tendremos el espacio que necesitemos para que el internet crezca y esto podría liarlo, hacerlo inseguro e insustentable.

En el vídeo el señor Cerf nos explica con mayores detalles, usad los subtítulos generados en castellano (spanish) si es necesario:

Allí tenéis, pues, los enlaces PUROS Y DUROS hacia los conceptos, eso os llevará bastante tiempo analizar y asimilar o en el caso de los más avezados, recordar.

Aprendiendo de los mejores.

Debemos aprovechar el uso de la tecnología al máximo, es por ello que encontré esta exposición en Youtube, cortesía de «el maligno Alonso» (no nos asustéis, no tiene nada que ver con religión) y describe de la siguiente manera:

Conferencia de Rafael Sánchez (@r_a_ff_a_e_ll_o) de Eleven Paths sobre cómo montar un escenario de hacking IPv6 en Internet con un VPS y túneles IPv4/IPv6. Más información sobre esta sesión en esta URL.

Sin más aquí os dejo el vídeo, que va de lo más básico (una muy buena introducción a los conceptos y «bien machacado») hasta lo más avanzado ( IPv6 dentro túnel VPS con IPv4, máquinas virtuales, Kali Linux, nmap, etc.) que es, como dicen ellos allá «para flipar» (aquí decimos «tripear» del inglés «to trip», viajar o «elevarse»):

Podemos destacar los siguientes datos de la conferencia:

  • Podemos asignar a cada centímetro cuadrado de la superficie de la Tierra una dirección IPv6 (nos atrevemos a decir, además, que incluso sobrarían direcciones).
  • En Alemania está prohibido la exploración «escaneo» de red, osea, el estar revisando direcciones IP a ver cuáles tienen puertos abiertos «en escucha» -MUY IMPORTANTE este dato
  • En España aún no utilizan IPv6, vamos que para Venezuela lo puedo entender pero no justifico que allá estén retrasados con eso (una crítica con todo respeto).
  • NAT es una chapuza, estamos muy de acuerdo con eso.
  • En la conferencia no lo comenta pero CONSIDERAMOS -olvidemos por un momento que existe el «Wi-Fi«- el modelo «modem»+»router» desaparecerá porque precisamente los enrutadores fueron hechos para simplificar la implementación de una NAT, le facilita la vida a los usuarios. QUEREMOS DECIR que con IPv6 usaremos «modem«+»ethernet hub» o «modem»+»network switch» que aunque parecen lo mismo NO LO SON. Con el «ethernet hub» se envían, sin retraso, cada paquete a todas las computadoras conectadas al aparato. EN CAMBIO el segundo, «network switch» sólo enviará los paquetes a la máquina a la cual está destinada PERO con el costo de un retraso de hasta 1,2 milisegundos ya que debe recibir todo el paquete, leerlo y analizar de dónde viene y a donde va. Para mayor información, leer este excelente, corto y conciso manual (parece tecnología vieja PERO NO LA SUBESTIMÉIS por favor)

Para cada átomo en la Tierra hay 100 direcciones IPv6.

Podemos comenzar con esa abrumadora cifra: podemos asignar 100 direcciones IPv6 a cada átomo en la Tierra, al haber tanta oferta el «negocio» de las direcciones IP fijas o estáticas caerán a costo cero, ¡imaginamos!

Aquí ampliaremos sobre el tema (en construcción).


<Eso es todo, por ahora>.

Download PDF
VirtualBox logo

VirtualBox 5.0.14

Download PDF

VirtualBox 5.0.14 es la última actualización a la fecha de hoy 22 de enero de 2016, nosotros usamos intensamente este entorno de virtualización tanto para servidores en producción como servidores en desarrollo. Esta última versión hoy la descargamos e instalamos sobre los servidores de desarrollo y dentro de unas dos semanas que hayamos probado su estabilidad y certeza de rapidez y eficiencia, será aplicado a los de producción.

VirtualBox - Acerca de.
VirtualBox – Acerca de.

Seguir leyendo

Download PDF
Historia de un viejo informático - eltamiz.com -

Mozilla Firefox Reader View.

Download PDF

Mozilla Firefox Reader View.

He de confesarles a todas y a todos que con el paso de los años mi vista se ha desmejorado; en el buen sentido que le damos por estos lares: «se me han quemado las pestañas». Es por ello que con gusto he utilizado «Mozilla Firefox Reader View» el cual está explicado en buen castellano en este enlace. Aunque lo traducen como «Modo Lector» me gusta más «Modo de Lectura», ya sabéis qué poético es nuestro idioma, así que visitadlo y volved para terminar de contaros la historia. Seguir leyendo

Download PDF

FreeCAD en Ubuntu

Download PDF

FreeCAD en Ubuntu.

¿FreeCAD en Ubuntu? ¿Por qué no en Debian? Primero debemos explicar qué es FreeCAD: es software libre especialmente realizado para dibujar objetos en tercera dimensión, más que todo piezas mecánicas, siempre teniendo en cuenta las normas internacionales «standards» para interoperabilidad con miríadas de otros programas de Diseño Gráfico Asistido (DGA o como se conoce en inglés «Computer Assisted Design» -en castellano quien nos asiste es el ordenador mismo-).

FreeCAD versión 0.15
FreeCAD versión 0.15

Retrocediendo en el tiempo, la experiencia que tenemos en dibujo asistido por computadora se remonta a 1991, cuando por aquel entonces existía el AutoCAD 2.62 -en realidad comenzamos con la versión 2.17 pero necesitabamos AUTOLISP y nos migraron a la que lo soportaba, aunque tampoco era la última versión disponible para la fecha-. Honor a quien honor merece: Autodesk nos dio a las masas el impulso necesario para arrancar a «soñar» y hacer más en menos tiempo (pueden ustedes descargar un demostrativo e instalar dicho programa de software privativo en este enlace, vamos que el mundo es muy grande y cabemos todos, valga la «cuña publicitaria»). Claro, faltaban unos cuantos años para que el internet se masificara, pero esa es otra historia.

Es así que con la utilización de LISP  -el segundo lenguaje de programación de alto nivel más viejo, después del FORTRAN– ya en esa empresa de software apuntaban alto, APUNTABAN A LAS NORMAS ABIERTAS, o estándares abiertos. Eso permitió que los dibujos que hicimos -y que quemaron nuestras pestañas con los monitores de rayos catódicos brillando en verde- bajo el formato DWG (abreviatura de «drawing», en inglés) que tenía «incrustado» el formato DFX (más delante explicaremos esto) y aún hoy en día puedan ser leídos e interpretados, porque son en realidad gráficos vectoriales. Dicho formato fue creado en 1982 y como comprenderán faltaban un montón de años para que surgiera GNU/Linux -pero Richard Stallman fue presionado legalmente a usar software privativo, lo cual fue la gota que derramó el vaso al año siguiente-.

De 1982 a 1997 fueron 15 años muy interesantes que nos tocó vivir en esto de la programación y fue en 1998 (por avatares de la vida ya no teníamos trabajo alguno, desde hace años, en diseño de piezas mecánicas, la crisis económica del país era grave) cuando nace la «Open Design Alliance» una organización sin fines de lucro orientada a promover la interoperabilidad de software PERO sigue siendo aún software privativo. De nuevo repetimos, en este mundo cabemos todos y sobra espacio, el universo es infinito. Líneas arriba pueden leer -en inglés- la historia de dicha organización.

Por supuesto que el mundo es muy grande, y hay otras alternativas de Software, tal es el caso de LibreCAD el cual es una bifurcación o «fork»? como le dicen en inglés, de el QCAD el cual nació en 1999 a partir del código de CAM Expert. Por cierto en el siguiente «tuit» ofrecen un enlace de un artículo sobre LibreCAD que reseña que fue creado en 1980, lo cual es incorrecto, lo que sí es cierto es que el formato de archivos, bajo software libre si que data de esa época, más o menos.

Al punto que queremos llegar es el siguiente: el mundo del CAD privativo dio levemente su brazo a torcer con el formato DFX secundado de manera nada amistosa por el OpenDWG -ahora conocido como DWGDirect– y el mundo del CAD libre también dio levemente su brazo a torcer con LibreDWG y esta serie de condiciones han abierto el camino para el nacimiento de FreeCAD.

Esa es la manera más simple de resumir y explicar 33 años de historia moderna del CAD: muchos compañeros de estudio no están de acuerdo con estas lineas escritas más poco se alejan de lo comentado aquí; apenas detalles, lo consideramos así. 😉

Pasamos a explicar entonces que Debian es software libre purista, muy comprometido con el código completamente abierto a diferencia de Ubuntu que permite de manera predeterminada muchísimos tipos de licencias de software. Por eso si desarrollamos diseño gráfico, artes o diseño asistido por computadora necesitamos hardware de video poderoso, escribo estas líneas con una modesta «GeForce GT 520/PCIe/SSE2» -que para la tarea de dibujar que tenemos basta- Ubuntu provee y permite usar tanto controladores de hardware privativo como libre, tenemos la libertad de elegir en ese aspecto. Ya ven entonces de dónde proviene el título de esta entrada «FreeCAD en Ubuntu», y nos disculpan la larga explicación.

NVIDIA controlador privativo y controlador de código abierto
NVIDIA controlador privativo y controlador de código abierto

¿Por qué usar controladores privativos en ciertos casos?

Resulta ser que hay al menos tres grandes y principales fabricantes de tarjetas de video para nuestro trabajo gráfico -y juegos-: Intel, AMD y nVidia. Los tres han levemente contribuido al software libre, ya que cada día somos más que usamos GNU/Linux y pues sienten la presión de nosotros, los consumidores de tecnología para nuestro trabajo y que hacer diario, MÁS SIN EMBARGO NO HAN LIBERADO NI DADO APOYO TOTAL. Y he aquí que una de las personas que más admiro es Sarah Sharp, quien desarrolló los controladores de USB 3.0 en GNU/Linux y estuvieron disponibles primero, incluso, que sus contrapartes privativos -la historia es larga- y tomo de ella un pequeño consejo si deseaís usar controladores libres:

Allí, en inglés, la lengua materna de ella, describe cómo podemos nosotros ayudar y contribuir a reportar las excepciones -«bugs» en inglés- de las tarjetas de video en software libre, haciendo un reporte muy técnico para ir al grano y permitir que los desarrolladores sigan haciendo, prácticamente, ingeniería inversa. En ese caso le toman el defecto a una escena de un famoso juego -objetable moralmente, pero bueno, así somos los humanos, libre albedrío- y para un hardware Intel PERO NO SE DEJEN LLEVAR POR EL «TUIT» O MENSAJE si leen con calma y siguen los enlaces que publica Sarah Sharp verán que es aplicable a diversos hardware, hasta en tarjetas gráficas integradas en las tarjetas madre, aunque un poco complejo verán una serie de herramientas para tal efecto.

Recalcamos entonces: si quieren dibujar en computadoras PRIMERO debemos conocer lo máximo posible sobre el hardware gráfico, tarjetas de video.   Dado el caso alguna vez colapse el Twitter, les dejo aquí el enlace a la entrada del blog de Sarah Sharp, y en este otro enlace ella explica cómo encaja el MESA en el kernel de GNU/linux ¡gracias de nuevo mi heroína! (Thanks again, Sarah Sharp, my hero!)  


 

FreeCAD, presentación.

  Como apenas estamos comenzando a utilizar el FreeCAD es necesario presentarselos y buscando en la red hallo muy interesante y ameno el trabajo del señor Juan Gonzáles Gómez quien tiene 40 video tutoriales sobre esta aplicación de diseño gráfico y les traemos la presentación de la serie:

 

Si quereís conocer a fondo el trabajo tridimensional e incluso aprender a utilizar las impresoras de tercera dimensión les animo a visitar la lista de videos, muchas gracias sr. Juan Gonzáles Gómez. Como reconocimiento a su trabajo les dejo el vídeo del logotipo de su Academia, dejad que la Fuerza os acompañe:

   


 

FreeCAD, instalación en Ubuntu.

  La instalación de FreeCAD está muy bien documentada -en inglés- en este enlace y en nuestro caso se cumplió exactamente como enuncian: si instalamos a FreeCAD por los repositorios oficiales de Ubuntu -o por el Centro de Software- NO obtendremos la última versión. Inicialmente obtuvimos la versión 0.14 al introducir la siguiente orden:  

sudo apt-get install freecad

Por lo tanto debimos actualizar por el propio repositorio de FreeCAD, ganando acceso como usuario raíz «root» en una cónsola de comandos:  

sudo add-apt-repository ppa:freecad-maintainers/freecad-stable

  Si todo sale bien obtendremos al aviso de que fue agregado exitosamente el repositorio (si desean concer más acerca de los PPA hagan click en este enlace -en inglés-) y veremos algo así como esto:

FreeCAD PPA
FreeCAD PPA

  Ahora bien, lo siguiente que hay que hacer son las consabidas siguientes 2 líneas:

sudo apt-get update
sudo apt-get upgrade

Y por último la orden en sí misma para instalar FreeCAD:

sudo apt-get install freecad freecad-doc

Y veremos algo parecido a los siguientes mensajes (como ya teníamos instalada la versión 0.14 nos avisa que podemos eliminar los archivos con las versiones que no son necesarias para la versión 0.15, la eficiencia por delante para mantener nuestros discos duros «lo más limpios posible»):

FreeCAD ppa archivos no necesarios
FreeCAD ppa archivos no necesarios

Nos anuncia que necesita descargar archivos necesarios para los paquetes nuevos y cuyo tamaño es de 106 megabytes (recordar que estamos actualizando y son menos datos «a bajar»):

FreeCAD ppa archivos necesarios y por descargar
FreeCAD ppa archivos necesarios y por descargar

Tenemos 2 minutos de paciencia mientras obtenemos los datos:

FreeCAD ppa archivos ya descargados y por instalar
FreeCAD ppa archivos ya descargados y por instalar

  Y comienza el proceso de instalación:

FreeCAD ppa archivos instalados y actualizados
FreeCAD ppa archivos instalados y actualizados

Mientras hacíamos todo esto olvidamos cerrar una instancia del FreeCAD 0.14, Ubuntu no aviso nada de que debíamos cerrarlo, pues no hay problema alguno, cerramos la ventana que teníamos abierta y lo volvemos a ejecutar para ver lo siguiente:

FreeCAD inicio versión 015
FreeCAD inicio versión 0.15

  Si agudizamos nuestra visión leemos «Running FreeCADGuinit.py» -entre tantos avisos que muestra al ejecutarlo- pero lo que queremos hacer notar es la extensión «.py» del archivo que carga en memoria, archivo leido: está escrito en lenguaje Python. De hecho ese lenguaje Python junto con  lenguaje C, «son los padres de la criatura» y nos dejaron Python para nosotros los usuarios finales el poder correr macros y guiones, tal como lo fue el AUTOLISP al Autocad (¿recuerdan los párrafos iniciales donde dijimos que estaba adelantada a su tiempo y tenían visión de futuro?). Ya para finalizar y comenzar a dibujar y entregar el proyecto (¡uff lo que tenemos por delante!) pues agregar que «matamos dos pájaros de un solo tiro»: compartimos el conocimiento para instalar las herramientas necesarias para nuestro trabajo. ¡Qué bueno es el software libre! 😎  


      Actualización no más de haber terminado de publicar esta entrada de blog:

El señor Juan González @Obijuan_cube «imprime» las primeras piezas de resina, ¿Habrá utilizado FreeCAD? Lo más probable es que sí, pero no vamos a importunarle en preguntarselo, je je je.  


Actualizado el jueves 17 de marzo de 2016.

En un excelente análisis de las diversas opciones de diseño asistido por computadora en software libre, en idioma italiano, podemos tener rápidamente un panorama acerca de esta materia. La entrada del blog la pueden encontrar en este enlace web y paso a traducir al castellano el resumen para Freecad:

Ventajas:

  • Entorno intuitivo y familiar para los usuarios con una amplia experiencia en software comercial.
  • Versátil y ligero, especialmente en sus versiones para GNU / Linux.
  • Máxima adherencia a los estándares.
  • Personalización y creación de productos y servicios específicos prácticamente ilimitadas.
  • Comunidad muy activa y multidisciplinaria.
  • Excelentes perspectivas para el futuro.

Desventajas:

  • El crecimiento rápido pero un poco ‘»caótica».
  • La falta de un servicio profesional (no ser gobernado por una empresa).
  • Todavía algunas limitaciones en el uso extremadamente avanzada.
  • Aún lejos de la versión 1.0 (debido a la estabilidad parece imposible, pero aún está en versión alfa).


 

<¡Eso es todo, por ahora!>.

Download PDF
ReactOS Revolution

ReactOS (R)evolution.

Download PDF

ReactOS (R)evolution.

Esta distribución GNU/linux tiene su punto de vista MUY PARTICULAR. Nos enteramos de ella vía @LXALinuxAdictos y no podía creer los que escribieron ellos en su artículo, reproduzco aquí el «tuit» del susodicho:

Y cito:

ReactOS es un sistema operativo de código abierto, el cual tiene la principal función de ser una especie de clon de Windows. ReactoOS no es un clon de Windows más ni un simple sistema linux con Skin de Windows, sino que es un sistema que copia la arquitectura de Windows NT con el objetivo de ejecutar drivers, aplicaciones y demás software que hasta ahora solo estaba reservado para Windows.

No convencido de esto, abrí el «post» y revisé el enlace hacia la página web de la organización ReactOS y…. pues bueno, en inglés básicamente dice lo mismo, cito de nuevo:

ReactOS® is a free open source operating system based on the best design principles found in the Windows NT® architecture (Windows versions such as Windows XP, Windows 7, Windows Server 2012 are built on Windows NT architecture). Written completely from scratch, ReactOS is not a Linux based system, and shares none of the UNIX architecture.

The main goal of the ReactOS® project is to provide an operating system which is binary compatible with Windows. This will allow your Windows® applications and drivers to run as they would on your Windows system. Additionally, the look and feel of the Windows operating system is used, such that people accustomed to the familiar user interface of Windows® would find using ReactOS straightforward. The ultimate goal of ReactOS® is to allow you to use it as alternative to Windows® without the need to change software you are used to.

ReactOS 0.3.17 is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes.

Hasta no ver no creer, como decía el Apóstol Santo Tomás, como en el reportaje en castellano nombran que tienen máquinas virtuales precargadas pues ni lerdo ni perezoso la descargo y agrego a VirtualBox. Ellos cumplen lo que prometen, aquí les dejo el video como «prueba de la prueba» que hice, abramos nuestras mentes y expandamos nuestros horizontes, el mundo es muy grande, ¡felíz día!

Ah, por cierto, si queréis colaborar con la causa, no olvidéis daros una vueltecilla por la tienda virtual de «souvenirs».


<¡Eso es todo, por ahora!>.

Download PDF

Ubuntu 15.10 Wily Werewolf.

Download PDF

Ubuntu 15.10 Wily Werewolf, actualización, no voy a negar que Ubuntu, basado en Debian, es infatigable en su avance, tiene sus detractores pero sigo pensando que simplemente este hombre lobo llegó para dar una DURA pelea a los demás sistemas operativos no GNU/Linux.

Ubuntu 15 Wily Worewolf

Si bien recuerdo el mensaje decía 700 megabytes de datos en la actualización mayor, incluso pidió reiniciar, cosa rara en sistemas GNU/Linux pero bueno «una vez al año no hace daño» 😉 :

Ubuntu 15 Wily Worewolf2

Download PDF