The Pirate Bay está caído por matenimiento

The Pirate Bay

The Pirate Bay está caído. Según “gente que sabe del tema”, está bajo matenimiento.

Cada vez que The Pirate Bay cae, mucha gente entra en pánico y teme lo peor de él. Pero, afortunadamente, este no es momento para actuar así.

Simplemente me pareció raro el que no hayan informado del tal en su cuenta de Twitter.

Te aconsejo echarte una siesta y descansar un rato, y cada tanto esperar a que TPB vuelva a funcionar.

Fuente: Torrent Freak

Anuncios

Youtube se pone gracioso – Nyan Cat

Nyan Cat - Subido a Imgur.com

Tal parece ser, hasta a los de Youtube les lavó la mente encantó el video de Nyan Cat, o al menos lo suficiente como para “ponerse graciosos”. Me acabo de enterar, al entrar a ver el video, que cambiaron la barra de carga por NyanCat, y el progreso por un arcoiris expulsado por su trasero.

El video en cuestión:


Científicos japoneses hacen hologramas tocables

Hasta ahora, los hologramas podían ser vistos pero no tocados.
Un grupo de científicos japoneses lograron crear (a un nivel básico) la sensanción de tacto, usando ondas ultrasónicas.
Este es un paso bastante importante al uso de hologramas.

Me parece inimaginable todo lo que se podría crear teniendo una Kinect y hologramas tocables….

Como un extra, dejo un video de un concierto holográfico de un recital de VOCALOID, donde los personajes (en este caso, Miku Hatsune) bailan en un escenario. Lastimosamente, no son tocables 😦


Emulaodr x86 de Linux en JavaScript – JSLinux

JS Linux

Cada vez es más impresionante lo que se logra crear con JavaScript, y cada vez más jákers nos muestran cosas alucinantes como esta.

Esta vez vemos un emulador de X86 escrito puramente en JavaScript. No es ningún fake ni adaptación de ninguna clase, es un emulador en su estado puro. Para hacerlo, su desarrollador se basó en código de QEMU.

¿En qué navegador puedo probarlo?

Según su FAQ, los navegadores aceptados son:

  • Firefox 4.x
  • Chrome 11
  • Opera 11.11
  • Internet Explorer 9

Enlace: JS Linux

Fuente


La atroz desinformación por parte de TN

FACEPALM

Acabo de leer la noticia por Google Buzz (gracias a @insaurraldeap) y me pareció, además de triste, desastroso lo que publicaron en TN.

Para poder demostrárselo, voy a ir citando parte por parte lo que dijeron, haciendo énfasis en los errores principales que tuvieron en su nota y corrigiéndolos con información verdadera.

Primero que nada, el título está completamente errado:

El día en el que Facebook, Google y Yahoo! pueden caer

Ni Facebook, ni Google ni Yahoo! cayeron o caerán.

Facebook se unió a otras grandes empresas de internet y usará IPv6 durante 24 horas, por lo que es posible que un grupo pequeño de usuarios encuentren lentitud en el sitio.

Facebook (y las demás empresas, como Google) usarán IPv6 e IPv4 para poder realizar pruebas a IPv6. No debería sufrirse ningún cambio de velocidad.

Otras compañías como Yahoo! y Google también participarán de la inciativa, que tiene como objetivo modernizar en todo el mundo el nivel de enrutamiento de internet.

El objetivo no es modernizar el nivel de enrutamiento, sino poder probar IPv6.

¿Cómo vuelvo a entrar a Facebook?

¡Nadie debería tener problemas con IPv6! Se estimó que sólo un 0,05% de los usuarios de todo internet sufriría problemas, y si no se puede conectar por IPv6, ¡la PC se conectará por IPv4!

Desactivar IPv6 en Windows 7, Vista, XP y Mac OS X

Para este día especial, lo que deberían hacer es exactamente lo contrario. Se necesita probar a cuánta gente le funciona bien IPv6, y ahí mismo están diciendo cómo desactivar completamente la conexión con IPv6.

Posdata:

Para todo BSDero, Lignuxero o UNIXero que quiera utilizar IPv6, pueden instalarse el túnel de Miredo, que genera automáticamente una dirección IPv6 (mediante un túnel, do’h).
Para instalarlo en debian y derivados: apt-get install miredo
Instalándolo, ya tienen IPv6 funcionando. Pueden comprobarlo en http://ipv6test.google.com/ o http://test-ipv6.com/

Fe de erratas:

Mis disculpas hacia la sección de TN Tecno. Fue error mío el haber supuesto que el post, al pertenecer a la sección tecnología, era parte de TN Tecno.

Artículo original


[Video] Move Your Feet – Junior & Senior

Move Your Feet - Junior & Senior
Hace un tiempo, un amigo me dijo “¿tenés idea de qué video es este monito?” y me pasé un buen rato buscando el video original. Creo que el principal problema que tuve para encontrarlo, es que ese “monito” era una “ardillita” 😛
Al encontrar el video, me alegró bastante el día. Soy capaz de pasarme varias horas escuchándolo en un loop infinito 🙂

El video es una canción de Junior & Senior, “Move Your Feet” se llama. Es bastante psicodélica y graciosa, tanto en letra como en video.

Sin más, dejo el video:


Clase de SQLite3 para PHP

SQLite

Últimamente, desarrollé un profundo amor hacia SQLite. Revisando la página http://7devs.com encontré una interesante clase (por no decir “extremadamente simple”) para el manejo de una base de datos MySQL. En ese momento, me dije WHY NOT? y decidí reescribirla para que use SQLite3.

He aquí el resultado:

<?php

/*
* SQLite3 Class
* based on the code of miquelcamps
* @see http://7devs.com/code/view.php?id=67
*/

class DB{
  private $sqlite;
  private $mode;

  function __construct( $filename, $mode = SQLITE3_ASSOC ){
    $this->mode = $mode;
    $this->sqlite = new SQLite3($filename);
  }

  function __destruct(){
    @$this->sqlite->close();
  }

  function clean( $str ){
    return $this->sqlite->escapeString( $str );
  }

  function query( $query ){
    $res = $this->sqlite->query( $query );
    if ( !$res ){
      throw new Exception( $this->sqlite->lastErrorMsg() );
    }

    return $res;
  }

  function queryRow( $query ){
    $res = $this->query( $query );
    $row = $res->fetchArray( $this->mode );
    return $row;
  }

  function queryOne( $query ){
    $res = $this->sqlite->querySingle( $query );
    return $res;
  }

  function queryAll( $query ){
    $rows = array();
    if( $res = $this->query( $query ) ){
      while($row = $res->fetchArray($this->mode)){
        $rows[] = $row;
      }
    }
    return $rows;
  }

  function getLastID(){
    return $this->sqlite->lastInsertRowID();
  }
}

// initialize
$db = new DB( 'database.sqlite' );

// create the database structure
$query = 'CREATE TABLE IF NOT EXISTS "foobar" (
            "id" INTEGER PRIMARY KEY AUTOINCREMENT,
            "name" TEXT
          );';
$db->query( $query );

// insert some data to the database
$query = array(
  "INSERT INTO foobar VALUES(1,'LOLOLOL');",
  "INSERT INTO foobar VALUES(2,'Lorem Ipsum....');"
  );

foreach($query as $key):
  $db->query( $key );
endforeach;

// query example, multiple rows
$users = $db->queryAll( "SELECT * FROM foobar" );

// query example, one row
$search = 'Lorem Ipsum....';
$user_info = $db->queryRow( sprintf( "SELECT * FROM foobar WHERE name = '%s'", $db->clean( $search ) ) );

// query example, one result
$total_users = $db->queryOne( "SELECT COUNT(*) FROM foobar" );

// insert query
$insert = array(
  'id' => 3,
  'text' => 'Testing'
);
$db->query( sprintf( "INSERT INTO foobar VALUES ( %s, '%s' )", $db->clean ( $insert['id'] ), $db->clean( $insert['text'] ) ) );

?>

Dejo un link a un pastebin por si quieren copiarlo y WordPress molesta 😛 http://pastebin.com/XBpWWfTE
La clase la libero completamente libre. Pueden usarla para lo que quieran, a excepción que el creador de la clase original tenga alguna objeción.