Archive for June, 2007

html canvas, svg and the return of draw

Saturday, June 30th, 2007

Safari 3, WebKit and Firefox all fully support the canvas and svg standards. because of this, you just need some javascript in your webpage to deal with state, timers and mouse events, and you will have a fully functional drawing interface living inside your browser. Brent was working with canvas a while ago, and made an interesting application called TinyCode. I think the fun part about canvas and svg is that you can make graphics based applications that offer you immediate full access to the dynamic web. With not much effort you can make every gesture captured by the event loop a form post that can generate back new interactions after being processed by the server backend, or can trace back the full history of any stroke made with an instance of your drawing application.

The following examples are some modifications of the ones that use the canvas object in the Mozilla Documentation pages. If you experience broken things or nothing at all it might be because your browser doesn’t support canvas, sorry about that.


Cellular Automata:

change rule to 30, 90 or 677 for example, but be aware that a lot of values won’t produce anything:

Transformation Stack:

OpenGL 101

Saturday, June 23rd, 2007


Back from WWDC

Friday, June 22nd, 2007

It has been a week already since we (Takashi, Kyle and yours truly) went to WWDC, Apple’s yearly conference for developers in San Francisco. Leopard feels great and features all kind of goodies to work and play with. As usual, Apple makes it sure to deliver cool crap, but I can’t talk about it in detail until october, because I signed an agreement of confidentiality when I signed up for the conference. No descriptions of new NSCrap here.

One thing I found most interesting is the implicit partnership between a community of software developers and a corporation like Apple. After all, an operating system, as advanced as it can be, is almost useless if there are no applications to run on it. Real world applications that solve real world programs are the only possible connection to the non technical end users. At the same time, software developers depend so much on whatever is provided to them that it’s a little scary. What will happen to a community of developers if their platform collapses? Now that I think about it, they will probably just migrate elsewhere with ease. Digital technology is approaching the time when standards will become commonsense for those who know, regardless of the platform.

Another interesting thing, this time of a statistical nature, was the male-female ratio out of the 5000+ attendees. I would say there were at least 100 men per woman. A-t-l-e-a-s-t. That was the no fun part, but its not so much of a problem when there is all this much technology around to compensate… did I just say that?

And another thing, these Apple guys do know how to treat their nerds; free candy, free cookies and free espressos all day long, everywhere in the convention center. I mean, dark chocolate m&ms? yum! The only thing they were missing were the smoothie bars =).

Some HOT Apple related topics: CoreAnimation, CoreImage, QuartzComposer, iPhone, WebKit, Leopard of course…


Viagra Alternative Natural Viagra Order Viagra Alternative Viagra Discount Viagra Order Viagra Online Best Price Viagra Cheap Generic Viagra Viagra Alternatives

MIT Graduation Day 2007

Saturday, June 9th, 2007

Even though today is already tomorrow, it still is today for me. A very long and memorable day. I did some Ruby on Rails here and there, worked on my PLW 3D model for a new layout proposal of the workspace, had lunch with media lab legend Josh Lifton at an indian buffet in central square, organized my digital crap, went to the mall with Takashi to buy stuff for our upcoming trip to the WWDC in San Francisco next week, organized my physical crap, and had dinner at cuchi-cuchi with Amy and our guests from L.A.

The PLW remained almost empty all day and kind of quiet, as most of MIT was attending this year’s graduation ceremony. Occasionally, somebody would show up with their parents. I remember last year, Brent was looking at the live webcast of the ceremony in his computer all excited, waiting for his friends that graduated to show up when they received their diplomas. And I was just sitting there, clueless of what was ahead. One year later, today, it is me looking at the webcast as Brent and the others get their degrees.

Congratulations everybody! Campai!

I stole this picture from the MIT graduation website 2007, pure pure pure MIT graphic style…


And this is a closeup of Brent’s diploma, taken by himself with his cellphone camera during the ceremony, and submitted to Burak’s flickr account via email, from where I grabbed it.


PictureXS Tags Update

Thursday, June 7th, 2007

I have updated the PictureXS tag functionality. Now you can search for pictures connected to a specific tag, and the tag class features a count field that correlates font sizes with tag frequencies when rendering the tag cloud.


Breaking the Tiles

Wednesday, June 6th, 2007

Four years ago, when I came back from Memphis, I started meeting every other tuesday for lunch and after with mathematician Javier Bracho a.k.a. Roli, to talk about symmetry and art, and help him translate part of his talk about tilings into a script for a television capsule.

Some of those times we would just fool around with shapes to see what we could come up with, por example, using tiles that don’t fit to see what patterns we could find. Without knowing much about tilings back then, I happily rediscovered Kepler’s pentagonal tiling one day, and came back excited to the tuesday meeting with a giant hand made drawing of a massive portion of it. Roli told me about the history of this tiling, about Kelper and the archimedean tilings, and then we spend a few expressos looking for a set of rules that would procedurally generate kepler’s pentagonal non-periodic tiling. We wanted to write a set of instructions that the dumbest person, or even a machine, could follow to tile an arbitrary region of the plane this way. By the end of the evening we still didn’t know how to tell a machine how to make that tiling for us. I was astonished because I had no problem making the tiling myself based on observation and intuition, but I couldn’t figure out the rules that determined my decisions.

Then I took the Adventures in Advanced Symbolic Programming class this spring, and for the final project I considered revisiting the tiling problem. What if a program could be wrote that could figure out good enough rules (when possible) by looking at a given shape, kind of like I do when I make a tiling? Of course I am not In a position to write such a program (yet), but with the help of my super smart fellow classmates Kyle and Justin, maybe we could get something done. And we did.

Our system is a work in progress. Much still has to be done to it. For detailed information on its implementation and some background on tilings you can visit our project website here. You can also download the Scheme source code there.


PictureXS 2000

Wednesday, June 6th, 2007

This is picture number 2000. The second thousand pictures took almost a month to be collected. 1000 months like this one are one million pictures. 1000 months like this one are 83.3 years. I don’t think I am going to be here in 2090, but maybe the web will.

Another project I have is called 1000000. It is not about collecting pictures from the web, but about taking 1000000 pictures in the real world with a digital camera. An average of 100 pictures a day will get the job done in 30 years. That’s not so bad. I started in the year 2001 and I already have 200000 pictures. 1/5 of the total number of pictures in 1/5 of the projected time. Not bad indeed. I will need a different way to look at them and organize them than what I have been using. Folders, tags and iphoto are not enough. Taking all this many pictures this way is like sampling coordinates in the geometry of time. There might be a way to weave all the pictures together into a sort of virtual tapestry, whose axes are history and meaning, all from the perspective of what has been put in front of my eyes by fate (or chance).