Pure Ruby Zlib::GzipWriter

On Jan 10, 4:21 pm, Michal S. [email protected] wrote:

I guess it’s expected. Different implementations give different
compression results.

The failures are related to wrong number of arguments.

if a replacement for Zlib is developed, it must comply with Zlib specs
located in rubyspec:

http://github.com/rubyspec/rubyspec/tree/b83d7e5f40659f551c7e94667ffeeb0ea7c6bcfe/library/zlib

It should implement the exact same compression strategies. If not, is
not a “drop-in” replacement.

Of course, the spec might be more high-level but then an
implementation that does not compress at all would likely work as
well.

The spec is being used across IronRuby, Rubinius, JRuby and the Ruby C
(MRI). So the pure-ruby replacement must comply.

On Jan 9, 5:34 pm, Luis L. [email protected] wrote:

On Jan 9, 9:26 pm, “Charles L.” [email protected] wrote:

Anyone knows any web application for bounties? I’m interested in
contribute to this one and also one for Readline!!!

I think that’s a fantastic idea Luis!

I can live without a pure Ruby readline (though I’d certainly welcome
it). I’d rather have a pure Ruby OpenSSL. :slight_smile:

Regards,

Dan

On 01/11/2009, Daniel B. [email protected] wrote:

I can live without a pure Ruby readline (though I’d certainly welcome
it). I’d rather have a pure Ruby OpenSSL. :slight_smile:

What parts of OpenSSL? :wink:

J.

On Jan 11, 5:25 am, “Heesob P.” [email protected] wrote:

On Jan 10, 8:15 am, Heesob P. [email protected] wrote:

I guess you are looking for ruby_readline [1] .
ReadLine.

http://github.com/rubyspec/rubyspec/tree/b83d7e5f40659f551c7e94667ffe

At last, my zlib.rb and rbzlib.rb passed rubyspec zlib test
As before, you can download athttp://121.78.227.9/rbzlib/

Finished in 1.323951 seconds

77 files, 38 examples, 88 expectations, 0 failures, 0 errors

Good work. I just tried it out. Both reading and writing seemed to
work fine. Generating a gem for my largest project, windows-pr, worked
fine as well.

Awesome!!!

Announcement forthcoming…

Regards,

Dan

On Dec 15 2008, 9:32 am, Daniel B. [email protected] wrote:

must meet the following criteria:

  • It must be pure Ruby. No extensions. No FFI.
  • It must have tests (and pass them)
  • It must match the current Zlib::GzipWriter interface
  • It must be cross platform
  • It must be able to generate a proper gem file from a gemspec (the
    acid test)
  • It must be contributed back to the zliby project
  • It must be done within 60 days of this post

And the winner is…Park H.! We actually had two competitors for
the bounty (much to my surprise), and it was very close (again, to my
surprise), but in the end Park’s code passed an acid test that
Charles’ code did not.[1]

So, congratulations to Park H. for not only creating a
Zlib::GzipWriter implementation, but for also creating a pure Ruby
version of the underlying zlib 1.2.3 library!

WOOHOO!

Regards,

Dan

[1] However, I hate to see Charles go unrewarded for his wonderful
efforts, so any matchers are free to distribute their bounties as they
see fit.

On Fri, Jan 9, 2009 at 6:23 PM, Daniel B. [email protected]
wrote:

Ok, I’ll look for it and just copy/paste files individually when
you’re ready.
Hopefully that is not necessary
wget http://github.com/aquasync/ruby-zlib/tarball/master
seems to work just fine.
HTH
Robert

Daniel B. wrote:

On Dec 15 2008, 9:32�am, Daniel B. [email protected] wrote:

So, congratulationns to Park H. for not only creating a
Zlib::GzipWriter implementation, but for also creating a pure Ruby
version of the underlying zlib 1.2.3 library!

WOOHOO!

Regards,

Dan

[1] However, I hate to see Charles go unrewarded for his wonderful
efforts, so any matchers are free to distribute their bounties as they
see fit.

This is just awesome, thanks Dan for putting up some cash to make this
happen! Compression was more difficult then decompression and I just
didn’t have the time. Going to look into combining Park’s code into
zliby… though Charles stuff looks interesting too…

On Jan 12, 12:38 pm, Daniel B. [email protected] wrote:

acid test)
So, congratulations to Park H. for not only creating a
efforts, so any matchers are free to distribute their bounties as they
see fit.

I have some bucks with Park and Charles names printed on them :wink:

Park: I have your Paypal info, will send you as soon as possible.

Charles: can you tell me your paypal email?

Again: do anyone knows a good platform to to bounties for open source
projects?

Regards,

Jano S. wrote:

On 01/11/2009, Daniel B. [email protected] wrote:

I can live without a pure Ruby readline (though I’d certainly welcome
it). I’d rather have a pure Ruby OpenSSL. :slight_smile:

What parts of OpenSSL? :wink:

Just the parts that Ruby’s openssl wrapper uses.

Dan

Luis L. wrote:

I have some bucks with Park and Charles names printed on them :wink:

Park: I have your Paypal info, will send you as soon as possible.

Charles: can you tell me your paypal email?

Again: do anyone knows a good platform to to bounties for open source
projects?

Regards,

Thanks Luis, but never mind, it was more about the challenge, and also
supporting the effort to ease problems on windows. I primarily use ruby
on windows, and make use of the fruits of your (one click installer),
and daniel berger’s (win32 process, sys-*, et al) labors every day (at
work that is :). Props to you guys for making ruby on windows useable…

Charles L. wrote:

Luis L. wrote:

I have some bucks with Park and Charles names printed on them :wink:

Park: I have your Paypal info, will send you as soon as possible.

Charles: can you tell me your paypal email?

Again: do anyone knows a good platform to to bounties for open source
projects?

Regards,

Thanks Luis, but never mind, it was more about the challenge, and also
supporting the effort to ease problems on windows. I primarily use ruby
on windows, and make use of the fruits of your (one click installer),
and daniel berger’s (win32 process, sys-*, et al) labors every day (at
work that is :). Props to you guys for making ruby on windows useable…

Charles,

I like how you laid out your project and whatnot. My “dream” is to make
zliby more then just a zlib compression library, but a more general
compression library and command line tool. Your compression code seems
to be more in the same style as my decompression implementation, any
qualms against me incorporating some of your stuff?

I also added Park to the zliby ruby-forge project, if you’d like I can
add you as well, or add you as a collaborator on the zliby github
project.

Charles L. wrote:

add you as well, or add you as a collaborator on the zliby github
and a pure ruby zlib, all thats probably missing is bzip2, and bwt is
fairly straight forward (I believe I saw a python implementation in
around 100 lines).

I’m really hoping some of that javascript vm goodness will find its way
to ruby though (or psyco equivalent or whatever), because without it,
pure ruby compression (or any algorithmic code) remains unsuitable for
general purpose use.

I didn’t notice much of a slowdown with Park’s version when installing
gems or building gems, though I didn’t do any sort of formal
benchmarking.

It would be interesting to see some real benchmarks with MRI, JRuby and
1.9.

Regards,

Dan

Michael L. wrote:

Charles,

I like how you laid out your project and whatnot. My “dream” is to make
zliby more then just a zlib compression library, but a more general
compression library and command line tool. Your compression code seems
to be more in the same style as my decompression implementation, any
qualms against me incorporating some of your stuff?

I also added Park to the zliby ruby-forge project, if you’d like I can
add you as well, or add you as a collaborator on the zliby github
project.

Hi Michael,

Sure feel free to add me on the rubyforge/github, or just copy the
relevant files back in if you prefer. There’s a few small fixes needed
to the deflate code, but after that it might be a good candidate for
inclusion.

The idea of a general ruby compression library is nice. With rubyzip,
and a pure ruby zlib, all thats probably missing is bzip2, and bwt is
fairly straight forward (I believe I saw a python implementation in
around 100 lines).

I’m really hoping some of that javascript vm goodness will find its way
to ruby though (or psyco equivalent or whatever), because without it,
pure ruby compression (or any algorithmic code) remains unsuitable for
general purpose use.