Hackathon Projects for JuliaCon 2024

This year the hackathon will take place in the iconic Grand Cafe De Lichttoren on Saturday, July 13th. Here you can chat with the friends you made during the previous days of JuliaCon, while in the meantime solving problem of package developers.

I’m working on creating content to explain the hackathon at Hackathon .

Help us to brainstorm ideas for JuliaCon 2024 Hackathon projects.

Here are a few I came up with:

  • Implement and test compression for interoperability between JLD.jl, JLD2.jl, HDF5.jl, and Zarr.jl (Mark Kittisopikul)
  • Make Zarr.jl compatible with Zarr version 3 or create a Zarr3.jl (Mark Kittisopikul)
  • Create a tarball or zip archive format to aid in Julia package distribution (Mark Kittisopikul)
  • Create extension packages to integrate Images.jl with Makie.jl (Mark Kittisopikul)
  • Update Napari.jl to work with PythonCall.jl, integrate IJulia into the Napari console (Mark Kittisopikul)
  • Create an ImageJ.jl package via JavaCall.jl for ImageJ and Julia interoperation. (Mark Kittisopikul)
11 Likes

For AppBundler.jl, there are a few things that can be done:

  • Writing a GitHub action that automatically bundles applications when a new app version is tagged;
  • Exploring the possibility of starting Julia in a Windows sandboxed environment by loading each dependency explicitly issue #52007;
  • Making a flatpack recipe;
  • Adding a PackageCompiler support for postprocessing the application bundles.

Then there are issues such as QML issue #191, which could be done if one has an insight. Another is understanding why MacOS apps, when sandboxing is enabled, are frozen to input and what can be done about that.

1 Like

Hi everyone !
From the JuliaHealth land below are the potential topic we currently have:

1 Like

I have a few ideas in connection with JuliaDiff and SciML, more specifically around DifferentiationInterface.jl and its sibling packages or dependents:

4 Likes

I have a few ideas regarding a Hackathon

  • Sleep apnea detector
  • Datatips (like matlab has) for Makie
  • something using Mousetrap.jl

I started working on the first one in between projects, before I got sidetracked. This is based on this technology. I am not sure what happened to it as the Bresotec website is no longer active. The idea here is to listen to breathing by placing a low power MEMS microphone near the mouth for the night and record to a SD card. Possibly include humidity and other parameters that can be useful to determine if the sleeping person is breathing. At the time I selected the Dragonfly as a low power embedded computer with a microphone attached. This uses the Arduino IDE, so is open source but not Julia. We would need to check if it is still available. Then I thought that an algorithm could be developed to determine if breathing had stopped. The techniques may be similar to EEG/ECG processing and it seems there is expertise in the Julia community for this aspect. I have not given this part much thought.

When writing a report showing a figure containing a spectrum, I often want to show the frequency and magnitude of a frequency line in the spectrum. Matlab has its datatips for this. In Matlab it shows the nearest point on an existing line in the figure. I would like to be able to do this with Makie, though showing the current curser position would be a great start.

Mousetrap.jl appears to be a nice way to create a GUI for Julia. A nice example using its functionality would be interesting. Perhaps using it to create a table and plotting the points created in real time. Then for additional snazziness, use the mouse to move a plotted point and update the coordinates in the table.

2 Likes

SciML has a ton of small grants proposals projects already setup, and getting started on those would be great hackathon topics! See the current projects list:

These are great projects. Always happy to help.

Adding more benchmarks to track on SciMLBenchmarks always helps! It requires no background in package development to add benchmarks so it has a very easy on-ramp, just some code that is interesting to differentiate! And I can share many examples!

2 Likes

I hope to find some people to work on or with BestieTemplate.jl. Some of the possible tasks:

  • We help you update your package;
  • You help us by giving feedback on the process;
  • Discussing best practices.

@gdalle I can try to help with ADNLPModels but I am out of touch with the code.

3 Likes

In all honesty I am hoping people will be super motivated to work on docs throughout ecosystems after our Documentation workshop! :smiley:

There are also many things one can do in JuliaDynamics land, for example ComplexityMeasures.jl has many issues that are low complexity (pun NOT intended) and people can get started with implementing algorithms for timeseries analysis. Improving tests is another thing that is (perhaps) beginner friendly. ChaosTools.jl and Attractors.jl are two packages of the org that could benefit from that. Personally I will probably be working on Attractors.jl implementing a new global continuation method based on a Newton algorithm and interval root finding.

3 Likes

JuliaGeo has quite a few possible listed in a dedicated JuliaCon project, which would be really cool to implement (and shouldn’t take much time!). There are even a few documentation based projects which wouldn’t require any deep knowledge.

It’s also a great way for people to get familiar with the internals of the JuliaGeo/GeoInterface.jl ecosystem, as well as the new package GeometryOps.jl for native Julia geospatial processing!

If you aren’t familiar with the ecosystem, JuliaGeo is a Julia organization looking at geospatial data reading, writing and processing!

Some of the more interesting issues include:

Find any of us at or before the hackathon to discuss:
@visr @evetion @Raf @asinghvi17 (and quite a few others from JuliaGeo - ping me if you’d like to be added here!)

2 Likes

@asinghvi17 – cartoplots hackathon mini-project? :thinking:

Pretty doable I’d say, probably as a separate file/repo though. I may not have the time to contribute code but I can definitely offer advice!

For context: we’re looking at creating cartograms like the New York Times olympic medal visualization as well as things that would result from that. Hacking on this probably needs a decent familiarity with Makie, but the geospatial stuff is quite straightforward.

2 Likes

For Makie there is the DataInspector that should go a long way of what you want there.

2 Likes

For BifurcationKit.jl and more generally for the organization bifurcationkit, there are several things that can be done:

  • add Plots.jl, JLD2 and Makie as external dependencies. Right now, in BifurcationKit.jl, we use the old Requires.jl
  • complete the python wrapper bifurcationkitpy to BifurcationKit.jl which is only in its infancy for now
  • collect the docs for the different subpackage listed in bifurcationkit in a single place like SciML does here albeit for a much larger organisation than mine :smiley:
  • make a GUI for BifurcationKit.jl so that the users do not have to code much to compute bifurcation diagrams. A proof of concept would be very nice.

Do you have a gif or sketch of what that GUI would look like? (Or some pre-existing code)

No!

I envision to plot the first plot of 🟢 Neural mass equation · Bifurcation Analysis in Julia

There should be a way to tune the parameters of ContinuationPar

There were an online tool for simulating ODE but I can’t find it… @ChrisRackauckas ?

It was taken down in like… 2018

The Flexible Image Transport System (FITS) file format is the standard data format for astronomy. In order to reduce the size of astronomical images obtained from large digital cameras (~gigapixels), data compression is used; specifically, Rice, gzip, PLIO, and Haar compression. Currently, there are no Julia versions of the Rice, PLIO, and Haar compression algorithms. Therefore, the FITS.jl package currently does not have this capability.

I propose implementing these general purpose compression algorithms to support FITS.jl and satellite data transmission in general.

6 Likes

If anyone is interested in hacking on GenAI projects, I’ll be around!

My few ideas would be:

  • Implement length-adjusted similarity for SemanticCaches.jl - because cosine distance doesn’t work well across things of different length, let’s tweak it
  • Writing a few hacky parsers for common text formats (PPTX, DOCX). We can use Python packages and Java packages, but it can fail so often! I wanted to hack up RAG of my friend’s local file and failed hard because of these other languages – if we had something native, we could build such apps in 30mins!
  • Integrating Cohere Command R model to PromptingTools.jl
  • Add latent-style-like transformations to LLMTextAnalysis.jl to provide topic stability over time

and more… Talk to me :slight_smile:
Also, I’ll be on Slack in the #generativeai channel if you want to join remotely.

EDIT:

  • Based on Sixzero’s post on Slack, let’s make some code editing tooling (diffing, application of code suggestions, etc)

I would love to work on symbolic methods for checking ODE properties. I am thinking of implementing some functionality to transform an invariance formula into a formula in first-order real arithmetic.
If you want to know more about this, just come talk to me :slight_smile:.

For anybody not started with a project yet. We came up with an idea for the mentorship program during the diversity dinner. If you’d like to help set up some educational resources for helping Julians go from scripting to package developer/contributor please contact me (online, I’m not actually at the hackathon). More details in the proposal

1 Like