Sadly Not, Havoc Dinosaur

Headshot of the author, Colarusso. As a Practitioner-in-Residence, most of my work involves building things. The following is a list of mostly solo/passion projects. They are divided into three main sections: (1) work; (2) play; and (3) the dearly departed.


Work

From large and complicated to simple and straightforward, here's a collection of projects I've really enjoyed working on.

The Library of Unwritten Books

Stuttgart public library
Stuttgart Public Library by barnyz

The Library creates "novel novellas" on-demand. Unlike text-adventure games with fixed texts, these stories are an open-ended exercise in collaborative storytelling. You are a reader-author. Large language models (LLMs) mediate your collaboration, re-shaping and reflecting your words and those of authors past. I'm reminded of these words from Carl Sagan.

What an astonishing thing a book is. It's a flat object made from a tree with flexible parts on which are imprinted lots of funny dark squiggles. But one glance at it and you're inside the mind of another person, maybe somebody dead for thousands of years. Across the millennia, an author is speaking clearly and silently inside your head, directly to you. Writing is perhaps the greatest of human inventions, binding together people who never knew each other, citizens of distant epochs. Books break the shackles of time. A book is proof that humans are capable of working magic.

This Library is a different sort of magic, for instead of transporting its readers into the mind of a single author it places us somewhere in the zeitgeist. LLMs, as we know, are machines for completing sentences. They work by predicting the next plausible string of words. As Ted Chiang observed, they are blurry JPEGs of the Web. We harness this fact to produce something novel based on the input of our reader-authors, the "compressed" writings used to train the LLM, and random chance.

The Library of Unwritten Books | Explainer (with code)

LIT Prompts

7 min intro video

What would we need to take the practice of prompt engineering seriously? An appropriate workspace, one where we could really iterate and build on past work? What would that look like? This browser extension is a partial attempt at answering these question. Functionally, it acts as a kind of an "everything extension," letting you create your own AI-driven actions: summarize & query a webpage, extract data from a page, translate text, shorten text, build sims... In truth, however, it's an LLM-agnostic AI playground for the coding curious, a place where non-coders can actually build with prompts. If you're really looking to dig in, I suggest you check out my series 50 Days of LIT Prompts.

Project page | Firefox download | Chrome download

My RSS Algo

A Look Ahead
Screenshot of the site

As many internet users of a certain age will tell you, Google Reader was peak internet. I wanted to bring back some of that magic but with a 21st century spin. My RSS Algo is an open source client-side algorithmically-driven RSS reader. It is built at the Suffolk LIT Lab and allows users to customize their algorithm and timeline behavior while keeping all that training data on their computer. The reader uses insights from TF-IDF and machine learning to determine what articles users like, comparing the text from the cards they vote up or down with everything they have seen. Users can manage their feeds, hide/group similar articles, set ratings cutoffs, and use regular expressions to promote or mute certain articles. The reader also offers features such as auto-closing Pocket pop-ups, marking cards as "Seen" after opening articles or voting, and displaying local weather. Users can also download their data.

Visit My RSS Algo

My Toy Models

A Look Ahead
Maps are models; they don't show everything. That's okay as long as you don't confuse the map for the territory.

If you've ever wanted to "run a study" on some aspect of your personal life, this site is for you. It lets you "science the heck" out of your pet hypotheses—building simple predictive models (regressions) around your data. All the number crunching runs in your browser. So your data stays on your device (unless you activly download and share it, which I tried to make easy). I made this tool to help my students get a feel for narrow AI (machine learning) by building their own. As Richard Feynman observed, “that which I cannot create, I do not understand.” That being said, I don’t expect my students to become statisticians or data scientists. Rather, I want them to learn enough to understand the realm of the possible and to call BS when needed. To that end, this site lets you create your own toy models, intentional simplifications that help folks explore the dynamics of a situation. That being said, keep in mind that the tools provided here are that dangerous mix of power and ease of use.

My Toy Models website

ICYMI Law

A Look Ahead
ICYMI Law's Mastodon profile page

With one foot in law and the other in tech, I really want the open web to thrive. Consequently, I'm a big fan of open-source social media offerings like Mastodon. So, I created a bot to help showcase all the great legal content available there. If you know one thing about Mastodon it's probably that it isn't owned by a profit-seeking billionaire. If you know a second thing, it's probably that "there is no algorithm." This often shorthand for the fact that the default timeline isn't shaped by engagement. So, you might be wondering why I built a bot. Well, it turns out that algorithmic feeds, do two discovery tasks really well. They help you find interesting stuff: (1) when you don't know where to look (e.g., when first joining a community); & (2) when there's too much content to sift through. They're like a news editor choosing what to put in the paper. The trick is valuing their contribution while not mistaking them for the whole conversation. Anyhow, my bot is my attempt at filling this role for #law, #lawprofs, & #lawfedi folks. Soon after creating it, I created a sister website that provides a daily digest community posts. The hope is that folks (like you) will use it to see how great Mastodon is and then decide to join us.

Mastodon Bot | Daily Digest (webpage)

Spot

A 45 min lecture I gave in 2020 introducing Spot

What is Spot? Spot is an issue spotter. Give Spot a non-lawyer's description of a situation, and it returns a list of likely issues from LIST (formerly National Subject Matter Index, Version 2). LIST provides the legal aid community with a standard nomenclature for talking about client needs. It includes issues like eviction, foreclosure, bankruptcy, and child support. Spot is provided as a service over an API. Mostly, this means it's built for use by computer programs, not people. Coders can build things (like websites) on top of the API. The hope is that by automating part of issue identification, developers will use Spot to help people in need of legal assistance better access available resources.

Visit the Spot project page

Coding the Law

A Look Ahead
Screenshot of the course homepage

A LegalTech Adventure for folks with or without prior coding experience, Coding the Law is a class I teach, and thanks to the pandemic, I ended up putting pretty much everything up on the web. Learn how to think about technologies in the law by building your own. In this project-based course, open to non-programmers and coders alike, we explore the technical, legal, and ethical dimensions behind the use of computer algorithms by legal practitioners and the justice system. Projects range from the creation of simple document review and automation tools to the construction of expert systems and narrow AIs.

Visit the course website

QnA Markup

A 10 min introduction that gets you programing

QnA is a markup language for people with little or no programming experience. It was designed with attorneys in mind and transforms blocks of text into interactive question and answer sessions (QnAs). These QnAs can be used as stand-alone expert systems or in the aid of rule-based document construction. Plus, they can be fun, and the entire project is open source.

QnA Markup Editor

Random Selection Tool

Loop of screen capture showing the tool in action

Sometimes in class I need to create random groups or "volunteer" someone for a task. Sure, there are a bunch of free random selection apps online, but I wanted something I could project on the screen during class without acting as a billboard full of internet advertising. So, I built this simple no-frills tool. It can pick someone from a group, create n groups, or make a set of groups with the smallest possible group size. It remembers your list of choices from visit to visit (saving your data on your computer with localStorage). It excludes folks you've already picked and even assigns "cute" group names (based on characters from Greek mythology).

Open the tool


Play

Here's a selection of some "work" I chose to do in my free time. ;)

Woodworking

A How To video showcasing my construction of a Jeffersonian Bookstand

One Christmas after having moved out of my parents' home, my mother remarked that I had entered the stage of life in which power tools became appropriate gifts. I'll never forget coming down the stairs to that compound miter saw (featured in the video). I'll stop short of calling it the best gift I ever received, but it's certainly a contender.

I've always enjoyed working with my hands, and as a child, I'd help my father with odd jobs around the house. However, I didn't really catch the woodworking bug until I got my own place and found myself in need of furniture. Luckily, my father was more than happy to lend me the use of his shop, not to mention his wise tutelage. Over the years, I returned to that shop and put together my own. I've built a number of projects I'm proud of, including my stand-up desk, tables, books shelves, and the Jeffersonian Bookstand in the adjacent video. If you'd like to build one yourself, the video is a How To, and you can download the plans here.

No Flies on Me

Screen capture of me playing the game. You really want to turn on audio for this one!

My first original video game was a collaboration with my son (then 6yo). We both enjoy making things in the block-based programing language Scratch, and we wanted to experiment with the video detection feature. So we thought about how we could use it to make a game. We ended up being really happy with the outcome. It makes for some really great gameplay. Allow access to your camera, and swat as many flies as you can, but watch out for the bees. They sting!

  • Swat a fly to earn 1 point
  • Hit a bee and lose 10
  • Finish it all before the music (Flight of the Bumblebee) ends

Play the game

DIY Telepresence Robot

Call grandparents during dinner & let them roam around the table. It's amazing how much kids love this extra level of interactivity. This project was birthed by the pandemic. It's an inexpensive telepresence bot (mBot + LEGO + phone). Workflow:

  1. video call someone on your phone;
  2. put phone in cradle;
  3. pair bot to your computer so you can control it from computer;
  4. share remote access to computer with the folks you called so they can pilot the bot.

The bot is an mBot (~$80). The lever used to move the camera makes use of the servo pack (~$30). Alas, the prices seem to have gone up a bit since my build. :/ I hand-crafted the rounded end of the lever from the top of a spice bottle. The nuts & bolts holding it come with the servo pack. Here's the code we use to control the bot. Of course, you also need a phone and some LEGO (snaps right on). As for remoting into your computer, Google Chrome Remote Desktop works pretty well. Enjoy!


Dearly Departed

I can't maintain every project forever, but the following work holds a special place in my heart.

10Questions

The original 10Questions launch video, put together by the folks over at rocketboom

What would happen if political candidates looking to engage with a community were pushed to engage with questions crowd-sourced from that community. And what if they knew the same community would hold them accountable for their answers, later voting on whether or not they actually engaged with the questions? 10Questions was a collaboration that aimed to answer this. It grew out of my early work with the YouTube community. It had two US iterations, one during the 2008 presidential primaries and another during the 2010 midterm elections. I was the primary developer behind the site along with two sister sites, 10Perguntas in Portuguese and 10Preguntas in Spanish, which accompanied elections in Brazil and Mexico, respectively. I'm afraid the sites no longer exist, but you can read this announcement from the New York Times Editorial Board, which was one of our original partners.