<?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/"
	
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>World Gone WebInternet &#187; World Gone Web</title>
	<atom:link href="http://www.worldgoneweb.com/category/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.worldgoneweb.com</link>
	<description></description>
	<lastBuildDate>Sun, 09 Oct 2011 20:57:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Router, VPN and American IP</title>
		<link>http://www.worldgoneweb.com/2011/router-vpn-and-american-ip/</link>
		<comments>http://www.worldgoneweb.com/2011/router-vpn-and-american-ip/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 18:14:23 +0000</pubDate>
		<dc:creator>shalfon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[america]]></category>
		<category><![CDATA[appletv]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[dd-wrt]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[france]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[hulu]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[linksys]]></category>
		<category><![CDATA[netflix]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[strongvpn]]></category>

		<guid isPermaLink="false">http://www.worldgoneweb.com/?p=792</guid>
		<description><![CDATA[I happen to know an American in Paris. Expats have a wide range of specific problems that most people don&#8217;t really ever worry over, for example : how do you teach a child two languages (hoping the child won&#8217;t mix them up) do you have to declare/pay taxes in your country of origin ? which [...]]]></description>
			<content:encoded><![CDATA[<p>I happen to know an American in Paris. Expats have a wide range of specific problems that most people don&#8217;t really ever worry over, for example :</p>
<ul>
<li>how do you teach a child two languages (hoping the child won&#8217;t mix them up)</li>
<li>do you have to declare/pay taxes in your country of origin ?</li>
<li>which address do you give your bank counselor when opening your account ?</li>
<li>how do you transfer money from your bank in country A to your bank in country B ?</li>
</ul>
<p>Anyway, one of the problems expats might have is accessing websites who have an IP-based location check (ie bank account management site, checkout, etc).</p>
<p><a href="http://www.worldgoneweb.com/wp-content/uploads/2011/07/internet_world_small.jpg"><img class="aligncenter size-full wp-image-802" title="image description" src="http://www.worldgoneweb.com/wp-content/uploads/2011/07/internet_world_small.jpg" alt="" width="650" height="460" /></a></p>
<p>Eventually, if the problem is recurrent, you can solve it permanently using a router and a VPN which will give you an IP based in the country of your choice. I tested this setup myself and hre&#8217;s what I learnt.</p>
<h3>What you will need</h3>
<ol>
<li>Get an account with a VPN provider such as <a href="http://www.strongvpn.com">strongVPN</a>. I tested the <a href="http://strongvpn.com/packages.shtml">Lite Open</a> package (monthly fee).<br />
<strong>If you only have one computer, the strongVPN account is all you need. Download the software they provide and you can have a foreign IP at will. If you have more than one machine or various devices you want to use with a foreign IP, read on&#8230;</strong></li>
<li>Buy a DD-WRT <a href="http://www.dd-wrt.com/wiki/index.php/Supported_Devices">compatible router</a>. Since strongVPN offers detailed tutorials for the Linksys ones, I tested one of them, the E3000.</li>
<li>Download the <a href="https://intranet.reliablehosting.com/services/intranet/vpn_accounts/">quick config</a> from your strongVPN customer area (it is a zip file)</li>
</ol>
<h3>Setup your network</h3>
<p>If you already have a router (you probably do as most Internet boxes do create one for you), you will now have two. Basically, you will have two subnets. Depending on which network you use, you will or not have a foreign IP.</p>
<p>Here&#8217;s how it looks :</p>
<p><a href="http://www.worldgoneweb.com/wp-content/uploads/2011/07/router_mockup.png"><img class="alignleft size-full wp-image-793" title="router_mockup" src="http://www.worldgoneweb.com/wp-content/uploads/2011/07/router_mockup.png" alt="" width="644" height="472" /></a></p>
<p>To achieve this, plug a network cable between your new router and your computer. Access your router configuration page, usually at http://192.168.1.1. Login using admin as a login and admin as a password. In the main section, change your router IP to something like 192.168.2.1 / 255.255.255.0 and enter 192.168.1.254 (or whatever your other router IP is) as the gateway. Setup the DHCP to assign addresses like 192.168.2.2 to 192.168.2.50 for example.</p>
<p>If you so desire, enable the wifi of your new router.</p>
<p>Restart your new router. Connect your old router to the new one using a LAN port (not the WAN port) on both ends. Now, if you connect your computer to the old router, your IP will be like 192.168.1.X and you must be able to access the Internet. If you connect your computer to the new router, your IP will be like 192.168.2.X and you should still be able to access the Internet.</p>
<p>If you got this step right, you can go ahead and flash your router firmware.</p>
<h3>Configure your router to use the VPN</h3>
<p>First, we must modify the router&#8217;s firmware to run <a href="http://dd-wrt.com/site/index">DD-WRT</a>. This is an open source firmware that aims to make router administration easy (and consistent) while enabling as many features as possible for each device.</p>
<p>If you did get a <a href="http://strongvpn.com/easy_setup_routers.shtml">router listed for easy setup on strong VPN</a> website, I advise you to download your firmware file from there.</p>
<p>If your device is not listed there, get your firmware file from <a href="http://dd-wrt.com/site/support/router-database">DD-WRT database</a>.</p>
<p>If you did get the Linksys E3000, here are the two files you will need :</p>
<ol>
<li><a href="http://samanthahalfon.net/resources/dd-wrt.v24-16785_NEWD-2_K2.6_std_usb_nas-e3000.bin">dd-wrt.v24-16785_NEWD-2_K2.6_std_usb_nas-e3000.bin</a></li>
<li><a href="http://samanthahalfon.net/resources/dd-wrt.v24-17201_NEWD-2_K2.6_big-nv60k.bin">dd-wrt.v24-17201_NEWD-2_K2.6_big-nv60k.bin</a></li>
</ol>
<p>Now, it&#8217;s time to flash the firmware. Login to your router administration page. Go to <em>administration</em> &gt; <em>upgrade firmware</em>. Select the first file (the upgrade file) and click on <em>start upgrade</em>. Your router will reboot. Return to the same page, select the second file and click on <em>start upgrade</em> again. This time, after reboot, your administration page will look different as you are now running DD-WRT.</p>
<p>Login to your router administration using <em>root</em> as login and <em>admin</em> as password. In the <em>Setup</em> &gt; <em>Basic Setup</em> section, enter the following for DNS servers :</p>
<ol>
<li>216.131.95.20</li>
<li>216.131.94.5</li>
</ol>
<p>Reboot your router and make sure that you can still connect to the Internet using this new router.</p>
<p>Now, it&#8217;s time to <a href="http://strongvpn.com/open_ddwrt.shtml">setup the router to use the VPN access</a>. Go to <em>Commands</em> and enter the content of the quick config file (downloaded earlier) in the textarea. Click on <em>Save Custom Script</em>. The page reloads, type <em>sh /tmp/custom.sh</em> in the textarea and click on <em>run commands</em>. The page reloads again. Clear the textarea and click on <em>Save Custom Script</em> again. Reboot the router. Now, your router should use the VPN access. If you are using this router, whatsmyip.org should tell you that your IP appears to be in the country you selected when opening your VPN account. <a href="http://strongvpn.com/open_ddwrt.shtml">Instructions with screenshots</a> can be found on strongVPN website.</p>
<p><em><strong>Note:</strong></em> If your IP is still the same (your usual IP), you need to contact strongVPN support and ask them to make sure your VPN account is able to work with this setup. If it isn&#8217;t, they will adjust it in a matter of seconds.</p>
<h3>Test</h3>
<p>Connect, either using a network cable or Wifi, your computer to the new router. Go to a website to get to know your IP such as <strong>whatsmyip.org</strong> and you should now see that your external IP is the one of your VPN provider (in the country of your choice). Hopefully, now, you can use your online banking site or whatever other site which was blocking you for being abroad.</p>
<h3>Support</h3>
<p><a href="http://www.worldgoneweb.com/wp-content/uploads/2011/07/strongvpn-on-best-vpn-provider.jpg"><img class="alignleft size-full wp-image-796" title="strongvpn-on-best-vpn-provider" src="http://www.worldgoneweb.com/wp-content/uploads/2011/07/strongvpn-on-best-vpn-provider.jpg" alt="" width="243" height="93" /></a> If you&#8217;re having a problem, you could leave a comment on this blog but actually, your best bet is to check the <a href="http://www.dd-wrt.com/phpBB2/">DD-WRT forums</a>. If you did go with strongVPN, you&#8217;re in luck, their support is awesome. They have what they call &#8220;Live Help&#8221; which means some of their support staff can anser you via online chat or even using Skype. Simply head over <a href="http://reliablehosting.com/live.html">the Live Help page</a> and find a DD-WRT guru. You will be given his Skype name and be told when he comes on duty. They are super nice and extremely helpful. You can also visit <a href="http://strongvpn.com/forum/">their forums</a> hoping that someone runs the same hardware you bought.</p>
<h3>It works, now what ?</h3>
<p><a href="http://www.worldgoneweb.com/wp-content/uploads/2011/07/netflix-logo.jpg"><img class="alignleft size-full wp-image-794" title="netflix-logo" src="http://www.worldgoneweb.com/wp-content/uploads/2011/07/netflix-logo.jpg" alt="" width="189" height="84" /></a> Okay, so, besides using your connection to access your country of origin banking website and such, this is also a workaround to use country based restricted websites or applications such as Netflix, Hulu or Pandora. I have actually had the opportunity to test this setup and Netflix so, if that&#8217;s what you&#8217;re doing&#8230;</p>
<h3>Netflix : two extra tips</h3>
<ol>
<li>If it stops working on an AppleTV 2, hard reboot (unplug / replug from power source) the device</li>
<li>If it doesn&#8217;t work on iPad, edit your network settings and use Google DNS servers (IP 8.8.8.8)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.worldgoneweb.com/2011/router-vpn-and-american-ip/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/07/internet_world_small.jpg" />
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/07/internet_world_small.jpg" medium="image">
			<media:title type="html">image description</media:title>
		</media:content>
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/07/router_mockup.png" medium="image">
			<media:title type="html">router_mockup</media:title>
		</media:content>
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/07/strongvpn-on-best-vpn-provider.jpg" medium="image">
			<media:title type="html">strongvpn-on-best-vpn-provider</media:title>
		</media:content>
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/07/netflix-logo.jpg" medium="image">
			<media:title type="html">netflix-logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Picasa: how to download a full album?</title>
		<link>http://www.worldgoneweb.com/2011/picasa-how-to-download-a-full-album/</link>
		<comments>http://www.worldgoneweb.com/2011/picasa-how-to-download-a-full-album/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 22:19:58 +0000</pubDate>
		<dc:creator>shalfon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Addon]]></category>
		<category><![CDATA[Album]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[DownThemAll]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[Photos]]></category>
		<category><![CDATA[Picasa]]></category>

		<guid isPermaLink="false">http://www.worldgoneweb.com/?p=761</guid>
		<description><![CDATA[From what I understand, the Picasa application on Windows enables the download of all the photos contained in a given album but that isn&#8217;t the case on Mac. In addition, some prefer not to install the Picasa Desktop application for Mac and it shouldn&#8217;t be necessary to do so just to download pictures. There is [...]]]></description>
			<content:encoded><![CDATA[<p>From what I understand, the Picasa application on Windows enables the download of all the photos contained in a given album but that isn&#8217;t the case on Mac. In addition, some prefer not to install the Picasa Desktop application for Mac and it shouldn&#8217;t be necessary to do so just to download pictures. There is the possibility, using the web interface, to download photos in an album (if the person who shared them thought of checking an option during the upload which often isn&#8217;t the case).</p>
<p style="text-align: center;"><a href="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.09.42-AM.png"><img class="aligncenter size-large wp-image-762" title="PicasaWeb" src="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.09.42-AM-1024x412.png" alt="" width="614" height="247" /></a></p>
<p>In any case, one way to <strong>always be able to download all the photos in a Picasa web album to your computer</strong> is to user the RSS feed of the album and the Firefox &#8220;Down Them All&#8221; extension.</p>
<p>Here&#8217;s how :</p>
<ul>
<li>Install the <a href="https://addons.mozilla.org/en-US/firefox/addon/downthemall/">Down Them All</a> addon for Firefox (and restart the browser if necessary)</li>
<li>Browse to the Picasa album you wish to download the photos from</li>
<li>Click on the RSS link at the bottom right of the page<br />
<a href="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.12.20-AM.png"><img class="aligncenter size-full wp-image-763" title="Screen shot 2011-06-12 at 12.12.20 AM" src="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.12.20-AM.png" alt="" width="486" height="641" /></a></li>
<li>Launch Down Them All by going to Tools &gt; Down Them All! Tools &gt; Down Them All!&#8230;</li>
<li>By default, all the images are selected for download<br />
<a href="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.13.04-AM.png"><img class="aligncenter size-full wp-image-764" title="Screen shot 2011-06-12 at 12.13.04 AM" src="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.13.04-AM.png" alt="" width="544" height="472" /></a></li>
<li>Validate the destination for the download</li>
<li>Click Start</li>
</ul>
<p>Nice and easy, enjoy your photos and keep in mind the flip side to this &#8220;trick&#8221;. Whatever settings you use when you upload your photos to the Internet, they are easily downloaded by whoever stumbles on them&#8230; As far as I know, there is no real privacy for your photos once uploaded on Picasa (or Flickr) which they both make clear in their terms of use.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.worldgoneweb.com/2011/picasa-how-to-download-a-full-album/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.09.42-AM-150x150.png" />
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.09.42-AM.png" medium="image">
			<media:title type="html">PicasaWeb</media:title>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.09.42-AM-150x150.png" />
		</media:content>
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.12.20-AM.png" medium="image">
			<media:title type="html">Screen shot 2011-06-12 at 12.12.20 AM</media:title>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.12.20-AM-150x150.png" />
		</media:content>
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.13.04-AM.png" medium="image">
			<media:title type="html">Screen shot 2011-06-12 at 12.13.04 AM</media:title>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Screen-shot-2011-06-12-at-12.13.04-AM-150x150.png" />
		</media:content>
	</item>
		<item>
		<title>MPD: Music Player Daemon</title>
		<link>http://www.worldgoneweb.com/2011/mpd-music-player-daemon/</link>
		<comments>http://www.worldgoneweb.com/2011/mpd-music-player-daemon/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 08:17:14 +0000</pubDate>
		<dc:creator>shalfon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[AirPlay]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[MPaD]]></category>
		<category><![CDATA[MPD]]></category>
		<category><![CDATA[MPoD]]></category>
		<category><![CDATA[Music Player Daemon]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[Theremin]]></category>
		<category><![CDATA[ubiquity]]></category>
		<category><![CDATA[VoD]]></category>

		<guid isPermaLink="false">http://www.samanthahalfon.net/worldgoneweb/?p=94</guid>
		<description><![CDATA[About a year and a half ago, the price of Hard Drives (and their size) suddenly made it possible for us to imagine having most of our content (music, DVDs) archived on Hard Drives and easily accessible across devices. As it turns out, we are still in the process of importing some of our CDs [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.worldgoneweb.com/wp-content/uploads/2011/06/logo_music.jpg"><img class="alignleft size-thumbnail wp-image-752" title="logo_music" src="http://www.worldgoneweb.com/wp-content/uploads/2011/06/logo_music-150x150.jpg" alt="" width="150" height="150" /></a> About a year and a half ago, the price of Hard Drives (and their size) suddenly made it possible for us to imagine having most of our content (music, DVDs) archived on Hard Drives and easily accessible across devices. As it turns out, we are still in the process of importing some of our CDs and DVDs on digital media and tagging all of that information. What a job that is&#8230;</p>
<p>At the same time, we are constantly on the lookout for solutions to enjoy our music collection (and movies collection) across devices, wherever we are.</p>
<p>A lot of recent events indicate that we are not alone in this quest and that it will only get better and better in time.</p>
<p>Recently, of course, Apple introduced the <a href="http://www.apple.com/fr/itunes/remote/" target="_blank">Remote App</a> for iPhone/iPad, <a href="http://www.apple.com/fr/itunes/airplay/" target="_blank">AirPlay</a> followed by <a href="http://www.apple.com/icloud/features/" target="_blank">iTunes Match</a>&#8230; In the Unix World, a lot of things already exist as well : Pulse to stream audio across devices and projects like Music Player Daemon (which is nothing but new). Media Center are also making the news frequently (Windows Media Center, <a href="http://www.boxee.com" target="_blank">Boxee</a>, <a href="http://www.plexapp.com/about.php" target="_blank">Plex</a>) and commercial solutions (Music streamingm VoD) like <a href="http://www.spotify.com" target="_blank">Spotify</a>, <a href="https://www.netflix.com/" target="_blank">Netflix</a> and <a href="http://www.hulu.com/" target="_blank">Hulu</a> are slowly forcing DVD and Blu-Ray Discs pricing down.</p>
<p style="text-align: center;"><a href="../wp-content/uploads/2011/06/b-666128-music_everywhere.jpg"><img class="aligncenter" title="b-666128-music_everywhere" src="../wp-content/uploads/2011/06/b-666128-music_everywhere.jpg" alt="" width="500" height="375" /></a></p>
<p>Dematerialized solutions are the way of the future but several problem remain :</p>
<ul>
<li>how to organize one&#8217;s library (how to merge dematerialized bought content and ripped content from CDs and in our case even vinyls that we already had)</li>
<li>how to make this content accessible across devices (especially in a multi-platform environment)</li>
<li>how to stream this content on various speakers in the same house</li>
<li>how to remotely control what we play in each room</li>
<li>finally, can we somehow enjoy our content even on the move</li>
<li>(I don&#8217;t even mention syncing across devices, the size of our collection makes that totally impossible, the content has to stay in one place)</li>
<li>(other issues include the ever needed backup management)</li>
</ul>
<p>We are currently waiting to test some of these solutions (we do not have an AirPlay receiver for example though that will soon arrive).</p>
<p>For now, I&#8217;ll focus on one part of our solution : <a href="http://sourceforge.net/projects/musicpd/" target="_blank">Music Player Daemon</a>.</p>
<p><a href="http://mpd.wikia.com/wiki/What_MPD_Is_and_Is_Not">Music Player Daemon (definition)</a> is a server side music player. It allows to queue and play music files (in various formats) accessible to it via the file system. MPD can be controlled remotely using a wide range of clients (desktop, mobile or web based).</p>
<p>An example ? We have several computers in the house. One of them is the &#8220;Media Center&#8221;. It has the Music Hard Drive hooked to it and is (mostly) always on. Because it is the &#8220;Media Center&#8221; it is the computer that has the good sound system attached (whether that means a 5.1 speaker set or a connection to a Home Amplifier System, whatever). Basically, this is the computer that should play music. Why would you listen to a song using your laptop speakers when you can play the same song on your great expensive speaker set ?</p>
<p>So what you do, if you are in your house and connected to your home network, is remotely control what song your &#8220;Media Center&#8221; computer should play. Using a MPD client, you can browse your Music Library (and your playlists) and just play any of them on your great sound system. The good news is that you can do this using Windows, Mac, Linux, iPhone, iPad and even AppleTV.</p>
<p>Of course, this only answers some of the problems mentioned above (there will more than likely be several more articles on related subjects in this blog in the future). MPD does not offer a solution to the online streaming (at least not directly) not does it solve the problem of playing music acrosse the house on various speaker sets (it only plays on the machine it is installed on). But that&#8217;s already a first step to our goal : <strong>an ubiquitous access to our Music and Movies Collections</strong>.</p>
<h1>Some Technical Notes</h1>
<h2>Setting up the server</h2>
<p><strong>Debian</strong></p>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:678px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> mpd<br />
<span style="color: #666666; font-style: italic;">#what else were you expecting?</span></div></td></tr></tbody></table></div>
<p><strong>Mac OS X</strong></p>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:678px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> port <span style="color: #c20cb9; font-weight: bold;">install</span> mpd<br />
<span style="color: #666666; font-style: italic;">#also works with fink and homebrew</span></div></td></tr></tbody></table></div>
<p>Configure mpd by editing /etc/mpd.conf or /opt/local/etc/mpd.conf and set the path to your logs, music library, etc.</p>
<p>Start the server (either manually with mpd) or automatically with an /etc/init.d type script</p>
<p><strong>More information </strong></p>
<p>The <a href="http://mpd.wikia.com/" target="_blank">MPD Community Wiki</a> (new to me) reveals that the project has been pretty active lately which is excellent news.</p>
<ul>
<li><a href="http://mpd.wikia.com/wiki/Install#Mac_OS_X_10.3.2C_10.4_Install_Procedure" target="_blank">MPD Install procedures</a></li>
<li><a href="http://mpd.wikia.com/wiki/Osx" target="_blank">MPD on OS X</a></li>
<li><a href="http://mpd.wikia.com/wiki/Configuration" target="_blank">Configuring MPD</a></li>
<li><a href="http://code.google.com/p/atvmpdcontrol/wiki/InstallMPDonappleTV" target="_blank">Installing and using MPD on AppleTV</a></li>
</ul>
<h2>MPD Clients</h2>
<p>Now that I&#8217;ve described how to setup your MPD server, you will need a client to play your music from anywhere.  I switched to Mac OS X about a year ago and this is now my primary system. We also run some Windows machine. I use Debian as well but most of the time, that&#8217;s only as a server (ie no graphical interface there)</p>
<p><strong>Windows:</strong></p>
<p><a title="QMPDClient" href="http://havtknut.tihlde.org/qmpdclient/" target="_blank">QMPDClient</a>: our favorite client on Windows is QMPDClient. The client suit us best because it didn&#8217;t choke on the size of our collection and it handles both file system and tag views.</p>
<p>QMPDClient has been extended with another project QMPDClient-ne which should also run on Windows though I haven&#8217;t tested it on this platform.</p>
<p style="text-align: center;"><a href="../wp-content/uploads/2011/06/qmpd-client.jpg"><img class="aligncenter" title="qmpd client" src="../wp-content/uploads/2011/06/qmpd-client-1024x544.jpg" alt="" width="516" height="274" /></a></p>
<p><strong>Linux:</strong></p>
<p>MPD being a project that came from the Linux world, most clients are aiming for this platform.</p>
<p>Currently, I have tested:</p>
<p><a title="QMPDClient" href="http://havtknut.tihlde.org/qmpdclient/" target="_blank">QMPDclient</a> (so that Derrick and I can run the same software on both systems)<br />
QMPDClient also has a package available via apt/aptitude for Debian.</p>
<p><a title="QMPDClient-ne" href="http://github.com/Voker57/qmpdclient-ne/tree/master" target="_blank">QMPDclient-ne</a> in order to see what enhancements have been added like the possibility to pull up lyrics.</p>
<p><a title="QtMPC" href="http://qtmpc.lowblog.nl/" target="_blank">QtMPC</a>, another Qt4 based client.</p>
<p><strong>Mac OS X:</strong></p>
<p><a title="Theremin" href="https://theremin.sigterm.eu/" target="_blank">Theremin</a> is the most famous Mac OS MPD client as it is written in Cocoa and therefore has the Mac aqua style. Another plus, it has a growl connector.</p>
<p style="text-align: center;"><a href="http://www.worldgoneweb.com/wp-content/uploads/2011/06/qmpd-client.jpg"></a><a href="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Picture-1.png"><img class="aligncenter size-large wp-image-750" title="Picture 1" src="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Picture-1-1024x640.png" alt="" width="491" height="307" /></a></p>
<p>About a year ago, I had tested <a title="Kea2" href="http://redmine.sitharus.com/wiki/kea2" target="_blank">Kea2</a> which was in an alpha stage. It seems to have disappeared.</p>
<p><strong>iPhone / iPad</strong></p>
<p>I&#8217;ve tested <a href="http://itunes.apple.com/fr/app/mpod/id285063020?mt=8" target="_blank">MPoD</a> for iPhone and will probably try <a href="http://itunes.apple.com/fr/app/mpad/id423097706?mt=8" target="_blank">MPaD</a> for iPad soon.</p>
<p><a href="http://www.worldgoneweb.com/wp-content/uploads/2011/06/MPaD.jpg"><img class="aligncenter size-full wp-image-748" title="MPaD" src="http://www.worldgoneweb.com/wp-content/uploads/2011/06/MPaD.jpg" alt="" width="480" height="360" /></a></p>
<h1>Where to go from there ?</h1>
<p>There is a lot more to do on this Music system of ours. We are still looking for a great Music Client (iTunes doesn&#8217;t cut it for us at all, our collection is too big for the sorting and management offered) but we want to enjoy solutions like AirPlay. We also hope to see more AirPlay (or similar) received come out in order, one day, to have speakers in every room and a way to play music where we want. Stay tuned&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.worldgoneweb.com/2011/mpd-music-player-daemon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/logo_music-150x150.jpg" />
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/logo_music.jpg" medium="image">
			<media:title type="html">logo_music</media:title>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/logo_music-150x150.jpg" />
		</media:content>
		<media:content url="http://www.worldgoneweb.com../wp-content/uploads/2011/06/b-666128-music_everywhere.jpg" medium="image">
			<media:title type="html">b-666128-music_everywhere</media:title>
		</media:content>
		<media:content url="http://www.worldgoneweb.com../wp-content/uploads/2011/06/qmpd-client-1024x544.jpg" medium="image">
			<media:title type="html">qmpd client</media:title>
		</media:content>
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Picture-1.png" medium="image">
			<media:title type="html">Picture 1</media:title>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/Picture-1-150x150.png" />
		</media:content>
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/MPaD.jpg" medium="image">
			<media:title type="html">MPaD</media:title>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/06/MPaD-150x150.jpg" />
		</media:content>
	</item>
		<item>
		<title>World Gone Web hacked</title>
		<link>http://www.worldgoneweb.com/2011/world-gone-web-hacked/</link>
		<comments>http://www.worldgoneweb.com/2011/world-gone-web-hacked/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 09:00:59 +0000</pubDate>
		<dc:creator>shalfon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Me myself I]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[hacked]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[ovh]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[webmaster]]></category>

		<guid isPermaLink="false">http://www.worldgoneweb.com/?p=414</guid>
		<description><![CDATA[On Monday morning, I received an email from Google Webmaster Tools letting me know that my WordPress blog had been hacked and was temporarily blacklisted. Users accessing my blog using Google Chrome or Firefox were advised to stay away for safety. I appreciate Google&#8217;s notification of this problem as well as their concern (and Mozilla&#8217;s) [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-medium wp-image-415" title="Firefox Malware Warning" src="http://www.worldgoneweb.com/wp-content/uploads/2011/01/malware-300x143.png" alt="" width="300" height="143" /></p>
<p>On Monday morning, I received an email from Google Webmaster Tools letting me know that my WordPress blog had been hacked and was temporarily blacklisted. Users accessing my blog using Google Chrome or Firefox were advised to stay away for safety. I appreciate Google&#8217;s notification of this problem as well as their concern (and Mozilla&#8217;s) to protect my visitors.</p>
<p>Why was my WordPress blog hacked ? I don&#8217;t believe it was individually targeted, I believe it was hacked because it was vulnerable. Two reasons :</p>
<p>1.  I hadn&#8217;t updated my blog to the latest version of WordPress. As a matter of fact, I was not even running WordPress 3.0 yet.<br />
2. Also, I believe the file permissions I was required to use on the server by my host provider were not safe enough thought I could not change them without breaking the whole blog (Access Denied error). I largely blame my hosting provider architecture for that.<br />
So, what did the malware look like ? It was a php code which was added to every .php file in my main wordpress folder and read something like eval(base64_decode(XXXXXXXXXXX)). Once this was decoded and evaluated, it would check whether the referrer was Bing, Yahoo or Google and if so, redirect my visitor to a malware sharing site of some kind (I didn&#8217;t go to it&#8230;). This hack has been used recently on several GoDaddy hosted wordpress blogs and other CMS. With some help from @fdevillamil and Google, I found information about the problem and started working on it.</p>
<p>Finally, I finally got the problem sorted thanks to several blogs posts I&#8217;d like to point to here.</p>
<p>1. Here is a <a href="http://www.blogtips.org/analysis-of-the-latest-website-hacks/">detailed explanation of the attack</a><br />
2. I downloaded and modified <a href="http://www.blogtips.org/how-to-cure-your-godaddy-wordpress-hacked-blog/">Peter&#8217;s fixfiles.php</a> script in order to clean my PHP code of the malicious PHP script.<br />
3. Sucuri Research offers a <a href="http://blog.sucuri.net/2010/05/simple-cleanup-solution-for-the-latest-wordpress-hack.html">console command</a> (requires SSH access to your server) to clean your WordPress, too. They also detailed how <a href="http://blog.sucuri.net/2010/10/attacks-on-godaddy-sites-insomniaboldinfoorg-com.html">to fix a hacked blog</a> intended for GoDaddy users.<br />
4. Before resubmitting my blog for validation by Google, I made sure everything was okay using <a href="http://sitecheck.sucuri.net/scanner/">Sucuri&#8217;s malware scanner service</a> (free for limited use) . A very useful tool.<br />
5. I quickly searched for <a href="http://thepcsecurity.com/scan-or-check-websites-for-malware-4-free-tools/">similar tools</a> I could use in the future and found the following articles though I didn&#8217;t test these services yet.<br />
6. I moved my blog to another host where I was able to set the permission more restrictively<br />
7. I disabled several of my plugins and updated my WordPress hoping to secure my blog from too many security flaws that could lay in third party code<br />
8. Next, I read up about a few ways to fix security holes in WordPress in these posts :</p>
<ul>
<li><a href="http://www.blogtips.org/monitor-maliciousfile-changes-wordpress-blog/">Monitor Malicious File Changes in WordPress Blog</a></li>
<li><a href="http://www.blogtips.org/secure-wordpress-blog/">Secure a WordPress Blog</a></li>
<li><a href="http://serverfault.com/questions/6895/whats-the-best-way-of-handling-permissions-for-apache2s-user-www-data-in-var-w">The best way to handle file permissions for Apache www-data</a> (ServerFault discussion)</li>
<li><a href="http://www.blogtips.org/avoid-users-uploading-malware/">Avoid users uploading malware</a></li>
</ul>
<p>9. Finally, I updated my blog which was no luxury. It can quickly be done in<a href="http://minimalite.com/2011/01/wordpress-hacks/how-to-update-manually-to-wordpress-3-0-4/"> a few steps</a> which are detailed right here</p>
<p>Hope this helps out someone else in a similar situation and that Google reconsiders my website soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.worldgoneweb.com/2011/world-gone-web-hacked/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/01/malware-150x150.png" />
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/01/malware.png" medium="image">
			<media:title type="html">Firefox Malware Warning</media:title>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2011/01/malware-150x150.png" />
		</media:content>
	</item>
		<item>
		<title>Backup Your &#8220;Tumblelog&#8221;</title>
		<link>http://www.worldgoneweb.com/2010/backup-your-tumblelog/</link>
		<comments>http://www.worldgoneweb.com/2010/backup-your-tumblelog/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 16:55:59 +0000</pubDate>
		<dc:creator>shalfon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Me myself I]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[tumblelog]]></category>
		<category><![CDATA[tumblr]]></category>
		<category><![CDATA[tumblrbackup]]></category>

		<guid isPermaLink="false">http://www.samanthahalfon.net/worldgoneweb/?p=355</guid>
		<description><![CDATA[First, I must confess that I like trying software out. That&#8217;s probably how I ended up having some many accounts with so many services and having a Tumblelog AND a WordPress blog. Since this blog is not running on wordpress.com, it is for me to remember and backup my database and files from time to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.samanthahalfon.net/worldgoneweb/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.54.34-PM.png" alt="" title="Screen shot 2010-04-05 at 6.54.34 PM" width="340" height="194" class="aligncenter size-full wp-image-360" /></p>
<p>First, I must confess that I like trying software out. That&#8217;s probably how I ended up having some many accounts with so many services and having a Tumblelog AND a WordPress blog. Since this blog is not running on wordpress.com, it is for me to remember and backup my database and files from time to time in case of a problem with my server. For <a href="http://samo9789.tumblr.com">my Tumblr</a>, it is different. The data is on Tumblr server(s) and there are no features I know of in the admin to download them and store them locally. After a year of publishing a daily list of the movies I watch and books I read, this tumblelog became a Journal of my cultural activities and I grew attached to it. Recently I decided it had to be backedup in case something happened to my tumblr account or whatever. As usual, someone had the idea before me and a tool is available. It is called &#8211; appropriately enough &#8211; <a href="http://macsmiley.tumblr.com/post/450101769/tumblr-backup-mac-beta">Tumblrbackup</a>. It couldn&#8217;t be easier to use, enter your credentials, select the tumblelog to backup and the destination on your computer. A folder is created which contains your posts, images, avatar and even your custom style. A index.html file is generated allowing you to browse your own content on your local hard drive. The index.html doesnt include your custom style so it looks pretty plain but everything you wrote and uploaded is there&#8230; Now I just need to remember and rerun the backup from time to time. Cool!<br />
<a href="http://samo9789.tumblr.com"><img src="http://www.samanthahalfon.net/worldgoneweb/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.51.05-PM.png" alt="" title="Screen shot 2010-04-05 at 6.51.05 PM" width="400" height="500" class="alignleft size-full wp-image-357" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.worldgoneweb.com/2010/backup-your-tumblelog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.54.34-PM-150x150.png" />
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.54.34-PM.png" medium="image">
			<media:title type="html">Screen shot 2010-04-05 at 6.54.34 PM</media:title>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.54.34-PM-150x150.png" />
		</media:content>
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.51.05-PM.png" medium="image">
			<media:title type="html">Screen shot 2010-04-05 at 6.51.05 PM</media:title>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.51.05-PM-150x150.png" />
		</media:content>
	</item>
		<item>
		<title>Chive, alternative to PHPMyAdmin</title>
		<link>http://www.worldgoneweb.com/2010/chive-alternative-to-phpmyadmin/</link>
		<comments>http://www.worldgoneweb.com/2010/chive-alternative-to-phpmyadmin/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 16:33:11 +0000</pubDate>
		<dc:creator>shalfon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[chive]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[sql browser]]></category>
		<category><![CDATA[yii]]></category>

		<guid isPermaLink="false">http://www.samanthahalfon.net/worldgoneweb/?p=348</guid>
		<description><![CDATA[I don&#8217;t remember how I&#8217;ve heard about Chive, a young alternative to PhpMyAdmin (version 0.3 was released less than a week ago). I believe it was a link on twitter. There seem to be two policies when it comes to a MySQL browser for web developers: the desktop app or the web app. A lot [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.samanthahalfon.net/worldgoneweb/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.24.13-PM.png"><img src="http://www.samanthahalfon.net/worldgoneweb/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.24.13-PM.png" alt="" title="Screen shot 2010-04-05 at 6.24.13 PM" width="350" height="200" class="aligncenter size-full wp-image-349" /></a></p>
<p>I don&#8217;t remember how I&#8217;ve heard about <a href="http://www.chive-project.com/">Chive</a>, a young alternative to PhpMyAdmin (version 0.3 was released less than a week ago). I believe it was a link on twitter.<br />
There seem to be two policies when it comes to a MySQL browser for web developers: the desktop app or the web app. A lot of people seem to use PHPMyAdmin though I gave it up several years ago. First for the MySQL QueryBrowser, later on for SequelPro (OS X).  SequelPro does everything I need, connect via socket, tcp or ssh which is extremly useful. Still, sometimes, to install a PHPMyAdmin (or something similar) on a remote server or a dev server can be handy. So I tried Chive. </p>
<p>The installation couldnt be easier. Just unrar the package, place it in your document root somewhere and it works. Chive runs on the Yii PHP framework and, as far as I can tell, it&#8217;s pretty fast. The interface is less cluttered than PHPMyAdmin. Of course, you have to get some work done with a tool like that to judge of its efficiency but it looks like a nice alternative to PHPMyAdmin to me. Actually, the <a href="http://www.chive-project.com/Features">feature list comparaison</a> on the Chive website is impressive (considering the age of the project). I will definitely recommend it to developers I work with because I hate using PHPMyAdmin when pairing with them. </p>
<p>If you have any use for a web based MySQL Browserm check Chive out:</p>
<li><a href="http://www.chive-project.com/">Chive homepage</a></li>
<li><a href="https://launchpad.net/chive">Chive&#8217;s source code on launchpad</a></li>
]]></content:encoded>
			<wfw:commentRss>http://www.worldgoneweb.com/2010/chive-alternative-to-phpmyadmin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.24.13-PM-150x150.png" />
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.24.13-PM.png" medium="image">
			<media:title type="html">Screen shot 2010-04-05 at 6.24.13 PM</media:title>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2010/04/Screen-shot-2010-04-05-at-6.24.13-PM-150x150.png" />
		</media:content>
	</item>
		<item>
		<title>Where are your users from?</title>
		<link>http://www.worldgoneweb.com/2010/where-are-your-users-from/</link>
		<comments>http://www.worldgoneweb.com/2010/where-are-your-users-from/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 22:27:56 +0000</pubDate>
		<dc:creator>shalfon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.samanthahalfon.net/worldgoneweb/?p=225</guid>
		<description><![CDATA[If you ever wonder where your readers are from, if you ever need to adjust your application to the origins of its users; you can determine the geographic location of a connection by using an IP to Country table. I should start by saying that I do not always like the way websites use this [...]]]></description>
			<content:encoded><![CDATA[<p>If you ever wonder where your readers are from, if you ever need to adjust your application to the origins of its users; you can determine the geographic location of a connection by using an IP to Country table.</p>
<p>I should start by saying that I do not always like the way websites use this feature. As much as I appreciate, let&#8217;s say, Yamaha, to redirect me from www.yamaha.com to fr.yamaha.com based on my location ; I can not stand for Google or Wikipedia to assume that I either speak French or intend to search French speaking contents.</p>
<p>Another thing I absolutely can not stand is of Skype (for example) to prompt me to download the French version of its application just because I am browsing the Web from France. I can not tolerate any French speaking applications to be installed on my computer. Actually, Mac OS X is such a treat on that point because I can have a French bought CD of Snow Leopard and still install my system in English. All the OEM Windows systems I purchased in my country of residence were bound to remain in (poorly-translated) French. I actually would always keep my license number handy but use a pirated English (but otherwise equivalent) version just so that my Start button would actually spell &#8216;Start&#8217;.</p>
<p>Anyway, the IP to Country determination can still come in handy and here&#8217;s how I made it work for me (using PHP/MySQL). I am aware that it is possible to do the www.yamaha.com to fr.yamaha.com redirection simply using geolocated aliases. Hosting providers such as OVH usually provide this functionality.</p>
<ol>
<li>Download the IP to Country.csv database (and update it there after) from <a title="Ip to Country" href="http://ip-to-country.webhosting.info/" target="_blank">http://ip-to-country.webhosting.info/</a></li>
<li>Create a table to hold the data</li>
<li>Import the data from the csv file into that table</li>
</ol>
<div class="codecolorer-container sql dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:678px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> iptocountry <span style="color: #66cc66;">&#40;</span>ip_from int<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> ip_to int<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> country_code2 char<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> country_code3 char<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> country_name varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">50</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;<br />
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">LOAD</span> <span style="color: #993333; font-weight: bold;">DATA</span> <span style="color: #993333; font-weight: bold;">INFILE</span> <span style="color: #ff0000;">'ip-to-country.csv'</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #993333; font-weight: bold;">TABLE</span> iptocountry <span style="color: #993333; font-weight: bold;">FIELDS</span> terminated <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #ff0000;">','</span> <span style="color: #993333; font-weight: bold;">ENCLOSED</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #ff0000;">'&quot;'</span> <span style="color: #993333; font-weight: bold;">LINES</span> terminated <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span>;</div></td></tr></tbody></table></div>
<p>Then, from your PHP code, you can get the country code for example, using the code below</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:678px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> _ipAddressToIpValue<span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$ips</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/split"><span style="color: #990000;">split</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;\.&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ip</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$ips</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$ips</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">256</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$ips</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">256</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">256</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$ips</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">256</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">256</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">256</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000088;">$ipValue</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_ipAddressToIpValue<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$queryResults</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>db<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>query<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT country_name FROM iptocountry WHERE &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$ipValue</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; BETWEEN ip_from AND ip_to&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$res</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$queryResults</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>result_array<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/count"><span style="color: #990000;">count</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$countryCode</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$res</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;country_name&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>The code above is using Code Igniter to query the database. I suppose it is self explanatory enough to be transposed to any other DAO you might be using.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.worldgoneweb.com/2010/where-are-your-users-from/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
	</item>
		<item>
		<title>Install Subsonic on Debian Etch</title>
		<link>http://www.worldgoneweb.com/2009/install-subsonic-on-debian-etch/</link>
		<comments>http://www.worldgoneweb.com/2009/install-subsonic-on-debian-etch/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 12:06:19 +0000</pubDate>
		<dc:creator>shalfon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[streaming]]></category>

		<guid isPermaLink="false">http://www.samanthahalfon.net/worldgoneweb/?p=123</guid>
		<description><![CDATA[Subsonic is a web application allowing you to stream or download your music collection over the Internet. It is the newest application of the kind after the famous Ampache and Jinzora. I have recently tried Ampache but was disapointed by the user experience so when Framasoft added a notice about Subsonic, I was immediatly interested. The installation [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Subsonic" href="http://subsonic.sourceforge.net/">Subsonic </a>is a web application allowing you to stream or download your music collection over the Internet. It is the newest application of the kind after the famous <a title="Ampache" href="http://ampache.org/">Ampache </a>and <a title="Jinzora" href="http://en.jinzora.com/">Jinzora</a>. I have recently tried Ampache but was disapointed by the user experience so when <a title="Subsonic on Framasoft" href="http://www.framasoft.net/article4838.html">Framasoft </a>added a notice about Subsonic, I was immediatly interested.</p>
<p>The installation is pretty simple:</p>
<ol>
<li>Download the standalone version</li>
<li>Untar the downloaded archive in the directory of your choice for example /var/subsonic</li>
<li>Edit subsonic.sh if you feel you need to change the default settings (port or memory allowed)</li>
</ol>
<p>You are now ready to launch subsonic by running <strong>subsonic.sh</strong></p>
<p>To use Subsonic, connect to http://&lt;your_server&gt;:8080</p>
<p>Connect using the admin:admin account and you should now see the Subsonic main page.</p>
<p>To add music to your collection, browse to Music Folder and add your music collection, for example</p>
<p>Rock    /mnt/data/music/rock</p>
<p>You can now log out, sign in using your user and enjoy your music from anywhere</p>
<div id="attachment_124" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-124" title="subsonic" src="http://www.samanthahalfon.net/worldgoneweb/wp-content/uploads/2009/04/subsonic-300x187.jpg" alt="Subsonic Main page" width="300" height="187" /><p class="wp-caption-text">Subsonic Main page</p></div>
<p>One nice feature offered by Subsonic is to reencode your music to a lower bitrate to limit the bandwidth usage, to do so, you need Lame. Download the lame archive from the official site, untar it, and rename the generated folder to &#8220;lame&#8221;. Then, copy this folder to /var/subsonic/transcode. You&#8217;re all done. Enjoy <img src='http://www.worldgoneweb.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Browse to the settings and immediately change the admin password. You can then create a new user for yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.worldgoneweb.com/2009/install-subsonic-on-debian-etch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2009/04/subsonic-150x150.jpg" />
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2009/04/subsonic.jpg" medium="image">
			<media:title type="html">subsonic</media:title>
			<media:description type="html">Subsonic Main page</media:description>
			<media:thumbnail url="http://www.worldgoneweb.com/wp-content/uploads/2009/04/subsonic-150x150.jpg" />
		</media:content>
	</item>
		<item>
		<title>A WordPress Index Page Template</title>
		<link>http://www.worldgoneweb.com/2009/a-wordpress-index-page-template/</link>
		<comments>http://www.worldgoneweb.com/2009/a-wordpress-index-page-template/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 21:21:45 +0000</pubDate>
		<dc:creator>shalfon</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[archives]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[world wide angle]]></category>

		<guid isPermaLink="false">http://www.samanthahalfon.net/worldgoneweb/?p=85</guid>
		<description><![CDATA[Two months ago, Derrick and I opened another blog dedicated to my other main point of interest: Cinema and Video. After a few weeks of writing content for our blog, quite a bit of information has accumulated. Sometimes, we find it necessary to look at our pasts posts in order to get a piece of information. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-839" title="wordpress_logo" src="http://www.wwangle.com/blog/wp-content/uploads/2009/01/wordpress_logo.png" alt="wordpress_logo" width="118" height="118" />Two<br />
months ago, Derrick and I opened another blog dedicated to my other<br />
main point of interest: Cinema and Video. After a few weeks of writing content for our blog, quite a bit of information has accumulated. Sometimes, we find it necessary to look at our pasts posts in order to get a piece of information. Browsing back in time has become more and more tedious as we have more content archived. On the very same day, Derrick and I both had the idea that we needed to create an Index page allowing instant access to any posts.</p>
<p>I worked on a template page for WordPress over the weekend in order to display such an index. Our main goal was to simply display a list of posts by date, but as I started to work on this I realized it could be a nice feature to also offer a list grouped by categories and tags. Since the list of posts was bound to grow, I decided to make each section title collapsable while still offering a view all link to display every posts title if so desired.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-841" title="wwa_archives" src="http://www.wwangle.com/blog/wp-content/uploads/2009/01/wwa_archives.png" alt="wwa_archives" width="406" height="137" /></p>
<p>Before going ahead with the code, I did a quick Google search to see if anyone had worked on this before. What I found was an impressive graphical view of a blog past developped by <a title="Vladimir Prevoloc" href="http://www.prelovac.com/vladimir/about" target="_blank">Vladimir Prevolac</a> based on the default archive page of Tumblr called<a title="Snazzy Archives" href="http://www.prelovac.com/vladimir/wordpress-plugins/snazzy-archives" target="_blank">Snazzy Archives</a>. I really liked Vladimir&#8217;s work and decided to integrate that option as well  in my Index page.</p>
<p><img class="aligncenter size-full wp-image-840" title="snazzy_archives" src="http://www.wwangle.com/blog/wp-content/uploads/2009/01/snazzy_archives.png" alt="snazzy_archives" width="398" height="448" /></p>
<p>As I started working on this, I decided that I would make my work more valuable by making it generic enough to be used by other people. To do so, I knew that I had to make sure of the following:</p>
<ol>
<li>Use WordPress core functions</li>
<li>Not rely on the pre existence of the Snazzy Archives plugin as not everyone would want to use i</li>
<li>Test my index page with at least three different WordPress installations</li>
</ol>
<p>It was the first time I tried to extend WordPress, and after a quick Google search I found this <a title="Wordpress function reference" href="http://codex.wordpress.org/Function_Reference" target="_blank">function reference</a> page on the<a title="Wordpress Codex" href="http://codex.wordpress.org/Main_Page" target="_blank">WordPress Codex</a>. The documentation, though still being worked on by the community, is easy to read and understand and makes it quite enjoyable to work with the WordPress code. In the end, the only function I had to write was the one returning me the list of months during which at least one blog post had been written. Still, I found the code I needed within WordPress, I just had to adapt it to what I was doing.</p>
<p>Like I said, I really liked Snazzy and wanted to add it to our blog but my Index Template Page couldn&#8217;t rely on it to be installed as it might be temporarely disabled or some other user might not want to show it. I simply tested the existance of the plugin before placing the link to the Snazzy Archives in the page.</p>
<p>In order to test, I tried my template on three installations of WordPress. Two running WordPress 2.6 and one running 2.7. I also ran some tests enabling or not the permalinks options as it changes the url handling quite a bit. Regarding this question of URL, I decided not to use Ajax as WordPress front-end doesn&#8217;t use it, I decied to make my Index page match the rest of the blog engine on that aspect as well.</p>
<p>All in all, after a few hours of coding and experimenting with WordPress, I had completed my own template page. So far it has worked fine for us, but feel free to report any bug or share your comments with us on this page.</p>
<h3>Live demo:</h3>
<p>You can see the result in action by visiting our <a title="WWA Archives" href="http://www.wwangle.com/blog/archives/" target="_self">archive page</a> on World Wide Angle.<br />
You can also see it running on my <a title="World Gone Web Archives" href="http://www.samanthahalfon.net/worldgoneweb/?page_id=83" target="_blank">this very blog</a>.</p>
<h3>Download:</h3>
<p>You can <a title="WWA Archives template page for WordPress" href="http://wwangle.com/resources/archives.php.zip" target="_blank">download the template</a> here.</p>
<h3>Installation process:</h3>
<ol>
<li>Download the template</li>
<li>Upload the template archives.php to your theme directory (i.e. &lt;wordpress&gt;/wp-content/themes/&lt;theme_name&gt;</li>
<li>Make sure your script file can be read</li>
<li>Adapt the page structure of the template to match your blog theme structure (i.e. copy the beginning and th end of your blog theme index.php page like the content div and sidebar declaration)</li>
<li>Enter your wordpress administration and write a new page</li>
<li>Enter the title you wish to see in your menu (be carefull, &#8220;index&#8221; might generate problems, choose another name)</li>
<li>Do not enter any content</li>
<li>Find the page template menu and select &#8220;Index Page&#8221;</li>
<li>Publish this new page</li>
<li>You&#8217;re  done, go to your blog and test it</li>
</ol>
<p>If you wish to use Snazzy Archives as well, you also need to:</p>
<ol>
<li>Download SnazzyArchives and upload it to your plugin directory</li>
<li>Go to your administration page and enable the plugin</li>
<li>Refresh your blog archive page, the link to snazzy archives should appear</li>
</ol>
<h4 style="text-align: center;"><span style="color: #2255aa;">We hope you like it!</span></h4>
]]></content:encoded>
			<wfw:commentRss>http://www.worldgoneweb.com/2009/a-wordpress-index-page-template/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://www.wwangle.com/blog/wp-content/uploads/2009/01/wordpress_logo.png" />
		<media:content url="http://www.wwangle.com/blog/wp-content/uploads/2009/01/wordpress_logo.png" medium="image">
			<media:title type="html">Mac OS X Lion &#8211; iCal default event length</media:title>
		</media:content>
		<media:content url="http://www.wwangle.com/blog/wp-content/uploads/2009/01/wwa_archives.png" medium="image">
			<media:title type="html">Mac OS X Lion &#8211; iCal default event length</media:title>
		</media:content>
		<media:content url="http://www.worldgoneweb.com/wp-content/uploads/2011/10/features_ical_screen.jpg" medium="image">
			<media:title type="html">features_ical_screen</media:title>
		</media:content>
	</item>
		<item>
		<title>Facebook: Set your profile picture feature</title>
		<link>http://www.worldgoneweb.com/2008/facebook-set-your-profile-picture-feature/</link>
		<comments>http://www.worldgoneweb.com/2008/facebook-set-your-profile-picture-feature/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 11:34:44 +0000</pubDate>
		<dc:creator>shalfon</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[crop]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[ptoho]]></category>

		<guid isPermaLink="false">http://www.samanthahalfon.net/worldgoneweb/?p=43</guid>
		<description><![CDATA[I am not much of a Facebook user but decided to log in today to see what was new and try and give my profile page an update. As soon as I logged in, I was impressed by a &#8220;new&#8221; feature (it might not be that new but like I said, i do not connect [...]]]></description>
			<content:encoded><![CDATA[<p>I am not much of a Facebook user but decided to log in today to see what was new and try and give my profile page an update. As soon as I logged in, I was impressed by a &#8220;new&#8221; feature (it might not be that new but like I said, i do not connect often). Facebook immediately suggested me to set my profile photo, and not only did it suggest me a number of photos that my friends have uploaded and tagged has featuring me, Facebook was even able to suggest which part of the picture I should select and crop.<br />
As you can see below, the interface is very intuitive, all I have to do is either accept this picture as a profile image or use the arrows to browse through the suggestions. I&#8217;ve added a sample below to show how good facebook was at the &#8220;where&#8217;s Waldo&#8221; game.</p>
<div><img style="max-width: 800px;" src="http://www.samanthahalfon.net/worldgoneweb/wp-content/uploads/2008/04/facebook.jpg" alt="" width="400" /></div>
<p>This profile photo suggestion feature is clever and useful and I can easily understand how it works &#8211; codewise. But how does Facebook know which part of the photo features me ? Does anyone know ? Did my friends actually highlight each person on the picture when they uploaded them ? So far, the only information I&#8217;ve found on the subject comes from the facebook <a title="Facebook blog" href="http://blog.facebook.com/blog.php?post=7773202130">blog</a>. It suggests that, when tagging a picture, one highlights the person. I guess i&#8217;m going to have to upload a picture to see how it works <img src='http://www.worldgoneweb.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Of course, the other option I immediately thought about was that there was a picture analysis algorithm able to define, given several pictures, who was the person that appeared on all of them and then highlight that person on each photos. Now, <em>that </em>sounds a bit too much. After trying out the photo upload myself, it confirms the first option : Facebook stores the location of each tagged person in the image. Smart !</p>
<p>Anyway, congratulations to Facebook on that one, it becomes very easy for the user to create a profile photo and, by doing so, will probably bring a lot of people (like me) to actually define one and maybe become a better facebook user.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.worldgoneweb.com/2008/facebook-set-your-profile-picture-feature/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://www.samanthahalfon.net/worldgoneweb/wp-content/uploads/2008/04/facebook.jpg" />
		<media:content url="http://www.samanthahalfon.net/worldgoneweb/wp-content/uploads/2008/04/facebook.jpg" medium="image" />
	</item>
	</channel>
</rss>

