<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Blogs on Wolph</title><link>https://wolph.pages.dev/blog/</link><description>Recent content in Blogs on Wolph</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 16 Feb 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://wolph.pages.dev/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>ASCII Game of Life</title><link>https://wolph.pages.dev/blog/ascii_gol/</link><pubDate>Wed, 16 Feb 2022 00:00:00 +0000</pubDate><guid>https://wolph.pages.dev/blog/ascii_gol/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;/h2&gt;
&lt;p&gt;Motivated by being able to render almost anything in a terminal by my prior work with &lt;a href="https://wolph.pages.dev/blog/ascii_surfaces/"&gt;ASCII Surfaces&lt;/a&gt; I was thinking about other simple stuff that could use this.&lt;/p&gt;
&lt;p&gt;One of the first ideas was implementing &lt;a href="https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life"&gt;Conway&amp;rsquo;s Game of Life&lt;/a&gt;, which I had never implemented and find very interesting.&lt;/p&gt;
&lt;p&gt;In short the Conway&amp;rsquo;s Game of Life happens in a two dimensional grid whose cells are either alive or dead. Depending on a given configuration of this grid one can apply these rules to get another configuration (generation):&lt;/p&gt;</description></item><item><title>ASCII Surfaces</title><link>https://wolph.pages.dev/blog/ascii_surfaces/</link><pubDate>Sat, 05 Feb 2022 00:00:00 +0000</pubDate><guid>https://wolph.pages.dev/blog/ascii_surfaces/</guid><description>&lt;h2 id="motivation"&gt;Motivation&lt;/h2&gt;
&lt;p&gt;Somehow I stumbled over &lt;a href="https://www.a1k0n.net/2011/07/20/donut-math.html"&gt;this&lt;/a&gt; C code generating a rotating torus inside a terminal. Might have been Lex Fridman&amp;rsquo;s &lt;a href="https://www.youtube.com/watch?v=DEqXNfs_HhY"&gt;video&lt;/a&gt; on it.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; k;double sin()
,cos();main(){float A=
0,B=0,i,j,z[1760];char b[
1760];printf(&amp;#34;\x1b[2J&amp;#34;);for(;;
){memset(b,32,1760);memset(z,0,7040)
;for(j=0;6.28&amp;gt;j;j+=0.07)for(i=0;6.28
&amp;gt;i;i+=0.02){float c=sin(i),d=cos(j),e=
sin(A),f=sin(j),g=cos(A),h=d+2,D=1/(c*
h*e+f*g+5),l=cos (i),m=cos(B),n=s\
in(B),t=c*h*g-f* e;int x=40+30*D*
(l*h*m-t*n),y= 12+15*D*(l*h*n
+t*m),o=x+80*y, N=8*((f*e-c*d*g
)*m-c*d*e-f*g-l *d*n);if(22&amp;gt;y&amp;amp;&amp;amp;
y&amp;gt;0&amp;amp;&amp;amp;x&amp;gt;0&amp;amp;&amp;amp;80&amp;gt;x&amp;amp;&amp;amp;D&amp;gt;z[o]){z[o]=D;;;b[o]=
&amp;#34;.,-~:;=!*#$@&amp;#34;[N&amp;gt;0?N:0];}}/*#****!!-*/
printf(&amp;#34;\x1b[H&amp;#34;);for(k=0;1761&amp;gt;k;k++)
putchar(k%80?b[k]:10);A+=0.04;B+=
0.02;}}/*****####*******!!=;:~
~::==!!!**********!!!==::-
.,~~;;;========;;;:~-.
..,--------,*/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I really like terminal applications and manifolds so I thought it might be cool to see other surfaces in this manner. I&amp;rsquo;m quiet fond of the &lt;a href="https://en.wikipedia.org/wiki/M%C3%B6bius_strip"&gt;Möbius strip&lt;/a&gt; as a simple &lt;a href="https://en.wikipedia.org/wiki/Orientability"&gt;non-orientable&lt;/a&gt; surface.&lt;/p&gt;</description></item></channel></rss>