Author Archives: Juliana Peña

Juliana Peña

Colombian Computer Science student in Mexico. Aspiring researcher and game developer. Fan of movies, literature, comics and video games.

Arduino & Python Soundlight Spectrum

Continuing with my initial Soundlight project, I have modified the code to produce six distinct lights depending on the frequency of the music! Why six? Well, that’s the limit of the Arduino’s PWM (analog out) pins, so that’s as much as you can get with a single Arduino Uno. It works by using Fast Fourier Transforms to analyze the sound frequencies and find how much sound is coming out from each frequency range (special shout out to Luis for helping me understand this beautiful math!)

Here’s a quick demo video:

Here is the Arduino code for receiving the serial data and changing the lights:

Here is the Python code that does all the heavy processing and Fast Fourier Transforms:

And finally, here’s how to wire it all up:
Arduino Soundlight Diagram

 

Memechat: Use ragefaces and memes in Gmail and Facebook chat

Memechat on GmailMemechat on Faceboook

Have you ever wanted to use ragefaces or memes like Forever Alone Guy or Philosoraptor in Gmail or Facebook Chat? Well now you can! Using my super handy Chrome extension, just type ra.ge/[keyword] in your chat and the extension will automagically convert it to an image.

Examples include ra.ge/forever (forever alone), ra.ge/praptor (philosoraptor), ra.ge/fu (classic f7u12), and ra.ge/megusta (ME GUSTA face). For the whole list, visit http://bit.ly/allrages and http://bit.ly/allmemekeys

Note: Both users will need to have the extension installed to see the rage faces and memes.

Get Memechat at the Chrome Webstore

Open source! Grab the code at GitHub. Based on the Facebook rage face extension by josePhoenix.

Arduino & Python Soundlight

I’ve built a shiny little Python program that will monitor your computer’s sound via the sound card’s stereo mix feature and send the volume level to an Arduino to change an LED’s brightness.

The code is available on Github and is embedded below. Many thanks to Luis for helping me find the right math to make this look best :D

APPLE, Y U NO SHUT UP AND TAKE MY MONEY

Warning: Rant ahead.

TL;DR: Tried to buy an in-app purchase for an iPad app. Despite having two iTunes accounts, two banks, and two PayPal accounts and trying numerous combinations of these, I have yet to be successful.

Y U NO SHUT UP AND TAKE MY MONEY

OK, a bit of background: I’m Colombian, I’ve worked in the US, and right now I’m living in Mexico. I have three bank accounts, one for each country, each with its own debit card. I mainly use my US account for online purchases.

Late today, I got the sudden urge to buy an in-app purchase from an iPad app (it’s a Go book). Ever since I’ve had an iTunes account, I’ve always used prepaid cards to buy stuff, but my iTunes balance was MXN$26 and the book costs MXN$60 (US$5). So I though, “Hey, I’ll just add my card to my account so I can buy this awesome book” .

I added my US debit card, but my Mexican iTunes account instantly rejected it, saying that it’s not a valid Mexican card depite it having a billing address in Mexico. Bummer, I though. But then I remembered I had a Mexican debit card too. I added that one, and it worked fine until I tried to purchase the book, when my iPad yelled that the payment was rejected.

I wasn’t giving up that easily. I also have a US iTunes account, which I use to download the occasional free app that is only released in the US (Bing, I’m looking at you!!). So I decided to try my luck: I logged into that account, tried to add my card, and then was rejected because of an (obviously) invalid address.

Then I remembered that Apple accepts PayPal for US iTunes accounts. For some reason, the option to add a PayPal account wasn’t on the iPad, so I opened up iTunes on my PC and tried to add it there. I also have two PayPal accounts, one in the US and another in Mexico. I logged in to my Mexican PayPal, which is my main account, and approved the iTunes authorization. iTunes instantly rejected it because the PayPal account wasn’t from the US.

I tried again with my US PayPal account, but it was rejected because of lack of a funding source. So I go to my account settings to add my card to the PayPal account, and PayPal won’t accept it because the card is already associated with another PayPal account, my Mexican account. So I logged out of my US PayPal, logged into my Mexican PayPal, deleted my card, logged back into my US PayPal and add it. Finally, iTunes was happy and my PayPal account was added to my Apple ID.

After all that mess, I tried to purchase the book again, only to find out the reason PayPal isn’t available as an option in the iPad: you can’t buy apps or in-app purchases with PayPal.

At this point, I was infuriated. Any normal person would have given up. But I tried once more.

After searching for a while, I found out that Walmart sells iTunes gift card for instant e-mail delivery. So I though, “what the heck, one last try won’t hurt”. I try buy the card, only to be greeted with yet another US-only billing option. Thankfully, Walmart accepts PayPal, and thanks to that last step, my US PayPal was all set up for purchases.

I purchased the gift card and waited patiently for the one hour Walmart says it takes to complete the order. After one hour, the order was still processing. After two hours, nothing had changed. I cancelled the order and Walmart instantly refunded me.

Now I gave up.

This is infuriating. I have the money to buy something but Apple won’t take it. The main problems here are:

  1. Apple won’t accept international debit cards, even if they have local billing addresses.
  2. Apple won’t accept local debit cards if they have international billing addresses.
  3. Apple rejects payment from a local debit card that I’ve previously used to buy online elsewhere.
  4. Apple won’t allow PayPal payments for iPad apps and in-app purchases.

These are the same payment methods I’ve used on Steam, Amazon, eBay, and the Windows Phone Marketplace, among others. I find it amazing that Apple has such a hard time taking my money.

Tomorrow I’ll probably go buy a physical iTunes gift card at a corner store, because Apple has given me no other choice but to spend MXN$200 when I only need MXN$34. But then again, maybe by tomorrow the urge to buy that book will be long gone.

Updating the badge in a Windows 8 JavaScript App

Windows 8 apps can have notification badges in the tiles. It’s easy to update the badge, but it’s still not well documented, so here is a small snippet to show you how it’s done:

var Notifications = Windows.UI.Notifications;
var updater = Notifications.BadgeUpdateManager.createBadgeUpdaterForApplication();
var xml = Notifications.BadgeUpdateManager.getTemplateContent(
    Notifications.BadgeTemplateType.badgeNumber
);

xml.getElementsByTagName('badge')[0].setAttribute('value', 5);

var notification = Notifications.BadgeNotification(xml);
updater.update(notification);

Replace the 5 in line 7 with the number of your choice. The end result looks like this:

Badge update example

More info on badge updates is available in the Windows.UI.Notifications namespace of the WinRT and the Badge Update XML Schema.

Gchat now available in the Marketplace!

screen1 screen4 screen5

Gchat, the awesome Google Talk client Luis and I built for Windows Phone, is now available in the Marketplace! We’ve been working on it for a long time and we’d love to know what you think.

Click the button below to go to the Marketplace now and download it!

Download Gchat

We hope you enjoy using Gchat! If you find a bug or want to suggest a new feature, please report it.

StickyTiles: A Windows Phone app to pin sticky notes!

chromescreen1chromescreen2chromescreen3

StickyTiles is a simple Windows Phone Mango app that lets you pin short sticky notes to your start screen! Choose text, color, and back side of the sticky tile. Pin all the sticky tiles you want.

StickyTiles is open source, fork the code at GitHub!

StickyTiles is now available in the Windows Phone Marketplace and is compatible with all Mango phones. Click the button below to download it.

Download StickyTiles

Sierpinski’s Tetrahedron!

pyr

For my Computer Graphics class we had to do Sierpinski’s Triangle in OpenGL. As optional extra credit, we could expand it to 3D. I took up the challenge, and this was the result. It’s not perfect, but it looks really cool!

As always, grab the code at Gist. Comments, forks and improvements are appreciated. :)

Microsoft viene a México, incluyendo el ITESM CEM, a reclutar; no te lo pierdas!

msflyer

Microsoft estará reclutando en varias universidades de México empezando la próxima semana!

Los invitamos a traer su resume en inglés a las sesiones informativas y quedarse a las entrevistas que seguiran a la sesión.

Las posiciones para las que estaremos entrevistando son:

  • Software Design Engineer
  • Software Design Engineer in Test
  • Program Manager

Si eres estudiante de una carrera relacionada con computación (ISC, ISE, ITC, LATI, etc) y eres de 3ero a 7mo semestre o estas estudiando una maestria o doctorado relacionado (MCC, MATI, DCC) ven a entrevistar para las posiciones de becario en la cual podras venir a Redmond, WA, EUA por 3 meses a trabajar en alguno de los proyectos de Microsoft. O si te graduaste hace menos de 1 año o estas en 8vo o 9no semestre de una carrera de tecnología, te invitamos a participar de igual manera pero para las posiciones de tiempo completo.

A continuación está el calendario de eventos. Además, hemos armado grupos de apoyo en Facebook donde puedes aclarar dudas, conseguir tips, y mucho más! Para algunos eventos aún no tengo las fechas y lugares exactos, por favor consúltalos con tu universidad.

Fecha Universidad Hora Lugar Grupo de apoyo
Lunes 29 Ago ITESM CCM 3:00pm – 7:00pm Salón 3201 Link
Martes 30 Ago IPN 10:00am – 4:00pm Auditorio CIC Link
Miércoles 31 Ago UNAM 11:00am – 5:00pm Auditorio IIMAS Link
Jueves 1 Sept ITESM CEM 11:00am – 5:00pm Aula Magna 6105 Link
Viernes 2 Sept Universidad Panaméricana 9:00am – 12:00pm Salón 37R
ITAM Campus Rio Hondo 3:00pm – 6:00pm Sala de Conferencias
Lunes 5 Sept BUAP Puebla 9:00am – 10:00am Auditorio de la Facultad de Ciencias de la Computación Link
UPAEP Puebla 11:00am – 5:00pm Salón T250
Martes 6 Sept UDLA Puebla 9:00am – 10:00am Aula Magna Ciria (3er Piso de Biblioteca)
ITESM Puebla 11:00am – 4:00pm Auditorio del Parque Tecnológico
Miércoles 7 Sept ITESM Querétaro 10:00am – 4:00pm Salón de Usos Múltiples (SUM) de Prepa Link
Jueves 8 Sept Universidad Iberoamericana, León, Guanajuato 9:00am – 12:00pm Auditorio Francisco Javier Link
CIMAT Guanajuato, Guanajuato 2:00pm – 5:00pm Auditorio CIMAT
Sept 26-30 ITESM Monterrey TBD TBD

Microsoft está reclutando a estudiantes y recién graduados en Suramérica, aplica ya!

Microsoft: World of Innovation

Microsoft está buscando estudiantes y recién graduados en Suramérica para trabajar en desarrollo de software en Redmond, WA. Estará entrevistando para posiciones de “Software Development Engineer” (Dev) y “Software Development Engineer in Test” (Test). Si te falta más de un año para graduarte, entrevistarás para internship (trabajo de verano). Si te falta menos de un año, o llevas menos de un año graduado, entrevistarás para trabajos de tiempo completo. Para aprender más sobre los trabajos disponibles, visita el sitio de Microsoft Careers.

El evento de reclutamiento se llevará a cabo en Brazil en octubre, por lo que es necesario aplicar antes del 2 de septiembre. Si eres elegido para entrevistar, Microsoft cubrirá todos los costos del viaje.

Te recomiendo revises los documentos relevantes se encuentran en esta carpeta de SkyDrive. Ahí encontrarás:

  • Job description y flyer para el evento en Brazil
  • Resume de ejemplo
  • Flyers de eventos anteriores, con problemas de programación

Puedes aplicar siguiendo estas instrucciones:

HOW TO APPLY:

1) Go to www.microsoft.com/university

2) Click on “Learn More” in the University box

3) Click on “Explore the possibilities” button (either Full-time or Internships) on the right side of page

4) Highlight the career category of interest (Software & Hardware Development), Click on “Apply Now” button

5) Follow the next steps and complete your personal information

Para prepararte para las entrevisas, recomiendo que leas el libro Programming Interviews Exposed. Las entrevistas suelen ser muy técnicas. Recuerda que todo (resume, entrevistas, etc) es en inglés.

Cualquier pregunta, házmela saber en los comentarios o escríbeme a ms@julianapena.com .