<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Firehose feed]]></title><description><![CDATA[Riley J. Shaw is a programmer and designer. Rooted in repair and craft, he creates transparent, remixable tools for a sustainable and accessible future.]]></description><link>https://rileyjshaw.com</link><generator>GatsbyJS</generator><lastBuildDate>Thu, 09 Jul 2026 22:28:23 GMT</lastBuildDate><item><title><![CDATA[2026-07-06 at 15.00.22.png]]></title><link>https://screenshots.rileyjshaw.com/post/821417132334186496</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_821417132334186496</guid><pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[bowen.mov]]></title><description><![CDATA[waves will wash it away]]></description><link>https://youtube.com/watch?v=rGSegvitixI</link><guid isPermaLink="false">VIDEO_Y_RGSEGVITIXI</guid><pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Gridstrument tutorial]]></title><description><![CDATA[A quick walkthrough of my Gridstrument config for the Intech Grid BU16 and VSN1 modules.]]></description><link>https://youtube.com/watch?v=KWv29smnyLQ</link><guid isPermaLink="false">VIDEO_Y_KWV29SMNYLQ</guid><pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Gridstrument preview]]></title><description><![CDATA[I wrote some firmware for the Intech BU16. You can find it under the public "Gridstrument" folder, or by using this link: grid-editor://?config-link=R8adbrWIyNGzXtcQM8s4]]></description><link>https://youtube.com/watch?v=DKjYyKGubu8</link><guid isPermaLink="false">VIDEO_Y_DKJYYKGUBU8</guid><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Charms]]></title><link>https://codepen.io/editor/rileyjshaw/pen/019dbc5d-4dd6-7cfa-b702-01f8722d8b15?file=%2Fshader.glsl&amp;orientation=left&amp;panel=files&amp;show=split</link><guid isPermaLink="false">PROJECT_CHARMS</guid><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Floaties]]></title><link>https://codepen.io/editor/rileyjshaw/pen/019db15f-4373-7daf-8efd-aca3f8ffbd55?show=preview</link><guid isPermaLink="false">PROJECT_FLOATIES</guid><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Mitosis]]></title><link>https://codepen.io/editor/rileyjshaw/pen/019d9bd2-5c16-73e1-a0ea-52d76f936f4a?show=preview</link><guid isPermaLink="false">PROJECT_MITOSIS</guid><pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Froth]]></title><link>https://codepen.io/editor/rileyjshaw/pen/019d96a2-7275-741d-a822-731eccd87a2c</link><guid isPermaLink="false">PROJECT_FROTH</guid><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Red spiral]]></title><link>https://codepen.io/editor/rileyjshaw/pen/019d96b3-eb0c-7c62-9718-4c81caadd92d</link><guid isPermaLink="false">PROJECT_RED_SPIRAL</guid><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Colour loops]]></title><link>https://codepen.io/collection/OyjqMb</link><guid isPermaLink="false">PROJECT_COLOUR_LOOPS</guid><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Introducing: ShaderPad]]></title><description><![CDATA[Today I’m releasing ShaderPad. It’s a small, focused library to put a shader on a website without rebuilding the same graphics scaffolding every time. If you want to experiment with writing shaders, I think this is one of the best ways to get started. Motivation

If you’ve spent much time on this website, you know I mainly use my computer to doodle. Shaders are an expressive way to sketch with code. There are many shader sandboxes online, most notably ShaderToy, that make it easy to write shaders. But platform lock-in makes moving these sketches onto your own website a hassle.

After wiring up the same…]]></description><link>https://rileyjshaw.com/blog/introducing-shaderpad</link><guid isPermaLink="false">POST_INTRODUCING_SHADERPAD</guid><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Recolor]]></title><link>https://rileyjshaw.com/recolor</link><guid isPermaLink="false">PROJECT_RECOLOR</guid><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Rephase]]></title><description><![CDATA[<p>Reframe a tiling image by picking a new origin.</p>]]></description><link>https://rileyjshaw.com/rephase</link><guid isPermaLink="false">PROJECT_REPHASE</guid><pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[A few interesting rules]]></title><description><![CDATA[I found these patterns using https://rileyjshaw.com/ca-finder. No AI, just simple cellular automata.]]></description><link>https://youtube.com/watch?v=tSbBlCLxI9w</link><guid isPermaLink="false">VIDEO_Y_TSBBLCLXI9W</guid><pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[2026-02-07 at 11.45.13.png]]></title><link>https://screenshots.rileyjshaw.com/post/807909682332286976</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_807909682332286976</guid><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[2026-02-07 at 11.55.54.png]]></title><link>https://screenshots.rileyjshaw.com/post/807910353435508736</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_807910353435508736</guid><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[2026-02-03 at 22.47.43.png]]></title><link>https://screenshots.rileyjshaw.com/post/807588974831009792</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_807588974831009792</guid><pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[butterfly 3000]]></title><link>https://www.shadertoy.com/view/33VcRV</link><guid isPermaLink="false">PROJECT_BUTTERFLY_3000</guid><pubDate>Wed, 28 Jan 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Hypnos]]></title><link>https://www.shadertoy.com/view/33KyRV</link><guid isPermaLink="false">PROJECT_HYPNOS</guid><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Meiosis]]></title><link>https://www.shadertoy.com/view/33yyRV</link><guid isPermaLink="false">PROJECT_MEIOSIS</guid><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Surface tension]]></title><link>https://www.shadertoy.com/view/3XGyRV</link><guid isPermaLink="false">PROJECT_SURFACE_TENSION</guid><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[2026-01-23 at 16.24.41.png]]></title><link>https://screenshots.rileyjshaw.com/post/806568309366636544</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_806568309366636544</guid><pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[2026-01-06 at 17.58.01.png]]></title><link>https://screenshots.rileyjshaw.com/post/805034032983408640</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_805034032983408640</guid><pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Big Dipper]]></title><description><![CDATA[<p>I built a hardware sequencer out of DIP switches in 2018. Now it’s playable on the web.</p>]]></description><link>https://rileyjshaw.com/big-dipper/</link><guid isPermaLink="false">PROJECT_BIG_DIPPER</guid><pubDate>Wed, 31 Dec 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[2025-12-30 at 17.47.12.png]]></title><link>https://screenshots.rileyjshaw.com/post/804399174203457536</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_804399174203457536</guid><pubDate>Tue, 30 Dec 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Terminal 1]]></title><description><![CDATA[<p>A playful contribution to <a href="https://10kdrummachines.com/" rel="noopener noreferrer" target="_blank">10k Drum Machines</a> based on the <a href="/blog/graphing-depth">Collatz conjecture</a>.</p>]]></description><link>https://rileyjshaw.com/terminal-1/</link><guid isPermaLink="false">PROJECT_TERMINAL_1</guid><pubDate>Mon, 29 Dec 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[sick day]]></title><description><![CDATA[A little sketch using two new instruments I made.]]></description><link>https://youtube.com/watch?v=4bpcCMY7-OE</link><guid isPermaLink="false">VIDEO_Y_4BPCCMY7_OE</guid><pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[petals]]></title><link>https://codepen.io/rileyjshaw/pen/xbVQQGr?editors=0010</link><guid isPermaLink="false">PROJECT_PETALS</guid><pubDate>Sat, 06 Dec 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[scales]]></title><link>https://codepen.io/rileyjshaw/pen/myPQKvK?editors=0010</link><guid isPermaLink="false">PROJECT_SCALES</guid><pubDate>Sat, 06 Dec 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Channel delay]]></title><description><![CDATA[<p>RGB channel delay video shader.</p>]]></description><link>https://rileyjshaw.com/channel-delay</link><guid isPermaLink="false">PROJECT_CHANNEL_DELAY</guid><pubDate>Sun, 02 Nov 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pixel quilt]]></title><link>https://rileyjshaw.com/pixelquilt</link><guid isPermaLink="false">PROJECT_PIXEL_QUILT</guid><pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Cut glass]]></title><link>https://rileyjshaw.com/cut-glass</link><guid isPermaLink="false">PROJECT_CUT_GLASS</guid><pubDate>Thu, 23 Oct 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[2025-10-22 at 14.46.51.png]]></title><link>https://screenshots.rileyjshaw.com/post/798132862248419328</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_798132862248419328</guid><pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Cutup]]></title><description><![CDATA[<p>A grid symmetry shader and camera.</p>]]></description><link>https://rileyjshaw.com/cutup</link><guid isPermaLink="false">PROJECT_CUTUP</guid><pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[spruce]]></title><description><![CDATA[more tenori-on practice]]></description><link>https://youtube.com/watch?v=iaLtqI0qmQs</link><guid isPermaLink="false">VIDEO_Y_IALTQI0QMQS</guid><pubDate>Thu, 24 Jul 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[cassiopeia]]></title><description><![CDATA[tenori-on practice]]></description><link>https://youtube.com/watch?v=OMUfT2faG6A</link><guid isPermaLink="false">VIDEO_Y_OMUFT2FAG6A</guid><pubDate>Wed, 23 Jul 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[acid rain]]></title><description><![CDATA[tenori-on practice. acid sounds are played in drambo, sequenced by pika blue’s rain mode.]]></description><link>https://youtube.com/watch?v=YsFbEh7IT9M</link><guid isPermaLink="false">VIDEO_Y_YSFBEH7IT9M</guid><pubDate>Wed, 23 Jul 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[lunar]]></title><description><![CDATA[linnstrument 128 + tenori-on]]></description><link>https://youtube.com/watch?v=q3LqT3Tjfxg</link><guid isPermaLink="false">VIDEO_Y_Q3LQT3TJFXG</guid><pubDate>Wed, 16 Jul 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Shifter]]></title><description><![CDATA[<p>Move yr head.</p>]]></description><link>https://rileyjshaw.com/shifter</link><guid isPermaLink="false">PROJECT_SHIFTER</guid><pubDate>Wed, 09 Jul 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Chianti]]></title><link>https://rileyjshaw.com/chianti/</link><guid isPermaLink="false">PROJECT_CHIANTI</guid><pubDate>Wed, 02 Jul 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sway]]></title><description><![CDATA[<p>Variations on <a href="https://codepen.io/rileyjshaw/pen/vGzYyR" rel="noopener noreferrer" target="_blank">an old CSS animation I made,</a> rewritten as a shader. Use arrow keys or swipe to change the scene.</p>]]></description><link>https://rileyjshaw.com/sway</link><guid isPermaLink="false">PROJECT_SWAY</guid><pubDate>Thu, 19 Jun 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[One-shot sample generator]]></title><description><![CDATA[<p>Render per-note audio samples from a local VST or AU instrument plugin.</p>]]></description><link>https://github.com/rileyjshaw/one-shot-sample-generator</link><guid isPermaLink="false">PROJECT_ONE_SHOT_SAMPLE_GENERATOR</guid><pubDate>Wed, 04 Jun 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Mandy’s]]></title><description><![CDATA[<p>A salad dressing index for the book “Mandy’s Gourmet Salads”</p>]]></description><link>https://rileyjshaw.com/mandys/</link><guid isPermaLink="false">PROJECT_MANDY6C9S</guid><pubDate>Thu, 01 May 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[toobs]]></title><link>https://rileyjshaw.com/toobs/</link><guid isPermaLink="false">PROJECT_TOOBS</guid><pubDate>Sun, 27 Apr 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Egg calendar]]></title><description><![CDATA[<p>A calendar that looks like eggs</p>]]></description><link>https://rileyjshaw.com/egg-calendar/</link><guid isPermaLink="false">PROJECT_EGG_CALENDAR</guid><pubDate>Wed, 12 Mar 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Choreography]]></title><description><![CDATA[<p>Some fun demos of emoji choreography using spatial indexing.</p>]]></description><link>https://rileyjshaw.com/choreography/</link><guid isPermaLink="false">PROJECT_CHOREOGRAPHY</guid><pubDate>Sat, 01 Mar 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[2025-02-22 at 10.19.41.png]]></title><link>https://screenshots.rileyjshaw.com/post/776195362294759424</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_776195362294759424</guid><pubDate>Sat, 22 Feb 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Moiré shader]]></title><description><![CDATA[<p>An interesting illusion occurs when moving two overlapping instances of white noise. Move your cursor to see the effect.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/RNbdjvg?editors=0010</link><guid isPermaLink="false">PROJECT_MOIR6H_SHADER</guid><pubDate>Fri, 31 Jan 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[Harmonics]]></title><description><![CDATA[<p>Caution: sometimes flashes! Generates a new randomized shader composed of stacked trigonometric functions on each page refresh.</p>]]></description><link>https://rileyjshaw.com/harmonics/#2UNEgAAAAAAAAAAAAAAAAAAAAAD-tXGHKknWe2FGNvc2luZSh1X3BpLCB0ICogeSkCG6MLczsrc6FDw8EBWQPLyWEDoQFZA6r7g0lJAWkDo5NLC3M7YylDqvuDSQFpA6MLcUPDwQFZA8vJSWEDoQFZA8PBSA</link><guid isPermaLink="false">PROJECT_HARMONICS</guid><pubDate>Fri, 24 Jan 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[2025-01-24 at 00.17.32.png]]></title><link>https://screenshots.rileyjshaw.com/post/773530166457663489</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_773530166457663489</guid><pubDate>Fri, 24 Jan 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[ShaderPad]]></title><description><![CDATA[<p>A lightweight, dependency-free library to reduce boilerplate when writing fragment shaders.</p>]]></description><link>https://misery.co/shaderpad/</link><guid isPermaLink="false">PROJECT_SHADERPAD</guid><pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[trig stacked shaders]]></title><link>https://codepen.io/collection/wkaOPQ</link><guid isPermaLink="false">PROJECT_TRIG_STACKED_SHADERS</guid><pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[2024-12-06 at 07.22.41.png]]></title><link>https://screenshots.rileyjshaw.com/post/769117662804672512</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_769117662804672512</guid><pubDate>Fri, 06 Dec 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[2024-12-02 at 23.41.29.png]]></title><link>https://screenshots.rileyjshaw.com/post/768816855703076864</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_768816855703076864</guid><pubDate>Tue, 03 Dec 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[2024-11-29 at 18.17.30.png]]></title><link>https://screenshots.rileyjshaw.com/post/768524682042490880</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_768524682042490880</guid><pubDate>Fri, 29 Nov 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tempo tracker]]></title><description><![CDATA[<p>A simple tap tempo app with drift tracking over time.</p>]]></description><link>https://rileyjshaw.com/tempo-tracker/</link><guid isPermaLink="false">PROJECT_TEMPO_TRACKER</guid><pubDate>Tue, 05 Nov 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[2024-04-21 at 14.25.47.png]]></title><link>https://screenshots.rileyjshaw.com/post/748393802476158976</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_748393802476158976</guid><pubDate>Sun, 21 Apr 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Spore growth]]></title><link>https://codepen.io/rileyjshaw/pen/qBwQyEQ?editors=0010</link><guid isPermaLink="false">PROJECT_SPORE_GROWTH</guid><pubDate>Sat, 20 Apr 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Two spirals]]></title><link>https://codepen.io/rileyjshaw/full/ZEZearO</link><guid isPermaLink="false">PROJECT_TWO_SPIRALS</guid><pubDate>Wed, 20 Mar 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fractal explorer]]></title><link>https://rileyjshaw.com/fractal/</link><guid isPermaLink="false">PROJECT_FRACTAL_EXPLORER</guid><pubDate>Tue, 12 Mar 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[CA Finder: GPU Edition]]></title><description><![CDATA[<p>Caution: it flashes! A generalized cellular automaton simulator that runs on your GPU.</p>]]></description><link>https://rileyjshaw.com/ca-finder/</link><guid isPermaLink="false">PROJECT_CA_FINDER1M_GPU_EDITION</guid><pubDate>Tue, 05 Mar 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[2024-03-04 at 14.05.51.png]]></title><link>https://screenshots.rileyjshaw.com/post/744047668439957504</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_744047668439957504</guid><pubDate>Mon, 04 Mar 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[2024-02-28 at 22.24.35.png]]></title><link>https://screenshots.rileyjshaw.com/post/743626061571670016</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_743626061571670016</guid><pubDate>Thu, 29 Feb 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Cell spread]]></title><description><![CDATA[<p>A simple ShaderToy cellular automaton.</p>]]></description><link>https://www.shadertoy.com/view/43XSzn</link><guid isPermaLink="false">PROJECT_CELL_SPREAD</guid><pubDate>Mon, 26 Feb 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pulley]]></title><description><![CDATA[<p>A fun way to display an ordered list. CSS only.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/OJqrQrv</link><guid isPermaLink="false">PROJECT_PULLEY</guid><pubDate>Wed, 14 Feb 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Rippling scroll delay]]></title><description><![CDATA[<p>Scrolling any column will update the rest, but with a delay.</p>]]></description><link>https://codepen.io/rileyjshaw/full/mdoaxzQ</link><guid isPermaLink="false">PROJECT_RIPPLING_SCROLL_DELAY</guid><pubDate>Wed, 14 Feb 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[FFmpeg slit-scan]]></title><description><![CDATA[<p>Create an ultra-wide photograph out of a slow dolly shot video using the command line.</p>]]></description><link>https://gist.github.com/rileyjshaw/afe98fce6e6988bf3ce7a09b26e5e120</link><guid isPermaLink="false">PROJECT_FFMPEG_SLIT_SCAN</guid><pubDate>Wed, 24 Jan 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Split scroll columns]]></title><description><![CDATA[<p>When one goes up, the other comes down.</p>]]></description><link>https://codepen.io/rileyjshaw/full/ExMZPdQ</link><guid isPermaLink="false">PROJECT_SPLIT_SCROLL_COLUMNS</guid><pubDate>Sun, 14 Jan 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[2023-12-05 at 14.42.29.png]]></title><link>https://screenshots.rileyjshaw.com/post/735896245743288320</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_735896245743288320</guid><pubDate>Tue, 05 Dec 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Spiral out]]></title><description><![CDATA[<p>A simple text spiral.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/yLZxNPG</link><guid isPermaLink="false">PROJECT_SPIRAL_OUT</guid><pubDate>Tue, 28 Nov 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[2023-11-14 at 04.02.16.png]]></title><link>https://screenshots.rileyjshaw.com/post/733953430917365760</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_733953430917365760</guid><pubDate>Tue, 14 Nov 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Repair]]></title><link>https://thenounproject.com/icon/repair-6077121/</link><guid isPermaLink="false">ICON_6077121</guid><pubDate>Fri, 01 Sep 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Cyclic repair]]></title><link>https://thenounproject.com/icon/cyclic-repair-6077122/</link><guid isPermaLink="false">ICON_6077122</guid><pubDate>Fri, 01 Sep 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[2023-05-09 at 12.36.00.png]]></title><link>https://screenshots.rileyjshaw.com/post/779858101263286272</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_779858101263286272</guid><pubDate>Tue, 09 May 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[10 PRINT variations]]></title><description><![CDATA[<p>Remixes of 10 PRINT using messy grids.</p>]]></description><link>https://codepen.io/collection/PYrLLW</link><guid isPermaLink="false">PROJECT_10_PRINT_VARIATIONS</guid><pubDate>Fri, 24 Mar 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[10 PRXXT]]></title><description><![CDATA[<p>A remix of 10 PRINT using an even messier grid.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/NWLeMdp</link><guid isPermaLink="false">PROJECT_10_PRXXT</guid><pubDate>Fri, 24 Mar 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Stargazer touch]]></title><description><![CDATA[This is a free, touchscreen version of my Stargazer MIDI controller. The default layout for...]]></description><link>https://patchstorage.com/stargazer-touch/</link><guid isPermaLink="false">PATCH_165102</guid><pubDate>Tue, 07 Mar 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[2023-02-22 at 18.51.51.png]]></title><link>https://screenshots.rileyjshaw.com/post/710001202629378048</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_710001202629378048</guid><pubDate>Wed, 22 Feb 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Dim]]></title><description><![CDATA[<p>A simple dark theme for Firefox.</p>]]></description><link>https://addons.mozilla.org/en-CA/firefox/addon/dim-a-simple-dark-theme/</link><guid isPermaLink="false">PROJECT_DIM</guid><pubDate>Mon, 06 Feb 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Roll]]></title><description><![CDATA[<p>Roll a D6.</p>]]></description><link>https://rileyjshaw.com/roll/</link><guid isPermaLink="false">PROJECT_ROLL</guid><pubDate>Fri, 27 Jan 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[2023-01-22 at 21.03.51.mov]]></title><link>https://screenshots.rileyjshaw.com/post/707201000997519360</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_707201000997519360</guid><pubDate>Mon, 23 Jan 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[2023-01-22 at 21.39.15.png]]></title><link>https://screenshots.rileyjshaw.com/post/707203228362850304</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_707203228362850304</guid><pubDate>Mon, 23 Jan 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-11-29 at 16.14.04.png]]></title><link>https://screenshots.rileyjshaw.com/post/702290533345787904</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_702290533345787904</guid><pubDate>Tue, 29 Nov 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Globe]]></title><link>https://rileyjshaw.com/globe</link><guid isPermaLink="false">PROJECT_GLOBE</guid><pubDate>Fri, 25 Nov 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Compare images]]></title><description><![CDATA[<p>Compare two images in a variety of ways.</p>]]></description><link>https://rileyjshaw.com/compare-images/</link><guid isPermaLink="false">PROJECT_COMPARE_IMAGES</guid><pubDate>Thu, 24 Nov 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[cnz]]></title><description><![CDATA[<p>A really tiny library that generates classname strings.</p>]]></description><link>https://www.npmjs.com/package/cnz</link><guid isPermaLink="false">PROJECT_CNZ</guid><pubDate>Wed, 19 Oct 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[John Cage - As Slow as Possible (St. Burchardi Church, Halberstadt)]]></title><description><![CDATA[https://en.wikipedia.org/wiki/As_Slow_as_Possible#Halberstadt_performance]]></description><link>https://youtube.com/watch?v=IJ7KWpiXqIM</link><guid isPermaLink="false">VIDEO_Y_IJ7KWPIXQIM</guid><pubDate>Mon, 17 Oct 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-09-07 at 17.22.30.png]]></title><link>https://screenshots.rileyjshaw.com/post/694771516308668416/dusting-off-and-breaking-my-ribbon-algorithm-again</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_694771516308668416</guid><pubDate>Wed, 07 Sep 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-06-10 at 09.32.50.png]]></title><link>https://screenshots.rileyjshaw.com/post/686678836961787904</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_686678836961787904</guid><pubDate>Fri, 10 Jun 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-06-09 at 10.01.42.png]]></title><link>https://screenshots.rileyjshaw.com/post/686590056443609089</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_686590056443609089</guid><pubDate>Thu, 09 Jun 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-05-25 at 18.13.13.png]]></title><link>https://screenshots.rileyjshaw.com/post/685262025296871424</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_685262025296871424</guid><pubDate>Wed, 25 May 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Ribbon creator]]></title><description><![CDATA[<p>An interactive version of my <a href="https://codepen.io/rileyjshaw/full/BaJyMMj" rel="noopener noreferrer" target="_blank">Ribbon doodle</a>.</p>]]></description><link>https://codepen.io/rileyjshaw/full/zYpKMWB</link><guid isPermaLink="false">PROJECT_RIBBON_CREATOR</guid><pubDate>Tue, 22 Mar 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-03-16 at 16.26.56.png]]></title><link>https://screenshots.rileyjshaw.com/post/678913550852456448</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_678913550852456448</guid><pubDate>Wed, 16 Mar 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Ribbon]]></title><description><![CDATA[<p>A doodle I made while eating Fruit by the Foot.</p>]]></description><link>https://codepen.io/rileyjshaw/full/BaJyMMj</link><guid isPermaLink="false">PROJECT_RIBBON</guid><pubDate>Tue, 15 Mar 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-03-14 at 20.43.33.png]]></title><link>https://screenshots.rileyjshaw.com/post/678748501658779648</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_678748501658779648</guid><pubDate>Tue, 15 Mar 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-03-15 at 10.21.23.png]]></title><link>https://screenshots.rileyjshaw.com/post/678799955049218048</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_678799955049218048</guid><pubDate>Tue, 15 Mar 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Glass rings]]></title><description><![CDATA[<p>More explorations with SVG.</p><p>In these demos, SVG noise is used as a filter to distort geometric canvas animations.</p>]]></description><link>https://codepen.io/collection/YypZxG</link><guid isPermaLink="false">PROJECT_GLASS_RINGS</guid><pubDate>Sun, 27 Feb 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[SVG filters]]></title><description><![CDATA[<p>The SVG specification has built-in noise and lighting, so I tried them out. Infinitely scalable, non-repeating patterns in much less than a kilobyte.</p>]]></description><link>https://codepen.io/collection/QWKQYQ</link><guid isPermaLink="false">PROJECT_SVG_FILTERS</guid><pubDate>Thu, 27 Jan 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Interference pattern generator]]></title><link>https://codepen.io/rileyjshaw/pen/vYePywJ</link><guid isPermaLink="false">PROJECT_INTERFERENCE_PATTERN_GENERATOR</guid><pubDate>Mon, 17 Jan 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-01-16 at 21.51.30.png]]></title><link>https://screenshots.rileyjshaw.com/post/673592524441616384</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_673592524441616384</guid><pubDate>Mon, 17 Jan 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-01-16 at 22.18.30.png]]></title><link>https://screenshots.rileyjshaw.com/post/673594223488073728</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_673594223488073728</guid><pubDate>Mon, 17 Jan 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[2022-01-17 at 03.17.10.png]]></title><link>https://screenshots.rileyjshaw.com/post/673613013882929152</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_673613013882929152</guid><pubDate>Mon, 17 Jan 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Great Fairy’s Fountain]]></title><description><![CDATA[“Hey, listen!” 🧚‍♀️]]></description><link>https://youtube.com/watch?v=JjOFkKFbvlw</link><guid isPermaLink="false">VIDEO_Y_JJOFKKFBVLW</guid><pubDate>Tue, 11 Jan 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[G Minor 9]]></title><description><![CDATA[A quick doodle after work today.]]></description><link>https://youtube.com/watch?v=H8dFqFTj19E</link><guid isPermaLink="false">VIDEO_Y_H8DFQFTJ19E</guid><pubDate>Fri, 07 Jan 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[MIDI grid]]></title><description><![CDATA[I made a new instrument!]]></description><link>https://youtube.com/watch?v=ytyOffQuA5o</link><guid isPermaLink="false">VIDEO_Y_YTYOFFQUA5O</guid><pubDate>Mon, 03 Jan 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Propellers]]></title><link>https://codepen.io/collection/zxqJNP</link><guid isPermaLink="false">PROJECT_PROPELLERS</guid><pubDate>Sat, 20 Nov 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-10-11 at 00.15.06.png]]></title><link>https://screenshots.rileyjshaw.com/post/665579762325110784/spent-the-afternoon-repairing-a-family-of-gameboys</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_665579762325110784</guid><pubDate>Mon, 11 Oct 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-07-15 at 16.38.31.png]]></title><link>https://screenshots.rileyjshaw.com/post/656808619808112640</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_656808619808112640</guid><pubDate>Thu, 15 Jul 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-07-02 at 12.02.27.png]]></title><link>https://screenshots.rileyjshaw.com/post/655613490564939776</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_655613490564939776</guid><pubDate>Fri, 02 Jul 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[My keyboard layout]]></title><description><![CDATA[<p>The layout I use for my <a href="https://www.zsa.io/moonlander/" rel="noopener noreferrer" target="_blank">Moonlander</a> keyboard.</p>]]></description><link>https://configure.zsa.io/moonlander/layouts/30wmY/latest</link><guid isPermaLink="false">PROJECT_MY_KEYBOARD_LAYOUT</guid><pubDate>Sun, 20 Jun 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Marqueee (rotated)]]></title><description><![CDATA[<p>A remix of <a href="/glitch-archive/projects/marqueee/" target="_blank" rel="noopener noreferrer">Marqueee</a>, with a <code>rotate</code> parameter added.</p>]]></description><link>https://rileyjshaw.com/glitch-archive/projects/marqueee-rotated/</link><guid isPermaLink="false">PROJECT_MARQUEEE_14ROTATED15</guid><pubDate>Tue, 08 Jun 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[CSV to GPX]]></title><description><![CDATA[<p>Converts a CSV file to a Garmin-flavored <code>.gpx</code> file.</p>]]></description><link>https://github.com/rileyjshaw/csv-to-gpx</link><guid isPermaLink="false">PROJECT_CSV_TO_GPX</guid><pubDate>Fri, 21 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Variable font: headings grow on hover]]></title><description><![CDATA[<p>Another quick experiment with variable fonts following <a href="https://codepen.io/rileyjshaw/full/WNpwGZx" rel="noopener noreferrer" target="_blank">LOUDER</a>. The heading text grows in response to hover or touch proximity.</p>]]></description><link>https://codepen.io/rileyjshaw/full/xxqRmjg</link><guid isPermaLink="false">PROJECT_VARIABLE_FONT1M_HEADINGS_GROW_ON_HOVER</guid><pubDate>Wed, 19 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[LFOs]]></title><description><![CDATA[Set and toggle 16 independent LFOs. You can cross-modulate them if you want, but by default it’s just a bunch of LFOs.]]></description><link>https://patchstorage.com/lfos/</link><guid isPermaLink="false">PATCH_140563</guid><pubDate>Mon, 17 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[LOUDER]]></title><description><![CDATA[<p>A quick experiment with variable fonts. Responds to mouse or touch.</p>]]></description><link>https://codepen.io/rileyjshaw/full/WNpwGZx</link><guid isPermaLink="false">PROJECT_LOUDER</guid><pubDate>Fri, 14 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Power Song Finder]]></title><description><![CDATA[<p>Searches your favorite Spotify tracks for a running “Power Song”. A Power Song matches your target cadence, and pumps you up during a tough point in the run.</p>]]></description><link>https://rileyjshaw.com/power-song-finder/</link><guid isPermaLink="false">PROJECT_POWER_SONG_FINDER</guid><pubDate>Fri, 30 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-04-19 at 18.46.04.png]]></title><link>https://screenshots.rileyjshaw.com/post/648934708695236608</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_648934708695236608</guid><pubDate>Mon, 19 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-04-19 at 18.59.58.png]]></title><link>https://screenshots.rileyjshaw.com/post/648935582631903232</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_648935582631903232</guid><pubDate>Mon, 19 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-04-19 at 19.04.33.png]]></title><link>https://screenshots.rileyjshaw.com/post/648935871611092992</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_648935871611092992</guid><pubDate>Mon, 19 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-04-19 at 19.07.18.png]]></title><link>https://screenshots.rileyjshaw.com/post/648936044176261120</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_648936044176261120</guid><pubDate>Mon, 19 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-04-19 at 19.07.46.png]]></title><link>https://screenshots.rileyjshaw.com/post/648936073919070208</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_648936073919070208</guid><pubDate>Mon, 19 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-04-19 at 19.11.39.mov]]></title><link>https://screenshots.rileyjshaw.com/post/648936317634363392</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_648936317634363392</guid><pubDate>Mon, 19 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pocket calculator]]></title><description><![CDATA[<p>Scrapes your unread and archived Pocket content and provides basic stats.</p>]]></description><link>https://github.com/rileyjshaw/pocket-calculator</link><guid isPermaLink="false">PROJECT_POCKET_CALCULATOR</guid><pubDate>Thu, 01 Apr 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Scribbler]]></title><description><![CDATA[<p>Combine many types of lines into a single line.</p>]]></description><link>https://rileyjshaw.com/scribbler</link><guid isPermaLink="false">PROJECT_SCRIBBLER</guid><pubDate>Wed, 24 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-03-14 at 19.30.10.png]]></title><link>https://screenshots.rileyjshaw.com/post/645675992489345024</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_645675992489345024</guid><pubDate>Sun, 14 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Gravity delay]]></title><description><![CDATA[This is a creative MIDI delay that physically models incoming notes based on their velocity...]]></description><link>https://patchstorage.com/gravity-delay/</link><guid isPermaLink="false">PATCH_137431</guid><pubDate>Sat, 13 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Panning gravity delay]]></title><description><![CDATA[This is a creative MIDI delay that physically models incoming notes based on their velocity...]]></description><link>https://patchstorage.com/panning-gravity-delay/</link><guid isPermaLink="false">PATCH_137434</guid><pubDate>Sat, 13 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Mozaic demos: Gravity delay, panning gravity delay, dedupe]]></title><description><![CDATA[A quick demo of three Mozaic plugins I wrote in December 2020: “Gravity delay”, “Panning gravity delay”, and “Dedupe”. Download them for free on Patchstorage:]]></description><link>https://youtube.com/watch?v=MfgEzUxGdR8</link><guid isPermaLink="false">VIDEO_Y_MFGEZUXGDR8</guid><pubDate>Sat, 13 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Feature: add a dark theme]]></title><description><![CDATA[<p>Dark themes are something I’ve sought since my early days on a computer. I remember finding a way to apply a black background to Microsoft Word 2003, then being horrified when I accidentally printed the document. In uni I scripted my desktop to boot into <a href="https://justgetflux.com/" rel="noopener noreferrer" target="_blank">f.lux</a>’s darkroom mode. One of my only lasting contributions to <a href="/blog/the-pool-on-the-roof-must-have-a-leak">Signal</a> was loudly advocating for dark mode on iOS and Desktop, not just Android. I even <a href="https://chrome.google.com/webstore/detail/dark-theme-everywhere/nibjplbnmmklkfnkpecgbffkifmdbjed" rel="noopener noreferrer" target="_blank">made a browser extension in 2015</a> to apply a dark theme to the entire Internet.</p><p>It’s not the most pressing or exciting work, but I decided my site should have a dark theme of its own. I took a lot of inspiration from my former Khan Academy teammate <a href="https://www.joshwcomeau.com/react/dark-mode/" rel="noopener noreferrer" target="_blank">Josh W. Comeau’s dark mode post</a>, with a few differences.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/1c9ceef36f4fef69fd3a20b65414de774f3bf3e1</link><guid isPermaLink="false">COMMIT_1C9CEEF36F4FEF69FD3A20B65414DE774F3BF3E1</guid><pubDate>Sat, 06 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[SVG &lt;animate&gt; tests]]></title><description><![CDATA[<p>Even more tiny tests while learning SVG’s SMIL specification.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/rNWKPOW</link><guid isPermaLink="false">PROJECT_SVG_12LT1NANIMATE12GT1N_TESTS</guid><pubDate>Thu, 04 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-03-03 at 20.07.30.png]]></title><link>https://screenshots.rileyjshaw.com/post/672603026379489280</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_672603026379489280</guid><pubDate>Thu, 04 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[breathing timer]]></title><description><![CDATA[<p>A quick experiment to see if SVG <code>&lt;animateTransform&gt;</code> declarations can be copied and reused (they can).</p><p>Inhale for 4 seconds, hold for 7 seconds, exhale for 9 seconds.</p>]]></description><link>https://codepen.io/rileyjshaw/full/bGBKmZp</link><guid isPermaLink="false">PROJECT_BREATHING_TIMER</guid><pubDate>Wed, 03 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Minimal SVG dark mode icon]]></title><description><![CDATA[<p>An attempt to fit a few difficult SVG requirements (SMIL animation, resizable with fixed stroke width, fits within container bounds) into the same icon.</p><p>It’s a different icon than the one I created for this site.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/LYbrEGb</link><guid isPermaLink="false">PROJECT_MINIMAL_SVG_DARK_MODE_ICON</guid><pubDate>Wed, 03 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Winking SVG]]></title><description><![CDATA[<p>A raw SVG animation using no external libraries. It’s also cute. Click to animate.</p><p>Used as an initial test for this site’s theme picker icon.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/abBKOmE</link><guid isPermaLink="false">PROJECT_WINKING_SVG</guid><pubDate>Wed, 03 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-03-03 at 18.09.45.png]]></title><link>https://screenshots.rileyjshaw.com/post/644678141352247296</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_644678141352247296</guid><pubDate>Wed, 03 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-02-28 at 21.03.35.png]]></title><link>https://screenshots.rileyjshaw.com/post/644417286725419008/i-finally-picked-some-colours</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_644417286725419008</guid><pubDate>Mon, 01 Mar 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[February calendar]]></title><link>https://codepen.io/rileyjshaw/full/poNLNOL</link><guid isPermaLink="false">PROJECT_FEBRUARY_CALENDAR</guid><pubDate>Sun, 28 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[The responsive edit]]></title><description><![CDATA[<p>Another big one:</p><ul>
<li><strong>Wrote a Puppeteer script to render, measure, sort, and save fonts, sorted by height, width, and height x width</strong></li>
<li><strong>Made row height fit the biggest displayed font cell, and nColumns responsive to window width</strong></li>
<li>Removed <code>AutoSizer</code>; swapped it for a simpler <code>useSize</code> hook</li>
<li>Added <code>yarn update-fonts</code> to automatically download, measure, and update fonts</li>
<li>Improved the placeholder text behaviour, and added some variety</li>
<li>Updated Google Fonts</li>
</ul>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/font-comparison-tool/4b18ff55171e5682f287a9825794b733c6fddc20</link><guid isPermaLink="false">COMMIT_4B18FF55171E5682F287A9825794B733C6FDDC20</guid><pubDate>Fri, 26 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-02-26 at 03.43.03.png]]></title><link>https://screenshots.rileyjshaw.com/post/644170627836755968</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_644170627836755968</guid><pubDate>Fri, 26 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[The performance edit: part 2]]></title><description><![CDATA[<p>(Part 1 was <a href="https://github.com/rileyjshaw/font-comparison-tool/commit/c9bfc9788212e54a4c2e428bb3d5fd9b04add8f7" rel="noopener noreferrer" target="_blank"><tt>c9bfc97</tt></a>)</p><p>Wow. After these two commits, this feels like a completely different app. It’s so speedy!</p><h2>Background</h2><p>Last commit, I focused on eliminating unnecessary FontContainer re-renders. This wasn’t a big priority at first… until I added Google’s catalog of &gt; 1000 fonts. Ever since, performance has crawled whenever that category is selected.</p><p>I decided to tighten up my own render code first because I knew that after enclosing the list in a virtual scroller, performance would be okay enough. And then I’d be less motivated by the sluggish, practically unusable Google Fonts viewer.</p><p>And I'm happy I did! <code>react-window</code> made a huge difference. With the improved render tree <em>and</em> virtualized scrolling, this app somehow makes loading, displaying, and live-editing the preview of &gt; 1000 webfonts pretty smooth.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/font-comparison-tool/097837cfa4965a10dccf160a5e046042f59fed8c</link><guid isPermaLink="false">COMMIT_097837CFA4965A10DCCF160A5E046042F59FED8C</guid><pubDate>Tue, 23 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-02-20 at 18.28.02.png]]></title><link>https://screenshots.rileyjshaw.com/post/672602520441503744</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_672602520441503744</guid><pubDate>Sat, 20 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Improved version for 2021]]></title><description><![CDATA[<p>I recently added a color channel splitter back into my site header, so I dusted off this project. I’m finally settling on a standard palette. This was further motivated by adding a dark theme to my site.</p><p>Some improvements since 2018:</p><ul>
<li>Moved this out of the rileyjshaw.github.io repo into its own project</li>
<li>Improved UX around color-editing to something much quicker</li>
<li>Updated UI to show all colors and blend variants on screen at once</li>
<li>Added a toggle to show / hide secondary colors</li>
<li>Added saving / export tools</li>
<li>Added a toggle for dark mode, and separate state for the two palettes</li>
<li>Added a toggle to test different blend modes on the fly</li>
<li>Added a button to test live on rileyjshaw.com</li>
<li>Simplified code structure, added some dependencies, broke files out</li>
<li>Improved tooling</li>
</ul>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/palette-test-tool/20c08f1f73c6a69cd5b6135c036fbea969208a58</link><guid isPermaLink="false">COMMIT_20C08F1F73C6A69CD5B6135C036FBEA969208A58</guid><pubDate>Thu, 18 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Palette test tool]]></title><description><![CDATA[<p>Bikeshedding (noun): <em>Futile investment of time and energy in discussion of marginal technical issues. Procrastination.</em></p><p>A bespoke developer tool that I created to choose the additive (dark theme) and subtractive (light theme) color palettes for this website.</p>]]></description><link>https://github.com/rileyjshaw/palette-test-tool</link><guid isPermaLink="false">PROJECT_PALETTE_TEST_TOOL</guid><pubDate>Fri, 12 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[The performance edit: part 1]]></title><description><![CDATA[<ul>
<li>Memoize the FontContainer component, and its callbacks</li>
<li>Update size and alignment with CSS variables, not props</li>
</ul><p>It’s scrolling way better now, and changing font size with Google Fonts over no-longer causes an explosion.</p><p>Next up: <code>react-window</code>, keep the <a href="https://github.com/font-face" rel="noopener noreferrer" target="_blank">@font-face</a> declarations to woff2? only</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/font-comparison-tool/c9bfc9788212e54a4c2e428bb3d5fd9b04add8f7</link><guid isPermaLink="false">COMMIT_C9BFC9788212E54A4C2E428BB3D5FD9B04ADD8F7</guid><pubDate>Mon, 08 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Feature: add an embed blocker for external media 🔐]]></title><description><![CDATA[<p>Makes page loads snappier, and lets folks opt into Google’s tracking empire</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/0065325b42759a67cc72cbad73c5f1d97bdf2857</link><guid isPermaLink="false">COMMIT_0065325B42759A67CC72CBAD73C5F1D97BDF2857</guid><pubDate>Sun, 07 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Font scout]]></title><description><![CDATA[<p>A tool for comparing local / web fonts side-by-side.</p><p>This wasn’t designed for public consumption, but the code is open-source if you want to remix it with your own fonts. I recorded <a href="https://youtu.be/TRGodGOu3Ww" rel="noopener noreferrer" target="_blank">a quick session of myself using it</a> if you’re curious.</p>]]></description><link>https://fonts.sort.tools</link><guid isPermaLink="false">PROJECT_FONT_SCOUT</guid><pubDate>Tue, 26 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-01-16 at 15.22.43.png]]></title><link>https://screenshots.rileyjshaw.com/post/640500172146802688/the-art-of-electronics-third-edition-index-page</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_640500172146802688</guid><pubDate>Sat, 16 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Canvas smudge effect demos]]></title><description><![CDATA[<p>Reusable functions that accept an HTML canvas and re-draw it slightly smudged. The CMY version separates cyan/magenta/yellow color channels and adds an offset.</p>]]></description><link>https://codepen.io/collection/DaxrqQ</link><guid isPermaLink="false">PROJECT_CANVAS_SMUDGE_EFFECT_DEMOS</guid><pubDate>Tue, 12 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[sunflower]]></title><link>https://codepen.io/rileyjshaw/full/rNMqBZR</link><guid isPermaLink="false">PROJECT_SUNFLOWER</guid><pubDate>Tue, 12 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-01-12 at 14.16.38.png]]></title><link>https://screenshots.rileyjshaw.com/post/640133626062929920</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_640133626062929920</guid><pubDate>Tue, 12 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[MIDI Channel Shifter]]></title><description><![CDATA[Shifts the MIDI Channel of incoming MIDI messages. Knob 1: Channel shift amount, from -15...]]></description><link>https://patchstorage.com/midi-channel-shifter/</link><guid isPermaLink="false">PATCH_134431</guid><pubDate>Sun, 10 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-01-05 at 01.01.29.png]]></title><link>https://screenshots.rileyjshaw.com/post/639449421520715776</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_639449421520715776</guid><pubDate>Tue, 05 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[2021-01-05 at 00.15.56.png]]></title><link>https://screenshots.rileyjshaw.com/post/639449511924727808</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_639449511924727808</guid><pubDate>Tue, 05 Jan 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Dedupe]]></title><description><![CDATA[Dedupe prevents consecutive MIDI Note On messages from occurring on the same note & channel...]]></description><link>https://patchstorage.com/dedupe/</link><guid isPermaLink="false">PATCH_133788</guid><pubDate>Wed, 30 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-12-27 at 13.06.06.png]]></title><link>https://screenshots.rileyjshaw.com/post/638679636843315200</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_638679636843315200</guid><pubDate>Sun, 27 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Gravity drops (excerpt 2)]]></title><link>https://soundcloud.com/rileyjshaw/gravity-drops-excerpt-2</link><guid isPermaLink="false">SONG_954986224</guid><pubDate>Sun, 27 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Gravity drops (excerpt 1)]]></title><link>https://soundcloud.com/rileyjshaw/gravity-drops-excerpt-1</link><guid isPermaLink="false">SONG_953102674</guid><pubDate>Wed, 23 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Release: remove the “beta” banner!!! 🎊]]></title><description><![CDATA[<p>Almost one year ago, I <a href="http://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/acfbf166206e1fcea9f03b6919715eba01e4b2f9" rel="noopener noreferrer" target="_blank">quietly launched the new version of my site to rileyjshaw.com</a>. It was the last day of the decade, and it felt momentous. But since there were still some glaring bugs and omissions, I decided to hedge the release behind a “THIS SITE IS IN BETA” banner.</p><p>It’s the end of the year again. Though there are <em>still</em> design problems and omissions, the site is much further along than it was on initial release. Some highlights:</p><ul>
<li><a href="/lab">/lab</a> no-longer crashes Webkit based browsers (lol)</li>
<li>I added <em>bunch</em> of new scrapers. Most recently: SoundCloud, Vimeo, and YouTube.</li>
<li>The design is still uh… getting there… but it’s at least simpler and more consistent now.</li>
<li>I test-drove the blog and added some new features (like MDX!)</li>
<li>I put a ton of meat on last year’s skelly bones. From <a href="/about">/about</a> to <a href="/lab">/lab</a> to adding about 3x more quotes, this site is more substantial and chaotic than ever before.</li>
</ul>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/5edf7cab0d844a346f49222f92a84005b0f01433</link><guid isPermaLink="false">COMMIT_5EDF7CAB0D844A346F49222F92A84005B0F01433</guid><pubDate>Fri, 18 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Feature: add a video scraper]]></title><description><![CDATA[<p>I figure now that I’m scraping SoundCloud, I’d better start scraping YouTube and Vimeo too. Since I occasionally cross-post videos (eg. a demo / instructional video for Patchstorage), I need to figure out how to reduce the clutter caused by duplicate entries. I’ll solve that problem once I see where duplicates tend to crop up.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/4d115d10aa58b7606b7ef4ad1c750e4bf4c56fc7</link><guid isPermaLink="false">COMMIT_4D115D10AA58B7606B7EF4AD1C750E4BF4C56FC7</guid><pubDate>Thu, 17 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Jambo brightness control demo]]></title><description><![CDATA[Bit of progress as I work on the settings menu :)]]></description><link>https://youtube.com/watch?v=w8Zuumkq3j0</link><guid isPermaLink="false">VIDEO_Y_W8ZUUMKQ3J0</guid><pubDate>Thu, 17 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Mallets]]></title><link>https://soundcloud.com/rileyjshaw/mallets</link><guid isPermaLink="false">SONG_948431872</guid><pubDate>Wed, 16 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Feature: add a SoundCloud song scraper]]></title><description><![CDATA[<p>For now it’s mostly experiments and technical demos, but as I get braver I might start posting more music :)</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/76a558dfd30b60806e4d7cd42ab37ef0737c3f31</link><guid isPermaLink="false">COMMIT_76A558DFD30B60806E4D7CD42AB37EF0737C3F31</guid><pubDate>Mon, 14 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-12-13 at 20.42.39.png]]></title><link>https://screenshots.rileyjshaw.com/post/637440003545366528/been-a-year-still-waiting</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_637440003545366528</guid><pubDate>Mon, 14 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Panic! At The Drambo]]></title><description><![CDATA[This is a MIDI panic rack. I've been using Drambo more and more to sequence...]]></description><link>https://patchstorage.com/midi-panic/</link><guid isPermaLink="false">PATCH_133008</guid><pubDate>Sat, 12 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[MIDI note # to pitch conversion]]></title><description><![CDATA[This demo rack uses a few Math modules to convert an integer MIDI note number...]]></description><link>https://patchstorage.com/midi-note-to-pitch-conversion/</link><guid isPermaLink="false">PATCH_133014</guid><pubDate>Sat, 12 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Panic! At The Drambo (MIDI panic rack)]]></title><description><![CDATA[This is a MIDI panic rack.]]></description><link>https://youtube.com/watch?v=Vgyj4DNHfvM</link><guid isPermaLink="false">VIDEO_Y_VGYJ4DNHFVM</guid><pubDate>Sat, 12 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-12-01 at 03.11.25.png]]></title><link>https://screenshots.rileyjshaw.com/post/636286701898203136</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_636286701898203136</guid><pubDate>Tue, 01 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-11-29 at 16.18.36.png]]></title><link>https://screenshots.rileyjshaw.com/post/636543845290721280</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_636543845290721280</guid><pubDate>Sun, 29 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Glitch More]]></title><description><![CDATA[A first pass at recreating my favourite parts of Alex Matheu's lovely GlitchCore app in...]]></description><link>https://patchstorage.com/glitch-more/</link><guid isPermaLink="false">PATCH_132469</guid><pubDate>Fri, 27 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Glitch More]]></title><description><![CDATA[A first pass at recreating my favourite parts of Alex Matheu's lovely GlitchCore app in Drambo. You can download it on PatchStorage here: https://patchstorage.com/glitch-more/]]></description><link>https://youtube.com/watch?v=2FAzhbVhdTY</link><guid isPermaLink="false">VIDEO_Y_2FAZHBVHDTY</guid><pubDate>Fri, 27 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-11-25 at 13.22.11.png]]></title><link>https://screenshots.rileyjshaw.com/post/635781546255712256</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_635781546255712256</guid><pubDate>Wed, 25 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[A video game]]></title><link>https://soundcloud.com/rileyjshaw/a-video-game</link><guid isPermaLink="false">SONG_935973070</guid><pubDate>Wed, 25 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Quarter note stutter (demo)]]></title><link>https://soundcloud.com/rileyjshaw/quarter-note-stutter-demo</link><guid isPermaLink="false">SONG_935985013</guid><pubDate>Wed, 25 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-11-23 at 20.34.48.png]]></title><link>https://screenshots.rileyjshaw.com/post/635627570004623360</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_635627570004623360</guid><pubDate>Tue, 24 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Scaling faders: do these exist?]]></title><description><![CDATA[Occasionally, clumsily, I make music. I had a drum kit when I was growing up. Making music looked like this:

Sit down.Hit drums for an hour.

Now I’ve grown up, so I share walls with landlords and neighbours whose love is conditional. And though I’ve managed to fit drums into some astonishing nooks, my recent apartments haven’t had room for surfaces that I don’t eat or sleep on.

These days, I make music with a keyboard or drum pad connected to my computer. It’s the same computer that I spend most of my time…]]></description><link>https://rileyjshaw.com/blog/scaling-faders</link><guid isPermaLink="false">POST_SCALING_FADERS</guid><pubDate>Tue, 17 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[resurfacing]]></title><description><![CDATA[sfpc spring 2018 showcase project]]></description><link>https://youtube.com/watch?v=ZTyzMsvt2jo</link><guid isPermaLink="false">VIDEO_Y_ZTYZMSVT2JO</guid><pubDate>Mon, 16 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-11-15 at 13.46.06.png]]></title><link>https://screenshots.rileyjshaw.com/post/634877081179848704</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_634877081179848704</guid><pubDate>Sun, 15 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-11-11 at 08.34.41.png]]></title><link>https://screenshots.rileyjshaw.com/post/634483776303529984</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_634483776303529984</guid><pubDate>Wed, 11 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Feature: add lazy loading to the lab]]></title><description><![CDATA[<p>This small, very important change has been in my working directory since January. What a year…</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/0cdfad1d54b6ce4317efc6775f67c9c12827bcd0</link><guid isPermaLink="false">COMMIT_0CDFAD1D54B6CE4317EFC6775F67C9C12827BCD0</guid><pubDate>Tue, 10 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Jambo MIDI map]]></title><description><![CDATA[A simple MIDI mapping for my Jambo hardware controller. The DIY guide is up at...]]></description><link>https://patchstorage.com/jambo-midi-map/</link><guid isPermaLink="false">PATCH_131668</guid><pubDate>Mon, 09 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Scaling faders (audio demo)]]></title><description><![CDATA[<p>I dread mixing audio. I tend to make the drums a little louder, then the lead, then the bass, then the drums again, and on and on until I’m clipping everywhere.</p><p>I made this demo UI to show how a mixer might help keep your levels in check. Does this exist yet?</p>]]></description><link>https://codepen.io/rileyjshaw/full/ZEOqdPM</link><guid isPermaLink="false">PROJECT_SCALING_FADERS_14AUDIO_DEMO15</guid><pubDate>Mon, 09 Nov 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Seg16]]></title><description><![CDATA[<p>A simple Arduino library for driving 16-segment displays with a HT16K33.</p>]]></description><link>https://github.com/rileyjshaw/Seg16</link><guid isPermaLink="false">PROJECT_SEG16</guid><pubDate>Fri, 30 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Chorder!]]></title><description><![CDATA[A parameter-lockable, MIDI-mappable converter from a single MIDI note to 8 configurable chords. For my...]]></description><link>https://patchstorage.com/chorder/</link><guid isPermaLink="false">PATCH_130675</guid><pubDate>Fri, 16 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Making a chord progression on the fly w/ Chorder! (v1.0.0)]]></title><description><![CDATA[This is a demo video for my Drambo “Chorder!” rack, a parameter-lockable, MIDI-mappable converter from a single MIDI note to 8 configurable chords.]]></description><link>https://youtube.com/watch?v=7UM6fZ8ibF4</link><guid isPermaLink="false">VIDEO_Y_7UM6FZ8IBF4</guid><pubDate>Fri, 16 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Cycle]]></title><link>https://www.shadertoy.com/view/wsKczm</link><guid isPermaLink="false">PROJECT_CYCLE</guid><pubDate>Mon, 12 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[canvas b/w image effects]]></title><description><![CDATA[<p>A few quick doodles that I eventually ported to WebGL.</p>]]></description><link>https://codepen.io/collection/DRdKOb</link><guid isPermaLink="false">PROJECT_CANVAS_B1BW_IMAGE_EFFECTS</guid><pubDate>Sat, 10 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Jambo v1.0.0]]></title><description><![CDATA[UPDATE: I created an 18-page handwritten DIY guide. It’s for sale at https://gum.co/jambo.]]></description><link>https://youtube.com/watch?v=Ow5A2BGH1m4</link><guid isPermaLink="false">VIDEO_Y_OW5A2BGH1M4</guid><pubDate>Tue, 06 Oct 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-09-30 at 19.35.17.png]]></title><link>https://screenshots.rileyjshaw.com/post/630727814497337344</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_630727814497337344</guid><pubDate>Wed, 30 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[#20092]]></title><link>https://www.dwitter.net/d/20092</link><guid isPermaLink="false">DWEET_20092</guid><pubDate>Thu, 24 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[#20093]]></title><link>https://www.dwitter.net/d/20093</link><guid isPermaLink="false">DWEET_20093</guid><pubDate>Thu, 24 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[#20094]]></title><link>https://www.dwitter.net/d/20094</link><guid isPermaLink="false">DWEET_20094</guid><pubDate>Thu, 24 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-09-21 at 01.26.30.png]]></title><link>https://screenshots.rileyjshaw.com/post/629843941366300672</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_629843941366300672</guid><pubDate>Mon, 21 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-09-21 at 17.24.41.png]]></title><link>https://screenshots.rileyjshaw.com/post/629904225484374016/made-these-plants-to-share-on-walkyspace</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_629904225484374016</guid><pubDate>Mon, 21 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[#20004]]></title><link>https://www.dwitter.net/d/20004</link><guid isPermaLink="false">DWEET_20004</guid><pubDate>Sat, 19 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-09-16 at 20.57.44.png]]></title><link>https://screenshots.rileyjshaw.com/post/629464644922261504</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_629464644922261504</guid><pubDate>Thu, 17 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[#19983]]></title><link>https://www.dwitter.net/d/19983</link><guid isPermaLink="false">DWEET_19983</guid><pubDate>Wed, 16 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[#19987]]></title><link>https://www.dwitter.net/d/19987</link><guid isPermaLink="false">DWEET_19987</guid><pubDate>Wed, 16 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[#19988]]></title><link>https://www.dwitter.net/d/19988</link><guid isPermaLink="false">DWEET_19988</guid><pubDate>Wed, 16 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-09-15 at 20.59.33.png]]></title><link>https://screenshots.rileyjshaw.com/post/629374161906761729</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_629374161906761729</guid><pubDate>Wed, 16 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-09-15 at 22.11.28.png]]></title><link>https://screenshots.rileyjshaw.com/post/629378686096982016/perfect-tiling-width-15-seq</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_629378686096982016</guid><pubDate>Wed, 16 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-09-15 at 15.12.16.png]]></title><link>https://screenshots.rileyjshaw.com/post/629352312664702976</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_629352312664702976</guid><pubDate>Tue, 15 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tiling background generators]]></title><link>https://codepen.io/collection/AEGpVQ</link><guid isPermaLink="false">PROJECT_TILING_BACKGROUND_GENERATORS</guid><pubDate>Mon, 14 Sep 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-08-19 at 13.58.32.png]]></title><link>https://screenshots.rileyjshaw.com/post/626901555199819776/so-much-underway-that-i-ran-out-of-jumper-wires</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_626901555199819776</guid><pubDate>Wed, 19 Aug 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-08-18 at 14.28.33.png]]></title><link>https://screenshots.rileyjshaw.com/post/626812846932656128</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_626812846932656128</guid><pubDate>Tue, 18 Aug 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-07-31 at 19.05.43.png]]></title><link>https://screenshots.rileyjshaw.com/post/625199539918438401</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_625199539918438401</guid><pubDate>Fri, 31 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-07-11 at 18.34.59.png]]></title><link>https://screenshots.rileyjshaw.com/post/623385667001597952</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_623385667001597952</guid><pubDate>Sat, 11 Jul 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Double double dots (CSS only)]]></title><description><![CDATA[<p>Recursive illustration of the loci of points on a moving circle.</p>]]></description><link>https://codepen.io/rileyjshaw/full/mdegGpa</link><guid isPermaLink="false">PROJECT_DOUBLE_DOUBLE_DOTS_14CSS_ONLY15</guid><pubDate>Tue, 26 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[dotz]]></title><link>https://codepen.io/rileyjshaw/pen/ExVpPgK</link><guid isPermaLink="false">PROJECT_DOTZ</guid><pubDate>Tue, 12 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[guyz]]></title><link>https://codepen.io/rileyjshaw/full/jObpqem</link><guid isPermaLink="false">PROJECT_GUYZ</guid><pubDate>Tue, 12 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[macaronis]]></title><link>https://codepen.io/rileyjshaw/pen/ZEbjQrb</link><guid isPermaLink="false">PROJECT_MACARONIS</guid><pubDate>Tue, 12 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-05-12 at 19.59.05.png]]></title><link>https://screenshots.rileyjshaw.com/post/617955139492462592</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_617955139492462592</guid><pubDate>Tue, 12 May 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-04-24 at 20.18.29.png]]></title><link>https://screenshots.rileyjshaw.com/post/616325615435579393</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_616325615435579393</guid><pubDate>Sat, 25 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-04-24 at 12.58.05.png]]></title><link>https://screenshots.rileyjshaw.com/post/618397028511318016/apples-platforms-are-increasingly-inhospitable-to</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_618397028511318016</guid><pubDate>Fri, 24 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Deletion Day]]></title><description><![CDATA[<p>Deletion Day challenges the prevailing notion that “more is more”. In a culture that strives for permanence, we celebrate ephemerality, growth, and change.</p>]]></description><link>https://deletionday.com</link><guid isPermaLink="false">PROJECT_DELETION_DAY</guid><pubDate>Sat, 04 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[April 4th is Deletion Day]]></title><description><![CDATA[<p>I included the following in <a href="https://sfpc.rileyjshaw.com/post/171435065582/my-school-for-poetic-computation-application" rel="noopener noreferrer" target="_blank">my application for SFPC</a>:</p><blockquote><p>DELETION, PERMANENCE, AND CONSISTENCY=====================================</p><p>Silicon
 Valley likes to store data because it entrenches people in their past 
behaviors. Corporate culture’s emphasis on consistency is ableist, 
colonizing, transphobic, and represents a growing discomfort with 
people’s fluidity.</p><p><b>I hope someday to have an International Day of Deletion.</b> How can we live more presently?</p></blockquote><p>I am excited to say that after a few years of privately practicing Deletion Day on April 4th, we’ve got <a href="https://deletionday.com" rel="noopener noreferrer" target="_blank">a public website</a>.</p><p>Deletion Day 2020 is less straightforward than it’s been in past years. With the isolation of social distancing, I’ve found comfort in social and digital media. And my gripes about data security and privacy seem tiny next to the health crisis we’re dealing with globally. But – this is still something that matters to me. Privacy and agency remain important components of the rapid changes we’re witnessing in government and society.</p>]]></description><link>https://sfpc.rileyjshaw.com/post/614491710124359680/april-4th-is-deletion-day</link><guid isPermaLink="false">SFPC_TUMBLR_614491710124359680</guid><pubDate>Sat, 04 Apr 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-03-24 at 19.57.40.png]]></title><link>https://screenshots.rileyjshaw.com/post/613515798927048704</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_613515798927048704</guid><pubDate>Tue, 24 Mar 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Full-width text experiments]]></title><description><![CDATA[<p>Typesetting experiments in stretching, smooshing, and justification.</p>]]></description><link>https://codepen.io/collection/AaZmYv?cursor=ZD0wJm89MSZwPTEmdj0yOTM4MjE2</link><guid isPermaLink="false">PROJECT_FULL_WIDTH_TEXT_EXPERIMENTS</guid><pubDate>Mon, 02 Mar 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-03-02 at 18.44.07.png]]></title><link>https://screenshots.rileyjshaw.com/post/611521814002286592</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_611521814002286592</guid><pubDate>Mon, 02 Mar 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-02-27 at 21.27.04.png]]></title><link>https://screenshots.rileyjshaw.com/post/613036910795014144</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_613036910795014144</guid><pubDate>Fri, 28 Feb 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[CSS vertical rhythm]]></title><description><![CDATA[<p>An adaptive ruleset for vertical rhythm, responsive to the font-size of the parent container.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/KKpNvew</link><guid isPermaLink="false">PROJECT_CSS_VERTICAL_RHYTHM</guid><pubDate>Sat, 22 Feb 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Neumorphic keyboard]]></title><description><![CDATA[<p>Hopping on the bandwagon…</p>]]></description><link>https://codepen.io/rileyjshaw/full/oNXjLOV</link><guid isPermaLink="false">PROJECT_NEUMORPHIC_KEYBOARD</guid><pubDate>Tue, 11 Feb 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[I oppose Amendment 3 to the .COM Registry Agreement]]></title><description><![CDATA[ICANN is the governing body for the Internet’s domain name system. They are responsible for enabling and achieving “broad representation of the global Internet community”. Over the past few years they have proven to be shady, if not downright corrupt. Last…]]></description><link>https://rileyjshaw.com/blog/ICANN-Amendment-3</link><guid isPermaLink="false">POST_ICANN_AMENDMENT_3</guid><pubDate>Mon, 10 Feb 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-02-10 at 12.40.47.mov]]></title><link>https://screenshots.rileyjshaw.com/post/190756400621</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190756400621</guid><pubDate>Mon, 10 Feb 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[PO-33 loader]]></title><description><![CDATA[<p>A drum sample loader for my Pocket Operator K.O.</p>]]></description><link>https://rileyjshaw.com/po-33</link><guid isPermaLink="false">PROJECT_PO_33_LOADER</guid><pubDate>Fri, 07 Feb 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-02-04 at 20.30.28.png]]></title><link>https://screenshots.rileyjshaw.com/post/190653258355/drawn-with-maxs-soft-touch</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190653258355</guid><pubDate>Wed, 05 Feb 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-02-05 at 14.54.29.png]]></title><link>https://screenshots.rileyjshaw.com/post/190666522900</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190666522900</guid><pubDate>Wed, 05 Feb 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Add control mode à la tmux for text alignment]]></title><description><![CDATA[<p>To enable control mode, hit <code>meta key + e</code>. From there, the next key you click will run a control command.</p><p>There are currently two valid control commands:</p><ul>
<li>ArrowLeft: nudge text alignment left for the active editor</li>
<li>ArrowRight: nudge text alignment right for the active editor</li>
</ul>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/write/8d135b3bcd140dc3dec77f082837bfb37956c77c</link><guid isPermaLink="false">COMMIT_8D135B3BCD140DC3DEC77F082837BFB37956C77C</guid><pubDate>Fri, 24 Jan 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[2020-01-17 at 13.22.02.png]]></title><link>https://screenshots.rileyjshaw.com/post/190665512735</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190665512735</guid><pubDate>Fri, 17 Jan 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Spiral explorer]]></title><description><![CDATA[<p>A WIP / DOA sandbox for exploring <a href="https://codepen.io/collection/nYWPBp" rel="noopener noreferrer" target="_blank">single-line, tiling spirals</a>.</p>]]></description><link>https://github.com/rileyjshaw/spiral-explorer</link><guid isPermaLink="false">PROJECT_SPIRAL_EXPLORER</guid><pubDate>Fri, 10 Jan 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Scroll-snap grid]]></title><description><![CDATA[<p>Prototype for a scrollable full-screen gallery using CSS <code>scroll-snap-</code> properties.</p><p>Works with touch, touchpad, mouse, and arrow keys.</p>]]></description><link>https://codepen.io/rileyjshaw/details/ExaQLqa</link><guid isPermaLink="false">PROJECT_SCROLL_SNAP_GRID</guid><pubDate>Wed, 08 Jan 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[feat: 🎸 Initial public release]]></title><description><![CDATA[<p>After much dawdling, I'm publishing my new site on the last day of the decade <g-emoji class="g-emoji" alias="confetti_ball" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f38a.png">🎊</g-emoji> This commit removes the "new" subdomain from <a href="/">https://rileyjshaw.com</a>. My old site is already mirrored at <a href="https://v14.rileyjshaw.com" rel="noopener noreferrer" target="_blank">https://v14.rileyjshaw.com</a>, and will remain there.</p><p>This commit also upgrades project dependencies, and adds a whole bunch of commit linters and hooks to keep commits consistent. Specifically, I added</p><ul>
<li><a href="https://github.com/typicode/husky" rel="noopener noreferrer" target="_blank">Husky</a></li>
<li><a href="https://commitlint.js.org/" rel="noopener noreferrer" target="_blank">commitlint</a></li>
<li><a href="https://github.com/commitizen/cz-cli" rel="noopener noreferrer" target="_blank">Commitizen</a>, and</li>
<li><a href="https://www.conventionalcommits.org/en/v1.0.0/" rel="noopener noreferrer" target="_blank">Conventional Commits</a></li>
</ul><p>to keep commits easy and consistent. I'm writing this description through a CLI – it feels like the future. Get used to that <code>feat:</code> tag in the commit header!</p><p>Eventually I'd like to add an automated Changelog with <a href="https://github.com/semantic-release/semantic-release" rel="noopener noreferrer" target="_blank">Semantic Release</a>, but I'll save that for another day. For now, <a href="/">enjoy my new, faster, shinier, live on the internet, totally rad new site</a>!</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/acfbf166206e1fcea9f03b6919715eba01e4b2f9</link><guid isPermaLink="false">COMMIT_ACFBF166206E1FCEA9F03B6919715EBA01E4B2F9</guid><pubDate>Tue, 31 Dec 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Remove Google Analytics]]></title><description><![CDATA[<p>Who needs 'em…</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io-v14/ed0984c0162dfd952d806f6ca47f28884f2dd8bc</link><guid isPermaLink="false">COMMIT_ED0984C0162DFD952D806F6CA47F28884F2DD8BC</guid><pubDate>Tue, 31 Dec 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tidal <3 Vim]]></title><link>https://rileyjshaw.commit--blog.com/rileyjshaw/.supermac/8fdc6236e9343c37ae1f9e2d3a1737c96d84a995</link><guid isPermaLink="false">COMMIT_8FDC6236E9343C37AE1F9E2D3A1737C96D84A995</guid><pubDate>Tue, 17 Dec 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[timestamped]]></title><description><![CDATA[This video played behind me during my Winter 2018 School for Poetic Computation intro. The following is a transcript of my talk:]]></description><link>https://vimeo.com/377116426</link><guid isPermaLink="false">VIDEO_V_377116426</guid><pubDate>Tue, 03 Dec 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[2019-10-03 at 09.18.26.png]]></title><link>https://screenshots.rileyjshaw.com/post/190653519835</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190653519835</guid><pubDate>Thu, 03 Oct 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Add some resources]]></title><description><![CDATA[<p>Adds the following resources:</p><ul>
<li>"<a href="https://humanetech.com/podcast/" rel="noopener noreferrer" target="_blank">Your Undivided Attention</a>" (podcast)</li>
<li>"<a href="https://www.carbonite.com/podcasts/breach" rel="noopener noreferrer" target="_blank">Breach</a>" (podcast)</li>
<li>"<a href="https://irlpodcast.org" rel="noopener noreferrer" target="_blank">IRL</a>" (podcast)</li>
<li>"<a href="https://www.bbc.co.uk/programmes/m000458m" rel="noopener noreferrer" target="_blank">New Ways of Seeing</a>" (podcast)</li>
<li>"<a href="https://stealthisshow.com" rel="noopener noreferrer" target="_blank">Steal This Show</a>" (podcast)</li>
<li>"<a href="http://www.sarawb.com/technically-wrong" rel="noopener noreferrer" target="_blank">Technically Wrong</a>" (book)</li>
<li>"<a href="https://mitpress.mit.edu/books/protocol" rel="noopener noreferrer" target="_blank">Protocol</a>" (book)</li>
<li>"<a href="https://www.penguinrandomhouse.com/books/600671/how-to-do-nothing-by-jenny-odell/9781612197494" rel="noopener noreferrer" target="_blank">How to Do Nothing</a>" (book)</li>
</ul>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/tech-ethics-yvr/f96e4148f210177757f79aa74d872ea645cd45a6</link><guid isPermaLink="false">COMMIT_F96E4148F210177757F79AA74D872EA645CD45A6</guid><pubDate>Mon, 23 Sep 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[2019-09-20 at 11.52.40.png]]></title><link>https://screenshots.rileyjshaw.com/post/190664486770/teaching-scratch-and-makey-makey-with-girls</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190664486770</guid><pubDate>Fri, 20 Sep 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[2019-09-17 at 12.01.24.png]]></title><link>https://screenshots.rileyjshaw.com/post/190664420870</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190664420870</guid><pubDate>Tue, 17 Sep 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Repair Matters on CBC Radio]]></title><description><![CDATA[I was on the CBC again! Kady Wong and I representedRepair Matters on BC Today this afternoon. You can listen to the segment here. It starts at 33:30.]]></description><link>https://rileyjshaw.com/blog/repair-matters-on-cbc-radio</link><guid isPermaLink="false">POST_REPAIR_MATTERS_ON_CBC_RADIO</guid><pubDate>Mon, 16 Sep 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Initial commit]]></title><description><![CDATA[<h2>plop (working title)</h2><p><em>Scriptable text expansion microtool.</em></p><p><code>Status: pre-alpha / prototype / I thought of this an hour ago</code></p><p>  </p><h3>Usage:</h3><pre><code># Only works on MacOS for now.
git clone https://github.com/rileyjshaw/plop
cd plop
npm i
npm start
</code></pre><p>While going about your business, hit <code>Cmd + Shift + Space</code>. Write some valid JavaScript. The result will be typed into whatever program you have open.</p><h4>Note:</h4><p><code>\n</code> triggers a simulated Enter press. Please be kind, don't spam your group chat.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/plop/5efe71827c2575cbd09dc30669e9c1a63fc625db</link><guid isPermaLink="false">COMMIT_5EFE71827C2575CBD09DC30669E9C1A63FC625DB</guid><pubDate>Sat, 14 Sep 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Plop]]></title><description><![CDATA[<p>A scriptable text expansion microtool.</p>]]></description><link>https://github.com/rileyjshaw/plop</link><guid isPermaLink="false">PROJECT_PLOP</guid><pubDate>Fri, 13 Sep 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Add pagination to the blog!]]></title><description><![CDATA[<p>This is an exciting commit for the new site. It collects blog posts from multiple sources (for now: <a href="http://rileyjshaw.commit--blog.com" rel="noopener noreferrer" target="_blank">http://rileyjshaw.commit--blog.com</a>, <a href="https://sfpc.rileyjshaw.com" rel="noopener noreferrer" target="_blank">https://sfpc.rileyjshaw.com</a>, and <a href="/blog">https://rileyjshaw.com/blog</a>), orders them by date, and paginates them into a nice on-site list.</p><p>In the past, my blog has always seemed stale and outdated. By allowing it to gobble content from across the web, I can point it to whatever platform I'm currently publishing on!</p><p>This commit is going to show up as a post on my blog, which feels rather meta.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw-new/13f32fb1219d29a61032646be13dcfe602a595f5</link><guid isPermaLink="false">COMMIT_13F32FB1219D29A61032646BE13DCFE602A595F5</guid><pubDate>Tue, 03 Sep 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Bootstrap an independent data scraper]]></title><description><![CDATA[<h2>Project scraper</h2><p>The projects on my site are automatically scraped and formatted at publish time using the scripts in this directory. Read more about my reasoning below, or skip to the <a href="#structure">directory structure</a>.</p><h3>Why?</h3><p>Gatsby's source and transformer plugins are powerful, and I used them in the initial development of this site. I eventually decided that separating my collection process would be good for flexibility, control, and offline work.</p><h4>Flexibility</h4><p>GraphQL's filters and transforms are powerful, and Gatsby's APIs add more options for how data is fetched, cached, and transformed. However, complicated or non-standard data transforms and sanitization are much easier outside of Gatsby's ecosystem. For instance, the API starts to feel clunky for one-off treatment of specific content nodes,</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw-new/2488bcd5e5610f692773e7815fabdb247ece55f5</link><guid isPermaLink="false">COMMIT_2488BCD5E5610F692773E7815FABDB247ECE55F5</guid><pubDate>Sat, 31 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[2019-08-18 at 22.30.40.png]]></title><link>https://screenshots.rileyjshaw.com/post/190664471025/making-some-tools-for-palette-generation</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190664471025</guid><pubDate>Mon, 19 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[SVG text: subtractive color blend with <code>mix-blend-mode: multiply</code>]]></title><link>https://codepen.io/rileyjshaw/pen/RwbaoVr</link><guid isPermaLink="false">PROJECT_SVG_TEXT1M_SUBTRACTIVE_COLOR_BLEND_WITH_1OCODE1QMIX_BLEND_MODE1M_MULTIPLY1O1BCODE1Q</guid><pubDate>Thu, 15 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Archive pre-2019 Heroku site; Update README.md]]></title><description><![CDATA[<p>Excerpt from the  new README:</p><pre><code>## timeline
2015: first bingo! [eli](https://twitter.com/veryeli) and i used the attendee
directory to generate a unique card for everyone (twitter login kept it private
🔒). squares on your card were other attendees - if you met someone on your
card you got to check it off. we made it cuz we’re shy. most of it is in the
`pre-2019` folder!

2016: we made the cards prettier by pulling in people’s twitter photos and
doing imgmagick to them 🔮

2017: no xoxo, no bingo… missed u all

2018: xoxo was in the midst of changing their infrastructure, so i lost access
to the attendee directory. [hannah](https://twitter.com/herlifeinpixels),
[jason](https://twitter.com/justsomeguy) and i met in a cafe before the kickoff
ceremony and designed a static version with input from the community. hannah
and jason made 25 icons in like two minutes, it was incredible!!!

2019: i've been too cheap to get https://xoxo.bingo in previous years, but
[andy](https://twitter.com/andymcmillan) noticed a thread on slack and hooked
us up! thx andy.
</code></pre>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/xoxo-bingo/638c25ce03e53b1042a6e8081bbc356d865ac67c</link><guid isPermaLink="false">COMMIT_638C25CE03E53B1042A6E8081BBC356D865AC67C</guid><pubDate>Wed, 14 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Firehose: proof of concept]]></title><description><![CDATA[<p>I'm experimenting with auto-generating nodes for <a href="/lab">https://rileyjshaw.com/lab</a> from a variety of data sources. This project may eventually replace <a href="/">https://rileyjshaw.com</a>.</p><p>This is the initial commit, completed quickly as a proof of concept. There's nothing much to show, but I want to deploy ASAP so I can test the full pipeline.</p><p>So far, everything has worked! Data from a variety of sources is already appearing on my local server. To reproduce:</p><ul>
<li>Run <code>gatsby develop</code>.</li>
<li>Open <a href="http://localhost:8000/page-2" rel="noopener noreferrer" target="_blank">http://localhost:8000/page-2</a> in a browser.</li>
</ul><p>So far, I'm surfacing data from:</p><ul>
<li>A hand-curated JSON list of projects I use for <a href="/lab">https://rileyjshaw.com/lab</a>.</li>
<li><a href="https://dwitter.net" rel="noopener noreferrer" target="_blank">Dwitter</a>'s API.</li>
<li><a href="https://rileyjshaw.commit--blog.com" rel="noopener noreferrer" target="_blank">My commit--blog</a>'s Atom feed.</li>
</ul><p>Setting this up was <em>EASY</em>, which makes me excited for the future of this experiment :)</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw-new/f117f4faa75dca5fa109bac066adb3b3ee5c6cf7</link><guid isPermaLink="false">COMMIT_F117F4FAA75DCA5FA109BAC066ADB3B3EE5C6CF7</guid><pubDate>Fri, 09 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Add an index for each individual project]]></title><description><![CDATA[<p>I started this repository in the spirit of OpenFrameworks and TouchDesigner: I wanted all the libraries I might need close at hand, with a simple, abstracted API for drawing to , SVG, etc. I wanted a personal playpen / pigpen to test ideas in.</p><p>For that reason, I didn't need nice features like <em>routing</em> or <em>pages.</em> :) if I wanted to see an old sketch, I'd change the root component and re-render. It worked for me!</p><p>But I planned to eventually make an easier way to browse existing experiments. It would benefit me a bit, and casual viewers a lot.</p><p>I haven't updated this repository in nearly two years, and I honestly never expect to again. I'm doing less browser-based creative coding these days, and trying to stretch my work in other directions.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/canvas/1bded12b1bbe518e87ffbab8c0c3a4d80f10fb46</link><guid isPermaLink="false">COMMIT_1BDED12B1BBE518E87FFBAB8C0C3A4D80F10FB46</guid><pubDate>Wed, 07 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Add Dwitter data and some initial scraper options]]></title><description><![CDATA[<p>I love the tidal wave of projects on <a href="/lab">/lab</a>, and I want to emphasize that for v3.0 of the website. I update pages across the web daily; Glitch, Codepen, gist.github.com, Dwitter, Hackster, etc. Plus there's social media…</p><p>I'm okay with manual curation for the most part, but for websites like Dwitter where contributions are inherently unpolished / untitled, it doesn't make sense for me to hand-pick and manually update a giant list.</p><p>Also: I'm not sure how long Dwitter will be around for. Periodically saving the underlying code / images / etc. gives me more ownership over the presentation and preservation of my data. It changes my relationship with these sites from content hosts to publishing platforms. That makes me feel more secure with my zillion links.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/5bd325e113ac998737005467529f93aed8791f45</link><guid isPermaLink="false">COMMIT_5BD325E113AC998737005467529F93AED8791F45</guid><pubDate>Tue, 06 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[#15303]]></title><link>https://www.dwitter.net/d/15303</link><guid isPermaLink="false">DWEET_15303</guid><pubDate>Tue, 06 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[#15308]]></title><link>https://www.dwitter.net/d/15308</link><guid isPermaLink="false">DWEET_15308</guid><pubDate>Tue, 06 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[#15311]]></title><link>https://www.dwitter.net/d/15311</link><guid isPermaLink="false">DWEET_15311</guid><pubDate>Tue, 06 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[#15270]]></title><link>https://www.dwitter.net/d/15270</link><guid isPermaLink="false">DWEET_15270</guid><pubDate>Sat, 03 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[#15271]]></title><link>https://www.dwitter.net/d/15271</link><guid isPermaLink="false">DWEET_15271</guid><pubDate>Sat, 03 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Add gallery posts and some cellular automata]]></title><description><![CDATA[<p>I've decided to upgrade my website! The <a href="/blog">blog</a> and <a href="/lab">lab</a> are moving to the same page. I'm also going to add more content types, like songs, galleries, and videos. As I migrate things over, I'll be backfilling my blog with content to test with.</p><p>The CA post is an example of filler content.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/9a31d93c0803ddb1b2e0fd9208451686011472b7</link><guid isPermaLink="false">COMMIT_9A31D93C0803DDB1B2E0FD9208451686011472B7</guid><pubDate>Thu, 01 Aug 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Marqueee]]></title><description><![CDATA[<p>A quick experiment to render an efficient marquee / ticker tape on a canvas.</p><p>Used as part of an online treasure hunt I made.</p>]]></description><link>https://rileyjshaw.com/glitch-archive/projects/marqueee/</link><guid isPermaLink="false">PROJECT_MARQUEEE</guid><pubDate>Sat, 01 Jun 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[hell]]></title><link>https://are.na/riley-shaw/hell-sbgbxnmdlxi</link><guid isPermaLink="false">ARENA_HELL_SBGBXNMDLXI</guid><pubDate>Thu, 30 May 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[2019-05-15 at 11.38.22.mov]]></title><link>https://screenshots.rileyjshaw.com/post/190756672335</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190756672335</guid><pubDate>Wed, 15 May 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Simplify min, max logic and increase range]]></title><description><![CDATA[<p>Different servo models can accept a wide range of pulse widths. Even different servos of the same model might vary a bit. Currently, the Arduino Servo library has a severely restricted hard limit on the pulse widths that can be sent to servos. Specifically:</p><ul>
<li>Minimum pulse width must be between [32, 1052].</li>
<li>Maximum pulse width must be between [1888, 2908].</li>
</ul><p>Many popular servos have min/max pulse widths that fall in that unavailable range between (1052, 1888). For instance, the <a href="https://parallax.com/sites/default/files/downloads/900-00360-Feedback-360-HS-Servo-v1.2.pdf" rel="noopener noreferrer" target="_blank">Parallax Feedback 360° High-Speed Servo</a> operates between [1280, 1720].</p><p>Before this commit, each instance of <code>Servo</code> stored their <code>min</code> and <code>max</code> values as <code>int8_t</code>. Since that only leaves room for values in the range [-128, 127], it can't store meaningful servo pulse widths, which are typically in the ~[1000, 2000]µs range. To compensate, <code>min</code> and <code>max</code> store the distance from the default values, divided by 4…</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/Servo/36f25f4f3a18bbb048b9be3b8dc24d65f10ec273</link><guid isPermaLink="false">COMMIT_36F25F4F3A18BBB048B9BE3B8DC24D65F10EC273</guid><pubDate>Fri, 05 Apr 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fix #3: Update min and max to sensible defaults]]></title><description><![CDATA[<p>R/C servos have a standard pulse width range of 1000 to 2000µs<sup name="user-content-a1"><a href="#f1">1</a></sup>, with the zero point between the two at 1500µs. Currently, Arduino's Servo library sets:</p><ul>
<li><a href="https://github.com/arduino-libraries/Servo/blob/4970d615a13f4c0d08026ee361cc8a01974924a2/src/Servo.h#L80" rel="noopener noreferrer" target="_blank"><code>#define MIN_PULSE_WIDTH 544</code></a></li>
<li><a href="https://github.com/arduino-libraries/Servo/blob/4970d615a13f4c0d08026ee361cc8a01974924a2/src/Servo.h#L81" rel="noopener noreferrer" target="_blank"><code>#define MAX_PULSE_WIDTH 2400</code></a></li>
<li><a href="https://github.com/arduino-libraries/Servo/blob/4970d615a13f4c0d08026ee361cc8a01974924a2/src/Servo.h#L82" rel="noopener noreferrer" target="_blank"><code>#define DEFAULT_PULSE_WIDTH 1500</code></a></li>
</ul><p>This causes a lot of confusion<sup name="user-content-a2"><a href="#f2">2</a></sup>, especially since [the docs say <code>write(90)</code> should correspond to the mid-point] (<a href="https://www.arduino.cc/en/Reference/ServoWrite" rel="noopener noreferrer" target="_blank">https://www.arduino.cc/en/Reference/ServoWrite</a>); in actuality, it results in a call to <code>writeMicroseconds(1472)</code><sup name="user-content-a3"><a href="#f3">3</a></sup>.</p><p>This change adjusts the defaults to align with R/C standards. Specifically,</p><ul>
<li><code>write(0)</code> now corresponds to the standard min pulse width of 1000µs.</li>
<li><code>write(90)</code> now corresponds to the standard zero point pulse width, and aligns with the library's <code>DEFAULT_PULSE_WIDTH</code> variable.</li>
<li><code>write(180)</code> now corresponds to the standard max pulse width of 2000µs.</li>
</ul>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/Servo/931445b47da28bd836e1d5a92ef0a9627eb244db</link><guid isPermaLink="false">COMMIT_931445B47DA28BD836E1D5A92EF0A9627EB244DB</guid><pubDate>Fri, 05 Apr 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Update `performance.now()` compatibility table to match rest of article]]></title><description><![CDATA[<p>As mentioned in <a href="https://developer.mozilla.org/en-US/docs/Web/API/Performance/now" rel="noopener noreferrer" target="_blank">https://developer.mozilla.org/en-US/docs/Web/API/Performance/now</a>:</p><blockquote>
<p>Firefox started rounding to 1 millisecond in Firefox 60.</p>
</blockquote><p>This commit updates the <code>performance.now()</code> compatibility table to match the rest of the article.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/browser-compat-data/ac98244cc4f551c3be62f62340e13bf50b89f508</link><guid isPermaLink="false">COMMIT_AC98244CC4F551C3BE62F62340E13BF50B89F508</guid><pubDate>Fri, 05 Apr 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Servo]]></title><description><![CDATA[<p>A fork of the official Arduino Servo library, improved to match standard R/C pulse widths.</p>]]></description><link>https://github.com/rileyjshaw/Servo/tree/min-max-improvements</link><guid isPermaLink="false">PROJECT_SERVO</guid><pubDate>Fri, 05 Apr 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[ascii garden]]></title><description><![CDATA[<p>An ascii rock garden. Rake with touch / mouse.</p>]]></description><link>https://rileyjshaw.com/glitch-archive/projects/ascii-garden/</link><guid isPermaLink="false">PROJECT_ASCII_GARDEN</guid><pubDate>Sun, 17 Mar 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[txt flowers]]></title><description><![CDATA[<p>A garden of emoji that slowly climbs your screen.</p>]]></description><link>https://rileyjshaw.com/glitch-archive/projects/txt-flowers/</link><guid isPermaLink="false">PROJECT_TXT_FLOWERS</guid><pubDate>Sun, 17 Mar 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[typing lazy (desktop only)]]></title><description><![CDATA[<p>Try touch-typing an English word without moving your fingers from their resting position on the keyboard.</p><p>This was a proof-of-concept for a keyboard glove, which was implemented in hardware by <a href="https://github.com/rileyjshaw/english-words-directory-trie" rel="noopener noreferrer" target="_blank">mapping the trie to a directory tree</a>.</p>]]></description><link>https://rileyjshaw.com/glitch-archive/projects/typing-lazy/</link><guid isPermaLink="false">PROJECT_TYPING_LAZY_14DESKTOP_ONLY15</guid><pubDate>Sun, 10 Mar 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[CA finder]]></title><description><![CDATA[<p>Caution: it flashes! <a href="/glitch-archive/projects/ca-finder/" target="_blank" rel="noopener noreferrer">Controls listed in the README.</a></p>]]></description><link>https://rileyjshaw.com/glitch-archive/projects/ca-finder/</link><guid isPermaLink="false">PROJECT_CA_FINDER</guid><pubDate>Sat, 09 Mar 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Add an /about page]]></title><description><![CDATA[<p>Well, it's time.</p><p>When I made this website, I decided against adding an /about page. The site was a sandbox to dump anything I happened to build / write / imagine while attending Hacker School, and an /about page seemed limiting. As the site grew, it grew weirder. I decided that its lack of context was an asset. I have some free usertesting.com recordings from 2015 that prove the site made no sense. I loved them.</p><p>But the real reason I never had an /about page is that I didn't want to talk about myself.</p><p>Exactly a year ago, I <a href="/blog/i-have-a-new-blog/">retired my portfolio page</a>. I've recently begun applying for grants, and having some context on who is behind this site is important.</p><p>The real problem is that this site is old; an /about page is an easy stopgap. This site does not represent me well anymore; I don't know why I still have links to my blog, for example. I would like to strip the site down, and think about the intended audience. But that sort of thing takes time, and I'm making the conscious decision to not prioritize my personal site for now.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/cb0d305f163e53e0d964ac7d9c102c407ff04f7d</link><guid isPermaLink="false">COMMIT_CB0D305F163E53E0D964AC7D9C102C407FF04F7D</guid><pubDate>Wed, 06 Mar 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Initial commit]]></title><link>https://rileyjshaw.commit--blog.com/miseryco/curriculum/477e923efcd46ff16de4677a80e0846b310973a5</link><guid isPermaLink="false">COMMIT_477E923EFCD46FF16DE4677A80E0846B310973A5</guid><pubDate>Tue, 19 Feb 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[1.618 tests]]></title><description><![CDATA[<p>After watching some <a href="https://asknature.org/resource/doodling-in-math-spirals-fibonacci-and-being-a-plant" rel="noopener noreferrer" target="_blank">Vi Hart videos</a>, I started thinking a lot about Fibonacci Hashing and made some simple visualizations to test ideas.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/pGPaKQ</link><guid isPermaLink="false">PROJECT_1_618_TESTS</guid><pubDate>Sat, 02 Feb 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[b/w?]]></title><description><![CDATA[<p>Testing the limits of the illusion that R+G+B = grey</p>]]></description><link>https://codepen.io/rileyjshaw/pen/XOMNwX</link><guid isPermaLink="false">PROJECT_B1BW1R</guid><pubDate>Fri, 01 Feb 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[2019-01-21 at 15.30.07.png]]></title><link>https://screenshots.rileyjshaw.com/post/190664911080</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190664911080</guid><pubDate>Mon, 21 Jan 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[2019-01-21 at 17.40.00.png]]></title><link>https://screenshots.rileyjshaw.com/post/190665056035</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190665056035</guid><pubDate>Mon, 21 Jan 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[hw]]></title><link>https://are.na/riley-shaw/hw-u1lmoisdnyu</link><guid isPermaLink="false">ARENA_HW_U1LMOISDNYU</guid><pubDate>Wed, 21 Nov 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[the basement flooded.. :(]]></title><link>https://rileyjshaw.commit--blog.com/herlifeinpixels/voxels/640cec9613aa6dc284d953591545ffff5cf6b0ff</link><guid isPermaLink="false">COMMIT_640CEC9613AA6DC284D953591545FFFF5CF6B0FF</guid><pubDate>Mon, 19 Nov 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Dropper]]></title><link>https://thenounproject.com/icon/dropper-2154767/</link><guid isPermaLink="false">ICON_2154767</guid><pubDate>Mon, 12 Nov 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Mystery house]]></title><description><![CDATA[<p>A house built collaboratively in <a href="https://ephtracy.github.io/" rel="noopener noreferrer" target="_blank">MagicaVoxel</a> with my friend Hannah.</p>]]></description><link>https://twitter.com/herlifeinpixels/status/1061891927312805888</link><guid isPermaLink="false">PROJECT_MYSTERY_HOUSE</guid><pubDate>Sun, 11 Nov 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[2018-10-31 at 16.36.02.png]]></title><link>https://screenshots.rileyjshaw.com/post/634899891767951360</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_634899891767951360</guid><pubDate>Wed, 31 Oct 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Stipphonic]]></title><description><![CDATA[<p>I wanted to see what stippling sounded like applied to musical chords.</p><p>Adapted from <a href="https://github.com/rileyjshaw/virtuoso" rel="noopener noreferrer" target="_blank">Virtuoso</a>.</p>]]></description><link>https://github.com/rileyjshaw/stipphonic</link><guid isPermaLink="false">PROJECT_STIPPHONIC</guid><pubDate>Wed, 03 Oct 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[final showcase project: depression]]></title><description><![CDATA[<blockquote><p>“how can i help?”</p><p>a solitary
 dial reflects the machine’s physical clock speed, acting as display 
rather than control. despite appearances, your presence is appreciated.</p></blockquote><p><i>depression</i> is a personal reflection of my past few years, struggling
 with depression in an environment that couldn’t help or support me the 
way i needed. <i>depression </i>initially existed as part of a larger criticism of  capitalism and the work ethic. i stripped down the larger piece until one exposed dial remained.</p><p>the dial  represents the machine’s energy level. turned all the way down, it represents depression; the machine’s&nbsp;clock speed drops, and it becomes so sluggish it’s nearly inoperational. when the dial is turned all the way up, the machine works “as intended”.</p>]]></description><link>https://sfpc.rileyjshaw.com/post/182905537092/final-showcase-project-depression</link><guid isPermaLink="false">SFPC_TUMBLR_182905537092</guid><pubDate>Wed, 25 Apr 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[a few ideas along the way]]></title><description><![CDATA[<p>annnd the showcase is finished! i’m working on a writeup for my final project, but in the meantime here are some other ideas i tested along the way. this post won’t get into the themes i wanted to explore with these pieces, since i’d rather spend that time on the final writeup. hopefully you find some of these  interesting without explanation!</p><p><b>geometries that reveal contradictory images / messages from different perspectives</b> (to be printed, then origami’d). i tested a few geometries for this one; here’s a prototype i built to test “print” images to a pyramidal lattice:</p><p><b>self-destructive art piece that wants privacy:</b></p><p><b>wiping away digital residue:</b></p><p><b>a printer that ran through a scanner that ran through another printer and then into a paper shredder because idk state surveillance or something:</b></p>]]></description><link>https://sfpc.rileyjshaw.com/post/179360727897/a-few-ideas-along-the-way</link><guid isPermaLink="false">SFPC_TUMBLR_179360727897</guid><pubDate>Tue, 24 Apr 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Calling all New York friends!]]></title><description><![CDATA[<p>The SFPC showcase is this weekend. Come check it out!</p><p style=""><a href="https://www.eventbrite.com/e/sfpc-spring-2018-student-showcase-tickets-45020562715" rel="noopener noreferrer" target="_blank">https://www.eventbrite.com/e/sfpc-spring-2018-student-showcase-tickets-45020562715</a></p>]]></description><link>https://sfpc.rileyjshaw.com/post/173128872587/calling-all-new-york-friends</link><guid isPermaLink="false">SFPC_TUMBLR_173128872587</guid><pubDate>Fri, 20 Apr 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[v.1]]></title><description><![CDATA[<p>with the showcase coming up, i’ve been ignoring this blog to fill my sketchbook with desperate project ideas. it’s been a process. i’ve built a few prototypes to 50% but haven’t been satisfied yet.</p><p>this evening (less than two days before the showcase) i finally had an idea that stuck. i’m writing from the subway home after building the enclosure and v1 of the software:</p><p>the project is called depression. i’m excited to write more about it soon!</p>]]></description><link>https://sfpc.rileyjshaw.com/post/173089791367/v1</link><guid isPermaLink="false">SFPC_TUMBLR_173089791367</guid><pubDate>Thu, 19 Apr 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[2018-04-06 at 22.49.38.mov]]></title><link>https://screenshots.rileyjshaw.com/post/190666084735</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190666084735</guid><pubDate>Sat, 07 Apr 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[smudge]]></title><description><![CDATA[<p>Created in 99B of Javascript.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/rdQxOa</link><guid isPermaLink="false">PROJECT_SMUDGE</guid><pubDate>Fri, 06 Apr 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Telepresence Manifesto (2018 redux)]]></title><description><![CDATA[<p>today in critical theory, we read and discussed <a href="https://github.com/morehshin/TheRadicalOutside_Spring2018#on-manifestos" rel="noopener noreferrer" target="_blank">a few “manifestos for the internet age”</a>. i’ve got a cold so i called in; when the class broke out to create their own manifestos, i decided to write a “telepresence manifesto” from my sniffly blanket fort.</p><p><a href="https://spectrum.ieee.org/robotics/artificial-intelligence/telepresence-a-manifesto" rel="noopener noreferrer" target="_blank">turns out marvin minsky beat me to it.</a> for context: minsky, who said “i don’t think there is any such thing” regarding human consciousness, co-founded MIT’s AI laboratory. MIT has a long history of military research; in recent years, its public focus has shifted to military robots, drones, and battle suits.</p><p>his manifesto creeps me out. i changed “hands” to “drones” to emphasize why. Edits left as strikethroughs; emphasis my own.</p>]]></description><link>https://sfpc.rileyjshaw.com/post/172567522977/telepresence-manifesto-2018-redux</link><guid isPermaLink="false">SFPC_TUMBLR_172567522977</guid><pubDate>Tue, 03 Apr 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[unhitching]]></title><description><![CDATA[<p>The possibility, vital for life, of unhitching, which consists… in grasping, during the brief intervals in which our species can bring itself to interrupt its hive-like activity, the essence of what it was and continues to be, below the threshold of thought and over and above society: in the contemplation of a mineral more beautiful than all our creations; in the scent that can be smelt at the heart of a lily and is more imbued with learning than all our books; or in the brief glance, heavy with patience, serenity and mutual forgiveness, that, through some involuntary understanding, one can sometimes exchange with a cat.</p><p>Claude Lévi-Strauss, “Tristes Tropiques”</p>]]></description><link>https://sfpc.rileyjshaw.com/post/179678255817/unhitching</link><guid isPermaLink="false">SFPC_TUMBLR_179678255817</guid><pubDate>Sat, 31 Mar 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[2018-03-29 at 12.57.53.png]]></title><link>https://screenshots.rileyjshaw.com/post/190666062865</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190666062865</guid><pubDate>Thu, 29 Mar 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[making nothing]]></title><description><![CDATA[<p>here’s a post that i wrote during my second week here. now that the showcase is coming up, i need to start making a thing. guess i’d better put this up before that starts :)</p><p>one of my major goals during this program is to not make things.</p><p><i>* silence. the sfpc showcase curators back away slowly to discuss what a mistake they’ve made. *</i></p><p>it’s okay, i’ll do the assignments and make a showcase project and all that. i’m still going to make things. it’s hard not to; i’ve already made a lot of Things since arriving, more than i’m comfortable with. but i’m celebrating all the things i think of that i don’t make.</p><p>during the binary numbers assignment, i came up with an idea to:</p><ul><li>map binary digits (bits) to piano keys</li><li>find binary numbers that resolve to nice chords</li><li>create a simple matching app that prompts players with a decimal number and celebrates when the correct chord is played</li></ul>]]></description><link>https://sfpc.rileyjshaw.com/post/172372422682/making-nothing</link><guid isPermaLink="false">SFPC_TUMBLR_172372422682</guid><pubDate>Thu, 29 Mar 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[2018-03-27 at 14.20.00.png]]></title><link>https://screenshots.rileyjshaw.com/post/190666076435</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190666076435</guid><pubDate>Tue, 27 Mar 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[checking in]]></title><description><![CDATA[<p>hi! i haven’t written here in a while. school is busyyy. reading a lot, building a bit, exploring new york, etc. i’ve got a few drafts / reflections from the past few weeks which i’ll hopefully post, but here’s the official rundown so far:</p><p><a href="https://medium.com/sfpc/by-yeli-student-of-sfpc-spring-2018-e007cf28ccdb" rel="noopener noreferrer" target="_blank">week 1</a></p><p><a href="https://medium.com/sfpc/spring-2018-week-2-8539ec15443" rel="noopener noreferrer" target="_blank">week 2</a></p><p><a href="https://medium.com/sfpc/spring-2018-week-3-26068381ab30" rel="noopener noreferrer" target="_blank">week 3</a></p><p><a href="https://medium.com/sfpc/spring-2018-week-4-9f7587d464dc" rel="noopener noreferrer" target="_blank">week 4</a></p><p><a href="https://medium.com/sfpc/spring-2018-week-5-36df8924e06e" rel="noopener noreferrer" target="_blank">week 5</a></p><p>…i can’t believe we’re halfway through! final showcase prep is starting and i still have no idea what i’ll build. yikes! gonna go ponder that, bye for now :)</p>]]></description><link>https://sfpc.rileyjshaw.com/post/172315833927/checking-in</link><guid isPermaLink="false">SFPC_TUMBLR_172315833927</guid><pubDate>Tue, 27 Mar 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[border crossing]]></title><description><![CDATA[<p>headed back to canada for the weekend to see the AGO’s yayoi kusama exhibit (RAD!) and attend a funky dance (RAD!). i’m back at the airport now and made it through (phewf). explaining this school at customs is always complicated, and i’ve been pulled into secondary each time.</p><p>with this week’s readings on “security” + surveillance for our crit theory course (“the radical outside”) fresh on my mind, the customs experience was heightened. last time reached an ABSURD level of invasiveness with questions about my family. this time was just lots of silence as i pondered what the neural nets were cooking up.</p><p>lil thought: upon saying i quit my job just over a month ago, the agent said “oh - that’s a really long time”. Work is a weed we’re feeding 🌱 neoliberal capitalism, “we eat for you”, soapbox, etc.</p>]]></description><link>https://sfpc.rileyjshaw.com/post/171825548577/border-crossing</link><guid isPermaLink="false">SFPC_TUMBLR_171825548577</guid><pubDate>Tue, 13 Mar 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[I have a new blog]]></title><description><![CDATA[I made this website in early 2014 to document projects I worked on at Hacker School. Though I’ve changed a lot since then and worked on all sorts of problems, the site hasn’t updated to reflect that. After three years working on Khan Academy’s engineering team, I left to pursue art and activism full time at the School for Poetic Computation. I’m posting snippets at sfpc.rileyjshaw.com.

At some point I’ll update this site to reflect my current focus. For the time being, I’ve merged my waaay outdated portfolio into the lab.

For more about what I’m focusing on at the moment, you can check out my application to SFPC. It’s half a year out of date at time of writing, but that’s more recent than…]]></description><link>https://rileyjshaw.com/blog/i-have-a-new-blog</link><guid isPermaLink="false">POST_I_HAVE_A_NEW_BLOG</guid><pubDate>Mon, 05 Mar 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[My School for Poetic Computation application]]></title><description><![CDATA[<p>I’ve decided to post my response to the three questions SFPC asks potential participants.</p><p>Before I start any application process I try to learn as much as I can about the place. That involves learning about the folx involved. I hope this post helps a future SFPC attendee get started on their application.</p><p>If you’ve landed here from a search and are considering applying, I recommend doing so! It’s fun here and the people are nice.</p><p><b>A disclaimer  before we get into it:</b> everyone who goes through SFPC comes from different backgrounds. If you see something on my application that you haven’t experienced, please don’t take it as a requirement. Batches are carefully selected to include different perspectives and skillsets. And you’re awesome 💕</p>]]></description><link>https://sfpc.rileyjshaw.com/post/171435065582/my-school-for-poetic-computation-application</link><guid isPermaLink="false">SFPC_TUMBLR_171435065582</guid><pubDate>Fri, 02 Mar 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Oh, And Speaking Of Consistency...]]></title><description><![CDATA[<p>I’m capitalizing words sometimes now. New brand guidelines, hot off the presses.</p>]]></description><link>https://sfpc.rileyjshaw.com/post/171435153227/oh-and-speaking-of-consistency</link><guid isPermaLink="false">SFPC_TUMBLR_171435153227</guid><pubDate>Fri, 02 Mar 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[2018-02-28 at 14.40.58.mov]]></title><link>https://screenshots.rileyjshaw.com/post/629462268079407104</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_629462268079407104</guid><pubDate>Wed, 28 Feb 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[2018-02-27 at 06.57.12.png]]></title><link>https://screenshots.rileyjshaw.com/post/190666068880</link><guid isPermaLink="false">SCREENSHOTS_TUMBLR_190666068880</guid><pubDate>Tue, 27 Feb 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[metropolis]]></title><description><![CDATA[<p>i watched metropolis (1927) tonight at a bar with some friends. despite being nearly a century old, it’s  a pertinent commentary on class and technology. the explicit moral is literally spelled out at the end, I guess:</p><blockquote><p><i>there can be no understanding between the hands and the brain unless the heart acts as mediator.</i></p></blockquote><p>but we couldn’t reach consensus about what this meant re: the worker struggles depicted in the film.</p><p>anyway, it’s late so instead of getting getting into heady things like that, i’ll share something that made me laugh during the movie. this scene reminded me  of my lacking estimation skills at various points in my corporate tech career:</p><p>^ me, hand waving</p><p>^ my manager</p><p>^ my current progress</p>]]></description><link>https://sfpc.rileyjshaw.com/post/171298312372/metropolis</link><guid isPermaLink="false">SFPC_TUMBLR_171298312372</guid><pubDate>Mon, 26 Feb 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[oh dear, my gifs aren’t animating. i’ll never be famous.]]></title><description><![CDATA[<p style="">oh dear, my gifs aren’t animating. i’ll never be famous.</p>]]></description><link>https://sfpc.rileyjshaw.com/post/171298380607/oh-dear-my-gifs-arent-animating-ill-never-be</link><guid isPermaLink="false">SFPC_TUMBLR_171298380607</guid><pubDate>Mon, 26 Feb 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[rough thoughts on the bear thing]]></title><description><![CDATA[<p>it was silly to write all of this down but i  created this blog today and i’m still editing the layout, so i want more words to work with.</p><p>create a few distinct sounds, for example:</p><ul><li>cup/table tap</li><li>cup/table scrape</li><li>ball/table tap</li><li>ball/table scrape</li><li>cup/ball tap</li></ul><p>these examples are unambiguous and easy to perform rapidly by someone keeping the cup in one hand &amp; ball in the other. i’ll refer to each performed sound as a “bit” from here on out.</p><p>for n bits, you have (number of sounds)^n options. with the examples above that’s 5^n, which is plenty.</p><p>so what’s important to convey?</p><p>the shapes are curvy and strange, so it’s easier to share a limited reference table of basic + advanced shapes instead of deriving each part of the bear from scratch. three bits could cover 125 shapes, which is  ample for bear and bear-like drawings.</p>]]></description><link>https://sfpc.rileyjshaw.com/post/171116512267/rough-thoughts-on-the-bear-thing</link><guid isPermaLink="false">SFPC_TUMBLR_171116512267</guid><pubDate>Wed, 21 Feb 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Huertbeat]]></title><description><![CDATA[<p>Pulse available Philips hue lights to whatever is playing on Spotify.</p>]]></description><link>https://github.com/rileyjshaw/huertbeat</link><guid isPermaLink="false">PROJECT_HUERTBEAT</guid><pubDate>Wed, 10 Jan 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[v2.0.0]]></title><description><![CDATA[<p>The previous version of this library assumed use on RGB native platforms, eg. web browsers. This had some consequences for HSL/HSB devices (eg. Philips Hue lightbulbs), where 100% lightness does not necessarily imply white light.</p><p>v2 uses some trig functions that are slower than the v1 algorithm. For super fast averaging, v1 is still your best bet.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/average-color/981204b86e730b08a8805a031fc74c199cc7b445</link><guid isPermaLink="false">COMMIT_981204B86E730B08A8805A031FC74C199CC7B445</guid><pubDate>Thu, 14 Dec 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Huemidity]]></title><description><![CDATA[<p>Control your Philips Hue lights with MIDI triggers.</p>]]></description><link>https://github.com/rileyjshaw/huemidity</link><guid isPermaLink="false">PROJECT_HUEMIDITY</guid><pubDate>Thu, 14 Dec 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Remove some unused libraries]]></title><description><![CDATA[<p>...Including jQuery!? That was easier than expected.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/rileyjshaw.github.io/9ffafc7146fda36f6f83d26f6cb5bf6b0df1b99e</link><guid isPermaLink="false">COMMIT_9FFAFC7146FDA36F6F83D26F6CB5BF6B0DF1B99E</guid><pubDate>Fri, 01 Dec 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Rainbobble]]></title><description><![CDATA[<p>Rainbow remix of <a href="https://codepen.io/rileyjshaw/full/ozjEoK/" rel="noopener noreferrer" target="_blank">Bubble</a>.</p>]]></description><link>https://codepen.io/rileyjshaw/full/VrBZoK/</link><guid isPermaLink="false">PROJECT_RAINBOBBLE</guid><pubDate>Sat, 25 Nov 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Enable multiple Editors in the same note]]></title><description><![CDATA[<p>Meta Key + click to create a new text box anywhere on the page, then just start typing!</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/write/ee318587c8289471319de25166ab3f979655a790</link><guid isPermaLink="false">COMMIT_EE318587C8289471319DE25166AB3F979655A790</guid><pubDate>Wed, 22 Nov 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[canvas]]></title><description><![CDATA[<p>THIRTY-EIGHT rough visual experiments in alphabetical order.</p><p>Each experiment was built using a web tool I created in the spirit of OpenFrameworks and TouchDesigner. I wanted libraries close at hand with a simple API for drawing to &lt;canvas&gt;, SVG, etc.</p>]]></description><link>https://rileyjshaw.com/canvas/</link><guid isPermaLink="false">PROJECT_CANVAS</guid><pubDate>Sat, 07 Oct 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Photo experiment]]></title><description><![CDATA[<p>Combines two images by alternating them row-by-row.</p><p>Each row is placed to line up visually with the row above it, which causes a subtle shearing effect.</p>]]></description><link>https://rileyjshaw.com/glitch-archive/projects/photo-experiment/</link><guid isPermaLink="false">PROJECT_PHOTO_EXPERIMENT</guid><pubDate>Sat, 30 Sep 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Add # of commits ahead / behind to the git prompt]]></title><description><![CDATA[<p>Guess I'm never going back to a terminal that doesn't support unicode…</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/.supermac/ae17d794f03958e04d586eec10c9491f8fab4fd0</link><guid isPermaLink="false">COMMIT_AE17D794F03958E04D586EEC10C9491F8FAB4FD0</guid><pubDate>Thu, 10 Aug 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Change git prompt colors to reflect LoC delta]]></title><description><![CDATA[<p>I'm about to go through a series of refactors, and want a quick visual indication of whether I'm adding or removing lines of code overall. This change shows whether I'm red or green from the upstream branch and from <code>HEAD</code>.</p><p>It's a bit slow. I'd like to speed it up if this works out.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/.supermac/709ccb765346828ceb247058b2cab34b1e874954</link><guid isPermaLink="false">COMMIT_709CCB765346828CEB247058B2CAB34B1E874954</guid><pubDate>Wed, 09 Aug 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[hologram]]></title><description><![CDATA[<p>Cuts a hologram out of acrylic using the Hacklab TO laser cutter.</p>]]></description><link>https://github.com/rileyjshaw/hologram</link><guid isPermaLink="false">PROJECT_HOLOGRAM</guid><pubDate>Mon, 29 May 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fix standalone Mac link]]></title><description><![CDATA[<p>URL encodings - they%27ll get ya.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/SVG-to-GCode/f192783ebf8f74818f008d143d9fb44cf2d9afd8</link><guid isPermaLink="false">COMMIT_F192783EBF8F74818F008D143D9FB44CF2D9AFD8</guid><pubDate>Wed, 24 May 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[“D30U30: You’re in Canadian Business!”]]></title><description><![CDATA[A few months ago I was nominated for a dubious “Developer 30 Under 30” award. I attended the first reception to speak with the organizers about representation in tech, and the impact these lists have on how we (individually and collectively) identify who moves into STEM. I wanted to ensure they took this seriously; specifically, that they wouldn’t promote a toxic status quo. Then this happened: There was a lot of internal discussion about “fairness”, etc. Most was disappointing and unsurprising; some was encouraging. The list got re-ordered, for whatever that’s worth. But if there was any lingering doubt in your mind about industry awards, they are 100% made up and unrepresentative of…]]></description><link>https://rileyjshaw.com/blog/D30U30</link><guid isPermaLink="false">POST_D30U30</guid><pubDate>Thu, 27 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2613]]></title><link>https://www.dwitter.net/d/2613</link><guid isPermaLink="false">DWEET_2613</guid><pubDate>Thu, 27 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2617]]></title><link>https://www.dwitter.net/d/2617</link><guid isPermaLink="false">DWEET_2617</guid><pubDate>Thu, 27 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2618]]></title><link>https://www.dwitter.net/d/2618</link><guid isPermaLink="false">DWEET_2618</guid><pubDate>Thu, 27 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2619]]></title><link>https://www.dwitter.net/d/2619</link><guid isPermaLink="false">DWEET_2619</guid><pubDate>Thu, 27 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2621]]></title><link>https://www.dwitter.net/d/2621</link><guid isPermaLink="false">DWEET_2621</guid><pubDate>Thu, 27 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2601]]></title><link>https://www.dwitter.net/d/2601</link><guid isPermaLink="false">DWEET_2601</guid><pubDate>Wed, 26 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2602]]></title><link>https://www.dwitter.net/d/2602</link><guid isPermaLink="false">DWEET_2602</guid><pubDate>Wed, 26 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2603]]></title><link>https://www.dwitter.net/d/2603</link><guid isPermaLink="false">DWEET_2603</guid><pubDate>Wed, 26 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2605]]></title><link>https://www.dwitter.net/d/2605</link><guid isPermaLink="false">DWEET_2605</guid><pubDate>Wed, 26 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2608]]></title><link>https://www.dwitter.net/d/2608</link><guid isPermaLink="false">DWEET_2608</guid><pubDate>Wed, 26 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2609]]></title><link>https://www.dwitter.net/d/2609</link><guid isPermaLink="false">DWEET_2609</guid><pubDate>Wed, 26 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[#2610]]></title><link>https://www.dwitter.net/d/2610</link><guid isPermaLink="false">DWEET_2610</guid><pubDate>Wed, 26 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[the camera rotates with the minute hand (animated)]]></title><link>https://codepen.io/rileyjshaw/details/gWamKx/</link><guid isPermaLink="false">PROJECT_THE_CAMERA_ROTATES_WITH_THE_MINUTE_HAND_14ANIMATED15</guid><pubDate>Tue, 18 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[2015-01-24: Kawaii]]></title><link>https://soundcloud.com/rileyjshaw/2015-01-24-kawaii</link><guid isPermaLink="false">SONG_317968925</guid><pubDate>Sun, 16 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[2015-01-20: Waterfall]]></title><link>https://soundcloud.com/rileyjshaw/20150120-133914a</link><guid isPermaLink="false">SONG_317969466</guid><pubDate>Sun, 16 Apr 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fuzzy Match Utils]]></title><description><![CDATA[<p>A collection of string matching algorithms designed with React Select in mind.</p>]]></description><link>https://github.com/Khan/fuzzy-match-utils</link><guid isPermaLink="false">PROJECT_FUZZY_MATCH_UTILS</guid><pubDate>Mon, 27 Mar 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[New blog theme]]></title><description><![CDATA[<p>Decided to finally try out material design.</p><p>(Subtle effect on mousemove)</p>]]></description><link>https://codepen.io/rileyjshaw/full/pebMaM</link><guid isPermaLink="false">PROJECT_NEW_BLOG_THEME</guid><pubDate>Mon, 06 Mar 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Multi-line lists with item separators (CSS only)]]></title><link>https://codepen.io/rileyjshaw/pen/BWjZZV/?editors=1100</link><guid isPermaLink="false">PROJECT_MULTI_LINE_LISTS_WITH_ITEM_SEPARATORS_14CSS_ONLY15</guid><pubDate>Wed, 01 Mar 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Initial async release!]]></title><description><![CDATA[<p>Wow. This, big time: <a href="http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/" rel="noopener noreferrer" target="_blank">http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/</a></p><p>Test Plan:</p><ul>
<li><code>npm run lint</code></li>
<li><code>npm run test</code></li>
</ul>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/node-timsort-async/072f34f44bbeee61e14b7d1de92d3202a41b51f9</link><guid isPermaLink="false">COMMIT_072F34F44BBEEE61E14B7D1DE92D3202A41B51F9</guid><pubDate>Mon, 27 Feb 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sorta]]></title><description><![CDATA[<p>Manually sort a list of items using Timsort.</p><p>Abandoned UI experiment; seeing a large list is useful for large sets. Also, quicksort would work better here.</p>]]></description><link>https://rileyjshaw.com/sorta/</link><guid isPermaLink="false">PROJECT_SORTA</guid><pubDate>Mon, 27 Feb 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Node-TimSort Async]]></title><description><![CDATA[<p>Asynchronous TimSort implementation for Node.js.</p>]]></description><link>https://github.com/rileyjshaw/node-timsort-async</link><guid isPermaLink="false">PROJECT_NODE_TIMSORT_ASYNC</guid><pubDate>Sun, 26 Feb 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[write]]></title><description><![CDATA[<p>A chill place to write things.</p>]]></description><link>https://rileyjshaw.com/write</link><guid isPermaLink="false">PROJECT_WRITE</guid><pubDate>Tue, 17 Jan 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Color screen]]></title><description><![CDATA[<p>Full-screen hex, hsl, and rgb color picker & converter</p>]]></description><link>https://rileyjshaw.com/color-screen/</link><guid isPermaLink="false">PROJECT_COLOR_SCREEN</guid><pubDate>Thu, 05 Jan 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Crypto Christmas]]></title><description><![CDATA[<p>Improve your online privacy and security over the 12 days of Cryptmas.</p><p>I was interviewed for this work by NPR, the CBC, and PCMag.</p>]]></description><link>https://xmas.rileyjshaw.com/</link><guid isPermaLink="false">PROJECT_CRYPTO_CHRISTMAS</guid><pubDate>Tue, 27 Dec 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[CSSANDY CANE]]></title><link>https://codepen.io/rileyjshaw/full/mOZrye/</link><guid isPermaLink="false">PROJECT_CSSANDY_CANE</guid><pubDate>Sun, 25 Dec 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[All of which are American dreams]]></title><description><![CDATA[Title lifted from . The results of the US presidential election last Tuesday shocked me. I checked Twitter to find that my entire feed felt the same. Again. Oops, I created a comfortable echo-chamber for myself.

Social news algorithms have been under intense scrutiny over the past week. I wanted to see what other people’s social media bubbles looked like, so I wrote a little shell script1.

I’m not interested in building empathy for racists. I am interested in improving my own awareness. This tool displaces me from the narrative I chose and delivers me from opinions I agree with. It’s helped me realize just how powerful a curated social feed can be as a tool of persuasion…]]></description><link>https://rileyjshaw.com/blog/all-of-which-are-american-dreams</link><guid isPermaLink="false">POST_ALL_OF_WHICH_ARE_AMERICAN_DREAMS</guid><pubDate>Sun, 13 Nov 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[ditter]]></title><description><![CDATA[<p>Create a private Twitter list out of someone else’s feed so you can read it.</p>]]></description><link>https://gist.github.com/rileyjshaw/fab2c01b9bb85e598fffba130ca28d0a</link><guid isPermaLink="false">PROJECT_DITTER</guid><pubDate>Sun, 13 Nov 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Black hole sun]]></title><link>https://codepen.io/rileyjshaw/pen/GjVZYq</link><guid isPermaLink="false">PROJECT_BLACK_HOLE_SUN</guid><pubDate>Mon, 31 Oct 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[RileyJShaw.???]]></title><description><![CDATA[<p>A single program that outputs my name when you run it through three separate programming languages.</p>]]></description><link>https://gist.github.com/rileyjshaw/216af3d73b16e35d462ea5a29da4bcd4</link><guid isPermaLink="false">PROJECT_RILEYJSHAW_1R1R1R</guid><pubDate>Thu, 27 Oct 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Vintage]]></title><description><![CDATA[<p>wallpaper…?</p>]]></description><link>https://codepen.io/rileyjshaw/pen/ozmymE/</link><guid isPermaLink="false">PROJECT_VINTAGE</guid><pubDate>Mon, 24 Oct 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[git tidy-up]]></title><description><![CDATA[<p>Git CLI to tidy up a working directory with too much going on.</p>]]></description><link>https://github.com/rileyjshaw/git-tidy-up</link><guid isPermaLink="false">PROJECT_GIT_TIDY_UP</guid><pubDate>Thu, 06 Oct 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Flutter]]></title><description><![CDATA[<p>If you make a pin out of this please send me one.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/bwYRbw</link><guid isPermaLink="false">PROJECT_FLUTTER</guid><pubDate>Tue, 04 Oct 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Superformula explorer]]></title><description><![CDATA[<p>“…the formula can be used to describe many complex shapes and curves that are found in nature. Gielis <em>holds a patent</em> related to the synthesis of patterns generated by the superformula.”</p><p>:facepalm:</p>]]></description><link>https://codepen.io/rileyjshaw/pen/jrayWL</link><guid isPermaLink="false">PROJECT_SUPERFORMULA_EXPLORER</guid><pubDate>Tue, 04 Oct 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Black lotus]]></title><link>https://codepen.io/rileyjshaw/full/ZpXPYR/</link><guid isPermaLink="false">PROJECT_BLACK_LOTUS</guid><pubDate>Mon, 03 Oct 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Cyber pilot (with controls)]]></title><description><![CDATA[<p>Play this one in a small window. Arrow keys to move around.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/YGQVqK?editors=1000</link><guid isPermaLink="false">PROJECT_CYBER_PILOT_14WITH_CONTROLS15</guid><pubDate>Wed, 28 Sep 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Blinds (with type)]]></title><link>https://codepen.io/rileyjshaw/full/mAmRNa/</link><guid isPermaLink="false">PROJECT_BLINDS_14WITH_TYPE15</guid><pubDate>Mon, 26 Sep 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Ring]]></title><description><![CDATA[<p>It was left here by the aliens.</p>]]></description><link>https://codepen.io/rileyjshaw/full/YGVKgV/</link><guid isPermaLink="false">PROJECT_RING</guid><pubDate>Mon, 26 Sep 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Bubble]]></title><description><![CDATA[<p>Follows your mouse.</p>]]></description><link>https://codepen.io/rileyjshaw/full/ozjEoK/</link><guid isPermaLink="false">PROJECT_BUBBLE</guid><pubDate>Sat, 10 Sep 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Cyclic CA (PICO-8)]]></title><link>https://www.lexaloffle.com/bbs/?tid=27569</link><guid isPermaLink="false">PROJECT_CYCLIC_CA_14PICO_815</guid><pubDate>Mon, 29 Aug 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[w h a t]]></title><description><![CDATA[<p>Short narrative experiment written for the PICO-8 fantasy console.</p>]]></description><link>https://www.lexaloffle.com/bbs/?tid=27571</link><guid isPermaLink="false">PROJECT_W_H_A_T</guid><pubDate>Sun, 28 Aug 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[ASCII animator]]></title><link>https://codepen.io/rileyjshaw/full/YWbbGJ/</link><guid isPermaLink="false">PROJECT_ASCII_ANIMATOR</guid><pubDate>Tue, 23 Aug 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Countdown button]]></title><description><![CDATA[<p>Autoplay is a scourge…</p>]]></description><link>https://codepen.io/rileyjshaw/pen/akxdvp</link><guid isPermaLink="false">PROJECT_COUNTDOWN_BUTTON</guid><pubDate>Thu, 18 Aug 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Blinds]]></title><description><![CDATA[<p>It resizes!</p>]]></description><link>https://codepen.io/rileyjshaw/full/kXQXAo/</link><guid isPermaLink="false">PROJECT_BLINDS</guid><pubDate>Mon, 08 Aug 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Blinkers]]></title><description><![CDATA[<p>Threw this together to help with color inspiration for another project.</p>]]></description><link>https://codepen.io/rileyjshaw/full/pbQEoA/</link><guid isPermaLink="false">PROJECT_BLINKERS</guid><pubDate>Mon, 08 Aug 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sun]]></title><link>https://codepen.io/rileyjshaw/full/WxYkmW/</link><guid isPermaLink="false">PROJECT_SUN</guid><pubDate>Mon, 08 Aug 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[NSA Ipsum]]></title><description><![CDATA[<p>An NPM module containing words from the NSA Analyst’s Desktop Binder, Section 2.13: “Key Words & Search Terms”.</p>]]></description><link>https://www.npmjs.com/package/nsa-ipsum</link><guid isPermaLink="false">PROJECT_NSA_IPSUM</guid><pubDate>Mon, 27 Jun 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Flubber]]></title><description><![CDATA[<p>Nobody’s perfect! Takes a MIDI file and messes up a few of the notes.</p>]]></description><link>https://github.com/rileyjshaw/flubber</link><guid isPermaLink="false">PROJECT_FLUBBER</guid><pubDate>Sun, 19 Jun 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Virtuoso]]></title><description><![CDATA[<p>Play a .mid file at your own speed using a MIDI keyboard!</p><p>Works best with MIDI keyboards, but you can use your computer keyboard too.</p>]]></description><link>https://github.com/rileyjshaw/virtuoso</link><guid isPermaLink="false">PROJECT_VIRTUOSO</guid><pubDate>Fri, 17 Jun 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[average-color]]></title><description><![CDATA[<p>Returns the average color from a list of HSL arrays.</p>]]></description><link>https://github.com/rileyjshaw/average-color</link><guid isPermaLink="false">PROJECT_AVERAGE_COLOR</guid><pubDate>Thu, 16 Jun 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Plaster swirls, sort of]]></title><description><![CDATA[<p>I’ve got plaster swirls on my ceiling. This began as a recreation of that and turned into something else.</p>]]></description><link>https://codepen.io/rileyjshaw/full/RRajov/</link><guid isPermaLink="false">PROJECT_PLASTER_SWIRLS18_SORT_OF</guid><pubDate>Wed, 15 Jun 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Plaster swirls, thicker]]></title><link>https://codepen.io/rileyjshaw/full/Meeedv</link><guid isPermaLink="false">PROJECT_PLASTER_SWIRLS18_THICKER</guid><pubDate>Wed, 15 Jun 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Synthesia]]></title><description><![CDATA[<p>Synthesizer synesthesia. Turn MIDI notes into colors.</p>]]></description><link>https://github.com/rileyjshaw/synthesia</link><guid isPermaLink="false">PROJECT_SYNTHESIA</guid><pubDate>Sun, 05 Jun 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Spokes, etc]]></title><description><![CDATA[<p>Geometric patterns created from straight lines cutting through a circle.</p>]]></description><link>https://codepen.io/collection/DmZZVV/</link><guid isPermaLink="false">PROJECT_SPOKES18_ETC</guid><pubDate>Fri, 03 Jun 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Spotlight]]></title><description><![CDATA[<p>Move your mouse / finger. Remix of <a href="https://codepen.io/rileyjshaw/pen/ONxKVd?editors=0010" rel="noopener noreferrer" target="_blank">“filings”</a>.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/aZzKGa</link><guid isPermaLink="false">PROJECT_SPOTLIGHT</guid><pubDate>Wed, 01 Jun 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Keyboard keyboard]]></title><description><![CDATA[<p>Use a MIDI keyboard as your laptop keyboard.</p><p>Hard press = UPPERCASE, soft press = lowercase.</p>]]></description><link>https://github.com/rileyjshaw/keyboard-keyboard</link><guid isPermaLink="false">PROJECT_KEYBOARD_KEYBOARD</guid><pubDate>Sat, 28 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Typing for two]]></title><description><![CDATA[<p>A competitive typing tutor. Two players type different paragraphs on the same keyboard, simultaneously.</p>]]></description><link>https://github.com/rileyjshaw/typing-for-two</link><guid isPermaLink="false">PROJECT_TYPING_FOR_TWO</guid><pubDate>Sat, 28 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Free]]></title><description><![CDATA[<p>Poster? Coaster?</p>]]></description><link>https://codepen.io/rileyjshaw/full/ZOzGKq/</link><guid isPermaLink="false">PROJECT_FREE</guid><pubDate>Tue, 24 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Falling]]></title><description><![CDATA[<p>Looping CSS animation.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/PNMZVG?editors=1100</link><guid isPermaLink="false">PROJECT_FALLING</guid><pubDate>Sun, 22 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Single line tiling]]></title><description><![CDATA[<p>Tiling patterns from a single spiral with a fixed modulation signal.</p><p>Though the line’s formula stays consistent as it spirals out, the tile grid doesn’t increase in size.</p>]]></description><link>https://codepen.io/collection/nYWPBp/</link><guid isPermaLink="false">PROJECT_SINGLE_LINE_TILING</guid><pubDate>Wed, 18 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Shell or something]]></title><description><![CDATA[<p>Stumbled upon this on my way to making <a href="https://codepen.io/rileyjshaw/full/YqbGKK/" rel="noopener noreferrer" target="_blank">swirls</a>.</p>]]></description><link>https://codepen.io/rileyjshaw/full/RamaYJ/</link><guid isPermaLink="false">PROJECT_SHELL_OR_SOMETHING</guid><pubDate>Mon, 16 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[swirls]]></title><description><![CDATA[<p>Abandoned background generator. Pattern is played out.</p>]]></description><link>https://codepen.io/rileyjshaw/full/YqbGKK/</link><guid isPermaLink="false">PROJECT_SWIRLS</guid><pubDate>Mon, 16 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Literate theme]]></title><description><![CDATA[<p>A CLI tool to update your favorite text editor theme. Emphasizes comments and mutes everything else.</p>]]></description><link>https://github.com/rileyjshaw/literate-theme</link><guid isPermaLink="false">PROJECT_LITERATE_THEME</guid><pubDate>Thu, 12 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Dandelion]]></title><description><![CDATA[<p>Independently oscillating points that form a greater picture together.</p>]]></description><link>https://codepen.io/rileyjshaw/full/bpOoyW/</link><guid isPermaLink="false">PROJECT_DANDELION</guid><pubDate>Thu, 05 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Jittery visualizer v3]]></title><description><![CDATA[<p>V1 -&gt; V2 contained the <em>tiniest</em> tweak perceptually (smooth line all ’round), but it was a technical challenge. V2 -&gt; V3 contains the tiniest code tweaks, but is perceptually very different. Uses canvas transform logic from <a href="https://codepen.io/rileyjshaw/pen/ONrdoM" rel="noopener noreferrer" target="_blank">zonin’</a>.</p>]]></description><link>https://codepen.io/rileyjshaw/full/NNeoMR/</link><guid isPermaLink="false">PROJECT_JITTERY_VISUALIZER_V3</guid><pubDate>Thu, 05 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[zonin’]]></title><description><![CDATA[<p>Efficiently scales and rotates canvas image data <em>seemingly</em> in-place using two overlapping canvas elements.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/ONrdoM</link><guid isPermaLink="false">PROJECT_ZONIN6C9</guid><pubDate>Thu, 05 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Have you seen my ship?]]></title><description><![CDATA[<p>It’s hard to see the ship… :/</p>]]></description><link>https://codepen.io/rileyjshaw/full/BKvWBP/</link><guid isPermaLink="false">PROJECT_HAVE_YOU_SEEN_MY_SHIP1R</guid><pubDate>Wed, 04 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Circling circles]]></title><description><![CDATA[<p>Very simple rule applied to a bunch of particles for a smooth ripple effect.</p><p>Changing the timing function on this one is extremely satisfying.</p>]]></description><link>https://codepen.io/rileyjshaw/full/xVQBLG/</link><guid isPermaLink="false">PROJECT_CIRCLING_CIRCLES</guid><pubDate>Tue, 03 May 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Jittery visualizer v2]]></title><description><![CDATA[<p>Added a linear ramp and smoothing function to v1 to make the lowest frequency bin match up with the highest frequency bin in both position and derivative. The effect is a continuous circle, versus the <a href="https://codepen.io/rileyjshaw/full/ogVNgW/" rel="noopener noreferrer" target="_blank">“speech-bubble” notch effect of v1</a>.</p>]]></description><link>https://codepen.io/rileyjshaw/full/oxaxqX/</link><guid isPermaLink="false">PROJECT_JITTERY_VISUALIZER_V2</guid><pubDate>Thu, 28 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Stepping down a corridor]]></title><description><![CDATA[<p>Trying out CSS animation steps().</p>]]></description><link>https://codepen.io/rileyjshaw/full/LNgLBj</link><guid isPermaLink="false">PROJECT_STEPPING_DOWN_A_CORRIDOR</guid><pubDate>Thu, 28 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[slant + swap + shift]]></title><description><![CDATA[<p>Playing with bg gradient dots, CSS only.</p>]]></description><link>https://codepen.io/collection/XGpwzE/</link><guid isPermaLink="false">PROJECT_SLANT_17_SWAP_17_SHIFT</guid><pubDate>Tue, 26 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[sway + swell + spin]]></title><description><![CDATA[<p>Playing with bg gradient stripes, CSS only.</p>]]></description><link>https://codepen.io/collection/nmyQRj/</link><guid isPermaLink="false">PROJECT_SWAY_17_SWELL_17_SPIN</guid><pubDate>Mon, 25 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Typelab]]></title><description><![CDATA[<p>Repeatedly apply a set of transformations to text.</p>]]></description><link>https://codepen.io/rileyjshaw/full/eZrzbK/</link><guid isPermaLink="false">PROJECT_TYPELAB</guid><pubDate>Sat, 16 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[b+w]]></title><link>https://codepen.io/rileyjshaw/pen/bpvwxQ</link><guid isPermaLink="false">PROJECT_B17W</guid><pubDate>Wed, 13 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Function cards]]></title><description><![CDATA[<p>Simple visualizations of sinusoidal functions.</p>]]></description><link>https://codepen.io/collection/DmyjQv/</link><guid isPermaLink="false">PROJECT_FUNCTION_CARDS</guid><pubDate>Mon, 11 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[XOR profile card]]></title><description><![CDATA[<p>Accidentally discovered this 2d water effect by stacking sine waves. Simple but convincing!</p>]]></description><link>https://codepen.io/rileyjshaw/pen/vGdgWG</link><guid isPermaLink="false">PROJECT_XOR_PROFILE_CARD</guid><pubDate>Mon, 11 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Desire paths: remixes]]></title><link>https://codepen.io/collection/DRPBqZ/</link><guid isPermaLink="false">PROJECT_DESIRE_PATHS1M_REMIXES</guid><pubDate>Sun, 10 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Desire paths]]></title><description><![CDATA[<p>Remix of <a href="https://codepen.io/rileyjshaw/pen/oxwVNw" rel="noopener noreferrer" target="_blank">~~~</a> using angles &amp; moving agents instead of absolute positions.</p>]]></description><link>https://codepen.io/rileyjshaw/full/mPBZNj/</link><guid isPermaLink="false">PROJECT_DESIRE_PATHS</guid><pubDate>Mon, 04 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[filings]]></title><description><![CDATA[<p>Cliché vector “field” “diagram”.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/ONxKVd?editors=0010</link><guid isPermaLink="false">PROJECT_FILINGS</guid><pubDate>Mon, 04 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Look closer]]></title><description><![CDATA[<p>CSS-only typography experiment.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/ZWXdBN</link><guid isPermaLink="false">PROJECT_LOOK_CLOSER</guid><pubDate>Mon, 04 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Gems]]></title><link>https://codepen.io/rileyjshaw/full/QNqPZE/</link><guid isPermaLink="false">PROJECT_GEMS</guid><pubDate>Sun, 03 Apr 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Lattice 3]]></title><description><![CDATA[<p>A tricker, more generalized case of Lattice implemented on a trangular grid.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/oxewYe/?editors=0010</link><guid isPermaLink="false">PROJECT_LATTICE_3</guid><pubDate>Wed, 30 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Lattice]]></title><description><![CDATA[<p>Lines + circles.</p>]]></description><link>https://codepen.io/collection/DYwLBM/</link><guid isPermaLink="false">PROJECT_LATTICE</guid><pubDate>Tue, 29 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[~~~]]></title><description><![CDATA[<p>Blend modes + simplex noise.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/oxwVNw</link><guid isPermaLink="false">PROJECT_3I3I3I</guid><pubDate>Mon, 28 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Blips]]></title><link>https://codepen.io/rileyjshaw/pen/Ragqyq</link><guid isPermaLink="false">PROJECT_BLIPS</guid><pubDate>Mon, 28 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Cyber pilot]]></title><description><![CDATA[<p>Title screen born of nostalgia for the pictures we used to draw on oscilloscopes.</p><p>n͖͙͍͔o̴̰̤͈͙̘̥w͉̮ ̩w̺̘i̠̲͉̘̪t̟̜͉͓͈͞h̩͚̺̕ ̧͉̹̮̠ͅm̻̰͔̜͚o̲̥̘r̶͕̟͇͇̟̭e̠ ̩̺̖̟g̪̬̰̺̟̪͈͜l͇͉͚̬͞i̡ṭ̠̲̰̦ͅc̨̣ͅh̰̲̯̺͕̼͈͜e̷͕̜͎̱s̢̩</p>]]></description><link>https://codepen.io/rileyjshaw/full/eZRLaP</link><guid isPermaLink="false">PROJECT_CYBER_PILOT</guid><pubDate>Mon, 28 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Flexin’ donut]]></title><link>https://codepen.io/rileyjshaw/full/BKZOwz</link><guid isPermaLink="false">PROJECT_FLEXIN6C9_DONUT</guid><pubDate>Mon, 28 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Canvas compositing operations]]></title><description><![CDATA[<p>A quick look into some of the options for context.globalCompositeOperation.</p>]]></description><link>https://codepen.io/rileyjshaw/full/remdxj/</link><guid isPermaLink="false">PROJECT_CANVAS_COMPOSITING_OPERATIONS</guid><pubDate>Wed, 23 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[snowballs!]]></title><description><![CDATA[<p>Async/await ftw</p>]]></description><link>https://codepen.io/rileyjshaw/full/yOgKvp/</link><guid isPermaLink="false">PROJECT_SNOWBALLSX</guid><pubDate>Thu, 17 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Stormy green]]></title><description><![CDATA[<p>Sine waves shifting sinusoidally.</p>]]></description><link>https://codepen.io/rileyjshaw/full/reMdZE/</link><guid isPermaLink="false">PROJECT_STORMY_GREEN</guid><pubDate>Mon, 14 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Stormy green (ripples)]]></title><description><![CDATA[<p>A version of Stormy Green that doesn’t drift out of phase.</p>]]></description><link>https://codepen.io/rileyjshaw/full/dMpmRY/</link><guid isPermaLink="false">PROJECT_STORMY_GREEN_14RIPPLES15</guid><pubDate>Mon, 14 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[┋┋┋]]></title><description><![CDATA[<p>Variations on <a href="https://codepen.io/rileyjshaw/pen/dMpJre" rel="noopener noreferrer" target="_blank">Stone</a> with controlled line angles across the circle.</p>]]></description><link>https://codepen.io/rileyjshaw/full/mPrXxb/</link><guid isPermaLink="false">PROJECT_7BF7BF7BF</guid><pubDate>Sun, 13 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Stone]]></title><description><![CDATA[<p>Sphere effect arising from random lines across a circle.</p><p>I’m sure someone else discovered this effect long before I did.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/dMpJre</link><guid isPermaLink="false">PROJECT_STONE</guid><pubDate>Sun, 13 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Arcs]]></title><description><![CDATA[<p>A little doodle with a lot of circles.</p><p>Could be done far more efficiently by scaling / translating a fixed amount of concentric circles, but math-ing it was more fun :)</p>]]></description><link>https://codepen.io/rileyjshaw/full/yOJzoP/</link><guid isPermaLink="false">PROJECT_ARCS</guid><pubDate>Fri, 11 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Smart-splitting window panes (CSS only)]]></title><description><![CDATA[<p>If the window is wider than it is tall, it’ll split into columns. Otherwise, it’ll give you two rows.</p><p>This layout was rather difficult before flexbox came along.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/vGLvVo</link><guid isPermaLink="false">PROJECT_SMART_SPLITTING_WINDOW_PANES_14CSS_ONLY15</guid><pubDate>Tue, 08 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Rows of ’em]]></title><description><![CDATA[<p>There’s nothing like driving by a field of trees in the passenger seat.</p><p>Super quick demo trying (failing, mostly) to capture the perspective effect.</p>]]></description><link>https://codepen.io/rileyjshaw/full/Rarobr/</link><guid isPermaLink="false">PROJECT_ROWS_OF_6C9EM</guid><pubDate>Mon, 07 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Astronomie & Astrophysique]]></title><description><![CDATA[<p>Small canvas demo using Lissajous curves.</p>]]></description><link>https://codepen.io/rileyjshaw/full/PNPVmK/</link><guid isPermaLink="false">PROJECT_ASTRONOMIE_12_ASTROPHYSIQUE</guid><pubDate>Sun, 06 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Bell curves]]></title><description><![CDATA[<p>Hey! It’s a normal distribution!</p>]]></description><link>https://codepen.io/rileyjshaw/details/ONyGxM/</link><guid isPermaLink="false">PROJECT_BELL_CURVES</guid><pubDate>Sun, 06 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Groovy!]]></title><description><![CDATA[<p>Animated lava lamps with simple non-rectangular collision detection and metaballs for wax clumps.</p>]]></description><link>https://codepen.io/rileyjshaw/full/MyaGbE/</link><guid isPermaLink="false">PROJECT_GROOVYX</guid><pubDate>Sat, 05 Mar 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[NoJS edge-adaptive tooltip]]></title><description><![CDATA[<p>CSS Flexbox solution to prevent tooltips from overflowing their container at the edges.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/wGwOWz</link><guid isPermaLink="false">PROJECT_NOJS_EDGE_ADAPTIVE_TOOLTIP</guid><pubDate>Fri, 26 Feb 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Mechanical waves]]></title><description><![CDATA[<p>Possible header for “Mechanical waves and sound” for Khan Academy’s new content redesign.</p><p>Includes a few variations.</p>]]></description><link>https://codepen.io/collection/XWQERV/</link><guid isPermaLink="false">PROJECT_MECHANICAL_WAVES</guid><pubDate>Thu, 25 Feb 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fadey text backdrop]]></title><description><![CDATA[<p>CSS technique to make a semi-transparent background fade in perfectly with its box-shadow.</p>]]></description><link>https://codepen.io/rileyjshaw/details/obKdzW</link><guid isPermaLink="false">PROJECT_FADEY_TEXT_BACKDROP</guid><pubDate>Wed, 24 Feb 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Joy Division: Unknown Pleasures]]></title><description><![CDATA[<p>Iconic album art, animated with a Gaussian function and some simplex noise.</p><p>Drag your mouse over it, and click for something special.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/RrXjGa</link><guid isPermaLink="false">PROJECT_JOY_DIVISION1M_UNKNOWN_PLEASURES</guid><pubDate>Tue, 23 Feb 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[render]]></title><description><![CDATA[<p>A color-theory game completed as a bonus project for Khan Academy’s 2016 Hackathon. Built with a friend using Unity 3D.</p>]]></description><link>https://github.com/askew1312/render</link><guid isPermaLink="false">PROJECT_RENDER</guid><pubDate>Mon, 22 Feb 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Escher Sketch!]]></title><description><![CDATA[I just had a blast playing with Anselm Levskaya’s Escher Sketch project!]]></description><link>https://rileyjshaw.com/blog/eschersketch</link><guid isPermaLink="false">POST_ESCHERSKETCH</guid><pubDate>Wed, 10 Feb 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Add Titania style]]></title><description><![CDATA[<p>Tested on latest IE, Firefox, Chrome, Safari.</p><p>Screenshot:</p><p>It's responsive, too!</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/LineMenuStyles/7e2ca523403d8403faacc6d6db0cf49d07a9c992</link><guid isPermaLink="false">COMMIT_7E2CA523403D8403FAACC6D6DB0CF49D07A9C992</guid><pubDate>Wed, 06 Jan 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[Titania]]></title><description><![CDATA[<p>Contribution to the publication “Codrops” for their Line Menu Styles collection.</p>]]></description><link>https://tympanus.net/Development/LineMenuStyles/#Titania</link><guid isPermaLink="false">PROJECT_TITANIA</guid><pubDate>Wed, 06 Jan 2016 00:00:00 GMT</pubDate></item><item><title><![CDATA[whoami.py]]></title><description><![CDATA[<p>My contribution to a collection of poems.</p><p>From the project page: “there is confusion in the mixed layers of metaphors. This is not an obfuscated code repository; not really. In some ways, it is the opposite.”</p>]]></description><link>https://raw.githubusercontent.com/eliawry/poetics/master/whoami.py</link><guid isPermaLink="false">PROJECT_WHOAMI_PY</guid><pubDate>Thu, 31 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Rewrite extension and update version to 3.0.0]]></title><description><![CDATA[<p>Initially, this extension grabbed the content of a CSS file with an XMLHttpRequest and injected it into the bottom of the page. This had a few advantages:</p><ol>
<li>Text content could be easy processed and manipulated (admittedly, I wasn't using this for anything).</li>
<li>Toggling styles was as easy as adding and removing a &lt;style&gt; element from &lt;body&gt;.</li>
<li>In theory, this strategy would beat out almost every other style rule (some inline styles excepted). <a href="http://www.w3.org/TR/CSS2/cascade.html#cascading-order" rel="noopener noreferrer" target="_blank">User <code>!important</code> rules used to override author <code>!important</code> rules</a>, but Chrome <a href="https://src.chromium.org/viewvc/chrome?revision=234007&amp;view=revision" rel="noopener noreferrer" target="_blank">no-longer does user stylesheets</a>. I figured an aggressively <code>!important</code> author stylesheet added at the very bottom of the page was pretty solid.</li>
</ol><p>After some testing, I realized that <code>!important</code> styles from <code>content_scripts</code> injection (along with chrome.tabs.insertCSS) actually <em>do</em> take precedence over author stylesheets. Since 3) was the key consideration for my original decision, I re-wrote the extension to inject a stylesheet from <code>content_scripts</code>.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/dark-theme-everywhere/e2592c54bf110e35957a6c093a79999c3a1047bb</link><guid isPermaLink="false">COMMIT_E2592C54BF110E35957A6C093A79999C3A1047BB</guid><pubDate>Tue, 29 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Remove numkey layout bindings]]></title><description><![CDATA[<p>1, 2, 3, and 4 are useful for app-specific bindings and should thus be reserved.</p>]]></description><link>https://rileyjshaw.commit--blog.com/rileyjshaw/.supermac/0167a91073922ac7b5018c6a73c894853dabba56</link><guid isPermaLink="false">COMMIT_0167A91073922AC7B5018C6A73C894853DABBA56</guid><pubDate>Wed, 23 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Spring]]></title><link>https://thenounproject.com/icon/spring-295645/</link><guid isPermaLink="false">ICON_295645</guid><pubDate>Wed, 23 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Spring]]></title><link>https://thenounproject.com/icon/spring-295647/</link><guid isPermaLink="false">ICON_295647</guid><pubDate>Wed, 23 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Hamburger]]></title><link>https://thenounproject.com/icon/hamburger-295649/</link><guid isPermaLink="false">ICON_295649</guid><pubDate>Wed, 23 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Lower right]]></title><link>https://thenounproject.com/icon/lower-right-294465/</link><guid isPermaLink="false">ICON_294465</guid><pubDate>Tue, 22 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Lower left]]></title><link>https://thenounproject.com/icon/lower-left-294466/</link><guid isPermaLink="false">ICON_294466</guid><pubDate>Tue, 22 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Upper right]]></title><link>https://thenounproject.com/icon/upper-right-294467/</link><guid isPermaLink="false">ICON_294467</guid><pubDate>Tue, 22 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Down]]></title><link>https://thenounproject.com/icon/down-294468/</link><guid isPermaLink="false">ICON_294468</guid><pubDate>Tue, 22 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Up]]></title><link>https://thenounproject.com/icon/up-294469/</link><guid isPermaLink="false">ICON_294469</guid><pubDate>Tue, 22 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Right]]></title><link>https://thenounproject.com/icon/right-294470/</link><guid isPermaLink="false">ICON_294470</guid><pubDate>Tue, 22 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Left]]></title><link>https://thenounproject.com/icon/left-294471/</link><guid isPermaLink="false">ICON_294471</guid><pubDate>Tue, 22 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Upper left]]></title><link>https://thenounproject.com/icon/upper-left-294472/</link><guid isPermaLink="false">ICON_294472</guid><pubDate>Tue, 22 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Easy Inbox Zero]]></title><description><![CDATA[<p>A browser extension that removes the unread count from your Gmail inbox and title bar.</p>]]></description><link>https://github.com/rileyjshaw/easy-inbox-zero</link><guid isPermaLink="false">PROJECT_EASY_INBOX_ZERO</guid><pubDate>Sun, 20 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[2d roll effect experiments]]></title><description><![CDATA[<p>Attempts to make a believable enough 3d ball-rolling effect using 2d canvas primitives.</p>]]></description><link>https://codepen.io/collection/aMqEjR</link><guid isPermaLink="false">PROJECT_2D_ROLL_EFFECT_EXPERIMENTS</guid><pubDate>Sat, 19 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Eye sea]]></title><description><![CDATA[<p>These used to be pokéballs.</p>]]></description><link>https://codepen.io/rileyjshaw/full/dGGGZZ</link><guid isPermaLink="false">PROJECT_EYE_SEA</guid><pubDate>Tue, 15 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Gotta catch ’em all]]></title><description><![CDATA[<p>Riffing on pokéball wave.</p>]]></description><link>https://codepen.io/rileyjshaw/full/bEEVra/</link><guid isPermaLink="false">PROJECT_GOTTA_CATCH_6C9EM_ALL</guid><pubDate>Tue, 15 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pokéball wave]]></title><description><![CDATA[<p>Animated demo written alongside a new programmer who was really into Pokémon.</p>]]></description><link>https://codepen.io/rileyjshaw/full/MKKKvw/</link><guid isPermaLink="false">PROJECT_POK6HBALL_WAVE</guid><pubDate>Tue, 15 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pride and Prejudice (webkit only)]]></title><description><![CDATA[<p>Pride and Prejudice in its entirety, sorted by the visual weight of its characters.</p><p>I was hoping for a more convincing gradient; the weight calculation could use some work.</p>]]></description><link>https://github.com/rileyjshaw/pride-and-prejudice</link><guid isPermaLink="false">PROJECT_PRIDE_AND_PREJUDICE_14WEBKIT_ONLY15</guid><pubDate>Sat, 12 Dec 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[boom!]]></title><description><![CDATA[<p>A cross-browser WebExtension to declutter busy pages and make them readable again.</p><p>Written originally as a bookmarklet in 2013.</p>]]></description><link>https://github.com/rileyjshaw/boom</link><guid isPermaLink="false">PROJECT_BOOMX</guid><pubDate>Sun, 15 Nov 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Dark Theme Everywhere]]></title><description><![CDATA[<p>A forcefully applied dark theme for the web.</p>]]></description><link>https://github.com/rileyjshaw/dark-theme-everywhere</link><guid isPermaLink="false">PROJECT_DARK_THEME_EVERYWHERE</guid><pubDate>Thu, 29 Oct 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tony Montana]]></title><description><![CDATA[<p>Nothing gonna stop you, there’s nothing that strong ♫</p><p>An excuse to write git push it to-the-limit into the console.</p>]]></description><link>https://github.com/rileyjshaw/tony-montana</link><guid isPermaLink="false">PROJECT_TONY_MONTANA</guid><pubDate>Thu, 29 Oct 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pond]]></title><description><![CDATA[<p>An ASCII art pond ripple animation.</p>]]></description><link>https://codepen.io/rileyjshaw/full/vNgJPQ/</link><guid isPermaLink="false">PROJECT_POND</guid><pubDate>Mon, 12 Oct 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Map marker]]></title><link>https://thenounproject.com/icon/map-marker-215555/</link><guid isPermaLink="false">ICON_215555</guid><pubDate>Thu, 24 Sep 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[XOXO Bingo]]></title><description><![CDATA[<p>Bingo cards generated from the attendance list of XOXOFest. The first person to meet enough attendees “won” the party.</p><p>Built hastily between speakers on the last day of the festival; requires login with Twitter to protect attendees’ identity.</p>]]></description><link>https://github.com/rileyjshaw/xoxo-bingo</link><guid isPermaLink="false">PROJECT_XOXO_BINGO</guid><pubDate>Sun, 13 Sep 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Rings]]></title><description><![CDATA[<p>A quick visual built during lunch, inspired by the base of the lunch table.</p>]]></description><link>https://rileyjshaw.com/glitch-archive/projects/rings/</link><guid isPermaLink="false">PROJECT_RINGS</guid><pubDate>Thu, 10 Sep 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[.supermac]]></title><description><![CDATA[<p>A collection of dotfiles that I use + some scripts to keep ’em in sync.</p>]]></description><link>https://github.com/rileyjshaw/.supermac</link><guid isPermaLink="false">PROJECT__SUPERMAC</guid><pubDate>Mon, 07 Sep 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[A responsive one-line header]]></title><description><![CDATA[<p>Maintains its default font-size until it is too wide to fit on the page. If it starts overflowing, it will adjust to take up 100% of the page width.</p><p>Requires a bit of JS on page load. Just CSS and SVG after that.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/eNwGjw</link><guid isPermaLink="false">PROJECT_A_RESPONSIVE_ONE_LINE_HEADER</guid><pubDate>Thu, 20 Aug 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Khan Academy: a new employee’s primer]]></title><description><![CDATA[I recently joined the developer team at Khan Academy. Since arriving I’ve been surprised by a number of intentional decisions the organization has made to empower its developers. Whether you’re working in tech or just curious about the inner workings of Khan Academy, there’s some great wisdom in how things are done here. All aboard!

A benefit of working at an education startup is that everyone naturally puts a lot of thought into information design. As a result, this has been the smoothest onboarding I’ve experienced.

Onboarding…]]></description><link>https://rileyjshaw.com/blog/khan-academy-primer</link><guid isPermaLink="false">POST_KHAN_ACADEMY_PRIMER</guid><pubDate>Mon, 20 Jul 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Touchtone math facts]]></title><description><![CDATA[<p>A math facts app that you can play from a payphone.</p><p>Used to live at the epic phone numbers <s>+1.480.360.MATH (US)</s> and <s>+1.647.360.MATH (Canada)</s>.</p>]]></description><link>https://github.com/rileyjshaw/touchtone-math-facts</link><guid isPermaLink="false">PROJECT_TOUCHTONE_MATH_FACTS</guid><pubDate>Sat, 13 Jun 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Solar static]]></title><description><![CDATA[<p>A visual demo using typed arrays.</p><p>Creates a shadow based on mouse position.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/zGwNzw</link><guid isPermaLink="false">PROJECT_SOLAR_STATIC</guid><pubDate>Sat, 06 Jun 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[SpeeDOMeter]]></title><description><![CDATA[<p>A speedometer that travels through time with Doc Brown.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/bdEvaQ</link><guid isPermaLink="false">PROJECT_SPEEDOMETER</guid><pubDate>Sun, 10 May 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Window Shopper]]></title><description><![CDATA[<p>A Chrome extension: count and list all page-defined global variables.</p>]]></description><link>https://chrome.google.com/webstore/detail/window-shopper-log-any-pa/mhfpgolappjpepejmfpomfpemdidpkng</link><guid isPermaLink="false">PROJECT_WINDOW_SHOPPER</guid><pubDate>Tue, 05 May 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sliding radio button menu]]></title><description><![CDATA[<p>A sliding menu concept using just radio buttons and CSS.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/Nqqxaj?editors=001</link><guid isPermaLink="false">PROJECT_SLIDING_RADIO_BUTTON_MENU</guid><pubDate>Thu, 30 Apr 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Waveform visualizer]]></title><description><![CDATA[<p>Boring minimal audio visualizer.</p>]]></description><link>https://codepen.io/rileyjshaw/full/VYRPzy/</link><guid isPermaLink="false">PROJECT_WAVEFORM_VISUALIZER</guid><pubDate>Sun, 29 Mar 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Jittery shapes]]></title><description><![CDATA[<p>Animated shapes with wavelike edges.</p><p>Includes an audio visualizer built with the Web Audio API.</p>]]></description><link>https://codepen.io/collection/DkNEVG/</link><guid isPermaLink="false">PROJECT_JITTERY_SHAPES</guid><pubDate>Thu, 26 Mar 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Internal link offset (sticky header)]]></title><description><![CDATA[<p>Sticky headers cover internally-linked content by default. The most robust solutions I’ve seen use JS, but these 4 lines of CSS seem to do the trick.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/OPBBGK?editors=110</link><guid isPermaLink="false">PROJECT_INTERNAL_LINK_OFFSET_14STICKY_HEADER15</guid><pubDate>Fri, 13 Mar 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[How to generate a static site from a folder of assets using Gulp]]></title><description><![CDATA[An entirely skippable preface (Seriously, we don’t start building it until the third section.)

While going through some of my dustier folders on a flight to Hawaii I came across . It’s a lovely book with plenty of inspiration for simple demos; perfect plane material.

After working through a few chapters, I moved my particle system and canvas logic into their own util.js file. Until then i’d been creating a new HTML file for each demo, manually adding the title, script includes, and next/previous links. This meant that I had to edit each file to include util.js. It was a frustrating amount of overhead considering each demo only took a few minutes to write.

didn’t someone…]]></description><link>https://rileyjshaw.com/blog/how-to-generate-a-static-site-from-a-folder-of-assets-using-Gulp</link><guid isPermaLink="false">POST_HOW_TO_GENERATE_A_STATIC_SITE_FROM_A_FOLDER_OF_ASSETS_USING_GULP</guid><pubDate>Thu, 05 Mar 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Shepard-Risset Glissando]]></title><description><![CDATA[<p>Auditory illusion of a tone that continually descends in pitch. It has been described as a “sonic barber’s pole”.</p><p>Implemented with the Web Audio API using custom oscillators.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/OPwROr?editors=001</link><guid isPermaLink="false">PROJECT_SHEPARD_RISSET_GLISSANDO</guid><pubDate>Tue, 03 Mar 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[terra.js demos]]></title><link>https://codepen.io/collection/XGogPm/</link><guid isPermaLink="false">PROJECT_TERRA_JS_DEMOS</guid><pubDate>Mon, 02 Mar 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fluid simulation]]></title><description><![CDATA[<p>Jeff Thomas’s Fluid Simulation, ported to Khan Academy’s CS platform.</p>]]></description><link>https://www.khanacademy.org/computer-programming/fluid-simulation/6333748830011392</link><guid isPermaLink="false">PROJECT_FLUID_SIMULATION</guid><pubDate>Sun, 01 Mar 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Orbit]]></title><description><![CDATA[<p>A game: hit space over the red dots to earn points.</p>]]></description><link>https://rileyjshaw.com/orbit</link><guid isPermaLink="false">PROJECT_ORBIT</guid><pubDate>Fri, 20 Feb 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Challenger]]></title><description><![CDATA[<p>Pop-up programming challenges in your browser.</p>]]></description><link>https://rileyjshaw.com/challenger</link><guid isPermaLink="false">PROJECT_CHALLENGER</guid><pubDate>Thu, 19 Feb 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[drawRotatedRect]]></title><description><![CDATA[<p>Two versions of a canvas util function.</p>]]></description><link>https://codepen.io/collection/nYwRVL/</link><guid isPermaLink="false">PROJECT_DRAWROTATEDRECT</guid><pubDate>Sun, 08 Feb 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Meta Letters]]></title><description><![CDATA[<p>The letters [A-z], composed of smaller versions of themselves.</p>]]></description><link>https://codepen.io/rileyjshaw/full/zxEGxK/</link><guid isPermaLink="false">PROJECT_META_LETTERS</guid><pubDate>Sun, 01 Feb 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[28 Hour Day]]></title><description><![CDATA[<p>A Pebble watchface that divides the week into six 28-hour days instead of the standard 24/7.</p>]]></description><link>https://apps.getpebble.com/en_US/application/54cadfd211e375bdc5000048</link><guid isPermaLink="false">PROJECT_28_HOUR_DAY</guid><pubDate>Thu, 29 Jan 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[The pool on the roof must have a leak]]></title><description><![CDATA[Today we hiked the Kalalau Trail and swam beneath the cold spray of a waterfall. Today we discussed the finer points of the axolotl protocol used by TextSecure.

Today we delighted in “shave ice”, a local delicacy that is definitely not a snow cone.

Today we wrote copy, polished features, closed bugs, and merged pull-requests.

Measured by lines of code, today was short. Measured by steps taken, it was tall. Measured by ideas discussed, things learned, and sights seen, it was towering.

For the past week and a half I’ve been trapped on an island among a team of brilliant hackers. A curious duality exists on the island. At sunrise, stand…]]></description><link>https://rileyjshaw.com/blog/the-pool-on-the-roof-must-have-a-leak</link><guid isPermaLink="false">POST_THE_POOL_ON_THE_ROOF_MUST_HAVE_A_LEAK</guid><pubDate>Wed, 21 Jan 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Slidey menu]]></title><description><![CDATA[<p>A quick ~10m demo to demonstrate some animation concepts.</p><p>Probably doesn’t work cross-browser.</p>]]></description><link>https://codepen.io/rileyjshaw/full/emWJPW/</link><guid isPermaLink="false">PROJECT_SLIDEY_MENU</guid><pubDate>Sun, 18 Jan 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Rainbow text]]></title><link>https://codepen.io/rileyjshaw/details/vExWpe/</link><guid isPermaLink="false">PROJECT_RAINBOW_TEXT</guid><pubDate>Thu, 15 Jan 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Flexbox chat interface]]></title><description><![CDATA[<p>Responsive chat interface using CSS flexbox.</p><p>Created as a proof of concept for TextSecure’s browser extension layout.</p>]]></description><link>https://codepen.io/rileyjshaw/full/LExqQE/</link><guid isPermaLink="false">PROJECT_FLEXBOX_CHAT_INTERFACE</guid><pubDate>Mon, 12 Jan 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Hackers.cool]]></title><description><![CDATA[<p>Retro command line emulator using my TinyTerm library.</p><p>Type “help” for command list.</p>]]></description><link>http://hackers.cool/~rileyjshaw/</link><guid isPermaLink="false">PROJECT_HACKERS_COOL</guid><pubDate>Thu, 08 Jan 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Console]]></title><description><![CDATA[<p>Functional JavaScript terminal using my TinyTerm library.</p>]]></description><link>https://rileyjshaw.com/tinyterm</link><guid isPermaLink="false">PROJECT_CONSOLE</guid><pubDate>Sun, 21 Dec 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tinyterm]]></title><description><![CDATA[<p>A tiny in-browser terminal.</p>]]></description><link>https://github.com/rileyjshaw/tinyterm</link><guid isPermaLink="false">PROJECT_TINYTERM</guid><pubDate>Tue, 16 Dec 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Typographic HUSL sweep]]></title><description><![CDATA[<p>Since I made a fancy headline for <a href="https://codepen.io/rileyjshaw/full/OPNvzN/" rel="noopener noreferrer" target="_blank">Terra</a> I figured it was only fair to make one for <a href="/sweep">sweep</a>.</p><p>Never used.</p>]]></description><link>https://codepen.io/rileyjshaw/full/jEqvLp/</link><guid isPermaLink="false">PROJECT_TYPOGRAPHIC_HUSL_SWEEP</guid><pubDate>Sun, 14 Dec 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Newspaper column]]></title><description><![CDATA[<p>Web typography experiment: drop cap + justify.</p>]]></description><link>https://codepen.io/rileyjshaw/details/ByKKyG/</link><guid isPermaLink="false">PROJECT_NEWSPAPER_COLUMN</guid><pubDate>Thu, 11 Dec 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fingerprint]]></title><description><![CDATA[<p>In-browser keystroke dynamics demo using Tappy.</p>]]></description><link>https://rileyjshaw.com/tappy-fingerprint</link><guid isPermaLink="false">PROJECT_FINGERPRINT</guid><pubDate>Tue, 09 Dec 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Graphing depth]]></title><description><![CDATA[There’s something magical about a procedure that just works. Even if you don’t understand why it works, having a set of steps that will always get you to the same destination feels nice. In life there are few patterns that consistently produce the same outcome. But in math? Hoo boy… This post takes us through two very simple procedures that converge to a numerical endpoint. We’re going to graph the amount of time it takes to reach this endpoint, which actually ends up being quite pretty.

Careful; such routines can be somewhat of a rabbit hole. As xkcd’s Randall Munroe puts it,

The Collatz Conjecture states that if you pick a number, and if it’s even divide it by two and if it’s odd…]]></description><link>https://rileyjshaw.com/blog/graphing-depth</link><guid isPermaLink="false">POST_GRAPHING_DEPTH</guid><pubDate>Thu, 04 Dec 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tilted type]]></title><description><![CDATA[<p>Web typography experiment using CSS transforms and SVG.</p>]]></description><link>https://codepen.io/rileyjshaw/full/gbapBa/</link><guid isPermaLink="false">PROJECT_TILTED_TYPE</guid><pubDate>Sat, 29 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tappy]]></title><description><![CDATA[<p>A JavaScript library for recording and comparing rhythms</p>]]></description><link>https://rileyjshaw.com/tappy</link><guid isPermaLink="false">PROJECT_TAPPY</guid><pubDate>Sun, 23 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Multi-level spoilers]]></title><description><![CDATA[<p>UI pattern for nested spoilers.</p><p>Demo involved patching Adobe Web Platform’s balance-text polyfill.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/oggBxz</link><guid isPermaLink="false">PROJECT_MULTI_LEVEL_SPOILERS</guid><pubDate>Sat, 22 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Folding tutorial concept]]></title><description><![CDATA[<p>UI experiment for line-by-line tutorials. Annotations can be turned off to expose a complete code example.</p>]]></description><link>https://codepen.io/rileyjshaw/full/raNLdL/</link><guid isPermaLink="false">PROJECT_FOLDING_TUTORIAL_CONCEPT</guid><pubDate>Thu, 13 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Stealing history with CSS binary trees]]></title><description><![CDATA[History-sniffing attacks let front-end code peek at other sites you’ve visited. They can be used to target ads, steal information, or discern your identity. Creepy. Historically, one of the most popular history-sniffing techniques was to style  links using CSS and check their color with JavaScript. Major browsers started implementing privacy changes to address this attack in 2010.1 As a result, JavaScript’s  now returns unvisited styles for visited sites.

Even with these limitations there are a number of ways to scrape a user’s…]]></description><link>https://rileyjshaw.com/blog/stealing-history-with-CSS-binary-trees</link><guid isPermaLink="false">POST_STEALING_HISTORY_WITH_CSS_BINARY_TREES</guid><pubDate>Wed, 12 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[My website fits in a favicon]]></title><link>https://codepen.io/rileyjshaw/full/bNbxjg</link><guid isPermaLink="false">PROJECT_MY_WEBSITE_FITS_IN_A_FAVICON</guid><pubDate>Mon, 10 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Text fade-in effect]]></title><description><![CDATA[<p>A bit of an anti-pattern, but people seemed to like it.</p>]]></description><link>https://codepen.io/rileyjshaw/full/azoLwb/</link><guid isPermaLink="false">PROJECT_TEXT_FADE_IN_EFFECT</guid><pubDate>Sat, 08 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Text fly-in effect]]></title><link>https://codepen.io/rileyjshaw/full/pvzdzX/</link><guid isPermaLink="false">PROJECT_TEXT_FLY_IN_EFFECT</guid><pubDate>Sat, 08 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Moore / Von Neumann neighborhoods]]></title><description><![CDATA[<p>Utils for <a href="/terra">Terra</a>.</p>]]></description><link>https://codepen.io/rileyjshaw/full/chaJe/</link><guid isPermaLink="false">PROJECT_MOORE_1B_VON_NEUMANN_NEIGHBORHOODS</guid><pubDate>Tue, 04 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tic Attack Toe]]></title><description><![CDATA[<p>Rapidfire, turnless tic-tac-toe with a custom websocket lobby.</p><p>Inspired by Kung-Fu Chess.</p>]]></description><link>https://github.com/rileyjshaw/tic-attack-toe</link><guid isPermaLink="false">PROJECT_TIC_ATTACK_TOE</guid><pubDate>Mon, 03 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Riddle: chicken prices]]></title><description><![CDATA[Someone posted a riddle a few days ago: Three farmers were selling chickens at the local market. One farmer had 10 chickens to sell, another had 16 chickens to sell, and the last had 26 chickens to sell. In order not to compete with each other, they agreed to all sell their chickens at the same price. But by lunchtime, they decided that sales were not going so well, and they all decided to lower their prices to the same lower price point. By the end of the day, they had sold all their chickens. It turned out that they all collected the same amount of money, $35, from the day’s chicken sales. What was the price of the chickens before lunchtime and after lunchtime?

I’d been nerd sniped, and…]]></description><link>https://rileyjshaw.com/blog/chicken-prices</link><guid isPermaLink="false">POST_CHICKEN_PRICES</guid><pubDate>Tue, 28 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Reaction]]></title><description><![CDATA[<p>Reaction game that steals your history*. It exploits alpha-rounding to create an n-input OR gate for CSS :visited states, then probes links in sequential binary trees.</p><p>*This is a proof-of-concept and won’t actually steal anything.</p>]]></description><link>https://rileyjshaw.com/visited-vectors/reaction</link><guid isPermaLink="false">PROJECT_REACTION</guid><pubDate>Mon, 27 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Back]]></title><link>https://thenounproject.com/icon/back-79589/</link><guid isPermaLink="false">ICON_79589</guid><pubDate>Sat, 18 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fast forward]]></title><link>https://thenounproject.com/icon/fast-forward-79590/</link><guid isPermaLink="false">ICON_79590</guid><pubDate>Sat, 18 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Repeat]]></title><link>https://thenounproject.com/icon/repeat-79591/</link><guid isPermaLink="false">ICON_79591</guid><pubDate>Sat, 18 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Rewind]]></title><link>https://thenounproject.com/icon/rewind-79592/</link><guid isPermaLink="false">ICON_79592</guid><pubDate>Sat, 18 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Play]]></title><link>https://thenounproject.com/icon/play-79593/</link><guid isPermaLink="false">ICON_79593</guid><pubDate>Sat, 18 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pause]]></title><link>https://thenounproject.com/icon/pause-79594/</link><guid isPermaLink="false">ICON_79594</guid><pubDate>Sat, 18 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Shuffle]]></title><link>https://thenounproject.com/icon/shuffle-79595/</link><guid isPermaLink="false">ICON_79595</guid><pubDate>Sat, 18 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Share]]></title><link>https://thenounproject.com/icon/share-79596/</link><guid isPermaLink="false">ICON_79596</guid><pubDate>Sat, 18 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Racer]]></title><description><![CDATA[<p>3D race-to-the-finish game.</p><p>Built with a custom raycaster / collision engine.</p>]]></description><link>https://rileyjshaw.com/racer</link><guid isPermaLink="false">PROJECT_RACER</guid><pubDate>Wed, 15 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tappy game]]></title><description><![CDATA[<p>Tap the rhythm of the lyrics displayed.</p>]]></description><link>https://rileyjshaw.com/tappy-game</link><guid isPermaLink="false">PROJECT_TAPPY_GAME</guid><pubDate>Mon, 13 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fin?]]></title><description><![CDATA[I started writing this in April. It began, Three months ago I was in Toronto, squeezing in one last show at The Rex before shipping off to New York.

I had just finished Hacker School and wanted to write a retrospective post. I also wanted to officially resign from the Iron Blogger crew. But I was on a kiteboarding trip at the time, and the wind was picking up.

My three preceding posts are shoddy. Two are short quotes from materials I’d been reading through. The other reads like an assignment. All three were started on Monday morning before check-ins because I didn’t want to lose a bet.

I’m glad that I have a blog now. It’s a great way to share cool things that I’ve learned and silly things…]]></description><link>https://rileyjshaw.com/blog/fin</link><guid isPermaLink="false">POST_FIN</guid><pubDate>Sun, 12 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Film-grain effect in 117B of JavaScript]]></title><description><![CDATA[<p>Warning: contains a blocking loop that may cause browsers to hang briefly.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/enfkc</link><guid isPermaLink="false">PROJECT_FILM_GRAIN_EFFECT_IN_117B_OF_JAVASCRIPT</guid><pubDate>Sun, 12 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Funky wallpaper in 106B of JavaScript]]></title><description><![CDATA[<p>Warning: contains a blocking loop that may cause browsers to hang briefly.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/EdAeq</link><guid isPermaLink="false">PROJECT_FUNKY_WALLPAPER_IN_106B_OF_JAVASCRIPT</guid><pubDate>Sun, 12 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Funky wallpaper with blur effect in 111B of JavaScript]]></title><description><![CDATA[<p>Warning: contains a blocking loop that may cause browsers to hang briefly.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/tmGxj</link><guid isPermaLink="false">PROJECT_FUNKY_WALLPAPER_WITH_BLUR_EFFECT_IN_111B_OF_JAVASCRIPT</guid><pubDate>Sun, 12 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Material design ripple effect]]></title><description><![CDATA[<p>I needed this for <a href="/tappy-game">tappy</a> before there were 1000 libraries to choose from.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/uiJqo</link><guid isPermaLink="false">PROJECT_MATERIAL_DESIGN_RIPPLE_EFFECT</guid><pubDate>Sun, 12 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Super slinky]]></title><description><![CDATA[<p>No jQuery dependency, section progress shown in headers, click to scroll, resizable with scrollbar on window. Inspired by Slinky.js and DesignWall.</p><p>Currently doesn’t work on iOS &lt; 8 since they mess with scroll events. If you use this in production, look into iScroll.</p>]]></description><link>https://codepen.io/rileyjshaw/full/pIFly/</link><guid isPermaLink="false">PROJECT_SUPER_SLINKY</guid><pubDate>Sat, 04 Oct 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Short domain finder]]></title><description><![CDATA[<p>Search for emoji domains and short domains.</p>]]></description><link>https://github.com/rileyjshaw/domains</link><guid isPermaLink="false">PROJECT_SHORT_DOMAIN_FINDER</guid><pubDate>Tue, 16 Sep 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pairjam]]></title><description><![CDATA[<p>Realtime web-based collaborative coding.</p>]]></description><link>https://github.com/neerajwahi/pairjam</link><guid isPermaLink="false">PROJECT_PAIRJAM</guid><pubDate>Mon, 15 Sep 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Video camera]]></title><link>https://thenounproject.com/icon/video-camera-74002/</link><guid isPermaLink="false">ICON_74002</guid><pubDate>Sun, 14 Sep 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Everything button]]></title><description><![CDATA[<p>Initial pass at the menu system for Pairjam.</p>]]></description><link>https://codepen.io/rileyjshaw/full/DplJB</link><guid isPermaLink="false">PROJECT_EVERYTHING_BUTTON</guid><pubDate>Sun, 14 Sep 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[CSS tab bar]]></title><description><![CDATA[<p>For Pairjam.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/iIjcp/</link><guid isPermaLink="false">PROJECT_CSS_TAB_BAR</guid><pubDate>Fri, 12 Sep 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Expanding user circles]]></title><description><![CDATA[<p>For Pairjam.</p><p>Bad interaction tbh.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/zIpqi/</link><guid isPermaLink="false">PROJECT_EXPANDING_USER_CIRCLES</guid><pubDate>Fri, 12 Sep 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Face]]></title><description><![CDATA[<p>Displays a random ASCII face.</p>]]></description><link>https://rileyjshaw.com/face</link><guid isPermaLink="false">PROJECT_FACE</guid><pubDate>Sun, 07 Sep 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[“Points” color palette]]></title><description><![CDATA[<p>I was designing an app with a rainbow interface, so I threw this page together to see how the palette looked together.</p>]]></description><link>https://codepen.io/rileyjshaw/full/JvdrG/</link><guid isPermaLink="false">PROJECT_6CCPOINTS6CD_COLOR_PALETTE</guid><pubDate>Mon, 01 Sep 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Placid tab]]></title><description><![CDATA[<p>A minimal New Tab page for Chrome</p>]]></description><link>https://chrome.google.com/webstore/detail/placid-tab/mjcblgoejhkkkhgeadejhkpldglnfmcj</link><guid isPermaLink="false">PROJECT_PLACID_TAB</guid><pubDate>Mon, 25 Aug 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Linescapes]]></title><description><![CDATA[<p>An audiovisual experiment that generates landscapes from sound waves.</p>]]></description><link>https://rileyjshaw.com/linescapes</link><guid isPermaLink="false">PROJECT_LINESCAPES</guid><pubDate>Fri, 15 Aug 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Graphing depth]]></title><description><![CDATA[<p>Pretty images from math.</p><p>Supports my <a href="/blog/graphing-depth/">blog post</a> of the same name.</p>]]></description><link>https://codepen.io/collection/amDJo/</link><guid isPermaLink="false">PROJECT_GRAPHING_DEPTH</guid><pubDate>Thu, 31 Jul 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Reduce Background Flicker]]></title><description><![CDATA[<p>A Chrome extension to preserve the background color between page loads.</p>]]></description><link>https://github.com/rileyjshaw/reduce-background-flicker</link><guid isPermaLink="false">PROJECT_REDUCE_BACKGROUND_FLICKER</guid><pubDate>Thu, 03 Jul 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[n-input OR gate in CSS]]></title><description><![CDATA[<p>Used to work. Doesn’t anymore.</p><p>Part of <a href="/blog/stealing-history-with-CSS-binary-trees/">“Stealing history with CSS binary trees”</a>.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/CjiKf</link><guid isPermaLink="false">PROJECT_N_INPUT_OR_GATE_IN_CSS</guid><pubDate>Thu, 26 Jun 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Thoughtboard]]></title><description><![CDATA[<p>Democratic billboard for sharing the pulse of a community. Popular thoughts will be displayed on the billboard for all to see.</p>]]></description><link>https://github.com/Queens-Hacks/thoughtboard</link><guid isPermaLink="false">PROJECT_THOUGHTBOARD</guid><pubDate>Sat, 31 May 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Glorious pattern matcher]]></title><description><![CDATA[<p>Takes a series of characters and a series of words and checks if they match the same sequence. Words need not be delimited.</p>]]></description><link>https://rileyjshaw.com/glorious-pattern-matcher/</link><guid isPermaLink="false">PROJECT_GLORIOUS_PATTERN_MATCHER</guid><pubDate>Tue, 20 May 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[filesupply]]></title><description><![CDATA[<p>WebRTC file sharing concept thrown together in ~40 minutes (or your pizza’s free!)</p>]]></description><link>https://github.com/rileyjshaw/filesupply</link><guid isPermaLink="false">PROJECT_FILESUPPLY</guid><pubDate>Mon, 19 May 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[A disco badass]]></title><description><![CDATA[<p>How I like to think of myself.</p>]]></description><link>https://codepen.io/rileyjshaw/full/acjvs/</link><guid isPermaLink="false">PROJECT_A_DISCO_BADASS</guid><pubDate>Fri, 09 May 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Wind alarm]]></title><description><![CDATA[<p>Only wakes you up if the wind is howling. An alarm for kiteboarders.</p>]]></description><link>https://github.com/rileyjshaw/wind-alarm</link><guid isPermaLink="false">PROJECT_WIND_ALARM</guid><pubDate>Wed, 07 May 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Ben Eath: Surf Ace]]></title><description><![CDATA[<p>A multiplayer shark-frenzy controlled with your phone.</p><p>Created with friends at Hacker School. I was in charge of the mobile + WebSocket controller framework and the server.</p><p>This used to be on Chrome Experiments but it’s offline now :(</p>]]></description><link>https://github.com/ben-eath/the-surf-ace</link><guid isPermaLink="false">PROJECT_BEN_EATH1M_SURF_ACE</guid><pubDate>Tue, 29 Apr 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Key Generator]]></title><description><![CDATA[<p>A super-efficient memoized key generator in JavaScript.</p><p>Lowercase alphanumeric, length [1, 198).</p>]]></description><link>https://codepen.io/rileyjshaw/full/olzJI/</link><guid isPermaLink="false">PROJECT_KEY_GENERATOR</guid><pubDate>Mon, 28 Apr 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Mirror]]></title><description><![CDATA[<p>Small demo of live translation synchronization.</p>]]></description><link>https://codepen.io/rileyjshaw/full/BvKni</link><guid isPermaLink="false">PROJECT_MIRROR</guid><pubDate>Thu, 24 Apr 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Thin diagonal stripes]]></title><description><![CDATA[<p>CSS gradient rule for thin diagonal lines.</p><p>Cross-device, cross-browser.</p>]]></description><link>https://codepen.io/rileyjshaw/full/dBygE</link><guid isPermaLink="false">PROJECT_THIN_DIAGONAL_STRIPES</guid><pubDate>Thu, 24 Apr 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[The cat’s-whisker detector]]></title><description><![CDATA[Semiconductors are important. They allow us to make transistors1, which allow us to make integrated circuits, which allow us to build calculators and flight control systems and iPads. The transistor is the unequivocal poster child of semiconductor physics. It was developed in 1947 by John Bardeen, Walter Brattain, and William Shockley at Bell Labs.

It may have far-reaching significance in electronics and electrical communication.

This post is not about the transistor. It’s about the beginning of an industry that has changed the way we communicate. It’s also sort of about capitalism.

History

In 1874, German physicist Ferdinand Braun created a diode…]]></description><link>https://rileyjshaw.com/blog/the-cats-whisker-detector</link><guid isPermaLink="false">POST_THE_CATS_WHISKER_DETECTOR</guid><pubDate>Tue, 22 Apr 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pyramid]]></title><link>https://codepen.io/rileyjshaw/full/dihjv/</link><guid isPermaLink="false">PROJECT_PYRAMID</guid><pubDate>Thu, 17 Apr 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Accidental reset]]></title><description><![CDATA[From page 33 of the Apple II User’s Guide: Sooner or later you will hit the RESET key when you did not intend to. It is inevitable, unless your Apple II requires you to type CTRL-RESET instead of just plain RESET. You can reduce the hazard by carefully prying off the plastic keytop, leaving just the keyswitch shaft available (Figure 2-9).

You can take this one step further and make it physically harder to push down the RESET key. Get a small rubber washer about 3/8 inches inner diameter, 1/2 inch outer diameter, and 1/8 inch thick. Remove the RESET keytop as shown in Figure 2-9. Work the washer over the exposed square flange of the keyshaft as shown in Figure 2-10. Replace…]]></description><link>https://rileyjshaw.com/blog/accidental-reset</link><guid isPermaLink="false">POST_ACCIDENTAL_RESET</guid><pubDate>Mon, 14 Apr 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fastdraw]]></title><description><![CDATA[<p>Checks how quickly you can navigate to other sites in a new tab. Only works in Firefox.</p>]]></description><link>https://rileyjshaw.com/fastdraw</link><guid isPermaLink="false">PROJECT_FASTDRAW</guid><pubDate>Mon, 14 Apr 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[A language for weaklings]]></title><description><![CDATA[From Learn C The Hard Way: I’m going to guess that you come from a language for weaklings. One of those “usable” languages that lets you get away with sloppy thinking and half-assed hackery like Python or Ruby. Or, maybe you use a language like Lisp that pretends the computer is some purely functional fantasy land with padded walls for little babies. Maybe you’ve learned Prolog and you think the entire world should just be a database that you walk around in looking for clues. Even worse, I’m betting you’ve been using an IDE, so your brain is riddled with memory holes and you can’t even type out an entire function’s name without hitting CTRL-SPACE every 3 characters you type.

Br…]]></description><link>https://rileyjshaw.com/blog/a-language-for-weaklings</link><guid isPermaLink="false">POST_A_LANGUAGE_FOR_WEAKLINGS</guid><pubDate>Tue, 01 Apr 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Hue-angle transitions]]></title><description><![CDATA[I was recently browsing a beautiful red monochrome1 site. There were a few call-to-action buttons on the page that transitioned to green on hover. Where did that brown come from?! The initial red looks great, the final green looks great, but everything between is pretty dismal. Why is that?

The RGB color model

Red Green and Blue are the three primary additive colors. Your browser takes an 8-bit intensity value for each of the R, G, and B components to determine the output color…]]></description><link>https://rileyjshaw.com/blog/hue-angle-transitions</link><guid isPermaLink="false">POST_HUE_ANGLE_TRANSITIONS</guid><pubDate>Mon, 31 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sweep]]></title><description><![CDATA[<p>A JavaScript library for smoother color transitions</p>]]></description><link>https://rileyjshaw.com/sweep</link><guid isPermaLink="false">PROJECT_SWEEP</guid><pubDate>Mon, 24 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Your art teacher lied]]></title><description><![CDATA[Guess what? Chemistry isn’t the only high school course built on a foundation of lies. In art class we’re taught that the primary colors are red, yellow, and blue. Not only is it wrong to say that there are three true primary colors, but if we were to pick three, we’d pick a better combination. Let there be light

A band of wavelengths in the electromagnetic spectrum between 390nm and 700nm makes up the visible spectrum of light; we perceive different wavelengths within this spectrum as colors. White light is a combination of all wavelengths in the visible spectrum.

Humans are trichromats, which means that we have three types of color receptors (cone cells). Our short-, mid-, and long…]]></description><link>https://rileyjshaw.com/blog/your-art-teacher-lied</link><guid isPermaLink="false">POST_YOUR_ART_TEACHER_LIED</guid><pubDate>Sun, 23 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Own this website]]></title><description><![CDATA[<p>An experimental online game of King of the Hill, on this very website.</p>]]></description><link>https://github.com/rileyjshaw/own-this-website</link><guid isPermaLink="false">PROJECT_OWN_THIS_WEBSITE</guid><pubDate>Wed, 19 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tiny boxes]]></title><description><![CDATA[<p>Chat through happenstance. The interface adapts to meet demand.</p>]]></description><link>https://github.com/rileyjshaw/boxes</link><guid isPermaLink="false">PROJECT_TINY_BOXES</guid><pubDate>Wed, 19 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Taking the average tone]]></title><description><![CDATA[Today I wanted to see what the average frequency of a song would sound like with no spectrum analysis or separation. I had a hunch that it would end up sounding like garbage, and I was totally right. If you took the average color of a beautiful painting, it would likely turn out muddy brown. Today, I created the audio equivalent:

Blazo’s Misty Sapphire:

Steve Reich’s Music for 18 Musicians:

Kill the Noise remix of KOAN Sound’s Talk Box:

These first tones were generated using the powerful, free, cross-platform audio software Audacity and a cool lisp-y language called Nyquist. Since Audacity lets you run Nyquist scripts on hand-selected audio segments, this first bit was quick and dirty:…]]></description><link>https://rileyjshaw.com/blog/taking-the-average-tone</link><guid isPermaLink="false">POST_TAKING_THE_AVERAGE_TONE</guid><pubDate>Mon, 17 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Mean tone]]></title><description><![CDATA[<p>Supporting code for my <a href="/blog/taking-the-average-tone/">“Taking the average tone”</a> blog post.</p>]]></description><link>https://github.com/rileyjshaw/mean-tone</link><guid isPermaLink="false">PROJECT_MEAN_TONE</guid><pubDate>Mon, 17 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pursuit]]></title><description><![CDATA[<p>CSS animation with no additional HTML or JS.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/Klvon?editors=0100</link><guid isPermaLink="false">PROJECT_PURSUIT</guid><pubDate>Mon, 17 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Tiny TCP]]></title><description><![CDATA[<p>Really little chat server written in Node.js.</p>]]></description><link>https://github.com/rileyjshaw/tiny-tcp</link><guid isPermaLink="false">PROJECT_TINY_TCP</guid><pubDate>Mon, 17 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Average tone: Music For 18 Musicians]]></title><link>https://soundcloud.com/rileyjshaw/average-tone-music-for-18</link><guid isPermaLink="false">SONG_139984941</guid><pubDate>Mon, 17 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[1125899906842624]]></title><description><![CDATA[<p>A terrible clone of a terrible clone of a game.</p>]]></description><link>https://rileyjshaw.com/2048</link><guid isPermaLink="false">PROJECT_1125899906842624</guid><pubDate>Thu, 13 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Important people]]></title><description><![CDATA[<p>Scrapes Wikipedia to find the most important births and deaths of each year by word count.</p>]]></description><link>https://github.com/rileyjshaw/important-people</link><guid isPermaLink="false">PROJECT_IMPORTANT_PEOPLE</guid><pubDate>Thu, 13 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Composer]]></title><description><![CDATA[<p>Generate frequencies, chords, and songs.</p>]]></description><link>https://github.com/rileyjshaw/composer</link><guid isPermaLink="false">PROJECT_COMPOSER</guid><pubDate>Wed, 12 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Iron blogger]]></title><description><![CDATA[A few days ago a fellow Hacker-Schooler proposed Iron Blogger to our batch. The rules are simple: Get a blogWrite on said blog at least once a weekFailing completion of #2, be humiliated and ostracized. Also, forfeit $5.

I don’t think that we’ve decided on where the money is going yet; I’m hoping for giant Iron Blogger belt buckles.

Of course I’ll do that!

At the start of the batch I vowed to avoid any projects focusing on front-end design work, including a personal site.

Oops.

I also vowed to try my hand at blogging; breaking one vow to fulfill the other can’t be that bad, right? I made an addendum, stating that I could spend exactly two days making a site… and here we are!

It had to…]]></description><link>https://rileyjshaw.com/blog/iron-blogger</link><guid isPermaLink="false">POST_IRON_BLOGGER</guid><pubDate>Mon, 10 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[window.clusterFuck]]></title><description><![CDATA[I started a project called Terra a few weeks ago. I added a conditional to  that would complain if I’d already defined the library: (function (exports) {
	function init() {
		if (!exports.terra) {
			// do initialization things
		} else {
			throw 'You’ve already defined terra. Pay attention…';
		}
	}

	// more stuff happens…

	init();
})(this);


I’ll admit that this is a really ugly pattern for handling namespaces, but even common patterns are affected by this. Let me take you on a journey through the biggest browser wat I’ve ever seen.

I ran the code and the console yelled at me.

Strange… but maybe I forgot a  somewhere. I set some…]]></description><link>https://rileyjshaw.com/blog/window.clusterfuck</link><guid isPermaLink="false">POST_WINDOW_CLUSTERFUCK</guid><pubDate>Mon, 10 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[terra]]></title><description><![CDATA[<p>A JavaScript library for simple biological simulations and cellular automata.</p>]]></description><link>https://rileyjshaw.com/terra</link><guid isPermaLink="false">PROJECT_TERRA</guid><pubDate>Sun, 09 Mar 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Ushld]]></title><description><![CDATA[<p>Tell people on the internet what they should do.</p>]]></description><link>http://ushld.rileyjshaw.com</link><guid isPermaLink="false">PROJECT_USHLD</guid><pubDate>Fri, 28 Feb 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Strobe]]></title><description><![CDATA[<p>Boring.</p>]]></description><link>https://codepen.io/rileyjshaw/details/pcKCj/</link><guid isPermaLink="false">PROJECT_STROBE</guid><pubDate>Sat, 15 Feb 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Space avoiders]]></title><description><![CDATA[<p>Thx Mary :)</p>]]></description><link>https://codepen.io/rileyjshaw/pen/CErAF</link><guid isPermaLink="false">PROJECT_SPACE_AVOIDERS</guid><pubDate>Thu, 13 Feb 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Nite versions]]></title><description><![CDATA[<p>Recreating Soulwax’s album art in CSS.</p>]]></description><link>https://codepen.io/rileyjshaw/full/sDrLJ/</link><guid isPermaLink="false">PROJECT_NITE_VERSIONS</guid><pubDate>Mon, 13 Jan 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[CSS gradient blocker]]></title><description><![CDATA[<p>Using a repeating pattern to give the illusion of semi-transparency.</p>]]></description><link>https://codepen.io/rileyjshaw/full/uvcyE/</link><guid isPermaLink="false">PROJECT_CSS_GRADIENT_BLOCKER</guid><pubDate>Fri, 03 Jan 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Gradient patterns]]></title><link>https://codepen.io/rileyjshaw/full/KdFAg/</link><guid isPermaLink="false">PROJECT_GRADIENT_PATTERNS</guid><pubDate>Fri, 03 Jan 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Zig-zag text effect]]></title><description><![CDATA[<p>CSS only.</p><p>Fun with gradients and background-clip: text.</p>]]></description><link>https://codepen.io/rileyjshaw/full/waeqK</link><guid isPermaLink="false">PROJECT_ZIG_ZAG_TEXT_EFFECT</guid><pubDate>Fri, 03 Jan 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Watercolor]]></title><description><![CDATA[<p>Uses Chrome’s canvas compositing algorithm (circa 2013) to simulate watercolor painting in the browser.</p>]]></description><link>https://rileyjshaw.com/watercolor/</link><guid isPermaLink="false">PROJECT_WATERCOLOR</guid><pubDate>Sun, 29 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Simple slide-out footer]]></title><description><![CDATA[<p>Slide-out footer with semantic markup.</p>]]></description><link>https://codepen.io/rileyjshaw/details/GlBHC/</link><guid isPermaLink="false">PROJECT_SIMPLE_SLIDE_OUT_FOOTER</guid><pubDate>Fri, 27 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Canvas spectrum]]></title><description><![CDATA[<p>lol these variable names…</p>]]></description><link>https://codepen.io/rileyjshaw/pen/bzeqL?editors=0010</link><guid isPermaLink="false">PROJECT_CANVAS_SPECTRUM</guid><pubDate>Sat, 21 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[COS logo]]></title><description><![CDATA[<p>Recreating a popular clothing brand’s logo in CSS.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/blCIq/</link><guid isPermaLink="false">PROJECT_COS_LOGO</guid><pubDate>Thu, 19 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[No Vacancy 404 concept]]></title><link>https://codepen.io/rileyjshaw/full/ufEIH</link><guid isPermaLink="false">PROJECT_NO_VACANCY_404_CONCEPT</guid><pubDate>Thu, 19 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[3D text!]]></title><description><![CDATA[<p>BYOG (glasses).</p>]]></description><link>https://codepen.io/rileyjshaw/details/rEhdF/</link><guid isPermaLink="false">PROJECT_3D_TEXTX</guid><pubDate>Sun, 15 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Cheshire Cat Loader]]></title><link>https://codepen.io/rileyjshaw/full/fondm</link><guid isPermaLink="false">PROJECT_CHESHIRE_CAT_LOADER</guid><pubDate>Sun, 08 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Vanishify]]></title><description><![CDATA[<p>Sass vanishing point mixin.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/inyzb</link><guid isPermaLink="false">PROJECT_VANISHIFY</guid><pubDate>Sun, 08 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[3D flower]]></title><link>https://codepen.io/rileyjshaw/full/LhFfw</link><guid isPermaLink="false">PROJECT_3D_FLOWER</guid><pubDate>Tue, 03 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Ball]]></title><description><![CDATA[<p>Simple animation in three.js.</p>]]></description><link>https://codepen.io/rileyjshaw/details/fzhDk/</link><guid isPermaLink="false">PROJECT_BALL</guid><pubDate>Tue, 03 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Chamber]]></title><description><![CDATA[<p>Random mutations of a polyhedron.</p>]]></description><link>https://codepen.io/rileyjshaw/full/wKvfk</link><guid isPermaLink="false">PROJECT_CHAMBER</guid><pubDate>Tue, 03 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Speedy scroll]]></title><description><![CDATA[<p>Block pointer events on scroll to reach 60fps.</p><p>A follow-up article has since been written to show more robust techniques.</p>]]></description><link>https://codepen.io/rileyjshaw/details/ruGFo/</link><guid isPermaLink="false">PROJECT_SPEEDY_SCROLL</guid><pubDate>Tue, 03 Dec 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Minimal fizzbuzz]]></title><description><![CDATA[<p>Two very small implementations of Fizzbuzz: one in JavaScript (74B) and one in Stylus (126B).</p>]]></description><link>https://codepen.io/rileyjshaw/pen/bCkBo</link><guid isPermaLink="false">PROJECT_MINIMAL_FIZZBUZZ</guid><pubDate>Fri, 29 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Crazy chemicals]]></title><link>https://codepen.io/rileyjshaw/full/zwxCv/</link><guid isPermaLink="false">PROJECT_CRAZY_CHEMICALS</guid><pubDate>Tue, 26 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[10 colors that faded away]]></title><link>https://codepen.io/rileyjshaw/details/gLcoi/</link><guid isPermaLink="false">PROJECT_10_COLORS_THAT_FADED_AWAY</guid><pubDate>Mon, 25 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Flower power]]></title><description><![CDATA[<p>Sass flower with variable number of petals.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/HBDtd</link><guid isPermaLink="false">PROJECT_FLOWER_POWER</guid><pubDate>Mon, 25 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[CSS slope illusion in <140 characters]]></title><description><![CDATA[<p>Are the base lines straight or at an angle?</p>]]></description><link>https://codepen.io/rileyjshaw/pen/vzwsu/</link><guid isPermaLink="false">PROJECT_CSS_SLOPE_ILLUSION_IN_1O140_CHARACTERS</guid><pubDate>Wed, 20 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Focus]]></title><description><![CDATA[<p>Linear gradient, animation, and background-clip</p>]]></description><link>https://codepen.io/rileyjshaw/full/gtLGi/</link><guid isPermaLink="false">PROJECT_FOCUS</guid><pubDate>Wed, 20 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Wacky static]]></title><link>https://codepen.io/rileyjshaw/pen/GDmeF</link><guid isPermaLink="false">PROJECT_WACKY_STATIC</guid><pubDate>Wed, 20 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Wacky static 2: TV edition]]></title><description><![CDATA[<p>Used this as my 404 page for a while.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/mcaCi</link><guid isPermaLink="false">PROJECT_WACKY_STATIC_21M_TV_EDITION</guid><pubDate>Wed, 20 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Planets]]></title><description><![CDATA[<p>Pure Sass animated solar system.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/yenLw</link><guid isPermaLink="false">PROJECT_PLANETS</guid><pubDate>Fri, 15 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Yummy loader]]></title><link>https://codepen.io/rileyjshaw/full/jdyqC</link><guid isPermaLink="false">PROJECT_YUMMY_LOADER</guid><pubDate>Fri, 15 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[2p Snake]]></title><description><![CDATA[<p>Snake for 2 players on the same keyboard?! Saucy.</p>]]></description><link>https://rileyjshaw.com/2p-snake</link><guid isPermaLink="false">PROJECT_2P_SNAKE</guid><pubDate>Mon, 11 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sass animation grid]]></title><description><![CDATA[<p>Collection of Sass animations.</p>]]></description><link>https://codepen.io/rileyjshaw/full/zGnlq</link><guid isPermaLink="false">PROJECT_SASS_ANIMATION_GRID</guid><pubDate>Mon, 11 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Fifty shades of grey]]></title><description><![CDATA[<p>Ha.</p>]]></description><link>https://codepen.io/rileyjshaw/full/KcILg/</link><guid isPermaLink="false">PROJECT_FIFTY_SHADES_OF_GREY</guid><pubDate>Fri, 08 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sticky CSS transitions]]></title><link>https://codepen.io/rileyjshaw/full/bHsJf</link><guid isPermaLink="false">PROJECT_STICKY_CSS_TRANSITIONS</guid><pubDate>Fri, 08 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Multiple hover events in CSS]]></title><link>https://codepen.io/rileyjshaw/details/LIwdc/</link><guid isPermaLink="false">PROJECT_MULTIPLE_HOVER_EVENTS_IN_CSS</guid><pubDate>Sun, 03 Nov 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[FS video + blocking tiles]]></title><description><![CDATA[<p>Recreating a nice hover effect in CSS.</p>]]></description><link>https://codepen.io/rileyjshaw/full/FBsmA/</link><guid isPermaLink="false">PROJECT_FS_VIDEO_17_BLOCKING_TILES</guid><pubDate>Thu, 31 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Infinite burger]]></title><description><![CDATA[<p>Pure Sass hamburger. Sesame-seed bun, lettuce, tomato, fresh cheddar, and infinity perfectly cooked Angus beef patties.</p>]]></description><link>https://codepen.io/rileyjshaw/full/HdeEF</link><guid isPermaLink="false">PROJECT_INFINITE_BURGER</guid><pubDate>Tue, 29 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[DNS error easter egg]]></title><description><![CDATA[<p>Hover over “DNS”.</p>]]></description><link>https://codepen.io/rileyjshaw/details/eAEya/</link><guid isPermaLink="false">PROJECT_DNS_ERROR_EASTER_EGG</guid><pubDate>Mon, 28 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Flat shadow mouse tracker]]></title><link>https://codepen.io/rileyjshaw/full/wEJzg/</link><guid isPermaLink="false">PROJECT_FLAT_SHADOW_MOUSE_TRACKER</guid><pubDate>Mon, 28 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Long-shadow cards]]></title><description><![CDATA[<p>Each one’s only a single element.</p>]]></description><link>https://codepen.io/rileyjshaw/details/AgGbs</link><guid isPermaLink="false">PROJECT_LONG_SHADOW_CARDS</guid><pubDate>Mon, 28 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Long-shadow input series]]></title><description><![CDATA[<p>An attempt to give flat buttons some depth. Collection of inputs including radio buttons, checkboxes, and text inputs.</p>]]></description><link>https://codepen.io/collection/EJveu</link><guid isPermaLink="false">PROJECT_LONG_SHADOW_INPUT_SERIES</guid><pubDate>Mon, 28 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Typographic loader]]></title><description><![CDATA[<p>Loading bar concept.</p>]]></description><link>https://codepen.io/rileyjshaw/full/dIniD</link><guid isPermaLink="false">PROJECT_TYPOGRAPHIC_LOADER</guid><pubDate>Mon, 28 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Custom carat]]></title><description><![CDATA[<p>Ugly implementation of something pretty.</p>]]></description><link>https://codepen.io/rileyjshaw/full/IkfJn/</link><guid isPermaLink="false">PROJECT_CUSTOM_CARAT</guid><pubDate>Wed, 23 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Single element kabamm]]></title><link>https://codepen.io/rileyjshaw/details/zFdyq/</link><guid isPermaLink="false">PROJECT_SINGLE_ELEMENT_KABAMM</guid><pubDate>Wed, 23 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Worst practices]]></title><description><![CDATA[<p>Some Javascript that I threw together for a friend to 1) solve his problem, 2) explain some hacky JS tricks, and 3) attempt to show him that they aren’t always great to use since they obfuscate your code.</p><p>There’s actually some cool stuff going on in here, so I’ve commented it thoroughly.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/cKiDn?editors=0010</link><guid isPermaLink="false">PROJECT_WORST_PRACTICES</guid><pubDate>Sun, 13 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Shadowfy]]></title><description><![CDATA[<p>Sass 3D text-shadow mixin.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/DmCyc</link><guid isPermaLink="false">PROJECT_SHADOWFY</guid><pubDate>Wed, 09 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[ASCII loaders]]></title><description><![CDATA[<p>Geeky loading animations using ASCII characters.</p>]]></description><link>https://codepen.io/rileyjshaw/full/ABzsc</link><guid isPermaLink="false">PROJECT_ASCII_LOADERS</guid><pubDate>Tue, 08 Oct 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Color Jump!]]></title><description><![CDATA[<p>Sass mixin: jump from x to y in z steps.</p><p>This was my first CodePen to hit the front page :)</p>]]></description><link>https://codepen.io/rileyjshaw/pen/Ijtgr</link><guid isPermaLink="false">PROJECT_COLOR_JUMPX</guid><pubDate>Sun, 29 Sep 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Git cheatsheet]]></title><description><![CDATA[<p>A quick reference for before your morning coffee.</p>]]></description><link>https://github.com/rileyjshaw/git-cheatsheet</link><guid isPermaLink="false">PROJECT_GIT_CHEATSHEET</guid><pubDate>Wed, 18 Sep 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Frequency bar visualizer]]></title><description><![CDATA[<p>A simple frequency bar visualizer for audio in Processing.</p><p>Features a terrible mash-up of Watermelon Man and Mos Def’s Beef freestyle that I threw together in Audacity…</p>]]></description><link>https://github.com/rileyjshaw/basic_visualizer</link><guid isPermaLink="false">PROJECT_FREQUENCY_BAR_VISUALIZER</guid><pubDate>Thu, 12 Sep 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[CSS beach]]></title><description><![CDATA[<p>Geeky loading animations using ASCII characters.</p>]]></description><link>https://codepen.io/rileyjshaw/details/GsotD/</link><guid isPermaLink="false">PROJECT_CSS_BEACH</guid><pubDate>Fri, 06 Sep 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Perspective buttons]]></title><description><![CDATA[<p>Buttons that maintain linear perspective from the screen’s vertical midpoint.</p><p>The perspective effect can be added to anything; a site where each content block was extruded could look interesting.</p><p>Chrome only as of 2018.</p>]]></description><link>https://codepen.io/rileyjshaw/full/ebokj/</link><guid isPermaLink="false">PROJECT_PERSPECTIVE_BUTTONS</guid><pubDate>Sat, 31 Aug 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Nested radio menu]]></title><description><![CDATA[<p>Semantic vertical menu using nested radio buttons and CSS.</p>]]></description><link>https://codepen.io/rileyjshaw/full/jDCty/</link><guid isPermaLink="false">PROJECT_NESTED_RADIO_MENU</guid><pubDate>Tue, 27 Aug 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Phi fo fum]]></title><description><![CDATA[<p>A SASS template based on the golden ratio.</p>]]></description><link>https://rileyjshaw.com/phi_fo_fum</link><guid isPermaLink="false">PROJECT_PHI_FO_FUM</guid><pubDate>Sun, 21 Jul 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sass tooltips]]></title><description><![CDATA[<p>Sass speech bubble mixin.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/dAFiu</link><guid isPermaLink="false">PROJECT_SASS_TOOLTIPS</guid><pubDate>Sat, 13 Jul 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Instaframe]]></title><description><![CDATA[<p>Buggy proof of concept exploring the CSS background-attachment property and a 3rd-party Instagram API.</p>]]></description><link>https://v14.rileyjshaw.com/portfolio/old/instaframedemo/</link><guid isPermaLink="false">PROJECT_INSTAFRAME</guid><pubDate>Tue, 02 Apr 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Peek]]></title><description><![CDATA[<p>Scrolling gallery view for Tumblr.</p>]]></description><link>https://v14.rileyjshaw.com/portfolio/old/peekdemo</link><guid isPermaLink="false">PROJECT_PEEK</guid><pubDate>Mon, 25 Mar 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Zenwall]]></title><description><![CDATA[<p>A depth-sensing grafitti wall for touch-screens &amp; pen tablets.</p><p>Demo built for web browsers and Wacom tablets. Installation involved creating a large infrared plane behind a flexible display and sensing deformations using Community Core Vision.</p>]]></description><link>https://youtu.be/zQ5tKU3z1fc</link><guid isPermaLink="false">PROJECT_ZENWALL</guid><pubDate>Fri, 22 Mar 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[FitHub]]></title><description><![CDATA[<p>A fitness form trainer using an Xbox Kinect.</p>]]></description><link>https://github.com/uniphil/FitHub</link><guid isPermaLink="false">PROJECT_FITHUB</guid><pubDate>Sat, 02 Mar 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Arrow left]]></title><link>https://thenounproject.com/icon/arrow-left-11539/</link><guid isPermaLink="false">ICON_11539</guid><pubDate>Tue, 12 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Calendar]]></title><link>https://thenounproject.com/icon/calendar-11541/</link><guid isPermaLink="false">ICON_11541</guid><pubDate>Tue, 12 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Happy]]></title><link>https://thenounproject.com/icon/happy-11542/</link><guid isPermaLink="false">ICON_11542</guid><pubDate>Tue, 12 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Clock]]></title><link>https://thenounproject.com/icon/clock-11543/</link><guid isPermaLink="false">ICON_11543</guid><pubDate>Tue, 12 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Nut]]></title><link>https://thenounproject.com/icon/nut-11544/</link><guid isPermaLink="false">ICON_11544</guid><pubDate>Tue, 12 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Arrow down]]></title><link>https://thenounproject.com/icon/arrow-down-11584/</link><guid isPermaLink="false">ICON_11584</guid><pubDate>Tue, 12 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Arrow up]]></title><link>https://thenounproject.com/icon/arrow-up-11585/</link><guid isPermaLink="false">ICON_11585</guid><pubDate>Tue, 12 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Close]]></title><link>https://thenounproject.com/icon/close-11586/</link><guid isPermaLink="false">ICON_11586</guid><pubDate>Tue, 12 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Right arrow]]></title><link>https://thenounproject.com/icon/right-arrow-11587/</link><guid isPermaLink="false">ICON_11587</guid><pubDate>Tue, 12 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Close]]></title><link>https://thenounproject.com/icon/close-11588/</link><guid isPermaLink="false">ICON_11588</guid><pubDate>Tue, 12 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Jumble puzzle]]></title><description><![CDATA[<p>Word-search puzzle generator.</p>]]></description><link>https://github.com/rileyjshaw/jumble-puzzle</link><guid isPermaLink="false">PROJECT_JUMBLE_PUZZLE</guid><pubDate>Tue, 05 Feb 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Pure Sass music icons]]></title><link>https://codepen.io/rileyjshaw/full/xdfeC</link><guid isPermaLink="false">PROJECT_PURE_SASS_MUSIC_ICONS</guid><pubDate>Tue, 30 Oct 2012 00:00:00 GMT</pubDate></item><item><title><![CDATA[Terminal display]]></title><description><![CDATA[<p>Used to promote <strike>qhack.ca (defunct)</strike> “hack nights” at my university</a>.</p>]]></description><link>https://codepen.io/rileyjshaw/full/FLpJk/</link><guid isPermaLink="false">PROJECT_TERMINAL_DISPLAY</guid><pubDate>Tue, 23 Oct 2012 00:00:00 GMT</pubDate></item><item><title><![CDATA[HTML quine]]></title><description><![CDATA[<p>A quine is a non-empty computer program which takes no input and produces a copy of its own source code as its only output.</p>]]></description><link>https://codepen.io/rileyjshaw/pen/iGjgs</link><guid isPermaLink="false">PROJECT_HTML_QUINE</guid><pubDate>Fri, 22 Jun 2012 00:00:00 GMT</pubDate></item><item><title><![CDATA[No trash]]></title><link>https://thenounproject.com/icon/no-trash-3164/</link><guid isPermaLink="false">ICON_3164</guid><pubDate>Sat, 09 Jun 2012 00:00:00 GMT</pubDate></item><item><title><![CDATA[Infiniteye]]></title><description><![CDATA[<p>My former personal brand mark.</p>]]></description><link>https://v14.rileyjshaw.com/portfolio/old/cssonly/infiniteye</link><guid isPermaLink="false">PROJECT_INFINITEYE</guid><pubDate>Thu, 05 Jan 2012 00:00:00 GMT</pubDate></item><item><title><![CDATA[That’s nuts!]]></title><description><![CDATA[<p>Settings reveal concept where a nut unscrews itself then drops a curtain.</p>]]></description><link>https://codepen.io/rileyjshaw/details/fKmuI</link><guid isPermaLink="false">PROJECT_THAT6C9S_NUTSX</guid><pubDate>Sat, 26 Nov 2011 00:00:00 GMT</pubDate></item><item><title><![CDATA[Infinite scroll]]></title><link>https://codepen.io/rileyjshaw/details/dzLwm/</link><guid isPermaLink="false">PROJECT_INFINITE_SCROLL</guid><pubDate>Tue, 22 Jun 2010 00:00:00 GMT</pubDate></item></channel></rss>