I think it would be good to start a repository of small examples that highlight Julia’s strengths, which could be pulled for use in outreach talks or browsed online.
For example, in my Why Julia? talk I use an example from @andreasnoack of linear algebra over a Galois field. It illustrates how to define a new numeric type, in about twenty lines of code using metaprogramming, and then how Julia’s standard linear algebra libraries “just work” when applied to matrices over that type.
I never would have cooked up this example myself, but it’s just terrific for showing how easy extensibility is in Julia. It would be really cool to have a collection of such examples highlighting different strengths.
What’s the right technology for this? A github repository of Julia notebooks, each a single annotated example? A list of links to things posted elsewhere?
I think this is a great idea. Personally I like the idea of a few Literate.jl files in a Github repo that can generate notebooks or source files as desired. That way everything plays nicely with git.
This is great! I don’t see why one should use Literate instead of a notebook directly though… The added complexity does not really offer something to new users which are totally clueless about what Literate.jl does.
In my eyes the best approach is a big README with a linked table of contents, then giving a small paragraph for each subsequent notebook present in the folder notebooks. Then, fill this folder up with Jupyters each showing a concrete and self-contained example!
I would very much like to contribute to this, but at the moment Jupyter doesn’t run on Windows with julia 1.0, so I’ll be late to the party…
I’d say that a plain .jl file, e.g., Literate, is best simply because of the issue you mentioned. I can open a .jl with any text editor and see what is going on.
That said, I’d probably have a folder of pre-generated notebooks available for new users.