Rawscripts.com was my first software project. It’s a screenwriting webapp. It’s how I learned to code. It shows.
Now I continue to run and maintain the site, but I haven’t actively worked on the Rawscripts for a couple of years — at least until this Spring. For technical reasons (some technology I used was being deprecated; users would be locked out of the site; I would be effectively deleting other people’s hard work on account of my own negligence/incompetence), I’ve spent a lot of time these past few months fixing up the site. The long hours are still in very recent memory, so most of my thoughts about this fit in the categories “Bad” and “Ugly,” but why not start with “Good?” Here are some things I’ve done or learned this year that make me very, very happy.
In the timeline of Rawscripts, I spent one year building it to run on Google AppEngine, and then four years trying to get it off. As of last week, that is complete. The easiest part was rewriting the backend because Flask is awesome. My new database uses SQL (whaaat!?⸮) so there are countless tools, libraries, and resources that make database work easy instead of a burdensome nightmare. Plus I get to ride this awesome wave of new DevOps tools like Dokku that make hosting and maintenance feasible. I actually have some basic control of the the site now, instead of managing it in very narrowly prescribed ways. With this new stack, I feel lighter. Like, literally, at my keyboard, I feel lighter.
Over the years I’ve heard from teachers who have their middle-school creative writing class using Rawscripts. Typically, the teacher can’t install new software on school computers, or can’t afford professional screenwriting software for each student, so Rawscripts fits their needs. Getting those emails makes my day.
With my new setup, I can effortlessly run SQL commands that count the number of registered email addresses that contain “.edu” or “student” or “k12”. From a super rough search, there were over 2000 students using Rawscripts this school year — many thousands more in the whole history. That makes me really happy. Earlier this year, when I knew the site was going to need an overhaul, I was considering just shutting the whole thing down. When I realized that, through minimal effort, I’ve been effectively donating to dozens of schools, it was a huge incentive to keep Rawscripts running.
Such a satisfying green. Honestly, I just like looking at this:
All traffic to and from Rawscripts is now encrypted. I couldn’t do this when the site ran on AppEngine, and that was frustrating. For the past few years, the feeling has shifted to embarrassment. I’ve taught people how to use encryption. I’ve harangued people for not using encryption. And yet, for years, I’ve been running this site that sends people’s writing in plaintext across the Internet. That’s embarrassing.
But this is the “Good” post! Everything is encrypted now. There is no plaintext version. Dokku sets up a bunch of sane defaults like good cipher suites, forward secrecy, and disabling SSL3. Out of the box, it gets and “A” from Qualy’s SSL Labs. I’ll be adding a few more things like HSTS soon.
Plus, Dalton Trumbo…. Been thinking about him lately. Years ago, I started learning about the Crypto Wars, and Internet surveillance, and Free(-as-in-Speech) Software. There were a couple of specific times it all clicked so I could see my part in it. One was the afternoon I read about Dalton Trumbo, the Hollywood screenwriter blacklisted after refusing to testify before the House Un-American Activities Committee. He kept writing under pseudonyms, and needed to keep his identity a secret. When “Robert Rich” won an Oscar for the screenplay of “The Brave One,” no one was there to claim it. And more than just hiding, Trumbo needed a whole network of people who could help get his work produced while letting him write in private. And there I was, managing a screenwriting tool that didn’t encrypt data in transit. It felt like snitching.
This is all way too grandiose. Simple fact is, everyone wants some privacy. It’s a basic human need. No one who uses Rawscripts wants someone looking over their shoulder as they write, or the digital equivalent thereof. But still, I turned on encryption and Dalton Trumbo came to mind.
For years, I’ve spent time and some money running this website for free. At its best, it’s a dumb hobby. More typically it’s a burden… and somehow… this paid off. I started this project five years ago with zero computer knowledge. Last year I was working as a software developer at Amazon. Next week I get my Northeastern University diploma for a BS in Computer Science. I just accepted an offer to go to the University of Michigan Law School where they’ve got close ties to the tech law I want to do. Yeah, somehow this paid off. The path was far from obvious, but things are really, really good.
OMG THIS PERSON KEEPS EMAILING ME ANGRY SHIT JUST SAYING “its broken” THATS NOT HELPFUL.!.!! — WHAT THE FUCK IS BROKEN? THE SITES NOT BROKEN CAUSE THERES LIKE A THOUSAND FUCKING PEOPLE USING IT JUST FINE right fucking now!!!1! PLEASE FOR THE LOVE OF GOD GIVE ME ANY DETAILS AND i WILL DROP EVERYTHING TO FIX THIS FOR YOU OR DO YOU JUST WANT TO COMPLAIN ffs iM TRYING TO HELP AND YOU KEEP KICKING ME FUCK YOU AND FUCK THIS
(More next time in “Rawscripts – The Bad”)