When we were planning the Visibility Jam earlier this year, we expected it to be a small secondary jam to complement our yearly Wheel Reinvention Jam. We weren't sure if a community of primarily low-level programmers would be interested in a jam focused on visibility and visualization.
But we had no reason to be worried! We had an amazing turnout, with 23 fantastic submissions exploring a wide variety of topics.
While we're not declaring official “winners” for this jam, we wanted to take the time to highlight some of our favorite submissions, and what made them stand out.
REDE - an IDE for regular expressions
REDE is easily the most visually striking project from this jam, and simultaneously very informative. There are other tools out there to visualize the structure of regular expressions, but REDE goes a step further, showing the actual NFA structure and how it gets executed. The result is useful to a wide audience - both beginners unfamiliar with the structure of regular expressions, and developers who know regular expressions but didn't actually know how they get executed.
And the particles, man! How can you not love the particles?
PNG Chunk Explorer
This is a great project that not only shows you the structure of a PNG file, but teaches you in the process. This project puts the familiar hex view alongside a nested description of the format's structure, explaining the purpose of each section and linking to the spec in the process.
It also parses each section and tailors the description to your specific image. The result is far richer than a simple hex viewer and far more more educational than a spec or an explainer article. I love the result and I would love to see this expanded in the future with even more features and to more formats!
Since this is a web app, you can play with it right now, and I recommend that you do.
String Memory Visualizer
This is exactly the kind of project we had in mind when we conceived of this jam. Take the time to make your program's behavior visible, and you can learn so much about it!
I'd love to see features like this become commonplace in developer tooling. Lots of programmers would benefit if they could actually see what was going on under the hood of the frameworks, editors, you name it.
ExpertMemer - EXPERimenTal MEMory access visualizER
Obviously this project has a great name, but it's also a great idea and an impressive result given the short timeframe of this jam. This project visualizes approximate memory cache usage by dynamically instrumenting applications, tracking their memory accesses, and displaying how those memory accesses hit the L1 cache over time.
This is exactly the kind of visualization we need in order for programmers to understand and take advantage of their computer's hardware. I'd love to see more examples of different memory access patterns - it would be amazing to visually see cache thrashing instead of just tracking some boring numbers.
Escape Artist - Terminal escape code visualizer
This is one of the most literal entries in the jam and I love it. It makes those pesky invisible characters in your terminal visible. And not only can you use your terminal as normal, it even works in real time, so it really works as a “view source”.
Even though this was done in a weekend, it's already a legitimately useful project that I will probably use myself next time I have to work with color codes.
This project is only obliquely related to the jam topic, but the results are so good that we just have to highlight it. The author, abec, has been working on a version control system called Darke, and his project explores how diff tools could work if they understood code instead of just text.
The project submission has a fantastic writeup of the motivation, techniques used, and the end result. This is a very valuable exploration of a difficult problem, and I hope that he and others can take it further in the future and make code-aware diff tools a viable option for all of us.
We on the admin team were just blown away by the success of this jam. We're so glad you all enjoyed the topic, and we're always amazed by the work this community can achieve in such a short time. Name me one other group of programmers creating new UIs for terminals or regex engines with particle effects!
These are just six of the 23 submissions we received. I strongly encourage you to check them all out on the jam feed.
Thanks everyone for participating, and I hope we see you again this fall for the Wheel Reinvention Jam!