miércoles, 25 de marzo de 2020

Cómo instalar Netbeans en Ubuntu 18.04

Netbeans es un IDE multiplataforma con todas las funciones que lo ayuda a crear aplicaciones en Java , PHP y muchos otros lenguajes.

Tiene soporte de depuración incorporado, control Git integrado, integra las principales herramientas de automatización de compilación como Maven , Ant y Gradle , resaltado de sintaxis, generadores de código, plantillas de código, refactorización de código y capacidades de navegación enriquecidas.

Netbeans es extensible a través de complementos y tiene API bien documentadas. También se puede usar para el desarrollo en otros lenguajes de programación como C / C ++, Groovy, Javadoc, JavaScript y más.

Este tutorial explica cómo instalar Netbeans IDE en Ubuntu 18.04. Se aplican las mismas instrucciones para Ubuntu 16.04 y cualquier distribución basada en Ubuntu, incluidos Kubuntu, Linux Mint y Elementary OS.


Prerrequisitos

Deberá iniciar sesión como usuario con acceso sudo para poder instalar paquetes en su sistema Ubuntu.

Instalar Java OpenJDK
Netbeans requiere que se instale Java versión 8 o superior en su sistema.

Instalaremos OpenJDK 8. La instalación es bastante simple, comience actualizando el índice del paquete:

sudo apt update
Instale el paquete OpenJDK 8 escribiendo:

sudo apt install openjdk-8-jdk
Verifique la instalación escribiendo el siguiente comando que imprimirá la versión de Java:

java -version
La salida debería verse así:

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Instalar Netbeans IDE

Al momento de escribir este artículo, la última versión estable de Netbeans es la versión 10.0. La forma más fácil es instalar Netbeans en Ubuntu 18.04 utilizando el sistema de empaquetado ágil .

Para descargar e instalar el paquete Snap de Netbeans, abra su terminal usando el Ctrl+Alt+Tatajo de teclado y escriba:

sudo snap install netbeans --classic

El proceso puede llevar algún tiempo dependiendo de la velocidad de su conexión. En una instalación exitosa, verá el siguiente resultado:

netbeans 10.0 from 'apache-netbeans' installed
Eso es. Netbeans IDE se ha instalado en su escritorio Ubuntu

miércoles, 18 de marzo de 2020

Los ataques sin malware ahora son mayoría

Un nuevo artículo en Da rk Reading informa que, por primera vez desde que se inició el seguimiento de los ataques cibernéticos, los ataques que eran "sin archivos" o "sin malware" superaron en número a los ataques basados ​​en archivos. En 2019, el 51% de los ataques estaban "libres de malware" en comparación con el 49% que dependía de una pieza de malware. Este fue un aumento del 40% en 2018.

La definición de ataque libre de malware incluye métodos como: credenciales robadas, herramientas legítimas utilizadas para obtener acceso, así como ataques sofisticados más nuevos que se basan en la memoria, incluida la programación orientada al retorno (ROP ) y los ataques de desbordamiento del búfer .

La razón por la cual esta nueva estadística es tan alarmante es que las herramientas de seguridad tradicionales se basan en la transmisión de un archivo que se escanea en busca de intenciones maliciosas. Cuando un ataque no tiene archivos, pasa por alto estos métodos de seguridad tradicionales. La creencia es que los ciberdelincuentes utilizan cada vez más ataques libres de malware debido a las capacidades de seguridad más bajas que la mayoría de las organizaciones tienen en torno a los ataques libres de malware.

Además, las técnicas de ataque basadas en memoria y sin archivos no se pueden detectar ni proteger contra el uso de soluciones de seguridad basadas en host heredadas, como los firewalls de aplicaciones web (WAF) y la detección y respuesta de punto final (EDR). Las soluciones de seguridad perimetrales o basadas en host heredadas no tienen visibilidad en la ejecución de aplicaciones y no pueden proteger de manera determinista contra ataques basados ​​en memoria, lo que requiere conocer cómo funcionan las aplicaciones cuando se ejecutan correctamente para detectar estas amenazas avanzadas.

Esto hace que la protección de aplicaciones en tiempo de ejecución sea una necesidad como última línea de defensa para protegerse contra la nueva generación de ciberataques.

La protección contra ataques basada en memoria es una de las características únicas de la Plataforma K2. K2 Cyber ​​Security ha desarrollado una técnica determinista patentada de integridad de flujo de control optimizada (OCFI) que crea un mapa único de "ADN" de la aplicación. El mapa de "ADN" se utiliza durante el tiempo de ejecución para validar que la aplicación se ejecuta según lo diseñado y alerta sobre las desviaciones de la ejecución correcta causadas por ataques basados ​​en la memoria.

Lea más sobre la protección contra ataques basada en memoria de K2 .

Siga la curva de crecimiento de COVID-19 en Power BI


COVID-19 se ha convertido rápidamente en un cambiador mundial. Mientras los profesionales sanitarios del mundo se preparan para lo desconocido, muchos de nosotros buscamos noticias y actualizaciones útiles. Recientemente, el Centro de Ciencia e Ingeniería de Sistemas (CSSE) de la Universidad Johns Hopkins lanzó un Panel COVID-19 que tiene un fantástico mapa interactivo. Haga clic aquí para ver. En el espíritu de Open Data, también hicieron que su conjunto de datos fuera públicamente accesible en GitHub .






Creé un informe interactivo utilizando los datos, pero no puedo insertar el informe interactivo en vivo en esta página. Puede ver el informe interactivo haciendo clic aquí .


Si ese enlace falla, hay una copia de seguridad aquí .


Aquí hay un video que detalla las formas en que puede interactuar con el Panel de control de COVID-19 Power BI vinculado anteriormente. Mantendré los datos actualizados diariamente y agregaré nuevo contenido cuando sea posible. Cualquier consejo o sugerencia sobre nuevas perspectivas, cálculos y contenido será bienvenido mientras planeo futuras iteraciones:

sábado, 14 de marzo de 2020

Al contrario de lo que afirma Trump, Google no está construyendo un sitio web de detección de coronavirus en todo el país

Google no está trabajando con el gobierno de EE. UU. En la construcción de un sitio web a nivel nacional para ayudar a las personas a determinar si y cómo hacerse una nueva prueba de coronavirus, a pesar de lo que dijo el presidente Donald Trump al emitir una declaración de emergencia para la pandemia de coronavirus. En cambio, un sitio web de prueba mucho más pequeño creado por otra división de Alphabet, la empresa matriz de Google, está en funcionamiento. Solo podrá dirigir a las personas a las instalaciones de prueba en el Área de la Bahía.



Más de una hora después de la conferencia de prensa de Trump, una cuenta de Twitter de comunicaciones de Google transmitió la siguiente declaración de Verily, que es una compañía diferente dentro del paraguas corporativo de Alphabet:

Estamos desarrollando una herramienta para ayudar a clasificar a las personas para las pruebas de Covid-19. Verily se encuentra en las primeras etapas de desarrollo y planea implementar pruebas en el Área de la Bahía, con la esperanza de expandirse más ampliamente con el tiempo. Agradecemos el apoyo de los funcionarios gubernamentales y socios de la industria y agradecemos a los ingenieros de Google que se han ofrecido como voluntarios para ser parte de este esfuerzo.



Carolyn Wang, directora de comunicaciones de Verily, dijo a The Verge que el "sitio web de selección" inicialmente solo estaría disponible para los trabajadores de la salud en lugar del público en general. Ahora que se ha anunciado como era, sin embargo, cualquiera podrá visitarlo, dijo. Pero la herramienta solo podrá dirigir a las personas a "sitios piloto" para realizar pruebas en el Área de la Bahía, aunque Wang dice que Verily espera expandirla más allá de California "con el tiempo".

El sitio de clasificación se debe poner en funcionamiento en unos pocos días, y se alojará en Project Baseline , el sitio web de Verily donde las personas pueden inscribirse para participar en ensayos clínicos. Ese es un lugar aparentemente extraño para vivir la herramienta de clasificación, pero Wang dice que Project Baseline ya tiene ciertas herramientas necesarias, como un acuerdo de consentimiento informado, por lo que tiene sentido ponerlo allí.


"Google va a desarrollar un sitio web, se hará muy rápidamente, a diferencia de los sitios web del pasado, para determinar si una prueba está justificada y para facilitar la prueba en un lugar conveniente cercano", dijo Trump en la conferencia de prensa. “Por cierto, tenemos muchos, muchos lugares detrás de nosotros. Cubrimos este país y grandes partes del mundo, por cierto. No vamos a hablar sobre el mundo en este momento, pero cubrimos muy, muy fuertemente a nuestro país. Tiendas en prácticamente todas las ubicaciones. Google tiene 1.700 ingenieros trabajando en esto ahora. Han hecho un progreso tremendo ".

En cuanto a los 1.700 ingenieros de Google a los que Trump hizo referencia en la conferencia de prensa, eso parece estar relacionado con una convocatoria de voluntarios que Google y el CEO de Alphabet, Sundar Pichai, publicaron en un memorando de toda la compañía a principios de esta semana.

En general, la diferencia entre la realidad de lo que se está construyendo y lo que se prometió durante la conferencia de prensa es muy grande.

Debbie Birx, la coordinadora de respuesta al coronavirus de la Casa Blanca, mostró un diagrama de flujo durante la conferencia de prensa que explicaba cuál sería la funcionalidad propuesta del sitio web. Nadie de Alphabet o Google habló en el evento, aunque muchos ejecutivos de otras compañías de salud y minoristas lo hicieron.

Como Birx describió el sitio web, los ciudadanos podrían ingresar sus síntomas y, dependiendo de cuáles sean los resultados, ser remitidos a un centro de pruebas de "manejo a través". Aparentemente, ese mismo sitio web también sería donde las personas pueden ir a buscar sus resultados.

Desafortunadamente, no sabemos mucho sobre el sitio web que describió Birx, ni su URL, cuándo se lanzará o cómo funcionará. Lo único que sabemos es que Google no lo construyó; está siendo construido por otra división de Alphabet en su lugar.

Junto con el sitio web, la declaración de emergencia del presidente debería abrir hasta $ 50 mil millones en fondos, nuevas instalaciones de prueba y nuevas asociaciones con empresas privadas para proporcionar servicios de prueba.

viernes, 13 de marzo de 2020

Lanzamiento de PrestaShop 1.7.6.4

¡PrestaShop 1.7.6.4 finalmente está disponible! Se ha solucionado un problema de seguridad crítico y las regresiones encontradas en las versiones anteriores 1.7.6. Se recomienda actualizar su tienda.

Esta versión de mantenimiento corrige 9 problemas informados desde las versiones 1.7.6.0 a 1.7.6.3. Como esta versión soluciona un problema de seguridad, le recomendamos que actualice su tienda lo antes posible. Sugerimos actualizar su tienda rápidamente para beneficiarse de estas soluciones. Por supuesto, no olvide hacer una copia de seguridad antes.

El parche de seguridad protege su tienda contra ataques destinados a modificar la información personal de sus clientes.

Recordatorio: la última versión del módulo de actualización de 1 clic es v4.10.1, no olvide actualizarlo si es necesario.

Correcciones principales
A continuación se enumeran todos los problemas de regresión que solucionamos en esta versión:

  • Un caso de error en la validación del correo electrónico del cliente ( # 17809 )
  • Error al cargar los archivos product_page.css y translation.css ( # 17584 )
  • Mostrar problemas en las vistas previas de SEO en vivo en el escritorio de Safari ( # 17525 )
  • No se mostró un color de combinación cuando se seleccionó ( # 17437 )
  • No es posible ver la categoría cuando todas las subcategorías estaban deshabilitadas ( # 17379 )
  • Algunas combinaciones de productos no se mostraban en configuraciones particulares de stock y productos ( # 17345 )
  • El enlace de soporte no se mostró correctamente en la confirmación del pedido en árabe ( # 17242 )
  • Problema de visualización en el asunto de los correos electrónicos con caracteres especiales ( # 16847 )
  • Se produjo un error en el descuento en la factura al aplicar una regla de carrito específica a un pedido ( # 16491 )


Cambios importantes
A continuación encontrará información detallada sobre la corrección de seguridad proporcionada en esta versión:

Referencia CVE: CVE-2020-5250
Aviso de seguridad de GitHub: GHSA-mhfc-6rhg-fxp3
Expresiones de gratitud


jueves, 12 de marzo de 2020

Mapa de coronavirus en vivo utilizado para propagar malware

Los ciberdelincuentes constantemente se fijan en las noticias que cautivan la atención del público, pero generalmente lo hacen sensacionalizando el tema o difundiendo información errónea al respecto. Recientemente, sin embargo, los ciberdelincuentes han comenzado a diseminar información precisa y en tiempo real sobre las tasas de infección globales vinculadas a la pandemia de Coronavirus / COVID-19 en un intento por infectar computadoras con software malicioso.

En un esquema, un panel interactivo de infecciones y muertes por Coronavirus producidas por la Universidad John Hopkins se está utilizando en sitios web maliciosos (y posiblemente en correos electrónicos no deseados) para difundir malware que roba contraseñas.

A fines del mes pasado, un miembro de varios foros de ciberdelincuencia en ruso comenzó a vender un kit de infección por coronavirus digital que utiliza el mapa interactivo Hopkins como parte de un esquema de implementación de malware basado en Java. El kit cuesta $ 200 si el comprador ya tiene un certificado de firma de código Java, y cuesta $ 700 si el comprador solo desea usar el certificado del vendedor.

"Carga un mapa en línea totalmente funcional de las áreas infectadas por el Coronavirus y otros datos", explica el vendedor. “El mapa es redimensionable, interactivo y tiene datos en tiempo real de la Organización Mundial de la Salud y otras fuentes. ¡Los usuarios pensarán que PreLoader es en realidad un mapa, por lo que lo abrirán y lo extenderán a sus amigos y se volverá viral!

El hilo de ventas afirma que la carga útil del cliente se puede agrupar con el mapa basado en Java en un nombre de archivo que la mayoría de los proveedores de correo web permiten en los mensajes enviados. El vendedor afirma en un video de demostración que Gmail también lo permite, pero el video muestra que Gmail todavía advierte a los destinatarios que descargar el tipo de archivo específico en cuestión (oculto en el video) puede ser dañino. El vendedor dice que el usuario / víctima tiene que tener Java instalado para que el mapa y explotar funcionen, pero que funcionará incluso en versiones completamente parcheadas de Java.

"El cargador carga archivos .jar que tienen un mapa de datos en tiempo real de Coronavirus interactivo y una carga útil (puede ser un cargador separado)", dijo el vendedor en el video. “Loader puede descargar previamente solo el mapa y la carga útil se cargará después de que se lance el mapa para mostrar el mapa más rápido a los usuarios. O viceversa, la carga útil se puede descargar previamente y lanzar primero ".

No está claro cuántos tomadores ha tenido este vendedor, pero a principios de esta semana los expertos en seguridad comenzaron a advertir sobre nuevos sitios web maliciosos que usaban versiones interactivas del mismo mapa para distraer a los visitantes mientras los sitios intentaban engañar al malware AZORult que robaba contraseñas .

Mientras esta pandemia siga siendo noticia de primera plana, los proveedores de malware continuarán usándola como señuelos para atrapar a los incautos. Mantenga la guardia alta y evite abrir archivos adjuntos que se envíen sin autorización en correos electrónicos, incluso si parecen provenir de alguien que usted conoce.

Enlace al artículo original (Inglés): https://krebsonsecurity.com/2020/03/live-coronavirus-map-used-to-spread-malware/

¿Como subir fotos en prestashop, correctamente?

Lo ideal es mantener un formato unificado para la subida de fotos  de artículos esto quiere decir que la imagen debe mantener idealmente el mismo tamaño de ancho y de alto, pero para evitar problemas de alineamiento al menos el alto debe ser siempre el mismo, para productos el ideal es 250x250, para hacer esto vamos a usar la herramienta Image Resizer for Windows  (http://www.bricelam.net/ImageResizer/ ) ,

Descargamos el software:

Luego de instalarlo podemos establecer el alto y ancho  de la imagen haciendo click derecho en la imagen y seleccionar resize pictures:


Luego se debe seleccionar el numero de pixeles en que queremos colocar la imagen:


Lo ideal es que la imagen sea cuadrada antes de hacer el re-dimensionado, en caso  no  serlo:



Usar fit para fotos cuadradas y puedes probar con fotos casi cuadradas  si la opción fill (rellenar) o stretch (ajustar), mantienen coherencia en la foto

Luego deberás subir la foto ya procesada


martes, 10 de marzo de 2020

Comprendiendo el selector CSS profundo de Vue

Aprenda a usar el selector profundo en Vue, una poderosa herramienta para resolver ciertos problemas de CSS.


CSS puede ser una delicia absoluta o su peor pesadilla, especialmente cuando se trata de componentes que envuelven una serie de componentes secundarios que deben ser diseñados por el padre.

En este artículo exploraremos el deepselector de Vue y por qué puede ser una herramienta poderosa para tener en tu haber.

Por supuesto, el deepselector no es una forma muy común de resolver problemas de inyección de CSS. Hay pocos escenarios reales en los que pueda pensar que se beneficiarán de este enfoque: uno de ellos es modificar el estilo de un componente de biblioteca de terceros. O tal vez incluso establecer reglas CSS específicas para descendientes por componente, que es la que usaremos hoy como ejemplo.

Tenga en cuenta que este enfoque se propagará a TODOS los componentes secundarios, por lo que es algo que debe tener en cuenta. Un buen nombre de clase y una cuidadosa consideración de su estructura CSS son imprescindibles.

Habiendo dicho eso, preparémonos.

Configurar un ejemplo

Para comprender mejor cómo usar el deepselector en Vue, vamos a construir una aplicación de ejemplo muy simple que tendrá algunos <BaseButton>componentes. Estos botones no se diseñarán de ninguna manera en particular, pero cambiarán dependiendo del padre que los contenga.


El primer componente <BaseButton>será un contenedor simple para un HTML <button>. Hay una razón para eso <div>allí, y entraremos en detalles más adelante en el artículo.
    <template>
      <div>
        <button v-on="$listeners">
          <slot/>
        </button>
      </div>
    </template>

Como acordamos, no se establecerá ningún estilo para este botón. Tenga en cuenta que todavía está sujeto a selectores CSS globales que lo modifican, por ejemplo, configurando button { background-color: 'blue'; }sus estilos globales.

El siguiente paso es crear dos padres que usarán este componente de botón en particular. Vamos a hacer que se repitan con a v-fory renderizar tres de ellos por padre, solo por ejemplo.

El primer componente se BlueParentve así.
    <template>
      <div>
        <h1>I is blue</h1>
        <BaseButton v-for="i in 3" :key="`blue${i}`">{{ i }}</BaseButton>
      </div>
    </template>

    <script>
    import BaseButton from "./BaseButton";
    export default {
      components: { BaseButton }
    };
    </script>
Como puede ver, lo estamos importando BaseButtony renderizando en la pantalla tres veces. Eso es.
El siguiente componente será RedParenty se ve así.
<template>
      <div>
        <h1>I is red</h1>
        <BaseButton v-for="i in 3" :key="`red${i}`">{{ i }}</BaseButton>
      </div>
    </template>

    <script>
    import BaseButton from "./BaseButton";
    export default {
      components: { BaseButton }
    };
    </script>

Diseñando a los niños a través de los padres
Vayamos directamente a los negocios. Abra BlueParenty agregue el siguiente código al final del archivo.
  <style scoped>
    div >>> button {
      background-color: lightblue;
    }
    </style>
Hay algunas cosas notables que suceden aquí. Vamos a recorrerlos paso a paso.

En primer lugar, estamos configurando un <style>bloque que se va a abarcar a este componente. Scopedlos estilos se aplican solo a este componente en particular, lo que significa que si tuviéramos que configurar:
    div {
      background-color: black;
    }
Esta div particular, en el interior del BlueParenttendría un color de fondo negro. ¿Por qué no se aplica a todos los divs en la aplicación como de costumbre?

ScopedLos estilos se aplican a los elementos a través de una propiedad de datos. Eso significa que cuando Vue compila su aplicación, inyectará una cadena aleatoria como una datapropiedad a su elemento.

En este caso, nuestro contenedor <div>puede recibir un atributo de datos, como <div data-v-123>.

Una vez que esto se aplica aleatoriamente a cada INSTANCIA de su componente (cada uno será único), Vue crea estilos en su aplicación que apuntan a esto en datalugar de divcomo lo escribió:

   div[data-v-123] {
      background-color: black;
    }
Teniendo esto en cuenta. Pasemos a la siguiente cosa importante en BlueParentel bloque de estilo.
  div >>> button
El triple >>>es lo que se llama un deepselector CSS para Vue. Lo que significa, literalmente, es: "Busque cualquier botón dentro de este div y aplíqueles el siguiente estilo, INCLUSO los que representan los componentes secundarios".

Si agrega esto <BlueParent>a su aplicación ahora y lo mira en el navegador, verá que los tres botones ahora están coloreados de azul en el fondo.

Vamos a experimentar un poco sin embargo. Agregue un simple <button>dentro de la plantilla de BlueParent.

    <template>
      <div>
        <h1>I is blue</h1>
        <BaseButton v-for="i in 3" :key="`blue${i}`">{{ i }}</BaseButton>
        <button>Blue</button>
      </div>
    </template>
Si miras una vez más en el navegador, ¡incluso este nuevo <button>Blue</button>recibirá los estilos!

Una última prueba. Continúe y cambie el código de estilo para reflejar lo siguiente:

  <style scoped>
    .blue > button {
      background-color: lightblue;
    }
    </style>
Ahora que el deepselector se ha ido, y es solo un >selector simple , los estilos ya no se aplicarán a los elementos en su interior <BaseButton>.

Ahora echemos un vistazo <RedParent>.

    <style scoped>
    div /deep/ button {
      background-color: red;
    }
    </style>
En este ejemplo, estamos usando la otra forma de escribir un deepselector. Entonces >>>es lo mismo que /deep/! La razón para tener estas dos formas de declararlo es que, a veces, cuando usa precompiladores, como SASS, pueden tener problemas de comprensión >>>y no podrán compilar su CSS. Si esto sucede, recurra a /deep/.

Una vez más, agregue este componente a su aplicación, ejecútelo en su navegador y verá los tres botones adicionales con el color de fondo rojo.

Sin embargo, una última cosa antes de terminar. ¿Recuerdas que <div>agregamos a <BaseButton>?

Cuando diseñe los componentes seleccionando su elemento ROOT / FIRST, no necesita usar el combinador profundo. ¡Pruébalo! Añadir el class="buttonWrapper"que la envoltura <div>en <BaseButton>.

    <template>
      <div class="buttonWrapper">
        <button v-on="$listeners">
          <slot/>
        </button>
      </div>
    </template>

Ahora regrese a cualquiera de los componentes principales y agregue el siguiente CSS.

   div > .buttonWrapper {
      background-color: yellow;
    }
Verá que div se está apuntando correctamente y su fondo ahora se volverá amarillo.

Terminando
El deepselector no es algo que generalmente se encuentra en la naturaleza en muchos componentes Vue de ejemplo porque es una solución muy específica para un problema muy específico, pero esto abre posibilidades para incluso reducir la cantidad de accesorios que puede necesitar en sus componentes para inyectar diferentes estilos

Si desea ver esto en acción, aquí hay un sandbox de código con el código del artículo: https://codesandbox.io/s/deep-css-example-l1p5e .

Como siempre, gracias por leer, y avíseme en Twitter @marinamosti si alguna vez encontró un ejemplo elegante de usar el deepselector.

Link del texto original Ingles(https://www.telerik.com/blogs/understanding-vue-deep-css-selector)


miércoles, 4 de marzo de 2020

Javascript - Encadenamiento opcional (experimental)

Javascript quizás sea uno de los lenguajes de programación mas ejecutados cada segundo, ademas de estar en contante evolución, por lo tanto tratare de estar enviando capsulas acerca de los cambios  en el mismo por lo tanto traemos operador de encadenamiento opcional


El operador de encadenamiento opcional?. permite leer el valor de una propiedad ubicada dentro de una cadena de objetos conectados sin tener que validar expresamente que cada referencia en la cadena sea válida. El ?.operador funciona de manera similar al .operador de encadenamiento, excepto que en lugar de causar un error si una referencia es nula ( nullo undefined), la expresión hace un cortocircuito con un valor de retorno de undefined. Cuando se usa con llamadas a funciones, retorna undefined si la función dada no existe.

Esto da como resultado expresiones más cortas y simples cuando se accede a propiedades encadenadas cuando existe la posibilidad de que falte una referencia. También puede ser útil al explorar el contenido de un objeto cuando no hay una garantía conocida de qué propiedades se requieren.


const adventurer = {
  name: 'Alice',
  cat: {
    name: 'Dinah'
  }
};

const dogName = adventurer.dog?.name;
console.log(dogName);
// expected output: undefined

console.log(adventurer.someNonExistentMethod?.())
// expected output: undefined

const adventurer = { name: 'Alice', cat: { name: 'Dinah' } };

Kali Linux 2020.1a ISO de instalación lanzada para corregir el error del instalador

Offensive Security lanzó las imágenes de instalación de Kali Linux 2020.1a para corregir un error de instalación que podría resultar en una instalación sin una interfaz gráfica.

Kali Linux 2020.1 fue una versión bastante importante que introdujo una imagen de instalador universal para todos los entornos de escritorio que Kali Linux admite actualmente, entre muchas otras nuevas características y mejoras.

Disponible para sistemas de 32 bits y 64 bits, las nuevas imágenes del instalador hacen que sea más fácil para Offensive Security impulsar nuevas versiones de Kali Linux, ya que no tienen que crear ISO independientes para todos los entornos de escritorio compatibles, como lo hicieron hasta que Versión 2020.1.

Pero con todas las cosas nuevas, pueden ocurrir errores. Como tal, parecería que las imágenes del instalador Kali Linux 2020.1 se vieron afectadas por un problema de X11 que podría haber causado que su instalación final no tenga una interfaz gráfica después de todo y lo lleve a la línea de comandos.

“Notamos  un error  en una cadena de dependencia, que causó un problema con x11. Como resultado, es posible que no haya obtenido una interfaz gráfica después de instalar Kali ", dijo Offensive Security en una publicación de blog . "La versión 2020.1a es solo para aquellos que no pudieron instalar 2020.1 con éxito".


Para evitar problemas con las nuevas instalaciones de Kali Linux, Offensive Security ha relanzado las imágenes del instalador para arquitecturas de 32 y 64 bits como Kali Linux 2020.1a. Los ISO en vivo no se ven afectados, ni las instalaciones existentes de Kali Linux 2020.1.

Por lo tanto, si desea instalar la última versión de Kali Linux en su computadora personal, se recomienda que descargue las nuevas imágenes del instalador Kali Linux 2020.1a desde el sitio web oficial.


Offensive Security también actualizó las imágenes Raspberry Pi de 32 y 64 bits, debido a algunos archivos corruptos en las imágenes anteriores, actualizó la imagen Vagrant a la versión 2020.1.2 e hizo que las imágenes ARM funcionaran en la computadora portátil PineBook Pro.

Nvidia 440.64 Controlador lanzado con soporte Linux Kernel 5.6 desde el Inicio

Nvidia lanzo el día de hoy una nueva versión de su mas viejo driver que a un esta vigente para sistemas operativos Unix (Linux, BSD, y Solaris), NVidia 440.64, añadiendo soporte para algunos GPU gráficos recientes y la próxima serie de kernel de Linux 5.6.

0.64 llega al rededor de un mes después de su anterior lanzamiento Nvidia 440.59,
que agregó soporte de sincronización PRIME para Linux kernel 5.4 LTS y posterior,así como soporte para audio sobre DisplayPort Multi-Stream, y soporte para controladores Nvidia High Definition Audio (HDA).

Esta nueva versión lanzada hoy es solo una pequeña actualización that incluye soporte para el Nvidia GeForce MX330 y  Nvidia GeForce MX350 GPUs, >así como el soporte inicial para la próxima serie de kernel de Linux 5.6 al corregir algunos errores de compilación que impidieron que el módulo del kernel de Nvidia se compilara correctamente.


Si ha intentado instalar el controlador de gráficos Nvidia en una distribución GNU / Linux que ejecuta Linux kernel 5.6 y obtuvo el error "implicit declaration of function ‘ioremap_nocache", debe probar la versión del controlador Nvidia 440.64.

Además de eso, Nvidia 440.64 aborda una regresión que permitió a las pantallas ingresar al modo DPMS (Display Power Management Signaling) incluso si está deshabilitado en la configuración del servidor X11.

El controlador de gráficos Nvidia 440.64 es ahora la última versión de larga duración, lo que significa que se recomienda para todos. Para instalarlo en su distribución GNU / Linux, debe ejecutar el siguiente comando como root (administrador del sistema) en el directorio donde  se descargue  el archivo binario.

sh ./NVIDIA-Linux-x86_64-440.64.run
Para los sistemas BSD, el controlador de gráficos Nvidia 440.64 también agrega soporte para las tarjetas gráficas Nvidia GeForce MX330 y MX350 y corrige el problema de la pantalla DPMS, que también fue parcheado para los sistemas Solaris. Sin embargo, las dos GPU no son compatibles con los sistemas Solaris.

Enlace original (Ingles): https://9to5linux.com/nvidia-440-64-released-with-initial-support-for-linux-kernel-5-6

Kendo-UI un vistazo rapido...

Kendo UI para JQuery tiene todo lo que necesitas para construir una aplicación web moderna sobre todo si tienes plazos ajustados. Puedes elegir entre mas de 70 componentes de interfaz de usuario y combinarlos para crear aplicaciones hermosas y "responsive ", mientras tu velocidad de desarrollo se incrementa hasta en 50 por ciento.



Los usuarios pueden elegir docenas de temas minimalistas  y listos para usar para crear tu aplicación sin escribir nada de CSS. Ademas los usuarios pueden construir aplicaciones mixtas webs y proporcionando una uena a experiencia  a otros tamaños de pantallas como laptops y celulares. Todos los componentes están perfectamente integrados para los frameworks grid-layouts, tal como Bootstrap y Zurb Foundation.

Kendo-UI usa JavaScript común, y estándares faciles para cualquier programador de javascript asi sea principiante, Una de las principales funcionalidades de Kendo UI son sus DataSource, el cual es fácil y poderoso para enlazar con datos remotos, ademas de almacenaje fuera de linea y soporte  a populares servicios, como REST  y Odata; y también funcionalidades en HTML5 para navegadores modernos pero manteniendo compatibilidad con navegadores antiguos.

Kendo-UI para JQuery trabaja perfectamente con AngularJS 1. Todos los elementos de  Kendo UI  soportan instrucciones de AngularJS.  Los usuarios finales trabajan con toneladas de documentos tipo Excel, PDF y ONG. Kendo UI permite a los usuarios una fácil exportación de esos documentos con unas avanzadas funcionalidades de exportación.

Kendo - UI ofrece soporte ilimitado por sus ingenieros con 24 horas de respuestas garantizadas de Lunes a Viernes.Añadido a eso cursos en linea y  ejercicios prácticos.

Enlace a kendo: https://www.telerik.com/kendo-ui
Enlace original (Ingles):  https://www.predictiveanalyticstoday.com/kendo-ui/

martes, 3 de marzo de 2020

Prestashop asunto de seguridad PHPUnit, Analisis despues del incidente

Los primeros días de Enero, un asunto de seguridad con PHPUnit en algunos módulos permitieron que unos atacantes ejecutaran código sin autorización a traves de la dependencia PHPUnit. Esta vulnerabilidad fue descubierta a través de un vendedor cuyas tiendas fueron comprometidas.



Trasfondo

En PrestaShop usan un sistema automatizado para construir paquetes para módulos nativos y hacerlos disponibles a través de "Addons Marketplace API". Este proceso usa composer para instalar dependencias antes de crear el paquete comprimido, durante este proceso por error, dependencias  de desarrollo (Como PHPUnit) no estaban siendo excluidas y encontraron la se copiaron en los paquetes construidos.

Esto fue un error de codigo el cual fue solventando en un corto periodo, pero los archivos mal construidos ya habían sido distribuidos para tiendas activas. A su vez, consideraron que esto no seria un problema ya que el numero de módulos que incluyen dependencias de desarrollo es bastante pequeño, y no se conocía ninguna vulnerabilidad en las dependencias.

Sin embargo, cuando PrestaShop actualiza un modulo, solo sobrescribe los viejos archivos con los nuevos, No elimina los archivos que existían en la vieja version pero no estan en la nueva version.

Esto quiere decir que si un modulo incluye archivos vulnerables instalados, cuando se actualice a una nueva versión que incluya estos archivos, la vulnerabilidad no sera removida y permanece allí.

Comunicación

El equipo de seguridad de prestashop se comunico con otros importantes equipos de CMS en orden de informar acerca de este asunto asi que estos revisaron si esto afectaba a modulos o plugins en sus sitios.

Ya que el año pasado  en la cumbre de seguridad  de Google CMS, en prestashop fue parte, garantiza que muchas personas del ecosistema CMS, compartieran sus hitos de seguridad. Esto remite a todos compartir información frecuentemente

Una vez el alcance completo de fue confirmad, y después de que usuarios podrían estar protegidos contra la vulnerabilidad actualizando los módulos vulnerables a la ultima version, comunicaron a través múltiples canales a nuestros usuarios y la comunidad de comunidad a lo largo de este incidente.

Finalmente comunicaron a través de sus redes sociales para advertir a la comunidad

Desde este dia seguirán comunicando con la comunidad de miembros acerca de las vulnerabilidades y como fueron impactados ellos mismos

Cambios Técnicos

Todos  prestashop módulos y archivos han sido revisados, and los archivos vulnerables han sido actualizados,  Los próximos lanzamientos de módulos corruptos no tendrán la vulnerabilidad del PHPUnit and durante el proceso de actualización, se eliminaran los archivos corruptos si son encontrados.

De esta forma no se necesita corregir manualmente los módulos comprimidos , ya que ahora son seguros,  La vulnerabilidad solo estaba presente para el modulo de construcción antes del pipeline fue arreglado La vulnerabilidad solo estaba presente para los módulos construidos antes de que se reparara la tubería y no se reconstruyeran.


Post Original (Ingles): https://build.prestashop.com/news/phpunit-security-issue-post-analysis/

Dos IAs, un juego DOS: DeepSeek planeó, Nemotron programó… y salió muy básico (pero jugable)

   El experimento: revivir el Paratrooper de los 90 sin escribir una línea de código        Hace unos días quise jugar al mítico Paratrooper...