<?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[Highlights 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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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></channel></rss>