<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en-gb">


<title>DevGuy</title>
<subtitle>Tips and Tricks for IT Professionals</subtitle>
<link href="http://devguy.com/bb/index.php" />
<updated>2012-01-30T22:21:54-08:00</updated>

<author><name><![CDATA[DevGuy]]></name></author>
<id>http://devguy.com/bb/feed.php</id>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/DevGuy" /><feedburner:info uri="devguy" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2012-01-30T22:21:54-08:00</updated>
<published>2012-01-30T22:21:54-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2474&amp;p=3824#p3824</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/I1nGdcCKMHY/viewtopic.php" />
<title type="html"><![CDATA[Windows • Delayed loop example]]></title>

<category term="Windows" scheme="http://devguy.com/bb/viewforum.php?f=15" label="Windows" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2474&amp;p=3824#p3824">
Note the 'ping' hack which provides a 5 second delay.&lt;br /&gt;&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;:repeat&lt;br /&gt;net start &amp;quot;OfficeScan NT RealTime Scan&amp;quot;&lt;br /&gt;ping -n 5 127.0.0.1 &amp;gt; nul&lt;br /&gt;goto:repeat&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Mon Jan 30, 2012 10:21 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jLdov0HtOIOGThjuzA7M75J8KuQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jLdov0HtOIOGThjuzA7M75J8KuQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jLdov0HtOIOGThjuzA7M75J8KuQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jLdov0HtOIOGThjuzA7M75J8KuQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/I1nGdcCKMHY" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2474&amp;p=3824#p3824</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2012-01-30T22:21:31-08:00</updated>
<published>2012-01-30T22:21:31-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2473&amp;p=3823#p3823</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/j2RSCJc92LY/viewtopic.php" />
<title type="html"><![CDATA[Windows • Delayed loop example]]></title>

<category term="Windows" scheme="http://devguy.com/bb/viewforum.php?f=15" label="Windows" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2473&amp;p=3823#p3823">
Note the 'ping' hack which provides a 5 second delay.&lt;br /&gt;&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;:repeat&lt;br /&gt;c:\windows\system32\net.exe start &amp;quot;OfficeScan NT RealTime Scan&amp;quot;&lt;br /&gt;ping -n 5 127.0.0.1 &amp;gt; nul&lt;br /&gt;goto:repeat&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Mon Jan 30, 2012 10:21 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BjNzKA6SLA10i0tdW2tdUwTK78w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BjNzKA6SLA10i0tdW2tdUwTK78w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BjNzKA6SLA10i0tdW2tdUwTK78w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BjNzKA6SLA10i0tdW2tdUwTK78w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/j2RSCJc92LY" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2473&amp;p=3823#p3823</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2012-01-21T10:14:02-08:00</updated>
<published>2012-01-21T10:14:02-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2472&amp;p=3822#p3822</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/cvIJ1xGR4u4/viewtopic.php" />
<title type="html"><![CDATA[Perl • Using Date::Manip: Modifying TZ]]></title>

<category term="Perl" scheme="http://devguy.com/bb/viewforum.php?f=11" label="Perl" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2472&amp;p=3822#p3822">
If your script changes the TZ environment variable, be sure to tell Date::Manip about it:&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;Date::Manip::Date_Init(&amp;quot;TZ=$new_tz_value&amp;quot;);&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Sat Jan 21, 2012 10:14 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-3fXdlhuyYu1f8LQpJ5lG0pbt6I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-3fXdlhuyYu1f8LQpJ5lG0pbt6I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-3fXdlhuyYu1f8LQpJ5lG0pbt6I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-3fXdlhuyYu1f8LQpJ5lG0pbt6I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/cvIJ1xGR4u4" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2472&amp;p=3822#p3822</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2012-01-21T10:07:20-08:00</updated>
<published>2012-01-21T10:07:20-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2471&amp;p=3821#p3821</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/eFJXL3ylJlU/viewtopic.php" />
<title type="html"><![CDATA[Professional • Re: Design flaw in Oracle exposes Small Thinking]]></title>

<category term="Professional" scheme="http://devguy.com/bb/viewforum.php?f=10" label="Professional" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2471&amp;p=3821#p3821">
Here's how you fix the problem.&lt;br /&gt;&lt;br /&gt;If you encounter a number greater than, say, 2^46, you look in another location for the additional 16 bits you need to make a complete 64 bit number.&lt;br /&gt;&lt;br /&gt;You add that fix all over the place: Replication, backup, recovery, transaction management, and on and on and on.&lt;br /&gt;&lt;br /&gt;Glue and chicken wire.&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Sat Jan 21, 2012 10:07 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0lwxWcekCpwgT6yTeBTX7qgK7Kg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0lwxWcekCpwgT6yTeBTX7qgK7Kg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0lwxWcekCpwgT6yTeBTX7qgK7Kg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0lwxWcekCpwgT6yTeBTX7qgK7Kg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/eFJXL3ylJlU" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2471&amp;p=3821#p3821</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2012-01-21T10:01:57-08:00</updated>
<published>2012-01-21T10:01:57-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2471&amp;p=3820#p3820</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/aDS3dEYGSkQ/viewtopic.php" />
<title type="html"><![CDATA[Professional • Re: Design flaw in Oracle exposes Small Thinking]]></title>

<category term="Professional" scheme="http://devguy.com/bb/viewforum.php?f=10" label="Professional" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2471&amp;p=3820#p3820">
The irony is the architect was spooky right. The 48 bit design lasted long enough. Just long enough until Oracle's biggest customers would no longer be Oracle customers.&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Sat Jan 21, 2012 10:01 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SYcW_aGC4O0LJJIZi2eRUr5eOO8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SYcW_aGC4O0LJJIZi2eRUr5eOO8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SYcW_aGC4O0LJJIZi2eRUr5eOO8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SYcW_aGC4O0LJJIZi2eRUr5eOO8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/aDS3dEYGSkQ" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2471&amp;p=3820#p3820</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2012-01-21T09:41:50-08:00</updated>
<published>2012-01-21T09:41:50-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2471&amp;p=3819#p3819</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/YHFGGMKzVb8/viewtopic.php" />
<title type="html"><![CDATA[Professional • Design flaw in Oracle exposes Small Thinking]]></title>

<category term="Professional" scheme="http://devguy.com/bb/viewforum.php?f=10" label="Professional" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2471&amp;p=3819#p3819">
Small thinkers shouldn't make big decisions.&lt;br /&gt;&lt;br /&gt;Years ago, an architect at Oracle thought a 48-bit number would be orders of magnitude in excess to count all the transactions for any enterprise, for ever. Yes, a bug in &amp;quot;hot backup&amp;quot; plus cluster-sync was the downfall to his design, but the real problem is that he grossly overestimated his estimation prowess, not to mention his ability to predict the future. The ability of the Internets to handle transactions from 7 billion humans plus billions of software robots (if you don't know what I mean, you don't understand Wall Street either) blows the 2^48 estimate clear out of the solar system.&lt;br /&gt;&lt;br /&gt;He probably didn't bother to question his own judgement and I'll bet my left testicle (the right one is special) that his manager didn't know about it either. Yes, HIS manager - the dearth of female technologists at Oracle is a topic for another day.&lt;br /&gt;&lt;br /&gt;The architect suffered from small thinking, mainly the belief that CPUs wouldn't ever be able to efficiently handle 64 bit addition (wrong). Plus, why bother? 48 bits is more than enough (wrong).&lt;br /&gt;&lt;br /&gt;So was 48k of RAM. The result is a huge PR and support nightmare for Oracle. Obviously, they'll fix it because they have to.&lt;br /&gt;&lt;br /&gt;I would have used a 128 bit number, critics be damned. Of course, I would have been fired because the 48-bit scheme was faster.&lt;br /&gt;&lt;br /&gt;So much for the Small Thinkers running technology companies.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.infoworld.com/d/security/fundamental-oracle-flaw-revealed-184163-0" class="postlink"&gt;http://www.infoworld.com/d/security/fundamental-oracle-flaw-revealed-184163-0&lt;/a&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Sat Jan 21, 2012 9:41 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dze1EQW9hPqydATCCQFUpKDzW9c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dze1EQW9hPqydATCCQFUpKDzW9c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dze1EQW9hPqydATCCQFUpKDzW9c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dze1EQW9hPqydATCCQFUpKDzW9c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/YHFGGMKzVb8" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2471&amp;p=3819#p3819</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-12-08T10:04:55-08:00</updated>
<published>2011-12-08T10:04:55-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2470&amp;p=3818#p3818</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/dqMSwvNW66s/viewtopic.php" />
<title type="html"><![CDATA[Perl • Remove invalid UTF-8 characters from a string]]></title>

<category term="Perl" scheme="http://devguy.com/bb/viewforum.php?f=11" label="Perl" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2470&amp;p=3818#p3818">
&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;my $n = q{};&lt;br /&gt;&lt;br /&gt;while ( &lt;br /&gt;/(&amp;#91;\x00-\x7F&amp;#93;)|(&amp;#91;\xC2-\xDF&amp;#93;&amp;#91;\x80-\xBF&amp;#93;)|(((&amp;#91;\xE0&amp;#93;&amp;#91;\xA0-\xBF&amp;#93;)|(&amp;#91;\xED&amp;#93;&amp;#91;\x80-\x9F&amp;#93;)|(&amp;#91;\xE1-\xEC\xEE-\xEF&amp;#93;&amp;#91;\x80-\xBF&amp;#93;))(&amp;#91;\x80-\xBF&amp;#93;))|(((&amp;#91;\xF0&amp;#93;&amp;#91;\x90-\xBF&amp;#93;)|(&amp;#91;\xF1-\xF3&amp;#93;&amp;#91;\x80-\xBF&amp;#93;)|(&amp;#91;\xF4&amp;#93;&amp;#91;\x80-\x8F&amp;#93;))(&amp;#91;\x80-\xBF&amp;#93;{2}))/g) {&lt;br /&gt;    $n .= $&amp;amp;;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Thu Dec 08, 2011 10:04 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tz66OTWlf3s9Fenro2XQaAESkiY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tz66OTWlf3s9Fenro2XQaAESkiY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tz66OTWlf3s9Fenro2XQaAESkiY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tz66OTWlf3s9Fenro2XQaAESkiY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/dqMSwvNW66s" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2470&amp;p=3818#p3818</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-11-30T07:30:03-08:00</updated>
<published>2011-11-30T07:30:03-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2469&amp;p=3817#p3817</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/AI3OZ8R0bXA/viewtopic.php" />
<title type="html"><![CDATA[Perl • Use an alarm to break out of any blocking system call]]></title>

<category term="Perl" scheme="http://devguy.com/bb/viewforum.php?f=11" label="Perl" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2469&amp;p=3817#p3817">
This prints '1' instead of 5, proving that the &amp;quot;sleep 5&amp;quot; call is interrupted.&lt;br /&gt;&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;perl -e 'eval{$SIG{ALRM} = sub{$SIG{ALRM}='IGNORE';die}; alarm 1; $now = time; sleep 5}; print time-$now'&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Wed Nov 30, 2011 7:30 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/StXLeoz4CmqVFtvCYDE83l74zy8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/StXLeoz4CmqVFtvCYDE83l74zy8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/StXLeoz4CmqVFtvCYDE83l74zy8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/StXLeoz4CmqVFtvCYDE83l74zy8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/AI3OZ8R0bXA" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2469&amp;p=3817#p3817</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-11-20T08:27:12-08:00</updated>
<published>2011-11-20T08:27:12-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2468&amp;p=3816#p3816</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/_BzYRre11h8/viewtopic.php" />
<title type="html"><![CDATA[XML, JSON, and YAML • Atom Hopper]]></title>

<category term="XML, JSON, and YAML" scheme="http://devguy.com/bb/viewforum.php?f=57" label="XML, JSON, and YAML" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2468&amp;p=3816#p3816">
&lt;!-- m --&gt;&lt;a class="postlink" href="http://atomhopper.org/"&gt;http://atomhopper.org/&lt;/a&gt;&lt;!-- m --&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Sun Nov 20, 2011 8:27 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lTCViWcDWgceSNlfoKFmt2v8imA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lTCViWcDWgceSNlfoKFmt2v8imA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lTCViWcDWgceSNlfoKFmt2v8imA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lTCViWcDWgceSNlfoKFmt2v8imA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/_BzYRre11h8" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2468&amp;p=3816#p3816</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-11-16T11:51:05-08:00</updated>
<published>2011-11-16T11:51:05-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2467&amp;p=3815#p3815</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/p1piH6Y1mD4/viewtopic.php" />
<title type="html"><![CDATA[C++ • Filling in missing methods with Boost magic]]></title>

<category term="C++" scheme="http://devguy.com/bb/viewforum.php?f=24" label="C++" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2467&amp;p=3815#p3815">
Great article&lt;br /&gt;&lt;br /&gt;&lt;!-- m --&gt;&lt;a class="postlink" href="http://wordaligned.org/articles/boost-iterator-facade"&gt;http://wordaligned.org/articles/boost-iterator-facade&lt;/a&gt;&lt;!-- m --&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Wed Nov 16, 2011 11:51 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/50NxQt6HdnVBCU7s8Js3coUEfOQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/50NxQt6HdnVBCU7s8Js3coUEfOQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/50NxQt6HdnVBCU7s8Js3coUEfOQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/50NxQt6HdnVBCU7s8Js3coUEfOQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/p1piH6Y1mD4" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2467&amp;p=3815#p3815</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[akashee]]></name></author>
<updated>2011-11-15T22:25:53-08:00</updated>
<published>2011-11-15T22:25:53-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2466&amp;p=3814#p3814</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/RpMGoyDHpA4/viewtopic.php" />
<title type="html"><![CDATA[POSIX (Linux, BSD, OSX, Cygwin, etc.) • fedora hat]]></title>

<category term="POSIX (Linux, BSD, OSX, Cygwin, etc.)" scheme="http://devguy.com/bb/viewforum.php?f=25" label="POSIX (Linux, BSD, OSX, Cygwin, etc.)" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2466&amp;p=3814#p3814">
Where can I buy a fedora hat in NYC? I need to buy a fedora hat but i cannot seem to find a store that sells them please help!&lt;br /&gt;_______________________________&lt;br /&gt;&lt;a href="http://www.keywordspy.com/overview/keyword.aspx?q=external%20keyword%20tool" class="postlink"&gt;external keyword tool&lt;/a&gt; ~ &lt;a href="http://www.keywordspy.com/overview/domain.aspx?q=keyworddiscovery.com" class="postlink"&gt;keyworddiscovery.com&lt;/a&gt; ~ &lt;a href="http://www.keywordspy.com/overview/domain.aspx?q=keycompete.com" class="postlink"&gt;keycompete.com&lt;/a&gt; ~ &lt;a href="http://www.keywordspy.com/overview/domain.aspx?q=compete.com" class="postlink"&gt;compete.com&lt;/a&gt; ~ &lt;a href="http://www.keywordspy.com/overview/domain.aspx?q=webmasterworld.com" class="postlink"&gt;webmasterworld.com&lt;/a&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=114"&gt;akashee&lt;/a&gt; — Tue Nov 15, 2011 10:25 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sEHwkGDnFVunAodTtXsgiVXGaUY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sEHwkGDnFVunAodTtXsgiVXGaUY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sEHwkGDnFVunAodTtXsgiVXGaUY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sEHwkGDnFVunAodTtXsgiVXGaUY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/RpMGoyDHpA4" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2466&amp;p=3814#p3814</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-09-22T11:37:59-08:00</updated>
<published>2011-09-22T11:37:59-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2465&amp;p=3813#p3813</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/4eyQJ9XqB5E/viewtopic.php" />
<title type="html"><![CDATA[Perl • How to use eval without side-effects]]></title>

<category term="Perl" scheme="http://devguy.com/bb/viewforum.php?f=11" label="Perl" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2465&amp;p=3813#p3813">
Unexpected side-effects involving global variables are always difficult to find and fix. This is especially true of $@ which is often used to determine whether an exception was thrown in a particular block of code. $@ is especially prone to getting clobbered because the &amp;quot;eval&amp;quot; keyword clears it.&lt;br /&gt;&lt;br /&gt;Here is one way to use eval without clobbering $@. This practice is especially vital to destructors. Destructors run during stack unwinding which is when $@ is likely to contain something important.&lt;br /&gt;&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;my $preverr    = $@;&lt;br /&gt;my $failed     = 1;&lt;br /&gt;&lt;br /&gt;eval {&lt;br /&gt;        #&lt;br /&gt;        # Do something here...&lt;br /&gt;        #&lt;br /&gt;&lt;br /&gt;        $failed = 0; # This is the last line of the eval&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;die $@ if $failed;&lt;br /&gt;$@ = $preverr;&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;br /&gt;This solution doesn't merely use &amp;quot;local $@&amp;quot; to protect $@'s original value. The above code can &amp;quot;die&amp;quot; with a new error. This new error clobbers the previous error, but sometimes that's what you want, especially if you build an exception class that has a reference to the &amp;quot;original&amp;quot; error.&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Thu Sep 22, 2011 11:37 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JlYtx-X07EL0a-gzB4hCGzjSe5M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JlYtx-X07EL0a-gzB4hCGzjSe5M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JlYtx-X07EL0a-gzB4hCGzjSe5M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JlYtx-X07EL0a-gzB4hCGzjSe5M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/4eyQJ9XqB5E" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2465&amp;p=3813#p3813</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-09-12T11:37:36-08:00</updated>
<published>2011-09-12T11:37:36-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2464&amp;p=3812#p3812</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/02wnOO564w8/viewtopic.php" />
<title type="html"><![CDATA[POSIX (Linux, BSD, OSX, Cygwin, etc.) • Example splunk queries]]></title>

<category term="POSIX (Linux, BSD, OSX, Cygwin, etc.)" scheme="http://devguy.com/bb/viewforum.php?f=25" label="POSIX (Linux, BSD, OSX, Cygwin, etc.)" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2464&amp;p=3812#p3812">
Once splunk indexes your log files, you can query them. Here's a  sample query against log4perl files.&lt;br /&gt;&lt;br /&gt;source=&amp;quot;*all.log&amp;quot; (&amp;quot;[ERROR]&amp;quot; OR &amp;quot;[FATAL]&amp;quot;)&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Mon Sep 12, 2011 11:37 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/t769-PUiUN5Mn755NccgIcz1CL0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/t769-PUiUN5Mn755NccgIcz1CL0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/t769-PUiUN5Mn755NccgIcz1CL0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/t769-PUiUN5Mn755NccgIcz1CL0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/02wnOO564w8" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2464&amp;p=3812#p3812</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-09-08T18:44:06-08:00</updated>
<published>2011-09-08T18:44:06-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2463&amp;p=3811#p3811</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/435cMvHjQKs/viewtopic.php" />
<title type="html"><![CDATA[POSIX (Linux, BSD, OSX, Cygwin, etc.) • Combining rxvt and screen]]></title>

<category term="POSIX (Linux, BSD, OSX, Cygwin, etc.)" scheme="http://devguy.com/bb/viewforum.php?f=25" label="POSIX (Linux, BSD, OSX, Cygwin, etc.)" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2463&amp;p=3811#p3811">
Because directory paths can get pretty long, the hostname and user name are omitted.&lt;br /&gt;&lt;br /&gt;/usr/local/etc/screenrc:&lt;br /&gt;&lt;br /&gt;# See &lt;!-- m --&gt;&lt;a class="postlink" href="https://bbs.archlinux.org/viewtopic.php?id=67955"&gt;https://bbs.archlinux.org/viewtopic.php?id=67955&lt;/a&gt;&lt;!-- m --&gt; &lt;br /&gt;# status line at the bottom, where it belongs&lt;br /&gt;caption string &amp;quot;%{= kw}%Y-%m-%d;%c %{= kw}%-w%{= kG}%{+b}[%n %t]%{-b}%{= kw}%+w&amp;quot;&lt;br /&gt;caption always&lt;br /&gt;&lt;br /&gt;.bashrc:&lt;br /&gt;&lt;br /&gt;PS1=\[\e]0;\w\a\][\w $&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Thu Sep 08, 2011 6:44 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6T7Ua12sGLlE1To_PwOckLmvHUw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6T7Ua12sGLlE1To_PwOckLmvHUw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6T7Ua12sGLlE1To_PwOckLmvHUw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6T7Ua12sGLlE1To_PwOckLmvHUw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/435cMvHjQKs" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2463&amp;p=3811#p3811</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-08-25T12:21:54-08:00</updated>
<published>2011-08-25T12:21:54-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2462&amp;p=3810#p3810</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/92_n8b9fl9c/viewtopic.php" />
<title type="html"><![CDATA[Windows • Disconnect Terminal Services session]]></title>

<category term="Windows" scheme="http://devguy.com/bb/viewforum.php?f=15" label="Windows" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2462&amp;p=3810#p3810">
Let's say you can not use remote desktop to log onto a Windows machine because there the number of maximum connections has been exceeded. However, these connections are all disconnected. How to release them?&lt;br /&gt;&lt;br /&gt;First, log onto another Windows Server box&lt;br /&gt;cmd.exe&lt;br /&gt;net use \\computername /user:computername\administrator teralab&lt;br /&gt;tsadmin.exe&lt;br /&gt;Actions/Connect to  computer...&lt;br /&gt;Enter: computername&lt;br /&gt;Right-click on a connect and select Log Off&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Thu Aug 25, 2011 12:21 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oIfpa2Nk7vBHnbvH6X0cqY0GaPg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oIfpa2Nk7vBHnbvH6X0cqY0GaPg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oIfpa2Nk7vBHnbvH6X0cqY0GaPg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oIfpa2Nk7vBHnbvH6X0cqY0GaPg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/92_n8b9fl9c" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2462&amp;p=3810#p3810</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-08-25T10:40:49-08:00</updated>
<published>2011-08-25T10:40:49-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2461&amp;p=3809#p3809</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/mE_hu_FnDP0/viewtopic.php" />
<title type="html"><![CDATA[POSIX (Linux, BSD, OSX, Cygwin, etc.) • Use Envy-Code-R in rxvt in Cygwin]]></title>

<category term="POSIX (Linux, BSD, OSX, Cygwin, etc.)" scheme="http://devguy.com/bb/viewforum.php?f=25" label="POSIX (Linux, BSD, OSX, Cygwin, etc.)" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2461&amp;p=3809#p3809">
First, get Envy-Code-R&lt;br /&gt;&lt;br /&gt;&lt;!-- m --&gt;&lt;a class="postlink" href="http://damieng.com/blog/2008/05/26/envy-code-r-preview-7-coding-font-released"&gt;http://damieng.com/blog/2008/05/26/envy ... t-released&lt;/a&gt;&lt;!-- m --&gt;&lt;br /&gt;&lt;br /&gt;1. Extract the files&lt;br /&gt;2. Copy the Envy Code R folder to c:\Windows\fonts&lt;br /&gt;&lt;br /&gt;Next, modify:&lt;br /&gt;&lt;br /&gt;etc\X11\app-defaults\Rxvt&lt;br /&gt;&lt;br /&gt;Change or add the following entry:&lt;br /&gt;&lt;br /&gt;Rxvt.font: Envy Code R&lt;br /&gt;&lt;br /&gt;Finally, copy the following text into etc\fonts\conf.d\10-no-aa-envy-code-r.conf&lt;br /&gt;&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE fontconfig SYSTEM &amp;quot;fonts.dtd&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;fontconfig&amp;gt;&lt;br /&gt;&amp;lt;match target=&amp;quot;font&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;test name=&amp;quot;family&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;string&amp;gt;Envy Code R&amp;lt;/string&amp;gt;&lt;br /&gt;  &amp;lt;/test&amp;gt;&lt;br /&gt;  &amp;lt;edit name=&amp;quot;antialias&amp;quot; mode=&amp;quot;assign&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;bool&amp;gt;false&amp;lt;/bool&amp;gt;&lt;br /&gt;  &amp;lt;/edit&amp;gt;&lt;br /&gt;  &amp;lt;edit name=&amp;quot;hinting&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;bool&amp;gt;false&amp;lt;/bool&amp;gt;&lt;br /&gt;  &amp;lt;/edit&amp;gt;&lt;br /&gt;&amp;lt;/match&amp;gt;&lt;br /&gt;&amp;lt;/fontconfig&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Thu Aug 25, 2011 10:40 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qntURlG7PJzuxP3eQtfTETgRl4E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qntURlG7PJzuxP3eQtfTETgRl4E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qntURlG7PJzuxP3eQtfTETgRl4E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qntURlG7PJzuxP3eQtfTETgRl4E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/mE_hu_FnDP0" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2461&amp;p=3809#p3809</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-08-10T07:44:04-08:00</updated>
<published>2011-08-10T07:44:04-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2460&amp;p=3808#p3808</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/RfJW_7T7ktY/viewtopic.php" />
<title type="html"><![CDATA[Professional • What is and is not Successful Programming?]]></title>

<category term="Professional" scheme="http://devguy.com/bb/viewforum.php?f=10" label="Professional" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2460&amp;p=3808#p3808">
Programmers spend immense amounts of time reading and arguing about the merits of various programming languages and frameworks mostly because it's time spent not actually programming. What most programmers in general don't like doing is writing code. The most important and difficult yet boring code to write is the code that tests the code. Successful programmers write automated tests because nobody can stand manually testing the same thing over and over again. Without automated tests, mistakes eventually go undetected even in code that &amp;quot;should never break.&amp;quot; Unsuccessful programmers don't write test code and instead project hop when they've coded themselves into a morass and time has finally run out. Or they release buggy code (late) at the 11th hour and experience the joy of training a new boss. Job hopping can be financially rewarding especially in an up market (it's generally good for the resume), but it's not Successful Programming. It's more like being successful at running ahead of the bear. God speed to them.&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Wed Aug 10, 2011 7:44 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/C0CiUrcN66cvkE4Q73KKMRxkgOM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C0CiUrcN66cvkE4Q73KKMRxkgOM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/C0CiUrcN66cvkE4Q73KKMRxkgOM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C0CiUrcN66cvkE4Q73KKMRxkgOM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/RfJW_7T7ktY" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2460&amp;p=3808#p3808</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-07-22T09:28:33-08:00</updated>
<published>2011-07-22T09:28:33-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2459&amp;p=3807#p3807</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/ssPyAX1rWyM/viewtopic.php" />
<title type="html"><![CDATA[Perl • Add a method to an existing class with subclassing]]></title>

<category term="Perl" scheme="http://devguy.com/bb/viewforum.php?f=11" label="Perl" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2459&amp;p=3807#p3807">
If you know the name of the class ahead of time, you can add a method to it.&lt;br /&gt;&lt;br /&gt;Let's add a method, hello_there, to Log::Log4perl::Logger. To show that we can add state to it, this method will manipulate some internal private data.&lt;br /&gt;&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;use warnings;&lt;br /&gt;use strict;&lt;br /&gt;&lt;br /&gt;package Log::Log4perl::Logger;&lt;br /&gt;use Class::InsideOut; # Use the handy id function&lt;br /&gt;&lt;br /&gt;my %_d_last_num;&lt;br /&gt;my $_num = 0;&lt;br /&gt;&lt;br /&gt;sub hello_there {&lt;br /&gt;    my $self = shift; &lt;br /&gt;    my $id = Class::InsideOut::id $self; &lt;br /&gt;    my $val = _d_last_num{$id};&lt;br /&gt;&lt;br /&gt;    unless (defined $val) {&lt;br /&gt;        ++$_num;&lt;br /&gt;        $val = $_num;&lt;br /&gt;        _d_last_num{$id} = $val;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    print &amp;quot;$id says hello_there $val\n&amp;quot;;&lt;br /&gt;    return;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;package main;&lt;br /&gt;&lt;br /&gt;use Log::Log4perl q/get_logger/; &lt;br /&gt;&lt;br /&gt;get_logger('x')-&amp;gt;hello_there;&lt;br /&gt;get_logger('y')-&amp;gt;hello_there;&lt;br /&gt;get_logger('x')-&amp;gt;hello_there;&lt;br /&gt;get_logger('y')-&amp;gt;hello_there;&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;br /&gt;This program prints:&lt;br /&gt;&lt;br /&gt;10894064 says hello_there 1&lt;br /&gt;13865688 says hello_there 2&lt;br /&gt;10894064 says hello_there 1&lt;br /&gt;13865688 says hello_there 2&lt;br /&gt;&lt;br /&gt;, thus demonstrating that different instances have different data.&lt;br /&gt;&lt;br /&gt;Adios!&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Fri Jul 22, 2011 9:28 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3P4uLKDCpLePuOjZqPxJBjzmtNk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3P4uLKDCpLePuOjZqPxJBjzmtNk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3P4uLKDCpLePuOjZqPxJBjzmtNk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3P4uLKDCpLePuOjZqPxJBjzmtNk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/ssPyAX1rWyM" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2459&amp;p=3807#p3807</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-06-27T21:45:46-08:00</updated>
<published>2011-06-27T21:45:46-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2458&amp;p=3806#p3806</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/7lsxOu-eRtA/viewtopic.php" />
<title type="html"><![CDATA[POSIX (Linux, BSD, OSX, Cygwin, etc.) • The awesome screen command]]></title>

<category term="POSIX (Linux, BSD, OSX, Cygwin, etc.)" scheme="http://devguy.com/bb/viewforum.php?f=25" label="POSIX (Linux, BSD, OSX, Cygwin, etc.)" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2458&amp;p=3806#p3806">
The screen command allows multiple sessions to be created via a single connection&lt;br /&gt;&lt;br /&gt;* Screens are numbered&lt;br /&gt;* For help or to list screens, press Control-a followed by ?&lt;br /&gt;* To create a new screen, enter 'screen'&lt;br /&gt;* To jump to a different screen, enter Control-A followed by a number&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Mon Jun 27, 2011 9:45 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2BFCqkOY41IZkMc76O3b6NhrXME/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2BFCqkOY41IZkMc76O3b6NhrXME/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2BFCqkOY41IZkMc76O3b6NhrXME/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2BFCqkOY41IZkMc76O3b6NhrXME/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/7lsxOu-eRtA" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2458&amp;p=3806#p3806</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-05-18T09:35:07-08:00</updated>
<published>2011-05-18T09:35:07-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2457&amp;p=3805#p3805</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/KSXKvQ0zAUU/viewtopic.php" />
<title type="html"><![CDATA[Perl • POE and Time::HiRes]]></title>

<category term="Perl" scheme="http://devguy.com/bb/viewforum.php?f=11" label="Perl" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2457&amp;p=3805#p3805">
Excerpt from &lt;!-- m --&gt;&lt;a class="postlink" href="http://www.perl.com/pub/2004/07/02/poeintro.html"&gt;http://www.perl.com/pub/2004/07/02/poeintro.html&lt;/a&gt;&lt;!-- m --&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="uncited"&gt;&lt;div&gt;&lt;br /&gt;POE's event queue is a FIFO (First In First Out). Events are processed in the order they are invoked. There are two major exceptions to this. Signals can trigger immediate event processing, and using call() instead of yield() or post() will cause immediate event processing. Beyond those two exceptions, every event happens in order, all of the time.&lt;br /&gt;&lt;br /&gt;In the example above, we asked POE to push a large number of events on the queue. While POE can still read off whatever socket we're getting data from inbetween those yields, the events triggered by that socket read will not be invoked until after we're done processing our giant array. We can break that pattern out very easily.&lt;br /&gt;&lt;br /&gt;If we don't need to process @data in any timely fashion, we can stagger the processing out further:&lt;br /&gt;&lt;br /&gt;    $poe_kernel-&amp;gt;delay_add('process_data' =&amp;gt; $hence++ =&amp;gt; $_) for @data;&lt;br /&gt;This will process one chunk of @data every second. Not very efficient or timely but other events can take place between invocations. One second is by no means the smallest time value accepted by delay_add(). Use of Time::HiRes allows for microsecond delay values:&lt;br /&gt;&lt;br /&gt;    use Time::HiRes;&lt;br /&gt;    use POE;&lt;br /&gt;The use of Time::HiRes before importing POE causes POE to use Time::HiRes' time() instead of perl's built-in time(). While Time::HiRes has much greater resolution on time values, it may or may not be the most accurate time keeper on your particular platform. Do your homework and make the choice that best suits your situation and needs.&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Wed May 18, 2011 9:35 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vZvDtU3Oa7KId2UJRlF-YEAOtBA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vZvDtU3Oa7KId2UJRlF-YEAOtBA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vZvDtU3Oa7KId2UJRlF-YEAOtBA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vZvDtU3Oa7KId2UJRlF-YEAOtBA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/KSXKvQ0zAUU" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2457&amp;p=3805#p3805</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-05-02T18:36:54-08:00</updated>
<published>2011-05-02T18:36:54-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2456&amp;p=3804#p3804</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/VhF-ha6upao/viewtopic.php" />
<title type="html"><![CDATA[POSIX (Linux, BSD, OSX, Cygwin, etc.) • Safely send all shell script arguments to another program]]></title>

<category term="POSIX (Linux, BSD, OSX, Cygwin, etc.)" scheme="http://devguy.com/bb/viewforum.php?f=25" label="POSIX (Linux, BSD, OSX, Cygwin, etc.)" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2456&amp;p=3804#p3804">
Here's how to correctly pass arguments that may contain spaces to another program.&lt;br /&gt;&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;args=command-to-run&lt;br /&gt;&lt;br /&gt;for arg in &amp;quot;$@&amp;quot;&lt;br /&gt;do&lt;br /&gt;    args=&amp;quot;$args '$arg'&amp;quot;&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;eval $args&lt;br /&gt;&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Mon May 02, 2011 6:36 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HfTcE1wfOBs4vSJcR8_85t5_vik/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HfTcE1wfOBs4vSJcR8_85t5_vik/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HfTcE1wfOBs4vSJcR8_85t5_vik/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HfTcE1wfOBs4vSJcR8_85t5_vik/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/VhF-ha6upao" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2456&amp;p=3804#p3804</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-04-27T11:41:01-08:00</updated>
<published>2011-04-27T11:41:01-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2455&amp;p=3803#p3803</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/Q7sHjQtauHU/viewtopic.php" />
<title type="html"><![CDATA[POSIX (Linux, BSD, OSX, Cygwin, etc.) • Normalize paths with readlink -f]]></title>

<category term="POSIX (Linux, BSD, OSX, Cygwin, etc.)" scheme="http://devguy.com/bb/viewforum.php?f=25" label="POSIX (Linux, BSD, OSX, Cygwin, etc.)" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2455&amp;p=3803#p3803">
For example, use &amp;quot;readlink -f .&amp;quot; to get the full path of the current directory. It's especially handy for creating 'normalized' paths when dealing with symbolic links.&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Wed Apr 27, 2011 11:41 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/s2kYgcu7wCWru01bI1H0_k8H8fE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s2kYgcu7wCWru01bI1H0_k8H8fE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/s2kYgcu7wCWru01bI1H0_k8H8fE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s2kYgcu7wCWru01bI1H0_k8H8fE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/Q7sHjQtauHU" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2455&amp;p=3803#p3803</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-04-03T22:28:12-08:00</updated>
<published>2011-04-03T22:28:12-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2454&amp;p=3802#p3802</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/8XOj9UqvRFs/viewtopic.php" />
<title type="html"><![CDATA[POSIX (Linux, BSD, OSX, Cygwin, etc.) • How to properly use find, xargs, and rm]]></title>

<category term="POSIX (Linux, BSD, OSX, Cygwin, etc.)" scheme="http://devguy.com/bb/viewforum.php?f=25" label="POSIX (Linux, BSD, OSX, Cygwin, etc.)" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2454&amp;p=3802#p3802">
&lt;span style="font-weight: bold"&gt;Files&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;/usr/bin/find '/some/directory' -type f -daystart -mtime +10 -print0 | /usr/bin/xargs -r -0 -n 1 /bin/rm -f&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold"&gt;Directories&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;/usr/bin/find '/some/directory'/* -type d -daystart -mtime +10 -print0 | /usr/bin/xargs -r -0 -n 1 /bin/rm -rf&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;br /&gt;The strange quoting in '/some/directory'/* is not a typo. First of all, it handles the case where a space is in the actual directory path. Secondly, it avoids removing the specified directory, which is the desired behavior 99.9% of the time.&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Sun Apr 03, 2011 10:28 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/utkO2Xy7mXM1yipxh5oDy9IulM8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/utkO2Xy7mXM1yipxh5oDy9IulM8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/utkO2Xy7mXM1yipxh5oDy9IulM8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/utkO2Xy7mXM1yipxh5oDy9IulM8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/8XOj9UqvRFs" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2454&amp;p=3802#p3802</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-03-15T11:08:18-08:00</updated>
<published>2011-03-15T11:08:18-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2453&amp;p=3801#p3801</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/RXDXFX2YNRE/viewtopic.php" />
<title type="html"><![CDATA[Professional • Is it All Software or All Marketing?]]></title>

<category term="Professional" scheme="http://devguy.com/bb/viewforum.php?f=10" label="Professional" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2453&amp;p=3801#p3801">
Most IT organizations are unbalanced towards either a product focus or a software engineering focus. After all, the goal is to sell a product that consists of nothing but software. Generally speaking, these foci are championed by Marketing (product) and R&amp;amp;D (engineering). Contrary to what most folks might expect, R&amp;amp;D usually enjoys the most influence over product features, especially for niche markets. A product focus works well when Marketing personnel actually use the product (they are the customer). This is because most busy professionals regardless of background have a difficult time understanding the needs of a community that they have no interest in joining. This isn't the end of the world since a lack of direction leads to novices solving interesting problems -- in other words, innovation&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Tue Mar 15, 2011 11:08 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CxVEjHu4YoZ9P-71yJSccoxTmk8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CxVEjHu4YoZ9P-71yJSccoxTmk8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CxVEjHu4YoZ9P-71yJSccoxTmk8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CxVEjHu4YoZ9P-71yJSccoxTmk8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/RXDXFX2YNRE" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2453&amp;p=3801#p3801</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-01-19T09:52:35-08:00</updated>
<published>2011-01-19T09:52:35-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2452&amp;p=3800#p3800</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/k4DC_WzVbKc/viewtopic.php" />
<title type="html"><![CDATA[Virtualization • [VirtualBox] When guest OS loses network connection]]></title>

<category term="Virtualization" scheme="http://devguy.com/bb/viewforum.php?f=40" label="Virtualization" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2452&amp;p=3800#p3800">
Sometimes VirtualBox guests can not longer see the Internet. This happens to me frequently on a Windows XP guest using Windows 7 32 bit as the host, particularly after resuming from sleep or hibernation.&lt;br /&gt;&lt;br /&gt;Aside from (a) rebooting (b) saving the client's guest, quitting Virtual Box, and restarting the VirtualBox guest, here's the best solution that I've found that's fast and works reliably:&lt;br /&gt;&lt;br /&gt;1. Go to Devices/Network Adapters...&lt;br /&gt;2. Take note of the &amp;quot;Attached to:&amp;quot; setting&lt;br /&gt;3. Change &amp;quot;Attached to:&amp;quot; to &amp;quot;not attached&amp;quot;&lt;br /&gt;4. Click OK&lt;br /&gt;5. Go to Devices/Network Adapters...&lt;br /&gt;6. Change &amp;quot;Attached to:&amp;quot; to what it had been set to previously&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Wed Jan 19, 2011 9:52 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-9-v827ShlQTQBf0CBYTuo1j6-A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-9-v827ShlQTQBf0CBYTuo1j6-A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-9-v827ShlQTQBf0CBYTuo1j6-A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-9-v827ShlQTQBf0CBYTuo1j6-A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/k4DC_WzVbKc" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2452&amp;p=3800#p3800</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2011-01-10T14:35:27-08:00</updated>
<published>2011-01-10T14:35:27-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2451&amp;p=3799#p3799</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/QsOTewlWkro/viewtopic.php" />
<title type="html"><![CDATA[Perl • tee considered harmful]]></title>

<category term="Perl" scheme="http://devguy.com/bb/viewforum.php?f=11" label="Perl" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2451&amp;p=3799#p3799">
Piping a command to 'tee' causes the statement to terminate with an exit code of 0 no matter what is returned by the command on the left-hand side of the pipe character. This is obviously a problem when you need to detect failures. &lt;br /&gt;&lt;br /&gt;Here is the best solution that I could find on Perlmonks (see &lt;a href="http://www.perlmonks.org/?node_id=597613" class="postlink"&gt;source&lt;/a&gt;). I couldn't get $PIPESTATUS to work on cygwin.&lt;br /&gt;&lt;br /&gt;&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;local *FH;&lt;br /&gt;open FH, &amp;quot;'$cmd' 2&amp;gt;&amp;amp;1 |&amp;quot; || croak &amp;quot;Executing command failed: $!\n$cmd&amp;quot;;&lt;br /&gt;&lt;br /&gt;my @results;&lt;br /&gt;my $line;&lt;br /&gt;&lt;br /&gt;while ($line = &amp;lt;FH&amp;gt;) {&lt;br /&gt;    print $line;&lt;br /&gt;    push( @results, $line );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;close FH;&lt;br /&gt;$exit_status = $?;&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Mon Jan 10, 2011 2:35 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bKAS9MHNN6HzDU8BzKnfkMnAqRM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bKAS9MHNN6HzDU8BzKnfkMnAqRM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bKAS9MHNN6HzDU8BzKnfkMnAqRM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bKAS9MHNN6HzDU8BzKnfkMnAqRM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/QsOTewlWkro" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2451&amp;p=3799#p3799</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2010-11-23T16:49:22-08:00</updated>
<published>2010-11-23T16:49:22-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2449&amp;p=3797#p3797</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/u5G2XdsfMVM/viewtopic.php" />
<title type="html"><![CDATA[Perl • Strategies for chopping up large methods]]></title>

<category term="Perl" scheme="http://devguy.com/bb/viewforum.php?f=11" label="Perl" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2449&amp;p=3797#p3797">
A particular method performs a large amount of work and needs to be refactored for readability and maintainability. How best do this?&lt;br /&gt;&lt;br /&gt;'my' variables containing the operation's current state must be passed from subroutine to subroutine. These variables are &amp;quot;global&amp;quot; to the execution of the &amp;quot;transaction.&amp;quot;&lt;br /&gt;&lt;br /&gt;Some values are &amp;quot;global&amp;quot; for the execution of a &amp;quot;transaction&amp;quot; and &amp;quot;just need to be there&amp;quot; for most internal methods. &lt;br /&gt;&lt;br /&gt;Method #1 - How to write code that will scream to be refactored&lt;br /&gt;&lt;br /&gt;Declare &amp;quot;my&amp;quot; scoped variables and pass them as method parameters. Downside is you keep passing around the same parameters over and over again. Furthermore, adding a new state variable affects the signatures of most of the downstream methods.&lt;br /&gt;&lt;br /&gt;Method #2 - Quick fix&lt;br /&gt;&lt;br /&gt;Declare &amp;quot;our&amp;quot; package-scoped variables so every method can access them. This lets you document these variables. The main creates space for these variables in the symbol table using the form &amp;quot;local $foo.&amp;quot; One downside is that you can forget to use 'local $foo' which results in the value not getting set to undef when the &amp;quot;transaction&amp;quot; is finished (a potential memory leak). Another is that &amp;quot;our&amp;quot; are essentially global variables which can cause bizarre behavior in scenarios that involve reentrancy (e.g., somehow two instances modify the same variable within the same 'local' declaration).&lt;br /&gt;&lt;br /&gt;Method #3 - Leaks memory&lt;br /&gt;&lt;br /&gt;Convert the local variables into attributes for the object. This approach should generally be avoided for what are really local variables. In other words, the memory they use should be released when the transaction terminates.&lt;br /&gt;&lt;br /&gt;Method #4 - Creates spaghetti in no time&lt;br /&gt;&lt;br /&gt;Put everything you need into a &amp;quot;my&amp;quot; hash and pass the hash around. This makes things flexible but it eventually becomes undocumented, unmaintainable, and error prone.&lt;br /&gt;&lt;br /&gt;Method #5 - Either (1) The Best or (2) Overkill&lt;br /&gt;&lt;br /&gt;This is like method #4 with the difference that you create a class instead of a hash. This allows the variables to be documented and avoids the other downsides mentioned above but it's more work. You can take this idea and move your entire implementation into such a class, thus putting the data and the methods in the same place. The new class would have an attribute pointing to the &amp;quot;main&amp;quot; class so it can access attributes and call other methods. This approach generally results in smaller more manageable .pm files, unlike methods 1-4, with perhaps a small performance penalty due to method call overhead.&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Tue Nov 23, 2010 4:49 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VXNECuz-YHqaZT9hJcT9Bp6bVQ8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VXNECuz-YHqaZT9hJcT9Bp6bVQ8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VXNECuz-YHqaZT9hJcT9Bp6bVQ8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VXNECuz-YHqaZT9hJcT9Bp6bVQ8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/u5G2XdsfMVM" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2449&amp;p=3797#p3797</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2010-11-17T14:57:43-08:00</updated>
<published>2010-11-17T14:57:43-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2448&amp;p=3796#p3796</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/f_riQXExGl8/viewtopic.php" />
<title type="html"><![CDATA[Data Warehousing and BI • Doing ELT Right Begins at the Staging Tables]]></title>

<category term="Data Warehousing and BI" scheme="http://devguy.com/bb/viewforum.php?f=45" label="Data Warehousing and BI" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2448&amp;p=3796#p3796">
Here's how ELT usually gets built.. &lt;br /&gt;&lt;br /&gt;&lt;ol style="list-style-type: decimal"&gt;&lt;li&gt;The staging table are denormalized. There aren't many of them.&lt;/li&gt;&lt;li&gt; The ELT process uses subsets of columns from the staging tables to create &amp;quot;real&amp;quot; entity rows if they do not already exist &lt;/li&gt;&lt;li&gt; A new data source is introduced. It requires a new staging table and has foreign keys to the same entities&lt;/li&gt;&lt;li&gt; So you duplicate the code you wrote to populate the &amp;quot;real&amp;quot; entity rows but this time from the new staging table, creating a maintenance problem (same code in two places, slightly different) &lt;/li&gt;&lt;li&gt; Repeat &lt;/li&gt;&lt;/ol&gt;Finally, enjoy the spaghetti you just made. Either that or run away screaming.&lt;br /&gt;&lt;br /&gt;The best solution to this problem seems to involve normalizing the staging tables and producing CSV files that match the staging tables' columns.&lt;br /&gt;&lt;br /&gt;A few other points..&lt;br /&gt;&lt;br /&gt;What to do with foreign keys when you don't have enough information to create the real entity row? You must hold onto the fact (don't load it) and hope the entity row arrives during the next load. &lt;br /&gt;&lt;br /&gt;It's generally a bad idea for loads to use transactions that span multiple statements. Each statement ideally operates on as many rows as possible.&lt;br /&gt;&lt;br /&gt;Finally, this sort of loading is generally serial ie not parallelizable, although the database automatically parallelizes each SQL statement as much as possible.&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Wed Nov 17, 2010 2:57 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yzuCDYYHlUpjiCVkx4zVfjzih-0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yzuCDYYHlUpjiCVkx4zVfjzih-0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yzuCDYYHlUpjiCVkx4zVfjzih-0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yzuCDYYHlUpjiCVkx4zVfjzih-0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/f_riQXExGl8" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2448&amp;p=3796#p3796</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[phulkoli]]></name></author>
<updated>2010-11-14T02:35:46-08:00</updated>
<published>2010-11-14T02:35:46-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2447&amp;p=3795#p3795</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/4GBP4_o2x_A/viewtopic.php" />
<title type="html"><![CDATA[Packager • File Transfer Protocol]]></title>

<category term="Packager" scheme="http://devguy.com/bb/viewforum.php?f=17" label="Packager" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2447&amp;p=3795#p3795">
How do I set up automatic FTP from my web server? How do I go about setting up an ftp for my website rather than using an ftp program. When someone clicks on an icon it would automatically download a specific file. I'm using an apache server with cpanel.&lt;br /&gt;___________________________&lt;br /&gt;&lt;a href="http://www.keywordspy.com/overview/domain.aspx?q=marketsamurai.com" class="postlink"&gt;market samurai&lt;/a&gt; ~ &lt;a href="http://www.keywordspy.com/overview/domain.aspx?q=marketsamurai.com" class="postlink"&gt;marketsamurai&lt;/a&gt; ~ &lt;a href="http://www.keywordspy.com/overview/domain.aspx?q=marketsamurai.com" class="postlink"&gt;marketsamurai.com&lt;/a&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=146"&gt;phulkoli&lt;/a&gt; — Sun Nov 14, 2010 2:35 am&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ykjI5jIZo6udhjtQPwwYKrNjNlw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ykjI5jIZo6udhjtQPwwYKrNjNlw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ykjI5jIZo6udhjtQPwwYKrNjNlw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ykjI5jIZo6udhjtQPwwYKrNjNlw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/4GBP4_o2x_A" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2447&amp;p=3795#p3795</feedburner:origLink></entry>
<entry>
<author><name><![CDATA[devguy]]></name></author>
<updated>2010-11-10T16:43:02-08:00</updated>
<published>2010-11-10T16:43:02-08:00</published>
<id>http://devguy.com/bb/viewtopic.php?t=2446&amp;p=3794#p3794</id>
<link href="http://feedproxy.google.com/~r/DevGuy/~3/VQdMGpgfkJA/viewtopic.php" />
<title type="html"><![CDATA[Perl • Propagating $? from child with signal information intact]]></title>

<category term="Perl" scheme="http://devguy.com/bb/viewforum.php?f=11" label="Perl" />
<content type="html" xml:base="http://devguy.com/bb/viewtopic.php?t=2446&amp;p=3794#p3794">
&lt;dl class="codebox"&gt;&lt;dt&gt;Code: &lt;/dt&gt;&lt;dd&gt;&lt;code&gt;my $pid  = fork;&lt;br /&gt;&lt;br /&gt;if ($pid) {&lt;br /&gt;    waitpid( $pid, 0 );&lt;br /&gt;    print &amp;quot;*** $?\n&amp;quot;;&lt;br /&gt;    exit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$pid = fork;&lt;br /&gt;&lt;br /&gt;if ($pid) {&lt;br /&gt;    print $pid . &amp;quot;\n&amp;quot;;&lt;br /&gt;    waitpid( $pid, 0 );&lt;br /&gt;    if ( $? &amp;amp; 127 ) {&lt;br /&gt;        kill ($? &amp;amp; 127) =&amp;gt; $$;&lt;br /&gt;    }&lt;br /&gt;    exit $? &amp;gt;&amp;gt; 8;&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;    kill ABRT =&amp;gt; $$;&lt;br /&gt;}&lt;/code&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Statistics: Posted by &lt;a href="http://devguy.com/bb/memberlist.php?mode=viewprofile&amp;amp;u=2"&gt;devguy&lt;/a&gt; — Wed Nov 10, 2010 4:43 pm&lt;/p&gt;&lt;hr /&gt;

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7UzPb7nwCdeJSvYDXfGEY34hDBU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7UzPb7nwCdeJSvYDXfGEY34hDBU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7UzPb7nwCdeJSvYDXfGEY34hDBU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7UzPb7nwCdeJSvYDXfGEY34hDBU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DevGuy/~4/VQdMGpgfkJA" height="1" width="1"/&gt;</content>
<feedburner:origLink>http://devguy.com/bb/viewtopic.php?t=2446&amp;p=3794#p3794</feedburner:origLink></entry>
</feed>

