<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Software</title>
	<atom:link href="http://mrajcok.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mrajcok.wordpress.com</link>
	<description>Yeah, I need a better blog title</description>
	<lastBuildDate>Wed, 21 Dec 2011 19:01:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mrajcok.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Software</title>
		<link>http://mrajcok.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://mrajcok.wordpress.com/osd.xml" title="Software" />
	<atom:link rel='hub' href='http://mrajcok.wordpress.com/?pushpress=hub'/>
		<item>
		<title>a Perl multi-threaded web server</title>
		<link>http://mrajcok.wordpress.com/2011/08/20/78/</link>
		<comments>http://mrajcok.wordpress.com/2011/08/20/78/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 02:26:02 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[httpd]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://mrajcok.wordpress.com/?p=78</guid>
		<description><![CDATA[A multi-threaded web server written in Perl: use HTTP::Daemon; use threads; my $d = HTTP::Daemon-&#62;new(LocalAddr =&#62; 'localhost', #$ARGV[0], LocalPort =&#62; 8080, # 80, Reuse =&#62; 1, Listen =&#62; 20) &#124;&#124; die $!; print "Web Server started, server address: ", $d-&#62;sockhost(), ", server port: ", $d-&#62;sockport(), "\n"; while (my $c = $d-&#62;accept) { threads-&#62;create(\&#38;process_client_requests, $c)-&#62;detach; # [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=78&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A multi-threaded web server written in Perl:</p>
<pre>use HTTP::Daemon;
use threads;

my $d = HTTP::Daemon-&gt;new(LocalAddr =&gt; 'localhost', #$ARGV[0],
    LocalPort =&gt; 8080, # 80,
    Reuse =&gt; 1,
    Listen =&gt; 20) || die $!;
print "Web Server started, server address: ", $d-&gt;sockhost(), ", server port: ", $d-&gt;sockport(), "\n";

while (my $c = $d-&gt;accept) {
    threads-&gt;create(\&amp;process_client_requests, $c)-&gt;detach;
    # $c-&gt;close;  # close client socket in server
}
sub process_client_requests {
    my $c = shift;
    $c-&gt;daemon-&gt;close;  # close server socket in client
    while( my $r = $c-&gt;get_request) {
       if ($r-&gt;method eq "GET") {
          my $path = $r-&gt;url-&gt;path();
          $path = '.' . $path; # serve files from current directory
          $c-&gt;send_file_response($path) or die $!;
          # or do whatever you want here
       } else { print "unknown method ".$r-&gt;method."\n" }
    }
    $c-&gt;close;
}</pre>
<p>What took me hours to figure out is that client threads get copies of the server socket, since HTTP::Daemon&#8217;s accept() method puts a reference to itself ($d above) into the ClientConn ($c above):</p>
<pre>
sub accept {
    my $self = shift;
    my $pkg = shift || "HTTP::Daemon::ClientConn";
    my ($sock, $peer) = $self-&gt;SUPER::accept($pkg);
    if ($sock) {
        ${*$sock}{'httpd_daemon'} = $self;
     ...
</pre>
<p>Because of this, the server socket is open in the client threads.  Since it is open, and since browsers like to open multiple connections to the web server (for faster downloading of content and hence faster rendering), the browser gets blocked trying to open the second connection (well, that&#8217;s my guess anyway), since the server socket is still open in the client thread.  Closing the server socket in the client threads solves the problem.  (The client socket must also be closed in the server/accept thread, but I think that happens automatically in the accept while loop).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mrajcok.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mrajcok.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mrajcok.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mrajcok.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mrajcok.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mrajcok.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mrajcok.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mrajcok.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mrajcok.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mrajcok.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mrajcok.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mrajcok.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mrajcok.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mrajcok.wordpress.com/78/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=78&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mrajcok.wordpress.com/2011/08/20/78/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06ea6d3e0ebc35163a044b0bc4ad1387?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">mrajcok</media:title>
		</media:content>
	</item>
		<item>
		<title>Dabo &#8211; a 3-tier, cross-platform application development framework for Python</title>
		<link>http://mrajcok.wordpress.com/2010/10/06/dabo-a-3-tier-cross-platform-application-development-framework-for-python/</link>
		<comments>http://mrajcok.wordpress.com/2010/10/06/dabo-a-3-tier-cross-platform-application-development-framework-for-python/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 03:16:27 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Dabo]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[wxPython]]></category>

		<guid isPermaLink="false">http://mrajcok.wordpress.com/?p=75</guid>
		<description><![CDATA[The boss at work suggests we learn Python.  Okay. I read a bit, then try writing a few programs, which takes a lot longer than if I were writing in Perl &#8212; mainly because I already know Perl. Python is nice&#8230; in some ways nicer than Perl, but in other ways not as nice. Python [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=75&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The boss at work suggests we learn <a href="http://python.org">Python</a>.  Okay.  I read a bit, then try writing a few programs, which takes a lot longer than if I were writing in Perl &#8212; mainly because I already know Perl.  Python is nice&#8230; in some ways nicer than Perl, but in other ways not as nice.  Python has a cleaner syntax, for sure.  I miss how easy it is to write regular expressions in Perl though.  It&#8217;s slow going.</p>
<p>After 20+ years of programming I finally realize that all software can be described in one sentence:  a software programs takes input, stores it in internal data structures, processes or manipulates the data, then spits it out.  I think the key to learning a new programming language is to learn the data structures.  So I take some notes on the common Python data structures.  I&#8217;m going a bit faster now.</p>
<p>Around the same time (3 months ago), I decide I want to write a &#8220;vocabulary builder&#8221; program for my two high school-aged children (and myself).  I use this as an excuse to learn more Python.  Now I need to learn GUI programming in Python&#8230; Oh great, Python has a bunch of them.  I settle on wxPython.  Any free interactive GUI-builders out there?  A few.  Most look ancient.  I find <a href="http://dabodev.com/">Dabo</a>, a &#8220;3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit. And while Dabo is designed to create database-centric apps, that is not a requirement.&#8221;  Well, I have 5000 words I want the kids to learn, so I do want a database.</p>
<p>I ended up writing the program in Dabo.  It&#8217;s a nice environment, but I&#8217;m not sure it is ready for prime time yet, but it is close.  The two authors are incredibly responsive on the email support list &#8212; did I say incredibly?  Put that in bold.  I&#8217;ve never seen such support.</p>
<p>I have to say I&#8217;ve never written so much functionality with so little code.  The built-in database connectivity was quite nice.  They also abstracted away most of the wxPython interface into a more generic GUI layer.  That was nice too.</p>
<p>I reorganized the home page of <a href="http://wiki.dabodev.com/FrontPage">Dabo&#8217;s wiki</a> &#8212; it didn&#8217;t even have any bullets before I reworked it.  I mean, come on guys, at least the wiki&#8217;s main page has to look decent.   And I rewrote a good bit of the Windows installation page.  Just trying to give back a little&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mrajcok.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mrajcok.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mrajcok.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mrajcok.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mrajcok.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mrajcok.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mrajcok.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mrajcok.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mrajcok.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mrajcok.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mrajcok.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mrajcok.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mrajcok.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mrajcok.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=75&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mrajcok.wordpress.com/2010/10/06/dabo-a-3-tier-cross-platform-application-development-framework-for-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06ea6d3e0ebc35163a044b0bc4ad1387?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">mrajcok</media:title>
		</media:content>
	</item>
		<item>
		<title>Perl and UTF-8</title>
		<link>http://mrajcok.wordpress.com/2010/10/06/perl-and-utf-8/</link>
		<comments>http://mrajcok.wordpress.com/2010/10/06/perl-and-utf-8/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 02:27:42 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[UTF-8]]></category>

		<guid isPermaLink="false">http://mrajcok.wordpress.com/?p=66</guid>
		<description><![CDATA[I wrote a very lengthy article about Perl and UTF-8 back in March of 2010. I was adding Unicode support to a web app I&#8217;m developing, and it took a lot of research to figure out how everything works, since it&#8217;s not all written down in one place&#8230; until now<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=66&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I wrote a <strong>very</strong> lengthy article about <a href="http://en.wikibooks.org/wiki/Perl_Programming/Unicode_UTF-8">Perl and UTF-8</a> back in March of 2010.</p>
<p>I was adding Unicode support to a web app I&#8217;m developing, and it took a lot of research to figure out how everything works, since it&#8217;s not all written down in one place&#8230; until now <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mrajcok.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mrajcok.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mrajcok.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mrajcok.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mrajcok.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mrajcok.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mrajcok.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mrajcok.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mrajcok.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mrajcok.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mrajcok.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mrajcok.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mrajcok.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mrajcok.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=66&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mrajcok.wordpress.com/2010/10/06/perl-and-utf-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06ea6d3e0ebc35163a044b0bc4ad1387?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">mrajcok</media:title>
		</media:content>
	</item>
		<item>
		<title>Boost message_queue timed_receive() eating 100% CPU</title>
		<link>http://mrajcok.wordpress.com/2010/10/06/boost-message_queue-timed_receive-eating-100-cpu/</link>
		<comments>http://mrajcok.wordpress.com/2010/10/06/boost-message_queue-timed_receive-eating-100-cpu/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 02:22:17 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Boost]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[message_queue]]></category>

		<guid isPermaLink="false">http://mrajcok.wordpress.com/?p=64</guid>
		<description><![CDATA[I&#8217;m back at C++, after about 2 years of embedded C programming. It&#8217;s nice to be back, I think. You know, when you get a C program working, it is no big deal. When you get a C++ program working, you feel like you accomplished something&#8230; you waded through those hideously long template errors, you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=64&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m back at C++, after about 2 years of embedded C programming.   It&#8217;s nice to be back, I think.  You know, when you get a C program working, it is no big deal.  When you get a C++ program working, you feel like you accomplished something&#8230; you waded through those hideously long template errors, you figured out how to use gdb again to track down that seg fault, and you finally stopped and took the time to write a <a href="http://gist.github.com/608167">GNU makefile</a> to avoid recompiling all the time.</p>
<p>So, yesterday&#8217;s problem&#8230;  I&#8217;m using <a href="http://www.boost.org/doc/libs/1_44_0/doc/html/interprocess/synchronization_mechanisms.html#interprocess.synchronization_mechanisms.message_queue">Boost&#8217;s interprocess message queues</a> so that I can have a separate CLI program send commands (e.g., &#8220;report stats&#8221;, &#8220;re-read the config files&#8221;) to the main program (so I don&#8217;t have to use signals, which is a bit nicer for operators).  On Linux, one of the threads in the main program calls <a href="http://www.boost.org/doc/libs/1_44_0/doc/html/boost/interprocess/message_queue.html">timed_receive</a> on the input message queue &#8212; I want it to normally block, but I also want it to wake up occasionally for keep-alive processing.  timed_receive() is the answer, or is it?  I put the code in and it was working fine&#8230; about 5 days later I run &#8216;top&#8217; and notice my main process is reporting 100% CPU usage!  It doesn&#8217;t do this on Windows or Solaris, just Linux.  I track it down to timed_receive().  I find a <a href="https://svn.boost.org/trac/boost/ticket/4687">Boost ticket</a> describing my problem.  I read, search, read, search, read, read on the Internet.</p>
<p>BOOST_INTERPROCESS_USE_GENERIC_EMULATION &#8211; red herring.</p>
<p>It has to do with condition variables and mutexes in shared memory, which is needed for IPC message queues.  Not all Linux(es?) support it.  The key is _POSIX_THREAD_PROCESS_SHARED &#8212; if it&#8217;s set to -1 in some POSIX header file, then Boost emulates the functionality by calling pthread_yield(), which will consume all of your CPU, but allow other processes to run.</p>
<p>On my Linux box I grep /usr/include for _POSIX_THREAD_PROCESS_SHARED.  It appears in two header files</p>
<p>/usr/include/bits/posix_opt.h has<br />
#define _POSIX_THREAD_PROCESS_SHARED -1</p>
<p>/usr/include/nptl/bits/posix_opt.h has<br />
#define _POSIX_THREAD_PROCESS_SHARED 200112L</p>
<p>I add -I/usr/include/nplt to the makefile, problem solved &#8212; no more 100% CPU utilization.   Boost now uses the OS support for condition variables in shared memory, which allows the condition variable to be used by more than one process.   Whew, tough one.</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mrajcok.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mrajcok.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mrajcok.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mrajcok.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mrajcok.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mrajcok.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mrajcok.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mrajcok.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mrajcok.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mrajcok.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mrajcok.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mrajcok.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mrajcok.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mrajcok.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=64&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mrajcok.wordpress.com/2010/10/06/boost-message_queue-timed_receive-eating-100-cpu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06ea6d3e0ebc35163a044b0bc4ad1387?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">mrajcok</media:title>
		</media:content>
	</item>
		<item>
		<title>Better PDF rendering</title>
		<link>http://mrajcok.wordpress.com/2010/10/06/better-pdf-rendering/</link>
		<comments>http://mrajcok.wordpress.com/2010/10/06/better-pdf-rendering/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 02:00:46 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mrajcok.wordpress.com/?p=62</guid>
		<description><![CDATA[I stumbled upon this option today in Adobe Reader: Edit-&#62;Preferences, in the Rendering box, Smooth Text, select &#8220;For Laptop/LCD screens&#8221;. Text will now render nicer. Adobe, I think it is time to use this as the default and not &#8220;For Monitor&#8221;. Does anyone use monitors anymore? The above is where the settings are on Reader [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=62&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I stumbled upon this option today in Adobe Reader:</p>
<p>Edit-&gt;Preferences, in the Rendering box, Smooth Text, select &#8220;For Laptop/LCD screens&#8221;.  Text will now render nicer.</p>
<p>Adobe, I think it is time to use this as the default and not &#8220;For Monitor&#8221;.  Does anyone use monitors anymore?</p>
<p>The above is where the settings are on Reader v8.   Reader v9 doesn&#8217;t want to install on my XP computer for some unknown-to-me reason.  We tried 3 times.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mrajcok.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mrajcok.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mrajcok.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mrajcok.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mrajcok.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mrajcok.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mrajcok.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mrajcok.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mrajcok.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mrajcok.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mrajcok.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mrajcok.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mrajcok.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mrajcok.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=62&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mrajcok.wordpress.com/2010/10/06/better-pdf-rendering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06ea6d3e0ebc35163a044b0bc4ad1387?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">mrajcok</media:title>
		</media:content>
	</item>
		<item>
		<title>My first open source project</title>
		<link>http://mrajcok.wordpress.com/2009/08/29/my-first-open-source-project/</link>
		<comments>http://mrajcok.wordpress.com/2009/08/29/my-first-open-source-project/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 02:46:02 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[CGI]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[CGI::Application]]></category>

		<guid isPermaLink="false">http://mrajcok.wordpress.com/?p=46</guid>
		<description><![CDATA[(I already mentioned this in an Aug 1st post, but here are some more details.) My first open source project was created about a year ago.  It is actually more of a tutorial on how to use a collection of Perl modules to create a base web application. The project is on sourceforge.net, and the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=46&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>(I already mentioned this in an Aug 1st post, but here are some more details.)</p>
<p>My first open source project was created about a year ago.  It is actually more of a tutorial on how to use a collection of Perl modules to create a base web application.</p>
<p>The project is on sourceforge.net, and the documentation is a <a href="http://docs.google.com/Doc?id=dd363fg9_77gb4hdh7b">Google doc</a>.</p>
<p>Here&#8217;s a quote from the documentation:</p>
<p>For a while now, I wanted to create a reusable &#8220;starter package&#8221; of Perl code I could use to jumpstart &#8220;vanilla&#8221; CGI web projects.  Many projects need the following (common) features:</p>
<ul>
<li> usable on a shared ISP hosting environment (Linux)</li>
<li> MySQL backend (could be PostgreSQL, but MySQL seems to be more common, and it is good enough for my modest website projects&#8217; needs)</li>
<li> directory structure that supports both live/production and development versions
<ul>
<li> separate config files, CSS files, Perl Modules (CPAN and custom), etc.</li>
<li> separate databases (requires an ISP that allows multiple databases)</li>
</ul>
</li>
<li> clear MVC separation, and object-oriented modules
<ul>
<li> Controller: CGI-App subclasses</li>
<li> View: HTML templates</li>
<li> Model: class for each database table
<ul>
<li> protect against typos in classes that model database tables (e.g., User.pm) &#8212; i.e., if there is a database field/column named username, I want Perl to tell me if I accidentally type $self-&gt;<em>usr</em>name instead of $self-&gt;<em>user</em>name</li>
<li> auto-generate (AUTOLOAD) get/set methods for database table fields</li>
<li> data validation rules are in the model classes (not the Controller classes)</li>
</ul>
</li>
</ul>
</li>
<li> test harness &#8212; <strong>TBD</strong>, looking at <a href="http://search.cpan.org/perldoc?Test%3A%3AWWW%3A%3AMechanize">Test::WWW::Mechanize</a></li>
<li> sessions, stored in the database
<ul>
<li> expire sessions</li>
</ul>
</li>
<li> user authentication</li>
<li> user login form and log off functionality</li>
<li> user &#8220;edit my account&#8221; page</li>
<li> user &#8220;forgot password&#8221; functionality (generate a new password and email it to the user)</li>
<li> user &#8220;block&#8221;/div on each page (with a &#8220;sign out&#8221; link) &#8212; like eBay and Amazon</li>
<li> simple (error) logging facility &#8212; just append text/errors to a file for now</li>
<li> page redirect capabilities, e.g.,
<ul>
<li> after logging in, redirect to app&#8217;s main page</li>
<li> after creating an account, create a session &#8212; don&#8217;t make the user have to log in after creating an account</li>
</ul>
</li>
<li> status message &#8212; eBay.com, sourceforge.net, and LinkedIn.com do this.  Suppose you submit changes on the &#8220;update my account&#8221; page.  Instead of dumping you to a &#8220;your account has been updated&#8230; What would you like to do now?&#8221; page, they dump you to the app&#8217;s main page, but put a green div with text that says &#8220;account updated&#8221;:</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mrajcok.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mrajcok.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mrajcok.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mrajcok.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mrajcok.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mrajcok.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mrajcok.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mrajcok.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mrajcok.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mrajcok.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mrajcok.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mrajcok.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mrajcok.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mrajcok.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=46&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mrajcok.wordpress.com/2009/08/29/my-first-open-source-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06ea6d3e0ebc35163a044b0bc4ad1387?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">mrajcok</media:title>
		</media:content>
	</item>
		<item>
		<title>dokuwiki &#8211; get your group to use it</title>
		<link>http://mrajcok.wordpress.com/2009/08/29/dokuwiki-get-your-group-to-use-it/</link>
		<comments>http://mrajcok.wordpress.com/2009/08/29/dokuwiki-get-your-group-to-use-it/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 02:36:38 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[team]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://mrajcok.wordpress.com/?p=41</guid>
		<description><![CDATA[A software development group I joined at Avaya a few years ago used dokuwiki for the SES project.  I liked it.  I liked it better than the &#8220;websource&#8221; CGI-driven &#8220;check out an HTML page&#8221; toolset I wrote to manage a website of loosely connected HTML pages. When I went back to work for AT&#38;T (after [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=41&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A software development group I joined at Avaya a few years ago used <a href="http://www.dokuwiki.org/dokuwiki">dokuwiki</a> for the SES project.  I liked it.  I liked it better than the &#8220;websource&#8221; CGI-driven &#8220;check out an HTML page&#8221; toolset I wrote to manage a website of loosely connected HTML pages.</p>
<p>When I went back to work for AT&amp;T (after my long Lucent/Avaya stint), I promptly setup an Apache web server, and installed dokuwiki.  Although I author about 90% of the content (still!), I think everyone else on the team (8 others) find it quite valuable.  Personally, I can&#8217;t live without it.</p>
<p>I really only have 3 &#8220;sinks&#8221; for information these days:  wikis, Google docs, email.  The wiki is what I use at work.  Google docs is for information I want to use at work, home, and share with others (such as a <a href="http://docs.google.com/Doc?docid=0AY-OcCA2-lySZGQzNjNmZzlfMWY0c3Q2Zg&amp;hl=en">cheat-sheet for MySQL</a>).  email is what I have to use to get people to look at the wiki and Google documents I write!</p>
<p>Ok, so I guess I have to add blogs to that list above&#8230;  I have two blogs.  This &#8220;professional&#8221; one, and a private/personal one.  I blog when a Google doc is &#8220;too heavy&#8221; for the snippet of information I want to capture/share.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mrajcok.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mrajcok.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mrajcok.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mrajcok.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mrajcok.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mrajcok.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mrajcok.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mrajcok.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mrajcok.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mrajcok.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mrajcok.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mrajcok.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mrajcok.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mrajcok.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=41&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mrajcok.wordpress.com/2009/08/29/dokuwiki-get-your-group-to-use-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06ea6d3e0ebc35163a044b0bc4ad1387?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">mrajcok</media:title>
		</media:content>
	</item>
		<item>
		<title>Subversion for source code control</title>
		<link>http://mrajcok.wordpress.com/2009/08/29/subversion-for-source-code-control/</link>
		<comments>http://mrajcok.wordpress.com/2009/08/29/subversion-for-source-code-control/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 02:17:42 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[team]]></category>
		<category><![CDATA[source code control]]></category>

		<guid isPermaLink="false">http://mrajcok.wordpress.com/?p=35</guid>
		<description><![CDATA[I recently installed Collabnet&#8217;s pre-built Subversion package on a RedHat Linux server at work (the Apache flavor).  It would have been a very easy install, had I known that the Linux box had a firewall enabled, and hence it was blocking most ports!  So, not surprisingly, my selected Subversion port of 9000 was being blocked.  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=35&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently installed <a href="http://www.collab.net/downloads/subversion/redhat.html">Collabnet&#8217;s pre-built Subversion</a> package on a RedHat Linux server at work (the Apache flavor).  It would have been a very easy install, had I known that the Linux box had a firewall enabled, and hence it was blocking most ports!  So, not surprisingly, my selected Subversion port of 9000 was being blocked.  A simple tweak and away we went.</p>
<p>I used <a href="http://tortoisesvn.net/downloads">TortoiseSVN</a> as a Subversion client in the past (with my Open Source project), and I&#8217;m recommending that to the developers in my group.</p>
<p>I like how TortoiseSVN provides Windows Explorer <a href="http://tortoisesvn.net/node/138">icon overlays</a>, making it easy to see which files have been checked out, modified, added, deleted, etc.</p>
<p>I like it so much that I&#8217;m going to install it on the FreeBSD virtual server I&#8217;m setting up on my Windows XP box (using Microsoft Virtual PC).  I&#8217;ll talk about that in another post someday.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mrajcok.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mrajcok.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mrajcok.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mrajcok.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mrajcok.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mrajcok.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mrajcok.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mrajcok.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mrajcok.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mrajcok.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mrajcok.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mrajcok.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mrajcok.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mrajcok.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=35&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mrajcok.wordpress.com/2009/08/29/subversion-for-source-code-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06ea6d3e0ebc35163a044b0bc4ad1387?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">mrajcok</media:title>
		</media:content>
	</item>
		<item>
		<title>UltraEdit &#8211; my favorite text editor</title>
		<link>http://mrajcok.wordpress.com/2009/08/29/ultraedit/</link>
		<comments>http://mrajcok.wordpress.com/2009/08/29/ultraedit/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 02:04:20 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[off the shelf software]]></category>
		<category><![CDATA[text editor]]></category>

		<guid isPermaLink="false">http://mrajcok.wordpress.com/?p=33</guid>
		<description><![CDATA[The text editor I always use is UltraEdit.  I bought a one-year subscription in &#8217;02 (for $35), and then a &#8220;lifetime subscription&#8221; with &#8220;unlimited upgrades&#8221; in &#8217;05 for $50.  I have to say that I bagged a good deal.   A one-year subscription now costs $50, and upgrades are $25!  (I don&#8217;t think they even offer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=33&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The text editor I always use is <a href="http://www.ultraedit.com">UltraEdit</a>.  I bought a one-year subscription in &#8217;02 (for $35), and then  a &#8220;lifetime subscription&#8221; with &#8220;unlimited upgrades&#8221; in &#8217;05 for $50.  I have to say that I bagged a good deal.   A one-year subscription now costs $50, and upgrades are $25!  (I don&#8217;t think they even offer the unlimited upgrade option anymore.)</p>
<p>One feature I particularly like is that I can define a button (and put it on a menu or a button bar) that will launch a web browser with a URL of my choosing, and the URL can contain the currently highlighted text.</p>
<p>So, for a programmer like me, I can now highlight &#8220;localtime&#8221; in a file I&#8217;m editing, click a button I defined, and I&#8217;m taken to http://perldoc.perl.org/search.html?q=localtime.  I have buttons for C/C++, jQuery, and Perl.</p>
<p>I also like the nifty right-click customizable menu, where I put the &#8220;add comment&#8221; and &#8220;remove comment&#8221; functions.  The editor knows which language a file I&#8217;m editing is, and adds the appropriate comments.</p>
<p>A few other  features and then I&#8217;m done:  customizable color syntax highlighting; collapsible  blocks; built-in telnet/SSH; (s)ftp; projects; column mode; bookmarks; a scripting language; Perl-compatible regex searching; color-coded file tabs.</p>
<p>This is a far cry from my ASCII emacs days of yore.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mrajcok.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mrajcok.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mrajcok.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mrajcok.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mrajcok.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mrajcok.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mrajcok.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mrajcok.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mrajcok.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mrajcok.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mrajcok.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mrajcok.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mrajcok.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mrajcok.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=33&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mrajcok.wordpress.com/2009/08/29/ultraedit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06ea6d3e0ebc35163a044b0bc4ad1387?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">mrajcok</media:title>
		</media:content>
	</item>
		<item>
		<title>7-Zip freeware zip software</title>
		<link>http://mrajcok.wordpress.com/2009/08/12/7-zip-freeware-zip-software/</link>
		<comments>http://mrajcok.wordpress.com/2009/08/12/7-zip-freeware-zip-software/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 03:50:18 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://mrajcok.wordpress.com/?p=27</guid>
		<description><![CDATA[I had a project where I needed to zip up ~14,000 image files and put them on a web server.   So I first tried the &#8220;normal XP way&#8221; &#8212; open the directory with Explorer and type Ctrl-A to highlight all of the files.  Then right-click on the selection and select Send To -&#62; Compressed (zipped) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=27&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I had a project where I needed to zip up ~14,000 image files and put them on a web server.   So I first tried the &#8220;normal XP way&#8221;  &#8212; open the directory with Explorer and type Ctrl-A to highlight all of the files.  Then right-click on the selection and select Send To -&gt; Compressed (zipped) Folder to create a zip file.</p>
<p>After about 800 or so files, things started to really slow down.   After many minutes, I think only around 2000 files of the 14,000 were zipped.  As each file was added to the archive it took longer and longer.   Time for plan B, so I asked my wife to help me search for something better on the Internet (she has a knack for that).</p>
<p>She found 7-Zip before I did.  So I downloaded it, and tried it.  It zipped all 14,000 files in less time than it took XP to do 800!</p>
<p>Problem solved.  (Funny, over the next few weeks I saw 7-Zip mentioned a number of times, including in <a href="http://entangled.wordpress.com/2009/07/05/modify-google-notebook-add-on-for-firefox-3-5/">this blog post</a> that provides instructions on how to enable Google Notebook with FF 3.5)</p>
<p>P.S. I use FileZilla to (s)ftp.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mrajcok.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mrajcok.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mrajcok.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mrajcok.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mrajcok.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mrajcok.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mrajcok.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mrajcok.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mrajcok.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mrajcok.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mrajcok.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mrajcok.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mrajcok.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mrajcok.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mrajcok.wordpress.com&amp;blog=8822740&amp;post=27&amp;subd=mrajcok&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mrajcok.wordpress.com/2009/08/12/7-zip-freeware-zip-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06ea6d3e0ebc35163a044b0bc4ad1387?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">mrajcok</media:title>
		</media:content>
	</item>
	</channel>
</rss>
