<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Adventures of a Geek</title>
	
	<link>http://aniri.ro/geek</link>
	<description>various programming related articles</description>
	<lastBuildDate>Tue, 15 May 2012 12:52:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/AnirisGeekyBlog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="anirisgeekyblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">AnirisGeekyBlog</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Organizing Hierarchical Databases</title>
		<link>http://aniri.ro/geek/tutorials/organizing-hierarchical-databases/</link>
		<comments>http://aniri.ro/geek/tutorials/organizing-hierarchical-databases/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 14:14:35 +0000</pubDate>
		<dc:creator>aniri</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://aniri.ro/geek/?p=203</guid>
		<description><![CDATA[&#160; I was researching a better way of organizing the database of one of my projects and came across an interesting article. The article is about organizing hierarchical data in mysql databases. Here it is. The two methods proposed are very well explained and also the advantages and disadvantages of using each method are presented. It helped [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>I was researching a better way of organizing the database of one of my projects and came across an interesting article. The article is about organizing hierarchical data in mysql databases. <a title="Managing Hierarchical Data in MYSQL" href="http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/" target="_blank">Here</a> it is. The two methods proposed are very well explained and also the advantages and disadvantages of using each method are presented. It helped me get a clear picture of the available methods and pick the best one for my project <img src='http://aniri.ro/geek/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/xExDNSxIaLeeckOMPYKWYYeuH5s/0/da"><img src="http://feedads.g.doubleclick.net/~a/xExDNSxIaLeeckOMPYKWYYeuH5s/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/xExDNSxIaLeeckOMPYKWYYeuH5s/1/da"><img src="http://feedads.g.doubleclick.net/~a/xExDNSxIaLeeckOMPYKWYYeuH5s/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://aniri.ro/geek/tutorials/organizing-hierarchical-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to make website registration easier using facebook accounts part 2</title>
		<link>http://aniri.ro/geek/tutorials/how-to-make-website-registration-easier-using-facebook-accounts-part-2/</link>
		<comments>http://aniri.ro/geek/tutorials/how-to-make-website-registration-easier-using-facebook-accounts-part-2/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 08:12:35 +0000</pubDate>
		<dc:creator>aniri</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[signup]]></category>

		<guid isPermaLink="false">http://aniri.ro/geek/?p=246</guid>
		<description><![CDATA[&#160; This is the second part the tutorial. If you haven't read the first part yet, you can do so here. Extra features Once logged into their accounts, the users can see some info about their friends – the total number of facebook friends they have and how many of their friends are using our [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>This is the second part the tutorial. If you haven't read the first part yet, you can do so <a href="http://aniri.ro/geek/tutorials/how-to-make-website-registration-easier-using-facebook-account" target="_blank">here</a>.</p>
<h2>Extra features</h2>
<p>Once logged into their accounts, the users can see some info about their friends – the total number of facebook friends they have and how many of their friends are using our app.</p>
<p>Also they have the option to post on their facebook wall.</p>
<h2>Get the friends list</h2>
<p>For getting the users friends list, we will have to make another call to the Graph API. The code looks like this:</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php

$graph_url = &quot;https://graph.facebook.com/me/friends?access_token=&quot; . $_SESSION['access_token'];

$friends = json_decode(file_get_contents($graph_url));

$friends_array = $friends-&gt;data;

$signedup = 0;

$ids_array = Array();

for($i = 0; $i &lt; count($friends_array); $i++){

$ids_array[] = $friends_array[$i]-&gt;{'id'};

}

$q = mysql_query(&quot;select facebook_id from `facebook-signup`&quot;);

while ($id = mysql_fetch_array($q)){

if (in_array($id['facebook_id'], $ids_array)){

$signedup += 1;

}

}

?&gt;

&lt;div style=&quot;margin: 20px;&quot;&gt;You have &lt;?php echo count($friends_array);?&gt; friends on facebook, &lt;?php echo $signedup;?&gt; have an account here!&lt;/div&gt;
</pre>
<p>The url we make a request to is: <strong>https://graph.facebook.com/me/friends</strong>. And all we have to send as parameter is the access token we have stored in session. The API will return a <a title="JSON" href="http://en.wikipedia.org/wiki/JSON" target="_blank">JSON</a> encoded list of friends usernames and facebook ids. We have printed the total number of friends. For checking how many friends have accounts at our app, we make a query to the db to get all the facebook ids and for each of these we checked if they are in the users friends list. As you can see, we have printed out the result of the count.</p>
<h2>Posting on wall</h2>
<p>To post on a users wall we have to make a post request to the url to call the graph api <strong>https://graph.facebook.com/THE_FACEBOOK_ID_OF_THE_USER/feed</strong>. We will need the following parameters for the call:</p>
<ul>
<li>our app id</li>
<li>the access token</li>
<li>the message to post on the wall</li>
</ul>
<p>We have created a simple form on the page with a textarea for the status and a button for posting it:</p>
<pre class="brush: php; title: ; notranslate">
&lt;pre&gt;
&lt;form id=&quot;fb_form&quot;&gt;

&lt;textarea rows=&quot;7&quot; style=&quot;width: 98%&quot; id=&quot;status&quot; name=&quot;status&quot;&gt;&lt;/textarea&gt;

&lt;br/&gt;

&lt;?php

$uid = $_SESSION['uid'];
         $usr = mysql_query(&quot;select * from `YOUR_TABLE_NAME` where id=$uid&quot;);
         $usr = mysql_fetch_array($usr);
$url = &quot;https://graph.facebook.com/&quot;.$usr['facebook_id'].&quot;/feed&quot;;

$app_id = &quot;YOUR_APP_ID&quot;;

$access_token = $_SESSION['access_token'];

?&gt;

&lt;button id=&quot;post_button&quot; onclick=&quot;updateStatus('&lt;?php echo $url;?&gt;', '&lt;?php echo $access_token;?&gt;', '&lt;?php echo $app_id;?&gt;')&quot;&gt;Post on facebook&lt;/button&gt;

&lt;/form&gt;
&lt;/pre&gt;
</pre>
<p>As you can see we have set the values we need for the call, app_id and access_token and called the updateStatus javascript function with these parameters.</p>
<p>To get the info about the user (their facebook id we need for the url) we have queried the db. The id of the user was already stored in session (remember we did that when logging the user in) together with the access token. Using the id of the users we have sent a query to the database to get the rest of the user info.</p>
<p>The updateStatus function looks like this:</p>
<pre class="brush: plain; title: ; notranslate">
&lt;pre&gt;

function updateStatus(url, access_token, app_id){

document.getElementById('post_button').disabled = true;

message = document.getElementById('status').value;

var jqxhr = $.post(url, { &quot;access_token&quot;: access_token, &quot;message&quot;: message, &quot;app_id&quot;: app_id },

function(data) {

alert(&quot;Status updated successfully!&quot;);

document.getElementById('post_button').disabled = false;

document.getElementById('status').value = &quot;&quot;;

});

}
&lt;/pre&gt;
</pre>
<p>We have used the <a title="jquery" href="http://jquery.com/" target="_blank">jquery</a> library to make a post request. The parameters we sent are the appid, accesstoken and the message that the user wrote. We get the text of the message by getting the value of the textarea.</p>
<pre class="brush: plain; title: ; notranslate">&lt;pre&gt;message = document.getElementById('status').value; &lt;/pre&gt;</pre>
<p>Using these values, we make a post request to the server and when the server returns successfully, we show a message to the user to let them know the status was posted.</p>
<p>We also added some code that disabled the post button while the request is made to prevent the user from clicking more than once on it and posting the same message twice. Once the request returns, the button is enabled.</p>
<h2>Deleting the account</h2>
<p>We have also added a button for users to be able to delete their accounts:</p>
<pre class="brush: php; title: ; notranslate">

&lt;a onclick=&quot;return testDelete();&quot; href=&quot;deleteAccount.php?id=&lt;?php echo $usr[id];?&gt;&quot;&gt;&lt;button&gt;Delete account&lt;/button&gt;&lt;/a&gt;
</pre>
<p>When they press the button we will show a popup box to check that they are sure they want to delete their account. We do this by calling the <em>testDelete()</em> js function that looks like this:</p>
<pre class="brush: jscript; title: ; notranslate">
function testDelete()
{
return confirm(&quot;Are you sure you want to delete your account?&quot;);
}
</pre>
<p>After they confirm, they are redirected to the <em>deleteAccount.php</em> script that does the deletion. The scripts gets the user id and runs the sql query for deleting the user from our db. After deletion, the scripts redirects to the index page.</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php

$id = $_GET['id'];

$q = mysql_query(&quot;delete from `YOUR_TABLE_NAME` where id=$id&quot;);

header('Location: index.php');

?&gt;
</pre>
<p>And that’s it! We have learnt how to add facebook registration/login to our site! Of course, this tutorial only shows basic features, but starting from this you can add whatever features you need.</p>
<h2>Conclusion</h2>
<p>I hope you enjoyed the tutorial and that you now have a better picture on how to use facebook for user registration. In case you have any questions or comments, please don’t hesitate to ask. I’d be happy to help!</p>
<h2>Source Code</h2>
<p>I have included an zip file with the complete code for both parts of the tutorial. Don't forget to download the <a href="http://twitter.github.com/bootstrap/" target="_blank">twitter bootstrap</a> folder and place it in the same folder with my source code to view the nice layout. And if you want to test the code, you will have to replace the app_id, app_secret and db related values. You can <a href="http://aniri.ro/tutorial-facebook-signup/tutorial-facebook-signup.zip" target="_blank">download the code from here</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/4a9oxyL3p7sF4GMYDurJAM2Bn_k/0/da"><img src="http://feedads.g.doubleclick.net/~a/4a9oxyL3p7sF4GMYDurJAM2Bn_k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/4a9oxyL3p7sF4GMYDurJAM2Bn_k/1/da"><img src="http://feedads.g.doubleclick.net/~a/4a9oxyL3p7sF4GMYDurJAM2Bn_k/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://aniri.ro/geek/tutorials/how-to-make-website-registration-easier-using-facebook-accounts-part-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How to make website registration easier using facebook accounts</title>
		<link>http://aniri.ro/geek/tutorials/how-to-make-website-registration-easier-using-facebook-accounts/</link>
		<comments>http://aniri.ro/geek/tutorials/how-to-make-website-registration-easier-using-facebook-accounts/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 16:44:09 +0000</pubDate>
		<dc:creator>aniri</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[signup]]></category>

		<guid isPermaLink="false">http://aniri.ro/geek/?p=228</guid>
		<description><![CDATA[What are we going to build? In this tutorial we will learn how we can facilitate user registration but letting users register to our site using their facebook accounts. This way, they won’t have to fill in any data, just grant the app access to their facebook account and that’s it! Their new account is [...]]]></description>
			<content:encoded><![CDATA[<h2></h2>
<h2>What are we going to build?</h2>
<p>In this tutorial we will learn how we can facilitate user registration but letting users register to our site using their facebook accounts. This way, they won’t have to fill in any data, just grant the app access to their facebook account and that’s it! Their new account is created and they can easily login to our website.</p>
<p>We will be making calls to facebooks <a title="Facebook Graph API" href="https://developers.facebook.com/docs/reference/api/" target="_blank">Graph API</a> in order to retrieve the necessary information. In case you are not familiar with it, you might want to take a look at the documentation to get an idea of what it does.</p>
<p>You can view the working demo of what we are going to build <a title="Tutorial demo" href="http://aniri.ro/tutorial-facebook-signup" target="_blank">here</a>.</p>
<p>The tutorial will have two parts: the first will cover the basic signup/login issues, the second will cover the extra features we will add to our app (viewing friends info and posting on the wall).</p>
<p>Let’s get started!</p>
<h2>Getting started</h2>
<p>You would be using this is you have a website  that users can register to and you want to make the registration easier for them by allowing them to register with their facebook accounts. In the tutorial, I will only show you how to use facebook accounts for registration, not how to add this to your existing registration. But it shouldn’t be difficult to integrate if you understand the tutorial. If you have questions on that, just ask.</p>
<p>For this tutorial you will need some basic PHP and Javascript knowledge.</p>
<h2>Creating a new facebook app</h2>
<p>The first thing we have to do is create a new facebook app. To do this, go <a title="Facebook apps" href="https://developers.facebook.com/apps" target="_blank">here</a> and chose to create a new app. You will get to the screen when you have to fill in the app info. The screen will look something like this:</p>
<p><a href="http://aniri.ro/geek/wp-content/uploads/2012/01/fb-app.jpg"><img title="fb-app" src="http://aniri.ro/geek/wp-content/uploads/2012/01/fb-app.jpg" alt="" width="712" height="692" /></a></p>
<p>As you can see in the screenshot, you will have to fill in the following:</p>
<ul>
<li><strong>A display nam</strong>e for your app</li>
<li>Your <strong>email address</strong></li>
<li>The <strong>domain</strong> where the app will be hosted</li>
<li><strong>The site url</strong> – <strong>this is the most important value</strong>, it is the url of the page where the app will be redirected after facebook authorization. This page will hold the logic for registering new users and loggin in returning users.</li>
</ul>
<p>So, make sure you fill in the site url correctly and keep in mind the values at the top of the page (app is and app secret) as we will need them later.</p>
<p>And that’s it! You now have a facebook app. Let’s see how we can use it!</p>
<h2>Creating the db</h2>
<p>Next we have to create the db table to hold the data about our users. Let’s suppose we want to store the following data about our users:</p>
<ul>
<li>Username</li>
<li>Email</li>
<li>Name</li>
</ul>
<p>You will probably want to store more data in a real application, but these will do for the tutorial.</p>
<p>Apart from these, we will also want to store the facebook id of the users. So our database will look something like this:</p>
<p><a href="http://aniri.ro/geek/wp-content/uploads/2012/01/db.jpg"><img title="db" src="http://aniri.ro/geek/wp-content/uploads/2012/01/db.jpg" alt="" width="456" height="297" /></a></p>
<p>The php code for connecting to the database looks like this:</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php

$server = &quot;YOUR_SERVER_ADDRESS&quot;;

$username = &quot;YOUR_USERNAME&quot;;

$password = &quot;YOUR_PASSWORD&quot;;

$database = &quot;YOUR_DATABASE_NAME&quot;;

$connId = mysql_connect($server,$username,$password) or die(&quot;Cannot connect to server&quot;);

$selectDb = mysql_select_db($database,$connId) or die(&quot;Cannot connect to database&quot;);

?&gt;
</pre>
<h2>Designing the site</h2>
<p>Our demo website will have a few pages:</p>
<ul>
<li>index.php – the starting point -the users can choose to signup/login with facebook from here</li>
<li>welcome.php – the users will be redirected here after creating a new account</li>
<li>home.php – the main user page, the user will view some info about their facebook friends, have the options to post a new status on facebook and delete their account</li>
</ul>
<p>I will leave out any design issues. I have chosen to use the <a title="Twitter bootstrap" href="http://twitter.github.com/bootstrap/" target="_blank">twitter bootstrap</a> library to make a nice demo, but you can choose whatever you like for yours. The design on the website is not in the scope of this tutorial.</p>
<h2>Signup with facebook</h2>
<p>The main page, index.php will hold one button to allow users to signup/login. The code looks like this:</p>
<pre class="brush: plain; title: ; notranslate">

&lt;a href=&quot;https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&amp;redirect_uri=YOUR_APP_REDIRECT_URL&amp;scope=publish_stream&quot; title=&quot;Signup with facebook&quot;&gt;

&lt;button&gt;Signup with facebook&lt;/button&gt;

&lt;/a&gt;
</pre>
<p>All we have to do in order to do this, is redirect the user to the facebook oauth dialog where they have to allow the usage of our app.</p>
<p>All we have to do is make a call to the url <strong>https://www.facebook.com/dialog/oauth</strong> and mention a few parameters:</p>
<ul>
<li><strong>client_id</strong> – your app id - remember the value from when we created the facebook app? Here’s one of the places we need it <img src='http://aniri.ro/geek/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>redirect_uri</strong> – the url where you want the app the redirect after authenticating with facebook</li>
</ul>
<p>these two are the only mandatory values</p>
<p>You can see that I added a new one: <strong>scope</strong>. A simple app allows you only to access the basic info that users made public from their facebook accounts. If you want to access more info or be able to use their account in other ways, like posting on their wall from you app and such, you will need to be granted special permissions by the user. This is why we use the <strong>scope</strong> parameter, to specify the permissions we need for our app. I added the <em>publish_stream</em> permission, which will allow us to post on user wall. You can view the <a title="Facebook authentication permissions" href="https://developers.facebook.com/docs/authentication/permissions/" target="_blank">complete list of permission here</a>.</p>
<p>When clicking on the button, the user will get redirected to the authentication screen from facebook and after they grant the permissions, they will be redirected to our app. They will receive a code which we will have to use in order to get an access token for the user. Why do we need an access token? Well, every request for user data that we want to make to facebook will need this access token. So here’s how we get it:</p>
<pre class="brush: php; title: ; notranslate">
&lt;pre&gt;
$app_id = &quot;YOU_APP_ID&quot;;

$app_secret = &quot;YOUR_APP_SECRET&quot;;

$my_url = &quot;YOUR_APP_REDIRECT_URL&quot;;

$token_url = &quot;https://graph.facebook.com/oauth/access_token?&quot;

. &quot;client_id=&quot; . $app_id . &quot;&amp;redirect_uri=&quot; . urlencode($my_url)

. &quot;&amp;client_secret=&quot; . $app_secret . &quot;&amp;code=&quot; . $code . &quot;&amp;scope=publish_stream&quot;;

&amp;nbsp;

$response = @file_get_contents($token_url);

$params = null;

parse_str($response, $params);
&lt;/pre&gt;
</pre>
<p>We again need to app id and secret. With these and the redirect url (the one we set when creating the app) and the code we received we will make a new request to facebook to get the access token. After executing the code above, the access token will be stored in <em>$params['access_token'].</em></p>
<p>With this, we can make a request to the facebook graph api and get the user data, like so:</p>
<pre class="brush: php; title: ; notranslate">
&lt;pre&gt;
$graph_url = &quot;https://graph.facebook.com/me?access_token=&quot;

. $params['access_token'];

&amp;nbsp;

$user = json_decode(file_get_contents($graph_url));

$username = $user-&gt;username;

$email = $user-&gt;email;

$facebook_id = $user-&gt;id;
&lt;/pre&gt;
</pre>
<p>We will get the data we decided to use for the app: <em>username</em>, <em>facebook_id</em> and <em>email addres</em>s.</p>
<p>What we have to do next is check whether the user has already registered for our app. We will check if the <em>facebook_id</em> is already in our db.  If it is, then the user already has an account and they will be redirected to their home page (they will be logged into their account). If the user is not in db, then we will add them and redirect them to the welcome page. Like this:</p>
<pre class="brush: php; title: ; notranslate">

// check if user in db =&gt; login

$result = mysql_query(&quot;select * from `YOUR_TABLE_NAME` where `facebook_id`='$facebook_id'&quot;);

if (mysql_num_rows($result) == 1)

{

$usr = mysql_fetch_array($result);

$_SESSION['username'] = $usr['username'];

$_SESSION['uid'] = $usr['id'];

$_SESSION['access_token'] = $params['access_token'];

?&gt;

&lt;script&gt;

top.location.href='home.php'

&lt;/script&gt;

&lt;?php

}

else // if user not in db

{

$join_date  = date('Y-m-d h:i:s');

$query = mysql_query(&quot;INSERT INTO `YOUR_TABLE_NAME` (username, email, facebook_id, join_date)

VALUES ('$username', '$email', '$facebook_id', '$join_date')&quot;);

$_SESSION['uid'] = mysql_insert_id();

$_SESSION['username'] = $username;

$_SESSION['access_token'] = $params['access_token'];

?&gt;

&lt;script&gt;

top.location.href='welcome.php'

&lt;/script&gt;

&lt;?php

}
</pre>
<p>As you can see, we have also set some variables in session. We will need these to check the id/username of the logged in user and the access token. Remember I said we need this for every request we will make to the Facebook Graph API! And that’s it!</p>
<p>For more info, you can see the facebook documentation on authentication <a href="https://developers.facebook.com/docs/authentication/server-side/" target="_blank">here</a>.</p>
<p>And that's it for today, the part 2 of the tutorial is available <a href="http://aniri.ro/geek/tutorials/how-to-make-website-registration-easier-using-facebook-accounts-part-2" target="_blank">here</a>!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Xd39pJ8eldPz8B_y9Ap1TqalNw0/0/da"><img src="http://feedads.g.doubleclick.net/~a/Xd39pJ8eldPz8B_y9Ap1TqalNw0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Xd39pJ8eldPz8B_y9Ap1TqalNw0/1/da"><img src="http://feedads.g.doubleclick.net/~a/Xd39pJ8eldPz8B_y9Ap1TqalNw0/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://aniri.ro/geek/tutorials/how-to-make-website-registration-easier-using-facebook-accounts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cool Google Maps icons</title>
		<link>http://aniri.ro/geek/development/google-maps/cool-google-maps-icons/</link>
		<comments>http://aniri.ro/geek/development/google-maps/cool-google-maps-icons/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 08:35:27 +0000</pubDate>
		<dc:creator>aniri</dc:creator>
				<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[icons]]></category>

		<guid isPermaLink="false">http://aniri.ro/geek/?p=193</guid>
		<description><![CDATA[I came across these today. It's a set of more that 700 icons for using as markers in your google maps. I must say they look pretty neat and will definitely help personalize one's maps. I will surely use them in my next google maps project. There are also free]]></description>
			<content:encoded><![CDATA[<p>I came across <a href="http://mapicons.nicolasmollet.com/category/markers/" title="Google Maps Icons" target="_blank">these</a> today. It's a set of more that 700 icons for using as markers in your google maps. I must say they look pretty neat and will definitely help personalize one's maps. I will surely use them in my next google maps project. There are also free <img src='http://aniri.ro/geek/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/LS3URGbaNBgziR1otSoqBxrS9Io/0/da"><img src="http://feedads.g.doubleclick.net/~a/LS3URGbaNBgziR1otSoqBxrS9Io/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/LS3URGbaNBgziR1otSoqBxrS9Io/1/da"><img src="http://feedads.g.doubleclick.net/~a/LS3URGbaNBgziR1otSoqBxrS9Io/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://aniri.ro/geek/development/google-maps/cool-google-maps-icons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TopUp – awesome library for popups</title>
		<link>http://aniri.ro/geek/resources/topup-awesome-library-for-popups/</link>
		<comments>http://aniri.ro/geek/resources/topup-awesome-library-for-popups/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 07:48:44 +0000</pubDate>
		<dc:creator>aniri</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[popup]]></category>
		<category><![CDATA[topup]]></category>

		<guid isPermaLink="false">http://aniri.ro/geek/?p=190</guid>
		<description><![CDATA[I was looking for a prettier way of showing a popup window in my site and came across TopUp. It definitely looks nicer than others I've seen and is easy to install and use. It's also free to use For more info, documentation and demos, check out their site!]]></description>
			<content:encoded><![CDATA[<p>I was looking for a prettier way of showing a popup window in <a href="http://aniri.ro" target="_blank">my site</a> and came across <a href="http://gettopup.com/" target="_blank">TopUp</a>. It definitely looks nicer than others I've seen and is easy to install and use. It's also free to use <img src='http://aniri.ro/geek/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For more info, documentation and demos, check out <a href="http://gettopup.com/" target="_blank">their site</a>!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/p1zbbmK-AIuphfF87B75yZQFyFk/0/da"><img src="http://feedads.g.doubleclick.net/~a/p1zbbmK-AIuphfF87B75yZQFyFk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/p1zbbmK-AIuphfF87B75yZQFyFk/1/da"><img src="http://feedads.g.doubleclick.net/~a/p1zbbmK-AIuphfF87B75yZQFyFk/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://aniri.ro/geek/resources/topup-awesome-library-for-popups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beginning android development</title>
		<link>http://aniri.ro/geek/development/android/beginning-android-development/</link>
		<comments>http://aniri.ro/geek/development/android/beginning-android-development/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 11:41:14 +0000</pubDate>
		<dc:creator>aniri</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[corona sdk]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://aniri.ro/geek/?p=157</guid>
		<description><![CDATA[I have decided to start playing with android, maybe develop apps or small games. But before that, it's study time I looked for a few introductory tutorials and made a list: The android essential series on mobile.tutsplus.com The android fundamentals series on mobile.tutsplus.com The android user interface design series on mobile.tutsplus.com I also found a [...]]]></description>
			<content:encoded><![CDATA[<p>I have decided to start playing with android, maybe develop apps or small games. But before that, it's study time <img src='http://aniri.ro/geek/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I looked for a few introductory tutorials and made a list:</p>
<ul>
<li><a href="http://mobile.tutsplus.com/series/android-essentials/" target="_blank">The android essential series on mobile.tutsplus.com</a></li>
<li><a href="http://mobile.tutsplus.com/series/android-fundamentals/" target="_blank">The android fundamentals series on mobile.tutsplus.com</a></li>
<li><a href="http://mobile.tutsplus.com/series/android-user-interface-design/" target="_blank">The android user interface design series on mobile.tutsplus.com</a></li>
</ul>
<p>I also found <a href="http://www.amazon.com/Teach-Yourself-Android-Application-Development/dp/0321673352" target="_blank">a book</a> which should also prove useful.</p>
<p>I also looked for frameworks that would ease app development, and discovered <a href="http://www.anscamobile.com/corona/" target="_blank">Corona</a>. It doesn't seems hard to get used to and there are loads of tuttorials out there to help you, both on their site, or <a href="http://mobile.tutsplus.com/category/tutorials/corona/" target="_blank">on others</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/ZyOm8B6Dt1IC1akUaLCoLEOvHpE/0/da"><img src="http://feedads.g.doubleclick.net/~a/ZyOm8B6Dt1IC1akUaLCoLEOvHpE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ZyOm8B6Dt1IC1akUaLCoLEOvHpE/1/da"><img src="http://feedads.g.doubleclick.net/~a/ZyOm8B6Dt1IC1akUaLCoLEOvHpE/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://aniri.ro/geek/development/android/beginning-android-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New version of distance finder</title>
		<link>http://aniri.ro/geek/development/google-maps/new-version-of-distance-finder/</link>
		<comments>http://aniri.ro/geek/development/google-maps/new-version-of-distance-finder/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 11:26:38 +0000</pubDate>
		<dc:creator>aniri</dc:creator>
				<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[distance finder]]></category>
		<category><![CDATA[google maps api]]></category>

		<guid isPermaLink="false">http://aniri.ro/geek/?p=150</guid>
		<description><![CDATA[You might remember the previous version of my distance finder. It's a small google maps project that helps you find the distance and the route between two points. I have decided to improve the layout of the project and add new features. Here's the new version! A major improvement is the fact that you can [...]]]></description>
			<content:encoded><![CDATA[<p>You might remember the previous version of my <a href="http://aniri.ro/distancefinder/" title="distance fidner" target="_blank">distance finder</a>. It's a small google maps project that helps you find the distance and the route between two points.</p>
<p>I have decided to improve the layout of the project and add new features. Here's <a href="http://distance.aniri.ro/" title="distance finder" target="_blank">the new version</a>!</p>
<p>A major improvement is the fact that you can now choose a 'via' address for the route. Also, the app is now available in both English and Romanian.</p>
<p>More updates will follow as I'm working on improving it even further!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/fjgn9d5_l7Tl5sJNU46dGzNVGBk/0/da"><img src="http://feedads.g.doubleclick.net/~a/fjgn9d5_l7Tl5sJNU46dGzNVGBk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/fjgn9d5_l7Tl5sJNU46dGzNVGBk/1/da"><img src="http://feedads.g.doubleclick.net/~a/fjgn9d5_l7Tl5sJNU46dGzNVGBk/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://aniri.ro/geek/development/google-maps/new-version-of-distance-finder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Must Have WordPress Plugins</title>
		<link>http://aniri.ro/geek/resources/10-must-have-wordpress-plugins/</link>
		<comments>http://aniri.ro/geek/resources/10-must-have-wordpress-plugins/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 10:26:12 +0000</pubDate>
		<dc:creator>aniri</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://aniri.ro/geek/?p=197</guid>
		<description><![CDATA[I compiled a list of very useful wordpress plugins. If you think others should also be added to the list, please let me know! Akismet Akismet is probably the best plugin that helps you protect your blog from spammers. It's also really easy to use, you will only need an API key which you will receive [...]]]></description>
			<content:encoded><![CDATA[<p>I compiled a list of very useful wordpress plugins. If you think others should also be added to the list, please let me know!</p>
<h2>Akismet</h2>
<p><a title="Akismet" href="http://akismet.com/" target="_blank">Akismet</a> is probably the best plugin that helps you protect your blog from spammers. It's also really easy to use, you will only need an API key which you will receive after registering.</p>
<h2>
All in One SEO Pack</h2>
<p><a title="All in One SEO Pack" href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/" target="_blank">All in One SEO Pack</a> is a plugin that helps you optimize your blog for search engines. Really useful is you want other to find you! Of course, the best way to improve your blogs chances of getting found in searches is having useful content!</p>
<h2>
Clean-Contact</h2>
<p><a title="Clean Contact" href="http://www.checkfront.com/extras/wp-clean-contact/" target="_blank">Clean-Contact</a> is one of the many plugins out there for easily creating contact forms for your blog.</p>
<h2>
FeedBurner FeedSmith</h2>
<p>If you have a feedburner feed, you will find <a title="FeedBurner FeedSmith" href="http://www.google.com/support/feedburner/bin/answer.py?answer=78483" target="_blank">this plugin</a> useful. It redirects all traffic from your old feeds to your feedburner feeds so you can track them</p>
<h2>
Google Analytics</h2>
<p>You will most likely want to track how many visitors your blog has and some info about them. Google Analytics is one of the best tools for that.<a title="Google Analytics WordPress Plugin" href="http://wordpress.org/extend/plugins/googleanalytics/" target="_blank"> This plugin</a> helps you enable google analytics on all your pages.</p>
<h2>
Google XML Sitemaps</h2>
<p>This <a title="Google XML Sitemaps" href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/" target="_blank">plugin</a> generates a sitemap of your blog.</p>
<h2>
ShareThis</h2>
<p><a title="ShareThis" href="http://sharethis.com/" target="_blank">ShareThis</a> is a plugin that allows your readers to easily share your posts with their friends. ShareThis supports many social networks and it's look is easy to customize. I found more plugins that offer basically the same features as SharaThis, but I liked this one the best!</p>
<h2>
SyntaxHighlighter Evolved</h2>
<p>If you are a developer like me and want to share some code pieces in your posts, you will need a <a title="Syntax Highlighter Evolved" href="http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/" target="_blank">SyntaxHighlighter</a> to make your posts look prettier!</p>
<h2>
Twitter Widget</h2>
<p>There are surely lots of wordpress widgets that allow you to show some twitter posts on you blog, but I found <a title="Twitter Widget" href="http://seanys.com/2007/10/12/twitter-wordpress-widget/" target="_blank">Twitter Widget</a> one of the best of them. You only need to fill in your twitter username and the number of posts you want to show and that's it!</p>
<h2>
WP to Twitter</h2>
<p>If you have a Twitter account, you might want to share the link to each new blog post there. <a title="WP to Twitter" href="http://www.joedolson.com/articles/wp-to-twitter/" target="_blank">WP to Twitter</a> does this for you! To use it, you will have to create a new twitter app on the twitter dev site and copy your credentials from there!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/mX_Yg0G5BlWiD4ADf6oSOxKBVWk/0/da"><img src="http://feedads.g.doubleclick.net/~a/mX_Yg0G5BlWiD4ADf6oSOxKBVWk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/mX_Yg0G5BlWiD4ADf6oSOxKBVWk/1/da"><img src="http://feedads.g.doubleclick.net/~a/mX_Yg0G5BlWiD4ADf6oSOxKBVWk/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://aniri.ro/geek/resources/10-must-have-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yodacode programming contest</title>
		<link>http://aniri.ro/geek/challenges/yodacode-programming-contest/</link>
		<comments>http://aniri.ro/geek/challenges/yodacode-programming-contest/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 11:19:09 +0000</pubDate>
		<dc:creator>aniri</dc:creator>
				<category><![CDATA[Challenges]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[yodacode]]></category>

		<guid isPermaLink="false">http://aniri.ro/geek/?p=142</guid>
		<description><![CDATA[I've found a new programming contest on yodacode.com. It's not very hard, there are 9 puzzles to finish by the 6th of january. You can solve them in one or more programming languages. Good luck!]]></description>
			<content:encoded><![CDATA[<p>I've found a new programming contest on <a href="http://yodacode.com">yodacode.com</a>. It's not very hard, there are 9 puzzles to finish by the 6th of january. You can solve them in one or more programming languages.</p>
<p><a href="http://yodacode.com/content/ebay-talent-search-contest-rules">Good luck</a>!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/g5n8J7v2pXkAIepykmttfNdFJy4/0/da"><img src="http://feedads.g.doubleclick.net/~a/g5n8J7v2pXkAIepykmttfNdFJy4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/g5n8J7v2pXkAIepykmttfNdFJy4/1/da"><img src="http://feedads.g.doubleclick.net/~a/g5n8J7v2pXkAIepykmttfNdFJy4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://aniri.ro/geek/challenges/yodacode-programming-contest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use Google Maps Street View</title>
		<link>http://aniri.ro/geek/tutorials/how-to-use-google-maps-street-view/</link>
		<comments>http://aniri.ro/geek/tutorials/how-to-use-google-maps-street-view/#comments</comments>
		<pubDate>Fri, 05 Nov 2010 11:18:25 +0000</pubDate>
		<dc:creator>aniri</dc:creator>
				<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[1stwebdesigner]]></category>
		<category><![CDATA[google maps api]]></category>
		<category><![CDATA[streetview]]></category>

		<guid isPermaLink="false">http://aniri.ro/geek/?p=140</guid>
		<description><![CDATA[My fourth google maps tutorial was published on 1stwebdesigner.com. The tutorial covers another of google maps features, street view. I have built an app for this tutorial, an interactive visit of Paris. You’ll be able to visit certain locations, walk through Paris or take virtual tours. You can read the tutorial here and also play [...]]]></description>
			<content:encoded><![CDATA[<p>My fourth google maps tutorial was published on <a href="http://1stwebdesigner.com">1stwebdesigner.com</a>. The tutorial covers another of google maps features, street view. </p>
<p>I have built an app for this tutorial, an interactive visit of Paris. You’ll be able to visit certain locations, walk through Paris or take virtual tours.</p>
<p>You can read the tutorial <a href="http://www.1stwebdesigner.com/tutorials/google-maps-street-view/">here</a> and also play with <a href="http://www.aniri.ro/tutorial-googlestreetview/">the app</a>.</p>
<p>You can also download the <a href="http://www.aniri.ro/tutorial-googlestreetview/tutorial-googlestreetview.zip">source code</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/bYWUQL8tqrawr4CTHywtBICEv64/0/da"><img src="http://feedads.g.doubleclick.net/~a/bYWUQL8tqrawr4CTHywtBICEv64/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bYWUQL8tqrawr4CTHywtBICEv64/1/da"><img src="http://feedads.g.doubleclick.net/~a/bYWUQL8tqrawr4CTHywtBICEv64/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://aniri.ro/geek/tutorials/how-to-use-google-maps-street-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

