Juice Box

image

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.

Being a self-starter

image

I spent the last 4 and a half years getting my Bachelors degree in Computer Science. Throughout those years I worked on different things ranging from small personal projects, with small to medium size companies, government, and co-founding Blimp. I accomplished all of these because 4 years before I began college I decided to I would self start. By that time I was just learning basic programming. Months after I took that decision, I got my first freelance client, my parents. Yea, whatever, maybe they did it to help me out more than it was for me to help them out.

During the time I was I in college I met a couple of very smart students that were very passionate about programming and creating things. They aced all the exams, handed in all programming exercises on time, helped others out, etc. The only real thing I didn’t really like about college was that none of my professors encouraged them to be a self-starter, autodidact and independent. There’s no reason why you should wait to take class to learn something, specially in computer related degrees. With all the open learning initiatives like Harvard Open Courses, Coursera, Khan Academy, and the million of free resources available online there’s no excuse, you can learn to do whatever you want.

Most of the conversations and encouragement that happened around went like: “When you GRADUATE and go to work at [INSERT COMPANY NAME HERE LIKE MICROSOFT]…”. Not even once did I hear a professors encouraging students to build the next big thing or even something as simple as learn this or that ahead of time before graduating, find a pet project to work on, or hack something useful up.

Being a self-starter comes more naturally to some than to others, but if students were encouraged by professors, government, parents, and society at an early age to do something more than waiting for someone to teach them how to do something or what to do, we would probably have more young doers working on the next big things and taking more risks.

I think many people prefer to work for an established company with a safe salary. You can definitely be a self-starter and still work for an established company and raise to the top rank, there’s nothing wrong with that. Startups and risk is not for for everyone. But like my mom always told me, if you don’t try it you won’t know if you like it. People should at least give it a try, maybe they find a hidden passion and whatever they create or contribute to others might be the next big thing.

</braindump>

Photo Credit D. B. Blas via flickr