Install Requirements for Independent Development

Hi, I am absolutely new to Ruby and I want to do the following:

1 - I want to put all of my Ruby on Rails development on a single memory stick drive. The purpose of this is so that I can develop Ruby on Rails applications no matter where I plug in, (Linux, Windows, Mac). 2 - Can I do this? 3 - If so, how much space does it require?

--Peter

Peter Macgown wrote in post #965156:

Hi, I am absolutely new to Ruby and I want to do the following:

1 - I want to put all of my Ruby on Rails development on a single memory stick drive. The purpose of this is so that I can develop Ruby on Rails applications no matter where I plug in, (Linux, Windows, Mac). 2 - Can I do this?

Probably -- except that some gems have native extensions that are written in C and compiled automatically as part of the gem installation process. Of course, the binaries that are generated by this compilation are OS-specific.

You could get around this by using a VM...

...but I think this is not a great idea. Why do you need to plug in in multiple places?

3 - If so, how much space does it require?

I don't know. Why don't you try it and find out?

--Peter

Best,

Peter Macgown wrote:

Hi, I am absolutely new to Ruby and I want to do the following:

1 - I want to put all of my Ruby on Rails development on a single memory stick drive. The purpose of this is so that I can develop Ruby on Rails applications no matter where I plug in, (Linux, Windows, Mac). 2 - Can I do this?   

I think not. At the minimum you will require a ruby environment on each of the computers and that environment is unique to the system. That is to say the ruby interpreter that runs on Linux will not run on Windows etc. The ruby code and most of your gems will be ok but you will not be able to go to an arbitrary system and start running your app. For that matter you will require some database or database libraries on the system and those are uniquely built for the type of system.

3 - If so, how much space does it require?   

Your app itself could be on a stick with rails frozen in the app (at least that works in ROR 2.x) so it could run anyplace you had ruby and the database. You would have to try it to figure out how much space as it depends on how big your app is, how many gems you use etc.

--Peter

Norm

Norm Scherer wrote in post #965176:

Peter Macgown wrote:

Hi, I am absolutely new to Ruby and I want to do the following:

1 - I want to put all of my Ruby on Rails development on a single memory stick drive. The purpose of this is so that I can develop Ruby on Rails applications no matter where I plug in, (Linux, Windows, Mac). 2 - Can I do this?

I think not. At the minimum you will require a ruby environment on each of the computers and that environment is unique to the system. That is to say the ruby interpreter that runs on Linux will not run on Windows etc.

Ack, yeah, that's true. You *could* use JRuby, though...

Best,

Marnen Laibow-Koser wrote:

Norm Scherer wrote in post #965176:
Peter Macgown wrote:

Hi,
I am absolutely new to Ruby and I want to do the following:
1 - I want to put all of my Ruby on Rails development on a single memory
stick drive. The purpose of this is so that I can develop Ruby on Rails
applications no matter where I plug in, (Linux, Windows, Mac).
2 - Can I do this?
I think not. At the minimum you will require a ruby environment on each
of the computers and that environment is unique to the system. That is
to say the ruby interpreter that runs on Linux will not run on Windows
etc.
Ack, yeah, that's true. You *could* use JRuby, though...

Would’nt you then require java on each of the systems? Of course that is pretty common.

Norm Scherer wrote in post #965196:

Marnen Laibow-Koser wrote:

2 - Can I do this?

I think not. At the minimum you will require a ruby environment on each of the computers and that environment is unique to the system. That is to say the ruby interpreter that runs on Linux will not run on Windows etc.

Ack, yeah, that's true. You *could* use JRuby, though...

Would'nt you then require java on each of the systems? Of course that is pretty common.

Yes, of course. But most desktop environments these days have some sort of JVM. (This is why I'm using JRuby/Swing/Monkeybars for desktop app development...)

Best,

Marnen Laibow-Koser wrote:

Norm Scherer wrote in post #965196:
Marnen Laibow-Koser wrote:
2 - Can I do this?
I think not. At the minimum you will require a ruby environment on each
of the computers and that environment is unique to the system. That is
to say the ruby interpreter that runs on Linux will not run on Windows
etc.
Ack, yeah, that's true. You *could* use JRuby, though...
Would'nt you then require java on each of the systems? Of course that
is pretty common.

Yes, of course. But most desktop environments these days have some sort of JVM. (This is why I'm using JRuby/Swing/Monkeybars for desktop app development...)
Best,
--
Marnen Laibow-Koser

How would you solve the database problem. Even if you are using sqlite you will need the libraries as far as I know.

Norm

Thanks for you help!

What if I were to reign this in to just Windows? Would that work for me in what I want to do? I could limit my work to just XP(still cool) and Vista(ugh gross!).

--Peter

Peter Macgown wrote in post #965207:

Thanks for you help!

What if I were to reign this in to just Windows? Would that work for me in what I want to do? I could limit my work to just XP(still cool) and Vista(ugh gross!).

Bad idea: Rails development works best on *nix.

What's your use case, anyway? Why would you ever need to use this memory stick? I can't think of a single scenario in which there would be any point to what you're describing.

--Peter

Best,

Hi Marnen,

I have three different PC's running Windows (2 XP's and 1 Vista) at disparate locations. Unix is moot since it is not available to me. I do not want to be limited to do development at a single location.

My use case is to capture sensor gestalt from an Arduino board and store it in a database for later analysis.

The nature of the idea is not a guiding parameter. I am just trying to see if I can do it in Ruby. The Rails part intrigues me since it can be used for other languages besides Ruby.

--Peter

Marnen Laibow-Koser wrote in post #965208:

Peter Macgown wrote in post #965218:

Hi Marnen,

I have three different PC's running Windows (2 XP's and 1 Vista) at disparate locations.

Those should be binary-compatible, then. (Why you'd torture yourself with Windows is another question. :slight_smile: ).

Unix is moot since it is not available to me.

Of course it's available to you: you can always install a VM.

I do not want to be limited to do development at a single location.

My use case is to capture sensor gestalt from an Arduino board and store it in a database for later analysis.

I didn't mean the nature of the application you're developing; I mean *your* use case -- the reason that *you* want to have a flash drive to carry with you with Ruby on it.

The nature of the idea is not a guiding parameter. I am just trying to see if I can do it in Ruby.

Do *what* in Ruby? Development off a Flash drive or Arduino data acquisition?

The Rails part intrigues me since it can be used for other languages besides Ruby.

What? Rails is built in Ruby. There's no question of other languages. Or do I misunderstand.

If this is not specifically a Rails development environment you're trying to set up, then you are likely to get better answers on the main Ruby list.

--Peter

Best,

Peter Macgown wrote:


Thanks for you help!
What if I were to reign this in to just Windows? Would that work for me
in what I want to do? I could limit my work to just XP(still cool) and
Vista(ugh gross!).
--Peter

I do not really like it as a development environment but you could install Instant Rails on a flash drive and it would be self contained and could move from system taking it’s whole environment with it. Instant Rails is mired in ROR 2.x and has not been updated recently but it still works.

Marnen Laibow-Koser wrote in post #965219:

Peter Macgown wrote in post #965218:

Hi Marnen,

I have three different PC's running Windows (2 XP's and 1 Vista) at disparate locations.

Those should be binary-compatible, then. (Why you'd torture yourself with Windows is another question. :slight_smile: ).

Unix is moot since it is not available to me.

Of course it's available to you: you can always install a VM.

Unfortunately, this would complicate matters for me. Not only would I be trying to teach myself Ruby, I would be futzing with a VM configuration and I wouldn't know what was wrong if it didn't work.

I do not want to be limited to do development at a single location.

My use case is to capture sensor gestalt from an Arduino board and store it in a database for later analysis.

I didn't mean the nature of the application you're developing; I mean *your* use case -- the reason that *you* want to have a flash drive to carry with you with Ruby on it.

I want to carry a flash drive so I can do development in different places without having to install Ruby on each of them.

The nature of the idea is not a guiding parameter. I am just trying to see if I can do it in Ruby.

Do *what* in Ruby? Development off a Flash drive or Arduino data acquisition?

It's sort of a fake project and I was looking for an excuse to do it. I've been playing with an Arduino board and thought that it would be interesting if I could use Ruby to collect the data rather than C++, C#, or another .net thing I have hanging around.

Using a flash drive solves one of the problems. I have an hour to spare here and there at different locations and wanted to take advantage of them without having to set up a development environment for each one of the computers.

The Rails part intrigues me since it can be used for other languages besides Ruby.

What? Rails is built in Ruby. There's no question of other languages. Or do I misunderstand.

Nope. You get it. I show my ignorance here about Ruby and its relationship with Rails, or Rails in general for that matter. There is, however, a book out there that talks about developing Flash programs using Rails and I was making an oblique referenct to this.

If this is not specifically a Rails development environment you're trying to set up, then you are likely to get better answers on the main Ruby list.

Perhaps so. However, one of the parameters for this project is to use Rails. Not just Ruby. Two birds with one stone, so to speak.

The point, I guess, is to answer the question, "can it be done?". If yes, that's great. If no, that's great too. If the answer is no, then the next step is to determine how to be as minimally invasive to the desktop as possible to make it work.

Peter Macgown wrote in post #965230:

Marnen Laibow-Koser wrote in post #965219:

Peter Macgown wrote in post #965218:

Hi Marnen,

I have three different PC's running Windows (2 XP's and 1 Vista) at disparate locations.

Those should be binary-compatible, then. (Why you'd torture yourself with Windows is another question. :slight_smile: ).

Unix is moot since it is not available to me.

Of course it's available to you: you can always install a VM.

Unfortunately, this would complicate matters for me. Not only would I be trying to teach myself Ruby, I would be futzing with a VM configuration and I wouldn't know what was wrong if it didn't work.

VMs are generally easy to set up. Try it!

"I wouldn't know what to do" is seldom a good reason not to try something. Most of the time (as here), things are a lot easier than we fear.

[...]

I want to carry a flash drive so I can do development in different places without having to install Ruby on each of them.

And you need all your dev libraries, and all your dev tools, and...

[...]

It's sort of a fake project and I was looking for an excuse to do it. I've been playing with an Arduino board and thought that it would be interesting if I could use Ruby to collect the data rather than C++, C#, or another .net thing I have hanging around.

Not a bad idea; for one thing, Ruby frees you from being tied to Windows...

Using a flash drive solves one of the problems. I have an hour to spare here and there at different locations and wanted to take advantage of them without having to set up a development environment for each one of the computers.

Why not use your own laptop? Even if you use a flash drive, you'll probably have to set up a development environment to some extent.

I really think that the best solution in this case is to run a VM off the flash drive.

The Rails part intrigues me since it can be used for other languages besides Ruby.

What? Rails is built in Ruby. There's no question of other languages. Or do I misunderstand.

Nope. You get it. I show my ignorance here about Ruby and its relationship with Rails, or Rails in general for that matter. There is, however, a book out there that talks about developing Flash programs using Rails and I was making an oblique referenct to this.

That's got nothing to do with the Ruby side of things. Rails is server-side. Flash is client-side. (And please, *don't* use Flash these days. HTML5 and JavaScript should get you where you need to go.)

[...]

The point, I guess, is to answer the question, "can it be done?". If yes, that's great. If no, that's great too. If the answer is no, then the next step is to determine how to be as minimally invasive to the desktop as possible to make it work.

Use a VM, preferably a *nix one (VirtualRails might be a good place to start). Put that on the flash drive. Do all development within the VM. Nothing has to be touched in the host environment.

Best,

Do you have internet connectivity on all your workplaces? Why not setup all the dev stuff on a remote server and vnc to it from all your workplaces?

Martin