XML was not always a silver bullet.

I programmed a simulator for another class this semester and I tried to use XML format for my input file to the simulator. The simulator takes a graph topology information first, and then needs to parse it. Compare the two formats below describing the same graph information.

:: GraphML (Standard XML format for describing graph data structure) ::

<graphml xmlns=”http://graphml.graphdrawing.org/xmlns” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd” >
<graph edgedefault=”undirected” parse.nodes=”10000″ parse.edges=”20000″>
<node id=”0″ />
<node id=”1″ />
<node id=”2″ />
…..
<node id=”9997″ />
<node id=”9998″ />
<node id=”9999″ />
<edge source=”2″ target=”1″ />
<edge source=”2″ target=”0″ />
<edge source=”3″ target=”1″ />
…..
<edge source=”0″ target=”8068″ />
<edge source=”1″ target=”9731″ />
<edge source=”1″ target=”5549″ />
</graph>
</graphml>

:: Normal text format ::

Topology: ( 10000 Nodes, 20000 Edges )
Model (1 – RTWaxman)

Nodes: ( 10000 )
0
1
2
…..
9997
9998
9999

Edges: ( 20000 )
0    2    1
1    2    0
2    3    1
…..
19997    0    8068
19998    1    9731
19999    1    5549

The second format was much better both in terms of file size and parsing speed. The XML format spent too much on putting structured metadata on the data. Once the data will be used in a limited domain, costs for structuring and standardizing data could overwhelm the benefit of doing so.

This case reminded me the warning of Svenonius, which was “putting infinite number of metadata to data is economically impossible,” although my case did not involve “infinite” numbers of metadata. Anyway, I experienced the tradeoff of IO and IR again.

Comments off

“Genius” Feature Makes Music Miscellaneous

As many of you probably already know, last week Apple released iTunes 8. One of the most interesting features announced in this update is Genius playlist creation.  Select any song in your library and the Genius will create a playlist of songs in your own library that go well with it. So, if you’re in the mood for jazz, just select your favorite Ella Fitzgerald song, press the genius button and you’ll have a playlist of songs like it.

In my use of this feature, I’d say it works really well. It saves a lot of time and reintroduces me to music I already have but may not have listened to in a while).

Where this feature gets interesting is in how it relates to the material we’ve discussed in 202. The Genius works by first collecting and submitting (anonymously) all of your music’s metadata to Apple’s servers. There, these data are analyzed and compared to other users’ music metadata as well as the buying habits of iTunes music store customers, of which there are about 70 million. The algorithm that Apple uses to determine music matches has in effect made music miscellaneous. People buy music from the iTunes store, rip CDs, and tag their own music files anyway. This feature taps into these disparate cataloging systems collected from millions of users and creates something new from them. It ameliorates the problem of having to recall all the music you have your library that might fit a particular mood. No music professionals required. 

To me, this is a clear win for Weinberger.

Comments (2)

Making IO book more palatable?

This wasn’t quite what I had in mind….

Comments (3)