You want a Ruby extension? Talk to me, baby


#1

Hi,

I’ve figured that it’s probably worth my time to learn how to better
write Ruby extensions (as a way to practice my C).

Are there any C or C++ libraries out there that someone would
appreciate an open-sourced Ruby extension for?

Thanks,
Joe


#2

On 1/8/06, Joe Van D. removed_email_address@domain.invalid wrote:

Hi,

I’ve figured that it’s probably worth my time to learn how to better
write Ruby extensions (as a way to practice my C).

Are there any C or C++ libraries out there that someone would
appreciate an open-sourced Ruby extension for?

Improving, expanding, cleaning up and otherwise working on the mysql c
binding would certainly be something I’d appreciate. Though I do not
know the status of it’s development activity…


#3

Joe Van D. ha scritto:

Hi,

I’ve figured that it’s probably worth my time to learn how to better
write Ruby extensions (as a way to practice my C).

Are there any C or C++ libraries out there that someone would
appreciate an open-sourced Ruby extension for?

enhancing/updating ruby-gst, the bindings for gstreamer.
IIRC there are no updates to hstreamer 0.10, yet.


#4

Joe Van D. removed_email_address@domain.invalid writes:

Hi,

I’ve figured that it’s probably worth my time to learn how to better
write Ruby extensions (as a way to practice my C).

Are there any C or C++ libraries out there that someone would
appreciate an open-sourced Ruby extension for?

I’d love to see a binding for Metakit:
http://www.equi4.com/metakit/


#5

On Sun, Jan 08, 2006 at 05:29:01PM +0900, Joe Van D. wrote:
} Hi,
}
} I’ve figured that it’s probably worth my time to learn how to better
} write Ruby extensions (as a way to practice my C).
}
} Are there any C or C++ libraries out there that someone would
} appreciate an open-sourced Ruby extension for?

How about libical? It seems to be the gold standard for ical file stuff
and
the pure Ruby ical APIs I’ve tried to use don’t seem to do the job as
well
as I’d like.

} Thanks,
} Joe
–Greg


#6

if you want to wade into the deep end, I would like a method that would
tell me about everything that is in scope when the method is called,
and classify the objects-in-scope as instance variables, class
variables, class
names, global constants, local variables, module names–whatever they
might be.
Symbol.all_symbols is just a tease.

The next thing i would like to do is to be able to “unwind” the
scope by going “up” one level and perform the same symbol dump as
defined above,
except with the new scope. Recurse until at top level. Being able to
filter on
any particular class of object would just be icing.

Not even sure if this is possible, but it would sure be educational.


#7

On Jan 8, 2006, at 2:29 AM, Joe Van D. wrote:

Hi,

I’ve figured that it’s probably worth my time to learn how to better
write Ruby extensions (as a way to practice my C).

Are there any C or C++ libraries out there that someone would
appreciate an open-sourced Ruby extension for?

I would like to see the Packet Capture Library (libpcap) updated.
This library includes classes to access the TCP/IP header and
lets you monitor network traffic.
Currently, the code is for Ruby 1.4.x. This is a very interesting
project
and it may be helpful since you are not starting at ground zero.

I have plans to do the conversion, but it is low on my priority list.

If you want the tar file, just send me an email.


#8

Joe,
I am new to Ruby and I like to do things the “easy” way.

I use DB2 on my job under AIX, an easy, “natural” binding to DB2 would
be
great.

Also, since you appear to have so much energy, how about tackling the
task
of developing a “native” Ruby GUI environment?
I hate everything that is out there. I mean something like the Java GUI
environment, but for Ruby.

Thank you

Victor


#9

How about libical? It seems to be the gold standard for ical file stuff and
the pure Ruby ical APIs I’ve tried to use don’t seem to do the job as well
as I’d like.

I second the vote for getting libical going in a Ruby environment.

Also, Victor, you might want to check out Sam Ruby’s interface for DB2.
http://www.intertwingly.net/blog/2005/12/12/DB2-interface-for-Ruby-progress

Cheers,
Bob A.


#10

Gregory B. removed_email_address@domain.invalid wrote:

binding would certainly be something I’d appreciate. Though I do not
know the status of it’s development activity…

I’m not sure about MS SQL bindings but IIRC they use ODBC and hence are
only
present on Windows builts. If so, integrating http://www.freetds.org
then
would be a good idea.

robert

#11

On 1/8/06, Robert K. removed_email_address@domain.invalid wrote:

Improving, expanding, cleaning up and otherwise working on the mysql c
binding would certainly be something I’d appreciate. Though I do not
know the status of it’s development activity…

I’m not sure about MS SQL bindings but IIRC they use ODBC and hence are only
present on Windows builts. If so, integrating http://www.freetds.org then
would be a good idea.

MS SQL uses ODBC or ADO.
There is an ODBC for *nix. No clue on it’s reliability.


#12

Lou V. removed_email_address@domain.invalid wrote:

icing.
Not even sure if this is possible, but it would sure be educational.

You can get quite far with set_trace_func:
http://ruby-doc.org/core/classes/Kernel.html#M001978

Just store the binding on a stack for all events like “call” and remove
it
for “return”.

I’m sure with a decent C extension this will be more efficient and
probably
more feature rich.

Kind regards

robert

#13

i wasn’t aware of set_trace_func.
good news: it gives you a binding.
bad news: the binding appears to be largely opaque except
for a few “windows” into the binding, such as,

eval(“local_variables”, binding)

and, of course, global_variables and ‘self’, but maybe that’s all
there is to a binding.

So your idea of just pushing and popping bindings is probably
sufficient.
Thanks. Interesting idea.


#14

Bob, Thank you.


#15

2006/1/8, Gregory B. removed_email_address@domain.invalid:

Improving, expanding, cleaning up and otherwise working on the mysql c
binding would certainly be something I’d appreciate. Though I do not
know the status of it’s development activity…

I’m not sure about MS SQL bindings but IIRC they use ODBC and hence are only
present on Windows builts. If so, integrating http://www.freetds.org then
would be a good idea.

MS SQL uses ODBC or ADO.
There is an ODBC for *nix. No clue on it’s reliability.

If this helps, I work with unixODBC + Ruby ODBC + Informix on Solaris
all the time without problems. I wrote an Informix adapter for Rails
this way that works fine

Talking about extensions, I’ll attempt to write the native Informix
extension for Ruby. It would be nice to see if someone else find it
useful.


Gerardo S.
“Between individuals, as between nations, respect for the rights of
others is peace” - Don Benito Juárez


#16

At 5:29 PM +0900 1/8/06, Joe Van D. wrote:

Are there any C or C++ libraries out there that someone would
appreciate an open-sourced Ruby extension for?

http://dynagraph.org

Dynagraph is a set of dynamic graph drawing engines, based on
the work of the Graphviz team at AT&T Research, …

Dynagraph is a platform-neutral library written in C++. It can
be used directly in C++ programs, in Windows programs via COM
wrapper classes, or in other environments using the executable
with input and output over pipes.

-r

Technical editing and writing, programming, and web development:
http://www.cfcl.com/rdm/resume.html

Contact information: removed_email_address@domain.invalid, +1 650-873-7841


#17

On 1/9/06, Eric H. removed_email_address@domain.invalid wrote:

On Jan 8, 2006, at 12:29 AM, Joe Van D. wrote:

Hi,

I’ve figured that it’s probably worth my time to learn how to better
write Ruby extensions (as a way to practice my C).

Pff, writing extensions sucks. Just use RubyInline and save yourself
half the hassle.

Is there any documentation on how to use RubyInline to interact with a
C/C++ library?

Joe


#18

Joe Van D. wrote:

Are there any C or C++ libraries out there that someone would
appreciate an open-sourced Ruby extension for?

I might be out of date, perhaps it’s been done and I don’t
know, but I’d really like a bridge between Ruby-GTK and
ImageMagick, to display dynamically generated images from
IM using GTK.


#19

On Jan 9, 2006, at 11:56 AM, Joe Van D. wrote:

Is there any documentation on how to use RubyInline to interact with a
C/C++ library?

There’s a complete tutorial that ships with RubyInline.


Eric H. - removed_email_address@domain.invalid - http://segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com


#20

On Jan 9, 2006, at 6:38 PM, Clifford H. wrote:

Joe Van D. wrote:

Are there any C or C++ libraries out there that someone would
appreciate an open-sourced Ruby extension for?

I might be out of date, perhaps it’s been done and I don’t
know, but I’d really like a bridge between Ruby-GTK and
ImageMagick, to display dynamically generated images from
IM using GTK.

You don’t need an extension for that. You’ve already got Ruby-GTK
and RMagick. Just glue them together with Ruby.


Eric H. - removed_email_address@domain.invalid - http://segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com