Hi all,
 * Host an online workshop / office hours
Another alternative Sam has suggested which I like is instead
to host office hours in IRC or G+ or something with video.

I think this could be pretty useful on something like a every few months timescale, or more frequent if they are found to be productive.  If we combined G+ Hangouts (since nearly everyone has gmail) with a code sharing program like http://collabedit.com/ or http://codr.cc/ we could have a developer or two hang out and be available to chat with new/old users about any issues.  I think just publicizing that we'll be hanging out through the yt-users list a few days ahead of time would do the trick.  Anyways, this is a pretty low maintenance option that would allow "face-to-face" interaction with new users.

As for the physical meeting, I think it would be great to have and advertise to not only the people who are already on the yt-users list but also to people on the teragrid/XSEDE that don't know that they should be interested in yt.  

However, one of the big questions that has come up with respect to a
physical workshop is: what would we talk about?  I scribbled out a few
items this morning that I think could fill a goodly amount of time,
which I have included below.  My feeling from talking to others is
that for it to be useful, we would need both beginner and advanced
topics.  My list is at the bottom of this email -- after writing this
out I kind of came around and felt like there is enough material to
fill up a few sessions.

Anyway, I'd like to solicit some thoughts on this.  Pretty much it
comes down to:

1a) Physical (likely spring), virtual (anytime) or no workshop?
1b) If Physical, where?  (Specifically, which institutions or regions
would you prefer, and could you volunteer your location?)
2) What do you think of the pseudo-agenda below?

One last item is that I was the most skeptical about the feasibility
of a workshop, and I have been brought around by other developers --
who have impressed upon me that not only could we do this, we really
*ought* to do it.  If not now, at some point in the future.

Thanks everyone,


* Agenda Ideas *

= Using yt =

- Introduction to yt -
Jargon and terminology
How to start up
How to write a script
How to examine a simulation's characteristics
Examining individual grids
Command-line tool

- Data handling in yt -
How to think of data objects in yt
What is a field? (also: my_plugins.py)
Basics of select/instantiating a data object
How to call and use a derived quantity
What DQs and DOs are available?
Phase plots (1-, 2-, 3-D)

- Visualizing data -
Projections, slices, and plot modifications
Raw, stripped down plot objects
Manually plotting data

- Advanced data objects -
Accessing attributes of data objects
Cutting and subselecting data from objects
Creating new data objects
1D and 2D objects
Creating fields
Clump finding
Finding points

- Advanced visualization -
Writing your own plot callback
Fixed resolution buffers

- Volume rendering -
What is "Volume Rendering"?
How to use the camera
How to write a transfer function
Making animations: camera paths and normalization

- Astrophysical Analysis -
Halo finding
Halo analysis / halo profiler
Halo mass functions
Spectral energy distribution
Star particle analysis
Absorption spectra

- Large data analysis -
How to run in parallel
What kind of datasets work well with parallelism?
Do's and don'ts of parallel analysis
Distributing work

- Time series analysis -
Full simulation
Analysis objects
Multi-level Parallelism

- Reason -
How to use reason
How does reason work
Advanced features

= Advanced yt + Developing yt =

- Overview of the yt community -
Communication channels
Source control

- Mercurial -
What is version control?
What is distributed version control?
What's a DAG?

- Contributing changes -
How to commit, share, and notify
What to expect when you contribute

- The yt testing system -
How to write a test
How do tests get run?
What does it mean to 'pass' a test?

- How to write a code frontend -
What does yt expect from a simulation output format?
What is necessary / expected
Simple prototyping
How to construct the necessary source files

- Fast code and Cython -
What is Cython?
How do I compile and run Cython code?
How to speed it up

- Writing parallel code -
How does yt use parallelism?
What routines are available for parallelism?
How to debug parallel code

- Interfacing with external code -
Raw C api
Exporting data objects
Cython for easy API usage

- yt internals -
Parameter file storage and pickling
Idiomatic yt

On Mon, Aug 15, 2011 at 3:03 PM, Stephen Skory <s@skory.us> wrote:
> Hi All,
> I would be interested in a yt workshop. If it's combined with the Enzo
> workshop this fall, it would reduce the number of plane tickets. If we
> wait until spring, it would be even easier for me, as we are thinking
> about hosting that edition of Enzo workshop here at CU (unless someone
> else steps forward with more enthusiasm and money).
> --
> Stephen Skory
> s@skory.us
> http://stephenskory.com/
> 510.621.3687 (google voice)
> _______________________________________________
> Yt-dev mailing list
> Yt-dev@lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
Yt-dev mailing list