Joakim Nygård Archive Linked About

George Carlin Dies

24 Jun 2008 -

The world-renowned comedian George Carlin died yesterday at age 71. Famous for his provocative material and eloquent performances, Carlin perhaps said it best himself:

The most unfair thing about life is the way it ends. I mean, life is tough. It takes up a lot of your time. What do you get at the end of it? A Death! What’s that, a bonus? I think the life cycle is all backwards. You should die first, get it out of the way. Then you live in an old age home. You get kicked out when you’re too young, you get a gold watch, you go to work. You work forty years until you’re young enough to enjoy your retirement. You do drugs, alcohol, you party, you get ready for high school. You go to grade school, you become a kid, you play, you have no responsibilities, you become a little baby, you go back into the womb, you spend your last nine months floating …and you finish off as an orgasm.

And this brilliant take on modern communication, illustrative of his shows:

Webgrind 0.7 is out

12 Jun 2008 -

The third release of the web frontend for Xdebug by Jacob Oettinger and I is out today and contains a few new features like version checking, support for directly loading a specific report and a visual breakdown of internal, class and procedural functions and calls to include/require.

call type breakdown

Jacob and I both appreciate the positive feedback our little project has recieved from the community. Please feel encouraged to submit any suggestions or comments, either here or on the Webgrind googlepage.

Lifestreaming With Friends

23 May 2008 -

As part of my thoughts of data portability and its little sister ‘data share-ability’ through public APIs, I’ve created a Zend Framework based class for aggregating data streams from a few of the popular sites I use and sort them cronologically. Though the class itself is not ready for the public eyes, the result is a lifestream of (some of) my activities online, visible from the lifestream link in the menu.

While this provides a simple way of tracking my steps, it does not help me follow my friends. To remedy this, I’ve started working on an open social web application. It will provide a simple means of adding information on yourself and friends and an interface for following both.

The application will be a distributed social web and as such can be installed on any webhost. I believe this is key while waiting for the One True Portable Data Format as it puts the social relations in the hands of the user - where it belongs - and not in a data silo of a private company (Facebook anyone?).

The Dataportability Website is a great resource on the matter. There is a wealth of great and useful standards already defined; The biggest problem is getting them out there in big enough numbers for it to matter.

It is, in many ways, the problem of structured data versus the way humans think. Computers are rooted in logic and structures and though the thought of an ideal taxonomy of the world and us is appealing (at least to some), I don’t see it happen. The universe is a far too messy place for it to truly succeed (though Google seem to have a few tricks). Compare this to the enormous usage of the so-called folksonomy or use of tags. They are easy to use, have no cumbersome hierarchies and appear to work most of the time. They do give rise to synonyms, homonyms, and lack of normalization (stemming) - concepts humans navigate easily but computers need help with.

There are many problems on the way to realizing my application, let alone a standardized way of parsing human relations online. At the moment what I have is

For it to be of any real use, the application should to accept connections directly from service providers (flickr, twitter, etc.) rather than just from another installation of the application. It would also be immensely useful if it could parse and auto-discover any microformat markup encountered (other sites I use, people I know, personal info).

A successful solution cannot be accomplished by one man, but it is interesting to work on and the prototypes keep me updated on my friends :)

Webgrind: A Web Frontend for Xdebug

29 Apr 2008 -

My about page has mentioned a web based frontend for Xdebug for some time. The project has a name now: The idea for Webgrind, a spin on Valgrind, came from lack of profiling tools for PHP, particularly on OSX. Though it is possible to install kcachegrind on osx it seems overkill for many uses and is definitely not as easy as unzipping a folder to the webroot.

After sitting on the idea for some time, I spoke with Jacob Oettinger about it and he promptly started on the foundation. What we have done up to this point is far from the power of kcachegrind, but it does allow for simple profiling in the browser to locate methods and functions most in need of optimization. Plus it installs in seconds.

I have since learned that the PHP group has a suggestion for a Google Summer of Code project that replicates the features of KCacheGrind as a web frontend. It seems Chung-Yang Lee has signed up for the challenge and it will be interesting to follow his progress.

We are currently making the last changes before releasing the first version on our Google code page for Webgrind. Please let us know what you think of this and of any ideas for future features. A downloadable package will be ready on Wednesday.

Spatial Clue Preserving Sound

13 Apr 2008 -

I forgot where I first saw this amazing demonstration of a sound recording and playback technology that preserves the spatial information required for the brain to hear the location of sound sources called Cetera.

Developed by hearing aid producer Starkey Labs, Cetera apparently is not a new technology. Audiology Online has an article about Cetera from 1999 but this is the first I’ve heard about it.

Sound is recorded by two microphones placed at a distance similar to that of the human ears and further processed to mimic the acoustics of the outer ear, and the result is unbelievably real. In the illustrational recording oh a virtual haircut, the electric razor feels eerily close to your ear! To experience the effect, headphones are needed:

Sajithmr has a full transcript of the dialogue and two more recordings.

If only this technique could be used in first-person computer games they would instantly become more immersive!

True Measure of Code Quality

26 Feb 2008 -

Too good not to post, I found this gem on OSNews FocusShift comic strip page. Brilliant!

wtf measure

Video: Dataportability Explained

18 Jan 2008 -

My last two posts have been about opening the social web and I am obviously not alone in thinking greater interoperability would benefit providers and users alike. The net is buzzing with initiatives for opening the social graph and one of the most promising is the Dataportability Workgroup.

This brilliant video explains why data portability matters:

Making the Social Graph Machine Readable

1 Dec 2007 -

Aggregating content from a variety of sources through APIs is just a small part of the task of opening the web. While it allows me (the user) to present my online activities where I choose, it lacks the social relations.

There are currently hundreds if not thousands of takes on the social net and some of them take a more open approach than others. I recently re-discovered Plaxo, a site that first set out to keep your address book up to date and know includes a mashup timeline of user’s online events on other sites. My main gripe is that it requires registration to see the profiles. A site like SecondBrain is closer to what I want (and been building on this site): A public stream of activities that I’ve chosen to share with the world.

Though many sites allow for importing contacts from other sites like Gmail, LinkedIn, finding people you know is very much a manual and tedious process. How can the social relations be implemented in an open way re-using as much as possible of what is already out there and in a format that is readable by a computer?

Using the markup defined by XFN to add relationship information to hyperlinks, it is easy to see how one could build a parser to find these tags and build a social graph, one node at a time. Tagging urls as me, I could easily list urls to various sites I use and by doing so provide further data to the parser.

Aggregating personal data from your own sources and making it available in a standard format (RSS or some other XML/* structure) makes it possible for software (and users of it) to stay updated. Marking a link to a person (in the form of a website) as friend/family using the XFN markup would allow for certain types of data to be made available only to those relations. Best of all this could happen automatically. Brian Suda wrote an article on portable networks, touching on many of the same subjects.

Using OpenID could be a way of establishing a standardized (but distributed and open) identity online. In fact, it seems this is what ClaimID is all about, a site I’ve just discovered. Another very interesting project is the NoseRub protocol, an open source (MIT license) decentralized social network (also recently discovered and very similar in approach to my ideas). See also the wiki on open networking on the Microformats homepage.

I believe the combination of these existing technologies provides very promising tools of realizing the open social network, free of commercial interests and without giving away more control than absolutely necessary to make it all work. It would also seem that I either need to write a lot faster or seriously get involved in some of these projects as I discover tens of interesting resources, ideas and thoughts on the topic just be researching for these articles. Brilliant!

Aggregating my online data

23 Nov 2007 -

In a continuous effort to leverage the power of other sites like Flickr, I’ve integrated my Flickr photos in the blog list. Somewhat related to my thoughts on social networks and putting your content online, it is an example of pulling my data from a variety of sources and displaying them where I choose, here. It is also reminiscent of the mini feed on facebook.

Apart from spending time thinking about what I wanted, the programming didn’t take long - in great deal thanks to Zend Framework. It is my personal mashup.

I realize that most of this has already been done by software such as WordPress through it’s plugin architecture. It requires knowledge of programming and it does not include the crucial element of the social graph.

Grabbing updates from friends, however, would simply be a matter of changing the urls of the various services. As such it illustrates one of my key arguments against Facebook: The fact that Facebook is a walled garden, accessible only to members, prevents me from accessing from outside information about friends (or myself) from that small part of the internet.

Now, to solve the social graph problem…

TextMate MySQL Integration

20 Nov 2007 -

Believe I just found a gem in the Database Browser bundled with TextMate! Substantially improved since I last played with it (appears to have been updated in July), it allows me to browse my local MySQL installation, looking up a table structure, browsing content or even running queries directly from my text editor.

Database Browser in Textmate

It’s not phpMyAdmin but it is definitely a context switch less in many development situations. Brilliant and - in another example of the genius TextMate is - right at my fingertips.

Archive