Archive for January, 2007

Suspects: Easy

Wednesday, January 31st, 2007

Like, for example:

A 20th century problem is that technology has become too “easy”. When it was hard to do anything, whether good or bad, enough time was taken so that the result was usually good. Now we can make things almost trivially, especially in software, but most of the designs are trivial as well. This is inverse vandalism: the making of things because you can.”

It’s Alan Kay, summing up in his wonderful “Early history of Smalltalk”

tags: , , ,

Music and memory: A small (frustrated) last.fm project

Monday, January 29th, 2007

Antecedent:

A couple of months ago, having a look at some old stats in my last.fm profile, I realised how much I could remember a given time by just seeing the music I used to listen to (that old (unfinished?) project by marcos weskamp and didier hilhorst came to mind inmediately).

The source:

Last.fm keeps weekly data about what we listen to. We also can (could) construct a radio link based on various artists. For example:

lastfm://artist/bibio/similarartists

The application

A web page that, given some artists that I used to listen to in a given time (e.g: december 2005), constructs the url of a last.fm radio with those bands, so I can somehow “transport” myself to that time by listening to similar music…

And I’ve done it, but…

Last friday, the multiple artists station feature stopped working. In fact, I had some suspicion, but I thought that… nothing. I didn’t think of it and kept working.

So it is basically useless in its actual form, but it was finished (as a proof of concept, at least), so here it is:

Last.fm time machine (if it had worked i’d have looked for a better name).

I’m not sure if the idea can take another direction to become useful. I’ve thought of having a look at xspf to see if I can generate playlists instead of radios, but by now I don’t really know. If you have any ideas…

At the very least, it’s been useful to clean the dust over my php, use the last.fm webservices, a little bit of ajax (thanks mr.sofa naranja) and above all, to finish something.

By the way, avidos let me stay in their hosting to do some tests while mine hadn’t php5, and ignasi tudela tried to help me with the design, but apart from using Georgia and taking his colors for the different seasons, I didn’t pay him much (deserved) attention, and you can see the results. Thanks to both.

tags: , , , ,

Magic words

Monday, January 29th, 2007

There are some words I’ve put under suspicion. They’re like magic. When they appear everything seems better, more pleasant, more adequate…

I still don’t know what it is, but I’m somehow annoyed. Perphaps they appear too frequently in advertising, products, speeches… I think they hide some… swindle.

3 come to mind now:

  • New
  • Easy
  • Original

do you have more? do you know what it is?

tags: , , ,

Switching hosts

Saturday, January 27th, 2007

This won’t work for the next hours. If you were thinking of sending me an email (quite unlikely unless you do spam for a living) use jesusgollonet … gmail

See you soon.

update: wow. It didn’t hurt. Should be ok by now. If you see anything strange, please let me know

tags:No tagsNo tags

Maintenance & brief status updates

Friday, January 26th, 2007
I always seem to forget how busy I’m usually becoming at the beginning of each new year. There does seem to be a pattern emerging or maybe it has to do with a combination of long winter nights and my lack of new years resolutions (okay, I’ve got a single one: need new website!) which keep other people busy with other things in January. Am currently engaged in various really exciting (albeit commercial) projects again and so any noticeable developments on the Sunflow P5 library front had to be delayed before I feel more comfortable to release it publicly. The important stuff works already (i.e. exporting triangles), however camera support, shaders and lighting still are an incomplete mess… There’s also a separate command line tool I’ve written to batch renderer frame sequences. Working on this stuff in my spare time also makes it really quite hard to realistically predict when things become ready. Someday I’ll learn not to do that anymore… ;)

Speaking of Sunflow though, Christopher has released a new version (0.07.1) of the renderer and the website has been overhauled too. There’s also talk about changing the scene file format and Stephen Williams of Fluidforms is interested in writing/collaborating on a generic (RenderMan format based) external renderer for Processing. All great stuff on the horizon!

Speaking of more maintenance, Florian Jennett has kindly modded the Processing forums to export the most recent posts as RSS. This is great stuff, since my current feed of the same content (launched almost exactly 2 years ago) was semi-broken for quite a while now, ever since the forum’s HTML template changed last. I’ve tried to keep up with these changes initially, but had to succumb sometime last year. Unlike this old feed which was created via screen-scraping, the new one is coming straight out of the forum, so hopefully will not miss out posts or truncate them anymore…

Finally, my “digital self” is still fragmenting more & more since I’ve started contributing to Matt Pyke’s Everyoneforever group blog.

Tags: , , , ,

Beta is the New Black

Tuesday, January 23rd, 2007
Whilst my folio interface continues to obey Hofstadter’s Law I’m dropping off a bunch of links. AStar has been updated to become Pathfinder. I am however getting some strangely slow results on a Linux machine test, either memory related or something else. Expect a fix, but not right now.

Fjen has taken appletobject.js and expanded upon it to build a pre-loader for Java applets (percentage and even loading bar). We need more examples of this technology in action, why not download the files and try it out. (P5 thread here.)

First Life (as opposed to second)
Sundance Film Festival online
Jeep Waterfall printer
Reno Balloon race Some amazing timelapse going on that offers some inspiration for a-life perhaps.
No pants (trousers) on the subway happening
Lego car factory (made from lego)
Armando Iannuci on the iPhone
Charlie the Unicorn
Desktop 3D fabricator
Silent Star Wars
DIY wrapping paper, thanks D. E. Stanley
Mark Knopfler at French & Saunders

Open source Flash MP3 player
PNGuin animated .pngs (JavaScript)
Javascript-Flash integration kit
Avoid PHP Page has expired warnings
Open source Flash for artists (article)

openframeworks, an introduction

Tuesday, January 23rd, 2007

Last week I went to a two-day openframeworks workshop run by Zach Lieberman at hangar.

As said here before (and elsewhere), openframeworks is an open-source library to help other artists and students produce works through coding, written in C++. Yes, this might sound familiar. Its philosophy and intentions are very similar to processing’s.

However, openframeworks is not an IDE, but a set of coherent wrappers around useful libraries. As zach puts it, it is more of a glue that puts together different pieces:

Some of the key concepts behind openframeworks:

  • Its focus is to simplify things. The main intention is that “you don’t have to look at much code when you’re beginning” (which is far from easy in c++).
  • It’s conformed of reusable pieces, not stitched together. You can use any of its parts independently.
  • It pretends to give you direct access to data e.g: pixels of the image, low level audio

I’ve been using it for the last couple of months. I had never done anything with c++ nor I had any idea of where to start and openframeworks has definitely made the learning curve way smoother. Having been around for ages, c++ has lots of picky details to worry about (pointers vs variables, preprocessor, different compilers, uncompatible IDEs….) so having some sort of blueprint which shares some of the programming concepts with processing makes you feel a little more like at home.

Although it’s been used extensively to give workshops and classes, it’s in super-alpha state (even the installation process was being tested on our workshop). Zach is working with Theo Watson on a really-soon-to-publish release. Most of the stuff will work on win, mac and linux.

So stay tuned.

tags: , , , , ,

Some Attempts at Twitter Visualisation

Wednesday, January 17th, 2007

Twitter is a website that asks only one thing, “what are you doing?” and aggregates your responses intermingled with the responses of your friends over the last 24 hours. If you let it (I don’t) it will SMS you every time your friends update, or if you prefer (I do) it will send you an instant message instead. It will also let you update by web, IM or SMS. It’s certainly an easy way to SMS a group of people and only pay for one message, but the IM and web integration mean it’s more than just group SMS.

So it’s not IM, SMS or the web, but it talks to all three. I like it. I want to hate it. I suppose I cheat, because I don’t let it SMS me very often. And maybe because most of my contacts are a continent away, so I only get a few messages a day (they’re all asleep). But there it is: I’m not stressed out by it, I’m still Getting Things Done (though that system’s not for me, yet). Continuous Partial Attention be damned.

Of course, it’s fully Web 2.0 buzz-word compliant, so it has an API that you can use to get data in and out. Not a super-useful one for visualisation, but useful enough to get started. Knocking some ideas back and forth at Stamen with Eric yesterday I decided it was worth trying his idea of plotting twitter activity on a circle. I started with a circle representing the previous 24 hours, rather than a 12 hour clock face, for several reasons:

  • we wondered if there would be obvious patterns to spot, for example between our European and American friends
  • the Twitter API only gives you the previous 24 hours of activity
  • if a whole day fits in one circle, then circles can be overlaid to compare days
  • Eric wants to make coasters of our visualisations… shh!

That’s it really.

Given 24 hours of statuses I assigned each user a colour and plotted the status at an angle corresponding to how much of the day had elapsed. I joined each message to the previous message from that person, if there was one. Here is how my first pass turned out:

first twitter vis

And here’s another variation, still with a colour per person but ditching the arcs and instead using concentric rings for status messages. There are small dots again mapped to time of day. Moire be damned.

second twitter vis

The top of the circle is midnight (PST), the bottom is noon. The data was sampled at about 4pm. I’m not sure where this circular/spiral visualisation is going, but if I revisit it I will probably unroll them into a rectangle in the hope that there is space to draw and read the messages. After all, the messages are what it’s all about.

These were built with Processing, using the now-built-in XML support and the gorgeous PDF library. I haven’t posted the applet because it doesn’t work online with the Twitter API, sorry.

MySpace

Tuesday, January 16th, 2007

Should we be learning from las vegas?

tags: ,

Processing BETA Reference id

Monday, January 15th, 2007

Referensi Processing BETA dalam Bahasa Indonesia (in progress). Referensi untuk Processing ALPHA ada di sini.

Chronic Pain in the Arse

Saturday, January 6th, 2007
The miniscule typos in the revision of my portfolio has driven me to the brink of tears. I don’t even know why it stopped working at some point. I’m sure it may blink offline over the next week as I call up friends for cross-platform testing.

What’s new then? Well the html goes through a Perl script now which gives me the raw power of regular expressions to force consistent formatting of text, and I’ve turned the applet links into javascript links to mount a Java applet on page. Hooray for content! (I’ve lost count of the amount of languages used in my folio now updated source here.)

Dynamic Java applet mounting is performed with my appletobject.js (thanks fjen for spotting the typo). There’s a thread on how to use it.

Links
American Sign-Language .gifs
Campaign Against Real Life
Michel Gondry’s making of Star Guitar promo
Top 25 Music videos of 2006
Metalosis

Perl String Matching
Parsing HTML with HTML::Parser
Pop-up window code generator
AJAX, getting started
JavaScript OOP
Flash browser cache preload trick