<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-812653388122713505</id><updated>2026-03-26T04:37:15.792-07:00</updated><category term="Linux"/><category term="unix"/><category term="php"/><category term="HP-UX"/><category term="attachements"/><category term="gprof"/><category term="html"/><category term="password"/><category term="profiling"/><category term="security"/><category term="shell"/><category term="windows"/><category term=".htaccess"/><category term=".htpasswd"/><category term="ActiveXObject"/><category term="BTree"/><category term="BerkeleyDB"/><category term="Errror"/><category term="Excel"/><category term="Excel.Application"/><category term="Mac"/><category term="Microsoft Outlook"/><category term="SunOS"/><category term="access"/><category term="apache"/><category term="batch"/><category term="boost"/><category term="calendar"/><category term="cmd"/><category term="csh"/><category term="css textarea jquery javascript"/><category term="cvs"/><category term="date"/><category term="debug"/><category term="define"/><category term="deque"/><category term="email"/><category term="firewall"/><category term="function"/><category term="gdb"/><category term="jpeg"/><category term="jpg"/><category term="jscript"/><category term="ksh"/><category term="logrotate"/><category term="ls"/><category term="mediawiki"/><category term="odbc"/><category term="php.ini"/><category term="profile"/><category term="query"/><category term="queue"/><category term="regedit"/><category term="registry"/><category term="result"/><category term="return"/><category term="scp"/><category term="send"/><category term="services"/><category term="sh"/><category term="sprof"/><category term="ssh"/><category term="static html"/><category term="syntax"/><category term="system"/><category term="time"/><category term="timestamp"/><category term="valgrind"/><category term="variable"/><category term="wiki"/><category term="wincvs"/><category term="zsh"/><title type='text'>My [not so] secret knowledge</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-7018076433623930713</id><published>2013-11-29T19:23:00.003-08:00</published><updated>2013-11-29T19:23:43.143-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="css textarea jquery javascript"/><title type='text'>Setting textarea height adjusted to the contents</title><content type='html'>I have a page I would like to print out having &amp;lt;textarea&amp;gt; printed as well.&lt;br /&gt;
I would like to have this &amp;lt;textarea&amp;gt; having maximum width, and minimum height, so where there is no data it is only one line, but in case the data spans to, let&#39;s say, 10 rows, it expands &amp;lt;textarea&amp;gt; to 10 rows, and no scrollbar appears.&lt;br /&gt;
&lt;br /&gt;
This is what I have found that works for me:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; $(&quot;.tarows&quot;).each(function(){&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(this).height(0) ;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(this).height($(this).prop(&quot;scrollHeight&quot;) + &quot;px&quot;) ;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}) ;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
- or similar using pure javascript:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; element.style.height=0;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; element.style.height=element.scrollHeight+&#39;px&#39;;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This way, I can define my textarea (using class tarows) without cols or rows, and say in css to make it 100% width:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.tarows {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; width: 100%;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;textarea class=&quot;tarows&quot;&amp;gt;multiline text which will be shown on the whole width of the page, and as many rows as needed.&amp;lt;/textarea&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/7018076433623930713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/7018076433623930713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/7018076433623930713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/7018076433623930713'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2013/11/setting-textarea-height-adjusted-to.html' title='Setting textarea height adjusted to the contents'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-5359098996400105995</id><published>2013-06-05T11:43:00.001-07:00</published><updated>2013-06-05T11:43:24.475-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="logrotate"/><title type='text'>logrotate</title><content type='html'>&lt;tt&gt;logrotate -f /etc/logrotate.conf&lt;/tt&gt;&lt;br/&gt;

Nothing more to say.</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/5359098996400105995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/5359098996400105995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/5359098996400105995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/5359098996400105995'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2013/06/logrotate.html' title='logrotate'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-152155615823200095</id><published>2012-01-04T10:17:00.000-08:00</published><updated>2012-01-04T10:17:22.318-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mediawiki"/><category scheme="http://www.blogger.com/atom/ns#" term="wiki"/><title type='text'>mediawiki: There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking. Go back to the previous page, reload that page and then try again</title><content type='html'>&lt;p&gt;&lt;u&gt;If you see:&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking. Go back to the previous page, reload that page and then try again
&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Then the problem is with your file system.&lt;/p&gt;

&lt;p&gt;Check the status of the file system that holds your /tmp directory.&lt;/p&gt;

&lt;p&gt;I bet it is full.&lt;/p&gt;

&lt;p&gt;Clean the /tmp directory or delete unneeded files/directories in the file system and you will be good to go.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/152155615823200095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/152155615823200095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/152155615823200095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/152155615823200095'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2012/01/mediawiki-there-seems-to-be-problem.html' title='mediawiki: There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking. Go back to the previous page, reload that page and then try again'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-4607147678035107783</id><published>2011-11-26T20:39:00.001-08:00</published><updated>2011-11-26T20:48:54.110-08:00</updated><title type='text'>Life is Worth Living, CD 11 order of mp3</title><content type='html'>Something out of the ordinary of this blog...&lt;br /&gt;
The &lt;a href=&#39;http://www.saintjoe.com/prodinfo.asp?number=45MP3&#39;&gt;&quot;Life is Worth Living, CD 11&quot;&lt;/a&gt; has incorrect mp3 order (sequence.)&lt;br /&gt;
Just in case someone decided to look for proper here is the correct one:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Life is worth livingk (0).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (2).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (b14).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (3).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (b12).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (b13).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (4).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (5).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (6).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (7).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (1).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (8).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (9).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (b10).mp3&lt;/li&gt;
&lt;li&gt;Life is worth livingk (b11).mp3&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/4607147678035107783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/4607147678035107783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/4607147678035107783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/4607147678035107783'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2011/11/life-is-worth-living-cd-11-order-of-mp3.html' title='Life is Worth Living, CD 11 order of mp3'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-9198731221615296383</id><published>2011-09-16T10:53:00.000-07:00</published><updated>2011-09-16T10:53:14.035-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="debug"/><category scheme="http://www.blogger.com/atom/ns#" term="define"/><category scheme="http://www.blogger.com/atom/ns#" term="deque"/><category scheme="http://www.blogger.com/atom/ns#" term="gdb"/><category scheme="http://www.blogger.com/atom/ns#" term="queue"/><title type='text'>GDB - Accessing deque and queue</title><content type='html'>&lt;br /&gt;
In O1 mode some of the functions are optimized out and it is impossible to call them.&lt;br /&gt;
In case of deque and queue (which is build over deque) it is a bummer for the size() method is calculated.&lt;br /&gt;
&lt;br /&gt;
After finding some examples on the Internet we found nothing usable (I guess because our gcc was using different deque memory structure.)&lt;br /&gt;
&lt;br /&gt;
So we created a new version.&lt;br /&gt;
&lt;br /&gt;
pdequeue_info variable&lt;br /&gt;
- Shows size, first, and last element&lt;br /&gt;
&lt;br /&gt;
pdequeue variable [firstidx [lastidx]]&lt;br /&gt;
- Shows contents or a range.&lt;br /&gt;
&lt;br /&gt;
&lt;tt&gt;
define pdequeue_info&lt;br /&gt;
&amp;nbsp;set $var=($arg0)&lt;br /&gt;
&amp;nbsp;set $sizeof=sizeof( **$var._M_impl._M_start._M_node )&lt;br /&gt;
&amp;nbsp;set $size=$sizeof &amp;lt; 512 ? ( 512 / $sizeof ) : 1&lt;br /&gt;
&amp;nbsp;set $i=0&lt;br /&gt;
&amp;nbsp;while $i &amp;lt; $var._M_impl._M_map_size &amp;amp;&amp;amp; $var._M_impl._M_map[ $i ] == 0&lt;br /&gt;
&amp;nbsp; set $i++&lt;br /&gt;
&amp;nbsp;end&lt;br /&gt;
&amp;nbsp;set $rv = 0&lt;br /&gt;
&amp;nbsp;while $i &amp;lt; $var._M_impl._M_map_size &amp;amp;&amp;amp; $var._M_impl._M_map[ $i ] != $var._M_impl._M_finish._M_first&lt;br /&gt;
&amp;nbsp; set $rv += $size&lt;br /&gt;
&amp;nbsp; set $i++&lt;br /&gt;
&amp;nbsp;end&lt;br /&gt;
&amp;nbsp;if $var._M_impl._M_map[ $i ] != 0&lt;br /&gt;
&amp;nbsp; set $rv += $var._M_impl._M_finish._M_cur - $var._M_impl._M_finish._M_first&lt;br /&gt;
&amp;nbsp;end&lt;br /&gt;
&amp;nbsp;printf &quot;size &amp;nbsp;: &quot;&lt;br /&gt;
&amp;nbsp;p $rv&lt;br /&gt;
&amp;nbsp;if $rv &amp;gt; 0&lt;br /&gt;
&amp;nbsp; printf &quot;first : &quot;&lt;br /&gt;
&amp;nbsp; p *$var._M_impl._M_start._M_cur&lt;br /&gt;
&amp;nbsp; if $rv &amp;gt; 1&lt;br /&gt;
&amp;nbsp; &amp;nbsp;printf &quot;last &amp;nbsp;: &quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;p *( $var._M_impl._M_finish._M_cur - 1 )&lt;br /&gt;
&amp;nbsp; end&lt;br /&gt;
&amp;nbsp;end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
define __pdeque_show_group&lt;br /&gt;
&amp;nbsp;set $cur=($arg0)&lt;br /&gt;
&amp;nbsp;set $size=($arg1)&lt;br /&gt;
&amp;nbsp;set $f=($arg2)&lt;br /&gt;
&amp;nbsp;set $l=($arg3)&lt;br /&gt;
&amp;nbsp;set $j=0&lt;br /&gt;
&amp;nbsp;while $j &amp;lt; $size &amp;amp;&amp;amp; $n &amp;lt;= $l&lt;br /&gt;
&amp;nbsp; if $n &amp;gt;= $f&lt;br /&gt;
&amp;nbsp; &amp;nbsp; printf &quot;[%i] : &quot;, $n&lt;br /&gt;
&amp;nbsp; &amp;nbsp; p *$cur&lt;br /&gt;
&amp;nbsp; end&lt;br /&gt;
&amp;nbsp; set $cur++&lt;br /&gt;
&amp;nbsp; set $j++&lt;br /&gt;
&amp;nbsp; set $n++&lt;br /&gt;
&amp;nbsp;end&lt;br /&gt;
end&lt;br /&gt;
define pdequeue&lt;br /&gt;
&amp;nbsp;set $var=($arg0)&lt;br /&gt;
&amp;nbsp;set $f=-1&lt;br /&gt;
&amp;nbsp;set $l=9999999999&lt;br /&gt;
&amp;nbsp;if $argc == 2&lt;br /&gt;
&amp;nbsp; set $f=($arg1)&lt;br /&gt;
&amp;nbsp; set $l=$f&lt;br /&gt;
&amp;nbsp;end&lt;br /&gt;
&amp;nbsp;if $argc == 3&lt;br /&gt;
&amp;nbsp; set $f=($arg1)&lt;br /&gt;
&amp;nbsp; set $l=($arg2)&lt;br /&gt;
&amp;nbsp;end&lt;br /&gt;
&amp;nbsp;set $sizeof=sizeof( **$var._M_impl._M_start._M_node )&lt;br /&gt;
&amp;nbsp;set $size=$sizeof &amp;lt; 512 ? ( 512 / $sizeof ) : 1&lt;br /&gt;
&amp;nbsp;set $i=0&lt;br /&gt;
&amp;nbsp;while $i &amp;lt; $var._M_impl._M_map_size &amp;amp;&amp;amp; $var._M_impl._M_map[ $i ] == 0&lt;br /&gt;
&amp;nbsp; set $i++&lt;br /&gt;
&amp;nbsp;end&lt;br /&gt;
&amp;nbsp;set $n=0&lt;br /&gt;
&amp;nbsp;while $i &amp;lt; $var._M_impl._M_map_size &amp;amp;&amp;amp; $var._M_impl._M_map[ $i ] != $var._M_impl._M_finish._M_first &amp;amp;&amp;amp; $n &amp;lt;= $l&lt;br /&gt;
&amp;nbsp; __pdeque_show_group $var._M_impl._M_map[$i] $size $f $l&lt;br /&gt;
&amp;nbsp; set $i++&lt;br /&gt;
&amp;nbsp;end&lt;br /&gt;
&amp;nbsp;if $var._M_impl._M_map[ $i ] != 0 &amp;amp;&amp;amp; $n &amp;lt;= $l&lt;br /&gt;
&amp;nbsp; __pdeque_show_group $var._M_impl._M_map[$i] $var._M_impl._M_finish._M_cur-$var._M_impl._M_finish._M_first $f $l&lt;br /&gt;
&amp;nbsp;end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;/tt&gt;
</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/9198731221615296383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/9198731221615296383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/9198731221615296383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/9198731221615296383'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2011/09/gdb-accessing-deque-and-queue.html' title='GDB - Accessing deque and queue'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-7402030502390500620</id><published>2011-06-15T12:45:00.000-07:00</published><updated>2014-01-09T19:09:55.229-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gprof"/><category scheme="http://www.blogger.com/atom/ns#" term="profiling"/><category scheme="http://www.blogger.com/atom/ns#" term="valgrind"/><title type='text'>valgrind - dowloading, building and installing</title><content type='html'>First, I need to post all the links that will allow you to get to the creators information:&lt;br /&gt;
&lt;br /&gt;
* &lt;b&gt;WWW&lt;/b&gt;: &lt;a href=&quot;http://valgrind.org/&quot;&gt;http://valgrind.org&lt;/a&gt;&lt;br /&gt;
* &lt;b&gt;Manual&lt;/b&gt;: &lt;a href=&quot;http://valgrind.org/docs/manual/valgrind_manual.pdf&quot;&gt;http://valgrind.org/docs/manual/valgrind_manual.pdf&lt;/a&gt;&lt;br /&gt;
* &lt;b&gt;Source&lt;/b&gt;: &lt;a href=&quot;http://valgrind.org/downloads&quot;&gt;http://valgrind.org/downloads&lt;/a&gt;&lt;br /&gt;
* &lt;b&gt;Building Instruction&lt;/b&gt;: &lt;a href=&quot;http://valgrind.org/docs/manual/dist.readme.html&quot;&gt;http://valgrind.org/docs/manual/dist.readme.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Building&lt;/b&gt;&lt;br /&gt;
* Download the source and put into your &lt;b&gt;home &lt;/b&gt;account. Let&#39;s assume it is the valgrind-3.6.1 version.&lt;br /&gt;
Run these commands:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
vver=valgrind-3.6.1&lt;br /&gt;
tar xf $vver.tar.bz2&lt;br /&gt;
cd $vver&lt;br /&gt;
ulimit -u 100 # ./configure has a bug ...&lt;br /&gt;
./configure --prefix=$HOME/valgrind # You need that in order to run make install without root privileges&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
cd $HOME/valgrind/bin&lt;br /&gt;
./valgrind ls -l # see if it bombs out. If it does not you are good to go&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Now, what you have is a $HOME/valgrind directory. If this is place where you want to use it then you are ready. The only one thing you need to do is set your path: &lt;b&gt;export PATH=$HOME/valgrind/bin:$PATH&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ok... and what about if you need this valgrind now on a machine that does not have gcc?&lt;/b&gt;&lt;br /&gt;
The only thing you need to do is to pack the whole $HOME/valgrind directory, and copy it over to the destination machine.&lt;br /&gt;
The only caveat is that it has to be put into &lt;b&gt;exactly the same directory&lt;/b&gt; as it was built in or else you will see this nice message:&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;valgrind: failed to start tool &#39;memcheck&#39; for platform &#39;amd64-linux&#39;: No such file or directory&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution&lt;/b&gt; - ln -s $HOME/valgrind path-to-valgrind-on-the-build-machine&lt;br /&gt;
Example: ln -s $HOME/valgrind /home/myhome/valgrind</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/7402030502390500620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/7402030502390500620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/7402030502390500620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/7402030502390500620'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2011/06/valgrind-dowloading-building-and.html' title='valgrind - dowloading, building and installing'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-1426232755229061829</id><published>2010-05-16T20:45:00.001-07:00</published><updated>2010-05-16T20:54:56.583-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".htaccess"/><category scheme="http://www.blogger.com/atom/ns#" term=".htpasswd"/><category scheme="http://www.blogger.com/atom/ns#" term="access"/><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="password"/><title type='text'>Internal Server Error when password protecting directory</title><content type='html'>Do you see something like that:???&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;color:red&quot;&gt;Internal Server Error&lt;br /&gt;The server encountered an internal error or misconfiguration and was unable to complete your request.&lt;br /&gt;&lt;br /&gt;Please contact the server administrator, webmaster@blahblah and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;br /&gt;&lt;br /&gt;More information about this error may be available in the server error log.&lt;br /&gt;&lt;br /&gt;Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There is a very simple explanation but it took me lots of time to discover the reason. Well, I&#39;m not as good as I would like to be ;)&lt;br /&gt;&lt;br /&gt;The reason -&gt; FILE PERMISSION!!!&lt;br /&gt;&lt;br /&gt;All directories have to have +xr access for the web server. You may have to make o+xr them.&lt;br /&gt;Also the .htpasswd and .htaccess have to be accessible for the web browser.&lt;br /&gt;&lt;br /&gt;Here is my .htaccess in the directory I want to have password protected:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;AuthUserFile /home/myhome/.htpasswds/.htpasswd&lt;br /&gt;AuthName &quot;Login Area&quot;&lt;br /&gt;AuthType Basic&lt;br /&gt;require valid-user&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Since the web server is &#39;hosted&#39;, so the best thing to do is to run the phpinfo() on the web browser (create p.php file and put &lt;b&gt;&amp;lt;?php phpinfo(); ?&amp;gt;&lt;/b&gt; in it) and look for DOCUMENT_ROOT to see where really are your web files located.&lt;br /&gt;Make sure that all the directories leading to .htpasswd and .htaccess are having proper &#39;read/execute&#39; attributes (644)</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/1426232755229061829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/1426232755229061829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1426232755229061829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1426232755229061829'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2010/05/do-you-see-something-like-that-internal.html' title='Internal Server Error when password protecting directory'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-2892868804572523223</id><published>2010-05-11T19:16:00.000-07:00</published><updated>2010-05-11T19:17:31.593-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="calendar"/><title type='text'>Google Calendar compatible Catholic Calendar in US</title><content type='html'>http://www.google.com/calendar/embed?src=vfc9s2tq7ugm3qutnm823pu9ec@group.calendar.google.com&amp;ctz=America/New_York</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/2892868804572523223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/2892868804572523223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/2892868804572523223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/2892868804572523223'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2010/05/google-calendar-compatible-catholic.html' title='Google Calendar compatible Catholic Calendar in US'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-2257961920361919167</id><published>2010-01-14T07:46:00.001-08:00</published><updated>2010-01-14T07:53:24.291-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="boost"/><category scheme="http://www.blogger.com/atom/ns#" term="ls"/><title type='text'>ls using boost</title><content type='html'>Want to use boost and get list of files matching a mask. The same list you would obtain running ls in the command prompt?&lt;br /&gt;&lt;br /&gt;The idea is to have something like this:&lt;br /&gt;&lt;br /&gt;&lt;listing&gt;&lt;br /&gt;    BOOST_FOREACH( const std::string&amp; fname, ls( &quot;./*.cpp&quot; ))&lt;br /&gt;        std::cout &lt;&lt; fname &lt;&lt; std::endl ;&lt;br /&gt;&lt;/listing&gt;&lt;br /&gt;&lt;br /&gt;So here is the solution. One function and one helper function (to_regex_copy()):&lt;br /&gt;&lt;br /&gt;&lt;listing&gt;&lt;br /&gt;std::string to_regex_copy( std::string mask )&lt;br /&gt;{&lt;br /&gt;    std::string rv = boost::regex_replace( boost::regex_replace( boost::regex_replace( mask, boost::regex( &quot;\\.&quot; ), &quot;\\\\.&quot; ), boost::regex( &quot;\\?&quot; ), &quot;\\.&quot; ), boost::regex( &quot;\\*&quot; ), &quot;\\.*&quot; ) ;&lt;br /&gt;    return rv ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;std::vector&lt; std::string &gt; ls( const char* pcszMask )&lt;br /&gt;{&lt;br /&gt;    namespace fs = boost::filesystem ;&lt;br /&gt;    boost::filesystem::path path ;&lt;br /&gt;    boost::regex mask ;&lt;br /&gt;    if ( fs::is_directory( pcszMask ))&lt;br /&gt;    {&lt;br /&gt;        path = pcszMask ;&lt;br /&gt;        mask = &quot;.*&quot; ;&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;        path = fs::path( pcszMask ).remove_filename() ;&lt;br /&gt;        mask = to_regex_copy( fs::path( pcszMask ).filename()) ;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    std::vector&lt; std::string &gt; rv ;&lt;br /&gt;    try&lt;br /&gt;    {&lt;br /&gt;        for ( fs::directory_iterator p(path), e; p!=e; ++p)&lt;br /&gt;        {&lt;br /&gt;            if ( boost::regex_match( p-&gt;filename(), mask ))&lt;br /&gt;                rv.push_back( p-&gt;filename()) ;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    catch( ... )&lt;br /&gt;    {&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    return rv ;&lt;br /&gt;}&lt;br /&gt;&lt;/listing&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/2257961920361919167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/2257961920361919167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/2257961920361919167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/2257961920361919167'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2010/01/ls-using-boost.html' title='ls using boost'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-6051003980383324241</id><published>2010-01-12T14:03:00.000-08:00</published><updated>2016-08-08T13:54:05.329-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gprof"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="profile"/><category scheme="http://www.blogger.com/atom/ns#" term="profiling"/><category scheme="http://www.blogger.com/atom/ns#" term="sprof"/><title type='text'>Profiling shared library on Linux using sprof</title><content type='html'>It&#39;s not as easy as one would/should expect. &lt;span style=&quot;font-size: x-small;&quot;&gt;(Read &lt;a href=&quot;http://greg-n-blog.blogspot.com/2011/06/valgrind-dowloading-building-and.html&quot;&gt;here about valgrind&lt;/a&gt; if you don&#39;t want to use sprof.)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;First&lt;/span&gt; - FORGET ABOUT gprof. gprof is used for the applications but will NOT WORK for shared libraries. Sorry about that. I learned about it the hard way. What you need to use is &lt;span style=&quot;font-weight: bold;&quot;&gt;sprof&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Second&lt;/span&gt; - sprof may make you bite your fingers if your glibc library is not up-to-date. It will be displaying the nasty message: &lt;span style=&quot;font-weight: bold;&quot;&gt;&quot;sprof: failed to load shared object&quot;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
If this is what you see then you HAVE TO update your glibc. Read about the bug: &lt;a href=&quot;http://rhn.redhat.com/errata/RHBA-2009-0080.html&quot;&gt;here&lt;/a&gt;. It may not be as simple to upgrade as well... If I have time I will write how to do it through the .iso file (if you have one.)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Third&lt;/span&gt; - Yes, as it is not enough, there is an other surprize! The -pg option works well for gprof, but screws up things for sprof! You need to remove this option in order to get proper results from the shared libraries. Otherwise you will get only zeroes as the execution time for the functions.&lt;br /&gt;
&lt;br /&gt;
So, at the end, what to do?&lt;br /&gt;
&lt;br /&gt;
Assuming you have the patch installed or you have glibc-2.5-34 or newer version installed do as follows (the best, in my opinion, way, assuming you have write access to the current directory.)&lt;br /&gt;
&lt;br /&gt;
1) Compile your shared library (libmylib.so) in debug (-g) mode. No -pg.&lt;br /&gt;
2) export LD_PROFILE_OUTPUT=`pwd`&lt;br /&gt;
3) export LD_PROFILE=libmylib.so&lt;br /&gt;
4) rm -f $LD_PROFILE.profile&lt;br /&gt;
4) execute your program that loads libmylib.so&lt;br /&gt;
5) sprof PATH-TO-LIB/$LD_PROFILE $LD_PROFILE.profile -p &amp;gt;log&lt;br /&gt;
6) See the log.&lt;br /&gt;
&lt;br /&gt;
I hope it will help you.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/6051003980383324241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/6051003980383324241' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/6051003980383324241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/6051003980383324241'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2010/01/profiling-shared-library-on-linux-using.html' title='Profiling shared library on Linux using sprof'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-5149738977679408258</id><published>2009-10-09T09:30:00.000-07:00</published><updated>2014-01-09T19:08:35.240-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="batch"/><category scheme="http://www.blogger.com/atom/ns#" term="password"/><category scheme="http://www.blogger.com/atom/ns#" term="scp"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><category scheme="http://www.blogger.com/atom/ns#" term="ssh"/><title type='text'>ssh, scp password-less connection</title><content type='html'>Below is possibly the simplest way it can be accomplished.&lt;br /&gt;
Simply enter &lt;b&gt;username@ip-address&lt;/b&gt;, when asked after running this one-liner below:&lt;br /&gt;
&lt;pre&gt;&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;printf &quot;enter username@ip-address: &quot; ; read UIP ; ssh $UIP &quot;mkdir .ssh 2&amp;gt;/dev/null ; echo $(cat $HOME/.ssh/id_rsa.pub) &amp;gt;&amp;gt;.ssh/authorized_keys ; chmod 700 .ssh ; chmod 600 .ssh/authorized_keys&quot; ; echo &quot;hostname=$(ssh $UIP hostname)&quot;&lt;/span&gt;
&lt;/pre&gt;
You should be done.&lt;br /&gt;
If everything was okay you should see the &lt;b&gt;&lt;i&gt;hostname&lt;/i&gt;&lt;/b&gt; command result run on the target.&lt;br /&gt;
From this moment, you can run your commands on the remote host by executing like this:&lt;br /&gt;
&lt;pre&gt;&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;ssh username@ip-address &quot;your command&quot;&lt;/span&gt;
&lt;/pre&gt;
or copying files like that:
&lt;br /&gt;
&lt;pre&gt;&lt;span style=&quot;color: blue; font-family: Courier New, Courier, monospace;&quot;&gt;scp myfile username@ip-address:&lt;/span&gt;
&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/5149738977679408258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/5149738977679408258' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/5149738977679408258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/5149738977679408258'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2009/10/ssh-and-scp-without-being-asked-for.html' title='ssh, scp password-less connection'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-3026340271767324390</id><published>2008-09-25T14:18:00.000-07:00</published><updated>2008-09-25T14:22:39.847-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="csh"/><category scheme="http://www.blogger.com/atom/ns#" term="HP-UX"/><category scheme="http://www.blogger.com/atom/ns#" term="ksh"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Mac"/><category scheme="http://www.blogger.com/atom/ns#" term="sh"/><category scheme="http://www.blogger.com/atom/ns#" term="shell"/><category scheme="http://www.blogger.com/atom/ns#" term="SunOS"/><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><category scheme="http://www.blogger.com/atom/ns#" term="zsh"/><title type='text'>How do I find the name of the current shell that I am working in</title><content type='html'>There is a command that will work on all platforms I tested (HP-UX, SunOS, Linux, MacOS) and shells (sh,ksh,bash,csh,zsh)&lt;br /&gt;&lt;br /&gt;ps -p $$ | grep $$ | awk &#39;{ print $NF }&#39;&lt;br /&gt;&lt;br /&gt;Be aware that the shell name can be bash or -bash</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/3026340271767324390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/3026340271767324390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/3026340271767324390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/3026340271767324390'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/09/how-do-i-find-name-of-current-shell.html' title='How do I find the name of the current shell that I am working in'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-1019736084479068918</id><published>2008-06-24T12:03:00.000-07:00</published><updated>2008-06-24T12:08:14.533-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="BerkeleyDB"/><category scheme="http://www.blogger.com/atom/ns#" term="BTree"/><category scheme="http://www.blogger.com/atom/ns#" term="Errror"/><title type='text'>At least one secondary cursor must be specified to DB-&gt;join error 22</title><content type='html'>Never found this problem on the Internet? Does it mean nobody except me run into it?&lt;br /&gt;&lt;br /&gt;I have tested BerkeleyDB BTree 4.7.25 (from Oracle now) and when running a simple test described in their doc I got the following when opening (creating) a database:&lt;br /&gt;&lt;br /&gt;&lt;font color=&#39;red&#39;&gt;At least one secondary cursor must be specified to DB-&gt;join error 22&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;After hours of searching here is what I found - the standard installation that comes the btree with is precompiled with a different Visual Studio that has a problem with VS 6.0 I was using. Even though I was able to download the dll (the release mode because the &lt;strong&gt;debug mode was wrong&lt;/strong&gt; - shipped with improper MS nondebug libraries) the opening was returning this wrong message.&lt;br /&gt;&lt;br /&gt;Only after opening the .dsw that came with the sources, and rebuilding it with VS 6.0 all went okay.&lt;br /&gt;&lt;br /&gt;I hope it will help someone...</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/1019736084479068918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/1019736084479068918' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1019736084479068918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1019736084479068918'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/06/at-least-one-secondary-cursor-must-be.html' title='At least one secondary cursor must be specified to DB-&gt;join error 22'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-1955504755662597167</id><published>2008-06-06T12:01:00.000-07:00</published><updated>2008-06-17T22:16:38.285-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cvs"/><category scheme="http://www.blogger.com/atom/ns#" term="wincvs"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>New download of the cvs repository on Windows</title><content type='html'>I have moved to a new laptop, and I had to get all the data from the cvs repository to this new one.&lt;br /&gt;I wasn&#39;t even expecting so many problems with the WinCVS application to have!&lt;br /&gt;No, it&#39;s not that WinCVS is bad. It&#39;s great. The point is that It gives so many options to accomodate so many users behaviours that at someome moment these options became a burden!&lt;br /&gt;&lt;br /&gt;So I have finally decided to describe, step-by-step all the operations one needs to do in order to download new repository to his/her place.&lt;br /&gt;This list is for cvs windows only.&lt;br /&gt;I may to do this for Linux/Unix as well some time.&lt;br /&gt;If you want to install WinCVS then, please, search on the Internet, wait for my new blog, or write to me in the comments.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style=&quot;font-size:70%;&quot;&gt;&lt;br /&gt;RUN: &amp;lt;&amp;lt;&amp;lt;WinCVS&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;MENU: &amp;lt;&amp;lt;&amp;lt;Admin/Login...&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;EDIT: &amp;lt;&amp;lt;&amp;lt;CVSROOT:&amp;gt;&amp;gt;&amp;gt; - avoid using &amp;lt;&amp;lt;&amp;lt;...&amp;gt;&amp;gt;&amp;gt; It&#39;s overly confusing. It is better to enter the path:&lt;br /&gt;    :pserver;username=USERNAME;hostname=HOSTNAME:REPOSITORY&lt;br /&gt;    EXAMPLE:     :pserver;username=john;hostname=our.server.org:/Projects&lt;br /&gt;&lt;br /&gt;BUTTON: &amp;lt;&amp;lt;&amp;lt;OK&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;    The CVS will ask you for the password which will be stored at your machine&lt;br /&gt;    in an encrypted form and will be used for communication every time you&lt;br /&gt;    access the repository, but until you click MENU: &amp;lt;&amp;lt;&amp;lt;Admin/Logout&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;MENU: &amp;lt;&amp;lt;&amp;lt;Remote/Checkout module...&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;DIALOG: &amp;lt;&amp;lt;&amp;lt;Checkout settings&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;    EDIT: &amp;lt;&amp;lt;&amp;lt;Module name and path on the server:&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;        ProjectAlpha&lt;br /&gt;    EDIT: &amp;lt;&amp;lt;&amp;lt;Local folder to checkout to:&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;        CHANGE IT so it points at the ROOT directory where the ProjectAlpha directory will be created.&lt;br /&gt;        EXAMPLE: c:\JohnsProject\   (yes, add the backslash at the end!)&lt;br /&gt;&lt;br /&gt;    NOTE: If you DO NOT WANT to create the ProjectAlpha\ directory in the c:\JohnsProject one then you need to do:&lt;br /&gt;        CHECKBOX: &amp;lt;&amp;lt;&amp;lt;Check out into directory:&amp;gt;&amp;gt;&amp;gt; Turn in ON&lt;br /&gt;        EDIT: &amp;lt;&amp;lt;&amp;lt;Check out into directory:&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;            JohnsProject&lt;br /&gt;    COMBOBOX: &amp;lt;&amp;lt;&amp;lt;CVSROOT:&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;        Drop down menu and select the last one that you have enteted a few steps above.&lt;br /&gt;    BUTTON: &amp;lt;&amp;lt;&amp;lt;OK&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;        Off you go!&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;-------------------------------------&lt;br /&gt;After this operation, you will have your selected directory (c:\JohnsProject\ProjectAlpha, or c:\JohnsProject only) populated with the data.&lt;br /&gt;from the server.</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/1955504755662597167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/1955504755662597167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1955504755662597167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1955504755662597167'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/06/new-download-of-cvs-repository-on.html' title='New download of the cvs repository on Windows'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-1728874566620196163</id><published>2008-06-05T23:31:00.000-07:00</published><updated>2008-06-06T12:12:05.985-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="attachements"/><category scheme="http://www.blogger.com/atom/ns#" term="email"/><category scheme="http://www.blogger.com/atom/ns#" term="html"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="php.ini"/><category scheme="http://www.blogger.com/atom/ns#" term="send"/><title type='text'>Sending an email from PHP (on Windows too.)</title><content type='html'>Yey, finally got something that really works.&lt;br /&gt;It&#39;s not my stuff, but I was able to found it after a long time search!&lt;br /&gt;Here is the link to &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=26031&amp;package_id=252700&amp;release_id=604592&quot;&gt;sourceForge.net&lt;/a&gt;, to the page that hosts php Mailer for PHP 5 for Windows, and looks like for Unix too. If the link does not work then search for the word phpMailer.&lt;br /&gt;&lt;br /&gt;The easiest way to install the stuff is to do as follows (example on Windows, with assumption that you have your php installed in the c:\php directory.)&lt;br /&gt;&lt;br /&gt;&gt; &lt;strong&gt;mkdir c:\php\mailer&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Unzip&lt;/strong&gt; phpMailer_v2.1.zip into c:\php\mailer&lt;br /&gt;&gt; &lt;strong&gt;notepad.exe c:\php\php.ini&lt;/strong&gt;&lt;br /&gt;Add at the very end:&lt;br /&gt;    &lt;strong&gt;include_path=&quot;.;c:\php\mailer&quot;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Youre done!&lt;br /&gt;&lt;br /&gt;Now, example:&lt;br /&gt;&lt;pre&gt;&gt;&lt;span style=&quot;font-size:70%;&quot;&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;require_once( &quot;class.phpmailer.php&quot; ) ;&lt;br /&gt;&lt;br /&gt;$mail = new PHPMailer() ;&lt;br /&gt;$mail-&gt;IsSMTP() ;&lt;br /&gt;$mail-&gt;Host = &quot;smtp.myserver.com:587&quot; ;&lt;br /&gt;$mail-&gt;SMTPAuth = true ;&lt;br /&gt;$mail-&gt;Username = &quot;username&quot; ;&lt;br /&gt;$mail-&gt;Password = &quot;password&quot; ;&lt;br /&gt;$mail-&gt;From = &quot;me@myserver.com&quot; ;&lt;br /&gt;$mail-&gt;FromName = &quot;It is me!&quot; ;&lt;br /&gt;$mail-&gt;AddAddress( &quot;testaddress@theirserver.com&quot;, &quot;Poor Receiver&quot; ) ;&lt;br /&gt;$mail-&gt;AddReplyTo( &quot;me@myserver.com&quot;, &quot;do-not-reply&quot; ) ;&lt;br /&gt;$mail-&gt;AddAttachment( &quot;c:\\mydog.jpg&quot;, &quot;Isn&#39;t she cute?&quot; ) ;&lt;br /&gt;$mail-&gt;Subject = &quot;Sorry for this test email!&quot; ;&lt;br /&gt;$mail-&gt;IsHTML( true ) ;&lt;br /&gt;$mail-&gt;Body = file_get_contents( &quot;c:\\myemail.html&quot; ) ;&lt;br /&gt;$mail-&gt;AltBody = &quot;non-HTML mail client? Where are you from?&quot; ;&lt;br /&gt;&lt;br /&gt;if( !$mail-&gt;Send())&lt;br /&gt;   printf( &quot;Sending Error: &quot; . $mail-&gt;ErrorInfo . &quot;\n&quot; ) ;&lt;br /&gt;else&lt;br /&gt;   printf( &quot;Message has been sent successfully.\n&quot; ) ;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/1728874566620196163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/1728874566620196163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1728874566620196163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1728874566620196163'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/06/sending-email-from-php-on-windows-too.html' title='Sending an email from PHP (on Windows too.)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-8097075327209028731</id><published>2008-05-30T08:54:00.000-07:00</published><updated>2008-06-24T20:25:59.431-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="shell"/><category scheme="http://www.blogger.com/atom/ns#" term="syntax"/><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><title type='text'>Script Shell Syntax checking</title><content type='html'>I&#39;m writing a lot of stuff in shell (Korn,Bourne,Bash) and I had a need for syntax checker in the build time. Something I could use either in the command line (like a compiler) or in the make time which should stop the build whenever there is a syntax error in my script.&lt;br /&gt;&lt;br /&gt;Here is what I came up to. Simply copy/paste the code below to a file named shck.sh (or whatever you wish to call it), do chmod+x shck.sh and off you go!&lt;br /&gt;&lt;br /&gt;Usage:&lt;br /&gt;shck.sh myscript.sh&lt;br /&gt;-or-&lt;br /&gt;cat myscript.sh | shck.sh&lt;br /&gt;&lt;br /&gt;You can also use it in the makefile. It will return value 1 if there was an error.&lt;br /&gt;-----------------------------------------------------&lt;br /&gt;shck_return() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return $1&lt;br /&gt;}&lt;br /&gt;shck_errno=0&lt;br /&gt;echo &quot;set -n &quot;&gt;random.$$.sh&lt;br /&gt;cat $1 &gt;&gt;random.$$.sh&lt;br /&gt;chmod +x random.$$.sh&lt;br /&gt;./random.$$.sh &gt;errors.$$.err 2&gt;errors.$$.err&lt;br /&gt;rm -f random.$$.sh&lt;br /&gt;grep -v &quot;: warning: line&quot; errors.$$.err | sed -e s/random.$$.sh/$1/g &gt;errors.$$.err2&lt;br /&gt;[ -s errors.$$.err2 ] &amp;amp;&amp;amp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shck_errno=1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cat errors.$$.err2&lt;br /&gt;}&lt;br /&gt;rm -f errors.$$.err errors.$$.err2&lt;br /&gt;shck_return $shck_errno</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/8097075327209028731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/8097075327209028731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/8097075327209028731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/8097075327209028731'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/05/script-shell-syntax-checking.html' title='Script Shell Syntax checking'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-6121329202458977315</id><published>2008-05-28T22:14:00.001-07:00</published><updated>2008-05-28T22:32:47.138-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="attachements"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Outlook"/><category scheme="http://www.blogger.com/atom/ns#" term="regedit"/><category scheme="http://www.blogger.com/atom/ns#" term="registry"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type='text'>Opening unopenable attachments in Microsoft Outlook</title><content type='html'>The Microsoft Outlook software, starting, as I believe, from version 2003, turned opening some of the attachments for good. If you received, for example, an .mdb file (from Microsoft Access,) then you will only see that you got it, but you won&#39;t be able to copy it to the hard drive. Don&#39;t try searching in the options as suggested in the email. There is no option to turn the ability to detach the attachment on.&lt;br /&gt;Microsoft says it clearly - because it is one of the most popular applications for managing emails, it has been constantly under attach by the hackers, so to &#39;save&#39; their customers, they turned several options off for good. There is a workaround though. You can ask the sender to send you the file again, but ask him/her to rename the extension of the file or to zip/rar it. If such option is not a good one, or at least not for the very moment because you&#39;re in a hurry, there the following solution:&lt;br /&gt;&lt;br /&gt;Run &lt;strong&gt;regedit&lt;/strong&gt;: WARNING, WARNING: These operations are dangerous, so if you&#39;re not feeling secure, don&#39;t play with regedit. Screwing up in this file may screw up with your Windows installation and ultimatelly you may have to reinstall your OS!!!!&lt;br /&gt;&lt;br /&gt;Open &lt;strong&gt;HKEY_CURRENT_USER\Software\Microsoft\Office\&lt;span style=&quot;color:#ff6600;&quot;&gt;11.0&lt;/span&gt;\Outlook\Security&lt;/strong&gt;&lt;br /&gt;(&lt;span style=&quot;color:#ff6600;&quot;&gt;11.0&lt;/span&gt; is for Outlook 2003)&lt;br /&gt;&lt;br /&gt;Create or add a New String Value under this key with the name: &lt;strong&gt;Level1Remove&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Enter the file extensions separated with the semicolon (;) that you would like to support in the attachment. The file extensions should start with a coma.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;EXAMPLE:&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;Level1Remove          .mdb;.xlsx&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Typical errors:&lt;/u&gt;&lt;br /&gt;- forgetting to put a dot in the front of the extension&lt;br /&gt;- putting spaces into the Level1Remove value&lt;br /&gt;- Putting Level1Remove string into improper place in registry&lt;br /&gt;- Creating a KEY instead of a &lt;strong&gt;STRING VALUE&lt;/strong&gt; in registry.&lt;br /&gt;&lt;br /&gt;When you are done, close the regedit program, close your Microsoft Outlook application, and open it again. From that moment, the files with the extensions you have just added into registry will be available for you.&lt;br /&gt;&lt;br /&gt;Make sure you don&#39;t overdo and don&#39;t add others files &#39;just in case&#39;. You may put yourself in danger by allowing to accept .exe, .bat, .js and other executable files. Use your head!</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/6121329202458977315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/6121329202458977315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/6121329202458977315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/6121329202458977315'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/05/opening-unopenable-attachments-in.html' title='Opening unopenable attachments in Microsoft Outlook'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-4803665807964278887</id><published>2008-05-28T21:58:00.000-07:00</published><updated>2008-05-28T22:10:58.376-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="date"/><category scheme="http://www.blogger.com/atom/ns#" term="jpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="jpg"/><category scheme="http://www.blogger.com/atom/ns#" term="time"/><category scheme="http://www.blogger.com/atom/ns#" term="timestamp"/><title type='text'>jpg - changing internal date and time stamp</title><content type='html'>Ooops. I have set an improper date on my digital camera and now, Picassa shows my pictures in improper order. I take care of setting the date and time stamp of the file but even though, Picassa puts my new pictures amont the last year ones.&lt;br /&gt;&lt;br /&gt;I started searching for a tool that would allow me to change the internal jpeg (jpg) date and time stamps, and I have run onto a very nice one - file Tweak (&lt;a href=&quot;http://filetweak.com/&quot;&gt;http://filetweak.com&lt;/a&gt;) The sad part this tool, being really an excellent Windows addition to the file properties dialog box, cost money, and I didn&#39;t want to spend money to, from time to time, fixing my mistakes. (You can download a limited in time and functionality filetweak from them.)&lt;br /&gt;&lt;br /&gt;I have decided to take a closer look to the jpg file and check if I can change the date and time opening the file in binary mode (I use Visual Studio, but you can find other free tools that can do it for you.)&lt;br /&gt;&lt;br /&gt;What a surprize - the date time is stored in DOS open format!&lt;br /&gt;Example: 2008:05:25 22:36:40&lt;br /&gt;&lt;br /&gt;In my jpeg files are three dates (when the picture has been taken, when was digitalized and when was modified.)&lt;br /&gt;&lt;br /&gt;The easiest way then, to change the timestamp of your jpeg files is:&lt;br /&gt;&lt;br /&gt;Search for the year your picture has been taken (Right-click on the file, Properties,Summary tab,Make sure Advanced button is on, Search for Date Picture Taken.)&lt;br /&gt;Simply, using any binary editor, modify the date and/or time of the jpg files (up to three places to be changed) and save the file. You&#39;re done. Picassa and you will be happy :)</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/4803665807964278887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/4803665807964278887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/4803665807964278887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/4803665807964278887'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/05/jpg-changing-internal-date-and-time.html' title='jpg - changing internal date and time stamp'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-7185039920788210391</id><published>2008-05-24T20:51:00.001-07:00</published><updated>2008-05-24T21:02:56.230-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="odbc"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="query"/><category scheme="http://www.blogger.com/atom/ns#" term="system"/><title type='text'>Running a command for each value comming back from an ODBC query in PHP</title><content type='html'>I have a need to read an ODBC datasource and run a query on a particual table. For each unique value of the table, I need to run a command in the shell.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Here is anexample:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style=&quot;font-size:70%;&quot;&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;    $values = Array() ;&lt;br /&gt;    $command = &quot;echo&quot; ; /* for the example purposes the command is echo */&lt;br /&gt;    $columnName = &quot;state&quot; ; /* just for this example */&lt;br /&gt;&lt;br /&gt;    $hdbc = odbc_connect ( &quot;dsn-name&quot;, NULL, NULL ) ;&lt;br /&gt;    if ( $hdbc != NULL )&lt;br /&gt;    {&lt;br /&gt;        $hstmt = odbc_prepare(&lt;br /&gt;                     $hdbc&lt;br /&gt;                     , &quot;select distinct &quot; . $columnName . &quot; from tablename&quot;&lt;br /&gt;                  ) ;&lt;br /&gt;        if ( $hstmt != NULL )&lt;br /&gt;            if ( odbc_execute( $hstmt ))&lt;br /&gt;            {&lt;br /&gt;                while ( odbc_fetch_row( $hstmt ))&lt;br /&gt;                    $values[] = odbc_result( $hstmt, 1 ) ;&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;                printf( &quot;*** Unable to execute\n&quot; ) ;&lt;br /&gt;        else&lt;br /&gt;            printf( &quot;*** Unable to prepare the query.\n&quot; ) ;&lt;br /&gt;&lt;br /&gt;        odbc_close( $hdbc ) ;&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;        printf( &quot;*** Unable to connect\n&quot; ) ;&lt;br /&gt;&lt;br /&gt;    foreach ( $values as $value )&lt;br /&gt;        system( $command . &quot; \&quot;&quot; . $value . &quot;\&quot;&quot; ) ;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/7185039920788210391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/7185039920788210391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/7185039920788210391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/7185039920788210391'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/05/running-command-for-each-value-comming.html' title='Running a command for each value comming back from an ODBC query in PHP'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-8856276754356173922</id><published>2008-05-23T21:15:00.000-07:00</published><updated>2008-05-23T21:28:47.807-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ActiveXObject"/><category scheme="http://www.blogger.com/atom/ns#" term="Excel"/><category scheme="http://www.blogger.com/atom/ns#" term="Excel.Application"/><category scheme="http://www.blogger.com/atom/ns#" term="html"/><category scheme="http://www.blogger.com/atom/ns#" term="jscript"/><category scheme="http://www.blogger.com/atom/ns#" term="static html"/><title type='text'>Publishing an Excel table as static html using jscript.</title><content type='html'>Oh man! I have worked on it a few days, posted numerous questions on various newsgroups, spent hours on the Internet and in a book store, and finaly I got what I needed!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Requirement:&lt;/strong&gt;&lt;br /&gt;I have a sheet (Sheet1) in my xlsx document (Excel 2007) which I wanted to save as a static html page using.&lt;br /&gt;I want to use jscript run in the command line, so I could automate the process.&lt;br /&gt;I don&#39;t want to use SaveAs( ..., 44 ) method because it creates the sheet name at the bottom.&lt;br /&gt;I also don&#39;t want to have the ActiveX embedded into the page (no dynamic html.)&lt;br /&gt;&lt;br /&gt;Assuming that the document is c:\mydoc\test.xlsx, I want to generate c:\mydoc\test.html file.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Here is the code of doit.js file:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;ea = new ActiveXObject( &quot;Excel.Application&quot; ) ;&lt;br /&gt;ea.DisplayAlerts = 0 ; /* Don&#39;t want to see any questions on the screen! */&lt;br /&gt;wb = ea.Workbooks.Open( &quot;c:\\mydoc\\test.xlsx&quot; ) ;&lt;br /&gt;po = wb.PublishObjects ;&lt;br /&gt;po.Add( 1, &quot;c:\\mydoc\\test.html&quot;, &quot;Sheet1&quot; ) ; /* 1 == static html. */&lt;br /&gt;po.Item( 1 ).Publish( true ) ; /* Yahoo! */&lt;br /&gt;wb.Close( false ) ; /* I don&#39;t want to save the newly added PublishObject */&lt;br /&gt;&lt;br /&gt;Isn&#39;t that cool!</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/8856276754356173922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/8856276754356173922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/8856276754356173922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/8856276754356173922'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/05/publishing-excel-table-as-static-html.html' title='Publishing an Excel table as static html using jscript.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-6416130330961847906</id><published>2008-05-13T19:53:00.000-07:00</published><updated>2015-01-29T06:00:40.129-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cmd"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Setting up registry to run .php scripts from command line</title><content type='html'>I wanted to have a script in php that I could run in the following way:&lt;br /&gt;
&lt;br /&gt;
c:\tmp&amp;gt; myscript.php argument1 &quot;second argument&quot;&lt;br /&gt;
&lt;br /&gt;
This is what I came up to:&lt;br /&gt;
&lt;br /&gt;
a) In the file explorer (not internet! file!) double click on your .php script, select the &#39;Select the program from a list&#39;, Browse to php.exe, mark &#39;always use the selected program to open this kind of file&#39;, and accept.&lt;br /&gt;
&lt;br /&gt;
This, will create a HKEY_CLASS_ROOT/.php entry with the value php_auto_file.&lt;br /&gt;
It will also create the HKEY_CLASS_ROOT/php_auto_file/shell/open/command with the default entry: &quot;c:\php\php.exe&quot; &quot;%1&quot;&lt;br /&gt;
(the path to the php.exe file depends on where you have installed php in!)&lt;br /&gt;
&lt;br /&gt;
This kind of registration will allow you now running your scripts from the command line but it WON&#39;T allow you to pass any arguments.&lt;br /&gt;
&lt;br /&gt;
b) That&#39;s why you have to the HKEY_CLASS_ROOT/php_auto_file/shell/open/command entry to the following: &quot;c:\php\php.exe&quot; &quot;%1&quot; %*&lt;br /&gt;
&lt;br /&gt;
Here you go. Now you can prepare your myscript.php to look like this, and test the execution:&lt;br /&gt;
print_r( $argv ) ;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
myscript.php argument1 &quot;second argument&quot;&lt;br /&gt;
&lt;br /&gt;
Result:&lt;br /&gt;
&lt;br /&gt;
Array&lt;br /&gt;
(&lt;br /&gt;
[0] =&amp;gt; c:\tmp\myscript.php&lt;br /&gt;
[1] =&amp;gt; argument1&lt;br /&gt;
[2] =&amp;gt; second argument&lt;br /&gt;
)</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/6416130330961847906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/6416130330961847906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/6416130330961847906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/6416130330961847906'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/05/setting-up-registry-to-run-php-scripts.html' title='Setting up registry to run .php scripts from command line'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-1041948767337836618</id><published>2008-05-02T17:16:00.000-07:00</published><updated>2013-05-23T11:03:42.800-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firewall"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="services"/><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><title type='text'>poll: protocol failure in circuit setup (Linux)</title><content type='html'>To tell the truth, I&#39;m not sure it&#39;s the Linux issue only. It can be on other platforms as well.&lt;br /&gt;&lt;br /&gt;If you saw something like this in telnet/ssh:&lt;br /&gt;&lt;br /&gt;connect to address 1.2.3.4 port 544: Connection refused&lt;br /&gt;Trying krb4 rsh...&lt;br /&gt;connect to address 1.2.3.4 port 544: Connection refused&lt;br /&gt;trying normal rsh (/usr/bin/rsh)&lt;br /&gt;poll: protocol failure in circuit setup&lt;br /&gt;&lt;br /&gt;then what probably causes it is firewall (iptables)&lt;br /&gt;The quicky method is simply to shutdown the iptables firewall:&lt;br /&gt;&gt; su -&lt;br /&gt;&gt; services iptables stop&lt;br /&gt;&lt;br /&gt;However, if you reboot your machine, the iptables will start and you will hit the problem again.&lt;br /&gt;&lt;br /&gt;To permanently shut down the firwall service then, do the following:&lt;br /&gt;&gt; su -&lt;br /&gt;&gt; chkconfig --list iptables&lt;br /&gt;&lt;br /&gt;- you will probably see this:&lt;br /&gt;iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;br /&gt;&lt;br /&gt;- then do:&lt;br /&gt;&gt; chkconfig --level 345 iptables off&lt;br /&gt;&gt; chkconfig --list iptables&lt;br /&gt;&lt;br /&gt;- now you should see this:&lt;br /&gt;iptables        0:off   1:off   2:on    3:off   4:off   5:off   6:off&lt;br /&gt;&lt;br /&gt;Of course, for the current session, you still will have to call service iptables stop, but I guess you already know it.</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/1041948767337836618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/1041948767337836618' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1041948767337836618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1041948767337836618'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/05/poll-protocol-failure-in-circuit-setup.html' title='poll: protocol failure in circuit setup (Linux)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-1768846788338746874</id><published>2008-04-09T21:13:00.000-07:00</published><updated>2008-04-11T10:57:09.418-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="result"/><category scheme="http://www.blogger.com/atom/ns#" term="return"/><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><title type='text'>Returning error code from a script in Linux</title><content type='html'>Most people moving to Linux are getting surprised by the fact that a simple operation &quot;&lt;strong&gt;return 1&lt;/strong&gt;&quot; can cause an error:&lt;br /&gt;&lt;br /&gt;./a.sh: line 1: return: can only `return&#39; from a function or sourced script&lt;br /&gt;&lt;br /&gt;Not all Linuxes return this problem, however, it&#39;s enough anoying if you want to keep the script for all the platforms.&lt;br /&gt;&lt;br /&gt;There is a simple solution for this, though!&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# $1 - error code&lt;br /&gt;fun_return() {&lt;br /&gt;    return $1&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;fun_return 1&lt;br /&gt; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You can check this out by yourself. Write a sctipt with the above example, run it and check the value of $?</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/1768846788338746874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/1768846788338746874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1768846788338746874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1768846788338746874'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/04/returning-error-code-from-script-in.html' title='Returning error code from a script in Linux'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-1428702850669238677</id><published>2008-04-09T20:20:00.001-07:00</published><updated>2008-04-11T10:51:07.184-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="function"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><category scheme="http://www.blogger.com/atom/ns#" term="variable"/><title type='text'>UNIX/Linux shell and returning values from functions</title><content type='html'>Here is an interesting fact.&lt;br /&gt;&lt;br /&gt;Let&#39;s assume you want to write a function &lt;strong&gt;myfun_initialize()&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If the function is supposed to initialize some variables then &lt;strong&gt;DO NOT RETURN&lt;/strong&gt; result of this function through the `function caller` (well, I have just made up this name.)&lt;br /&gt;&lt;br /&gt;In other words...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;span style=&quot;color:#33cc00;&quot;&gt;right:&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;myfun_initialize parameters&lt;br /&gt;[ &quot;$var_initialize&quot; = &quot;ok&quot; ] {&lt;br /&gt;    echo &quot;Oops!&quot;&lt;br /&gt;    return&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc0000;&quot;&gt;&lt;strong&gt;&lt;u&gt;wrong:&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;[ &quot;`myfun_initialize parameters`&quot; = &quot;ok&quot; ] {&lt;br /&gt;    echo &quot;Oops!&quot;&lt;br /&gt;    return&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Why is it wrong? I wish I had a simple explanation, but if the &lt;strong&gt;myfun_initialize&lt;/strong&gt; function initializes some external variables you would like to use later on, then by calling &lt;strong&gt;&lt;span style=&quot;color:#cc0000;&quot;&gt;`myfun_initialize`&lt;/span&gt;&lt;/strong&gt; you will initialize temporary variables, and these outside of the call will be unchanged!&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Test it yourself:&lt;/u&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfzA5Ud6y812-uKQ0DT_ppzbJNJbl0YahB51FWQ-eMdhOHXqXrifqfSgjsy6t2X1sJworJ847Hrd0fJ1uQBkg25_mZDH39y1WaL1pCdfM7Ky5K-y0_mp13gOqCMJZLaR2I5NcjdrPnB2US/s1600-h/example.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5187456822815005746&quot; style=&quot;CURSOR: hand&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfzA5Ud6y812-uKQ0DT_ppzbJNJbl0YahB51FWQ-eMdhOHXqXrifqfSgjsy6t2X1sJworJ847Hrd0fJ1uQBkg25_mZDH39y1WaL1pCdfM7Ky5K-y0_mp13gOqCMJZLaR2I5NcjdrPnB2US/s200/example.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Here is the text&lt;/u&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;MYVAR=&quot;nothing&quot;&lt;br /&gt; &lt;br /&gt;# $1 - value&lt;br /&gt;myfun() {&lt;br /&gt;    MYVAR=&quot;$1&quot;&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;echo &quot;MYVAR before calling myfun is $MYVAR&quot;&lt;br /&gt;if [ &quot;`myfun something`&quot; = &quot;&quot; ]&lt;br /&gt; then&lt;br /&gt;    echo &quot;myfun returned an empty string&quot;&lt;br /&gt;    echo &quot;MYVAR after calling \`myfun something \` is $MYVAR&quot;&lt;br /&gt; else&lt;br /&gt;    echo &quot;myfun hasn&#39;t returned an empty string?!&quot;&lt;br /&gt;    echo &quot;MYVAR after calling \`myfun something\` is $MYVAR&quot;&lt;br /&gt; fi&lt;br /&gt; &lt;br /&gt;myfun something&lt;br /&gt;echo &quot;MYVAR after calling myfun something is $MYVAR&quot;&lt;br /&gt; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;So what is the solution?&lt;/span&gt;&lt;br /&gt;Use a variable to return the result.&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;myfunc() {&lt;br /&gt;    ....&lt;br /&gt;    var_myfunc=&quot;ok&quot;&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt;myfunc&lt;br /&gt;[ &quot;$myfunc&quot; = &quot;ok&quot; ] &amp;amp;&amp;amp; {&lt;br /&gt;    ...&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/1428702850669238677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/1428702850669238677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1428702850669238677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/1428702850669238677'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/04/unixlinux-shell-and-returning-values.html' title='UNIX/Linux shell and returning values from functions'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfzA5Ud6y812-uKQ0DT_ppzbJNJbl0YahB51FWQ-eMdhOHXqXrifqfSgjsy6t2X1sJworJ847Hrd0fJ1uQBkg25_mZDH39y1WaL1pCdfM7Ky5K-y0_mp13gOqCMJZLaR2I5NcjdrPnB2US/s72-c/example.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-812653388122713505.post-644437387046013137</id><published>2008-04-09T19:59:00.000-07:00</published><updated>2008-05-23T21:44:51.814-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HP-UX"/><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><title type='text'>HP-UX - group permissions issue</title><content type='html'>Let&#39;s assume that there is a guy user name &lt;strong&gt;paul&lt;/strong&gt; who&#39;s main group is developer.&lt;br /&gt;His home directory belongs to &lt;strong&gt;paul:developer&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Now, let&#39;s assume my main group is &lt;strong&gt;users&lt;/strong&gt;, and the &lt;strong&gt;developer&lt;/strong&gt; group is my secondary one.&lt;br /&gt;&lt;br /&gt;You would expect, probably, that I could do &lt;strong&gt;cd ~paul&lt;/strong&gt; if only paul&#39;s home directory had &lt;strong&gt;g+rx&lt;/strong&gt; attribute, right?&lt;br /&gt;&lt;br /&gt;Well, on HP-UX (at least) it does not have to be like that. I don&#39;t know if this is by default or not but what I have found out on our HP-UX machine is that there are two files in the &lt;strong&gt;/etc&lt;/strong&gt; dirtectory - &lt;strong&gt;group&lt;/strong&gt;, and &lt;strong&gt;logingroups&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;For sure you know the /etc/&lt;strong&gt;group&lt;/strong&gt; file!&lt;br /&gt;I bet you might not see the /etc/&lt;strong&gt;logingroups&lt;/strong&gt; file, though.&lt;br /&gt;&lt;br /&gt;Now, if you want to make HP-UX behaving like other machines, you can simply create a link:&lt;br /&gt;&lt;br /&gt;ln -s /etc/logingroups /etc/group&lt;br /&gt;&lt;br /&gt;After this change my user will be able to do &lt;strong&gt;cd ~paul&lt;/strong&gt;.</content><link rel='replies' type='application/atom+xml' href='http://greg-n-blog.blogspot.com/feeds/644437387046013137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/812653388122713505/644437387046013137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/644437387046013137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/812653388122713505/posts/default/644437387046013137'/><link rel='alternate' type='text/html' href='http://greg-n-blog.blogspot.com/2008/04/hp-ux.html' title='HP-UX - group permissions issue'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>