What Linux distribution to choose for learning Ruby and Ruby

Slavo F. wrote:

hostings I found are on Linux/Unix so …

  1. Have you considered installing the jRuby platform on Windows and

using that?

No. I really do not like to mess with Java stuff again (have a awful
experience with enterprise Java with which I have to interop with in one of
our apps I developed in my work. Never more!). But I really looking forward
to spent some time with IronRuby (http://ironruby.rubyforge.org/) when it
will be more complete.

There’s very little about JRuby that feels like Java. It smells pretty
much like Ruby, unless you choose to pull in Java libraries on your own.
It’s just Ruby with a different VM underneath.

  • Charlie

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chad P. wrote:

FreeBSD does.

I just checked. Compared with Debian’s more than 18k packages (not sure
how many more – I haven’t checked lately) and FreeBSD’s more than 17k
ports, it looks like Gentoo provides just over 11k. I think that puts
Gentoo solidly in second place for Linux distributions, but well behind
FreeBSD.

Gentoo’s “unstable” doesn’t really exist in the same sense that Debian
has “stable”, “testing” and “unstable”. There’s really three separate
classes of packages in Gentoo … stable, architecture-keyworded (works
for the most part on some architectures but not truly stable on all of
them) and packages in what are called “overlays” – repositories where
the really edgy stuff lives until it (sometimes) gets moved into the
main Portage tree.

I’ve run both amd64 and x86 systems successfully with a mix of keyworded
packages and packages from overlays, but I don’t recommend it unless
you’re a hard-core Gentoo freak like me (learn to love
/etc/portage/package.mask). I have three machines, though, so I can
survive if I have to take one down for 24 hours to clean it up from
scratch. :slight_smile:

Yes, Debian has more packages. I went from Red Hat 9 to Debian (“woody”)
when Red Hat spun off Fedora. The main reason I switched from Debian to
Gentoo about six months later was that Debian had this FSF religion
about “the Java trap”, and a lot of the software I wanted to run was
written in Java. Gentoo had no such religion – they had Java, most of
the Java packages I wanted and it all worked. The other nice thing about
Gentoo is that I’ve found it easier to integrate source packages that
aren’t in the tree or one of the overlays that it is to integrate the
same package built from source into a Debian or Red Hat system.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5f/Q8fKMegVjSM8RAg3rAKCWFLQs5eOXGn+EXhWbSO8s/Aak3QCbBPbe
NVciYtfkKy8dczJVr7fTSEw=
=eX3u
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lionel B. wrote:

Thanks for the answer, that was an interesting reading. I’ve some
remarks though (maybe some things changed since the last time you tried
Gentoo).

To put it more on topic, could you describe briefly how you can
integrate gems in the package management system on *BSD? With me being
very familiar with Gentoo, the ease of integration of gems into Gentoo
was probably the biggest reasons why I switched all my servers to Gentoo…
Does it build on gems like Gentoo or do you have to write messy
Makefiles like I suspect most other Linux distributions do?

While the integration of gems into Portage is good, it isn’t perfect.
Things I really want, like Ruport, haven’t made it into the tree yet, so
I have to mix gems from the gem server with gems bundled into ebuilds.

The way you get a new gem into Portage is file an enhancement request in
bugs.gentoo.org and wait. But once the gem makes it into the tree, a
keyworded ebuild for updates generally shows up in Portage within a day
or two of the gem being released. That ain’t gonna happen with Fedora or
Debian as far as I can tell. The same goes for Ruby itself – it only
takes a day or so for a release to get into Portage.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD4DBQFG5gJO8fKMegVjSM8RAmLGAKDTFooI5awhcLbiBBAMMim5+AigzQCY9uyT
mY+iB9yyWNe9Ge+dY3DCkA==
=Tnr3
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chad P. wrote:

On Tue, Sep 11, 2007 at 08:34:38AM +0900, Lionel B. wrote:

I just checked. Compared with Debian’s more than 18k packages (not sure
how many more – I haven’t checked lately) and FreeBSD’s more than 17k
ports, it looks like Gentoo provides just over 11k. I think that puts
Gentoo solidly in second place for Linux distributions, but well behind
FreeBSD.

[snip]

FreeBSD doesn’t tend to play silly buggers with software packaging, I’ve
noticed. It’s one of the things I like about it.

I’ve always wanted to test a *BSD distro, I just never seem to get
around to it. I’ve also wanted to test Open Solaris and never got around
to that either. It should be noted that the founder of Gentoo, Daniel
Robbins, created the Portage package management system as what he (and a
number of other developers) thought was enhancements to the BSD “ports”
system.

It’s really amazing that the Linux kernel took off – BSD has better
memory management and just about everything is better in Solaris. But
it did and despite any quality arguments, quantity is on the side of
Linux. :wink:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5fzD8fKMegVjSM8RAkc9AJ9wX8Nef4clvPq36GchjeODYEEn0QCdEQNZ
a29WN1AGjweA5mXApZemevE=
=cDmE
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ezra Z. wrote:

I have to step in here with a small data point about Gentoo on

servers. If you know what you’re doing then it can make some of the most
stable fast servers around. I’m currently running just under 1000
gentoo servers all serving Rails and ruby apps and I love it.

You should definitely brag about that on the Gentoo Weekly News. As far
as I know, your 1000 Gentoo servers is more than all the other Gentoo
servers in the world combined. :slight_smile:

Yes, it’s possible to make a stable fast Gentoo server, and it’s a lot
easier than it used to be since they came out with the LiveDVD. It’s
precompiled for i686, which is fast enough for most purposes, and has
just about everything on it except “rubygems”, “rake” and “rails”.

That said for learning linux and ror then probably ubuntu or fedora

are your safest bets. Gentoo requires quite a but of tweaking to get
right, but once you get it right it screams.

Gentoo is like a meta-distro, in the fact that you can take it and

bend it into your own targeted custom distros.

I’d say the same goes for (pure) Debian. The base network install CD is
under 200 MB, and you can even boot up a Debian box from scratch over
the network from no more than half a dozen floppies, and if you’re
lucky, you only need two. Once you get the base built, you can rebuild
packages from source if you need to for speed as easily as you can
emerge a package from source with Gentoo. But … I went down the Gentoo
path and I’m not turning back. :slight_smile:

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5gSo8fKMegVjSM8RAgMkAKDbyBBwauNepiRus3SsfPh/AzBYaQCfQUcn
O0ZUY/xdYRmaMzkjQEbMNnc=
=VuPB
-----END PGP SIGNATURE-----

Slavo F. wrote:

master degree in CS, 10+ years experience as achitect/programmer on Windows
(C++, C#, ASP.NET, MS SQL Server), good understanding of system programming
concepts, but no Linux experience? I look forward to using Linux mainly for
learning more Ruby and Ruby on Rails programming.

thanks in advance!
slavo.

Any Linux Distro will do, if you prefer not to actually have to learn
much
of any thing about Linux based Operating Systems, I’d suggest Ubuntu or
one of
the BSD’s hacked up for ease of Joe Desktop User (PC-BSD, DesktopBSD).
Ubuntu
GNU/Linux, PC-BSD, and DesktopBSD are the only major systems that try to
be
user friendly + worth a dang.

If you have 10 years of experience in Computer Science and Programming,
learning a Linux or Unix system should not be hard… Took me less then
1 year
on a BSD box to learn a large amount of things with a extremely lesser
level
of education then you have.

On the Subject of Linux Distros, the only ones I respect are Slackware
Linux
and Debian GNU/Linux. Some people also favor Red Hat / Fedora stuff.

TerryP.

On Tue, Sep 11, 2007 at 12:00:57PM +0900, M. Edward (Ed) Borasky wrote:

I’d say the same goes for (pure) Debian. The base network install CD is
under 200 MB, and you can even boot up a Debian box from scratch over
the network from no more than half a dozen floppies, and if you’re
lucky, you only need two. Once you get the base built, you can rebuild
packages from source if you need to for speed as easily as you can
emerge a package from source with Gentoo. But … I went down the Gentoo
path and I’m not turning back. :slight_smile:

Much as I prefer Debian over Gentoo, I don’t know that I’d say you could
rebuild packages from source for performance as easily on Debian as
Gentoo. Maybe it’s close enough, though.

On Tue, Sep 11, 2007 at 11:40:29AM +0900, M. Edward (Ed) Borasky wrote:

been a while, but last I recall Gentoo didn’t have more than 15k ports.
has “stable”, “testing” and “unstable”. There’s really three separate
classes of packages in Gentoo … stable, architecture-keyworded (works
for the most part on some architectures but not truly stable on all of
them) and packages in what are called “overlays” – repositories where
the really edgy stuff lives until it (sometimes) gets moved into the
main Portage tree.

Gentoo “overlays” are a bit like Debian’s “Experimental” package
repositories – less “stable” than Unstable. I tend to avoid anything
that hairy, though, because one of the reasons for using Unix-like
systems in the first place (for me) was greater stability than some
alternatives.

Yes, Debian has more packages. I went from Red Hat 9 to Debian (“woody”)
when Red Hat spun off Fedora. The main reason I switched from Debian to
Gentoo about six months later was that Debian had this FSF religion
about “the Java trap”, and a lot of the software I wanted to run was
written in Java. Gentoo had no such religion – they had Java, most of
the Java packages I wanted and it all worked. The other nice thing about
Gentoo is that I’ve found it easier to integrate source packages that
aren’t in the tree or one of the overlays that it is to integrate the
same package built from source into a Debian or Red Hat system.

I think I’ve been lucky. I haven’t needed software from outside of the
software management system of any Linux distribution (or FreeBSD, for
that matter), other than wireless drivers to use with ndiswrapper or
software run via Wine.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chad P. wrote:

  1. software archives and how they’re managed

[snip]

lately, your mileage may vary.
You’ve left out what I consider is another big win for *BSD – the
kernel is more stable, is more secure, and easier to tune for
performance. Linux performance tools are hacks piled upon gravel. Then
again, *BSD sucks relative to Solaris for performance tools. :wink:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5gfD8fKMegVjSM8RAv44AJ94gL8ad3vKDxzuQgg9PAXF6UIX8gCfSWaH
5n/zwrmotuM6zbxLUVgsNIQ=
=/mD/
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chad P. wrote:

rebuild packages from source for performance as easily on Debian as
Gentoo. Maybe it’s close enough, though.

It’s a couple extra lines in the config file for apt-get to point to the
source package repositories (“.dsc”, I think they are). Then there is
another command, the Debian equivalent of “rpmbuild”, that compiles the
source package to a binary one (.deb). At that point you install the
.deb and you’re done. I think there’s a one-step command that will do
the compile and install and throw away the intermediate stuff too.

The other side of that is that you can configure Gentoo to build and
keep the binary packages (.tbz2) in a repository. I think people with
large Gentoo server farms must do this – I can’t imagine recompiling
the same package over on every box. Ezra? How do you do it?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5i0a8fKMegVjSM8RArTSAJ9TDtIaSrKqArb9CKcL5fRgKZ3HJwCeNyHn
X0EF35B8IpTSGXC4zbqycVs=
=C2k8
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Chad P. wrote:

Gentoo “overlays” are a bit like Debian’s “Experimental” package
repositories – less “stable” than Unstable. I tend to avoid anything
that hairy, though, because one of the reasons for using Unix-like
systems in the first place (for me) was greater stability than some
alternatives.

Oh yes … overlays are definitely not without risk. I only run stuff
out of one – the “science” overlay, which has the latest versions of
some fairly well-tested stuff like Maxima, TeXmacs, the Atlas libraries
and so on. I certainly don’t run anything mission-critical like Perl,
Python or binutils out of an overlay.

I think I’ve been lucky. I haven’t needed software from outside of the
software management system of any Linux distribution (or FreeBSD, for
that matter), other than wireless drivers to use with ndiswrapper or
software run via Wine.

Not lucky – your needs are more commonplace than mine. I use
highly-optimized chip-level numerical and symbolic libraries and
applications, play around with all the exotic languages, and just in
general try to break stuff that most folks can’t even spell. :wink:

Back in 1990 they told me I’d have a supercomputer on my desktop and I
scoffed. Well, the biggest thing you could get back then was around 10
GFlops, and that’s just about what I get out of my dual-core Athlon64
right now. But the biggest thing you can get now is about a petaflop.
And so it goes …
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG5iuV8fKMegVjSM8RApQ3AKDJamNBJmBr74o7zxvH0EGlP8lYoACgtnAX
V5SWzgRZoj7anHL3PBG3kNY=
=ckv0
-----END PGP SIGNATURE-----

Hi guys!

Thank you very much for all answers and for interesting discussion.

Now I considering to give a try either Ubuntu or Fedora (or maybe I’ll
try
both).

Can anyone explain (in short and in form suitable for non-Linux user)
what
are main differences between Ubuntu Server Edition (
Ubuntu Server - for scale out workloads | Ubuntu) and Fedora (
http://fedoraproject.org/).

I understand that all Ruby/RoR stuff is available and works well on
both.

thanks,
Slavo.

M. Edward (Ed) Borasky wrote:

Chad P. wrote:

Much as I prefer Debian over Gentoo, I don’t know that I’d say you could
rebuild packages from source for performance as easily on Debian as
Gentoo. Maybe it’s close enough, though.

It’s a couple extra lines in the config file for apt-get to point to the
source package repositories (“.dsc”, I think they are). Then there is
another command, the Debian equivalent of “rpmbuild”, that compiles the
source package to a binary one (.deb). At that point you install the
.deb and you’re done.

Ensure that all of the build dependencies are installed and available,
needed once only:

sudo apt-get build-dep SOMEPACKAGE

Rebuilding is then pretty much as easy as this:

fakeroot apt-get source --build SOMEPACKAGE

I think there’s a one-step command that will do the compile and
install and throw away the intermediate stuff too.

The apt-src package is designed to manage everything and make this
even easier. See Debian -- Details of package apt-src in sid .

Bob

M. Edward (Ed) Borasky wrote the following on 11.09.2007 05:00 :

Ezra Z. wrote:

I have to step in here with a small data point about Gentoo on

servers. If you know what you’re doing then it can make some of the most
stable fast servers around. I’m currently running just under 1000
gentoo servers all serving Rails and ruby apps and I love it.

You should definitely brag about that on the Gentoo Weekly News. As far
as I know, your 1000 Gentoo servers is more than all the other Gentoo
servers in the world combined. :slight_smile:

This last part is hardly believable. The recommended distribution on
dedicated servers provided by my hosting company is a customized Gentoo.
It is the first hosting company in France with more than 12000 dedicated
servers… This single company probably hosts more than 1000 Gentoo
servers even if it doesn’t administer them and only provides the
hardware.

Lionel

M. Edward (Ed) Borasky wrote the following on 11.09.2007 04:50 :

While the integration of gems into Portage is good, it isn’t perfect.
Things I really want, like Ruport, haven’t made it into the tree yet, so
I have to mix gems from the gem server with gems bundled into ebuilds.

To solve this I’ve setup an overlay of my own. As I don’t want to
circumvent the package manager and develop software that I can’t release
as opensource, this is the only workable way for me. When I need a new
gem, I simply add an ebuild to my overlay: the whole process including
distribution to servers takes 5 minutes on average.

If you take a quick look at gems based ebuilds, I’m sure you can setup a
new overlay of your own on a very short notice. With layman and a svn
server you can distribute your overlay to all your servers easily.

Lionel

Hi,

On 9/11/07, Slavo F. [email protected] wrote:

http://fedoraproject.org/).

I understand that all Ruby/RoR stuff is available and works well on both.

I’m a Fedora user and I don’t know Ubuntu Server Edition but my best
guess is that it’s meant for servers :slight_smile:

Fedora is multi-purpose, you can choose Desktop, Workstation or
Server. Probably what you want is: Workstation + a couple of server
packages.

If you want to use your Linux distribution to learn RoR then IMHO it
doesn’t really matter which one you choose. Ubuntu would be a good
choice I guess.

Lionel B. wrote:

If you take a quick look at gems based ebuilds, I’m sure you can setup a
new overlay of your own on a very short notice. With layman and a svn
server you can distribute your overlay to all your servers easily.

Lionel

Yeah … I’m lazy. And when I do learn how to make ebuilds, it won’t
be to package Ruby gems – it will be to package tools like PRISM
(Probabilistic Symbolic Model Checker.)

Slavo F. wrote:

http://fedoraproject.org/).

I understand that all Ruby/RoR stuff is available and works well on both.

thanks,
Slavo.

Because you are new to Linux, I would steer you away from Ubuntu Server
Edition in favor of the desktop version. Linux “servers” are frequently
very stripped down, and do not come with niceties like GUIs. On the
other hand, every “desktop” variant of Linux I have used has become an
apache/ssh/mysql/who knows what else server, and it’s never been very
hard to set up.

As for Fedora, I can’t comment. It was my first Linux distro, but I only
used it for two weeks–I didn’t know how to make my sound card work, and
the easiest solution at the time was to install a different distro. I’m
glad nobody told me to recompile the kernel–I probably would have run.

Dan

On Wednesday 12 September 2007 11:35:51 hemant wrote:

NOO never install rubygems from apt tree, its broken.

You are totally right. It’s mostly unusable. It was very strange for me
for
the first time, because on FreeBSD i am usually using ports to get the
workable ruby and rails environment rather then manually work with
rubygems here on my Ubuntu box…

On 9/10/07, Marcin R. [email protected] wrote:

So, what Linux distribution would you recommend for programmer who have
with graphical installers and stuff, beside that it have very good
package managing system, instaling ruby + ruby on rails + gems is as
easy as typing:

sudo aptitude install ruby1.8 rails rubygems

NOO never install rubygems from apt tree, its broken.

you an also install ruby 1.9 this way now!

greets


Let them talk of their oriental summer climes of everlasting
conservatories; give me the privilege of making my own summer with my
own coals.

http://blog.gnufied.org