the yt project
play

The yt Project: Growing & Engaging a Community of Practice - PowerPoint PPT Presentation

The yt Project: Growing & Engaging a Community of Practice Matthew Turk Columbia University What is yt? astro-ph/1011.3514 astro-ph/1112.4482 yt-project.org yt is a platform for analysis and visualization of astrophysical* simulations


  1. The yt Project: Growing & Engaging a Community of Practice Matthew Turk Columbia University

  2. What is yt?

  3. astro-ph/1011.3514 astro-ph/1112.4482 yt-project.org

  4. yt is a platform for analysis and visualization of astrophysical* simulations

  5. install script: Full dependency stack Source code Development environment GUI Sample data

  6. There are many simulation codes.

  7. There are many simulation codes, but there’s only one sky.

  8. data structures, methods, assumptions, IO formats, units, variable names, ...

  9. Fully-Supported Semi-Supported In-Progress Enzo Chombo Cactus FLASH Athena Hydra Orion ART Gadget Nyx RAMSES Uniform Data GDF Piernik

  10. yt is designed to address physical, not computational, entities and questions.

  11. Orthogonal Rays 1D Non-orthogonal Rays Slices Oblique Slices 2D Projections Spheres Rectangular Prisms Disks/Cylinders Inclined Boxes 3D Clumps Extracted Regions Ellipsoids

  12. Scripting interface, HTML5 GUI, in-situ processing, transparent multi-level parallelism...

  13. yt is supposed to get out of the way.

  14. from yt.mods import * pf = load(’galaxy0030/galaxy0030’) p = SlicePlot(pf, 2, ’Density’, ’c’, (200,’kpc’)) p.save(’Galaxy’)

  15. 10 -12 g/cc

  16. C.B. Hummels et al. 6

  17. Canned Analysis Tasks

  18. Absorption Spectrum Coordinate Transformations Halo Finding Mass Functions Merger Trees Halo Profiling Level Sets Light Cones Light Rays Time Series Star Analysis Two-Point Analysis

  19. “Community”?

  20. Traditional View “Users” “Developers”

  21. Most Scientific Software “Users” “Developers”

  22. Community of Practice “Devusers”

  23. “Developers”

  24. “Developers” Inspection and verification

  25. “Developers” Inspection and verification Tracking modifications

  26. “Developers” Inspection and verification Tracking modifications Sharing information

  27. “Developers” Inspection and verification Tracking modifications Sharing information Adding functionality

  28. “Developers” Inspection and verification Tracking modifications Sharing information Adding functionality All are necessary characteristics of the scientific process as a whole.

  29. “Users”

  30. “Users” Uncritical acceptance of code...?

  31. “Users” Uncritical acceptance of code...? “These are people we give the code to that don’t care how it works.”

  32. Developing as a Team

  33. Challenges

  34. Reward Structure

  35. de facto and de jure

  36. de facto and de jure • Utilization of developed tools • Respect from community • Project involvements • Invitations to speak

  37. de facto and de jure • Funding • Publications • Citation count • Influence

  38. Traditional astrophysics does not favor tool builders.

  39. Chores

  40. Chores Documentation, testing, outreach, infrastructure.

  41. Tasks not fully-aligned with reward structure goals present great motivational challenges.

  42. Co-opetition

  43. Co-opetition ( ) • Funding • Publications • Citation count • Influence

  44. How developer community engagement -- as seen in cohesion, excitement, energy -- is affected by funded improvements is unclear.

  45. Strategies

  46. The Art of Community by Bacon Producing Open Source Software by Fogel Team Geek by Fitzpatrick & Collins-Sussman Organizing Simulation Code Collectives by Sundberg Scientific Software Production by Howison & Herbsleb

  47. You must design the community you want.

  48. Technical & Social

  49. Technical & Social

  50. SVN hg Users & Repos Users & Repos Repository Users & Repos Users & Repos Users & Repos Users & Users Repos

  51. Forky development: very low barrier to entry; everything comes in the box.

  52. Testing: answer as well as integration tests get run every 30 minutes.

  53. Code review: eyes on (nearly) every changeset mentoring new developers

  54. The path upstream must be obvious.

  55. • Happy application • Itch-scratching • Submission • Code review & mentoring • Participation

  56. Non-core contributed code: a place for sharing scripts, data and images

  57. Communication

  58. Communication All business is conducted openly.

  59. Communication Immediate

  60. 2 Communication Low-Latency

  61. Communication High-Latency

  62. Technical & Social

  63. H R T

  64. Humility R T

  65. Humility Respect T

  66. Humility Respect Trust

  67. Humility Respect Trust (Fitzpatrick & Collins-Sussman)

  68. The most important thing I try to remember is that I want to foster a community of peers, not of elites.

  69. “ I’ve noticed something is acting strangely with ... “

  70. “ I’ve noticed something is acting strangely with ... “ “ You’re probably doing it wrong. “

  71. “ I’ve noticed something is acting strangely with ... “ “ Can you tell us how you would “ expect it to act?

  72. “ I think that there might be a bug in the way ... “

  73. “ I think that there might be a bug in the way ... “ “ It’s like that for very good reasons. “ Don’t touch it.

  74. “ I think that there might be a bug in the way ... “ “ It behaves the way it does “ because ...

  75. Thoughtfulness, inquiry, confidence, letting go.

  76. This culture must be seeded directly.

  77. This culture must be seeded directly, because culture will self-propagate.

  78. letting go

  79. Pride rather than ownership

  80. Projects passing between people

  81. Too much control can smother.

  82. will Too much control can smother.

  83. Successes

  84. Developed by working astrophysicists.

  85. Tom Abel Jean-Claude Passy David Collins Thomas Robitaille Brian Crosby Anna Rosen Andrew Cunningham Anthony Scopatz Nathan Goldbaum Devin Silvia Cameron Hummels Sam Skillman Ji-hoon Kim Stephen Skory Steffen Klemer Britton Smith Kacper Kowalik Geoffrey So Michael Kuhlen Casey Stark Eve Lee Elizabeth Tasker Chris Malone Matthew Turk Chris Moody Rick Wagner Andrew Myers John Wise Jeff Oishi John ZuHone

  86. Tom Abel Jean-Claude Passy David Collins Thomas Robitaille Brian Crosby Anna Rosen Andrew Cunningham Anthony Scopatz Nathan Goldbaum Devin Silvia Cameron Hummels Sam Skillman Ji-hoon Kim Stephen Skory Steffen Klemer Britton Smith Kacper Kowalik Geoffrey So Michael Kuhlen Casey Stark Eve Lee Elizabeth Tasker Chris Malone Matthew Turk Chris Moody Rick Wagner Andrew Myers John Wise Jeff Oishi John ZuHone

Recommend


More recommend