Reconocimiento óptico de caracteres con Ionic 3.x


 

En este tutorial podrás crear una aplicación en Ionic donde esta será capáz de usar una técnica de reconocimiento de imágenes digitales llamada OCR (Optical Character Recognition), para aclarar un poco más el concepto aquí dejo la defición de Wikipedia:

Es un proceso dirigido a la digitalización de textos, los cuales identifican automáticamente a partir de una imagen símbolos o caracteres que pertenecen a un determinado alfabeto, para luego almacenarlos en forma de datos. Así podremos interactuar con estos mediante un programa de edición de texto o similar. – Wikipedia

Continue reading “Reconocimiento óptico de caracteres con Ionic 3.x”

Data encryption with JavaScript


Modern applications needs to consider informatic security as important key  through development and infraestructure implemented in the project. So, I consider a good practice are implement basic and strong encryption methods in every project to protect and hardening our platform and even more when we want to deploy a public API or corporative services.

This article is focused on AES (Advanced Encryption Standard) a commonly and easy to use algorithm. A good introduction https://youtu.be/NHuibtoL_qk.

Continue reading “Data encryption with JavaScript”

Cifrado de información en JavaScript


Las aplicaciones modernas deben considerar a la seguridad informática como un aspecto muy importante, tanto desde el desarrollo de código fuente hasta la infraestructura implementada. Así que considero como buena práctica implementar cifrados básicos y avanzados en cualquier desarrollo para que así se vuelva un poco más complejo dejar abiertas brechas de seguridad en nuestra plataforma desarrollada y aún más cuando se desea implementar API’s públicos o corporativos.

Este artículo está enfocado en AES (Advanced Encryption Standard) un algoritmo bastante usado y fácil de implementar. Una buena introducción https://youtu.be/NHuibtoL_qk.

Continue reading “Cifrado de información en JavaScript”

Cómo crear un bot para Facebook Messenger


facebook messenger bot

En el siguiente post vamos a aprender cómo crear y configurar un bot para Messenger de Facebook soportado en Microsoft Azure, pero vale aclarar que este bot no tendrá inteligencia alguna si no por el contrario será nuestra “interfaz gráfica” del bot.

Para crear dicha inteligencia podemos hacer uso de servicios como LUIS de Microsoft Azure o Watson de IBM que lo verás en otros post.

Descargando el código base

Facebook nos colabora con una plantilla básica creada en Node.js para crear nuestro primer bot, requiere ciertas configuraciones pero las veremos más adelante. En el siguiente enlace podrás encontrar el código fuente:

https://github.com/fbsamples/messenger-platform-samples

Cuando hayas entrado al sitio podrás descargar el zip o clonar el proyecto en alguna parte de tu máquina, ya sea por consola o por alguna herramienta que te gestione los repositorios de GIT. Continue reading “Cómo crear un bot para Facebook Messenger”

Despliege continuo en máquina virtual de Azure con Codeship


En esta entrada se hará despliegue continuo o Continous Deployment en Codeship hacia una máquina virtual en Microsoft Azure mediante SSH para desplegar una aplicación en Node.js.

Suponiendo que ya tienes una cuenta en CodeShip y tienes un proyecto nuevo recién configurado desde Git (yo lo hice desde GitHub) nos encontraremos en una vista parecida a la siguiente:

En esta vista podremos ver si fue correctamente configurado el repositorio en Codeship, ahora si a hacer el despliegue continuo (Continous Deployment).

1. Microsoft Azure

Aquí vamos a crear una máquina virtual Ubuntu Server 16.04 LTS, vamos a clonar el proyecto y lo vamos a ejecutar, no me detendré en este punto ya que no es el objetivo de esta entrada.

2. Conoce tu llave de SSH en Codeship

En la parte superior derecha encontrarás todas las configuraciones del proyecto, ahí vas a ingresar en la opción “General“:

Continue reading “Despliege continuo en máquina virtual de Azure con Codeship”

Cómo generar APK con Xamarin


Luego de que hayas creado tu aplicación en Xamarin necesitas probar la app en distintos dispositivos o publicarla en el Play Store, sin embargo, para generar el apk debe estar firmado digitalmente. La ventaja es que no se necesita una cuenta de desarrollador para generar dicho apk.

Con Xamarin se puede llevar a cabo con unos cuantos pasos.

Generar el Keystore

Lo primero que debemos hacer es localizar la herramienta keytool, que está en nuestro JDK (Java Development Kit) que debemos tener previamente instalado, en mi caso C:\Program Files (x86)\Java\jdk1.7.0_71\bin

  1. Abrir una consola de comandos con permisos de administrador
  2. Cambiar a la ruta a nuestro JDK (cd “RUTA_DEL_JDK”)
  3. Generar el Keystore con el siguiente comando
keytool -genkeypair -v -keystore <filename>.keystore -alias <key-name> -keyalg RSA -keysize 2048 -validity 10000

Continue reading “Cómo generar APK con Xamarin”

Cómo hacer namespaces dinámicos en Socket.io


Socket.io es una librería para hacer comunicaciones en tiempo real con Node.js utilizando Websockets y en este blog he dedicado varios artículos al respecto.

Sin embargo, una necesidad muy común al usar todas las funcionalidades de esta librería es usar correctamente los Namespace y los Rooms, el cual nacen para tener extensiones y una mejor organización de nuestros canales, pero este no es el post para explicar cada uno (http://socket.io/docs/rooms-and-namespaces/) si no para crear namespaces dinámicos y que por su implementación normal no es posible.

A continuación, un ejemplo donde se puede crear namespaces y unirse a ellos dinámicamente.

Servidor

  • Declaración de variables
	var MAX_CLIENTS = 5;
	var namespace_queue = [];
  • Funciones locales

Continue reading “Cómo hacer namespaces dinámicos en Socket.io”

Cómo crear una máquina virtual de Microsoft Azure con Powershell


En el día a día cada vez se ven más las necesidades de automatizar tareas, tanto de desarrollo como en infraestructura; si bien ya existen distintas plataformas para hacer DevOps tales como Chef, Puppet Labs, entre otras, no está de más crear nuestra propia plataforma. En mi caso personal, estoy desarrollando varios proyectos donde requieren automatizar procesos que siempre son tediosos y que se pueden ahorrar tiempos en administración, entre esas cosas que tenía que hacer era automatizar la creación de máquinas virtuales con Ubuntu 14.04.

Este es un ejemplo básico, pero para fines prácticos está muy bien. Continue reading “Cómo crear una máquina virtual de Microsoft Azure con Powershell”

Cómo habilitar acceso remoto en Raspberry Pi


Si bien Raspberry Pi nació como un proyecto para llevar computadores a los niños de bajos recursos y se pudiera conectar cualquier periférico para poder hacer que este fuera más asequible pero muchas veces resulta que no tenemos todo de primera mano.

Como este proyecto ha tomado tanta popularidad y tantos propósitos distintos a veces es difícil tener un teclado, mouse y pantalla extra para poder administrar cada Raspberry Pi, por lo cual hoy en día es posible hacerlo por distintos medios que veremos durante este artículo.

Comenzaré con el más amigable; cabe aclarar que ambos métodos solo sirven en Raspbian y que nuestra Raspberry debe estar en nuestra red local, a no ser que tenga una IP dedicada.

Escritorio remoto

  • Instalar XRDP que simplemente habilita un protocolo de escritorio remoto (RDP)

Continue reading “Cómo habilitar acceso remoto en Raspberry Pi”