Cómo leer cualquier artículo de Internet sin publicidad, ni comentarios y sin aceptar cookies

24/09/2021
Artículo original

Imagen ornamentalBueno, este es un truco sencillo pero muy efectivo. En realidad son 3 trucos en uno ya que no son excluyentes y se puede usar una combinación de 3 cosas diferentes para lograr el objetivo. Lo más importante es que es algo muy cómodo y además con muchas posibilidades adicionales, según el caso... Vamos allá.

1. Modo lectura integrado de Chrome

En primer lugar, mucha gente no lo sabe porque lo ocultan mucho porque no les interesa, pero el navegador Google Chrome incluye de serie un lector de artículos integrado que básicamente lo que hace es generar versiones legibles de las páginas que visitas. Esto es muy útil porque, con un solo clic, puedes tener un artículo perfectamente legible en el que ha desparecido todo lo superfluo: publicidad, comentarios, avisos de cookies y toda esa porquería.

Para activarlo tienes que abrir una nueva pestaña y en la barra de dirección escribir: chrome://flags. Una vez dentro busca la palabra reader y activa el ajuste que se llama Enable Reader Mode:

El flag indicado, ya activado

Ahora tienes que reiniciar el navegador por completo (cerrar todas las ventanas y pestañas).

Al volver a arrancarlo ya te funcionará. A partir de ahora, cuando visites una página y se detecte que se puede convertir al modo de lectura, tendrás un nuevo icono a la derecha de la barra de direcciones para entrar en dicho modo:

El icono en cuestión, a la derecha de la barra, antes del icono de marcar como favorito

Sí, funciona en modo incógnito también.

Al pulsarlo, automáticamente detecta el contenido principal de la página y genera una versión legible del mismo. Funciona mejor en páginas de artículos que de portadas, tenlo en cuenta.

Por ejemplo, en este vídeo vemos un artículo del El País, que tiene muchísima publicidad por todas partes, cosas por el medio y más sugerencias grandes en la parte inferior, aparte de otros elementos que sobran por todos los lados. Al pulsar el botón verás cómo se convierte en un artículo perfectamente legible que tiene tan solo los contenidos interesantes, incluyendo imágenes y/o vídeos propios del artículo si es que los hubiese:

[youtube:lL4dT4WYcMs]

Como ves, se trata de algo espectacular.

Para mi gusto, por defecto, tiene una letra demasiado pequeña y es demasiado estrecho, pero por suerte, se puede personalizar con facilidad dándole a la letra "A" que tiene arriba a la derecha, así:

[youtube:Pp_ONpnFOeo]

La personalización es limitada, pero suficiente para la mayor parte de los casos.

2. Subiendo de nivel: extensión Reader View

Lo anterior la verdad es que está genial y vale para la mayoría de los casos. Además, lo bueno es que no es necesario instalar nada. Ahora bien, hay páginas que no las "pilla" bien y no le hace la vista previa apropiadamente, y además las opciones de personalización son muy limitadas.

Por eso, la segunda opción que uso es la excelente extensión Reader View.

Nota: aunque es una extensión para Chrome, te funcionará en cualquier navegador basado en Chromium como Edge, Brave, Opera o Vivaldi, si bien puede que tenga una versión específica para esos navegadores. También la hay para Firefox aquí.

Esta extensión es como lo que acabamos de ver nativo de Chrome, pero mucho más potente y con mayor calidad para captar la estructura de los artículos. No suele fallar casi nunca.

En este vídeo corto te comento sus capacidades que, como verás, son muy interesantes: poder cambiar con mucho más control el aspecto, imprimir, enviar por email, guardar a disco, ver a pantalla completa, editar el contenido, que te lo lea en voz alta, desactivar las imágenes, o ponerle notas. Como verás, mucho mejor que lo que trae Chrome:

[youtube:EqaEZsXZAQ0]

Puedes personalizar su vista como prefieras usando las instrucciones que tiene en su página. Suele sacar versiones con cierta frecuencia para ir mejorando. Llevo mucho tiempo usándola sin problema. Es altamente recomendable.

Nota: es gratuita pero, si la usas a menudo, te recomendaría que le donases algo a su creador para ayudar con el desarrollo futuro, porque está muy bien.

Dos consejos con Reader View antes de pasar al siguiente:

1.- Por si no te fías (yo nunca lo hago) y porque realmente es la mejor opción, debes activar la extensión para que sólo pueda actuar sobre las páginas cuando tú la pulses, y no siempre. Por suerte, esta extensión soporta esta capacidad. Así que pulsa con el botón derecho sobre su icono y en el menú que aparece elige la opción de que sólo pueda cambiar o acceder a los datos del sitio cuando pulses sobre ella, como muestra esta captura:

La captura muestra las opciones del menú secundario

2.- Permítele el acceso en las pestañas privadas y, opcionalmente, a archivos locales por si quieres aplicarlo a páginas HTML que tengas en disco. Para ello pulsa en Gestionar extensiones en el mismo menú secundario de antes y, en la página que aparece, marca estas dos opciones:

Opciones para permitir en incógnito y para permitir acceso a archivos locales

Así podrás usarla incluso cuando accedas en pestañas privadas, cosa muy útil a veces y que me lleva a la tercera parte de este post...

3. Deberías abrir muchas más cosas en pestañas privadas: te lo pongo fácil

Con lo explicado en los dos apartados anteriores deberías ser capaz de ver la mayor parte de las páginas incluso aunque tengan los avisos de cookies que te ocultan el contenido. Si son páginas que visitas a menudo, lo normal es que aceptes las cookies mínimas para poder entrar y listo. Pero yo, cuando me sale la típica página cuando busco algo a la que sé que probablemente no vaya a visitar nunca más, prefiero abrirla en modo incógnito (pestaña privada), aceptar todas las cookies ahí y leerlo sin problemas, porque al cerrar la pestaña es como si nunca hubieras estado: una cosa menos que ocupa espacio en tu disco.

Es cierto que si pulsas con el botón derecho en un enlace de tu navegador, una de las opciones que te da es la de abrirlo en una pestaña privada:

Las opciones en el botón derecho para un enlace

Pero, ami por lo menos, me gusta más abrirlos primero de la manera convencional para echarle un primer vistazo. Si veo que me interesa ver el contenido completo y que el diálogo de cookies es muy intrusivo o muy tedioso de gestionar (los hay infernales y muy lentos), entonces prefiero abrirlo en una pestaña privada.

Una extensión para Chrome muy cómo para esto es Incognito This Tab. Lo que hace es muy simple y directo: cuando la pulsas te abre lo que tengas en la pestaña actual en una nueva pestaña privada, en modo incógnito:

El botón de la extensión

Sencillo pero muy útil. No hace falta copiar la dirección, abrir una pestaña privada nueva (CTRL+MAYs+N, por cierto), pegarla y darle a ENTER. Con esto es hacer un clic y listo.

Si la combinas con el uso de las anteriores, puedes leer casi cualquier contenido, de manera más cómoda, sin publicidad, sin comentarios, sin aceptar (o sí) las cookies, y sin ningún elemento superfluo que te distraiga de lo importante: el contenido.

¡Espero que te resulte útil!

Conectividad, automatización flexible y datos, los 3 impulsores de la industria 4.0

24/09/2021
Artículo original

Línea de monatje - imagen CCO por Lenny Kuhne: https://unsplash.com/@lennykuhne?

La fabricación inteligente (SM, por sus siglas en inglés) es un concepto amplio; no es algo que pueda implementarse directamente de la noche a la mañana en un proceso de producción. Se trata de una combinación de varias tecnologías y soluciones que, colectivamente, si se implementan en un ecosistema de fabricación, se denomina fabricación inteligente. Esta "solución" se puede clasificar en tres categorías amplias que son conectividad, inteligencia y automatización flexible y, en general, se denomina tecnología habilitadora.

El término tecnología habilitadora o impulsora fue usado por primera vez en el informe publicado en 2019 de forma conjunta por el Foro Económico Mundial y la consultora McKinsey:

Impulsores de la industria 4.0: fuente WWF & McKinsey

FIGURA EXTRAÍDA DEL INFORME DEL FORO ECONÓMICO MUNDIAL DE 2019

Los datos son el epicentro del crecimiento de la fabricación inteligente, pues son los datos quienes decidirán qué hacer y cuándo hacerlo. El análisis de estos datos ayudará a que el proceso de producción sea eficiente.

Conectividad

Los límites horizontales de la empresa se identifican como el rango de cantidades y variedades de productos y servicios que produce una empresa; mientras que, los límites verticales se definen como todas las actividades que se encuentran a lo largo de su cadena de valor. Teniendo en cuenta esta definición, la integración horizontal y vertical, dos de los factores más importantes en una Smart Factory, implica una mayor conectividad y cooperación en todas las dimensiones de la empresa, no necesariamente limitadas al entorno de producción.

En una Smart Factory interconectada, la integración horizontal garantiza que la maquinaria, los dispositivos de IoT y los procesos de ingeniería funcionen juntos sin problemas. La integración vertical garantiza que los datos de producción se utilicen en niveles organizativos más altos (por encima de la planta de producción) al ser incluidos en la toma decisiones de marketing, compras, personal y otras.

Tecnología y conectividad

La capacidad de conectar dispositivos digitales con sistemas de TI a través de Internet de las cosas (IoT) brinda información relevante a las personas que deben tomar una decisión en el momento adecuado. IoT también permite el seguimiento de objetos a través de la línea de producción en tiempo real mediante la integración de dispositivos de identificación por radiofrecuencia (RFID) y otros sensores con Internet.

Por lo tanto, a través de IoT, se puede establecer un flujo continuo de información de los sistemas a las personas, de las máquinas a las máquinas y de los dispositivos a los componentes. La aplicación de IoT en un contexto industrial a menudo se denomina Internet industrial de las cosas (IIoT) o "Internet industrial".

Otras tecnologías que caen bajo la definición de conectividad son la realidad aumentada (AR) y la realidad virtual (VR). En el contexto de la Industria 4.0, la AR se puede implementar como sistemas de asistente, creando una interfaz visual que puede proporcionar información del sistema al usuario en un contexto en tiempo real. La AR puede potencialmente guiar a un usuario con tareas desconocidas mediante la visualización de información. Sin embargo, la realidad virtual permite la visualización de objetos a través de dispositivos semi o completamente inmersivos, como gafas de realidad virtual. Abre un entorno virtual interactivo que puede contener, por ejemplo, información visual sobre las condiciones operativas y modelos virtuales de productos completos, máquinas y fábricas.

Inteligencia

A medida que las máquinas comienzan a comunicarse y detectar su entorno a través de IoT y redes interactivas computacionales, tienen el potencial de volverse autónomas. Sin embargo, para procesar los datos de manera útil, aprender y actuar posteriormente sobre la gran cantidad de datos recopilados por sensores; se necesita inteligencia.

Aquí es donde entra en juego la inteligencia artificial (IA). Además, en el caso de la industria 4.0, cuando se habla de IA, el término "aprendizaje automático" (Machine Learning) es inevitable. ML se refiere a la ciencia de hacer que las máquinas aprendan y mejoren alimentándolas con datos de observaciones e interacciones para imitar el comportamiento humano.

Tecnología e inteligencia

Tal y como adelantamos en el párrafo anterior, la tecnología por excelencia impulsora de la inteligencia es el aprendizaje automático, que a su vez es un subcampo de la inteligencia artificial.

Si necesitas aclarar las diferencias entre los conceptos IA, ML, Big Data, Deep Learning y Ciencia de datos te aconsejo que leas este artículo.

A través de los algoritmos de ML combinados con la captura de datos en tiempo real, las máquinas pueden tomar sus propias decisiones. Por otro lado, dado que la IA tiene el potencial de dar sentido a los datos y actuar a partir de los mismos, puede permitir el mantenimiento predictivo, la previsión basada en simulaciones y otros beneficios de relacionados con la optimización de procesos.

Por último, está lo que se conoce como Analítica Avanzada (AA); se trata de un término genérico que engloba varios métodos utilizados a la hora de hacer predicciones (incluida la IA, Big Data, así como diversas técnicas de análisis estadístico y semántico). En esencia, la AA se conoce como análisis predictivo y se puede utilizar en la toma de decisiones.

Automatización flexible

La automatización flexible, también llamada automatización "suave", ofrece una conversión rápida y sin problemas del proceso o de la máquina, lo que permite a los fabricantes producir una variedad de productos utilizando, por ejemplo, una sola máquina adaptativa.

Tecnología y automatización flexible

Son 3 las tecnologías a destacar en relación con la automatización flexible: la fabricación aditiva (AM, por sus siglas en inglés), los robots autónomos y los robots colaborativos.

La fabricación aditiva (AM) o impresión 3D tiene la capacidad de reducir el desperdicio, permitir una producción personalizada y reducir el inventario. Es un método en el que el material se agrega capa por capa, a diferencia de los métodos de sustracción de material (como por ejemplo el mecanizado) donde la eliminación de material se realizada de una forma predefinida.

En los que se refiere a los robots colaborativos, también conocidos como "cobots", hay cuatro funciones de colaboración para estos: parada con control de seguridad, guía manual, control de velocidad y separación y limitación de potencia y fuerza. Esto implica que los cobots pueden sentir su entorno, pueden trabajar de forma segura en la proximidad de los humanos, detenerse automáticamente y reducir la velocidad cuando sea necesario, así como aprender, mientras se minimiza el impacto de los errores humanos.

Por último, tenemos los robots móviles autónomos. Dado de estos ya hemos hablado extensamente en un artículo que trataba ex profeso de la automatización flexible, ahora no ahondaremos en ello.

Hay más demanda que nunca para el talento open source: un nuevo informe de la Fundación Linux muestra que sobran ofertas de trabajo

22/09/2021
Artículo original

Hay más demanda que nunca para el talento open source: un nuevo informe de la Fundación Linux muestra que sobran ofertas de trabajo

En conjunto con la famosa plataforma de educación online edX, la Fundación Linux ha publicado le edición 2021 de su informe anual sobre trabajos open source, y todo apunta a que las empresas están cada vez más desesperadas por contratar especialistas en la materia.

No importa si eres desarrollador, administrador de sistemas, trabajas con DevOps o con Cloud Native, si tienes habilidades open source, es probable que haya un trabajo bien pagado esperándote ahí afuera.

...especialmente si eres experto en Kubernetes

Tecnologias Open Source Mas Buscadas
Las tecnologías más importantes para quienes contratan expertos en open source

Para su informe, en la Linux Foundation entrevistaron a 200 directores de contratación técnica y 750 profesionales del código abierto. Para el 97% de los empleadores, contratar talento open source es una prioridad, mientras que más del 50% dijeron que aumentarán las contrataciones este año.

La principal prioridad está en el desarrollo de aplicaciones nativas en la nube y las habilidades de operaciones. Cloud Native o 'la nube nativa' encabeza la lista de habilidades necesarias con más del 46% de los empleadores están buscando personas con conocimientos de Kubernetes.

Es tan alta la demanda, que por primera vez en historia de la encuesta, las habilidades de la tecnología de la nube y contenedores son más demandadas que las de Linux con bastante diferencia: 41% versus 32%. Esto no quiere decir que Linux no siga siendo una habilidad muy demandada, después de todo, sin Linux prácticamente no hay nube.

Por primera vez en la historia de este informe, hay más demanda para Kubernetes que para Linux

Al menos en EEUU, el salario medio anual de un experto en Kubernetes ha subido cerca de los 150.000 dólares anuales. Esto probablemente tenga que ve con otro dato del informe, y es que en el último año, 3 de cada 5 profesionales ha aumentado su uso de la nube.

Otro dato importante a tener en cuenta es que la inmensa mayoría de los empleadores le dan prioridad a los profesionales que tengan certificaciones y es más probable que te contraten si las tienes. Al mismo tiempo que están aumentando el tiempo de entrenamiento que ofrecen a los empleados y también la mayoría está dispuesta a pagar al talento por estas certificaciones.

Finalmente, poco menos de la mitad de los encargados de contratar empleados dicen que quieren talento que haya contribuido a algún proyecto open source.

{"videoId":"x7ziu8u","autoplay":true,"title":"Las matemáticas no se me dan mal, quiero aprender a programar CAPTCHA 2x04"}
(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); } })();

Travis CI expuso las claves de miles de proyectos open source durante una semana: el líder de Ethereum recomienda buscar alternativas

16/09/2021
Artículo original

Travis CI expuso las claves de miles de proyectos open source durante una semana: el líder de Ethereum recomienda buscar alternativas

Entre los días 3 y 10 de septiembre, los repositorios públicos de código abierto que hicieron uso de la herramienta Travis CI estuvieron exponiendo sus contraseñas, credenciales y tokens a un posible robo. Felix Lange, desarrollador de Ethereum, descubrió la vulnerabilidad el día 7 y dio la voz de alarma a los responsables de la plataforma.

Y, si bien ésta ya ha quedado parcheada, el equipo de Ethereum afirma ahora que tuvieron que presionar a los responsables de Travis CI para que tomaran medidas, y que —tras hacerlo— no se explicó debidamente la situación al resto de usuarios afectados. Según afirmaron en Twitter,

"tras tres días siendo presionados por múltiples proyectos, @travisci parcheó silenciosamente el problema el día 10. [No se ha llevado a cabo] ningún análisis, ningún informe de seguridad, ninguna autopsia, ninguna advertencia a ninguno de sus usuarios de que sus secretos podrían haber sido robados".

Finalmente, Travis CI ha admitido públicamente la vulnerabilidad (clasificada como CVE-2021-41077), si bien ha minimizado su importancia:

"Según la información recibida, un repositorio público bifurcado a partir de otro podría presentar una solicitud de extracción y, al hacerlo, obtener acceso no autorizado a los datos secretos del repositorio original. En este escenario, dichos datos siguen cifrados en la base de datos de Travis CI. El problema sólo se aplica a repositorios públicos, no a repositorios privados".

El boletín de seguridad de Travis CI aprovecha para recordarnos que "cambiar cada cierto tiempo sus claves es algo que todos los usuarios deberían hacer"

Szilágyi, líder de Ethereum, señala en sendas declaraciones para The Register y Ars Technica que, por mucho que las claves secretas permanezcan encriptadas mientras permanecen en el disco en Travis,

"una vez da comienzo de compilación, Travis las desencripta y las inyecta en las compilaciones en forma de variables de entorno".

"[Pero] en el código externo, dichas las variables no deberían insertarse, ya que el mantenedor no tiene control sobre el código que envían las personas ajenas al proyecto. El problema fue que estropearon algo y terminaron inyectando las claves secretas en compilaciones que no eran fiables".

Szilágyi, decepcionado con la actitud de la plataforma, ya ha recomendado a los desarrolladores que consideren la opción de buscar una alternativa a Travis CI, para que "transfieran sus proyectos lejos de Travis de forma inmediata e indefinida".

{"videoId":"x811lis","autoplay":true,"title":"'Oh My Git!', el videojuego para aprender a usar Git"}

¿Qué ofrece exactamente Travis CI?

Travis CI es una plataforma distribuida de generación e integración continua, lo que significa que nos permite conectarnos con nuestro repositorio Git (alojado en Github o Bitbucket) y clonarlo para llevar a cabo pruebas en nuevos entornos virtuales, con diferentes configuraciones, tras cada 'push' realizado, regenerando el proyecto.

Si ninguna de las pruebas realizadas a través de Travis CI falla, se considera una compilación exitosa y queda lista para su implementación en el correspondiente host o servidor web.

Gran parte de la popularidad de Travis CI (desde 2019 ha sido usada por más de 600.000 usuarios para poner a prueba casi un millón de proyectos de código abierto) deriva del hecho de soportar más de una veintena de lenguajes de programación, desde los más populares como C/C++, Java, Python, Javascript y PHP hasta Clojure, D, Scala, Swift o F#.

Yml
Una búsqueda en GitHub del archivo de configuración travis.yml devuelve más de 35 millones de resultados.
(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); } })();

Concurso Galardón Ruby Fukuoka 2022 - Los programas participantes serán juzgados por Matz

14/09/2021
Artículo original

Estimado entusiasta Ruby

El Gobierno de Fukuoka, Japón junto con “Matz” Matsumoto quisieran invitarlo a participar en el siguiente concurso de Ruby. Si ha desarrollado un programa en Ruby interesante, por favor anímese a aplicar.

Concurso Galardón Ruby Fukuoka 2020 - Premio Mayor - 1 Millón de Yenes!

Fecha límite: 3 de diciembre de 2021

Fukuoka Ruby Award

Matz y un grupo de panelistas seleccionarán los ganadores del Concurso Fukuoka. El premio mayor del Concurso Fukuoka es de 1 millón de yenes. Los ganadores del premio mayor en versiones anteriores incluyen a Rhomobile (USA) y Centro de Clima APEC (Korea).

Los programas que ingresen al concurso no tienen que estar escritos enteramente en Ruby, pero deben aprovechar las características únicas de Ruby.

Los programas deben haber sido desarrollados o actualizados en el último año. Por favor visite el siguiente sitio web de Fukuoka para ingresar:

http://www.digitalfukuoka.jp/events/242

Por favor envie por correo electrónico el formulario de aplicación a award@f-ruby.com

“¡Matz estará probando y revisando su código fuente, así que aplicar es muy significativo! El ingreso al concurso es gratuito.”

Gracias!

Publicado por Fukuoka Ruby el 2021-08-03
Traducción de vtamara

⚡ Cómo funciona el Machine Learning, explicado para programadores en 3 minutos

14/09/2021
Artículo original

PortadaAntes de nada, te dejo el vídeo en el que te ofrezco, en 3 minutos ⏱, una explicación orientada a programadores sobre cómo funciona el aprendizaje automático, comparándolo con cómo lo haría un programa en un lenguaje de programación convencional. Si eres más de leer, debajo del vídeo tienes la misma explicación por escrito:

[youtube:mCRtyA01nuw]

En el pasado, para que un ordenador hiciese algo había que decirle exactamente cómo lo tenía que hacer: si pasa esto haz aquello otro, recorre todos estos datos y haz algo con ellos...

Con el Machine Learning, también llamado en español aprendizaje automático, esto ha cambiado. Ahora los programas pueden aprender solos sin necesidad de programarlos, basándose primero en datos preexistentes que les damos y luego en su propio comportamiento a medida que pasa el tiempo.

En cierto sentido se comportan como los humanos, que aprendemos solos a base de la experiencia propia o de otros.

Conseguir que un ordenador haga esto puede ser muy complicado, pero vamos a ver lo fundamental de cómo funciona...

Un ejemplo práctico

Te pongo un ejemplo. Supón que quieres crear un programa que aprenda a distinguir plátanos de naranjas.

Si quisieras hacer esto con un programa tradicional tendrías que pensar por tu cuenta en unas reglas muy concretas para hacerlo. Por ejemplo, un algoritmo para detectar contornos y colores predominantes, usar las dimensiones y los colores obtenidos para tratar de deducir qué estás viendo, etc... Al final necesitarías muchísimo código y muy complejo y, seguramente, fallaría en un porcentaje alto de los casos.

Con técnicas de Machine Learning, lo que tienes que hacer es darle a tu algoritmo fotografías de plátanos y naranjas que ya han sido identificadas previamente. Tu algoritmo las analiza y deduce por su cuenta las características que tienen los plátanos y las naranjas. Después de haberse entrenado (o sea, de haber aprendido) ya podrá identificar por su cuenta plátanos y naranjas en las fotos que le des. No solo eso: de sus propios aciertos y errores podrá seguir aprendiendo y mejorando poco a poco en el futuro.

Tipos de algoritmos de Machine Learning

Existen fundamentalmente 4 tipos de algoritmos que permiten que los ordenadores aprendan solos:

  • Aprendizaje supervisado

  • Aprendizaje no supervisado

  • Aprendizaje semisupervisado, un mix entre los dos anteriores

  • Y aprendizaje por refuerzo

Para que entres en detalle te dejo el enlace a un estupendo artículo en nuestro blog que te los explica muy bien: Qué tipos de problemas podemos resolver con técnicas de Aprendizaje Automático

Este tipo de técnicas se usan hoy en día para casi todo, aunque no te des cuenta: en sistemas de recomendación como el que usa YouTube para traerte a ese vídeo estupendo que te acaba enganchando más a la plataforma, para que la cámara de tu móvil saque unas fotos tan alucinantes, para entender lo que dices, para reconocimiento de caras...

Pero también para cosas más serias como la identificación y la predicción de enfermedades, diseñar nuevas medicinas, controlar robots en las fábricas o conducir coches o drones entre otras muchas cosas.

En resumen

En resumen: El aprendizaje automático cambia por completo la manera de trabajar de los ordenadores y de las personas que los programan para hacer cosas, y es ya el presente y desde luego el futuro de la computación. Abre una gran oportunidad para las empresas, que le saquen partido y, para los técnicos, que se especialicen en sus técnicas.

Puedes dar el salto a este mundo con nuestro máster de Machine Learning y Ciencia de Datos. ¡No te lo pierdas!

Otros artículos que te pueden interesar

Crea una unidad de disco duro ultrarrápida en memoria para tus juegos o archivos temporales

12/09/2021
Artículo original

Imagen de un disco en el explorador.En ocasiones la velocidad de nuestro disco duro lo es todo para lograr una experiencia óptima utilizando nuestro PC. Es por esto que yo jamás compraría un ordenador nuevo que no tuviese un disco duro SSD rápido instalado. Los discos SSD son lo mejor que le ha pasado a la industria del PC en décadas, y pueden hacer que tu ordenador con 5 o 6 años y un disco convencional (HDD), solo por ponerle un SSD parezca un ordenador (casi) nuevo.

Pero, aunque los SSD son muy rápidos, ¿sabes qué es más rápido todavía? La memoria RAM de tu ordenador.

Por eso, en ocasiones, puede ser muy útil poder crear un disco duro "hecho" de memoria RAM y aprovechar su velocidad extrema con programas que deben crear muchos archivos temporales constantemente, instalar en ellos un juego o un programa que necesita leer y escribir información a toda velocidad, etc. Abrir cualquier archivo o cargar una aplicación que esté instalada en él será instantáneo. Otra utilidad muy interesante es crear un disco para crear bases de datos temporales (como tempdb en SQL Server), lo que puede acelerar mucho ciertos tipos de operaciones. Las aplicaciones son muchas, variadas y normalmente avanzadas.

Windows lo verá como un disco duro normal y corriente, pero estará creado utilizando parte de tu memoria RAM disponible:

El disco RAM visto como un disco normal en el explorador de archivos

Esta virguería es posible conseguirla gracias al uso de software especial que enseguida te voy a contar. Pero antes un par de advertencias:

  1. El disco reservará parte de tu RAM para poder ser creado y trabajar con él. Esto implica, lógicamente, que esa RAM no estará disponible para otros programas. Así que para sacarle partido, o bien creas discos pequeños (a veces pueden ser suficientes) o debes tener un ordenador con mucha RAM (mi portátil por ejemplo tiene 16GB, y eso me parece el mínimo hoy en día para el equipo de un desarrollador, así que no deberías tener problema de crear algún disco de varios GB).
  2. La memoria RAM es volátil. Es decir, si se te va la corriente o se produce un "pantallazo azul de la muerte", pierdes todo lo que tuvieras dentro. El software que te voy a describir a continuación permite almacenar los contenidos de la imagen a disco y recuperarlos al reiniciar, pero si se va la luz de golpe y no tienes batería no te valdrá de mucho. De todos modos a mi no me gusta usar esa opción porque ralentiza el cierre y el inicio del sistema mientras se sincroniza la imagen o se carga respectivamente.

Vamos a ver cómo crearlos...

Cómo crear un disco duro RAM en Windows 10

En esta ocasión vamos a usar un mítico programa Open Source llamado ImDisk Toolkit, creado por el desarrollador sueco Olof Lagerkvist.

Lo primero que tienes que hacer es descargarte el ZIP de la versión para tu sistema operativo (normalmente la de 64 bits) desde la página del programa en SourceForge (ver enlace anterior en el nombre del programa). Ojo, la descarga tarda unos segundos en iniciarse porque SourceForge pone algo de publicidad mientras esperas.

Una vez descargado debes descomprimir el ZIP a cualquier carpeta de tu equipo y lanzar la instalación haciendo doble clic sobre el archivo .bat que encontrarás en la carpeta descomprimida. Eso lanzará el programa de instalación que, como verás, es muy sencillo en cuanto a sus opciones:

Pantalla de opciones de instalación

Fíjate en que está disponible en español (aunque la traducción tiene algunas faltas: yo prefiero instalarlo en inglés). Tan solo debes elegir la ubicación donde instalarlo, y marcar las opciones que desees. Al pasarles por encima con el cursor te dicen para qué sirve cada una, pero puedes dejar las que te muestro en la imagen, e incluso desmarcar la segunda de la "Librería DiscUtils" si no tienes pensado crear imágenes a partir del contenido de carpetas para luego cargarlas en un disco RAM.

Al darle al botón Instalar, en medio segundo más o menos quedará listo y verás una pantalla de confirmación como esta:

Instalación finalizada

Ahora ya tendrás el programa en tu menú de inicio, junto a varias utilidades que trae:

 Programas instalados

El programa de configuración realmente tiene poca utilidad más allá de activar/desactivar los menñus contextuales para montar discos en memoria o crear imágenes de carpetas, o para quitar ciertas letras de unidad para que no puedas elegirlas a la hora de crear las unidades:

Ajustes generales

La manera de crear un disco RAM es a través del programa Configurar RamDisc. Esto abre una diálogo para configurarlo que consta de 3 pestañas, aunque la que vamos a utilizar en el 99% de los casos es la de ajustes básicos:

Ajustes básicos

Como ves, lo único que tienes que hacer es elegir el tamaño de tu disco duro creado sobre la RAM en KB, MB o GB, y poco más. Estas son las opciones:

  • La opción de Asignar memoria dinámicamente es muy interesante porque solo usa memoria a medida que la va necesitando, en lugar de reservarla toda de golpe. Así, puedes crear un disco incluso mayor que la memoria disponible, aunque te "petaría" si la superas, claro. Además, el hecho de crear dinámicamente le resta algo de velocidad, así que yo no marco nunca esta opción.
  • Le asignas una letra de unidad que esté libre, y será la letra con la que se verá en el explorador de archivos y que verán las aplicaciones.
  • Por defecto lo formatea con NTFS, pero puedes hacerlo con FAT, FAT32 o exFAT (probablemente solo te convenga si vas a crear una unidad mayor de 32GB).
  • Si marcas la opción de Lanzar al inicio de Windows, aunque reinicies tendrás disponible siempre la unidad (más sobre esto luego).
  • La opción para crear una carpeta temporal, lo que hace es crear una carpeta _Temp en la raíz de la nueva unidad y cambiar las variables de entorno de Windows para que todos los archivos temporales se guarden en ella. Úsalo solo si este es el propósito de haber creado tu disco en memoria, si no déjalo sin marcar.

Una vez has marcado o desmarcado las opciones que te interesen, dale al botón OK y en unos segundos tendrás creada y formateada una nueva unidad de disco, del tamaño elegido, que ¡está trabajando contra la RAM de tu equipo!

Nota: seguramente te saltará un diálogo de elevación de privilegios para poder hacerlo, así que deberás tener permisos de administración en la máquina.

Se mostrarán automáticamente sus propiedades, que son como las de cualquier otro disco duro (en este caso he creado una de 100MB para pruebas):

Las propiedades de la nueva unidad

IMPORTANTE: si tienes configurado Windows para hacer uso del inicio rápido del sistema (cosa que es bastante interesante en general, aunque yo jamás lo apago salvo para instalar actualizaciones) te saltará un dialogo como el siguiente cuando vayas a crear la unidad en memoria:

Advertencia de arranque rápido activado

Lo que te está diciendo es que si tienes el arranque rápido activado, cuando apagues el equipo lo que ocurrirá es que la RAM se escribirá toda a disco par luego restaurarla en el próximo arranque, por lo que la sincronización del contenido del disco a una imagen no funcionará. Si te preocupa perder datos entre reinicios, deberías desactivar el inicio rápido de Windows (dale al botón que te muestra ese diálogo y te abre la configuración necesaria). Si solo vas a usar el disco para archivos temporales o no te importa perder algo de información, puedes dejarlo así.

Bueno, ahora ya tienes tu disco duro en memoria montado y listo para ser utilizado como cualquier disco convencional.

Vamos a comprobar cómo de rápido es. Para esto he utilizado el famoso programa de verificación de rendimiento de discos duros Crystal Disk Mark del desarrollador japonés Noriyuki Miyazaki. La probé primero en el disco duro SSD de mi portátil, y luego en el disco duro RAM. Según el tipo de lectura o escritura que se haga las mejoras de rendimiento van de casi imperceptibles a 11 veces más rápido en función del tipo de lectura y escritura que se haga al disco, consiguiendo al menos 3 veces más rendimiento en la mayoría de los casos, así que no está nada mal:

Resultados del test de Crystal Disk Mark

Cuando no quieras usar el disco RAM más, puedes desmontarlo. Para ello, desde el mismo programa con el que lo creaste, selecciona la letra de la unidad y el botón ahora pondrá Desmontar estará habilitado. Al darle saltará un diálogo como este:

Diálogo de desmontar

que te pregunta si quieres almacenar los contenidos del disco en memoria como una imagen a disco, para poder preservar sus contenidos. Si le dices que sí te permitirá crear un archivo .img y persistir así lo que tengas en él.

Este tipo de imágenes se pueden montar luego automática o manualmente a nuevas unidades RAM, y mantenerlos sincronizados si así lo deseamos.

Si vas a la pestaña Datos antes de montar una unidad RAM verás que puedes indicarle un archivo de imagen (que puede ser incluso un disco virtual .vhd o un .iso), de modo que tengas sus contenidos disponibles en la nueva unidad:

La pestaña de datos

Puedes además sincronizarlo automáticamente al apagar el equipo (por ejemplo, en un servidor cuando se reinicie tras una actualización), de modo que no pierdas nunca los contenidos del disco, e incluso sincronizarlo a mano cuando quieras desde esta pestaña.

Finalmente en la pestaña Avanzado puedes tocar algunos parámetros complejos, como el tamaño de los clústeres de disco, la compresión NTFS o el uso de AWE (Address Windowing Extensions) para poder crear discos grandes en sistemas Windows de 32bits (que están limitados a usar solo 4Gb de RAM aunque haya más memoria disponible. Necesitas que tu licencia de Windows 32 permita acceder a esa memoria adicional con AWE, y no deberías usar Imdoskc en un sistema de 32bits de todos modos...), montar el disco en una carpeta en lugar de como una unidad con una letra asignada o pasar parámetros adicionales avanzados:

Opciones avanzadas

En el 99,9% de los casos no tocarás esta pestaña para nada.

Nota: si usas este programa para crear discos RAM y le sacas mucha utilidad o los utilizas empresarialmente, por favor, dónale algo a Olof para poder mantener el desarrollo, ya que los certificados para poder firmar los drivers cuestan un pastón al año y redundará en tu interés para que saque más versiones en el futuro.

Desinstalar ImDisk

Si en un momento dado no quieres utilizar más esta utilidad, puedes desinstalarla desde el panel de control del sistema, como cualquier otro programa, a pesar del programa de instalación tan sui generis que tiene:

ImDisk en la lista de programas para desinstalar

En resumen

El uso de discos duros montados directamente sobre memoria RAM permite disponer de unidades de disco ultrarrápidas que podrás utilizar para leer y escribir archivos temporales más rápido, ejecutar aplicaciones a la máxima velocidad, crear espacios para bases de datos temporales que acelerarán tu aplicación, etc... En este artículo te he contado cómo puedes crearlos y administrarlos, sus pros y sus contras y cómo persistirlos a disco y restaurarlos automáticamente o de manera manual.

¡Espero que te haya resultado útil!

Qué es un ERP y para qué sirve

10/09/2021
Artículo original

 Qué es un ERP y para qué sirve - Imagen ornamental

¿Qué es un ERP? ¿Para qué sirve? ¿Para qué quiero saberlo si yo soy programador? Si no sueles trabajar con sistemas empresariales probablemente no tengas muy claro ni qué es ni por qué debe interesarte.

En la charla que mantuvimos con José Ángel López Aguilar (especialista en ERPs de Microsoft, autor y tutor de nuestro curso online de Business Central y migración desde Navision) hablamos sobre todos esto y nos regaló una estupenda introducción a los ERPs.

[youtube:e2BcB2TmvRM]

La definición de ERP (más o menos académica) es que se trata de un sistema de gestión integrado, es decir, un sistema de gestión que lo que hace es que en una sola aplicación se pueden atender todas las necesidades o las necesidades funcionales de los distintos departamentos de la empresa. Sus siglas vienen del inglés Enterprise Resource Planning, o sea "Planificación de Recursos Empresariales".

Por ejemplo, en una empresa de cierto tamaño hay un departamento de compras, otro de ventas, otro de finanzas, etc. El sistema de gestión ERP es un sistema de gestión integrado que te permite comunicar entre sí estos departamentos y que no sean islas que se comunican entre ellas con más o menos éxito.

Un ERP tiene una estructura única que se puede adaptar y extender para cubrir las necesidades de cualquier departamento sin tener que depender de buscar e instalar una aplicación especializada para cada uno.

Beneficios principales de un ERP

Los principales beneficios de usar un ERP son:

  • Desde un único sistema se pueden atender todas las necesidades de gestión

  • Integridad de datos: se evita duplicidad de datos porque hay un único punto de entrada

  • Seguridad: al haber un único punto de entrada el sistema es más seguro que si usamos cinco aplicaciones distintas para cada cosa

  • Informes: se pueden extraer KPIs e informes combinados con datos actualizados de cualquier departamento

  • Mayor productividad: los flujos de información corren entre departamentos sin necesidad de pisarse ni interrumpirse unos a otros

Como ves, esto no deja de ser informática, programación, bases de datos, reporting..., pero aplicado a la gestión de una empresa. Cualquier programador podría entrar sin problema en el mundo del desarrollo e implantación de ERPs.

Qué es un ERP: Diagrama con los departamentos de una empresa dispuestos en círculo y el ERP en el centro conectándolos a todos

Si además sabes algo de (ojo, no es imprescindible) finanzas, contabilidad, procesos de fabricación especializados, gestión de proyectos o marketing; cualquiera de estos conocimientos vas a poder aplicarlos también porque a todas esas necesidades va a llegar el ERP. Evidentemente, estamos hablando de empresas de tamaño mediano o grande porque una micropyme no tiene tantos departamentos independientes.

Un ejemplo simple de uso de un ERP

Nuestro tutor nos contó una anécdota de un problema que se podría haber evitado fácilmente en el caso de contar con un ERP. En su hospital habitual, dependiendo del especialista al que vaya, le tienen asignada una dirección diferente, simplemente porque se ha mudado varias veces en los últimos años. Esto no sería problema si se contase con un ERP para centralizar los datos de los pacientes.

El ERP de Microsoft: De Navision a Business Central pasando por Nav

Mycrosoft Dynamics 365 Business Central es el ERP de Microsoft (es heredero directo de Navision y de Microsoft Dynamics Nav) y los desarrolladores especializados en él están muy solicitados en el mercado laboral. Y no es solo por la utilidad que tiene un ERP, sino por la ingente cantidad de empresas que se han quedado ancladas en el pasado y deberán migrar de Navision a Business Central en los próximos años si no quieren quedarse sin soporte.

Además, las herramientas de programación para Business Central están a la altura de cualquier otra herramienta de desarrollo moderna y es mucho más amigable de lo que era la programación para Navision. Especializarte hoy en día ya no supone encasillarte para siempre si en el futuro quieres volver a cambiar de campo.

Navision y Business Central: Una gran salida laboral para programadores (presentes y futuros)

En este vídeo nuestro tutor comenta la oportunidad laboral que cualquier desarrollador puede encontrar en este campo:

[youtube:OMkAA-RNjWI]

¿Cómo formarse en Business Central y Navision/Nav?

Tanto si eres un jefe de equipo que necesita formar a sus desarrolladores como si eres un programador buscando especializarse, échale un vistazo a nuestro curso online de Business Central.

Es la mejor opción, tanto para aprender a programar para Business Central como para ejecutar con solvencia una migración desde Navision o Microsoft Dynamics Nav. Además, es un curso apto para ser bonificado a través de Fundae (si cumples los requisitos) así que, si tu empresa lo necesita el curso podría salirle gratis.

Pyston, la versión de Python que promete ser un 30% más rápida, va a ganar tracción con el apoyo de Anaconda, que ha contratado a su equipo

01/09/2021
Artículo original

Pyston, la versión de Python que promete ser un 30% más rápida, va a ganar tracción con el apoyo de Anaconda, que ha contratado a su equipo

Anaconda, firma que se encarga de una distribución para data science del lenguaje Python, ha contratado al creador y al desarrollador principal del lenguaje de programación Pyston. Pyston es una implementación de Python (lenguaje más popular en la actualidad) cuya característica principal es que elimina funciones de depuración pero es mucho más rápido que el modelo de lenguaje en el que se basa.

Pyston fue creado por Kevin Modzelewski un gran conocedor de Python. Pyston fue presentado en código abierto en mayo con la promesa de acelerar su rendimiento en un 30% frente al código Python.

Modzelewski fue en el pasado ingeniero en Dropbox. Esta empresa de almacenamiento de archivos en la nube era una de los principales usuarias de Python (escribió sus servicios de backend y de cliente de escritorio casi por completo en Python). Incluso contrató al creador de Python, Guido van Rossum en 2013, para ayudar a manejar sus líneas de código escritas en Python.

Llevar Pyston al usuario

Captura De Pantalla 2021 09 01 A Las 12 30 59

Anaconda ha contratado ahora a Modzelewski y al desarrollador principal, Marius Wachtler, y ambos tendrán la tarea de construir una comunidad de usuarios, colaboradores y mantenedores del proyecto para garantizar su sostenibilidad a largo plazo. Hay que mencionar aquí que Anaconda se autodefine como "la cuna de la ciencia de datos en Python. Somos un movimiento de científicos de datos". Este apoyo tiene el objetivo de llevar Pyston a los usuarios.

Python es un lenguaje que tiene mucho éxito para las aplicaciones de aprendizaje automático que se ejecutan en hardware pero no tiene mucha presencia en las aplicaciones web y móviles, dominadas por JavaScript. Por su parte, Pyston, que deriva del CPython oficial de la Python Software Foundation, seguirá siendo un proyecto de código abierto.

Con Anaconda, el proyecto se centrará en mejorar la compatibilidad de Pyston con los paquetes de Python que han conseguido que este lenguaje sea dominante en la ciencia de datos y el aprendizaje automático. El cofundador de Anaconda, Peter Wang, dijo recientemente en una entrevista que es "incómodo utilizar Python para construir y distribuir cualquier aplicación que tenga interfaces gráficas".

Pyston se mantiene en código abierto

programación lenguajes

En los términos del acuerdo entre Anaconda y Pyston tenemos que "las cosas se verán en gran medida igual desde fuera, salvo que ahora" los desarrolladores del lenguaje de programación tendrán acceso a más recursos y conocimientos para avanzar más rápido. Pyston sigue siendo un proyecto de código abierto con la misma licencia que CPython.

"Podremos desarrollar integraciones con otros proyectos de Anaconda de forma que sean beneficiosas para ambos productos y seguiremos trabajando con la comunidad en los otros proyectos de rendimiento de Python que están en marcha", afirma Modzelewski .

(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); } })();

FreeCodeCamp en español: aprende JavaScript en tu idioma con uno de los mejores cursos gratis para principiantes

30/08/2021
Artículo original

FreeCodeCamp en español: aprende JavaScript en tu idioma con uno de los mejores cursos gratis para principiantes

Hace ya unos cuantos años que en Genbeta les hablamos de freeCodeCamp, una plataforma de aprendizaje online para aprender a programar gratis y ganar experiencia escribiendo código para organizaciones sin findes de lucro.

freeCodeCamp es un excelente recurso donde encuentras la oportunidad de obtener certificaciones verificadas gratuitas en múltiples campos del desarrollo, y desde hace poco han comenzado a traducir su contenido el español. Gracias a ese iniciativa ya han traducido en su totalidad los cursos de JavaScript para principiantes, y los puedes comenzar ya mismo.

Aprende JavaScript, ahora en español

Si hablas español y quieres aprender JavaScript, este es quizás uno de los mejores sitios por donde empezar. El curso completo está publicado en vídeo en YouTube y tiene una duración de 9 horas.

Esta orientado a principiantes y el contenido incluye desde los primeros pasos, tipos de variables y datos, a operaciones, operadores, cadenas de caracteres, arreglos, funciones, condicionales, objetos, y más.

Durante el curso crearás seis proyectos diferentes cuyo código se encuentra también alojado en GitHub y puesto a tu disposición con toda la documentación. Si te animas y finalizas este curso, puedes profundizar más con el contenido completo de la Certificación de Algoritmos de JavaScript y Estructuras de Datos de freeCodeCamp que también está siendo sido traducida al español (aunque no está 100% completa).

Los currículos completos de programación en freeCodeCamp te brindan miles de horas de práctica y además te ayudan a desarrollar las habilidades necesarias para conseguir un trabajo como desarrollador

Esta certificación incluye todo lo básico que se menciona en este curso, para empezar, pero en su totalidad requiere unas 300 horas de dedicación par ser completada. Si es algo en lo que te quieres especializar, la oportunidad que ofrece la plataforma es excepcional dado que además te ayudan a conseguir trabajo y te dan experiencia práctica en el mundo real.

Si también te interesa Python, la plataforma cuenta con un curso de casi cinco horas que te da una introducción al lenguaje. O, si lo que llama tu atención es el diseño web, también se ha traducido la Certificación de Diseño Web Responsivo en la que aprenderás sobre HTML y CSS, diseño visual, accesibilidad, y más.

{"videoId":"x812d1v","autoplay":true,"title":"Devbook: un motor de búsqueda para programadores"}
(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); } })();

Página Siguiente