Wednesday, July 23, 2014

Quotidian Rhythms & Political Frictions // You, Me & My Computer

Another talk I really enjoyed was "Quotidian Rhythms & Political Frictions" given by Brian House, a media artist whose work spans the areas of critical data practice, alternative geographies, and experimental music, among others. I loved this talk because it brought to my attention different ways of portraying data. "Data visualization" is huge right now - from innovative infographics to visual resumés to particle-filled museum installations - and dataviz was one of the main foci of the talks at Eyeo. Brian's talk was different in that it dealt largely with the sonification and musification of data; that is, understanding data in an aural rather than a visual representation. Musification was particularly interesting to me. Rather than a direct mapping of data to certain sounds or notes, this is mapping different levels or elements of data to elements of musical composition. I particularly liked hearing about his work, "Quotidian Record" in which he mapped each location in a year of his location data to a different harmonic relationship. This mapping, instead of a location-to-note mapping, is actually pleasant to listen to, instead of cacophonous. 

Some other of Brian's works that caught my attention were "Joyride", a video over the course of 5 days stitched together from Google Street View tiles of location data from a stolen iPhone ("Frankendata", he called it), and "Tanglr", a Google Chrome extension that anonymously links you to another person's browser. As you browse, your partner is taken to the same URLs you visit, and vice versa. It's nice to see some work created with a sense of humor. (:




Lauren McCarthy's talk, "You, Me & My Computer", was overall my favorite. This one struck a chord with me on a very personal level. As a former extreme introvert, I identified with all of the problems she addressed, from making new friends, to navigating relationships, to making conversation. I especially liked the idea of meaningful or successful social interactions. It brought to mind the Sims, and those little + or - signs that would pop up depending on whether an interaction went well or poorly. Having gone to a tech-oriented school (in the Computer Science department, no less) for undergrad, I was very unprepared for interaction with, for lack of a better word, "normal" people upon graduation. I found myself subconsciously generating explicit rules and coming up with algorithms for different kinds of interactions (à la Sheldon in The Big Bang Theory, for you non-techie folks), and revising these rules when an interaction would inevitably deviate from my expectations. I was quite the wallflower, even going so far as to go to social gatherings just to stand back and observe others' interactions and to see if I could glean some information from them; more data to support my hypotheses. I took as many social/personality psychology classes as I could as well, to give myself a scientific understanding upon which to base my framework of social rules. It was a pleasant surprise to find that there were other people doing the same, and making creative code social experiments out of the experience! I highly recommend checking out all of her work, as each project is fascinating in its own right, but I'll mention a few of the ones from her talk that I liked. 

Two of the projects were meant to aid conversations in progress in an attempt to make them more successful: "Conversacube" and "Relation Alterations:Table". These were actual objects inserted into a social situation, which participants then interacted with and received feedback from. Conversacube was a cube (obviously) that gave participants prompts as a conversation progressed, such as "compliment" or "agree", to keep the conversation smooth and put the control of the conversation flow in an outside entity. Similarly, the table allowed users to discreetly give feedback on their current enjoyment of their experience at the table via foot pedals. The current group satisfaction level was reflected in the color of the surface of the table. Rather than being unobtrusively in the background, as a phone or perhaps a sound system might be, these were conspicuous objects that were essential to the progression of the interaction. It was interesting to see first, how different interactions were (and perhaps more intense and personal) using these objects, and second, how these objects may have interfered with or biased the participants' actions.

Finally, the project I found most intriguing from Lauren's talk was "Social Turkers", an experiment in crowdsourced dating. This was another approach to gathering real-time feedback during interactions, but this from an objective, non-machine perspective, and from a large number of anonymous people. During the experiment, Lauren went on a series of dates with men she met on an online dating site, and crowdsourced to Amazon Mechanical Turk users the decisions as to which action she should take or what she should say next. To do this, she streamed her dates to the web in realtime and posed multiple choice questions in survey form to her turkers. I won't say too much about this one, because I think it's worth reading through the entire project.

Lauren's talk opened my eyes to the sheer breadth of creative code projects that are possible, and how code can be used in virtually any context. I loved her exploration of how technology can be used to analyze and augment interactions and make them more meaningful, rather than hinder them. More and more I notice people around me choosing virtual conversation over real, in-person, in-the-flesh interaction, as well as people using interaction through technology to, in their eyes, improve their current in person interaction. On multiple occasions, I've witnessed groups of friends together, all facing one another, and all engrossed in their phones. The questions Lauren asks in her projects are so relevant to social interaction today, especially as it relates to ubiquitous computing. 

Food for thought: is there a way to use technology, directly or indirectly, in real-time, currently occurring interactions, to improve interactions as they happen, to make them more meaningful and impactful? 


Monday, July 14, 2014

Visualizing Algorithms // Shape of My Thoughts

The very first talk I saw at Eyeo was "Visualizing Algorithms" by Mike Bostock, who is the author of D3.js, a Javascript library for dataviz that I've been working with recently. This talk covered the use of visualization to understand the way algorithms work, as well as to debug them. This is such a simple solution to those of us who are visually minded and who are trying to implement algorithms for whatever purpose, whether it be solving a math problem or coding a data structure. A good example of such an exercise would be coding a sort algorithm and sorting rows of pixels. There are a variety of great examples on Mike's website. His code samples and visualizations for sorting, shuffling (the opposite of sorting), maze generation (different kinds of traversal, which produce a tree), and the "rent vs. buy" calculator are especially helpful. This talk gave me a new perspective as to how I might approach coding problems when my usual, more mathematical/scientific approach doesn't necessarily work.


The second (and one of the most interesting and thought-provoking talks I saw) was "The Shapes of My Thoughts," given by Giorgia Lupi, information designer at Accurat. This talk described Giorgia's design process, and design in general for those who may not have formal training in the subject. I loved this talk because, as a Computer Scientist by training, I've often found myself at a disadvantage when faced with design challenges, especially in the workplace. It's hard, as an analytically minded person, to approach a problem from a design perspective, especially when the outcome of said problem is something I will eventually be programming. This talk was a great lesson in allowing my mind to problem-solve, unfettered by constraints such as tech specs, time, and resources - "YES-AND-ing," basically.

One of the first things she suggested (and really something I should have begun doing ages ago) is to learn to design and learn design concepts. We have enough resources readily available to us online, and living in LA, I definitely have a great number of resources in my friends and colleagues. There are also a number of great books available on the subject (the one I'm currently reading is Art As Experience, by John Dewey). Second, Giorgia encouraged us to find inspiration in things we aesthetically like, perhaps using a website such as Pinterest to organize my inspirations. It is helpful to redraw images in order to understand 1) their composition, and 2) what exactly we like about them and to understand our thinking. It's not necessary that we be brilliant artists; as long as the exercise helps us. We can start this inspiration hunt by finding a topic or subject we like and focusing on that.

Another suggestion she gave was to separate macro- and micro- structure, and to design for these separately. After designing at the macro level, we can then refine the structure of the visualization and introduce a level of abstraction to elaborate on our original inspiration. The macro level should be the architecture of the data. We can do this by drawing to explore overall shapes and compositions, even without a specific project or dataset in mind. (One might think of this as a brainstorming session between the head and the hand.)

In order to continue my design education, I've bought a sketchbook and plan to create a Pinterest board of inspirations. I've also got a few design books on their way to me. I'm looking forward to future brainstorming sessions!


Thursday, June 19, 2014

Eyeo Festival 2014!

A few months into my current project with Mirada, David, the lead programmer on my project, told me about an art, design, and code conference in Minneapolis that I should consider attending, called “Eyeo Festival”. I visited the website and thought it looked neat, so I went ahead and bought one of the passes when they went on sale. I didn't think too much about it for the next four or five months, up until I was checking into my hotel room in Minneapolis the day the conference began.


Wow. From the beginning of the first keynote of the opening ceremony Tuesday night, up until the end of the closing party Friday night, I was blown away by how encouraging, friendly, and open an environment this was. There was so much collaboration between artists/designers/creative coders from all industries, and so much YES-AND-ing.

I saw a great variety of innovative creative coding projects, from apps to interactive installations to creative code/performance art hybrid pieces, and beyond. Every talk I went to, every person I met or spoke with, inspired me or changed my perspective in some way. Over the next few posts, I'll discuss some of my favorite talks and the resulting thoughts and ideas I've had.

Eyeo was by far one of the most eye-opening, stimulating, and enlightening experiences I've had. There are not enough words to describe how much I enjoyed this amazing conference, and I'm excited to see what they'll have in store next year!

Wednesday, June 4, 2014

Life Update!

Wow, I didn't realize it had been so long since my last update...

Since we last spoke, blog, I have been to Turkey, to Greece, and back, and begun a new job as a programmer/creative coder at Mirada Studios in Los Angeles. I was fortunate enough to be able to stay on the Westside where I lived and worked previously, and have spent the last eight months working on a super-secret and super fun data viz installation project for Mirada's Special Projects team! I have learned an immense amount since I've begun. I am working with a really smart, creative group of people who continue to inspire me every day, and I'm looking forward to learning even more as I finish out the project this year.

I've also, for the past 5 weeks, been teaching an introductory programming course to 11-17 year-olds in Processing at Digital Dragon. The kids are all really smart, sweet, and eager to learn. It's been a great learning experience, and very rewarding to boot! I did a short interview for DD a few months ago. You can check that out here.

Kos, Greece
During this project, I've gotten to experience working with algorithms and code as it relates to design and design principles - that is, designing with code, rather than creating a design and implementing it with code. It's a very different way of approaching problem solving that I think makes more sense in the creative/entertainment tech context. One such algorithm I've encountered is the Slabtype algorithm: a way to dynamically generate typographically beautiful layouts for text. You can read more about the algorithm and how to implement it here. I highly recommend checking it out; it's an interesting read!

Wednesday, August 28, 2013

Houdini Engine + Play Mode

I've been messing with the Houdini Engine API to see if I can get Engine assets to cook in Unity during play mode.


It does work, as long as I don't ask it to update more than once every few seconds. Otherwise I end up with a memory allocation error:


I'll have to find a good workaround for this.

Sunday, August 18, 2013

SIGGRAPH 2013

I went to SIGGRAPH about a month ago with SideFX, where I spent the majority of my time running the Houdini Engine demo at SideFX's expo booth. I really enjoyed getting to know SideFX's Toronto staff, and talking to people interested in the Engine.

I had the privilege of speaking at the "SIGGRAPH Birds of a Feather: VFX Student & Intern Showcase," where I talked about my path from student to professional and showed off some of my internship work. It was a great experience!

Aside from that, I spent a lot of time walking around the Emerging Technologies hall. E-Tech always has a lot of neat technology, and this year was no exception. Some of the ones I thought were especially interesting:

I had a blast at the conference, met some amazing people, and caught up with a lot of old friends, including my mentor from Georgia Tech, Greg Turk. Hopefully I'll get to go again next year in Vancouver!

Monday, August 5, 2013

Messing around with audio...


I've been getting back into computer audio recently. I really enjoyed the course when I took it at Georgia Tech four years ago, during which my teammates and I wrote a basic autotuner (back when autotuning was still cool). More recently, I've been brushing up on comp. audio concepts (yay, wikipedia!) and playing around with scripting an audio spectrum analyzer in Unity: https://vimeo.com/71708392.

I've also done some more work on my Kinect pointcloud visualization in Houdini: https://vimeo.com/71702497. This one's an audio-driven CHOPs animation of a Kinect pointcloud. The particles change color according to the pitch and percussion. R value for percussion, and G & B according to pitch. It's not perfect, and it's still a work in progress, but it's getting there.