Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

You want a Ruby extension? Talk to me, baby

2 views
Skip to first unread message

Joe Van Dyk

unread,
Jan 8, 2006, 3:29:01 AM1/8/06
to
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


Gregory Brown

unread,
Jan 8, 2006, 3:39:12 AM1/8/06
to
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...


gabriele renzi

unread,
Jan 8, 2006, 7:12:30 AM1/8/06
to
Joe Van Dyk ha scritto:

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

Christian Neukirchen

unread,
Jan 8, 2006, 7:52:48 AM1/8/06
to

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

> Thanks,
> Joe
--
Christian Neukirchen <chneuk...@gmail.com> http://chneukirchen.org


Gregory Seidman

unread,
Jan 8, 2006, 8:45:29 AM1/8/06
to

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

Lou Vanek

unread,
Jan 8, 2006, 9:16:32 AM1/8/06
to
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.

Jim Freeze

unread,
Jan 8, 2006, 9:49:46 AM1/8/06
to

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.

--
Jim Freeze

Victor Reyes

unread,
Jan 8, 2006, 10:51:09 AM1/8/06
to
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

On 1/8/06, Joe Van Dyk <joev...@gmail.com> wrote:
>

Bob Aman

unread,
Jan 8, 2006, 12:21:04 PM1/8/06
to
> 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 Aman


Robert Klemme

unread,
Jan 8, 2006, 12:42:29 PM1/8/06
to
Lou Vanek <va...@acd.net> wrote:
> 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.

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

Robert Klemme

unread,
Jan 8, 2006, 12:43:54 PM1/8/06
to

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

Gregory Brown

unread,
Jan 8, 2006, 3:12:29 PM1/8/06
to

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


Lou Vanek

unread,
Jan 8, 2006, 4:12:24 PM1/8/06
to
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.

Gerardo Santana Gómez Garrido

unread,
Jan 8, 2006, 4:55:12 PM1/8/06
to
2006/1/8, Gregory Brown <gregory...@gmail.com>:

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 Santana
"Between individuals, as between nations, respect for the rights of
others is peace" - Don Benito Juárez
http://santanatechnotes.blogspot.com/


Victor Reyes

unread,
Jan 8, 2006, 9:23:40 PM1/8/06
to
Bob, Thank you.

Rich Morin

unread,
Jan 9, 2006, 11:27:27 AM1/9/06
to
At 5:29 PM +0900 1/8/06, Joe Van Dyk 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: r...@cfcl.com, +1 650-873-7841


Eric Hodel

unread,
Jan 9, 2006, 2:03:23 PM1/9/06
to
On Jan 8, 2006, at 12:29 AM, Joe Van Dyk 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.

--
Eric Hodel - drb...@segment7.net - http://segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com


Joe Van Dyk

unread,
Jan 9, 2006, 2:56:24 PM1/9/06
to
On 1/9/06, Eric Hodel <drb...@segment7.net> wrote:
> On Jan 8, 2006, at 12:29 AM, Joe Van Dyk 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


Clifford Heath

unread,
Jan 9, 2006, 9:36:26 PM1/9/06
to
Joe Van Dyk 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.

Eric Hodel

unread,
Jan 10, 2006, 2:37:34 PM1/10/06
to

There's a complete tutorial that ships with RubyInline.

Eric Hodel

unread,
Jan 10, 2006, 2:38:20 PM1/10/06
to

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

men...@rydia.net

unread,
Jan 10, 2006, 2:44:48 PM1/10/06
to
Quoting Eric Hodel <drb...@segment7.net>:

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

He's probably wondering specifically how to get from an RMagick
image to a GdkPixbuf or similar (a question I don't know the answer
to offhand), in pure Ruby.

-mental


Detlef Reichl

unread,
Jan 10, 2006, 3:30:39 PM1/10/06
to
Its very easy:

my_pixbuf = Gdk::Pixbuf.new(rmagic_image.to_blob,
Gdk::Pixbuf::ColorSpace::RGB, false, 8, image_width, image_height,
image.width * 3)

the API reference for the gdk-pixbuf call is:
Gdk::Pixbuf.new(data, colorspace, has_alpha, bit_per_sample, width,
height, rowstride)

rmagic_image.to_blob returns the pixel data

cheers
detlef


> -mental
>

Clifford Heath

unread,
Jan 10, 2006, 5:26:36 PM1/10/06
to
Detlef Reichl wrote:
> Its very easy:

Absolutely *magick*. Thanks all.

Clifford.

0 new messages