domingo, 8 de junio de 2014

Css3 - Hacer que un objeto gire infinitamente.

  Me parece muy interesante el uso de CSS3 para hacer animación en la web. Reduce los problemas que tiene el trabajar animaciones con Jquery. Lo que siempre me llega a parecer muy lamentable es la falta de compatibilidad entre navegadores que siempre obliga a reescribir o dejar de usar funciones.
En este caso vamos a hacer que una imagen gire infinitamente. Para esto solo debemos colocar una imagen:

<img class="rotating" src="soccer.png">

En este caso colocaremos la clase Rotating. Lo cool de esto es que cualquier elemento que le agregemos esta clase, inmediatamente rotará infinitamente. 

Y el css sería:

/* CHROME, SAFARI */
/* Para esto utilizamos la función keyframes apuntando al keyframe de nombre rotating. En este caso el webkit adicional es para que funcione en chrome y safari. Que hace un loop desde el punto "FROM" hasta "TO". En este caso hace inicia la animación con cero Grados y termina en 360 y reinicia.  /*
     
    @-webkit-keyframes rotating {
   
    from{
    -webkit-transform: rotate(0deg);
    }
    to{
    -webkit-transform: rotate(360deg);
    }
    }

   
    /* FIREFOX */
         
    @keyframes rotating {
   
    from{
    transform: rotate(0deg);
    }
    to{
    transform: rotate(360deg);
    }
    }


/*CLASE rotating aquí es que redactamos la clase Rotating que trabaja con una animación infinita a 5 segundos en este caso, trabajando con los keyframes de arriba.  En este caso agregamos -webkit y sin nada.  Si tenemos problemas con algún navegador toca agegar -moz-, -ms-, -o- dependiendo del navegador. */

    .rotating {
    -webkit-animation: rotating 5s linear infinite;
    -moz-animation: rotating 5s linear infinite;
    -ms-animation: rotating 5s linear infinite;
    -o-animation: rotating 5s linear infinite;
    animation: rotating 5s linear infinite;
    }


Ejemplo en vivo:







lunes, 26 de mayo de 2014

JQuery: Detectar colisión de dos Objetos


El siguiente es un tema necesario a la hora de programar algún juego que necesite detectar la colisión de dos objetos. Esta es una de las muchas formas de hacerlo y como código de programación usaremos jquery (Javascript) pero la teoría sirve para cualquier lenguaje.


Para este caso tenemos dos objetos que en realidad son cuadrados. El Auto amarillo (Objeto A) y el Auto Azul (Objeto B).  Técnicamente para que exista colisión solamente es necesario que una de las esquinas del elemento B  esté dentro o sea igual al espacio ocupado por el objeto A o viceversa.

lunes, 28 de abril de 2014

Javascript: Validar formato de Email

Para validar un si un email tiene el formato válido podemos utilizar esta función.

function isValidEmailAddress(emailAddress) {

    var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);


    return pattern.test(emailAddress);
};



Para utilizarlo puede hacer esto:

<script>

if(isValidEmailAddress(test@test.com)){
alert("Es un email válido");
}
else{
alert("No es un email válido");
}


</script>

jueves, 27 de marzo de 2014

Php: Cómo aplicar urldecode o alguna modificación de texto a un array multi dimensional.

Me encontré con este problema. Tenía un resultado de una base de datos en un Array $res_rows y tenía que aplicarle un urldecode a todos los valores extraídos.

La forma de hacerlo es la siguiente.

// Primero utilizamos serialize que genera una representación almacenable de el array. En este momento podemos aplicar al resultado el urldecode o alguna otra modificación. strtolower etc.

$str = urldecode(serialize($res_rows));

// El tema es que a aplicar el urldecode, dañamos la medicion de la longitud en esta cadena de texto. Para esto toca recalcular los valores con:

 $str = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $str);

// Y retornamos los valores a su estado original con unserialize. 

$res_rows = unserialize($str);

miércoles, 12 de febrero de 2014

Php: Como combinar múltiples imágenes transparentes.


Para este ejemplo tenemos 4 imágenes que necesitamos combinar en una sola. Estas imágenes vamos a suponer que están en el mismo directorio que el php que genera la nueva imagen. Al colocar la imagen final en nuesto website o app sería algo como. <img src="merge.php">


Nuestro archivo merge.php tendría el siguiente código que genera esta imagen:

<?php 
$imagenes = array("Imagen01.png","Imagen02.png","Imagen03.png","Imagen04.png");
$dest =  imagecreatefrompng($imagenes[0]); 
imagesavealpha($dest, true);

$a = 0;
foreach ($imagenes as &$imagen) {
if($a!=0){
$src = imagecreatefrompng($imagen);
imagecopy($dest, $src, 0, 0, 0, 0, $width, $height);
   }
   $a++;
}

header('Content-Type: image/png');
imagepng($dest);

imagedestroy($dest);
imagedestroy($src);
?>

martes, 24 de septiembre de 2013

¿Tiene sentido tu trabajo?

Siento que muchas veces trabajamos por trabajar. Dar la milla extra se vuelve a veces innecesario. Es una lástima que el apuro por facturar hace que la esencia del resultado o por lo que trabajamos disminuya y es quizás ese el momento en que nos da igual nuestro trabajo.

Un buen caso que nos pasó hace poco. Para el cumpleaños de Glory (mi novia), estando por vía Argentina pasamos a un Restaurante de Nombre Dino’s Café. Y una amiga le preguntó al mesero que si por casualidad vendían algún postre para cantar el cumpleaños. El mesero mira el lugar de los dulces y ve que en realidad quedaban tres simples bizcochos nada elegantes. Es probable que otro tipo de empleado hubiese dicho simplemente que no tenían pero en su caso fue a la cocina y reunió a su equipo de la misma forma en que se reunen jugadores de Fútbol para definir una jugada. Tomaron los bizcochos y decoraron los tres con icing y chocolate. Consiguieron una vela. Y lo trajeron a la mesa y todo el staff cantó junto a nosotros el cumpleaños. Lo cual para todos los presentes fue un momento muy agradable y un muy buen detalle.

Me pregunto: ¿Trabajamos únicamente para Ganar Dinero o lo hacemos por el producto que estamos desarrollando?

Estamos por el dinero o por cumplir para que igual me paguen un salario y no por desarrollar buenos proyectos, crecer como profesionales, cambiar al mundo y mejorar procesos.

¿Estamos orgullosos de nuestras creaciones?. y si no; ¿Estamos analizando cual es el problema?,  ¿Cual es el incentivo faltante?
¿Somos capaces de hacer sacrificios para lograr sentir orgullo de nuestros resultados?

Y de ser así, ¿Qué podemos hacer?

Según Guy Kawasaki (antiguo evangelizador de productos de Apple), la mejor razón para comenzar una compañía es “Crear Significado, Cambiar el Mundo” - No es directamente hacer dinero.

Si haces sentido harás dinero. Si comienzas por solo hacer dinero es muy probable que te rodees de empleados que no te convienen.

De mi parte admito que hacer sentido muchas veces es difícil pues lastimosamente no siempre tendremos los proyectos que anhelamos hacer. O tenemos responsabilidades que nos obligan a pensar solo en generar ingreso. Pero de momento mantengo la esperanza de que lo ideal es hacer sentido y junto con las personas con quien me doy el lujo de trabajar nos podamos sentir siempre orgullosos de nuestros resultados y cada día que pase poder sentir orgullo de todos los productos que pasen por nuestras manos.

“Que nuestro objetivo sea primero hacer sentido y luego ya veremos.”

martes, 17 de septiembre de 2013

Como crear un VCard automático con Php

 
Según Wikipedia: 

"Un vCard es un formato estándar para el intercambio de información personal, específicamente tarjetas personales electrónicas (electronic business cards).

Las vCards son usualmente adjuntadas a mensajes de e-mail, pero pueden ser intercambiadas en muchas otras formas, como en la World Wide Web o a través de códigos QR, así como códigos de Microsoft tag. Pueden contener nombre, dirección, números telefónicos, URLs, logos, fotografías, e incluso clips de audio."


Una buena librería para generar los vcards de manera automática con PHP se llama lbhtoolkit la cual pueden encontrar en:

http://www.littleblackhat.com/lbhtoolkit

Adicionalmente un ejemplo con archivo descargable de como utilizarla rápidamente la pueden encontrar en:

http://www.littleblackhat.com/blog/2011/06/lbhtoolkit-using-the-php5-vcard-generator/

Según ellos en un archivo php colocamos lo siguiente:

// Include the class
require("library/LBHToolkit/vCard/Generator.php");

$vcard = new LBHToolkit_vCard_Generator();

// Name, requires a little knowledge of vCard.
$vcard->formatted_name = "Kevin Hallmark";
$vard->name = 'Hallmark,Kevin';

//Company nae
$vcard->company = "Little Black Hat";

// Assign an address
$vcard->work_address = "123 Fake St";
$vcard->work_city = 'Orlando';

$vcard->work_email = 'demo@email.net';
$vcard->work_state = 'FL';
$vcard->work_zip = "12345";

$vcard->work_phone = '555-555-5555';

$vcard->note = "Kevin is a nice guy.";

echo $vcard->create();


------------------------------------------------------------------------

Y listo. 

Nota: La línea de $vcard->work_email = 'demo@email.net'; no estaba yo la agregé pues la necesitaba. Pero hay otras cosas más que se que si están en la libreria y no en el código ejemplo. Pero lo Básico pienso que es esto. 

 

domingo, 1 de septiembre de 2013

¿Como agregar el código de hipervinculo a los links de una cadena de Texto en Php?

Supongamos que tenemos una cadena de texto que contiene links, ya sea creada por un usuario o la sacamos de algún api tipo twitter o facebook. Y queremos que todos los links tengan el html ready para darle click. Para esto hacemos podemos utilizar la función abajo descrita:

<?php
// Si el texto es:
$texto =  "Lo tengo que buscar en  http://www.google.com para ver.";
echo  link_it($texto);

// El resultado seria: Lo tengo que buscar en  <a href="http://www.google.com">http://www.google.com</a> para ver.

// Esta es la función:
function link_it($text)
{
    $text= preg_replace("/(^|[\n ])([\w]*?)((ht|f)tp(s)?:\/\/[\
w]+[^ \,\"\n\r\t&lt;]*)/is", "$1$2&lt;a href=\"$3\" &gt;$3&lt;/a&gt;", $text);

    $text= preg_replace("/(^|[\n ])([\w]*?)((www|ftp)\.[^ \,\"\t\n\r&lt;]*)/is", "$1$2&lt;a href=\"http://$3\" &gt;$3&lt;/a&gt;", $text);

    $text= preg_replace("/(^|[\n ])([a-z0-9&\-_\.]+?)@([\w\-]+\.([\w\-\.]+)+)/i", "$1&lt;a href=\"mailto:$2@$3\"&gt;$2@$3&lt;/a&gt;", $text);

    return($text);
}

?>



viernes, 21 de junio de 2013

¿Cómo utilizar la API versión 1.1 de Twitter para hacer una Búsqueda por Hashtag?

 El API de Twitter ha cambiado y de la forma anterior ya no va. Antes para realizar una búsqueda de tags simplemente usábamos el URL https://search.twitter.com/search.json?q=%23XXXXXXX  y donde están las XXXXXX colocábamos el tag. Esto nos devolvía un JSON que manejábamos como tal y listo.

Ahora ya no es así. Y Twitter con su API 1.1 nos obliga a Autentificar la aplicación.
Brevemente los pasos son los Siguientes

1. Crea tu cuenta de Desarrollador:
  • Entra a https://dev.twitter.com/
  • Lógate con tu cuenta en donde dice “SIGN IN
  • Una vez dentro entra a CREATE NEW APLICATION
  • Coloca el nombre, descripción y demás campos y continua.
  • Listo esto te dará un Consumer Key, Consumer Secret etc.
  • Nota: En este demo solo voy a leer data. Si tu app tiene que ver con escribir Tweets entonces debes de cambiar el permiso de la aplicación de Read Only a Read and Write.
  • Ahora creamos el Access Token  y listo.

2. Veamos el código

  • Primero descárgate esta librería PHP: https://github.com/J7mbo/twitter-api-php
  • Si ves el archivo index.php ya es un medio template para trabajar.
  • Con los datos que ya tienes Rellena los datos de: 
  • $settings = array( 'oauth_access_token' => "",'oauth_access_token_secret' => "",'consumer_key' => "",'consumer_secret' => "");
  • -    De ahí puedes borrar todo lo que sigue y colocar esto:

$url = 'https://api.twitter.com/1.1/search/tweets.json';
$requestMethod = 'GET';
$getfield = '?q=#XXXXXX&result_type=recent';

$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest();

Y donde dice XXXXXXX colocas tu hashtag y listo al el código final de tu index.php para realizar una búsqueda de hashtag quedaría como:

<?php
ini_set('display_errors', 1);
require_once('TwitterAPIExchange.php');

/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
    'oauth_access_token' => "",
    'oauth_access_token_secret' =>  "",
    'consumer_key' =>  "",
    'consumer_secret' =>  ""
);

$url = 'https://api.twitter.com/1.1/search/tweets.json';
$requestMethod = 'GET';
$getfield = '?q=#XXXXXX&result_type=recent';

// Perform the request
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest();
           

  ?>


Listo de aquí puedes conseguir la data.

 ----------------------------------------------------------------------------
Para más información, aportes o comentarios sobre desarrollos con el api de Twitter te invitamos a unirte al grupo de facebook https://www.facebook.com/groups/twitterapidev/



viernes, 7 de junio de 2013

Formatear Twitter created_at al formato de Mysql Datetime

Si utilizamos el JSON de Twitter para una búsqueda

Ejemplo: https://search.twitter.com/search.json?q=panama el campo de created_at se ve de la siguiente forma: 

Fri, 07 Jun 2013 18:37:02 +0000

Para poder agregarla como datetime en Mysql simplemente hacemos:

$datetime = gmdate('Y-m-d H:i:s', strtotime($created_at));

y listo el resultado en este caso sería:

2013-06-07 18:37:02

viernes, 24 de mayo de 2013

Algunas cosas aprendidas sobre el Marketing Digital



- Una mala idea con un super diseño. No deja de ser una mala idea.

- Innovar sin hacer prototipos es una fantasía.

- Rellenar diseños con “Lorem Ipsum” es solamente esperar a que cuando el contenido real llegue. Darse cuenta que no cabe en el diseño y a alguien le tocará volver a diseñar.

- Si un producto no es útil, atractivo, ni va a ser utilizado por las personas que lo desarrollan. ¿Por qué vamos a pensar de que los usuarios afuera sí les va a gustar?

- Pretender realizar un proyecto sin un diagrama de Flujo (O análisis similar) es el equivalente a hacer el proyecto a ciegas.

- El que sea publicidad digital no quiere decir que solo hay que hacer cosas que se vean en una computadora o celular. El mundo exterior no ha dejado de existir.

- Eso de que menos es más. Es en serio!.

- Bueno, rápido y barato: solo se pueden elegir dos.

- Si un proyecto no tiene buenos resultados. Y no se analiza el por qué. Estos volverán a suceder.

- Si se va a realizar un proyecto en base a un producto, servicio, contrucción etc. Ir a conocer, probar y analizar el producto en sí. Nunca está de más. Muchas veces damos por sentado de que conocemos todo acerca del producto que vamos a marketear y por no ir a conocer más a fondo el mismo se pierden muchos detalles que pudieron beneficiar a la campaña.

jueves, 2 de mayo de 2013

Jquery - Error al animar Background Position con jquery-1.9.1.js


En jquery-1.9.1.js no me está funcionando animar el background-position

Normalmente esto era así:

 $('#elemento').animate({backgroundPosition:"-100px 10px"});

Solución agregar el siguiente script:

http://keith-wood.name/js/jquery.backgroundpos.js

sábado, 23 de marzo de 2013

Conocer el tiempo de procesamiento de un php


Muchas veces tu sitio web está exageradamente lento. Y no siempre es culpa ni de las imágenes, css, javascript u otras cosas. Puede que el problema sea del PHP.

Algunos errores clásicos son: malos y pesados llamados a la base de datos que estamos haciendo, ciertos cálculos matemáticos exagerados, llamando contenido de otros sitios web, etc.


Para esto podemos debuggar nuestro sitio de la siguiente manera:

Al inicio de nuestro php colocamos:

$tiempo_inicial=microtime(true);

Y al final del mismo podemos imprimir:

echo "<!-- TIEMPO DE EJECUCION: ".number_format(microtime(true)-$tiempo_inicial,2).' segundos -->';

Le coloqué símbolo de comentario Html para que se vea en el código y no en la página.
Si tu sitio pasa de un segundo de carga ya puedes ir pensando que algo está demorando tu php. 

Y si quieres averiguar donde exactamente está el problema te recomiendo lo siguiente:

Para un código php:

<?php
// Aquí pasa algo
// Aquí pasa algo más
// Otra cosa más
// Ya casi termina
// Ya el final
?>


Podemos debuggarlo de la siguiente forma:

<?php
$tiempo_inicial=microtime(true);
// Aquí pasa algo
echo "<!-- TIEMPO DE EJECUCION 001: ". number_format(microtime(true)-$tiempo_inicial,2).' segundos -->';
// Aquí pasa algo más
echo "<!-- TIEMPO DE EJECUCION 002: ". number_format(microtime(true)-$tiempo_inicial,2).' segundos -->';
// Otra cosa más
echo "<!-- TIEMPO DE EJECUCION 003: ". number_format(microtime(true)-$tiempo_inicial,2).' segundos -->';
// Ya casi termina
echo "<!-- TIEMPO DE EJECUCION 004: ". number_format(microtime(true)-$tiempo_inicial,2).' segundos -->';
// Ya el final
echo "<!-- TIEMPO DE EJECUCION 005: ". number_format(microtime(true)-$tiempo_inicial,2).' segundos -->';
?>


Y ya tienes con que analizar el tiempo de carga y ver en que momento paso de estar en 0.01 segundos y luego pasa a 19 segundos. Ya es más fácil buscar y optimizar el código.








Link de la Foto: http://icons.iconarchive.com/

domingo, 10 de febrero de 2013

Calcular la Diferencia de dos Epoch Unix en Días, Horas, Minutos y Segundos en Php


Siempre me ha gustado utilizar epoch unix por la facilidad de manejar fechas sin pensar en el formato que tienen y visualmente es más fácil de sumar y restar a la hora de realizar cualquier tipo de ecuación.

Según Wikipedia el Epoch Unix o Tiempo Unix es un sistema para la descripción de instantes de tiempo: se define como la cantidad de segundos transcurridos desde la medianoche UTC del 1 de enero de 1970, sin contar segundos intercalares.

En este caso tengo que calcular cuanto ha demorado una persona en terminar completar un juego. Para lo cual tengo como resultado la fecha de Inicio y Otra de Final:

En este ejemplo:

$ini_time = 1360527936;
$end_time = 1360528132;

Obviamente la diferencia entre ambas es solo su resta es decir:

$tiempo =  $end_time  - $ini_time;

y ahora para transformar este tiempo a Días, Horas, Minutos y Segundos:

$segundos = 1;
$minutos = 60 * $segundos;
$horas = 60 * $minutos;
$dias =  $horas * 24;

$dias_real = ($tiempo - (fmod($tiempo , $dias)))/$dias;
$tiempo = fmod($tiempo , $dias);

$horas_real = ($tiempo - (fmod($tiempo , $horas)))/$horas;
$tiempo = fmod($tiempo , $horas);

$minutos_real = ($tiempo - (fmod($tiempo , $minutos)))/$minutos;
$tiempo = fmod($tiempo , $minutos);

$segundos_real = ($tiempo / $segundos) - fmod($tiempo , $segundos);

Y resultado final:

$salida = $dias_real." dias, ";
$salida.= $horas_real." horas, ";
$salida.= $minutos_real." minutos, ";
$salida.= $segundos_real." segundos ";
echo $salida;

En este caso la salida fue:

0 días, 0 horas, 3 minutos, 16 segundos 

domingo, 23 de diciembre de 2012

Controlando el Arduino con el Celular vía Web


En este video demostramos la posibilidad de controlar acciones del Arduino desde el Celular vía Web Mobile.

Para esto creamos un script en Php que vía comunicación serial envía datos al Arduino.

Con el mismo podemos apagar y encender un led. y aprovechamos para apagar y encender un motor todo esto remotamente desde el celular.


Nota personal:


En mi mac tuve un problema pues necesitaba conectarme a /dev/tty.usbmodemfd111 y cada vez que el php intentaba conectar se congelaba el script.

Todavía no estoy seguro la razón pero el Arduino mostraba como si se re-iniciara pero no respondía más el puerto serial.  En Pc y Linux no da problemas (Supuestamente). 

En el blog http://missionduke.com/wordpress/2009/08/arduino-project-serial-communication-with-web-gui-via-php/ indican que se puede arreglar esto colocando una Resistencia de 100ohm desde RESET a 5 voltios pero a mi no me arreglo el problema.

Lo que hago para que arranque es que paso el script al Arduino y antes de ejecutar el Script abro la consola del Serial de Arduino y entonces ejecuto el php.

Toda la teoría de como desarrollar esto lo pueden encontrar en:

http://missionduke.com/wordpress/2009/08/arduino-project-serial-communication-with-web-gui-via-php/


sábado, 1 de diciembre de 2012

Cambiar extensión Php por html,xml o cualquier otra cosa en un URL


En apache si en algún momento por temas de SEO o cualcosa debemos de cambiar la extensión de un URL ejemplo: example.com/test.php  a example.com/test.html o example.com/test.xml 

Solo agregamos al directorio un archivo .htaccess y en este agregamos

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php [nc]


Nota: en donde dice html cambiamos por la extensión por la que se va a reemplazar php.

jueves, 22 de noviembre de 2012

Forzar input text a ser numérico solamente con JQuery


Para que un input text:

<input id="input_id" type="text">

Permita solo agregar números. Se puede agregar está función en JQuery:


jQuery.fn.ForceNumericOnly = function()
{
    return this.each(function()
    {
        $(this).keydown(function(e)
        {
            var key = e.charCode || e.keyCode || 0;

            return (
                key == 8 ||
                key == 9 ||
                key == 46 ||
                (key >= 37 && key <= 40) ||
                (key >= 48 && key <= 57) ||
                (key >= 96 && key <= 105));
        });
    });
};


y la implementación sería:

$('#input_id').ForceNumericOnly();




Twitter: @italoestrada

miércoles, 21 de noviembre de 2012

¿Cómo generar un Qr con bit.ly?



¿Que es un código QR?

 Un código QR es un módulo para almacenar información en una matriz de puntos bidimensional creado por la compañía japonesa Denso Wave 1994. Se caracteriza por los tres cuadrados que se encuentran en las esquinas y que permiten detectar la posición del código al lector. La sigla «QR» se deriva de la frase inglesa Quick Response (Respuesta Rápida en español), pues los creadores (Joaco Retes y Euge Damm) aspiran a que el código permita que su contenido se lea a alta velocidad. Los códigos QR son muy comunes en Japón y de hecho son el código bidimensional más popular en ese país.

Fuente: Wikipedia



¿Cómo puedo generarlo con bit.ly?

Hay muchos scripts en Internet para crear códigos Qr. Me gusta utilizar bit.ly pues es una dirección muy fácil de recordar.

Para esto sigue los siguientes pasos:

Digamos que voy a generar un Qr para el sitio: google.com

Paso 1

Ingresa a Bit.ly 

Paso 2: 

Aquí ingresa la dirección al shortener de bit.ly el resultado debe de ser algo parecido a: http://bit.ly/UNWHGR

Paso 3: 

Agrega lo siguiente:

- A. Si quieres el Qr con el look de bit.ly solo agrégale al final .qr


- B. Si quieres el Qr solo agrega .qrcode


- C. Si necesitas un tamaño más grande para impresión agregar .qrcoder?s=tamaño 




_____________________________________________________________
Twitter: @italoestrada