Jan 29, 2012

Alejandro Pérez

Alejandro Pérez
moving to linux feed

Floss Parking Enero 2012

Floss Pa, group meets once a month on an activity call floss parking, this month we meet at New York Bagels Coffe, this is an unformal event, and there is no specific topics, however this time we had some topics on the agenda, Flisol, SOPA and all other freedom restriction initiatives, the first developing project for floss-pa community was part of the agenda.

On Flisol we share previous experiences organizing Flisol Panama, this year Panama city leader will be one of our own Abdel "Potty" Martinez.

SOPA, PIPA and ACTA was a topic that has rise lots of concerns, and patents trolls.

Floss-pa first software project took more time on the talk,  David Narvaez will lead the group and you will soon start reading more details about it, as we organize and start coding, but some code samples are already been done.

It also was an opportunity to meet face to face to python community, that will be starting small project on their own.


The rest of the time we share and enjoy, good coffee, burgers and more.


Jan 26, 2012

Alejandro Pérez

Alejandro Pérez
moving to linux feed

On the must read list.

One of my friends David Narvaez, a founder member of floss-pa.org,  has wrote an article about SOPA, PIPA, ACTA and all other legislation around and to come, to deal with piracy, or at least try.

On his article title  Electrocuting Modern Elephants he take Tomas Alba Edison, and his battle versus AC, back when electricity was the new technology, as sample of what old traditional business model  are trying to do, to keep a live promoting this laws.

Definitive an article on the must read list.



Alejandro Pérez

Alejandro Pérez
moving to linux feed

Panama 2012 activities

2011 was a great year, full with floss activities, this year, floss-pa community and Fedora community, is planning to participate on all mayor Panamanian floss activities and FudCon Margarita.

This is the schedule for mayor floss activities on Panama this year.

Document Freedom Day Mach 28 2012

Azuero Campus Party 30 & 31 de March 2012
http://congreso.ls.utp.ac.pa/csp2012/

FLISOL   21 de April 2012

Fedora 17 Release Party  May 26 2012

Linux Day August 27 2012

Software Freedom Day September 14  2012




Drupal Camp Centro America October 11-13 2012

Fedora 18 Release Party November 24 2012

We are planning to have other additional activities, plus talks and Fedora boots to any activity we are invited.

Will keep you posted as we reach each one of those dates.


Jan 23, 2012

Fedora Panama: Empacando en Fedora

Jan 19, 2012

Como usar AjaxPro con JQuery

En uno de mis proyectos tengo configurado AjaPro con ASP.Net, ya es tiempo de actualizar dicho código, pues tiene más de tres años, así que me dí a la tarea de configurar la versión más reciente que pudiera encontrar de AjaxPro y JQuery.

Requerimientos:
  • AjaxPro: el proyecto está un poco descuidado y en su sitio en codeplex, el autor no ha hecho actualizaciones desde el 2009. La última versión estable es la 9.2.17.1 al momento de redactar este post.
  • JQuery: la versión más reciente al momento es la 1.7.1
  • ASP.Net (.Net Framework): Estoy usando la versión 3.5 del .net framework para este proyecto.

Pasos para usar AjaxPro con JQuery en ASP.Net:
1. Descargamos AjaxPro desde aquí, los descomprimimos y lo agregamos al proyecto ASP.Net.

2. Creamos una clase sensilla para probar por ejemplo las siguiente:



3. Creamos una pagina aspx para probar que lo anterior funciona bien, a continuación un ejemplo:

 Nota: estoy usando head.js para cargar jquery.

Si todo está bien, deberemos ver una alerta mostrando el mensaje "Hello World!".


Algunas páginas que consulté y me ayudaron a hacer funcionar todo son esta y esta otra.
Les recomiendo también el siguiente enlace, donde pueden ver las características principales de AjaxPro y por supuesto el sitio de jquery.

Hasta la próxima.

Jan 18, 2012

Greer Murray

Greer Murray
Greer feed

Rechazo a la ley SOPA

Con esta entrada expreso mi rechazo a la ley SOPA (Stop Online Piracy Act), que no solo afecta a los Estados Unidos de América , sino a todo el mundo! Para más información visite: http://es.wikipedia.org/wiki/Stop_Online_Piracy_Act

Jan 12, 2012

Metodos de extension en C#

Hace algún tiempo que vengo trabajando con C# y he visto algo que en mi opinión es bastante útil y se llama métodos de extensión. Por medio de estos métodos podemos hacer algo como lo que ofrece Ruby y extender las interfaces de las clases que vienen incluidas como parte del .Net framework.

Veamos algunos ejemplos donde esto puede ser útil.
1. Extendiendo linq, supongamos que queremos calcular el hash de una cadena, podemos definir un método de la siguiente forma para obtener el hash md5


2.  Leer los AppSettings (xml) de una aplicación.


¿Qué hay de malo con los ejemplos?
Como estos son ejemplos simples no mucho en realidad, pero en ejemplo 1 se podría reusar la lógica de conversión de byte a hexadecimal y en el ejemplo 2 en todos lados donde se use la función GetAppSetting debemos saber exactamente que cadena hay que pasar como parámetro para obtener el setting deseado y si por si acaso alguien escribe mal la llave (key) la aplicación fallará pues la función GetAppSetting retornará null.

Pues bien mejoremos el código
Voy a crear una sola clase con mis métodos de extensión, sin embargo ustedes pueden separar todo en varias clases según sea necesario.

Nota: Del ejemplo anterior pueden ver que tengo una clase y un enum definidos. La clase define los métodos de extensión mientras que el enum es usado para simplificar el código de acceso a las configuraciones, veamos como quedan las las funciones que vimos antes:

Ejemplo 1:

Nota: Como pueden ver aquí, la función en si misma se hace más simple y de ahora en adelante donde sea que tengamos una instancia de IEnumerable podemos llamar al método ToHexString .
Muchas cosas puede usarse como instancias de IEnumerable, un arreglo, una lista, una colección (ICollection), etc.

Ejemplo 2:

Nota:  Ahora en la función delegamos el acceso a los AppSettings a nuestro enum, de esta forma existe un solo lugar donde se leen los mismo y eliminamos la necesidad de mantener una cadena o una constante  aparte solo para el nombre de una configuración. Ademas con esta solución podemos usar el autocompletado de nuestro IDE favorito.

Jan 11, 2012

Administrando e investigando problemas en ubuntu one

Tratando de hacer que una pc sincronice varios archivos con Ubuntu One (U1) me topé con problemas, los archivos no se estaban cargando, por lo que decidí buscar una forma de vigilar el trabajo de sincronización y ver la causa del problema.

Despues de buscar un rato encontré en askubuntu un par páginas con información muy útil:
  1. http://askubuntu.com/questions/16592/how-can-i-tell-whether-ubuntu-one-file-sync-is-working-and-what-progress-it-is
  2. http://askubuntu.com/questions/61471/ubuntu-one-state-still-processing-process-sleeping-not-transfer-uploads-downlo
De lo anterior me parece muy interesante que existe una herramienta para manejar U1 desde la consola llamada u1sdtool  y que los archivos de log de  U1 están en la carpeta
~/.cache/ubuntuone/log/
Para más detalles sobre como usar u1sdtool pueden consultar el manual:
man u1sdtool

Revisando el log ~/.cache/ubuntuone/log/status.log vi varios mensajes indicando que la conexión era adquirida y luego perdida. Sospecho que algo no se cargó bien, quizás como actualicé la pc el servicio de  U1 necesita reiniciarse:
u1sdtool --quit
u1sdtool --start

Luego ejecuté el siguiente comando para ver el estatus de U1:
u1sdtool --status
Del comando anterior veo una respuesta parecida a los siguiente,  que indica que todo funciona correctamente :
State: QUEUE_MANAGER
    connection: With User With Network
    description: processing the commands pool
    is_connected: True
    is_error: False
    is_online: True
    queues: WORKING
Y revisando el archivo ~/.cache/ubuntuone/log/status.log veo el siguiente mensaje:
2012-01-11 10:48:21,814 - ubuntuone.status - DEBUG - notification shown: «PICT0127.JPG» y 3513 archivos más se se están subiendo a su nube personal.
En ell archivo ~/.cache/ubuntuone/log/syncdaemon.log podemos ver con más detalle el progreso de la sincronización

Ahora sí todo funciona como debería.

Espero que esto les sirva de algo si tienen problemas con su U1 en algún momento.

Hasta la próxima.

Dec 30, 2011

Jose Antonio Gonzalez

Jose Antonio Gonzalez
JOSE ANTONIO GONZALEZ BUSTAVINO feed

GPS Social para tu movil.

Mi opinion : Lo he usado y esta buenisimo ya que todos colaboramos con la informacion ademas que se puede ver en la computadora antes de salir http://es.waze.com/livemap/ Se que hay otras mas para descargar para todas las plataformas pero esta me encanta. Waze es una aplicación móvil gratuita que permite a la gran comunidad de conductores y pasajeros colaborar unos con otros para

Dec 26, 2011

Fedora Panama: Fin de actividades del 2011

Dec 02, 2011

Jose Antonio Gonzalez

Jose Antonio Gonzalez
JOSE ANTONIO GONZALEZ BUSTAVINO feed

Portabilidad Numérica en Panamá

Desde el 29 de noviembre esta es una palabra de uso frecuente en Panamá debido a la implementacion por parte de la ASEP y los operadores móviles del sistema de portabilidad numérica que ademas beneficia a las lineas de telefonía fija a partir de febrero. en Centroamérica somos el primer país en implementar esta tecnología, el sexto en Latinoamérica y el octavo en el continente americano. bueno

Nov 28, 2011

Fedora Panama: Fedora 16 Release Party

Oct 27, 2011

Jose Antonio Gonzalez

Jose Antonio Gonzalez
JOSE ANTONIO GONZALEZ BUSTAVINO feed

¿Qué es Portabilidad Numérica?

<!--[if gte mso 9]> Normal 0 21 false false false MicrosoftInternetExplorer4 <![endif]--><!--[if gte mso 9]> <![endif]--><!--[if gte mso 10]> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Tabla normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:

Oct 20, 2011

Gaddiel Espinosa

Gaddiel Espinosa
Gaddiel Espinosa Weblog feed

test

test


Gaddiel Espinosa

Gaddiel Espinosa
Gaddiel Espinosa Weblog feed

Como hacer un tar remoto y traer de regreso el archivo en una sola conexión SSH (En Unix)

implemente haciendo

ssh root@[Maquina] “tar -zcfP archivo.tar.gz [AlgunDirectorio] &> /dev/null && cat archivo.tar.gz” > archivo.tar.gz

noten que desvio la salida de errores y la de output a &> /dev/null para evitar basurilla, luego simplemente hacemos

un cat en el server remoto y luego desviamos la salida estandar del comando entero de SSH en un simple archivo.

Asi nos queda de forma local un archivo tar.gz totalmente pristino


Sep 21, 2011

Gaddiel Espinosa

Gaddiel Espinosa
Gaddiel Espinosa Weblog feed

Instalación de paquetes rpm

rpm -q (me dice si este paquete ya esta instalado o no)

rpm -qa (me dice todos los paquetes que están instalados)

rpm -i (instala el paquete)

rpm -e (desinstala el paquete)

rpm -ivh (para instalar y ver el progreso)

rpm -Uvh (para instalar y actualizar el paquete)


Sep 10, 2011

GNU Panamá - Comunidad de Software Libre: Martha Stewart is a Great Resource for Decorating TIps

Sep 09, 2011

GNU Panamá - Comunidad de Software Libre: Choosing the Right Bathroom Furniture Supplies

Sep 08, 2011

GNU Panamá - Comunidad de Software Libre: Checking out Sites that Will Give you Tips on Bathroom Decor

Aug 02, 2011

David Moreno

David Moreno
Stereonaut! feed

RVM + Rake tasks on Cron jobs

RVM hates my guts. And it doesn't matter, because I hate RVM back even more. Since I was technologically raised by aging wolfs, I have strong reasons to believe that you just shouldn't have mixed versions of software on your production systems, specially, if a lot of things are poorly tested, like most of Ruby libraries, aren't backward compatible. I was raised on a world where everything worked greatly because the good folks at projects like Debian or Perl have some of the greatest QA processes of all time, hands down. So, when someone introduces a thing like RVM which not only promotes having hundreds of different versions of the same software, both on development, testing and production environments, but also encourages poor quality looking back and looking forward, there isn't anything else but to lose faith in humanity.

But enough for ranting.

I had to deliver this side project that works with the Twitter API and the only requirement pretty much was that it had to be both run from the shell but also loaded as a class within a Ruby script. And so I did everything locally with my great local installation of Ruby 1.8.7. When it came the time to load on the testing/production server I found myself on a situation where pathetic RVM was installed. After spending hours trying to accommodate my changes to run properly with Ruby 1.9.2, I set up a cron job using crontab to run my shit every now and then. And the shit wasn't even running properly. Basically, my crontab line looked something like this:

*/30 * * * * cd /home/david/myproject &amp;&amp; rake awesome_task

And that was failing, crontab was returning some crazy shit like "Ruby and/or RubyGems cannot find the rake gem". Seriously? Then I thought, well, maybe my environment needs to be loaded and whatever, so I made a bash script with something like this:

#!/bin/bash
cd /home/david/myproject
/full/path/to/rvm/bin/rake -f Rakefile awesome_task

And that was still failing with the same error. So after trying to find out how cron jobs and crontab load Bash source files, I took a look at how Debian starts its shell upon login. And while that didn't tell me that much that I didn't know, I went to look at the system-wide /etc/profile and found a gem, a wonderful directory /etc/profile.d/ where a single shitty file was sitting, smiling back at me, like waiting for me to find it out and swear on all problems in life: rvm.sh. /etc/profile is not being loaded when I just run /bin/bash by my crappy script, only when I log in, I should've known this. Doesn't RVM solve the issue of having system-wide installations so the user doesn't have to deal with, you know, anything outside of his own /home ?

So I had to go ahead and do:

#!/bin/bash
source /etc/profile
cd /home/david/myproject
/full/path/to/rvm/bin/rake -f Rakefile awesome_task

And hours later I was able to continue with work. Maybe this will help some poor bastard like myself on similar situation on the future.

Of course one can argue that I could've installed my own RVM and its Ruby versions, but why, oh why, if it was, apparently, already there. Why would I have to fiddle with the Ruby installations if all I want is get my shit done and head to City Bakery where I can spend that money I just earned on chocolate cookies? My work is pretty simple to run with pretty much any ancient version of Ruby, nothing fancy (unless you call MongoMapper fancy). RVM is a great project that doesn't solve an issue, but just hides some really fucked up shit on the Ruby community.

Jul 01, 2011

David Moreno

David Moreno
Stereonaut! feed

DebConf 11

Last year, I had all the intention in the world to go to Bosnia and Herzegovina this summer to attend DebConf 11, but given my non-existent involvement on the project for the last couple of years, there's no reason for me to do it. Even last year when the event was held in town, I was not entirely thrilled about it. Life has changed quite a bit in the last few years, allowing me to just find and allocate my priorities on their right places.

I hope everybody attending have a great time and snap lots of photos for me to see and regret not being there.

Jun 23, 2011

Aristides Villareal

Aristides Villareal
avbravoubuntu feed

Archivos temporales de google chrome en ubuntu


Google Chrome /home/tu-usuario/.cache/google-chrome/cache
Chromium /home/tu-usuario/.cache/chromium/cache
Mozilla Firefox /home/tu-usuario/.mozilla/firefox/xxxxdefault/cache

Nokia C3-00

Este es un pequeño post para aquellos que han recibido las actualizaciones de firmware V8.63 en el simple pero flamante Nokia C3-00 en Latinoamerica.

Les traigo unas sugerencias para que no lloren lagrimas de sangre despues del upgrade o mejor dicho antes...


--aprendanze la configuracion de su compañia de servicio de internet movil (o data como vulgarmente decimos).

-- copien sus contactos en el SIM no en el telefono y los datos de fotos y videos copienlos a las memorias externas (estas no se afectan).

-- la copia de respaldo de aplicaciones es por gusto, asi que no desesperen por eso.

-- al terminar el upgrade verificar fecha y hora correcta en el celular.. sino empezaran a sudar frio y muy frio porque no podrán actualizar algunos servicios y menos usar el Opera Mini por mas nueva versión que bajen..

-- la opción de Messenger directa en la pantalla desaparece pero, podemos tener un botos de acceso directo ya que permanece oculta en mensajes, así que puede seguir utilizando sin problemas.

Si siquen estos pasos no tendran nada que preocuparse..

Jun 22, 2011

Aristides Villareal

Aristides Villareal
avbravoubuntu feed

lista de paquetes instalados

Fuente:
http://www.guia-ubuntu.org/index.php?title=Recuperar_lista_de_paquetes_instalados

dpkg --get-selections | grep -v deinstall > ubuntu-files
Ésto nos genera un archivo llamado ubuntu-files, el cual contiene la lista que deseamos.
Para luego instalar todos estos paquetes en las otras máquinas, bastará con llevarnos este fichero a dichas máquinas y ejecutar:
sudo apt-get update
sudo apt-get dist-upgrade
sudo dpkg --set-selections < ubuntu-files
sudo dselect install
Ya tenemos una nueva máquina que tiene una réplica exacta de la instalación de la máquina plantilla.
Nota: Si te aparece que el comando dselect no se encuentra, instala el programa con
sudo apt-get install dselect
Aristides Villareal

Aristides Villareal
avbravoubuntu feed

Ver informacion del hardware

sudo apt-get install sysinfo

May 10, 2011

Ekiga - Alternativa a Skype

Como ya muchos hemos de saber gracias al poder de las redes sociales ya hemos de saber de que Skype es parte ahora de Microsoft.. entonces que hacer aquellos usuarios de aplicaciones de libres si de lo mas seguro esta aplicacion para GNu/Linux quizas sea elimianda.. pues la alternativa se llama Ekiga un software de VoIP muy funcional y nada que envidiarle a Skype -- se encuentra en los repositorios de casi todas - sino todas - las distribuciones Gnu/Linux.

Pues... aqui como instalarlo para sus respectivas distros segun el Wiki de Ekiga
y para los de Windows aqui donde descargalo para su Sistema Operativo y poder seguir en contacto con los usuario GNu/Linux..

saludos a todos..

PD --> Imagen de Ekiga.org

May 06, 2011

IceDove

Si Iceweasel es la version puritana de Firefox - iceDove es el de Thunderbird y pues como lo instalo en mi flamante debian squeeze.. pues es facil -- la version 3.0 es la que se encuentra en repositorio y usamos la siguiente linea de comando:
aptitude install icedove
pero en el caso de querer la version mas reciente la 3.1 deberemos agregar la siguiente linea en su sources.list:
deb http://mozilla.debian.net/ squeeze-backports icedove-3.1
posteriormente escribir en nuestra terminal: wget -O- -q http://mozilla.debian.net/archive.asc | gpg --import && aptitude update && aptitude install -t squeeze-backports icedove y listo... tendremos tranquilamente IceDove en nuestra distribucion..
saludos..

Fuente

Mar 24, 2011

David Moreno

David Moreno
Stereonaut! feed

Disable Nginx logging

This is something that is specified clearly on the Nginx manual, but it's nice to have it as a quick reference.

The access_log and error_log directives on Nginx are on separate modules (HTTP Log and Core modules respectively) and they don't behave the same way when all you want is to disable all logging on your server (in our case, we serve a gazillion static files and perform a lot of reverse proxying and we're not interested on tracking that). It's a common misconception that you can set error_log to off, because that's how you disable access_log (if you do that, the server will still log to the file $nginx_path/off). Instead, you have to set error_log to log to the always mighty black hole /dev/null using the highest level for logging (which triggers the fewest events), crit:

http {
  server {
    # ...
    access_log off;
    error_log /dev/null crit;
    # ...
  }
  #...
}

If you're the possessor of the blingest of bling-bling, you can disable all logging (not only for a server block), by putting error_log on the root of the configuration and access_log within your http block and make sure you don't override that on any of the inner blocks. And you're good to go.

Mar 23, 2011

Greer Murray

Greer Murray
Greer feed

Múltiples parámetros usando jQuery UI para autocompletar / Multiple parameters using jQuery UI for Autocomplete

Hoy nuevamente con un nuevo reto… En un formulario web en el cual estoy trabajando, se me presento un requerimiento, el cual se necesitaba que en los campos <input/> de dicho formulario web, se Autocompletaran y acotaran con datos jalados de una base de datos MySQL. Hasta aqui no hay problemas, decidi usar jQuery para [...]

Mar 15, 2011

Greer Murray

Greer Murray
Greer feed

Subconsulta en MySQL

Hace un par de días, se me presento un “problema” tenia que hacer un reporte con datos de una base de datos MySQL. En el reporte tenia que mostrar dos consultas de dos diferentes tablas que en ocasiones están relacionadas y en ocasiones no. El asunto es que la consuta tenia que ser una sola, [...]

Feb 25, 2011

Sebastián Cervantes

Sebastián Cervantes
Notas de Mr. Shadow feed

Document Freedom Day 2011


Document Freedom Day (DFD) es un día mundial por la liberación de documentos. Será un día de esfuerzo a nivel local para educar al público sobre la importancia de Formatos de Documentos Abiertos y Estándares Abiertos en general.

Hay muchas maneras de involucrarse en el DFD 2011. Algunas de estas son:
  • Poniendo un banner en su sitio web
  • Escribiendo una entrada de blog
  • Organizando un evento en tu ciudad
  • Ayudando a la campaña financiera 
Este es el cuarto año del DFD y el primero en Panamá. Cada ultimo miércoles del mes de marzo se lleva a cabo esta importante fecha para promover el uso de Formatos de Documentos Abiertos.

En la provincia de Coclé este año la fecha será movida del 30 de marzo al 2 de abril y formará parte de las actividades previas al FLISoL.

Feb 08, 2011

Sebastián Cervantes

Sebastián Cervantes
Notas de Mr. Shadow feed

Matrix en Windows XP

Alguna vez se han preguntado que hubiera pasado si la Matrix corriera en en Windows XP??

La respuesta es esta.



Si alguien lo consigue en español o subtitulado me avisa.

Feb 07, 2011

Sebastián Cervantes

Sebastián Cervantes
Notas de Mr. Shadow feed

Humor Geek

Aquí les dejo un par de chistes Geek para liberar el estrés XD

Oiga, usted ¿Por qué no ha levantado la mano?
Porque yo no utilizo Windows.
El profesor, extrañado, preguntó de nuevo:
Vaya, y sino utilizas Windows ¿Que Sistema Operativo utilizas?
GNU/Linux. -Respondió orgulloso-
El profesor, cuyos fanáticos oídos no podían dar crédito a algo así, exclamó:
Pero hijo mío ¿qué pecado has cometido para utilizar tal basura?
El alumno, muy tranquilo, le respondió:
Mi padre es informático y usa OpenSuse, mi madre es asesora en seguridad y usa Debian Linux y mi hermano estudia Física y utiliza Linux Mandriva, por eso yo también utilizo GNU/Linux remató orgulloso y convencido-
Bueno, -replicó irritado el profesor- pero ese no es motivo para utilizar Linux. Tú no tienes porqué hacer lo que hacen tus padres. Por ejemplo, si tu madre se prostituyese y se drogase todo el día, tu padre se tocara los cojones, bebiese como un cabrón y traficase con drogas y tu hermano atracase comercios y robase a abuelitas, entonces, ¿tú qué harías?
Seguramente instalaría Windows.

Un estudiante de ingeniería en computación enseña un programa al profesor y le pregunta:
"Profesor, ¿Dónde está el error? ¿En qué parte del código?" El profesor mira el programa, luego mira fijamente al estudiante, mueve la cabeza lentamente de izquierda a derecha y dice:
"En tu ADN".

Y Dios dijo:
No es bueno para el Programador estar solo.
Y tomo un hueso del cuerpo del Programador y creo una criatura que buscaría al Programador, lo admiraría y amaría las cosas que hiciera el Programador.
Y Dios llamo a la criatura EL USUARIO.

Un ingeniero de Microsoft, uno de Intel y un programador de Linux se encuentran en el lavabo. El de Microsoft acaba primero, y a la hora de lavarse las manos lo hace a conciencia, con mucho jabón y agua, usa un montón de toallitas de papel y dice: Los de Microsoft, lo que hacemos lo hacemos bien.
El ingeniero de Intel, también se lava a conciencia, pero utiliza muy poca agua, muy poco jabón y para secarse la esquinita de una toallita de papel. Cuando acaba dice: Los de Intel, además de hacerlo bien, lo optimizamos al máximo.
El programador de Linux, sin lavarse, mira a los otros dos y dice: Los de Linux no nos meamos en las manos...

Y por ultimo un video de un tetris humano



Y como ñapa un jueguito de PONG jajaja



Espero les haya gustado