Extraer el texto de una imagen con JavaScript y Tesseract.js - Aplicación web

Hace algún tiempo presenté el uso de la librería de JavaScript llamada Tesseract.Js, la cual sirve para extraer el texto de una imagen o convertir una imagen a texto. Aparte de extraer el texto de una imagen también lo puede hacer de una foto o de una imagen escaneada como lo vimos en la demostración de Tesseract OCR. En el post en donde hablo de la librería prometí que haría una app para demostrar el funcionamiento y uso, y es justamente lo que vengo a presentar hoy: una aplicación web que sirve para extraer el texto de una imagen. Funciona en Firefox y Google Chrome en Windows y Android, no he probado en otros navegadores. ...

mayo 29, 2019 · 1 min · 202 palabras · Parzibyte

WebAssembly en Go: tutorial y ejemplos

Acabo de publicar un post sobre las ventajas y usos de WebAssembly en donde prometí que traería un ejemplo con Go. De hecho ya tenía el ejemplo desde antes, pero no iba a poner toda la definición de WebAssembly aquí. En fin, veamos cómo utilizar Go para compilar a WebAssembly y llamar al código desde JavaScript. Pero no te confundas, WebAssembly no es JavaScript, es código que se ejecuta directamente en el navegador, solo que JavaScript le dice al navegador cómo usarlo. ...

mayo 29, 2019 · 7 min · 1284 palabras · Parzibyte

Actualizar Go en Windows

En esta semana me tocó actualizar Go/golang en Windows a la versión 1.12.5 y he decidido documentar el proceso, pues esto no es una nueva instalación, sino una actualización ...

mayo 28, 2019 · 1 min · 181 palabras · Parzibyte

Cifrar unidad de disco en Linux Ubuntu con LUKS

LUKS (Linux Unified Key Setup) es una especificación de cifrado de disco creado por Clemens Fruhwirth. Esta especificación permite cifrar discos completos en Linux utilizando AES-256 y algunas otras características de seguridad. En este post vamos a ver cómo cifrar una memoria USB aunque se puede cifrar un disco duro completo o una partición del mismo. Así, podemos guardar datos con la seguridad de que nadie sin la clave podrá leerlos, sin importar el sistema operativo. ...

mayo 28, 2019 · 3 min · 436 palabras · Parzibyte

Configurar apache para servir archivos wasm

Al probar WebAssembly en un servidor apache instalado con XAMPP e intentar cargar un archivo con extensión wasm aparecía el siguiente error: Uncaught (in promise) TypeError: Failed to execute ‘compile’ on ‘WebAssembly’: Incorrect response MIME type. Expected ‘application/wasm’ Esto es porque Apache no sabe de qué tipo son los archivos wasm, y no los sirve con el MIME correcto. Vamos a ver dos soluciones a esto. ...

mayo 28, 2019 · 1 min · 184 palabras · Parzibyte

Crear archivos zip con PHP: agregar archivos y directorios, descargar zip y proteger con contraseña

Desde hace tiempo he querido hacer un post completo sobre cómo trabajar con archivos ZIP en PHP. Como sabemos, los archivos ZIP son unos paquetes que permiten tener dentro múltiples archivos para su posterior transporte. PHP tiene soporte nativo para los archivos ZIP en la clase ZipArchive y permite comprimir o empaquetar archivos de una manera fácil. Hoy vamos a ver cómo: Crear un archivo zip y agregarle contenido Forzar la descarga de un archivo zip, es decir, crear un zip y mostrarlo en el navegador Agregar archivos a un zip a partir de un patrón glob Agregar todo el contenido de un directorio de manera recursiva. Es decir, agregar todo el contenido y si hay un directorio agregar el contenido de ese directorio, así recursivamente. Proteger un archivo ZIP con contraseña Todavía no vamos a ver cómo descomprimir o desempaquetar, eso es de otro post. ...

mayo 28, 2019 · 9 min · 1705 palabras · Parzibyte

Formatear unidad a bajo nivel con dd y /dev/zero en Linux Ubuntu

En este post vamos a ver cómo eliminar el contenido de una unidad de disco (puede ser una memoria USB, una partición o un disco duro completo) llenándolo de ceros. La operación que vamos a realizar también se conoce como eliminado seguro, pues elimina todo el contenido de una unidad y la llena de ceros. Para esto vamos a copiar datos del dispositivo especial llamado /dev/zero usando el comando dd. Esto es distinto a simplemente formatear, pues vamos a “formatear a bajo nivel” llenando la unidad de ceros, formateando de forma segura. ...

mayo 28, 2019 · 2 min · 414 palabras · Parzibyte

Node.Js + Express: ejemplo de creación de proyecto

Express es un framework muy popular en el ecosistema de Node y JavaScript del lado del servidor. Casi todo programador lo conoce y muchísimas pilas o paradigmas de programación lo integran, pues es un framework para la web. En este post vamos a ver cómo: Iniciar un proyecto de Node.Js Instalar Express, el framework web Configura rutas en Express y servir: Archivo HTML JSON Una cadena simple Con esto tendremos una plantilla base para un servidor ligero que responda peticiones HTTP. ...

mayo 28, 2019 · 3 min · 502 palabras · Parzibyte

Recuperar archivos eliminados en Linux con Photorec

En este post vamos a ver cómo recuperar todo tipo de archivos eliminados de un disco duro o memoria USB utilizando el software llamado photorec, el cual es un software que ya viene instalado en muchas distribuciones de Linux. Photorec va a escanear toda la unidad (por ejemplo, una memoria USB) y recuperar todos y cada uno de los archivos eliminados: libros, imágenes, canciones, etcétera. Nota: esto tampoco hace magia y la recuperación de archivos depende de varios factores, pero en el mejor de los casos va a recuperar la mayoría. ...

mayo 28, 2019 · 3 min · 441 palabras · Parzibyte

Tablas de multiplicar en Python usando ciclo while

Hoy vamos a ver cómo hacer una función en Python que imprima la tabla de multiplicar de un número. Recordemos que una tabla de multiplicar es aquella en donde se multiplica al número en cuestión por 1, luego por 2 y así hasta el 10. Vamos a crear la función para que reciba cualquier número y a partir del mismo imprima la tabla de multiplicar, todo ello usando el ciclo while. También podremos cambiar el límite para que imprima más allá del 10, pues lo definiremos en una constante. ...

mayo 28, 2019 · 2 min · 286 palabras · Parzibyte