Hackathons for JuliaCon

The last day of JuliaCon is traditionally designated as the hackathon. This year, its on Saturday, the 11th of August.

Most years, this has been a very informal affair, with people self organising into groups, and working on some common interests.

For this year, we want to experiment with adding a little bit more structure. We’re considering announcing some themes that people can plan around, and asking if some of you might want to organise and lead some groups.

So please let me know, either on this thread, or privately, any ideas for hackathon topics. Would you be willing to lead/organise it? Would you be willing to participate? Leading it only means being present on the day, and starting the discussion. We still want things to relatively informal, so no project plans or exercises are necessary.

Some potential topics might be:

  • Upgrade your package to 1.0 - a - thon
  • Fixing a few beginner level issues in Julia.
  • Create model zoo examples for Flux
  • Create IO wrappers for certain filetypes

This might be a good opportunity to mark some issues in your packages as suitable for beginners, and recruit some developers to work on it during the day.

We will have quite a lot of space this year in multiple locations, so we can accommodate plenty of ideas.

10 Likes

One based on DiffEq will be happening. I know that I have plans to do some things with @dlfivefifty, Hilding of Modia.jl, etc. (more around PDEs and parameter estimation, and then there’s the GSoC students!) so we might as well be in a room.

Github specifically flags “help wanted” and “good first issue”, so those should probably be used.

Given the audience, I would be surprised if JuMP / optimization wasn’t another big topic. Maybe just a scientific computing room would be good.

6 Likes

I would like to work on REPL stuff.

Some examples:

  • a tab completion TerminalMenu was proposed here
  • the history could be improved:
    • Don’t show the same entry twice (Issue)
    • Use a TerminalMenu to replicate something similar to the matlab command history
  • TerminalMenus could be improved
    • Allow multi column menus
    • Allow multi-row entrys in a menu, for example to choose between several UnicodePlots (think LossFunctions.jl)
    • Muli-Level menus
    • also see this post by @pfitzseb https://global.discourse-cdn.com/julialang/original/2X/2/253538c326097a1ff69bf1489fdaa1903c1563ab.gif
  • ProgressMeter.jl could be used in more places e.g. Optim
  • I recently published REPLTetris and REPLGameOfLife - it would be nice to build a REPLGamesBase package which provides drawing and key-input with an easy to use API for simple games
    • I would also like to build some more REPLGames, e.g. Pong, Pacman, etc.
  • UnicodePlots could be updated to allow animations. I have made some proof of concept with the Braille Canvas with differential updates in REPLGameOfLife.
  • all this should consider LineEdit.jl and Terminals.jl from stdlib/REPL
    • what can be reused
    • what can be improved

I think some of these tasks have a low entry barrier and may be suited for beginners.

I don’t quite feel like hosting a hackathon, but perhaps @kristoffer.carlsson may be a good host?

5 Likes

Two ideas to throw out there:

  • A “Real” web framework hackathon. HTTP.jl goes a long way, but there’s a large number of developers out there who are used to tools like Rails, Django, and Meteor who might be turned off as soon as they don’t find something as simple as http new my_app. One can argue whether or not this is a target audience for Julia (right now), but regardless I think there are ancillary benefits to simplifying the “Getting Started” process. Also, I’d love to have something like the rails command, but integrated at the REPL level (much like Pkg3.jl is to Ruby’s Bundler) to show off the power of Julia’s REPL-driven development capabilities.

  • A JuliaIO/formats hackathon. For a while now I’ve promised to help out with adding Bio-Formats support to facilitate the usage of more biological imaging formats in Julia, but I’ve never managed to set aside enough time. I think it would be fun to have a hackathon where everyone brings their particular image/video/audio/etc. file format that they’ve had trouble using in Julia and we can all hack on codec/readers for FileIO and friends.

1 Like

All good ideas, but…

… have you seen Genie? GitHub - GenieFramework/Genie.jl: 🧞The highly productive Julia web framework

1 Like

Heh…not only have I seen it, I actually stared it on GitHub when it first came out. I’m not saying there aren’t already some very good starts at a general-purpose web framework for Julia, but I think it’s safe to say that none yet have reached the capabilities of Rails/Django/Meteor/etc. That’s why I suggested a hackathon: get a bunch of people, who are interested in seeing something like this, all work on adding features together in one place!

1 Like

Unfortunately, none of the core JuMP developers are attending this year’s JuliaCon. (Although Juan Pablo will be giving a tutorial.) However, we recently held a well attended workshop, and progress is being made regarding the upcoming transition to MathOptInterface. You can read more about the transition here.

if @ZacLN,
or someone else familiar with CSTParser.jl,
were willing to host it,
A “make more refactorings” topic would be neat.
Thought it might require too much knowledge.

The feature I miss most from my days as a C# developer using visual studio (sometimes with Resharper),
is not the debugger,
but the refactoring tools. Things like “Extract Method from selection”

3 Likes

I am going to be offering a “help desk” for Revise and Rebugger. Tried one or both and encountered a problem? Never tried it but curious, and want someone to hold your hand through first usage? Come grab me.

Here at JuliaCon I’ve become aware of the fact that different platforms offer differing qualities of experience, and the hackathon might be a great chance to iron out problems.

7 Likes

If anyone is working on documentation for julia or a package, please come find me if you have any questions about the documentations system and Documenter.

I am also basically fluent in Pkg, so if Kristoffer is busy, I can probably help you out with that too!

Happy Hackathon!

3 Likes