<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.4" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>blusb.eu</title>
	<link>http://www.blusb.eu/blog</link>
	<description></description>
	<pubDate>Fri, 24 Jul 2009 23:14:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.4</generator>
	<language>en</language>
			<item>
		<title>Accesing NAT Sever with Linksys WRT54g and SSH Reverse Tunnels</title>
		<link>http://www.blusb.eu/blog/2009/06/21/accesing-nat-sever-with-linksys-wrt54g-and-ssh-reverse-tunnels/</link>
		<comments>http://www.blusb.eu/blog/2009/06/21/accesing-nat-sever-with-linksys-wrt54g-and-ssh-reverse-tunnels/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 14:48:27 +0000</pubDate>
		<dc:creator>Christos</dc:creator>
		
	<dc:subject>opensource</dc:subject>
	<dc:subject>SSH</dc:subject>
	<dc:subject>Linksys</dc:subject><dc:subject>Linksys</dc:subject><dc:subject>linksys wrt54g</dc:subject><dc:subject>NAT</dc:subject><dc:subject>opensource</dc:subject><dc:subject>SSH</dc:subject><dc:subject>SSH Reverse Tunnel</dc:subject>
		<guid isPermaLink="false">http://www.blusb.eu/blog/2009/06/21/accesing-nat-sever-with-linksys-wrt54g-and-ssh-reverse-tunnels/</guid>
		<description><![CDATA[The web server we are using at work is NATed it is not very convenient when working from home. Thankfully SSH tunnelling comes to the rescue. I will explain a little about my setup.

The work computer is NATed behind a Firewall that I do not have controll over and it runs a Web and SSH [...]]]></description>
			<content:encoded><![CDATA[<p>The web server we are using at work is NATed it is not very convenient when working from home. Thankfully SSH tunnelling comes to the rescue. I will explain a little about my setup.</p>
<p><img width="500" id="image64" alt="ssh-revese-tunnel-setup" src="http://www.blusb.eu/blog/wp-content/uploads/2009/06/ssh_rev.png" /></p>
<p>The work computer is NATed behind a Firewall that I do not have controll over and it runs a Web and SSH servers which I would like them to be accessible from home. The home computer also runs SSH and Web servers which I want them to be accessible from the Internet. My Linksys WRT54g router has the following configuration:</p>
<p style="text-align: center"><!--adsense--></p>
<table summary="System Information">
<tr>
<td style="width: 100px"><strong>Firmware</strong></td>
<td></td>
<td>OpenWrt White Russian - With X-Wrt Extensions 0.9</td>
</tr>
<tr>
<td><strong>Kernel</strong></td>
<td></td>
<td>Linux 2.4.30 #1 Sat Feb 3 13:16:08 CET 2007</td>
</tr>
<tr>
<td><strong>MAC</strong></td>
<td></td>
<td>00:00:00:00:00:00</td>
</tr>
<tr>
<td><strong>Device</strong></td>
<td></td>
<td>Linksys WRT54G/GS/GL</td>
</tr>
<tr>
<td><strong>Board</strong></td>
<td></td>
<td>Broadcom BCM947XX</td>
</tr>
<tr>
<td><strong>Username</strong></td>
<td></td>
<td>root</td>
</tr>
<tr>
<td><strong>Web mgt. console</strong></td>
<td></td>
<td>Webif²</td>
</tr>
<tr>
<td><strong>Version</strong></td>
<td></td>
<td>r4580</td>
</tr>
</table>
<p>I will show following steps in my configuration:</p>
<ul>
<li>How to make SSH and Web home servers Internet accessible.</li>
<li>How to make the SSH server on the Linksys router Internet Accessible.</li>
<li>How to setup on Linksys SSH key-based authentication.</li>
<li>How to setup remote tunnels.</li>
</ul>
<p><a id="more-65"></a></p>
<h3>Making Home SSH, HTTP and HTTPS servers Internet accessible</h3>
<p>First you have to assign a static IP to the home computer via a DHCP reservation. First you need to find the MAC address of the Home Computer network card. To do this on Windows open a command window and type ipconfig /all. On linux and MAC OS X open a terminal and type ifconfig. The value you are looking for is 12 digit value seperated by colons or dashes (i.e. xx:xx:xx:xx:xx:xx).<br />
Now go to the router web configuration page (usually <a title="Linksys Router Web Interface" target="_blank" href="http://192.168.1.1">http://192.168.1.1</a>) click on <strong>Network</strong> Tab and subsequently to the <strong>Hosts</strong> sub-tab. On the <strong>Static IP addresses (for DHCP)</strong> section and on the MAC Address text box (on the left) type the MAC Address and on the IP Address text box (right) type 192.168.1.x where x is the the IP Address you would like to address the home computer in your local LAN. Then click add, Save Changes and Apply changes. Disconnect and reconnect your LAN and make sure that your home computer has the assigned IP address.</p>
<p>Now navigate again to the router web configuration page and click on <strong>Network>Firewall</strong>.  You need now to create 3 rules for forwarding external traffic to the home computer. The forwarding rules look like this:</p>
<table width="100%">
<tr>
<th>Match</th>
<th>Target</th>
<th>Port</th>
<th></th>
</tr>
<tr>
<td>Protocol: tcp<br />
Destination Ports: 22</td>
<td>192.168.1.x</td>
<td>22</td>
<td style="text-align: right; padding-right: 0.5em">Up<br />
Down</td>
<td>Edit<br />
Delete</td>
</tr>
<tr>
<td>Protocol: tcp<br />
Destination Ports: 80</td>
<td>192.168.1.x</td>
<td>80</td>
<td style="text-align: right; padding-right: 0.5em">Up<br />
Down</td>
<td>Edit<br />
Delete</td>
</tr>
<tr>
<td>Protocol: tcp<br />
Destination Ports: 443</td>
<td>192.168.1.x</td>
<td>443</td>
<td style="text-align: right; padding-right: 0.5em">Up<br />
Down</td>
<td>Edit<br />
Delete</td>
</tr>
</table>
<p>Ports 22 (SSH), 80 (HTTP), 443 (HTTPS).</p>
<p>Now click and apply changes and  the home servers will be accessible from the internet.</p>
<h3>Making the SSH server on the Linksys router Internet Accessible</h3>
<p>The SSH server on the Linksys router should be accessible from your LAN out of the box. If not that probably means that you have not installed dropbear SSH server. You can install it by navigating to <strong>System>Packages</strong>. First of all you need to move the SSH server from the default port 22 to another port (2222) to avoid conflicting with the home computer SSH server when accessing it from the internet. To change the port ssh to the Linksys router and edit the file /etc/init.d/S*dropbear. Then edit the last line from:</p>
<p><code>/usr/sbin/dropbear</code></p>
<p>to</p>
<p><code>/usr/sbin/dropbear -p 2222</code></p>
<p>Now reboot the router and test that the SSH server on Linksys has indeed moved to port 2222</p>
<p><code>reboot<br />
ssh -p 2222 linksys</code></p>
<p>To make the server internet accessible go to the router&#8217;s web interface <strong>Network>Firewall</strong> and add an <strong>accept</strong> rule for protocol <strong>tcp</strong> and port <strong>2222</strong>.</p>
<table width="100%">
<tr>
<th>Match</th>
<th>Target</th>
<th>Port</th>
<th></th>
</tr>
<tr>
<td colspan="5"><hr class="separator" /></td>
</tr>
<tr>
<td>Protocol: tcp<br />
Destination Ports: 2222</td>
<td>accept</td>
<td></td>
<td style="text-align: right; padding-right: 0.5em">Up<br />
Down</td>
<td>Edit<br />
Delete</td>
</tr>
</table>
<p>Now click and apply changes and  the Linksys SSH server will be accessible from the internet on port 2222.</p>
<h3>Setting up SSH key-based authentication on Linksys</h3>
<p>The first step is to create a public and private SSH key pairs. On Linux and MAC OS X this can be done with the command</p>
<p><code>ssh-keygen -t rsa</code></p>
<p>This will create a directory ~/.ssh/ with the files id_rsa.pub and id_rsa. The former is the public key and the latter the private key.</p>
<p>If you are using <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a> on windows you need to download <a href="http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe">PuTTYgen</a> program to generate the keys.</p>
<p><strong>Note:</strong> The public key format from the PuTTYgen application is not recognised by *nix SSH servers your need to convert it by removing new line characters and headers and footers. More about this later.</p>
<p>Now copy the id_rsa.pub from your home network to the router using the commands</p>
<p><code> scp -P 2222 ~/.ssh/id_rsa.pub root@linksys:<br />
ssh -p 2222 root@linksys<br />
cat ~/id_rsa.pub >> /etc/dropbear/authorized_keys<br />
exit </code></p>
<p>Now try to ssh to the Linksys router and it will not ask you for password.</p>
<p>Now repeat the same procedure but this time from a terminal in the work computer.</p>
<p>Once you can SSH without a password from work and home computers you can disable password authentication on the Linksys router. This will tighten your security and avoid brute force password guessing threats that run on the internet. You are strongly advice to disable password authentication but this step is still optional.</p>
<p>To disable password authentication, ssh on the Linksys router and edit again the file /etc/init.d/S*dropbear and this time add another addition switch on the init script &#8220;-s&#8221;. The dropbear init script line now looks like this:<br />
<code>/usr/sbin/dropbear -p 2222 -s</code></p>
<p>Now reboot the router.</p>
<h3>Setting up remote tunnels</h3>
<p>From the work computer you can now set up remote tunnels to the Linksys router with the following commands.</p>
<p><code>ssh -p 2222 myhomenetwork.no-ip.org -R linksys:9000:workComputerIP:80 \<br />
-R linksys:9001:workComputerIP:443 \<br />
-R linksys:9002:workComputerIP:22<br />
</code></p>
<p>The above commands creates an SSH connection from the work computer to the Linksys router on port 2222 and sets up 3 tunnels. The first tunnel is from port 9000 of the router to the apache web server on the work computer, the second from port 9001 to the ssl apache webserver on the work computer and the last tunnel from port 9002 of the Linksys router to the SSH server on the work computer. This means that the Linksys router is now able to connect to the 3 services (HTTP, HTTPS and SSH) provided by the work computer via ports 9000-9002. If the web server is not running on workComputerIP but on another server inside the network you can still set up the tunnels by adjusting the workComputerIP to reflect the webserver&#8217;s address. i.e.</p>
<p><code>ssh -p 2222 myhomenetwork.no-ip.org -R linksys:9000:workWebServer:80 \<br />
-R linksys:9001:workWebServer:443 \<br />
-R linksys:9002:workSSHServer:22<br />
</code></p>
<p>The tunnels are now up and running but you would still like to access these services from the home computer rather than the Linksys router. To achieve this you need to reconfigure dropbear SSH server on the Linksys router to allow remote hosts to connect to the forwarded ports. To do this SSH to the router and append the -a option in the /etc/init.d/S*dropbear file. i.e. change the line from:</p>
<p><code>/usr/sbin/dropbear -p 2222 -s</code></p>
<p>to</p>
<p><code>/usr/sbin/dropbear -p 2222 -s -a</code></p>
<p>Now reboot and navigate from your home computer web browser to http://linksys:9000/ or https://linksys:90001/ and for the work&#8217;s SSH server do: ssh -p 9002 linksys<br />
Done
</p>
<a href="http://www.blusb.eu/blog/tag/linksys/" rel="tag">Linksys</a>, <a href="http://www.blusb.eu/blog/tag/linksys_wrt54g/" rel="tag">linksys wrt54g</a>, <a href="http://www.blusb.eu/blog/tag/nat/" rel="tag">NAT</a>, <a href="http://www.blusb.eu/blog/tag/opensource/" rel="tag">opensource</a>, <a href="http://www.blusb.eu/blog/tag/ssh/" rel="tag">SSH</a>, <a href="http://www.blusb.eu/blog/tag/ssh-reverse-tunnel/" rel="tag">SSH Reverse Tunnel</a><p class="akst_link"><a href="http://www.blusb.eu/blog/?p=65&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_65" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRSS>http://www.blusb.eu/blog/2009/06/21/accesing-nat-sever-with-linksys-wrt54g-and-ssh-reverse-tunnels/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Mercurial SCM in shared hosts (bluehost.com)</title>
		<link>http://www.blusb.eu/blog/2007/09/17/mercurial-scm-in-shared-hosts-bluehostcom/</link>
		<comments>http://www.blusb.eu/blog/2007/09/17/mercurial-scm-in-shared-hosts-bluehostcom/#comments</comments>
		<pubDate>Mon, 17 Sep 2007 02:27:41 +0000</pubDate>
		<dc:creator>Christos</dc:creator>
		
	<dc:subject>opensource</dc:subject>
	<dc:subject>SCM</dc:subject>
	<dc:subject>mercurial</dc:subject>
	<dc:subject>bluehost</dc:subject><dc:subject>bluehost</dc:subject><dc:subject>mercurial</dc:subject><dc:subject>opensource</dc:subject><dc:subject>SCM</dc:subject>
		<guid isPermaLink="false">http://www.blusb.eu/blog/2007/09/17/mercurial-scm-in-shared-hosts-bluehostcom/</guid>
		<description><![CDATA[Bill de hÓra has a great post for setting up Mercurial (Hg) in a shared host environment and specifically TextDrive. The method described by Bill requires an ssh enabled account and unfortunately I don&#8217;t. If you do I would recommend using his instructions because they are easier to follow. If you are developing solo then [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: left" alt="Mercurial-bluehost logo" id="image63" src="http://www.blusb.eu/blog/wp-content/uploads/2007/09/hg-bluehost-smaller.gif" /><a href="http://www.dehora.net/journal/2007/04/mercurial_part_ii.html">Bill de hÓra</a> has a great post for setting up <a href="http://www.selenic.com/mercurial/wiki/">Mercurial (Hg)</a> in a shared host environment and specifically <a href="http://textdrive.com/">TextDrive</a>. The method described by Bill requires an ssh enabled account and unfortunately I don&#8217;t. If you do I would recommend using his instructions because they are easier to follow. If you are developing solo then you can use ssh to push changes while anonymous users can pull without any security concerns over http. If you want to do the latter <a href="http://www-03.ibm.com/developerworks/blogs/page/pmuellr?entry=setting_up_mercurial_on_textdrive">Patrick Mueller</a> explains how.</p>
<p>I will explain how to setup Mercurial in <a href="http://www.bluehost.com">bluehost</a> WITHOUT ssh access and how to use https to avoid sending your password unencrypted over the network.</p>
<p style="text-align: center"><!--adsense--></p>
<p><a id="more-61"></a></p>
<p>If you can find a binary package of mercurial this will save you some trouble but in bluehost the python version is 2.3.4 and the machine architecture is x86_64 so it will be quite unlikely to find a binary where you can simply upload and it will work.</p>
<p>So go <a href="http://www.selenic.com/mercurial-stable-snapshot.tar.gz">here</a> to download the latest stable snapshot of mercurial. Upload the file to your account in bluehost and save it under /home/yourusername/local/. Extract the tar.gz and rename the extracted folder from mercurial-revision to just mercurial.</p>
<p>Now we will use a perl cgi script to compile the mercurial with python 2.3.4 (I am not sure what the rational of bluehost is to uses this ancient version but anyway).</p>
<p>Create the perl script with the following code.</p>
<pre>#!/usr/bin/perl</pre>
<pre>print "Content-type: text/plain";</pre>
<pre>system("cd /home/yourusername/local/mercurial/;</pre>
<pre>make local; ./hg debuginstall");</pre>
<p>Remeber to replace &#8220;yourusersname&#8221; with your actual user name. Save the script compile.cgi and upload it using bluehost&#8217;s File Manager Interface (FMI) in the cgi-bin directory. (Remeber that the FMI truncates /home/yourusername and the folder /home/yourusername/local/mercurial will shown in FMI as /local/mercurial). Change the file&#8217;s permissions to 755 and point your browser to http://www.yourdomain.com/cgi-bin/compile.cgi.</p>
<p>This will hopefully compile mercurial for you. Check the output for any error messages. Once it is done delete the script from the server or change its permissions to 000.</p>
<p>Now using the FMI again; create the following two folders</p>
<pre>/public_html/hg
/public_html/hg/repos</pre>
<p>Copy the hgwebdir.cgi from /local/mercurial to /public_html/hg andopen hgwebdir.cgi to uncomment the 6th and edit the 7th line. It should look like this</p>
<pre>import sys
sys.path.insert(0, "/home/youusername/local/mercurial")</pre>
<p>Create a new file in /public_html/hg called hgweb.config with the following</p>
<pre>[collections]
/home/yourusername/public_html/hg/repos = /home/yourusername/public_html/hg/repos
[web]
allowpull=true</pre>
<p>Create an .htaccess file in the same directory with the following.</p>
<pre>Options +ExecCGI
RewriteEngine On
RewriteBase /~yourusername/hg
RewriteRule ^$ hgwebdir.cgi  [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) hgwebdir.cgi/$1  [QSA,L]
AuthUserFile /home/yourusername/etc/hg-basic-auth
AuthName "HG Repositories"
AuthType Basic
<Limit POST PUT>
Require valid-user
</Limit></pre>
<p>Switch to your home workstation to create a password file with the following command and then upload it with the FMI in /etc/.</p>
<pre>htpasswd -s -c hg-basic-auth myuser1
htpasswd -s  hg-basic-auth myuser2</pre>
<p>If you navigate to https://www.yourdomain.com/~yourusername/hg you should see the nice interface of mercurial.</p>
<p>It is time to finally create a ouR repositories using the same hack we used to compile mercurial. The cgi script this time contains the following.</p>
<pre>#!/usr/bin/perl
print "Content-type: text/htmlnn";
system("cd /home/yourusername/public_html/hg/repos/;
/home/yourusername/local/mercurial/hg init projectA");

system("cd /home/yourusername/public_html/hg/repos/;
/home/yourusername/local/mercurial/hg init projectB");</pre>
<p>Point your browser to the scripts URL and you are almost set. You can pull a repository with hg pull https://www.yourdomain.com/~yourusername/hg/projectA<br />
However you can not push, because the allow_push user list is empty. To solve the problem you will have to create the hgrc file in the projects directory  (.hg/hgrc) (i.e. /home/yoursuername/public_html/hg/repos/projectA/.hg/hgrc. A sample is shown below:</p>
<pre>[web]
contact= Projects contact e-mail
description= Project description
allow_push= myuser1, myuser2
allow_archive = bz2 gz zip</pre>
<p>Finally you can push and pull over https but I would recommend to provide the http URL to anonymous users since https increases the load on bluehost&#8217;s server. The problem I have at the moment and I will keep you updated if I find the solution (please let me know if you do too) is that when I try to push a large repository, the push fails with the following error</p>
<pre>searching for changes
abort: error: Broken pipe</pre>
<p>The problem seems to be that the repository is too big and the push operation uses a lot of swap before the transaction completes and bluehost kills the process. A solution might be to push a few revisions at a time. But I have not figure this out yet.</p>
<p>Enjoy!
</p>
<a href="http://www.blusb.eu/blog/tag/bluehost/" rel="tag">bluehost</a>, <a href="http://www.blusb.eu/blog/tag/mercurial/" rel="tag">mercurial</a>, <a href="http://www.blusb.eu/blog/tag/opensource/" rel="tag">opensource</a>, <a href="http://www.blusb.eu/blog/tag/scm/" rel="tag">SCM</a><p class="akst_link"><a href="http://www.blusb.eu/blog/?p=61&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_61" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRSS>http://www.blusb.eu/blog/2007/09/17/mercurial-scm-in-shared-hosts-bluehostcom/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>pflickr v1.1</title>
		<link>http://www.blusb.eu/blog/2006/11/22/pflickr-v11/</link>
		<comments>http://www.blusb.eu/blog/2006/11/22/pflickr-v11/#comments</comments>
		<pubDate>Wed, 22 Nov 2006 22:51:22 +0000</pubDate>
		<dc:creator>Christos</dc:creator>
		
	<dc:subject>photosharing</dc:subject>
	<dc:subject>flickr</dc:subject><dc:subject>flickr</dc:subject>
		<guid isPermaLink="false">http://www.blusb.eu/blog/2006/11/22/pflickr-v11/</guid>
		<description><![CDATA[After using the pflickr widget v1.0 for a while, I notice that my blog does not load fast enough and I decided to implement some caching.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflickr-11.zip"><img id="image56" style="padding: 1em; float: right" alt="pflickr logo v1.1" src="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-logov11.thumbnail.gif" /></a>After using the <a href="http://www.blusb.eu/blog/2006/11/16/pflickr-v10/">pflickr widget v1.0</a> for a while, I notice that my blog does not load fast enough and I decided to implement some caching.</p>
<p>While I am at it, I should add some more flexibility, allowing the user to specify the update interval of the &#8220;widget photo&#8221;. Now you can have photo of the hour, photo of the day, photo of the week,&#8230;<br />
These two changes bring us to <a href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflickr-11.zip">pflickr widget v1.1</a>.</p>
<p style="text-align: center"><!--adsense--></p>
<p><a id="more-55"></a>For installation instructions see <a href="http://www.blusb.eu/blog/2006/11/16/pflickr-v10/">the post of version 1.0</a>.</p>
<p>The new caching mechanism will create a new table in your wordpress database to cache flickr API requests (which tend to be slow). I did not do any benchmarking to see the exact benefits but I am sure that my blog loads faster, while the additional storage overhead is a lightweight (tiny) table.</p>
<p>For the second feature the random number generator is fed with a timestamp seed which varies according the users selection. For example the photo of the day created with the seed DD:MM:YYYY (dmY).</p>
<p>Here is a screenshot of the widget admin panel.</p>
<div style="text-align: center"><img id="image58" alt="pflickr admin panel" src="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflickr-admin.png" /></div>
<h2>Known issues:</h2>
<p>When you upload photos in your stream the &#8220;widget photo&#8221; changes before the day has elapsed. This occurs because your photos in your stream are indexed from [0 - total number of photos] and after you upload new photos, the &#8220;total number of photos&#8221; changes, hence the random number generator selects and displays a different photo because the range changed.<br />
Enjoy!</p>
<p>Christos
</p>
<a href="http://www.blusb.eu/blog/tag/flickr/" rel="tag">flickr</a><p class="akst_link"><a href="http://www.blusb.eu/blog/?p=55&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_55" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRSS>http://www.blusb.eu/blog/2006/11/22/pflickr-v11/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>pflickr - a random photo everyday from Flickr in your Wordpress blog (Photo of the Day)</title>
		<link>http://www.blusb.eu/blog/2006/11/16/pflickr-v10/</link>
		<comments>http://www.blusb.eu/blog/2006/11/16/pflickr-v10/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 00:37:25 +0000</pubDate>
		<dc:creator>Christos</dc:creator>
		
	<dc:subject>photosharing</dc:subject>
	<dc:subject>flickr</dc:subject>
		<guid isPermaLink="false">http://www.blusb.eu/blog/2006/11/16/pflickr-v10/</guid>
		<description><![CDATA[<p><a href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflickr-10.zip"><img alt="pflickr v1.0" id="image54" style="padding: 1em; float: right" src="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflick-logo.thumbnail.gif" /></a> Usually you do not go through your flickr photostream every day, but once in while you like to see some of the photos you uploaded ages ago. There are a lot of plugins for Wordpress to display <strong>recently</strong> uploaded  photos of your photostream in your sidebar. However I could not find any widgets which will pick a random photo across my whole photostream and display it. So I decided to create one for you and for myself. You can download version 1.0 of the <a id="p51" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflickr-10.zip">pflickr</a> widget <a href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflickr-10.zip">here</a>. For instruction on how to install the widget in your blog and how to use it continue readding.</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflickr-10.zip"><img style="padding: 1em; float: right" id="image54" alt="pflickr v1.0" src="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflick-logo.thumbnail.gif" /></a> Usually you do not go through your flickr photostream every day, but once in while you like to see some of the photos you uploaded ages ago. There are a lot of plugins for Wordpress to display <strong>recently</strong> uploaded  photos of your photostream in your sidebar. However I could not find any widgets which will pick a random photo across my whole photostream and display it. So I decided to create one for you and for myself. You can download version 1.0 of the <a id="p51" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflickr-10.zip">pflickr</a> widget <a href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflickr-10.zip">here</a>. For instruction on how to install the widget in your blog and how to use it continue reading.</p>
<h2>UPDATE: New release <a href="http://www.blusb.eu/blog/2006/11/22/pflickr-v11/">pflcikr v1.1</a></h2>
<p align="center"><!--adsense--></p>
<p><a id="more-50"></a>First of all, you must to install the widget plugin from <a href="http://automattic.com/code/widgets/">Automatic</a> available <a href="http://downloads.wordpress.org/plugin/widgets.zip">here</a>.</p>
<p>If your theme does not support widgets, you will have to get another theme or you should widgetize your theme following the instruction <a href="http://automattic.com/code/widgets/themes/">here</a>.</p>
<p>Once you setup widget plugin and make sure it works fine you can download the <a href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/pflickr-10.zip">Photo of the Day Flickr Widget</a>.</p>
<p>Unzip it and upload it to your webserver in the <span style="font-weight: bold">plugins/widgets</span> directory.</p>
<p>Navigate to <span style="font-weight: bold">Plugins</span> tab in the administration panel and <span style="font-weight: bold">activate</span> the plugin.</p>
<p>Go to <span style="font-weight: bold">Presentation</span> tab and  then select the <span style="font-weight: bold">Sidebar Widget</span> tab.</p>
<p>You will be able to see the pflickr widget under the Available Widget.</p>
<p><span style="font-weight: bold">Drag</span> the <span style="font-weight: bold">plickr Widget</span> to your sidebar and click at the box appearing on the right on top of the widget. This opens the <span style="font-weight: bold">configuration interface</span> for the widget.</p>
<p>All the options in the widget interface are obvious other than the flickr API key. You can obtain a key here: <a href="http://www.flickr.com/services/api/key.gne">http://www.flickr.com/services/api/key.gne</a>.</p>
<p>Once you obtain your flickr API key <span style="font-weight: bold">copy &#038; paste</span> the key in the widget configuration window. You can now click somewhere outside the configuration window to close it and click <span style="font-weight: bold">Save Changes</span> button.</p>
<p>Done! Visit your blog and everything should work like a charm.</p>
<p>The widget works using the <a href="http://phpflickr.com/">phpflickr</a> class by <a href="http://www.dancoulter.com/">Dan Coulter</a>, which is bundled with this widget.<br />
If you are using the widget successfully or not please let me know.</p>
<p>Christos
</p>
No Tags<p class="akst_link"><a href="http://www.blusb.eu/blog/?p=50&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_50" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRSS>http://www.blusb.eu/blog/2006/11/16/pflickr-v10/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Greater Y! Map resolution</title>
		<link>http://www.blusb.eu/blog/2006/11/12/greater-y-map-resolution/</link>
		<comments>http://www.blusb.eu/blog/2006/11/12/greater-y-map-resolution/#comments</comments>
		<pubDate>Sun, 12 Nov 2006 21:37:16 +0000</pubDate>
		<dc:creator>Christos</dc:creator>
		
	<dc:subject>photosharing</dc:subject>
	<dc:subject>Yahoo!</dc:subject>
	<dc:subject>flickr</dc:subject>
		<guid isPermaLink="false">http://www.blusb.eu/blog/2006/11/12/greater-y-map-resolution/</guid>
		<description><![CDATA[Today I noticed that Yahoo! Maps increased their resolution for Great Britain. This is great for flickr too, but I had to re-tag my photos in flickr since 99% of them were not correctly geotagged.
Here is a screenshot of  my map!

         


No TagsShare This
]]></description>
			<content:encoded><![CDATA[<p>Today I noticed that Yahoo! Maps increased their resolution for Great Britain. This is great for flickr too, but I had to re-tag my photos in flickr since 99% of them were not correctly geotagged.</p>
<p>Here is a screenshot of  my map!</p>
<p><a class="imagelink" title="flickr map" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.png" /></p>
<p><a class="imagelink" title="flickr map" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.png"> </a><a class="imagelink" title="flickr map" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.png"> </a><a class="imagelink" title="flickr map" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.png"> </a><a class="imagelink" title="flickr map" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.png"> </a><a class="imagelink" title="flickr map" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.png"> </a><a class="imagelink" title="flickr map" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.png"> </a><a class="imagelink" title="flickr map" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.png"> </a><a class="imagelink" title="flickr map" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.png"> </a><a class="imagelink" title="flickr map" href="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.png"> </a></p>
<p style="text-align: center"><a class="imagelink" title="flickr map" href="http://flickr.com/photos/westgla/map/"><img id="image47" alt="flickr map" src="http://www.blusb.eu/blog/wp-content/uploads/2006/11/flickr-map.thumbnail.png" /></a></p>
<p align="center"><!--adsense--></p>
No Tags<p class="akst_link"><a href="http://www.blusb.eu/blog/?p=48&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_48" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRSS>http://www.blusb.eu/blog/2006/11/12/greater-y-map-resolution/feed/</wfw:commentRSS>
		</item>
	</channel>
</rss>
