<?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>Saheltech Blog</title>
	<atom:link href="http://www.saheltech.com/tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.saheltech.com/tips</link>
	<description>Web Programming - Online Marketing - Multimedia Training</description>
	<lastBuildDate>Mon, 15 Nov 2010 02:51:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Learning Ruby Programming Day 1</title>
		<link>http://www.saheltech.com/tips/topics/learning-ruby-programming-day-1/</link>
		<comments>http://www.saheltech.com/tips/topics/learning-ruby-programming-day-1/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 02:51:18 +0000</pubDate>
		<dc:creator>manjonka</dc:creator>
				<category><![CDATA[Ruby Programming]]></category>

		<guid isPermaLink="false">http://www.saheltech.com/blog/?p=146</guid>
		<description><![CDATA[I just gave myself a challenge to master 2 new programming languages by the end of this year 2010. In a nutshell that&#8217;s a holidays season gift to myself and my business: knowledge is power. Anyway I just &#8220;cracked open&#8221; the PDF tutorial I downloaded online. Yeah, I read more e-books these days then their [...]]]></description>
				<content:encoded><![CDATA[<p>I just gave myself a challenge to master 2 new programming languages by the end of this year 2010. In a nutshell that&#8217;s a holidays season gift to myself and my business: knowledge is power.</p>
<p>Anyway I just &#8220;cracked open&#8221; the PDF tutorial I downloaded online. Yeah, I read more e-books these days then their hard copy counterparts. It&#8217;s more convenient and instantaneous.</p>
<p><span id="more-146"></span></p>
<p>So here I am on chapter 1 dealing with the general syntaxes, getting from a keyboard input and putting out that info on a screen.  I just need three function &#8220;gets()&#8221; for the input,  &#8221;print&#8221; and &#8220;puts&#8221;  from the output.</p>
<p>The only difference between print (&#8220;&#8230;.&#8221;) and puts(&#8220;&#8230;&#8221;) is  the ladder adds a linefeed at the end of the output while the former doesn&#8217;t.</p>
<p>Coming from languages such as C++, C#, Javascript and PHP I always expect a semi column (;) at the end of each statement. That&#8217; not the case with Ruby.</p>
<p>Declaring a typical variable &#8211; a string or  a number &#8211; is straightforward in Ruby. Not need to specify the variable data type like in C++ or prepend the dollar sign ($) like in PHP or PERL.</p>
<p>Embedding a variable or an expression in a string is somewhat interesting. Let&#8217;s assume you have variable:<br />
<em>firstname=&#8221;John&#8221;</em></p>
<p>To embed that variable &#8211; even an expression &#8211;  to the displayed result you would write:<br />
<em> print(&#8220;My name is #{firstname}&#8221;)</em></p>
<p>It&#8217;s not that different from PHP except the use of the # sign preceding the variable or expression to evaluate.<br />
Of course the expression above will replace the embedded variable by its actual value &#8220;John&#8221;  only when the string to be printed (on the screen) is between double quotes. The result will be different is we use single quotes  instead.</p>
<p>Now a mistake I will be making for sure is always &#8220;prepending&#8221; the $ to a variable name. The dollar $  in Ruby is reserved for global variables. meaning those variable not limited with a function or block.</p>
<p>I had a brief overview of classes and objects: instance variables, functions, the initialize and inspect methods. Usually those concepts come up several chapter later in most tutorials. However the author of this Ruby tutorial certainly decided to peak my interest from the get go and now I need to learn more about  how Ruby tackles the Object Oriented Programming concept.</p>
<p>I have to say after finishing this first chapter I am a little but uneasy about the new syntaxes but also intrigued enough to keep me going to the next chapter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saheltech.com/tips/topics/learning-ruby-programming-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning Web Programming Languages</title>
		<link>http://www.saheltech.com/tips/topics/learning-web-programming-languages/</link>
		<comments>http://www.saheltech.com/tips/topics/learning-web-programming-languages/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 01:36:55 +0000</pubDate>
		<dc:creator>manjonka</dc:creator>
				<category><![CDATA[PHP Programming]]></category>
		<category><![CDATA[Python Programming]]></category>
		<category><![CDATA[Ruby Programming]]></category>
		<category><![CDATA[Vision & Thoughts]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[c-sharp]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ryby]]></category>

		<guid isPermaLink="false">http://www.saheltech.com/blog/?p=133</guid>
		<description><![CDATA[I know it&#8217;s almost the end of the year and most people are starting to make plan for their holidays shopping. Me, no. Instead I am giving myself a challenge to master 2 new programming languages (Ruby and Python) by the end of December 2010. No I am not talking about just learning the syntax [...]]]></description>
				<content:encoded><![CDATA[<div id="_mcePaste">I know it&#8217;s almost the end of the year and most people are starting to make plan for their holidays shopping. Me, no. Instead I am giving myself a challenge to master 2 new programming languages (Ruby and Python) by the end of December 2010.</div>
<p><span id="more-133"></span></p>
<div id="_mcePaste">No I am not talking about just learning the syntax but going from total novice to expert. I just need a few ideas of real life software apps I can build using those languages.</div>
<div id="_mcePaste">Keep in mind I have already heard the buzz about the rise of those languages and last week I did a 2 hours research to see where they are in terms of popularity.</div>
<div id="_mcePaste">
<ol>
<li>Java and C++ remains of course on top. I dropped Java from my list 5 years ago and despite its popularity I remain unimpressed. Besides with Oracle now owning it, I less willing to go back. I am just not sure if Java is as open (source) as it was years ago.</li>
<li>C++ has always been the language I highly respect the most. Maybe because that&#8217;s where I started then I went downhill using less challenging scripting languages. Although I not longer use it often since I dived into web development, I still want to keep my C++ skills sharp.</li>
<li>C# is also an interesting one. I learned C# about 2 years ago after getting frustrated by the lack of rigor of Visual Basic and VBScript. The C# syntax is clean and clear and even simpler than C++.<br />
I have been planning to build a web application with C# on the back-end for 6 months now. I still need to solve more  challenging problems involving  network communications and threading to gain &#8220;a black belt level&#8221; on those chapters.</li>
<li>PHP very popular, easy to understand and I am currently creating MVC  based web apps with it as well as other applications such as WordPress plugins. They will always something new to learn and share about PHP.  PHP is everywhere on the web and pretty much any serious API (i.e. Google, Paypal, Facebook, Twitter) involves PHP.</li>
<li>PERL is another popular and powerful language. However newcomers in the web programming arena find it a bit more difficult to learn compared to PHP. PERL remains the language of choice of web systems administrators.</li>
<li>JavaScript: you can&#8217;t do front-end without it. From form validation to HTML document manipulation. Any serious web developer should have JavaScript under his/her belt.</li>
<li>Ruby and Python are the 2 newest scripting languages I am challenging myself to master by the end of 2010 starting November 10, 2010. That makes it at least 20 days for each language.</li>
</ol>
</div>
<p>I started with Ruby 5 days ago and I am already on chapter 6. I will try at he best of my availability to regularly posts my notes during this learning process. Hopefully I can start with Python early December.</p>
<p>So stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saheltech.com/tips/topics/learning-web-programming-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Display Google PageRank in Chrome Toolbar</title>
		<link>http://www.saheltech.com/tips/topics/display-google-pagerank-in-chrome-toolbar/</link>
		<comments>http://www.saheltech.com/tips/topics/display-google-pagerank-in-chrome-toolbar/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 03:15:13 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Search Engines]]></category>
		<category><![CDATA[Site Optimization]]></category>
		<category><![CDATA[Web Browsers]]></category>
		<category><![CDATA[web design tools]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[pagerank]]></category>

		<guid isPermaLink="false">http://www.saheltech.com/blog/?p=121</guid>
		<description><![CDATA[People have being looking for a toolbar for Chrome browser to display the famous Google PageRank bar of the web page currently visited web page. Well there isn&#8217;t one, unless somebody can tell me otherwise. Thanks to the open-source community, you can instead use  a browser extension published by &#8220;kalehrish&#8221;. Here is a link to [...]]]></description>
				<content:encoded><![CDATA[<p>People have being looking for a toolbar for Chrome browser to display the famous Google PageRank bar of the web page currently visited web page.<br />
Well there isn&#8217;t one, unless somebody can tell me otherwise.</p>
<p><span id="more-121"></span></p>
<p>Thanks to the open-source community, you can instead use  a browser extension published by &#8220;kalehrish&#8221;. Here is a link to that  <a rel="nofollow" href="https://chrome.google.com/extensions/detail/pneoplpmnpjoioldpodoljacigkahohc?hl=en-US">PageRank Extension for Google Chrome</a>. I just downloaded and installed it. As far as I know, it integrates well with Google Chrome 4.0.249.78 (36714) for PC.  I did not get a chance to check how it would behave on a Mac.<br />
<strong>It works like a charm for me and it&#8217;s very lightweight.</strong></p>
<p>A while back, Google  removed PageRank from the Webmaster Tools section of its website. The big G also informed us that little green bar is not as important as we might think. Indeed the PageRank is not all there to SEO but that green bar is an indicator of the quantity &amp; quality of inbound links to a given web page.</p>
<p>We know that search engines put more emphasis on relevance of the page content to the search query for ranking. But all things being equal, the higher the Pagerank, the better the page placement in search engines results.</p>
<p>Another option is the <strong><a rel="nofollow" href="https://chrome.google.com/extensions/detail/hhgojllinjdfbjknbpfcladgieljgoab?hl=en-US">Kuber PageRank Checker</a></strong>. It not only display the Pagerank  beside the address box but it also show the Alexa rank and a whois link when clicked: talk about killing three birds with one stone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saheltech.com/tips/topics/display-google-pagerank-in-chrome-toolbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a Password Protected Page</title>
		<link>http://www.saheltech.com/tips/topics/creating-a-password-protected-page/</link>
		<comments>http://www.saheltech.com/tips/topics/creating-a-password-protected-page/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 20:49:00 +0000</pubDate>
		<dc:creator>manjonka</dc:creator>
				<category><![CDATA[PHP Programming]]></category>

		<guid isPermaLink="false">http://www.saheltech.com/blog/?p=85</guid>
		<description><![CDATA[In a forum where I am an active member, I recently offered a quick solution to create a password protected page where the visitor does not need to register in order to access the page information. The server-side code of page in question is written in PHP but one can use any other language to get the same [...]]]></description>
				<content:encoded><![CDATA[<p>In a forum where I am an active member, I recently offered a quick solution to create a password protected page where the visitor does not need to register in order to access the page information. The server-side code of page in question is written in PHP but one can use any other language to get the same results.<span id="more-85"></span></p>
<ol>
<li><strong>First we set a PHP variable</strong><br />
$validlogin=false;<br />
This variable will later determine whether the user will be able to see the webpage info or will be presented with a login form.Then define an array containing the values of passwords to be given to people you would like to grant access to the web page.</p>
<p><em>$thepasses=array(&#8216;pass1&#8242;, &#8216;pass2, &#8216;pass3&#8242;);</em></p>
<p>pass1, pass2 and pass3 being the password you would like to set.</li>
<li><strong>Then we create an authentication process that uses a cookie</strong>.<br />
It compare the cookie value previously store in the user&#8217;s computer after the login to a preset value. In this case the cookie variable is &#8220;validlogin&#8221; and the value tested against is  &#8216;userOK&#8217;. Feel free to define your very own cookie variable and default value.</p>
<p>If the current user is already logged in sucessfully then s/he will no longer need to login again for the lifetime of the cookie which  we will define later.</p>
<p><em>if (isset($_COOKIE['validlogin']) &amp;&amp; $_COOKIE['validlogin']==&#8217;userOK&#8217;){<br />
$validlogin=true;<br />
}</em></li>
<li><strong>A second authentication step will be taken if no cookie is found</strong> or if the cookie  does not match the value we are looking for.<br />
In that case we check to see if the visitor has submitted the login form and the password submitted is in the array of password defined earlier:</p>
<p><em>else if(isset($_POST['userpass']) &amp;&amp; $_POST['userpass']!=&#8221;){<br />
foreach($thepasses as $key=&gt;$value){<br />
if(trim($_POST['userpass'])==$value){<br />
$validlogin=true;<br />
break;<br />
}//end if<br />
}//end foreach loop<br />
}//end else</em></p>
<p>As one can see the foreach loop goes through the array of passwords to see if any of those value matched te password submitted through the login form.  You can also use the PHP function in_array() to determine wether the submitted password matches any values in the array &#8220;<em>$thepasses</em>&#8220;.<br />
If a match is found then a &#8220;true&#8221; value is assigned to the variable $validlogin and we can safely end the loop otherwise &#8220;$validlogin&#8221; will remain &#8220;false&#8221;.</li>
<li><strong>Once the $validlogin variable is &#8220;true&#8221;</strong> then we can set a cookie to store an authentication parameter in the user computer. This prevent the system from asking the visitor to login everytime s/he refreshes or reload the page or come back to the site after a short period of time:<em>if($validlogin){<br />
setcookie(&#8216;validlogin&#8217;, &#8216;userOK&#8217;, time()+3600);<br />
}</em></p>
<p>This set a cookie named &#8220;validlogin&#8221; with a value &#8220;userOK&#8221; that will persist for 1 hour (3600 seconds). You can increase that value to any amount you deem reasonable enough. The cookie lifetime will be increased whenever the logged user reloads the page or revisits that web page: that resets the cookie for another hour.</li>
<li>Inside the actual web page (between the opening &lt;body&gt; and closing &lt;/body&gt; HTML tags you can now insert the logic that would either display the web page information if &#8220;$validlogin&#8221; is &#8220;true&#8221; otherwise the visitor will be presented a login form:<em>&lt;?php if($validlogin){ ?&gt;</em><br />
The web page information you would like to shar goes here<br />
&#8230;..<br />
<em> &lt;?php } else { ?&gt;</em><br />
The login form goes here. The only restriction is for the password field name to be &#8220;userpass&#8221;<br />
&#8230;&#8230;<br />
<em>&lt;?php } ?&gt;</em></li>
</ol>
<p>You can see <a href="http://www.saheltech.com/blog/resources/simplelogin.txt">the entire code here.</a><br />
All you need is just copy, paste and save the file with the extension  &#8221;php&#8221; (i.e. privatepage.php)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saheltech.com/tips/topics/creating-a-password-protected-page/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Organizing Your email contacts</title>
		<link>http://www.saheltech.com/tips/topics/organizing-your-email-contacts/</link>
		<comments>http://www.saheltech.com/tips/topics/organizing-your-email-contacts/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 15:32:45 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Email Marketing]]></category>

		<guid isPermaLink="false">http://www.saheltech.com/blog/?p=63</guid>
		<description><![CDATA[Email communication is without any doubt one of the most important traffic on the internet. The very first thing most of us do in the morning after &#8220;booting up&#8221; the computer is to log into our email account to read our email mail while sipping some coffee (or tea for the rest of us). First you need to weed out SPAM, [...]]]></description>
				<content:encoded><![CDATA[<p>Email communication is without any doubt one of the most important traffic on the internet. The very first thing most of us do in the morning after &#8220;booting up&#8221; the computer is to log into our email account to read our email mail while sipping some coffee (or tea for the rest of us).</p>
<p><span id="more-63"></span></p>
<p>First you need to weed out SPAM, then sort the remaining message either by sender, try to spot the most interesting subject line or maybe just click on the very first message then read through.</p>
<p>If you use email as the primary mean of communication with your clients, partners or other associates as I do then you understand how important is it to keep your inbox clean to receive only emails related to your business. Keeping your email address private is the best way to fight against SPAM.</p>
<p>As the saying goes, do not mix business and pleasure. Well, I can also add do not mix business with family as far as email goes.</p>
<p>My point is, do not use the same email address for your business  communications  and for keeping in touch with your friends or relatives.</p>
<p>And you know what, you could even do better by separating those two groups as well.  Get different email addresses for friends and relatives. That way you can always be assured your family dirty laundry and drama will not spill over to your friends when you accidentally hit the dreadful &#8220;Reply All&#8221; link.</p>
<p>I cannot recall how many times I started exchanging emails with a long lost friend who soon afterwards start sending me jokes, chain letters and more.</p>
<p>The worst part is those very same messages are sent in bulk as Carbon Copies (CC) to all her/his contact list with my email address in plain sight for just someone  in that network of &#8220;friends&#8221; to harvest and start spamming the rest of us.</p>
<p>Online people networks are not that different from their offline counterparts. Most of the time keeping them separate is a must.</p>
<p>So please ask my permission first before sharing my email address with a third party be it a relative, an acquaintance or a business partner.<br />
My  privacy is paramount online and offline.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saheltech.com/tips/topics/organizing-your-email-contacts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using CSS or Tables Web Page Layout</title>
		<link>http://www.saheltech.com/tips/topics/using-css-or-tables-web-page-layout/</link>
		<comments>http://www.saheltech.com/tips/topics/using-css-or-tables-web-page-layout/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 02:34:25 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[CSS Tips & Tricks]]></category>
		<category><![CDATA[Dreamweaver Tips]]></category>
		<category><![CDATA[Web Design Tips]]></category>
		<category><![CDATA[block]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[floating]]></category>
		<category><![CDATA[layer]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[positioning]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://www.saheltech.com/blog/?p=67</guid>
		<description><![CDATA[I receive an email this morning from a client I just provided Dreamweaver Training to. Here it is: A quick question for you&#8230;I&#8217;m wondering about the differences between using tables, layers, and floating divs (is that what you call what we used yesterday with CSS?) When would someone want to use one vs. the others? [...]]]></description>
				<content:encoded><![CDATA[<p>I receive an email this morning from a client I just provided <a href="/training/dreamweaver.html">Dreamweaver Training</a> to.<br /> <strong>Here it is:</strong></p>
<p> <em>A quick question for you&#8230;I&#8217;m wondering about the differences between using tables, layers, and floating divs (is that what you call what we used yesterday with CSS?) When would someone want to use one vs. the others? Layers seem to be the easiest way to create your layout the way you want it, but I&#8217;m wondering what the drawbacks are to that? Also wondering how you might combine two or more methods to create your layout?</p>
<p><span id="more-67"></span></p>
<p> Thanks again Alex!<br /> It was great to work with you&#8230;</em></p>
<p> <strong>Here is in a nutshell my response:</strong></p>
<p> <em>Tables are more appropriate to present a grid-layout data just as you would display data in an Excel spreadsheet with rows and columns. As you will notice in the index.html file inside the portfolio folder, we use a table to display the content of that page because the information is presented as a grid. </p>
<p> </em><em>However using tables for the website layout is cumbersome. Tables take more time to display compared to DIV elements because all the rows and columns are tied together. The web browser has to make an extra effort to have all the cells in the right places taking into account all the rowspan and colspan that might be defined in the HTML markup.</p>
<p>You also have less control over the table layout unless you use invisible spacer images to force cells and rows to match the dimensions you specified. That can make your HTML markup as bloated as it can be.</p>
<p> On the other hand with CSS, you can separate the data (page content) from the presentation (layout). Using an external css file (i.e. layout.css) you can have a uniform look-and-feel throughout the entire site. But more importantly wen you decide to change a give style, you do it once in the CSS file and all pages sharing that style sheet will take effect of that changes: real time saver.</p>
<p>CSS makes your pages markup cleaner. The web page is just an aggregate of individual blocks you can position with pixel precision anywhere you want. You can move one block anywhere you want without pretty much affecting other blocks.</p>
<p> To use a simple metaphor, if designing a website with tables is like building a typical car, with CSS you bring in the capabilities of the &#8220;Transformers&#8221;. How cool is that!!<br /> That means, your website look-and-and-feel can be quickly changed in terms of fonts, colors, layout,.. from your external CSS file.</p>
<p> Now when we talk about layers or div tags they all mean pretty much the same thing as far as the layout is concerned.</p>
<p> The tag &quot;&lt;layer&gt;&#8230;&#8230;. &lt;/layer&gt;&quot; was introduced by Netscape when CSS was in its embryonic stage. That tag is no longer used today in XHTML.<br /> Using div tags as  containing boxes, you can stack them on top of each other using the z-Index (value defining the stacking order) and absolute positioning (you can find it in the positioning category when you open the Dreamweaver&#8217;s CSS editor). </p>
<p> You can hide or show a box (layer, div tag, container) either by changing its visibility from visible to hidden or set its display property to &#8220;inline&#8221; ,  &#8220;block&#8221; or &#8220;none&#8221;.<br /> </em><em><br /> Floating Div tags comes in handy when the need arises to align rectangular blocks of content side by side horizontally without having to use absolute positioning. A div tag creates is typically a block-level container. As such has natural tendency to occupy a 100% width of its parent container and push down any another other  element placed after it in the HTML markup. Therefore by specifying the width of div tags and floating them you can place them side by side as long as the width of their common parent container can allow.</p>
<p> The only drawback of using CSS is that you have to do the math as we did yesterday to get the right positioning or calculate the dimensions of each box to align them side by side.<br /> </em><em><br /> So always design you website layout using div tags (i.e. #wrapper, #header, #maincontent, #footer, &#8230;.) as the main building blocks of your web page layout. </em><em>You can then use more div tags to create smaller containers for your content and position each section of your web page.</p>
<p> When the data you are presenting is a grid then use tables to get the job done more efficiently.  Table and CSS are not mutually exclusive. You can use a table then format its look-and-feel with CSS. Again it keeps your HTML and content semantic clean &amp; tidy, easy to maintain and Search Engines Friendly.<br /> </em><em><br /> I hope this message answers your questions.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.saheltech.com/tips/topics/using-css-or-tables-web-page-layout/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google Chrome Web Browser</title>
		<link>http://www.saheltech.com/tips/topics/google-chrome-web-browser/</link>
		<comments>http://www.saheltech.com/tips/topics/google-chrome-web-browser/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 02:45:16 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Search Engines]]></category>
		<category><![CDATA[Web Browsers]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.saheltech.com/blog/?p=36</guid>
		<description><![CDATA[Google the web search giant has just released its very own web browser named Google Chrome.  Although Google Chrome is still in Beta stage, I am really delighted by the test drive I gave it today.  You can download it from http://www.google.com/chrome  The  installation process of google chrome is simple and fast. Only make sure [...]]]></description>
				<content:encoded><![CDATA[<p>Google the web search giant has just released its very own web browser named <strong>Google Chrome</strong>. <br />
Although <strong>Google Chrom</strong>e is still in Beta stage, I am really delighted by the test drive I gave it today. <br />
You can download it from <em>http://www.google.com/chrome</em> <br />
The  installation process of google chrome is simple and fast. Only make sure your firewall allows the installer to connect to the web to download the files needed.</p>
<p><span id="more-36"></span></p>
<p>Here are a few things worth noting after just an hour of <strong>Google Chrome</strong> test drive: </p>
<p>* <strong><em>Google Chrome</em></strong> once installed can import all my favorites (bookmarks) &amp; saved passwords from IE: a real time saver. </p>
<p>* the <strong>google chrome browser</strong> loads fast (less than 5 seconds) and my system &#8220;Task Manager&#8221; reveals that it uses only about 9MB of RAM compared to 44MB  by Mozilla Firefox 3.0 and 86MB by IE7 loaded with a blank page. </p>
<p>* The browser interface is clean, simple and efficient: just one toolbar with the basic navigation buttons on the top left corner: back, forward, refresh. You can add the &#8220;Homepage&#8221; button to your settings. <br />
<img class="alignnone size-full wp-image-38" style="margin: 10px;" title="chrome_top" src="http://www.saheltech.com/blog/wp-content/uploads/2008/09/chrome_top.jpg" alt="" width="500" height="64" /> </p>
<p>* You don&#8217;t have to be a techie to change the settings: mainly choosing your home page, your default search engine, a few &#8220;other tweaks&#8221; and things &#8220;under the hood&#8221;</p>
<p><img class="size-full wp-image-42 alignleft" style="margin-top: 5px; margin-bottom: 5px; margin-left: 10px; margin-right: 10px;" title="chrome_settings" src="http://www.saheltech.com/blog/wp-content/uploads/2008/09/chrome_settings.jpg" alt="" width="240" height="255" />* Easy to make personal settings: just click on the wrench icon (top right corner) in the graphic above.</p>
<p>It shows the bare minimum items on the menu:<br />
- for displaying a new bar with your bookmarks buttons.</p>
<p>- Clicking on &#8220;history&#8221; will open your browsing history in a new tab with a search function in it</p>
<p>- the same goes for the &#8220;Downloads&#8221;</p>
<p>- &#8220;clear browsing data&#8221; comes handy to clear your browser&#8217;s cache and force it to download fresh information from the web server.<br />
- &#8220;Import bookmarks &amp; settings&#8221; says it all.</p>
<p>- the &#8220;Options&#8221; opens a new window where you can set your google Chrome browser preferences as shown in the screen capture below:<br />
<a href="http://www.saheltech.com/blog/wp-content/uploads/2008/09/chrome_options_basics.jpg"><img class="alignnone size-full wp-image-41" title="chrome_options_basics" src="http://www.saheltech.com/blog/wp-content/uploads/2008/09/chrome_options_basics.jpg" alt="" width="499" height="527" /></a></p>
<p>* one thing that seemed missing was the search box. Well, it turns out the address box have a double-duty of being the search box for your default Search Engine. </p>
<p>As a web developer, Google Chrome is one more browser to add to my list of web browsers to test websites with before going live. So far it seems to be web standards compliant as far as CSS2 is concerned behaving pretty much like Safari for PC (sorry Mac users I cannot speak for you.)</p>
<p>I am however confident, based on the fact that Google Chrome is an open-source web browsers, that this newcomer in the web browsers arena will try hard to win the heart of the online community.</p>
<p>Happy web surfing and warm welcome to Google Chrome!! </p>
<p><span style="text-decoration: underline;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.saheltech.com/tips/topics/google-chrome-web-browser/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Popularity Contest Plugin Fatal Error in WordPress 2.5, 2.6+</title>
		<link>http://www.saheltech.com/tips/topics/popularity-contest-plugin-fatal-error-in-wordpress-25-26/</link>
		<comments>http://www.saheltech.com/tips/topics/popularity-contest-plugin-fatal-error-in-wordpress-25-26/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 18:12:05 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[WordPress Blog]]></category>
		<category><![CDATA[Wordpress plugins]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[popularity]]></category>
		<category><![CDATA[require_once]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.saheltech.com/blog/?p=24</guid>
		<description><![CDATA[The Popularity Constest Plugin written by Alex King adds functionality to your WordPress blog: it displays a list the most popular posts in your blog&#8217; sidebar based on the post / category / archive views, comments made by visitors, trackbacks,&#8230; At the time of the writting of this blog, the Popularity Contest Plugin in only compatible [...]]]></description>
				<content:encoded><![CDATA[<p>The <a rel="nofollow" href="http://wordpress.org/extend/plugins/popularity-contest/">Popularity Constest Plugin</a> written by Alex King adds functionality to your WordPress blog: it displays a list the most popular posts in your blog&#8217; sidebar based on the post / category / archive views, comments made by visitors, trackbacks,&#8230;</p>
<p><span id="more-24"></span></p>
<p>At the time of the writting of this blog, the <strong>Popularity Contest Plugin</strong> in only compatible with WordPress releases up to up to wordpress 2.3.1. That means, if you are using the newer versions of wordpress say 2.5 or or the latest release wordpress 2.6 for that matter, you should brace yourself for one or a few surprises when trying to use that plugin in your blog.</p>
<p>That is exactly what happened last night when I tried to activate in the admin panel of my client&#8217;s blog. I have been slapped with a PHP error message:</p>
<pre><strong><em>Plugin could not be activated because it triggered a fatal error.</em></strong></pre>
<p>That should not deter you from using this wonderful plugin. Here are the steps I took to solve the issue at hands:</p>
<p><strong>Step 1</strong><br />
The first thing I did was to check on my local server for parsing error since my client&#8217;s web server does not display those errors for security reasons. The only error revealed to me was the include path of the wp-blog-header.php which should be</p>
<pre>../../../wp-blog-header.php</pre>
<p>instead of</p>
<pre>../../wp-blog-header.php</pre>
<p>because  the calling file pouplarity-contest.php is 3 folder levels down from the blog root folder where the wp-blog-header.php is.</p>
<p><strong>Step 2</strong><br />
I made that correction then run the file (pouplarity-contest.php) again in my localhost server.<br />
This time I only receive a database connection error. Good! No PHP parsing error.<br />
I then uploaded the &#8220;pouplarity-contest.php&#8221; file to the remote server, went to the plugins section of the blog admin panel and tried once more to activate that plugin.</p>
<p>Not a chance, same fatal error message on my face. Grrrrr!!!.</p>
<p>Mind you, I have the utmost respect for the PHP developers (I am a member of that tribe) devoting their time to develop various applications and widgets they freely give to the online community.</p>
<p><strong>Step 3</strong><br />
I commented out any <em><strong>add_action call</strong></em> and tried again to activate that <strong>Popularity Contest Plugin</strong>. No luck again, same fatal error message.</p>
<p><strong>Step 4</strong><br />
I stopped for a few seconds, looked again then told myself: &#8220;the wp-blog-header.php file is already called somewhere by the admin header section with the require_once() PHP function!&#8221;</p>
<p><strong>Solution:</strong><br />
* Remove or comment out (// or /* &#8230;..  */) the line 59 or whatever line contains the code:</p>
<pre>require('../../wp-blog-header.php');</pre>
<p>Tried again to activate the <strong>Popularity Contest Plugin</strong>.<br />
This time it works!!</p>
<p>I can now use the akpc_most_popular() function in my blog sidebar to display the most popular posts.</p>
<p>I just save you  time and frustration.<br />
Now go ahead and<br />
- make that change in the PHP code<br />
- upload the file<br />
- activate the plugin</p>
<p>.. and happy blogging!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saheltech.com/tips/topics/popularity-contest-plugin-fatal-error-in-wordpress-25-26/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress Blog Admin Panel 2.5 More intuitive and Appealing</title>
		<link>http://www.saheltech.com/tips/topics/wordpress-blog-admin-panel-25-more-intuitive-and-appealing/</link>
		<comments>http://www.saheltech.com/tips/topics/wordpress-blog-admin-panel-25-more-intuitive-and-appealing/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 20:06:22 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[WordPress Blog]]></category>

		<guid isPermaLink="false">http://www.saheltech.com/blog/?p=19</guid>
		<description><![CDATA[- New admin panel since WordPress 2.5 is more visually appealing with a light blue color but I am a little bias here since that color is almost the same as my web site&#8217;s - The visual editor has media section with icons to add &#8220;image&#8221;, &#8220;video&#8221;, &#8220;audio&#8221; or any other &#8220;media&#8221;.   When any [...]]]></description>
				<content:encoded><![CDATA[<p>- New admin panel since WordPress 2.5 is more visually appealing with a light blue color but I am a little bias here since that color is almost the same as my web site&#8217;s<br />
- The visual editor has media section with icons to add &#8220;image&#8221;, &#8220;video&#8221;, &#8220;audio&#8221; or any other &#8220;media&#8221;.<a href="http://www.saheltech.com/blog/wp-content/uploads/2008/07/add_media.gif"><img class="alignleft alignnone size-medium wp-image-20" style="float: left;" title="Add Media" src="http://www.saheltech.com/blog/wp-content/uploads/2008/07/add_media.gif" alt="" width="179" height="31" /></a></p>
<p><span id="more-19"></span></p>
<p> </p>
<p>When any of those icons is clicked on a pop-up layer (not a new document window) opens and displays 3 tabs<a href="http://www.saheltech.com/blog/wp-content/uploads/2008/07/media_window_sm.gif"><img class="alignleft alignnone size-medium wp-image-21" style="float: left; margin: 0px 5px; border: 0px;" title="media_window_sm" src="http://www.saheltech.com/blog/wp-content/uploads/2008/07/media_window_sm-300x186.gif" alt="" width="300" height="186" /></a>:<br />
1) <strong>Choose file</strong> will let you:<br />
* choose a file from your computer and upload it to your blog . Click on the &#8220;Choose Files to upload&#8221; button to see the file upload field appear<br />
* or enter the URL of your image file (web address of your file e.g. http://www.saheltech.com/images/logo.gif&#8221; ) in the Image URL box<br />
- * choose an option to define how your new image will be aligned with the rest of the content in your post (none, left, center or right)<br />
* Once you are done, you can just click &#8220;Insert into Post&#8221; button to insert your image and resume editing your post</p>
<p>2) the &#8220;<strong>Gallery&#8221;</strong> tab switch to a window displaying thumbnails of pictures previously uploaded.<br />
You can then click &#8221;Show&#8221; to see each image in more details then decide whether to insert int your post or not</p>
<p>3) the &#8220;<strong>Media&#8221;</strong> tab as you might have suspected will show all the multimedia files (pictures, audio/video files) already uploaded and used or ready to be used in your post.</p>
<p>Two other tools I found particularly useful are to the &#8220;Toggle Fullscreen Mode&#8221; and &#8220;Show/Hide Kitchen Sink&#8221; icons on the very right hand-side of your visual editor toolbar.<a href="http://www.saheltech.com/blog/wp-content/uploads/2008/07/visual_editor_toolbar.jpg"><img class="alignleft size-full wp-image-23" title="visual_editor_toolbar" src="http://www.saheltech.com/blog/wp-content/uploads/2008/07/visual_editor_toolbar.jpg" alt="" width="500" height="33" /></a></p>
<p>Try&#8217;em and see for yourself.</p>
<p>I will be upgrading to wordpress 2.6 very soon. I am trying to keep up by jeez these guys at WORDPRESS are rolling fast lately.</p>
<p>That&#8217;s all for now folks!<br />
Happy blogging!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saheltech.com/tips/topics/wordpress-blog-admin-panel-25-more-intuitive-and-appealing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Featured Video Plugin For WordPress</title>
		<link>http://www.saheltech.com/tips/topics/featured-video-plugin-for-wordpress/</link>
		<comments>http://www.saheltech.com/tips/topics/featured-video-plugin-for-wordpress/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 19:33:39 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[CSS Tips & Tricks]]></category>
		<category><![CDATA[WordPress Blog]]></category>
		<category><![CDATA[Wordpress plugins]]></category>

		<guid isPermaLink="false">http://www.saheltech.com/blog/?p=22</guid>
		<description><![CDATA[The WordPress Featured Video Plugin is a very useful and powerful feature to add in your wordpress blog. * It  reads and displays a video in your wordpress blog post. * All you need is tag the video HTML code as follows: [youtube:url to your video] (e.g. [youtube:http://www.youtube.com/watch?v=7o84PE871BE]) or taggged [googlevideo:url] (e.g. [googlevideo:http://video.google.com/googleplayer.swf?docid=8577255250907450469]) * It would display [...]]]></description>
				<content:encoded><![CDATA[<p>The WordPress <a rel="nofollow" href="http://pressography.com/plugins/featured-video/"><strong>Featured Video Plugin</strong></a> is a very useful and powerful feature to add in your wordpress blog.<br />
* It  reads and displays a video in your wordpress blog post.<br />
* All you need is tag the video HTML code as follows:<br />
[youtube:url to your video] (e.g. [youtube:http://www.youtube.com/watch?v=7o84PE871BE]) or taggged [googlevideo:url] (e.g. [googlevideo:http://video.google.com/googleplayer.swf?docid=8577255250907450469])</p>
<p><span id="more-22"></span></p>
<p>* It would display a video in a &#8220;Featured Video&#8221; section or the sidebar of your blog.<br />
I have used it quite a few times during the cutsomization process of some of my clients&#8217; blog using themes from Revolution News/Magazine<br />
However when using it in the &#8220;Revolution News&#8221; theme, the Featued Video seems to be displaying the same video on the featured video section despite the fact that my customer has</p>
<p>Solution:<br />
* open the &#8220;featuredvideo.php&#8221; file in your wordpress plugins folder /wp-content/plugins/FeaturedVideo<br />
* add <strong>ORDER BY post_date DESC</strong> to the $sql varible which becomes:</p>
<pre> $sql = "SELECT distinct ID, post_title, post_date, post_content                         
            FROM {$prefix}posts, {$prefix}term_relationships, {$prefix}term_taxonomy
            WHERE {$prefix}posts.ID = {$prefix}term_relationships.object_id
            AND {$prefix}term_relationships.term_taxonomy_id = {$prefix}term_taxonomy.term_taxonomy_id
            AND {$prefix}term_taxonomy.taxonomy = 'category'
            {$catsql}
            AND post_status = 'publish'
            AND post_type != 'page'
   ORDER BY post_date DESC";</pre>
<p> * save and upload that file to your blog at the same location (/wp-content/plugins/FeaturedVideo/featuredvideo.php)</p>
<p>Just as with any other plugin, you need to activate it in your blog admin panel and set the options offered.<br />
Then &#8220;Featured Video Plugin&#8221; will now located the latest youtube or googlevideo file used in your posts and display it in the Featured Video section of your choice. Just be sure to have to call <strong>vsf_show_video()</strong> in order to get the job done</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saheltech.com/tips/topics/featured-video-plugin-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
