Juegos de código abierto para instalar en tu dispositivo Android

Juegos de código abierto

En nuestro repaso por los contenidos de la tienda alternativa F-Droid, vamos a hacer algunas recomendaciones de juegos con los que puedes divertirte en tu dispositivo móvil.

Los juegos de código abierto en F-Droid

RaumBaller

Juego de disparos con scroll de pantalla al estilo de los cĺásicos.

El jugador puede optar por una de las tres naves, cada una con sus fortalezas y debilidades. Para controlarla pulsa sobre la pantalla. La nave dispara en forma automática por lo que el objetivo es durar vivo la mayor parte del tiempo posible evitando a los disparos y naves enemigas.
A mayor cantidad de enemigos muertos, sube la puntuación y se mejora la potencia de disparo.

Super Retro Mega Wars

Con esta aplicación puedes jugar a juegos retros con otros jugadores.

La modalidad es curiosa. Cada uno de los jugadores puede elegir un juego diferente o el mismo. Sin embargo, cada vez que un jugador logra una puntuación mayor en uno, todos los juegos se vuelven más difíciles para los demás jugadores.
Los juegos disponibles son:

  • Asteroids.
  • Missile Command.
  • Snake.
  • Space Invaders
  • Tetris

Open Chaos

Es un programa de ajedrez pero, con movidas aleatorias.

A diferencia de los programas tradicionales de ajedrez, se puede elegir la pieza que se mueve, pero los movimientos son aleatorios. Se gana eliminando las piezas del oponente. El juego funciona completamente sin conexión a Internet, pero se necesita Bluetooth para jugar al modo multijugador. Los datos de los logros y los ajustes de color se guardan localmente.

AndTTT

Me van a perdonar que meta en la lista un juego de Tres en Raya, por más que admita el modo multijugador y el desarrollo de partidas online. Pero, si fuiste un adolescente apasionado de la informática en los 80, amas la película Juegos de Guerra. Y si amas la película Juegos de Guerra, el Tres en raya es mucho más que un juego tonto con el que pasar el tiempo.

Virus Attack

No sé si es el mejor juego para esta época. Asumimos el papel del sistema inmune y tenemos que defender una célula del ataque de los virus.Planes Android.

Planes Android

Es la batalla naval, pero con aviones.

Debemos colocar los aviones en el tablero de juego y adivinar dónde ha escondido el ordenador los suyos antes de que éste adivine dónde escondimos los nuestros.

Space Trader

Es una adaptación del juego del mismo nombre para Palm OS,

Este port de Android que reproduce fielmente el juego original tiene como objetivo ganar suficiente dinero, ya sea por elcomercio honesto o por otros medios,

Algunas formas de conseguir efectivo son la  comprar productos en un planeta para venderlos en otro, tratando de evitar a los piratas espaciales o si te atreves, cazarlos para obtener una recompensa.

Si te parece que con el trabajo honesto no ganas dinero lo suficientemente rápido puedes probar a hacer contrabando de artículos ilegales para obtener beneficios espectaculares. Y, si eso falla, también puedes convertirte en pirata, siempre que no te importe huir de la policía.

Shattered Pixel Dungeon

Aquí tenemos un juego roguelike tradicional con gráficos pixel-art y una interfaz sencilla.
Cada partida es única y cuenta con cuatro personajes jugables diferentes, niveles y enemigos aleatorios y más de 150 objetos para recoger y utilizar. A pesar de su sencillez el juego no es fácil y requiere de estrategia para ganar

Algunas características.

  • Alta rejugabilidad: Niveles, enemigos y objetos generados aleatoriamente. ¡No hay dos partidas iguales!
  • 4 clases de héroes: Guerrero, Mago, Pícaro y Cazadora. Cada héroe tiene un estilo de juego único.
  • 8 subclases: Los héroes que triunfan pueden refinar sus habilidades para ser más poderosos.
  • 5 regiones de mazmorras distintas: cada una con sus propios enemigos, trampas y misiones.
  • Más de 150 objetos diferentes: incluyendo poderosas varitas, anillos, armas y armaduras.
  • Más de 50 enemigos diferentes, 30 trampas distintas y 5 jefes que pondrán a prueba tus habilidades
  • Artefactos únicos, que crecen en poder a medida que los usas.
  • Actualizaciones, con nuevos contenidos aproximadamente una vez al mes.

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

Cómo codificar en C++. La programación en Linux 7

Cómo codificar en C++

En este panorama de las oportunidades que ofrece Linux para los programadores, voy a dedicar los siguientes artículos a reseñar las características de algunos de los lenguajes de programación disponibles y la forma de instalarlos en ciertas distribuciones Linux.

La codificación en C++

C++ es uno de los lenguajes de programación más utilizados en la actualidad.  Desde motores de búsqueda hasta aplicaciones de realidad virtual, pasando por los programas de reservas aéreas y la exploración espacial hacen uso intensivo de sus características.

Aunque es un lenguaje de propósito general,  es ideal para llevarlo al límite. Ya sea para motorizar software a gran escala como aplicaciones que tengan que ejecutarse en entornos limitados.

Como C++ puede manipular directamente el hardware, los desarrolladores pueden adaptar los programas a cada entorno de ejecución. El resultado es una aplicación  que puede ejecutarse de forma rápida en cualquier dispositivo.

Es por esto que C++ es la elección de muchos programadores para construir la capa base de muchas aplicaciones importantes.

¿Por qué utilizar C++?

Además de que Linux tiene todas las herramientas necesarias para programarlo en sus repositorios, y de la abundancia de documentación gratuita disponible en la red, C++ nos ayuda a crear aplicaciones veloces, que aprovechen de manera eficiente los recursos del sistema y que resulten confiables en la realización de tareas críticas.

¿En qué se usa C++?

  • Sistemas operativos: Dado que los sistemas operativos deben ser rápidos y eficientes en la gestión de los recursos, C++ es ideal para construirlos por sus capacidades de bajo nivel cercanas al código máquina.
  • Creación de juegos: La ejecución de los juegos suelen insumir muchos recursos de hardware. Al programarlos en C++ es posible optimizar su uso ajustando las estructuras de datos y el manejo de la memoria.
  • Internet de las cosas: Como los programas que hacen funcionar este tipo de dispositivos están  embebidos dentro de un aparato, tienen que funcionar con recursos informáticos limitados  y un bajo consumo de energía. Por esto C++ es el lenguaje ideal.
  • Navegadores web: C++ se utiliza para recuperación de base de datos y recuperación de páginas interactivas.
  • Aprendizaje automático: El lenguaje C++ cuenta con una extensa colección de bibliotecas para los cálculos especializados que requieren este tipo de aplicaciones.
  • Realidad Virtual y Aumentada: Este tipo de tecnología requiere el manejo de grandes cantidades de datos que se actualizan constantemente de acuerdo a la entrada de los sensores de las cámaras y la interacción de los usuarios.
  • Industria financiera: Este sector tiene que procesar millones de transacciones diarias  y facilitar un enorme volumen y frecuencia de operaciones. C++ es ideal además, para la simulación de escenarios.
  • Tecnología médica: El diagnóstico por imágenes exige una precisa interpretación de los matices de las mismas.
  • Simuladores de vuelo. Para reproducir las condiciones de vuelo reales, el hardware y el software deben actuar simultáneamente en tiempo real.

Programas que usan C++

Algunas de las aplicaciones construidas con este lenguaje

  • Sistemas operativos: Symbian, Windows, MacOS e iOS.
  • Juegos: World of Warcraft, Counter-Strike y StarCraf
  • Consolas: Xbox, PlayStation y Nintendo Switch.
  • Motores de juegos: Unreal Engine.
  • Código abierto: Mozilla Firefox, Mozilla Thunderbird,  MySQL y MongoDB
  • Navegadores: Google Chrome, Safari, Opera

Instalación en Linux

Debemos instalar las herramientas necesarias

En Fedora/CentOS/RHEL/Rocky Linux/Alma Linux
sudo groupinstall 'Development Tools'
En Debian y derivados
sudo apt update
sudo apt install build-essential manpages-dev

Todas las distribuciones

Verificar la ubicación del compilador
whereis gcc
Determinar la versión del compilador
gcc --version

Algunos editores integrados de desarrollo para C++

Entre las opciones disponibles en los repositorios Linux y en las tiendas Snap y FlatPak están:

  • VSCodium
  • Visual Studio Code
  • Code:: Blocks
  • Eclipse.
  • NetBeans
  • QT Creator
  • Atom

Probablemente C++ no sea la opción ideal para comenzar a programar. Pero, sin dudas deberías tenerlo en la lista para cuando te decidas a emprender aplicaciones más ambiciosas. La web está llena de recursos gratuitos, algunos en nuestro idioma, para enseñarte a dominar las complejidades de este lenguaje.

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

Instalación de un lenguaje. La programación en Linux 6

Instalación de un lenguaje

En el segundo artículo de esta serie establecí las etapas de la creación de un programa. Actualmente le toca la tercera que es la de convertir los parámetros de rendimiento esperados en código informático ejecutable por un dispositivo. Para  esto hay que elegir un lenguaje de programación.

Instalación de un lenguaje. Ofertas para todos los gustos.

Si de algo no nos podemos quejar los usuarios del sistema operativo del pingüino es de la disponibilidad de ofertas en ese rubro. Aún algunos lenguajes privativos solo reservados a sistemas operativos propietarios, hoy pueden utilizarse para programar desde y para Linux. De hecho, la propia Microsoft se vio obligada a permitir la ejecución de distribuciones en Windows para seducir programadores. Para próximos artículos prometo una descripción más extensa de muchos de esos lenguajes en forma individual, así como de la forma de instalarlo en algunas de las distribuciones más populares.

Sin embargo, no quiero dejar pasar la oportunidad de presentar una herramienta que, si no tienes ninguna objeción a los paquetes en formato Snap, te ahorrará mucho tiempo de preparación de tu entorno de programación.

Ubuntu-Make

A pesar de la palabra Ubuntu en el nombre, podemos instalarla en cualquier distribución que admita soporte a los paquetes en formato Snap.

Se trata de una herramienta para usar desde la terminal que permite instalar todo lo necesario (lenguajes de programación, librerías y entornos de desarrollo) de algunas de las opciones más comunes para crear aplicaciones para escritorio y dispositivos móviles.

Se instala con el comando:
sudo snap install ubuntu-make --classic

Algunas opciones disponibles en Ubuntu-Make

Plataforma Android

  • Android NDK: Conjunto de herramientas para utilizar bibliotecas de los lenguajes C y C++ en la creación de aplicaciones Android.
  • Android SDK: Herramientas necesarias para el desarrollo de apps para Android, o desbloquear el bootloader del dispositivo y actualizarlo con una nueva imagen del sistema.
  • Android Studio: El entorno integrado de desarrollo oficial para crear aplicaciones Android

Lenguajes de programación

  • Crystal: Lenguaje de programación inspirado en Ruby, pero con prestaciones más avanzadas.
  • Dart; Un lenguaje para la creación de aplicaciones con interfaz de usuario para todas las plataformas.
  • Flutter: Kit para la creación de interfaz de usuario.
  • Go: Este lenguaje de código abierto es muy fácil de aprender y muy versátil para la creación de todo tipo de aplicaciones.
  • Java:  Un popular lenguaje de programación multiplataforma con muchos desarrolladores y sintaxis parecida a la del lenguaje humano.
  • Kotlin; Lenguaje de programación que cada vez más está reemplazando a Java para la creación de aplicaciones móviles.
  • Maven:  Una herramienta de la Fundación Apache para la gestión y construcción de proyectos en Java y otros lenguajes.
  • Rust:  Lenguaje de programación multiparadigma y multipropósito desarrollado originalmente por la Fundación Mozilla y ahora en manos de la comunidad.
  • Scala: Según la Wikipedia es un lenguaje de programación multi-paradigma diseñado para expresar patrones comunes de programación en forma concisa, elegante y con tipos seguros.
  • Swift: Este lenguaje de programación creado originalmente por Apple, y ahora de código abierto, tiene el propósito de hacer más fácil la programación.
  • Node.js:  Entorno para la creacion y ejecución de programa desarrollados en Javascript.

Plataforma Arduino

Arduino es una plataforma para proyectos de electrónica combinando hardware y software de código abierto. En Ubuntu-Make encontramos las siguientes herramientas:

  • Arduino: El kit oficial de software del proyecto
  • Eagle: Herramienta para el diseño de circuitos.
  • Fritzing: Herramienta muy fácil de aprender para diseño de proyectos electrónicos:

Entornos integrados de desarrollo

  • VSCodium: Entorno integrado de desarrollo construido a partir del código de Visual Studio Code, pero sin las herramientas de telemetría de Microsoft
  • Visual Studio Code: El entorno integrado de desarrollo de Microsoft con múltiples complementos que lo hacen ideal para programar en los lenguajes más populares.
  • Atom: Editor de textos muy configurable ideal para programadores que no quieran lidiar con las complejidades de un entorno integrado de desarrollo
  • Eclipse/Cpp/Php/Javascript: El clásico entorno integrado de desarrollo de código abierto en versiones optimizado para los lenguajes Java, C++, PHP y Javascript.

Estas son solo algunas de las cosas que puedes instalar con Ubuntu-Make, la lista completa la puedes encontrar (una vez instalada la aplicación) con el comando:
umake --help

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

Recupera el soporte para reproducir contenido protegido en tu Raspberry Pi con estas soluciones

Raspberry Pi OS, Widevine visto y no visto

Para mí fue de lo más gracioso. Aunque para el uso que hago yo esto no es de vida o muerte, el pasado jueves busqué información sobre el soporte para DRM en la Raspberry Pi para encontrar que lo había estado… hasta 36 horas antes. Google actualizó Widevine y dejó colgada a la placa de la frambuesa, por lo que sus poseedores deben esperar una solución oficial o, si les corre prisa, hacer unos cambios por su cuenta.

Una hilo en el foro oficial de Raspberry Pi recoge qué es lo que está pasando. En el mismo, que llevo fisgando desde el pasado jueves, también han publicado un par de soluciones. La primera es actualizar el sistema operativo, ya que el parche ya ha llegado a Bullseye (Debian 11). La segunda es añadir las claves al Widevine de Buster. Ninguno de las dos soluciones es oficial, ya que, aunque se puede actualizar el sistema operativo, Raspberry Pi OS aún está basado en Debian 10 oficialmente.

Recupera el soporte para DRM en la Raspberry Pi

Método 1: actualizar a Bullseye

Ya que el parche ya está en Bullseye, lo que más se acerca a ser oficial es actualizar el sistema operativo, algo que conseguiremos siguiendo estos pasos:

  1. Actualizamos los repositorios, los paquetes y la distribución con estos comandos:
apt update
apt upgrade
apt full-upgrade
  1. A continuación editamos las fuentes con:
sudo nano /etc/apt/sources.list
  1. Lo siguiente que tenemos que hacer es modificar todo lo relacionado con Buster para que aparezca Bullseye:
deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-backports main contrib non-free
  1. Hacemos lo mismo en el archivo apt.conf, cambiando Buster por Bullseye y dejando el resto como está.
  2. Por último, repetimos el primer paso y aceptamos los cambios.

Otra opción es ejecutar este script.

Metodo 2: aplicar el parche a Buster

La otra opción es aplicar el parche no oficial a Buster. Para ello hay que abrir un terminal y escribir todos estos comandos, mejor uno por vez:

sudo apt-get update
sudo apt-get install libwidevinecdm0 gnupg
curl -s --compressed "https://wagnerch.github.io/ppa/buster/KEY.gpg" | sudo apt-key add -
sudo curl -s --compressed -o /etc/apt/sources.list.d/wagnerch-buster-ppa.list "https://wagnerch.github.io/ppa/buster/wagnerch-buster-ppa.list"
sudo apt-get update
sudo apt-get upgrade
curl https://k.slyguy.xyz/.decryptmodules/widevine/4.10.2252.0-linux-armv7.so | sudo tee /opt/WidevineCdm/_platform_specific/linux_arm/libwidevinecdm.so >/dev/null
sudo reboot

Es importante insistir en que nada de lo explicado aquí es oficial. El equipo de desarrolladores de Raspberry Pi OS tiene planeado lanzar el su parche para Buster, pero no se sabe cuándo llegará. Por otra parte, tal y como explican el en foro, cada uno es responsable de lo que le pueda pasar si decide realizar los cambios por su cuenta. Y, por descontado, merece la pena hacer una copia de seguridad de todos los datos importantes antes de nada.

Yo prefiero esperar a algo 99% oficial, es decir, a lo que hagan los desarrolladores de Raspberry Pi OS, pero porque yo no necesito reproducir contenido protegido en mi pequeña placa. Si para alguien es necesario, ya puede arreglarlo con dos métodos distintos.

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

Antstream: juegos retro en la nube gratis y disponibles para Linux

Antstream

Los juegos en formato físico parecen tener los días contados. Ya hace mucho tiempo que se pueden comprar en tiendas como las de la PlayStation o la Xbox, pero ahora también se puede jugar a los títulos en la nube. Eso significa que no es necesario una consola, basta con un equipo que pueda conectarse a internet e instalar un navegador web. Mientras algunos como Google o Microsoft trabajan en ofrecernos los títulos más modernos, hay un servicio que apuesta por llevarnos al pasado, y su nombre es Antstream.

Porque los juegos actuales están muy bien, eso nadie lo niega, y menos alguien como yo que tantas horas ha pasado (y las que le quedan) jugando la saga God of War, pero los clásicos siempre serán clásicos. En mis tiempos muertos, aún suelo tirar de MAME para echarme un ratejo metiendo goles en Tehkan World Cup, pero de ahora en adelante pasaré más tiempo viendo los títulos que tiene Antstream.

Antstream nos permite jugar a 1000 juegos retro gratis

Y es que, ahora mismo, Antstream ofrece la posibilidad de jugar a más de 1000 títulos, pero todos ellos de máquinas recreativas, viejas consolas de los 80-90 o incluso ordenadores como el Commodore Amiga. ¿Lo mejor? Que es gratis. La plataforma se financia con publicidad, algo que personalmente no he visto en todo el tiempo en el que lo he estado jugando en Linux.

Antstream es un servicio web, pero para poder disfrutar de todo lo que tiene que ofrecernos tenemos que instalar una aplicación. No está disponible desde un navegador web. Los usuarios de Linux tenemos que instalar su paquete snap, desde el que, si no teníamos cuenta, podemos crearnos una. Como si de una plataforma de las más populares se tratara, tenemos nuestro propio perfil que puede ir subiendo de nivel conforme vayamos jugando, y hay un ranking con las puntuaciones. ¿Adivináis quién ha subido al Top Ten en su primera partida al Art of Fighting?

Navegar por la aplicación es muy sencillo. Tenemos la pantalla principal, la opción de buscar, nuestro perfil, los logros, mensajería y un apartado con los torneos que se están jugando. Si abrimos un juego, lo primero que veremos serán los controles, lo que suelen ser las flechas de navegación para mover el protagonista y las teclas Z, X, C o cercanas para la acción. Y no, no se pueden configurar las teclas. Pero ¡sí!, ¡podemos conectar controladores! Por ejemplo, el DualSock 3 funciona perfectamente, si te acostumbras a los botones por defecto.

Cómo lo instalo en Linux

No estamos hablando de una aplicación de una compañía tan famosa como Valve, ni siquiera de un proyecto como Libretro, responsables de RetroArch. Así que tenemos que conformarnos con lo que nos ofrezcan, que actualmente es un paquete snap. Por lo tanto, para instalarlo basta con abrir un terminal y escribir, sin las comillas, «sudo snap install antstream-arcade». En los sistemas en donde no esté habilitado el soporte, antes hay que habilitarlo, algo que está explicado en este enlace.

Así que ya lo sabéis. Si os va lo retro, Antstream es una gran opción porque es gratis y no requiere ninguna configuración especial. El único problema es que hay juegos famosos que no están, como los de Nintendo. Nadie es perfecto.

from Linux Adictos https://ift.tt/38HBL3h
via IFTTT

Lakka 3.4 llega con mejoras, actualización de controladores mesa y mas

La nueva versión de Lakka 3.4 ya fue liberada y llega poco despues de un mes de la liberación de la versión anterior (Lakka 3.3) y en esta nueva versión se presentan la actualización de diferentes componentes del sistema, entre los cuales podremos encontrar nuevos núcleos de algunos emuladores, la actualización de los controladores mesa, mejoras de soporte y más.

Para quienes desconocen del proyecto, deben saber que es una modificación del kit de distribución LibreELEC, que fue diseñado originalmente para la creación de sistemas de cine en casa.

Lakka se basa en el emulador de consola de juegos RetroArch, que proporciona emulación de una amplia gama de dispositivos y admite funciones avanzadas como juegos multijugador, guardar estado, mejorar la imagen de juegos antiguos con sombreadores, rebobinar juegos, gamepads de conexión en caliente y transmisión de video.

Lakka utiliza RetroArch y la interfaz de Libretro con una interfaz que imita la PlayStation 3 XrossMediaBar (XMB). Es la opción más robusta que encontrarás, con una gran cantidad de opciones para sombreadores, ajustes de audio y video. A veces, es casi demasiado.

Principales novedades de Lakka 3.4

En esta nueva versión se implementó el soporte para alto rango dinámico (HDR, High Dynamic Range), que actualmente está limitado solo para controladores que usan Direct3D 11/12. La compatibilidad con HDR está prevista para Vulkan, Metal y OpenGL en una fecha posterior.

Además se agregó soporte para la tecnología AMD FSR (FidelityFX Super Resolution) para reducir la pérdida de calidad de imagen al escalar para pantallas de alta resolución. AMD FSR se puede utilizar con controladores para las API de gráficos Direct3D10 / 11/12, OpenGL Core, Metal y Vulkan.

Otra de las novedades de Lakka 3.4, es que trae una nueva versión de Mesa 21.2 y emuladores y motores de juego actualizados, entre los cuales se agregaron nuevos emuladores PCSX2 (Sony PlayStation 2) y DOSBOX-pure (DOS), el emulador DuckStation (Sony PlayStation) se ha trasladado a la lista principal de RetroArch, además de que se han resuelto diversos probelmas con el emulador de PlayStation 2 y se agregó soporte para la API de gráficos Vulkan en el emulador PPSSPP (Sony PlayStation Portable).

De los demás cambios:

  • El puerto de Nintendo 3DS ha agregado soporte para mostrar un menú interactivo en el área inferior de la pantalla táctil.
  • El menú «Trucos» ahora admite la búsqueda avanzada.
  • En plataformas que admiten instrucciones ARM NEON, las optimizaciones se utilizan para acelerar el procesamiento y la conversión de audio.

Al mismo tiempo, se presenta una nueva versión del emulador de consola de juegos RetroArch 1.9.9, que forma la base de la distribución de Lakka. RetroArch emula una amplia gama de dispositivos y admite funciones avanzadas como juegos multijugador, guardar estado, mejorar juegos heredados con sombreadores, rebobinar juegos, gamepads de conexión en caliente y transmisión de video.

Si estás interesado en poder conocer más al respecto sobre esta nueva versión liberada, puedes consultar los detalles dirigiéndote al siguiente enlace.

Descargar y probar Lakka 3.4

Lakka es fácil de instalar y usar, por lo que los que estén interesados en instalar o probar esta distro, deben de descargar la imagen del sistema dirigiéndose directamente al sitio web oficial del proyecto en el cual en su sección de descargas podrán encontrar la imagen del sistema acorde al dispositivo en el cual lo desean probar. El enlace es este.

En el caso especial de los que son usuarios de Raspberry Pi como mencione anteriormente si están utilizando PINN o NOOBS estos les pueden facilitar la descarga e instalación de este en su tarjeta SD.

Pero en caso de que no sea así al descargar la imagen esta la pueden grabar en su tarjeta SD (ya formateada) con ayuda de Etcher.

Una vez instalado en su tarjeta SD o unidad flash USB, solo tiene que copiar sus ROMs en el dispositivo, encender la plataforma y conectar su joypad y disfrutar de sus juegos favoritos.

Además, es importante mencionar que las compilaciones de Lakka también se generan para plataformas i386, x86_64 (GPU Intel, NVIDIA o AMD), Raspberry Pi 1-4, Orange Pi, Cubieboard, Cubieboard2, Cubietruck, Banana Pi, Hummingboard, Cubox-i, Odroid C1/C1+/XU3/XU4 y etc.

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

OpenWrt 21.02.0 llega con diversos cambios importantes, entre ellos los de hardware

Se acaba de presentar una nueva versión significativa de OpenWrt 21.02.0, la cual se destaca por haber aumentado los requisitos mínimos de hardware, ya que en la compilación predeterminada, debido a la inclusión de subsistemas de kernel de Linux adicionales, ahora se requiere un dispositivo con 8 MB de Flash y 64 MB de RAM para usar OpenWrt.

Aun que para los usuarios que tengan la intención de crear su propia compilación, aún pueden hacerlo para simplificar que pueda ejecutarse en dispositivos con 4 MB de Flash y 32 MB de RAM, pero la funcionalidad de dicha compilación será limitada y la estabilidad no está garantizada.

El paquete básico incluye paquetes para admitir la tecnología de seguridad inalámbrica WPA3, que ahora está disponible de forma predeterminada tanto cuando se trabaja en modo cliente como cuando se crea un punto de acceso. WPA3 proporciona protección contra ataques de fuerza bruta (no permite ataques de fuerza bruta en modo fuera de línea) y utiliza el protocolo de autenticación SAE. La mayoría de los controladores inalámbricos ofrecen capacidad WPA3.

Tambien el paquete básico incluye compatibilidad con TLS y HTTPS de forma predeterminada, lo que permite acceder a la interfaz web de LuCI a través de HTTPS y utilizar utilidades como wget y opkg para recuperar información a través de canales de comunicación cifrados. Los servidores a través de los cuales se distribuyen los paquetes descargados a través de opkg también están conmutados de forma predeterminada para proporcionar información a través de HTTPS.

La biblioteca mbedTLS utilizada para el cifrado se ha reemplazado por wolfSSL (si es necesario, puede instalar manualmente las bibliotecas mbedTLS y OpenSSL, que siguen proporcionándose como opciones). Para configurar el reenvío automático a HTTPS, se ofrece la opción «uhttpd.main.redirect_https =1» en la interfaz web.

Otro de los cambios que podremos encontrar, es que se implementó soporte inicial para el subsistema central DSA, que proporciona herramientas para configurar y administrar cascadas de switches Ethernet interconectados utilizando los mecanismos utilizados para configurar interfaces de red ordinarias (iproute2, ifconfig). DSA se puede utilizar para configurar puertos y VLAN en lugar de la herramienta swconfig sugerida anteriormente, pero no todos los controladores de conmutadores son compatibles con DSA todavía.

Se han realizado cambios en la sintaxis de los archivos de configuración ubicados en /etc/config/network. En el bloque «config interface», la opción «ifname» ha sido renombrada a «device», y en el bloque «config device», las opciones «bridge» e «ifname» han sido renombradas a «ports». Ahora se generan archivos separados con la configuración del dispositivo (capa 2, bloque «dispositivo de configuración») e interfaces de red (capa 3, bloque «interfaz de configuración») para nuevas instalaciones.

Para mantener la compatibilidad con versiones anteriores, se mantiene el soporte para la sintaxis anterior, es decir, las configuraciones creadas previamente no requerirán ningún cambio. En este caso, cuando se encuentre la sintaxis antigua en la interfaz web, se mostrará una propuesta para migrar a la nueva sintaxis, que es necesaria para editar la configuración a través de la interfaz web.

De los demás cambios que se destacan:

  • Se agregaron nuevas plataformas bcm4908 y rockchip para dispositivos basados ​​en SoC Broadcom BCM4908 y Rockchip RK33xx. Las plataformas con soporte previo tienen brechas fijas en la compatibilidad de dispositivos.
  • Se eliminó el soporte para la plataforma ar71xx, en lugar de la cual se debe usar la plataforma ath79 (para dispositivos vinculados a ar71xx, se recomienda reinstalar OpenWrt desde cero). Además, se suspendió la compatibilidad con las plataformas cns3xxx, rb532 y samsung (SamsungTQ210).
  • Los archivos ejecutables de las aplicaciones involucradas en el procesamiento de conexiones de red están construidos en modo PIE (Ejecutables independientes de la posición) con soporte completo para la aleatorización del espacio de direcciones (ASLR) para dificultar la explotación de vulnerabilidades en tales aplicaciones.
  • Al compilar el kernel de Linux, las opciones predeterminadas para admitir tecnologías de aislamiento de contenedores están habilitadas, lo que permite usar el kit de herramientas LXC y el modo procd-ujail en OpenWrt en la mayoría de las plataformas.
  • Proporcionó la capacidad de construir con soporte para el sistema de control de acceso forzado SELinux (deshabilitado por defecto).

Fuente: https://openwrt.org

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

Mis preferidas de F-Droid para instalar en dispositivos Android

Mis preferidas de F-Droid

Hace unos días les hablé de F-Droid, una tienda de aplicaciones alternativa a la de Google que solo ofrece aplicaciones de código abierto. Hoy les quiero comentar cuales son mis preferidas.

Una aclaración, algunas de estas aplicaciones también pueden encontrarse en la tienda de Google. La ventaja de hacerlo desde F-Droid es que no hacen un seguimiento. Además, una de las que comento, KDE Connect, tuvo que restringir durante un tiempo algunas de sus prestaciones de la versión Google porque la empresa consideraba que la original violaba sus reglas.

Para instalar estas aplicaciones, debes instalar primero la aplicación de F-DROID o bien descargar los APK de cada una e instalarlos manualmente en el teléfono.

Estas son mis preferidas de F-DROID

KDE Connect

Esta aplicación facilita la interacción entre una computadora de escritorio y dispositivos móviles. En general, las distribuciones Linux basadas en KDE, traen la aplicación para la computadora instalada por defecto. Caso contrario deberás instalarla desde los repositorios buscándola por el mismo nombre. Si usas un escritorio GNOME lo que tienes que instalar es una extensión llamada GS Connect.

Algunas de las prestaciones del programa son:

  • Compartir el portapapeles entre dispositivos  permitiendo copiar en uno y pegar en elotro.
  • Compartir archivos y direcciones web desde cualquier aplicación del móvil con la computadora.
  • Recibir en la PC notificaciones sobre llamadas y mensajes entrantes al móvil.
  • Transformar al móvil en un Touchpad para el ordenador.
  • Ver las notificaciones del móvil desde el escritorio.
  • Utilizar el teléfono para controlar la reproducción multimedia en la computadora.
  • Conexión de los dispositivos usando cifrado TLS de extremo a extremo.

KDE Connect establece la conexión mediante WiFi

Habiendo usado KDE Connect tanto en GNOME como en KDE y la solución privativa de Microsoft para Windows, tengo que decir que el funcionamiento de la primera me pareció muy superior.

K-9 Mail

Si recibes grandes volúmenes de correos electrónicos y estás harto de la arbitraria clasificación e intromisión del cliente nativo de GMAIL, vas amar  a este programa.

K-9 Mail trabaja con los protocolos POP3, IMAP, Push IMAP (y, por supuesto SMTP) con el agregado de aplicaciones adicionales que también pueden descargarse desde F-DROID puede utilizar cifrado OpenPGP y exportar e importar configuraciones de cuenta hacia y desde otros dispositivos

VLC

Si no fuera porque constantemente se va sumando gente al múndo del código abierto, y por lo tanto no hay que dar las cosas por sabidas, me sentiría tentado de saltarme la descripción y pasar a la siguiente aplicación.

VLC es «el reproductor» multimedia. No importa la plataforma o el sistema operativo que estés utilizando. Aunque hay que decir que la interfaz por defecto para Android está mucho más lograda que la de la versión para computadoras de escritorio.

Basta decir que es casi imposible encontrar un formato de audio o video que VLC sea incapaz de reproducir y  que puede hacerlo tanto con contenido almacenado localmente como en forma remota.

Es posible conectar la aplicación VLC del móvil a la de la computadora conectada a la misma red y  utilizar el dispositivo cono control remoto o reproducir contenido de un equipo en el otro.

Com-Phone Story Maker

Si te gusta compartir historias pero no usar redes sociales propiedad de Facebook, deberías darle una mirada.

Con Com-Phone Story Maker se pueden crear relatos multimedia, mediante la combinación de fotos, audio y texto para contar historiaS. La interfaz de la aplicación, muy fácil de entender posibilita crear presentaciones de fotos, enviarlas a otros dispositivos que ejecuten la aplicación o reproducirlas localmente; crear plantillas; exportarlas como película; subirlas a YouTube; o publicarla como sitio web.

Las historias se componen del número deseado de fotogramas multimedia. Cada fotograma individual de la historia puede incluir una imagen o foto, hasta tres pistas de audio o música en capas, y contenido de texto. Los fotogramas pueden editarse en cualquier momento.

¿Cuáles son tus aplicaciones preferidas de código abierto para móviles? No importa la tienda. Cuéntanos en el formulario de comentarios.

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

Algunos ejemplos de modelos de financiamiento para proyectos FOSS

Algunos ejemplos de modelos

En los primeros artículos de esta serie, vimos como, aunque muchos proyectos de software libre y de código abierto (FOSS) se entreguen sin costo para el usuario, no significa que su desarrollo no cueste dinero. También, concluimos que a la hora de determinar ese costo, su complejidad y las herramientas elegidas serán un factor determinante y, que el interés que el proyecto despierte en desarrolladores, usuarios finales y patrocinadores corporativos es un factor crítico para conseguir financiamiento.

Para terminar, repasaremos algunas formas posibles de financiamiento.

Algunos ejemplos de modelos de financiación

Venta de licencias

Se trata de una combinación de los métodos utilizados por quienes distribuyen software privativo de habilitar el uso mediante un pago y los distribuidores de software libre. Esto puede hacerse de dos formas; el cliente paga su licencia, pero no tiene ninguna restricción a la hora de modificar y redistribuir el código, o bien se distribuyen dos versiones  una gratuita y otra de pago

Con este esquema, la versión gratuita (generalmente identificada como comunitaria) tiene ciertas limitaciones; como por ejemplo solo puede ser utilizada para propósitos de evaluación, desarrollo de aplicaciones, pruebas de concepto o usos no comerciales. Red Hat Enterprise Linux, puede ser descargada y utilizada en forma gratuita por los desarrolladores, aunque los usuarios comerciales deben pagar una suscripción.

Lo que ninguna de las dos entidades rectoras del software libre y de código abierto (Free Software Foundation y Open Source Initiative convalidan, es que se apliquen ambos modelos de licencia a una sola versión.  A principios del año pasado, desde la OSI advirtieron:

Hemos visto que varias empresas han abandonado su dedicación original a la comunidad de código abierto al cambiar sus productos básicos de una licencia de código abierto, una aprobada por la Iniciativa de Código Abierto, a una licencia de código «fauxpen». El sello distintivo de una licencia de fuente fauxpen es que quienes hicieron el cambio afirman que su producto sigue siendo «abierto» bajo la nueva licencia, pero la nueva licencia en realidad ha quitado los derechos de los usuarios.

«Fauxpen» es un término que nació hace más de 11 años y se deriva de la palabra francesa para designar algo que es falso. La pronunciación de fauxp que es muy parecido a opensource en inglés. Es la palabra elegida para indicar que se trata de un software que afirma ser de código abierto pero, que carece de las plenas libertades requeridas por la Definición de Código Abierto.

Permtir el uso de marcas y otorgar certificaciones a cambio de un pago

Cuando un proyecto es muy popular, es muy probable que los usuarios quieran utilizarlo pero sin querer tomarse la molestia de la configuración. Es así que muchos proveedores de alojamiento web ofrecen soluciones de hosting para WordPress, Nextcloud o algunas de las soluciones de código abierto para comercio electrónico.

A cambio de un pago, quienes ofrecen los servicios pueden utilizar el nombre y el logo de los proyectos y muchas veces se los recomienda como proveedores confiables en la web de estos.

Venta de productos complementarios

Esto es muy común con los gestores de contenidos para sitios web. La base del proyecto es gratuita, pero si quieres características opcionales como temas y complementos, deberás pasar por caja. Y, no son baratos precisamente.

Venta de productos relacionados.

El proyecto se sigue distribuyendo de forma gratuita, pero combinado con un producto que es de pago. Por ejemplo, las distribuciones Linux KDE Neon y Manjaro tienen convenios con fabricantes  de computadoras que tienen equipos optimizados para ellas y las traen preinstaladas.

Otra variante es la venta de manuales de usuarios como hace la Free Software Foundation

Venta de productos no relacionados

Se trata de la comercialización de productos que no tienen nada que ver con el propósito del proyecto, pero que llevan su logo. Por ejemplo, tazas, camisetas o mouse pad. Varias distribuciones linux, lenguajes de programación como Python y la propia Free Software Foundation utilizan este sistema.

Venta de servicios

Hablamos de la comercialización de servicios relacionados con el proyecto. Por ejemplo, WordPress ofrece planes de alojamiento web en sus propios servidores y Ubuntu soporte técnico prioritario para usuarios corporativos.

Donaciones

Se trata de recaudar dinero mediante colaboraciones voluntarias de usuarios individuales (Linux Lite) o de manera sistemática de corporaciones como hace The Document Foundation (LibreOffice)

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

Factores importantes a considerar para conseguir financiación

Factores importantes a considerar

En el artículo anterior hicimos un cálculo estimado de cuánto puede costar el desarrollo de un proyecto de código abierto. Ahora, veremos de dónde sacar la plata o conseguir personas que hagan el trabajo gratis o donen recursos

Factores importantes a considerar para encontrar un modelo de financiamiento

Al momento de elegir modelos de financiamiento, hay que considerar diferentes factores:

Interés

Lo primero que hay que considerar es el ínterés que despierta el proyecto. Probablemente nadie esté dispuesto a colaborar voluntariamente en la millonésima distro basada en Debian, ni mucho menos a pagar por ella amenos que tuviera una característica distintiva, como por ejemplo Devuan que no usa SystemD. Por el contrario, LineageOS o Ubuntu Touch (alternativas al Android de Google tienen un razonable nivel de apoyo de desarrolladores y patrocinadores.

Cuando hablo de interés, no me refiero solamente al usuario final. Si imaginaste un sistema de cifrado mucho más impenetrable que los que se conocen, las corporaciones se pelearan porque aceptes su dinero.

Complejidad

No es lo mismo desarrollar una aplicación que hace una sola cosa (por ejemplo reproducir música) que una suite ofimática con un procesador de textos que incluye múltiples opciones de diagramación,  uno de presentaciones con cientos de animaciones y una planilla de cálculo con todas las fórmulas matemáticas comunes. Y, que por supuesto sea capaz de leer y guardar los formatos más populares.

También, hay aplicaciones como El Gimp que se crean para un solo propósito (la manipulación de imágenes) pero, que requieren el conocimiento de fórmulas matemáticas muy específicas que implican un conocimiento especializado.

Plataforma

A medida que los servicios en la nube se van popularizando, este es un tema que va perdiendo importancia, pero todavía está muy vigente.

Una aplicación de cálculo de impuestos para Linux, probablemente no despierte demasiado interés ni en los desarrolladores voluntarios que estén deseando formar parte de un proyecto, ni mucho menos en los patrocinadores voluntarios o corporativos. En cambio, si podrías tenerlo en el caso de un juego de calidad similar a los comerciales.

De la misma forma, una app para Android tendrá más posibilidades que una para Ubuntu Touch.

Interfaz de usuario

Si vas a desarrollar una aplicación para Linux, Windows y Mac deberás decidir si quieres que la interfaz de usuario se mimetice con el resto de las aplicaciones, o le pones a todas las variantes la misma interfaz. En el caso de que solo la quieras para Linux, deberás tomar la misma decisión para cada uno de los escritorios.

Si eliges crear una aplicación específica para un escritorio, tendrás la ventaja de que reduces el tiempo de desarrollo, además de que si es interesante, probablemente se la adopte como parte del escritorio y consigas más desarrolladores y financiamiento.

Lenguaje de programación

Existe una generosa oferta de lenguajes de programación para crear un proyecto. Algunos como Python o C++ llevan mucho tiempo entre nosotros y cuentan con una amplia comunidad de desarrolladores que lo conocen a fondo. Otros como Dart o Go son relativamente nuevos, pero al ser más modernos se adaptan mejor a los paradigmas actuales de desarrollo de aplicaciones.Componentes ya desarrollados.

Componentes del proyecto

Dependiendo del lenguaje de programación elegido y del propósito del proyecto, se podrá encontrar una serie de bibliotecas con la que es posible ahorrar tiempo y de una selección de interfaces de programación  de aplicaciones (API) con la que se facilita ampliar funcionalidades conectándolas a servicios externos. En general, las librerías (al menos en los lenguajes de programación de código abierto) son gratuitas, pero en el caso de las API, o ponen limitaciones a su uso gratuito, o debes pagar una cantidad por usuario  que utilice la aplicación.

Canal de distribución

Además de los gestores de paquetes de las distribuciones Linux, también esta la opción de la descarga directa,  las tiendas Snap y FlatPak y los paquetes Appimage. Snap ofrece la posibilidad de incluir pagos dentro de la aplicación, mientras que distribuciones como ElementaryOS tienen una tienda de aplicaciones en la que puede venderse software.  La tienda oficial de Android e iOS están siendo cuestionadas por las condiciones abusivas que imponen a los desarrolladores,  por otro lado, Microsoft está ofreciendo condiciones generosas para los interesados en crear productos para Windows 11.

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