Development Question

I have the following:

Windows Vista (primary machine)
– 1.9.1-p129 and all gems I currently need
– using netbeans IDE 6.5
– have a primary project being developed

Ubuntu 9.x (VMWare box on primary machine)
– 1.9.1-p129 and all gems I currently need
– using netbeans IDE 6.5
– has a copied version of the primary project being developed

Ubuntu Hardy (VPS - main website hosted through slicehost)
– 1.9.1-p129 and all gems I currently need
– no projects uploaded or tested yet

====================================
Questions

  1. I tested out the VMware box and was able to load my project and even
    work on it. I received no errors and all tasks seemed to perform well.
    This leads me to believe that as long as all three environments have the
    exact same version of ruby and exact same version of gems (regardless of
    ruby was compiled on windows with ming etc.) that they all should work.
    Is this a correct assumption?

  2. I would simply code on my VMWare box but it’s a little more sluggish
    becuse it’s a virtual box. I’m also worried that it will crash one day
    and unless I’m doing nightly snapshots or saves, I’ll lose work. Do you
    recommend that I just use this as a test box for my code and keep
    developing on windows where I’m used to developing?

  3. Any suggestions on backing up data or crossing over data. Is there
    a core concept or things to keep in mind when backing up projects after
    you’ve worked on them? Do you backup the entire project? Or, just
    specific folders? If the latter, which?

  4. Any other tips that I can use to keep my environment stable and
    efficient?

Many thanks in advance…

Älphä Blüë wrote:

  1. I tested out the VMware box and was able to load my project and even
    work on it. I received no errors and all tasks seemed to perform well.
    This leads me to believe that as long as all three environments have the
    exact same version of ruby and exact same version of gems (regardless of
    ruby was compiled on windows with ming etc.) that they all should work.
    Is this a correct assumption?

I would think so.

  1. I would simply code on my VMWare box but it’s a little more sluggish
    becuse it’s a virtual box. I’m also worried that it will crash one day
    and unless I’m doing nightly snapshots or saves, I’ll lose work.

Why are you worried about that? Linux is a lot less crash-happy than
Windows.

Do you
recommend that I just use this as a test box for my code and keep
developing on windows where I’m used to developing?

Every time you use Windows, a demon gets his horns. :smiley:

  1. Any suggestions on backing up data or crossing over data. Is there
    a core concept or things to keep in mind when backing up projects after
    you’ve worked on them?

At the moment, my project backup is my version control repository (you
do have one of those, right?).

[…]

  1. Any other tips that I can use to keep my environment stable and
    efficient?

Stop using Windows, which is neither?

Many thanks in advance…

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Marnen Laibow-Koser wrote:

Why are you worried about that? Linux is a lot less crash-happy than
Windows.

My linux VMWare box is on Windows Vista so if (windows crashes) the
linux box will too…

Although the likelihood of that happening is very slim (I have only had
one crash in over a year and that was due to a hardware issue with bad
memory).

I just like to be safe

At the moment, my project backup is my version control repository (you
do have one of those, right?).

Actually I’m just starting my project and haven’t done this yet. I’m
looking into doing that now. This was a very good suggestion and I
appreciate it. :slight_smile:

Thanks for the feedback mate.

Älphä Blüë wrote:

Marnen Laibow-Koser wrote:

Why are you worried about that? Linux is a lot less crash-happy than
Windows.

My linux VMWare box is on Windows Vista so if (windows crashes) the
linux box will too…

True, but I would think that the VM would still be in a consistent
state, since it was not crashing.
[…]

Actually I’m just starting my project and haven’t done this yet. I’m
looking into doing that now. This was a very good suggestion and I
appreciate it. :slight_smile:

That should be about the first thing you do when you start a project.
Version control (I recommend Git) is so amazingly beneficial, and so
easy to set up, that there is absolutely no excuse not to use it. (And
it’s nearly essential if you’re using Capistrano.)

Thanks for the feedback mate.

You’re welcome!

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Marnen Laibow-Koser wrote:

That should be about the first thing you do when you start a project.
Version control (I recommend Git) is so amazingly beneficial, and so
easy to set up, that there is absolutely no excuse not to use it. (And
it’s nearly essential if you’re using Capistrano.)

Marnen thanks so much mate!

I had tortoiseSVN installed on my machine (just never used it). I
created a repos and my netbeans IDE actually has subversion built into
it so I can commit changes from there. I tested it all out and it’s
working nice. This helps me a ton.

I’m very appreciative.

I have Git Bash installed but I am not very proficient with it. Is
tortoise not good?

Älphä Blüë wrote:
[…]

Marnen thanks so much mate!

I had tortoiseSVN installed on my machine (just never used it). I
created a repos and my netbeans IDE

For your own sanity, I recommend ditching NetBeans. I know a lot of
people here like it, so I finally tried it for a new Rails project I
just started. It looks promising in some respects, but it simply
doesn’t integrate with Rails well enough. I think I gave up on it after
30 minutes. If that’s the only thing you’ve ever used for Rails, you’re
probably overcomplicating a lot of things.

(I use KomodoEdit mostly, and a bunch of terminal windows. It’s very
convenient.)

actually has subversion built into
it so I can commit changes from there. I tested it all out and it’s
working nice. This helps me a ton.

I’m very appreciative.

You’re most welcome!

I have Git Bash installed but I am not very proficient with it. Is
tortoise not good?

Tortoise is great (it’s one of the few pieces of Windows software I’ve
used that I wish I could run on my Mac). The problem is Subversion
itself and its centralized model. It’s certainly better than nothing,
but Git, though perhaps slightly harder to learn initially, is far more
powerful.

(Conversion tools exist between Subversion and Git, BTW.)

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Marnen,

That’s kind of funny or rather (ironic) that you should mention that
about netbeans. I’m usually just a plain ol text editor person (I used
scite for almost all of my programming exclusively).

However, I did try out a bunch of different IDEs and when I got to
netbeans the first thought was (wow this is overwhelming)…

But, I took my time learning every in and out of the application and
then when I didn’t understand something about the interface I searched
until I found out my answer.

Now, it’s pretty simple to use. I can create a new project in moments.
Generating controllers, models, and the like is very fast and has an
easy association to it. All my custom rake tasks show up from a pull
down menu so I can select and run… It’s just a very convenient and
handy tool now.

However, IDEs are definitely not for everyone. They all have flaws and
hassles… But, it’s the one IDE that really has a lot to offer and
integrates well with both windows and linux. It also has all of the
built in consoles so I don’t have to have multiple windows open (they
just open up in tabs). I could have 12 rails consoles open if I wanted
to and I’d jus have to click on a tab to get to it.

The nesting features are really great. It also works with Jruby (but
I’m not into that yet)…

Marnen Laibow-Koser wrote:

I use several plugins and gems (RSpec, Hobofields) that extend
script/generate with their own generators. Amazingly, NB does not pick
up the new generators as options, so I’m back at the command line if I
want to use them. This was about when I decided there was no reason to
continue with NB for Rails until something gets upgraded.

I use Rspec-rails and Rspec with NB and it generates fine for me. You
have to add both to vendor/plugins. Once you do that, you right-click
your project -> generate -> and select rspec controller (which shows up
automatically as a new generator in NB), etc. and generate them right
there. I haven’t had any issues with rspec doing it this way…

And as a Rails beginner, you should be aware that NB may be hurting you
by not giving easy access to tools you may not yet know you need. (This
may not actually turn out to be an issue, but the possibility is real.)

I always try out multiple ways of doing things, without fully relying on
the IDE to do this for me. Many of the books I’m reading show me how to
do it “manually” so I learn things that way. Once I’m comfortable, I
figure out how to do it the NB way. If it doesn’t work in NB, I make a
mental note. I haven’t had many issues with things not working well
with NB.

However, HAML and SASS are one exception. NB doesn’t make great use of
them and plugins are either out of date or not being actively worked on
anymore for those.

Take care mate. You give great input and feedback and many of us
appreciate it.

Älphä Blüë wrote:

Marnen,

That’s kind of funny or rather (ironic) that you should mention that
about netbeans. I’m usually just a plain ol text editor person (I used
scite for almost all of my programming exclusively).

I like good IDEs for some languages (such as Java). However, the more I
work with Rails, the more I am convinced that an IDE in the traditional
sense is a bad fit for the way Rails works.

However, I did try out a bunch of different IDEs and when I got to
netbeans the first thought was (wow this is overwhelming)…

I didn’t think NB was overwhelming, just that its Rails features didn’t
have enough of what I wanted. If I really wanted a Rails IDE, I’d
probably go back to Aptana or maybe give Xcode a shot. (I like Xcode in
general – I just have no idea how good it would be for Rails.)

Now, it’s pretty simple to use. I can create a new project in moments.
Generating controllers, models, and the like is very fast and has an
easy association to it.

I use several plugins and gems (RSpec, Hobofields) that extend
script/generate with their own generators. Amazingly, NB does not pick
up the new generators as options, so I’m back at the command line if I
want to use them. This was about when I decided there was no reason to
continue with NB for Rails until something gets upgraded.

All my custom rake tasks show up from a pull
down menu so I can select and run…

Aptana does that too. It’s handy, but I can’t say I found it as
convenient as I would have expected.

It’s just a very convenient and
handy tool now.

It would be if it lived up to its promise, yes. :slight_smile:

And as a Rails beginner, you should be aware that NB may be hurting you
by not giving easy access to tools you may not yet know you need. (This
may not actually turn out to be an issue, but the possibility is real.)

However, IDEs are definitely not for everyone. They all have flaws and
hassles… But, it’s the one IDE that really has a lot to offer and
integrates well with both windows and linux.

Eclipse/Aptana also does. So do jEdit and KomodoEdit from what I
understand (although I’ve only used those on Mac OS).

It also has all of the
built in consoles so I don’t have to have multiple windows open (they
just open up in tabs). I could have 12 rails consoles open if I wanted
to and I’d jus have to click on a tab to get to it.

Any decent terminal program will do the same. I routinely have 6 shell
tabs (including one each for autospec and server) open in 1 Terminal.app
or iTerm window on my Mac when I do Rails development. I know Konsole
will do likewise on KDE, and I’m sure there are GNOME and Windows
programs with similar features.

The nesting features are really great.

What do you mean? Are you talking about indentation? KomodoEdit will
do that at least as well.

It also works with Jruby (but
I’m not into that yet)…

Nor am I.

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

I have not tested out Komodoedit - I’ll look into it. I’m still early
in my rails programming phases so it’s never too late to learn if it
works well.

Älphä Blüë wrote:

I use Rspec-rails and Rspec with NB and it generates fine for me. You
have to add both to vendor/plugins.

Ridiculous. I use RSpec as a gem, not a plugin. That’s the preferred
way of using it now AFAIK. If NB is going to automate script/generate,
then it should get its list of generators from the same place that
script/generate does. I should not have to use the plugin method solely
because NB is too stupid to figure it out otherwise.

See, this is what I mean about poor IDE design hurting productivity…
[…]

I always try out multiple ways of doing things, without fully relying on
the IDE to do this for me.

Good.

[…]

However, HAML and SASS are one exception. NB doesn’t make great use of
them and plugins are either out of date or not being actively worked on
anymore for those.

KomodoEdit has about the best Haml plugin I’ve seen. Just another
reason to like it for Rails. :slight_smile:

Take care mate. You give great input and feedback and many of us
appreciate it.

Thanks!

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]