<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>Creative coder, programmer, teacher, curriculum developer, author, Newfoundlander. I like to keep busy.&#xA;&#xA;The pieces that I create are not generated by AI, even though I refer to them as generative art. My works are generated by code that I write.</description><link>https://bsky.app/profile/shawnpeters1982.bsky.social</link><title>@shawnpeters1982.bsky.social - Shawn Peters</title><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mwtwmpbxic2v</link><description>Mathober - Day 1 - Perimeter of an Ellipse&#xA;&#xA;An ellipse does not have a simple formula for its perimeter. While there are many approximations and calculus-based methods, I approximated the perimeter by using a polygon.&#xA;&#xA;https://openprocessing.org/@speters/3024274&#xA;&#xA;#p5js #mathober #mathober1</description><pubDate>01 Oct 2026 22:43 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mwtwmpbxic2v</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mdsibystqc2f</link><description>#Genuary2026 recap. &#xA;&#xA;As always, a great collection of prompts. Thanks to all involved.&#xA;&#xA;#genuary #p5js</description><pubDate>01 Feb 2026 13:55 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mdsibystqc2f</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mdptoaqirs25</link><description>#Genuary31 - GLSL day.&#xA;&#xA;Typically I avoid using shaders. Something about the process just doesn&#39;t click with me. Experimenting for this piece I found that I could process an image extremely quickly.&#xA;&#xA;Here a webcam image is modified to resemble a CRT display with NES style rendering.&#xA;&#xA;#genuary #p5js</description><pubDate>31 Jan 2026 12:41 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mdptoaqirs25</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mdomwm5h6k23</link><description>#Genuary30 - Its not a bug, its a feature.&#xA;&#xA;A standard flocking simulation, but with variable alignment, cohesion, and separation scaling. Sometimes they even go into the negative, indicated by changing background colour. Feature, not a bug.&#xA;&#xA;#genuary #p5js</description><pubDate>31 Jan 2026 01:08 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mdomwm5h6k23</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mdm5lahqzk2u</link><description>#Genuary29 - Genetic evolution and mutation&#xA;&#xA;Using a genetic algorithm series of points are triangulated and coloured a match a photograph. Features from the best are combined and mutated.&#xA;&#xA;Original photo and end result are in the thread.&#xA;&#xA;#genuary #p5js</description><pubDate>30 Jan 2026 01:28 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mdm5lahqzk2u</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mdijrxsnfs22</link><description>#Genuary28 - No libraries, no canvas, only HTML elements&#xA;&#xA;Using only vanilla JS, a grid of DIV elements are created and their colours changed by editing the style property.&#xA;&#xA;#genuary #html #JavaScript</description><pubDate>28 Jan 2026 14:55 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mdijrxsnfs22</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mdg5dfzpz22d</link><description>#Genuary27 - Lifeform&#xA;&#xA;Reaction–diffusion reaction. This is an extremely speed up recording of the process. End renders in the thread.&#xA;&#xA;#p5js #genuary</description><pubDate>27 Jan 2026 16:07 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mdg5dfzpz22d</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mddpqxkpt22d</link><description>#Genuary26 - Recursive Grids&#xA;&#xA;Instead of going with a nice recursive rectangular grid I decided to go with triangles. Overall I really like the effect and will likely go back revisit it in future pieces.&#xA;&#xA;#genuary #p5js</description><pubDate>26 Jan 2026 16:59 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mddpqxkpt22d</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mdata6p6jc2l</link><description>#Genuary25 - Organic Geometry.&#xA;&#xA;Circular cells are grown and divided to somewhat mimic cell division. Marching squares and a lot of transparency add to the growth effect.&#xA;&#xA;#genuary #p5js</description><pubDate>25 Jan 2026 13:23 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mdata6p6jc2l</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3md6dgat4o22u</link><description>#Genuary24 - Perfectionist’s nightmare.&#xA;&#xA;Using randomGaussian() to introduce some small variance, what should be a perfectly aligned set of crosses becomes a perfectionist&#39;s nightmare.&#xA;&#xA;#genuary #p5js</description><pubDate>24 Jan 2026 13:35 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3md6dgat4o22u</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3md3x44ih4c2m</link><description>#Genuary23 - Transparency&#xA;&#xA;255 transparent triangles move over slightly different paths creating areas of colour where they overlap.&#xA;&#xA;The video encoding seems to get sluggish for some reason. I tried recording it several different ways without much improvement.&#xA;&#xA;#genuary #p5js</description><pubDate>23 Jan 2026 14:49 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3md3x44ih4c2m</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3md2axlsv4c2j</link><description>#Genuary22 - Pen plotter ready.&#xA;&#xA;Designed as an SVG, several non-intersecting paths are drawn avoiding random circular areas. &#xA;&#xA;I&#39;m not sure how well it would actually plot out as the closest thing I have to a plotter is an old Circut machine.&#xA;&#xA;#genuary #p5js</description><pubDate>22 Jan 2026 22:40 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3md2axlsv4c2j</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mcwtzv45r222</link><description>#Genuary21 - Bauhaus Poster.&#xA;&#xA;A minimal Bauhaus style poster. The circular pattern was made using blendMode(DIFFERENCE)&#xA;&#xA;#genuary #p5js</description><pubDate>21 Jan 2026 14:11 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mcwtzv45r222</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mctzwxjvj22j</link><description>#Genuary20 - One line&#xA;&#xA;Maybe the most important line at the moment.&#xA;&#xA;The main border between Canada and the USA is recreated using GPS coordinates mapped to the canvas. To keep it to a single line, the border separating Alaska and the Atlantic ocean portions are ignored.&#xA;&#xA;#genuary #p5js</description><pubDate>20 Jan 2026 11:19 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mctzwxjvj22j</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mct2kv3z2k2s</link><description>#Genuary19 - 16 x 16&#xA;&#xA;A 16 x 16 grid is generated and filled with random colours quantized in steps of 16. The result is expanded to a full canvas creating a ghosted blur over the original grid.&#xA;&#xA;#genuary #p5js</description><pubDate>20 Jan 2026 01:57 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mct2kv3z2k2s</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mcpkbp4ywc26</link><description>#Genuary18 - Unexpected path.&#xA;&#xA;A particle travels in a straight line but turns whenever a prime number of steps has been taken. &#xA;&#xA;For extra geekiness, prime numbers are used for values in the code, such as 11 degree turns and colours which have prime red, green, and blue components.&#xA;&#xA;#genuary #p5js</description><pubDate>18 Jan 2026 16:28 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mcpkbp4ywc26</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mcmscb6tns2w</link><description>#Genuary17 - Wallpaper group&#xA;&#xA;I kept it simple here, making a generator for p1 and p2. Random patterns are drawn, rotated, and translated, to maintain symmetry.&#xA;&#xA;#genuary #p5js</description><pubDate>17 Jan 2026 14:13 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mcmscb6tns2w</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mcldbbycbc27</link><description>#Genuary16 - Order and disorder&#xA;&#xA;An ordered grid drifts in and out of disorder.&#xA;&#xA;#p5js #genuary</description><pubDate>17 Jan 2026 00:11 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mcldbbycbc27</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mcibyzjass2z</link><description>#Genuary15 - Create an invisible object where only the shadows can be seen.&#xA;&#xA;Using inverse clipping and blurring, only the offset shadow of an irregularly shaped object can be seen.&#xA;&#xA;#genuary #p5js</description><pubDate>15 Jan 2026 19:11 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mcibyzjass2z</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mcexrcanzk2j</link><description>#Genuary14 - Everything fits perfectly.&#xA;&#xA;There&#39;s something satisfying about watching blocks clip perfectly into place. This sketch creates randomly shaped blocks with the constraint that they fit without blocking future moves. A weighted random function prioritizes empty spaces.&#xA;&#xA;#genuary #p5js</description><pubDate>14 Jan 2026 11:30 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mcexrcanzk2j</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mccdypeno22o</link><description>#Genuary13 - Self Portrait&#xA;&#xA;Using clmtrackr and webcam data, I was able to construct this stylized, unrealistic, self portrait. &#xA;&#xA;#genuary #p5js</description><pubDate>13 Jan 2026 10:31 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mccdypeno22o</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mcatn64c6k2d</link><description>#Genuary12 - Boxes Only&#xA;&#xA;Offset boxes are illuminated from above by a moving light source.&#xA;&#xA;#p5js #genuary</description><pubDate>12 Jan 2026 20:05 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mcatn64c6k2d</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mc5qz7hgh22b</link><description>#Genuary11 - Quine&#xA;&#xA;Following the general Quine structure for JavaScript, the output string is sampled to create a layered background. The string is also drawn as a somewhat self avoiding path.&#xA;&#xA;#genuary #p5js #quine</description><pubDate>11 Jan 2026 14:40 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mc5qz7hgh22b</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mc34lmo34k2e</link><description>#Genuary10 - Polar Coordinates&#xA;&#xA;Using polar coordinates alongside polar-based Perlin noise, layers of transparent blobs are built up to form a cosmic blur.&#xA;&#xA;The landscape is also created with polar coordinates with a translated central point.&#xA;&#xA;#genuary #p5js</description><pubDate>10 Jan 2026 13:29 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mc34lmo34k2e</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mbyi32nkys25</link><description>#Genuary9 - Cellular automata with crazy rules&#xA;Each of the red, green, and blue channels played by a different set of rules found on https://conwaylife.com/wiki/List_of_Life-like_rules&#xA;&#xA;Complex patterns seems to emerge from simple variations.&#xA;&#xA;#genuary #p5js</description><pubDate>09 Jan 2026 12:17 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mbyi32nkys25</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mbvtch2j622l</link><description>#Genuary8 - Create a generative metropolis.&#xA;&#xA;Using a single point perspective, a worms eye view of a city is generated.&#xA;&#xA;#genuary #p5js</description><pubDate>08 Jan 2026 11:00 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mbvtch2j622l</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mbtbjyconc2o</link><description>#Genuary7 - Boolean algebra&#xA;&#xA;Boolean Cascade&#xA;&#xA;A random set of inputs are split into pairs which logic gate operations applied to them. The result is an interesting, bracket tournament like appearance.&#xA;&#xA;#genuary #p5js</description><pubDate>07 Jan 2026 10:37 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mbtbjyconc2o</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mbqsreemd22t</link><description>#Genuary6 - Lights on/off&#xA;&#xA;A generated city transitions between day and night triggered by the average luminance of the pixels captured by a webcam.&#xA;&#xA;In the captured video, I&#39;m moving my hand toward the webcam to simulate darkness.&#xA;&#xA;#p5js #genuary</description><pubDate>06 Jan 2026 11:07 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mbqsreemd22t</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mbogqrhxd22g</link><description>#Genuary5 - Write “Genuary”. Avoid using a font.&#xA;&#xA;Using objects that vaguely resemble letters, a mask is created. Random points outside the mask form random circles while those inside the mask from particle trails.&#xA;&#xA;#genuary #p5js</description><pubDate>05 Jan 2026 12:27 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mbogqrhxd22g</guid></item><item><link>https://bsky.app/profile/shawnpeters1982.bsky.social/post/3mbm2p464zc2z</link><description>#Genuary4 - Lowres&#xA;&#xA;Mimicking the Ben Day printing process with CYMK color addition. Random plate segments are repeated applied with a single colour at a time. The end result feels wonderfully 90s.&#xA;&#xA;#Genuary #p5js</description><pubDate>04 Jan 2026 13:46 +0000</pubDate><guid isPermaLink="false">at://did:plc:ls4z2fdelk6dipfq2krypynk/app.bsky.feed.post/3mbm2p464zc2z</guid></item></channel></rss>