On these two networks, I saw groups of talking heads blathering about how there wasn't any attacks on McCain. I remembered Lessig's plea for the networks to actually cover the convention. Then I switched to CNN and immediately heard Montana Governor Brian Schweitzer give a real zinger. He said that we wouldn't have enough oil to get out of this crisis if we drilled in all the backyards that John McCain doesn't even know he has! It's perhaps not a vote-switching argument for independents, but the blathering idiots on the other networks weren't even covering the speech!
Thank you CNN!
Tuesday, August 26, 2008
International Olympic Committee yanks protest of Tibet
According to a slashdot article, the IOC asked youtube to take down a video that protested China's actions in Tibet. The tacky thing about the complaint is that the IOC complained about use of the olympic logo in the protest. (We're not convinced, IOC!) Youtube caved. Apparently vimeo has not yet done so. Here's the clip.
NYC Chinese Consulate Projection Action 08.07.08 from Students for a Free Tibet on Vimeo.
NYC Chinese Consulate Projection Action 08.07.08 from Students for a Free Tibet on Vimeo.
Labels:
politics
Monday, August 25, 2008
Using povray to select interesting portions of Mandelbrot fractal space
I was looking for interesting regions of the Mandelbrot fractal set. I developed an algorithm in povray to visit random points, and then determine if they were interesting or not. Basically, I was looking for a color difference in the highest magnification-- such that the difference of the lengths of the color vector were at least a certain distance. In the code below, I had previously defined a pigment "thefracpig".
#declare ready=0;
#while(ready<9999)
#declare lokey= <-0.540,-0.5435,0> +.25*<0.5-rand(ppp),0.5-rand(ppp),0>;
#declare pigoo=eval_pigment(thefracpig,lokey);
#declare pigoo2=eval_pigment(thefracpig,lokey+1e-11*<1,1,0>);
#declare yow=vlength();
#declare yow2=vlength();
#if (abs(yow-yow2)>0.3)
#declare ready=ready+10000;
#end
#declare ready=ready+1;
#end
What was interesting here is that I learned, if my limited sampling has any value, something about the geography of the Mandelbrot fractal space. I was hoping I'd find all kinds of little Mandelbrot nurseries-- the kinds of places where the characteristic "overlapping spheres" were being birthed. This is the kinds of places that in my experience makes the kind of art that folks like to see posters made out of. Instead I found lots of places where the set is changing extremely rapidly. In these places of rapid change, it may be impossible to apply a color pattern to it that will have any aesthetic value. The first image below is an example of what I'm talking about.
Now, on to develop an algorithm where I can find "Mandelbrot nurseries"!



#declare ready=0;
#while(ready<9999)
#declare lokey= <-0.540,-0.5435,0> +.25*<0.5-rand(ppp),0.5-rand(ppp),0>;
#declare pigoo=eval_pigment(thefracpig,lokey);
#declare pigoo2=eval_pigment(thefracpig,lokey+1e-11*<1,1,0>);
#declare yow=vlength();
#declare yow2=vlength();
#if (abs(yow-yow2)>0.3)
#declare ready=ready+10000;
#end
#declare ready=ready+1;
#end
What was interesting here is that I learned, if my limited sampling has any value, something about the geography of the Mandelbrot fractal space. I was hoping I'd find all kinds of little Mandelbrot nurseries-- the kinds of places where the characteristic "overlapping spheres" were being birthed. This is the kinds of places that in my experience makes the kind of art that folks like to see posters made out of. Instead I found lots of places where the set is changing extremely rapidly. In these places of rapid change, it may be impossible to apply a color pattern to it that will have any aesthetic value. The first image below is an example of what I'm talking about.
Now, on to develop an algorithm where I can find "Mandelbrot nurseries"!



Labels:
povray
Sunday, August 24, 2008
Saddleback: Conservatives' beef with Christianity
A reading from Jeremiah 26:
In the time of the prophet Jeremiah, the national priests had a metric for authentic words from the Lord. If the words were for the city, they were okay. If the words called the people of the city to repentance, they were naturally against the national religion and its speaker worthy of death. Do we have a similar metric today among practitioners of national religion?
The "Lutheran Zephyr" blog has this remarkable analysis of the recent debate between McCain and Obama at Saddleback, the church of Rick Warren. He quotes from the CNN transcript of the event.
Here's McCain's answer to the question of evil:
Here's Obama's response:
Before I get started in my commentary on these responses, let me affirm that I support the churches faithfully following documents like evangelicals' The Lausanne Covenant and the Lutherans' Book of Concord. If persons in such churches have something to teach me, even about public policy, I'm all ears. What gets under my skin, however, is when folks settle for a nominal subscription to the documents but are ultimately about affluence and personal peace. (Two things that Francis Schaeffer, evangelical theologian, excoriated Christians for in his writings.)
One thing that Obama will probably not do is leave folks alone in their affluence and personal peace.
If you know anything about Christian doctrine, there's a marked difference in the theologies of these two men as expressed in the above quotes. Obama sees evil as something in all of us. McCain readily identifies evil with the enemy of the nation-state and dresses his military campaign against them in theological rhetoric that should make believers shudder.
It's sad that so few did.
The priests, the prophets and all the people heard Jeremiah speak these words in the house of the LORD. 8 But as soon as Jeremiah finished telling all the people everything the LORD had commanded him to say, the priests, the prophets and all the people seized him and said, "You must die! 9 Why do you prophesy in the LORD's name that this house will be like Shiloh and this city will be desolate and deserted?" And all the people crowded around Jeremiah in the house of the LORD.
10 When the officials of Judah heard about these things, they went up from the royal palace to the house of the LORD and took their places at the entrance of the New Gate of the LORD's house. 11 Then the priests and the prophets said to the officials and all the people, "This man should be sentenced to death because he has prophesied against this city. You have heard it with your own ears!"
12 Then Jeremiah said to all the officials and all the people: "The LORD sent me to prophesy against this house and this city all the things you have heard. 13 Now reform your ways and your actions and obey the LORD your God. Then the LORD will relent and not bring the disaster he has pronounced against you. 14 As for me, I am in your hands; do with me whatever you think is good and right. 15 Be assured, however, that if you put me to death, you will bring the guilt of innocent blood on yourselves and on this city and on those who live in it, for in truth the LORD has sent me to you to speak all these words in your hearing."
In the time of the prophet Jeremiah, the national priests had a metric for authentic words from the Lord. If the words were for the city, they were okay. If the words called the people of the city to repentance, they were naturally against the national religion and its speaker worthy of death. Do we have a similar metric today among practitioners of national religion?
The "Lutheran Zephyr" blog has this remarkable analysis of the recent debate between McCain and Obama at Saddleback, the church of Rick Warren. He quotes from the CNN transcript of the event.
Here's McCain's answer to the question of evil:
WARREN: How about the issue of evil. I asked this of your rival, in the previous debate. Does evil exist and, if so, should [we] ignore it, negotiate with it, contain it or defeat it?
MCCAIN: Defeat it. A couple of points. One, if I'm president of the United States, my friends, if I have to follow him to the gates of hell, I will get bin Laden and bring him to justice. I will do that. And I know how to do that. I will get that done. (APPLAUSE). No one, no one should be allowed to take thousands of American -- innocent American lives.
Of course, evil must be defeated. My friends, we are facing the transcended challenge of the 21st century -- radical Islamic extremism.
Not long ago in Baghdad, al Qaeda took two young women who were mentally disabled, and put suicide vests on them, sent them into a marketplace and, by remote control, detonated those suicide vests. If that isn't evil, you have to tell me what is. And we're going to defeat this evil. And the central battleground according to David Petraeus and Osama bin Laden is the battle, is Baghdad, Mosul, Basra and Iraq and we are winning and succeeding and our troops will come home with honor and with victory and not in defeat. And that's what's happening.
And we have -- and we face this threat throughout the world. It's not just in Iraq. It's not just in Afghanistan. Our intelligence people tell us al Qaeda continues to try to establish cells here in the United States of America. My friends, we must face this challenge. We can face this challenge. And we must totally defeat it, and we're in a long struggle. But when I'm around, the young men and women who are serving this nation in uniform, I have no doubt, none.
Here's Obama's response:
WARREN: OK, we've got one last time -- I've got a bunch more, but let me ask you one about evil. Does evil exist? And if it does, do we ignore it? Do we negotiate with it? Do we contain it? Do we defeat it?
OBAMA: Evil does exist. I mean, I think we see evil all the time. We see evil in Darfur. We see evil, sadly, on the streets of our cities. We see evil in parents who viciously abuse their children. I think it has to be confronted. It has to be confronted squarely, and one of the things that I strongly believe is that, now, we are not going to, as individuals, be able to erase evil from the world. That is God's task, but we can be soldiers in that process, and we can confront it when we see it.
Now, the one thing that I think is very important is for to us have some humility in how we approach the issue of confronting evil, because a lot of evil's been perpetrated based on the claim that we were trying to confront evil.
WARREN: In the name of good.
OBAMA: In the name of good, and I think, you know, one thing that's very important is having some humility in recognizing that just because we think that our intentions are good, doesn't always mean that we're going to be doing good.
WARREN: OK. All right.
Before I get started in my commentary on these responses, let me affirm that I support the churches faithfully following documents like evangelicals' The Lausanne Covenant and the Lutherans' Book of Concord. If persons in such churches have something to teach me, even about public policy, I'm all ears. What gets under my skin, however, is when folks settle for a nominal subscription to the documents but are ultimately about affluence and personal peace. (Two things that Francis Schaeffer, evangelical theologian, excoriated Christians for in his writings.)
One thing that Obama will probably not do is leave folks alone in their affluence and personal peace.
If you know anything about Christian doctrine, there's a marked difference in the theologies of these two men as expressed in the above quotes. Obama sees evil as something in all of us. McCain readily identifies evil with the enemy of the nation-state and dresses his military campaign against them in theological rhetoric that should make believers shudder.
It's sad that so few did.
Labels:
christianity
Saturday, August 16, 2008
The kind of pranks that mimes must play.
Today, I was just imagining what kind of pranks you could play on friends if you were a really good mime. I guess that mimes learn how to create the illusion of mass. They could take a small empty box, and carry it out in public like it's really heavy. Then if they were to throw it at someone, I'm imagining it could give their friends a real start.
Labels:
culture
Thursday, August 14, 2008
Wednesday, August 13, 2008
A look at the junk mail going to "heydude@mailinator.com"
Mailinator is a web site that offers you free "inbox" email. Make up any userid at all-- "heydude" or "frompresidentbushtogreg" -- and you can go to mailinator to look for mail that has been sent to them. So if you've got an acquaintance that you fear may be a flake or a scammer-- you can make up an address on the spot without having to give out your real address.
Labels:
culture
Thursday, August 07, 2008
Musings about the Netflix Prize
The Netflix Prize is a contest by the movie distribution company Netflix. The goal is to come up with the best algorithm for predicting a user's future preferences in movies based on the ratings he or she has given to previously viewed movies. I have a really good idea for this but am too lazy and busy to invest the time in trying it out. So I'm posting it here.
First of all, I would state what I imagine is a typical and very poor movie rating system. If one rates a handful of movies, the algorithm decides which genre is your favorite. Then it suggests to you the most popular movies from your favorite genres. Lame lame lame LAME!
My idea involves concentrating on what I believe are the most important ratings for determining a user's actual heart in movies. These ratings are when a user has very different likes for different movies in a trilogy or a series that are nominally the same. Suppose someone loved Star Wars Episode Three (5 stars) but hated Star Wars Episode Two (1 star). For the lame algorithm described previously, it would merely average 1 and 5 stars to get 3 stars for the user's general preference for the science fiction genre. I say that the few places where one really sees how a user feels about film are shown when they have unexpectedly different ratings for nominally similar films. Supppose you love Dr. No but hate From Russia With Love, suppose you love the Joel episodes of Mystery Science Theatre but hate the Mike and Mrs. Forrester ones. That says everything about your tastes. My algorithm would ignore most of the ratings except these differentiating ones from series, and go seek out other users who had done the same. Then my algo would serve the user with films which were 5-star rated from these similar users.
That I believe is a winning algorithm.
First of all, I would state what I imagine is a typical and very poor movie rating system. If one rates a handful of movies, the algorithm decides which genre is your favorite. Then it suggests to you the most popular movies from your favorite genres. Lame lame lame LAME!
My idea involves concentrating on what I believe are the most important ratings for determining a user's actual heart in movies. These ratings are when a user has very different likes for different movies in a trilogy or a series that are nominally the same. Suppose someone loved Star Wars Episode Three (5 stars) but hated Star Wars Episode Two (1 star). For the lame algorithm described previously, it would merely average 1 and 5 stars to get 3 stars for the user's general preference for the science fiction genre. I say that the few places where one really sees how a user feels about film are shown when they have unexpectedly different ratings for nominally similar films. Supppose you love Dr. No but hate From Russia With Love, suppose you love the Joel episodes of Mystery Science Theatre but hate the Mike and Mrs. Forrester ones. That says everything about your tastes. My algorithm would ignore most of the ratings except these differentiating ones from series, and go seek out other users who had done the same. Then my algo would serve the user with films which were 5-star rated from these similar users.
That I believe is a winning algorithm.
Labels:
culture
Friday, July 25, 2008
If you wear that red dress...

... um, it's not what you think. I was just starting to experiment with vertex pinning in the making of clothes for makehuman characters. I started out with this, and, um, it turns out that it's a dress! Maybe I can cut the cloth between the legs to make pant legs and then re-bake. This looked interesting so I thought I'd share.
Labels:
blender
Thursday, July 24, 2008
A tutorial on making pinned cloth in blender 2.46.
This tutorial shows how to simulate a curtain blowing in the wind using blender 2.46. I saw some conflicting advice in a forum, so I had to figure out what were the essential steps. If it's not entirely visible here, consider going to the Youtube page for that anim and watching it full screen.
Here are the steps:
1. Create a mesh that is a grid-- use a high number of vertex counts-- I used 32 for each of x and y here.
2. (Not shown) Under the mesh editing tab, Set Smooth. (I forgot to do it in this anim).
3. Go into Edit Mode (Tab), and select the row of vertices you want to serve as the "curtain rod". Here I did it with B B select, and have somewhat sloppy results. You could switch to Top View and select one column more precisely with a B select.
4. In the Mesh Editing tab, Click on New under the Vertex Groups area. Type in a name for your new Vertex Group. Here, I called it "pinned".
5. Hit the Assign button to assign your selected vertices to the new Vertex Group.
6. Unselect all the vertices by hitting A A.
7. Go to the Object Editing area, make sure you're under the particle editing button, and hit Cloth. It automatically comes up with the settings that simulate Cotton.
8. Just underneath here you'll find the button for Pinning of Cloth. Hit it and if you're lucky, the Vertex Group "pinned" will already be selected.
9. To make it interesting, I added an Empty. This will be the vehicle where we describe how the wind will act on the object.
10. The wind will be coming out of the "Z" axis on the empty. I rotated the Empty until its z was pointing at my curtain at an oblique angle.
11. Under the Empty's physics tabs, I set up a Field of Wind. I set a Strength of the Field to be a number between 1 and 10.
12. I selected the curtain again with a right click on it.
13. I hit Ctrl-B to Bake the curtain. I chose the selection of "Bake Selected."
14. You will now see the mesh react to the three (or more) forces you've placed on it: gravity, pinned vertices, and wind. It will compute a Bake for the number of frames prescribed in the "Collision" tab.
15. There you go!
This version has at least two things which make it ugly: I forgot to "Set Smooth", and the region of pinned vertices is quite sloppily chosen. For a slightly less ugly version, see my previous post on the matter.
Enjoy.
Here are the steps:
1. Create a mesh that is a grid-- use a high number of vertex counts-- I used 32 for each of x and y here.
2. (Not shown) Under the mesh editing tab, Set Smooth. (I forgot to do it in this anim).
3. Go into Edit Mode (Tab), and select the row of vertices you want to serve as the "curtain rod". Here I did it with B B select, and have somewhat sloppy results. You could switch to Top View and select one column more precisely with a B select.
4. In the Mesh Editing tab, Click on New under the Vertex Groups area. Type in a name for your new Vertex Group. Here, I called it "pinned".
5. Hit the Assign button to assign your selected vertices to the new Vertex Group.
6. Unselect all the vertices by hitting A A.
7. Go to the Object Editing area, make sure you're under the particle editing button, and hit Cloth. It automatically comes up with the settings that simulate Cotton.
8. Just underneath here you'll find the button for Pinning of Cloth. Hit it and if you're lucky, the Vertex Group "pinned" will already be selected.
9. To make it interesting, I added an Empty. This will be the vehicle where we describe how the wind will act on the object.
10. The wind will be coming out of the "Z" axis on the empty. I rotated the Empty until its z was pointing at my curtain at an oblique angle.
11. Under the Empty's physics tabs, I set up a Field of Wind. I set a Strength of the Field to be a number between 1 and 10.
12. I selected the curtain again with a right click on it.
13. I hit Ctrl-B to Bake the curtain. I chose the selection of "Bake Selected."
14. You will now see the mesh react to the three (or more) forces you've placed on it: gravity, pinned vertices, and wind. It will compute a Bake for the number of frames prescribed in the "Collision" tab.
15. There you go!
This version has at least two things which make it ugly: I forgot to "Set Smooth", and the region of pinned vertices is quite sloppily chosen. For a slightly less ugly version, see my previous post on the matter.
Enjoy.
Labels:
blender
Subscribe to:
Posts (Atom)
