Although human oversight is required, advanced technologies built on AI will become pivotal in building safer financial markets and a safer world.
from Dark Reading: https://ift.tt/2GMVIKd
via IFTTT
Although human oversight is required, advanced technologies built on AI will become pivotal in building safer financial markets and a safer world.
from Dark Reading: https://ift.tt/2GMVIKd
via IFTTT
No es ningún secreto que Estados Unidos es uno de los principales mercados de Apple, al fin y al cabo, se trata de su hogar —y del de Google, cuyas ventas están creciendo mucho también–, y de un mercado en el que los usuarios gastan bastante dinero de media en sus terminales. Ahora, a pesar de que Apple haya recortado su previsión de ventas para este año 2019 un estudio
Entra en Andro4all para leer el artículo completo
Puedes unirte a nosotros en Twitter, Facebook o en Google+
¡Suscríbete a nuestro canal de YouTube!
Publicado recientemente en Andro4all
from Andro4all https://ift.tt/2EkJqoP
via IFTTT

Unity es un motor de juego extremadamente popular, especialmente por sus herramientas de edición completas y fáciles de usar.
Sin embargo, el motor debe seguir la evolución de las máquinas: durante diez años, los procesadores no aumentan en frecuencia, sino en número de núcleos. En otras palabras, para explotar el nuevo rendimiento disponible, los juegos deben ejecutar su código en diferentes núcleos, a través de diferentes hilos.
(adsbygoogle = window.adsbygoogle || []).push({});
Sin embargo, desde el momento en que la tecnología está disponible, pocos juegos realmente tienen éxito. De hecho, los problemas para escribir dicho código son numerosos.
Para evitar estas desventajas, es posible seguir algunos conjuntos de reglas. Esta es una de las razones por las que Unity está trabajando en un nuevo compilador en C #, llamado Burst con el cual, si no se siguen estas reglas, se producirá un error de compilación.
Para lograr esto, el código debe escribirse como una colección de tareas a realizar. Cada una de estas tareas realiza algunas transformaciones en los datos.
(adsbygoogle = window.adsbygoogle || []).push({});
El programador debe especificar las áreas de memoria a las que puede acceder de solo lectura y aquellas en las que desea leer y escribir datos: el compilador se asegurará de que no use nada fuera de estas declaraciones.
Luego, un programador determina la mejor manera de realizar estas tareas, en tiempo real, con esta información adicional: puede asegurarse de que ninguna tarea escribirá datos donde otra persona intente leer o escribir, por ejemplo.
Burst no solo tiene el objetivo de facilitar la programación paralela: también se utiliza en las partes más críticas (desde el punto de vista del rendimiento) del código de Unity.
Hasta ahora, estos estaban escritos en C ++, pero los compiladores actuales no son del todo satisfactorios.
De hecho, si un desarrollador desea que un bucle se vectorice, no tiene garantía de que el compilador lo hará, debido una adición entre dos vectores, por ejemplo, el compilador debe probar formalmente que, en todos los casos posibles e imaginables, los dos vectores no corresponden a las mismas direcciones en la memoria).

El rendimiento es un punto crítico si un bucle no es vectorizado es un problema real que debe solucionarse rápidamente.
Además, el binario generado debe ser seguro dado que los errores de desbordamiento de búfer y las referencias peligrosas se deben descubrir lo antes posible, con mensajes de error reales en lugar de comportamientos indefinidos (que causan muchos problemas de seguridad).
Ante estas necesidades planteadas, aún es necesario elegir el idioma de entrada de este compilador: ¿una variante o un subconjunto de C, C ++, C # o un nuevo idioma?
Un nuevo lenguaje no es una buena opción ya que en un principio evitas tener que entrenar a las personas con esta nueva herramienta.
C # tiene la preferencia desde el punto de vista de los usuarios, ya que ya lo utilizan el motor del juego se codificará en el mismo idioma que los juegos.
Además, C # ya tiene un ecosistema muy grande, por el contrario, C ++ todavía sufre de su herencia de C, con no siempre obvias inclusiones por determinar y enormes tiempos de compilación, defectos que C ++ 20 corrige parcialmente, a pesar de su obsesión con el rendimiento.
Se tomó la decisión de continuar con C #, pero al eliminar una serie de elementos que dificultan el rendimiento, tales como la biblioteca estándar, en su mayor parte, la recolección de basura y los permisos.
Burst realmente no funciona como un compilador completo puesto que no toma como entrada una gran cantidad de código, sino solo el punto de entrada a un bucle crucial.
Se limita a compilarlo como una función, así como a todo lo que llama. El nivel de optimización es extremadamente alto: dado que Burst se enfoca en ciertas partes del código, puede pasar tiempo.
La primera iteración de Burst, con HPC # y el sistema de tareas vino con Unity 2018.1.
El código generado es a veces más rápido que la versión anterior en C ++, a veces más lento, pero los desarrolladores confían en que siempre lograrán al menos el mismo nivel de rendimiento que C ++.
Fuente: blogs.unity3d.com
El artículo Unity prepara un nuevo compilador en C# llamado Burst ha sido originalmente publicado en Linux Adictos.
from Linux Adictos https://ift.tt/2Vn8gev
via IFTTT
How Linda’s Stuff Founder Turned Her Hobby into A Thriving Business
from PayPal – PayPal Stories https://ift.tt/2GP94pq
via IFTTT
Researchers investigate malicious apps designed to intercept calls to legitimate numbers, making voice phishing attacks harder to detect.
from Dark Reading: https://ift.tt/2ITSMxt
via IFTTT

Se ha detectado una nueva vulnerabilidad a través de DMA (Direct Memory Access). Este tipo de ataques por DMA no son nada nuevos, ya se conocen desde hace años, pero ahora un grupo de investigadores de seguridad han detectado una nueva amenanza que afrecta a los principales sistemas operativos: GNU/Linux, FreeBSD y otros BSDs, Microsoft Windows y Apple macOS. El ataque que aprovecha dicha vulnerabilidad puede eludir los mecanismo de protección establecidos.
Mediante la conexión a la computadora de un dispositivo malicioso conectado en caliente, pueden hacerse estos ataques. Los dispositivos pueden ser de lo más variado, desde un adaptador de red USB, un ratón, un teclado, un pendrive o disco duro externo, una tarjeta gráfica externa, impresoras, etc. Pero afectan concretamente al puerto Thunderbolt 3, es decir, por tanto también al USB-C en el que se basa. Thunderbolt permite que los periféricos conectados a través de él puedan eludir políticas de seguridad del sistema operativo y la memoria del sistema, pudiendo acceder por DMA a ciertas direcciones de memoria (leer y escribir) que deberían ser reservadas. En esas posiciones de memoria, podría haber datos muy privados como contraseñas almacenadas, datos bancarios o de inicios de sesión de otros servicios importantes, valores privados almacenados por el navegador, etc.
(adsbygoogle = window.adsbygoogle || []).push({});
Nuevamente el S.O. usa la unidad IOMMU (unidad de gestión de memoria de E/S) para bloquear otros ataques por DMA anteriores, haciendo que los dispositivos periféricos legítimos no accedan a ciertas posiciones de memoria y solo permitiéndoles que tengan acceso a las que les corresponden. En cambio, mediante un apila llamada Thunderclap se puede engañar a esta protección y pasarla por alto para fines ilícitos.
El artículo DMA: detectada una nueva vulnerabilidad de seguridad ha sido originalmente publicado en Linux Adictos.
from Linux Adictos https://ift.tt/2VrQMhh
via IFTTT

Decía el gran Dennis Ritchie que “UNIX es muy simple, sólo se necesita un genio para entender su simplicidad“. Y realmente, aunque pueda parecer muy complejo en ciertas cosas, los *nix, y por tanto Linux, son bastante simples en otras. De hecho, es en esta simplicidad la que los hace tan buenos, flexibles y atractivos. Pues bien, en este artículo, vamos a explicar de una forma muy sencilla el árbol de directorios de GNU/Linux.
Así, los directorios o carpetas de tu distro no tendrán secretos para tí. Especial dedicación a aquellos que so nuevos y que provienen de Microsoft Windows, ya que si vienen de otros UNIX se adaptarán casi de inmediato por el parecido. Pero es cierto que en Windows quizás sepas dónde está la unidad C:, dónde están Documentos o Descargas, dónde el Escritorio o tal vez donde se instalan los programas, pero por la sencillez no necesitas conocer mucho más.
(adsbygoogle = window.adsbygoogle || []).push({});
En cambio, en los *nix, sí que deberías conocer el árbol de directorios de una forma más profunda, ya que nos servirán para encontrar ficheros de configuración, instalar ciertos paquetes en el lugar adecuado, localizar las fuentes del kernel, o la imagen de éste, nuestros ficheros personales, etc.:
Ten en cuenta que no todas las distros siguen este esquema y puede haber pequeñas variaciones, pero si se adaptan al FHS, no tendrás demasiado problema…
El artículo Explicación sencilla del arbol de directorios de GNU/Linux ha sido originalmente publicado en Linux Adictos.
from Linux Adictos https://ift.tt/2EAbMNc
via IFTTT

Open Broadcaster Software también conocido por sus siglas como OBS es una aplicación libre y de código abierto para la grabación y transmisión de vídeo por internet (streaming), mantenida por OBS Project.
Open Broadcaster Software está es una aplicación multiplataforma la cual puede ser utilizada en Linux, Mac y Windows, está escrito en C y C++ y permite captura de fuentes de vídeo en tiempo real, composición de escena, codificación, grabación y retransmisión.
(adsbygoogle = window.adsbygoogle || []).push({});
Este nuevo lanzamiento de OBS Studio 23 trae una serie de mejoras, para su versión de Windows el código se reescribió, incluyendo la codificación NVIDIA NVENC para activar la disposición de hardware, se proporcionó la capacidad de conectarse a cuentas en Twitch y Mixer, se agregó un panel con chat de Twitch y Mixer.
Pero también tiene un trabajo interesante en general, así como en el lado de Linux.
La versión Linux de OBS Studio 23 ahora tiene soporte para la interfaz VA-API para permitir la aceleración de vídeo basada en GPU para aquellos que utilizan el controlador Intel VA-API más comúnmente o también como el rastreador de estado de aceleración de vídeo en Gallium3D, como una alternativa para el soporte VDPAU.
(adsbygoogle = window.adsbygoogle || []).push({});
OBS Studio 23 también posee varios nuevos filtros de audio, soporte para remodelación por lotes, soporte de audio de varias pistas para la salida del Ffmpeg, invertir polaridad, limitador y expansor y una variedad de otros cambios.
Además de ello se ha implementado el modo por lotes de reenvasado de flujo (remuxing) y se ha agregado la capacidad de volver a empaquetar automáticamente el contenido grabado en formato MP4.
En el script de repetición instantánea, el soporte de VLC se ha agregado como fuente de video.
Finalmente se puede destacar también la adición de un panel de información opcional con estadísticas (habilitado a través del menú Ver -> Docks) y una nueva herramienta para la salida a dispositivos Decklink.
Para quienes estén interesados en poder instalar esta nueva version de OBS en su distribución de Linux, podrán hacerlo siguiendo las instrucciones que compartimos a continuación.

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
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
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
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
Finalmente, para quienes sean usuarios de Fedora solo tiene que teclear lo siguiente:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm sudo dnf install obs-studio
En caso de querer habilitar la codificación acelerada por hardware aquellos usuarios de NVIDIA, deben de asegúrese de tener instalado en su sistema CUDA (en caso de que se trate de una tarjeta más antigua, instalen xorg-x11-drv-nvidia-340xx-cuda):
sudo dnf install xorg-x11-drv-nvidia-cuda
El artículo Llega la nueva versión de OBS Studio 23.0 y estas son sus novedades ha sido originalmente publicado en Linux Adictos.
from Linux Adictos https://ift.tt/2Vl1Ts8
via IFTTT
Xiaomi, al igual que muchas otras compañías, lleva un año muy centrada en mejorar el software de sus terminales, que, al fin y al cabo, es una parte tan importante como el hardware de los dispositivos que usamos. Y, de hecho, podemos disfrutar de una buena experiencia aún con un procesador modesto gracias a que el sistema operativo esté bien adaptado. MIUI 10 es la capa de personalización que tienen
Entra en Andro4all para leer el artículo completo
Puedes unirte a nosotros en Twitter, Facebook o en Google+
¡Suscríbete a nuestro canal de YouTube!
Publicado recientemente en Andro4all
from Andro4all https://ift.tt/2tCJIm2
via IFTTT