Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ruby/RVM installation notes #4

Open
nanoxd opened this issue Sep 18, 2013 · 18 comments
Open

Ruby/RVM installation notes #4

nanoxd opened this issue Sep 18, 2013 · 18 comments

Comments

@nanoxd
Copy link
Contributor

nanoxd commented Sep 18, 2013

Start by installing the following software. Each of these are easy one-click installers:

Xcode
Brew
Textmate or Sublime TODO: Decide which

Brew should not be considered as a one-click installer until after they have installed CLI Tools. It should also go in more detail to teach/verify installation procedures (e.g. brew doctor to verify paths are set, brew install git to teach syntax)

Text Editor: I think Sublime might be a better fit due to it's unlimited free-trial, stable code base (less updates), and extensibility.

@zspencer
Copy link

It's also important to note that Xcode requires you to go in and manually
instal the command line tools after you've installed XCode, and XCodes is
not available for OS X 10.6 or older.

On Wed, Sep 18, 2013 at 7:03 AM, Fernando Paredes
[email protected]:

Start by installing the following software. Each of these are easy
one-click installers:

Xcode
Brew
Textmate or Sublime TODO: Decide which

Brew should not be considered as a one-click installer until after they
have installed CLI Tools. It should also go in more detail to teach/verify
installation procedures (e.g. brew doctor to verify paths are set, brew
install git to teach syntax)

Text Editor: I think Sublime might be a better fit due to it's
unlimited free-trial, stable code base (less updates), and extensibility.


Reply to this email directly or view it on GitHubhttps://github.com//issues/4
.

@nanoxd
Copy link
Contributor Author

nanoxd commented Sep 18, 2013

@zspencer agreed 👍

@ColetteIsabella
Copy link

I think since we have the time, I am a fan of the possibility of having the
first day be an "install day" where more than just download some stuff, we
also have a breakdown of what they do and why one would choose one method
over another. I think for the course, having everyone on roughly the same
page will be important (ie, RVM or RBENV) And Sublime for the reasons
given. An overview of how git vs github work, and the browser to website
connections. These are kind of heady subjects, and exposure on the first
day, or very early, might help clarify some things in the future. The
biggest issues I have run into in early learning have been: What is the
purpose of MVC, what can I do/why would I use RoR, and why use GitHub?
That would be my early suggestion for the start potentially. I have written
up some lesson plans around this which can run in half an hour each or so.
They are not comprehensive, mostly intro, but that seems like it could be
the right way to go for the first day-get your feet wet class.
-Colette

On Wed, Sep 18, 2013 at 11:35 AM, Fernando Paredes <[email protected]

wrote:

@zspencer https://github.com/zspencer agreed [image: 👍]


Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-24688331
.

@zspencer
Copy link

@collete: Those are two really good awesome ideas (Install Days/Why X).
It'd be great to have open issues for each of them so we can contribute
directly to that part of the discussion.

On Wed, Sep 18, 2013 at 11:50 AM, Colette Taylor
[email protected]:

I think since we have the time, I am a fan of the possibility of having
the
first day be an "install day" where more than just download some stuff, we
also have a breakdown of what they do and why one would choose one method
over another. I think for the course, having everyone on roughly the same
page will be important (ie, RVM or RBENV) And Sublime for the reasons
given. An overview of how git vs github work, and the browser to website
connections. These are kind of heady subjects, and exposure on the first
day, or very early, might help clarify some things in the future. The
biggest issues I have run into in early learning have been: What is the
purpose of MVC, what can I do/why would I use RoR, and why use GitHub?
That would be my early suggestion for the start potentially. I have
written
up some lesson plans around this which can run in half an hour each or so.
They are not comprehensive, mostly intro, but that seems like it could be
the right way to go for the first day-get your feet wet class.
-Colette

On Wed, Sep 18, 2013 at 11:35 AM, Fernando Paredes <
[email protected]

wrote:

@zspencer https://github.com/zspencer agreed [image: 👍]


Reply to this email directly or view it on GitHub<
https://github.com/Ada-Developers-Academy/curriculum/issues/4#issuecomment-24688331>

.


Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-24689533
.

@nanoxd
Copy link
Contributor Author

nanoxd commented Sep 18, 2013

@ColetteIsabella @eliseworthy already has a lesson on git in case you want to contribute.

I think since we have the time, I am a fan of the possibility of having the
first day be an "install day" where more than just download some stuff, we
also have a breakdown of what they do and why one would choose one method
over another.

We should also note that people learn differently. Some people love(tolerate) the firehose method, while others want the bare minimum. Going in depth into something they know almost nothing about will serve only to confuse the students.

Experiential learning seems like a better route. This allows the student to learn by doing, understand the software/service, and understand what the right questions to ask are. Although some people are morbidly afraid to speak up, so a recap FAQ would cover that area

@jasonpeacock
Copy link

We do a firehose training approach here at work, and while it gets people
up & working quickly they soon run into issues once something non-std
happens because they don't know why it works, they only know how it
should work
. Also, if parts of the training are not immediately put into
those then those parts are quite quickly forgotten (like cramming for a
test).

I'd be worried of something similar in a single-push "setup everything"
approach. They may nod and think they understand while going through the
motions, but we'll find ourselves reviewing the same stuff again later. I
agree with Fernando that a more serial, experiential approach is better.
Start with the basic and build on that in layers, teaching new
technology/concepts/tools as needed for each component.

On Wed, Sep 18, 2013 at 1:54 PM, Fernando Paredes
[email protected]:

@ColetteIsabella https://github.com/ColetteIsabella @eliseworthyhttps://github.com/eliseworthyalready has a lesson on
githttps://github.com/Ada-Developers-Academy/curriculum/blob/master/lessons/01_git.mdin case you want to contribute.

I think since we have the time, I am a fan of the possibility of having the
first day be an "install day" where more than just download some stuff, we
also have a breakdown of what they do and why one would choose one method
over another.

We should also note that people learn differently. Some people
love(tolerate) the firehose method, while others want the bare minimum.
Going in depth into something they know almost nothing about will serve
only to confuse the students.

Experiential learning seems like a better route. This allows the student
to learn by doing, understand the software/service, and understand what the
right questions to ask are. Although some people are morbidly afraid to
speak up, so a recap FAQ would cover that area


Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-24698466
.

@yaauie
Copy link
Contributor

yaauie commented Sep 21, 2013

Is there a reason we're setting up a full Xcode installation? It's many GB, and the Xcode Command Line Tools are available as a stand-alone installation.

@eliseworthy
Copy link
Contributor

Because that's how I've always done it! :) Hah, terrible excuse.

Besides time/bandwidth, is there any reason not to?

On Fri, Sep 20, 2013 at 10:29 PM, Ryan Biesemeyer
[email protected]:

Is there a reason we're setting up a full Xcode installation? It's many
GB, and the Xcode Command Line Toolshttps://developer.apple.com/downloads/index.action?searchTextField=command%20line%20toolsare available as a stand-alone installation.


Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-24856475
.

@nanoxd
Copy link
Contributor Author

nanoxd commented Sep 22, 2013

One requires logging in to the App Store, the command line tools require you to sign up for a developer account.

@yaauie
Copy link
Contributor

yaauie commented Sep 22, 2013

The primary reason I see against the full installation is that it introduces a whole lot of irrelevant (to what they will learn in this course) concepts and tools before we start getting them into the challenge-success loop that makes programming fun. I would personally be willing to pre-fetch the standalone cli-tools disk image and provides handful of thumb-drives with the latest version & a document explaining how to get them yourself. The more we can reduce friction here, the sooner we can introduce relevant concepts.

@zspencer
Copy link

Alternatively, create a dropbox group for AdaInitiative and host it there.
If they're all on the same Wifi they'll stream to each other similar to
BitTorrent.

On Sun, Sep 22, 2013 at 10:31 AM, Ryan Biesemeyer
[email protected]:

The primary reason I see against the full installation is that it
introduces a whole lot of irrelevant (to what they will learn in this
course) concepts and tools before we start getting them into the
challenge-success loop that makes programming fun. I would personally be
willing to pre-fetch the standalone cli-tools disk image and provides
handful of thumb-drives with the latest version & a document explaining how
to get them yourself. The more we can reduce friction here, the sooner we
can introduce relevant concepts.


Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-24886341
.

@nanoxd
Copy link
Contributor Author

nanoxd commented Sep 22, 2013

@zspencer wouldn't that be an issue for anyone with a Dropbox account already? As per Dropbox, one can only switch accounts through their WebUI which doesn't have LAN Sync.

@yaauie We could set up a Raspberry Pi and accomplish the same thing as multiple USBs with less maintenance. The Pi can be configured to serve the file(s) through Samba or Owncloud.

@zspencer
Copy link

@fernando You can share dropbox folders to any dropbox user.

On Sun, Sep 22, 2013 at 12:09 PM, Fernando Paredes <[email protected]

wrote:

@zspencer https://github.com/zspencer wouldn't that be an issue for
anyone with a Dropbox account already? As per [Dropbox], one can only
switch accounts through their WebUI which doesn't have LAN Sync.

@yaauie https://github.com/yaauie We could set up a Raspberry Pi and
accomplish the same thing as multiple USBs with less maintenance. The Pi
can be configured to serve the file(s) through Samba or Owncloud.


Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-24888269
.

@nanoxd
Copy link
Contributor Author

nanoxd commented Sep 22, 2013

@zspencer I thought you meant group as a business account. That would definitely be the easiest approach.

@johana-star
Copy link
Contributor

What improvements should be completed to resolve this issue?

@nanoxd
Copy link
Contributor Author

nanoxd commented Oct 3, 2013

@strand A AdaDevAcademy Dropbox account with the command line tools shared may be the easiest way.

@johana-star
Copy link
Contributor

@nanoxd So, to resolve this issue we need to create the Dropbaox with the CL Tools and link to that resource in the guide somewhere? Who has authorization to make that for Ada? @kerrizor?

@kerrizor
Copy link
Contributor

kerrizor commented Oct 5, 2013

If someone would like to volunteer to write-up the install instructions and toss me a link to the latest CL tools, I can setup an official ADA Dropbox folder. I like that approach more than swamping the network with multiple multi-GB downloads.

An alternate approach, and one we've done for RailsBridge, is to have a half-dozen USB drives with the download already on it - low-tech, works like a charm every time :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants