<?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/"
	>

<channel>
	<title>martin b.r. &#187; visita</title>
	<atom:link href="http://www.martinbr.com/tag/visita/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.martinbr.com</link>
	<description>una pagina personal</description>
	<lastBuildDate>Thu, 26 Aug 2010 17:35:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Tarjeta de visita</title>
		<link>http://www.martinbr.com/2009/04/07/tarjeta-de-visita/</link>
		<comments>http://www.martinbr.com/2009/04/07/tarjeta-de-visita/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 12:37:39 +0000</pubDate>
		<dc:creator>martin</dc:creator>
				<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[stratos]]></category>
		<category><![CDATA[tonterias]]></category>
		<category><![CDATA[tarjeta]]></category>
		<category><![CDATA[visita]]></category>

		<guid isPermaLink="false">http://www.martinbr.com/?p=326</guid>
		<description><![CDATA[La mejor tarjeta de visita para un programador: #include &#60;stdlib.h&#62; // card &#62; aek.ppm #include &#60;stdio.h&#62; #include &#60;math.h&#62; typedef int i;typedef float f;struct v{ f x,y,z;v operator+(v r){return v(x+r.x ,y+r.y,z+r.z);}v operator*(f r){return v(x*r,y*r,z*r);}f operator%(v r){return x*r.x+y*r.y+z*r.z;}v(){}v operator^(v r ){return v(y*r.z-z*r.y,z*r.x-x*r.z,x*r. y-y*r.x);}v(f a,f b,f c){x=a;y=b;z=c;}v operator!(){return*this*(1/sqrt(*this%* this));}};i G[]={247570,280596,280600, 249748,18578,18577,231184,16,16};f R(){ return(f)rand()/RAND_MAX;}i T(v o,v d,f &#38;t,v&#38;n){t=1e9;i m=0;f [...]]]></description>
			<content:encoded><![CDATA[<p>La mejor tarjeta de visita para un programador:</p>
<p><span id="more-326"></span></p>
<pre>#include &lt;stdlib.h&gt;   // card &gt; aek.ppm
#include &lt;stdio.h&gt;
#include &lt;math.h&gt;
typedef int i;typedef float f;struct v{
f x,y,z;v operator+(v r){return v(x+r.x
,y+r.y,z+r.z);}v operator*(f r){return
v(x*r,y*r,z*r);}f operator%(v r){return
x*r.x+y*r.y+z*r.z;}v(){}v operator^(v r
){return v(y*r.z-z*r.y,z*r.x-x*r.z,x*r.
y-y*r.x);}v(f a,f b,f c){x=a;y=b;z=c;}v
operator!(){return*this*(1/sqrt(*this%*
this));}};i G[]={247570,280596,280600,
249748,18578,18577,231184,16,16};f R(){
return(f)rand()/RAND_MAX;}i T(v o,v d,f
&amp;t,v&amp;n){t=1e9;i m=0;f p=-o.z/d.z;if(.01
&lt;p)t=p,n=v(0,0,1),m=1;for(i k=19;k--;)
for(i j=9;j--;)if(G[j]&amp;1&lt;&lt;k){v p=o+v(-k
,0,-j-4);f b=p%d,c=p%p-1,q=b*b-c;if(q&gt;0
){f s=-b-sqrt(q);if(s&lt;t&amp;&amp;s&gt;.01)t=s,n=!(
p+d*t),m=2;}}return m;}v S(v o,v d){f t
;v n;i m=T(o,d,t,n);if(!m)return v(.7,
.6,1)*pow(1-d.z,4);v h=o+d*t,l=!(v(9+R(
),9+R(),16)+h*-1),r=d+n*(n%d*-2);f b=l%
n;if(b&lt;0||T(h,l,t,n))b=0;f p=pow(l%r*(b
&gt;0),99);if(m&amp;1){h=h*.2;return((i)(ceil(
h.x)+ceil(h.y))&amp;1?v(3,1,1):v(3,3,3))*(b
*.2+.1);}return v(p,p,p)+S(h,r)*.5;}i
main(){printf("P6 512 512 255 ");v g=!v
(-6,-16,0),a=!(v(0,0,1)^g)*.002,b=!(g^a
)*.002,c=(a+b)*-256+g;for(i y=512;y--;)
for(i x=512;x--;){v p(13,13,13);for(i r
=64;r--;){v t=a*(R()-.5)*99+b*(R()-.5)*
99;p=S(v(17,16,8)+t,!(t*-1+(a*(R()+x)+b
*(y+R())+c)*16))*3.5+p;}printf("%c%c%c"
,(i)p.x,(i)p.y,(i)p.z);}}

Un raytracer...</pre>
<img src="http://www.martinbr.com/?ak_action=api_record_view&id=326&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.martinbr.com/2009/04/07/tarjeta-de-visita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
