martes, 29 de mayo de 2012

It was before - Original de Baterpruf

Aprovechando algunas ideas de cuando estuve con el grupo de HardRock y la minigrabadora digital multipista que tengo por ahí infrautilizada he montado esta canción. Sois libres de descargarla, escucharla y si os gusta también de redistribuirla libremente. Incluso no me importa si alguien quiere hacer versiones o remezclar o lo que sea. Lo único que me gustaría es que no me quitéis el mérito de haberla creado originalmente. Vamos, lo que sería una licencia Creative Commons Attribution:

Aquí la estupenda canción rockera.

Me gustaría haberle podido dedicar más tiempo y tengo varias quejas, pero no voy a facilitaros el critiqueo. Por cierto atentos al solo que echa humo!

lunes, 28 de mayo de 2012

Booooombaaaaaa!!!!

En nucleardarkness tienen un simulador de bombas nucleares y, para probar, he puesto una de 550 kt en Pep Ventura. El resultado? Que me quedaba sin amigos. Todos sabemos que nunca se nos ocurriría poner una de verdad, pero da que pensar...


PD1: El título me ha recordado, con una lagrimilla en el ojo, a Ppi en el karaoke cantando una de King Africa.
PD2: Por si nos cierran el blog, ha sido un placer escribir con vosotros.

jueves, 24 de mayo de 2012

Definición de homeopatía

Acabo de leer la mejor definición que se puede dar de la homeopatía:

...centenares o miles de productos supuestamente curativos, supuestamente extraídos de ridículos y exóticos lugares, supuestamente presentes en los productos que se venden, que provienen de antiguos listados y recetarios curanderistas, basados en leyes sin demostrar y contrarias a cualquier concepto científico actual, que se comercializan sin haber demostrado su eficacia.

Visto en  el blog de Centinel.

Si queréis reíros un poco a costa de esta pseudociencia no os perdáis este vídeo donde explican cosas como que para curar la sensación de angustia/opresión el pricipio activo será ¡¡Muro de Berlín!! Así como muchas otras burradas.

martes, 22 de mayo de 2012

Penn & Teller: Fool us

Vaya programas que dan por ahí... y nosotros aquí pudriéndonos a base de sálvames y similares. Menos mal que tenemos Salvados y ClanTV!! Penn And Teller: Fool us es un show para que magos noveles intenten engañar a estos dos reconocidos ilusionistas/comediantes. Después del truco Penn y Teller desvelan el funcionamiento y suelen acertar. Cuando fallan es que el truco era bastante bestial. Como estos dos ejemplos:






Edit: He encontrado otro más misterioso aún. Los profesionales directamente no tienen ni idea de lo que puede haber sucedido para que ocurra el efecto. Al final Penn dice "Si me apuntan con un arma y me dicen que haga una suposición, yo diría: Dile a mi familia que les quiero". Es muy increíble:

Una pregunta para pensar, segunda parte

Ya se me había olvidado pero tenemos un post (de gran éxito) con respuesta abierta desde hace ya demasiado tiempo. El juego raro de la moneda. Recapitulando:

Nos proponen jugar a cara o cruz, si aciertas obtienes un euro y sigues jugando. Si vuelves a obtener cara ganas el doble...y así indefinidamente hasta que saques cruz y se acaba el juego.

Si calculas la esperanza (la ganancia promedio teniendo en cuenta lo que se gana en todos los posibles desenlaces ponderados según su probabilidad) obtienes que da infinito. Entonces ¿Pagarías 100€ por jugar? Koco ya dijo en los comentarios que intuitivamente no apostaría mucho más de un euro por jugar. De todas formas, que sea muy improbable no significa que no sea rentable. Hay veces que la primitiva o el euromillones acumula un bote tan grande (creo que ya no, que lo limitaron) que al final la esperanza supera el precio y comprar lotería pasa a ser matemáticamente lógico. Solo haría falta comprar todos los boletos y ganaríamos dinero seguro. Con las quinielas hay asociaciones que intentan cosas parecidas rellenando muchísimas posibilidades reuniendo el dinero entre todos.

Pero en este caso hay un pequeño fallo, si jugamos indefinidas veces ganamos infinito (o en el mundo real, una cantidad sin límite superior, indefinidamente grande) pero el problema es que las partidas tienen también un coste infinito, pero un infinito que aumenta más rápido que el de las ganancias.

Eso sí, en el mundo de las matemáticas esos dos infinitos son del mismo grado así que no perdemos nada. Es como el hotel infinito. Tiene infinitas habitaciones ocupadas todas por infinitos clientes y encima vienen otros tantos infinitos clientes que quieren alojarse también. No habrá ningún problema para alojarlos, simplemente hay que decirle a cada uno de mis inquilinos actuales que se cambie a la habitación con el número doble de la actual. Eso dejará libres infinitas habitaciones.

Por tanto, en un mundo ideal matemáticamente con posibilidad de hacer las cosas infinitas veces podríamos pagar un gritón de dólares por jugar y no perderíamos nada, siempre que tengamos la paciencia de pasar la eternidad jugando.

¿Quejas?

Edit: Se me había olvidad mencionar que este problema se llama La paradoja de San Petersburgo y ha tenido a  muchos matemáticos mosqueados durante mucho tiempo. Es más en la Wikipedia ni siquiera hay un apartado "Solución", solo hay "Propuestas de solución".

Tocar Jazz es fácil, ¡pregúnteme cómo!

Todos hemos intentado aporrear la escala pentatónica de Blues sobre los acordes séptima de grado I, IV y V (si nos ponemos en La serían La7, Re7 y Mi7).
La gracia de tocar la pentatónica menor es que encaja en cualquiera de esos acordes, no hay que pensar en cambiar de escala ni nada. Lo malo es que todo el rato tocas las mismas notas y enseguida suena a repetido. Pues bien, aquí os dejo unos truquillos para darle un poco de color a esa misma escala y solamente cambiando UNA nota en cada acorde conseguiremos un sonido más adecuado para cada acorde y de paso con un poco de sabor a Jazzzzzzzzz.




Para un mejor entendimiento y disfrute de porqué, cuando y cómo diríjanse inmediatamente a Justin Guitar, cientos de vídeos estupendos de explicaciones muy interesantes y a todos los niveles.

Setters y getters, friend or foe?

Esto me lo he preguntado alguna vez y Kpacha al final me convencía, aunque ahora no recuerdo sus argumentos. ¿Por qué quiero programar así?:

private String nombre;
public void setNombre(String nombre) { this.nombre = nombre; }
public String getNombre() { return nombre; }


En lugar de hacer simplemente esto:

private String nombre;

y acceder directamente a las propiedades cuando haga falta...¿?
Hay buenos motivos para usar esas funciones get, set, como por ejemplo:

  • Encapsulación: Así nos protegemos frente a cambios de implementación. Por ejemplo si decidimos que hay que verificar algo antes de hacer el set solo habrá que hacerlo en ese método.
  • Es necesario para que sean compatibles con clases como serialize.
  • Al heredar puedes modificar el funcionamiento.

Peeeeeroooo...

Realmente el uso de getters y setters sigue sin ser una buena práctica, no sigue la filosofía de la programación con objetos. ¿Por qué?
Uno de los principios que engrandecen la OOP es la abstracción de los datos. Un objeto no debe mostrar cómo funciona internamente, de ese modo siempre se puede modificar ese comportamiento sin afectar a los que hacen uso de él. Por eso las propiedades han de ser privadas como norma general.
Usar getters y setters son un rodeo para, en realidad, hacer pública una propiedad. Si por ejemplo tenemos que cambiar el tipo que devuelve el getCantidad de int a long tendremos que recorrer todo el código donde se use ese método para arreglar la recepción del dato. Esos datos no tendrían que ir pululando por ahí de clase en clase, en vez de pedir el dato para hacer algo, habría que decirle a la clase que tiene la información que lo haga.

En resumen, hay que tener todos los getters y setters si tienes pensado usar serialize o similares. En caso contrario hay que reducir al mínimo posible este tipo de accesos porque exponen el funcionamiento interno de la clase y por tanto hacen el código más difícil de mantener. Para conseguirlo hay que planificar previamente la visión global del funcionamiento de las clases y su interacción, es decir hacer bien las cosas desde el principio. ¡Qué fácil es decirlo!

Voy a avisar a Kpacha para que se pase por aquí a poner los puntos sobres las íes.

lunes, 21 de mayo de 2012

El mejor disfraz perruno del mundo

¿Que seguramente no es el mejor del mundo? ¿Pero a ver, qué queréis que ponga en el título? ¿Perro con un  disfraz curioso pero poco más que mediocre? ¡Qué poca mercadotecnia! A ese paso nunca vamos a llegar a los 100$ para que google nos mande el cheque...


domingo, 20 de mayo de 2012

Rompiendo la Topología

Los nudos están matemáticamente estudiados, y siguen unas normas bastante estrictas, tan estrictas como puedan ser la suma o la división. Pero verdad que si divides por cero estás en cierta manera hackeando la división? Pues aquí os dejo un vídeo de Tamariz hackeando la Topología de un nudo imposible.

Aviso, tened una cuerda a mano (si os pasa igual que a mi tendréis más a mano algún cable).


martes, 15 de mayo de 2012

Un chiste para programadores

Hay que pensar el resultado que da esta expresión. Lo pillas?
Array(16).join( 'hero'-1) + "Batman";

Si lo explico ya pierde la (poca) gracia, hay que ejecutarlo, aquí tenéis los pasos:

Crear un archivo de texto con extensión .htm
Editarlo con Bloc de notas o similar.
Copia y pega este código:

script type="text/Javascript"
var data=Array(16).join( 'hero'-1) + "Batman";
alert(data );
/script

El Blogger no me deja poner los símbolos < y > en el código, añádelos para que quede como en esta imagen:



El código de más simplemente lo he puesto para que se muestre el valor de la expresión.
Guarda el archivo y ejecútalo haciendo doble clic.

Por si acaso: Nan significa Not a Number,  es una especie de error en la manipulación de los datos.