Renaissance Artists in a Half-Shell

Today’s comic provoked an awful lot of discussion on the forums, the LJ feed, and in my inbox over the respective notoriety of the various turtles/artists.

I got the percentages in the graph through Google. But direct Google comparison of turtles and artists has the problem that the artists seem to turn up quite a bit more material. There might be many reasons for this, but in creating the chart I decided to assume a priori that the ninja turtles and the Renaissance artists were, on the whole, equally notorious. I’ve seen merchandising for both — Ninja Turtle bedsheets and renaissance-artist-themed ceilings, so this is obviously a fair assumption. Then I used Google to find the respective notoriety of each turtle/artist with respect to their contemporaries — searching for [artist name] Renaissance, summing the total results, and getting each as a percentage. So Leonardo [da Vinci] takes up about 57% of the artist results, Michelangelo [long Renaissance name] takes up only 13%. Then I did the same thing for the turtles, seaching for [turtle name] Ninja Turtles, where Leonardo is again the most notorious, but by a smaller margin (47%). So the pie charts compare the notoriety of each within his group. Donatello gets an 18% share among the turtles but only a 3% share among the artists, so his ratio was 85% turtle : 15% artist. Michelangelo’s was 18:13 = 57:43. Michelangelo is more turtle than artist on the chart because while he’s popular among the artists, he’s more popular among the turtles, and we’re assuming that on the whole the turtles are as notorious as the artists.

Sure, I could’ve gotten all subjective about it, and said “but when I hear ‘Michelangelo’, I think of David before they think of the nunchucks,” or “Raphael is more a turtle than an artist in my mind,” but that’s a dangerous road to start down. Once you start letting your personal biases interfere with serious scientific research like this, it pollutes your data. And that kind of subjectivity not only changes the whole attitude of your research, it affects your project in unpredictable ways. The polluted data starts seeping out into other projects — infecting them, if you will — and creating these unscientific monsters, half natural phenomenon, half human bias. Fleeing the scientific community that shunned them, they seek solace underground, searching for results outside the establishment, delivering truth and justice as they see fit, living off delivery pizza. And that’s just the beginning.

The Map of the Internet

Some additional information on the map in today’s comic:

The labeled websites (“Google”, “Flickr”, “Slashdot”, etc) are just based on the location of the particular server I got when I pinged the site from my home machine on the day I was working on the map. Each site there has many servers and mirrors, and the IP of each may change from day to day. But their location is actually based on both the first and second quad — although the map is drawn in the style of a geographic map, with wobbly borders, it’s laid atop a regular grid which can be extended fractally downward. When I was putting down the location of a server for a particular website, I worked out where within the grid it should fall. This isn’t really for the purpose of telling you anything useful about that website, but rather to suggest that IPs can be placed as unique points on this map. Everything here was done by hand across a couple large sheets of paper, and it’s not trying to be completely accurate in all the details (although I did my best). It’s more of a survey than a practical road map.

The fractal behind the comic is a mapping of the integers to a plane (it could be extended, I assume, to the real numbers). I came up with it in 1999 when I was trying to figure out a way to graphically show the contents of long blocks of computer memory, which is basically linear. I wanted a mapping that would show strings of consecutive addresses as contiguous, compact blobs, and that would work on all scales. I played with and coded a couple mappings, but this was the only one I found that really fit that qualification.

Edit: The fractal is the Hilbert Curve, discovered in 1887. I had done some poking around but had never seen it before. Thank you, folks here and on IRC. It cannot be extended to the reals, but rather to the binary fractions (a subset of the rationals). This lets you get arbitrarially close to any number you want (and cover all the IEEE floating points).

I never come up with an algorithm to do the mapping — that is, a function that would take an integer and return the pair of coordinates. Years later, several months ago, I remembered the mapping and showed it to my cousin, who looked at it for a while and worked out a Scheme algorithm to do the mapping both ways.

Edit: I will be posting a version of the algorithm ASAP.

However, I also posed the problem as a puzzle to the forums: (Problem) (Solution)

I posted a sample of the mapping mangled into an integer-to-integer function and asked people to come up with the next set of numbers. The mangling was in part to make it less obvious what they were playing with and in part to encourage a different way of thinking about the problem. I informally offered two xkcd t-shirts as prizes for whoever provided the first correct answer and the most elegant algorithm. BaldAdonis very quickly took apart the problem (very impressively) and will — once I’m finished with this batch of shipping — get at least one t-shirt (depending on whether someone else finds an algorithm to do the mapping more elegantly). The other shirt is still up in the air. I’ll leave it open for the next week or two, and if you want to send me a piece of elegant and easily-executed code that does this mapping — taking in a number and returning the coordinates (bonus points for the reverse operation) — you’ll have a shot at winning a free xkcd t-shirt of your choice. (Note: for the next few days I’ll be working on t-shirt orders and then I have a wedding to go to, so I may not be able to check over your code until next this week.)

Suggestions for future work: When I was constructing the map, I also did some ping surveys of the various /8 networks to see how densely populated with active hosts each one was. The density data didn’t make it into the simpler final map, but that’s just one of many data sets one could slap up on a map like this to visualize the ‘net in an interesting way.

South America, Verizon Math

South America should be able to reach xkcd again. I’m sorry to those of you there who haven’t been able to reach the site over the last week. There was a semi-complicated problem with some dead routers at ThePlanet’s datacenter. It should be fixed now. The problem with posting about it is that it doesn’t reach the people who are actually being affected 🙂

The whole Verizon thing continues to be incredibly entertaining. It’s great when someone is dealing with some minor-in-the-grand-scheme-of-things-but-incredibly-frustrating situation — and the entire blagosphere just decides to drop in commiserate, and back him up. Fun times to be had by all! Here’s my contribution:

Dividing by Zero

I’ve gotten a few emails about a math professor who claims to have solved the problem of dividing by zero.

With the caveat that I am not a professional mathematician, I’m pretty sure this is silly. For one, any time that you have a major, front-page scientific or mathematical result reported by a mainstream news organization that does not contain some version of the phrase “this discovery, which was published in [name of major peer-reviewed journal],” you are probably looking at a news organization that is not doing their job. Until I see a group of mathematicians look over his results and say that they are consistent and significant extensions of the current body of mathematics, I’m really not buying it.

The other reason I’m not buying it is that I don’t see how you can “solve” that problem. The article says that the whole idea is that this can make divide-by-zero crashes go away. This doesn’t really make sense. When I worked with LabVIEW, one thing I noticed was that the result of dividing by zero was propagated through the system as “NaN” — Not a Number. This didn’t make anything work better. It just pointed out that I had made a mistake somewhere. If you have set up an equation where you are trying to divide by zero, you have done something WRONG. You can make the system fail gracefully or not, but that’s a matter of crash handling. Just spitting out the result “Nullity” doesn’t fix things. Sure, you could then make the next part of the program handle “Nullity” as a special case. But that’s not mathematical, that’s algorithmic.

Now, it’s true that this is sounds similar to the way the mathematical community responded to the idea of the square root of minus one being treated as a number, which was only really accepted in the 19th century, or the way negative numbers were dealt with before that. But I don’t think dividing by zero is really the same thing. Until someone can do more than just use a word like “Nullity” to mean “Undefined” (I remember trying that in 10th grade), this isn’t a useful concept, and it’s not going to stop programs from crashing when the programmer writes a function with an equation that’s supposed to spit out a real number and doesn’t. We’ve been using symbols to refer to the result of dividing by zero for years now. They don’t mean anything mathematically and they don’t solve any problem.

Wondermark Auction for Child's Play

David Malki: He’s the author of Wondermark, in which he painstakingly scans and cleans up illustrations from his collection of 19th-century rare books, and then smears poop jokes all over them in Photoshop. He and his Sharpie collection are also the reason they have guards standing around around so many of the paintings in the Louvre. He is also the seach-and-rescue pilot who picked you up that one time when you were playing with your GPS outside Las Vegas (this line will make sense in a few weeks when you read one of the upcoming xkcd comics. TEMPORALLY UNCONVENTIONAL COMEDIC REFERENCE!). He also edited that trailer you saw a while back when you went to watch Garfield: A Tail of Two Kitties for some reason.

The reason I bring this dude up is that he’s auctioning off three unique framed Wondermark poster prints via eBay auctions, the first of which is now in progress. One hundred percent of the proceeds will go to Child’s Play, a charity started by webcomickers Gabe and Tycho of Penny Arcade to buy games for hospitalized kids to play with as they lie in their beds for weeks on end.

So, here’s a chance to put genuine art on your wall without letting go of your inherent cynicism regarding anything heartfelt! And at the same time, you can rationalize your bid by knowing that if you win, your money goes to do something good and help show that gamers and bloggers are maybe good for something beyond standing in long lines outside Best Buy at 3:00 AM. Go bid.