8 de septiembre de 2017

Annotating online presentations using an iPad Pro and the Apple Pencil, useful for a MOOC

I am currently teaching the Compilers course remotely.  Because of the interaction and material (drawing tables, DFAs, NFAs, regexps, etc.) I wanted to present some kind of whiteboarding and Powerpoint slides, and draw over the slides.

Since the class meets remotely, I am connected through Skype to the class, and need to share what's on my screen, but also add some white slides to use as whiteboard.  I've found a couple of different ways to do it:

1) Using Powerpoint for iOS to display the presentation and a Macbook for main screen.  This is  by far the best method, as the iPad Pro palm detection mechanism works beautifully here.  I then mirror the iPad's screen to the computer, and then share it out of the call.  To mirror the iPad screen, I use QuickTime.

2) Using Duet Pro for iOS, this essentially converts the iPad to something like a Cintiq tablet.  Mac OS does not include any Ink support, so Powerpoint does not work adequately with the iPad.  So this works best as a Windows setup.  However, gesture detection gets in the way, palm detection is not very good and makes me advance to the next slide when I'm writing on top of a slide, so that gets annoying.

I'll keep trying, and maybe Duet Pro gets better on new releases, as I'll be using a Windows computer for the most part of the course.

15 de mayo de 2017

Guía rápida y sencilla para protegerse del virus ransomware WannaCry

De forma muy rápida, presento algunos pasos que sirven para prevenir ser atacado por el virus ransomware WannaCry.  Igual, estas recomendaciones te protegerán de otros virus que vendrán más adelante, que aprovechen el ataque.

Recomendaciones generales


  • Básico, aplicar todas las actualizaciones (updates) de Windows Update
  • No hacer click o abrir archivos adjuntos en mensajes de correo electrónico que suenan amenazadores: perderás tu saldo, te adjunto factura, no pagaste esto, te ganaste esto, el Ministro dice, etc.
  • No descargar parches de otros sitios que no sean Microsoft directamente.


Para versiones obsoletas de Windows (XP, 2003, Vista)


Microsoft ha emitido un parche que debes aplicar manualmente, el cual está disponible en esta dirección Customer guidance for WannaCrypt attacks


Para Windows 7


En el caso de Windows 7, Microsoft lanzó en marzo pasado el parche que cierra la vulnerabilidad, por lo que debes asegurarte correr Windows Update en tu máquina.  Si no has parchado desde marzo, la última versión de las actualizaciones (Rollup o Paquete Combinado) trae este parche.

Entonces, lo primero, es asegurarte de ejecutar Windows Update, y que todas las actualizaciones sean aplicadas.

Luego, para mayor seguridad, se debe desactivar el protocolo SMB1 siguiendo estos pasos:

1) Abrir un cmd con privilegios elevados:


2) En la ventana del cmd, ejecutar lo siguiente:


En conjunto con el parche, esto cierra toda avenida de infección por medio de este protocolo obsoleto y con fallas de seguridad.


Windows 8, 8.1 y 10


Para las versiones 8, 8.1 y 10 de Windows (incluyendo Windows RT), Microsoft lanzó en marzo pasado el parche que cierra la vulnerabilidad, por lo que debes asegurarte correr Windows Update en tu máquina.  Si no has parchado desde marzo, la última versión de las actualizaciones (Rollup o Paquete Combinado) trae este parche.

Entonces, lo primero, es asegurarte de ejecutar Windows Update y que todas las actualizaciones sean aplicadas.

Luego, para mayor seguridad, se debe desactivar el protocolo SMB1 siguiendo estos pasos:

1) Ir al Control Panel, Programas and Features y luego a Turn Windows Features On or Off


En español: Panel de Control, Programas y Características y luego Activar o Desactivar Características de Windows.

2) Desactivar el protocolo SMB1 en las características de Windows:



En conjunto con el parche, esto cierra toda avenida de infección por medio de este protocolo obsoleto y con fallas de seguridad.

¿Qué pasa si desactivo el SMB1?

Básicamente, se detiene el proceso para compartir archivos en equipos obsoletos.  No te debería afectar en una red moderna.


Conclusión


Espero que esto sea de utilidad.  No incluí los servidores, porque eso ya es otro servicio ;-)




5 de septiembre de 2016

Possible fix for red LED blinking on Raspberry Pi B+

My Raspberry Pi B+ had a blinking red LED whenever I connected it to the USB ports on the Asus RT-N66C router. Because I've read everywhere that it meant that it was experiencing a brownout, I installed a DROK USB tester inline (it shows voltage and current on the USB connection). The connection voltage was a constant 5.01 V and current 0.23 A.
As this was not a condition for brownout, I gathered from several answers on the Raspberry Pi formus that the cable type had something to do. My guess was that it shouldn't change, right?
I swapped the cable I was using, that only had charging leads active, with a full data+charge cable, and the LED stopped blinking. Current and voltage did not change, so I suspect that the B+ power supply somehow mistakes the lack of data cables as a low-voltage situation.
This also explains forum answers that say that changing cables sometimes makes the blinking go away. Nowadays, some USB cables are used for charging only, and do not support data transfers. The B+ expects all leads to be supported. Hope this helps!

10 de junio de 2015

Planificación de la Continuidad de Negocios

Desde los eventos sucedidos en 9/11, el mundo ha cambiado.  La confianza y conveniencia de las relaciones de negocios ha cambiado también, así como las necesidades de proteger personas, activos e información.

La Planificación para la Continuidad de Negocios (Business Continuity Planning – BCP en inglés) consiste en un proceso, continuamente revisado y vivo, para mantener planes y acciones orientadas a mitigar el riesgo de que una empresa no pueda operar sus negocios ante la ocurrencia de un desastre o cualquier evento que interrumpa sus operaciones. No pensemos únicamente en desastres naturales: una interrupción de las operaciones puede deberse a una inundación, un incendio, una epidemia de gripe o hasta una manifestación o huelga que no permita al personal de la empresa presentarse a sus labores.

Actualmente, la mayoría de las empresas dependen en una gran medida de Información y Sistemas de Tecnología para cumplir sus metas y lograr sus objetivos.  Por esto mismo, el tema de Continuidad tradicionalmente se ha delegado a las áreas de Sistemas o Informática.

Lo anterior no es lo más adecuado, ya que lo que deseamos es recuperar y asegurar la continuidad de nuestro negocio; tener computadoras que funcionen 24x7 en un sitio alterno, pero sin personal para operarlas ni un sitio físico para trabajar, no nos permite cumplir completamente objetivo deseado.

La Continuidad de Negocios consta de tres elementos principales:

  • Administración de Crisis: Debemos tener una respuesta efectiva ante la ocurrencia de un evento catastrófico.
  • Reanudación de Negocios: Cómo vamos a hacer la recuperación de las funciones críticas de nuestro negocio, y la reanudación de entrega de servicios a los clientes.
  • Recuperación de desastres informáticos: Cómo se realiza el manejo de la recuperación de los activos informáticos críticos, incluyendo sistemas, aplicaciones, bases de datos y redes.


Por ejemplo, para el mercado financiero en Honduras, la Comisión Nacional de Banca y Seguros (CNBS) emitió la “Norma para regular laadministración de las tecnologías de información y comunicaciones en el sistemafinanciero – Circular 119/2005”, la cual contiene un capítulo específicamente instruyendo a las instituciones financieras para contar con un Plan de Continuidad de Negocios.


Las necesidades del mercado y la competitividad, así como el aparecimiento de normativas y estándares relacionados, poco a poco van logrando que nuestras empresas adopten un proyecto a nivel general de Continuidad de Negocios.

8 de junio de 2015

BPMS vs. Workflow: ¿cuál es la diferencia?

De acuerdo al documento The Top Four Usage Scenarios for a BPMS de la empresa Gartner, un Business Process Management System – BPMS por sus siglas en inglés, es una colección integrada de tecnologías de software que permite el control y la gestión de procesos de negocio.  El informe menciona algunos beneficios a corto plazo como ahorros de tiempo y costos,   cumplimiento de reglas y regulaciones, así como ventajas a largo plazo: visibilidad entre procesos horizontales, la agilidad para satisfacer las cambiantes necesidades de los usuarios y del mercado, y el soporte a la mejora continua de procesos.

En ese documento se menciona también que los sistemas BPMS usan modelos de procesos para coordinar las interacciones entre personas, sistemas e información como aspectos interrelacionados del trabajo en las empresas.  Dicho enfoque integra los recursos físicos utilizados durante la  ejecución, con el diseño del proceso para aumentar la flexibilidad;  en ese caso, el sistema BPM actúa como un "súper workflow", coordinando todos los recursos de un proceso.  Debe notarse que BPMS no es un nuevo nombre para los gestores de flujos de trabajo (Workflow Management Systems); es sólo una de las muchas capacidades que entregan estos nuevos sistemas, entre los cuales se puede destacar:

  • Modelado de Procesos de Negocios, más allá de un flujo de trabajo.  Es decir, que considera entradas, actividades, eventos, notificaciones y salidas gestionadas, y no solamente un cambio de etapas de una transacción o solicitud.
  • Manejo de Reglas de Negocio para toma de decisiones automatizada dentro de los procesos, de forma que el sistema pueda elegir procesos subsiguientes a realizar con base a la información que recibe; por ejemplo, si observara una solicitud en la que el tipo de negocio es una Cooperación Técnica, automáticamente podría decidir saltar la etapa de Evaluación de Impacto.
  • Gestión de estadísticas, tiempos e indicadores para los procesos automatizados, de forma que se cuenten con indicadores de proceso generados y actualizados de forma automática desde la definición inicial del proceso.
  • Integración y orquestación de sistemas, actividades y personas para lograr los objetivos del negocio, de forma que puede integrar otros aplicativos, bases de datos y mensajería para interactuar y procesar sus transacciones.
  • Tecnología basada en Arquitectura Orientada a Servicios (SOA) , la cual facilita la integración y creación de nueva funcionalidad para extender el alcance del aplicativo; por ejemplo, podría crearse un Servicio en el sistema central para agregar nuevos clientes, y publicarlo hacia la página Web, de forma que podría servir de punto de contacto para el registro de nuevos clientes.

He preparado un documento más completo, que puede descargarse aquí con mayor información sobre el tema, incluyendo ciertos análisis comparativos entre BPMS líderes en el mercado.


2 de mayo de 2015

Una herramienta para listar dispositivos USB en Windows / A tool to enumerate or list USB devices in Windows

Un post rápido, aquí hay una herramienta útil para listar los dispositivos USB conectados a una computadora Windows, útil para hacer búsqueda de problemas.  Me ha servido para comenzar el diagnóstivo de mi Nexus 7 que está convertida en ladrillo #Nexus7Bricked.  Recuerden que es software descargado de Internet, las restricciones y advertencias usuales aplican...

USB Viewer -> http://www.ftdichip.com/Support/Utilities/usbview.zip

-----------------

A quick post, here's a handy little utility to list or enumerate USB devices connected to a Windows machine, useful for troubleshooting.  I've used to start diagnosing my bricked Nexus 7 #Nexus7Bricked.  Remember that is software downloaded from the Internet, so the usual restrictions and warnings apply...

USB Viewer -> http://www.ftdichip.com/Support/Utilities/usbview.zip

18 de noviembre de 2014

La Hora del Código edición 2014

La semana entre el 8 y el 14 de diciembre está denominada como "Computer Science Education Week". Por eso, se está celebrando alrededor del mundo el evento "Hour of Code", en el cual se hace un taller de 1 hora, donde se le enseña a alguien que nunca ha programado, los fundamentos de programación, al menos para que se difunda el conocimiento .
Por esto, ya inscribí un evento para esa semana, para que sea en Tegucigalpa. Estoy preparando un material para dar al menos tres sesiones en esa semana, podrían ser más. Me falta lo siguiente:

1) Lugar dónde hacerlo
2) Promoción

La idea sería que llegara gente que no ha programado nunca, niños o adultos, y hacer algo interesante, tengo un par de ideas basadas en las propuestas que tienen en el sitio. Usaré Python para esto, con un web IDE para que quienes llegan no tengan que instalar nada, aparte de Chrome Browser.

Si alguien se apunta a apoyar, excelente.

El website del proyecto es el siguiente: http://hourofcode.com

Música: U2 Songs of Innocence Deluxe Edition, Pink Floyd The Endless River
Libro: Gone Girl