Riley J. Shaw is a programmer and designer. Rooted in repair and craft, he creates transparent, remixable tools for a sustainable and accessible future.
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…
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…
I included the following in my application for SFPC : DELETION, PERMANENCE, AND CONSISTENCY===================================== 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. I hope someday to have an International…
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…
“how can i help?” a solitary dial reflects the machine’s physical clock speed, acting as display rather than control. despite appearances, your presence is appreciated. depression 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. depression initially existed as part of a larger criticism of capitalism and…
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! geometries that reveal contradictory images / messages…
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. 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: the project is called…
today in critical theory, we read and discussed a few “manifestos for the internet age” . 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. turns out marvin minsky beat me to it. for context: minsky, who said “i don’t think there is any such thing” regarding human consciousness,…
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…
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 :) one of my major goals during this program is to not make things. * silence. the sfpc showcase curators back away slowly to discuss what a mistake they’ve made. * it’s okay, i’ll do the assignments and make a showcase project…
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: week 1 week 2 week 3 week 4 week 5 …i can’t believe we’re halfway through! final showcase prep is starting and i still have no idea what i’ll build. yikes!…
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. with this week’s readings on “security” + surveillance for our crit theory course (“the radical outside”) fresh on my mind,…
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…
I’ve decided to post my response to the three questions SFPC asks potential participants. 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. If you’ve landed here from a search and are considering applying, I recommend doing so! It’s…
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: there can be no understanding between the hands and the brain unless the heart acts as mediator. but we couldn’t reach consensus about what this meant re: the worker struggles…
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. create a few distinct sounds, for example: cup/table tap cup/table scrape ball/table tap ball/table scrape cup/ball tap these examples are unambiguous and easy to perform rapidly by someone keeping the cup in one hand & ball in the other. i’ll refer to each…
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:…
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…
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…
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…
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…
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…
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,…
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…
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.…
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…
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…
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…
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…
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…
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…
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…
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,…