Jade Michael Thornton
Hi there! I'm a passionate software engineer and aerial photographer. Here's some links you may find interesting:
- my GitHub and GitLab profiles
- my blog posts
- my online tools
- my LinkedIn profile
- my photos
If you'd like to contact me, my email is the best method.
Projects
What I cannot create, I do not understand— Richard Feynman
All of my projects are open source and live on GitLab and/or GitHub. Here's some highlights.
-
Emacs tools and configuration
I use Emacs every day and love it, and I've put care and effort into crafting my development environment to a high level of productivity. Besides my refined Emacs configuration, I authored several packages such as el2md, Rivet mode and several more.
-
http-server and its dependencies
I serve as the lead developer of http-server, as well as a contributor to its dependencies, including union and http-proxy.
-
Themes and more themes
I have a desire for everything I use to look good and work well. To that end, I often create or contribute to themes of various types, including Aero (Emacs), Vero (Zsh), ClearNight (Atom) and Unbroken (GTK3). I was also part of the creation of the mini.css framework.
This site's design is based on my Aero Emacs theme.
-
Languages
I have a curiosity for esoteric languages and the lessons of language design they provide. I maintain and have made minor contributions to Orson, which was created by James Moen.
I've also explored writing my own languages, though I've never completed one. Some of my half languages include Warbler, Brewlisp and Spider.
-
Tools and utilities
I authored Zpico (a tiny Zsh plugin manager) and I always look out for more opportunities.
-
Education
I enjoy teaching and mentoring new developers, and I have contributed to both FreeCodeCamp lessons and Learn X in Y minutes.
-
Other contributions
Falling into the "other" category, I'm one of the authors of Armadietto (a reference RemoteStorage server) and a contributor to Formative (a Clojure web form renderer), Alacritty (a terminal emulator), Brave Browser (prior to the 1.0 release), Tohil (a TCL-Python integration library) and Zplug (a Zsh plugin manager).
Writing
My somewhat organized thoughts live in my blog. Some selected pieces:
-
Using a known, shared SSH socket to enable agent forwarding through an existing tmux session.
-
Halfway on Main: Thoughts on Clean Architecture
Uncle Bob ignores his own advice when considering the "Main" component, but we can improve on his thoughts and learn from them.
-
Overriding project.el project root in Emacs
A short function to override what project.el thinks your project root is with a hidden file.
Experience
I'm experienced in Typescript/Javascript, Python, React.js, Angular, SQL and full-stack web development. I'm a bit rusty in Java, Clojure (a personal favorite), OCaml, C and Nix.
I'm currently a senior software engineer at DroneDeploy, working on panoramic walkthrough videos and BIM visualization. My previous experience includes full-stack software engineering at FlightAware (a Collins Aerospace company), development of internal financial systems for Thomson Reuters via software consulting with Maverick Software, and building custom software and providing tech support for the Humphrey School of Public Affairs.
Other interests
I'm a hobby quadcopter pilot and aerial photographer, some of my favorite photos are available at photos.jmthornton.net.
Since 2016, I've spent a bit of free time contributing to OpenStreetMap, and I've recently begun organizing my efforts through the excellent Humanitarian OpenStreetMap Team Tasking Manager.
I've proudly volunteered with Bunny Buddies since 2019, a non-profit rabbit rescue organization. Alongside my own pet rabbits, I foster bunnies who are too young to be adopted or require special medical care, as well as work on the organization website and volunteer my time at events. My beautiful wife, Stephanie, previously served as the Director of Adoptions.
