RMagick 2.3.0

I’ve just uploaded RMagick 2.3.0. This release adds two new methods to
the Image class. The encipher method produces an enciphered version of
an image. The decipher method produces a deciphered version of an
enciphered image.

Several methods have been deprecated and replaced by new methods. The
Pixel#to_hsla and Pixel.from_hsla methods replace the deprecated
Pixel#to_HSL and Pixel.from_HSL. The Image#alpha() and Image#alpha?
methods replace the deprecated Image#alpha attribute. The Image#mask()
method replaces the Image#mask= method.

The Pixel#to_color method now accepts an optional argument to force the
color name to be rendered in hex format, i.e. #RRGGBB, even when the
color is a named color.

This release includes a fix for bug #18271, a bug in the RVG#width and
#height methods reported by Greg Jarman.

Taking a cue from RubyGems 1.1.0, I’m deprecating the use of RMagick
with Ruby 1.8.2 and 1.8.3. Although these releases are still supported
in 2.3.0, support will be removed in a future release.

RMagick 2.3.0 is available in a tarball compressed using LZMA
compression, which produces a noticeably smaller package. On *nix-like
systems you can (assuming you have 7zip installed) unpackage this file
with the command:

7z e RMagick-2.3.0.tar.lzma -so | tar xv

RMagick 2.3.0 is available as always at RubyForge:
http://rubyforge.org/projects/rmagick/. Please wait a few hours for the
mirrors to be updated.

RMagick 2.3.0 is an interface to the ImageMagick (www.imagemagick.org)
and image processing library. RMagick supports more than 100 image
formats, including GIF, JPEG, PNG. RMagick comes with comprehensive HTML
documentation, including 185 complete examples.

Thanks for the great work!

However there is one thing I don’t get: Sure it makes sense to just keep
support for one image library. But why did you drop support for the
faster and more reliable one, and not the other way around?

David S. wrote:

Thanks for the great work!

You’re welcome!

However there is one thing I don’t get: Sure it makes sense to just keep
support for one image library. But why did you drop support for the
faster and more reliable one, and not the other way around?

I suppose you’re trying to say that your opinion is that GraphicsMagick
is faster and more reliable than ImageMagick. I’m sure there are many
people who would agree with you, and many that would disagree with you.
Personally I don’t have an opinion, and I can honestly say that such
considerations never entered my mind.

RMagick is a hobby for me. As such I have to consider how much time and
energy I want to invest in it. Maintaining a single version that
supports all releases of GraphicsMagick, all releases of ImageMagick
since 6.0.0 (about 40 now), and all releases of Ruby since 1.6.7 was
taking more work than I cared to invest. Therefore, going forward, I
decided to limit enhancements to RMagick to the RMagick 2 series, with
support for just the newer releases of Ruby and ImageMagick.

However, it’s not the case that I dropped all support for
GraphicsMagick. RMagick 1.15.13 supports all releases of GraphicsMagick,
as well as older releases of ImageMagick and older releases of Ruby,
although that support is bug-fixes only. This is ongoing. I downloaded
the GM 1.2 beta last night, and if any changes are necessary to support
1.2, I hope to make them in a new RMagick 1.15 very soon.

RMagick is a volunteer effort. If you’d like to see enhanced support for
GraphicsMagick in RMagick, and you’re interested in contributing your
work, drop me a line. You should be reasonably familiar with C
programming and either be familiar with or able to learn the Ruby and
GraphicsMagick C APIs.

RMagick is a hobby for me.

And one that has an astounding quality (especially considering usable
and “reusable” documentation), if I may state so.
I am still in love with the SVG ducky.

Enough with the praises, thanks! =)

Marc H. wrote:

Enough with the praises, thanks! =)
(Blush!) That’s my Friday “paycheck”.

RMagick is a volunteer effort.

I know that and I greatly appreciate it.

I suppose you’re trying to say that your opinion is that GraphicsMagick
is faster and more reliable than ImageMagick. I’m sure there are many
people who would agree with you, and many that would disagree with you.
Personally I don’t have an opinion, and I can honestly say that such
considerations never entered my mind.

Well, I’ve had no opinion about this at the beginning. Then I’ve tried
to collect some information about it and came to the conclusion that
GraphicsMagick seems to be the better choice in terms of reliability and
speed (correct me if I’m wrong):

  1. GraphicsMagick aims to be reliable as well as efficient in terms of
    memory consumption and speed:
    GraphicsMagick Mission Statement

1.1) seems to be proved by:
http://www.graphicsmagick.org/www/BENCHMARKS.html
though it is an old benchmark. I’ve found no evidence on the ImageMagick
site that performace improvements have been made by then.

1.2) and proved by:
http://packages.debian.org/search?keywords=libmagick&searchon=names&suite=testing&section=all
ImageMagick: several entries are marked as security patch.

http://packages.debian.org/search?keywords=libgraphicsmagick&searchon=names&suite=testing&section=all
GraphicsMagick: no such markers

However, it’s not the case that I dropped all support for
GraphicsMagick. RMagick 1.15.13 supports all releases of GraphicsMagick,
as well as older releases of ImageMagick and older releases of Ruby,
although that support is bug-fixes only. This is ongoing. I downloaded
the GM 1.2 beta last night, and if any changes are necessary to support
1.2, I hope to make them in a new RMagick 1.15 very soon.

I’ve just switched to ImageMagick and RMagick 2 yesterday, and will see
how it is going. I’ve just got my server by then.

If I will experience problems I guess I’m troubled. Well, I will go back
to RMagick 1 for sure. But I won’t be able to move to Ruby 1.9 by the
time the new Rails is out.

I have to mention that I’ve started my own company at the beginning of
this year with the aim to establish my own web 2.0 platform. Yes, I
know, yet another;-) So Ruby 1.9 could cut down my hardware costs a
little, while I’m not making any profit. It would also offer me to go
with he mainstream in regards of Rails, and thus guarantees the better
Rails support.

So in case I’ll experience problems with RMagick 2 in production I’ll
come back to you. Maybe I can contribute some work then. Although I
would have to learn a lot, since I used to program C++ for the windows
platform only (Borland/Microsoft).

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

David S. wrote:

| 1.2) and proved by:
|
http://packages.debian.org/search?keywords=libmagick&searchon=names&suite=testing&section=all
| ImageMagick: several entries are marked as security patch.
|
|
http://packages.debian.org/search?keywords=libgraphicsmagick&searchon=names&suite=testing&section=all
| GraphicsMagick: no such markers

Which means that the GraphicsMagick folks are too lazy to fix critical
bugs.

Or that the maintainer for that Debian package is slow.

Or nobody uses it, and thusly there are no bug reports.

Or that, indeed, GraphicsMagick is Perfect and error free. :wink:

And if you are out to make a buck, it won’t hurt to give back to the
community, either, if you are able to. In one way or another. :slight_smile:

That said: Good luck with your Web 2.0 business.


Phillip G.
Twitter: twitter.com/cynicalryan
Blog: http://justarubyist.blogspot.com

~ You know what we need, Hobbes? We need an attitude. Yeah, you can’t
be cool if you don’t have an attitude. – Calvin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkgcR6QACgkQbtAgaoJTgL86BACeIl+oIeQY0JPDktxzAlYMKGVl
yugAoIIc98KDllEuLIpLOrfsSgzcDEau
=3eLs
-----END PGP SIGNATURE-----

David S. wrote:

| 1.2) and proved by:
|
Debian -- Package Search Results -- libmagick
| ImageMagick: several entries are marked as security patch.
|
|
Debian -- Package Search Results -- libgraphicsmagick
| GraphicsMagick: no such markers

Which means that the GraphicsMagick folks are too lazy to fix critical
bugs.

Or that the maintainer for that Debian package is slow.

Or nobody uses it, and thusly there are no bug reports.

Or that, indeed, GraphicsMagick is Perfect and error free. :wink:

Well, I’ve just checked. In “testing” stage the package version of
GraphicsMagick includes the last security fixes, while ImageMagick does
not. After comparing the change logs of both I’d say ImageMagick has
more vulnerabilities. However since the size of both communities differ,
one can never tell for sure.
But that’s the same with Windows and Linux. And I still tend to say that
Linux is more reliable. At least it has the better concepts and I did
hit the boundaries of Windows capabilities quite often in my last job
working for a leading internet service provider.

So, I assume strongly that you use ImageMagick at Twitter? Well, if it’s
good enough for the biggest Rails app out there, it can’t be that bad, I
guess.

And if you are out to make a buck, it won’t hurt to give back to the
community, either, if you are able to. In one way or another. :slight_smile:

That said: Good luck with your Web 2.0 business.

Thanks.

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

David S. wrote:
|
| Well, I’ve just checked. In “testing” stage the package version of
| GraphicsMagick includes the last security fixes, while ImageMagick does
| not. After comparing the change logs of both I’d say ImageMagick has
| more vulnerabilities. However since the size of both communities differ,
| one can never tell for sure.

That, and Debian is rather… slow when incorporating fixed packages
(AFAIK, they didn’t provide fixes themselves). However, comparing
vulnerabilities and patches as the only metric how secure a package is,
isn’t all there is to security and reliability.

I’d go with support and mind-share within the community, though. If you
aim for a Ruby on Rails app, for example, ImageMagick is pretty much the
only game in town, from what I can see, and that way you aren’t totally
on your own with problems. YMMV, though.

| But that’s the same with Windows and Linux. And I still tend to say that
| Linux is more reliable. At least it has the better concepts and I did
| hit the boundaries of Windows capabilities quite often in my last job
| working for a leading internet service provider.

Well, UI wise, Linux is the worst off of the big 3 OSes. Dunno about
reliability either, considering that I am struggling with an obscure bug
on Kubuntu 8.04, which freezes my system completely.

Anyway, all hardware sucks, all software sucks.
http://www.catb.org/jargon/html/A/All-hardware-sucks--all-software-sucks-.html

| So, I assume strongly that you use ImageMagick at Twitter? Well, if it’s
| good enough for the biggest Rails app out there, it can’t be that bad, I
| guess.

I don’t know what Twitter uses for image processing, and unlike certain
rumo^H^H^H^Htechblogs, I’m not blingly assuming things either. :wink:

Another datapoint: prior to your thread I have never heard of
GraphicsMagick before, only ImageMagick. This is more an anecdote than
anything.


Phillip G.
Twitter: twitter.com/cynicalryan
Blog: http://justarubyist.blogspot.com

~ I’m just very selective about the reality I choose to accept.
~ — Calvin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkgceBIACgkQbtAgaoJTgL9j0ACfeB378nWitgpiMDY7J86TkV1s
lSIAn1O60Vd6U9Ay6+itVDPnG9zaYFCu
=i6Ow
-----END PGP SIGNATURE-----

Well, UI wise, Linux is the worst off of the big 3 OSes. Dunno about
reliability either, considering that I am struggling with an obscure bug
on Kubuntu 8.04, which freezes my system completely.

My server doesn’t need a rich UI, thanks g

I don’t know what Twitter uses for image processing, and unlike certain
rumo^H^H^H^Htechblogs, I’m not blingly assuming things either. :wink:

Sorry, I wasn’t aware of the urls for twitter members.

Another datapoint: prior to your thread I have never heard of
GraphicsMagick before, only ImageMagick. This is more an anecdote than
anything.

I’ve heard of GraphicsMagick on the RMagick website first. At that time
I’ve already heard a lot about ImageMagick, because collegues had
trouble it all the time.

Anyway, I’ll make my own experience and then I’ll decide. Thanks.

David S. wrote:

Well, I’ve had no opinion about this at the beginning. Then I’ve tried
though it is an old benchmark. I’ve found no evidence on the ImageMagick

GraphicsMagick. RMagick 1.15.13 supports all releases of GraphicsMagick,
time the new Rails is out.
would have to learn a lot, since I used to program C++ for the windows
platform only (Borland/Microsoft).

The ImageMagick forum is at Legacy ImageMagick Discussions Archive - Index page
if you want to take your concerns about ImageMagick’s reliability and
performance directly to the ImageMagick developers.

If you encounter a problem with RMagick please report it. If the problem
is in my code I can fix it, if it’s in IM code I’ll help you report it
to the IM team.