Skip to content

Commit

Permalink
Add James' interview and portrait
Browse files Browse the repository at this point in the history
  • Loading branch information
waferbaby committed Aug 10, 2024
1 parent 8306119 commit d659167
Show file tree
Hide file tree
Showing 2 changed files with 99 additions and 0 deletions.
99 changes: 99 additions & 0 deletions posts/james.turk.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
title: James Turk
summary: Assistant Clinical Professor (University of Chicago)
date: 2024-08-10
categories:
- developer
- linux
- mac
- teacher
---

### Who are you, and what do you do?

[James Turk](https://jamesturk.net/ "James' website."). 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](https://github.com/openstates/ "An organisation collecting US state legistation for open sharing.") 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][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][thinkpad-t420] ten years ago.

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

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][wh-1000xm5] and I'm incredibly impressed with them.

I also wear a modded Casio F-91W watch with a [Sensor Watch][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][raspberry-pi]: [Home Assistant][home-assistant], a home audio server, and an e-ink picture frame that mostly shows me the latest absurd [Heathcliff](https://www.gocomics.com/heathcliff "The Healthcliff comic.").

### 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][visual-studio-code] 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][the-silver-searcher] 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][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][android-dev-phone] 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.

[android-dev-phone]: https://en.wikipedia.org/wiki/Android_Dev_Phone "A development Android phone."
[chezmoi]: https://www.chezmoi.io/ "A tool for managing your dotfiles."
[fantastical]: https://flexibits.com/fantastical "A calendaring app for the Mac."
[fastmail]: https://www.fastmail.com/ "An email hosting service."
[firefox]: https://www.mozilla.org/en-US/firefox/new/ "A cross-platform open-source web browser."
[fish]: https://fishshell.com/ "A command-line shell."
[home-assistant]: https://www.home-assistant.io/ "Home automation software."
[macbook-pro]: https://www.apple.com/macbook-pro/ "A laptop."
[macos]: https://en.wikipedia.org/wiki/MacOS "An operating system for Mac hardware."
[magnet]: https://magnet.crowdcafe.com/ "Mac software for organising windows."
[neovim]: https://neovim.io/ "A refactored vim."
[obsidian]: https://obsidian.md/ "Note-taking software."
[pipx]: https://github.com/pypa/pipx "Software for creating isolated Python environments"
[pocket-casts]: http://web.archive.org/web/20230513180147/https://play.pocketcasts.com/ "A web-based podcast player."
[poetry]: https://python-poetry.org/ "A package manager for Python."
[pyenv]: https://github.com/pyenv/pyenv "Python version management software."
[python]: https://www.python.org/ "An interpreted scripting language."
[raspberry-pi]: https://en.wikipedia.org/wiki/Raspberry_Pi "A single-board hackable computer."
[ruff]: https://github.com/astral-sh/ruff "A linter and code formatter for Python."
[sensor-watch]: https://www.sensorwatch.net/ "A replacement motherboard for the Casio F‑91W."
[the-silver-searcher]: https://geoff.greer.fm/ag/ "A command-line search tool."
[thinkpad-t420]: http://web.archive.org/web/20210506094630/https://support.lenovo.com/us/en/solutions/pd015734 "A 14 inch PC laptop."
[tmux]: https://sourceforge.net/projects/tmux.mirror/ "A terminal multiplexer, similar to screen."
[v1-qmk]: https://www.keychron.com/products/keychron-v1-qmk-via-custom-mechanical-keyboard "A customisable mechanical keyboard."
[visual-studio-code]: https://code.visualstudio.com/ "A development IDE."
[wh-1000xm5]: https://www.sony.com/electronics/headband-headphones/wh-1000xm5 "On-ear headphones."
Binary file added static/images/interviews/james.turk/portrait.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit d659167

Please sign in to comment.