Más cosas sobre Python. Los componentes del lenguaje

Más cosas sobre Python
En el artículo anterior habíamos comentado las razones de por qué aprender el lenguaje de programación Python y como tener la última versión. Llegó el momento de aprender los componentes del lenguaje con algunos ejemplos.

Más cosas sobre Python. Las herramientas para empezar

Pip

Python tiene muchos módulos que ahorran tiempo de escritura de código porque traen preprogramadas funciones que necesitamos. Aunque algunos de ellos vienen preinstalados otros debemos agregarlos a medida que los necesitamos.

Hay dos formas fáciles de agregarlos; desde los repositorios de tu distribución (como si fueran un programas normal) o utilizando un gestor de paquetes llamado PIP. El segundo método nos asegura tener las versiones más actuales.

Importante
Recuerda que el comando para lanzar programas es python3 nombre_del_programa y no python nombre_del_programa.

Comprobemos si tenemos instalado PIP
pip3 -V

Deberías recibir un mensaje parecido a este
pip 20.2.3 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
En caso de que no tengas instalado Pip puedes hacerlo desde el gestor de paquetes de tu distribución. Necesitas el paquete
python3-pip

Ingresando y mostrando datos

Vamos a escribir nuestro primer programa. Es probable que si copias y pegas los programas, no funcionen. Te recomiendo que los tipees. Asegúrate de respetar los espacios o no funcionarán.

print("¡Hola!")
nombre=input("¿Cómo te llamas? ")
print("¡Bienvenido/a!", nombre, ".Gracias por leer Linux Adictos")

En la primera línea del programa imprimimos el mensaje de saludo. En la segunda definimos una variable llamada «mombre» y le asignamos como valor la respuesta a la pregunta ¿Cómo te llamas?. Nota que Input cumple dos funciones, la de mostrar un mensaje y asignarle a la variable el valor de la respuesta.

En la tercera línea vuelve el comando print imprimiendo dos tipos de contenidos. El saludo predefinido (Qué siempre va entre comillas) y el valor de la variable (Las variables van siempre sin comillas. El contenido variable y no variable se separa con una coma (,).

Intentemos una modificación

print("¡Hola!")
nombre=input("¿Cómo te llamas? " )
saludo="Bienvenido "+ nombre +". Gracias por leer Linux Adictos"
print(saludo)

En la tercera línea asignamos a la variable «saludo» una combinación de texto predefinido (entre comillas) y el valor de la variable (sin comillas)

Módulos

Tener que escribir una serie de instrucciones en código cada vez que se necesita es una pérdida de tiempo y espacio. Sobre todo si se trata de un programa extenso. Es por eso que lo mejor es utilizar un entorno integrado de desarrollo y escribir un programa largo (script en la jerga) para que luego lo ejecute el intérprete.

A medida que el programa se alarga, lo aconsejable es dividirlo en varios archivos para facilitar su mantenimiento y la reutilización. Para eso se utilizan los módulos.

Los módulos son archivos que contienen definiciones y declaraciones en Python. El nombre del archivo es el nombre del módulo terminado en .py. Por ejemplo, nosotros crearemos un módulo llamado Bienvenida.py. Dentro de un módulo, el nombre del módulo (como cadena) está disponible como el valor de la variable global __nombre__.

Ten en cuenta lo que dije más arriba de los espacios. Nota que la segunda, tercera y cuarta líneas del programa comienzan justo debajo del espacio entre la palabra def y la palabra Bienvenida. Esto es requerido por Python y lo explicaremos en los siguientes artículos.

En la primera línea definimos una función llamada Bienvenida. Las tres líneas siguientes son las instrucciones que tienen que ejecutarse cada vez que se llama a la función.

En la línea 5 definimos el contenido de la variable publicación que la última instrucción de la función necesita para imprimir el mensaje de bienvenida.

Con la última línea del programa, ejecutamos la función.

Probemos otra cosa. Crea dos archivos. Uno llamado Bienvenida.py y el otro prueba. py.

En Bienvenida.py escribe estas líneas:
def Bienvenida():
   publicacion="Linux adictos"
   nombre=input("¿Cómo te llamas ")
   saludo="Bienvenido "+nombre+" Gracias por leer "+publicacion
   print(saludo)

En prueba.py escribe:
from Bienvenida import Bienvenida
Bienvenida()
Lo que estamos haciendo es separar la función y la llamada a la función en dos archivos separados.

 

from Linux Adictos https://ift.tt/37x6mAW
via IFTTT

basename y dirname: dos comandos que deberías conocer

terminal shell comandos Linux

A veces, algunos tutoriales van dirigidos a explicar comandos algo más exóticos y extraños, en cambio, existen algunos que incluyen las distribuciones de serie y no son tan populares como cd, ls, cat, etc., pero que son igualmente prácticos. En este tutorial te mostraré lo que se puede realizar con dos de esos comandos: basename y dirname.

Quizás a priori te parezcan absurdos y que no tienen ninguna utilidad, pero tienen aplicaciones bastante prácticas en algunos casos como, por ejemplo, en los scripts donde se necesita extraer alguna parte de una ruta, como el nombre del fichero o el directorio para que otro comando opere sobre esto…

Para qué sirven

Estos comandos son muy básicos, y sus funciones son:

  • basename: sirve para extraer el nombre del fichero de una ruta.
  • dirname: sirve para extraer el nombre del directorio de una ruta.

Ejemplos de uso

Aquí puedes ver algunos ejemplos de cómo usarlos:

  • Por ejemplo, para usar basename con /etc/passwd, y que te devuelva en su salida el nombre del fichero, en este caso passwd:

basename /etc/passwd

  • También puedes especificar una extensión para que te de el nombre del fichero sin la extensión. Por ejemplo, imagina que quieras extraer el nombre de una imagen /home/media/prueba.jpg sin la extensión jpg (devolvería prueba):

basename -s .jpg /home/media/prueba.jpg

  • Incluso puedes procesar varias rutas a la vez por separado, para ello tienes que usar la opción -a:

basename -a /etc/passwd /var/log/boot.log

  • Para hacer lo contrario, y que te de el nombre del directorio, sin el nombre del fichero, entonces tienes que usar dirname. Por ejemplo, si quieres usarlo en la ruta /var/spool/mail/prueba.txt y que te devuelva /var/spool/mail, entonces usa:

dirname /var/spool/mail/prueba.txt

En cuanto a una utilidad en un script, aquí tienes otro ejemplo. Imagina que tienes un script simple, y que en él hay una ruta que es variable. Pero quieres que muestre el directorio que contiene un fichero, independientemente del fichero, en ese caso podrías tener algo como:


pathname="/home/usuario/data/fichero"

result=$(dirname "$pathname")

echo $result

Evidentemente, en este script el «pathname» sería siempre ese mismo estático declarado por la constante del principio, pero pueden darse casos en los que no lo sea, y es ahí donde se vuelve práctico. Por ejemplo:


/*script para convertir una imagen gif en png*/

#!/bin/sh
for file in *.gif;do
    #Salir si no hay ficheros
    if [! -f $file];then
        exit
    fi
    b='basename $file .gif'
    echo NOW $b.gif is $b.png
    giftopnm $b.gif | pnmtopng >$b.png
done

from Linux Adictos https://ift.tt/37tMhLJ
via IFTTT

GTK 4.0 ya fue liberado y llega con mejoras para OpenGL y Vulkan y mas

Después de cuatro años de desarrollo por fin se dio a conocer la liberación de la nueva rama de GTK 4.0, que se está desarrollando como parte de un nuevo proceso de desarrollo que intenta proporcionar a los desarrolladores de aplicaciones una API estable y compatible durante varios años, que se puede utilizar sin temor a tener que rehacer aplicaciones cada seis meses debido a los cambios de API en la próxima rama GTK.

La rama GTK 4 se ha declarado estable y se utilizará en la próxima versión de GNOME 4.0. Al mismo tiempo, se anunció que se suspendió el soporte para la rama GTK 2, en unos días para los cuales se planea publicar el último lanzamiento, mientras que el soporte para la rama GTK 3 continuará en el futuro previsible.

Principales novedades de GTK 4.0

De los cambios que se destacan de esta nueva rama, podremos encontrar que se implementó un método de diseño restringido, en el que la ubicación y el tamaño de los elementos secundarios se determinan en función de la distancia a los bordes y el tamaño de otros elementos.

Además de que se agregó un módulo de renderizado basado en la API de gráficos Vulkan, que implementa sombreadores para muchos elementos CSS que consumen muchos recursos y que se utilizan en los widgets GTK y se ha integrado GSK (GTK Escena Kit) con capacidades de renderización de gráficos de escena a través de OpenGL y Vulkan.

Se ha revisado la organización de la representación: en lugar de enviarla al búfer, ahora se utiliza un modelo basado en nodos de representación, en el que la salida se organiza en forma de un árbol de operaciones de alto nivel, procesada de manera eficiente por la GPU utilizando OpenGL y Vulkan.

También podremos ver que en GTK 4.0 se propone un modelo de entrega de eventos modernizado, que hace posible prescindir de una subventana al enrutar eventos de entrada. La necesidad de implementar un nuevo modelo está asociada con un uso más activo de los efectos de animación, que deben renderizarse sin cambiar el diseño de los elementos visibles y, en consecuencia, sin una subventana.

Se reformuló la API de GDK para aprovechar el protocolo Wayland y los conceptos relacionados. Las funciones relacionadas con X11 y Wayland se han movido a backends separados y se ha realizado una gran limpieza de la API, incluida la eliminación de las clases GtkMenu, GtkMenuBar y GtkToolbar, en lugar de las cuales se sugieren las opciones GMenu y popover.

Mientras que para el desarrollo de widgets, se presenta un nuevo objeto GtkLayoutManager con la implementación del sistema de control para la disposición de elementos en función del tamaño del área visible y que GtkLayoutManager ha reemplazado las propiedades secundarias en contenedores GTK como GtkBox y GtkGrid.

De los demás cambios que se destacan:

  • Se agregó una nueva clase GtkNative para widgets que tienen su propia superficie de visualización y pueden trabajar por separado en el primer nivel, sin estar vinculados a los widgets principales.
  • Se agregaron nuevos widgets que incluyen GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView, así como un widget para mostrar Emoji.
  • Se ha agregado una nueva capa de abstracción, GdkPaintable, que representa objetos que se pueden dibujar en cualquier lugar y en cualquier tamaño, sin tener que ordenar las capas de diseño.
  • Se reescribió el backend de Broadway para permitir la representación de la salida de la biblioteca GTK en una ventana del navegador web.
  • La API relacionada con las operaciones de arrastrar y soltar se ha rediseñado, incluidos los objetos GdkDrag y GdkDrop separados propuestos.
  • Se eliminó la implementación anterior de la API de accesibilidad para personas con discapacidades y se propuso una nueva versión basada en la especificación ARIA y el widget GtkAccessible.
  • Se agregó soporte para etiquetas editables
  • El widget GtkTreeView implementa la capacidad de editar celdas.
  • Se agregó soporte para el desplazamiento y el filtrado incrementales a GtkFilterListModel y GtkSortListModel.
  • Se agregó un nuevo backend GDK para macOS.
    GtkTextView y otros widgets de entrada tienen una pila de deshacer incorporada.
  • Para Windows, se ofrece un nuevo backend de renderizado GDK basado en ANGLE , una capa intermedia para traducir llamadas de OpenGL ES a OpenGL, Direct3D 9/11, Desktop GL y Vulkan.

from Linux Adictos https://ift.tt/3gV2DQK
via IFTTT

LibreOffice 7.0.4 sigue corrigiendo errores y mejorando la compatibilidad con Microsoft Office

LibreOffice 7.0.4

Mes y medio después de la versión anterior, The Document Foundation ha lanzado LibreOffice 7.0.4, lo que es la entrega más avanzada de su suite de ofimática. Leyendo la nota publicada hoy, no deja de llamarme la atención algo que suelen mencionar siempre, en parte porque creo que todo lo que hagan en este sentido es poco. Y es que TDF sigue trabajando para que su software mejore la compatibilidad con el de Microsoft, es decir, el Office que sigue siendo el más usado.

Por otra parte, The Document Foundation también dice que se han corregido 114 errores, lo que hará que mejore la estabilidad, fiabilidad y la mencionada compatibilidad. La compañía anima a todos los usuarios de LibreOffice a que actualicemos a esta versión, incluyendo los de la serie 6.4, ya que ha llegado al final de su ciclo de vida y no recibirá más actualizaciones. Esto contrasta con el hecho de que LibreOffice 7.0.4 aún sigue sin ofrecerse como la mejor opción para equipos de producción, por lo que yo recomendaría que los usuarios que estén usando la serie más probada se queden en ella hasta que su distribución Linux suba a la v7.

LibreOffice 7.0.4 corrige 114 fallos

La nueva versión ya está disponible para descargar desde la página web del proyecto para todos los sistemas soportados. Los usuarios de Linux podemos descargar su código, su paquete DEB o el RPM, y las diferentes distribuciones Linux que estén en la serie 7 deberían actualizar los paquetes en los próximos días.

La siguiente versión ya será LibreOffice 7.0.5 y llegará a mediados de marzo. Lo más probable es que sea en ese momento cuando The Document Foundation recomiende la séptima versión mayor de su suite de ofimática también para equipos de producción. La siguiente versión llegará en junio y será la que, si no hay sorpresas, marcará el final del ciclo de vida de esta serie.

from Linux Adictos https://ift.tt/37qw0qU
via IFTTT

Cómo empezar en Linux: recursos para dar el paso

Linux

En otros artículos de LxA ya te hemos ayudado con multitud de tutoriales y noticias que debes conocer sobre Linux. Incluso dediqué varios artículos para ayudar a usuarios que provenían de otros sistemas operativos y habían aterrizado por primera vez en una distribución GNU/Linux o tenían planeado hacerlo.

La red también está placada de motivos por los que usar GNU/Linux en vez de Windows, u otros sistemas, pero independientemente de eso, y sea cual sea el motivo de tu decisión, deberías conocer una serie de recursos que te pueden ayudar a dar tus primeros pasos en Linux y no fracasar en el intento.

Introducción

Recuerda que el mayor enemigo que te vas a encontrar se llama «costumbre». Cuando estás acostumbrado a otros sistema operativo, aunque el nuevo al que estás intentando migrar sea mil veces mejor, terminarás tentado de volver a tu zona de confort, a la comodidad, a lo que ya conoces. Es algo que le ocurre a muchos usuarios que comienzan, pero es una resistencia que debes vencer y en un tiempo estarás totalmente acostumbrado y adaptado. Llegado ese momento, no querrás otra cosa…

Esa «costumbre» puede llegarte en multitud de formas. Algunos lo llaman drivers, otros lo llaman Office, otros lo llaman su app favorita, o tal vez entorno gráfico. Es decir, las excusas para no seguir con Linux pueden ser muy diversas. Pero tienes que encontrar solución a ellas para quedarte. Y eso pasa por buscar las alternativas existentes y acostumbrate:

  • Debes saber que en cuanto a soporte de hardware, Linux ya no es lo que era. Ha mejorado mucho y vas a encontrar controladores para casi todo (tanto libres como propietarios).
  • La ofimática también es otra de las barreras más acusadas. La dependencia de MS Office es brutal, pero hay grandes alternativas como LibreOffice. Y si eso no te convence, puedes usar Office web, e incluso usar virtualización, Wine,…
  • Puede que tu barrera sea otro software que usas frecuentemente. Antes de nada, asegurate de que no existe para Linux de forma nativa. Por ejemplo, los navegadores Firefox y Chrome están para Linux, y como ellos, otros muchos programas (VLC, Steam,…). En caso de que no sea así, existen muchas alternativas. En ocasiones lo complicado no es encontrarlas, sino decidir cuál usar, ya que hay bastantes. Por ejemplo, si dependes de ciertos programas como Photoshop, Premier, Cinema 4D,… encontrarás apps maravillosas como GIMP, OpenShot, y Blender.
  • Escritorios también son otra de esas «costumbres» o excusas. Tanto si vienes de macOS, como de Windows, tienes entornos de escritorio o sabores de distros para poder tener un entorno de escritorio lo más parecido posible. Solo tienes que buscar el más adecuado.
  • Los gamers también son de los más reticentes al cambio, y el motivo es que para GNU/Linux no existen tantos títulos disponibles. Los videojuegos nativos para Linux han crecido muchísimo en los últimos años, y hay algunas plataformas de streaming que están borrando barreras en este sentido. También tienes Steam con Proton, para jugar a tus juegos favoritos nativos para Windows en Linux, y sin esfuerzos…
  • ¿Cuál es tu «pero», o tu «costumbre»? Piensa, seguro que hay alternativa…

Algunos recursos que te ayudarán

Dicho esto, ahora te mostraré algunos recursos de los que puedes disponer para facilitar un poco el camino. Por ejemplo:

Además, si tienes algunas dudas sobre dar el primer paso y adoptar Linux, también tienes webs como esta donde tienen información y FAQs que te pueden disipar todas esas dudas que aún tienes.

¡Ya no tienes ninguna excusa para dar el salto! Y, recuerda, debes vencer esa resistencia inicial, con el paso de los meses solo usando GNU/Linux, te darás cuenta de que no es tan terrible como creías, y te acostumbrarás. Cuando llegue ese momento te darás cuenta porque será entonces cuando los «peros» los pongas para salir de esta plataforma…

from Linux Adictos https://ift.tt/37t4SYq
via IFTTT

OBS Studio 26.1 llega con soporte de cámara virtual, OpenBSD y mas

Se acaba de dar a conocer la liberación de la nueva versión de OBS Studio 26.1, versión que se destaca por añadir el soporte de cámara virtual tanto para MacOS como para Linux, así como también el soporte para OpenBSD, correcciones de errores y más.

Para quienes desconocen aún de OBS Studio, deben saber que el objetivo del de desarrollo de OBS Studio es crear una versión gratuita de la aplicación Open Broadcaster Software que no esté vinculada a la plataforma Windows, sea compatible con OpenGL y sea extensible a través de complementos.

La diferencia también es el uso de una arquitectura modular, lo que significa la separación de la interfaz y el núcleo del programa. Admite la transcodificación de transmisiones originales, captura de video durante los juegos y transmisión a Twitch, Facebook Gaming, YouTube, DailyMotion, Hitbox y otros servicios. Para garantizar un alto rendimiento, es posible utilizar mecanismos de aceleración de hardware (por ejemplo, NVENC y VAAPI).

Principales novedades de OBS Studio 26.1

De los principales cambios que se destacan de esta nueva versión del software, un de los más importantes es el soporte de cámara virtual que ahora está disponible para Linux y macOS, lo que permite que la salida OBS se use como una cámara web para otras aplicaciones en la computadora.

Es importante tomar en cuenta que para Linux, se debe contar con el paquete v4l2loopback-dkms instalado para que la cámara virtual funcione.

Otra de las novedades que se presenta, es al usar video a pedido (VOD) cuando se usa Twitch, además de que se ha agregado la capacidad de usar una pista de audio separada. Si se usa el modo de salida simple, se debe «Habilitar configuración avanzada del codificador» y «Twitch VOD Track (usa la pista 2)». La salida de Twitch VOD estará en la pista de audio 2. Si se usa el modo de salida avanzado en la pestaña Streaming, se debe habilitar «Twitch VOD Track» y seleccione la pista que le gustaría usar para él.

Por otra parte, también se destaca el soporte agregado para la plataforma OpenBSD (aun que aún se considera en etapa temprana este soporte).

En cuanto a las mejoras para Linux, podremos encontrar que el programa ahora detectará otras instancias que se están ejecutando actualmente y advertirá al usuario sobre la ejecución de más de una copia a la vez. Y que al crear un nuevo perfil, ahora se le dará la opción de ejecutar el asistente de configuración automática.

También, se cambió «Aplicar tasa de bits del servicio de transmisión» a «Ignorar las recomendaciones de configuración del servicio de transmisión», se movió a la sección Transmisión de la ventana.

De los demás cambios que se destacan de esta nueva versión:

  • Se agregó el elemento «Subtítulos de Decklink» al menú Herramientas para obtener títulos de los dispositivos Decklink.
  • Se agregó la capacidad de habilitar efectos de transición animados acelerados por hardware.
  • Opción agregada para duplicar filtros desde el menú contextual.
  • Se agregó la capacidad de usar el portapapeles para mover el filtro entre fuentes.
  • Se agregó compatibilidad con HLS (HTTP Live Streaming) para YouTube.
  • Se agregó un evento de guardado de búfer de reproducción a la API de interfaz

Finalmente si quieres conocer más al respecto de esta nueva versión, puedes consultar los detalles en el siguiente enlace.

¿Cómo instalar OBS Studio 26.1 en linux?

Para quienes estén interesados en poder instalar esta nueva versión de OBS en su distribución de Linux, podrán hacerlo siguiendo las instrucciones que compartimos a continuación.

Instalación de OBS Studio 26.1 desde Flatpak

De manera general para casi cualquier distribución de Linux actual, la instalación de este software puede ser realizado con ayuda de los paquetes de Flatpak. Solo deben contar con el soporte para instalar este tipo de paquetes.

En una terminal solo tienen que ejecutar el siguiente comando:

flatpak install flathub com.obsproject.Studio

En el caso de que ya cuenten con la aplicación instalada por este medio, pueden actualizarla ejecutando el siguiente comando:

flatpak update com.obsproject.Studio

Instalación de OBS Studio 26.1 desde Snap

Otro método general para realizar la instalación de esta aplicación es con ayuda de los paquetes de Snap. De igual forma que Flatpak, deben contar con el soporte para instalar este tipo de paquetes.

La instalación la vamos a realizar desde una terminal tecleando:

sudo snap install obs-studio

Hecha la instalación, ahora vamos a conectar los medios:

sudo snap connect obs-studio:camera
sudo snap connect obs-studio:removable-media

Instalación desde PPA (Ubuntu y derivados)

Para los que son usuarios de Ubuntu y derivados, pueden realizar la instalación de la aplicación añadiendo un repositorio al sistema.

Este lo añadimos tecleando:

sudo add-apt-repository ppa:obsproject/obs-studio

sudo apt-get update

Y realizamos la instalación de la aplicación ejecutando

sudo apt-get install obs-studio 
sudo apt-get install ffmpeg

 Arch Linux y derivados

Para el caso de los usuarios de Arch Linux, Manjaro, Antergos y cualquier otro derivado. Podemos realizar la instalación tecleando el siguiente comando en una terminal:

sudo pacman -S obs-studio

from Linux Adictos https://ift.tt/2IWm5A2
via IFTTT

AIR-FI, un metodo de ataque que permite extraer datos de memorias DDR

Investigadores de la Universidad Ben-Gurion, estudiando métodos ocultos de transmisión de datos desde computadoras aisladas, han desarrollado un nuevo método de organización de un canal de comunicación llamado «AIR-FI», que permite, mediante la manipulación de chips de memoria DDR, generar una señal de radio a una frecuencia de 2.4 GHz, que puede capturado por un dispositivo habilitado para Wi-Fi a varios metros de distancia.

Desde un punto de vista práctico, el método se puede utilizar para transferir claves de cifrado, contraseñas y datos secretos desde una computadora que no tiene conexión de red y está infectada con software espía o malware.

Sobre AIR-FI

Los investigadores lograron alcanzar una tasa de transferencia de 100 bits por segundo colocando receptores Wi-Fi, como un teléfono inteligente o una computadora portátil, a una distancia de 180 cm. La tasa de error de transmisión fue del 8,75%, pero se utilizaron códigos de corrección de errores para identificar y corregir las fallas de transmisión.

Para organizar un canal de transferencia de datos, basta con iniciar un proceso de usuario normal, que se puede ejecutar en una máquina virtual. Para la recepción, se requiere un dispositivo con un chip inalámbrico capaz de realizar un monitoreo de bajo nivel del aire (en el experimento, se usaron adaptadores inalámbricos basados ​​en chips Atheros AR92xx y AR93xx con firmware modificado que transmiten información sobre los parámetros de la señal adecuados para el análisis espectral).

Al generar una señal, se utilizó la capacidad de la memoria DDR4-2400 que opera a una frecuencia de 2400 MHz para generar interferencia electromagnética cuando el controlador accede al módulo de memoria a través de diferentes buses de datos.

El rango de Wi-Fi cae en las frecuencias 2.400-2.490 GHz, es decir, se cruza con la frecuencia a la que opera la memoria.

Los investigadores han descubierto que con un tráfico intensivo simultáneo en diferentes buses de datos, se emiten ondas electromagnéticas a una frecuencia de 2,44 Ghz, que son capturadas por la pila inalámbrica 802.11.

Con módulos de memoria que no sean DDR4-2400, el método es aplicable cuando se cambia mediante programación la frecuencia de la memoria, lo cual está permitido en la especificación XMP ( Extreme Memory Profile ).

Para generar una señal, se utilizó un acceso simultáneo al bus desde subprocesos de ejecución paralelos atados a diferentes núcleos de CPU. La codificación de información útil en la señal se lleva a cabo utilizando la modulación OOK más simple (codificación on-off) con modulación por desplazamiento de amplitud (ASK), en la que «0» y «1» se codifican estableciendo diferentes amplitudes de señal, y la información se transmite a una velocidad fija. – un bit por milisegundo.

La transferencia «1» realiza una serie de escrituras de memoria causadas por la copia secuencial de 1 MB de datos entre las dos matrices. Al transmitir «0», el algoritmo no realiza ninguna acción durante el tiempo asignado para transmitir un bit. Por lo tanto, la transmisión de «1» genera la emisión de señal, y la transmisión de «0» la señal desaparece.

Entre las medidas para contrarrestar el uso del método AIR-FI, se menciona la zonificación del territorio con la creación de un perímetro en la organización, dentro del cual se prohíbe llevar equipos con chips inalámbricos, así como colocar la carcasa de la computadora en una jaula de Faraday, generando ruido en las frecuencias de Wi-Fi, iniciando procesos en segundo plano que se realizan de forma aleatoria de operaciones de memoria y monitoreo de la aparición en el sistema de procesos sospechosos que realizan operaciones de memoria anormales.

Además, en la página de los investigadores, se forma una selección de los métodos de transmisión de datos ocultos que identificaron utilizando formas de fugas electromagnéticas, acústicas, térmicas y ligeras:

  • PowerHammer: organiza el envío de datos a través de la línea eléctrica, manipula la carga en la CPU para cambiar el consumo de energía.ODINI: demostraciones de extracción de datos de un dispositivo ubicado en una habitación blindada (jaula de Faraday) mediante el análisis de oscilaciones magnéticas de baja frecuencia que ocurren durante el funcionamiento de la CPU.
  • MAGNETO:extracción de datos basada en la medición de las fluctuaciones del campo magnético que ocurren durante el funcionamiento de la CPU.
  • AirHopper: transferencia de datos a una velocidad de hasta 60 bytes por segundo desde una PC a un teléfono inteligente a través del análisis en un teléfono inteligente con un sintonizador de FM de la interferencia de radio que ocurre cuando la información se muestra en la pantalla.
  • BitWhisper: transferencia de datos a una distancia de hasta 40 cm a una velocidad de 1-8 bits por hora mediante la medición de fluctuaciones en la temperatura de la carcasa de la PC.
  • GSMem: extracción de datos a una distancia de hasta 30 metros mediante la creación de interferencias electromagnéticas en la frecuencia de las redes GSM capturadas por el teléfono inteligente.

Fuente: https://cyber.bgu.ac.il

from Linux Adictos https://ift.tt/3p1dZWk
via IFTTT

AIR-FI, un metodo de ataque que permite extraer datos de memorias DDR

Investigadores de la Universidad Ben-Gurion, estudiando métodos ocultos de transmisión de datos desde computadoras aisladas, han desarrollado un nuevo método de organización de un canal de comunicación llamado «AIR-FI», que permite, mediante la manipulación de chips de memoria DDR, generar una señal de radio a una frecuencia de 2.4 GHz, que puede capturado por un dispositivo habilitado para Wi-Fi a varios metros de distancia.

Desde un punto de vista práctico, el método se puede utilizar para transferir claves de cifrado, contraseñas y datos secretos desde una computadora que no tiene conexión de red y está infectada con software espía o malware.

Sobre AIR-FI

Los investigadores lograron alcanzar una tasa de transferencia de 100 bits por segundo colocando receptores Wi-Fi, como un teléfono inteligente o una computadora portátil, a una distancia de 180 cm. La tasa de error de transmisión fue del 8,75%, pero se utilizaron códigos de corrección de errores para identificar y corregir las fallas de transmisión.

Para organizar un canal de transferencia de datos, basta con iniciar un proceso de usuario normal, que se puede ejecutar en una máquina virtual. Para la recepción, se requiere un dispositivo con un chip inalámbrico capaz de realizar un monitoreo de bajo nivel del aire (en el experimento, se usaron adaptadores inalámbricos basados ​​en chips Atheros AR92xx y AR93xx con firmware modificado que transmiten información sobre los parámetros de la señal adecuados para el análisis espectral).

Al generar una señal, se utilizó la capacidad de la memoria DDR4-2400 que opera a una frecuencia de 2400 MHz para generar interferencia electromagnética cuando el controlador accede al módulo de memoria a través de diferentes buses de datos.

El rango de Wi-Fi cae en las frecuencias 2.400-2.490 GHz, es decir, se cruza con la frecuencia a la que opera la memoria.

Los investigadores han descubierto que con un tráfico intensivo simultáneo en diferentes buses de datos, se emiten ondas electromagnéticas a una frecuencia de 2,44 Ghz, que son capturadas por la pila inalámbrica 802.11.

Con módulos de memoria que no sean DDR4-2400, el método es aplicable cuando se cambia mediante programación la frecuencia de la memoria, lo cual está permitido en la especificación XMP ( Extreme Memory Profile ).

Para generar una señal, se utilizó un acceso simultáneo al bus desde subprocesos de ejecución paralelos atados a diferentes núcleos de CPU. La codificación de información útil en la señal se lleva a cabo utilizando la modulación OOK más simple (codificación on-off) con modulación por desplazamiento de amplitud (ASK), en la que «0» y «1» se codifican estableciendo diferentes amplitudes de señal, y la información se transmite a una velocidad fija. – un bit por milisegundo.

La transferencia «1» realiza una serie de escrituras de memoria causadas por la copia secuencial de 1 MB de datos entre las dos matrices. Al transmitir «0», el algoritmo no realiza ninguna acción durante el tiempo asignado para transmitir un bit. Por lo tanto, la transmisión de «1» genera la emisión de señal, y la transmisión de «0» la señal desaparece.

Entre las medidas para contrarrestar el uso del método AIR-FI, se menciona la zonificación del territorio con la creación de un perímetro en la organización, dentro del cual se prohíbe llevar equipos con chips inalámbricos, así como colocar la carcasa de la computadora en una jaula de Faraday, generando ruido en las frecuencias de Wi-Fi, iniciando procesos en segundo plano que se realizan de forma aleatoria de operaciones de memoria y monitoreo de la aparición en el sistema de procesos sospechosos que realizan operaciones de memoria anormales.

Además, en la página de los investigadores, se forma una selección de los métodos de transmisión de datos ocultos que identificaron utilizando formas de fugas electromagnéticas, acústicas, térmicas y ligeras:

  • PowerHammer: organiza el envío de datos a través de la línea eléctrica, manipula la carga en la CPU para cambiar el consumo de energía.ODINI: demostraciones de extracción de datos de un dispositivo ubicado en una habitación blindada (jaula de Faraday) mediante el análisis de oscilaciones magnéticas de baja frecuencia que ocurren durante el funcionamiento de la CPU.
  • MAGNETO:extracción de datos basada en la medición de las fluctuaciones del campo magnético que ocurren durante el funcionamiento de la CPU.
  • AirHopper: transferencia de datos a una velocidad de hasta 60 bytes por segundo desde una PC a un teléfono inteligente a través del análisis en un teléfono inteligente con un sintonizador de FM de la interferencia de radio que ocurre cuando la información se muestra en la pantalla.
  • BitWhisper: transferencia de datos a una distancia de hasta 40 cm a una velocidad de 1-8 bits por hora mediante la medición de fluctuaciones en la temperatura de la carcasa de la PC.
  • GSMem: extracción de datos a una distancia de hasta 30 metros mediante la creación de interferencias electromagnéticas en la frecuencia de las redes GSM capturadas por el teléfono inteligente.

Fuente: https://cyber.bgu.ac.il

from Linux Adictos https://ift.tt/3p1dZWk
via IFTTT

Firefox 84 ya fue liberado y es la última versión del navegador compatible con Adobe Flash

Mozilla anunció la disponibilidad de Firefox 84, la cual es la última versión del navegador en tener compatibilidad con Adobe Flash y a partir de la versión 85 no habrá ninguna configuración disponible para volver a habilitar la compatibilidad con Flash en versiones futuras.

Firefox 84 viene con su parte de nuevas características, entre ellas se destaca que el navegador ahora usa técnicas más modernas para asignar memoria compartida en Linux, así como también soporte para los nuevos dispositivos de MacOS.

¿Qué hay de nuevo en Firefox 84?

Esta nueva versión de Firefox 84 marca el soporte nativo para dispositivos macOS construidos con procesadores Apple Silicon que «trae mejoras de rendimiento dramáticas sobre la versión no nativa que se envió en Firefox 83» y es que según las calificaciones de Mozilla: Firefox se lanza más de 2,5 veces más rápido y las aplicaciones web ahora tienen el doble de capacidad de respuesta (según la prueba SpeedoMeter 2.0).

Si el usuario está utilizando una Mac equipada con el chip de Apple, debe cerrar Firefox por completo y reiniciarlo después de actualizar a la versión 84 o superior, para que Firefox pueda ejecutarse en la nueva arquitectura que ofrece un mejor rendimiento y una mayor duración de la batería.

Después de actualizar a la versión 84 de Firefox o superior desde una versión anterior:

  • El usuario debe ir al menú de Firefox en la parte superior de tu pantalla.
  • Seleccione Salir de Firefox
  • Cuando se vuelva a abrir Firefox, estará en la nueva arquitectura.

También para MacOS WebRender se ha implementado en Big On, pues Mozilla ha comenzado a implementar el motor de renderizado 2D basado en GPU WebRender en Firefox 67 para un grupo limitado de usuarios. Después de expandir el soporte de WebRender a más computadoras portátiles con Windows 10 con el lanzamiento de Firefox 77, WebRender también estaba disponible en dispositivos Windows 10 con una GPU Intel con Firefox 78.

Con Firefox 79, WebRender también fue lanzado disponible en dispositivos Windows 10 con una GPU AMD. Con Firefox 84, WebRender se implementó en MacOS Big Sur, dispositivos Windows con GPU Intel Gen 6 y computadoras portátiles Intel con Windows 7 y 8.

Además, Mozilla lanzará un canal de renderizado acelerado para los usuarios por primera vez desde Linux para Gnome y  X11.

Y es que también hablando de Linux, en esta nueva versión de Firefox 84 ahora utiliza técnicas más modernas para asignar memoria compartida en Linux, mejorar el rendimiento y aumentar la compatibilidad con Docker.

En cuanto a la corrección de errores que se realizaron en Firefox 84 podremos encontrar los siguientes:

  • (CVE-2020-16042) Las operaciones en un BigInt podrían haber resultado en la exposición de la memoria no inicializada: cuando un BigInt se desplazó hacia la derecha, fue posible leer la memoria no inicializada. Este error se ha marcado como crítico.
  • (CVE-2020-26971) Desbordamiento de búfer de pila en WebGL: algunos valores de blit proporcionados por el usuario no estaban correctamente restringidos, lo que provocaba un desbordamiento de búfer de pila en algunos controladores de vídeo. Este error se ha marcado como grave.
  • (CVE-2020-26975) Las aplicaciones de malware en Android podrían haber engañado a Firefox para Android para que enviara encabezados arbitrarios especificados por el atacante: cuando una aplicación maliciosa instalada en el dispositivo del usuario sirvió como Intent para Firefox para Android, se podrían haber especificado encabezados arbitrarios, lo que provocó ataques como abuso de autoridad ambiental o fijación de sesiones. Este problema se solucionó permitiendo solo ciertos encabezados seguros. Por supuesto, este problema solo afecta a Android y a ningún otro sistema operativo.

¿Como instalar o actualizar la nueva versión de Firefox en Linux?

Si eres usuario de Ubuntu, Linux Mint o algún otro derivado de Ubuntu, puedes instalar o actualizar a esta nueva versión con ayuda del PPA del navegador.

Este lo pueden añadir al sistema abriendo una terminal y ejecutando en ella el siguiente comando:

sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa -y 
sudo apt-get update
sudo apt install firefox

Para el caso de los usuarios de Arch Linux y derivados, basta con ejecutar en una terminal:

sudo pacman -Syu

O para instalar con:

sudo pacman -S firefox

Finalmente para aquellos que prefieren del uso de los paquetes Snap, podrán instalar la nueva versión en cuanto sea liberada en los repositorios de Snap.

Pero pueden obtener el paquete directamente desde el FTP de Mozilla. Con ayuda de una terminal tecleando el siguiente comando:

wget https://ftp.mozilla.org/pub/firefox/releases/84.0/snap/firefox-84.0.snap

Y para instalar el paquete solo tecleamos:

sudo snap install firefox-84.0.snap

Finalmente, pueden obtener el navegador con el último método de instalación que fue añadido «Flatpak». Para ello deben contar con el soporte para este tipo de paquetes.

La instalación se hace tecleando:

flatpak install flathub org.mozilla.firefox

Para el resto de las distribuciones de Linux, pueden descargar los paquetes binarios desde el siguiente enlace.

from Linux Adictos https://ift.tt/2WiTNTq
via IFTTT

Así es el editor de anotaciones de Spectacle 20.12, (casi) perfecto para los usuarios de KDE

editor de Spectacle 20.123

El set de aplicaciones de KDE de diciembre de 2020 llegó la semana pasada. Se trata de las primeras versiones de una serie, lo que significa que, además de corregir errores, incluye nuevas e importantes funciones. Una de ellas llega a la herramienta de hacer capturas de pantalla de KDE, y es algo que nos hará olvidarnos de Ksnip o Shutter casi por completo. Y es que Spectacle 20.12 nos permite hacer anotaciones a nuestras capturas de pantalla.

En el momento de escribir este artículo, la única manera que he encontrado para probar esta herramienta ha sido en KDE neon, y yo he hecho la prueba en una máquina virtual de la versión «Testing» (para asegurarme de que no tenía nada que descargar). Tiene todo lo que podamos necesitar para realizar anotaciones, aunque personalmente creo que le falta una cosita para ser perfecta. Lo mejor, como casi todas las apps que nos permiten «marcar» nuestras capturas, es que es intuitiva y no hace falta aprender para poder aprovecharla desde el principio.

Spectacle 20.12 y su editor de imágenes

En un principio, Spectacle 20.12 se ve igual que la v20.08, pero han añadido el botón que veis en la siguiente imagen:

editor de Spectacle 20.121

Cuando hemos hecho una captura, podemos hacer clic en el botón de Anotación para abrir el editor que es como veis en la captura de cabecera y en la siguiente imagen:

Editando capturas en Spectacle

Algo a tener en cuenta es que no, al darle al botón de anotación no se abre el editor a pantalla completa, sino en una ventana pequeña que no nos sirve de mucho si la resolución de la pantalla de nuestro ordenador es alta. Pero lo importante es lo que vemos a la izquierda. Tenemos las siguientes opciones:

  • Herramienta de selección. Esto no es para elegir una parte de la captura, sino que haremos clic en ella para seleccionar una anotación, como una flecha, y moverla.
  • Flechas, en donde hay con una punta, con doble punta o una línea normal.
  • Bolígrafo, lo que se conoce mejor como mano alzada o dibujo libre.
  • Rotulador. Más concretamente, esto sirve para remarcar algo, como puede ser un trozo del texto. Por defecto está preparado para dibujar rectángulos, en amarillo y con cierta transparencia, pero podemos elegir también una elipse o mano alzada.
  • Introducir texto.
  • Añadir números, con dos opciones: un círculo con un número dentro o el mismo círculo con una punta para indicar a qué nos referimos.
  • Herramienta de emborronar, lo que sirve para tapar información sensible y en donde yo preferiría que fuera pixelado, pero…
  • Añadir rectángulos o círculos.
  • Emoticonos, aunque hay pocos. Quizá, los más importantes en una herramienta de anotación son los de la X y la V para indicar que algo es correcto o no.

Qué le falta o qué le pediría el autor de este artículo

Bueno, Spectacle 20.12 ha añadido esta función y lo ha hecho a una app que es para hacer capturas de pantalla, por lo que se supone que lo que vamos a hacer es una captura y luego editarla. Pero yo recuerdo cuando usaba Shutter, una app que también era para hacer capturas de pantalla pero que yo instalaba por su editor, para que las anotaciones fueran rápidas y sencillas. Lo que sí permitía Shutter y no permite Spectacle, por lo menos en su versión 20.12, es abrir imágenes que no se hayan conseguido con la misma herramienta.

Y lo he intentado: si vamos a propiedades y añadimos Spectacle para que nos permita abrirlas desde la opción «Abrir con», Spectacle se abre, sí, pero con una captura de pantalla nueva; no hay manera de abrir y editar otras imágenes.

Por lo tanto, sí, claro que sí, es una función muy importante que a mí personalmente me servirá en el 90% de los casos y me evitará tener que abrir GIMP, un editor de imágenes mucho más completo que no está diseñado para hacer anotaciones, pero, KDE, si me lees, por favor, añade la posibilidad de editar cualquier imagen. En cualquier caso, también les doy las gracias por añadir la nueva función que ya espero como agua de mayo en Manjaro y Kubuntu.

from Linux Adictos https://ift.tt/2LBCGtP
via IFTTT