<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tech Debug &#187; apps</title>
	<atom:link href="http://techdebug.com/blog/category/apps/feed/" rel="self" type="application/rss+xml" />
	<link>http://techdebug.com</link>
	<description>Why talk when you can fly</description>
	<lastBuildDate>Thu, 26 Aug 2010 07:30:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Excel &#8211; Determining worksheet cell references</title>
		<link>http://techdebug.com/blog/2009/10/19/excel-determining-worksheet-cell-references/</link>
		<comments>http://techdebug.com/blog/2009/10/19/excel-determining-worksheet-cell-references/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 05:55:10 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[cell]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[formula]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[worksheet]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2009/10/19/excel-determining-worksheet-a-cell-references/</guid>
		<description><![CDATA[Worksheet names in Excel Cells If you are working in Excel, and you want to show the worksheet name in a Cell on that worksheet, you can use the CELL function to do so. By default the CELL function will return the current document name, if used with the filename info_type: =CELL(&#34;filename&#34;) This provides a [...]]]></description>
			<content:encoded><![CDATA[<h3>Worksheet names in Excel Cells</h3>
<p>If you are working in Excel, and you want to show the worksheet name in a Cell on that worksheet, you can use the <em>CELL</em> function to do so.<br />
By default the <em>CELL</em> function will return the current document name, if used with the filename info_type:</p>
<p><code>=CELL(&quot;filename&quot;)</code></p>
<p>This provides a full path to the spreadsheet, with the worksheet of the current Cell at the end, e.g:<br />
<pre>C:\folder\[myfile.xls]Sheet1</pre>
</p>
<p>You can easily get just the worksheet name by using the <em>FIND</em> and <em>MID</em> functions to do the hard work. You need to find the location of the last square bracket, and find achieves this as shown:<br />
<code>=FIND(&quot;]&quot;,CELL(&quot;filename&quot;))</code></p>
<p>This would return the position of the last bracket. In this case it is at position 22 of the text that <em>CELL(&#8220;filename&#8221;)</em> returns. The <em>MID</em> function can extract text starting at a location for <em>n</em> length, where <em>n</em> is an arbitrary number. So we would combine <em>MID</em>, <em>FIND</em> and <em>CELL</em> functions to return just the worksheet name like this:</p>
<p><code>=MID(CELL(&quot;filename&quot;),FIND(&quot;]&quot;,CELL(&quot;filename&quot;))+1,255)</code></p>
<p>The reason we add a +1 is because we want to start extracting the text one character AFTER the right square bracket, e.g. at the start of the Worksheet name. Our result is:<br />
<pre>Sheet1</pre>
</p>
<h3>Worksheet names from another Worksheet</h3>
<p>So far so good, and how is this any different than any other blog post or forum post on the net explaining this? So far it&#8217;s not, but here comes the fun part.</p>
<p>What if you have multiple Worksheets, and you do this:</p>
<ol>
<li>Have a cell with content, <strong>Sheet1!B2</strong></li>
<li><strong>Sheet1!B2</strong> displays the content of <strong>OtherSheet!H5</strong>, i.e.:<br />
		<pre>=OtherSheet!H5</pre>
	</li>
<li>You want <strong>Sheet1!B1</strong> to <em>display the worksheet name</em> where the <em>CONTENT</em> of <strong>Sheet1!B2</strong> comes from.</li>
</ol>
<p>You could try using the MID/FIND/CELL function combination to try this. In <strong>Sheet1!B1</strong> you would enter:</p>
<p><code>=MID(CELL(&quot;filename&quot;,B2),FIND(&quot;]&quot;,CELL(&quot;filename&quot;,B2))+1,255)</code></p>
<p>However this would yield the worksheet name of B2 itself, not the worksheet where you are taking your content from:<br />
	<pre>Sheet1</pre>
</p>
<p>Not what we wanted. Somehow you need to get the Value of the formula used <em>=OtherSheet!H5</em> and look up the worksheet name for <em>OtherSheet!H5</em></p>
<h3>The Solution</h3>
<p>To do this you ware going to need to do two things:</p>
<ol>
<li>Make a new function to display the formula, sans the equal sign</li>
<li>Make your <em>CELL</em> function use the result of your function to lookup the filename info_type</li>
</ol>
<p>We can use the Excel VB Editor to create a new function, and call it <em>GetLocation</em>:</p>
<p><pre><code>
Function GetLocation(Cell As Range) As String
&nbsp;&nbsp; GetLocation = Mid(Cell.Formula, 2)
End Function
</code></pre></p>
<p>But we can&#8217;t just use <em>GetLocation</em> to directly feed the <em>CELL</em> function. We need to use another handy function <em>INDIRECT</em>. This allows us to return the result of the <em>GetLocation</em> function as a Reference. This then allows the <em>CELL</em> function to evaluate the filename/Worksheet details for the destination cell in the other worksheet:</p>
<p><code>=MID(CELL(&quot;filename&quot;,INDIRECT(GetLocation(B2))),FIND(&quot;]&quot;,CELL(&quot;filename&quot;,INDIRECT(GetLocation(B2))))+1,256)</code></p>
<p>This now provides the Worksheet name of the cell that <strong>Sheet1!B1</strong> is using to get it&#8217;s content from which is <strong>OtherSheet!H5</strong>:<br />
	<pre>OtherSheet</pre>
</p>
<p>This is very handy when you need to show on a master worksheet which other worksheet your data is actually coming from. Windows Excel only, not Mac I&#8217;m afraid &#8211; until they bring back VB. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2009/10/19/excel-determining-worksheet-cell-references/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BOE XIR2 cmsdbsetup failure on Oracle10g</title>
		<link>http://techdebug.com/blog/2009/09/23/boe-xir2-cmsdbsetup-failure-on-oracle10g/</link>
		<comments>http://techdebug.com/blog/2009/09/23/boe-xir2-cmsdbsetup-failure-on-oracle10g/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 08:00:54 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[10g]]></category>
		<category><![CDATA[32bit]]></category>
		<category><![CDATA[boe]]></category>
		<category><![CDATA[business objects]]></category>
		<category><![CDATA[clntsh]]></category>
		<category><![CDATA[lib32]]></category>
		<category><![CDATA[libclntsh.so]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[solaris]]></category>

		<guid isPermaLink="false">http://techdebug.com/?p=569</guid>
		<description><![CDATA[If you use Unix, and need to migrate your Business objects CMS from one database to another database, you will probably use the cmsdbsetup.sh script. This script migrates and manages your database connection in a Unix environment using Business Objects Enterprise (BOE). In my case I am Using Solaris 9, and have Oracle 10g databases [...]]]></description>
			<content:encoded><![CDATA[<p>If you use Unix, and need to migrate your Business objects CMS from one database to another database, you will probably use the <em>cmsdbsetup.sh</em> script. This script migrates and manages your database connection in a Unix environment using Business Objects Enterprise (BOE).</p>
<p>In my case I am Using Solaris 9, and have Oracle 10g databases and client files for use by BOE.</p>
<p>When running the <em>cmsdbsetup.sh</em> script you get the following error pertaining to <strong>clntsh</strong>:<br />
<pre><pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Business Objects 

Current CMS Data Source: DBNAME 

err: Error: Failed to get cluster name. 
err: Error description: Unable to load clntsh 

select (Select a Data Source) 
reinitialize (Recreate the current Data Source) 
copy (Copy data from another Data Source) 
changecluster (Change current cluster name) 
selectaudit (Select an Auditing Data Source) 

[select(6)/reinitialize(5)/copy(4)/changecluster(3)/selectaudit(2)/back(1)/quit(0)] 
----------------------------------------------------------
</pre></pre></p>
<p>This error &#8220;<em>Unable to load clntsh</em>&#8221; refers to the <strong>libclntsh.so</strong> library used by the Oracle client. Since BOE runs as 32bit, the 32bit Oracle client libraries should be accessible by the user running BOE.</p>
<p>If you are running a 64 bit Unix and a 64bit Oracle install check that the environment for the user running BOE (user that will run the CMS) has the 32bit libraries in the path:<br />
<code>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/lib32</code></p>
<p>Then check that either the user is a member of the Oracle dba Unix group or everyone has permissions to access the 32bit libraries under Oracle 10g:</p>
<p><pre><code>su - oracle
chmod o+rx $ORACLE_HOME/lib32/*</code></pre></p>
<p>Feel free to leave any comments if you need help with this.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2009/09/23/boe-xir2-cmsdbsetup-failure-on-oracle10g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tweet WordPress plugin v1.2 released</title>
		<link>http://techdebug.com/blog/2009/07/21/tweet-wordpress-plugin-v1-2-released/</link>
		<comments>http://techdebug.com/blog/2009/07/21/tweet-wordpress-plugin-v1-2-released/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 07:56:05 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[tweet]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[v1.2]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://techdebug.com/?p=511</guid>
		<description><![CDATA[I&#8217;ve uploaded the initial public release, v1.2, of my simple Tweet plugin to the WordPress Plugin Repository. You can install the plugin by: downloading it from http://wordpress.org/extend/plugins/tweet/ ; or On a recent version of wordpress, v2.7 or above, follow these steps: Login to your wordpress dashboard Select the Plugins/Add New menu item as shown Search [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: right; margin-bottom: 10px; margin-left: 10px" src='http://techdebug.com/wp-content/uploads/2007/10/twitter-logo.png' alt='Twitter Logo' /></p>
<p>I&#8217;ve uploaded the initial public release, v1.2, of my simple <a href="http://techdebug.com/wordpress-plugins/tweet/">Tweet</a> plugin to the WordPress Plugin Repository. You can install the plugin by:</p>
<ul>
<li>downloading it from <a href="http://wordpress.org/extend/plugins/tweet/">http://wordpress.org/extend/plugins/tweet/</a> ; or</li>
<li>On a recent version of wordpress, v2.7 or above, follow these steps:
<ol>
<li>Login to your wordpress dashboard</li>
<li>Select the <em>Plugins/Add New</em> menu item as shown<br />
<img src="http://techdebug.com/wp-content/uploads/2009/07/tweet1.jpg" alt="Step 1 installing the Tweet plugin" title="Step 1" width="145" height="74" class="size-full wp-image-517" /></li>
<li>Search for Author <em>lantrix</em> as shown<br />
<img src="http://techdebug.com/wp-content/uploads/2009/07/tweet2.jpg" alt="Step 2 for installing Tweet plugin" title="Step 2" width="352" height="88" class="size-full wp-image-516" /></li>
<li>Click on the <em>Install</em> link for the Tweet plugin</li>
</ol>
</li>
</ul>
<p>If you need any assistance, you can leave a comment over on the <a href="http://techdebug.com/wordpress-plugins/tweet/">dedicated page for the Tweet WordPress plugin for Twitter</a>.</p>
<p>If you like the plugin, I&#8217;m happy to accept <a href="http://techdebug.com/donate/">donations</a> if that&#8217;s your thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2009/07/21/tweet-wordpress-plugin-v1-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Switching to multi-line mode using Textmate Regex</title>
		<link>http://techdebug.com/blog/2008/12/02/switching-to-multi-line-mode-using-textmate-regex/</link>
		<comments>http://techdebug.com/blog/2008/12/02/switching-to-multi-line-mode-using-textmate-regex/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 12:57:53 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[multiline]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2008/12/02/switching-to-multi-line-mode-using-textmate-regex/</guid>
		<description><![CDATA[So you have a pattern you want to match across multiple lines, and you have a regular expression that matches it. You will probably be used to doing this in perl like this: /some.+?stuff/s or using regex in ruby like this: /some.+?stuff/m However you have just started to get used to Textmate as an editor [...]]]></description>
			<content:encoded><![CDATA[<p>So you have a pattern you want to match across multiple lines, and you have a regular expression that matches it.<br />
You will probably be used to doing this in perl like this:<br />
<code>/some.+?stuff/s</code><br />
or using <a href="http://www.regular-expressions.info/ruby.html" title="Ruby Regexp Class - Regular Expressions in Ruby">regex in ruby</a> like this:<br />
<code>/some.+?stuff/m</code><br />
However you have just started to get used to Textmate as an editor and you see it supports regex matching. Why though does it not use /s or /m for multi-line dot matching? The reason is that Textmate uses the Oniguruma regular expression library. Oniguruma requires switching to multi-line mode by using an extended group (?m:) so the dot matches the new line as well. So our pattern would be:<br />
<code>(?m:some.+?stuff)</code><br />
Essentially doing this turns multi-line on for the sub-expression, being <em>some.+?stuff</em><br />
Make sense? I thought not. Read <a href="http://manual.macromates.com/en/regular_expressions" title="TextMate Manual Â» Regular Expressions">on about Textmate Regex</a> for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2008/12/02/switching-to-multi-line-mode-using-textmate-regex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress iPhone Application</title>
		<link>http://techdebug.com/blog/2008/07/23/wordpress-iphone-application/</link>
		<comments>http://techdebug.com/blog/2008/07/23/wordpress-iphone-application/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 14:35:02 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2008/07/23/wordpress-iphone-application/</guid>
		<description><![CDATA[A quick one today, but worthy of note is the upcoming now out WordPress iPhone Application. This means an update of techdebug.com is on the cards&#8230; You can read about it on the dedicated iPhone page. via TUAW]]></description>
			<content:encoded><![CDATA[<p>A quick one today, but worthy of note is the <del datetime="2008-07-22T13:49:13+00:00">upcoming</del> now out WordPress iPhone Application.<br />
This means an update of techdebug.com is on the cards&#8230;</p>
<p>You can read about it on the dedicated <a href="http://iphone.wordpress.org/">iPhone page</a>.</p>
<p>via <a href="http://www.tuaw.com/2008/07/22/first-look-wordpress/">TUAW</a></p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2008/07/23/wordpress-iphone-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Textmate Posting Hiccup</title>
		<link>http://techdebug.com/blog/2008/06/26/textmate-posting-hiccup/</link>
		<comments>http://techdebug.com/blog/2008/06/26/textmate-posting-hiccup/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 10:06:43 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2008/06/26/textmate-posting-hiccup/</guid>
		<description><![CDATA[Forgive my triple Post Hiccup. When Textmate posted my blog posts, I got errors. Thinking the post had not completed, I retried until I figured out the problem. If you use WordPress V2.3 and post with Textmate, then don&#8217;t try to add a new category when posting an article. You get this problem: &#160;&#160;Fatal error: [...]]]></description>
			<content:encoded><![CDATA[<p>Forgive my triple Post Hiccup. When Textmate posted my blog posts, I got errors.<br />
Thinking the post had not completed, I retried until I figured out the problem.<br />
If you use WordPress V2.3 and post with Textmate, then don&#8217;t try to add a new category when posting an article. You get this problem:<br />
<pre><pre>
&nbsp;&nbsp;Fatal error: Cannot use object of type WP_Error as array in wp-includes/taxonomy.php on line 1010
</pre></pre><br />
Looks like <a href="http://wordpress.org/support/topic/138364" title="WordPress &#8250; Support &raquo; Help WP_Error when saving pages">I am not the only one</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2008/06/26/textmate-posting-hiccup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vim Split tips</title>
		<link>http://techdebug.com/blog/2008/05/22/vim-split-tips/</link>
		<comments>http://techdebug.com/blog/2008/05/22/vim-split-tips/#comments</comments>
		<pubDate>Wed, 21 May 2008 23:16:30 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[split]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2008/05/22/vim-split-tips/</guid>
		<description><![CDATA[I use vim a lot of the time, mostly with splits and diffs, so the following key mappings and functions really helped me with managing the split windows. Maybe they will help you too. (Thanks to the Vim tips wiki for these). If you use vertical splits, this will help move left and right across [...]]]></description>
			<content:encoded><![CDATA[<p>I use vim a lot of the time, mostly with splits and diffs, so the following key mappings and functions really helped me with managing the split windows. Maybe they will help you too. (Thanks to the <a href="http://vim.wikia.com/wiki/Main_Page">Vim tips wiki</a> for these).</p>
<ul>
<li>If you use vertical splits, this will help move left and right across the split. Put in your ~/.vimrc<br />
<pre><pre>
&quot; Map multi window keys
set wmw=0
&quot; CTRL-H move to left window
nmap &lt;c -h&gt; &lt;/c&gt;&lt;c -w&gt;h&lt;/c&gt;&lt;c -w&gt;&lt;bar&gt;
&quot; CTRL-L move to right window
nmap &lt;c -l&gt; &lt;/c&gt;&lt;c -w&gt;l&lt;/c&gt;&lt;c -w&gt;&lt;bar&gt;
&lt;/bar&gt;&lt;/c&gt;&lt;/bar&gt;&lt;/c&gt;</pre></pre></li>
<li>When scrolling up and down a window, you can use zz to jump the current line to the middle of the window. If you want this on always ala <strong>Scroll locking</strong>, then you can use this function. It is a toggle option. use \zz to toggle it. Put in your ~/.vimrc<br />
<pre><pre>
&quot; Map \zz to lock scroll to middle of window
map &lt;leader&gt;zz :let &amp;scrolloff=999-&amp;scrolloff&lt;cr&gt;
&lt;/cr&gt;&lt;/leader&gt;</pre></pre></li>
<li>In a window split (of any sort) if you want to maximise to the current window, this will do it for you. When you press CTRL-W then o it will maximise the current view, then when pressed again will return your split arrangement! Put in your ~/.vimrc<br />
<pre><pre>
&quot; Max/unmax splits
nnoremap &lt;c -W&gt;O :call MaximizeToggle ()&lt;cr&gt;
nnoremap &lt;c -W&gt;o :call MaximizeToggle ()&lt;cr&gt;
nnoremap &lt;c -W&gt;&lt;/c&gt;&lt;c -O&gt; :call MaximizeToggle ()&lt;cr&gt;

function! MaximizeToggle()
&nbsp;&nbsp;if exists(&quot;s:maximize_session&quot;)
&nbsp;&nbsp;&nbsp;&nbsp;exec &quot;source &quot; . s:maximize_session
&nbsp;&nbsp;&nbsp;&nbsp;call delete(s:maximize_session)
&nbsp;&nbsp;&nbsp;&nbsp;unlet s:maximize_session
&nbsp;&nbsp;&nbsp;&nbsp;let &amp;hidden=s:maximize_hidden_save
&nbsp;&nbsp;&nbsp;&nbsp;unlet s:maximize_hidden_save
&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;let s:maximize_hidden_save = &amp;hidden
&nbsp;&nbsp;&nbsp;&nbsp;let s:maximize_session = tempname()
&nbsp;&nbsp;&nbsp;&nbsp;set hidden
&nbsp;&nbsp;&nbsp;&nbsp;exec &quot;mksession! &quot; . s:maximize_session
&nbsp;&nbsp;&nbsp;&nbsp;only
&nbsp;&nbsp;endif
endfunction
&lt;/cr&gt;&lt;/c&gt;&lt;/cr&gt;&lt;/c&gt;&lt;/cr&gt;&lt;/c&gt;</pre></pre></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2008/05/22/vim-split-tips/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>eReader Pro now free for Palm</title>
		<link>http://techdebug.com/blog/2008/03/29/ereader-pro-now-free-for-palm/</link>
		<comments>http://techdebug.com/blog/2008/03/29/ereader-pro-now-free-for-palm/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 04:55:53 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[palm]]></category>
		<category><![CDATA[device]]></category>
		<category><![CDATA[ereader]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2008/03/29/ereader-pro-now-free-for-palm/</guid>
		<description><![CDATA[I use eReader on my Palm, but only for free documents and not often enough to warrant paying for it. Now that is no longer required. As I noticed at the downloadsquad, eReader Pro for Palm and Windows mobile devices is now being offered for free. If you would like your own copy for Palm [...]]]></description>
			<content:encoded><![CDATA[<p>I use eReader on my Palm, but only for free documents and not often enough to warrant paying for it.<br />
<img style="float: left; margin-right: 10px; margin-bottom: 10px; margin-top: 10px; " src='http://www.ereader.com/ereader/software/graphics/medium_pro_palm.jpg' alt='eReader Pro' /> Now that is no longer required. As I noticed at the <a href="http://www.downloadsquad.com/2008/02/18/ereader-pro-for-palm-and-windows-mobile-is-now-free/">downloadsquad</a>, eReader Pro for Palm and Windows mobile devices is now being offered for free.</p>
<p>If you would like your own copy for Palm (or windows mobile) you can <a href="http://www.ereader.com/ereader/software/browse.htm">download it from the ereader website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2008/03/29/ereader-pro-now-free-for-palm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacHeist &#8211; Speed Download 5 upgrade now available for free</title>
		<link>http://techdebug.com/blog/2008/03/19/macheist-speed-download-5-upgrade-now-available-for-free/</link>
		<comments>http://techdebug.com/blog/2008/03/19/macheist-speed-download-5-upgrade-now-available-for-free/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 04:30:24 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macheist]]></category>
		<category><![CDATA[speed download]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[yazsoft]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2008/03/19/macheist-speed-download-5-upgrade-now-available-for-free/</guid>
		<description><![CDATA[I received and email from the MacHeist directorate today. The controversy has been solved by YazSoft offering a free upgrade to Speed Download 5 for MacHeist customers, but only for a very limited time &#8211; March 13 2008 until March 27 2008. It is nice that I got the email, albeit 5 days after the [...]]]></description>
			<content:encoded><![CDATA[<p>I received and email from the MacHeist directorate today. The <a href="http://www.tuaw.com/2008/02/24/the-speed-download-macheist-saga/">controversy</a> has been solved by YazSoft offering a free upgrade to Speed Download 5 for MacHeist customers, <em>but only for a very limited time</em> &#8211; March 13 2008 until March 27 2008.<br />
It is nice that I got the email, albeit 5 days after the offer was extended.</p>
<p>This list of changes that come with SD5 are <a href="http://yazsoft.com/content/history.html#v500">available online</a>.</p>
<p>So if you purchased Speed Download 4 with MacHeist II, and choose to upgrade, then <a href="http://yazsoft.com/content/macheist.html">proceed to yazsoft&#8217;s website in a quick and orderly fashion</a> to get the upgrade offer.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2008/03/19/macheist-speed-download-5-upgrade-now-available-for-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Newsfire RSS free for everyone</title>
		<link>http://techdebug.com/blog/2008/03/12/newsfire-rss-free-for-everyone/</link>
		<comments>http://techdebug.com/blog/2008/03/12/newsfire-rss-free-for-everyone/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 11:03:32 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[newsfire]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2008/03/12/newsfire-rss-free-for-everyone/</guid>
		<description><![CDATA[David Watanabe announced the most recent upgrade to Newsfire RSS as now free for all users. In David&#8217;s own words, he explains what the buzz about news aggregation is, and why Newsfire is a must for ALL mac users: For those new to this, NewsFire is a news reader for blogs, news sites, and anything [...]]]></description>
			<content:encoded><![CDATA[<p>David Watanabe announced the most recent upgrade to Newsfire RSS as now <a href="http://www.newsfirex.com/blog/?p=201"><em>free for all users</em></a>. In David&#8217;s own words, he explains what the buzz about news aggregation is, and why Newsfire is a must for ALL mac users:</p>
<blockquote><p>For those new to this, NewsFire is a news reader for blogs, news sites, and anything else that publishes an â€˜RSSâ€™ syndication feed. It watches for news so you donâ€™t have to. When a new story is published, NewsFire brings it to your attention with some super-slick animation. Unlike other readers, NewsFire is designed with a deliberately minimal interface. The news is what matters and it takes center stage.</p></blockquote>
<p>Download this <em>must have</em> mac application <a href="http://www.newsfirex.com/">from his web site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2008/03/12/newsfire-rss-free-for-everyone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Macheist &#8211; 14 applications for $49</title>
		<link>http://techdebug.com/blog/2008/01/21/macheist-14-applications-for-49/</link>
		<comments>http://techdebug.com/blog/2008/01/21/macheist-14-applications-for-49/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 22:15:04 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[charity]]></category>
		<category><![CDATA[cssedit]]></category>
		<category><![CDATA[macheist]]></category>
		<category><![CDATA[pixelmator]]></category>
		<category><![CDATA[vectordesigner]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2008/01/21/macheist-14-applications-for-49/</guid>
		<description><![CDATA[With MacHeist.com still selling their bundle for another 3 days, they have added a new Mac application to the bundle. VectorDesigner brings the total number of applications in the bundle up to 14, with the recent addition of the Freeverse games. If you get referrals from your friends there are another two up for grabs [...]]]></description>
			<content:encoded><![CDATA[<p>With MacHeist.com still selling their bundle for another 3 days, they have added a new Mac application to the bundle. <a href="http://www.tweakersoft.com/vectordesigner">VectorDesigner</a> brings the total number of applications in the bundle up to 14, with the recent addition of the Freeverse games. <img src="http://mhstatic.com/img/bundle/icons/vectordesigner.png" style="float: right; margin-top: 5px; margin-bottom: 5px; margin-left: 10px" alt="vectordesigner" /> If you get referrals from your friends there are another two up for grabs as well. Here is what <a href="http://www.macheist.com/">MacHeist have to say</a> about <a href="http://www.tweakersoft.com/vectordesigner">VectorDesigner</a>:</p>
<blockquote><p>With the latest version of Adobe Illustrator costing $600, it&#8217;s no surprise that the Mac community has been clamoring for a powerful, fast, and easy to use program for creating vector art that doesn&#8217;t break the bank.<br />
Say hello to VectorDesigner. Though relatively new, VectorDesigner features an impressive feature list, including Bezier lines, vector shapes, iSight, QuickLook, and scanner integration, and a conversion tool for turning non-vector images into vector.</p></blockquote>
<p>Valued at $69.95, MacHeist.com have set <a href="http://www.tweakersoft.com/vectordesigner">VectorDesigner</a> to be unlocked for all customers once $300,000 has been raised for charity.</p>
<p>This bundle is very graphics and web design orientated, and the budding freelance designers out there can always make use of PixelMator, CSSEdit and now <a href="http://www.tweakersoft.com/vectordesigner">VectorDesigner</a> if it becomes unlocked. <a href="https://www.macheist.com/buy/invite/19408">You can buy the bundle here at macheist.com</a> &#8211; I have purchased 3 of them &#8211; and 25% of your purchase will go to your chosen charity.</p>
<p style="text-align: center; margin-bottom: 5px; margin-top: 5px"><a href="https://www.macheist.com/buy/invite/19408"><img src="http://mhstatic.com/img/forum/forum_logo.png"style="border-style: none" alt="MacHeist II" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2008/01/21/macheist-14-applications-for-49/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Macheist &#8211; In the company of good Applications</title>
		<link>http://techdebug.com/blog/2008/01/15/macheist-in-the-company-of-good-applications/</link>
		<comments>http://techdebug.com/blog/2008/01/15/macheist-in-the-company-of-good-applications/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 22:00:24 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[appzapper]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[charity]]></category>
		<category><![CDATA[cssedit]]></category>
		<category><![CDATA[macheist]]></category>
		<category><![CDATA[pixelmator]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2008/01/15/macheist-in-the-company-of-good-applications/</guid>
		<description><![CDATA[This is one for my Mac readers; MS Windows lovers please have your eyes glaze over &#8211; Now. Following the lead of other bloggers, I thought it would be pertinent to let you know that MacHeist II has completed all their heists, and the bundle sale is well underway. This morning the last of the [...]]]></description>
			<content:encoded><![CDATA[<p>This is one for my Mac readers; MS Windows lovers please have your eyes glaze over &#8211; Now.
</p>
<p>Following the <a href="http://beezhouse.com/2008/01/13/nothin-much-to-say/">lead</a> of other bloggers, I thought it would be pertinent to let you know that <a href="https://www.macheist.com/buy/invite/19408">MacHeist II</a> has completed all their heists, and the bundle sale is well underway. <img src="http://mhstatic.com/img/bundle/screens/walnut/2.small.jpg" style="float: left; margin-top: 5px; margin-bottom: 5px; margin-right: 10px" alt="Pixelmator" /> This morning the last of the <del datetime="2008-01-15T00:36:04+00:00">10</del> <del datetime="2008-01-18T00:45:24+00:00">11</del> 12 applications, Pixelmator, was unlocked. The developers say &#8220;If your image editing experience so far has been defined by PhotoShop, we guarantee you will be blown away by Pixelmator&#8217;s speed and beautiful UI&#8221;. I&#8217;m a casual user of Photoshop on Windows, and would like to find a decent alternative for the Mac for &#8220;casual&#8221; image editing for web design. The layering capabilities of Pixelmator appears to put it above and beyond other similar priced applications. This alone makes the bundle worth it, as the bundle is USD$10 than the retail price of Pixelmator.
</p>
<p><a href="https://www.macheist.com/buy/invite/19408">The bundle</a> now features other great applications like <a href="http://www.macrabbit.com/cssedit/">CSSEdit</a>, <a href="http://yazsoft.com/">Speed Downloa</a>d and <a href="http://appzapper.com/">AppZapper</a>. If you have ever tried the demo of these applications, but not yet purchased them, you can get the whole lot for the price of what you would have paid for one of them.</p>
<table width=100% style="margin-bottom: 5px; margin-top: 5px">
<tr>
<td align=center><a href="http://yazsoft.com/"><img style="border-style: none" src="http://mhstatic.com/img/bundle/icons/slomo.png" alt="Speed Download" /></a></td>
<td align=center><a href="http://www.macrabbit.com/cssedit/"><img style="border-style: none" src="http://mhstatic.com/img/bundle/icons/codingart.png" alt="CSSEdit" /></a></td>
<td align=center><a href="http://appzapper.com/"><img style="border-style: none" src="http://mhstatic.com/img/bundle/icons/shootingblanks.png" alt="AppZapper" /></a></td>
</tr>
</table>
<p>With the current USD to AUD exchange rate, it will cost us Aussies about $55 or less to purchase the licences, and 11 applications later your Mac will have many more uses which you never knew about.</p>
<p>So after considering that, and with only 9 days remaining, <a href="https://www.macheist.com/buy/invite/19408">I invite you to buy the bundle</a> &#8211; just as I will be doing &#8211; and 25% of your purchase will go to your chosen charity.</p>
<p style="text-align: center; margin-bottom: 5px; margin-top: 5px"><a href="https://www.macheist.com/buy/invite/19408"><img src="http://mhstatic.com/img/forum/forum_logo.png"style="border-style: none" alt="MacHeist II" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2008/01/15/macheist-in-the-company-of-good-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source software Promotion</title>
		<link>http://techdebug.com/blog/2007/11/21/open-source-software-promotion/</link>
		<comments>http://techdebug.com/blog/2007/11/21/open-source-software-promotion/#comments</comments>
		<pubDate>Wed, 21 Nov 2007 02:40:23 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[closed source]]></category>
		<category><![CDATA[cnet]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[slashdot]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2007/11/21/open-source-software-promotion/</guid>
		<description><![CDATA[Some friends and I were discussing the benefits of using Open Source software which is low cost or free (as in beer) versus the equivalent Commercial and close source products. Examples of comparison were Photoshop vs. Gimp Apache HTTPD vs. IIS Windows vs. Open Solaris/OpenBSD/Linux etc. It seems like we are not the only ones [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://90kts.com/blog/">Some</a> <a href="http://beezhouse.com">friends</a> and I were discussing the benefits of using Open Source software which is low cost or free (<a href="http://en.wikipedia.org/wiki/Gratis_versus_Libre#Free_as_in_free_beer_versus_free_as_in_free_speech" title="Gratis versus Libre - Wikipedia, the free encyclopedia">as in beer</a>) versus the equivalent Commercial and close source products. Examples of comparison were</p>
<ul>
<li>Photoshop vs. Gimp</li>
<li>Apache HTTPD vs. IIS</li>
<li>Windows vs. Open Solaris/OpenBSD/Linux etc.</li>
</ul>
<p>It seems like we are not the only ones thinking about this topic. Slashdot today <a href="http://linux.slashdot.org/article.pl?sid=07/11/20/1424242" title="Slashdot | CNet Promotes Essential Open-Source Software to Joe Public">posted</a> that CNET has a feature promoting Open Source application alternatives for the average home user, if only to reduce software costs to the end user. It does not include Operating Systems in comparison, so this article appears to be aimed at Windows users.</p>
<p><a href="http://crave.cnet.co.uk/software/0,39029471,49294100,00.htm" title="Open-source software rated: Ten alternatives you need - Crave at CNET.co.uk">Read the list of ten Open Source applications CNET believe you need</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2007/11/21/open-source-software-promotion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Move WordPress Comments</title>
		<link>http://techdebug.com/blog/2007/11/15/move-wordpress-comments/</link>
		<comments>http://techdebug.com/blog/2007/11/15/move-wordpress-comments/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 10:41:17 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2007/11/15/move-wordpress-comments/</guid>
		<description><![CDATA[Those of you who read this, and also use wordpress for your own blogs, will appreciate this one. WordPress has no native way of moving comments that are incorrectly posted under another post. You can have a hack at the database yourself, or you can use a plugin that recently (in the last few months) [...]]]></description>
			<content:encoded><![CDATA[<p>Those of you who read this, and also use wordpress for your own blogs, will appreciate this one.</p>
<p>WordPress has no native way of moving comments that are incorrectly posted under another post. You can have a hack at the database yourself, or you can use a plugin that recently (in the last few months) went to Version 1.</p>
<p>I came across it while trolling google for a decent solution to a mis posted comment.<br />
It is as simple as this to install (I have my own server, so I have shell access, YMMV):<br />
<pre><code>
livewire:/tmp# cd /tmp/
livewire:/tmp# unzip move_comments.zip
livewire:/tmp# mv move_comments /var/www/htdocs/wp-content/plugins/
</code></pre><br />
Then activate the plugin in your wordpress plugins admin page. You then gain access to quickly move any comment to any post shown:<br />
<img src='http://techdebug.com/wp-content/uploads/2007/11/movecomments.png' alt='Move Comment' />
</p>
<p><strong>You can download it from the <a href="http://www.dountsis.com/projects/move-comments/">authors own blog</a></strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2007/11/15/move-wordpress-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An AppleScript to sync creation and modification dates</title>
		<link>http://techdebug.com/blog/2007/11/12/an-applescript-to-sync-creation-and-modification-dates/</link>
		<comments>http://techdebug.com/blog/2007/11/12/an-applescript-to-sync-creation-and-modification-dates/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 13:39:16 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[macosxhints]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2007/11/12/an-applescript-to-sync-creation-and-modification-dates/</guid>
		<description><![CDATA[After I read this macosxhints.com post, I decided to have a go at something slightly different. The orginal hint showed how to set up an AppleScript droplet to modify the creation date of a file. But what if you want to sync the modified date and Creation dates instead? This script has been created to [...]]]></description>
			<content:encoded><![CDATA[<p>After I read <a href="http://www.macosxhints.com/article.php?story=20060703160750583">this macosxhints.com post</a>, I decided to have a go at something slightly different.</p>
<p>The orginal hint showed how to set up an AppleScript droplet to modify the creation date of a file. But what if you want to sync the modified date and Creation dates instead? This script has been created to do just that. It has evolved from one Daniel A. Shockley <a href="http://www.macosxhints.com/comment.php?mode=view&#038;cid=76919">provided in a macosxhints comment</a> to the previous hint, and has been extended to fit this purpose.</p>
<p>To set your files modified date to be the same as the creation date, use the AppleScript as a droplet application. Copy and paste the text into a new script in Script Editor, and then save it as an application. Run the application to bring up a requester, or drop your files (not folders) on the application directly.</p>
<p><strong><a href='http://techdebug.com/wp-content/uploads/2007/11/setmodifydate.scpt' title='setmodifydate.scpt'>Download the Applescript</a> (Note: not tested on Leopard/10.5.x)</strong></p>
<p><strong>Note:</strong> a reader of my post <a href="http://www.macosxhints.com/comment.php?mode=view&#038;cid=90120">suggested a simpler date change routine</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2007/11/12/an-applescript-to-sync-creation-and-modification-dates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laptop HDD failure</title>
		<link>http://techdebug.com/blog/2007/11/04/laptop-hdd-failure/</link>
		<comments>http://techdebug.com/blog/2007/11/04/laptop-hdd-failure/#comments</comments>
		<pubDate>Sun, 04 Nov 2007 06:45:44 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[os]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[carbon copy cloner]]></category>
		<category><![CDATA[data recovery]]></category>
		<category><![CDATA[data rescue II]]></category>
		<category><![CDATA[failure]]></category>
		<category><![CDATA[hdd]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2007/11/04/laptop-hdd-failure/</guid>
		<description><![CDATA[Last Friday at work my Mac (OS X 10.4) laptop HDD died. After the purchase of an extra external HDD and some custom recovery software, Data Rescue II, I tried to recover as much as I could. The bad news is the Hard drive had not just gotten corrupted, but failed. After an attempt to [...]]]></description>
			<content:encoded><![CDATA[<p style="float: right; margin-bottom: 10px; margin-left: 10px"><img src='http://techdebug.com/wp-content/uploads/2007/11/drescue.jpg' alt='Data Rescue II' /></p>
<p>Last Friday at work my Mac (OS X 10.4) laptop HDD died. After the purchase of an extra external HDD and some custom recovery software, <a href="http://www.prosofteng.com/products/data_rescue.php">Data Rescue II</a>, I tried to recover as much as I could. The bad news is the Hard drive had not just gotten corrupted, but failed. After an attempt to clone it to a second drive for analysis, and during my recovery attempt it developed the click of death. Now it no longer appears in the Hardware list on Data Rescue.</p>
<p>However, I was lucky on two counts:</p>
<ul>
<li>I sync my entire iTunes library music+photos to my ipod <em>WITH</em> the full resolution photo option enabled</li>
<li>I recently started using <a href="http://www.bombich.com">Carbon Copy cloner</a> to sync to an external Firewire drive</li>
</ul>
<p style="float: left; margin-bottom: 10px; margin-right: 10px"><img src='http://techdebug.com/wp-content/uploads/2007/11/ccc.gif' alt='CCC' /></p>
<p>The external HDD was bootable and I got my system back online with it, albeit 4 weeks old. Carbon Copy Cloner had cloned all the data, and made the drive bootable as requested. <strong>Note: using a firewire HDD was required to make it bootable</strong>. I&#8217;m not sure if this is still valid with newer intel Macs.</p>
<p>The iTunes sync alone saved my music purchases and iPhotos from the last 4 weeks. I will be sure to commence a more thorough backup regime, and I will be using my 2 HDD&#8217;s now as Primary and Secondary backups &#8211; one being offsite (at work). Its not worth the hassle of having anything less.</p>
<p>Are you lucky enought to have upgraded to OSX 10.5 already? You might be thinking you could use <a href="http://www.apple.com/macosx/features/timemachine.html">Time Machine</a>, but it wont produce an instantly usable bootable backup in the case of complete HDD failure. I think Time Machine will complement any use of CCC.</p>
<p>I did lose 4 weeks of Mail, Documents, and a new CVS repository I setup &#8211; but this is small compared to what could have been lost.</p>
<p>The lesson learnt is that anyone with a mac should buy an external firewire hard drive of the same size or greater than their &#8220;Macintosh HD&#8221;; <a href="http://www.bombich.com/software/ccc.html">Clone it with CCC</a>; and reclone it regularly (synchronise option). This will prevent the heartache of loosing all your photos, music and data in this electronic world.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2007/11/04/laptop-hdd-failure/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>chpasswd in an OpenBSD apache chroot jail</title>
		<link>http://techdebug.com/blog/2007/10/19/chpasswd-in-an-openbsd-apache-chroot-jail/</link>
		<comments>http://techdebug.com/blog/2007/10/19/chpasswd-in-an-openbsd-apache-chroot-jail/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 00:37:48 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[openbsd]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2007/10/19/chpasswd-in-an-openbsd-apache-chroot-jail/</guid>
		<description><![CDATA[I&#8217;ve recently re-installed OpenBSD and had to set-up my squid intranet password changing tool again. The app I use is chpasswd Version 2.2.3. I had some trouble with getting it working in the default apache chroot jail, and found very little information out there on this app in a chroot jail. Here are my notes [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently re-installed OpenBSD and had to set-up my squid intranet password changing tool again. The app I use is <a href="http://sarg.sourceforge.net/chpasswd.php" title="chpasswd">chpasswd</a> Version 2.2.3.</p>
<p>I had some trouble with getting it working in the default apache chroot jail, and found very little information out there on this app in a chroot jail. Here are my notes I recorded and and steps I took. Hope it helps someone else, but <a href="http://en.wikipedia.org/wiki/Your_mileage_may_vary" title="Your mileage may vary - Wikipedia, the free encyclopedia">YMMV</a>:</p>
<p>Download chpasswd to /tmp<br />
<pre><code>
&nbsp;&nbsp;cd /tmp&lt;br /&gt;
&nbsp;&nbsp;tar -zxvf chpasswd-2.2.3.tar.gz&lt;br /&gt;
&nbsp;&nbsp;cd chpasswd-2.2.3&lt;br /&gt;
&nbsp;&nbsp;./configure --enable-cgidir=/var/www/cgi-bin/ --prefix=/etc&lt;br /&gt;
&nbsp;&nbsp;make &amp;&amp;&nbsp;&nbsp;make install&lt;br /&gt;
&nbsp;&nbsp;make clean&lt;br /&gt;
</code></pre><br />
Setup apache for CGI running in the chroot jail<br />
<pre><code>
&nbsp;&nbsp;mkdir /var/www/etc&lt;br /&gt;
&nbsp;&nbsp;mkdir /var/www/tmp&lt;br /&gt;
&nbsp;&nbsp;mkdir -p /var/www/var/tmp&lt;br /&gt;
&nbsp;&nbsp;chmod 777 /var/www/tmp&lt;br /&gt;
&nbsp;&nbsp;chmod 777 /var/www/var/tmp&lt;br /&gt;
&nbsp;&nbsp;mv /etc/chpasswd* /var/www/etc/&lt;br /&gt;
</code></pre><br />
Check which libs are compiled against chpasswd<br />
<pre><code>
&nbsp;&nbsp;ldd /var/www/cgi-bin/chpasswd.cgi&lt;br /&gt;
</code></pre><br />
Output should be similar to the following:<br />
<pre><pre>
/var/www/cgi-bin/chpasswd.cgi:
&nbsp;&nbsp;Start&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type Ref Name
&nbsp;&nbsp;00000000 00000000 exe&nbsp;&nbsp; 1&nbsp;&nbsp;/var/www/cgi-bin/chpasswd.cgi
&nbsp;&nbsp;03d1e000 23d4f000 rlib&nbsp;&nbsp;1&nbsp;&nbsp;/usr/lib/libc.so.38.2
&nbsp;&nbsp;09e55000 09e55000 rtld&nbsp;&nbsp;1&nbsp;&nbsp;/usr/libexec/ld.so
</pre></pre><br />
Copy the libs that chpasswd.cgi uses, shown from the ldd output, to the jail<br />
<pre><code>
&nbsp;&nbsp;mkdir -p /var/www/usr/lib&lt;br /&gt;
&nbsp;&nbsp;mkdir -p /var/www/usr/libexec&lt;br /&gt;
&nbsp;&nbsp;cp /usr/lib/libc.so.38.2 /var/www/usr/lib/&lt;br /&gt;
&nbsp;&nbsp;cp /usr/libexec/ld.so /var/www/usr/libexec/&lt;br /&gt;
</code></pre><br />
Update chpasswd configuration:<br />
<pre><code>
&nbsp;&nbsp;cd /var/www/etc&lt;br /&gt;
&nbsp;&nbsp;vi chpasswd.conf&lt;br /&gt;
&nbsp;&nbsp;vi ipauth&lt;br /&gt;
</code></pre><br />
Create squid passwd file for chpasswd to update in chroot jail<br />
<pre><code>
&nbsp;&nbsp;mkdir /var/www/etc/squid&lt;br /&gt;
&nbsp;&nbsp;touch /var/www/etc/squid/passwd&lt;br /&gt;
&nbsp;&nbsp;chown root:www /var/www/etc/squid/passwd&lt;br /&gt;
&nbsp;&nbsp;chmod 660 /var/www/etc/squid/passwd&lt;br /&gt;
</code></pre><br />
Update/Modify the auth_param section of squid.conf to use new passwd file and basic authentication (must already have ncsa_auth in place and working)<br />
<pre><code>
&nbsp;&nbsp;vi /etc/squid/squid.conf&lt;br /&gt;
&nbsp;&nbsp;&lt;samp&gt;
&nbsp;&nbsp;&nbsp;&nbsp;auth_param basic program /usr/local/squid/libexec/ncsa_auth /var/www/etc/squid/passwd&lt;br /&gt;
&nbsp;&nbsp;&nbsp;&nbsp;auth_param basic children 5&lt;br /&gt;
&nbsp;&nbsp;&nbsp;&nbsp;auth_param basic realm Home Localnet to Internet access&lt;br /&gt;
&nbsp;&nbsp;&nbsp;&nbsp;auth_param basic credentialsttl 2 hours&lt;br /&gt;
&nbsp;&nbsp;&lt;/samp&gt;
</code></pre><br />
Restart squid<br />
<pre><code>
&nbsp;&nbsp;squid -k reconfigure&lt;br /&gt;
</code></pre><br />
<em>Your app should now be usable at http://&lt;your.squidserver&gt;/cgi-bin/chpasswd.cgi</em></p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2007/10/19/chpasswd-in-an-openbsd-apache-chroot-jail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Growl Updated</title>
		<link>http://techdebug.com/blog/2007/09/29/growl-updated/</link>
		<comments>http://techdebug.com/blog/2007/09/29/growl-updated/#comments</comments>
		<pubDate>Sat, 29 Sep 2007 05:23:30 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[growl]]></category>
		<category><![CDATA[notifications]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2007/09/29/growl-updated/</guid>
		<description><![CDATA[Growl has been updated to V1.1.1. This is a MUST HAVE application for any Mac user, and without any further hesitation you can download it from the growl homepage. Growl provides notifications, which &#8220;&#8230; are a way for your applications to provide you with new information, without you having to switch from the application you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>Growl has been updated to V1.1.1. This is a <em>MUST HAVE</em> application for any Mac user, and without any further hesitation you can <a href="http://growl.info/" title="Welcome to Growl!">download it from the growl homepage</a>.</p>
<p>Growl provides notifications, which &#8220;&#8230; are a way for your applications to provide you with new information, without you having to switch from the application you&#8217;re already in.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2007/09/29/growl-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dansguardian on OpenBSD</title>
		<link>http://techdebug.com/blog/2007/09/11/dansguardian-on-openbsd/</link>
		<comments>http://techdebug.com/blog/2007/09/11/dansguardian-on-openbsd/#comments</comments>
		<pubDate>Mon, 10 Sep 2007 14:16:05 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[openbsd]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[content filter]]></category>
		<category><![CDATA[dansguardian]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[transparent]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2007/09/11/dansguardin-on-openbsd/</guid>
		<description><![CDATA[So many people have written long and excellent examples of an internet application layer filtering solution. However, what if you need a quick and simple internet filtering solution? Want to block out all the garbage for the younger generation? Look no further than Dansguardian. I&#8217;ll assume you love OpenBSD as well, and have the following [...]]]></description>
			<content:encoded><![CDATA[<p style="float: right; margin-bottom: 10px; margin-left: 10px"><a href='http://openbsd.org' title='OpenBSD'><img src='http://techdebug.com/wp-content/uploads/2007/09/puflogv200x130.gif' alt='OpenBSD_logo' /></a></p>
<p>So many people have written <a href="http://itdiscuss.org/twiki/bin/view/Main/OpenBSDDansguardianSquid">long and excellent examples</a> of an internet application layer filtering solution.</p>
<p>However, what if you need a quick and simple internet filtering solution? Want to block out all the garbage for the younger generation?<br />
Look no further than <a href="http://dansguardian.org">Dansguardian</a>.<br />
I&#8217;ll assume you love <a href="http://www.openbsd.org">OpenBSD</a> as well, and have the following in place:</p>
<ul>
<li>OpenBSD running as your router, <a href="http://en.wikipedia.org/wiki/Multi-homed">multi-homed</a></li>
<li>the same machine running <a href="http://www.benzedrine.cx/pf.html">pf</a></li>
<li>the same machine with <a href="http://www.openbsd.org/4.1_packages/i386/squid-2.6.STABLE9-transparent-snmp.tgz-long.html">squid installed and working as a transparent proxy</a></li>
<li>Packet filtering is online, your internet access works from the router and from an internal host with your <a href="http://itdiscuss.org/twiki/bin/view/Main/OpenBSDDansguardianSquid#Squid_As_A_Transparent_Squid_Pro">squid working transparently</a></li>
<li><a href="http://www.openbsd.org/4.1_packages/i386/wget-1.10.2p0.tgz-long.html">wget</a> installed</li>
</ul>
<p>Download the latest beta from dansguardian.org and extract it, reading the install doco for good reference:<br />
<pre><code>
cd /tmp
wget http://dansguardian.org/downloads/2/Beta/dansguardian-2.9.9.1.tar.gz
tar zxvf dansguardian-2.9.9.1.tar.gz
cd dansguardian-2.9.9.1
less INSTALL
</code></pre><br />
Once you have had a read of the install, configure and compile quickly for OpenBSD<br />
<pre><code>
./configure \
--mandir=/usr/local/man \
--with-logdir=/var/log/dansguardian \
--bindir=/usr/local/bin \
--sysconfdir=/usr/local/etc
mkdir /var/log/dansguardian
make
make install
make clean
</code></pre><br />
This will provide you an installed copy of Dans with a default config set.<br />
Now setup Dans to stop/start during init and shutdown<br />
<pre><code>
chmod +x /usr/local/share/dansguardian/scripts/bsd-init
cat &gt;&gt; /etc/rc.local &lt;&lt; EOF
# DansGuardian
if [ -x /usr/local/sbin/dansguardian ]; then
 /usr/local/share/dansguardian/scripts/bsd-init start
fi
EOF
cat &gt;&gt; /etc/rc.shutdown &lt;&lt; EOF
vi /etc/rc.shutdown
# DansGuardian
if [ -x /usr/local/sbin/dansguardian ]; then
 /usr/local/share/dansguardian/scripts/bsd-init stop
fi
</code></pre><br />
Almost done. Setup PF to redirect all Web access through Dans, which will use squid.<br />
In this example, hosts 10.0.1.1 and 10.0.1.2 will not use the filter, and all other hosts will. Change IPs to suit your needs.<br />
</code><pre><code>
cat &gt;&gt; /etc/pf.conf &lt;&lt; EOF
no rdr on $int_if from { 10.0.1.1, 10.0.1.2 } to any
rdr on $int_if inet proto { tcp, udp } from any to any port www -&gt; 127.0.0.1 port 8080
EOF
pfctl -f /etc/pf.conf
</code></pre><br />
Now lastly startup Dans for this session. You may learn <a href="http://dansguardian.org/?page=dgflow">how the flow works</a>, and what to configure on the products site.<br />
<pre><code>
/usr/local/share/dansguardian/scripts/bsd-init start
</code></pre><br />
I hope that gives you an idea how easy this is to setup, now go and have a hack and see what you can do with squid and authentication! Chop Chop!</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2007/09/11/dansguardian-on-openbsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clearcase Branches Solved?</title>
		<link>http://techdebug.com/blog/2007/08/11/clearcase-branches-solved/</link>
		<comments>http://techdebug.com/blog/2007/08/11/clearcase-branches-solved/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 09:23:35 +0000</pubDate>
		<dc:creator>lantrix</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[clearcase]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[rational]]></category>

		<guid isPermaLink="false">http://techdebug.com/blog/2007/08/10/clearcase-branches-solved/</guid>
		<description><![CDATA[I think I may have stumbled upon the answer. I&#8217;m so set in my CVS ways that I though the best thing was to branch the entire top level folder &#8211; recursively. What I really was after was a way of setting the configspec on the NEW view I create for the new branch, and [...]]]></description>
			<content:encoded><![CDATA[<p>I think I may have stumbled upon the answer. I&#8217;m so set in my CVS ways that I though the best thing was to branch the entire top level folder &#8211; recursively. What I really was after was a way of setting the configspec on the NEW view I create for the new branch, and making it show code that is labeled with a particcular label, then when it is checked out and in, a new revision exists on the new branch. The advantage here, is that my new view shows exactly what I need without the need for checking out a version of every file in that view.</p>
<p><a href="http://www.ibm.com/developerworks/forums/dw_thread.jsp?message=13939273&#038;cat=24&#038;thread=158366&#038;treeDisplayType=threadmode1&#038;forum=333#13939273" title="developerWorks : : Forums : Help">This post over at the IBM Rational Clearcase forums</a> describes EXACTLY what I was after, and explained it in the precise terms I needed. I&#8217;m thinking differently now, and if it works as I intend, then I shall write further about this adventure into <a href="http://en.wikipedia.org/wiki/Software_configuration_management" title="Software configuration management - Wikipedia, the free encyclopedia">SCM</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://techdebug.com/blog/2007/08/11/clearcase-branches-solved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
