Linea de código

24/05/2022Artículo original

Linea de código

Hoy da comienzo el evento anual para desarrolladores Microsoft Build, en el que la compañía de Redmond, junto a sus principales partners, presentan sus nuevos productos e innovaciones. En esta ocasión, el evento se realizará simultáneamente en tres capitales europeas (Londres, París, Berlín), una americana (Buenos Aires) y una asiática (Tokio).

Pero que el evento se enfoque a desarrolladores, no impide a Microsoft ofrece herramientas de creación de apps dirigidas, precisamente, a los no-desarrolladores. “Con ese fin”, explican en un comunicado de prensa, “hoy lanzamos herramientas que hacen uso de inteligencia artificial y automatización” con el fin de facilitarnos el desarrollo de software sin hacer uso de código fuente, lo que denominamos la ‘programación no-code’.

Y una de las novedades más notables al respecto de esta edición en la nueva función ‘Express Design’ de la plataforma Power Apps, que permite subir a la misma una representación gráfica de la interfaz de usuario de una aplicación (en un fichero PDF o PowerPoint, en una captura de pantalla de una app preexistente, en un diseño Figma o incluso dibujada a mano)…

…y en cuestión de segundos, Express Design la convertirá en una aplicación real dotada de funcionalidad básica y de su pertinente esquema de datos.

Linea de códigoEn GenbetaQué son la programación ‘low-code’ y la ‘no-code’, qué se diferencian y cómo están democratizando la creación de aplicaciones

El reconocimiento de elementos gráficos de la interfaz y su conversión en software real es posible gracias a que Power Apps hace uso de los modelos de detección de objetos de Azure Cognitive Services (esto es, de inteligencia artificial en la nube).

“Aunque los desarrolladores son el objetivo principal de este evento, somos conscientes de que a todo el mundo le gustaría contar con herramientas para dar forma a lo que quieren hacer de una manera simple, eficiente e inteligente”.

Pasos a seguir

En el siguiente vídeo elaborado por Microsoft se aprecia la sencillez del proceso a seguir para crear aplicaciones gráficas básicas (en este ejemplo, un formulario de compra) con esta funcionalidad de Power Apps:

{“videoId”:”x8b2pfz”,”autoplay”:true,”title”:”Express Design en Power Apps de Microsoft”, “tag”:””}

  • Captura el aspecto deseado de la app en una imagen y súbela a Power Apps. Express Design se encargará de interpretar qué es lo que has dibujado o fotografiado.
  • Etiqueta los componentes de la interfaz de la aplicación (nombre de los campos del formulario, texto de los botones, etcétera) para establecer cómo puede interactuar el usuario con cada elemento (cuál puede rellenar, en cuál puede hacer clic?). Ya puedes convertir el boceto en una interfaz real.
  • Conecta los elementos de la app a unos determinados datos o fuentes de los mismos (en el ejemplo, a fotos). En el ejemplo, se ve cómo se crea un listado de productos (con imágenes vinculadas a cada uno) que se mostrarán en un desplegable.
  • Añade elementos gráficos para terminar de personalizar la app: fondos, logotipos, etc.

(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); } })();24/05/2022Artículo original

Hoy tiene lugar la conferencia de desarrolladores de Microsoft, el BUILD 2022, y Microsoft está mostrando sus novedades para este año. Probablemente, de lo más grande de la conferencia de 2021 fue la [integración de GPT-3 con su plataforma ‘low code’](BUILD 2022) Power Apps, con la que Microsoft hacía posible programar sin código, con lenguaje natural.

De aquellos barros nació GitHub Copilot, el sorprendente servicio con el que Microsoft daba la opción a algunos desarrolladores de ayudarse de porciones de códigos escrita por las sugerencias de su IA. No llegaba como un sustituto para los desarrolladores, pero sí como un asistente con el que agilizar increíblemente ciertas tareas.

Durante el BUILD 2022, Microsoft acaba de anunciar que GitHub Copilot estará disponible para todos los desarrolladores este verano. Hasta ahora, el acceso a Copilot era limitado, aunque Microsoft afirma que ya generaban código con él “decenas de miles de desarrolladores” en su vista previa técnica.

GitHub Copilot ya escribe el 35% de algunos de los lenguajes más usados

En enero de este año, Microsoft mencionó que Copilot ya era responsable del 30% del código total de GitHub, aunque luego lo matizó, haciendo la cifra válida solamente para algunos de los lenguajes más usados.

Hoy, Microsoft ha anunciado que con menos de un año, GitHub Copilot ya sugiere sobre un 35% del código de lenguajes populares como Java y Python. Microsoft también mencionó hace un tiempo que más del 50% de las personas que prueban este asistente con IA sigue usándolo con el paso del tiempo.

En XatakaLlevo algunos días usando Copilot de GitHub para programar y esta es mi experiencia

El paso del tiempo dirá cuán exitoso es Copilot, pero con cosas como DALL-E 2 e IMAGEN, la nueva IA de Google que es capaz de crear arte con solo introducir lenguaje natural, queda claro que el futuro es impresionante para cualquier ámbito donde haya aprendizaje automático bien entrenado. Aun así, hay que probar muy bien estas novedades, pues según un experimento de la Universidad de Nueva York, GitHub Copilot generó código inseguro en un 40% de los casos. Fue el año pasado, sí, pero ahí queda.

{“videoId”:”x80kt27″,”autoplay”:true,”title”:”La carrera de programador en 2017 y en el futuro (con Javier Santana)”, “tag”:”desarrollo de software”} (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); } })();24/05/2022Artículo original

Hoy da comienzo el evento anual para desarrolladores Microsoft Build, en el que la compañía de Redmond, junto a sus principales partners, presentan sus nuevos productos e innovaciones. En esta ocasión, el evento se realizará simultáneamente en tres capitales europeas (Londres, París, Berlín), una americana (Buenos Aires) y una asiática (Tokio).

Pero que el evento se enfoque a desarrolladores, no impide a Microsoft ofrece herramientas de creación de apps dirigidas, precisamente, a los no-desarrolladores. “Con ese fin”, explican en un comunicado de prensa, “hoy lanzamos herramientas que hacen uso de inteligencia artificial y automatización” con el fin de facilitarnos el desarrollo de software sin hacer uso de código fuente, lo que denominamos la ‘programación no-code’.

Y una de las novedades más notables al respecto de esta edición en la nueva función ‘Express Design’ de la plataforma Power Apps, que permite subir a la misma una representación gráfica de la interfaz de usuario de una aplicación (en un fichero PDF o PowerPoint, en una captura de pantalla de una app preexistente, en un diseño Figma o incluso dibujada a mano)…

…y en cuestión de segundos, Express Design la convertirá en una aplicación real dotada de funcionalidad básica y de su pertinente esquema de datos.

En GenbetaQué son la programación ‘low-code’ y la ‘no-code’, qué se diferencian y cómo están democratizando la creación de aplicaciones

El reconocimiento de elementos gráficos de la interfaz y su conversión en software real es posible gracias a que Power Apps hace uso de los modelos de detección de objetos de Azure Cognitive Services (esto es, de inteligencia artificial en la nube).

“Aunque los desarrolladores son el objetivo principal de este evento, somos conscientes de que a todo el mundo le gustaría contar con herramientas para dar forma a lo que quieren hacer de una manera simple, eficiente e inteligente”.

  Publicado Ruby 2.7.0-preview1

Pasos a seguir

En el siguiente vídeo elaborado por Microsoft se aprecia la sencillez del proceso a seguir para crear aplicaciones gráficas básicas (en este ejemplo, un formulario de compra) con esta funcionalidad de Power Apps:

{“videoId”:”x8b2pfz”,”autoplay”:true,”title”:”Express Design en Power Apps de Microsoft”, “tag”:””}

  • Captura el aspecto deseado de la app en una imagen y súbela a Power Apps. Express Design se encargará de interpretar qué es lo que has dibujado o fotografiado.
  • Etiqueta los componentes de la interfaz de la aplicación (nombre de los campos del formulario, texto de los botones, etcétera) para establecer cómo puede interactuar el usuario con cada elemento (cuál puede rellenar, en cuál puede hacer clic?). Ya puedes convertir el boceto en una interfaz real.
  • Conecta los elementos de la app a unos determinados datos o fuentes de los mismos (en el ejemplo, a fotos). En el ejemplo, se ve cómo se crea un listado de productos (con imágenes vinculadas a cada uno) que se mostrarán en un desplegable.
  • Añade elementos gráficos para terminar de personalizar la app: fondos, logotipos, etc.

(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); } })();24/05/2022Artículo original

La máxima más famosa en Machine Learning y, en general, en todas aquellas disciplinas que se fundamentan en el uso de datos es: “Si entra basura, sale basura”. Y es que no sólo llega con tener algoritmos buenos: hay que tener también datos buenos. Ya hemos hablado aquí por ejemplo de los sesgos en los datos y sus peligros, pero es que hay muchas otras circunstancias negativas en los datos que son mucho menos sutiles y que debiésemos detectar.

Por supuesto, el objetivo final de las disciplinas de Inteligencia Artificial es que crear modelos de aprendizaje automático a partir de un conjunto de datos, y que estos modelos extraigan el conocimiento útil de forma autónoma, y el estudio del análisis exploratorio puede parecer muy aburrido. Es por eso que muchas formaciones de Machine Learning lo dejan de lado, lo cual es un error.

A priori, realizar un análisis exploratorio sobre unos datos que posteriormente vamos a procesar mediante un programa puede parecer superfluo. Sin embargo, los algoritmos de aprendizaje no son infalibles, y como he comentado requieren que les proporcionemos los datos lo más limpios que sea posible.

Si no llevamos a cabo un análisis exploratorio de calidad, podemos encontrarnos con algunos problemas, entre otros:

  • Valores incorrectos en algunas variables que pueden deberse a malas mediciones o errores de anotación y que alterarán el comportamiento de un modelo de aprendizaje.
  • Variables que son idénticas o están muy relacionadas, de forma que no aportan información nueva sino redundante.
  • Variables que no tienen relación con el propósito de nuestro análisis, como identificadores únicos sin significado, fechas o con el mismo valor para todas las muestras.

Aunque parezcan pequeños inconvenientes fáciles de resolver, si no los tratamos podemos encontrarnos con modelos cuyo rendimiento sea mucho peor del esperado. Esto es debido a que, por lo general, los algoritmos de aprendizaje no son capaces de discernir qué datos consideramos válidos y útiles y cuáles no.

Además, con una exploración más a fondo del conjunto de datos podremos obtener intuiciones sobre muchas cuestiones, como:

  • qué modelo de aprendizaje funcionará mejor
  • qué variables nos sirven realmente y cuáles podemos eliminar
  • cómo recuperar los datos que hayan sido incorrectamente anotados o no anotados…

El análisis exploratorio en ocasiones también puede aportarnos información muy relevante sobre los datos, sin llegar a aplicar un modelo. La distribución de los valores de una variable visualizada en un histograma o las correlaciones entre las variables y la clase, en una gráfica de correlaciones, resultan útiles por sí mismas y nos pueden ayudar a tomar algunas decisiones.

Un ejemplo sencillo pero muy aclarador

Consideremos un caso en el que tenemos dos versiones de un mismo conjunto de datos: una versión limpia y una versión sin limpiar, con algunos errores en valores y variables inútiles. El propósito de este conjunto de datos es tratar de estimar el precio final de un coche de segunda mano dadas algunas de sus características y el kilometraje.

En la siguiente figura podrás observar que, a la izquierda, el conjunto de datos contiene:

  • Valores extremos, como por ejemplo 1.000.000 en Mileage (que indicaría que se ha recorrido un millón de millas con ese coche, más de un millón seiscientos mil kilómetros)
  • Columnas como:Id que contiene un identificador aleatorioValid que simplemente contiene 1HalfCyl que equivale a la mitad de Cylinder.

A continuación, tenemos el conjunto ya limpio, donde los valores extremos se han sustituido por un valor más adecuado, y las columnas inservibles se han eliminado:

Para comprobar si nuestro proceso de limpieza ha tenido éxito, vamos a utilizar una técnica de aprendizaje para obtener modelos que se hayan entrenado con los datos sin limpiar y los datos limpios. Una vez entrenados, evaluamos cada uno calculando una métrica que nos da idea del error típico del modelo (valores más bajos indican mejor rendimiento):

> # Evaluamos mediante el error cuadratico medio> RMSE(cleanpred, cars$Price[testidx])[1] 2038.236> RMSE(dirtypred, cars$Price[testidx])[1] 2702.444

La variable cleanpred del listado anterior contiene las predicciones de precios según el modelo de datos limpios para una lista nueva de coches que el modelo no conoce, y análogamente para el modelo de datos sin limpiar en la variable dirtypred. Como ves, el error en este último caso es mucho mayor (del orden de un 33% mayor), por lo que podemos decir que, al limpiar el conjunto de datos, nuestro error se reduce en un 25%.

Esta mejora viene dada únicamente por la calidad de los datos, ya que el algoritmo que se ha usado para obtener un modelo es exactamente el mismo en ambos casos.

Incluso en un ejemplo con datos tan simples como estos puedes observar la enorme importancia que tiene el análisis exploratorio.

23/05/2022Artículo original

La encuesta de SlashData sobre el estado de los desarrolladores en 2022 (o SlashData’s 2022 State of the Developer Survey) ofrece las tecnologías que más atraen la atención de los desarrolladores de software en el mundo.

Según su encuesta realizada a más de 20.000 programadores repartidos en 166 países, las aplicaciones de blockchain, las criptomonedas y las NFT son las que más aprenden los desarrolladores.

El cripto triunfa

A pesar de la enorme caída que están sufriendo las criptomonedas en el mundo, como el bitcoin (o más recientemente LUNA), los desarrolladores apuestan por las criptomonedas sobre todas las demás tecnologías.

Como puedes ver en el gráfico, un poco más de un tercio (34%) de los desarrolladores encuestados dijeron que estaban aprendiendo sobre criptomonedas, mientras que el 16% afirmó estar trabajando activamente en proyectos relacionados con las criptomonedas y ya las han adoptado.

En Genbeta15 desarrolladores españoles responden: sus plataformas favoritas para aprender lenguajes de programación

Por otro lado, aunque solo un 11% de desarrolladores ha adoptado los NFT o tókens no fungibles, los cuales vivieron su gran impulso en 2021 (y ahora muchos de estos han perdido su valor), un 32% de expertos en programación informatica ha declarado que tiene intención de apostar por ellos. SlashData la califica como “un nicho potencialmente rentable para los que se involucren.

Asimismo, el 30% de los desarrolladores están aprendiendo sobre aplicaciones de blockchain distintas de las criptomonedas. SlashData descubrió que hay mucho interés por aprender sobre las aplicaciones de blockchain (y que muchos desarrolladores se han puesto a hacerlo). Este sector es el que más ha aumentado de todas las tecnologías. De todos modos, la adopción de aplicaciones de blockchain entre los desarrolladores se ha estancado en comparación con hace un año. Solo el 12% de los desarrolladores están trabajando actualmente en proyectos de blockchain.

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

Inteligencia artificial y metaverso

Estas tres tecnologías adyacentes a las criptomonedas tuvieron las tasas más altas de adopción y aprendizaje entre todas las tecnologías incluidas en el informe de SlashData.

Las siguientes tecnologías más populares destacadas por los expertos en programación fueron el metaverso y el desarrollo de software asistido por IA o inteligencia artificial: el 28% de los desarrolladores están aprendiendo sobre estas tecnologías. De todos modos, en el momento en el que se realizó el informe, solo el 9% había comenzado su adopción de tecnologías del metaverso.

Además, 1 de cada 4 programadores (alrededor del 25%) tienen ganas de aprender de Edge Computing y de robótica y están en ello.

(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); } })();23/05/2022Artículo original

La encuesta de SlashData sobre el estado de los desarrolladores en 2022 (o SlashData’s 2022 State of the Developer Survey) ofrece las tecnologías que más atraen la atención de los desarrolladores de software en el mundo.

Según su encuesta realizada a más de 20.000 programadores repartidos en 166 países, las aplicaciones de blockchain, las criptomonedas y las NFT son las que más aprenden los desarrolladores.

El cripto triunfa

A pesar de la enorme caída que están sufriendo las criptomonedas en el mundo, como el bitcoin (o más recientemente LUNA), los desarrolladores apuestan por las criptomonedas sobre todas las demás tecnologías.

Como puedes ver en el gráfico, un poco más de un tercio (34%) de los desarrolladores encuestados dijeron que estaban aprendiendo sobre criptomonedas, mientras que el 16% afirmó estar trabajando activamente en proyectos relacionados con las criptomonedas y ya las han adoptado.

En Genbeta15 desarrolladores españoles responden: sus plataformas favoritas para aprender lenguajes de programación

Por otro lado, aunque solo un 11% de desarrolladores ha adoptado los NFT o tókens no fungibles, los cuales vivieron su gran impulso en 2021 (y ahora muchos de estos han perdido su valor), un 32% de expertos en programación informatica ha declarado que tiene intención de apostar por ellos. SlashData la califica como “un nicho potencialmente rentable para los que se involucren.

Asimismo, el 30% de los desarrolladores están aprendiendo sobre aplicaciones de blockchain distintas de las criptomonedas. SlashData descubrió que hay mucho interés por aprender sobre las aplicaciones de blockchain (y que muchos desarrolladores se han puesto a hacerlo). Este sector es el que más ha aumentado de todas las tecnologías. De todos modos, la adopción de aplicaciones de blockchain entre los desarrolladores se ha estancado en comparación con hace un año. Solo el 12% de los desarrolladores están trabajando actualmente en proyectos de blockchain.

Inteligencia artificial y metaverso

Estas tres tecnologías adyacentes a las criptomonedas tuvieron las tasas más altas de adopción y aprendizaje entre todas las tecnologías incluidas en el informe de SlashData.

Las siguientes tecnologías más populares destacadas por los expertos en programación fueron el metaverso y el desarrollo de software asistido por IA o inteligencia artificial: el 28% de los desarrolladores están aprendiendo sobre estas tecnologías. De todos modos, en el momento en el que se realizó el informe, solo el 9% había comenzado su adopción de tecnologías del metaverso.

Además, 1 de cada 4 programadores (alrededor del 25%) tienen ganas de aprender de Edge Computing y de robótica y están en ello.

(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); } })();23/05/2022Artículo original

La encuesta de SlashData sobre el estado de los desarrolladores en 2022 (o SlashData’s 2022 State of the Developer Survey) ofrece las tecnologías que más atraen la atención de los desarrolladores de software en el mundo.

Según su encuesta realizada a más de 20.000 programadores repartidos en 166 países, las aplicaciones de blockchain, las criptomonedas y las NFT son las que más aprenden los desarrolladores.

El cripto triunfa

A pesar de la enorme caída que están sufriendo las criptomonedas en el mundo, como el bitcoin (o más recientemente LUNA), los desarrolladores apuestan por las criptomonedas sobre todas las demás tecnologías.

Como puedes ver en el gráfico, un poco más de un tercio (34%) de los desarrolladores encuestados dijeron que estaban aprendiendo sobre criptomonedas, mientras que el 16% afirmó estar trabajando activamente en proyectos relacionados con las criptomonedas y ya las han adoptado.

En Genbeta15 desarrolladores españoles responden: sus plataformas favoritas para aprender lenguajes de programación

Por otro lado, aunque solo un 11% de desarrolladores ha adoptado los NFT o tókens no fungibles, los cuales vivieron su gran impulso en 2021 (y ahora muchos de estos han perdido su valor), un 32% de expertos en programación informatica ha declarado que tiene intención de apostar por ellos. SlashData la califica como “un nicho potencialmente rentable para los que se involucren.

Asimismo, el 30% de los desarrolladores están aprendiendo sobre aplicaciones de blockchain distintas de las criptomonedas. SlashData descubrió que hay mucho interés por aprender sobre las aplicaciones de blockchain (y que muchos desarrolladores se han puesto a hacerlo). Este sector es el que más ha aumentado de todas las tecnologías. De todos modos, la adopción de aplicaciones de blockchain entre los desarrolladores se ha estancado en comparación con hace un año. Solo el 12% de los desarrolladores están trabajando actualmente en proyectos de blockchain.

Inteligencia artificial y metaverso

Estas tres tecnologías adyacentes a las criptomonedas tuvieron las tasas más altas de adopción y aprendizaje entre todas las tecnologías incluidas en el informe de SlashData.

Las siguientes tecnologías más populares destacadas por los expertos en programación fueron el metaverso y el desarrollo de software asistido por IA o inteligencia artificial: el 28% de los desarrolladores están aprendiendo sobre estas tecnologías. De todos modos, en el momento en el que se realizó el informe, solo el 9% había comenzado su adopción de tecnologías del metaverso.

Además, 1 de cada 4 programadores (alrededor del 25%) tienen ganas de aprender de Edge Computing y de robótica y están en ello.

(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); } })();21/05/2022Artículo original

La Wikipedia define LaTeX como un ‘sistema de composición de textos’, que facilita la creación de documentos de alta calidad tipográfica. Técnicamente no podríamos calificarlo como un lenguaje: realmente se trata ‘sólo’ de un enorme conjunto de macros ‘de alto nivel’ para el mucho más complejo lenguaje TeX.

LaTeX se usa por dos grandes razones: su ya mencionada calidad tipográfica, y las facilidades que da para representar correctamente fórmulas de todo tipo, lo que lo convierte en una herramienta muy valorada en entornos académicos; de hecho, está detrás de la mayor parte de libros técnicos, artículos académicos y tesis del mundo.

Código LaTeX de fórmulas matemáticas, y su correspondiente salida en el documento generado.

Además, LaTeX facilita enormemente la introducción de citas bibliográficas; podemos introducir una usando un identificador elegido por nosotros (\cite{ManualWindowsVista}, por ejemplo) y que luego, a la hora de compilar, extraiga automáticamente toda la información necesaria desde un archivo .bib en el que hayamos recopilado previamente los libros a citar.

Como aspecto negativo, debe destacarse la pronunciada curva de aprendizaje de LaTeX: conseguir un documento complejo requiere conocer muchos más comandos y argumentos que los expuestos hasta ahora. Pero incluso siendo un usuario avanzado, nunca estará de más tener cerca un buen manual.

Uno de los aspectos más inesperados de LaTeX es que incluye elementos propios de un lenguaje de programación propiamente dicho, como los bucles y los condicionales. ¿Que para qué puede servir una instrucción condicional a la hora de maquetar un documento? Pues, por ejemplo, para introducir automáticamente una página en blanco después de cada página que contenga un título de capítulo.

  Pyston 2.2 es un Python que promete ser un 30% más rápido: sus creadores quieren que sustituya al lenguaje de programación

En GenbetaLa historia de cómo el PDF logró convertirse en el formato por excelencia para compartir documentos en Internet

Existen diversos paquetes de software que nos proporcionarán la capacidad de compilar documentos LaTeX: por ejemplo, MikTex en Windows, o TeX-Live (multiplataforma). El primero incluye un editor gráfico básico (TeXworks), sin embargo, existen múltiples editores independientes open source que podemos usar, destacando los multiplataforma LyX y TexStudio. En la imagen que encabeza este artículo podemos ver LaTeX Base, un editor online freemium de este lenguaje.

Algunas nociones previas

  • Todos los comandos de LaTeX comienzan con una barra invertida: ‘\’.
  • Los argumentos de dichos comandos se indican entre llaves: ‘{}’.
  • Los comentarios comienzan con un símbolo de porcentaje: ‘%’, todo lo que se sitúe a su derecha será ignorado por el compilador.
  • Aunque escribamos varios espacios en blanco o saltos de línea seguidos, el compilador los interpretará como uno solo.
  • La mayoría de los editores LaTeX generarán un documento PDF al compilarlo:

Resultado de compilar el documento de ejemplo en TeXworks de MikTeX, en Windows.

Estructura general de un documento

Este es el código usado en la imagen que encabeza este artículo. Intenta reproducirlo en tu editor:

% Declaración de documento

\documentclass[a4paper,12pt]{article}

% Preámbulo

% Las siguientes tres líneas sólo son metadatos, aunque podemos utilizarlos más adelante dentro del documento

\title{Mi primer documento}

\date{2022-05-21}

\author{Genbeta}

% Las siguientes dos líneas especifican paquetes de funciones no estándar que, en este caso, permiten al documento manejar adecuadamente textos en español

\usepackage[spanish]{babel}

\usepackage[utf8]{inputenc}

% Inicio del documento propiamente dicho

\begin{document}

% Aquí comienza el cuerpo del artículo

\maketitle

\section{¡Hola, mundo!}

La energía es igual a la masa multiplicada por el cuadrado de la velocidad de la luz:

% Las fórmulas matemáticas se escriben entre 4 símbolos de dólar (dos delante, y dos detrás)

$$E=mc^2$$

% Así se introduce una lista con dos ítems

\begin{itemize}

\item Primer elemento de la lista

\item Segundo elemento de la lista

\end{itemize}

%Fin del documento

\end{document}

No te asustes: LaTeX también permite insertar imágenes, columnas, márgenes, cuadros de texto y todo eso (si no, no serviría para maquetar), pero aprendamos a andar antes de correr (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); } })();19/05/2022Artículo original

En el primer día del evento Pwn2Own Vancouver 2022, los participantes consiguieron explotar con éxito 16 fallos de día cero para hackear varios productos, entre ellos el sistema operativo Windows 11 de Microsoft y la plataforma de comunicación Teams. Los organizadores del evento llegaron a repartir 800.000 dólares entre quienes consiguieron realizar estos descubrimientos.

Este año se celebra el 15º aniversario del concurso. Esta edición reúne a 17 concursantes que intentan explotar 21 objetivos en múltiples categorías. Y una de las firmas de software con más errores descubiertos ha sido el gigante de Redmond. Durante el concurso, los investigadores de seguridad han tenido que analizar navegadores web, software de virtualización, escalada local de privilegios, servidores, comunicaciones empresariales y automóviles.

Una vez demostradas y reveladas las vulnerabilidades de seguridad durante Pwn2Own, los proveedores de software y hardware tienen 90 días para desarrollar y publicar correcciones de seguridad para todos los fallos notificados.

Los errores de Teams

El primero en caer fue Microsoft Teams en la categoría de comunicaciones empresariales: se pudo explotar un fallo de configuración inadecuado. Otro de los equipos participantes descubrió además una cadena de exploits de cero clicks de 2 fallos (inyección y escritura arbitraria de archivos).

En una tercera ocasión, otro de los participantes eexplotó una cadena de 3 bugs de inyección, desconfiguración y escape de sandbox dentro de Teams.

Cada uno de ellos ganó 150.000 dólares por demostrar con éxito sus fallos de día cero o zzero-day en Microsoft Teams.

Problemas en otros programas de software

STAR Labs, un grupo que destacó en el evento, ganó 40.000 dólares adicionales tras elevar los privilegios en un sistema que ejecutaba Windows 11utilizando una debilidad de Use-After-Free y otros 40.000 dólares adicionales al lograr una escalada de privilegios en Oracle Virtualbox.

En GenbetaGoogle detectó en 2021 más errores de día cero que nunca: “como industria no estamos haciendo que estos exploits sean difíciles”

Otro de los participantes demostró con éxito dos errores (contaminación de prototipos y validación de entrada inadecuada) para hackear Mozilla Firefox y una escritura fuera de banda en Apple Safari. Ubuntu Desktop, el sistema de infoentretenimiento del Tesla Model 3 (con Sandbox Escape) y Ethernet de diagnóstico (con Root Persistence), fueron otros programas con exploits de día cero.

Vía| Bleeping Computer

(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); } })();16/05/2022Artículo original

Con Python 3.11, que actualmente se encuentra en la primera fase beta de su versión preliminar (versión 3.11.0b1) antes de su lanzamiento estable a finales de este año, el lenguaje de programación busca ser más rápido que lo que es ahora.

El desarrollador del núcleo de Python (CPython), Mark Shannon, compartió detalles sobre el proyecto para hacer que Python sea más rápido, durante la última conferencia PyCon 2022. Los desarrolladores también mostraron los avances en el objetivo de ejecutar código Python en el navegador.

En GenbetaEl creador de Python reconoce que se ha quedado fuera de móviles y navegadores aunque sea usado en el backend de estos servicios

El año pasado, Microsoft financió un proyecto para la Python Software Foundation (PSF), dirigida por el creador de Python Guido van Rossum y Shannon, para hacer quePython sea el doble de rápido que la actual serie estable 3.10. El objetivo es acercar Python al rendimiento de C.

El rendimiento no ha sido prioridad hasta ahora

El rendimiento hasta ahora no parece haber sido prioritario para Python, ya que su adopción se ha visto impulsada por el aprendizaje automático y la ciencia de datos.

El proyecto Faster CPython proporcionó algunas actualizaciones sobre el rendimiento de CPython 3.11 durante el año pasado. Antes de la PyCon 2022, el proyecto publicó resultados: mostrando que la 3.11 era en general 1,25 veces más rápida que la 3.10.

En GenbetaEl año de Python en el navegador: este nuevo proyecto permite ejecutar Python en tu HTML

Shannon ha dicho que “Python es ampliamente reconocido como lento. Aunque Python nunca alcanzará el rendimiento de lenguajes de bajo nivel como C, Fortran o incluso Java, nos gustaría que fuera competitivo con implementaciones rápidas de lenguajes de scripting, como V8 para Javascript o luajit para lua”.

“Específicamente, queremos lograr estos objetivos de rendimiento con CPython para beneficiar a todos los usuarios de Python, incluidos aquellos que no pueden usar PyPy u otras máquinas virtuales alternativas”.

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

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad