<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Dustraction Services</title>
	<atom:link href="http://distroid.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://distroid.wordpress.com</link>
	<description>An Icicle Department Company</description>
	<lastBuildDate>Thu, 24 Jan 2008 06:45:08 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='distroid.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/40cc5b48b4a351641faf512a598fac59?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Dustraction Services</title>
		<link>http://distroid.wordpress.com</link>
	</image>
			<item>
		<title>:The Story of Mel, a Real Programmer: =====================================</title>
		<link>http://distroid.wordpress.com/2008/01/24/the-story-of-mel-a-real-programmer/</link>
		<comments>http://distroid.wordpress.com/2008/01/24/the-story-of-mel-a-real-programmer/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 06:41:57 +0000</pubDate>
		<dc:creator>distroid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://distroid.wordpress.com/2008/01/24/the-story-of-mel-a-real-programmer/</guid>
		<description><![CDATA[:The Story of Mel, a Real Programmer: =====================================
This was posted to USENET by its author, Ed Nather (utastro!nather), on May 21, 1983.
A recent article devoted to the *macho* side of programming made the bald and unvarnished statement:
Real Programmers write in FORTRAN.
Maybe they do now, in this decadent era of Lite beer, hand calculators, and &#8220;user-friendly&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=488&subd=distroid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>:The Story of Mel, a Real Programmer: =====================================<br />
This was posted to USENET by its author, Ed Nather (utastro!nather), on May 21, 1983.<br />
A recent article devoted to the *macho* side of programming made the bald and unvarnished statement:<br />
Real Programmers write in FORTRAN.<br />
Maybe they do now, in this decadent era of Lite beer, hand calculators, and &#8220;user-friendly&#8221; software but back<br />
in the Good Old Days, when the term &#8220;software&#8221; sounded funny and Real Computers were made out of drums<br />
and vacuum tubes, Real Programmers wrote in machine code. Not FORTRAN. Not RATFOR. Not, even,<br />
assembly language. Machine Code. Raw, unadorned, inscrutable hexadecimal numbers. Directly.<br />
Information prepared by the Project Gutenberg legal advisor 264<br />
Lest a whole new generation of programmers grow up in ignorance of this glorious past, I feel duty-bound to<br />
describe, as best I can through the generation gap, how a Real Programmer wrote code. I&#8217;ll call him Mel,<br />
because that was his name.<br />
I first met Mel when I went to work for Royal McBee Computer Corp., a now-defunct subsidiary of the<br />
typewriter company. The firm manufactured the LGP-30, a small, cheap (by the standards of the day)<br />
drum-memory computer, and had just started to manufacture the RPC-4000, a much-improved, bigger, better,<br />
faster &#8212; drum-memory computer. Cores cost too much, and weren&#8217;t here to stay, anyway. (That&#8217;s why you<br />
haven&#8217;t heard of the company, or the computer.)<br />
I had been hired to write a FORTRAN compiler for this new marvel and Mel was my guide to its wonders.<br />
Mel didn&#8217;t approve of compilers.<br />
&#8220;If a program can&#8217;t rewrite its own code&#8221;, he asked, &#8220;what good is it?&#8221;<br />
Mel had written, in hexadecimal, the most popular computer program the company owned. It ran on the<br />
LGP-30 and played blackjack with potential customers at computer shows. Its effect was always dramatic.<br />
The LGP-30 booth was packed at every show, and the IBM salesmen stood around talking to each other.<br />
Whether or not this actually sold computers was a question we never discussed.<br />
Mel&#8217;s job was to re-write the blackjack program for the RPC-4000. (Port? What does that mean?) The new<br />
computer had a one-plus-one addressing scheme, in which each machine instruction, in addition to the<br />
operation code and the address of the needed operand, had a second address that indicated where, on the<br />
revolving drum, the next instruction was located.<br />
In modern parlance, every single instruction was followed by a GO TO! Put *that* in Pascal&#8217;s pipe and smoke<br />
it.<br />
Mel loved the RPC-4000 because he could optimize his code: that is, locate instructions on the drum so that<br />
just as one finished its job, the next would be just arriving at the &#8220;read head&#8221; and available for immediate<br />
execution. There was a program to do that job, an &#8220;optimizing assembler&#8221;, but Mel refused to use it.<br />
&#8220;You never know where it&#8217;s going to put things&#8221;, he explained, &#8220;so you&#8217;d have to use separate constants&#8221;.<br />
It was a long time before I understood that remark. Since Mel knew the numerical value of every operation<br />
code, and assigned his own drum addresses, every instruction he wrote could also be considered a numerical<br />
constant. He could pick up an earlier &#8220;add&#8221; instruction, say, and multiply by it, if it had the right numeric<br />
value. His code was not easy for someone else to modify.<br />
I compared Mel&#8217;s hand-optimized programs with the same code massaged by the optimizing assembler<br />
program, and Mel&#8217;s always ran faster. That was because the &#8220;top-down&#8221; method of program design hadn&#8217;t<br />
been invented yet, and Mel wouldn&#8217;t have used it anyway. He wrote the innermost parts of his program loops<br />
first, so they would get first choice of the optimum address locations on the drum. The optimizing assembler<br />
wasn&#8217;t smart enough to do it that way.<br />
Mel never wrote time-delay loops, either, even when the balky Flexowriter required a delay between output<br />
characters to work right. He just located instructions on the drum so each successive one was just *past* the<br />
read head when it was needed; the drum had to execute another complete revolution to find the next<br />
instruction. He coined an unforgettable term for this procedure. Although &#8220;optimum&#8221; is an absolute term, like<br />
&#8220;unique&#8221;, it became common verbal practice to make it relative: &#8220;not quite optimum&#8221; or &#8220;less optimum&#8221; or<br />
&#8220;not very optimum&#8221;. Mel called the maximum time-delay locations the &#8220;most pessimum&#8221;.<br />
Information prepared by the Project Gutenberg legal advisor 265<br />
After he finished the blackjack program and got it to run (&#8220;Even the initializer is optimized&#8221;, he said proudly),<br />
he got a Change Request from the sales department. The program used an elegant (optimized) random number<br />
generator to shuffle the &#8220;cards&#8221; and deal from the &#8220;deck&#8221;, and some of the salesmen felt it was too fair, since<br />
sometimes the customers lost. They wanted Mel to modify the program so, at the setting of a sense switch on<br />
the console, they could change the odds and let the customer win.<br />
Mel balked. He felt this was patently dishonest, which it was, and that it impinged on his personal integrity as<br />
a programmer, which it did, so he refused to do it. The Head Salesman talked to Mel, as did the Big Boss and,<br />
at the boss&#8217;s urging, a few Fellow Programmers. Mel finally gave in and wrote the code, but he got the test<br />
backwards, and, when the sense switch was turned on, the program would cheat, winning every time. Mel was<br />
delighted with this, claiming his subconscious was uncontrollably ethical, and adamantly refused to fix it.<br />
After Mel had left the company for greener pa$ture$, the Big Boss asked me to look at the code and see if I<br />
could find the test and reverse it. Somewhat reluctantly, I agreed to look. Tracking Mel&#8217;s code was a real<br />
adventure.<br />
I have often felt that programming is an art form, whose real value can only be appreciated by another versed<br />
in the same arcane art; there are lovely gems and brilliant coups hidden from human view and admiration,<br />
sometimes forever, by the very nature of the process. You can learn a lot about an individual just by reading<br />
through his code, even in hexadecimal. Mel was, I think, an unsung genius.<br />
Perhaps my greatest shock came when I found an innocent loop that had no test in it. No test. *None*.<br />
Common sense said it had to be a closed loop, where the program would circle, forever, endlessly. Program<br />
control passed right through it, however, and safely out the other side. It took me two weeks to figure it out.<br />
The RPC-4000 computer had a really modern facility called an index register. It allowed the programmer to<br />
write a program loop that used an indexed instruction inside; each time through, the number in the index<br />
register was added to the address of that instruction, so it would refer to the next datum in a series. He had<br />
only to increment the index register each time through. Mel never used it.<br />
Instead, he would pull the instruction into a machine register, add one to its address, and store it back. He<br />
would then execute the modified instruction right from the register. The loop was written so this additional<br />
execution time was taken into account &#8212; just as this instruction finished, the next one was right under the<br />
drum&#8217;s read head, ready to go. But the loop had no test in it.<br />
The vital clue came when I noticed the index register bit, the bit that lay between the address and the<br />
operation code in the instruction word, was turned on &#8212; yet Mel never used the index register, leaving it zero<br />
all the time. When the light went on it nearly blinded me.<br />
He had located the data he was working on near the top of memory &#8212; the largest locations the instructions<br />
could address &#8212; so, after the last datum was handled, incrementing the instruction address would make it<br />
overflow. The carry would add one to the operation code, changing it to the next one in the instruction set: a<br />
jump instruction. Sure enough, the next program instruction was in address location zero, and the program<br />
went happily on its way.<br />
I haven&#8217;t kept in touch with Mel, so I don&#8217;t know if he ever gave in to the flood of change that has washed over<br />
programming techniques since those long-gone days. I like to think he didn&#8217;t. In any event, I was impressed<br />
enough that I quit looking for the offending test, telling the Big Boss I couldn&#8217;t find it. He didn&#8217;t seem<br />
surprised.<br />
When I left the company, the blackjack program would still cheat if you turned on the right sense switch, and<br />
I think that&#8217;s how it should be. I didn&#8217;t feel comfortable hacking up the code of a Real Programmer.<br />
Information prepared by the Project Gutenberg legal advisor 266<br />
This is one of hackerdom&#8217;s great heroic epics, free verse or no. In a few spare images it captures more about<br />
the esthetics and psychology of hacking than all the scholarly volumes on the subject put together. For an<br />
opposing point of view, see the entry for {real programmer}.<br />
[1992 postscript --- the author writes: "The original submission to the net was not in free verse, nor any<br />
approximation to it --- it was straight prose style, in non-justified paragraphs. In bouncing around the net it<br />
apparently got modified into the `free verse' form now popular. In other words, it got hacked on the net. That<br />
seems appropriate, somehow."]</p>
<p>I dig that shit man wow</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/distroid.wordpress.com/488/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/distroid.wordpress.com/488/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/distroid.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/distroid.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/distroid.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/distroid.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/distroid.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/distroid.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/distroid.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/distroid.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/distroid.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/distroid.wordpress.com/488/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=488&subd=distroid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://distroid.wordpress.com/2008/01/24/the-story-of-mel-a-real-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98bd95e207b121755265805da05d5ee3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">distroid</media:title>
		</media:content>
	</item>
		<item>
		<title>Worst Contextual Ad Mess Up of All-Time!</title>
		<link>http://distroid.wordpress.com/2008/01/14/worst-contextual-ad-mess-up-of-all-time/</link>
		<comments>http://distroid.wordpress.com/2008/01/14/worst-contextual-ad-mess-up-of-all-time/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 14:10:24 +0000</pubDate>
		<dc:creator>distroid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://distroid.wordpress.com/2008/01/14/worst-contextual-ad-mess-up-of-all-time/</guid>
		<description><![CDATA[This one defies description.  You&#8217;ve got to see it to believe it.
read more &#124; digg story
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=487&subd=distroid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This one defies description.  You&#8217;ve got to see it to believe it.</p>
<p><a href="http://www.adrants.com/images/iomega_burn_baby.jpg">read more</a> | <a href="http://digg.com/business_finance/Worst_Contextual_Ad_Mess_Up_of_All-Time_">digg story</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/distroid.wordpress.com/487/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/distroid.wordpress.com/487/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/distroid.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/distroid.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/distroid.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/distroid.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/distroid.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/distroid.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/distroid.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/distroid.wordpress.com/487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/distroid.wordpress.com/487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/distroid.wordpress.com/487/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=487&subd=distroid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://distroid.wordpress.com/2008/01/14/worst-contextual-ad-mess-up-of-all-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98bd95e207b121755265805da05d5ee3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">distroid</media:title>
		</media:content>
	</item>
		<item>
		<title>simplest ui snippet</title>
		<link>http://distroid.wordpress.com/2008/01/08/simplest-ui-snippet/</link>
		<comments>http://distroid.wordpress.com/2008/01/08/simplest-ui-snippet/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 05:32:13 +0000</pubDate>
		<dc:creator>distroid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://distroid.wordpress.com/2008/01/08/simplest-ui-snippet/</guid>
		<description><![CDATA[import Blender
from Blender.Draw import *
def ui():
Label("stuff",30,30,50,50)
def ev(e,v):
if not v:return
print e,"\t",v
if e==QKEY:Exit()
Register(ui,ev,None)
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=486&subd=distroid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><code>import Blender<br />
from Blender.Draw import *<br />
def ui():<br />
Label("stuff",30,30,50,50)<br />
def ev(e,v):<br />
if not v:return<br />
print e,"\t",v<br />
if e==QKEY:Exit()<br />
Register(ui,ev,None)</code></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/distroid.wordpress.com/486/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/distroid.wordpress.com/486/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/distroid.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/distroid.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/distroid.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/distroid.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/distroid.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/distroid.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/distroid.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/distroid.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/distroid.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/distroid.wordpress.com/486/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=486&subd=distroid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://distroid.wordpress.com/2008/01/08/simplest-ui-snippet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98bd95e207b121755265805da05d5ee3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">distroid</media:title>
		</media:content>
	</item>
		<item>
		<title>another script for blender</title>
		<link>http://distroid.wordpress.com/2008/01/07/another-script-for-blender/</link>
		<comments>http://distroid.wordpress.com/2008/01/07/another-script-for-blender/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 07:46:40 +0000</pubDate>
		<dc:creator>distroid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://distroid.wordpress.com/2008/01/07/another-script-for-blender/</guid>
		<description><![CDATA[#!BPY
&#8220;&#8221;"
Name:&#8217;EyeFab&#8217;
Blender:245
Group:&#8217;Mesh&#8217;
Tooltip:&#8217;an odd tool&#8217;
&#8220;&#8221;"
import Blender
import bpy
from Blender import Draw
from Blender import Window
import math
global N                                # number which is used in moduli op w/ vert.indices
global inv_mod_truthex                  # either selects when remainder is zero or not zero. could add offset here
global color_a,color_b,color_c,color_d  # solid face : solid vert /:/ blend face : blend vert
global init_color_a,init_color_b
global init_color_c,init_color_d
global skipping_hidden                  # [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=485&subd=distroid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>#!BPY<br />
&#8220;&#8221;"<br />
Name:&#8217;EyeFab&#8217;<br />
Blender:245<br />
Group:&#8217;Mesh&#8217;<br />
Tooltip:&#8217;an odd tool&#8217;<br />
&#8220;&#8221;"<br />
import Blender<br />
import bpy<br />
from Blender import Draw<br />
from Blender import Window<br />
import math<br />
global N                                # number which is used in moduli op w/ vert.indices<br />
global inv_mod_truthex                  # either selects when remainder is zero or not zero. could add offset here<br />
global color_a,color_b,color_c,color_d  # solid face : solid vert /:/ blend face : blend vert<br />
global init_color_a,init_color_b<br />
global init_color_c,init_color_d<br />
global skipping_hidden                  # when enabled skips hidden during n select operations<br />
global irf,igf,ibf                      # initial rgb sine mutilators<br />
global showhelp<br />
showhelp=False<br />
irf=1.1000001<br />
igf=1.1000002<br />
ibf=1.1000003<br />
gridmax=64                              # a rather smallish grid hardcoded here<br />
N = 2                                   # every other vertex by index<br />
skipping_hidden=False                 # starts out disabled<br />
inv_mod_truthex = False               # starts out disabled<br />
init_color_a=(0.5, 0.5, 0.5)            # grey<br />
init_color_b=(0.5, 0.5, 0.5)<br />
init_color_c=(0.5, 0.5, 0.5)<br />
init_color_d=(0.5, 0.5, 0.5)</p>
<p># Theres work in progress here&#8212;-&gt;<br />
class SineModule:<br />
def __init__(self,freq):<br />
self.freq=freq<br />
def getN(self,n):<br />
return int(math.sin(self.freq*n)*128)+128</p>
<p>class FqMultiModule:<br />
def __init__(self,FqModuleSet):<br />
self.fqs=[]<br />
for fq in FqModuleSet:<br />
self.fqs.append(SineModule(fq))<br />
def getN(self,n):<br />
ret=[]<br />
for fq in self.fqs:<br />
ret.append(fq.getN(n))<br />
return ret</p>
<p>scn=Blender.Scene.GetCurrent()          # scn that x 1,000,000<br />
meshes = [me for me in scn.objects.selected if (me.type=='Mesh')]<br />
if len(meshes)&lt;1:                       # checking for at least one selected mesh<br />
scn.objects.selected=[]         # but otherwise make a grid (user input res)<br />
res=Draw.PupIntInput(&#8220;res for grid:&#8221;,32,4,gridmax)<br />
if res==None:Blender.Draw.Exit()# how rude<br />
newGrid=Blender.Mesh.Primitives.Grid(res,res,2)<br />
newObject=scn.objects.new(newGrid,&#8221;newGrid&#8221;)<br />
scn.objects.active=newObject<br />
Window.RedrawAll()<br />
Window.EditMode(0)<br />
scn=Blender.Scene.GetCurrent()          # scn that x 1,000,001<br />
scn.objects.active.drawType=5<br />
Window.RedrawAll()<br />
sce= bpy.data.scenes.active             # now for the bpy part so certain key things are easier than w/o bpy<br />
ob_act = sce.objects.active<br />
obj= ob_act.getData(mesh=1)<br />
obj.vertexColors=True                   # careful: if you already have vertex colors of your own<br />
# make them a new channel at least so they dont get destroyed in a moment<br />
# and a reinit in case&#8230;<br />
def reinit(evt=None,val=None):<br />
global obj<br />
scn=Blender.Scene.GetCurrent()<br />
meshes = [me for me in scn.objects.selected if (me.type=='Mesh')]<br />
if len(meshes)&lt;1:<br />
scn.objects.selected=[]<br />
res=Draw.PupIntInput(&#8220;res for grid:&#8221;,32,4,gridmax)<br />
if res==None:Blender.Draw.Exit()<br />
newGrid=Blender.Mesh.Primitives.Grid(res,res,2)<br />
newObject=scn.objects.new(newGrid,&#8221;newGrid&#8221;)<br />
scn.objects.active=newObject<br />
Window.RedrawAll()<br />
Window.EditMode(0)<br />
scn=Blender.Scene.GetCurrent()<br />
scn.objects.active.drawType=5<br />
Window.RedrawAll()<br />
sce= bpy.data.scenes.active<br />
ob_act = sce.objects.active<br />
obj= ob_act.getData(mesh=1)<br />
obj.vertexColors=True</p>
<p>def selN(sl):<br />
Window.EditMode(0)<br />
Window.WaitCursor(1)<br />
if skipping_hidden:             # If skipping hidden&#8211;<br />
# mostly because im bad about coming up with descriptive variable names hehe<br />
these=[v for v in obj.verts if (v.hide==0)]     # for each no hidden vertice:<br />
for j,v in enumerate(these):                    # for each of those by number:<br />
i=v.index<br />
if not inv_mod_truthex:<br />
if (j % N)==0:                  # thars some maths<br />
specific=obj.verts[i]   # required here.<br />
specific.sel=sl<br />
elif inv_mod_truthex:<br />
if (j % N)&gt;0:<br />
specific=obj.verts[i]<br />
specific.sel=sl<br />
elif not skipping_hidden:<br />
for v in obj.verts:<br />
i=v.index<br />
if not inv_mod_truthex:<br />
if (i % N)==0:<br />
specific=obj.verts[i]<br />
specific.sel=sl<br />
elif inv_mod_truthex:<br />
if (i % N)&gt;0:<br />
specific=obj.verts[i]<br />
specific.sel=sl<br />
Window.WaitCursor(0)<br />
Window.EditMode(1)<br />
def hidesel(ornot=0):<br />
Window.EditMode(0)<br />
Window.WaitCursor(1)<br />
if not ornot:<br />
for v in obj.verts:<br />
v.hide=v.sel<br />
elif ornot:<br />
v.hide=not v.sel<br />
Window.WaitCursor(0)<br />
Window.EditMode(1)</p>
<p># associated with the colorpickers:<br />
def colorSelFaceVerts_solid(evt,val):<br />
global init_color_a<br />
red=int(val[0]*255)<br />
gre=int(val[1]*255)<br />
blu=int(val[2]*255)<br />
init_color_a=val<br />
eMode=Window.EditMode()<br />
if eMode:<br />
Window.EditMode(0)<br />
Window.WaitCursor(1)<br />
selected_faces = []<br />
for f in obj.faces:<br />
if f.sel:<br />
selected_faces.append(f)<br />
for f in selected_faces:<br />
for i,v in enumerate(f):<br />
col=f.col[i]<br />
col.r=red<br />
col.g=gre<br />
col.b=blu<br />
if eMode:<br />
Window.EditMode(1)<br />
Window.WaitCursor(0)<br />
def colorSelFaceVerts_blend(evt,val):<br />
global init_color_b<br />
red=int(val[0]*255)<br />
gre=int(val[1]*255)<br />
blu=int(val[2]*255)<br />
init_color_b=val<br />
eMode=Window.EditMode()<br />
if eMode:<br />
Window.EditMode(0)<br />
Window.WaitCursor(1)<br />
selected_faces = []<br />
for f in obj.faces:<br />
if f.sel:<br />
selected_faces.append(f)<br />
for f in selected_faces:<br />
for i,v in enumerate(f):<br />
col=f.col[i]<br />
col.r=(col.r+red)/2<br />
col.g=(col.g+gre)/2<br />
col.b=(col.b+blu)/2<br />
if eMode:<br />
Window.EditMode(1)<br />
Window.WaitCursor(0)</p>
<p>def colorSelVerts_solid(evt,val):<br />
global init_color_c<br />
red=int(val[0]*255)<br />
gre=int(val[1]*255)<br />
blu=int(val[2]*255)<br />
init_color_c=val<br />
eMode=Window.EditMode()<br />
if eMode:<br />
Window.EditMode(0)<br />
Window.WaitCursor(1)<br />
for f in obj.faces:<br />
for i,v in enumerate(f):<br />
if v.sel:<br />
col=f.col[i]<br />
col.r=red<br />
col.g=gre<br />
col.b=blu<br />
if eMode:<br />
Window.EditMode(1)<br />
Window.WaitCursor(0)<br />
def colorSelVerts_blend(evt,val):<br />
global init_color_d<br />
red=int(val[0]*255)<br />
gre=int(val[1]*255)<br />
blu=int(val[2]*255)<br />
init_color_d=val<br />
eMode=Window.EditMode()<br />
if eMode:<br />
Window.EditMode(0)<br />
Window.WaitCursor(1)<br />
selected_faces = []<br />
for f in obj.faces:<br />
for i,v in enumerate(f):<br />
if v.sel:<br />
col=f.col[i]<br />
col.r=(col.r+red)/2<br />
col.g=(col.g+gre)/2<br />
col.b=(col.b+blu)/2<br />
if eMode:<br />
Window.EditMode(1)<br />
Window.WaitCursor(0)</p>
<p>def onlyface(evt=None,val=None):<br />
# i made this one cuz i thought it should be in blender<br />
eMode=Window.EditMode()<br />
if eMode:<br />
Window.EditMode(0)<br />
Window.WaitCursor(1)<br />
selected_faces = [f for f in obj.faces if (f.sel==1)]<br />
for f in obj.faces:<br />
f.sel = 0<br />
for f in selected_faces:<br />
for v in f.verts:<br />
v.sel=1<br />
if eMode:<br />
Window.EditMode(1)<br />
Window.WaitCursor(0)</p>
<p>def swapsel(evt=None,val=None):<br />
# and this is just handy to have around with single key shortcut<br />
eMode=Window.EditMode()<br />
if eMode:<br />
Window.EditMode(0)<br />
Window.WaitCursor(1)<br />
for v in obj.verts:<br />
v.sel = not v.sel<br />
if eMode:<br />
Window.EditMode(1)<br />
Window.WaitCursor(0)</p>
<p>def colorCycle(evt=None,val=None):<br />
# here we have some more math action<br />
eMode=Window.EditMode()<br />
if eMode:<br />
Window.EditMode(0)<br />
Window.WaitCursor(1)<br />
mt=Blender.Get(&#8216;curframe&#8217;)<br />
freq_set=FqMultiModule([irf,igf,ibf])<br />
for f in obj.faces:<br />
for i,v in enumerate(f.verts):<br />
if v.sel==1:<br />
r,g,b=freq_set.getN(v.index)<br />
f.col[i].r=r<br />
f.col[i].g=g<br />
f.col[i].b=b<br />
if eMode:<br />
Window.EditMode(1)<br />
Window.WaitCursor(0)<br />
def selall():<br />
# and another reinvented wheel just for convenience<br />
eMode=Window.EditMode()<br />
if eMode:<br />
Window.EditMode(0)<br />
Window.WaitCursor(1)<br />
foundany=obj.verts.selected()<br />
selcount=len(foundany)<br />
if selcount&gt;0:<br />
for vix in foundany:<br />
obj.verts[vix].sel=0<br />
else:<br />
for v in obj.verts:<br />
obj.verts[v.index].sel=1<br />
if eMode:<br />
Window.EditMode(1)<br />
Window.WaitCursor(0)</p>
<p>def ui():<br />
#the draw loop<br />
W,H=Window.GetAreaSize()<br />
x=y=12<br />
lh=2*x<br />
lw=cpw=cph=(W/2)-x<br />
s_n=&#8221;N:%d&#8221; % N<br />
s_v=&#8221;in(V):%s&#8221; % inv_mod_truthex<br />
s_skip=&#8221;(s)kip:%s&#8221; % skipping_hidden<br />
s_dim=&#8221;w%d h%d&#8221; % (W,H)<br />
Draw.Label(s_n,x,y,lw,lh)<br />
y+=lh<br />
hey_skip=Draw.Toggle(s_skip,7,x,y,lw,lh,skipping_hidden,&#8221;skip hidden verts during (un)select iteration&#8221;,skiptog)<br />
y+=lh<br />
vTog=Draw.Toggle(s_v,9,x,y,lw,lh,inv_mod_truthex,&#8221;invert truth of mod expressions&#8221;,vtog)<br />
y+=lh<br />
Draw.Label(&#8220;==&#8221;, x, y,lw,lh)<br />
Draw.Label(&#8220;&amp;=&#8221;, x+lw, y,lw,lh)<br />
y+=lh<br />
Draw.Label(&#8220;f&#8221;, 0, y, lw, lh)<br />
color_a=Draw.ColorPicker(1,x,y,cpw,cph, init_color_a, &#8220;colors faces 100 percent&#8221;, colorSelFaceVerts_solid)<br />
color_b=Draw.ColorPicker(2,x+cpw,y,cpw,cph, init_color_b, &#8220;colors sel v&#8221;, colorSelFaceVerts_blend)<br />
y+=cph<br />
Draw.Label(&#8220;v&#8221;, 0, y, lw, lh)<br />
color_c=Draw.ColorPicker(3,x,y,cpw,cph, init_color_c, &#8220;colors sel v&#8221;, colorSelVerts_solid)<br />
color_d=Draw.ColorPicker(4,x+cpw,y,cpw,cph, init_color_d, &#8220;colors sel v&#8221;, colorSelVerts_blend)<br />
y+=cph<br />
rf=Draw.Number(&#8220;rf&#8221;,3, x,y,lw,lh,irf,0.00001,2.000,&#8221; &#8220;,set_rf)<br />
Draw.Button(&#8220;go&#8221;,8,x+lw,y,lw,3*lh,&#8221;cycle colors&#8221;,colorCycle)<br />
y+=lh<br />
gf=Draw.Number(&#8220;gf&#8221;,4, x,y,lw,lh,igf,0.00001,2.000,&#8221; &#8220;,set_gf)<br />
y+=lh<br />
bf=Draw.Number(&#8220;bf&#8221;,5, x,y,lw,lh,ibf,0.00001,2.000,&#8221; &#8220;,set_bf)<br />
y+=lh<br />
Draw.Button(&#8220;oFacev&#8221;,10,x,y,lw,lh,&#8221;select only verts that contribute to face selection&#8221;,onlyface)<br />
Draw.Button(&#8220;sWap&#8221;,13,x+lw,y,lw,lh,&#8221;select whatnot&#8221;,swapsel)<br />
y+=lh<br />
Draw.Button(&#8220;reinit&#8221;,11,x,y,lw,lh,&#8221;in case you select a dif ob&#8221;,reinit)<br />
s_help= &#8220;?:%s&#8221; % showhelp<br />
helpTog = Draw.Toggle(s_help,12,x+lw,y,lw,lh,showhelp,&#8221;toggles help text&#8221;,helptog)<br />
y+=lh<br />
if showhelp==True:<br />
i=0<br />
Draw.Label(&#8220;[controls]&#8220;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;L mouse- sel by n&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;R mouse- unsel by n&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;wheel- to set n&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;w/shift- also sel&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;w/ctrl- also un&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;w- swaps&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;v- togs mod truth&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;s- togs skip hid&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;f- for only faces&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;h- to hide&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;a- sel none/all&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1<br />
Draw.Label(&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8221;,x,y+(lh*i),lw*2,lh)<br />
i+=1</p>
<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
#                                       )<br />
#       button callback functions&#8212;&#8211;&gt;<br />
#                                       )<br />
#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
def helptog(evt,val):<br />
global showhelp<br />
if val:<br />
showhelp=True<br />
else:<br />
showhelp=False</p>
<p># the color stuff<br />
def vtog(evt,val):<br />
global inv_mod_truthex<br />
if val:<br />
inv_mod_truthex=True<br />
else:<br />
inv_mod_truthex=False</p>
<p>def skiptog(evt,val):<br />
global skipping_hidden<br />
if val:<br />
skipping_hidden=True<br />
else:<br />
skipping_hidden=False<br />
def set_rf(evt,val):<br />
global irf<br />
irf=val<br />
def set_gf(evt,val):<br />
global igf<br />
igf=val<br />
def set_bf(evt,val):<br />
global ibf<br />
ibf=val<br />
# this other event type could have been just &#8216;None&#8217;<br />
def eva(evt):<br />
print &#8220;what?&#8221;,evt,&#8221;me worry?&#8221;</p>
<p># and the keyboard stuff&#8212;&gt;<br />
def evz(evt,val):<br />
# These here are the user input events:<br />
global N,inv_mod_truthex,skipping_hidden<br />
qk = Window.GetKeyQualifiers()<br />
print qk<br />
# left and right click:<br />
if (evt==Draw.LEFTMOUSE) and val:<br />
selN(1)<br />
if (evt==Draw.RIGHTMOUSE) and val:<br />
selN(0)<br />
# spacebar to exit<br />
if (evt==Draw.SPACEKEY) and val:<br />
Draw.Exit()<br />
if (evt==10) and val:<br />
N+=1<br />
if qk==3:selN(1)</p>
<p>if (evt==11) and val:<br />
if N&gt;2:<br />
N-=1<br />
if qk==3:selN(1)<br />
# work in progress re ctrl button stuff<br />
if (evt==Draw.HKEY) and val:<br />
hidesel()<br />
if (evt==Draw.JKEY) and val:<br />
hidesel(1)<br />
if (evt==Draw.VKEY) and val:<br />
inv_mod_truthex = not inv_mod_truthex<br />
if (evt==Draw.SKEY) and val:<br />
skipping_hidden=not skipping_hidden<br />
if (evt==Draw.TABKEY) and val:<br />
Window.EditMode(not Window.EditMode())<br />
if (evt==Draw.FKEY) and val:<br />
onlyface()<br />
if (evt==Draw.WKEY) and val:<br />
swapsel()<br />
if (evt==Draw.AKEY) and val:<br />
selall()<br />
if (evt==Draw.ZKEY) and val:<br />
colorCycle()<br />
Draw.Redraw()<br />
#++++++++++++++++++++++++++++++++++++Fire it up, man!<br />
Draw.Register(ui,evz,eva)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/distroid.wordpress.com/485/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/distroid.wordpress.com/485/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/distroid.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/distroid.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/distroid.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/distroid.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/distroid.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/distroid.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/distroid.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/distroid.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/distroid.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/distroid.wordpress.com/485/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=485&subd=distroid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://distroid.wordpress.com/2008/01/07/another-script-for-blender/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98bd95e207b121755265805da05d5ee3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">distroid</media:title>
		</media:content>
	</item>
		<item>
		<title>vertex color animation script blender</title>
		<link>http://distroid.wordpress.com/2008/01/06/vertex-color-animation-script-blender/</link>
		<comments>http://distroid.wordpress.com/2008/01/06/vertex-color-animation-script-blender/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 14:00:03 +0000</pubDate>
		<dc:creator>distroid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://distroid.wordpress.com/2008/01/06/vertex-color-animation-script-blender/</guid>
		<description><![CDATA[make a mesh i like grids

make vertex colors on it
make material and turn on vcol paint
set drawtype to textured
open text window and load this script:

wordpress invariably destroys my python when i try and put it in code tags for ya, sorry.  you&#8217;ll haftu fix the indents but hay what fun
#!BPY
&#8220;&#8221;"
Name:&#8217;AYVABTU&#8217;
Blender:245
Group:&#8217;Mesh&#8217;
Tooltip:&#8217;Selects Vertice moduli indices&#8217;
&#8220;&#8221;"
import Blender
import bpy
from [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=484&subd=distroid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>make a mesh i like grids</p>
<ol>
<li>make vertex colors on it</li>
<li>make material and turn on vcol paint</li>
<li>set drawtype to textured</li>
<li>open text window and load this script:</li>
</ol>
<p>wordpress invariably destroys my python when i try and put it in code tags for ya, sorry.  you&#8217;ll haftu fix the indents but hay what fun</p>
<p>#!BPY<br />
&#8220;&#8221;"<br />
Name:&#8217;AYVABTU&#8217;<br />
Blender:245<br />
Group:&#8217;Mesh&#8217;<br />
Tooltip:&#8217;Selects Vertice moduli indices&#8217;<br />
&#8220;&#8221;"<br />
import Blender<br />
import bpy<br />
from Blender import Draw<br />
from Blender import Window<br />
from Blender import sys<br />
import math<br />
global N,inverting_modulus_truth,color_a,color_b,init_color_a,init_color_b,skipping_hidden,irf,igf,ibf<br />
irf=igf=ibf=1.005<br />
N = 2<br />
skipping_hidden=bool(0)<br />
inverting_modulus_truth = bool(1)<br />
init_color_a=(0.8, 0.2, 0.8)<br />
init_color_b=(0.2, 0.8, 0.2)<br />
class Freq:<br />
def __init__(self,freq):<br />
self.freq=freq<br />
def getN(self,n):<br />
return int(math.sin(self.freq*n)*128)+128</p>
<p>class freqs:<br />
def __init__(self,freqset):<br />
self.fqs=[]<br />
for fq in freqset:<br />
self.fqs.append(Freq(fq))<br />
def getN(self,n):<br />
ret=[]<br />
for fq in self.fqs:<br />
ret.append(fq.getN(n))<br />
return ret</p>
<p>t= Blender.sys.time()<br />
print &#8220;===================[%s]======&#8221; % t<br />
###########################################<br />
scn=Blender.Scene.GetCurrent()<br />
meshes = [me for me in scn.objects.selected if (me.type=='Mesh')]<br />
if len(meshes)&lt;1:<br />
scn.objects.selected=[]<br />
res=Draw.PupIntInput(&#8220;res for default grid:&#8221;,32,2,100)<br />
if res==None:Blender.Draw.Exit()<br />
nu=Blender.Mesh.Primitives.Grid(res,res,2)<br />
nuob=scn.objects.new(nu,&#8221;nu&#8221;)<br />
scn.objects.active=nuob<br />
Window.RedrawAll()<br />
Window.EditMode(0)<br />
sce= bpy.data.scenes.active<br />
ob_act = sce.objects.active<br />
obj= ob_act.getData(mesh=1)<br />
obj.vertexColors=True<br />
Window.EditMode(0)</p>
<p>mt=Blender.Get(&#8216;curframe&#8217;)<br />
print &#8220;frame:&#8221;<br />
print &#8220;\t&#8221;,mt</p>
<p>freq_set=freqs([irf+mt,igf+mt,ibf+mt])<br />
for f in obj.faces:<br />
for i,v in enumerate(f.verts):<br />
if v.sel==1:<br />
r,g,b=freq_set.getN(v.index)<br />
print &#8220;&#8211;r%d g%d b%d&#8211;&#8221; %(r,g,b)<br />
f.col[i].r=r<br />
f.col[i].g=g<br />
f.col[i].b=b</p>
<ol>
<li></li>
<li></li>
<li></li>
<li></li>
<li>go to script links and make a world scriptlink on framechanged that runs the text whalleva ucallit</li>
<li>change the frame forward manually with arrow key</li>
<li>tab into and out of the object</li>
<li>you should see results but sometimes tinkering is needed</li>
<li>now you can render an animation or just watch it slowly</li>
<li>big meshes obviously cooler than little ones</li>
</ol>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/distroid.wordpress.com/484/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/distroid.wordpress.com/484/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/distroid.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/distroid.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/distroid.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/distroid.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/distroid.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/distroid.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/distroid.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/distroid.wordpress.com/484/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/distroid.wordpress.com/484/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/distroid.wordpress.com/484/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=484&subd=distroid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://distroid.wordpress.com/2008/01/06/vertex-color-animation-script-blender/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98bd95e207b121755265805da05d5ee3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">distroid</media:title>
		</media:content>
	</item>
		<item>
		<title>luv 4 py thotz</title>
		<link>http://distroid.wordpress.com/2007/12/31/luv-4-py-thotz/</link>
		<comments>http://distroid.wordpress.com/2007/12/31/luv-4-py-thotz/#comments</comments>
		<pubDate>Mon, 31 Dec 2007 10:41:54 +0000</pubDate>
		<dc:creator>distroid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://distroid.wordpress.com/2007/12/31/luv-4-py-thotz/</guid>
		<description><![CDATA[waaaay back before i ever even started my career as a geek, i remember my mentor telling me to learn python.
this was 96.
i learned it last week.
python : other languages    &#8212;&#62;   mice :  punch cards
think like a human again, program in python
[end rant]
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=483&subd=distroid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>waaaay back before i ever even started my career as a geek, i remember my mentor telling me to learn python.</p>
<p>this was 96.</p>
<p>i learned it last week.</p>
<p>python : other languages    &#8212;&gt;   mice :  punch cards</p>
<p>think like a human again, program in python</p>
<p>[end rant]</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/distroid.wordpress.com/483/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/distroid.wordpress.com/483/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/distroid.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/distroid.wordpress.com/483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/distroid.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/distroid.wordpress.com/483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/distroid.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/distroid.wordpress.com/483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/distroid.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/distroid.wordpress.com/483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/distroid.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/distroid.wordpress.com/483/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=483&subd=distroid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://distroid.wordpress.com/2007/12/31/luv-4-py-thotz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98bd95e207b121755265805da05d5ee3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">distroid</media:title>
		</media:content>
	</item>
		<item>
		<title>More namestorming for blender site idea:</title>
		<link>http://distroid.wordpress.com/2007/12/28/more-namestorming-for-blender-site-idea/</link>
		<comments>http://distroid.wordpress.com/2007/12/28/more-namestorming-for-blender-site-idea/#comments</comments>
		<pubDate>Fri, 28 Dec 2007 15:17:25 +0000</pubDate>
		<dc:creator>distroid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://distroid.wordpress.com/2007/12/28/more-namestorming-for-blender-site-idea/</guid>
		<description><![CDATA[on the way back from having CHRISTmas eve gumbo at anne and charles&#8217;s i rode home in the back of dad&#8217;s pickup.
its not legal anymore, but its a good way to have your head jostled until ideas com out.
charles is very very zen, and this led me to try putting the word zen on the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=481&subd=distroid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>on the way back from having CHRISTmas eve gumbo at anne and charles&#8217;s i rode home in the back of dad&#8217;s pickup.</p>
<p>its not legal anymore, but its a good way to have your head jostled until ideas com out.</p>
<p>charles is very very zen, and this led me to try putting the word zen on the end of blender.</p>
<p>blendzen.com has an excellent ring to it, not to mention that it fits equally well in meaning.<br />
i wiki&#8217;d zen and was reminded that &#8216;zen&#8217; in other parts of the world&#8211; one might also call dhyana</p>
<p>blendhyana.com would be the sister site with internationalizations.</p>
<p>and then the typo site:  blendyhana.com &#8212; which is not bad in itself ( benihana )</p>
<p>so, lets recap, i rode in a truck and thought of blendzen.com.  also blendhyana.com and blendyhana.com</p>
<p>so now, days later, im writing and i think thats enough.  because there could be no end.  blendharma, anyone?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/distroid.wordpress.com/481/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/distroid.wordpress.com/481/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/distroid.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/distroid.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/distroid.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/distroid.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/distroid.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/distroid.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/distroid.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/distroid.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/distroid.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/distroid.wordpress.com/481/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=481&subd=distroid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://distroid.wordpress.com/2007/12/28/more-namestorming-for-blender-site-idea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98bd95e207b121755265805da05d5ee3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">distroid</media:title>
		</media:content>
	</item>
		<item>
		<title>python script for blender: select every nth vertex of a mesh</title>
		<link>http://distroid.wordpress.com/2007/12/22/python-script-for-blender-select-every-nth-vertex-of-a-mesh/</link>
		<comments>http://distroid.wordpress.com/2007/12/22/python-script-for-blender-select-every-nth-vertex-of-a-mesh/#comments</comments>
		<pubDate>Sat, 22 Dec 2007 10:20:16 +0000</pubDate>
		<dc:creator>distroid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://distroid.wordpress.com/2007/12/22/python-script-for-blender-select-every-nth-vertex-of-a-mesh/</guid>
		<description><![CDATA[i learnt python today. love it.  much like blender in quirkiness factor.  wrote this simple script to do just what it say it do:
#!BPY
&#8220;&#8221;"
Name: &#8216;Select Every Nth Vert&#8217;
Blender: 244
Group: &#8216;Mesh&#8217;
Tooltip: &#8216;Selects every nth vertex of active mesh&#8217;
&#8220;&#8221;"
#12/21/07 dustractor@gmail.com
import Blender
from Blender.BGL import *
from Blender.Draw import *
from Blender.Window import *
from Blender.Mesh import *
import BPyMessages
import bpy
# Events
EVENT_NOEVENT = [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=479&subd=distroid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>i learnt python today. love it.  much like blender in quirkiness factor.  wrote this simple script to do just what it say it do:</p>
<p>#!BPY<br />
&#8220;&#8221;"<br />
Name: &#8216;Select Every Nth Vert&#8217;<br />
Blender: 244<br />
Group: &#8216;Mesh&#8217;<br />
Tooltip: &#8216;Selects every nth vertex of active mesh&#8217;<br />
&#8220;&#8221;"<br />
#12/21/07 dustractor@gmail.com</p>
<p>import Blender</p>
<p>from Blender.BGL import *<br />
from Blender.Draw import *<br />
from Blender.Window import *<br />
from Blender.Mesh import *<br />
import BPyMessages<br />
import bpy</p>
<p># Events<br />
EVENT_NOEVENT = 1<br />
EVENT_DRAW = 2<br />
EVENT_EXIT = 3<br />
global ator<br />
global initator<br />
initator=2<br />
######################################################<br />
# GUI drawing<br />
######################################################<br />
def draw():<br />
global ator, initator</p>
<p>global EVENT_NOEVENT,EVENT_DRAW,EVENT_EXIT</p>
<p>########## Titles<br />
glClear(GL_COLOR_BUFFER_BIT)<br />
glRasterPos2d(8, 103)<br />
Text(&#8220;selection iterator&#8221;)</p>
<p>######### Parameters GUI Buttons<br />
glRasterPos2d(8, 83)<br />
Text(&#8220;Parameters:&#8221;)<br />
ator = Number(&#8220;ator: &#8220;, EVENT_NOEVENT, 10, 55, 210, 18,<br />
initator, 2, 99, &#8220;Number to iterate by &#8220;);</p>
<p>######### Draw and Exit Buttons<br />
Button(&#8220;Draw&#8221;,EVENT_DRAW , 10, 10, 80, 18)<br />
Button(&#8220;Exit&#8221;,EVENT_EXIT , 140, 10, 80, 18)<br />
def event(evt, val):<br />
if (evt == QKEY and not val):<br />
Exit()</p>
<p>def bevent(evt):<br />
global ator,initator<br />
global EVENT_NOEVENT,EVENT_DRAW,EVENT_EXIT<br />
######### Manages GUI events<br />
if (evt == EVENT_EXIT):<br />
Exit()<br />
elif (evt== EVENT_DRAW):<br />
initator=ator.val<br />
theIteration()</p>
<p>Register(draw, event, bevent)</p>
<p>######################################################<br />
# Main Body<br />
######################################################<br />
def theIteration():<br />
global ator<br />
iter=0<br />
t = Blender.sys.time()<br />
sce = bpy.data.scenes.active<br />
ob_act = sce.objects.active<br />
if not ob_act or ob_act.type != &#8216;Mesh&#8217;:<br />
BPyMessages.Error_NoMeshActive()<br />
return<br />
is_editmode = Blender.Window.EditMode()<br />
if is_editmode:<br />
Blender.Window.EditMode(0)<br />
Blender.Window.WaitCursor(1)<br />
theMesh = ob_act.getData(mesh=1)<br />
for v in theMesh.verts:<br />
iterator=iter%ator.val<br />
iter+=1<br />
if iterator==1:<br />
v.sel=1<br />
if iterator==0:<br />
v.sel=0</p>
<p>if is_editmode:<br />
Blender.Window.EditMode(1)<br />
print &#8216;My Script finished in %.2f seconds&#8217; % (Blender.sys.time()-t)<br />
Blender.Window.WaitCursor(0)<br />
Redraw()</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/distroid.wordpress.com/479/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/distroid.wordpress.com/479/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/distroid.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/distroid.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/distroid.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/distroid.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/distroid.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/distroid.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/distroid.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/distroid.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/distroid.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/distroid.wordpress.com/479/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=479&subd=distroid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://distroid.wordpress.com/2007/12/22/python-script-for-blender-select-every-nth-vertex-of-a-mesh/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98bd95e207b121755265805da05d5ee3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">distroid</media:title>
		</media:content>
	</item>
		<item>
		<title>Previous Post</title>
		<link>http://distroid.wordpress.com/2007/12/18/477/</link>
		<comments>http://distroid.wordpress.com/2007/12/18/477/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 14:25:48 +0000</pubDate>
		<dc:creator>distroid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://distroid.wordpress.com/2007/12/18/477/</guid>
		<description><![CDATA[
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=477&subd=distroid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://distroid.files.wordpress.com/2007/12/alternative-to-some-other-render.jpg" title="alternative-to-some-other-render.jpg"><img src="http://distroid.files.wordpress.com/2007/12/alternative-to-some-other-render.jpg" alt="alternative-to-some-other-render.jpg" /></a><a href="http://distroid.files.wordpress.com/2007/12/datwudbit-boo.jpg" title="datwudbit-boo.jpg"><img src="http://distroid.files.wordpress.com/2007/12/datwudbit-boo.jpg" alt="datwudbit-boo.jpg" /></a><a href="http://distroid.files.wordpress.com/2007/12/make-bigger-one1.jpg" title="make-bigger-one1.jpg"><img src="http://distroid.files.wordpress.com/2007/12/make-bigger-one1.jpg" alt="make-bigger-one1.jpg" /></a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/distroid.wordpress.com/477/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/distroid.wordpress.com/477/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/distroid.wordpress.com/477/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/distroid.wordpress.com/477/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/distroid.wordpress.com/477/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/distroid.wordpress.com/477/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/distroid.wordpress.com/477/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/distroid.wordpress.com/477/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/distroid.wordpress.com/477/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/distroid.wordpress.com/477/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/distroid.wordpress.com/477/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/distroid.wordpress.com/477/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=477&subd=distroid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://distroid.wordpress.com/2007/12/18/477/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98bd95e207b121755265805da05d5ee3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">distroid</media:title>
		</media:content>

		<media:content url="http://distroid.files.wordpress.com/2007/12/alternative-to-some-other-render.jpg" medium="image">
			<media:title type="html">alternative-to-some-other-render.jpg</media:title>
		</media:content>

		<media:content url="http://distroid.files.wordpress.com/2007/12/datwudbit-boo.jpg" medium="image">
			<media:title type="html">datwudbit-boo.jpg</media:title>
		</media:content>

		<media:content url="http://distroid.files.wordpress.com/2007/12/make-bigger-one1.jpg" medium="image">
			<media:title type="html">make-bigger-one1.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>study on tree, bark, leaves, clouds, and stuff</title>
		<link>http://distroid.wordpress.com/2007/12/14/study-on-tree-bark-leaves-clouds-and-stuff/</link>
		<comments>http://distroid.wordpress.com/2007/12/14/study-on-tree-bark-leaves-clouds-and-stuff/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 23:09:59 +0000</pubDate>
		<dc:creator>distroid</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://distroid.wordpress.com/2007/12/14/study-on-tree-bark-leaves-clouds-and-stuff/</guid>
		<description><![CDATA[
a few more adjustments &#8230;
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=473&subd=distroid&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://distroid.files.wordpress.com/2007/12/lone-tree-cliche2.jpg" title="lone-tree-cliche2.jpg"><img src="http://distroid.files.wordpress.com/2007/12/lone-tree-cliche2.thumbnail.jpg" alt="lone-tree-cliche2.jpg" /></a><br />
a few more adjustments &#8230;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/distroid.wordpress.com/473/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/distroid.wordpress.com/473/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/distroid.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/distroid.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/distroid.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/distroid.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/distroid.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/distroid.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/distroid.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/distroid.wordpress.com/473/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/distroid.wordpress.com/473/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/distroid.wordpress.com/473/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=distroid.wordpress.com&blog=759798&post=473&subd=distroid&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://distroid.wordpress.com/2007/12/14/study-on-tree-bark-leaves-clouds-and-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98bd95e207b121755265805da05d5ee3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">distroid</media:title>
		</media:content>

		<media:content url="http://distroid.files.wordpress.com/2007/12/lone-tree-cliche2.thumbnail.jpg" medium="image">
			<media:title type="html">lone-tree-cliche2.jpg</media:title>
		</media:content>
	</item>
	</channel>
</rss>