I was just curious as to what use Julia has found so far outside of technical computing and powering static site generators. After all, it’s a general-purpose programming language, so I’d imagine it would have found use in all sorts of weird and wonderful places.
I’ve done lots of puzzle-related work in Julia, mostly for the MIT Mystery Hunt. Not all of it is online (there are a lot of one-off scripts or notebooks), but a few things have been promoted to actual project status:
- https://github.com/rdeits/CrypticCrosswords.jl (cryptic crossword clue solver)
- https://github.com/rdeits/Collective.jl (automatic identification of interesting features in groups of words)
- The 2018 puzzle 33 RPM and its sequel Mix Tape were both constructed in Julia, as was the All Spark metapuzzle.
I’ve also done a few other things semi-recently:
- Oscilloscope music decoder: http://blog.robindeits.com/2020/06/07/oscilloscope-music/
- Trivia game: https://github.com/rdeits/Trivia.jl
And I’m working on replicating the beautiful data visualizations from https://www.instagram.com/theozonelab/ in Julia–I’ll release the code on github just as soon as I get around to it…
Cool! Are you splitting each cell when the stddev of the pixel values within the cell is above some decreasing threshold?
something like that - but it was three years ago now
It’s not only used for technical computing, it’s also used for quantum computers and for quantum annealers.
The case studies are interesting:
My favorite is humanoid robots (yes, research, only simulation, still real-time), but “High school math teacher uses Julia to solve Silicon Valley cryptography stumper” [“was unsolved for nearly five years”] also interesting.
There “Voxel8 is using Julia for 3D printing” is interesting, as the first company to use Julia (that I know of), while you could call it technical? And space planning, and FAA work etc. I had missed out on the drone delivery company/case study:
Zipline’s mission is to ‘provide every human on Earth with instant access to vital medical supplies’ – including blood, plasma and medicine. […]
They’ve done it more than 30,000 times already.
That one is maybe pure “software” (not technical in some sense, while I see “unsupervised machine learning” used?):
Zebrium is a software company that has built the industry’s first Dev/Test Forensics platform. The Zebrium platform helps to automatically detect, triage and speed-up the resolution of failures that occur during the Dev/Test cycle. This can shorten CI/CD cycles
“quantitative finance library QuantLib” (a port, not a wrapper), see some of the finance companies using Julia in the case studies (including very big ones, Blackrock, not sure which uses this (or other related Julia) library/ies):
https://github.com/lanl/Origami.jl “with a D-Wave quantum annealer”
This package is part of the Hybrid Quantum-Classical Computing suite
FYI: There are quantum computers (still not practical), and I’m not sure Julia has run on them (only simulating them/quantum computation, with state-of-the art Julia libraries) and quantum annealers are a different kind, and I understand they provide a useful speedup for companies to invest in their use, and I just found Julia libraries for such, while those where made by Triad National Security for the US government, anyone can use, as the license is a “BSD-ish license” https://github.com/lanl/ThreeQ.jl
Probably the most unique application I’ve seen is the Ahorn level editor for the Celeste videogame. It’s written in rather messy and definitely unidiomatic Julia but Julia nonetheless.
Well once you throw away the fun stuff, what more did you expect us to do with Julia?
@fusion809, going to raise your question with another question.
Besides technical computing (which includes ML) and websites (which includes Django), what has Python been used for?
I’ll let this Wikipedia article answer your question https://en.wikipedia.org/wiki/List_of_Python_software.
- Julia has a bunch of IDE’s (Juno, JuliaPro, or w/e the kids are using)
- Testing frameworks – Julia has tests (although I wish you had some more choices)
- Package managers seems like PyPi where Pkg.jl is the obvious replacement
- Applications seems extremely vague. Who here doesn’t make applications?
- Web Apps/Frameworks (already discussed, although you focused on the static sites)
- Video Games. We have those (Tetris included)
- Graphics - we have plots and I think people do some 3d stuff too
- UIFrameworks - this is like Interact.jl? just gui development?
- Science/Mathematical/Numerical packages – these are all covered by technical computing
I guess I don’t know really how to answer it? Yes there are fewer packages, but it seems like all the parties are represented?
edit: also a good list of packages divided by type is svaksha’s decibans
// or juliapackages.com when its back online
Recently I wrote small Julia script, which accept incoming emails, extract necessary information and send it to the telegram. It just happens that I check telegram more frequently than mailbox, so it is convenient.
Who has time and interest to start an Awesome Julia repo?
Ah, there is one!
I guess more info about applications and products would help, the focus is mostly on packages.
I’ve started to use a combination of Julia packages to download remote datasets, extract only the stuff that I want, and save it in the format I prefer. I will probably make this into a cronjob so that it basically becomes a custom local mirror of several different data sources.
Julian version of airflow can be awesome… I guess we need second Airbnb for that, though
r u using DataDeps.jl?
EDIT to add: I’m fully aware that the intention of the thread was well-meaning and not an attempt to imply that Julia’s applicability is not broad enough, but the title was too tempting not to post this!
I fail to see the connection actually…
No. RemoteFiles.jl actually does a lot of the work.
This is the first thing that occurred to me too reading the title, but I managed to resist the templation
Incidentally, I find the title of the post a bit curious — technical computing is a very broad, and static site generators like the excellent Franklin.jl is a single, very narrow (but useful) application for Julia. There are countless examples of the latter, ranging from simple scripts (Julia may not be the ideal choice, but familiarity is handy) to doing cool things with a Raspberry Pi, so it puzzles me why this was singled out.