El capitalismo no funciona

Dicen que el comunismo es malo o no funciona, está claro que el capitalismo tampoco.Hackeando el Genoma

FacebookTwitterGoogle+Diaspora

Handling Configuration Changes with Fragments

To answer this question, we will first discuss some of the common difficulties developers face when using long-running background tasks in conjunction with the Activity lifecycle. Then, we will describe the flaws of two common approaches to solving the problem. Finally, we will conclude with sample code illustrating the recommended solution, which uses retained Fragments to achieve our goal.
Sigue leyendo

FacebookTwitterGoogle+Diaspora

Ambiguous method call getClass()

En las últimas versiones de Android Studio, el IDE muestra un error en getClass que dice lo siguiente:

Ambiguous method call. Both
getClass () in Object and
getClass () in Object match.

Se debe a un bug de la plataforma IntelliJ.

La opción rápida sería haciendo un Casting de la llamada getClass():

((Object) this).getClass()

Sin embargo, no nos gustaba mucho esta opción ya que complica la lectura y además tendríamos que cambiar todo el código para evitar el error. Hay una solución mejor. Se trata de parchear el código SDK

Cuando te encuentres con el error getClass(), ve a la declaración del método (⌘B en Mac). Esto te llevará directamente a la ruta, algo así como $ANDROID_HOME/sources/android-20/java/lang/Object.java. Ahora , desde IntelliJ o desde Android Studio:

  1. Haz Object.java editable seleccionando File -> Make File Writable. Es posible que te pida hacer esto si intentas modificar automáticamente el archivo.
  2. Retire el comodín de la función:

    De

    public final native Class<?> getClass();

    a

    public final native Class getClass();

En las últimas versiones de android studio no te dejará modificar el código, puedes utilizar tu editor favorito para modificarlo.

Nota: Si actualizas Android Studio, tendrás que volverlo a hacer, en mi caso tuve que añadir el comodín, guardar y volver a eliminarlo.

FacebookTwitterGoogle+Diaspora
fail2ban-ban-repeat-offenders

Bloquear IPs reincidentes permanentemente con fail2ban

Hay un sistema integrado en fail2ban para comprobar el log predeterminado y luego poner en marcha una prohibición más extensa sobre la base de los intentos registrados. El problema con este enfoque es que los logs giran y en ocaseiones son eliminados. Aunque fail2ban buscará a través de logs archivados es obvio que no se puede buscar a través de los que se han borrado. El otro problema con esta solución es que eses IPs solo se almacenan en iptables lo que significa que cuando el servidor o servicio fail2ban se reinicia la tabla puede haberse quedado vacía. Por supuesto fail2ban volverá a aplicar las reglas iptables si esas direcciones IP se mantienen en los archivos de registro del sistema (siempre y cuando no se hayan eliminado).

Sigue leyendo

FacebookTwitterGoogle+Diaspora
TwistedWire-21

Conexión de altavoces a amplificadores: Impedancias

Fuente: http://www.jonikazategi.com/conexion-de-altavoces-a-amplificadores-impedancias/

Vamos a tocar un tema que ha hecho correr ríos de tinta, pero que aun así, todavía hay muchos músicos y aficionados al audio que no entienden correctamente. Se trata de saber conectar las etapas de potencia a los altavoces correctamente.

Saber que altavoces podemos utilizar y entender bien el concepto de impedancias, cargas, potencias, etc, es vital para nuestro amplificador y nuestros altavoces ya que lo que está en juego es su integridad.

Sigue leyendo

FacebookTwitterGoogle+Diaspora