Error al compilar en Android Studio 4.0: CIRCULAR REFERENCE:com.android.tools.r8.a: Invoke-customs are only supported starting with Android O

Resulta que estuviste construyendo tu APP desde Android Studio 4.0 y no te marcó ningún tipo de error de codificación pero al querer compilar para desplegar en tu ADV te manda el siguiente error:

CIRCULAR REFERENCE:com.android.tools.r8.a: Invoke-customs are only supported starting with Android O  (--min-api 26)

Pues nada y no pasas de ahí y le buscaste por todos lados, pues resulta que es un error que no tiene nada que ver con tu código ni con tu app, después de buscar mucho me encontré con la solución en esta entrada:


La solución consiste en:

1. Ve al menú de Android Studio en la sección ->Project Structrure





2. Del lado izquierdo da Click en "Modules"




3. En la sección "Source Compatibility" y "Target compatibility" selecciona: $JavaVersion.VERSION_1_8 si estás usando Java 8, seleccionad Java 7 si estás usando Java 7 o la 10 en su caso.





4. Da Click en el botón Apply y después en el botón OK.


5. Da Click en el menú Build y luego en Rebuild.

Recuperar o cambiar contraseña de MySQL 8.0 en MacOS Catalina 10.15

Resulta que por motivos de espacio (128 GB) en una Macbook Air 2017, procedí a cambiar de disco duro de estado sólido y reinstalé el Sistema Operativo y también las aplicaciones que necesito, por alguna razón al instalar MySQL 8.0 no anoté la contraseña y al llegar el momento de querer recuperar los respaldos que tenía almacenados no pude conectar con MySQL 😢😢

Bueno, este post es para todos los que como yo necesitan cambiar su contraseña olvidada de MySQL 8.0 y que usan MacOS, en mi caso Catalina 10.15

Primero que nada tienen que entrar a la manzana 🍏 de la parte superior izquierda en: Preferencias del Sistema->MySQL y en la ventana resultante dar click en "Stop MySQL Server"


Luego desde una terminal deberás ejecutar una nueva instancia del servidor MySQL en modo seguro y usando el modificador --skyp-grant-tables. Para esto debemos escribir la siguiente instrucción:

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

Debemos dejar ejecutando la instancia del servidor y abrir otra terminal o una nueva pestaña de la terminal e ingresar al servidor MySQL para poder modificar el password que se nos olvidó, para esto debemos ejecutar:

/usr/local/mysql/bin/mysql -u root

Con lo que nos abrirá el prompt de la terminal MySQL y podremos ejecutar los comandos necesarios:

mysql> use mysql;

En la versión 8.0 ya no existe la función password() de MySQL por lo que se tiene que usar lo siguiente:

UPDATE mysql.user SET authentication_string=null WHERE User='root';

No olvidemos escribir:

FLUSH PRIVILEGES;

Salimos:

exit;

Por último ya podremos ingresar para poner el nuevo password:

/usr/local/mysql/bin/mysql -u root
mysql> use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'nuevopasword';
FLUSH PRIVILEGES;
exit;

Deberas cerrar la instancia MySQL que iniciamos de forma segura con:

sudo /usr/local/mysql/support-files/mysql.server stop

y por último, no se olviden de entrar a la manzana 🍏 de la parte superior izquierda en: Preferencias del Sistema->MySQL y en la ventana resultante dar click en "Start MySQL Server"

Problemas al desplegar una aplicación Web mayor a 50Mb en Apache Tomcat 7 y 8 desde Ubuntu 14.04

La presente entrada la escribo ya que tuve problemas al tratar de desplegar una aplicación web que pesa 65 Mb, mi entorno de trabajo es una computadora con GNU/Linux Ubuntu 14.04 y comento que el despliegue lo intenté hacer desde el manager-webapp que lo instalas fácilmente desde la consola con la instrucción:

sudo apt-get install tomcat7-admin

Para acceder al manager-webapp lo haces con la IP de tu servidor Apache Tomcat seguido del puerto 8080 como se muestra a continuación, en mi ejemplo es: http://192.168.1.91:8080

Es importante mencionar que tienes que tener configurado un usuario y contraseña para ingresar, dicho usuario y contraseña lo configuras con:

sudo nano /etc/tomcat7/tomcat-users.xml

y puedes agregar lo siguiente en la sección <tomcat-users>

<tomcat-users>
<role rolename="tomcat"/>
  <role rolename="manager"/>
  <role rolename="manager-gui"/>
  <user username="tomcat" password="pass" roles="manager,manager-gui,tomcat"/>
</tomcat-users>

El problema al intentar subir archivos war (aplicaciones web) mayores a 50Mb que es el máximo tamaño que viene por default configurado.

Para cambiar dicha configuración, es necesario editar el archivo:

sudo nano /usr/share/tomcat7-admin/manager/WEB-INF/web.xml

Buscar la sección <multipart-config>, ahí indica que tiene configurado 50MB máximo en la parte de la instrucción que dice: <!50MB max ->. Por lo que si quieres subir archivos mayores y que tenga un máximo de 100 MB la sección quedaría de la siguiente forma:

<multipart-config>
   <!- 100MB max en nueva config ->
   <max-file-size>104857600</max-file-size>
   <max-request-size>104857600</max-request-size>
   <file-size-threshold>0</file-size-threshold>
</multipart-config>

Y por último reiniciamos tomcat con:

sudo service tomcat7 restart

Ahí la solución para cuando se presente de nuevo el problema :)

Instalando Youtube-dl en Ubuntu 16.04 Xenial Xerus

En la actualidad ya existen numerosas aplicaciones Web que nos ayudan a descargar videos de Youtube como lo es Savefrom.net, pero muchas de esas aplicaciones no nos dan muchas opciones para descargar lo que nosotros en realidad queremos, es por eso que youtube-dl sigue siendo mi mejor opción.

Para los que aún no están enterados de lo que es youtube-dl, les comento que es un programa que se ejecuta desde la terminal de línea de comandos, como se muestra en la siguiente captura de pantalla de mi terminal.


Ahora pasemos a lo interesante, resulta que recientemente migré a Ubuntu 16.04 Xenial Xerus para hacer pruebas de funcionamiento en una MacBook Air 13 y rápidamente procedí a instalar mi herramienta favorita para descargar música y videos, pero me llevé la sorpresa que al instalar usando:

sudo apt-get install youtube-dl

Y al tratar de ejecutar el comando para descargar el video y extraer el audio para convertirlo en mp3, lo único que obtuve fue el siguiente error: Signature extraction failed: Traceback (most recent call last): .....


Buscando un poco por la red, me di cuenta que la versión de youtube-dl que se instala desde el repositorio default de Ubuntu 16.04 no está tan actualizada como la versión que está publicada en la página oficial, por lo que busqué si existía un repositorio que tuviese actualizada la aplicación, con lo que les muestro que la solución consiste en instalar el repositorio de WebUpd8 PPA como se muestra:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dl


Y ahora si, si lo que quieren es descargar un video usamos:

youtube-dl http://VIDEO_URL

Y si lo que queremos es descargar el audio en mp3 y en formato de buena definición usamos:

youtube-dl -t --extract-audio --audio-format mp3 --audio-quality 128K https://VIDEO_URL

Lo único que debemos cambiar es VIDEO_URL por la dirección de tu video de Youtube y a disfrutar :)

En el 6 de Enero, ¿qué festejar?

El 6 de Enero es el día que muchos festejan a los Reyes Magos, para otros muchos, los Reyes no fueron Reyes y tampoco fueron Magos y para otros nunca existieron. Pero, ¿qué debemos festejar?, no se si compartas lo que pienso, pero lo escribiré para que sea motivo de reflexión.

Debemos festejar el ver a nuestros hijos con ilusiones, el ver que aún creen en algo o en alguien, el ver que creen!.



Debemos festejar el proceso de la creación de la carta, la primera carta que escribe tu hijo es el mejor regalo, eso es lo maravilloso y vale oro.

Debemos festejar sus ojos iluminados, debemos festejar la unión, el vínculo, el pretexto para reunirnos como familia al rededor de la rosca, disfrutar de un café o chocolate de leche que es el favorito de mis hijos.

Debemos festejar la emoción de elegir el regalo que tus hijos quieren, la oportunidad de convertirte en Rey y en Mago por unos momentos.


Festejen la oportunidad de festejar, porque cuando ya no se puede, cuando algo lo evita, cuando falta, es cuando se extraña, cuando te sientes incompleto...

Se libera GNU nano 2.4.0 "lizf"

Con la novedad de que después de algunos años, nos encontramos con la noticia que desde ayer 23 de Marzo de 2015 está liberada la versión 2.4.0 de NANO, el editor de texto desarrollado por la GNU como remplazo de PICO. La nueva versión es conocida con el nombre de "Lizf". 



Dentro de las nuevas características de la actualización y que describen en la lista de correos de GNU Nano-Devel se encuentran:

Un sistema completamente funcional de deshacer (ahora por default).
Bloqueo de archivos compatible con VIM.
Soporte de formatos.
Resaltado de sintaxis.
Muchas correcciones para problemas reportados desde la versión 2.2.

Desde este lugar les mandamos un agradecimiento sincero a todos los desarrolladores involucrados en NANO por regalarnos las mejoras :) y que siga creciendo!

Instalar MySQL Workbench en Ubuntu 13.04

Al estar utilizando Ubuntu 13.04 me encontré con la duda de si podría instalar MySQL Workbench usando el PPA o si ya estaba en los repositorios de Ubuntu y me encontré con que efectivamente ya existe en los repositorios, por lo que únicamente tenemos que escribir en la terminal la siguiente instrucción para poder instalarlo:

sudo apt-get install mysql-workbench


Al terminar, búscalo en el Dash como MySQL y verás que ya existe el icono. La versión que se instala es la 5.2.40 Revisión 8790.


Ahora a trabajar que no hay pretextos.

Error al compilar en Android Studio 4.0: CIRCULAR REFERENCE:com.android.tools.r8.a: Invoke-customs are only supported starting with Android O

Resulta que estuviste construyendo tu APP desde Android Studio 4.0 y no te marcó ningún tipo de error de codificación pero al querer compila...