<?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/"
	>

<channel>
	<title>Commavee &#187; General Technology</title>
	<atom:link href="http://commavee.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://commavee.com</link>
	<description>from John Minnihan, founder of Freepository.</description>
	<lastBuildDate>Sat, 20 Feb 2010 19:08:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tech Tip: Resolving screen flicker when a DOM element is updated asynchronously</title>
		<link>http://commavee.com/2010/02/13/tech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously/</link>
		<comments>http://commavee.com/2010/02/13/tech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 23:03:53 +0000</pubDate>
		<dc:creator>John Minnihan</dc:creator>
				<category><![CDATA[General Technology]]></category>

		<guid isPermaLink="false">http://commavee.com/2010/02/13/tech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously/</guid>
		<description><![CDATA[This tech tip is useful enough to warrant its own post.
If you are updating a DOM element via javascript, for example replacing the content or changing the style, you may notice screen flicker during the update.  Screen flicker on any div update is usually the result of a collision of heights of the elements that are [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcommavee.com%2F2010%2F02%2F13%2Ftech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcommavee.com%2F2010%2F02%2F13%2Ftech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously%2F" height="61" width="51" /></a></div><p><span style="font-family: Arial; font-size: 10pt">This tech tip is useful enough to warrant its own post.</span></p>
<p><span style="font-family: Arial; font-size: 10pt">If you are updating a DOM element via javascript, for example replacing the content or changing the style, you may notice screen flicker during the update.  Screen flicker on any div update is usually the result of a collision of heights of the elements that are changing.<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " /><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />Be sure that there&#8217;s adequate space (or at least no overlap) between the div you are updating and any adjacent divs. The flicker is caused when the DOM renders the new placement &amp; has to &#8216;adjust&#8217; the overlap.</span></p>
<p><!--pp-thumb-start--><!--PictPress found no dir /usr/local/apache2/htdocs/wordpress/wp-content/uploads/2010/02/tech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously--><!--pp-thumb-end--></p>
<img src="http://commavee.com/?ak_action=api_record_view&id=825&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://commavee.com/2010/02/13/tech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Themes, themes, themes&#8230;</title>
		<link>http://commavee.com/2010/01/23/themes-themes-themes/</link>
		<comments>http://commavee.com/2010/01/23/themes-themes-themes/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 19:49:51 +0000</pubDate>
		<dc:creator>John Minnihan</dc:creator>
				<category><![CDATA[General Technology]]></category>

		<guid isPermaLink="false">http://commavee.com/2010/01/23/themes-themes-themes/</guid>
		<description><![CDATA[You may have noticed that I&#8217;ve been changing the theme of the site today. 
I&#8217;ll settle on one I like soon, but this exercise &#8211; which I undertake every 3 &#8211; 6 months &#8211; made me consider why I do this.  It would be easy to say that I simply bore quickly with any given [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcommavee.com%2F2010%2F01%2F23%2Fthemes-themes-themes%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcommavee.com%2F2010%2F01%2F23%2Fthemes-themes-themes%2F" height="61" width="51" /></a></div><p><span style="font-family: Arial">You may have noticed that I&#8217;ve been changing the theme of the site today. </span></p>
<p><span style="font-family: Arial">I&#8217;ll settle on one I like soon, but this exercise &#8211; which I undertake every 3 &#8211; 6 months &#8211; made me consider why I do this.  It would be easy to say that I simply bore quickly with any given theme &amp; want to try others, but the real reason is more subtle&#8230; and vastly more interesting.</span></p>
<p><span style="font-family: Arial">I believe that visual cues are a huge part of effective communication.  Experimenting with different themes allows me to see, for myself, the results of these changes.  </span></p>
<p><!--pp-thumb-start--><!--PictPress found no dir /usr/local/apache2/htdocs/wordpress/wp-content/uploads/2010/01/themes-themes-themes--><!--pp-thumb-end--></p>
<img src="http://commavee.com/?ak_action=api_record_view&id=765&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://commavee.com/2010/01/23/themes-themes-themes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video of Greenpeace climbers on Mt. Rushmore</title>
		<link>http://commavee.com/2009/07/09/video-of-greenpeace-climbers-on-mt-rushmore/</link>
		<comments>http://commavee.com/2009/07/09/video-of-greenpeace-climbers-on-mt-rushmore/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 19:46:26 +0000</pubDate>
		<dc:creator>John Minnihan</dc:creator>
				<category><![CDATA[General Technology]]></category>

		<guid isPermaLink="false">http://commavee.com/2009/07/09/video-of-greenpeace-climbers-on-mt-rushmore/</guid>
		<description><![CDATA[No matter your opinion of the political statement these activists were making, you have to respect someone who can literally get blown off the side of a mountain &#38; not lose sight of the objective of the climb.  Pretty amazing stuff.

Tags: greenpeace, mt rushmore, gloabl warming

]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcommavee.com%2F2009%2F07%2F09%2Fvideo-of-greenpeace-climbers-on-mt-rushmore%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcommavee.com%2F2009%2F07%2F09%2Fvideo-of-greenpeace-climbers-on-mt-rushmore%2F" height="61" width="51" /></a></div><p><span style="font-family: Arial; font-size: 11pt">No matter your opinion of the political statement these activists were making, you have to respect someone who can literally get blown off the side of a mountain &amp; not lose sight of the objective of the climb.  Pretty amazing stuff.</span></p>
<p><object height="340" width="560"><param name="movie" value="http://www.youtube.com/v/1A9_xj77rcQ&amp;hl=en&amp;fs=1&amp;" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/1A9_xj77rcQ&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" width="560" height="340" /></object></p>
<p><small>Tags: <a rel="tag" href="http://technorati.com/tag/greenpeace">greenpeace</a>, <a rel="tag" href="http://technorati.com/tag/mt+rushmore">mt rushmore</a>, <a rel="tag" href="http://technorati.com/tag/gloabl+warming">gloabl warming</a></small></p>
<p><!--pp-thumb-start--><!--PictPress found no dir /usr/local/apache2/htdocs/wordpress/wp-content/uploads/2009/07/video-of-greenpeace-climbers-on-mt-rushmore--><!--pp-thumb-end--></p>
<img src="http://commavee.com/?ak_action=api_record_view&id=579&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://commavee.com/2009/07/09/video-of-greenpeace-climbers-on-mt-rushmore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tech Tip: Multi-line Perl regex pattern match</title>
		<link>http://commavee.com/2009/06/18/tech-tip-multi-line-perl-regex-pattern-match/</link>
		<comments>http://commavee.com/2009/06/18/tech-tip-multi-line-perl-regex-pattern-match/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 16:56:53 +0000</pubDate>
		<dc:creator>John Minnihan</dc:creator>
				<category><![CDATA[General Technology]]></category>
		<category><![CDATA[Source Control]]></category>
		<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://commavee.com/2009/06/18/tech-tip-multi-line-perl-regex-pattern-match/</guid>
		<description><![CDATA[This post illustrates a complex pattern-matching technique in Perl.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcommavee.com%2F2009%2F06%2F18%2Ftech-tip-multi-line-perl-regex-pattern-match%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcommavee.com%2F2009%2F06%2F18%2Ftech-tip-multi-line-perl-regex-pattern-match%2F" height="61" width="51" /></a></div><p><span style="font-family:Arial">Yesterday, I encountered an analysis issue that appeared to be resolvable with a simple pattern replacement technique. <br />
<span id="more-565"></span><br />
This turned out to be a bit more complex than estimated, as the pattern spanned multiple lines and I struggled to get the regex constructed to match this use case.</span></p>
<p><span style="font-family:Arial">I finally figured it out, and although the overall problem remains unresolved (it has many layers), this particular part works well.  My error was in how I viewed use of  /s and /m as mutually exclusive; they aren&#8217;t of course, and I have made that mistake one other time over the years.   I also hadn&#8217;t set the input record separator ($/) to paragraph read mode.   I&#8217;m posting details here to document my specific usage.</span></p>
<p><span style="font-family:Arial">Assumptions:</span></p>
<ul>
<li><span style="font-family:Arial">A literal pattern exists that is present in multiple places in a file</span></li>
<li><span style="font-family:Arial">The literal pattern spans multiple lines in the file</span></li>
<li>
<span style="font-family:Arial">Literal pattern is</span></p>
<ul>
<li><span style="font-family:Courier">Node-path: branches/%%BRANCHES%%</span></li>
<li><span style="font-family:Courier">Node-kind: dir</span></li>
<li><span style="font-family:Courier">Node-action: add</span></li>
</ul>
</li>
<li><span style="font-family:Arial">Perl is being used to read the file and current line of file is <span style="font-family:Courier">$line</span></span></li>
<li><span style="font-family:Arial">Objective is to delete all occurrences of this pattern from the file one <span style="font-family:Courier">$line</span> at a time</span></li>
</ul>
<p><span style="font-family:Arial">Here&#8217;s how I did that:</span></p>
<p>[read the file &amp; crawl thru the lines]</p>
<p><span style="font-family: Courier; font-size: 10pt">$/ = &#8221;;</span></p>
<p><span style="font-family: Courier; font-size: 10pt">$line =~ s/^Node-path:\sbranches\/%%BRANCHES%%.*?^Node-kind:\sdir.*?^Node-action:\sadd.*?//sm;</span></p>
<p><span style="font-family:Arial"><small>Tags: <a rel="tag" href="http://technorati.com/tag/perl">perl</a>, <a rel="tag" href="http://technorati.com/tag/regex">regex</a>, <a rel="tag" href="http://technorati.com/tag/tech-tips">tech-tips</a></small></span></p>
<p><!--pp-thumb-start--><!--PictPress found no dir /usr/local/apache2/htdocs/wordpress/wp-content/uploads/2009/06/tech-tip-multi-line-perl-regex-pattern-match--><!--pp-thumb-end--></p>
<img src="http://commavee.com/?ak_action=api_record_view&id=565&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://commavee.com/2009/06/18/tech-tip-multi-line-perl-regex-pattern-match/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quick file &amp; directory cleanup tools</title>
		<link>http://commavee.com/2009/06/15/quick-file-directory-cleanup-tools/</link>
		<comments>http://commavee.com/2009/06/15/quick-file-directory-cleanup-tools/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 01:49:19 +0000</pubDate>
		<dc:creator>John Minnihan</dc:creator>
				<category><![CDATA[General Technology]]></category>
		<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://commavee.com/2009/06/15/quick-file-directory-cleanup-tools/</guid>
		<description><![CDATA[Every sys admin needs to quickly free up disk space from time to time, and here are two well-tested scripts I use for exactly this purpose.
The first is a simple command-line use of exec that uses find to construct of list of matching file names, in this case all gzipped tarballs, and then runs the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcommavee.com%2F2009%2F06%2F15%2Fquick-file-directory-cleanup-tools%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcommavee.com%2F2009%2F06%2F15%2Fquick-file-directory-cleanup-tools%2F" height="61" width="51" /></a></div><p><span style="font-family: Arial">Every sys admin needs to quickly free up disk space from time to time, and here are two well-tested scripts I use for exactly this purpose.</span></p>
<p><span style="font-family: Arial">The first is a simple command-line use of <span style="font-family:Courier">exec</span> that uses <span style="font-family:Courier">find</span> to construct of list of matching file names, in this case all <span style="font-family:Courier">gzipped tarballs</span>, and then runs the <span style="font-family:Courier">rm</span> command on them.  The curly braces <span style="font-family:Courier">&quot;{}&quot;</span> act as a holder for each file name from the list, and the trailing <span style="font-family:Courier">&quot;\&quot;</span> is used to escape the <span style="font-family:Courier">&quot;;&quot;</span>, so that it is passed to <span style="font-family:Courier">find</span> as a literal command terminator.</span></p>
<p><span style="font-family:Courier">#find . -name *.tar.gz -exec rm {} \;</span></p>
<p><span style="font-family:Arial">You may find (pun intended) that you need a slightly more sophisticated way to construct the list of things to remove.  For example,  to recursively delete all files &amp; directories from an arbitrary depth in the file-system, except for special files or directories.  To accomplish this, I use a small Perl utility I wrote that uses the <span style="font-family:Courier">File::Find</span> module.  </span></p>
<p><span style="font-family:Arial">Here is the actual script I use generalized out with a fake <span style="font-family:Courier">$top</span> and<span style="font-family:Courier"> </span></span><span style="font-family:Courier">/some-pattern-to-exclude/.<span style="font-family:Arial"> This script will</span></span><span style="font-family:Arial"> crawl down (actually the direction that </span><span style="font-family:Courier">finddepth</span><span style="font-family:Arial"> goes is <strong>up)</strong> a list of files &amp; directories, and unless the pattern is matched, each file in the directory &amp; then the directory itself is deleted. </span></p>
<p><span style="font-family:Arial">How does this work?  Pretty simple &#8211; the <span style="font-family:Courier">File::Find</span> module loads some routines, one of which is <span style="font-family:Courier">finddepth.</span> The first argument it expects is a routine to run against all files &amp; directories found, starting at the location named in the second argument.  The <span style="font-family:Courier">wanted</span> routine is run on each element in <span style="font-family:Courier">finddepth&#8217;s</span> list &amp; you can use  <span style="font-family:Courier">finddepth&#8217;s</span> variables to make your <span style="font-family:Courier">wanted</span> routine smarter.</span></p>
</p>
<p><img height="341" style="margin: 5px" width="532" alt="" src="http://commavee.com/wp-content/uploads/2009/06/cleanUp1.jpg" /></p>
</p>
<p><small>Tags: <a rel="tag" href="http://technorati.com/tag/tech+tips">tech tips</a>, <a rel="tag" href="http://technorati.com/tag/perl">perl</a>, <a rel="tag" href="http://technorati.com/tag/sysadmin">sysadmin</a></small></p>
<p><!--pp-thumb-start--><!--PictPress found no dir /usr/local/apache2/htdocs/wordpress/wp-content/uploads/2009/06/quick-file-directory-cleanup-tools--><!--pp-thumb-end--></p>
<img src="http://commavee.com/?ak_action=api_record_view&id=560&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://commavee.com/2009/06/15/quick-file-directory-cleanup-tools/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
