Musings on art, code and life.

Uncategorized

Loading Data Across Domains in Flash

I have been working on a small AS3 project that uses the Yahoo Image Search API to generate a composite image out of a number of slices. Each slice is taken from one image in the image search result. This is a project for my Outsider Art class. My goal is to randomly generate new artworks based on a combination of internet images.

I managed to script together a working model last night but I was having trouble displaying it in my portfolio website. For some reason I could not get the images to load. As it turns out, because the images are all being pulled from external sources the security restrictions of the Flash player silently block my request.

There are workarounds but none will be as elegant as the way that the program operates when run from the Flash IDE. I may re-write it in JavaScript or I may try the PHP workaround. Either way, here is more information on the restrictions and workarounds…. http://kb2.adobe.com/cps/165/tn_16520.html


My Neglected Blog

I am sorry blog, I have stopped writing on you. I blame Google Wave. It is a really amazing application and I spend a lot of time writing on it. Sometime soon I will revise my Wave’s and post them as blogs. Perhaps I will parse my waves and make something better for the blog.

At any rate, Google Wave is amazing and I will write more about it later.


Future Ocean Explorer

I just found the most beautiful project while browsing reading about the VVVV toolkit. The “Future Ocean Explorer” project is a HUGE multi-touch surface that displays a sprawling, dynamic ocean of information, motion and interaction. The video at http://vimeo.com/8499034 shows the table in action.

This table is so large that twenty people could easily gather around it. I envision a creative agency that has one of these for a conference table. The collaborative potential is so great!

developed by wirmachenbunt & Muthesius Academy of Fine Arts
commissioned by the Future Ocean Cluster – Kiel Germany


Riding the (Google) Wave

A big thank you to Catherine, instructor extraordinair at the Art Institute Sunnyvale for introducing us to some very interesting people, and then persuading said people to hook us up with Wave beta invitations. I was distracted by my ActionScript endeavors and so I hesitated to jump into Wave. Just the other day, I was e-mailing back and forth with a classmate when he suggested we use Wave. Five minutes in and I was hooked!

We are discussing a custom content management system that will be written in PHP and I wanted to find out a little more about his requirements. The conversation progressed very naturally using wave. Even though it feels like an instant message conversation when both parties use the system traditionally, the magic comes in when you explore the “Wiki” like nature of the conversation thread. We talked about Wave at first and then we started talking about the project. At one point we went back in the conversation and took one of the “wavelets” on a tangent. After our conversation was over, I was able to use the playback feature of Wave to watch our conversation evolve, step by step. This is an interesting way of communication but I see tremendous value.

When we speak, we are creating data. Natural conversation is linear and although the focus may be on one topic, it is hard to organize information that is laid out in a straight line. Using Wave turns the conversation into a circle. Information comes from the center and it never has very far to go to end up in an area with related information. When you consider the ability to do real-time collaboration, I could imagine a team of people having a discussion on Wave while another team works silently with the information, organizing and formatting. At the end of the session, the team would have a comprehensive set of visually appealing documents.

While I do not necessarily see Wave as the replacement for email, I am beyond excited to see what the Wave team does with it. I am even more excited to dig into the Wave API! Way to go Google, you all are champions of innovation.


Six Foot Tall Tree Made of Cubes

This whole concept started with a pile of scrap book board (book board is the thick material used for hardback book covers). I had been accumulating the material for quite some time while creating “collateral” for PSRT Catering. The first cube tree happened out of chance; I intended to create an an amorphous object from a variety of random shaped. Finding matching pieces proved to be an impossible task so I cut the pieces into equal sized chunks and the cube tree was born.

The first cube tree sits on the desk in front of me as it’s new, massive big brother towers over it. Both trees have similar construction; each trunk block is a cube and there are defined ratio’s for the construction of the branch and topper blocks. The difference in construction of the new tree is that the “in-between” segments which send the blocks in different directions are all of equal dimension.

When I finished constructing the trunk shape, I fixed the topper element to the end. After fixing the branch elements on the tree I noticed that it was very unstable. I had not walked away from it for more than ten minutes before I heard a crash and turned to see the tree in pieces. I pondered the weight distribution for a day or so before deciding to rebuild the tree last night. When I awoke this morning the tree was still intact and it has even survived a trip to the window for some photography. I believe that I solved the stability issue with a stronger base and by internally reinforcing some of the trunk segments that I observed to flex in an unwanted direction.

This tree is nothing more than an interesting object but it has helped me tremendously in a programming project that I am working on.

The tree is built of symmetrical objects, it’s constructed like this to help me understand a trigonometry concept that has been difficult to master. I am interested in the positioning and movement of objects in 3D space. The simple (x, y, z) coordinate system works well for positioning but there is really no rise/run in 3D Cartesian coordinates. A few months ago I began studying Spherical coordinates in the hopes to understand more delicate positioning with a different type of coordinate system. I came to understand the notation for Spherical coordinates at magnitude for the distance, elevation for the direction pointing up to down and azimuth for the direction left to right for 360 degrees around. Spherical coordinates can be thought of as specifying a direction and then a distance to travel in that direction.

What is interesting to me about Spherical coordinates is that once you travel in one direction, it becomes very easy to translate your position to the left, right, top, bottom, backward and forwards… it is something that becomes invaluable when running around in a giant 3D arena. I am using Spherical coordinates in a Flash as3 project that will grow a tree much like the physical one I have constructed. I have built math around the size and spacing of the physical blocks to create a digital representation of my creation. By randomizing the side that the segments appear on, I am able to explore an infinite number of cube tree constructions.

Here is a look at the physical cube tree sculpture, I have yet to measure it but it towers over my 5′11″ body so I can only assume it is over six feet. My cat doesn’t know what to do with it.

IMG_2496

IMG_2495

IMG_2481

IMG_2492


The Start Of Something…

I just felt the spark of inspiration.

I have been toiling away on a as3 generative art project that combines augmented reality, wiiflash control, papervision3d and beautiful organic tree structures for the last two weeks. It has consumed much of my attention, causing me to skip class and almost miss deadlines. It is the kind of project that is ripe with discovery and wonder. Since I appreciate math, but ended my studies with Math G: Math for Liberal Arts Students, I have no advanced knowledge of the trigonometry that was required to make this work. Yet, I continued to pursue a solution; pouring over math books and google searches, trying numerous formula’s until one seemed to fit and then refining that loose fit into a properly functioning algorithm. This would have been short work for a Trig student but it would have come with only a fraction of the satisfaction.

Through visual programming I see a way to learn about the world around me. I have never been able to truly learn by just listening, I have to go hands-on if I ever really want to get something. Although I have always enjoyed math class, I became bored around the grade where people started questioning “Are we really going to use this in REAL LIFE?”. The formulas and theory that must be memorized was a huge turn-off for me. With visual programming, and generative art in particular, I can explore the effect of any number of mathematical theories.

This is a very simple test of the CubeTree program.

This is a very simple test of the CubeTree program.


Obtrusive Javascript Alert!

The “Core Competencies” have done it again… First it was table based layout, now it’s obtrusive JavaScript.

JavaScript is evolving into a beautiful language capable of very deep interactivity. Every day I read a new article about some truly awesome implementation of JavaScript so it breaks my heart when I see something that takes a step back. In the great dark age of content, presentation lived among the content and the world was chaos. As the content grew overburdened with the weight of the inline styles and onClick href links, it sought to shed it’s chains. The content sought to be understood by any and all readers, not just when it is all styled up.

The great Cascading Style Sheet came and blessed the content by gathering up all of the presentation. For a time the content was happy, but alas, they were not truly free.

The content was still burdened with the interactivity elements. These elements floated among the content, becoming confused with the content. Following the lead of the great CSS, the divine ECMA came along and improved the JavaScript language that controlled the interactive elements. The divine ECMA deemed that the JavaScripts should be allowed to rule the content from afar. From this idea, event listeners were implemented.

Today we live in a world where the content is free from the chains of style or script. The possibilities created by these advances are amazing and it is important that we continue the process of separating content from presentation (and interactivity).

To learn about the right way to use JavaScript, please visit this post by Jon Hughes.



I Heart Wordpress

I had been avoiding Wordpress for no reason and it was a big mistake. Wordpress is an amazing platform and content management system. I have only just scratched the surface of the system but already I am hooked.

I have started two Wordpress based sites in the last week. This first site is a very special project of mine. I am an aspiring photographer and recently I photographed a wedding all by myself. I am very pleased with the photographs that I captured and to display them, I have created a Wordpress site.

To help me manage my photographs, I am using the NextGen photo plugin.

meghanandjack

Click the photo above to visit meghanandjack.com

The second site that I have started work on this week is one for my mother and her design service. My mom is a very talented kitchen, bath and custom cabinet designer. I really love the f8 template that I am basing the wedding site off of and so did my mom. She asked if I could design her site in the same vein and I was happy to help. Thanks to the simplicity of the Wordpress platform, I had her site up and running within a few hours!

margaretryandesign

Click the image above to visit margaretryandesign.com


Programming Art

I just stumbled upon an amazing site.

http://www.levitated.net/


Product Photography Makes Me Smile

I had just returned home from an afternoon at the studio and my phone began to ring. Dave the photographer was calling and he had some interesting news. As it turns out, we were being given a great opportunity to prove our photographic capabilities to a dynamic tech company. The assignment was to bring our lighting setup down to their offices to help shoot some products.

Our client was a wonderful woman and the company she works for is onto something really great! The company WYSE produces a hardware/software solution for any kind of networked business. As a technology aficionado I was particularly interested in the promise of the WYSE “thin computing” solution. With this solution, an office could deploy a huge network of mobile and desktop devices that are all securely synchronized with a central data server. Due to modern bandwidth capabilities, much of the data is stored off the client device. This means that the laptops, desktops and netbook size laptops do not have ANY moving parts. No hard drives, no taxing electronic parts, less heat and therefore no fans. NO NOISE! I wish my laptop did that!

The photography was a lot of fun. The products we were photographing are composed of all kinds of interesting and beautiful materials so it mad the pictures look fantastic. The lighting was a breeze. We set up the seamless backdrop and then positioned a strobe with umbrella over the center of the table to light the background with clean even light. Three lights were arranged around the product in the front to allow us fine control over the highlights, shadows and gradients between. At some points during the shoot, I used a reflector card to bounce a little bit more light around. Our challenge came with the last product, which had a very glossy finish.

The final product forced us to be creative with the setup. Our main issue was the glossy components were perfectly reflecting the strobes, so much so that you could see the detail in the wires surrounding the flashing bulb. To compensate for this, we used a large section of the seamless background and positioned it so that it would be reflected in the glossy parts as a smooth white surface.

wyseShoot


Is AI really OK?

In a word; yes.

There may be some confusion regarding the domain and title of my blog. The AI in my blog title does not stand for Art Institute (my college), rather, it stands for Artificial Intelligence.

Artificial intelligence has been an interest of mine for some time. Over the past six years I have observed my own limitations in education and organization and have theorized ways that I could have been more successful. Many of my shortcomings stem from my attention span. While it is seemingly typical for my generation to have a short attention span, my problem is compounded with an attention deficiency and a touch of hyperactivity. I am a hunter left over in a gatherers world. My physiology is best suited for a dynamic changing environment where I encounter new challenges every day. When presented with the monotony of the gatherer lifestyle (collect, archive, repeat) I tend to lose focus.

Unfortunatly for my (and my physiology), there are many moments in life where I will be forced to follow the gatherers. It is in these moments where I need the most assistance. Much like the future portrayed in the popular television show “Futurama”, I believe that humans will soon have embedded electronics to handle many of the more tedious aspects of life. I have toyed with an idea for a piece of wearable hardware that would collect data about your day and then allow you to “search” thoughts or visions from that day. With technology like this, humans can focus on innovation and allow the machine to manage information and details.

For a future like this to occur, we need smarter machines. This is where AI comes in… If a machine can ANTICIPATE our needs, then we have been successful.

The world is a fascinating place and we live in a great age. Cheers to technology.


Port 21, Please?

As I am sitting here on this wonderful Saturday morning I find my mind drifting. It is really nice that my school provides us with wireless internet. After a solid year of a web design program at a modern Silicon Valley art college we can finally use our laptops. But there was only a very small sliver of time where things were peaceful and then the IT guy started locking down the ports.

Now don’t get me wrong, I understand the need for security, but this is just mean! As an additional step, the network forces computers to install the Cisco Clean Access software. I have no problems with the protective software, I just want the ability to work on my on my own equipment while I am in class.

The school tells me that I should be working on the computer that it provides. I am not comfortable working on client projects on a school computer and I do not feel the need to transfer my data back and forth just to update a few pages. The school should really think about how their restrictions effect our education. We are supposed to be learning how to work in the dynamic environment that is the world wide web, we are supposed to be working and making connections. I wish the school would support me more as I try and build real world experience alongside my education.

Please open port 21.