<?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>bitblogr.com</title>
	<atom:link href="http://www.bitblogr.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.bitblogr.com</link>
	<description>design, tutorials, inspiration, creativity</description>
	<lastBuildDate>Sat, 05 Jun 2010 17:20:23 +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>Autodeclaring form data variables</title>
		<link>http://www.bitblogr.com/how-to/autodeclaring-form-data-variables/</link>
		<comments>http://www.bitblogr.com/how-to/autodeclaring-form-data-variables/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 08:56:43 +0000</pubDate>
		<dc:creator>Opeyemi Obembe</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[globals]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sessions]]></category>
		<category><![CDATA[variable]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=182</guid>
		<description><![CDATA[Here is a very useful simple snippet that saves a lot of coding time. Picture a feedback form with 3 fields: name, email and feedback. When handling the form results, you&#8217;d want to do something like this; $name = $_POST['name']; $email = $_POST['email']; $feedback = $_POST['feedback']; and then use the declared variables in whatever way [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Fhow-to%2Fautodeclaring-form-data-variables%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Fhow-to%2Fautodeclaring-form-data-variables%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=cookies,database,form,globals,mysql,php,sessions,variable" height="61" width="50" /><br />
			</a>
		</div>
<p>Here is a very useful simple snippet that  saves a lot of coding time.<br />
Picture a feedback form with 3 fields: name, email and feedback. When handling the form results, you&#8217;d want to do something like this;<span id="more-182"></span></p>
<pre>$name = $_POST['name'];
$email = $_POST['email'];
$feedback = $_POST['feedback'];</pre>
<p>and then use the declared variables in whatever way you want to &#8211; send to an email, put in a db or both. (By the way, please note that that is as basic as it is. Of course you will want to validate the values and probably escape or so).</p>
<p>Now what if you have up to 50 fields in your form? You will auto-declare them one by one like the above? Nah. A way to auto-declare the variables based on their respective key in the $_POST (or $_GET or any super global array) is this:</p>
<pre>foreach ($_POST as $k =&gt; $v) {
	$$k = $v;
}</pre>
<p>Notice the line &lt;b&gt;$$k = $v&lt;/b&gt;? It is called <a href="http://php.net/manual/en/language.variables.variable.php">variable variables</a>. It enables setting and using variable names dynamically.</p>
<p>Now, one important note! If you have &#8216;register_globals&#8217; turned on in your PHP configuration, PHP will automatically declare superglobal variables for you so no need of the snippet above. It is however recommended that &#8216;register_globals&#8217; is turned off for security reasons. With register_globals on, hackers can easily bypass parts of your script that rely on variable conditional statements by injecting the URL. Even the script above should be used to auto-declare only necessary superglobals like GET and POST and not COOKIES and SESSIONS. And when used, the variable values should still be validated for inappropriate data.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/how-to/autodeclaring-form-data-variables/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My twitter timeline</title>
		<link>http://www.bitblogr.com/tutorials/my-twitter-timeline/</link>
		<comments>http://www.bitblogr.com/tutorials/my-twitter-timeline/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 12:19:41 +0000</pubDate>
		<dc:creator>Opeyemi Obembe</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[ngBot]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=171</guid>
		<description><![CDATA[During the redesign of the ngBot blog, we figured it&#8217;d be nice dedicating a part of the sidebar to some of ngBot updates on twitter. This is a common trend with blogs and sure should be a piece of cake. Instead of re-inventing the wheel, I tried looking out for ready made scripts that perform [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Ftutorials%2Fmy-twitter-timeline%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Ftutorials%2Fmy-twitter-timeline%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=CSS,Javascript,ngBot,Twitter" height="61" width="50" /><br />
			</a>
		</div>
<p>During the redesign of the <a href="http://blog.ngbot.com">ngBot blog</a>, we figured it&#8217;d be nice dedicating a part of the sidebar to some of ngBot updates on <a href="http://twitter.com/ngbot">twitter</a>. This is a common trend with blogs and sure should be a piece of cake.</p>
<p>Instead of re-inventing the wheel, I tried looking out for ready made scripts that perform similar functions – that is; pull out a user&#8217;s updates on twitter and integrate it in the blog.</p>
<p><span id="more-171"></span></p>
<p>I sure came across a couple like <a href="http://crunchbang.org/archives/2008/02/20/twitterzoid-php-script/">Twitterzoid</a> and <a href="http://twitterjs.googlecode.com">Twitter js</a>. But very much like me, I wasn&#8217;t contented with them as most of them were too complicating. Or maybe just the normal me &#8211; always wanting to try out things my own way. And so, I decided to write my own script.</p>
<p>Attached is what I came up with in less than a hundred lines of code. Called “<em>mytimeline.php” (</em><a href="http://www.bitblogr.com/freebies/mytimeline.phps" target="_blank">Download this file [3.20kb]</a> ), the script simply pulls a user&#8217;s latest updates (up to 20) from twitter. Below is a simple usage example as used on the <a href="http://blog.ngbot.com" target="_blank">ngBot blog</a>;</p>
<pre>&lt;strong&gt;Twitter stream (&lt;a href="<a href="http://twitter.com/ngbot&quot;&gt;@ngbot&lt;/a&gt;)&lt;/strong&gt;">http://twitter.com/ngbot"&gt;@ngbot&lt;/a&gt;)&lt;/strong&gt;

</a>&lt;ul class="sidecat"&gt;
    &lt;?php
    // The class accepts the username and number of wanted updates (up to 20)
    $timeline = new myTimeline('ngbot', 3);
    foreach($timeline-&gt;get() as $v)
    {
        list($tweet, $date, $link) = $v;
        ?&gt;
        &lt;li&gt;
           &lt;p&gt;&lt;?= $tweet; ?&gt; &lt;span class="fade"&gt;&amp;mdash; &lt;a href="&lt;?= $link; ?&gt;"&gt;&lt;?= $date; ?&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/li&gt;         &lt;?php
    }
    ?&gt;
    &lt;li class="last"&gt;
        &lt;p&gt;&lt;a href="<a href="http://twitter.com/ngbot&quot;">http://twitter.com/ngbot"</a>&gt;More on Twitter &amp;rarr;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;</pre>
<h2>Final words:</h2>
<p>Feel free to download, tweak and play around with it in whatever way you want. And don&#8217;t forget to hit me up in case you have any difficulties.</p>
<p>By the way, you may want to cache updates so that the script doesn&#8217;t connect to twitter on every visit to your site. Here is how we do it, using PEAR&#8217;s cache lite:</p>
<pre>&lt;?php
  // Pretend there are updates from twitter
$updates = true;
$cache = new Cache_Lite_Output(array(
    'cacheDir' =&gt; 'path/to/cache/directory/',
    'lifeTime' =&gt; 3600 * 3 // Cache for 3 hours
));

if(!($cache-&gt;start('tweets'))):
    // No update yet.
    $updates = false;
    $timeline = new myTimeline('ngbot', 3);
    foreach($timeline-&gt;get() as $v)
    {
        $updates = true;
        list($tweet, $date, $link) = $v;
        ?&gt;
        &lt;li&gt;
            &lt;p&gt;&lt;?= $tweet; ?&gt; &lt;span class="fade"&gt;&amp;mdash; &lt;a href="&lt;?= $link; ?&gt;"&gt;&lt;?= $date; ?&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;/li&gt;
        &lt;?php
    }
$cache-&gt;end();
endif;
// If no updates from twitter, dont cache
if(!$updates)    $cache-&gt;remove('tweets');
?&gt;</pre>
<h2>File(s) used in this article:</h2>
<p><a href="http://www.bitblogr.com/freebies/mytimeline.phps" target="_blank">mytimeline.php</a> (size: 3.20kb)</p>
<h2>Update</h2>
<blockquote><p>The script has been pushed to Google Code here: <a href="http://mytimeline.googlecode.com">http://mytimeline.googlecode.com</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/tutorials/my-twitter-timeline/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Preventing forms from bots &#8211; the blank method</title>
		<link>http://www.bitblogr.com/how-to/preventing-forms-from-bots-the-blank-method/</link>
		<comments>http://www.bitblogr.com/how-to/preventing-forms-from-bots-the-blank-method/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 01:19:18 +0000</pubDate>
		<dc:creator>Opeyemi Obembe</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=164</guid>
		<description><![CDATA[One of the challenges web designers and developers face is preventing forms from automated programs that disguise as humans and fill forms (call them bots). And needless to say, this bots can really be a nuisance &#8211; posting bad content, stealing data and doing all kind of weird stuffs. And so there was Captcha &#8211; [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Fhow-to%2Fpreventing-forms-from-bots-the-blank-method%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Fhow-to%2Fpreventing-forms-from-bots-the-blank-method%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=bot,captcha,CSS,development,php" height="61" width="50" /><br />
			</a>
		</div>
<p>One of the challenges web designers and developers face is preventing forms from automated programs that disguise as humans and fill forms (call them <strong>bots</strong>). And needless to say, this bots can really be a nuisance &#8211; posting bad content, stealing data and doing all kind of weird stuffs. And so there was <a href="http://en.wikipedia.org/wiki/Captcha&quot;Captcha"></a><a href="http://en.wikipedia.org/wiki/Captcha" target="_blank">Captcha</a> &#8211; a test to verify human response and prevent such bots.</p>
<p><span id="more-164"></span><br />
But then, personally I don&#8217;t like Captchas. Ok, I love <a href="http://recaptcha.net" target="_blank">reCaptcha</a>, but just as an idea for <a href="http://recaptcha.net/learnmore.html" target="_blank">digitalizing books</a>; nothing more. Since I&#8217;m not a big fan then, I figured someone somewhere may as well not be, so I decide to go the way of a different technique for validating my forms. I call it the <em>blank method</em>. (No, that&#8217;s not an &#8216;official&#8217; name :P)</p>
<p>To start with, the technique is not my idea. Actually, an attribution to the owner should come somewhere here but I just can&#8217;t remember where I came across it as its really been long. That said, also note that the technique is not 100% fool proof. While it may save your form from bots, it won&#8217;t save you from real human spammers that are around to purposely junk up your site and be a nuisance.</p>
<p>So what is it all about? The technique is based on the fact that bots can&#8217;t see. A text input field is created somewhere in the form and labelled “Don’t fill” or “Leave Blank” or anything to tell the user to leave the input box empty. The human user filling the form will do just this  i.e.  ignore the field but a <strong>bot</strong> will fill in something there. During validation, the field can then be checked for content. If there exist a content for it, it sure is a bot (or probably a stubborn human).</p>
<p>Here is an overview of what it looks like:</p>
<h2>[The html code]</h2>
<pre>&lt;form method="post" action="submitpage.php"&gt;
    &lt;label&gt;Name&lt;/label&gt; &lt;input type="text" name="name" /&gt;    
    &lt;label&gt;Email&lt;/label&gt; &lt;input type="text" name="email" /&gt;
    &lt;label&gt;Leave Blank&lt;/label&gt; &lt;input type="text" name="foo" /&gt;
    &lt;input type="submit" name="submit" value="Submit" /&gt;
&lt;/form&gt;</pre>
<h2></h2>
<h2>[The server-side validation (I use PHP)]</h2>
<pre>&lt;?php
$foo = trim($_POST['foo']);
if(empty($foo))
{
  //ok, didnt fill anything in the field
  //most def a human
}
else
{
  //filled in something
  //bot! Kick out!
}
?&gt;</pre>
<p><img class="size-full wp-image-162 alignnone" title="unstyled.gif" src="http://www.bitblogr.com/wp-content/uploads/2009/12/unstyled.gif" alt="unstyled.gif" width="263" height="163" /></p>
<h2>And that&#8217;s all.</h2>
<p>Let&#8217;s tweak things a little bit to make the form more beautiful. But not just only beautiful. What about we hide the &#8216;Leave Blank&#8217; field with CSS so that normally users wont even see or notice it (and consequently won&#8217;t fill it)? Bots on the other hand will still &#8216;see&#8217; it and fill it.</p>
<h2>[The CSS]</h2>
<pre>/*resets*/
.nodisplay {
    display:none
} 

/*form*/
form label {
    float:left;
    text-align:right;
    padding-right:10px;
    width:100px
}

form input.txt {
    width:150px;
    padding:3px;
    border:1px solid #ACA899
}

form input.txt:hover, form input.txt:focus {
    border:1px solid #102336;
}</pre>
<h2>[The new html]</h2>
<pre>&lt;form method="post" action="submitpage.php"&gt;
    &lt;p&gt;&lt;label&gt;Name&lt;/label&gt; &lt;input type="text" name="name" class="txt" /&gt;&lt;/p&gt;
    &lt;p&gt;&lt;label&gt;Email&lt;/label&gt; &lt;input type="text" name="email" class="txt" /&gt;&lt;/p&gt;
    &lt;p class="nodisplay"&gt;&lt;label&gt;Leave Blank&lt;/label&gt; &lt;input type="text" name="foo" /&gt;&lt;/p&gt;
    &lt;p&gt;&lt;label&gt;&amp;nbsp;&lt;/label&gt;&lt;input type="submit" name="submit" value="Submit" /&gt;&lt;/p&gt;
&lt;/form&gt;</pre>
<p><img class="alignnone size-full wp-image-163" title="styled.gif" src="http://www.bitblogr.com/wp-content/uploads/2009/12/styled.gif" alt="styled.gif" width="245" height="124" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/how-to/preventing-forms-from-bots-the-blank-method/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>What Nigerian websites do you visit?</title>
		<link>http://www.bitblogr.com/reviews/what-nigerian-websites-do-you-visit/</link>
		<comments>http://www.bitblogr.com/reviews/what-nigerian-websites-do-you-visit/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 16:29:33 +0000</pubDate>
		<dc:creator>Ernest Ojeh</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[naija]]></category>
		<category><![CDATA[Nigeria]]></category>
		<category><![CDATA[websites]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=159</guid>
		<description><![CDATA[Or should i say; What Nigerian Sites are out there? Over the past few days, I’ve been trying to find Nigerian web destinations. I was surprised to find a couple that i didn’t know about (and some sites that weren’t green). If you know other sites that weren’t mentioned, let us know in the comments [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Freviews%2Fwhat-nigerian-websites-do-you-visit%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Freviews%2Fwhat-nigerian-websites-do-you-visit%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=blogs,naija,Nigeria,websites" height="61" width="50" /><br />
			</a>
		</div>
<p>Or should i say; What Nigerian Sites are out there? Over the past few days, I’ve been trying to find Nigerian web destinations. I was surprised to find a couple that i didn’t know about (and some sites that weren’t green). If you know other sites that weren’t mentioned, let us know in the comments &amp; they’ll surely be featured.</p>
<p>Some criteria  that we considered include; site visits, good design, quality content, potential and so on.</p>
<p><span id="more-159"></span></p>
<p>This is <strong>NOT </strong>a design post. As more sites suggestions come up, I’ll keep updating them (or start a showcase series). This post does <strong>NOT</strong> include personal blogs. The sites are listed in no particular order.</p>
<h2><a href="http://www.nairaland.com">www.nairaland.com</a></h2>
<p><a href="http://nairaland.com" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image5.png" border="0" alt="image" width="500" height="354" /></a></p>
<p>Nairaland in one word: “Nigeria”. This forum is like the on-line version of the country… With topics ranging from Programming, Graphics &amp; Video, literature, Career, Money to Religion, Music &amp; Video… In fact, everything.</p>
<h2><a href="http://www.sturvs.com">www.sturvs.com</a></h2>
<p><a href="http://sturvs.com" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image6.png" border="0" alt="image" width="530" height="578" /></a></p>
<p>Sturvs is a Nigerian web 2.0 social bookmarking website where users can share music, videos, articles and also promote events and services. Users can also vote content. The sites also has great content. Check it out.</p>
<h2><a href="http://www.naijapals.com">www.naijapals.com</a></h2>
<p><a href="http://naijapals.com"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image7.png" border="0" alt="image" width="500" height="365" /></a></p>
<p>Naijapals is a social network where members can watch Nigerian movies, Listen to music,  discuss issues &amp; make new friends.</p>
<h2><a href="http://www.naijaborn.com">www.naijaborn.com</a></h2>
<p>[<a href="http://naijaborn.com" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="naijaborn" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image8.png" border="0" alt="naijaborn" width="530" height="481" /></a></p>
<p>Naijaborn is a social networking site where users can share/listen to music, share news items, meet &amp; network with new friends. It is the place to find Nigerians and their creations. Despite it’s fast-growing user base, it’s still in it’s beta stage &amp; has a lot of potentials for the future.</p>
<h2><a href="http://www.riranwo.com">www.riranwo.com</a></h2>
<p><a href="http://riranwo.com" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image9.png" border="0" alt="image" width="500" height="392" /></a></p>
<p>RiRanWo! is a social utility that helps you to share bookmarks, articles, music, videos and more. It&#8217;s a really easy way to share, discover, talk about, and organize great <a href="http://www.riranwo.com/mod/bookmarks/everyone.php">bookmarks</a>, <a href="http://www.riranwo.com/mod/blog/everyone.php">notes</a>, <a href="http://www.riranwo.com/search/?tag=music">music</a>, <a href="http://www.riranwo.com/mod/izap_videos/all.php">videos</a>, <a href="http://www.riranwo.com/pg/photos/world/">photos</a> and more.</p>
<h2><a href="http://www.notjustok.com">www.notjustok.com</a></h2>
<p><a href="http://notjustok.com"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image10.png" border="0" alt="image" width="500" height="381" /></a></p>
<p>NotJustOk is all about entertainment. Music, Videos, Celebrity interviews, exclusives etc. If you love entertainment, then check it out.</p>
<p>…</p>
<h2><a href="http://mobile.ngbot.com/">mobile.ngbot.com</a></h2>
<p><a href="http://mobile.ngbot.com" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image11.png" border="0" alt="image" width="530" height="603" /></a></p>
<p>Ngbot  mobile is Nigeria’s mobile community. Though still in its beta stage, this fast-growing site offers free mobile downloads (ringtones, wallpapers, games, applications etc.) tools, tips &amp; tricks, hacks, SMS. The sites also features a forum where members can share ideas.</p>
<h2><a href="http://www.mammaput.com">www.mammaput.com</a></h2>
<p><a href="http://mammaput.com"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image12.png" border="0" alt="image" width="500" height="367" /></a></p>
<p>Though not officially launched, <a href="http://mammaput.com" target="_blank">Mammaput</a> is an application that indexes Nigerian eateries all over (and outside) the country. Users will be able to rate and comment on entries. A comprehensive set of APIs will be available for developers to build &#8216;location-aware&#8217; mobile applications around available data.</p>
<h2><a href="http://www.mobilitynigeria.com">www.mobilitynigeria.com</a></h2>
<p><a href="http://mobilitynigeria.com"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image13.png" border="0" alt="image" width="500" height="543" /></a></p>
<p>MobilityNigeria is all about everything mobile in Nigeria. Latest mobile news, mobile reviews, etc. The site also features a market place where you can buy phones. If you love mobile phone &amp; mobility in general, you should add this site to your bookmarks.</p>
<h2><a href="http://www.naijalingo.com">www.naijalingo.com</a></h2>
<p><a href="http://naijalingo.com"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image14.png" border="0" alt="image" width="500" height="468" /></a></p>
<p>Naija Lingo is an online Dictionary for all your Nigerian pidgin/broken English needs. It is a dictionary for people who want definitions to Nigerian words or slang, names and phrases and created by the people (you) who know them. Naija Lingo is an open dictionary where you the user are free to add and edit words as time changes, and as the meaning of words evolve and new words are formed.</p>
<h2><a href="http://www.naijapulse.com">www.naijapulse.com</a></h2>
<p><a href="http://naijapulse.com" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image15.png" border="0" alt="image" width="500" height="383" /></a></p>
<p>NaijaPulse is a micro-blogging service that lets you post text updates (140 characters) about yourself and what is happening around you. The site is based on Laconi.ca open source platform. It is also helpful that you cross post to Twitter and Facebook.</p>
<h2><a href="http://www.ticabo.com">www.ticabo.com</a></h2>
<p><a href="http://ticabo.com" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image16.png" border="0" alt="image" width="500" height="698" /></a></p>
<p>Ticabo is a blog that delves into search engine optimization (SEO) techniques, web design and development strategies.</p>
<h2><a href="http://www.werunthings.com">www.werunthings.com</a></h2>
<p><a href="http://werunthings.com" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image17.png" border="0" alt="image" width="530" height="726" /></a></p>
<p>In their own words, Werunthings is dedicated entirely to celebrating, showcasing and trumpeting exceptional Nigerian creative people, lifestyles and culture alongside their international peers. You can get, exclusive music, celebrity interviews, juicy photos, downloads, New music videos &amp; Celebrity gossip.</p>
<h2>Final words:</h2>
<p>This is probably just the first post of a series to come. I know there are a lot of Nigerian websites not featured here. I’ll keep surfing &amp; updating for more sites. Hope you added them to your bookmarks?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/reviews/what-nigerian-websites-do-you-visit/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Firefox add-ons for web-developers</title>
		<link>http://www.bitblogr.com/reviews/firefox-add-ons-for-web-developers/</link>
		<comments>http://www.bitblogr.com/reviews/firefox-add-ons-for-web-developers/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 15:04:45 +0000</pubDate>
		<dc:creator>Ernest Ojeh</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Add-ons]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=139</guid>
		<description><![CDATA[If i wasn’t a web designer, i would probably be using Google chrome as my default browser. But my browser of choice any day is Firefox.  This is because of the wide range of add-ons available to extend the browser’s features. In this post, I’ll show you a few add-ons that will make your design/development [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Freviews%2Ffirefox-add-ons-for-web-developers%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Freviews%2Ffirefox-add-ons-for-web-developers%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=Add-ons,designer,developer,Firefox,web" height="61" width="50" /><br />
			</a>
		</div>
<p>If i wasn’t a web designer, i would probably be using Google chrome as my default browser. But my browser of choice any day is Firefox.  This is because of the wide range of add-ons available to extend the browser’s features.</p>
<p>In this post, I’ll show you a few add-ons that will make your design/development more productive.</p>
<p><span id="more-139"></span></p>
<h2>Firebug</h2>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image.png" border="0" alt="image" width="450" height="185" /></p>
<p>There is a reason why i put this first; It’s a must-have! <a href="http://getfirebug.com/">Download it here</a></p>
<h2>MeasureIt</h2>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/539" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image1.png" border="0" alt="image" width="450" height="144" /></a></p>
<p>MeasureIt is simply a ruler for Firefox. Use it to get the dimensions (width &amp; height) of elements on the webpage.  <a href="https://addons.mozilla.org/en-US/firefox/addon/539" target="_blank">Get it here</a></p>
<h2>FireFTP</h2>
<p><a href="http://fireftp.mozdev.org/" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image2.png" border="0" alt="image" width="500" height="246" /></a></p>
<p>FireFTP is a free, secure, cross-platform FTP client for Mozilla Firefox which provides easy and intuitive access to FTP servers. It’s like FileZilla. <a href="http://fireftp.mozdev.org/">Download it here</a></p>
<h2>Clear Cache Button</h2>
<p>Adds a clear cache toolbar button. After installing the extension, find the clear cache button in the toolbar customization panel. <a href="http://clearcachebutton.mozdev.org/">Download it here</a></p>
<h2>Web-developer toolbar</h2>
<p><a href="http://chrispederick.com/work/web-developer/" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image3.png" border="0" alt="image" width="500" height="15" /></a></p>
<p>Adds a menu and a toolbar with various web developer tools. <a href="http://chrispederick.com/work/web-developer/">Download it here</a></p>
<h2>YSlow</h2>
<p>YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages. YSlow is a Firefox add-on integrated with the Firebug web development tool. <a href="http://developer.yahoo.com/yslow/">Download it here</a></p>
<h2>ColorZilla</h2>
<p><a href="http://www.colorzilla.com/firefox/" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/10/image4.png" border="0" alt="image" width="304" height="100" /></a></p>
<p>Advanced Eyedropper, Color Picker, Page Zoomer and other colorful goodies. With ColorZilla you can get a color reading from any point in your browser, quickly adjust this color and paste it into another program. <a href="http://www.colorzilla.com/firefox/">Download it here</a></p>
<h2>CodeBurner (Firebug)</h2>
<p>CodeBurner is a Firefox add-on that integrates with Firebug, to extend it with reference material for HTML and CSS. <a href="http://tools.sitepoint.com/codeburner/">Download it here</a></p>
<h2>Extended Status bar</h2>
<p>This add-on adds speed, percentage, time and loaded size (similar to Opera’s status bar) to Firefox’s status bar. <a href="https://addons.mozilla.org/en-US/firefox/addon/1433">Download it here</a></p>
<h2>Dust-me Selectors</h2>
<p>This add-on help you find unused CSS selectors from your style sheet. <a href="https://addons.mozilla.org/en-US/firefox/addon/5392" target="_blank">Get it here</a></p>
<h2>Mozilla Archive Format</h2>
<p>[screenshot here]</p>
<p>This add-on allows Firefox save &amp; open .mht (internet explorer) archive format. <a href="https://addons.mozilla.org/en-US/firefox/addon/212" target="_blank">Get it here</a></p>
<h2>ShowIP</h2>
<p>ShowIP shows the IP address of a website in the status bar. <a href="https://addons.mozilla.org/en-US/firefox/addon/590" target="_blank">Get it here</a></p>
<p>If you have any other add-ons that has greatly increased your productivity, please share it in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/reviews/firefox-add-ons-for-web-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free icon pack #1</title>
		<link>http://www.bitblogr.com/freebies/free-icon-pack-1/</link>
		<comments>http://www.bitblogr.com/freebies/free-icon-pack-1/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 13:40:12 +0000</pubDate>
		<dc:creator>Ernest Ojeh</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[icons]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=131</guid>
		<description><![CDATA[A free icon set of  10 simple icons designed with photoshop/illustrator. They are available in 64×64px, 128×128px and 256×256px resolutions (Transparent PNG). You can use them for personal or commercial purposes. If you use them, please don’t forget to link back to this site ;) Enjoy! Download it here [free] (size: 486kb, format: zip)]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Ffreebies%2Ffree-icon-pack-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Ffreebies%2Ffree-icon-pack-1%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=icons" height="61" width="50" /><br />
			</a>
		</div>
<p>A free icon set of  10 simple icons designed with photoshop/illustrator. They are available in 64×64px, 128×128px and 256×256px resolutions (Transparent PNG). You can use them for personal or commercial purposes. If you use them, please don’t forget to link back to this site ;) Enjoy!<span id="more-131"></span></p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="icon_preview" src="http://www.bitblogr.com/wp-content/uploads/2009/10/icon_preview.jpg" border="0" alt="icon_preview" width="450" height="450" /></p>
<p><a href="http://www.bitblogr.com/freebies/icon_1.zip">Download it here [free]</a> (size: 486kb, format: zip)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/freebies/free-icon-pack-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VPS, CDN and advanced server techniques: 2</title>
		<link>http://www.bitblogr.com/how-to/vps-cdn-and-advanced-server-techniques-2/</link>
		<comments>http://www.bitblogr.com/how-to/vps-cdn-and-advanced-server-techniques-2/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 03:18:10 +0000</pubDate>
		<dc:creator>Opeyemi Obembe</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[mod_deflate]]></category>
		<category><![CDATA[mod_expire]]></category>
		<category><![CDATA[scalability]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=104</guid>
		<description><![CDATA[In this piece, we will focus more on scalability &#8211; which I simply define as the ability of a server to efficiently adapt to more load. It is more complex as that sounds and to know more, you can check out scalability @ wikipedia. As a server administrator, optimizing your site and server for scalability [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Fhow-to%2Fvps-cdn-and-advanced-server-techniques-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Fhow-to%2Fvps-cdn-and-advanced-server-techniques-2%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=caching,mod_deflate,mod_expire,scalability" height="61" width="50" /><br />
			</a>
		</div>
<p>In this piece, we will focus more on scalability &#8211; which I simply define as the ability of a server to efficiently adapt to more load. It is more complex as that sounds and to know more, you can check out <a href="http://en.wikipedia.org/wiki/Scalability">scalability @ wikipedia</a>.<span id="more-104"></span></p>
<p>As a server administrator, optimizing your site and server for scalability is a task you will face occasionally, if nor more often than that. At first, with just a couple of site visitors and members, all may seem well. But as users and visits grow, you will start finding the need.</p>
<p>There are two types of scalability actually &#8211; scaling out which is about adding more system nodes, like buying more servers and scaling up which is about effectively maximizing the potential of what you have on ground already. Scaling up is cheaper than scaling out, in fact, in some instance doesn&#8217;t even cost any dime &#8211; and this is what we are looking at here. Besides, if you start with scaling out, without scaling up, there is the every posiblity you will continue scaling out as just a little wrong thing with your app or server configuration may be causing excessive load and weighing down the server &#8211; a problem scaling out won&#8217;t solve. Scaling up on the other hand will let you detect such. After properly scaling up, you can then scale out.</p>
<p>So the big question &#8211; how do you scale up? And to that is a lot of answers. Yah, there are many ways to optimize your app/server &#8211; every single way you think can save the server memory and number of processes. Some of this include caching, code optimization, profiling and even good configuration of your server and database engine. Caching alone as a big parent, has a lot of children &#8211; setting proxy servers, database caching to mention just two.</p>
<p>In the <a href="http://www.bitblogr.com/how-to/vps-cdn-and-advanced-server-techniques-part-1/">last piece</a> I mentioned CDN (Content Delivery Network), and even this is a great scalability technique. I guess I do not need to recap the advantages here but having your static files served from a different server entirely saves your deployment server (your app server) more memory and processes, leaving it to take care of more important files (dynamic content for example). Mind you, your static files include your CSS, javascript, images, flash and co. At ngbot (<a href="http://mobile.ngbot.com">mobile</a>, <a href="http://ads.ngbot.com">ads</a>, <a href="http://answers.ngbot.com">answers</a>) though, we don&#8217;t store our CSS, JS and all images in our CDN but there is a simple caching technique we use to reduce the effect of serving it from the deployment server, which I will talk about in a gifi.</p>
<p>Continuing from where I stopped on CDN in the last piece, how do you get content in and out of the CDN? It is simple &#8211; APIs. CDNs provide APIs you can interface directly from your application. Most providers even offer code libraries in different programming language to help out. <a href="http://rackspace.com">Rackspace</a> (which we use) for example has a great php class implementing the api. It is simple. You simply authenticate with some already provided details and you are good to go.</p>
<p>Below is an example code excerpt</p>
<pre>include 'cloud/cloudfiles.php';
# Authenticate. CLOUDUSER and CLOUDAPI predefined with define()
$auth = new CF_Authentication(CLOUDUSER, CLOUDAPI);
$auth-&gt;ssl_use_cabundle();
$auth-&gt;authenticate();
# Get Container obj
$conn = new CF_Connection($auth);
# Get container named 'static'. NB: container = folder
$container = $conn-&gt;get_container('static');
# Public?
if(!$container-&gt;is_public())
{
	# make public and cache content for a day
	echo $container-&gt;make_public(86400).' : '.$v.'
';
}</pre>
<p>Note the cache part where you can set the content to be cached on the user&#8217;s system for a number of seconds (8400 in the example = a day). By such, the content is stored on the user&#8217;s system for the specified duration and won&#8217;t be requested again from the CDN during that time. This consequently saves your CDN traffic and saves you money.</p>
<p>Ok, CDN settled, lets see other ways to serve static content from your server, as we do for our css, js and some of our image files. To start with this is specific to the Apache web server. There are ways to do it with other servers though.</p>
<p>The technique is based on caching. If you serve just static pages in your site (which I doubt) you can actually set your server, Apache in this case, to cache the site content for a specified duration. For people like me who have issues with caching all content and setting up proxy servers however, there are ways to cache some specific content by content-type. It is called <strong>Mod Expire</strong> in Apache and you can read more about it from the <a href="http://httpd.apache.org/docs/2.0/mod/mod_expires.html">Apache docs</a></p>
<p>In general, here is what it looks like (in htaccess).</p>
<pre>ExpiresActive on
# Images and flash
ExpiresByType image/png "access plus 2 month"
ExpiresByType image/gif "access plus 2 month"
ExpiresByType image/jpeg "access plus 2 month"
ExpiresByType application/x-shockwave-flash "access plus 2 month"
# css may change a bit sometimes, so dont cache too long
ExpiresByType text/css "access plus 5 days"
# special MIME type for icons in case not set yet
AddType image/vnd.microsoft.icon .ico
# now we have icon MIME type, we can use it
# But my favicon doesn't change much, so say 3 mnths
ExpiresByType image/vnd.microsoft.icon "access plus 3 months"
ExpiresByType image/x-icon "access plus 3 months"
# JS? A month will do
ExpiresByType application/x-javascript "access plus 1 month"</pre>
<p>I&#8217;d love to go on and on, but again, let&#8217;s leave it at here. Don&#8217;t forget however that scaling is about sniffing and optimizing every little thing that will weigh down your server, starting from checking your server (e.g Apache) and database (e.g MySQL) configuration. If you are using a framework, especially for your server side, you should be sure you set things up properly. Even at that, <a href="http://carsonified.com/blog/dev/databases/speed-up-your-web-app-by-1000-with-1-line-of-sql/">be sensitive to page load speeds</a> and memory consumption. You can check out your server memory consumption and other vital details with the Linux command <strong>free</strong> from shell. If you are not much of the shell/console type, there is <a href="http://phpsysinfo.sourceforge.net/">phpSysinfo</a> which displays vital system info in a web page format.</p>
<p>And finally, talking page load speed, output compression is a life saver. By compressing content sent to the http client (say browser) from the server, you can drastically reduce your page load time. <a href="http://devedgelabs.com">We</a> use <a href="http://prototypejs.org">prototype</a> as our parent js framework wich is quite heavy &#8211; around 74KB minified. Think of how long t will take this alone to load not to talk of other scripts. However, by output compression, the file is reduced to just around 21KB.</p>
<p>Output compression is a very easy thing. Note though, it is an extra work for the server so be sure of the trade off. In Apache (2.x), it is as smple as something like this: (<a href="http://httpd.apache.org/docs/2.0/mod/mod_deflate.html">Read more here</a>)</p>
<pre># Compress javascript and css files
AddOutputFilterByType DEFLATE application/x-javascript text/css</pre>
<p>Compressing a PHP file on the other hand is as simple as adding the line below just before any output buffering (any content is displayed/echoed)</p>
<pre>ob_start("ob_gzhandler");</pre>
<p>Ok, that&#8217;s all for now. Hope you&#8217;ve been able to learn a thing or two. Catch you later ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/how-to/vps-cdn-and-advanced-server-techniques-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing: ngBot answers</title>
		<link>http://www.bitblogr.com/reviews/introducing-ngbot-answers/</link>
		<comments>http://www.bitblogr.com/reviews/introducing-ngbot-answers/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 10:20:43 +0000</pubDate>
		<dc:creator>Ernest Ojeh</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[devedgelabs]]></category>
		<category><![CDATA[mobility]]></category>
		<category><![CDATA[ngBot]]></category>
		<category><![CDATA[Nigeria]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=100</guid>
		<description><![CDATA[ngBot is a portal of various applications specifically tailored (but not limited) to the Nigerian/African community [Powered by devedgelabs.com] has added yet another site to the portal. The fast-growing portal recently introduced ngBot answers. Before i cover what ngBot answers entails, lets do a quick run-through of a few solutions from ngBot/devedgelabs. ngBot mobile: Nigeria’s [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Freviews%2Fintroducing-ngbot-answers%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Freviews%2Fintroducing-ngbot-answers%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=devedgelabs,mobility,ngBot,Nigeria,web" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.ngbot.com/" target="_blank">ngBot</a> is a portal of various applications specifically tailored (but not limited) to the Nigerian/African community [Powered by <a href="http://devedgelabs.com">devedgelabs.com</a>] has added yet another site to the portal. The fast-growing portal recently introduced <a href="http://answers.ngbot.com/">ngBot answers</a>.</p>
<p><span id="more-100"></span></p>
<p>Before i cover what <a href="http://answers.ngbot.com/">ngBot answers</a> entails, lets do a quick run-through of a few solutions from <a href="http://ngbot.com">ngBot</a>/<a href="http://devedgelabs.com">devedgelabs</a>.</p>
<p><a href="http://devedgelabs.com"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="devedgelabs" src="http://www.bitblogr.com/wp-content/uploads/2009/09/devedgelabs.jpg" border="0" alt="devedgelabs" width="350" height="147" /></a></p>
<h2><a href="http://mobile.ngbot.com/">ngBot mobile:</a></h2>
<p><a href="http://mobile.ngbot.com/"></a>Nigeria’s mobile community. Though still in its beta stage, this fast-growing site offers free mobile downloads (ringtones, wallpapers, games, applications etc.) tools, tips &amp; tricks, hacks, SMS, share and learn and much more to cater for <span style="text-decoration: underline;">Africa’s largest &amp; fastest growing mobile market</span>. Users also get to contribute to every section of the site. The site is also accessible through mobile devices here @ <a href="http://mobile.ngbot.com/m">http://mobile.ngbot.com/m</a>.</p>
<p><a href="http://mobile.ngbot.com"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ngbot mobile" src="http://www.bitblogr.com/wp-content/uploads/2009/09/071.jpg" border="0" alt="ngbot mobile" width="500" height="332" /></a></p>
<p><a href="http://mobile.ngbot.com/downloads"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ngbot downloads" src="http://www.bitblogr.com/wp-content/uploads/2009/09/ngbotdownloads.png" border="0" alt="ngbot downloads" width="500" height="556" /></a></p>
<h2><a href="http://devedgelabs.com/mobile/nairamngr">nairaMngr:</a></h2>
<p>NairaMngr (Naira Manager) is a java (J2ME/MIDP 2.0) mobile application for day to day earnings and expenditure recording. It helps you keep tab of how much you earn and how much goes out. More info here: <a href="http://devedgelabs.com/mobile/nairamngr">http://devedgelabs.com/mobile/nairamngr</a></p>
<p>download version 1.1 (free): <a href="http://mobile.ngbot.com/downloads/apps/10">http://mobile.ngbot.com/downloads/apps/10</a></p>
<p><a href="http://devedgelabs.com/mobile/nairamngr"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="nairamngr" src="http://www.bitblogr.com/wp-content/uploads/2009/09/nairamngr.jpg" border="0" alt="nairamngr" width="500" height="300" /></a></p>
<h2><a href="http://nubley.com">nubley (public beta):</a></h2>
<p>Nubley is a directory of micro-bloggers on various micro-blogging platforms including; <a href="http://www.twitter.com/">Twitter</a>, <a href="http://www.naijapulse.com">NaijaPulse</a>, <a href="http://identi.ca/">Identi.ca</a> and so on. The service also features tools such as URL shortener, feed updater, auto-responders etc. Try it here: <a href="http://www.nubley.com/">http://www.nubley.com/</a></p>
<p><a href="http://nubley.com"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="nubley" src="http://www.bitblogr.com/wp-content/uploads/2009/09/072.jpg" border="0" alt="nubley" width="500" height="264" /></a></p>
<h2><a href="http://answers.ngbot.com/">ngBot Answers:</a></h2>
<p>ngBot Answers is a site where users can ask questions and get answers on various areas of interests. Users can also follow questions asked by others and get email notifications when they are answered. The site is also strictly moderated. Sounds like a forum, huh? Well, not really.. This is strictly for questions and answers.</p>
<p>Thinks about it; let’s say you need to find out where a certain place is located in Lagos, and the ‘mighty’ Google can’t help? You simply ask a question on <a href="http://answers.ngbot.com/">ngBot answers</a> and other users offer suitable answers. Still not convinced? Find out more: <a href="http://answers.ngbot.com/about">http://answers.ngbot.com/about</a></p>
<p>…or just try it out: <a href="http://answers.ngbot.com/">http://answers.ngbot.com/</a></p>
<p><a href="http://answers.ngbot.com/"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ngbot answers" src="http://www.bitblogr.com/wp-content/uploads/2009/09/answers.png" border="0" alt="ngbot answers" width="500" height="377" /></a></p>
<p><strong>Submit your web app:</strong> Do you want us to feature your web application, why don’t you tell us about it. Contact us.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/reviews/introducing-ngbot-answers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert illustrator files to CorelDraw</title>
		<link>http://www.bitblogr.com/graphics/convert-illustrator-files-to-coreldraw/</link>
		<comments>http://www.bitblogr.com/graphics/convert-illustrator-files-to-coreldraw/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 10:11:55 +0000</pubDate>
		<dc:creator>Ernest Ojeh</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[cards]]></category>
		<category><![CDATA[coreldraw]]></category>
		<category><![CDATA[illustrator]]></category>
		<category><![CDATA[print]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=90</guid>
		<description><![CDATA[I recently designed a couple of business cards in Adobe Illustrator. The designs were cool, but when i went to the printers in Shomolu to print them, they demanded that they had to redesign them in CorelDraw .. blah blah blah. On hearing this, i went back home to do it myself.. i thought; “isn’t [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Fgraphics%2Fconvert-illustrator-files-to-coreldraw%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Fgraphics%2Fconvert-illustrator-files-to-coreldraw%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=cards,coreldraw,illustrator,print" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently designed a couple of business cards in Adobe Illustrator. The designs were cool, but when i went to the printers in <abbr title="Lagos, Nigeria">Shomolu</abbr> to print them, they demanded that they had to redesign them in CorelDraw</p>
<p><span id="more-90"></span></p>
<p>.. blah blah blah.</p>
<p><a href="http://www.bitblogr.com/wp-content/uploads/2009/09/077.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/09/077_thumb.jpg" border="0" alt="" width="600" height="365" /></a></p>
<p>On hearing this, i went back home to do it myself.. i thought; “isn’t there an easier way of converting AI files to CDR?”</p>
<h2>The problem:</h2>
<p>As simple as the designs were, i didn’t want to redesign them in CorelDraw. And, incase i didn’t mention it earlier; “I hate CorelDraw”. Not that i can’t use it, but I&#8217;m like an Adobe fan boy. (Note: the word “Like”)</p>
<p>Another problem was; why aren’t the “printer guys&#8217;” flexible with the kind of formats they accept?</p>
<h2>As simple as “SVG”:</h2>
<p>Let me state here that I’m using Adobe Illustrator CS3 &amp; CorelDraw 12.</p>
<p>1. Save your work from illustrator as an SVG file. (File &gt; Save As)</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/09/074.jpg" border="0" alt="" width="392" height="147" /></p>
<p>2. Then from CorelDraw, import the SVG file (File &gt; import).</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/09/076.jpg" border="0" alt="" width="254" height="302" /></p>
<p>The difference between this method (using SVG) and opening the AI file directly is that the text is editable and also shape layers.</p>
<p>Also note that; CorelDraw does not recognize crop marks created with Adobe Illustrator, so you might want to crop your work in Illustrator before exporting.</p>
<p>And files may be grouped when imported into CorelDraw.</p>
<h2>Final Words:</h2>
<p>The guy at the print shop was glad to learn a thing or two, i hope you did? By the way, hope you like the card? ;)</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="business cards" src="http://www.bitblogr.com/wp-content/uploads/2009/09/devedgemockup.jpg" border="0" alt="business cards" width="551" height="429" /></p>
<p><strong>N.B:</strong> I skipped a few minor steps. If you have any difficulties, drop them in the comments area.</p>
<blockquote><p>Post update: Also read Jean-Philippe&#8217;s comment below.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/graphics/convert-illustrator-files-to-coreldraw/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Free bitblogr wallpaper: color cubes</title>
		<link>http://www.bitblogr.com/bitblogr/free-bitblogr-wallpaper-color-cubes/</link>
		<comments>http://www.bitblogr.com/bitblogr/free-bitblogr-wallpaper-color-cubes/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 18:12:11 +0000</pubDate>
		<dc:creator>Ernest Ojeh</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[Wallpapers]]></category>
		<category><![CDATA[bitblogr]]></category>
		<category><![CDATA[cubes]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=75</guid>
		<description><![CDATA[Just a simple wallpaper for you guys to enjoy. Created with photoshop &#38; illustrator ;) Feel free to share! You can also submit freebies you wish to share. Enjoy! resolutions: 1280x800px 1024x768px]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Fbitblogr%2Ffree-bitblogr-wallpaper-color-cubes%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Fbitblogr%2Ffree-bitblogr-wallpaper-color-cubes%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=bitblogr,cubes" height="61" width="50" /><br />
			</a>
		</div>
<p>Just a simple wallpaper for you guys to enjoy. Created with photoshop &amp; illustrator ;) Feel free to share!<span id="more-75"></span></p>
<p><img class="size-full wp-image-80 alignnone" title="wallpaper_prev" src="http://www.bitblogr.com/wp-content/uploads/2009/09/wallpaper_prev.jpg" alt="wallpaper_prev" width="410" height="410" /></p>
<p>You can also submit freebies you wish to share. Enjoy!</p>
<p>resolutions:</p>
<p><a href="http://bitblogr.com/wallpapers/colorcubes1280x800.jpg">1280x800px</a></p>
<p><a href="http://bitblogr.com/wallpapers/colorcubes1024x768.jpg">1024x768px</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/bitblogr/free-bitblogr-wallpaper-color-cubes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS: When property/value order matters</title>
		<link>http://www.bitblogr.com/how-to/css-when-propertyvalue-order-matters/</link>
		<comments>http://www.bitblogr.com/how-to/css-when-propertyvalue-order-matters/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 18:08:57 +0000</pubDate>
		<dc:creator>Opeyemi Obembe</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[How-To]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=67</guid>
		<description><![CDATA[Generally, the believe about CSS is that no matter what order your property or value declaration comes in a selector, it is the same. In other words, thus; *{ margin: 0; padding; 0; } is the same as *{ padding: 0; margin; 0; } But this is not always so. Let’s take a look at [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Fhow-to%2Fcss-when-propertyvalue-order-matters%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Fhow-to%2Fcss-when-propertyvalue-order-matters%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=CSS" height="61" width="50" /><br />
			</a>
		</div>
<p>Generally, the believe about CSS is that no matter what order your property or value declaration comes in a selector, it is the same.</p>
<p>In other words, thus;</p>
<pre>*{
margin: 0;

padding; 0;
}<span id="more-67"></span></pre>
<p>is the same as</p>
<pre>*{
padding: 0;

margin; 0;
}</pre>
<p>But this is not always so.</p>
<p><strong>Let’s take a look at borders;</strong></p>
<p>The declarations for borders looks something like this;</p>
<pre>.bordered{
  border: 1px solid #000;
  }</pre>
<p>If you are however interested in just the top and bottom border, you may want to go this way;</p>
<pre>.bordered{
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  }</pre>
<p>There is however a short-cut to that. A better way to go should be;</p>
<pre>.bordered{
  border: solid #000;
  border-width: 1px 0;

/* the 1px is for top &amp; bottom, while 0 is for left &amp; right  */
  }</pre>
<p>And that is where the order (which of ‘border’ &amp; ‘border-width’ comes first) matters. If the ordering is reversed (as shown below), it won’t work as expected.</p>
<pre>.bordered{
  border-width: 1px 0;

border: solid #000;

}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/how-to/css-when-propertyvalue-order-matters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VPS, CDN and advanced server techniques: Part 1</title>
		<link>http://www.bitblogr.com/how-to/vps-cdn-and-advanced-server-techniques-part-1/</link>
		<comments>http://www.bitblogr.com/how-to/vps-cdn-and-advanced-server-techniques-part-1/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 16:20:19 +0000</pubDate>
		<dc:creator>Opeyemi Obembe</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[Amazon s3]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[ngBot]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=63</guid>
		<description><![CDATA[VPS stands for Virtual Private Server, a type of hosting technology that gives you advanced features and server privilege as against a shared hosting. Its use in this article however refers generally to any type of hosting that allows you root access to your server &#8211; dedicated servers, VPS itself and Cloud servers as examples. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Fhow-to%2Fvps-cdn-and-advanced-server-techniques-part-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Fhow-to%2Fvps-cdn-and-advanced-server-techniques-part-1%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=Amazon+s3,Cloud,Facebook,Microsoft,ngBot,Servers,Twitter" height="61" width="50" /><br />
			</a>
		</div>
<p>VPS stands for Virtual Private Server, a type of hosting technology that gives you advanced features and server privilege as against a shared hosting. Its use in this article however refers generally to any type of hosting that allows you root access to your server &#8211; dedicated servers, VPS itself and Cloud servers as examples. I&#8217;d like to explain each in here but that is beyond the scope of this piece. Maybe some other time ;)<span id="more-63"></span></p>
<p>If you are proposing a startup or a big site &#8211; big in the term of eventual traffic and functionalities, then shared hosting is not the option for you. Really, I&#8217;m talking from experience. Go VPS. There are a lot of reasons for this but here are 3 core ones:</p>
<ol>
<li>With VPS, you have the ability to configure your server (app and OS) to your taste, removing and adding stuffs the way you want &#8211; and this is a very important thing.</li>
<li>On shared hosting, there is a limit to how &#8216;big&#8217; you can grow. Let me give you a live example here. We started <a href="http://ngbot.com">ngBot</a> on a shared hosting and everything was going fine till we added <a href="http://mobile.ngbot.com">ngBot mobile</a>. The whole idea was a play thing &#8211; just a place to share mobile items we get here and there and then meet other mobile geeks, but then it started getting more than that. In a while, we grew close to over 4000 members and was clocking around 30k monthly page views. And that was when the axe came from our shared hosting company. They disabled some of our scripts and advised us to go VPS or dedicated. The blow came so sudden and we had to take off the site for around a month till we found and nested on a suitable VPS host (cloud server actually). Needless to say, the one month the site was out cost us a lot of hits, members and Search Engine ranking.</li>
<li>On VPs you do not share resources with anyone like on shared hosting. Shared hostings are like face-to-face apartments where you share a lot of things together and you easily get disturbed by one another. If your neighbour on a shared hosting is a spammer for example, this may affect how mails from your site are delivered as well.</li>
</ol>
<p>One thing to note about VPS however is that they are costlier than shared hosting. Another is that they require a little advanced skill to setup especially if you go the vanilla blank server way and you are doing the OS, server and tools setup yourself. This is a really big one and I advice you go for the preinstalled/configured option if you are not up to it. The already setup ones comes with an admin app (CPanel mostly) and looks pretty much like your shared platform. With the blank ones, all you have is your ugly shell console to do everything you want. And if this is your way, you will find <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">putty</a> very useful.</p>
<p>Needless to say, a good knowledge of your VPS OS is a very important virtue. As a server admin, you should be very familiar with the OS directory structures, installing/removing packages and dependencies (good knowledge of building and compiling important here as well as build tools like make and gcc), editing config files with editors like vi and nano (as you know, this is very common to Linux) among others.</p>
<p>Another very important thing you should know about is DNS setup (A, MX and CNAME especially) and how to configure your A records with your server especially if you want to setup multiple domains on the server. A good into article on DNS is available here: <a href="http://carsonified.com/blog/web-apps/get-started-with-dns/" target="_blank">http://carsonified.com/blog/web-apps/get-started-with-dns/</a></p>
<p>Now, space and bandwidth is one luxury you don&#8217;t have on VPS. It is easy to find shared hosts promising you unlimited space/bandwidth but if you hear that on VPS, run away! The little one we run on at the moment offers just 20GB space as against our former shared hosting space of 1500GB! As a workaround to space and bandwidth issues on VPS, enter CDN (Content Delivery Network)!</p>
<p>CDN serve as storage backbone. Picture the scenario: storing our mobile stuffs (videos, apps, games, pictures) in our little 20GB space will leave us with little space for more upcoming ones. What if we have it stored in a different place &#8211; on a different server designed exclusively for data storage and transfer and not for core server functionalities like script compiling/serving etc? And that is what CDN is all about. CDNs are designed as storage servers for static data. But they don&#8217;t just store. The way they are designed is such that they distribute stored content between different other servers around the world and serve content from the server closest to the request source, making content serving fast. Not only that, CDNs also enable content caching.</p>
<p>You come across CDN in use every minute you surf the web &#8211; <a href="http://facebook.com">Facebook</a> (for storing/serving images/videos), <a href="http://twitter.com/">twitter</a> (for storing profile images), <a href="http://mobile.ngbot.com">ngBot mobile</a> (serving mobile download files) ;) and a lot more. Another good thing about CDN is that you don&#8217;t have a specific size you are limited to. You can consume as much as you want to as you pay per GB of space you use. Much more, it is cheap &#8211; very cheap. On the one we run on (<a href="http://www.rackspacecloud.com/cloud_hosting_products/file">Rackspace cloud files</a>), 1GB costs around $0.15. One of the most popular public CDN is <a href="https://s3.amazonaws.com/">Amazon S3</a>. They have been around for quite a while and a lot of sites use it, <a href="http://twitter.com/">twitter</a> as one. Another is <a href="www.rackspacecloud.com/cloud_hosting_products/file">Rackspace cloud files</a> (which we use) and the new <a href="http://www.microsoft.com/azure/">Microsoft Azure</a>.</p>
<p>So how exactly do you transfer content in and out of a CDN? What other ways are static content served? Why is it necessary? Where does caching comes into this? Join me in the next piece ;)</p>
<blockquote><p>Post update: The Second part of this article has been published <a href="http://www.bitblogr.com/how-to/vps-cdn-and-advanced-server-techniques-2/">here</a>.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/how-to/vps-cdn-and-advanced-server-techniques-part-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Create your own Monitor- With Photoshop!</title>
		<link>http://www.bitblogr.com/graphics/create-your-own-monitor-with-photoshop/</link>
		<comments>http://www.bitblogr.com/graphics/create-your-own-monitor-with-photoshop/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 18:24:03 +0000</pubDate>
		<dc:creator>Ernest Ojeh</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Monitor]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=55</guid>
		<description><![CDATA[We’re going to create a monitor in this tutorial. We’ll be working with gradients and blurs. So fire up PS and let’s go! Note: Dimensions used in this tutorial may differ depending on the size of your canvas. Step 1: Create a new document of whatever size (I’m using 1024x1024px). Create a rectangle of the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Fgraphics%2Fcreate-your-own-monitor-with-photoshop%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Fgraphics%2Fcreate-your-own-monitor-with-photoshop%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=Computer,Monitor" height="61" width="50" /><br />
			</a>
		</div>
<p>We’re going to create a monitor in this tutorial. We’ll be working with gradients and blurs. So fire up PS and let’s go!</p>
<p>Note: Dimensions used in this tutorial may differ depending on the size of your canvas.</p>
<p><span id="more-55"></span></p>
<h2>Step 1:</h2>
<p>Create a new document of whatever size (I’m using 1024x1024px). Create a rectangle of the monitor using the rounded rectangle tool. Fill it with #000000 and apply the bevel and emboss settings below.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image4.png" border="0" alt="" width="400" height="287" /></p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image5.png" border="0" alt="" width="400" height="277" /></p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image6.png" border="0" alt="" width="400" height="293" /></p>
<h2>Step 2:</h2>
<p>Now to create the stand. On a new layer below the Use the pen tool to draw out the monitor stand. Then apply the layer styles below.</p>
<p><strong>Tip:</strong> If you’re having problems drawing the shape, you can draw half, duplicate the layer, flip it horizontal and join it.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image7.png" border="0" alt="" width="400" height="277" /></p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image8.png" border="0" alt="" width="400" height="277" /></p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image9.png" border="0" alt="" width="400" height="348" /></p>
<h2>Step 3:</h2>
<p>We’re going to use the pen tool with the help of the brush tool to add some detail.</p>
<p>First, select the the brush tool (Airbrush) with diameter of about 7px &amp; foreground color: #000000.</p>
<p>Then ctrl+click on the monitor stand layer and use the pen tool to make the selection below. Then right-click &amp; select ‘Stroke path’ and apply a slight Gaussian blur.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image10.png" border="0" alt="" width="400" height="253" /></p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image11.png" border="0" alt="" width="400" height="253" /></p>
<h2>Step 4:</h2>
<p>We’re going to apply the same treatment to some other areas but with different brush diameters.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/034.jpg" border="0" alt="" width="400" height="348" /></p>
<h2>Step 5:</h2>
<p>Create a new layer called “screen”. With the rounded rectangle tool, draw out the screen and fill with #74B2C6. Then apply the layer style below.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image12.png" border="0" alt="image" width="400" height="332" /> <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image13.png" border="0" alt="" width="400" height="348" /></p>
<h2>Step 6:</h2>
<p>Make the selection below, then apply a linear gradient from transparent(up) to #ffffff(down) and set the opacity to 15%.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image14.png" border="0" alt="" width="400" height="360" /></p>
<h2>My Final Image:</h2>
<p>Below is my final image. Hope you enjoyed this tutorial?</p>
<p><a href="http://www.bitblogr.com/wp-content/uploads/2009/07/image15.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image_thumb.png" border="0" alt="" width="400" height="405" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/graphics/create-your-own-monitor-with-photoshop/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to design the glo logo in photoshop</title>
		<link>http://www.bitblogr.com/graphics/how-to-design-the-glo-logo-in-photoshop/</link>
		<comments>http://www.bitblogr.com/graphics/how-to-design-the-glo-logo-in-photoshop/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 14:50:41 +0000</pubDate>
		<dc:creator>Ernest Ojeh</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[glo]]></category>
		<category><![CDATA[logo]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=35</guid>
		<description><![CDATA[This simple tutorial will show you how to use the blur tool to make surfaces look reflected. The aim of this tutorial is to let beginners get used to some basic tools in photoshop. Step 1: Create a new photoshop document of 650x520px. Using the ellipse tool, create a circle and fill with #16B809. Let’s [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Fgraphics%2Fhow-to-design-the-glo-logo-in-photoshop%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Fgraphics%2Fhow-to-design-the-glo-logo-in-photoshop%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=glo,logo" height="61" width="50" /><br />
			</a>
		</div>
<p>This simple tutorial will show you how to use the blur tool to make surfaces look reflected. The aim of this tutorial is to let beginners get used to some basic tools in photoshop.</p>
<p><span id="more-35"></span></p>
<h2>Step 1:</h2>
<p>Create a new photoshop document of 650x520px. Using the ellipse tool, create a circle and fill with #16B809. Let’s call this layer “circle”.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="circle" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image.png" border="0" alt="circle" width="240" height="228" /></p>
<h2>Step 2:</h2>
<p>Ctrl+click on the “circle” layer thumbnail &amp; on a new layer, apply a linear gradient from black(down) to transparent(up). You can reduce the opacity a little.</p>
<p><strong>Tip: </strong>When using the gradient tool, hold shift to constrain it to vertical, horizontal &amp; diagonal gradients.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/mw014.jpg" border="0" alt="" width="240" height="228" /></p>
<h2>Step 3:</h2>
<p>Ctrl+click on the “circle” layer again and make the selection below using the pen tool then subtract the selection. On a new layer, apply a linear gradient of transparent(down) to black(up). Then reduce the opacity to 10% or less.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/mw016.jpg" border="0" alt="" width="240" height="228" /></p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/image1.png" border="0" alt="" width="240" height="197" /></p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/snap021.jpg" border="0" alt="" width="240" height="228" /></p>
<h2>Step 4 (Adding some shine):</h2>
<p>Select the Elliptical marquee tool and make a selection on a new layer. Then apply a Gaussian blur (Filter &gt;Blur &gt;Gaussian blur).</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/9.jpg" border="0" alt="" width="240" height="196" /></p>
<h2>Step 5 (Some more shine):</h2>
<p>Apply the effect to some other areas.</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" src="http://www.bitblogr.com/wp-content/uploads/2009/07/11.jpg" border="0" alt="" width="285" height="252" /></p>
<h2>My final image:</h2>
<p>You can them add text or whatever ;) I hope you learned a thing or two. Below is my final image.</p>
<p><a href="http://www.bitblogr.com/wp-content/uploads/2009/07/final.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="final" src="http://www.bitblogr.com/wp-content/uploads/2009/07/final_thumb.jpg" border="0" alt="final" width="240" height="240" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/graphics/how-to-design-the-glo-logo-in-photoshop/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>bitblogr.com: ‘The Launch’</title>
		<link>http://www.bitblogr.com/bitblogr/bitblogr-com-the-launch/</link>
		<comments>http://www.bitblogr.com/bitblogr/bitblogr-com-the-launch/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 19:01:04 +0000</pubDate>
		<dc:creator>Ernest Ojeh</dc:creator>
				<category><![CDATA[bitblogr]]></category>

		<guid isPermaLink="false">http://www.bitblogr.com/?p=5</guid>
		<description><![CDATA[Welcome to bitblogr. What we are about. We love creativity, graphic &#38; web-design/development,.. We&#8217;ll be sharing tutorials, web tips, trends et.c You can follow us on twitter for more updates]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;margin-right:10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bitblogr.com%2Fbitblogr%2Fbitblogr-com-the-launch%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bitblogr.com%2Fbitblogr%2Fbitblogr-com-the-launch%2F&amp;source=bitblogr&amp;style=normal&amp;service_api=R_2574ec2cdf93a9dc24a80c02f8d96a25&amp;hashtags=bitblogr" height="61" width="50" /><br />
			</a>
		</div>
<p>Welcome to bitblogr.</p>
<p><img title="More..." src="http://localhost/namzo/wordpress/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /><span id="more-5"></span></p>
<h2>What we are about.</h2>
<p>We love creativity, graphic &amp; web-design/development,.. We&#8217;ll be sharing tutorials, web tips, trends et.c</p>
<p>You can <a href="http://twitter.com/bitblogr" target="_blank">follow us on twitter</a> for more updates</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bitblogr.com/bitblogr/bitblogr-com-the-launch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
