|arXiv author id||rueden_c_1|
What is Curtis working on?
Here is a summary of my current projects, in priority order. (Last updated: 2020-May-01)
- pom-scijava 29.0.0 release.
- LOCI web server downsizing. Retiring and migrating services.
- Update Fiji distribution to use JBRSDK8 version of Java.
- PyImageJ 1.0.0 bug-fixes + release.
- Reconcile latest ImageJ 1.x version with ImageJ2 patching logic (imagej/ij1-patcher#47)
- JPMS/Jigsaw modularization. (scijava/incubator)
- Document community expectations. Formally define and clarify who is responsible for maintaining which plugins, to what extents (Project developer roles, ctrueden/ctr-scripts:dev-find, fiji/fiji:bin/team-hints.perl)
- ImageJ + Java 8. Complete the migration to Java 8 with a Java-6-compatible stub classpath that checks your Java version and tells you how to upgrade to Java 8 if needed. Retire the Java-8 update site, distributing its contents back onto the ImageJ and Fiji update sites.
- 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)
- 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)
- SCIFIO blockization. (scifio/scifio#283)
- ImageJ Launcher. Switch to a JavaFX-based native launcher. Retire the current ImageJ Launcher. (imagej/imagej-launcher#33)
I am fully committed to all of the above projects. They are driven by me, making progress only when I directly work on them.
I am also coordinating and/or leading and/or advising and/or helping with, but not sole implementer for, the following additional projects:
- (with Dasong Gao) FLIMJ.
- (with Gabriel Selzer) SciJava Ops (scijava/scijava-ops) and ImageJ Ops.
- (with Edward Evans) New ImageJ web site. (imagej/imagej.github.io)
- (with Ellen Dobson) Coloc 2 algorithms in ImageJ Ops.
- (with Kyle Harrington and Ulrik Günther) ImageJ in 3D. Unification of ImageJ 3D visualization efforts around SciView.
- (with Tobias Pietzsch) Visualization of big data. Unification of visualization in general around the BigDataViewer. (imagej/imagej-common#66)
Finally, I have the following continuous priorities:
- Mentoring student programmers at LOCI
- Coordinating programming efforts at LOCI
- User support – questions on the Image.sc Forum, bug reports, pull requests, email
- Server maintenance and troubleshooting
- Project management tasks (e.g., managing issues)
On average, I spend ~0-2 hours per day on my primary projects above. The rest is spent on these constant priorities.
Recommended development tools
So you want to be an effective software developer? Use tools!
|Eclipse|| Super powerful
||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:
|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|