Resultado de etiquetas “programacion”

Comienzan a aparecer tutoriales y clases en PHP para manejar cómodamente el API de Analytics.

También los hay ya para otros lenguajes:

Tenía pendiente crear un bloque de entradas más vistas (o visitadas) y aprovechando la apertura del API de Google Analytics y lo divertido de la documentación he creado un breve programita en PHP para acceder a esos datos.

Basta con definir GA_LOGIN y GA_PASS con nuestros datos de acceso a Analytics e indicar en GA_IDS el id del perfil a consultar. El último dato también se puede obtener con el API, como explican en el ejemplo de datos de cuenta, pero he preferido indicarlo directamente para simplificar. Para obtener este número basta con entrar en Analytics, editar el perfil que deseemos y copiar el Número de identificación del perfil que nos indica.

Este ejemplo obtiene las 10 páginas con más visitas de la última semana ordenados de forma decreciente por visitas.

<?php
  define
('GA_LOGIN',  'LOGIN');       # cambiar
  
define('GA_PASS',   'PASSWORD');    # cambiar
  
define('GA_IDS',    'ID');          # cambiar
  
define('GA_APP',    'www.mabarroso.com-ga-1.0');

  
# Login
    
$loginURL 'https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email='.GA_LOGIN.'&Passwd='.GA_PASS.'&source='.GA_APP.'&service=analytics';
    
$loginData file_get_contents($loginURL);
    list(,
$Auth) = split('Auth='$loginData);

    if (!
$Auth) {
      exit(
'no logged in');
    }

  
# Fijamos user agent y Auth en la cabecera de las peticiones
    
ini_set('user_agent'GA_APP."\r\nAuthorization: GoogleLogin auth=$Auth");

  
# Rango de fechas
    
$dateEnd date('Y-m-d'time()-86400);  // ayer
    
$dateBegin   date('Y-m-d'time()-604800); // la semana pasada

  # Consulta
    
$data file_get_contents('https://www.google.com/analytics/feeds/data?ids=ga:'.GA_IDS.'&dimensions=ga:pagePath&metrics=ga:pageviews&sort=-ga:pageviews&start-index=1&max-results=10&start-date='.$dateBegin.'&end-date='.$dateEnd);
    
$data str_replace(array('dxp:dimension','dxp:metric'), array('dxpdimension','dxpmetric'), $data);
    
$xml simplexml_load_string($data);

  
# Datos
    
$i 0;
    foreach (
$xml->entry as $entry) {
      echo ++
$i.' '.$entry->dxpdimension['value'].' : '$entry->dxpmetric['value'] .'<br/>';
    }
?>

He tenido problemas al recuperar los valores dxp:dimensión y dxp:metric con SimpleXML. No es una solución elegante pero, para salvar el obstáculo, reemplazo esas cadenas de texto por otras que no dan problemas (les quito los dos puntos).

lo más visto

Actualizado 24/4/2009 8:45. He usado el código anterior como base para actualizar a diario el nuevo bloque Lo más visto en la barra de la derecha, según los datos de Google Analytics.

Con una tarea programada para ejecutarse una vez al día: se recuperan los datos, se construye el código HTML y se guarda en archivo. La consulta a Google no se hace en cada petición. Es innecesario. Por el momento son las entradas más vistas durante la última semana, como en el código de ejemplo. Con el paso del tiempo comprobaré si conviene acortar o alargar el periodo.

Ahora se me ocurre que también sería interesante hacer otro bloque que fuera La entrada más vista ayer. Valdría el mismo código, cambiando la fecha inicial por $dateBegin = date('Y-m-d', time()-172800); (fecha actual menos el número de segundos de dos días). Por optimizar, también se puede cambiar en la url de la consulta max-results=1 y así obtener un único resultado en vez de 10.

programador Especificación de principios
- Funciona muy bien, pero... no hay botones "cancelar" por ninguna parte.
- Yo no programo para cobardes que se echan atrás a último momento.

Viñeta de La pulga snob

-¡Tanto peor! ¡Otra vez la vieja historia! Cuando uno ha acabado de construir su casa advierte que, mientras la construía, ha aprendido, sin darse cuenta, algo que tendría que haber sabido absolutamente antes de - comenzar a construir. El eterno y molesto "¡demasiado tarde!" - ¿La melancolía de todo lo terminado!...
Aforismo 277. Más allá del bien y del mal. Friedrich Nietzsche.

Esto nos pasa a todos los desarrolladores, ya seas analista o programador. Cuando acabas o estas a punto de acabar la aplicación descubres una forma más óptima de haberla hecho. Es la principal razón por la que cualquier programa del pasado siempre nos parece "peor".

Facebook Developer Garage MadridEl próximo Lunes 18 de Febrero tendrá lugar desde las 19:00 hasta las 23:00 pm un encuentro en el Teatro Lara de Madrid para el lanzamiento de la plataforma de aplicaciones de Facebook en castellano.

Javier Oliván, director de Producto y Marketing Internacional de Facebook, presentará la plataforma de aplicaciones en español y FON presentará las aplicaciones que está desarrollando para Facebook. Otros desarrolladores y empresas también presentarán sus aplicaciones.

Icarus Adventure System Icarus Adventure System es la herramienta gratuita desarrollada por Jordi Pérez que permite realizar aventuras gráficas para la consola Nintendo DS. No es necesario tener conocimientos de programación ya que el programa incluye un sencillo sistema de Scripts que permite dotar al juego de la interactividad necesaria.

El programa está completamente en castellano con manual, demo y una aventura gráfica de ejemplo.

Lo realmente cómodo es el lenguaje para definir el comportamiento de la aventura. Es totalmente en castellano, haciéndolo muy atractivo y fácil a los que nunca han intentado programar en ningún lenguaje.

Gracias King George por pasarme la dirección.

motej es una librería Java de comunicación con el Wiimote (Wii Remote o Control Remoto Wii) que permite controlar distintos aspectos del mando como la lectura de los acelerómetros, control de la vibración, encendido de LEDs, lectura de botones y de la memoria EEPROM, escritura de los registros del mando, información de estado y datos de calibración.

Los fuentes, binarios y ejemplos están listos para descargar en http://motej.sourceforge.net.

Visto en Tehskeen

xwii XWii Es una nueva librería (ya por la versión 2.0) que permite adaptar la información del WiiMote de Nintendo en datos de entrada X11, como movimientos del ratón y eventos de teclado. La intención es jugar y controlar programas en Linux con el WiiMote, el mándo clásico y el Nunchuck.

El Wii Remote de Nintendo (Wiimote) no sólo ha revolucionado en Wii, si no que, además, no paran de aparecer aplicaciones del mando para Windows, Mac y Linux.

Brian Peek muestra en su artículo Managed Library for Nintendo's Wiimote como controlar un wiimote conectado por bluetooth al PC desde Visual C# y VB.NET.

Con ejemplos en ambos lenguajes y el código disponible para descargar sólo queda arremangarse y ponerse manos a la obra. Para los que quieran profundizar en el funcionamiento interno del mando tienen más información técnica disponible en:

Aplicaciones ya desarrolladas son:

  • Brent Rossen's project: permite interactuar con un paciente virtual.
  • Virtual drum kit : creado por Evan Merz, permite tocar una batería "al aire". Hay un vídeo demostración de su funcionamiento.

Visto en coding4fun

-¿Cómo explicaría a un niño qué es PHP?

-¿Sabes esa cosa llamada Internet donde puedes ir a sitios como Youtube o Yahoo? PHP es la herramienta que usan estas compañías para crear sus sitios web.

Esta pregunta forma parte de la entrevista de Mercè Molist a Zeev Suraski, israelí de 31 años que en vez de ir a clase aprovechó la universidad para pasar horas escribiendo código con su amigo Andi Gutmans, creando PHP. Hoy dirigen su propia compañía, Zend Technologies.

Sigue en http://ww2.grn.es/merce/2007/php.html

La transcripción íntegra de la entrevista está en http://ww2.grn.es/merce/2007/phpfull.html

Visto en Port 666

1   2   3