Básicamente, un nuevo blog relacionado a todo lo que este humilde servidor dice y hace, más allá de la temática que se cubre en el blog de tecnología.

Sobre este sitio

Esto no es nada más que una bitácora que continúa lo que comenzó en la anterior, con las facilidades de Blogger (ya saben).

martes, 14 de agosto de 2018

Crónica de una pelea en la salida: Víctor González (Badabun) y Angel David Revilla (Dross)


Ya mucha gente había pegado el grito en el cielo cuando salió el escándalo de varios videobloggers (nombre correcto al cual se le acreditan a los que utilizan a los servicios de publicación de videos como bitácoras) en YouTube, a tal grado de convertir parcialmente la plataforma en cuestión en una especie de nido de farándula 2.0. Hubieron casos en los que finalmente los moderadores del sitio entraron en razón e impusieron sanciones respectivas por ello, pero otros son tan vergonzosos que merecen una mención especial por lo absurdo que terminó siendo el pleito, el cual involucró control de daños hacia vloggers de menor calibre y alguien sin dos dedos de frente defendiendo a un colectivo que hace cualquier cosa menos intentar crear por sus propios medios material de entretenimiento decente.

Prólogos aparte, empecemos yendo al grano. El pleito lo inició el colectivo de creadores de contenido llamado Badabun, el cual ya acumularon una mala fama por hacerse conocidos por usar en su canal de YouTube principal contenido amarillista y carente de sustento (clickbait para ser precisos). Claro, el chiste no era que simplemente fuesen un colectivo que simplemente buscasen difundir lo mejor de sus miembros, sino que el meollo del asunto era que si denunciaban la mala praxis, éstos directamente se iban a los canales pequeños que los denunciaban con creces, y de ahí, efectuaban el control de daños a través de denuncias por derechos de autor.

El video que inició la trifulca que abarcaremos fue el del videoblogger Angel David Revilla (o Dross Rotzank para los amigos), el cual introdujo un video relacionado con el C.C. Arts Pedregal en México. Posteriormente, salió una especie de videorespuesta del colectivo previamente citado, en el cual tersgiversa lo expuesto por Angel David. Claro, él no le incomodó que tratasen del tema de la forma más mediática posible (incluso ignoró el hecho que prácticamente el equipo de Badabun copió y alteró el guión de Oxlack de la explicación del accidente de la edificación), sino que sacaran de contexto lo que manifestió en el video del metraje difundido.

Como es usual, en su ya tradicional serie de transmisiones en vivo, Angel David responde con un tono ácido a la "respuesta" del colectivo, comparándolos con BuzzFeed por el contenido amarillista y ridículo, además de dejar en claro que su objetivo es entretener al público con creepypastas y otras historias de terror. El conflicto no termina ahí, puesto que el colectivo en cuestión publicó un video con un título más que amarillista, carente de la seriedad y profesionalismo que se le exige a una entidad como lo es esta clase de networks como lo es Badabun. Al fin de al cabo, en el intento de menospreciar a Angel David como creador de contenido, se les olvida que la gente de Badabun no está en los créditos del YouTube Rewind del año pasado, cosa que Dross sí puede decir sin pelos en la lengua que se ha codeado con los creadores de contenido más reconocidos de la plataforma.

Ni corto ni perezoso, Angel David remeda a la gente de Badabun y a Víctor González con el título de su videorespuesta, además de recalcar las críricas previas que los hizo en una de sus transmisiones en vivo y con un escarnio más que acertado para la clase de injuria que ha recibido por parte de Víctor. Y por si fuera poco, el vlogger Oxlack tras enterarse de la denuncia pública que le hizo al exponer la mala praxis del colectivo, fue acosado por nada más ni nada menos que Víctor, además de aprovechar de transmitir el incidente en vivo y en directo para exponerlo como persona no grata.

En caso que este resumen te parezca absurdo, te dejo una compilación con las partes más puntuales que originaron esta pelea mediática que simplemente está para echarse unas risas por lo ridículo que terminó siendo. En caso que tenga una denuncia por derechos de autor por este incidcente, lo subiré tanto a Dailymotion y/o GoblinRefuge por si me llega a tocar el control de daños de Víctor González.


sábado, 4 de agosto de 2018

BIOS, tenemos un problema III (y sí, logré solucionarlo de momento)


Siguiendo con la saga de las dos anteriores bitácoras (la primera, explicando el origen de esta ptaleta; y la segunda, explicando el por qué), ahora escribo plácidamente desde la ya restaurada HP Compaq DC7700 SFF, por lo que continuaré con explicarles la solución que les ayudará a lidiar perfectamente con el dilema del BIOS y los procesadores Intel Core 2 Duo basdos en Wolfdale junto con el chiste de actualizar el microcódigo y hacer el hard reset para así recuperar el acceso a dicho componente del BIOS.

Así que si bien, empecemos con esta solución que les propongo. Estos pasos son los que se aconsejan en este tutorial que saqué tanto de este sitio como también de otros que sugieren estos pasos:

  1. Apagamos la PC.
  2. Desconectamos los cables y periféricos que estén conectados al dispositivo en cuestión (salvo el de energía).
  3. Retiramos la pila del CMOS. Mantenemos presionados tanto el botón amarillo del botón de encendido por tres segundos. Pasado ese lapso, volvemos a instalar la pila del CMOS.
  4. En caso de tener dos memorias RAM instaladas, retiramos una para efectuar el cambio. De usar una memoria RAM y tener otra de emergencia, reemplacemos dicha memoria RAM para descartar posibles fallos o si dicha memoria RAM sea la responsable de tal comportamiento.
  5. Confirmamos los cambios hechos pulsando la tecla F1. En seguida aparece la pantalla del BIOS del PC y pulsamos F10 para acceder a la configuración, y entramos a la sección File (Archivo) >> Set Time and Date (Cambiar Fecha y Hora).
  6. Efectuados los cambios, pulsamos dos veces F10 para confirmar los cambios.

Ahora, procederemos a descargar los siguientes autoextraíbles que nos ayudarán a efectuar la integración del BIOS con el microcódigo de Intel:


Y a partir de este punto, empezamos a hacer lo siguiente:

En Windows, elegimos el segundo enlace, el cual contiene el ejecutable "HQFlash" (ubicado en C:\hwsetup\sp54656). Dicho aplicativo se encarga de actualizar el BIOS a la versión más reciente para procesadores Core 2 Duo, ya que dicha versión del BIOS contiene las capacidades para poder así sacarle provecho al procesador. Habiendo seguido los pasos para actualizar el BIOS a la versión correcta, procederemos a descargar Rufus para así crear un USB autoarrancable con FreeDOS (dentro de la sección "elección de arranque"). Copiamos la carpeta DOS Flash en el USB y quitamos el espacio en el nombre de la carpeta, quedándonos con el nombre DOSFlash.

Ahora, reiniciamos el equipo y pulsamos nuevamente F10 para configurar el orden de arranque, yendo a las opciones Storage (Almacenamiento) >> Boot Order (Orden de Arranque). Pulsamos tres veces F10 para efectuar los cambios en el arranque del PC.

Tras el inicio, insertamos la memoria USB con la cual hemos formateado para que arranque con FreeDOS. Elegimos la primera opción debido a que tiene configurado la distribución de teclado que teníamos en Windows. Escribimos cd dosflash (y la tecla Enter, obviamente) para irnos a la carpeta correspondiente y escribimos flashbin para completar la actualización del BIOS. Nos preguntará si deseamos efectuar la actualización del microcódigo al BIOS, por lo que procederemos a pulsar la tecla "Y" para proceder a la actualización del microcódigo del BIOS.

Volviendo a Windows, hacemos clic en el primer enlace que dimos en la lista, el cual contiene el microcódigo que ha de efectuar la actualización correspondiente tanto al BIOS como también al procesador en cuestión (en mi caso, el Intel Core 2 Duo E7500 de la serie Wolfdale). Copiamos la carpeta ME Flash en nuestra memoria USB, y la renombramos MEFlash para repetir el mismo procedimiento, no sin antes copiar el ejecutable FWUpdLcl.exe de la carpeta Local-DOS y pegarla en la misma ubicación que el archivo 22301046.BIN.

Ahora, reiniciamos nuestro PC, y en la pantalla del BIOS, hacemos la combinación de teclas Ctrl + P para acceder a las opciones de Intel AMT (el manual lo pueden encontrar aquí). Ingresamos la contraseña "admin" y luego elegimos la opción Change Intel ME Password. Tengan a la mano papel y lápiz para anotar la contraseña que han de crear, ya que ésta sí o sí es necesaria para acceder a estas opciones del microcódigo, además de ser exigente con el nivel de dificultad (si la contraseña tiene más de seis dígitos y contiene caracteres alfanuméricos y especiales como una "@", basta y sobra). Pulsen la tecla "Bloq Num/Num Lock" para usar las combinaciones de caracteres especiales ASCII.

Dentro de las opciones del Intel ME, en la opción "Intel ME State Control" elegimos "enabled". En la opción "Intel ME Firmware Local Update Qualifier", también elegimos "enabled". Ahora, elegimos "Return to Previous Menu" para efectuar el reinicio del PC

Después de haber configurado nuestro PC para aceptar las actualizaciones del microcódigo de Intel, arrancamos desde la memoria USB con la misma opción ya mencionada. Escribimos cd meflash (con la tecla Enter, como corresponde), y escribimos fwupdlcl 22301046 para efectuar la actualización del microcódigo. Hacemos la combinación Ctrl + Alt + Supr para reiniciar.

Y así tenemos habilitado nuestro PC para que funcione correctamente con procesadores Core 2 Duo con la tecnología Intel vPro.

En fin, ésto es todo por hoy. Lastimosamente, Coreboot no soporta PC's OEM como las insufribles HP (ni tampoco Libreboot). Por eso es que hice este tutorial, además que los foros de HP que literalmente son un mar de lágrimas en los foros hispanos. Veamos si esta vez aguanta un año más, pero con el Intel AMT habilitado (y éso que hasta ahora, Intel no ha dicho nada sobre estos modelos a pesar que ya están condenados a sufrir con Meltdown y Spectre).

domingo, 29 de julio de 2018

BIOS, tenemos un problema II (y de nuevo, HP)


Siguendo con el vía crucis de mi actual PC, la cual lastimosamente no puede aguantar ni una pequeña sobrecarga de memoria que deja Chrome en GNU/Linux (y al parecer, no soporta el modo multihilo de Firefox ESR 52.9.0 en Windows Vista), debo revelarles que mi condenada queridísima HP DC7700 SFF tiene un problema gravísimo: no soporta procesadores Intel de la serie LGA775 que sean de Wolfdale en adelante, por más que consuman 65W.

Quizá se me haya pasado una que otra página, pero indagando por los no escuchados foros de HP, digamos que aquí me puse a leer más a profundidad estos hilos. Resulta que no soy el único que le pasa el dichoso problema de marras que el BIOS no controla correctamente la velocidad del ventilador (con el chiste que la actualización del microcódigo como solución duró apenas un año), sino también que el BIOS 786E1 literalmente no funciona como debe de ser en procesadores de la serie Wolfdale. Y como reporté en la publicación anterior, el BIOS literalmente se voló el utilitario de Intel AMT/MEBx que realmente tenía el control de la temperatura de la placa base, además de volverse errático con cualquier salto de exceso de caché de Chrome, sea en Windows o GNU/Linux.

Para terminar, Coreboot ni siquiera está listo para tarjetas madre de HP del 2006.

viernes, 13 de julio de 2018

[Primeras impresiones] ¿Alguien dijo Australis en Chrome?


Con el pasar del tiempo, vemos que los navegadores cada vez cambian de diseño, a la vez que se adaptan a las nuevas tecnologías de hardware. A su vez, proporcionan nuevas funciones que permitan la interoperabilidad a la hora de navegar en Internet. Un claro ejemplo de ello es Google Chrome, navegador que destaca precisamente por ser el pionero de los navegadores con diseño minimalista y con un nivel de sincronización bastante competente en contraste con navegadores como Firefox, Internet Explorer, entre otros.

A partir de la versión 45, el refinado del diseño llegó prácticamente a las ediciones para Mac y GNU/Linux (cosa que llegó finalmente a la versión para Windows desde la versión 50), detalle que algunos usuarios no se han percatado.

Y en esta ocasión, desde la versión 69, Google Chrome pretende mostrar un cambio de imagen. Desde OMG Ubuntu! anuncian los cambios efectuados, los cuales se pueden habilitar o bien desde Chrome Canary, el canal de desarrollo de Chrome o Chromium dev (vía Woolyss).

Para habilitar dicho nuevo aspecto, debemos escribir en la barra de direcciones about:flags, y configurar estos parámetros para poder así disfrutar de primera mano la nueva apariencia de Chrome:

  • top-chrome-md (UI layout for the browser's top Chrome) >> refresh
  • views-browser-windows (Use Views browser windows instead of Cocoa {sólo en Mac}) >> enabled
  • views-cast-dialog (Views Cast dialog) >> enabled

A partir de ahí, hacemos clic en "Relaunch Now" (reiniciar ahora) y el navegador cambiará de aspecto.

Interfaz




Desde el vamos, nos percatamos que la nueva interfaz Australis de Chromium/Chrome destaca por su mimetización con la barra de direcciones y la reducción notoria de remates rectos en las pestañas. El símbolo del "+" ha de volver tras años de haber desaparecido tras el cambio de motor de renderizado (del torpe y difícil WebKit al ya goloso Blink a pesar de incorporar hasta el día de hoy el motor de ECMAScript V8). La fluidez en el apartado de rendimiento es algo notoria en el uso de la navegación (en mi caso, con la aceleración por hardware desactivada debido a que uso el navegador Chromium desde mi netbook), la sección "nueva pestaña" muestra los íconos de los sitios más frecuentados en vez de mostrar las capturas de pantalla junto con los favicons, y la opción de ajustes ubicada en la parte inferior izquierda da las opciones de cambiar el fondo de dicha interfaz a través de la biblioteca que ofrece de forma predeterminada, o bien subir nuestro propia imagen de fondo.

Más allá de dichos cambios, no veo algo que realmente afecte realmente el rendimiento del navegador y/o demás cosas. A duras penas veo un cambio en las opciones de búsqueda que mimetiza mucho mejor que con el anterior aspecto, además que las animaciones son más simples.

De cualquier forma, espero que la versión 69 se estrene para setiembre con bombos y platillos para todas las plataformas que brinda soporte. Si hay más cambios que afecten al rendimiento, les hago saber aquí.

En fin, hasta otra oportunidad. Pensé que los fanboys de Firefox iban a protestar por el cambio de aspecto de Chrome, pero veo que ni siquiera en las comunidades más conservadoras iban a quedarse calladas por ello.

martes, 10 de julio de 2018

BIOS, tenemos un problema (para HP)


A diferencia de otras ocasiones, aquí normalmente publico lo que se me venga en gana como resultado de tanto matar el tiempo. Lastimosamente, en esta ocasión, les vengo a mostrar el meollo del asunto:


Bien, como poca gente no toma en cuenta la descripción del video, les aclararé lo siguiente:

1.- Tras el cambio de procesador (Pentium D 915 a Core 2 Duo E7500), actualicé el BIOS que descargué directamente de la página web de HP. La versión actual que tiene es la 3.07 rev. A, con el microcódigo actualizado.

2.- Dichos cambios en el BIOS habilitaron la función del Intel AMT, el cual era el responsable de hacer el control del ventilador del procesador. El pequeño inconveniente era que tenía un ligero retraso, el cual estaba habilitado el Intel AMT, el cual mantenía a raya la velocidad del ventilador del procesador.

3.- Ahora, el Intel AMT aparentemente está desaparecido. Incluso con los condensadores cambiados (cosa que hice porque desgraciadamente era la razón inicial), no pude habilitarlo en el BIOS ni siquiera con el Ctrl + P, según este manual (sí, antes del problema del salto del Intel AMT de parte del BIOS podía acceder al MBEx y otras funciones más relacionadas al Intel AMT).

Para rematar, no he visto este síntoma del BIOS 786E1 versión 3.07 que se salta y deshabilita el Intel AMT junto al utilitario MBEx con el HP Compaq DC7700 SFF, y nadie menciona que la variante DC7700p SFF es la única variante que soporta más de 2 GB de RAM DDR2 sin problema alguno. Si estabas echando espuma por el mero hecho que los de Intel se hicieron los suecos con lo de Meltdown, toma una pastilla de hepabionta junto con un vaso lleno de agua de azahar. HP literalmente le enseñó a Apple a humillar a sus clientes (y encima, es caserita de Foxconn).

PD: Intel recomendó a todos los fabricantes a que dieran acceso a través del BIOS la opción del Intel AMT, cosa que HP hizo con sus modelos que vienen con Core i3 en adelante (a secas, claro). Para los Core 2 Duo, el BIOS lo habilita, pero dentro de un tiempo está deshabilitado, cosa que en las opciones no se puede habilitar el acceso al Intel AMT.

domingo, 8 de octubre de 2017

Experiencia con NVIDIA GeForce 210 (serie Tesla) e Intel Core 2 Duo


Hace poco adquirí dos componentes para mi HP DC-7700 SFF: un procesador Intel Core 2 Duo E7500 de 2.93 GHz (Wolfdale), y una tarjeta de video NVIDIA GeForce 210 de 1 GB DDR3, ensamblado por MSI. La razón: algo de potencia extra para mi PC, además de descartar cualquier error que ocasione un mal desempeño por culpa del chipset y otras cosas. En un principio, tenía considerado una ATI/AMD HD 6450, pero tomé en cuenta que mi primera tarjeta de video dedicada fue una ATI Radeon 7000, la cual sufrió el infortunio de fundirse y quedarse daltónica en cuanto a coloración hace varios años, opté por NVIDIA.

Para ello, tengo 3 sistemas operativos en mi PC: Windows Vista SP2 de 32 bits (Q.E.P.D., soporte oficial), Debian GNU/Linux 9.1 "Stretch" y Parabola GNU/Linux-libre. El primero, usa el driver suministrado oficialmente por NVIDIA, el cual soporta desde Windows Vista hasta Windows 8.1 (sí, irónicamente, para ese modelo de tarjeta de video, no dan soporte a Windows 10); el segundo, recurro al blob disponible en la rama non-free de Debian; el último, se queda con nada más ni nada menos que el driver libre, Nouveau en su versión más reciente.

1.- Houston, tenemos un problema


Lo primero que me topé a la hora de hacer el repotenciado es el inconveniente que tuve con el BIOS de mi PC, ya que la variante que tengo vino para específicamente funcionar con procesadores Pentium D como el que me vino de serie (Intel Pentium D 915 de 2.8 GHz), por lo que me tocó hacer dos actualizaciones: la del BIOS y la del microcódigo requerido para procesadores Core 2 Duo en adelante.

El flasheo del BIOS fue bastante sencillo, el del microcódigo, no. Tuve que darme cuenta un día después que lo que tenía que hacer era formatear una de mis memorias USB de 8 GB para que arrancase con FreeDOS y meter los utilitarios requeridos para flashear el microcódigo del BIOS, ya que si no lo hacía, no sólo me aparecía el error 1801 en cuestión, sino que la velocidad del ventilador se disparaba al medio minuto.

Y sí, eso significa que tu PC se convierte en una turbina.
Por fortuna, encontré un video de YouTube en el cual, buscando en los comentarios, indicó de forma escueta pero efectiva, la forma en la cual debía instalar el bendito microcódigo que pide el BIOS. Efectuada dicha operación, adiós turbina.

2.- A probar el repotenciado


Teniendo en cuenta los cambios previamente mencionados, empezamos.

A la hora de instalar el driver que me vino de serie en el DVD de la tarjeta de video del "fabricante" (bueno, del ensamblador, el cual es MSI, pero el chipset y el GPU lo ha hecho NVIDIA), me topé con la sorpresa que la versión que venía incluida no era la más reciente. Afortunadamente, el driver no pesaba más de 200 MB para la descarga, por lo que sí pude aplicar la instalación, y asunto arreglado.

Specificaciones de mi PC, desde Windows (gracias, Speccy).


Pude jugar varios juegos y aplicativos que con la tarjeta de video integrada de Intel (GMA 3000) era insufrible la experiencia: las mejoras eran brutales al igual que varios otros factores gracias al OpenGL 3.0. Incluso, para mi "austera" cantidad de aplicativos, el Core 2 Duo me ha beneficiado. Sin lugar a dudas.

En el caso de GNU/Linux, el goce era el doble gracias a que Debian y Parabola los instalé en versiones de 64 bits: en el caso de Debian, el driver privativo (o blobs) de NVIDIA estaba disponible en los repos, además que vienen con un tutorial bastante práctico para configurarlo (sí, hay tanto para modelos antiguos y modernos que tengan soporte oficial vigente). A diferencia de otras distros, en el caso de Debian, los blobs estaban ya optimizados para que los parámetros que brinda funcionen correctamente. Y por supuesto, menos mal que conservé a Debian debido a que facilita bastantes parámetros para descartar cualquier cambio con blobs. Con el caso de Parabola, opté por Nouveau, el cual ando viendo la evolución de este controlador libre para ver si algunas funciones están disponibles. Debido a las limitaciones que tiene dicho controlador, Nouveau a duras penas me permite disfrutar de contenido a Full HD a 30 FPS como máximo, y no tiene acceso a CUDA y demás.

Por el lado del procesador, lo que le habilité fue el acceso a la virtualización y deshabilité el Intel ME en la placa base. Cero quejas en ese apartado, además que la virtualización me ha ayudado en gran manera a poder así manejar con soltura las máquinas virtuales que tengo en VirtualBox.

3.- Conclusiones


Para ser una de las primeras actualizaciones serias que hago a mi PC, se ajusta a mis necesidades que tenía delegadas. Edición multimedia, videojuegos, virtualización, entre otros lares. No voy a pedir más a una PC que tiene más de una década de antigüedad, pero en muchos casos, tener Linux es una buena opción a tener en cuenta, si consideramos que Windows 7 pronto va a terminar su soporte dentro de un par de años y Windows 10 literalmente no tiene buen soporte en sus drivers integrados, por lo que cualquier distribución GNU/Linux le caería a pelos por el soporte de hardware.

En fin, con el trato que tiene actualmente Microsoft con el hardware con varios años de antigüedad, me hacen confiar más en GNU/Linux y BSD (incluyendo MacOS) por encima de Windows mismo.

viernes, 18 de agosto de 2017

[Tutorial] ¿Cómo volver a usar el correo de OpenMailBox desde un cliente de correo?


Desde que OpenMailBox ha cambiado su enfoque comunitario a comercial, además de la comunicación del creador con sus usuarios con respecto a los usuarios del servicio se ha vuelto mucho más escueta, ha dejado en entredicho la calidad del servicio de OpenMailBox. Aprovechando que mi sitio web principal aún le estoy encontrando solución para migrar de hosting (debido a que el anterior literalmente no me habilita todas las funciones para empezar la migración de Wordpress a Drupal), decidí aprovechar el poco tiempo que me queda de días libres para ayudarles a usar el correo de OMB desde sus servidores.

Para empezar, ingresemos al sitio web en cuestión.






Luego, iniciamos sesión como siempre:




Ahora, procedemos a irnos a la sección de cuenta:





Luego, vayamos a la sección de configuración:





Hacemos clic en la opción "Contraseña de la aplicación":





Elegimos "Añadir una contraseña". En este caso, usaremos el cliente de correo Icedove (fork de Mozilla Thunderbird). Copien la clave, la cual usaremos a continuación y hacemos clic en "Añadir la contraseña":


Ahora, abrimos en el cliente de correo electrónico del cual accedíamos a nuestro correo la sección de configuración:


Efectuamos la eliminación del correo en cuestión, incluyendo la opción "Eliminar datos de mensajes":


Ahora, procedemos a añadir de nuevo el correo electrónico con la contraseña previamente copiada:





Hacemos clic en "Configuración manual" para cambiar la dirección de los servidores. Éstos se encuentran en la sección "Acceso IMAP/SMTP" dentro del panel de configuración de OpenMailBox:




Ahora, procedemos a copiar esos mismos datos en el formulario de configuración de correo de nuestro cliente:



Confirmamos los datos y a disfrutar de nuevo de nuestro correo OMB desde nuestro cliente de correo preferido.


No me gusta el rumbo que ha tomado OMB. ¿Hay otras alternativas que me permitan acceder desde mi cliente de correo favorito?


Para empezar, hasta ahora no encuentro esa opción en ProtonMail, pero en Cock.li, digamos que es el servidor de correo electrónico comunitario más resiliente que hay. Tanto así que el autor ha tenido una odisea para salvar su servicio con el apoyo de los usuarios de 8chan. Y sí, su representante legal es la misma que la de Edward Snowden, con lo que pueden contar con dicho servicio, el cual tiene desde servicio Jabber, servidor Mumble y hasta canario de garantía.

Compartan este artículo para que detesten la actual interfaz de OMB, o simplemente úsenla como madriguera de spam.