Archive for the 'teaching' Category

Visiting UCSB to talk about Virtual Reality

Tuesday, May 10th, 2016

My friend and computational geometry genius Pablo Colapinto invited me to give a talk on VR at the Media Arts and Technology Graduate Program in his alma mater UCSB. I met Pablo a while ago when visiting Colombia for a similar reason, where we quickly bonded over symmetry groups, OpenGL and cinema.

Instead of talking about what’s usually understood as Virtual Reality, I decided to talk about what Virtual Reality means to a person like me, currently working in the field within the constraints and requirements of an overly supportive yet confused and almost pathologically optimistic entertainment industry. In that context, there were three points that I wanted to make as clear as possible:

There are ways to talk to the Web that go beyond the page/scroll metaphor —imagine pulling data from the web like you pull thoughts, impressions and memories from the corners of your mind.
Immersive video matters and it requires a language of its own —memories and other sampled content are at least as important as simulations.
The web browser is today the most powerful storytelling machine —the web browser is the only platform we have today that can fully touch across all aspects of digital media.

The content of my talk will eventually be available online here.


After my presentation and the discussion that followed, I was invited by Director JoAnn Kuchera-Morin to play with their AlloSphere, and I spent the next few hours immersed inside the most spectacular stereoscopic scientific visualizations you could ever imagine. There is something about the AlloSphere that makes it incredibly effective at rendering virtual objects in space when wearing 3D glasses. You can almost touch the damn things floating around you. I took some pictures but none of them make it justice. Just like with Virtual Reality, you have to experience it yourself before you can fully understand what it is.

IML400 Spring 2015

Sunday, February 15th, 2015

The time has come to teach IML-400 at USC again, and this time around things are a little different. It is the first time I get a batch of students that had to take a prerequisite class, IML300, before they could join my class. This means I can jump ahead and make some assumptions about my students’ general knowledge that will hopefully help us move faster into the fun stuff and really take advantage of the browser as an interactive programming playground.

In addition to this, the class got split in two smaller groups of around twelve students, and I am only teaching one of these groups, while my colleague Raphael Arar is teaching the other one. When talking with Raphael about previous iterations and the future of the class, we decided to design a new Syllabus together based on my previous one, but taking into consideration Raphael’s teaching interests, the more advanced nature of this class, and aspects of the web that are a lot more mature today than they were during my previous iteration of IML400 a year ago. Specifically, I wanted students to put aside the page-based nature of the web we have today, and think about the things they can do using Web Audio and WebGL in emerging contexts like mobile WebVR for example.

I see my class not as design class, but as a creative innovation one. When thinking about new media, user interface, user interaction and user experience design are important things to understand, explore and develop as skills, but we are at a point where some design paradigms —like the page/scroll nature of the web today— have reached a degree of maturity that leaves very little room for the pure, unbiased creative experimentation that will eventually drive the emergence of fresh new media. There is so much more to the web that is coming to us.

Having a partner in crime on this teaching adventure has been the best thing ever happened to me and to this class. We are only a few weeks into the semester and Raphael and I have established a relationship where we exchange impressions about how the class is going every week, and iterate upon our teaching approach together. It’s really great to have someone to talk to at this level 😀




Tilings and Friends: Celebrating Roli

Sunday, May 18th, 2014


A few weeks ago, I received an invitation to participate in a math conference called Kaleidoscope. The purpose of this conference was to celebrate the 60th birthday of an important Mexican mathematician called Roli by gathering the people he has influenced to talk about stuff he likes.

Roli happens to be a very good friend of mine, as well as one of my all-time mentors. Together with Luis Montejano and Jorge Arocha, he introduced me to contemporary geometry, and helped me find new directions in digital art and computational design. It was a big deal for me when I was tasked to deliver the closing keynote to the event. A great honor, and a big challenge: I was expected to hold myself together for an hour in front of an audience of world-class mathematicians, and I haven’t practiced any mathematics since my days at MIT. But I have never stopped making math-inspired art, and luckily, most of the conference attendants were my friends, and there was a deep pool of shared memories I could use to weave a thread through my personal experience of mathematics, art, and Roli.

My talk, entitled Tilings and Friends, narrated the story of a thirty year old friendship centered in a passion for the intersection of art, history, and combinatorial geometry in the form of tilings and low dimensional polytopes. Here is an excerpt from my notes:

If you read the abstract of my presentation you might have realized it didn’t make a lot of sense. At best I hope it made you laugh. It was inspired by a legitimate desire to challenge traditional representations of social engagement as mere connections in a network where individuals are reduced to labeled points.

I’d like to imagine—if not propose—alternative models, that will hopefully reflect upon things like friendship in a more truthful manner. Perhaps I am naive to be saying this, but we all know there is more to friendship than a simple connection. This is why most of our friends in Facebook are not really our friends.

Friendship is a process.

The reason I’m here is the friendship relationship I have with Roli, and with a group of mathematicians that were my teachers and classmates around twenty years ago.

To honor this relationship, and especially the projection of it that finds Roli at it’s epicenter, I want to suggest a model of friendship that goes beyond combinatorics, and takes into consideration the geometry of personality.

In this model, friends are tiles that share matching edges and fill portions of the plane. A friendship starts when a set of tiles match or fit-in together, and evolves as more tiles are added to the plane.

This friendship will be compromised once the tiles reach a configuration where they fail to tile.

A number of years ago, Roli told me a story about a construction worker or “maestro mosaiquero” as one would call him in traditional Alupyecan lingo. This worker’s job was to take piles of tiles and paste them over the surface of bathroom walls. He got used to work with squares and hexagons the most, a lot of times printed with patterns that limited the ways in which the tiles could be arranged. Through years of practice, he developed a good intuition of the seventeen crystallographic groups without ever knowing of their existence.

“What will he do if we give him a box full of pentagons?” —asked Roli. Years later I proposed this same question as the basis for my final project in the Symbolic Programming class at MIT, and the professor almost offered me a PHD based on it… just a good example of the depth in Roli’s insight.

For the next half hour I am going to touch upon ideas that are connected to an aspect of Roli that is not easy to find: His everlasting desire to establish a functional creative conversation about mathematical ideas with non-mathematicians.

One of them being me.

I met Roli a little over thirty years ago because he is the cool brother of my best friend from junior high and he once took us to a soccer game in the Azteca. We were roughly twelve or thirteen years old, and I didn’t see him again until college. But I remember that day well. A gentle and quiet man, he took us back to the apartment where he lived with Irene and Felipe in Villa Olimpica, and offered us limonadas. Felipe was probably seven eights of a year old, and was wearing a home-made helmet to keep him from bumping into furniture corners. There was a big tome of the lord of the rings on a table, and a blackboard with a drawing of something I had never seen before: a mathematical graph.

If you’re still with me after all this text, you probably got the picture. My keynote went really well and the conference was a great experience, hanging out with old friends and meeting some of my heroes from back in the day, like the legendary Egon Schulte (master of the polytopes), Asia Ivic Weiss (H.S.M. Coxeter‘s last student), and the not less amazing Chaim Goodman-Strauss, who’s had his own fantastic incursions in the realm of math-art.

IML400 Spring 2014

Monday, May 12th, 2014

I just finished teaching IML400 in USC for the third time. Over the winter break I had a chance to review my Syllabus and improve it, based on a few new insights I developed at the time. The course title itself is “Creative Coding for the Web”. When I was invited to teach it I was given freedom to propose my own curriculum, so I started by deconstructing its name. The result couldn’t hit closer to home. To me, creativity, programming, and the web are three of the most important things a human of our time should care about, comic books and ice-cream being the other two. They connect rational thinking with human imagination and communication in ways that have changed our world beyond our wildest dreams. My core goals have remained the same (to encourage a design-first culture supported by programming as a new kind of literacy, and the web as the mother of all media), but my approach to introduce them as a source of inspiration to students has become more focused. Here is some of what I’ve learned:

  • Design is a lens with variable focal length. Learn design first, and you will learn to see.
  • When it comes to programming, sink or swim is the way to go.
  • When it comes to sink or swim, don’t forget to make it fun.
  • Fun is good short-term, but it burns-out fast. Long term requires a deeper kind of value.
  • Let yourself sink if you want to go deep.
  • Too much freedom is confusing. Too much direction is frustrating.
  • To be creative you need to create something. Ideas are nothing without a good execution.
  • The web is your key to the world. Own it. It will never stop changing, so you should never stop learning.
  • IML400 Spring 2013: Done

    Tuesday, May 14th, 2013

    Today I finished the second iteration of IML400 at USC. It was a delight to sit through the final project presentations and witness my students walk us through the culmination of their semester work. Most of them tried programming for the first time in my class, and managed to express themselves using javascript in the web by the end of the semester. I guess I must be doing something right.

    You can check out their projects in the IML400 website for now. I have heard the Storm server gets wiped every once in a while like other academic servers (something similar happened to us at the Media Lab PLW), but I am hoping the class work will be online for a while and you will be able to check it out.

    I am proud of most of my students’ achievements, but I’m going to point a spotlight on Alexander Swenson’s project: the SOOTHSLAYER ELECTRIC TAROT, a playful interpretation of a fortune-telling experience through the reading of a Tarot-like card deck. In his own words, he didn’t want to deliver a useful product like everyone else, where a practical approach dominated the scene. Most of the students chose to develop projects that could have some degree of professional value. Online portfolios, company websites, product websites, etc.

    Instead, Swenson focused on play, and used his newly acquired interaction design skills to craft a user interface where mystery and chance are experienced one Tarot card at a time. The website becomes the cards, the shuffle and the fortune teller. The reason for this? To make something cool.

    On the technical side, he combined RaphaelJS with jQuery in an interesting way, where interactions with his SVG based animation trigger a series of events that request and load the right card from the deck into sliding iframes, very smooth!

    Next is a sequence of snapshots from the final project defense session.







    IML400 Spring 2013 Edition

    Thursday, January 24th, 2013

    I’m teaching IML400 at USC again this Spring. So fun. I am extremely grateful that my employers at Wemo Media are letting me do this. I am sure they are aware that letting me keep a teaching front will only benefit my involvement in the company.

    The semester kicked off in an interesting way with an event featuring the recent work of two thirds of my thesis advisors from the Media Lab. Reas and NickM presented their book 10 PRINT [babble] GOTO 10 and sustained a long and interesting discussion with a bunch of other digital humanists about the digital text and other [digital] things.

    Going back to the subject of my class, I have to say I was very happy with the results I got from the Fall 2012 edition. In this page you can find links to the class websites and their final projects. Some of them are fairly interesting in terms of concept and execution —like this one and this one— and over all I believe we reached my goal of helping them learn how to learn. I feel they got to a point where we could have continued with a next semester of serious design and interactive storytelling work. Perhaps in the future I will be able to teach a season two of creative web production, but I am actually not sure I am ready to push the boat into deeper waters yet, so I will remain teaching at an intro level for a while.

    I am excited to have a cool teacher assistant this semester —Adam— a USC PhD candidate who develops awesome games and recommended me a great intro to javascript book [eloquent javascript] that will help us a lot later in the semester.

    IML400 at USC

    Thursday, October 4th, 2012

    Thanks to Desconcentrado and Lanalana, I just got an opportunity to teach at USC IML. The class, IML400, explores creativity and the web from the standpoint of new media literacies. Following some things I learned about education at MIT, and especially following this kind of great advise, I decided to inject a strong infusion of maker culture into my class recipe. In a way, I am following the strange cognitive pattern that led me to develop my own programming literacy —I do understand code, and I can express myself with it— and I am looking for ways to share the valuable bits that pushed me through the learning breakthroughs that have helped me the most. Not bad at all, and I am already having a ton of fun.

    Hopefully my students will share my excitement ^_^