Hey everyone, I just released my first Julia package, SnakeBar.jl – a progress bar that draws a random space-filling curve per process in your terminal! Any comments are appreciated! Happy Halloween!

Community reactions
“This is beautiful and horrifying all at the same time.” — u/paperclipgrove
“Totally silly — have my enthusiastic upvote.” — u/HommeMusical
“Do you just enjoy doing convoluted stuff? If you do, you must be having a good time. :-)” — u/Ok-Secret5233
“I’m going to use this in my thesis work to give the next grad student an aneurism when they try to understand my code. God I love this.” — u/AAaaAAAAAAAaAA-a
43 Likes
This is what Julia was meant for. 
In all honesty, this is super fun! I downloaded it, works great, and I love seeing fun Julia packages like this! Some questions:
- Are you going to try to use the new app system in Julia to turn this into an app?
- How does the pathing work? It’s really slick!
Keep up the great work!
~ tcp 
11 Likes
I’m so flattered
Never had a meme made of one of my projects before.
- I didn’t know about the new app system, but yeah, absolutely! Would be nice to have this as a terminal standalone.
- It’s based on Claudio Esperança’s implementation of this paper: Dafner, Revital, Daniel Cohen-Or, and Yossi Matias. “Context-based space filling curves.” Computer Graphics Forum. Vol. 19. No. 3. Oxford, UK and Boston, USA: Blackwell Publishers Ltd, 2000. As I understand it: The algorithm first grows a random maze (a tree) that touches every cell exactly once; no loops (via depth-first). Then it traces around the walls of that maze on a finer grid, turning the tree’s edges into a smooth single loop that passes through every cell once. The random neighbor order and start point make each run unique.
8 Likes