Huawei presenta HarmonyOS su nuevo sistema operativo

Huawei ha presentado HarmonyOS como un reemplazo para Android si la guerra comercial entre China y Estados Unidos continúa escalando, pero el sistema operativo también tiene mayores ambiciones.

El gigante tecnológico chino continúa encontrándose en el fuego cruzado entre China y los EE. UU. En su disputa comercial en curso. Si bien Estados Unidos es un pequeño mercado para dispositivos Huawei, el fabricante ha utilizado casi exclusivamente software, hardware y estándares estadounidenses para alcanzar su posición como el segundo mayor fabricante de teléfonos inteligentes.

A principios de este año, la administración de EE. UU. Colocó a Huawei en una ‘lista de entidades’ que impide que las empresas estadounidenses hagan negocios con una empresa sin permiso previo. Las empresas estadounidenses anunciaron rápidamente el cumplimiento de la decisión y Huawei perdió temporalmente asociaciones con Google, Qualcomm, Broadcom, Intel, WiFi Alliance, SD Association, Bluetooth SIG y otros.

Los informes sugieren que Huawei aumentó el ritmo de desarrollo de un sistema operativo en el que ha estado trabajando desde alrededor de 2012. Huawei comenzó a registrar marcas registradas en todo el mundo para ‘HarmonyOS’ el mes pasado, y hoy presentó oficialmente el nuevo sistema operativo en la Conferencia de Desarrolladores de Huawei en Dongguan.

HarmonyOS parece tener similitudes con la visión original de Microsoft para que Windows 10 sea escalable en dispositivos como teléfonos inteligentes, dispositivos portátiles, televisores inteligentes y más. Android mismo tuvo esa visión en un momento, pero desde entonces se ha fragmentado.

Richard Yu, CEO de Huawei, dijo que la capacidad de trabajar en varias plataformas y dispositivos lo hace “completamente diferente de Android e iOS”, al tiempo que agrega que el proyecto será completamente de código abierto.

Huawei destaca cuatro características técnicas distintas de HarmonyOS:

1. Seamless: primer sistema operativo de dispositivo con arquitectura distribuida, que ofrece una experiencia perfecta en todos los dispositivos

Al adoptar la arquitectura distribuida y la tecnología de bus virtual distribuido, HarmonyOS ofrece una plataforma de comunicaciones compartidas, gestión de datos distribuidos, programación de tareas distribuidas y periféricos virtuales. Con HarmonyOS, los desarrolladores de aplicaciones no tendrán que lidiar con la tecnología subyacente para aplicaciones distribuidas, lo que les permitirá centrarse en su propia lógica de servicio individual. Desarrollar aplicaciones distribuidas será más fácil que nunca. Las aplicaciones creadas en HarmonyOS pueden ejecutarse en diferentes dispositivos al tiempo que brindan una experiencia fluida y colaborativa en todos los escenarios.

2. Suave: motor de latencia determinista e IPC de alto rendimiento

HarmonyOS abordará los desafíos de bajo rendimiento con un motor de latencia determinista y una comunicación entre procesos (IPC) de alto rendimiento. El motor de latencia determinista establece las prioridades de ejecución de tareas y los límites de tiempo para la programación anticipada. Los recursos gravitarán hacia tareas con prioridades más altas, reduciendo la latencia de respuesta de las aplicaciones en un 25.7%. El microkernel puede hacer que el rendimiento de IPC sea hasta cinco veces más eficiente que los sistemas existentes.

3. Seguro: arquitectura de microkernel que reestructura la seguridad y la confiabilidad desde cero

HarmonyOS utiliza un nuevo diseño de microkernel que presenta seguridad mejorada y baja latencia. Este microkernel fue diseñado para simplificar las funciones del kernel, implementar tantos servicios del sistema como sea posible en modo de usuario fuera del kernel y agregar protección de seguridad mutua. El microkernel en sí solo proporciona los servicios más básicos, como la programación de subprocesos y el IPC.

El diseño de microkernel de Harmony OS utiliza métodos de verificación formales para remodelar la seguridad y la confiabilidad desde cero en un Entorno de ejecución confiable (TEE). Los métodos de verificación formal son un enfoque matemático efectivo para validar la corrección del sistema desde la fuente, mientras que los métodos de verificación tradicionales, como la verificación funcional y la simulación de ataque, se limitan a escenarios limitados. Los métodos formales, por el contrario, pueden usar modelos de datos para verificar todas las rutas de ejecución de software.

HarmonyOS es el primer sistema operativo que utiliza la verificación formal en el TEE del dispositivo, lo que mejora significativamente la seguridad. Además, debido a que el microkernel HarmonyOS tiene mucho menos código (aproximadamente una milésima parte de la cantidad del kernel de Linux), la probabilidad de ataque se reduce considerablemente.

4. Unificado: el IDE multidispositivo permite que las aplicaciones se desarrollen una vez y se implementen en varios dispositivos

Desarrollado por un IDE de múltiples dispositivos, una compilación unificada en varios idiomas y un kit de arquitectura distribuida, HarmonyOS puede adaptarse automáticamente a diferentes controles e interacciones de diseño de pantalla, y admite tanto el control de arrastrar y soltar como la programación visual orientada a la vista previa. Esto permite a los desarrolladores crear más eficientemente aplicaciones que se ejecutan en múltiples dispositivos. Con un IDE multidispositivo, los desarrolladores pueden codificar sus aplicaciones una vez e implementarlas en múltiples dispositivos, creando un ecosistema estrechamente integrado en todos los dispositivos de los usuarios.

El compilador HUAWEI ARK es el primer compilador estático que puede funcionar a la par con la máquina virtual de Android, lo que permite a los desarrolladores compilar una amplia gama de idiomas avanzados en código de máquina en un único entorno unificado. Al admitir la compilación unificada en varios idiomas, el compilador HUAWEI ARK ayudará a los desarrolladores a mejorar en gran medida su productividad.

Queda por ver si el intento de Huawei de unificar dispositivos bajo un único sistema operativo tiene más éxito que los intentos anteriores, pero algunos en la industria son escépticos sobre la capacidad de HarmonyOS para reemplazar Android.

Jan Vidar Krey, Jefe de Desarrollo de Promon, comentó:

“HarmonyOS no está basado en Android, pero eventualmente tendrá cierta compatibilidad con Android. Las palabras clave aquí son ‘eventual’ y ‘algunas’, y es mi preocupación que esto resulte en problemas importantes para Huawei, con los usuarios definitivamente perdiendo el acceso a muchas, si no a todas, sus aplicaciones. La reacción de esto será feroz, y es poco probable que la compañía se recupere desde un punto de vista de reputación. 

Sabemos que la compatibilidad con Android es muy difícil de lograr, siendo BlackBerry un excelente ejemplo. BlackBerry trató de lograr la compatibilidad, pero al final, el resultado fue terrible para el usuario final. El Android de Amazon ya es una versión “diferente” que los desarrolladores de aplicaciones generalmente ignoran. En el caso de Huawei, su compatibilidad con Android no será lo suficientemente buena, por lo que las aplicaciones pueden funcionar parcialmente o no funcionar en el peor de los casos. 

HamonyOS también causará dolores de cabeza a los desarrolladores de aplicaciones que deberán enfocarse en el sistema operativo por separado, agregando costos y esfuerzos de prueba. Esto se aplica tanto a las aplicaciones y juegos inéditos como a los existentes. Si bien las nuevas aplicaciones se pueden adaptar, esto dependería de los incentivos para hacerlo para este sistema operativo. Existe un paralelo histórico con el Windows Phone de Microsoft, que finalmente falló porque los usuarios no tenían acceso a las mismas aplicaciones disponibles en iPhones y dispositivos que se ejecutan en Android. 

En términos de seguridad, debemos acreditar a Huawei. Harmony OS tendrá Trusted Execution Environment (TEE) en todos los dispositivos para mantener la seguridad de los datos, y no permitirá el acceso de root. 

Pero los problemas que causará, para usuarios finales y desarrolladores, significarán que HarmonyOS podría ser la muerte de Huawei “.

Junto con el TEE, Huawei también debe ser acreditado por hacer que HarmonyOS sea de código abierto. La capacidad de inspeccionar el código del sistema operativo debería ayudar a reducir algunos de los temores de seguridad en la empresa.

A principios de este año, en defensa de su socio de Android, Google argumentó ante la administración Trump que prohibir a Huawei lo obligaría a crear una alternativa a Android que está “en mayor riesgo de ser pirateado, sobre todo por China”.

El medio de comunicación chino Global Times informó que se lanzaría con HarmonyOS un teléfono inteligente dirigido al extremo bajo a medio del mercado entre octubre y diciembre.

El próximo teléfono inteligente principal más importante de Huawei, el Mate 30 Pro, está configurado para continuar usando Android.

El libro negro del programador.

Cómo conseguir una carrera de éxito desarrollando software y cómo evitar los errores habituales.

El siglo XXI es el de la sociedad de la información y las nuevas tecnologías: todo ello no sería posible sin la enorme industria del software que le sirve de base.

No obstante, los desarrolladores de software no aprovechan todas las oportunidades para desempeñar una carrera profesional de éxito, cometiendo siempre los mismos errores una y otra vez. Un buen proyecto software tiene que ver con habilidades creativas y artísticas más que aquellas necesariamente técnicas.

El Libro Negro del Programador muestra qué distingue a un programador neófito de quien actúa y trabaja profesionalmente.

En la era del emprendimiento y de la nueva economía, el desarrollo profesional de software es su pilar fundamental. Si como programador quieres llegar a ser no sólo bueno sino profesional, no puedes dejar de conocer las gemas de sabiduría que contiene El Libro Negro del Programador.

Enlaces:

Puedes descargar el libro en pdf haciendo clic aquí.
Puedes comprar el libro el físico haciendo clic aquí.

estos Hackers solo necesitaron 22 líneas de código JavaScript para robar los datos de los clientes de British Airways.

A inicio de mes, British Airways reconoció que su sitio web había sido hackeado, lo que llevó a que se comprometieran los datos de 380,000 clientes . Parece que tampoco fue demasiado difícil: la firma de ciberseguridad RiskIQ ha descubierto que los hackers sólo necesitaron 22 líneas de código para obtener una retención de los datos.

RiskIQ especuló que un grupo llamado Magecart está detrás de este ataque; fue responsable del hackeo de TicketMaster en el Reino Unido a principios de este año, que afectó los datos de 400,000 clientes. Magecart tradicionalmente ha robado datos al inyectar un script malicioso en formularios de pago.

Según parece un grupo denominado Magecart que ya había actuado antes consiguió inyectar su código en una librería de JavaScript que utiliza la web de British Airways, concretamente la Modernizr versión 2.6.2.

Este caso demuestra que esto puede suceder en sitios web y apps de todo tipo: desde los relativamente sencillos como los gestionados con WordPress a las grandes megacorporaciones que hacen grandes desarrollos pero dependen de código externo como son estas librerías. Es algo que requiere aumentar las medidas de seguridad especialmente cuando se manejan sistemas de pago, datos personales o cuentas con contraseñas.

Fuentes: Microsiervos | Thenextweb

Netflix revela cómo usan Python en su plataforma de peliculas.

Debido al reciente PyCon, una convención anual para la discusión y promoción del lenguaje de programación Python, Netflix nos comparte cómo utiliza Python dentro de su plataforma:

“Utilizamos Python en todo el ciclo de vida del contenido, desde la decisión del contenido que se financiará hasta el funcionamiento del CDN que sirve el video final a 148 millones de miembros. Usamos y contribuimos con muchos paquetes de código abierto de Python.” – Comenta el equipo de Pythonistas en Netflix, dentro de su blog.

Resolver problemas de red usando Python en Netflix.

Open Connect es la red de entrega de contenido de Netflix (CDN). Una manera fácil, aunque imprecisa, de pensar en la infraestructura de Netflix es que todo lo que sucede antes de presionar Play en tu control remoto (por ejemplo, ¿está conectado? ¿Qué plan tiene? ¿Qué has visto para poder recomendarte nuevos títulos? ¿Qué deseas ver?) se realiza en los servicios web de Amazon (AWS), mientras que todo lo que sucede después (es decir, la transmisión de video) se realiza en la red Open Connect. El contenido se coloca en la red de servidores de Open Connect CDN lo más cerca posible del usuario final, mejorando la experiencia de transmisión para sus clientes y reduciendo los costos tanto para Netflix como para nuestros proveedores de servicios de Internet (ISP).

Se necesitan varios sistemas de software para diseñar, construir y operar esta infraestructura CDN, y una cantidad significativa de ellos están escritos en Python. Los dispositivos de red que subyacen en una gran parte de la CDN son administrados en su mayoría por aplicaciones Python. Estas aplicaciones rastrean el inventario de sus equipos de red: qué dispositivos, qué modelos, con qué componentes de hardware, se ubican en qué sitios. La configuración de estos dispositivos está controlada por varios otros sistemas. La interacción de dispositivos para la recopilación de datos es otra aplicación de Python. Python ha sido durante mucho tiempo un lenguaje de programación popular en el espacio de redes porque es un lenguaje intuitivo que permite a los ingenieros resolver rápidamente los problemas de redes.

Otras soluciones de Netflix con Python.

No solamente utilizan el lenguaje de programación de Python para resolver sus problemas de red, si no también para dar otras soluciones:

Su área de Demand Engineering, responsable de las conmutaciones por error regionales, la distribución del tráfico, las operaciones de capacidad y la eficiencia de la flota de la nube de Netflix. Utiliza herramientas principalmente en Python. El servicio que organiza la conmutación por error utiliza numpy y scipy para realizar análisis numéricos, boto3 para realizar cambios en nuestra infraestructura de AWS, rq para ejecutar cargas de trabajo asíncronas y todo en conjunto con una capa delgada de API de Flask. La capacidad de caer en un shell bpython e improvisar les ha salvado el día más de una vez.

Su equipo de Insight Engineering, responsable de construir y operar las herramientas para la información operativa, alertas, diagnósticos y remediación automática. Con la creciente popularidad de Python, el equipo ahora admite clientes de Python para la mayoría de sus servicios. Un ejemplo es la biblioteca cliente de Spectator Python, una biblioteca para instrumentar código para registrar métricas dimensionales de series de tiempo. Construyeron bibliotecas de Python para interactuar con otros servicios de nivel de plataforma de Netflix. Además de las bibliotecas, los productos Winston y Bolt también se construyen utilizando marcos Python (Gunicorn + Flask + Flask-RESTPlus).

Su equipo de seguridad de la información utiliza Python para cumplir una serie de objetivos de alto apalancamiento para Netflix: automatización de la seguridad, clasificación de riesgos, remediación automática e identificación de vulnerabilidades, por nombrar algunos. Han tenido varias fuentes abiertas de Python exitosas, incluyendo Security Monkey (el proyecto de fuente abierta más activo de nuestro equipo). Aprovechamos Python para proteger nuestros recursos SSH usando Bless. Su equipo de seguridad de infraestructura aprovecha Python para ayudar con la sintonización de permisos IAM mediante Repokid. Usan Python para ayudar a generar certificados TLS usando Lemur.

Estos son tan solo unos ejemplos de soluciones de Netflix con Python, puedes leer la lista completa en su 

publicación: Python at Netflix.

Es muy interesante leer toda la tecnología que está detrás de una de las empresas de Streaming más grandes y populares que existen actualmente. ¿Imaginabas que trabajaban con Python?