Page history Edit this page How do I edit this website?

Curtis Rueden

Curtis Rueden directs the software development efforts of LOCI. He is the principal architect of ImageJ2, and the current maintainer of the Fiji distribution of ImageJ.

What is Curtis working on?

Immediate priorities

Last updated: 2021-Jun-09

  1. [Summer 2021] ImageJ and Fiji component updates.
  2. [Summer 2021] (with Edward Evans and Mark Hiner) PyImageJ paper. (roadmap)
  3. [Fall 2021] (with Gabriel Selzer and Mark Hiner) SciJava Ops + ImageJ Ops2 (roadmap), including JPMS/Jigsaw modularization and migration of SciJava foundational libraries to Java 11.
  4. [Winter 2021] Maven-based ImageJ Launcher. And migrate ImageJ and Fiji to ship with Java 11. Use a Java-6-compatible stub classpath that checks your Java version and tells you how to upgrade to Java 11 if needed. Retire the Java-8 update site, using Maven coordinates instead.

Medium-term priorities

  1. GitHub issue reporting plugin. The Fiji BugZilla and ImageJ Trac are now static content only. The Report a Bug plugin needs to send reports to GitHub instead. (scijava/scijava-plugins-issues-github)
  2. Integrate PyImageJ with the ImageJ launcher.

Longer-term priorities

  1. Rich Image. Improve the ImageJ Common data model to support metadata (e.g., spatial transformations) as a first-class citizen. (imagej/imagej-common@rich, imagej/janelia-hackathon-2016)
  2. SCIFIO blockization. (scifio/scifio#283)
  3. ImageJ Launcher. Switch to a JavaFX-based native launcher. Retire the current ImageJ Launcher. (imagej/imagej-launcher#33)
  4. ImageJ Electron app. Shared memory between Java, JavaScript and Python. (imagej/imagej-electron-app)

Constant priorities

I also have the following continuous priorities:

  1. Project management tasks (e.g., managing issues)
  2. Coordinating efforts and mentoring programmers at LOCI
  3. Server maintenance and troubleshooting
  4. User support: questions on the Forum, bug reports, pull requests, email

So you want to be an effective software developer? Use tools!

Tool Purpose Plugins
Eclipse Super powerful
  • Essential for navigation of large projects
  • Supreme code completion
  • Super useful debugger
Vrapper Vim-fu inside Eclipse – almost as good as the real thing
Enhanced Class Decompiler Automatic decompilation when browsing classes in Eclipse
Vim Great editor. Crazy fast macros Vundle Manage your vim plugins like a boss
vim-sensible Defaults everyone can agree on
vim-airline Lean & mean status/tabline that's light as air
vim-fugitive A Git wrapper so awesome, it should be illegal
vim-repeat Repeating supported plugin maps with "."
vim-surround Quoting/parenthesizing made simple
See also my .vimrc
Zsh Awesome shell – even better than bash zgen Lightweight plugin manager
oh-my-zsh Your terminal never felt this good before:
  • git - awesome git completion and aliases
  • mvn - mvn completion, highlighting, aliases
  • vi-mode - vi on the CLI
  • vundle - manage your vim plugins
  • z - stop cding your life away
  • And much more
zsh-syntax-highlighting Syntax highlights commands as you type them
zsh-history-substring-search Better command history navigation
zsh-completion Even more and better tab completions
See also my .zshrc
Git It is worth the pain, I promise myrepos Commit, push & pull across repositories en masse
See also my .gitconfig
GitHub If you don't have a GitHub account, you don't exist
Maven Build reusable software components

See also: