Featured Posts

  • Prev
  • Next

Facebook’s tab profile y ID de usuarios

0

Posted on : 30-08-2010 | By : titacgs | In : Code | Tags: , , ,

El siguiente código permite obtener el id de un usuario dentro de un profile tab para una aplicación en Facebook. Con los cambios en el SDK, ya no es posible obtener variables como $_REQUEST['fb_sig_profile_id'] pero a tráves de esta función, se puede obtener el ID del usuario cuyo profile tab estan visitando, el primer parametro es $_REQUEST['signed_request'] y el segundo el Application Secret.

function parse_signed_request($signed_request, $secret) {
  list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

  // decode the data
  $sig = base64_url_decode($encoded_sig);
  $data = json_decode(base64_url_decode($payload), true);

  if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
    error_log('Unknown algorithm. Expected HMAC-SHA256');
    return null;
  }

  // check sig
  $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
  if ($sig !== $expected_sig) {
    error_log('Bad Signed JSON signature!');
    return null;
  }

  return $data;
}

function base64_url_decode($input) {
  return base64_decode(strtr($input, '-_', '+/'));
}

Canvas – Primera Parte

0

Posted on : 19-08-2010 | By : titacgs | In : Code | Tags: , , ,

Recientemente me tocó trabajar en un proyecto con HTML5, específicamente utilizando el elemento <canvas> el cual es definido como un bitmap que puede ser utilizado para renderizar gráficos e imágenes al instante. Este tag es soportado por Firefox (>3.0), Safari (>3.0), Chrome (>3.0) y Opera (>10.0). IE (>7.0) puede hacer el uso del tag canvas si se agrega la librería explorercanvas

El código para insertar un canvas dentro del HTML es el siguiente:

<canvas width="300" height="225"></canvas>

Si no se especifican las propiedades width y height dentro del tag <canvas> se le asignarán sus valores por defecto que son 300 y 150 respectivamente. Tampoco recomiendo asignar estas propiedades por CSS ya que en mis pruebas lo que obtuve fue un canvas de 300×150 estirado hasta las dimensiones especificadas en el CSS.

Se puede agregar mas de un elemento de este tipo en la misma página, estos serán agregados al DOM y cada uno mantendrá sus estados. Si se le asigna un id a cada uno, se podrán manipular individualmente como cualquier elemento en el DOM con los que estamos acostumbrados a trabajar.

Por ahora solo les enseñare como dibujar un cuadrado/rectángulo en el canvas. Primero, en el archivo que contiene el javascript “buscamos” nuestro canvas y lo “guardamos” en una variable, de esta manera se puede acceder a todos sus métodos y propiedades.

var canvas = document.getElementById("c");
var context = canvas.getContext("2d"); 

function draw_c() {
//el color por defecto es negro para cambiarlo lo hacemos de las siguiente manera
context.fillStyle = "#213BA3";

//para dibujar un cuadrado/rectángulo lo hacemos con la función fillRect, la cual toma como parámetros las coord. x e y, el ancho y el alto del cuadrado/rectangulo
context.fillRect(50, 25, 150, 100);
}

y en el HTML agregamos un link que con el evento onClick llame a la función draw_c. A continuación el demo mostrando este pequeño ejemplo en funcionamiento


click me

AudioPixels – Sonidos que transforman la imagen

0

Posted on : 03-07-2010 | By : titacgs | In : Artes Electrónicas | Tags: , , ,

Objetivos

  • Modificar imágenes a partir de registros sonoros.
  • Establecer y relacionar parámetros entre imágenes y sonidos.
  • Experimentar con distintas visualizaciones que den al espectador una perspectiva diferente de lugares de la ciudad de Buenos Aires junto a sus sonidos.
  • Uso de algoritmos que permitan crear patrones sobre las imágenes a partir de datos proveniente de registros sonoros.

Descripción Detallada

Este proyecto busca crear en el espectador una percepción distinta de la ciudad de Buenos Aires. Durante la proyección se podrá visualizar una serie de imágenes de la ciudad, que habrán sido procesadas por algoritmos que crearán y dibujaran patrones sobre ellas, modificando su forma y colores, a partir de información extraída de los registros sonoros también tomados en esta ciudad. Siendo el sonido quien se encargue de describir de una manera diferente distintos escenarios.

Justificación

En marzo del 2010 decidí mudarme desde la ciudad de Maracaibo, ubicada en Venezuela a la ciudad de Buenos Aires, Argentina. Durante mis primeros días, parte del tiempo lo dedique para recorrela y conocerla, con lo cual pude crear un banco de imágenes de los lugares que visite y que aún continua creciendo a medida que voy descubriendo nuevos rincones. Siempre que realizo un recorrido por un nuevo sitio, presto mucha atención a todos los elementos que describen y enriquecen el panorama que me rodea. El sonido forma parte fundamental en la construcción de esa imagen mental que con el tiempo pasara a ser un recuerdo en mi memoria.

En el marco de este trabajo, me pregunté ¿porqué no jugar con la percepción y alterarla? Así como registre imágenes de los lugares que conocí y que sigo descubriendo, comencé a registrar sonidos que también forman parte de los escenarios por los que he transitado. A través de un proceso donde la información sobre los aspectos formales obtenidos del sonido y la imagen se relacionan, el audio se convertirá en el protagonista durante un recorrido virtual de los lugares que he registrado en imágenes y a través del, podré crear nuevas formas de visualización, dándole al espectador una alternativa para apreciar la realidad.

Mi incursión en las artes electrónicas cada día me enseña y muestra un nuevo ámbito que no conocía, con un titulo de pregrado en Ingeniería de Computación, esta experiencia ha sido un reto personal bastante grande desde el punto de vista artístico por así decirlo, he ingresado a un nuevo mundo, completamente distinto, donde los procesos creativos e ideas se conciben de innumerables formas y tanto el producto final como las técnicas empleadas para su realización poseen un gran valor. Rompiendo un poco con la forma en que he venido trabajando e incluso cambiando la percepción de los resultados de mi trabajo.

Apoyandome en mis conocimientos de programación, he buscado e integrado las herramientas tecnológicas adecuadas y los conceptos artísticos que resultan nuevos para mi, algunos ya conocidos pero que los aplicaba de manera muy distinta o nula, de esta forma he iniciado un proceso donde ambos mundos, el de la tecnología y el arte, se fusionan para alcanzar el objetivo principal de esta obra.

Especificaciones

La obra se basa en la proyección monocanal de una serie de imágenes de la ciudad de Buenos Aires, al mismo tiempo se escuchará en la sala, las grabaciones realizadas durante los recorridos que he realizado por esta ciudad. El programa analizará los registro sonoros, los procesará y relacionará con distintos aspectos formales de las imágenes que serán reproducidas, alterando su composición.
El espectador entrará a la sala y podrá ver la transformación a lo largo del tiempo de cada una de estas imágenes a partir de los registros sonoros que escuche en ese mismo momentos. Es ideal contar para la exhibición de esta obra un espacio donde se puedan realizar las proyecciones que muestran el proceso de modificación de imágenes a través de un proyector y un sistema de sonido sorround, lo cual integrará aún mas al espectador.

La selección de los registros de audio e imágenes sucederá aleatoriamente durante el tiempo que dure la muestra. Para el procesamiento de las imágenes se emplearán algoritmos que dibujaran patrones y estructuras cuyos datos iniciales y comportamiento dependerán de los parámetros obtenidos provenientes de la información extraida de los registros sonoros que se reproducen al momento de mostrar cada una de las imágenes.

Plan de realización

  1. Recolección de datos: Captura de audio e imágenes por las calles de la ciudad de Buenos Aires, a distintas horas del día.
  2. Selección y Edición: En ambos casos (imágenes y audio) se realizará un selección previa del material a ser utilizado. Luego, solo en el caso del audio, se segmentarán los archivos dependiendo de su contenido, tratando de separarlos según los distintos lugares que se pueden percibir sonoramente.
  3. Desarrollo del programa: Se diseñaran y escribirán los algoritmos y estructuras de datos necesarios para tomar la información, relacionarla, procesarla y mostrarla.

Bibliografía y Referentes

Paginación en WordPress

0

Posted on : 02-06-2010 | By : titacgs | In : Code | Tags: , , ,

Comparto este snippet porque tarde como una hora tratando de hacer funcionar correctamente un paginador en WordPress, por alguna razón no me resulto tan obvio.

Con el uso de las funciones query_post() y posts_nav_link() se puede mostrar un listado de resultados con sus respectivos links para navegar, la clave para paginar correctamente tus posts en Worpress esta en pasar la variable $paged.

<?php

//obtenemos el valor que nos indica en que página de nuestros resultados estamos
$paged = get_query_var('paged');

//extrae los posts cuyo ID de la categoría es igual a 3, muestra 10 posts por página y pasamos la variable que indica cual página de los resultados estamos viendo
query_posts('cat=3&posts_per_page=10&paged='.$paged);

//hacemos muestra de los resultados
if ( have_posts() ) : while ( have_posts() ) : the_post();
the_content();
endwhile; endif;

//posts_nav_link() imprime los links que te permiten navegar por los resultados
posts_nav_link();

?>

Poesía Sonora

0

Posted on : 17-05-2010 | By : titacgs | In : Artes Electrónicas | Tags: , ,

Durante el modulo de sonido con el prof. Ricardo Dal Farra en donde conocí y aprendí sobre muchos temas relacionados con el Arte Sonoro, realizamos un ejercicio donde debiamos crear una poesía sonora.

La poesía sonora esta situada entre la poesía y la música, donde el elemento acústico es el que determinará su valor estético y formal.

A continuación, les dejo el resultado de mi ejercicio, el cual se titula Dalma Personal

Un par de horos obono después,
vava de alcance a termener
nacaanal a charla unu
encleye muyer enamorada,
dede minutos de
cedede dostono fefe
personal y liz, inin
minutos a dependiente
y perseverente ceelquier. Es
una actriz que dostono
eligío su carrera lacal,
prematuramente, eneny
excluyen el cologoo prumuum,
yy e internacionales, que,
concon navegación de
el pasa dotos de sus apastadas
alamatada más grandes. No
buscu corgo fama, lala
alcanzando se tiini
redece a nivil intirnicinil
valacadad y desde
siimpri nómoros, susu
de personal búsqueda es
mucho corgo más trascendente.

En la poesía sonora no importa si el texto tiene sentido, no importa si en realidad las palabras ni siquiera existen, lo que importa son los sonidos que se generan a partir de un texto. Nos olvidamos que son palabras, enfocandonos en los sonidos. En este poema que escribí, estan combinados 2 textos, los signos de puntuación señalan no solo pausas y entonación, sino además la incorporación de otros sonidos y cambio en el tono de voz y algunas palabras fueron modificadas. La incorporación de cada uno de los elementos la realicé a partir de “reglas” que establecí, de manera que cada vez que me encontraba con alguna de ellas en el texto principal, incorporaba un cambio.

Videos Dislocados

0

Posted on : 17-05-2010 | By : titacgs | In : Artes Electrónicas | Tags: , , ,

Modulo dictado por el prof. Leonello Zambón. Durante las clases modificamos una serie de aparatos (tele, tocadisco, maquina de escribir, radios, caja registradoras, jueguetes, entre otros) que luego se convirtieron en instrumentos, la idea es utilizar los principios de circuit bending y hardware hacking para lograr este fin. Para la clase final compusimos una pieza (a partir de la recolección de publicidad) que tocamos y luego nos fuimos a cenar para celebrar el exito de nuestra performance! Lo curioso es que el próximo sábado, participaremos en la inauguración de una galería, acá en la ciudad de Buenos Aires, a continuación les dejo un par de videos de la clase final y links donde pueden ver imágenes del proceso de creación.

Si tienes mayor curiosidad y quieres ver como es que funciona esto, el próximo sábado realizaremos una presentación de este proyecto.

Módulo Video

0

Posted on : 08-05-2010 | By : titacgs | In : Artes Electrónicas | Tags: ,

Video experimental para el Modulo de Video con el prof. Andrés Denegri, esta es la primera versión que presente en clase, luego espero subir una segunda con las mejoras (o no) que haré basado en los comentarios realizados en clase. La idea fue muy simple, recrear visualmente la superposición de sonidos similar al que escuchamos en una avenida muy transitada pero utilizando un lugar distinto, en este caso la cocina de mi departamento.

Confieso que disfruté el proceso de elaboración y la búsqueda de ideas para la realización de este trabajo.

Maestría en Tecnología y Estética de las Artes Electrónicas

0

Posted on : 31-03-2010 | By : titacgs | In : Artes Electrónicas | Tags:

Con este post estreno la categoría “Artes Electrónicas” que de ahora en adelante figurará en este blog, con la intención de crear un espacio para mostrar los proyectos elaborados y avances de los mismos durante la cursada de la maestría, la cual es una de las tantas propuestas académicas que ofrece la Universidad Nacional Tres de Febrero en la ciudad de Buenos Aires, Argentina y tiene una duración de 2 años, dividida en 4 cuatrimestre.

Al finalizar cada uno de los cuatrimestre se deberá llevar a cabo una obra que girará en torno a un eje específico y deberá ser presentado en un formato determinado, estos ejercicios proporcionaran las herramientas necesarias para la creación de la obra final que marca la culminación de la carrera.

Para mayor información sobre el programa de estudio pueden visitar el sitio principal.

Ezeiza

1

Posted on : 07-03-2010 | By : titacgs | In : Uncategorized | Tags: , , ,



Ezeiza

Originally uploaded by wtf.titacgs

Integrando mi cuenta en flickr con mi blog :)

Apostillar documentos

1

Posted on : 05-03-2010 | By : titacgs | In : Uncategorized | Tags: , ,

Primero, ¿que es Apostillar?

A través de la denominada Apostilla de la Haya un país firmante del Convenio de la Haya reconoce la eficacia jurídica de un documento público emitido en otro país firmante de dicho Convenio.

El trámite de legalización única -denominada apostilla- consiste en colocar sobre el propio documento público una apostilla o anotación que certificará la autenticidad de los documentos públicos expedidos en otro país. Los países firmantes del XII Convenio de la Conferencia de La Haya de Derecho Internacional Privado de 5 de octubre de 1961 reconocen por consiguiente la autenticidad de los documentos que se han expedido en otros países y llevan la apostilla.

Para apostillar documentos en Venezuela debe dirigirse al Ministerio de Relaciones Exteriores, previamente cada uno de los documentos debe ser legalizado en el ministerio que corresponda.

En el caso de las partidas de nacimiento, primero debe pasar por el Ministerio del Poder Popular para Relaciones Interiores y Justicia para legalizarla. Son recibidas de en el turno de la mañana de 8:30 am hasta las 11.30 am y debe realizar un deposito el equivalente a 0.4 UT por cada documento a legalizar. Los documentos se retiran al siguiente día por la tarde.

Las notas certificadas de pregrado se deben legalizar ante el Ministerio del Poder Popular para la Educación Superior. Son recibidas en el turno de la mañana de 8:30 am hasta las 11.30 am y se deben comprar 28BsF. en estampillas, las cuales puede adquirir allí mismo. Los documentos se retiran al siguiente día por la tarde.

Una vez legalizado cada uno de los documentos, pueden ser apostillados. El Ministerio de Relaciones Exteriores los recibe en el turno de la mañana, repartiendo un máximo de 240 para titulares (familiares directos pueden presentar los documentos) y 60 para no titulares (deben presentar un poder). Se debe realizar un deposito por cada documento el equivalente a 0.4 UT los documentos se retiran al siguiente día por la tarde.

Django+ReportLab

2

Posted on : 30-01-2010 | By : titacgs | In : Code | Tags: , ,

ReportLab es una librería para ‘dibujar’ PDFs escrita en Python. Con ella se pueden generar una gran cantidad de objetos como párrafos, tablas, imágenes y gráficos. En esta oportunidad la he utilizado para generar reportes que contienen tablas para una aplicación web que desarrolle utilizando Django.

Utilizaremos la clase Table que proviene de la clase Flowable, los objetos que pertenecen a la clase Flowable pueden dividirse a lo largo de múltiples páginas. A continuación les enseño como generar una vista para crear un PDF, tomando información de una base de datos.

from django.http import HttpResponse
from reportlab.platypus import Table, TableStyle, SimpleDocTemplate
from reportlab.lib import colors

def some_view(request):
    # Creamos el objeto HttpResponse con los headers apropiados para PDF.
    response = HttpResponse(mimetype='application/pdf')
    response['Content-Disposition'] = 'attachment; filename=nombredelarchivo.pdf'

    #Creamos una lista que contendrá todos los elementos que se dibujaran en el PDF y le damos un formato predeterminado utilizando la clase SimpleDocTemplate
    elements = []
    doc = SimpleDocTemplate(response)

    #Extraemos la información de la base de datos
    data = []
    personas = Persona.objects.all()
    for p in personas:
        data.append([p.nombre,p.apellido])

    #Le pasamos la lista con los datos a la tabla, le damos color con ayuda de la clase setStyle, agregamos la tabla a la lista de elementos y finalmente construimos el PDF
    t = Table(data)
    t.setStyle(TableStyle([('GRID',(0,0),(2,personas.count()),1,colors.black),
                                   ('TEXTCOLOR',(0,0),(0,-1),colors.green)]))
    elements.append(t)
    doc.build(elements)
    return response

Newbiedoc updated to 0.8.0

1

Posted on : 14-12-2009 | By : titacgs | In : Debian | Tags: , ,

This package is a snapshot of the documentation currently being developed by the Debian NewbieDOC project. Current release is available under Debian unstable and it includes:

  • Help installing Debian GNU/Linux
  • Help installing software in Debian GNU/Linux
  • Help managing a Debian system
  • Help with network and internet
  • Help with multimedia in Debian
  • Help with printing
  • Help with programming

Banesco, Cadivi y yo

0

Posted on : 09-12-2009 | By : titacgs | In : Uncategorized | Tags: , ,

Les cuento mi situación pero en realidad yo no se a quien creerle. En el 2008 yo solicite mis dólares en efectivo y me fueron entregados por Banesco sin ningún problema. Para el 2009 volví a realizar mi solicitud en el mes de julio pero muchas cosas me parecieron extrañas.

De antemano sabía que las probabilidades de que fuese rechazada eran altas porque lo hice con 10 días de anticipación al viaje, sin embargo igual la metí a ver si corría con algo de suerte. Luego de armar mis 3 juegos de carpetas y entregarlos en Banesco, el status de la solicitud en el sistema de Cadivi nunca cambio de “Por entregar al Banco” a “Entregado” o lo que sea que le pongan. El día antes de ir a retirar los dólares en efectivo me dicen “Cadivi no te ha dado clave”, el promotor y yo llegamos a la conclusión de que fue por el corto tiempo. No importa, eso lo veía venir. Igualito me fui, confiando en el cupo de las tarjetas de crédito, se portaron bien a pesar de que tenia un limite diario de consumo no mayor a 300-400 euros.

Para noviembre de este año, tenía pensado viajar al exterior de nuevo pero dependía de mi cupo en efectivo porque ya había consumido todo mi cupo en las tarjetas. Cuando entro al sitio de Cadivi, me encuentro con mi solicitud anterior con el estado “Por entregar al banco”, ¿que hago? fue lo que pensé en ese instante, lo mas lógico era eliminarla y generar una nueva pero el sistema no lo permite, entonces la modifique y llene el formulario con los nuevos datos. Fui a Banesco a entregar mis carpeticas y la promotora se da cuenta de que era una solicitud modificada e incluso me dice la razón por la cual fue rechazada la primera vez. Según faltaba una firma en una de las hojas, yo soy despistada, lo se! pero estoy segura de que firme todas y cada una de esas hojas!! en fin… La promotora me dice que hubiese sido mejor haber eliminado esa solicitud y crear una nueva, pero que no importaba porque así como la entregue entraba en “Reparo” y lo único malo es que se podría tardar un poquito mas. “Dale así” fue lo que le dije, porque como todos sabemos, los bancos te aceptan las solicitudes exactamente 22 días hábiles antes de irte de viaje y el sistema de cadivi solo te deja ingresar ciertos días según el terminal de la cédula.

De nuevo, la solicitud nunca cambio de estado, aún mantenía el “Por entregar al banco”, al acercarse los últimos días fui al banco para que me dieran respuesta de si fue aprobada o no, la solicitud no fue aprobada y no me pude ir de viaje. Le pregunte porque la negaron esta vez y la promotora no me supo dar respuesta, luego hable con otra, quien. al igual que la que recibió la solicitud, me mostró la pantalla del sistema de banesco donde aparecía que ambos intentos fueron rechazados y me dijo que tenia que pedir a cadivi que me anulara esa solicitud porque ya había sido rechazada 2 veces.

Luego de que ella en 2 oportunidades y yo, a través del sistema en linea, pedimos la anulación de la solicitud, cadivi siempre respondió que no se podía, que enviara la solicitud al banco y que no importaba que se modificaran los datos, que no habría problema. Hable con otros promotores y todos tenían su propia versión de como hacer las cosas para una próxima oportunidad. Deje eso así porque ya me tenia cansada, pasé mi semana de rabia por no poder irme de viaje (porque tampoco conseguí dólares en el mercado negro) y seguí con mi vida.

La semana pasada tuve la oportunidad de ir a Caracas y pasé por la oficina principal de Cadivi, la respuesta (de 2 personas que trabajan allí) fue muy simple “El banco nunca introdujo tu solicitud” quedé anonadada, incluso le comente que me mostraban la pantalla donde decía que las solicitudes fueron anuladas y me respondían “no se que te están mostrando de verdad, pero aquí en nuestro sistema aparece que aún no has entregado esa solicitud” y miles de preguntas comenzaron a surgir en mi cabeza ¿Como es posible que en 2 oportunidades, 2 agencias de un banco decida no introducir la solicitud? ¿Ya no es solo el gobierno quien controla cuanto puedo gastar, sino que ademas el banco también decide?… Pregunte que debía hacer en una próxima oportunidad, me dijeron lo mismo, modifica y envía de nuevo tu solicitud.

En realidad todos tienen sus razones para no otorgar divisas por la cantidad de problemas que han surgido en torno al tema pero de verdad que es injusto todo lo que esta pasando, no poder disponer de tu dinero, la cantidad de tiempo y recursos que uno pierde haciendo estos tramites, los malos tratos que uno recibe por parte de las personas que te atienden, uno en medio como una pelota de ping pong, en fin… ya me da fatiga la situación, para la próxima o hago el tramite por un banco de estos del gobierno (que no se si será mejor o peor) o mejor me busco a un “amigo” promotor para que de verdad verdad me reciba y procese la solicitud y que no me monte un teatro y le doy algo “pa’ los frescos”.

Mejor no…

4

Posted on : 01-12-2009 | By : titacgs | In : Uncategorized | Tags:

¿Por donde comienzo a buscarte? ni en mi memoria, ni en mis recuerdos estas, allí no quedan mas que 3 bolívares y muchos céntimos. Tampoco en mis sueños, pues no se si algún día te harás realidad. ¿Será que te busco en este segundo, en este minuto, en esta hora, en este lugar?. Mejor no te busco, de esa forma puedo andar tranquilamente y disfrutar del paisaje, comprar algo de tomar con los 3 bolívares y pico que guardo, buscar un lugarcito donde tomar el sol, leer un libro, escuchar los distintos sonidos de mi alrededor y luego continuar caminando a lo largo de la avenida. Quizás en algún punto, seas tu quien me encuentre.

Lo que he leído esta semana

0

Posted on : 29-11-2009 | By : titacgs | In : Uncategorized | Tags: , , ,

10 things you must do before a new site or blog launch: algunas cosas que debemos recordar a la hora de poner un sitio en funcionamiento.

Mininova deletes all illegal torrents: Esta semana Mininova decidió remover todos los torrents que infrinjan derechos de autor. En la noticia explican el porque se tomó esta decisión.

To grid or not to grid: los pro y contra de utilizar grids en el diseño de páginas web.

How to create the perfect cliente questionnaire: una de las mas importantes tareas a la hora de trabajar con un cliente es obtener la mayor cantidad información útil, en el articulo aparecen consejos sobre como elaborar y estructurar un cuestionario.