Ruby jobs

Jim Freeze wrote:

I’m curious if you are using a coding standard and if you
use a test-first coding methodology with UnitTest.

Has it been easier or harder to use ruby in a multiple
programmer environment than C or C++?

Just curious.

The business objects have all been implemented test-first, but the interface
objects have only been tested by a human at a browser. Working on this.
We use Lapidary, which is now Test::Unit to write all of the tests. We use
CVS for version control, and this has been much the same process as with
any language. It hasn’t been at all difficult to use in a multi-programmer
environment. On the contrary, it has been very easy to split and
coordinate tasks between programmers along class, module, and tier lines.
We start with a UML diagram which is law, implement tests for the objects,
and develop to those tests.

I should mention that I have never worked on a multi-programmer C/C++
program, having only written C programs alone. Our project was originally
written on Windows for Visual Foxpro, and it is definitely easier for
multiple programmers to work on Ruby in a Linux environment. Compared to
large projects I have worked on in Perl, with many developers and lots of
classes, I definitely find the Ruby easier to work with, especially since
programmers don’t tend to find as many different ways to write a Ruby class
as a Perl programmer might. Compared to Python I guess I’d say I like Ruby
slightly better, because the DBI module is easy for people to understand
and the form of a Ruby program is easy for Perl and Java programmers to
pick up.

At the time we started the project, we weren’t aware of any local Ruby
programmers, so hired Perl, Java, FoxPro, and C++ programmers instead.
It’s all the same to them. Now I know there are several Ruby programmers
in Austin and hopefully some day we’ll have the budget to work with them.

Kyle Rawlins wrote:

Is anyone, like, making money writing Ruby programs yet? Not the books or
speeches; the actual “Value Added” thing.

I am using ruby on a corpus linguistics project I am working on. Of
course the money (and it’s a token amount, rather than the reason I’m
doing it) is really being paid for answers to research questions, and it
doesn’t matter what language I use to anyone except me. Nevertheless I
have the feeling that ruby is getting a bit of use in this sort of
research setting, and will continue to get more.

Ruby is a natural for the research world, because it’s possible to write
ruby code that can be read by people who are technically proficient in
the subject domain, but whose only contact with programming was a C or
Pascal class years ago. This is partly because of the syntax being
fairly close to traditional languages, without too many surprises, and
partly because of things like GC and the consistent object model. But
also, it’s easy to use ruby’s blocks to create a “little language” that
is very close to the research domain.

I’ve been lucky to be able choose the best tool for the job in my work,
and so I use Ruby for all tasks where speed is not critical. This ranges
from text file manipulation to simulation specification, control, and
visualization. In some speed-critical cases, I even use ruby to generate
C code from specifications written in ruby, further insulating the
research-oriented user from the dangers of C.

At the moment I’m the only ruby programmer in the group, but, in the
next year, two or three of my coworkers (whose programming skills are
mostly C/C++) will probably learn some ruby.

···

On Sun, 2002-09-01 at 15:18, Phlip wrote:

rich-

a quick overview of my endeavor: my main requirements being
cross-platform and then ease of development. of course it would also be
nice to get native integration, but i can forgo that if need be.

providing a gui to my ruby app began with html. i have to admit that i
like html. it is reasonably easy to mark up forms by hand, it is also
cross-compatable and allows for a great deal of versitility in page
layout, but speed and stateless opertation were problematic (javascript
helped some but was a coding and cross-platform pain). then there was
tk, problem there? lack of more capable widgets primarily, which
nullified its realatvie ease of coding and good docs. then FOX, which i
did not find easy to code, and had poor docs. considered GTK, but that’s
linux only. and so forth and so on.

when you really get down to it though, the major hurdle is that lack of
rad tools, or at least some form of rad-like programmability. i have a
farily complex app to build and maintain by my lonesome, and considering
all that i have to do in addition, i don’t really relish the idea of
spending numerous months hand coding guis, especially when the end
result is lack luster anyway.

in part i suppose i am just being lazy, but the reality is i simply
don’t have the time.

okay, i guess i also must admit that i’m spoiled from my VB work, where
a complex form’s creation took merely a day or two. while i don’t mind
coding, the verbosity and nit-picking detail that one must go through
currently is just gut wrenching.

does that clarify enough?

by the way what is this very differnt kind of gui :wink:

···


tom sawyer, aka transami
transami@transami.net

just looked at pdflib. it is commerical for commercial use (my
intention) and does not come very cheap at $1000 per server. unlimited
ditribution rights are $15,000, perhaps worth it in the long run, but at
that price i’m not sure. now if it came with a gui report designer tool
then i’d might bite.

If your report writing endeavors don’t justify $1000, then you’re
right, pdflib might not be for you.

IANAL, but, look at section 2(b) of the PDFlib license:

http://www.pdflib.org/pdflib/aladdin-license.pdf

(b)
Activities other than copying, distribution and modification of the
Program are not subject to this License and they are outside its
scope. Functional use (running) of the Program is not restricted,
and any output produced through the use of the Program is subject to
this license only if its contents constitute a work based on the
Program (independent of having been made by running the Program).

I take this to mean that if I host my report writing application in an
ASP model, do not sell the actual code and any programs that use PDFlib
are “for my own use only” … and I only sell the ability to run the
reports and sell the resulting PDF document … it doesn’t violate
their license agreement.

Either way, $500 for their 1-CPU server license for PDFlib is more than
reasonable and just gets billed to the client, anyway. The value the
client gets out of the reports more than justifies the $500 cost …

– Dossy

···

On 2002.09.02, Tom Sawyer transami@transami.net wrote:


Dossy Shiobara mail: dossy@panoptic.com
Panoptic Computer Network web: http://www.panoptic.com/
“He realized the fastest way to change is to laugh at your own
folly – then you can let go and quickly move on.” (p. 70)

Funny, speaking of Ruby jobs, right now I’m paid by one of my
clients to write reports in Ruby. They’re all very printable.
For the one report that needed finer-grain control, it generates
a PDF using pdflib and the Ruby bindings for it …

that’s not funny at all! in fact you may have made my day! could you
elaborate a little more on how you create these reports.

Ruby/DBI talking to an Oracle data warehouse, shoveling the data through
a utility class we developed, then finally spitting out the resulting
output (with some formatting hints and layout templating) to a PDF
document. That PDF document then is made available via the client
extranet for the client to download, view and/or print.

The client is very happy.

i thought pdflib was a commercial product, not open source. ? i have to
take another look.

There’s nothing wrong with using commercial, non-open software, if it
does the job and there is no better non-commercial, open source
alternative.

People need to earn a living, you know …

– Dossy

···

On 2002.09.02, Tom Sawyer transami@transami.net wrote:

On Sun, 2002-09-01 at 09:57, Dossy wrote:


Dossy Shiobara mail: dossy@panoptic.com
Panoptic Computer Network web: http://www.panoptic.com/
“He realized the fastest way to change is to laugh at your own
folly – then you can let go and quickly move on.” (p. 70)

If you want to make PDFs from Ruby an alternative could be to use XSL FO and
then run of several programs that can perform the transformation (Jakarta FOP
comes to mind and there are others). Ruby can easily generate the .fo file
for you :slight_smile:


Signed,
Holden Glova

···

On Mon, 02 Sep 2002 04:26, Tom Sawyer wrote:

On Sun, 2002-09-01 at 09:57, Dossy wrote:

Funny, speaking of Ruby jobs, right now I’m paid by one of my
clients to write reports in Ruby. They’re all very printable.
For the one report that needed finer-grain control, it generates
a PDF using pdflib and the Ruby bindings for it …

that’s not funny at all! in fact you may have made my day! could you
elaborate a little more on how you create these reports.

i thought pdflib was a commercial product, not open source. ? i have to
take another look.

What UML tool did you use. Does it support round-trip engineering
for ruby? If not, could it export the class defintions at least?

Jim

···

On Tue, Sep 03, 2002 at 02:01:12AM +0900, Gabriel Emerson wrote:

The business objects have all been implemented test-first, but the interface
objects have only been tested by a human at a browser. Working on this.
We use Lapidary, which is now Test::Unit to write all of the tests. We use
CVS for version control, and this has been much the same process as with
any language. It hasn’t been at all difficult to use in a multi-programmer
environment. On the contrary, it has been very easy to split and
coordinate tasks between programmers along class, module, and tier lines.
We start with a UML diagram which is law, implement tests for the objects,
and develop to those tests.


Jim Freeze
If only I had something clever to say for my comment…
~

I agree.
My experience with a two person team is that with a very limited
coding standard, the Ruby code that gets generated seems to be
uniform and consistent, no matter what level the programmers are.
Ruby seems to encourage good code layout (especially if while loops
are only used when iterators cannot be).

There are so many ways to write bad code in C/C++ it is (almost?) impossible
to control with a coding standard.

···

On Tue, Sep 03, 2002 at 02:01:12AM +0900, Gabriel Emerson wrote:

I should mention that I have never worked on a multi-programmer C/C++
program, having only written C programs alone. Our project was originally
written on Windows for Visual Foxpro, and it is definitely easier for
multiple programmers to work on Ruby in a Linux environment. Compared to
large projects I have worked on in Perl, with many developers and lots of
classes, I definitely find the Ruby easier to work with, especially since
programmers don’t tend to find as many different ways to write a Ruby class
as a Perl programmer might. Compared to Python I guess I’d say I like Ruby
slightly better, because the DBI module is easy for people to understand
and the form of a Ruby program is easy for Perl and Java programmers to
pick up.


Jim Freeze
If only I had something clever to say for my comment…
~

Tom Sawyer wrote:

rich-

a quick overview of my endeavor: my main requirements being
cross-platform and then ease of development. of course it would also be
nice to get native integration, but i can forgo that if need be.

nullified its realatvie ease of coding and good docs. then FOX, which i
did not find easy to code, and had poor docs. considered GTK, but that’s
linux only. and so forth and so on.

I wait for the qt3 bindings. QT is the most reasonable GUI toolkit
(besides perhaps Delphi)

Christian

What is this very different kind of GUI?? Ahhh… that would be telling…
Rich Kilmer knows a bit about it. We’re trying to leverage Flash… the
power and ease of Ruby with the drawing API and player base of Flash…
we’ll see if it pans out.

I’ll keep your suggestions on an ever growing list. I think most of them
will be easy to answer.

What a GUI should offer::

···

is cross-platform
has ease of development
has native integration
makes it reasonably easy to mark up forms by hand
is cross-compatable
allows for a great deal of versitility in page layout
has speed and stateless opertation
has capable widgets
allows realatvie ease of coding
has good docs
NOT linux only (or windows only)
has rad tools, or at least some form of rad-like programmability
won’t be spending numerous months hand coding guis
not have the end result (is) lack luster anyway
allows you to just be(ing) lazy
accepts the fact that you don’t have the time
allows a complex form’s creation to take (took) merely a day or two
avoids the verbosity and nit-picking detail


So - you’re saying that if a GUI offered all that - you’d use it?

Anything else?

: )

-Rich

----- Original Message -----
From: “Tom Sawyer” transami@transami.net
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Sunday, September 01, 2002 11:21 AM
Subject: Re: What would you want in a Ruby GUI? - WAS: Re: Ruby jobs

Jim Freeze wrote:

What UML tool did you use. Does it support round-trip engineering
for ruby? If not, could it export the class defintions at least?

Jim

Unfortunately, while the tool can generate classes for FoxPro and I think
Visual Basic, it is incompatible with Ruby. We just work from the
diagrams. I have long hoped to adapt the XML output of DIA for the
purpose, but haven’t made any progress toward that goal. One of the
sticking points right now is the bias between our RDBMS and business
objects, which right now is handled by a somewhat unwieldy data access
layer. The UML couldn’t generate the code for it even if it could generate
the base classes, so it hasn’t been much of an issue.