Actualizaciones en Picando Código: política de privacidad, HTTPS y más

08/03/2021
Artículo original

Como comenté hace poco, he estado invirtiendo un poco de tiempo en el blog y le he ido mejorando algunas cosas de a poco. Entre estas cosas que he ido haciendo, actualicé la Política de Privacidad del sitio. Recientemente eliminé todos los códigos que alguna vez usé por ser un afiliado en Amazon y algún otro servicio online. La mayoría de estos enlaces eran de hace muchos años. En esa época me inscribí en algunos programas de afiliados con la idea de generar ingresos suficientes como para pager el hosting de este sitio. Pero ya no es la idea. Creo […]

El post Actualizaciones en Picando Código: política de privacidad, HTTPS y más fue publicado originalmente en Picando Código.

Resumen DATA Uruguay 2020

08/03/2021
Artículo original

DATA publicó un resumen de lo que fue el año 2020 para la organización. En ese mismo post podemos ver una línea de tiempo detallada con todo el trabajo realizado a lo largo del año. Pero destacan particularmente algunos proyectos y novedades para este año. En 2020 su alcance no se limitó a Uruguay y llegaron a replicar proyectos en México y Colombia. Comparto las novedades: ATuNombre.uy ❤️ Mujeres con Calle En marzo se relanzó el proyecto Mujeres con Calle, integrando el trabajo desarrollado por DATA, Mirá Mamá y un hermoso grupo de voluntarias/os en ATuNombre.uy. Para el proyecto nacido […]

El post Resumen DATA Uruguay 2020 fue publicado originalmente en Picando Código.

Noticias de programación para programadores ocupados #9: semana 1-Marzo-2021

06/03/2021
Artículo original

[youtube:0DAG4znmZlg]

Enlaces mencionados en el vídeo:

Microsoft Ignite

Google

Otros

Cómo gestionar usuarios y grupos en Windows 10 Home (mejor incluso que con Pro y Enterprise)

05/03/2021
Artículo original

Windows 10 Home es lo que viene con la mayor parte de los equipos no empresariales que compras. Está muy bien para la mayor parte de los usos, pero le quitan un montón de cosas pequeñas, que no usas a menudo pero que, cuando las necesitas, las echas mucho de menos. Por ejemplo, hace poco expliqué aquí cómo se puede habilitar Hyper-V en Windows Home, algo que no tiene disponible por defecto.

Hoy le toca el turno a algo muy básico pero que no se puede hacer con lo que trae Windows Home: gestionar adecuadamente a los usuarios.

En un equipo con Windows 10 Profesional o Enterprise es tan sencillo cómo pulsar WIN+R y escribir lusrmgr.msc (abreviatura de "local user manager"):

El diálogo de ejecución con lusrmgr.msc escrito

tras darle a ENTER se abre el diálogo nativo para gestión de usuarios y grupos:

El gestor nativo de usuarios y grupos

pero en Windows Home no tenemos este complemento de administración, por lo que esto no va a funcionar.

Un lusrmgr alternativo para Windows Home

Por suerte, para toda carencia siempre parece haber algo que lo soluciona, y un "geek" que ha hecho algo para remediarlo. Y esta no es una excepción.

Existe un proyecto de código abierto llamado "Local User and Group Management" que es una versión alternativa de la herramienta nativa de Windows. Solo que mejor.

Lo bueno de esta herramienta es que funciona con Windows Home y suple la falta de la original. Pero es que además es bastante mejor que la original. Por ejemplo, así se crea un nuevo usuario:

La animación muestra cómo se crea un nuevo usuario, y cómo se ven sus propiedades avanzadas

Permite gestionar más cosas, y desde la misma interfaz, que la aplicación por defecto de Windows. Por ejemplo, definir las franjas horarias a las que puede acceder al ordenador un determinado usuario:

Edición de un usuario, y definición de franjas horarias para acceder

Ofrece una búsqueda rapidísima de objetos:

Búsqueda con lusrmgr

y permite gestionar también los usuarios y grupos de equipos remotos, siempre que tengamos permisos claro.

Es tan útil que, personalmente, es lo que utilizo en lugar del que trae Windows, aunque mis sistemas tienen Windows 10 enterprise.

Para obtenerlo solo tienes que ir a la página de GitHub de lusrmgr, y dentro de ésta a la sección de "Releases". Descargas el .exe que tienes ahí y lo copias a tu disco duro a donde quieras.

Se trata de un ejecutable único, no tiene instalación. Está escrito en Visual Basic .NET y funciona en Windows sin necesidad de instalar nada más (¡es interesante echarle un vistazo al código fuente!).

La primera vez que lo ejecutes, como está bajado de Internet y no viene firmado digitalmente, te sacará un aviso recomendándote no utilizarlo. Para ejecutarlo debes pulsar en el enlace de Más informacion y luego, abajo, en el botón de Ejecutar de todos modos, como muestra la siguiente animación que he creado:

Diálogo de advertencia

También necesita elevación de privilegios (o sea, ejecutarlo como administrador) por lo que te saltará el diálogo habitual. Este aspecto lo puedes configurar también desde el menú File del programa para decidir si sólo saltará la elevación de privilegios cuando sea necesaria, y no siempre:

El diálogo de configuración de la UAC

También podemos personalizar cómo se ve la interfaz de usuario.

En resumen

lusrmgr es un programa gratuito y Open Source que nos permite gestionar los usuarios y los grupos de seguridad de nuestro equipo local o de equipos remotos y que, aparte de funcionar incluso en Windows Home, es mejor opción en cualquier caso que la herramienta por defecto que viene con Windows. Así que te la recomiendo encarecidamente.

 ¡Espero que te resulte útil! Y si es así, ya sabes...

Siete días en el Picandoverso – Primera semana de Marzo

03/03/2021
Artículo original

Primeros 7 días en el Picandoverso de Marzo de 2021. Darme cuenta que va a hacer 1 año que no salgo de Edimburgo, pasando por distintos niveles de encierros y estados mentales, me ha pesado un poco esta última semana. Pero seguimos “en la lucha”. Vengo mirando de nuevo Futurama desde que llegó a Disney+ por éstos lados. ¡Qué buena serie! También sigo jugando a los distintos Street Fighter en Nintendo Switch y leyendo cómics. Estos días voy a volver a Super Mario 3D World y seguir recorriendo mi biblioteca de juegos. Estoy esperando con ansias jugar Tony Hawk’s Pro […]

El post Siete días en el Picandoverso – Primera semana de Marzo fue publicado originalmente en Picando Código.

Street Fighter: La película

03/03/2021
Artículo original

Street Fighter es una película de acción de 1994 basada en la serie de videojuegos de Street Fighter. Fue producida por Capcom y desde el arranque tuvo varios problemas de producción. Igual terminó siendo un éxito comercial para Capcom, no así con la crítica y los seguidores de la saga en su momento. Dale a Hollywood cualquier temática con acción, y te saca una película militar. El guión se alejó del origen en las artes marciales del videojuego, centrándose más en una guerra en un país inventado de Asia. En este caso Shadaloo es el nombre del país -en vez […]

El post Street Fighter: La película fue publicado originalmente en Picando Código.

Ofuscación: cómo proteger el código de tus aplicaciones .NET

03/03/2021
Artículo original

En un post anterior vimos cómo era posible recuperar el código de cualquier programa de .NET a partir de su .exe o .dll usando un descompilador. Hoy vamos a ver cómo podemos tratar de evitarlo gracias al uso de un ofuscador de código.

Los ofuscadores de código, como su propio nombre indica, tienen la capacidad de complicar mucho el código original de modo que, aunque no cambia lo que hace el programa, y el computador es capaz de ejecutarlo sin problemas, cuando un humano lee el código fuente resultante es tan complejo que no es capaz de seguirlo.

Primero te cuento en este vídeo cómo puedes lograrlo y, a continuación, te dejo algunas consideraciones importantes sobre estas técnicas de ofuscación, el código de ejemplo, y los enlaces mencionados.

¡Vamos allá!

[youtube:W77fzhtxgS0]

Debes tener en cuenta que la ofuscación no impide decompilar el código, sólo lo complica mucho, por lo que si lo que quieres ocultar es un detalle muy concreto (como una protección o licencia) no te servirá de mucho ante un "cracker" con determinación.

Existen algunas herramientas muy especializadas como De4DOT o que DEObfuscar, que se especializan en deshacer la ofuscación con más o menos éxito según la complejidad del programa. Por ejemplo, aunque es muy efectivo con otros decompiladores, De4Dot no logra apenas nada con el código ofuscado con Obfuscar, el ofuscador que he utilizado en el vídeo. Sin embargo DEObfuscar es mejor y puede aclarar bastante el código, aunque sigue siendo muy lioso, entre otras cosas porque no recupera nombres de funciones internas, variables, etc...

Por otro lado no debes obsesionarte con ofuscar el código. Al final hay una verdad universal en programación que, cuando tienes experiencia acabas por descubrir: es mucho más complicado leer código que escribirlo. Y si no, prueba a leer y entender el código de cualquier aplicación Open Source que conozcas que no tenga muchos comentarios o, sin ir más lejos, código tuyo de hace un par de años si lo tienes. Lo más importante en una aplicación no trivial son las miles de pequeñas decisiones que se toman y por qué se toman, y no tanto la implementación concreta de las mismas. Por eso es muy importante mantener una buena documentación interna y externa.

De todos modos si lo necesitas, espero que este vídeo te haya resultado interesante para aprender a proteger tu código fuente para .NET.

Te dejo el código fuente de las aplicaciones de ejemplo aquí:

Enlaces de interés:

 

Power Fx, el nuevo lenguaje creado por Microsoft para programar sin apenas código y basado en las fórmulas de Excel

02/03/2021
Artículo original

Power Fx, el nuevo lenguaje creado por Microsoft para programar sin apenas código y basado en las fórmulas de Excel

Hoy, durante su evento anual para desarrolladores Ignite 2021, Microsoft ha presentado su nuevo lenguaje de programación Power Fx, destinado a facilitar que la mayoría de los usuarios acostumbrados a trabajar con MS Excel sean capaces de programar.

Y no porque confíen en que estos usuarios vayan a ponerse ahora a estudiar complejas lecciones sobre desarrollo de software, sino porque Power Fx es un lenguaje 'low-code' (literalmente, 'de bajo código'), es decir, enfocado a simplificar el código hasta reducir su uso a su mínima expresión.

Es este caso, se busca que podamos utilizar la Power Platform de la forma más intuitiva posible, facilitando la creación de programas empresariales sencillos en forma de apps o bots.

Este lenguaje está basado en expresiones declarativas con el objetivo de facilitar a los usuarios la lectura y manipulación de datos. Y, al basarse en las fórmulas ya utilizadas en Excel, Microsoft confía en que los fundamentos de Power Fx sean ya familiares para "millones de usuarios".

"Los lenguajes de programación están en nuestro ADN"

Además de en las fórmulas de Excel, Microsoft se ha inspirado también en la sintaxis de lenguajes como Pascal, Mathematica o Miranda (un lenguaje de programación funcional de los 80).

De modo que, aunque sea 'low-code', Power Fx no será un lenguaje visual, sino basado en texto. Y, además, es de código abierto y está disponible en GitHub para que cualquiera pueda implementarlo en sus propios proyectos. ¿Su objetivo? Convertirlo en el estándar de facto para esta clase de usos.

Sin embargo, pese a su naturaleza 'open source', Microsoft tiene la intención de seguir controlando la evolución de Power Fx, aunque adherido a una licencia MIT, también aplica un 'Acuerdo de Licencia de Colaborador' (CLA) que permitiría a la compañía cambiar dicha licencia en el futuro.

En palabras de Charles Lamanna, vicepresidente corporativo de Microsoft, estaríamos ante otro ejemplo más de un lenguaje desarrollado por una gran compañía que en los últimos años da el salto al 'open source' y termina siendo adoptado por una amplia comunidad de desarrolladores, como ya ocurrió con C# y TypeScript (de la propia Microsoft), o con Go (de Google).

Power Fx estará disponible tanto en el entorno Power Apps Studio como -en el caso de necesitar desarrollar aplicaciones más complejas- en Visual Studio Code. También podremos usarlo en breve en Power Automate (el antiguo Microsoft Flow) y Power Virtual Agents.

{"videoId":"x7znum0","autoplay":true,"title":"DOMINA MICROSOFT EXCEL: 17 FÓRMULAS ESENCIALES"}
(function() { window._JS_MODULES = window._JS_MODULES || {}; var headElement = document.getElementsByTagName('head')[0]; if (_JS_MODULES.instagram) { var instagramScript = document.createElement('script'); instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js'; instagramScript.async = true; instagramScript.defer = true; headElement.appendChild(instagramScript); } })();

GNOME Latam 2021 – Conferencia online para América Latina

02/03/2021
Artículo original

GNOME anunció GNOME Latam, un día para celebrar y expandir la comunidad GNOME en América Latina. El llamado a presentaciones está abierto y están buscando oradores que presenten en Español y Portugués. El anuncio: Ven a conocer y compartir experiencias en la creación y uso de las tecnologías GNOME en nuestra región. Acerca de GNOME Latam El proyecto GNOME Latam 2021 es una agrupación de miembros de GNOME, este proyecto apunta en especial a todas aquellas personas de la comunidad hispana que se sientan atraídas y motivadas en participar ya sea con o sin conocimientos informáticos con la intención es […]

El post GNOME Latam 2021 – Conferencia online para América Latina fue publicado originalmente en Picando Código.

¿Cómo están ayudando la inteligencia artificial y el aprendizaje automático en la Industria 4.0?

01/03/2021
Artículo original

Introducción

Robot soldador, foto de Clayton Cardinalli, CC0La inteligencia artificial y, en particular, el aprendizaje automático (machine learning) han contribuido de forma notoria a la revolución industrial 4.0.

En la actualidad, industrias de todo tipo emplean ya dispositivos basados en alguna tecnología de IA y se espera que el número de empresas que utiliza IA en Europa crezca en los próximos años. Por otro lado, las técnicas de aprendizaje automático empleadas en las organizaciones han simplificado y reducido el trabajo "manual" de muchos trabajadores.

Hace ya algunos años que oímos hablar de la industria 4.0, pero ¿qué es eso exactamente y cómo se relaciona con diversas tecnologías?

Qué es la industria 4.0

Industria 4.0 es un término que fue utilizado por primera vez en 2011 en Alemania y que describe una organización de los procesos de producción basada en la tecnología y en dispositivos que se comunican entre ellos de forma autónoma a lo largo de la cadena de valor. En palabras más sencillas...

La industria 4.0 consiste en la digitalización de la industria y todos los servicios relacionados con la empresa.

También se conoce como cuarta revolución industrial, ciberindustria, industria inteligente etc.

Autor: Christoph Roser at AllAboutLean.com, CC BY-SA 4.0.

Según la figura anterior tenemos:

  • Industria 1.0.: la primera revolución industrial surgió en 1784 con el primer sistema de mecanizado implantado gracias a la máquina de vapor.
  • Industria 2.0: en esta era destaca el invento de la cinta transportadora. Comienza lo que se conoce como la fabricación en serie.
  • Industria 3.0: en los años 60 aparecen los semiconductores y con ellos los primeros controladores programables que permiten automatizar la producción.
  • Industria 4.0: la cuarta revolución industrial se caracteriza por la digitalización de todos los procesos de producción y su conexión a internet.

Cómo está la IA impactando en la industria

En prácticamente todas las empresas de producción encontramos máquinas, así como robots industriales que realizan tareas de forma automatizada, pero esto no significa que usen IA. La principal diferencia entre inteligencia artificial y automatización es que:

  • La automatización utiliza un software que sigue unas reglas y unos pasos preprogramados.
  • La inteligencia artificial es capaz de realizar tareas y tomar decisiones para las que no ha sido específicamente programada previamente.

Tenemos claro qué tareas o en qué áreas de nuestra empresa podemos aplicar la automatización, pero ¿y la inteligencia artificial? ¿Dónde resultaría útil?

Obviamente no existe una fórmula mágica y cada empresa tiene diferentes necesidades y una cultura diferente. Sin embargo, si la automatización de una organización suele suponer ahorros de costes que van del 40% al 75% por ciento y una recuperación de varios meses a varios años, ¿qué cabría esperar si empleamos inteligencia artificial?

Estas son algunas de las áreas de una empresa de producción en las que la inteligencia artificial se muestra realmente útil a la hora de transformar dicha organización:

Mantenimiento

Robot soldador, foto de Clayton Cardinalli, CC0

El mantenimiento predictivo hace que el equipo se someta a mantenimiento cuando es necesario, mientras que el mantenimiento preventivo hace que el trabajo se realice según un cronograma establecido, sea necesario o no.

Para aplicar un mantenimiento predictivo, la empresa debe recopilar y posteriormente analizar mediante técnicas de IA datos de varias fuentes de fabricación como máquinas, sensores, interruptores, etc. Usando algoritmos avanzados de aprendizaje automático (machine learning) las empresas son capaces de predecir cualquier anomalía que pueda provocar un fallo en un equipo antes de que suceda.

Con el uso de IA, las empresas pasarían de realizar mantenimientos preventivos a mantenimientos predictivos, antes de que se produzcan los fallos y anticipándose a ellos con un alto nivel de confianza, con el ahorro en costes que eso supondría.

Calidad

Actualmente, en los procesos industriales, los sistemas de calidad se basan en la evaluación de los productos terminados y la comprobación de su correcto funcionamiento.

Gracias al uso de ciencia de datos e inteligencia artificial, es posible obtener y procesar una gran cantidad de información que permita predecir situaciones complicadas que provocarían importantes problemas de calidad.

Los principales fabricantes usan inteligencia artificial, y más específicamente el aprendizaje automático, para ayudar a garantizar que sus productos estén libres de defectos antes de que salgan de la planta, con el consiguiente ahorro en costes que ello conlleva.

Gracias al empleo de IA, es posible controlar la calidad antes de que el producto esté acabado.

Seguridad

La seguridad en el lugar de trabajo es muy importante; los trabajadores de producción están constantemente en riesgo, pero con la tecnología actual, los fabricantes pueden limitar las amenazas y mejorar la seguridad de sus activos más valiosos: su gente. Veamos un par de ejemplos:

Instrucciones de trabajo en 3D

Todos sabemos que las instrucciones de trabajo y, en especial, los manuales de las máquinas, a veces son textos no tan didácticos ni tan claros como cabría esperar.

Incluir realidad aumentada en las instrucciones de proceso, así como en los manuales, puede ayudar a los trabajadores a comprender mejor las tareas y a ser conscientes de los riesgos de seguridad y las condiciones peligrosas cuando trabajan con cierta maquinaria. El texto impreso carece del contexto visual que proporciona la RA.

Monitorización en tiempo real

Monitorear el estado de las máquinas, líneas e instalaciones permite predecir y responder a posibles problemas de seguridad antes de que sucedan. Por ejemplo, si se detecta una anomalía dentro de un equipo sobre aspectos como la temperatura, la calidad del aire o los niveles de ruido, permitiría apagar proactivamente equipos defectuosos o despejar áreas inseguras anticipándose con alta confianza a los problemas de segudidad. Con este tipo de información operativa al alcance de la mano y analizada en tiempo real, se puede, no solo mejorar el cumplimiento de la normativa de prevención, sino hacer que el lugar de trabajo y el medio ambiente sean significativamente más seguros.

Gracias a la IA ahora hay tecnología disponible que permite mejorar la seguridad en la industria y evitar lesiones y enfermedades a los trabajadores.

Interacción hombre-robot

Foto ornamental de la mano de un robot, por Possesed Technology, CC0

En comparación con las soluciones totalmente automatizadas, los robots colaborativos (cobots) son muy rentables, algo que los hace atractivos para las pymes y otras empresas que quizás no hayan pensado en invertir en automatización. Además de esto, permiten a las empresas hacer un mejor uso de su personal y, gracias a la programación sencilla y los tiempos de configuración rápidos, proporcionan una opción viable en pequeñas tiradas de producción.

El uso de IA (concretamente redes neuronales) para modificar las operaciones realizadas por el robot en función de movimientos humanos medidos y predichos, abre un mundo completamente nuevo de posibilidades para un trabajo más eficiente y flexible.

Usando IA podríamos modelar, rastrear y predecir los movimientos humanos dentro del espacio de trabajo de un robot.

Resumen

La inteligencia artificial (IA) y el Machine Learning (ML), apoyados en ciencia de datos, sensores y las nuevas redes de comunicaciones, se están convirtiendo rápidamente en indispensables para una amplia variedad de industrias, transformando la forma en que se realizan las inspecciones (control de calidad), el mantenimiento y el ensamblaje, entre otras operaciones, y ahorrando costes, mejorando los productos y aumentando la seguridad.

Página Siguiente