A month ago I decided to take another stab at proposing a solution to allow all of us to keep working on great programming workshops.
Personally, the biggest headache in each and every one of the workshops that I have organized or participated in is the time and effort it takes to configure and setup the attendees’ computers. This results in attendees and instructors loosing valuable time that can be spent actually sharing knowledge. Various other people have shared the same worries and feelings about this, so might as well try and do something about it.
Juice Box is virtual machine with a common environment that every workshop attendee can download and use before ever getting to the actual workshop.
What’s installed by default in Juice Box
- Python 2.7 with pip, virtualenv, and virtualenvwrapper
- io.js with nvm
- Sublime Text 3
- Google Chrome
What this project is trying to accomplish
- Provide the most simple instructions possible so that attendees at every level can get started easily.
- Reduce the need of a great network connection during the event.
- Guarantee that all attendees have the same environment, tools and applications, making the process easier for all.
- Reuse the same virtual machine between different groups and workshops.
We built OVA files for Juice Box which allows us to simply distribute one file that contains the virtual machine. This file can be imported to VirtualBox with few clicks. We’ll be building and uploading each release so attendees can just download the resulting OVA file. We’ve optimized the size of this file to achieve the smallest size possible but I’m sure it could be better. It’s smaller than an MP4 movie “shared” on TPB. Organizers might now require attendees to bring their Juice Box already downloaded and imported. Obviously, we might still have users that couldn’t download it, so just have a few USB flash drives with VirtualBox downloads for different operating systems and Juice Box’s OVA file.
Technical workshops shouldn’t be about installing a development environment in Linux, Windows, OS X, or whatever else. Unless that’s what they are about, this takes way to much time from everyone and it’s a pain. I propose that we organize InstallFests, events that are specific to helping users install development environments into their preferred operating system.
Juice Box is completely open source under The MIT License and everything used to create the virtual machine is available on GitHub. If you’re a workshop organizer, make sure you “watch” the repository, this way you’ll get notified of new releases.
Go download Juice Box and try it out out. This project might not be the best or correct solution, but it’s a start. Thanks to everyone that has already provided feedback. I’d love keep the conversation going and to have more feedback on this, wether you’re a workshop organizer or usually an attendee.
This project is sponsored by Blimp, a software products design and development agency. Blimp also organizes community workshops like Ember.js Puerto Rico and private trainings.
Logo by Jomarie Alvelo. Website and design by Giovanni Collazo.
Just released v1.2.0! Juice Box now has support for Ruby with RVM.