Uses This

1285 interviews since 2009

A picture of James Turk

James Turk

Assistant Clinical Professor (University of Chicago)

in developer, linux, mac, teacher

Who are you, and what do you do?

James Turk. I am an Assistant Clinical Professor at the University of Chicago. I teach in the Masters of Science in Computer Science & Masters of Science in Computational Analysis & Public Policy programs.

Teaching is new to me. I spent the prior 15 years as as software developer and manager in civic tech. For over a decade I was the lead of the Open States project, an open source effort to make all state legislative information available via a common interface. It is used by major media organizations, advocacy groups, and researchers across the country. I also helped found the Open Civic Data project, which is a standard used by election officials, as well as tech companies like Google and Microsoft to enable interoperability between election data systems.

Now my focus is on teaching and helping train more civic technologists. I am also very interested in various ways that we can push back against the corporate internet and all the negatives that come with it.

I like making things, which usually means I am working on something artistic and a technical side project for fun. Lately I've been spending more time hiking and camping, weather permitting.

What hardware do you use?

I used to be a pretty puritanical Linux/Android user, but after a series of bad hardware issues with both I switched to Apple gear.

These days, I mostly use a 14" M1 Macbook Pro. I use that for daily work, development, presentations, etc. Despite my reluctance, this is the happiest I've been with a laptop since my ThinkPad T420 ten years ago.

I have a pair of USB-C monitors at home, and usually use a Keychron V1.

I mostly think of phones as a necessary evil, and replace my phone with the phone that has the most reliable hardware, best battery life, and least spyware every 3-4 years. That's currently an iPhone.

After using a pretty cheap pair of Bluetooth headphones until they broke, I decided to upgrade to a pair of Sony WH-1000XM5 and I'm incredibly impressed with them.

I also wear a modded Casio F-91W watch with a Sensor Watch board. It was a fun project and I have a watch with a thermometer, moon phase calculation, and a few other fun features with a battery that lasts a year.

I also use a dotted A5 notebook for meeting notes and TODO lists.

Finally, my house is held together by a handful of Raspberry Pis: Home Assistant, a home audio server, and an e-ink picture frame that mostly shows me the latest absurd Heathcliff.

And what software?

I try to avoid OS-specific software, spending most of my time in the browser and terminal. Wherever possible I use an open source & cross platform app. avoiding lock-in is important to me.

I use fish as my shell, always running inside a tmux session so I can split windows/restore layouts, and neovim as my editor for quick scripts, config files, and notes if I'm already in the terminal.

When I started teaching, I decided to start using VSCode for my main development environment, since 90% of my students will be and it feels right to be familiar with the same tools they are using. I'm pretty comfortable in it, and find it nice for larger projects with a passable vim-mode.

I still write a lot of Python: I'm partial to using pyenv, poetry, and pipx to manage my Python environment and packages. ruff has become an incredibly useful tool as well.

I also use ag and chezmoi for searching code/notes and managing my dotfiles, respectively.

I use Firefox as my browser, in equal parts to support an open web, and because it allows a level of customization that works well for my idiosyncratic browsing needs.

One thing I really miss on macOS is the ability to use a true tiling window manager. I get by with Magnet for now, but this is likely what will push me off macOS for my next machine.

I take a lot of notes and have probably tried twenty note-taking apps over the last ten years. I've mostly settled on Obsidian for now, largely for its high-quality sync which allows me to edit a note in neovim, VSCode, or Obsidian, and reference it from my phone, or take a quick note from my phone and expand upon it later when I have a full keyboard. Programs that use real files will always win for me, since they afford this kind of flexibility.

Honorable mentions:

  • Pocket Casts - I've used it almost every day for nearly a decade and remain completely happy with it.
  • FastMail - Secure, private, and so much nicer than GMail.
  • Fantastical - A piece of macOS software I happily paid for so I could reliably have all of my calendars in one place.

What would be your dream setup?

I wish I could plug my phone into a keyboard, mouse, and monitor and have a full desktop environment with me everywhere I go. I would prefer this to the everything-in-the-cloud model, since I could use this in the woods, and my data would be local to me by default. (Of course, if that were the case, I'd need a real OS on my phone too.)

This has been my dream since I got my first ADP1 and since then I have backed more than one unsuccessful attempt at this.

Setting the bar a bit lower, a Framework laptop with the component quality of a 2024 MBP. I'm really impressed with what they're doing already, and imagine my next machine could be one of theirs in a couple of years.

My office would be a small room with a window overlooking some nature, with a few plants and a comfortable chair. I'm actually not that far off on that last part, which is pretty lucky.