<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<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/"
	>

<channel>
	<title>Technically Thinking</title>
	<link>http://www.technicallythinking.com</link>
	<description>tech related information that interests me</description>
	<pubDate>Sat, 28 Nov 2009 17:51:55 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>Arrays in AWK</title>
		<link>http://www.technicallythinking.com/2008/07/29/arrays-in-awk/</link>
		<comments>http://www.technicallythinking.com/2008/07/29/arrays-in-awk/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 04:27:35 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[awk]]></category>

		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.technicallythinking.com/2008/07/29/arrays-in-awk/</guid>
		<description><![CDATA[Initializing an array:
The following code will create the months array.  number_of_months will contain the length of the array (12).
number_of_months = split("Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", months, ",");
Setting an array value using the key:
Array indexing in AWK starts at 1:
months[1] = "Jan";
Testing the existence of an array key:
if(2 in months)
{
&#160;&#160;printf("The 2nd Month: %s\n", months[2]);
}
Iterating through an Array
Iterating through an [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Initializing an array:</strong><br />
The following code will create the months array.  number_of_months will contain the length of the array (12).</p>
<p><code>number_of_months = split("Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", months, ",");</code></p>
<p><strong>Setting an array value using the key:</strong><br />
Array indexing in AWK starts at 1:</p>
<p><code>months[1] = "Jan";</code></p>
<p><strong>Testing the existence of an array key:</strong></p>
<p><code>if(2 in months)<br />
{<br />
&nbsp;&nbsp;printf("The 2nd Month: %s\n", months[2]);<br />
}</code></p>
<p><strong>Iterating through an Array</strong></p>
<p>Iterating through an array can be done using the key.  The key can then be used to access the values inside the array<br />
Note: Using this method, the order of the keys in the loop is arbitrary:<br />
<code>for(key in months)<br />
{<br />
&nbsp;&nbsp;printf("Index %d: %s\n", key, months[key]);<br />
}</code></p>
<p>Iteration can also be done using the incremental index method:<br />
<code>for (i=1; i&lt;=number_of_months; i++)<br />
{<br />
&nbsp;&nbsp;printf("Index %d: %s\n", i, months[i]);<br />
}</code></p>
<p><strong>Associative Arrays:</strong></p>
<p><code>together["pees"] = "carrots";<br />
together["gin"] = "tonic";</code></p>
<p><strong>Deleting array elements and arrays:</strong></p>
<p><code>delete months[12]; # Removes that element of the array<br />
delete months; # Deletes the array itself</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.technicallythinking.com/2008/07/29/arrays-in-awk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Opera Mini - The Best Browser for the BlackBerry</title>
		<link>http://www.technicallythinking.com/2008/01/06/opera-mini-the-best-browser-for-the-blackberry/</link>
		<comments>http://www.technicallythinking.com/2008/01/06/opera-mini-the-best-browser-for-the-blackberry/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 22:51:43 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
		
		<category><![CDATA[BlackBerry]]></category>

		<category><![CDATA[browser]]></category>

		<guid isPermaLink="false">http://www.technicallythinking.com/2008/01/06/opera-mini-the-best-browser-for-the-blackberry/</guid>
		<description><![CDATA[Opera Mini 4 was released in November of 2007. The built-in BlackBerry Browser is okay for quick searches and such, but Opera Mini is far better for web browsing. Instead of showing a simplified version of web pages, Opera Mini will usually show the whole page as it would be shown in a desktop internet [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_startpage.png" alt="Opera Mini on the BlackBerry - Start Page" />Opera Mini 4 was released in November of 2007. The built-in BlackBerry Browser is okay for quick searches and such, but Opera Mini is far better for web browsing. Instead of showing a simplified version of web pages, Opera Mini will usually show the whole page as it would be shown in a desktop internet browser, allowing you to zoom in on the part of the page that you want to see (see screenshots below). A small cursor, which you can control with the scroll ball, allows you to move around the page and select links and form elements (such as text boxes and buttons).</p>
<p>The Start page, pictured above, gives you quick access to an address bar, searches, your customized list of bookmarks, and your recent history. New searches can also be added to the quick search bar using the &#8220;Create Search&#8230;&#8221; option available when entering text into a text field on any web site.</p>
<p><strong>INSTALL</strong></p>
<p>To install Opera Mini, open the browser on your BlackBerry, click the “menu” button and then click the “Go To&#8230;” link. Navigate to the Opera Mini download url, <a href="http://mini.opera.com/" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/mini.opera.com');" onclick="javascript:urchinTracker ('/outbound/article/mini.opera.com');">http://mini.opera.com/</a>, and click on Download Opera Mini (as described on their <a href="http://www.operamini.com/download/" title="download page" onclick="javascript:urchinTracker ('/outbound/article/www.operamini.com');" onclick="javascript:urchinTracker ('/outbound/article/www.operamini.com');">download page</a>).</p>
<p><strong>CONFIGURATION</strong></p>
<p>Once you have Opera Mini installed, I recommend that you review the settings.  Setting the font size to &#8220;Small&#8221; was important for getting pages to look right on my BlackBerry Curve.  Also, I like running in &#8220;full screen&#8221; mode so I can see as much of the page as possible at one time.</p>
<p><strong>MORE CONFIGURATION</strong></p>
<p>When attempting to Browse the internet with Opera Mini, your BlackBerry may pop up a dialog saying:</p>
<blockquote><p>The application Opera Mini has attempted to access the network. Would you like to allow this?</p>
</blockquote>
<p>Clicking &#8220;yes&#8221; will allow the connection to be made. In order to prevent this from popping up the future, I first tried going to Options-&gt;Advanced Options-&gt;Applications and changing all of the permissions for Opera Mini to allow, but this did not work. After doing some searching I discovered that this can be resolved by going to Options-&gt;Security Options-&gt;Firewall, and change the status to &#8220;Enabled&#8221;. The next time you browse the Internet with Opera, a dialog should pop up saying:</p>
<blockquote><p>The application Opera Mini has requested a http connection to server4.operamini.com</p>
</blockquote>
<p>This dialog box will provide a check-box for allowing &#8220;all http connections&#8221; in the future. Click this check-box and then click &#8220;Allow this connection&#8221;. This issue that made these steps necessary will hopefully be resolved in a future release.</p>
<p><strong>SCREENSHOTS TAKEN ON MY BB CURVE</strong></p>
<p><a href="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_nyt1.png" rel="thumbnail" title="Opera Mini on the BlackBerry - New York Times - Zoomed Out"  ><img src="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_nyt1.thumbnail.png" alt="Opera Mini on the BlackBerry - New York Times - Zoomed Out" /></a><a href="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_nyt2.png" rel="thumbnail" title="Opera Mini on the BlackBerry - New York Times - Zoomed In"  ><img src="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_nyt2.thumbnail.png" alt="Opera Mini on the BlackBerry - New York Times - Zoomed In" /></a><a href="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_wikipedia1.png" rel="thumbnail" title="Opera Mini on the BlackBerry - Wikipedia - Zoomed Out"  ><img src="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_wikipedia1.thumbnail.png" alt="Opera Mini on the BlackBerry - Wikipedia - Zoomed Out" /></a><a href="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_wikipedia2.png" rel="thumbnail" title="Opera Mini on the BlackBerry - Wikipedia - Zoomed In"  ><img src="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_wikipedia2.thumbnail.png" alt="Opera Mini on the BlackBerry - Wikipedia - Zoomed In" /></a></p>
<p><a href="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_slashdot1.png" rel="thumbnail" title="Opera Mini on the BlackBerry - Slashdot - Zoomed Out"  ><img src="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_slashdot1.thumbnail.png" alt="Opera Mini on the BlackBerry - Slashdot - Zoomed Out" align="left" /></a><a href="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_slashdot2.png" rel="thumbnail" title="Opera Mini on the BlackBerry - Slashdot - Zoomed In"  ><img src="http://www.technicallythinking.com/wp-content/uploads/2008/01/opera_mini_blackberry_slashdot2.thumbnail.png" alt="Opera Mini on the BlackBerry - Slashdot - Zoomed In" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.technicallythinking.com/2008/01/06/opera-mini-the-best-browser-for-the-blackberry/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Getting Started with Mediawiki</title>
		<link>http://www.technicallythinking.com/2007/12/09/getting-started-with-mediawiki/</link>
		<comments>http://www.technicallythinking.com/2007/12/09/getting-started-with-mediawiki/#comments</comments>
		<pubDate>Sun, 09 Dec 2007 18:13:02 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
		
		<category><![CDATA[MediaWiki]]></category>

		<category><![CDATA[web development]]></category>

		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.technicallythinking.com/2007/12/09/getting-started-with-mediawiki/</guid>
		<description><![CDATA[Mediawiki is the server-side wiki software used by Wikipedia and many other wiki websites.  Although installing Mediawiki and editing articles is very easy, there is a learning curve associated with developing and maintaining a wiki. This article aims to breakdown the things I learned in the process of building my first wiki site (Campers [...]]]></description>
			<content:encoded><![CDATA[<p>Mediawiki is the server-side wiki software used by <a href="http://www.wikipedia.org/" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.wikipedia.org');">Wikipedia</a> and many other wiki websites.  Although installing Mediawiki and editing articles is very easy, there is a learning curve associated with developing and maintaining a wiki. This article aims to breakdown the things I learned in the process of building my first wiki site (<a href="http://www.camperswiki.com" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.camperswiki.com');">Campers Wiki</a>) and includes links to various pages that I found helpful.</p>
<p><strong>INSTALL AND USER GUIDE</strong></p>
<p>To start, here are some links related to the basics (downloading and installing MediaWiki and editing pages):</p>
<p>Download: <a href="http://www.mediawiki.org/wiki/Download" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.mediawiki.org');">http://www.<span id="st" name="st" class="st">mediawiki</span>.org/wiki<wbr></wbr>/Download</a><br />
Install Guide: <a href="http://www.mediawiki.org/wiki/Manual:Installation" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.mediawiki.org');">http://www.<span id="st" name="st" class="st">mediawiki</span>.org/wiki<wbr></wbr>/Manual:Installation</a><br />
User Guide: <a href="http://meta.wikimedia.org/wiki/Help:Contents" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/meta.wikimedia.org');">http://meta.wikimedia.org/wiki<wbr></wbr>/Help:Contents</a><br />
Editor Cheat Sheet: <a href="http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">http://en.wikipedia.org/wiki<wbr></wbr>/Wikipedia:Cheatsheet</a></p>
<p><strong>PRETTY URLS</strong></p>
<p>Setting up pretty URLs is important for SEO (Search Engine Optimization): <a href="http://www.mediawiki.org/wiki/Manual:Short_URL" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.mediawiki.org');">http://www.mediawiki.org/wiki/Manual:Short_URL</a><a href="http://meta.wikimedia.org/wiki/Using_a_very_short_URL" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/meta.wikimedia.org');">  </a></p>
<p><span style="font-weight: bold">CACHING<br />
</span><br />
Set up memcached to speed up <span id="st" name="st" class="st">mediawiki.</span>  <span id="st" name="st" class="st">Mediawiki</span> will ask for the ip/port of memcached server during the initial install.  On Ubuntu I was able to install via apt-get and set it up very painlessly.  One downside, is that pages are cached and sometimes will sometimes not show changes immediately.  An article&#8217;s cache can be purged by adding ?action=purge to the article&#8217;s URL.</p>
<p><span style="font-weight: bold">EXTENSIONS</span></p>
<p><span id="st" name="st" class="st">Mediawiki</span>&#8217;s base functionality is limited in certain areas&#8230;  Extensions can be added to improve it.  The spam and template sections will involve setting up extensions.</p>
<p><span style="font-weight: bold">SPAM</span></p>
<p>By default <span id="st" name="st" class="st">mediawiki</span> is set up such that anonymous visitors can make changes. This makes it easy for anyone to make changes on the site, but leaves the site more open to spam&#8230; Thus, the 5 steps described in this article should be followed: <a href="http://wiki.evernex.com/index.php?title=Blocking_Spam_in_MediaWiki" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/wiki.evernex.com');">Holy Grail for Blocking Spam in  <span id="st" name="st" class="st">MediaWiki</span></a></p>
<p><span style="font-weight: bold"> TEMPLATES</span></p>
<p><span id="st" name="st" class="st">Mediawiki</span> articles can use templates to make life easier for editors and give articles consistency.</p>
<p>Here&#8217;s an example&#8230; This is the wikipedia article regarding PHP:  <a href="http://en.wikipedia.org/wiki/Php" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');"> http://en.wikipedia.org/wiki<wbr></wbr>/Php</a><br />
If you click on the <a href="http://en.wikipedia.org/w/index.php?title=PHP&amp;action=edit" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">edit this page</a> tab at the top of that page, you&#8217;ll see the source code for that article.  At the top is a section that looks like this:</p>
<p>{{infobox programming language<br />
| name =                   PHP<br />
| logo =                   [[Image:PHP logo.svg|180px|PHP]]<br />
| designer =               [[Rasmus Lerdorf]]<br />
&#8230;..<br />
}}</p>
<p>That is passing various parameters to the &#8220;infobox programming language&#8221; template.  This creates the nice looking box on the right side of that article. That template can be edited by going to:<br />
<a href="http://en.wikipedia.org/wiki/Template:Infobox_programming_language" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">http://en.wikipedia.org/wiki<wbr></wbr>/Template:Infobox_programming<wbr></wbr>_language</a></p>
<p>Note: underscores and spaces are interchangeable in <span id="st" name="st" class="st">mediawiki</span> URLs</p>
<p>That template (along with most other templates) uses if-statements to make the look cleaner when not all parameters are passed. These if-statements and other similar functions are only available if you install the Parser Functions Extension:<br />
<a href="http://meta.wikimedia.org/wiki/ParserFunctions" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/meta.wikimedia.org');">http://meta.wikimedia.org/wiki<wbr></wbr>/ParserFunctions</a></p>
<p>More Information on Templates:  <a href="http://meta.wikimedia.org/wiki/Help:Template" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/meta.wikimedia.org');">http://meta.wikimedia.org/wiki<wbr></wbr>/Help:Template</a><br />
That information assumes the parser functions extension is installed<br />
<span style="font-weight: bold"><span style="font-weight: bold"><span style="font-weight: bold"><br />
</span></span>CHANGING THE DEFAULT SKIN</span></p>
<p><a href="http://www.siteground.com/tutorials/mediawiki/mediawiki_skins.htm" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.siteground.com');">http://www.siteground.com<wbr></wbr>/tutorials/<span id="st" name="st" class="st">mediawiki</span>/<span id="st" name="st" class="st">mediawiki</span><wbr></wbr>_skins.htm</a></p>
<p><span style="font-weight: bold">CATEGORIES</span></p>
<p>All articles inside a wiki should be associated with one or more categories.  This ensures that there are no orphan pages and makes it easy to find other articles associated with a particular article.  It also ensures that search engines can properly index your wiki site.  It is important that all wiki pages are categorized.</p>
<p>Info Regarding Categories: <a href="http://meta.wikimedia.org/wiki/Help:Category" onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/meta.wikimedia.org');">http://meta.wikimedia.org/wiki<wbr></wbr>/Help:Category</a></p>
<p>Dave</p>
]]></content:encoded>
			<wfw:commentRss>http://www.technicallythinking.com/2007/12/09/getting-started-with-mediawiki/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Free SSH on your BlackBerry</title>
		<link>http://www.technicallythinking.com/2007/12/06/free-ssh-on-your-blackberry/</link>
		<comments>http://www.technicallythinking.com/2007/12/06/free-ssh-on-your-blackberry/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 05:57:54 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
		
		<category><![CDATA[BlackBerry]]></category>

		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.technicallythinking.com/?p=3</guid>
		<description><![CDATA[I just got a BlackBerry Curve.  One of the first things I was interested in getting working was an ssh client.  I was very pleased to find MidpSSH had a free mobile ssh client that worked on the BlackBerry.  Here is the short and sweet installation (exact steps may vary depending on [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technicallythinking.com/2007/12/06/free-ssh-on-your-blackberry/ssh-on-the-blackberry/" rel="attachment wp-att-4" title="SSH on the BlackBerry" ><img src="http://www.technicallythinking.com/wp-content/uploads/2007/12/ssh_on_blackberry.jpg" alt="SSH on the BlackBerry" align="left" /></a>I just got a BlackBerry Curve.  One of the first things I was interested in getting working was an ssh client.  I was very pleased to find <a href="http://www.xk72.com/midpssh/index.php" title="MidpSSH" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.xk72.com');">MidpSSH</a> had a free mobile ssh client that worked on the BlackBerry.  Here is the short and sweet installation (exact steps may vary depending on your BB version):</p>
<ol>
<li> Open the browser on your BlackBerry, click the &#8220;menu&#8221; button and then click the &#8220;Go To&#8230;&#8221; link.  Navigate to the MidpSSH download url, <a href="http://xk72.com/wap" onclick="javascript:urchinTracker ('/outbound/article/xk72.com');">http://xk72.com/wap</a> (as described on their <a href="http://www.xk72.com/midpssh/download.php" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.xk72.com');">download page</a>).</li>
<li> Click on the &#8220;Latest Stable Release&#8221; link.  Navigate to the BlackBerry Build section and download the OS version that matches your BlackBerry OS.  Follow the on-screen steps.</li>
</ol>
<p>The MidpSSH software should now be installed.  When I attempted to connect to a server at this point I received the error:</p>
<blockquote><p>Session Error - Writer: Invalid tunnel name</p></blockquote>
<p align="left">If you receive this error, refer to this forum post regarding <a href="http://www.blackberryforums.com/blackberry-network/2185-blackberry-internet-msn-chat-web-telnet-tcpip-no-bes.html" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/www.blackberryforums.com');">Configuring Full Internet Access on your BlackBerry</a>.  I needed to configure my APN by going to Options -&gt; Advanced Options -&gt; TCP.  The APN settings for common providers are listed on that forum post.</p>
<p align="left">That&#8217;s it.  You should now be able to create a new session in  MidpSSH and make an ssh connection.</p>
<p align="left">Dave</p>
]]></content:encoded>
			<wfw:commentRss>http://www.technicallythinking.com/2007/12/06/free-ssh-on-your-blackberry/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
