Ya fue liberada la primera versión de prueba de Android 14

Android 14

primera vista previa para desarrolladores de Android 14

Google ha presentado la primera versión de prueba de la plataforma móvil Android 14, en la cual se continuó trabajando para mejorar el desempeño de la plataforma en tabletas y dispositivos con pantalla plegable. Se actualizaron las pautas para diseñar aplicaciones para dispositivos de pantalla grande y se agregaron plantillas genéricas de interfaz de usuario de pantalla grande para abordar aplicaciones como redes sociales, comunicación, contenido multimedia, lectura y compras.

Se propone una versión preliminar del Cross device SDK con herramientas para desarrollar aplicaciones que funcionen correctamente con diferentes tipos de dispositivos (teléfonos inteligentes, tabletas, televisores inteligentes, etc.) y diferentes factores de forma.


Ademas de ello, tambien se destaca que se optimizó la coordinación del trabajo en segundo plano que consume muchos recursos, como la descarga de archivos grandes cuando hay una conexión Wi-Fi. Se han realizado cambios en las API de inicio de servicio prioritario (Servicio en primer plano) y Programador de tareas (JobScheduler) para agregar una nueva funcionalidad para los trabajos relacionados con la transferencia de datos iniciados por el usuario.

Tambien se destaca que, se han introducido requisitos para especificar el tipo de servicios prioritarios que se lanzarán (trabajo con la cámara, sincronización de datos, reproducción de datos multimedia, seguimiento de ubicación, acceso al micrófono, etc.). Más fácil de definir las condiciones para activar las descargas de datos, por ejemplo, para descargar solo cuando se accede a través de Wi-Fi.

El sistema interno para enviar mensajes de difusión a las aplicaciones (sistema de difusión) se ha optimizado para reducir el consumo de energía y mejorar la capacidad de respuesta, asi como tambien una aceptación mejorada de flujos de mensajes registrados por parte de las aplicaciones: los mensajes se pueden poner en cola, combinar (por ejemplo, una serie de mensajes BATTERY_CHANGED se agregarán en uno) y se entregarán solo después de que la aplicación salga del estado almacenado en caché.

El uso de alarmas exactas en las aplicaciones ahora requiere obtener un permiso SCHEDULE_EXACT_ALARM por separado, ya que el uso de esta funcionalidad puede afectar negativamente la duración de la batería y generar un mayor consumo de recursos (para tareas programadas, se recomienda usar la activación en el tiempo aproximado). Las implementaciones de calendario y reloj que utilizan la activación de hora precisa deben recibir el privilegio USE_EXACT_ALARM en la instalación.

Por otra parte, se menciona que se proporcionó la capacidad de especificar configuraciones de idioma vinculadas a aplicaciones individuales. El desarrollador de la aplicación ahora puede cambiar la configuración de localeConfig llamando a LocaleManager.setOverrideLocaleConfig para determinar la lista de idiomas que se muestran para la aplicación en la interfaz de configuración de Android.

Otro cambio importante, es que está prohibido instalar aplicaciones para las que la versión del SDK sea inferior a la 23, lo que bloqueará la omisión de las restricciones de permisos mediante la vinculación a API antiguas (la versión 22 de la API está prohibida, ya que la versión 23 (Android 6.0) tiene un nuevo modelo de control de acceso que le permite solicitar acceso a los recursos del sistema).

De los demás cambios que se destacan de la nueva version:

  • Se agregó la API de inflexión gramatical para que sea más fácil agregar traducciones de elementos de la interfaz que tengan en cuenta los idiomas con un sistema de género.
  • Para evitar que aplicaciones maliciosas intercepten solicitudes de intención, la nueva versión prohíbe el envío de intenciones sin especificar explícitamente un paquete o componente interno.
  • Seguridad mejorada de carga de código dinámico (DCL, carga de código dinámico): para evitar la sustitución de código malicioso en archivos ejecutables cargados dinámicamente, estos archivos ahora deben tener derechos de acceso de solo lectura.
  • Las aplicaciones instaladas anteriormente que usan las API antiguas seguirán funcionando después de la actualización de Android.
  • Se propuso la API Credential Manager y se implementó el soporte para la tecnología Passkeys , que permite al usuario autenticarse sin contraseñas utilizando identificadores biométricos, como una huella digital o reconocimiento facial.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Se espera que Android 14 se lance en el tercer trimestre de 2023. Para evaluar las nuevas funcionalidades de la plataforma, se ha propuesto un programa preliminar de pruebas. Las compilaciones de firmware están preparadas para los dispositivos Pixel 7/7 Pro, Pixel 6/6a/6 Pro, Pixel 5/5a 5G y Pixel 4a (5G).

from Linux Adictos https://ift.tt/kH2cTX7
via IFTTT

Un desarrollador ofrece una reimplementación de GNU Coreutils en Rust 

gnu-coreutils-rust

El uso de Rust para este proyecto ayudará a acelerar este proceso, ya que se elimina por completo una gran cantidad de posibles errores

Sylvestre Ledru comenzó a trabajar una reimplementación de GNU Coreutils en Rust durante la pandemia de COVID-19 y la presentó la semana pasada durante la edición 2023 del FOSDEM. El esfuerzo llamado uutils ahora está empaquetado por muchas distribuciones de Linux y también lo usa una famosa red social a través del proyecto Yocto.

Las comparaciones de los lenguajes Rust y C++ tienen un denominador común: resaltar la superioridad de Rust sobre C++ en términos de seguridad de la memoria. El editor RisingWave explica por qué reescribió su Cloud DBMS nativo desde cero en Rust después de abandonar el proyecto C++.

“Rust garantiza la seguridad de la memoria y los subprocesos en tiempo de compilación mediante la introducción de reglas de propiedad. Va más allá de RAII, un mecanismo de administración de memoria comúnmente utilizado en C++. Tiene dos ventajas. La primera es obvia: una vez que el compilador de Rust valide nuestro programa, no tendremos ningún error de segmento ni condiciones de carrera en el tiempo de ejecución, lo que requeriría decenas de horas de depuración, especialmente en un código base altamente concurrente y en su mayoría asíncrono. El segundo es más sutil: el compilador de Rust simplemente restringe los tipos de fallas, lo que reduce los fragmentos de código estrechamente anidados que pueden causar ese comportamiento defectuoso. La replicación de errores se mejora significativamente con el utilizando la ejecución determinista. »

GNU Coreutils es un paquete del proyecto GNU que contiene muchas herramientas básicas necesarias para los sistemas operativos tipo Unix: cp (copiar un archivo o directorio), mkdir (crear un directorio), etc. Un desarrollador ofrece una reimplementación en el lenguaje Rust.

Uno de los objetivos: hacer que el paquete sea utilizable en otros sistemas operativos: Windows, macOS, Android, FreeBSD, etc. La maniobra viene a reavivar el debate sobre la cuestión de si seguir iniciando nuevos proyectos en C y C++ o simplemente optar por el lenguaje Rust.

“El lenguaje Rust ofrece garantías de seguridad por defecto cuando se trata de gestión de memoria. Este no es el caso de C y C++, cuyo uso en Mozilla es la causa de los problemas de seguridad de la memoria”, enfatiza Sylvestre Ledru.

Sin embargo, Bjarne Stroustrup no está de acuerdo con el hecho de que las comparaciones entre Rust y C++ limiten la noción de asegurar el software a la de asegurar la memoria:

«No hay una sola definición de la noción de ‘seguridad’ y podemos lograr una variedad de tipos de seguridad a través de una combinación de estilos de programación, bibliotecas de soporte y mediante el aprovechamiento del análisis estático. Bjarne Stroustrup sugiere así que lo que se puede obtener de C++ en términos de seguridad del software depende, entre otras cosas, del desarrollador y, en particular, del conocimiento de las herramientas que ofrece el lenguaje, su dominio del compilador, etc.

Los ingenieros de Google, conscientes de lo que C++ les ofrece como posibilidades, se han embarcado en la creación de un verificador de préstamos en este lenguaje. Es una característica del compilador Rust que garantiza la seguridad de la memoria a través de la gestión de asignación de punteros en memoria.

El equipo de Google, cuya publicación apareció en el tercer trimestre del año anterior, llegó a la conclusión de que el sistema tipo C++ no se presta a tal ejercicio. Y para que la seguridad de la memoria en C ++ se pueda lograr con controles durante la ejecución del programa. En otras palabras, es con código C++ lento que es posible lograr un nivel de seguridad equivalente al de Rust.

El lanzamiento del editor RisingWave llega en un contexto en el que Rust se destaca de otros lenguajes presentados durante años como alternativas a C y C++. De hecho, el kernel de Linux se está abriendo cada vez más al lenguaje de programación de sistemas de Mozilla.

from Linux Adictos https://ift.tt/7go5Tuj
via IFTTT

Mozilla eliminó la extensión «Bypass Paywalls» 

Firefox-Logo

Firefox es un popular navegador web

Se dio a conocer la noticia de que Mozilla acaba de eliminar de la tienda de extensiones de su navegador a la extensión«Bypass Paywalls Clean», una extensión popular para Firefox y Chrome que, como su nombre indica, permite a los usuarios eludir los muros de pago digital (paywalls) en sitios web populares para leer el contenido de forma gratuita.

Mozilla no ha hecho ninguna declaración sobre los motivos de su decisión, pero hay algunos en la comunidad que sugieren que la extensión se eliminó porque había acumulado demasiados usuarios. A la espera de conocer las causas, la empresa es fuertemente criticada, pues no está en su primer intento.

Sobre Bypass Paywalls

Bypass Paywalls Clean (o Bypass Paywalls) es una extensión o secuencia de comandos del navegador diseñada para eludir las restricciones del muro de pago digital de algunos sitios de noticias que limitan el acceso a su contenido. Bypass Paywalls permite a los usuarios acceder a este contenido sin tener que pagar una suscripción.

Es compatible con los navegadores Google Chrome y Mozilla Firefox. Pero la semana pasada, el desarrollador de la extensión informó en el repositorio GitLab del proyecto que Mozilla eliminó Bypass Paywalls de su tienda de extensiones para Firefox, lo que impidió que los usuarios lo descargaran directamente al navegador.

La empresa luego guardó silencio sobre su decisión.

“Ya he explicado la funcionalidad de la extensión en la primera línea de este artículo. Es posible que uno de los sitios haya enviado una notificación de DMCA a la extensión Bypass Paywalls, lo que podría haber llevado a Mozilla a eliminar la extensión de su tienda. No estoy del todo seguro, porque si es así, ¿Mozilla no habría notificado al desarrollador? O tal vez violó una cláusula en los términos y condiciones del depósito. No podemos estar seguros, todo lo que sabemos es que ya no puede descargar el complemento de la tienda de extensiones”, escribió el desarrollador.

A lo largo de los años, Bypass Paywalls se ha vuelto muy popular entre la comunidad, con miles de personas usándolo para obtener acceso gratuito y abierto a contenido pago. Sin embargo, también tiene algunas críticas, incluso por violar los términos de uso de los sitios web y los derechos de autor.

Además, eludir los muros de pago inevitablemente compromete los modelos comerciales de las organizaciones de noticias que los implementan en sus sitios web y algunos argumentan que esto podría limitar su capacidad para producir periodismo de calidad. En particular, les resultaría difícil financiarse a sí mismos.

En diciembre de 2018, Bypass Paywalls ya había sido prohibido por Mozilla. Uno de los revisores de la tienda de extensiones de Firefox lo eliminó por violar los términos de servicio de la plataforma. Pero en ese momento, el desarrollador señaló que los términos de servicio de la plataforma no mencionaban la palabra «paywall» ni una sola vez. El desarrollador luego lanzó un movimiento para apelar contra la decisión de Mozilla. Parece que la medida tuvo el mérito de obligar a Mozilla a restablecer la extensión en su tienda de aplicaciones antes de retirarla la semana pasada.

La empresa debe cumplir con las leyes estadounidenses, como la Ley de derechos de autor del milenio digital (DMCA) y la Ley de abuso y fraude informático. La nueva eliminación de la extensión podría explicarse por el hecho de que Mozilla recibió una notificación de DMCA y la cumplió. Esto se debe a que el Procedimiento de eliminación y notificación de la DMCA es una herramienta para que los titulares de los derechos de autor eliminen de los sitios web el material subido por los usuarios que infringen sus derechos de autor. Las empresas realizan regularmente este tipo de solicitud de retiro, por ejemplo, en el contexto de la filtración de software antes de la fecha de lanzamiento oficial.

El desarrollador de Bypass Paywalls ha informado que han actualizado la extensión a la versión 3.5.0. Es posible que no vea la actualización incluso si ya tiene la extensión, ya que se eliminó de la lista. Sin embargo, se puede optar por instalar la versión sin firmar cargando el XPI desde la página de versiones de GitLab del proyecto.

Si se opta por esta versión, debe exportar sus filtros personalizados antes de cambiar de versión. A pocas personas les gusta usar extensiones sin firmar por razones de seguridad. Pero el autor de la extensión también mantiene una lista de filtros que puede usar con bloqueadores de anuncios.

from Linux Adictos https://ift.tt/E5CWpeu
via IFTTT

Cómo instalar Windows 11 en GNOME Boxes o VirtualBox

Windows 11 en GNOME Boxes

Hace muchos años que me muevo más cómodo en Linux que en Windows; a macOS le doy de comer aparte, no porque lo odie, sino porque ahora mismo no veo necesario pagar todo lo que piden por un Mac. Pero lo cierto es que a veces necesito algo de Windows, o no es una necesidad, sino algo que quiero hacer en el sistema de Microsoft, como probar que una aplicación propia funciona en Windows. Hasta el 10 todo era más sencillo, e instalarlo en una máquina virtual no tenía mucho misterio, pero todo cambió cuando lanzaron Windows 11.

La 11ª versión del sistema de las ventanas pide unos requisitos que dificultan bastante las cosas, hasta el punto de que hay que cambiar todo un equipo porque en algunos no se puede actualizar. Parte de la culpa la tienen el TPM y el Secure Boot, dos comprobaciones que hace Windows 11 durante un proceso de instalación que no avanza si no tenemos un equipo compatible. Esto también pasa en las máquinas virtuales, pero aquí os vamos a enseñar como hacerles un «by pass» a esas comprobaciones para instalar Windows 11 en una máquina virtual que se ejecute en Linux.

Windows 11 en una máquina virtual

El secreto está en las palabras «by pass» o en puentear lo que nos nos impide instalar Windows 11 como lo haríamos con Windows 10 o anteriores. Los pasos a seguir quedarían así?

  1. Conseguimos una imagen ISO de Windows 11. Se puede conseguir una legal desde este enlace.
  2. Iniciamos GNOME Boxes o VirtualBox. Los pasos importantes para permitir la instalación son los mismos en ambos casos.
  3. Iniciamos la creación de la máquina virtual. En GNOME Boxes le deja por defecto 128GB de almacenamiento, y no debería ser necesario tanto. El mínimo de RAM debería ser de 8GB, pero eso también se puede puentear. En este punto le dejamos lo que creamos que irá bien, y eso también depende del hardware de nuestro equipo. Yo, con 1TB de almacenamiento y 32GB de RAM, le he dejado esos 128GB de disco duro (que va ocupando si se va llenando) y 12GB de RAM.
  4. En la pantalla en la que nos dice de iniciar la instalación, presionamos Mayúscula+(Fn)F10, lo que nos abrirá el símbolo del sistema.
  5. Escribimos «regedit» sin las comillas, lo que nos abrirá el editor del registro.
  6. Esto es lo importante. Tenemos que crear una carpeta y 3 entradas.
    1. Vamos a HKEY_LOCAL_MACHINE/System/Setup, hacemos clic secundario sobre esa carpeta y creamos una clave (carpeta) con el nombre Labconfig.
    2. Hacemos clic sobre esa carpeta.
    3. A la derecha, hacemos clic derecho/Nuevo/Valor de DWORD (32bits) con nombre BypassTPMCheck. Luego hacemos clic derecho sobre ese valor, seleccionamos modificar y le damos un valor de 1.
    4. Repetimos el paso 3 dos veces más, pero una con BypassRAMCheck y otra con BypassSecureBootCheck.
  7. Ahora sí, iniciamos la instalación y seguimos las instrucciones que aparecen en pantalla como siempre hemos hecho.

Pasos adicionales en VirtualBox

Si hemos instalado Windows 11 en VirtualBox, que es mejor opción que GNOME Boxes para algunos, pero también requiere más instalaciones y más pasos, al iniciar cualquier sistema operativo lo hace en una ventana muy pequeña, pero eso tiene solución instalando las Guest Additions. Y para acceder a todo el hardware, como los puertos USB o la cámara web, hace falta instalar el Extensiion Pack. Eso está explicado mejor en este enlace.

Instalando Tiny11

Si esos 128GB de almacenamiento, 12GB de RAM y lo del TPM os dan algo de respeto, hay otra opción. Se llama Tiny11, y es un Windows 11 que ha creado un desarrollador básicamente quitándole software y preparándolo para que funcione en equipos más discretos. Está disponible en Internet Archive, pero su desarrollador lo va mejorando con el paso del tiempo. La última versión ya está basada en Windows 11 Pro 22H2 y promete funcionar en tan sólo 8GB de almacenamiento. Tiene un precio, y es que por defecto ni siquiera tiene instalado Microsoft Edge, pero se puede arreglar instalando Firefox desde la Microsoft Store.

Tiny11 tiene desactivadas las comprobaciones de Windows 11, por lo que no nos pedirá ni ciertos requisitos mínimos ni comprobará que nuestro equipo soporte TPM 2.0.

Se elija lo que se elija, en mis pruebas he podido comprobar que Windows 11 se comporta mejor que Windows 10, por lo menos en GNOME Boxes. Y si necesito hacer alguna prueba en Windows, haciendo lo explicado aquí no necesito salir de mi Linux favorito.

from Linux Adictos https://ift.tt/oqh6Oui
via IFTTT

Cómo borrar una carpeta en Linux

Borrar una carpeta en Linux

Hay gente que piensa que en Linux todo es más difícil que en otros sistemas operativos como en Windows y macOS porque para muchas cosas es necesario tirar de terminal. Esto también se podría ver de otra manera: todo es más sencillo porque, además de permitir hacer las cosas con interfaz gráfica como en los sistemas de Microsoft y Apple, nos permite hacer lo que nos venga en gana desde el terminal. No es lo mismo. Una cosa que podemos hacer de diferentes maneras es algo tan cotidiano como borrar una carpeta en Linux.

Cuando se busca en Internet algo así es porque la duda existe, pero en ocasiones lo que se quiere saber es cómo hacerlo usando líneas de comandos o bien se está intentando hacer algo que está bloqueado por algún motivo. Las razones pueden ser muchas y muy variadas, y aquí vamos a intentar explicar cómo borrar una carpeta en Linux, empezando por lo más sencillo, que no es otra cosa que hacerlo con el gestor de archivos de turno.

Podemos borrar una carpeta en Linux igual que en Windows

Si no hay ningún problema que esté bloqueándola, podemos borrar una carpeta en Linux igual que en Windows. Para ello, basta con abrir el gestor de archivos, como Nautilus, Dolphin o PCManFM, entre otros, hacer clic derecho sobre la carpeta y elegir «Mover a la papelera», «Borrar» o lo que aparezca. Dependiendo de cómo lo tengamos configurado, es probable que tengamos más de una opción, siendo una de ellas moverla a la basura y la otra eliminarla por completo. Si elegimos la segunda, no hay marcha atrás.

Borrar una carpeta en Dolphin

También podemos intentar hacerlo de otro modo, que es seleccionando la carpeta y presionando la tecla Suprimir (o Del, dependiendo del idioma del teclado). Es probable que nos encontremos con algún caso en el que la combinación de teclas sea diferente, y veremos cuál es con el clic derecho. En la captura de arriba, vemos que en Dolphin es con la tecla Suprimir, y más abajo, la de Borrar, la que no pasa por la papelera, es con Mayúsculas+Suprimir. Dicho sea de paso, la opción de borrar directamente no está activada por defecto; hay que activarla desde las opciones por motivos de seguridad.

Desde el terminal

Error al borrar una carpeta en Linux

Me da a mí que algunos de los que den con este artículo desde un buscador web lo habrán hecho para saber cómo se borra una carpeta en Linux desde el terminal. El comando para eliminar es rm, pero si ponemos en el terminal rm nombre_de_la_carpeta recibiremos un mensaje que dirá «rm: no se puede borrar ‘nombre_de_la_carpeta’: Es un directorio«. El problema es básicamente que una carpeta no es un archivo, y dentro puede contener otras carpetas y documentos. Por lo tanto, para eliminarlas hay que hacerlo recursivamente, es decir, el primer nivel (la carpeta en sí) y todos sus sub-niveles (su contenido).

Pero antes de seguir, tenemos que avisar de algo: si se borra una carpeta en Linux desde su terminal, lo que haremos no tiene vuelta atrás. Tenemos que estar seguros de que ya no queremos volver a ver esa carpeta ni su contenido, porque es lo que va a pasar. Teniendo esto claro, el comando quedaría (cambiando «nombre_de_la_carpeta» por el nombre de la carpeta).

rm -r nombre_de_la_carpeta

Si queremos forzar la eliminación, podemos añadir la «f» (-rf) al comando. Al forzar la eliminación se ignorarán errores y advertencias que puedan surgir al tratar de borrar cualquier archivo o carpeta, y lo borrará directamente.

Como dato curioso para el que no lo conozca, hay un comando famoso con el que se suele bromear en Linux, porque el sistema operativo lo permite, pero no hay que hacerlo nunca. El comando es sudo rm -rf /, y borraría recursivamente todo el contenido del sistema. Y aquí «todo» significa todo, literal. Se cargaría carpetas como la /bin, /usr y todo lo necesario para que el sistema pueda funcionar, por lo que, además de perder la información que no hubiéramos guardado, también nos quedaríamos con un sistema que no sirve ni de pisapapeles. La opción -f tendría gran parte de la culpa, ya que ocultaría cualquier aviso con el que el sistema operativo nos haría saber que algo malo va a pasar.

¿La carpeta está protegida?

En Linux se puede hacer de todo, que se lo pregunten a «un amigo» que haciendo pruebas y en una máquina virtual (menos mal…) llegó a cargarse la carpeta /bin en donde están todos los ejecutables de un sistema operativo, y sin marcha atrás por haberlo hecho desde el terminal. Si no podemos eliminar una carpeta, probablemente sea porque está protegida por el sistema o por cualquier otro motivo, como que sea de otro usuario.

Por ejemplo, si queremos hacer como «mi amigo» y cargarnos la carpeta /bin, que no lo estoy recomendando, sino poniendo un ejemplo, lo único que tenemos que hacer es hacerlo desde un usuario que tenga acceso a los privilegios de super-usuario, también conocido como root. Si nuestro usuario puede hacer eso, lo único que tendremos que hacer es añadir «sudo» al comando anterior, lo que quedaría como:

sudo rm -r nombre_de_la_carpeta

También podemos intentarlo con el gestor de archivos, si éste se puede abrir con sudo, lo que nos permitiría movernos por todas nuestras carpetas con privilegios elevados. Por ejemplo, Nautilus (Archivos de GNOME) sí lo permite, y nos dejaría eliminar carpetas protegidas (puede que no todas) si abrimos el terminal y escribimos «sudo nautilus» sin las comillas. Veremos dos ventanas abiertas, una con el terminal mostrando información y otra que será el gestor de archivos con su interfaz más básica (no suele respetar personalizaciones).

Con Dolphin, cuando KDE lo permita o allá donde lo permite, la opción de eliminar debería aparecer como cualquier otra, pero antes de dar el paso nos pedirá la contraseña de administrador. También se puede hacer lo que explicamos en este artículo para lanzar Dolphin como root.

Eliminar una carpeta con un Live USB

Otra opción para borrar una carpeta en Linux es hacerlo desde otro Linux, concretamente desde una Live Session. Hay algunos fallos que se pueden solucionar de esta manera, y uno de ellos sería eliminar una carpeta que fuera imposible hacerlo desde el sistema operativo de nativo (poco probable, pero…). Lo que tendríamos que hacer es crear un Live USB, iniciar desde él, buscar la carpeta que queramos eliminar y eliminarla.

Como veis, en Linux tenemos más opciones que en otros sistemas operativos y todo es posible, pero no hagáis lo que pone en el texto resaltado por vuestro bien.

from Linux Adictos https://ift.tt/iET6ula
via IFTTT