* LZW @ 1998-02-16 0:00 Vicious 1998-02-18 0:00 ` LZW Doug Haseltine 0 siblings, 1 reply; 8+ messages in thread From: Vicious @ 1998-02-16 0:00 UTC (permalink / raw) Anyone can tell me where I can find LZW ada source? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: LZW 1998-02-16 0:00 LZW Vicious @ 1998-02-18 0:00 ` Doug Haseltine 1998-02-17 0:00 ` LZW Robert Dewar ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Doug Haseltine @ 1998-02-18 0:00 UTC (permalink / raw) "Vicious" <vicious@hol.fr> wrote: >Anyone can tell me where I can find LZW ada source? > Sir: We did a search a couple years ago when we had a such a need and could not found any public source. We ended up using the C source code from the un*x world, and running it through a C to Ada translator, then cleaning up the resultant mess. It worked fine for our purposes (compressing some boot code into non-volatile memory, and transferring compressed downloadable images when upgrading embedded software), but perhaps you'll have better luck finding a clean port. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: LZW 1998-02-18 0:00 ` LZW Doug Haseltine @ 1998-02-17 0:00 ` Robert Dewar 1998-02-19 0:00 ` LZW Doug Haseltine 1998-02-18 0:00 ` LZW John M. Mills 1998-02-19 0:00 ` LZW Vicious 2 siblings, 1 reply; 8+ messages in thread From: Robert Dewar @ 1998-02-17 0:00 UTC (permalink / raw) <<We did a search a couple years ago when we had a such a need and could not found any public source. We ended up using the C source code from the un*x world, and running it through a C to Ada translator, then cleaning up the resultant mess. It worked fine for our purposes (compressing some boot code into non-volatile memory, and transferring compressed downloadable images when upgrading embedded software), but perhaps you'll have better luck finding a clean port. >> What on earth is the point of translating the C to Ada in a case like this? Why not simply interface to the C code. Sounds like a lot of work that (a) achieves nothing and (b) substantially increases the risks. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: LZW 1998-02-17 0:00 ` LZW Robert Dewar @ 1998-02-19 0:00 ` Doug Haseltine 0 siblings, 0 replies; 8+ messages in thread From: Doug Haseltine @ 1998-02-19 0:00 UTC (permalink / raw) dewar@merv.cs.nyu.edu (Robert Dewar) wrote: >What on earth is the point of translating the C to Ada in a case like this? >Why not simply interface to the C code. > >Sounds like a lot of work that (a) achieves nothing and (b) substantially >increases the risks. Both very good points. I believe those were amongst the myriad of reasons for dropping the Ada mandate. We, however, had no contractual choice in the matter at the time. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: LZW 1998-02-18 0:00 ` LZW Doug Haseltine 1998-02-17 0:00 ` LZW Robert Dewar @ 1998-02-18 0:00 ` John M. Mills 1998-02-19 0:00 ` LZW Vicious 2 siblings, 0 replies; 8+ messages in thread From: John M. Mills @ 1998-02-18 0:00 UTC (permalink / raw) haseltine@onramp.net (Doug Haseltine) writes: >"Vicious" <vicious@hol.fr> wrote: >>Anyone can tell me where I can find LZW ada source? >Sir: >We did a search a couple years ago when we had a such a need >and could not found any public source. ... >It worked fine for our purposes >(compressing some boot code into non-volatile memory, and >transferring compressed downloadable images when upgrading >embedded software), but perhaps you'll have better luck >finding a clean port. I would be cautious about incorporating LZW into a current development, due to patent considerations. The following paragraphs are excerpted from ftp://rtfm.mit.edu/pub/usenet/comp.answers/graphics/fileformats-faq/part1: *** ...(much material elided)... "Subject: 1. Is it now illegal to use CompuServe's GIF format? "It is not illegal to own, transmit, or receive GIF files (provided that no unlicensed compression and/or decompression of the files occurs). You must realize, however, that GIF files are not the issue. The issue is, in fact, the LZW data compression algorithm. "In 1984, while working for Sperry Corporation, Terry Welch modified the Lempel-Ziv 78 (LZ78) compression algorithm for greater efficiency for implementation in high-performance disk controllers. The result was the LZW algorithm. The world was informed of the existence of LZW by the following journal article, published by Mr. Welch after he left the employment of Sperry: Welch, T. A., "A Technique for High Performance Data Compression," IEEE Computer, Volume 17, Number 6, June 1984. "In 1985, Sperry Corporation was granted a patent (4,558,302) for the Welch invention and implementation of the LZW data compression algorithm. Since that time, this LZW patent has been publicly available for all to see in the US Patent Office and many public libraries, and is available through many on-line services." ...(balance of FAQ elided)... *** I am sorry to contribute 'FUD' (Fear-Uncertainty-Doubt) here, but the issue of the LWZ patent is widely mentioned. I would _certainly_ seek legal advice before incorporating it into any application where I was unsure of Sperry's patent and license applicability. I'm surprised no one else mentioned this, and would be happy to receive more current and/or authoritative information on the subject. In any case, I would be cautious. Thanks -- john mills -- John M. Mills, Senior Research Engineer -- john.mills@gtri.gatech.edu Georgia Tech Research Institute, Georgia Tech, Atlanta, GA 30332-0834 Phone contacts: 404.894.0151 (voice), 404.894.6258 (FAX) "Lies, Damned Lies, Statistics, and Simulations." ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: LZW 1998-02-18 0:00 ` LZW Doug Haseltine 1998-02-17 0:00 ` LZW Robert Dewar 1998-02-18 0:00 ` LZW John M. Mills @ 1998-02-19 0:00 ` Vicious 1998-02-20 0:00 ` LZW Markus Kuhn 2 siblings, 1 reply; 8+ messages in thread From: Vicious @ 1998-02-19 0:00 UTC (permalink / raw) Thanx for your answer. I've not found any clean port of LZW in ADA. So can you send me please the result of your C to ADA translation? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: LZW 1998-02-19 0:00 ` LZW Vicious @ 1998-02-20 0:00 ` Markus Kuhn 1998-02-20 0:00 ` LZW Brian Rogoff 0 siblings, 1 reply; 8+ messages in thread From: Markus Kuhn @ 1998-02-20 0:00 UTC (permalink / raw) Vicious wrote: > I've not found any clean port of LZW in ADA. > So can you send me please the result of your C to ADA translation? I think, the best approach is to use an off-the-shelf high-quality compression library in C such as the GNU zlib available from the usual archives and call it using Ada95's standardized C interfacing capabilities. If you are working in a project where there is some "pure Ada" mandate that does not even allow to reuse high-quality reusable widely-available C components, then your bosses have something thoroughly missunderstood about how to use Ada95 effectively in a project. A reasonable mandate that you have to write your own new code in Ada95 should never ban you from including existing C libraries. Note that GNAT uses libc in the runtime library and that there exist many useful C libraries out there (for JPEG compression, LZW compression, bignum arithmetic, encryption, etc.) that contain highly optimized assembler parts for quite some architectures, etc. Given the excellent C interfacing capabilities that Ada has, it would be a tremendous waste to reimplement these just tohave them in Ada to fullfil some braindamaged pure-Ada requirement. Use Ada intelligently to get your project done quickly and do not waste time to fulfill a silly mandatory buerocratic doctrine by recoding existing highly optimized C code into Ada. It would be useful to write Ada95 wrappers for many of the popular C libraries available from the GNU project and others. Markus -- Markus G. Kuhn, Security Group, Computer Lab, Cambridge University, UK email: mkuhn at acm.org, home page: <http://www.cl.cam.ac.uk/~mgk25/> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: LZW 1998-02-20 0:00 ` LZW Markus Kuhn @ 1998-02-20 0:00 ` Brian Rogoff 0 siblings, 0 replies; 8+ messages in thread From: Brian Rogoff @ 1998-02-20 0:00 UTC (permalink / raw) On Fri, 20 Feb 1998, Markus Kuhn wrote: ... snip... > A reasonable mandate that you have to write your own new code in > Ada95 should never ban you from including existing C libraries. Note > that GNAT uses libc in the runtime library and that there exist > many useful C libraries out there (for JPEG compression, > LZW compression, bignum arithmetic, encryption, etc.) that > contain highly optimized assembler parts for quite some > architectures, etc. Given the excellent C interfacing capabilities > that Ada has, it would be a tremendous waste to reimplement these > just tohave them in Ada to fullfil some braindamaged pure-Ada > requirement. Well put Markus! This should probably be an FAQ. The C interfaces are IMO the most important new feature of Ada 95 (new as in "not in Ada 83"), and there are now very few good reasons to recode working C into Ada. -- Brian > Use Ada intelligently to get your project done quickly and do > not waste time to fulfill a silly mandatory buerocratic > doctrine by recoding existing highly optimized C code into > Ada. > > It would be useful to write Ada95 wrappers for many of the > popular C libraries available from the GNU project and others. > > Markus > > -- > Markus G. Kuhn, Security Group, Computer Lab, Cambridge University, UK > email: mkuhn at acm.org, home page: <http://www.cl.cam.ac.uk/~mgk25/> > > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~1998-02-20 0:00 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 1998-02-16 0:00 LZW Vicious 1998-02-18 0:00 ` LZW Doug Haseltine 1998-02-17 0:00 ` LZW Robert Dewar 1998-02-19 0:00 ` LZW Doug Haseltine 1998-02-18 0:00 ` LZW John M. Mills 1998-02-19 0:00 ` LZW Vicious 1998-02-20 0:00 ` LZW Markus Kuhn 1998-02-20 0:00 ` LZW Brian Rogoff
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox