The most sensational, inspirational, celebrational, muppetational
For my major (Symbolic Systems) in undergrad I ended up taking a solid chunk of the Stanford Computer Science core, including:
To try and relearn some Node.js chops, and because my old site crashed and there doesn't seem to exist a self-hosted CMS that uses Dropbox to store Markdown that turns into pages, I made the engine that runs this thing. It...works? But roughly.
The major motivation guiding the design is to have a simple-ish blog engine that could use Dropbox (or any other folder-based file-syncing software) as a store for Markdown files that will eventually turn into the pages. I like writing in Markdown, and I don't want to ever deal with an admin panel or entering things on a website to make a new post. I just want to write a Markdown file, drop it in a folder, and have my site work fine (especially so I can edit and post on mobile easily.) And that's what this does.
(Also my old site couldn't do link posts, and this can.)
Python (Django), with a li'l bit of HTML/CSS
For years I've been tracking various music consumption habits in a bunch of unwieldy Airtable sheets, and the one-two punch of 1) Airtable telling me I'm reaching the limits of their free plan and 2) wanting to actually buckle down and learn Django a little bit led to this! You can see it in action at music-tracking.andrewwhipple.com
It's a simple Django application that uses the Django Admin CMS for tracking:
Since it is a small, one-person tool, it just uses SQLite for its database.
Still to add are:
Note: sadly due to the capriciousness of a silly billionaire, as of Feb 9th 2023, the free Twitter API is disappearing, so this is defunct (unless and until I make it Mastodon-able) 😢
A work-in-progress clone of the functionality of Nuzzel, a wonderful web app that used to exist that would scour your Twitter timeline, find all the links that had been posted within the previous 24 hours, and render those as a feed for you to catch up on news quickly. Twitter then bought Nuzzel and folded it into their subscription product, so I decided to try out rebuilding a private version of it from scratch to both 1) have access to the functionality I missed 😢, 2) learn how to use FastAPI, and 3) learn how to use the Twitter API.
This is composed of a FastAPI back-end that connects to the Twitter API, and a React front-end.
A tool for creating podcast RSS feeds, because I'm insane and self-host my own self-generated feeds for the shows I do. Motivated primarily by wanting to explore using React! Secondarily I was interested in the idea that since RSS feeds are hosted and publically accessible on the internet, this could be a tool that allows you to pull in an existing feed from a url and then edit or add a new entry to it and generate a new XML file to replace the existing feed.
This is composed of a React front-end and an Express back-end!
Inspired by this very very very good talk on polyrythms and how everything (sorta) is a polyrhythm, I started playing around with Glitch again and put together this neat little proof-of-concept app. If you upload a photo, it will extract the color palette from the image and then each main color will be associated with a note, and you can see what kind of music your photos make!
And, it being Glitch, you can remix it and edit your own version! Which is cool!!
This is a demo version of a little webapp I made on Glitch to run on an old iPad I have mounted on my wall. The motivation behind it was to:
There's another version that exists that is the real one that actually controls my lights and stuff, which is probably a dumb idea to have out on the open internet even if its password protected. ¯\_(ツ)_/¯
For this demo one, you can use the password 'Hi Friend!' and it will log you in to play around. Hitting any of the buttons will do nothing, because this demo version doesn't have any of the actual IP addresses or API access to my lights that the real one has. And it being Glitch, if you want to set this up for yourself just Remix the app, and fill in the appropriate variables in the .env file!
This is a set of Python command-line tools to speed up some podcasting workflows, including making and updating an RSS feed, down-rezzing mp3s for publishing, and general file organization. Also open-source, but made for me and works for me, so your mileage may vary. I need to update this though for my current podcast workflow.
ChucK is a wild little langauge out of Stanford and Princeton that's used for musical programming, and I played around with it a fair bit in a couple classes and put together some rudimentary instruments that used an Xbox 360 controller for the interface.
And now that I'm writing this up I'm remembering how cool ChucK can be and realizing I need to get back into playing around with it...
Dumb, dumb, dumb stupid joke thing.
I've done other things, but those are the big ones. You can check my github if you'd like!