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

Git

Python 2.7 with pip, virtualenv, and virtualenvwrapper

io.js with nvm

MongoDB

Redis

PostgreSQL

Docker

Sublime Text 3

Google Chrome

Firefox

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.

Distribution

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.

InstallFests

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.

Open Source

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.

Feedback

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.

Sponsor

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.

Update

Just released v1.2.0! Juice Box now has support for Ruby with RVM.