<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Javascript Compression</title>
	<atom:link href="http://ma.tt/2005/05/javascript-compression/feed/" rel="self" type="application/rss+xml" />
	<link>http://ma.tt/2005/05/javascript-compression/</link>
	<description>Unlucky in Cards</description>
	<lastBuildDate>Mon, 30 Jan 2012 18:53:13 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-19904</generator>
	<item>
		<title>By: rockjock</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-475695</link>
		<dc:creator>rockjock</dc:creator>
		<pubDate>Thu, 18 Feb 2010 05:37:40 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-475695</guid>
		<description>You can find a lightweight Javascript and CSS compressor / minifier written in PHP here:-

http://razorsharpcode.blogspot.com/2010/02/lightweight-javascript-and-css.html</description>
		<content:encoded><![CDATA[<p>You can find a lightweight Javascript and CSS compressor / minifier written in PHP here:-</p>
<p><a href="http://razorsharpcode.blogspot.com/2010/02/lightweight-javascript-and-css.html" rel="nofollow">http://razorsharpcode.blogspot.com/2010/02/lightweight-javascript-and-css.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marius</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-462022</link>
		<dc:creator>Marius</dc:creator>
		<pubDate>Mon, 11 May 2009 17:12:50 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-462022</guid>
		<description>I&#039;d also recommand Dean’s packer if you intend to enhance the  performance of a javascript file.</description>
		<content:encoded><![CDATA[<p>I&#8217;d also recommand Dean’s packer if you intend to enhance the  performance of a javascript file.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Webmaster Kitchen</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-448107</link>
		<dc:creator>Webmaster Kitchen</dc:creator>
		<pubDate>Wed, 16 Jul 2008 06:32:53 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-448107</guid>
		<description>There&#039;s a good javascript compression tool here - http://jscompress.com - it can compress using JSMin or Packer and can combine multiple files into one in addition to taking direct code input.</description>
		<content:encoded><![CDATA[<p>There&#8217;s a good javascript compression tool here &#8211; <a href="http://jscompress.com" rel="nofollow">http://jscompress.com</a> &#8211; it can compress using JSMin or Packer and can combine multiple files into one in addition to taking direct code input.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-425625</link>
		<dc:creator>Adam</dc:creator>
		<pubDate>Wed, 29 Aug 2007 17:55:35 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-425625</guid>
		<description>For Java (Maven projects) you could use http://sourceforge.net/projects/maven-js-plugin 

Works well for me.</description>
		<content:encoded><![CDATA[<p>For Java (Maven projects) you could use <a href="http://sourceforge.net/projects/maven-js-plugin" rel="nofollow">http://sourceforge.net/projects/maven-js-plugin</a> </p>
<p>Works well for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Yopp</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-225643</link>
		<dc:creator>James Yopp</dc:creator>
		<pubDate>Fri, 20 Oct 2006 13:39:19 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-225643</guid>
		<description>For anyone still looking for an answer to this, especially if you have genuinely complex code to run, the best solution I&#039;ve found is this:

Create a file, call it js.php, that can be invoked like this:


What it should do is:
1. Hash together the entire Query string and treat the MD5 hash as a filename.
2. If that file exists in the cache, compare the modification time of each file in the Javascript directory: Eg, &quot;DOM.js&quot;, &quot;animations.js&quot;, &quot;pages/home.js&quot;
3. If ANY of the files have a modification time greater than the archived file, or the archive doesn&#039;t exist, (re)build it:
    a. Read each javascript file
    b. Use a regular expression to kill comments and blank lines.
    c. Concatenate all the files together, in order, into one file (You&#039;ll get better gzip compression this way too).
    d. Store two versions of this file in your cache directory -- one as .js, and another gzipped copy as .gz
4. Serve the appropriate file depending on whether the user&#039;s browser explicitly supports compression in the accept header.

This will seriously reduce both transmission time and processing time, and since it is a dynamic script, browsers are MUCH better at expiring the content and checking for a new version when users visit the page -- important if you are updating your site a lot.  Once you feel that a set of scripts is stable, you can send the appropriate headers to make the client&#039;s browser stop polling for new versions every time.  And you can always compress / obfuscate the scripts beforehand</description>
		<content:encoded><![CDATA[<p>For anyone still looking for an answer to this, especially if you have genuinely complex code to run, the best solution I&#8217;ve found is this:</p>
<p>Create a file, call it js.php, that can be invoked like this:</p>
<p>What it should do is:<br />
1. Hash together the entire Query string and treat the MD5 hash as a filename.<br />
2. If that file exists in the cache, compare the modification time of each file in the Javascript directory: Eg, &#8220;DOM.js&#8221;, &#8220;animations.js&#8221;, &#8220;pages/home.js&#8221;<br />
3. If ANY of the files have a modification time greater than the archived file, or the archive doesn&#8217;t exist, (re)build it:<br />
    a. Read each javascript file<br />
    b. Use a regular expression to kill comments and blank lines.<br />
    c. Concatenate all the files together, in order, into one file (You&#8217;ll get better gzip compression this way too).<br />
    d. Store two versions of this file in your cache directory &#8212; one as .js, and another gzipped copy as .gz<br />
4. Serve the appropriate file depending on whether the user&#8217;s browser explicitly supports compression in the accept header.</p>
<p>This will seriously reduce both transmission time and processing time, and since it is a dynamic script, browsers are MUCH better at expiring the content and checking for a new version when users visit the page &#8212; important if you are updating your site a lot.  Once you feel that a set of scripts is stable, you can send the appropriate headers to make the client&#8217;s browser stop polling for new versions every time.  And you can always compress / obfuscate the scripts beforehand</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Nicoll</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-142760</link>
		<dc:creator>Jeremy Nicoll</dc:creator>
		<pubDate>Wed, 26 Jul 2006 21:14:48 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-142760</guid>
		<description>I still cannot find it, but the compressor has been updated.  Also for those pesky problems that can trip up the compressor, go to http://www.jslint.com to find out what the problem is.  If there are errors before compression, it can really trip up the process later on.</description>
		<content:encoded><![CDATA[<p>I still cannot find it, but the compressor has been updated.  Also for those pesky problems that can trip up the compressor, go to <a href="http://www.jslint.com" rel="nofollow">http://www.jslint.com</a> to find out what the problem is.  If there are errors before compression, it can really trip up the process later on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Nicoll</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-106924</link>
		<dc:creator>Jeremy Nicoll</dc:creator>
		<pubDate>Sat, 10 Jun 2006 00:00:42 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-106924</guid>
		<description>Why do compression?  Because many of nifty things you can do with JavaScript such as dragging objects and file upload progress indicators take up a lot of space.  I just finished a script that will let the user drag objects around and resizing them and the code takes up 15 KB of space before any type of compression.  One of my favorite compressors is located here: http://hometown.aol.de/_ht_a/memtronic/ , though it does error out occasionally. There is another one that often breaks, but sometimes does not when the Memtronics cruncher does - I can&#039;t find it at the moment (and I really need it).</description>
		<content:encoded><![CDATA[<p>Why do compression?  Because many of nifty things you can do with JavaScript such as dragging objects and file upload progress indicators take up a lot of space.  I just finished a script that will let the user drag objects around and resizing them and the code takes up 15 KB of space before any type of compression.  One of my favorite compressors is located here: <a href="http://hometown.aol.de/_ht_a/memtronic/" rel="nofollow">http://hometown.aol.de/_ht_a/memtronic/</a> , though it does error out occasionally. There is another one that often breaks, but sometimes does not when the Memtronics cruncher does &#8211; I can&#8217;t find it at the moment (and I really need it).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Malcolm White</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-88108</link>
		<dc:creator>Malcolm White</dc:creator>
		<pubDate>Tue, 09 May 2006 09:05:00 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-88108</guid>
		<description>I&#039;ve look at all these compressors, but non seem to handle the more complex structures and objects. I have been trying to code this part for a while - automatically determining which is a user accessible variable or function, to that of something burried and never accessed directly by the user. This bit is a sticking point. JSLint does the cleaning of the code before the packing/compressing, but its hard trying to map objects. 

Even though it makes things unreadable, its true, 50-75% savings on code sizes for deployed JS as opposed to the source makes things faster (there are people still out there who don&#039;t have whopping ADSL links or OC-48 lines)

(I credit the people who&#039;s code I have used to work out parts - thats just common courtesy)</description>
		<content:encoded><![CDATA[<p>I&#8217;ve look at all these compressors, but non seem to handle the more complex structures and objects. I have been trying to code this part for a while &#8211; automatically determining which is a user accessible variable or function, to that of something burried and never accessed directly by the user. This bit is a sticking point. JSLint does the cleaning of the code before the packing/compressing, but its hard trying to map objects. </p>
<p>Even though it makes things unreadable, its true, 50-75% savings on code sizes for deployed JS as opposed to the source makes things faster (there are people still out there who don&#8217;t have whopping ADSL links or OC-48 lines)</p>
<p>(I credit the people who&#8217;s code I have used to work out parts &#8211; thats just common courtesy)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Juan Manuel</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-51948</link>
		<dc:creator>Juan Manuel</dc:creator>
		<pubDate>Mon, 20 Feb 2006 04:14:12 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-51948</guid>
		<description>I use Jsmin (http://www.crockford.com/javascript/jsmin.html), it removes comments and unnecessary whitespace. It&#039;s available in C, PHP and Java.</description>
		<content:encoded><![CDATA[<p>I use Jsmin (<a href="http://www.crockford.com/javascript/jsmin.html" rel="nofollow">http://www.crockford.com/javascript/jsmin.html</a>), it removes comments and unnecessary whitespace. It&#8217;s available in C, PHP and Java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-31067</link>
		<dc:creator>Andrew</dc:creator>
		<pubDate>Tue, 15 Nov 2005 14:51:35 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-31067</guid>
		<description>There are actually three very good reasons for compressing javascript code: first, to improve download times, second, to reduce bandwidth utilisation, and third, to stop people nicking your code.  Most of the objections listed here are along the lines of &quot;but I hate javascript compression because it makes the code more difficult to read&quot;.  Well, that&#039;s part of the intention.

If the world were a nice place where everyone played nicely together and credited their sources, we wouldn&#039;t have to do this, but I get fed up with people taking the code from OnOneMap (http://ononemap.com) and using it to attempt to build a rival service without crediting us for it.

I&#039;ve not found a good compressor yet, but I&#039;m still looking.</description>
		<content:encoded><![CDATA[<p>There are actually three very good reasons for compressing javascript code: first, to improve download times, second, to reduce bandwidth utilisation, and third, to stop people nicking your code.  Most of the objections listed here are along the lines of &#8220;but I hate javascript compression because it makes the code more difficult to read&#8221;.  Well, that&#8217;s part of the intention.</p>
<p>If the world were a nice place where everyone played nicely together and credited their sources, we wouldn&#8217;t have to do this, but I get fed up with people taking the code from OnOneMap (<a href="http://ononemap.com" rel="nofollow">http://ononemap.com</a>) and using it to attempt to build a rival service without crediting us for it.</p>
<p>I&#8217;ve not found a good compressor yet, but I&#8217;m still looking.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20988</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Wed, 01 Jun 2005 17:42:05 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20988</guid>
		<description>Alex Russell from Dojo recommends: http://dojotoolkit.org/~alex/js_with_compress.jar .</description>
		<content:encoded><![CDATA[<p>Alex Russell from Dojo recommends: <a href="http://dojotoolkit.org/~alex/js_with_compress.jar" rel="nofollow">http://dojotoolkit.org/~alex/js_with_compress.jar</a> .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Russell</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20975</link>
		<dc:creator>Alex Russell</dc:creator>
		<pubDate>Tue, 31 May 2005 23:52:50 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20975</guid>
		<description>Just another option (to confuse and confound!):

http://dojotoolkit.org/~alex/js_with_compress.jar

This is a modified version or Rhino (the Mozilla JS interpreter written in Java). We (the Dojo project) have added a &quot;compressor&quot; method to the built-in Decompile class. Since we&#039;re operating on the token stream from the parser, this system is somewhat less prone to errors and &quot;overzealousness&quot;. A new &quot;-c&quot; flag sends the &quot;compressed&quot; version of the input to stderr. Normal invocation is:

java -jar js_with_compress.jar -c in.js &gt; out.js 2&gt;&amp;1

This tool will NOT mangle your public APIs. We&#039;re using it as a part of the build process in Dojo and it&#039;s been working well for some time now. It&#039;s much less error prone than the regexp-based stripper we used in netWindows.

Source for the tool (i.e., a zipped up version of my anonymous CVS checkout) is available in the same directory as the Jar file.

Regards</description>
		<content:encoded><![CDATA[<p>Just another option (to confuse and confound!):</p>
<p><a href="http://dojotoolkit.org/~alex/js_with_compress.jar" rel="nofollow">http://dojotoolkit.org/~alex/js_with_compress.jar</a></p>
<p>This is a modified version or Rhino (the Mozilla JS interpreter written in Java). We (the Dojo project) have added a &#8220;compressor&#8221; method to the built-in Decompile class. Since we&#8217;re operating on the token stream from the parser, this system is somewhat less prone to errors and &#8220;overzealousness&#8221;. A new &#8220;-c&#8221; flag sends the &#8220;compressed&#8221; version of the input to stderr. Normal invocation is:</p>
<p>java -jar js_with_compress.jar -c in.js &gt; out.js 2&gt;&amp;1</p>
<p>This tool will NOT mangle your public APIs. We&#8217;re using it as a part of the build process in Dojo and it&#8217;s been working well for some time now. It&#8217;s much less error prone than the regexp-based stripper we used in netWindows.</p>
<p>Source for the tool (i.e., a zipped up version of my anonymous CVS checkout) is available in the same directory as the Jar file.</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roy Schestowitz</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20966</link>
		<dc:creator>Roy Schestowitz</dc:creator>
		<pubDate>Tue, 31 May 2005 16:58:13 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20966</guid>
		<description>I think there is a runtime improvement as well. Even though Java is compiled, I think that JavaScript is more or less interpreted. Imagine how long pages would take to load if all scripts had been compiled.

Java and JavaScript are as much alike as Car a Carpet.</description>
		<content:encoded><![CDATA[<p>I think there is a runtime improvement as well. Even though Java is compiled, I think that JavaScript is more or less interpreted. Imagine how long pages would take to load if all scripts had been compiled.</p>
<p>Java and JavaScript are as much alike as Car a Carpet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Randy Peterman</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20964</link>
		<dc:creator>Randy Peterman</dc:creator>
		<pubDate>Tue, 31 May 2005 15:59:55 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20964</guid>
		<description>Matt,
I have a system that I have set up.  It is not automated... yet.  I have tweaked the JavaScript crunchinator from &lt;a href=&quot;http://brainjar.com/js/crunch/demo.html&quot; rel=&quot;nofollow&quot;&gt;www.brainjar.com&lt;/a&gt; and made it &lt;em&gt;much&lt;/em&gt; faster.  Before and after I crunch I run the code through a local copy of &lt;a href=&quot;http://www.crockford.com/javascript/jslint.html&quot; rel=&quot;nofollow&quot;&gt;jslint&lt;/a&gt; that has a few tweaks to not check for a few overly strict rules jslint has.  This ensures that 1) I have all of the proper syntax to start with.  Crunching the code never breaks anything.  Secondly, I check it after the crunching just to make sure nothings lost anyway.  This has been 100% effective to date.</description>
		<content:encoded><![CDATA[<p>Matt,<br />
I have a system that I have set up.  It is not automated&#8230; yet.  I have tweaked the JavaScript crunchinator from <a href="http://brainjar.com/js/crunch/demo.html" rel="nofollow">http://www.brainjar.com</a> and made it <em>much</em> faster.  Before and after I crunch I run the code through a local copy of <a href="http://www.crockford.com/javascript/jslint.html" rel="nofollow">jslint</a> that has a few tweaks to not check for a few overly strict rules jslint has.  This ensures that 1) I have all of the proper syntax to start with.  Crunching the code never breaks anything.  Secondly, I check it after the crunching just to make sure nothings lost anyway.  This has been 100% effective to date.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Russell</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20956</link>
		<dc:creator>David Russell</dc:creator>
		<pubDate>Tue, 31 May 2005 09:30:51 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20956</guid>
		<description>While we&#039;re all discussing the different methods and merits of javascript compression, let me ask a simple question: why? The average javascript is just a couple of dozen kilobytes in size. How much is making the thing unreadable and error-ridden actually going to save?</description>
		<content:encoded><![CDATA[<p>While we&#8217;re all discussing the different methods and merits of javascript compression, let me ask a simple question: why? The average javascript is just a couple of dozen kilobytes in size. How much is making the thing unreadable and error-ridden actually going to save?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dean Edwards</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20954</link>
		<dc:creator>Dean Edwards</dc:creator>
		<pubDate>Tue, 31 May 2005 06:22:33 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20954</guid>
		<description>Sebastien, everything you said about my compressor is wrong. It affects performance a lot less than others (maybe the least). The name shortening is optional but if used properly gives big savings. Version 2.0 has been out for a few months now and I&#039;m very pleased with it. It reduces IE7 from 90K source to 23K.</description>
		<content:encoded><![CDATA[<p>Sebastien, everything you said about my compressor is wrong. It affects performance a lot less than others (maybe the least). The name shortening is optional but if used properly gives big savings. Version 2.0 has been out for a few months now and I&#8217;m very pleased with it. It reduces IE7 from 90K source to 23K.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian McKellar</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20947</link>
		<dc:creator>Ian McKellar</dc:creator>
		<pubDate>Mon, 30 May 2005 20:43:29 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20947</guid>
		<description>I work on a web browser (Danger hiptop / T-Mobile Sidekick) and I loathe dealing with shortened JavaScript. It makes it a nightmare to work out why things are going wrong.

If you just want to strip comments and stuff you could try using the c preprocessor. If you&#039;re serving over gzip compression having expressive variable and function names shouldn&#039;t hurt you too much.</description>
		<content:encoded><![CDATA[<p>I work on a web browser (Danger hiptop / T-Mobile Sidekick) and I loathe dealing with shortened JavaScript. It makes it a nightmare to work out why things are going wrong.</p>
<p>If you just want to strip comments and stuff you could try using the c preprocessor. If you&#8217;re serving over gzip compression having expressive variable and function names shouldn&#8217;t hurt you too much.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: m0n5t3r</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20943</link>
		<dc:creator>m0n5t3r</dc:creator>
		<pubDate>Mon, 30 May 2005 17:41:08 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20943</guid>
		<description>The best approach would be to store the files uncompressed and serve them through a compression script, IMO. As for the code that won&#039;t run after compression, the trick is to write clean and well structured code: although js works without semicolons at the end of line, newlines are some of the excess whitespace that is usually stripped at compression, leaving you with a big mess if you didn&#039;t use them. (&quot;tag soup&quot; vs &quot;code soup&quot;? ;))</description>
		<content:encoded><![CDATA[<p>The best approach would be to store the files uncompressed and serve them through a compression script, IMO. As for the code that won&#8217;t run after compression, the trick is to write clean and well structured code: although js works without semicolons at the end of line, newlines are some of the excess whitespace that is usually stripped at compression, leaving you with a big mess if you didn&#8217;t use them. (&#8220;tag soup&#8221; vs &#8220;code soup&#8221;? <img src='http://s.ma.tt/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20940</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Mon, 30 May 2005 15:52:38 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20940</guid>
		<description>Are you just trying to get intialization and initial download amounts/times down?

Could you have stubs that auto-load additional chunks of javascript on the fly?</description>
		<content:encoded><![CDATA[<p>Are you just trying to get intialization and initial download amounts/times down?</p>
<p>Could you have stubs that auto-load additional chunks of javascript on the fly?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sebastian Werner</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20932</link>
		<dc:creator>Sebastian Werner</dc:creator>
		<pubDate>Mon, 30 May 2005 06:35:55 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20932</guid>
		<description>Dean&#039;s packer dramatically reduces the performance of the javascript file. It is only cool for small simple code. It has problems with complex object oriented scripts. Through the renaming it does not work to extend a object in another file as the file where this object is defined. For the most complex javascripts these things are very important. For other small scripts its ok to use simple gzip I think.

In &lt;a href=&quot;http://qooxdoo.sourceforge.net&quot; rel=&quot;nofollow&quot;&gt;qooxdoo&lt;/a&gt; we use a self written python script for compression and extraction of documentation in the style of javadoc or doxygen. It works well on multiple depending files. But it does not shorten variable or function names.</description>
		<content:encoded><![CDATA[<p>Dean&#8217;s packer dramatically reduces the performance of the javascript file. It is only cool for small simple code. It has problems with complex object oriented scripts. Through the renaming it does not work to extend a object in another file as the file where this object is defined. For the most complex javascripts these things are very important. For other small scripts its ok to use simple gzip I think.</p>
<p>In <a href="http://qooxdoo.sourceforge.net" rel="nofollow">qooxdoo</a> we use a self written python script for compression and extraction of documentation in the style of javadoc or doxygen. It works well on multiple depending files. But it does not shorten variable or function names.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alistair</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20931</link>
		<dc:creator>Alistair</dc:creator>
		<pubDate>Mon, 30 May 2005 06:21:31 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20931</guid>
		<description>I third the use of Dean&#039;s packer. 
I haven&#039;t found a problem with it yet and you get pretty damn good compression out of it.

Al.</description>
		<content:encoded><![CDATA[<p>I third the use of Dean&#8217;s packer.<br />
I haven&#8217;t found a problem with it yet and you get pretty damn good compression out of it.</p>
<p>Al.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dante</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20930</link>
		<dc:creator>Dante</dc:creator>
		<pubDate>Mon, 30 May 2005 05:31:09 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20930</guid>
		<description>What Seth said. You can also download the ASP.net version as well from Dean&#039;s site.</description>
		<content:encoded><![CDATA[<p>What Seth said. You can also download the ASP.net version as well from Dean&#8217;s site.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Robin</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20929</link>
		<dc:creator>Matt Robin</dc:creator>
		<pubDate>Mon, 30 May 2005 04:31:12 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20929</guid>
		<description>How big are these codes Matt? I mean, I&#039;d strip out whitespace by hand, test it to see if that has any effect on it, and see where it goes from there. Functions and variables shouldn&#039;t be shortened unless you&#039;re absolutely certain they won&#039;t bite ya....(but you already knew that of course, I&#039;m just commenting).

Maybe there&#039;s a php script somewhere for this? 

#Now quite intrigued at the idea#.....Hmmm, off to Google! #Laughs#</description>
		<content:encoded><![CDATA[<p>How big are these codes Matt? I mean, I&#8217;d strip out whitespace by hand, test it to see if that has any effect on it, and see where it goes from there. Functions and variables shouldn&#8217;t be shortened unless you&#8217;re absolutely certain they won&#8217;t bite ya&#8230;.(but you already knew that of course, I&#8217;m just commenting).</p>
<p>Maybe there&#8217;s a php script somewhere for this? </p>
<p>#Now quite intrigued at the idea#&#8230;..Hmmm, off to Google! #Laughs#</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seth Kinast</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20927</link>
		<dc:creator>Seth Kinast</dc:creator>
		<pubDate>Mon, 30 May 2005 03:12:03 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20927</guid>
		<description>IMO Dean Edwards&#039; &lt;a href=&quot;http://dean.edwards.name/packer/&quot; rel=&quot;nofollow&quot;&gt;Packer&lt;/a&gt; works very well. You can choose different levels of packing, from simple compression (removal of whitespace) to obfuscation and size reduction.</description>
		<content:encoded><![CDATA[<p>IMO Dean Edwards&#8217; <a href="http://dean.edwards.name/packer/" rel="nofollow">Packer</a> works very well. You can choose different levels of packing, from simple compression (removal of whitespace) to obfuscation and size reduction.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://ma.tt/2005/05/javascript-compression/#comment-20926</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Mon, 30 May 2005 02:53:06 +0000</pubDate>
		<guid isPermaLink="false">http://photomatt.net/2005/05/29/javascript-compression/#comment-20926</guid>
		<description>I would keep two copies, one compressed and one uncompressed.</description>
		<content:encoded><![CDATA[<p>I would keep two copies, one compressed and one uncompressed.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

