Zed Shaw - Ruby has dodged a bullet

L

Luis Lavena

I can't help you with ruby-core, but I *can* test MinGW (and Cygwin,
which I prefer) versions of Ruby. :) I think the real issue isn't
performance or open versus closed source, though. The real issue is that
a large number of Windows "workstations" are inside very tightly
controlled IT environments, and *anything* other than approved software
is frowned upon. That includes One-Click, MinGW, Cygwin, and lots of
other things.

Yeah, those tight controlled environments play they role in the
equation. I've seen also tightly controlled linux servers too.
Now if you're talking about *servers*, I'd be inclined to join in the
chorus of "get a real OS". ;) Seriously, though, Windows servers *using
all of the native Microsoft tools* have an unjustified bad reputation.
They're fine tools, the performance is competitive with the LAMP stack
(now), and the .NET development environment is world-class. But why pay
the Windows license fees for the base server OS if you're going to run
Apache, MySQL or PostgreSQL, and Ruby/Rails or PHP? Why not just get
Debian, Fedora, CentOS (free), or even RHEL, which is cheaper than
Windows Server?

Ok, maybe I should add some light on this, since it seems I been keep
associated with *servers* all the time.

I don't use Windows Servers, neither all the Microsoft tools for the
job. I develop and create solutions for TV Stations and cable/
satellite networks.

The problem with that is some of the hardware (the real hardware in
charge of stream the content to your tv, either in analog or digital
way) works on Windows. There are some comapnies just starting using
Linux as platform to develop their drivers, but the viral nature of
GPL and some zealots make them keep that secret.

You see, these companies invest a huge amount of money creating
hardware, but there are also other companies that do the same -- there
is some competition. Some ppl demand (yeah, demand) comapnies should
release the source code of they propietary hardware, just to be
allowed enter the linux community. That will impact on their
investment.

Come on, I don't see Ford or Audi open the internals of their motors
(black box), but they still sell so many cars.

Ok, I work on that area. That hardware, even it's expensive, need
coding, need a software run on top of these NDA-powered SDK to be
useful. That's my job, that's is what I do.

NOTE: before users start pointing me "hey, there is VLC" or "hey,
MythTV can do that"... stop right there. That is amateurish, that is
for your computer, for your home, that is not broadcast.

Search for Broadcast television and eat all the papers about broadcast
analog tv standards, all the MPEG specifications, DVB and ATSC, code
your first 24x7 software to handle 16 channels ad insertion solution
and _then_ we can talk about it.

So, even that I use Windows, doesn't meant I will use all the tools
Microsoft want me to sell. Is not a issue of speed, but maintainance.
I need to control my environment, not someone else.
deployment and maintainance nightmares happens on every OS, not just
Windows. Take a look at the so-many-different packaging systems that
exist for linux. There are too many that keep track of them and their
features is almost impossible.

I choose Ruby even that Python is more mature on Windows platforms.
Why? Because after 3 years of using it (python) just get tired of 4
spaces identations (and no tabs!). (Well, there is more but I'll not
trash that language here).

With respect to anyone suggestion this *all over again*: You keep
using your OS of choice, I'll keep using mine, we (everybody) have
their own reasons. If we respect eacho the world will be a better
place to live.
 
T

Thufir

Well, briefly -- in most cases, a Ruby extension written in C needs to
be compiled and "linked" (converted to a DLL)


Completely off topic, but what's the equivalent for Linux?


-Thufir
 
M

Michal Suchanek

The problem with that is some of the hardware (the real hardware in
charge of stream the content to your tv, either in analog or digital
way) works on Windows. There are some comapnies just starting using
Linux as platform to develop their drivers, but the viral nature of
GPL and some zealots make them keep that secret.

You see, these companies invest a huge amount of money creating
hardware, but there are also other companies that do the same -- there
is some competition. Some ppl demand (yeah, demand) comapnies should
release the source code of they propietary hardware, just to be
allowed enter the linux community. That will impact on their
investment.

Well, some jerks might demand whatever they wish. However, GPL
requires that the source code of the software is released, not sources
of the hardware. I know many hardware vendors feel that releasing the
drivers might reveal too much about their solution and might put them
at disadvantage or even risk of patent suits (as it is harder to claim
patents against something completely unknown than something partially
known). Still Linus made an exception for driver modules: only the
changes to the Linux core that are needed to make the driver work with
the kernel have to be released, the driver itself can be kept
proprietary. And all this only applies if they want to sell the
hardware. As long as they keep it for themselves they need not release
anything.

I do not want to judge the arguments against releasing the source of
the drivers, sometimes it is even legally impossible because of
government regulations (when dealing with radio and possible
interference with reserved frequencies). Arguing with GPL when
speaking against using Linux is complete nonsense, though, There might
be reasons, and good reasons but this is not one of them.

Thanks

Michal
 
J

Jason Roelofs

[Note: parts of this message were removed to make it a legal post.]

a lib*.so file

Jason
 
M

Michal Suchanek

Completely off topic, but what's the equivalent for Linux?

It has to be compiled. For every architecture, every libc version, ...

It's jut more common for people running Linux to be set up for this
(or using a distribution that packages precompiled stuff for them).

On Windows it is assumed that software is proprietary and it either
just works or you trash it. So there is no infrastructure for dealing
with software for which the source is available in place.
Which means that the ruby community would have to provide binaries of
every library Ruby uses, every gem, for every libc version, for both
architectures MS supports, ... for this to work smoothly. But that's
too much work. The library authors only compile for the oldest most
widespread libc version, and since ruby uses these libraries the One
Click Installer does the same..

Thanks

Michal
 
L

Luis Lavena

Well, some jerks might demand whatever they wish. However, GPL
requires that the source code of the software is released, not sources
of the hardware. I know many hardware vendors feel that releasing the
drivers might reveal too much about their solution and might put them
at disadvantage or even risk of patent suits (as it is harder to claim
patents against something completely unknown than something partially
known). Still Linus made an exception for driver modules: only the
changes to the Linux core that are needed to make the driver work with
the kernel have to be released, the driver itself can be kept
proprietary. And all this only applies if they want to sell the
hardware. As long as they keep it for themselves they need not release
anything.

Err, bad typing, I meant 'propietary software' not hardware :)
I do not want to judge the arguments against releasing the source of
the drivers, sometimes it is even legally impossible because of
government regulations (when dealing with radio and possible
interference with reserved frequencies). Arguing with GPL when
speaking against using Linux is complete nonsense, though, There might
be reasons, and good reasons but this is not one of them.

I just tried to show just one point about that, but is not the whole
picture.
(After all, wasn't about Windows, Ruby Windows or whatever else the
real topic of this thread).

Thank you for sharing your thoughts Michal,

Regards and have a nice week.
 
M

Martin DeMello

1. Rebol is slow. It was pretty much the slowest thing in the Alioth
shootout the last time I ran the analysis.

This from a rubyist? :)
2.The problem I have with Factor is that it's so close to Forth that I
don't see any advantage in learning it, since I already know (and love)
ANS Forth.

Fair point. Since I don't know any forth dialect, I figured I'd invest
in one that's being done from scratch (both for the excitement and for
the fact that it won't have accumulated historical cruft).

martin
 
M

M. Edward (Ed) Borasky

Thufir said:
Completely off topic, but what's the equivalent for Linux?


-Thufir

There is a compiler, usually gcc but others exist. It translates the C
code to an object file. Then there is a linker which collects all of the
object files and translates them to a "shared library", which usually
has a name ending in ".so". At run time, the shared library is brought
into working memory the first time a Ruby program references it, and
other Ruby programs can then reference it without having to load another
copy.
 
G

Giles Bowkett

Jari Williamsson kirjoitti:

Well... Given that Giles there is one of those 'good coders' who snipe
at people who he sees as inferior coders... I must say you are on the
wrong track Jari. Tahvoja ne on molemmat

Oh my God. Giles is not a perfect human being, therefore you should
not pay attention to anything he says on his blog.

Talk about projection, too. I don't think thefed is an "inferior
coder." I think he's a very spirited whippersnapper who told me to
wrap up somebody else's code as a gem for him because he had homework
to do. So I said sometimes I want to keep Zed Shaw in a cage and feed
him newbies. So what? Lighten up man. Sometimes whippersnappers get
whipped and snapped. Sheesh.
I say Go Zed! Tell it like it is! 8)

Heh. I agree and disagree. A) having the kind of "angry guy"
personality Zed gives off in that particular post is a huge risk
indicator for heart disease. More so than obesity. Being that angry
literally makes you sick, in a very dangerous (to yourself) way. On
the other hand it is nice to hear bullshit called bullshit, because
honesty is a good thing, but I think he got kinda carried away with
it. Also I really dislike when people call other people gay as a way
of insulting them, prejudice against gay people has gotten gay people
killed, it's not cool. Also it really doesn't have a lot to do with
code.
My perceptions are similar to his in regards to these strange
better-thab-thou-ex-php-wanna-be-coder-characters accumulating around
the Rails. And its time to ditch the (ruby-)rose-colored glasses that
seem to have been falling on peoples eyes in regard to anything
Ruby-related.

There's certainly a lot of BS in the Rails community. I got myself
kicked off the Rails list. I'm no fan of the way Rails people
congregate. On the other hand I use Rails every day and I find it
massively useful (although slightly boring at this point). If the
community bugs you, and you're a superstar God codah hero like Zed,
you can in fact just play reclusive and chill instead of getting angry
about things. Anybody who interacts with a particular cliche type of
Rails programmer, the PHP guy with a ton of attitude and nothing to
back it up, anybody who encounters that gets tired of it and ready to
bite off heads, but it's easy enough to avoid. Especially if you're
someone like Zed. A guy like that can easily just make people come to
him if going into their community bothers him. You contribute
something like Mongrel, you have enough leverage to command respect.
All you got to do is invest in your people skills a little bit.
Sometimes it seems to me almost ALL rails 'experts' I meet or have any
kind of dialogue with JUST CAN'T WRITE GOOD CODE. Or know it when they
see some. They make snide comments in order to hide their poor skills
etc. *puts a leash on forthcoming rant*

The snideness and general interpersonal unpleasantness tolerated in
the Rails community is pretty horrible.
And I am not even CS person, just an artist whose life is on "The Web."
But I like coding. And code. I must say I have NO idea about rails
code/deployment/maintaining qualities, Ive only used Heroku.

It seems to me the Rails community really has some self-studying to do.

That's one way to say it. I see it the other way. If there's a
healthier community, it's really easy for people from that healthier
community to steal people away if/when they want to, since the Rails
community does have some abusive aspects, and good people deserve a
good community.

The Rails community isn't likely to do any deep soul-searching as a
result of this. This is the kind of thing where people outside a
community will shake their heads and go, "Saw that coming," while
people *inside* the community will laugh, shrug it off, or just get
even nastier. Whatever it is that makes the Rails community so
unpleasant, it won't be undone by something like Zed's experience. I
indulged in a very similar but much smaller explosion when I got
myself kicked off the Rails list, and it didn't have any effect on
anyone. That means Zed wasn't the first, and if he wasn't the first,
he probably won't be the last. That's not how groups of people work.
Toxic social systems are generally self-perpetuating. The furious
departure could become a recurring cycle in the Rails community pretty
easily. The next time it happens, they'll probably say "Bye Zed" to
whoever the next guy is and laugh about it. "Hahaha, you called him
Zed", etc.

I think the only question worth thinking about here is how do we make
damn sure that whatever the hell is wrong with the Rails community
never becomes a problem for us.
Yes! Ruby is sweet like sweet red grapefruits and I hope all your 2008
is sweet too!

Yah! :)

--
Giles Bowkett

Podcast: http://hollywoodgrit.blogspot.com
Blog: http://gilesbowkett.blogspot.com
Portfolio: http://www.gilesgoatboy.org
Tumblelog: http://giles.tumblr.com
 
K

khaines

Anyways, back to Zed: Despite some people claiming "it's not that
hard", people willing to write robust, stable, C extensions for Ruby
are very few and far between it seems. Pure Rubyists are a dime a
dozen in comparison. At least that's my perception of things.

Extensions _aren't_ that hard. Not for the Ruby->C glue, anyway. Most of
the problems with extensions come from the same things that are always a
problem for C/C++ code -- memory management. The actual act of creating
an extension, though, isn't that hard. It's kind of fun, too.


Kirk Haines
 
M

M. Edward (Ed) Borasky

Martin said:
This from a rubyist? :)

I guess you haven't seen my RubyConf 2007 paper. Rebol is slower than
Ruby ... a *lot* slower.
Fair point. Since I don't know any forth dialect, I figured I'd invest
in one that's being done from scratch (both for the excitement and for
the fact that it won't have accumulated historical cruft).

Yeah ... I buzzed by the Factor web site again. Slava has attempted to
merge Forth and Lisp concepts into a new language, even though it looks
more like Forth on paper. The one thing that struck me about that
concept is that the "native" programming language of the Hewlett-Packard
HP-28, HP-48 and HP-49 is something called RPL, which stands for Reverse
Polish Lisp.

RPL looks much like Forth, but I think it's a much more elegant language
than Forth. Built in data types, in addition to real and complex
numbers, include strings, algebraic expressions, binary constants,
matrices and "programs". IIRC it is recursive as well; it definitely has
a functionality equivalent to "lambda". But HP has always considered it
a dialect of Lisp, not a dialect of Forth.
 
J

James Britt

Giles said:
I think the only question worth thinking about here is how do we make
damn sure that whatever the hell is wrong with the Rails community
never becomes a problem for us.


Exactly.

Part of that will mean self-policing. When someone on the list decides
to unload with the vitriol, the rest of us need to step up and insist on
some basic maturity.

That doesn't mean people can't or shouldn't point out weak arguments,
unsound ideas, bad code, etc, just that being nasty is self-serving and
bad for the Ruby community.
 
J

Joel VanderWerf

Jay said:
Tiger Woods takes golf lessons every week.

My voice teacher, who you have all heard on Domino's and Pillsbury
commercials, has a voice teacher. His voice teacher has a voice teacher.
All the greats spend all their lives studying and jamming with the other
greats.

OTOH (and OT), Nicolo Paganini, arguably the first rock star, gave up
practicing the violin in between his pyrotechnic concerts.

Or so the story goes, but then there's also a story about some kind of
deal with the Prince of Darkness....
 
M

Michael Schuerig

I think the only question worth thinking about here is how do we make
damn sure that whatever the hell is wrong with the Rails community
never becomes a problem for us.

So what *is* wrong with the Rails community? I take it, that behavior
like Zed's or your own, whatever it may be, can't be it. There are
annoyances, of course, people asking questions and demanding answers
("bump") without doing the slightest research beforehand. Well, that's
easily ignored, the worst about it is the traffic it generates. Are
Rails people unpleasant in the real world? Honestly, I don't meet that
many to judge the case. If anyone of those I did meet was unpleasant,
it was entirely unrelated to Rails or Ruby.

Michael
 
J

John Lam (DLR)

M. Edward (Ed) Borasky [mailto:[email protected]]
1. Microsoft has a Ruby product in the works, which is called IronRuby.
It is as I understand it an open source project, under development by a
small team including John Lam. I haven't heard the latest status, but
as
of RubyConf 2007 it was still "under construction".

We still have a lot of work ahead of us, but we've now got a lot of the cor=
e language implemented. The last major pieces are the *_eval methods that a=
ccept strings as parameters, and that is tied to our implementation of the =
DLR hosting interfaces.

Library implementation is where we're weakest, but thanks to the awesome Ru=
binius spec suite, we've got a good definition of the work we have left to =
do.

-John
 
S

Sam Smoot

Extensions _aren't_ that hard.  Not for the Ruby->C glue, anyway.  Most of
the problems with extensions come from the same things that are always a
problem for C/C++ code -- memory management.  The actual act of creating
an extension, though, isn't that hard.  It's kind of fun, too.

Kirk Haines

Right, not really what I meant exactly. Probably should have kept my
mouth shut, but I was thinking of a comment on RubyInside, where the
poster said something to the effect of: "So he wrote a faster Webrick,
big deal! It's a piece of cake!"

It just seemed to me that some people are responding by belittling
Zed's contribution of Mongrel. I can't think of another contribution
to Rails' success since 1.0 that even comes close. It's not like
people who are willing to write these sort of things, like Zed is/was
with Mongrel, or yourself with Swiftiply and EventMachine, or
MentalGuy with FastThread, or Wycats with DataObjects, or Evan with
Rubinius exactly grow on trees. The people that are making these types
of contributions, and more importantly delivering working, stable
code, are relatively rare. When we lose one it's a shame.
 
J

Jason Roelofs

[Note: parts of this message were removed to make it a legal post.]

Right, not really what I meant exactly. Probably should have kept my
mouth shut, but I was thinking of a comment on RubyInside, where the
poster said something to the effect of: "So he wrote a faster Webrick,
big deal! It's a piece of cake!"

It just seemed to me that some people are responding by belittling
Zed's contribution of Mongrel. I can't think of another contribution
to Rails' success since 1.0 that even comes close. It's not like
people who are willing to write these sort of things, like Zed is/was
with Mongrel, or yourself with Swiftiply and EventMachine, or
MentalGuy with FastThread, or Wycats with DataObjects, or Evan with
Rubinius exactly grow on trees. The people that are making these types
of contributions, and more importantly delivering working, stable
code, are relatively rare. When we lose one it's a shame.
For the record, it's Francis who does EventMachine, but your point is no
less valid.

I've read through a lot of Zed's blog now, and I do feel sorry for the guy,
being pidgeon-holed like that now. There's a lot of truth to what he says,
you just have to ignore the brashness that he uses in his delivery.

I hope he's able to get past this and continue doing great work, though from
the sounds of it he'll try to get back into management and only do coding as
a last resort. No, Ruby didn't dodge a bullet, Ruby lost a very capable
contributor.

Jason
 
K

khaines

Right, not really what I meant exactly. Probably should have kept my
mouth shut, but I was thinking of a comment on RubyInside, where the
poster said something to the effect of: "So he wrote a faster Webrick,
big deal! It's a piece of cake!"

It just seemed to me that some people are responding by belittling
Zed's contribution of Mongrel. I can't think of another contribution
to Rails' success since 1.0 that even comes close. It's not like
people who are willing to write these sort of things, like Zed is/was
with Mongrel, or yourself with Swiftiply and EventMachine, or
MentalGuy with FastThread, or Wycats with DataObjects, or Evan with
Rubinius exactly grow on trees. The people that are making these types
of contributions, and more importantly delivering working, stable
code, are relatively rare. When we lose one it's a shame.

Gotcha. I took it as a technical comment, not a social one. I agree
about the social comment. I think a big reason for that, and that I think
is one of the points of Zed's rant, is that things like that take a hell
of a lot of time, and can still be very hard to convert into something
that actually pays the mortgage & feeds the kids.

I don't think the Ruby world is different than others in that respect, but
I do think that the practical demand to do something with one's time that
earns one a living, as you well know, applies a lot of backpressure on the
drive to innovate and to try new things.


Kirk Haines
 
M

Martin DeMello

I guess you haven't seen my RubyConf 2007 paper. Rebol is slower than
Ruby ... a *lot* slower.

I know :) I meant that Ruby is the other language about which we say
"look everyone! cool language! programmer productivity! fun!" and they
turn up their noses and say "omg slow".
Yeah ... I buzzed by the Factor web site again. Slava has attempted to
merge Forth and Lisp concepts into a new language, even though it looks
more like Forth on paper. The one thing that struck me about that
concept is that the "native" programming language of the Hewlett-Packard
HP-28, HP-48 and HP-49 is something called RPL, which stands for Reverse
Polish Lisp.

RPL looks much like Forth, but I think it's a much more elegant language
than Forth. Built in data types, in addition to real and complex
numbers, include strings, algebraic expressions, binary constants,
matrices and "programs". IIRC it is recursive as well; it definitely has
a functionality equivalent to "lambda". But HP has always considered it
a dialect of Lisp, not a dialect of Forth.

Interesting! Rebol is in many ways a Forth/Lisp cross too, and of
course there's Joy, but that never seemed like a 'real world' language
somehow.

martin
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,273
Latest member
DamonShoem

Latest Threads

Top