HELLO
I’m James Dennis. I’m also Jms Dnns.
I’ve had the privilege of working on a lot of cool projects over the years, from touring the country with bands to building companies from the ground up. I’ve also experienced what happens when efforts don’t work out and can be a good ear for anyone dealing with that.
I’ve spent years working with creative groups to make a lot of software and a lot of music. In some ways, my creative work has been like a dog chasing a ball. I commit and go hard when it’s important, of course. I’m happiest when I’m transforming ideas into tangible things. I’m not too picky about the medium anymore, and yet I want to use each medium to the best of my creativity.
I’ve changed a lot over the years. What once felt narrow has expanded, and my approach has shifted towards environments that don’t have to be narrow to bring out the best of everyone. I once agreed with Churchill that having enemies meant we stood for something, and I knew I had grown when it occurred to me that defining ourselves by our enemies is absurd. I prefer the way Stekel described it, “the immature man wants to die nobly for a cause, while the mature man wants to live humbly for one”.
My cause is the joy of creating and learning. This site is an attempt to share that.
Career
I focus on the creative side of tech, often writing code to explore ideas that are still taking shape. I’m as comfortable being the person who writes the first line of code as I am navigating a huge project. Moving fast with modern technology is a thrill, especially with small teams, and I let my curiosity do the work of keeping up.
Over the years, I have been lucky to work with some great organizations. You probably know some of them: Spotify, Venmo, HBOMax, Splice, The Whitney Museum, VHX (acquired by Vimeo), The Robin Hood Foundation, Bear Stearns (acquired by JPMorgan), University of Pennsylvania, Harvard Law School, and Johns Hopkins University.
I ran a consultancy, J2 Labs, for a while. Over time my tastes changed from wanting the rough n tumble startup life to wanting something more stable, where I can go deeper in fewer contexts.
I have spent many years building apps, web systems, and pipelines. But, I took a huge turn in 2023 when I started studying the math of machine learning and how to build ML systems. By 2024 I published over a dozen models, built some AI tools, and published my first research paper with Chris Callison-Burch at UPenn. It’s taken significant work over a long period of time and I’m still having a blast with it.
Tech
I have been all over the place when it comes tech. I spent many years trying to find ways to build at least one of just about everything. I have built backends, frontends, mobile apps, infrastructures, ML pipelines, ML algorithms, and I have mentored others on all of the above too. My goal is to use as much of my time as possible for building things that make the world a little bit better. The tech I use in pursuit of that isn’t as important as what is being built.
With that said, lately I have been using 🦀 Rust, 🐪 Ocaml, and 🐍 Python. I learned Rust by building small implementations of familiar ideas. It has async SSH pools, an ORM, a REST API with auth & database migrations, a gRPC API, CLI tools, and more! (haha). I’ve been dabbling with doing the same for Ocaml. Outside those two languages, I’ve been using Python for machine learning. I’ve been writing Python since 2008, but ML is something else. It’s like an alternate Python universe where all the tools are different. Learning how to live in that world feels similar to the time I learned drums after years of playing guitar.
I used to build a lot of open source. I had my first open source project in college, when I managed a patch for OpenSSH that would chroot SFTP users into their home directory. I was working at Harvard Law School at the time and they agreed to switch from unencrypted FTP to encrypted SFTP on condition that the chrooting functionality of their favorite FTP server was preserved, so I worked out how to do that and shared it with the Internet. I have started several open source projects since then. Of all the projects I’ve started, Schematics is my favorite. It is something of a type system for Python, focused on human types like email addresses, URLs, etc. Brubeck was a concurrent server framework with strong opinions on web serving, concurrency, data modeling, and messaging. And Micro Army was a tool I made for testing Brubeck’s performance. It works by instantiating a few hundred AWS Micros to flood some URL with requests and report back about the performance.
I recently started a rewrite of Micro Army in Rust, called Killa Beez. It can already build all the infrastructure on AWS and run commands via SSH on machines in parallel. Almost at parity! #riir
One of the more rewarding aspects of open source is learning where your work turns up. You’ve used my work if you talk to Apple devices, pay people with Venmo, watch Criterion Collection on a mobile device, read Huffington Post, or wear Warby Parker sunglasses.
I love bringing people together to share the things we’ve learned. I especially love when the design of a community causes everyone involved to learn more about their interests faster than if they were alone. That’s how you know it’s working. Some of the better known tech communities built by me and my friends are: Hack && Tell, Brooklyn Swift, and Dumbo Tech Breakfast.
I studied computer science at Northeastern University, and I was in the inaugural batch of Recurse Center.
Music
I first picked up a guitar around 11, had my first band a couple years later, made a few records before finishing high school, and soon enough, I was in a van touring the US & Canada. I’ve had several bands since then, written a lot of music, and I still play live. I haven’t toured in years, though.
I tell the stories for each project, with music, pics, and youtube, in my musical history.
History
I have been reading history since 2012. I explain how that happened in this post.
History is fascinating for many reasons, but my favorite stuff is when people make a point of historical significance in some absurd way. For them, it wasn’t enough to get their point across. They designed the experience of receiving what they had to say and they made it memorable. Leonardo da Vinci and Eleanor Roosevelt are two of my favorite examples. From history we can understand so much about what it means to be alive today, so I take it seriously and give it time.
I recently began writing about history. There will be times I celebrate the absurd and there will be times I tell more serious stories. My goal is to write about history in a way that makes new fans of reading history.
Without The Vowels
I intend to keep this URL for the rest of my life. It’s my name, without the vowels, dot com.
It’s kinda weird to think about what it means to have some website be an actual permanent home. If I ever stop paying for it, maybe it just disappears. Or should I setup some kind of trust, just in case someone stumbles upon my dot com years after I pass? I don’t have answers to these questions, but perhaps you’ll find it easy to remember you can always find me at my name, without the vowels, dot com.
It’s my name without the vowels.
It’s my name without the vowels.