<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>PatchLog</title> <link>http://patchlog.com</link> <description>Patches 'n Hacks</description> <lastBuildDate>Wed, 16 Nov 2011 17:35:23 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3</generator><div id="fb-root" /><script type="text/javascript">window.fbAsyncInit=function()
{FB.init({appId:null,status:true,cookie:true,xfbml:true});};(function()
{var e=document.createElement('script');e.async=true;e.src=document.location.protocol+'//connect.facebook.net/en_US/all.js';document.getElementById('fb-root').appendChild(e);}());</script><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Patchlog" /><feedburner:info uri="patchlog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nc-nd/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/Patchlog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2FPatchlog" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><item><title>Better FIX for Inspiron N7110 touchpad</title><link>http://feedproxy.google.com/~r/Patchlog/~3/ljWzt3ZQGbo/</link> <comments>http://patchlog.com/linux/better-fix-for-inspiron-n7110-touchpad/#comments</comments> <pubDate>Wed, 16 Nov 2011 17:34:24 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[Linux]]></category><guid isPermaLink="false">http://patchlog.com/?p=784</guid> <description><![CDATA[Seth Forshee created a kernel patch and now the ALPS touchapd on this laptop and probably others is recognized as a touchpad instead of falling back to a psmouse. So now you can use the Touchpad tab in the "Mouse and touchpad settings" (gnome) to control the "click to tap", scrolling and other features and [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/linux/better-fix-for-inspiron-n7110-touchpad/">Better FIX for Inspiron N7110 touchpad</a></p> ]]></description> <content:encoded><![CDATA[<p>Seth Forshee created a kernel patch and now the ALPS touchapd on this laptop and probably others is recognized as a touchpad instead of falling back to a psmouse.</p><p>So now you can use the Touchpad tab in the "Mouse and touchpad settings" (gnome) to control the "click to tap", scrolling and other features and you don't have to use <a href="http://patchlog.com/linux/fix-inspiron-n7110-alps-touchpad-in-ubuntu/">the patched syndaemon from my previous post</a>.</p><p>To install this fix on ubuntu just download <a href="http://people.canonical.com/~sforshee/alps-touchpad/psmouse-alps-0.10/psmouse-alps-dkms_0.10_all.deb">this deb package</a>, install and reboot. ( tested on Ubuntu 11.10 x86_64 ).</p><p>If you want to know all the details go through the comments on <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/545307">this bug report #545307</a></p><div id="tweetbutton784" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Flinux%2Fbetter-fix-for-inspiron-n7110-touchpad%2F&amp;via=mihaisecasiu&amp;text=Better%20FIX%20for%20Inspiron%20N7110%20touchpad&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Flinux%2Fbetter-fix-for-inspiron-n7110-touchpad%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/linux/better-fix-for-inspiron-n7110-touchpad/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/linux/fix-inspiron-n7110-alps-touchpad-in-ubuntu/" rel="bookmark" class="crp_title">Fix inspiron N7110 ALPS Touchpad in Ubuntu</a></li><li><a href="http://patchlog.com/linux/the-ubuntu-buzz/" rel="bookmark" class="crp_title">the ubuntu buzz</a></li><li><a href="http://patchlog.com/general/speedlinking-unix-20-07-2007/" rel="bookmark" class="crp_title">Speedlinking Unix 20-07-2007</a></li><li><a href="http://patchlog.com/web/how-to-write-about-linux-for-digg/" rel="bookmark" class="crp_title">How to write about Linux for Digg?</a></li><li><a href="http://patchlog.com/freebsd/first-freebsd-62-bugs-found/" rel="bookmark" class="crp_title">first freebsd 6.2 bugs found</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/linux/better-fix-for-inspiron-n7110-touchpad/">Better FIX for Inspiron N7110 touchpad</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=784&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/GaxLRz8mj_hbHy3uKyJJM4AP_PM/0/da"><img src="http://feedads.g.doubleclick.net/~a/GaxLRz8mj_hbHy3uKyJJM4AP_PM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/GaxLRz8mj_hbHy3uKyJJM4AP_PM/1/da"><img src="http://feedads.g.doubleclick.net/~a/GaxLRz8mj_hbHy3uKyJJM4AP_PM/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=ljWzt3ZQGbo:028onQjz8dw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=ljWzt3ZQGbo:028onQjz8dw:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/ljWzt3ZQGbo" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/linux/better-fix-for-inspiron-n7110-touchpad/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://patchlog.com/linux/better-fix-for-inspiron-n7110-touchpad/</feedburner:origLink></item> <item><title>Fix inspiron N7110 ALPS Touchpad in Ubuntu</title><link>http://feedproxy.google.com/~r/Patchlog/~3/j_r3g9hEDto/</link> <comments>http://patchlog.com/linux/fix-inspiron-n7110-alps-touchpad-in-ubuntu/#comments</comments> <pubDate>Sat, 20 Aug 2011 18:35:12 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[alsp]]></category> <category><![CDATA[disable]]></category> <category><![CDATA[inspiron]]></category> <category><![CDATA[N7110]]></category> <category><![CDATA[synaptics]]></category> <category><![CDATA[syndaemon]]></category> <category><![CDATA[touchpad]]></category> <category><![CDATA[typing]]></category> <category><![CDATA[ubuntu]]></category><guid isPermaLink="false">http://patchlog.com/?p=772</guid> <description><![CDATA[I recently purchased a new dell inspiron N7110. The laptop is great and Ubuntu 11.04 works quite well but there is one important problem. The problem with most touchpads on laptops is that you'll often touch them accidentally while typing, this gets recorded as a tap/click and the typing cursor might move to another location [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/linux/fix-inspiron-n7110-alps-touchpad-in-ubuntu/">Fix inspiron N7110 ALPS Touchpad in Ubuntu</a></p> ]]></description> <content:encoded><![CDATA[<p>I recently purchased a new dell inspiron N7110. The laptop is great and Ubuntu 11.04 works quite well but there is one important problem.</p><p>The problem with most touchpads on laptops is that you'll often touch them accidentally while typing, this gets recorded as a tap/click and the typing cursor might move to another location and thus you might and up tying to a whole different place.</p><p>With synaptics touchpads or ALPS touchpads ( this is what N7110 has - ALPS Glidepoint) you can use syndaemon, a program that would run in background, monitor the keyboard and disable the touchpad while you type. But this program only works for touchpads which are being recognized as synaptics or ALPS touchpads. The touchpad on N7110 was recognized as a simple mouse, Xorg loaded the evdev driver instead of synaptics.</p><p>So I thought that maybe I can modify syndaemon to make it work with mice too. And I did. I noticed a lot of other people have the same problem so this could be useful even if you have a different touchpad that's also recognized as a mouse.<br> Download the patch for syndaemon here:<br> <a href=http://patchlog.com/downloads/syndaemon-mouse.diff>syndaemon mouse support patch- (1.95 kB)</a></p><p>To apply the patch:</p><pre class="bash">&nbsp;
apt-get <span style="color: #c20cb9; font-weight: bold;">install</span> xorg-dev
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> synaptics &amp;&amp; <span style="color: #7a0874; font-weight: bold;">cd</span> synaptics 
&nbsp;
<span style="color: #808080; font-style: italic;">#install the synaptics driver <span style="color: #7a0874; font-weight: bold;">source</span> package</span>
apt-get <span style="color: #7a0874; font-weight: bold;">source</span> xserver-xorg-input-synaptics
&nbsp;
<span style="color: #808080; font-style: italic;"># <span style="color: #7a0874; font-weight: bold;">cd</span> to the code directory , your version might be different depending on when you <span style="color: #000000; font-weight: bold;">do</span> this</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> xserver-xorg-input-synaptics<span style="color: #000000;">-1.3</span><span style="color: #000000;">.99</span>+git20110116.0e27ce3abe/tools 
&nbsp;
<span style="color: #808080; font-style: italic;"># apply the patch</span>
<span style="color: #c20cb9; font-weight: bold;">patch</span> &lt; syndaemon-mouse.<span style="color: #c20cb9; font-weight: bold;">diff</span> 
&nbsp;
<span style="color: #808080; font-style: italic;"># go to <span style="color: #7a0874; font-weight: bold;">source</span> main folder</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> ..
&nbsp;
<span style="color: #808080; font-style: italic;"># configure, compile and <span style="color: #c20cb9; font-weight: bold;">install</span>, by default <span style="color: #000000; font-weight: bold;">in</span> /usr/<span style="color: #7a0874; font-weight: bold;">local</span> so it will not override the system installed syndaemon</span>
./configure &amp;&amp; <span style="color: #c20cb9; font-weight: bold;">make</span> &amp;&amp; <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span>
&nbsp;</pre><p>The patch adds a new option to syndaemon to tell it to disable the mouse instead of a touchpad, without this the program will just exit when it can't find the touchpad.</p><pre class="bash">&nbsp;
<span style="color: #808080; font-style: italic;"># run syndaemon with the -s option this enables mouse support</span>
/usr/<span style="color: #7a0874; font-weight: bold;">local</span>/bin/syndaemon -i <span style="color: #000000;">1</span> -K -d -s
&nbsp;</pre><p>Don't forget to start it every time you start X.</p><p>Of course this is more like a quick hack then a real fix. A real fix would make Xorg or the kernel ( not sure exactly where the problem really is ) recognize this touchpad as a touchpad not as a mouse.</p><div id="tweetbutton772" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Flinux%2Ffix-inspiron-n7110-alps-touchpad-in-ubuntu%2F&amp;via=mihaisecasiu&amp;text=Fix%20inspiron%20N7110%20ALPS%20Touchpad%20in%20Ubuntu&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Flinux%2Ffix-inspiron-n7110-alps-touchpad-in-ubuntu%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/linux/fix-inspiron-n7110-alps-touchpad-in-ubuntu/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/linux/better-fix-for-inspiron-n7110-touchpad/" rel="bookmark" class="crp_title">Better FIX for Inspiron N7110 touchpad</a></li><li><a href="http://patchlog.com/patches/atomic-scp-and-sftp-upload/" rel="bookmark" class="crp_title">Atomic SCP and SFTP upload</a></li><li><a href="http://patchlog.com/patches/adding-new-php-syntax/" rel="bookmark" class="crp_title">Adding new php syntax</a></li><li><a href="http://patchlog.com/patches/ddiwrapper-on-ubuntu-9-04/" rel="bookmark" class="crp_title">ddiwrapper on ubuntu 9.04</a></li><li><a href="http://patchlog.com/patches/qmail-tls-smtp-plugins-freebsd/" rel="bookmark" class="crp_title">Qmail TLS + SMTP Plugins on FreeBSD</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/linux/fix-inspiron-n7110-alps-touchpad-in-ubuntu/">Fix inspiron N7110 ALPS Touchpad in Ubuntu</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=772&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/rF3Ht8GjNJL3_idJQclwbamdM2Y/0/da"><img src="http://feedads.g.doubleclick.net/~a/rF3Ht8GjNJL3_idJQclwbamdM2Y/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/rF3Ht8GjNJL3_idJQclwbamdM2Y/1/da"><img src="http://feedads.g.doubleclick.net/~a/rF3Ht8GjNJL3_idJQclwbamdM2Y/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=j_r3g9hEDto:4fFypnGlmW4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=j_r3g9hEDto:4fFypnGlmW4:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/j_r3g9hEDto" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/linux/fix-inspiron-n7110-alps-touchpad-in-ubuntu/feed/</wfw:commentRss> <slash:comments>12</slash:comments> <feedburner:origLink>http://patchlog.com/linux/fix-inspiron-n7110-alps-touchpad-in-ubuntu/</feedburner:origLink></item> <item><title>How to restore mysql replication</title><link>http://feedproxy.google.com/~r/Patchlog/~3/m0yLoaWXaYA/</link> <comments>http://patchlog.com/databases/howto-restore-mysqal-replication/#comments</comments> <pubDate>Thu, 18 Aug 2011 17:12:25 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[databases]]></category> <category><![CDATA[maakit]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[replication]]></category> <category><![CDATA[restore]]></category><guid isPermaLink="false">http://patchlog.com/?p=761</guid> <description><![CDATA[Something went wrong and your mysql replication broke, I'm talking here about problems with the sql thread, not connection problems. The sql thread shows you an error, what do you do to fix it and resume replication? Here are 3 ways to fix it, each has advantages and disadvantages, pick the one that fits best [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/databases/howto-restore-mysqal-replication/">How to restore mysql replication</a></p> ]]></description> <content:encoded><![CDATA[<p>Something went wrong and your mysql replication broke, I'm talking here about problems with the sql thread, not connection problems.</p><p>The sql thread shows you an error, what do you do to fix it and resume replication?</p><p>Here are 3 ways to fix it, each has advantages and disadvantages, pick the one that fits best to your problem.</p><h2>1. Skip over the problem</h2><p>You can try to just skip over the statement that broke the replication by changing the position in log file.</p><p>There are two ways to do this:</p><h3>a) you can skip gradually</h3><pre>
slave stop;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
slave start;
show slave status \G
</pre><p>That would skip the next 1 statement but you can set the counter higher to skip more the one.<br> Do it until the slave status shows the SQL thead is running.</p><h3>b) skip to the current position</h3><p>Use this is the first method keeps showing other statements that break replication and you don't have time to gradually skip statements.</p><p>First go on the master and type: show master status to find which is the current bin log file and the current position within the file.</p><p>Then go on the slave, stop it with "slave stop" and change the file name and position. Something like:</p><pre>slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.001958', MASTER_LOG_POS=52562937;
slave start;
</pre><p>But do that with your own file name and position taken from the master.</p><p>Check the replication status with "show slave status".<br> If the results are good ( both Slave_IO_Running and Slave_SQL_Running are Yes ) then you can go to the next step otherwise skip to next methods.</p><p>At this point you have a working replication but probably the data on the slave is not the same as on master since you skipped a few sql statements.</p><p>To fix it you can use maakit ( <a href="http://www.maatkit.org/doc/mk-table-checksum.html">mk-table-checksum</a> and <a href="http://www.maatkit.org/doc/mk-table-sync.html">mk-table-sync</a> )</p><h2>2. Full Dump and Restore</h2><p>Connect to master, dump everything in a sql file, copy to replication slave and load it in mysql.</p><p>Use --master-data so the replication position is set in the dump file and the slave will know where to start.</p><p>Use --disable-keys so the slave will not try to build indexes after each insert and only built them at the end of the import.</p><p>Use --add-locks to surround each table dump with lock table/unlock table - this makes the inserts faster in the slave.</p><p>Problem:<br> --master-data will put a read lock on tables so operations on your master will lock waiting for the dump to finish. On large databases this can take a long time and it's unacceptable.</p><p>Possible fix:<br> If you have innodb tables add --single-transaction so a single global lock will be used only for a short time at the beginning of the transaction.</p><p>The problem is not so big if you can have <a href="http://www.mysqlperformanceblog.com/2006/08/21/using-lvm-for-mysql-backup-and-replication-setup/" title="Using LVM for mysql backup and replication setup">filesystem snapshots on the master</a> like the ones created by lvm.</p><h2>3. Inconsistent Full Dump</h2><p>This is just another fix for the problem at #1. Dump the data just like before but without using --master-data. This means no locks so the master can still work normally.<br> But because you don't use --master-data you will have to set the position in the slave yourself.<br> on the master type:</p><pre>show master status \G</pre><p>Take the file name and position and use them in the CHANGE MASTER statement on the slave ( after you load the dump file ) . Something like:</p><pre>CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.001958', MASTER_LOG_POS=52562937;</pre><p>Of course all of this will create an inconsistent slave but you can fix this easily with maakit.</p><p>If you know other methods I'd love to hear about them. Let me know in the comments.</p><div id="tweetbutton761" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fdatabases%2Fhowto-restore-mysqal-replication%2F&amp;via=mihaisecasiu&amp;text=How%20to%20restore%20mysql%20replication&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fdatabases%2Fhowto-restore-mysqal-replication%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/databases/howto-restore-mysqal-replication/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/databases/mysql-replication-monitor/" rel="bookmark" class="crp_title">mysql replication monitor</a></li><li><a href="http://patchlog.com/databases/three-methods-to-transfer-a-mysql-database/" rel="bookmark" class="crp_title">Three methods to transfer a mysql database</a></li><li><a href="http://patchlog.com/databases/repair-a-mysql-table/" rel="bookmark" class="crp_title">Repair a MySQL table</a></li><li><a href="http://patchlog.com/linux/recover-plesk-access/" rel="bookmark" class="crp_title">Recover plesk access</a></li><li><a href="http://patchlog.com/databases/problem-transferring-mysql-db-with-rsync/" rel="bookmark" class="crp_title">Problem transferring a mysql database with rsync</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/databases/howto-restore-mysqal-replication/">How to restore mysql replication</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=761&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/LGL-29kkPCe2sjlJXa5DaZhQahI/0/da"><img src="http://feedads.g.doubleclick.net/~a/LGL-29kkPCe2sjlJXa5DaZhQahI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/LGL-29kkPCe2sjlJXa5DaZhQahI/1/da"><img src="http://feedads.g.doubleclick.net/~a/LGL-29kkPCe2sjlJXa5DaZhQahI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=m0yLoaWXaYA:5eH9E9bq0K4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=m0yLoaWXaYA:5eH9E9bq0K4:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/m0yLoaWXaYA" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/databases/howto-restore-mysqal-replication/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://patchlog.com/databases/howto-restore-mysqal-replication/</feedburner:origLink></item> <item><title>Wammu backup to CSV for Gmail</title><link>http://feedproxy.google.com/~r/Patchlog/~3/KUfSgJBTgzE/</link> <comments>http://patchlog.com/linux/wammu-backup-to-csv-for-gmail/#comments</comments> <pubDate>Tue, 09 Aug 2011 09:26:08 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[backup]]></category> <category><![CDATA[csv]]></category> <category><![CDATA[gmail]]></category> <category><![CDATA[phone]]></category> <category><![CDATA[wammu]]></category><guid isPermaLink="false">http://patchlog.com/?p=750</guid> <description><![CDATA[This is a modification to the wammu2csv.pl script that you can still find in google cache if you look for it. The problem with the original script was that wammu ( version 0.35 anyway ) seems to generate backup files encoded in UTF-16 and the regular expressions in that script will not work unless the [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/linux/wammu-backup-to-csv-for-gmail/">Wammu backup to CSV for Gmail</a></p> ]]></description> <content:encoded><![CDATA[<p>This is a modification to the wammu2csv.pl script that you can still find in google cache if you look for it.</p><p>The problem with the original script was that wammu ( version 0.35 anyway ) seems to generate backup files encoded in UTF-16 and the regular expressions in that script will not work unless the content is first converted from UTF-16.</p><p>Another benefit of the modified script is that now you don't have to convert the backup file from DOS to UNIX anymore.</p><p>To use this script:</p><ol><li>Connect to your phone using wammu</li><li>Retrieve contacts from phone and save them in a file using the backup function</li><li>download <a href=http://patchlog.com/downloads/wammu2csv.pl>Wammu2CSV-0.1 (4.74 kB)</a> and run:<pre>./wammu2csv.pl &lt;your-backup-file&gt; &gt; &lt;your-csv-file&gt;</pre><p>This will generate a CSV file that you can import in Gmail</p></li></ol><div id="tweetbutton750" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Flinux%2Fwammu-backup-to-csv-for-gmail%2F&amp;via=mihaisecasiu&amp;text=Wammu%20backup%20to%20CSV%20for%20Gmail&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Flinux%2Fwammu-backup-to-csv-for-gmail%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/linux/wammu-backup-to-csv-for-gmail/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/wordpress/upgraded-wordpress-to-25/" rel="bookmark" class="crp_title">Upgraded wordpress to 2.5</a></li><li><a href="http://patchlog.com/macosx/macosx-case-sensitivity/" rel="bookmark" class="crp_title">MacOSX case sensitivity</a></li><li><a href="http://patchlog.com/databases/howto-restore-mysqal-replication/" rel="bookmark" class="crp_title">How to restore mysql replication</a></li><li><a href="http://patchlog.com/webmin/webmin-pptp-user-synchronization/" rel="bookmark" class="crp_title">Webmin pptp user synchronization</a></li><li><a href="http://patchlog.com/web/7-methods-to-cache-web-applications/" rel="bookmark" class="crp_title">7 Methods to cache web applications</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/linux/wammu-backup-to-csv-for-gmail/">Wammu backup to CSV for Gmail</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=750&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/6JSxdRC3eCZr7_etlTGheL57-gE/0/da"><img src="http://feedads.g.doubleclick.net/~a/6JSxdRC3eCZr7_etlTGheL57-gE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/6JSxdRC3eCZr7_etlTGheL57-gE/1/da"><img src="http://feedads.g.doubleclick.net/~a/6JSxdRC3eCZr7_etlTGheL57-gE/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=KUfSgJBTgzE:05oEc32ltHc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=KUfSgJBTgzE:05oEc32ltHc:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/KUfSgJBTgzE" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/linux/wammu-backup-to-csv-for-gmail/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://patchlog.com/linux/wammu-backup-to-csv-for-gmail/</feedburner:origLink></item> <item><title>Hidden Affiliate Links 1.0.1</title><link>http://feedproxy.google.com/~r/Patchlog/~3/kP-ruOcLWVM/</link> <comments>http://patchlog.com/wordpress/hidden-affiliate-links-1-0-1/#comments</comments> <pubDate>Tue, 12 Jul 2011 23:14:07 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[wordpress]]></category> <category><![CDATA[affiliate]]></category> <category><![CDATA[hidden]]></category> <category><![CDATA[plugin]]></category><guid isPermaLink="false">http://patchlog.com/?p=742</guid> <description><![CDATA[I just released a new version of the hidden affiliate links plugin. The previous version had a problem with the keyword replacement code. This is fixed now so go ahead and download the update form the plugin page I also updated the plugin page to list the requirements for this plugin to work. This version [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/hidden-affiliate-links-1-0-1/">Hidden Affiliate Links 1.0.1</a></p> ]]></description> <content:encoded><![CDATA[<p>I just released a new version of the hidden affiliate links plugin.</p><p>The previous version had a problem with the keyword replacement code.</p><p>This is fixed now so go ahead and download the update form the <a href="/hidden-affiliate-links/">plugin page</a></p><p>I also updated the plugin page to list the requirements for this plugin to work.</p><p>This version was tested on WordPress 3.2.1</p><div id="tweetbutton742" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fhidden-affiliate-links-1-0-1%2F&amp;via=mihaisecasiu&amp;text=Hidden%20Affiliate%20Links%201.0.1&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fhidden-affiliate-links-1-0-1%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/wordpress/hidden-affiliate-links-1-0-1/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/wordpress/hidden-affiliate-links-1-0/" rel="bookmark" class="crp_title">Hidden Affiliate Links 1.0</a></li><li><a href="http://patchlog.com/wordpress/hidden-affiliate-links-update-version-02/" rel="bookmark" class="crp_title">Hidden Affiliate Links update version 0.2</a></li><li><a href="http://patchlog.com/wordpress/hidden-affiliate-links/" rel="bookmark" class="crp_title">Hidden Affiliate Links WordPress Plugin</a></li><li><a href="http://patchlog.com/wordpress/follow-self-pings/" rel="bookmark" class="crp_title">Follow Self Pings</a></li><li><a href="http://patchlog.com/wordpress/google-1-button-position/" rel="bookmark" class="crp_title">Google +1 button position</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/hidden-affiliate-links-1-0-1/">Hidden Affiliate Links 1.0.1</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=742&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/0uT96eSqt0SUwYZRjN018lQe4s4/0/da"><img src="http://feedads.g.doubleclick.net/~a/0uT96eSqt0SUwYZRjN018lQe4s4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0uT96eSqt0SUwYZRjN018lQe4s4/1/da"><img src="http://feedads.g.doubleclick.net/~a/0uT96eSqt0SUwYZRjN018lQe4s4/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=kP-ruOcLWVM:ncBtiC4hIGE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=kP-ruOcLWVM:ncBtiC4hIGE:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/kP-ruOcLWVM" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/wordpress/hidden-affiliate-links-1-0-1/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://patchlog.com/wordpress/hidden-affiliate-links-1-0-1/</feedburner:origLink></item> <item><title>Google +1 button position</title><link>http://feedproxy.google.com/~r/Patchlog/~3/q8PSf7XZc7M/</link> <comments>http://patchlog.com/wordpress/google-1-button-position/#comments</comments> <pubDate>Tue, 12 Jul 2011 09:43:35 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[wordpress]]></category> <category><![CDATA[facebook like]]></category> <category><![CDATA[google]]></category> <category><![CDATA[patch]]></category> <category><![CDATA[plusone]]></category> <category><![CDATA[tweet]]></category><guid isPermaLink="false">http://patchlog.com/?p=737</guid> <description><![CDATA[I'm using the Google+1 button plugin for wordpress to add a Google+1 button on my blog. The plugin is great but it registers a filter to add this button and there are other plugins installed that also register their own filters on the body. What I would like is to have google+1 , facebook like [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/google-1-button-position/">Google +1 button position</a></p> ]]></description> <content:encoded><![CDATA[<p>I'm using the Google+1 button plugin for wordpress to add a Google+1 button on my blog.</p><p>The plugin is great but it registers a filter to add this button and there are other plugins installed that also register their own filters on the body. What I would like is to have google+1 , facebook like and the official tweet button all on one line.</p><p>This would be easy if I would not have the contextual related posts plugin that puts the links to the posts right between the google+1 button and the facebook like botton.</p><p>Most plugins that add something to a post or page have a way of adding it manually, through a template keyword but this is not useful as I don't want to remember to add all the buttons at the end of each post.</p><p>The next solution would be to use the function that outputs the button code in the template. But this needed a small modification to <a href="http://wordpress.org/extend/plugins/google/" target="_blank">the google+1 plugin</a>.</p><p>Here's the patched version of the google+1 plugin version 1.0.4<br> <a href=http://patchlog.com/downloads/google.1.0.4-patched.zip>The google+1 button plugin patched-1.0.4.1 (125.49 kB)</a><br> And here's the unified diff file in case you want to apply it over your plugin and to see what really changed:<br> <a href=http://patchlog.com/downloads/the-google-plusone.diff>The google+1 button plugin diff -0.1 (917 bytes)</a></p><p>Now you can just use this code inside the posts loop ( after or before the the_content ):</p><pre class="php">&nbsp;
&lt; ?php <span style="color: #b1b100;">if</span><span style="color: #66cc66;">(</span>@<span style="color: #0000ff;">$Wdgpo_pp</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span> <a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$Wdgpo_pp</span>-&gt;<span style="color: #006600;">codec</span>-&gt;<span style="color: #006600;">process_plusone_code</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>; <span style="color: #66cc66;">}</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;</pre><p>This was a quick change to get this done. A better solution would be to modify the plugin to allow you to set the filter order ( priority ) so you can control the position from wordpress admin like you can do it in the wp facebook like and wp tweet button plugin.</p><p>Oh and don't forget to +1 , like and/or tweet this post <img src="http://patchlog.denixtech.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"></p><div id="tweetbutton737" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fgoogle-1-button-position%2F&amp;via=mihaisecasiu&amp;text=Google%20%2B1%20button%20position&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fgoogle-1-button-position%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/wordpress/google-1-button-position/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/wordpress/jerome-keywords-google-sitemap/" rel="bookmark" class="crp_title">Google Sitemaps &ndash; Jerome&rsquo;s Keywords Plugin</a></li><li><a href="http://patchlog.com/wordpress/wordpress-optimal-title/" rel="bookmark" class="crp_title">WordPress optimal title</a></li><li><a href="http://patchlog.com/wordpress/follow-self-pings/" rel="bookmark" class="crp_title">Follow Self Pings</a></li><li><a href="http://patchlog.com/wordpress/the-whole-post/" rel="bookmark" class="crp_title">The whole Post</a></li><li><a href="http://patchlog.com/blogging/google-friend-connect/" rel="bookmark" class="crp_title">Getting Social: Google Friend Connect</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/google-1-button-position/">Google +1 button position</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=737&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/fAPLsvgYhLBz6iTkC_JbThfqUNw/0/da"><img src="http://feedads.g.doubleclick.net/~a/fAPLsvgYhLBz6iTkC_JbThfqUNw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/fAPLsvgYhLBz6iTkC_JbThfqUNw/1/da"><img src="http://feedads.g.doubleclick.net/~a/fAPLsvgYhLBz6iTkC_JbThfqUNw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=q8PSf7XZc7M:cRVPZyeRIXA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=q8PSf7XZc7M:cRVPZyeRIXA:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/q8PSf7XZc7M" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/wordpress/google-1-button-position/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://patchlog.com/wordpress/google-1-button-position/</feedburner:origLink></item> <item><title>WordPress multisite in subfolder</title><link>http://feedproxy.google.com/~r/Patchlog/~3/59l-lMOOa84/</link> <comments>http://patchlog.com/wordpress/multisite-in-subfolder/#comments</comments> <pubDate>Wed, 29 Jun 2011 17:50:57 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[wordpress]]></category> <category><![CDATA[domains]]></category> <category><![CDATA[mapping]]></category> <category><![CDATA[multisite]]></category> <category><![CDATA[Patches]]></category><guid isPermaLink="false">http://patchlog.com/?p=730</guid> <description><![CDATA[If you install wordpress in a subfolder like /home/example/public_html/wordpress instead of the main DocumentRoot ( usually /home/example.com/public_html ) you will not be able to enable multisite functionality but with a few small changes to wordpress code you can make it work. My goal was to have the main site ( example.com ) with multisite, host [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/multisite-in-subfolder/">WordPress multisite in subfolder</a></p> ]]></description> <content:encoded><![CDATA[<p>If you install wordpress in a subfolder like /home/example/public_html/wordpress instead of the main DocumentRoot ( usually /home/example.com/public_html  ) you will not be able to enable multisite functionality but with a few small changes to wordpress code you can make it work.</p><p>My goal was to have the main site ( example.com ) with multisite, host blogs on subdomains like dom1.example.com and then use domain mapping so I could map a domain like dom1.com to dom1.example.com.</p><p>Here are the steps I took:</p><ol><li>Extract wordpress-3.1.3.zip in /home/example.com/public_html/wordpress, go to went to http://example.com/wordpress and install, then login as admin to http://example.com/wordpress/wp-admin</li><li>In wp-admin -&gt; Settings both WordPress address (URL) and Site address (URL) were set to http://example.com/wordpress, change Site address (URL)  to http://example.com</li><li>copy index.php and .htaccess from /home/example.com/public_html/wordpress to /home/example.com/public_html/</li><li>open /home/example.com/public_html/index.php in an editor and changed the line:<br><code>require('./wp-blog-header.php');</code> to <code>require('./wordpress/wp-blog-header.php');</code><br><strong>At this point you have a working wordpress installed in a subfolder accessible at http://example.com </strong></li><li>Open wp-config.php and insert the following lines at the top ( can be right after the first line )<br><code>define('WP_ALLOW_MULTISITE', true);</code></li><li>Open the file wordpress/wp-admin/network.php in a text editor, look for the line: "function network_step1" and a few lines bellow there should be a line:<pre class="php"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span>get_option<span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'siteurl'</span> <span style="color: #66cc66;">)</span> != get_option<span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'home'</span> <span style="color: #66cc66;">)</span> <span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span></pre><p>, replace it with</p><pre class="php"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span> <span style="color: #cc66cc;">0</span> &amp;&amp;  get_option<span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'siteurl'</span> <span style="color: #66cc66;">)</span> != get_option<span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'home'</span> <span style="color: #66cc66;">)</span> <span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span></pre></li><li>Now go to http://example.com/wordpress/wp-admin/network.php and create your network.</li><li>After you create the network, WordPress will ask you to add a few lines to wp-config.php but you'll have to modify them a bit. Here's what I added:<pre class="php"><a href="http://www.php.net/define"><span style="color: #000066;">define</span></a><span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'MULTISITE'</span>, <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">)</span>;
<a href="http://www.php.net/define"><span style="color: #000066;">define</span></a><span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'SUBDOMAIN_INSTALL'</span>, <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">)</span>; <span style="color: #808080; font-style: italic;">// default was false</span>
<span style="color: #0000ff;">$base</span> = <span style="color: #ff0000;">'/'</span>; <span style="color: #808080; font-style: italic;">// default was /wordpress/</span>
<a href="http://www.php.net/define"><span style="color: #000066;">define</span></a><span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'DOMAIN_CURRENT_SITE'</span>, <span style="color: #ff0000;">'example.com'</span> <span style="color: #66cc66;">)</span>;
<a href="http://www.php.net/define"><span style="color: #000066;">define</span></a><span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'PATH_CURRENT_SITE'</span>, <span style="color: #ff0000;">'/wordpress'</span> <span style="color: #66cc66;">)</span>;
<a href="http://www.php.net/define"><span style="color: #000066;">define</span></a><span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'SITE_ID_CURRENT_SITE'</span>, <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">)</span>;
<a href="http://www.php.net/define"><span style="color: #000066;">define</span></a><span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'BLOG_ID_CURRENT_SITE'</span>, <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">)</span>;</pre><p>By default SUBDOMAIN_INSTALL was set to false but you want subdomains, and $base was set to "/wordpress" but this needs to be "/"</p><p>Don't forget to also add the required lines to .htaccess ( the one in the wordpress/ directory )</p></li><li>After the network was created, wordpress messed up a bit with the permalink settings for the main domain. Before, the permalink structure was set to: /%year%/%monthnum%/%day%/%postname%/ and wordpress changed it to /blog/%year%/%monthnum%/%day%/%postname%/.<br> But after I added the above lines to wp-config.php I was able to change the permalink structure back to what it was from Settings-&gt;Permalinks</li><li><strong>Adding domains</strong><p>Go to Network admin ( http://example.com/wordpress/wp-admin/network/ ) -&gt; Sites -&gt; Add new . I added<br> an example domain dom1.example.com. This is what I'll use as an example from now on.</p><p>After I added the domain I went to Sites , clicked the Edit  link bellow the domain and changed Path from / to /wordpress ( with the option "Update siteurl and home as well"  checked ) then go to the Settings tab and change the Home to http://dom1.example.com/<br><strong>At this point you have a working wordpress installed in a subfolder with multisite configured with subdomains.</strong></p></li><li>Install the <a href="http://patchlog.com/wordpress/wpmu-domain-mapping-in-subfolder-install/">domain mapping plugin with my changes</a><ul><li>Download the zip file from : <a>http://patchlog.com/wordpress/wpmu-domain-mapping-in-subfolder-install/</a></li><li>Extract in  wp-content/plugins</li><li><pre class="bash"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> wp-content/mu-plugins
<span style="color: #c20cb9; font-weight: bold;">mv</span>  wp-content/plugins/wordpress-mu-domain-mapping/domain_mapping.php wp-content/mu-plugins
<span style="color: #c20cb9; font-weight: bold;">cp</span> wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php  wp-content</pre></li><p>edit wp-config.php and add the line:</p></ul><pre class="php"><a href="http://www.php.net/define"><span style="color: #000066;">define</span></a><span style="color: #66cc66;">(</span> <span style="color: #ff0000;">'SUNRISE'</span>, <span style="color: #ff0000;">'on'</span> <span style="color: #66cc66;">)</span>;</pre><p>right after the first line</p></li><li> got to Network Admin -&gt; Tools -&gt; Domain Mapping to configure the plugin and add the mappings</li><li>Come back and let me know how it worked in the comments</li></ol><div id="tweetbutton730" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fmultisite-in-subfolder%2F&amp;via=mihaisecasiu&amp;text=WordPress%20multisite%20in%20subfolder&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fmultisite-in-subfolder%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/wordpress/multisite-in-subfolder/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/wordpress/wpmu-domain-mapping-in-subfolder-install/" rel="bookmark" class="crp_title">WpMU Domain mapping in subfolder install</a></li><li><a href="http://patchlog.com/wordpress/follow-self-pings/" rel="bookmark" class="crp_title">Follow Self Pings</a></li><li><a href="http://patchlog.com/wordpress/upgraded-wordpress-to-25/" rel="bookmark" class="crp_title">Upgraded wordpress to 2.5</a></li><li><a href="http://patchlog.com/wordpress/the-whole-post/" rel="bookmark" class="crp_title">The whole Post</a></li><li><a href="http://patchlog.com/wordpress/google-1-button-position/" rel="bookmark" class="crp_title">Google +1 button position</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/multisite-in-subfolder/">WordPress multisite in subfolder</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=730&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/mRW8ql9gVjoFKLUjEvNEBZd_Ba8/0/da"><img src="http://feedads.g.doubleclick.net/~a/mRW8ql9gVjoFKLUjEvNEBZd_Ba8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/mRW8ql9gVjoFKLUjEvNEBZd_Ba8/1/da"><img src="http://feedads.g.doubleclick.net/~a/mRW8ql9gVjoFKLUjEvNEBZd_Ba8/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=59l-lMOOa84:QKlKmh1aHD4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=59l-lMOOa84:QKlKmh1aHD4:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/59l-lMOOa84" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/wordpress/multisite-in-subfolder/feed/</wfw:commentRss> <slash:comments>4</slash:comments> <feedburner:origLink>http://patchlog.com/wordpress/multisite-in-subfolder/</feedburner:origLink></item> <item><title>WpMU Domain mapping in subfolder install</title><link>http://feedproxy.google.com/~r/Patchlog/~3/odJNGBWK7d8/</link> <comments>http://patchlog.com/wordpress/wpmu-domain-mapping-in-subfolder-install/#comments</comments> <pubDate>Mon, 20 Jun 2011 12:56:47 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[wordpress]]></category> <category><![CDATA[domains]]></category> <category><![CDATA[mapping]]></category> <category><![CDATA[multisite]]></category> <category><![CDATA[subdomains]]></category><guid isPermaLink="false">http://patchlog.com/?p=725</guid> <description><![CDATA[Here's a solution to run a wordpress multisite installation with domain mapping even if you didn't install wordpress in the DocumentRoot of your site. If you want to map domains to subdomains in your wordpress install for example womsend.ro to ro.womsend.com you would use the wordpress-mu-domain-mapping plugin but this only works if wordpress is installed [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/wpmu-domain-mapping-in-subfolder-install/">WpMU Domain mapping in subfolder install</a></p> ]]></description> <content:encoded><![CDATA[<p>Here's a solution to run a wordpress multisite installation with domain mapping even if you didn't install wordpress in the DocumentRoot of your site.</p><p>If you want to map domains to subdomains in your wordpress install for example <a href="http://womsend.ro">womsend.ro</a> to ro.womsend.com you would use the <a href="http://wordpress.org/extend/plugins/wordpress-mu-domain-mapping/">wordpress-mu-domain-mapping plugin</a> but this only works if wordpress is installed dirrectly in the web site's document root not in a subdirectory.</p><p>I like to have wordpress installed in a subdirectory because it keeps things organized especially if I have other things installed on your site.</p><p>So here is a patch to the wordpress domain mapping plugin that allows it to work with the subdirectory install. Download the original plugin then apply the patch (this patch is for the 0.5.4 version of the plugin):<br> <a href=http://patchlog.com/downloads/wordpress-mu-domain-mapping-subdir-install.diff>Wordpress mu domain mapping subdir install-0.2 (5.27 kB)</a></p><p>Or just download the plugin already patched for convenience:<br> <a href=http://patchlog.com/downloads/wordpress-mu-domain-mapping.0.5.4-patched.zip>Wordpress mu domain mapping plugin patched for subdir install -0.5.4.1 (22.61 kB)</a></p><p>After adding a new site you have to go to Network Admin -&gt; Sites, select the site and edit some of it's configuration values ( wordpress default values will not work ):</p><p>1) In site Info Tab, the Path is set to "/" . You have to  add the subdirectory to it. For example if your site's document root is /home/site/public_html and wordpress is installed in /home/site/public_html/wordpress then the Path should be set to /wordpress<br> 2) After saving the changes at #1, in the site Settings tab , Siteurl should already be set to http://{SubDomain}{Path} where {Path} is the path set at #1, but if it's not then set it.<br> 3) The changes at #1 also modified ( in wp 3.1.3 anyway ) the "Home" value in the Settings tab , adding the Path to it but this has to be clean of the path so you have to change it back to http://{SubDomain}/</p><p>That's it, let me know how it works in the comments.</p><div id="tweetbutton725" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fwpmu-domain-mapping-in-subfolder-install%2F&amp;via=mihaisecasiu&amp;text=WpMU%20Domain%20mapping%20in%20subfolder%20install&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fwpmu-domain-mapping-in-subfolder-install%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/wordpress/wpmu-domain-mapping-in-subfolder-install/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/wordpress/multisite-in-subfolder/" rel="bookmark" class="crp_title">WordPress multisite in subfolder</a></li><li><a href="http://patchlog.com/wordpress/follow-self-pings/" rel="bookmark" class="crp_title">Follow Self Pings</a></li><li><a href="http://patchlog.com/wordpress/google-1-button-position/" rel="bookmark" class="crp_title">Google +1 button position</a></li><li><a href="http://patchlog.com/wordpress/wp-version-check/" rel="bookmark" class="crp_title">Manual Wordpess Version Check</a></li><li><a href="http://patchlog.com/wordpress/upgraded-wordpress-to-25/" rel="bookmark" class="crp_title">Upgraded wordpress to 2.5</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/wpmu-domain-mapping-in-subfolder-install/">WpMU Domain mapping in subfolder install</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=725&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/XN66JiTUr6rvMqsd1D7HTgNcwi4/0/da"><img src="http://feedads.g.doubleclick.net/~a/XN66JiTUr6rvMqsd1D7HTgNcwi4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/XN66JiTUr6rvMqsd1D7HTgNcwi4/1/da"><img src="http://feedads.g.doubleclick.net/~a/XN66JiTUr6rvMqsd1D7HTgNcwi4/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=odJNGBWK7d8:Zqcw3AhJ4TM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=odJNGBWK7d8:Zqcw3AhJ4TM:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/odJNGBWK7d8" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/wordpress/wpmu-domain-mapping-in-subfolder-install/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://patchlog.com/wordpress/wpmu-domain-mapping-in-subfolder-install/</feedburner:origLink></item> <item><title>Does ISIPP/Suretymail really work?</title><link>http://feedproxy.google.com/~r/Patchlog/~3/4-dHLuEVbzw/</link> <comments>http://patchlog.com/email/does-isipp-suretymail-really-work/#comments</comments> <pubDate>Thu, 03 Feb 2011 09:46:38 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[Email]]></category> <category><![CDATA[accreditation]]></category> <category><![CDATA[isipp]]></category> <category><![CDATA[suretymail]]></category><guid isPermaLink="false">http://patchlog.com/?p=707</guid> <description><![CDATA[ISIPP ( the Institute for Social Internet Public Policy ) or SuretyMail is an accreditation program for email senders ( ESP's or not ). They run a DNS whitelist ( this was named IADB in the past ) and include the ips of their customers in it. This whitelist can be used by any spam [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/email/does-isipp-suretymail-really-work/">Does ISIPP/Suretymail really work?</a></p> ]]></description> <content:encoded><![CDATA[<p>ISIPP ( the Institute for Social Internet Public Policy ) or SuretyMail is an accreditation program for email senders ( ESP's or not ). They run a DNS whitelist ( this was named IADB in the past ) and include the ips of their customers in it.</p><p>This whitelist can be used by any spam filter to lower the spam score of senders that are found in it. We know for sure that spamassassin comes with rules for checking the whitelist, but isipp doesn't disclose which other filters or ISPs use it.</p><p>On their homepage they claim their accreditation service works with all ISPs but is this really true?</p><p>The fact is that the big webmail providers ( yahoo, hotmail, gmail and aol ) don't use their whitelist. I know for sure that yahoo and hotmail use a different certification provider and that's the only one they use.</p><p>When Suretymail says their service works with all ISPs what they really mean is that they will try to help you get your email delivered to any ISP by trying to find the problems with your messages and tell you how to fix it. I know there's a lot of trying there <img src="http://patchlog.denixtech.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> .</p><p>So let's see the pros and cons of ISIPP/Suretymail</p><h2>Pro</h2><ol><li> their whitelist is used by one of the most popular spam filters out there.</li></ol><h2>Cons</h2><ol><li>Do you really need to be in spamassassin's whitelist? Most email service providers will have a "Spam check" feature that would check your message for known spam triggers including spamassassin's rules. So you can easily avoid most of spamassassin's rules or enough to get you under the 5 points of spam score anyway.<p>Even if you don't use an email service provider that has such a feature you can always send a test message to an email account that has spamassassin on it and you'll see the rules your message triggers.</p></li><li> Their whitelist is NOT used by any of the major ISPs ( yahoo, hotmail, gmail,aol ). Most email senders send between 35% and 90% of their messages to these ISPs so the accreditation doesn't work for a very big chunk of email addresses in your lists.</li><li>Their "trying" to help you is really not so good.<br> I was a customer for more then 1 year. Here's the stuff I had to put out with:<ul><li>They didn't answer my messages, claiming it went to their spam folder. Isn't it ironic? <img src="http://patchlog.denixtech.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> I had to send some of the support messages twice and ask them to confirm they received it after each message</li><li>They avoided answering some of the questions in my messages. Like when I was inquiring if yahoo, or some spam filters use their whitelist, or when I was inquiring if they can escalate my problem with yahoo</li><li>Whenever there's a problem they require you to fill a long form with a lot of useless questions even if you have just described the problem in detail in the previous message</li><li>Whenever there's a deliverability problem the first thing they suggest is modifying your email message content. And of course that almost never works.</li><li>These support discussions take weeks or even months sometimes. They say they are working on it but then don't communicate anything for weeks. I one case after not  answering anything for a few weeks I sent them a message asking about any progress on the issue. They answered like they thought the problem fixed itself. On some cases by the time they decide to answer the problem does fix itself or you find out how to fix it without their help.</li><li>They claim your bounce and/or complaint rates are too high even if you're at 0.01% or less. This is their last resort, when nothing works blame the customer. Some ESP's will have no problem with their customers having bounce and/or complaint rates as high as 0.1%.</li><li>They pick on the bounce and complaint rates you have at other ISPs even if the ones for the ISP you have troubles with are fine.</li><li>They claim your complaint and bounce rates are very high even if you provide them with clear evidence that it's not as they claim. When you ask how they calculated the rates they don't answer. This was just a pretext to drop the accreditation when they realized their were exposed for not being able to help with yahoo deliverability problems.</li></ul></li></ol><p>And now ISIPP is offereing 50% off their application fee to Goodmail customers since Goodmail is shutting down. The problem here is these senders were using goodmail because they <strong>guarantied</strong> to have their customer's messages delivered to inbox at some big ISPs ( even yahoo till a while ago ), something that ISIPP will never be able to do.</p><p>Anyway this was my experience with ISIPP/Suretymail. If you had a similar or different experience with them feel free to share in the comments.</p><div id="tweetbutton707" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Femail%2Fdoes-isipp-suretymail-really-work%2F&amp;via=mihaisecasiu&amp;text=Does%20ISIPP%2FSuretymail%20really%20work%3F&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Femail%2Fdoes-isipp-suretymail-really-work%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/email/does-isipp-suretymail-really-work/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/general/stop-spam-in-phpbb-with-akismet/" rel="bookmark" class="crp_title">stop spam in phpbb with akismet</a></li><li><a href="http://patchlog.com/email/email-folders-and-message-filters-in-thunderbird/" rel="bookmark" class="crp_title">Email folders and message filters in thunderbird</a></li><li><a href="http://patchlog.com/patches/qmail-taps-extended/" rel="bookmark" class="crp_title">Qmail Taps Extended</a></li><li><a href="http://patchlog.com/wordpress/comment-relish-optimization/" rel="bookmark" class="crp_title">Comment relish optimization</a></li><li><a href="http://patchlog.com/patches/qmail-per-domain-concurrency/" rel="bookmark" class="crp_title">Qmail per domain concurrency</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/email/does-isipp-suretymail-really-work/">Does ISIPP/Suretymail really work?</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=707&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/KX-8FoDgVRj9RvuEU7MgGl-Qj6Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/KX-8FoDgVRj9RvuEU7MgGl-Qj6Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/KX-8FoDgVRj9RvuEU7MgGl-Qj6Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/KX-8FoDgVRj9RvuEU7MgGl-Qj6Q/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=4-dHLuEVbzw:jP0txC-kbt0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=4-dHLuEVbzw:jP0txC-kbt0:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/4-dHLuEVbzw" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/email/does-isipp-suretymail-really-work/feed/</wfw:commentRss> <slash:comments>3</slash:comments> <feedburner:origLink>http://patchlog.com/email/does-isipp-suretymail-really-work/</feedburner:origLink></item> <item><title>URL parameters in Javascript</title><link>http://feedproxy.google.com/~r/Patchlog/~3/PpEHVZ3H_As/</link> <comments>http://patchlog.com/web/url-parameters-in-javascript/#comments</comments> <pubDate>Sat, 20 Nov 2010 12:17:19 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[Web]]></category> <category><![CDATA[function]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[params]]></category> <category><![CDATA[url]]></category><guid isPermaLink="false">http://patchlog.com/?p=697</guid> <description><![CDATA[I wanted a piece of code in pure javascript ( no framework required ) that could extract the parameters in the query string part of an URL. I wanted it to be able to extract the parameters in this format name[key]=value&#194;&#160; like they are used in php applications. I found a piece of code on [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/web/url-parameters-in-javascript/">URL parameters in Javascript</a></p> ]]></description> <content:encoded><![CDATA[<p>I wanted a piece of code in pure javascript ( no framework required ) that could extract the parameters in the query string part of an URL.</p><p>I wanted it to be able to extract the parameters in this format name[key]=value&Acirc;&nbsp; like they are used in php applications.</p><p>I found a piece of code on some other blogs or forum posts but it didn't work as I expected so here is my take on this.</p><pre class="javascript">&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> get_url_params<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
        <span style="color: #003366; font-weight: bold;">var</span> _GET = <span style="color: #66cc66;">{</span><span style="color: #66cc66;">}</span>;
        <span style="color: #003366; font-weight: bold;">var</span> s = location.<span style="color: #006600;">search</span>.<span style="color: #006600;">replace</span><span style="color: #66cc66;">(</span> <span style="color: #0066FF;">/^\?|#.<span style="color: #006600;">*</span>$/g</span>, <span style="color: #3366CC;">''</span> <span style="color: #66cc66;">)</span>;
        <span style="color: #000066; font-weight: bold;">if</span><span style="color: #66cc66;">(</span> s <span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
                <span style="color: #003366; font-weight: bold;">var</span> qsParts = s.<span style="color: #006600;">split</span><span style="color: #66cc66;">(</span><span style="color: #3366CC;">'&amp;'</span><span style="color: #66cc66;">)</span>;
                <span style="color: #003366; font-weight: bold;">var</span> i, nv;
                <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #66cc66;">(</span>i = <span style="color: #CC0000;">0</span>; i &lt; qsParts.<span style="color: #006600;">length</span>; i++<span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
                        <span style="color: #003366; font-weight: bold;">var</span> nv = qsParts<span style="color: #66cc66;">[</span>i<span style="color: #66cc66;">]</span>.<span style="color: #006600;">split</span><span style="color: #66cc66;">(</span><span style="color: #3366CC;">'='</span><span style="color: #66cc66;">)</span>;
                        <span style="color: #003366; font-weight: bold;">var</span> n=decodeURIComponent<span style="color: #66cc66;">(</span>nv<span style="color: #66cc66;">[</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span>;
                        <span style="color: #003366; font-weight: bold;">var</span> v=decodeURIComponent<span style="color: #66cc66;">(</span>nv<span style="color: #66cc66;">[</span><span style="color: #CC0000;">1</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span>;
                        <span style="color: #003366; font-weight: bold;">var</span> k=n.<span style="color: #006600;">split</span><span style="color: #66cc66;">(</span><span style="color: #0066FF;">/<span style="color: #66cc66;">[</span>\<span style="color: #66cc66;">[</span>\<span style="color: #66cc66;">]</span>\.<span style="color: #66cc66;">]</span>/</span><span style="color: #66cc66;">)</span>;
                        <span style="color: #000066; font-weight: bold;">if</span><span style="color: #66cc66;">(</span>k.<span style="color: #006600;">length</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
                                <span style="color: #000066; font-weight: bold;">if</span><span style="color: #66cc66;">(</span>_GET<span style="color: #66cc66;">[</span>k<span style="color: #66cc66;">[</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span>_GET<span style="color: #66cc66;">[</span>k<span style="color: #66cc66;">[</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">[</span>k<span style="color: #66cc66;">[</span><span style="color: #CC0000;">1</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">]</span>=v;
                                <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #66cc66;">{</span>
                                        <span style="color: #000066; font-weight: bold;">if</span><span style="color: #66cc66;">(</span>parseInt<span style="color: #66cc66;">(</span>k<span style="color: #66cc66;">[</span><span style="color: #CC0000;">1</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span>==k<span style="color: #66cc66;">[</span><span style="color: #CC0000;">1</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span>
                                                _GET<span style="color: #66cc66;">[</span>k<span style="color: #66cc66;">[</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">]</span>=<span style="color: #66cc66;">[</span><span style="color: #66cc66;">]</span>;
                                        <span style="color: #000066; font-weight: bold;">else</span>    _GET<span style="color: #66cc66;">[</span>k<span style="color: #66cc66;">[</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">]</span>=<span style="color: #66cc66;">{</span><span style="color: #66cc66;">}</span>;
                                        _GET<span style="color: #66cc66;">[</span>k<span style="color: #66cc66;">[</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">[</span>k<span style="color: #66cc66;">[</span><span style="color: #CC0000;">1</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">]</span>=v;
                                <span style="color: #66cc66;">}</span>
                        <span style="color: #66cc66;">}</span><span style="color: #000066; font-weight: bold;">else</span> _GET<span style="color: #66cc66;">[</span>n<span style="color: #66cc66;">]</span> = v;
                <span style="color: #66cc66;">}</span>
        <span style="color: #66cc66;">}</span>
        <span style="color: #000066; font-weight: bold;">return</span> _GET;
<span style="color: #66cc66;">}</span>
&nbsp;</pre><p>This function one limitation: It doesn't work with multidimensional arrays. It's probably not hard to modify it to work like that but I only needed it to work with single dimension arrays.</p><div id="tweetbutton697" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fweb%2Furl-parameters-in-javascript%2F&amp;via=mihaisecasiu&amp;text=URL%20parameters%20in%20Javascript&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fweb%2Furl-parameters-in-javascript%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/web/url-parameters-in-javascript/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/shell/functions-in-shell/" rel="bookmark" class="crp_title">functions in bash</a></li><li><a href="http://patchlog.com/wordpress/wordpress-optimal-title/" rel="bookmark" class="crp_title">WordPress optimal title</a></li><li><a href="http://patchlog.com/web/mod_rewrite-quick-tip/" rel="bookmark" class="crp_title">Mod_rewrite quick tip</a></li><li><a href="http://patchlog.com/shell/strcmp-in-shell/" rel="bookmark" class="crp_title">strcmp in bash</a></li><li><a href="http://patchlog.com/wordpress/hidden-affiliate-links/" rel="bookmark" class="crp_title">Hidden Affiliate Links WordPress Plugin</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/web/url-parameters-in-javascript/">URL parameters in Javascript</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=697&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/XK5EVzx4LzMyJRARo_uGn2b1xFw/0/da"><img src="http://feedads.g.doubleclick.net/~a/XK5EVzx4LzMyJRARo_uGn2b1xFw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/XK5EVzx4LzMyJRARo_uGn2b1xFw/1/da"><img src="http://feedads.g.doubleclick.net/~a/XK5EVzx4LzMyJRARo_uGn2b1xFw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=PpEHVZ3H_As:R42DYjEmE4c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=PpEHVZ3H_As:R42DYjEmE4c:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/PpEHVZ3H_As" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/web/url-parameters-in-javascript/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://patchlog.com/web/url-parameters-in-javascript/</feedburner:origLink></item> <item><title>Hidden Affiliate Links 1.0</title><link>http://feedproxy.google.com/~r/Patchlog/~3/7rw_BXNRYzY/</link> <comments>http://patchlog.com/wordpress/hidden-affiliate-links-1-0/#comments</comments> <pubDate>Wed, 17 Nov 2010 14:58:29 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[wordpress]]></category> <category><![CDATA[affiiate]]></category> <category><![CDATA[hidden]]></category> <category><![CDATA[links]]></category> <category><![CDATA[plugin]]></category><guid isPermaLink="false">http://patchlog.com/?p=688</guid> <description><![CDATA[Finally after a long time, The Hidden Affiliate Links plugin for WordPress 3.0.1 is here. The previous version stopped working a long time ago when wordpress 2.5 was released ( yes it's really that long ago ). I tested the current version on WordPress 3.0.1. It might work on older versions but I don't plan [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/hidden-affiliate-links-1-0/">Hidden Affiliate Links 1.0</a></p> ]]></description> <content:encoded><![CDATA[<p>Finally after a long time, The <a href="/hidden-affiliate-links">Hidden Affiliate Links</a> plugin for WordPress 3.0.1 is here.</p><p>The previous version stopped working a long time ago when wordpress 2.5 was released ( yes it's really that long ago ).</p><p>I tested the current version on WordPress 3.0.1. It might work on older versions but I don't plan to support them.</p><p>The download, install and usage instructions are on the <a href="/hidden-affiliate-links">plugin's page</a>.</p><p>I tried to host this plugin on the official wordpress plugins repository so you could see update notifications right in wordpres admin but apparently someone there doesn't like the fact that this plugin hides links so it was not accepted.</p><p>I think this is wrong because there are other plugins there that can somehow hide links ( like the redirection plugin ) and even without a plugin if someone wants to hide a link they can still do it easily by using any url shortner.</p><p>Anyway the idea is if you want to be notified about updates make sure you<a href="http://patchlog.com/feed"> subscribe to my RSS feed</a>.</p><p>Feel free to ask any questions about this plugin in the comments.</p><div id="tweetbutton688" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fhidden-affiliate-links-1-0%2F&amp;via=mihaisecasiu&amp;text=Hidden%20Affiliate%20Links%201.0&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fhidden-affiliate-links-1-0%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/wordpress/hidden-affiliate-links-1-0/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/wordpress/hidden-affiliate-links-1-0-1/" rel="bookmark" class="crp_title">Hidden Affiliate Links 1.0.1</a></li><li><a href="http://patchlog.com/wordpress/hidden-affiliate-links/" rel="bookmark" class="crp_title">Hidden Affiliate Links WordPress Plugin</a></li><li><a href="http://patchlog.com/wordpress/hidden-affiliate-links-update-version-02/" rel="bookmark" class="crp_title">Hidden Affiliate Links update version 0.2</a></li><li><a href="http://patchlog.com/wordpress/follow-self-pings/" rel="bookmark" class="crp_title">Follow Self Pings</a></li><li><a href="http://patchlog.com/general/showing-some-link-love/" rel="bookmark" class="crp_title">Showing some link love</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/hidden-affiliate-links-1-0/">Hidden Affiliate Links 1.0</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=688&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/GbnDEs111uuzsb1N-A4ifGLWF28/0/da"><img src="http://feedads.g.doubleclick.net/~a/GbnDEs111uuzsb1N-A4ifGLWF28/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/GbnDEs111uuzsb1N-A4ifGLWF28/1/da"><img src="http://feedads.g.doubleclick.net/~a/GbnDEs111uuzsb1N-A4ifGLWF28/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=7rw_BXNRYzY:0cy3s-Zdrwg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=7rw_BXNRYzY:0cy3s-Zdrwg:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/7rw_BXNRYzY" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/wordpress/hidden-affiliate-links-1-0/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://patchlog.com/wordpress/hidden-affiliate-links-1-0/</feedburner:origLink></item> <item><title>Simple Hotlink protection for SEO profits</title><link>http://feedproxy.google.com/~r/Patchlog/~3/cmbn_s3BkYE/</link> <comments>http://patchlog.com/wordpress/simple-hotlink-protection-for-seo-profits/#comments</comments> <pubDate>Mon, 28 Jun 2010 15:15:24 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[wordpress]]></category> <category><![CDATA[hotlink]]></category> <category><![CDATA[seo]]></category><guid isPermaLink="false">http://patchlog.com/?p=676</guid> <description><![CDATA[This post is not about protecting images against hotlinking, it's about protecting your downloads against hotlinking. Problem If you've been reading this blog you might have noticed I published some wordpress plugins, patches and an xml sitemap module for pligg. Sometimes other people write posts about my patches but instead of linking to my posts [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/simple-hotlink-protection-for-seo-profits/">Simple Hotlink protection for SEO profits</a></p> ]]></description> <content:encoded><![CDATA[<p>This post is not about protecting images against hotlinking, it's about protecting your downloads against hotlinking.</p><h3>Problem</h3><p>If you've been reading this blog you might have noticed I published some wordpress plugins, patches and an xml sitemap module for pligg. Sometimes other people write posts about my patches but instead of linking to my posts they link directly to the download. This creates a series of problems: people might miss important information about the download, page rank is uselessly transferred to a zip, tar.gz, or .patch file, and you're basically serving content for other people's posts while they rip all the benefits.</p><h3>Solution</h3><p>So here's an easy way to avoid it. Well you can't really avoid it but you can benefit from it. All you have to do is set up a .htaccess file in  your wp-content/upload directory ( that's where downloads are storred by default, feel free to change the location if you're using something else.</p><p>This .htaccess file will check the referer of every request on any file in that folder and if the referer doesn't match your domain it will redirect the visitor the search page on your blog with the search term set to the name of the file they wanted to download. most of the time this search will show as the first result the post where you published.</p><p>Here's how the file looks on my blog:</p><pre>
RewriteEngine On
RewriteBase /wp-content/uploads/
RewriteCond %{HTTP_REFERER} !(www\.)?patchlog.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule ([^\/]+)$ http://patchlog.com/index.php?s=$1 [R=permanent,L]
</pre><p>Pretty simple huh?<br> What about the <a href="/go/seo" title="SEO Service">SEO</a> profits?<br> As you can see the last rule redirects using a permanent redirect and this means google will transfer page rank to the search page.</p><h3>Other solutions?</h3><p>This method is good because it's really easy to implement, but I would like a method that would redirect the visitor directly to the post page instead of the search page.&Acirc;&nbsp; I'm hoping the wordpress download monitor plugin that I'm using will at some point implement an advanced hotlink protection method but until then or until I find time to do it myself this is good enough.</p><div id="tweetbutton676" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fsimple-hotlink-protection-for-seo-profits%2F&amp;via=mihaisecasiu&amp;text=Simple%20Hotlink%20protection%20for%20SEO%20profits&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fwordpress%2Fsimple-hotlink-protection-for-seo-profits%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/wordpress/simple-hotlink-protection-for-seo-profits/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/wordpress/the-whole-post/" rel="bookmark" class="crp_title">The whole Post</a></li><li><a href="http://patchlog.com/wordpress/hidden-affiliate-links/" rel="bookmark" class="crp_title">Hidden Affiliate Links WordPress Plugin</a></li><li><a href="http://patchlog.com/web/xml-sitemaps-for-pligg/" rel="bookmark" class="crp_title">XML Sitemaps for Pligg</a></li><li><a href="http://patchlog.com/general/stop-playing-with-page-titles/" rel="bookmark" class="crp_title">Stop playing with page titles</a></li><li><a href="http://patchlog.com/blogging/about-me-update/" rel="bookmark" class="crp_title">About me update</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/wordpress/simple-hotlink-protection-for-seo-profits/">Simple Hotlink protection for SEO profits</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=676&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/OgK0jFfqCHCRWoD7Ifm3GpWplX0/0/da"><img src="http://feedads.g.doubleclick.net/~a/OgK0jFfqCHCRWoD7Ifm3GpWplX0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/OgK0jFfqCHCRWoD7Ifm3GpWplX0/1/da"><img src="http://feedads.g.doubleclick.net/~a/OgK0jFfqCHCRWoD7Ifm3GpWplX0/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=cmbn_s3BkYE:L8p1paxF4ic:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=cmbn_s3BkYE:L8p1paxF4ic:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/cmbn_s3BkYE" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/wordpress/simple-hotlink-protection-for-seo-profits/feed/</wfw:commentRss> <slash:comments>4</slash:comments> <feedburner:origLink>http://patchlog.com/wordpress/simple-hotlink-protection-for-seo-profits/</feedburner:origLink></item> <item><title>Antinat outgoing ip same as incoming</title><link>http://feedproxy.google.com/~r/Patchlog/~3/5PsrYiSVh4k/</link> <comments>http://patchlog.com/patches/antinat-outgoing-ip-same-as-incoming/#comments</comments> <pubDate>Thu, 22 Apr 2010 14:27:42 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[Patches]]></category> <category><![CDATA[antinat]]></category> <category><![CDATA[ip]]></category> <category><![CDATA[patch]]></category> <category><![CDATA[proxy]]></category> <category><![CDATA[socks]]></category><guid isPermaLink="false">http://patchlog.com/?p=652</guid> <description><![CDATA[Problem The previous post shows you how you can configure the outgoing ip in antinat but if you have multiple ips and you want to use all of them and you want to be able to control which one to be used for certain things that patch doesn't do enough for you. Solution Antinat should [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/patches/antinat-outgoing-ip-same-as-incoming/">Antinat outgoing ip same as incoming</a></p> ]]></description> <content:encoded><![CDATA[<h2>Problem</h2><p>The previous post shows you how you can <a title="Outgoing ip patch" href="http://patchlog.com/patches/antinat-outgoing-ip/">configure the outgoing ip in antinat</a> but if you have multiple ips and you want to use all of them and you want to be able to control which one to be used for certain things that patch doesn't do enough for you.</p><h2>Solution</h2><p>Antinat should bind the ougoing connection on the same ip on which it receives the connection from the client.</p><p>So if you want to use a different ip just set your configure your socks settings in the browser or proxifier to the ip you want antinat to use.</p><p>And here's the patch to let you do that ...</p><h3><a href=http://patchlog.com/downloads/antinat_outgoing_same_as_incomming.diff>Antinat outgoing ip same as Incomming-1.0 (10.1 KB)</a></h3><p>This patch is incompatible with the one on the previous post, you can either have that one or&Acirc;&nbsp; this one so make sure you apply it on the original antinat source.</p><p>Questions or suggestions are welcome as always ...</p><div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;ved=0CAgQFjAA&amp;url=http%3A%2F%2Fantinat.sourceforge.net%2F&amp;ei=WoKjS9DcKczFsgaGwJjMCA&amp;usg=AFQjCNEOlqPAc6T7bkDx0VQpJc2kIBBYHA&amp;sig2=Mdve5s6Ylxdz72SqWJdYfA</div><div id="tweetbutton652" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fpatches%2Fantinat-outgoing-ip-same-as-incoming%2F&amp;via=mihaisecasiu&amp;text=Antinat%20outgoing%20ip%20same%20as%20incoming&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fpatches%2Fantinat-outgoing-ip-same-as-incoming%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/patches/antinat-outgoing-ip-same-as-incoming/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/patches/antinat-outgoing-ip/" rel="bookmark" class="crp_title">Antinat outgoing ip</a></li><li><a href="http://patchlog.com/nix/explicitly-ignorant-in-unix/" rel="bookmark" class="crp_title">Explicitly ignorant in Unix</a></li><li><a href="http://patchlog.com/general/shared-hosting-socks-proxy/" rel="bookmark" class="crp_title">HowTo: Shared Hosting as Socks Proxy</a></li><li><a href="http://patchlog.com/patches/squid-outgoing-ip-patch/" rel="bookmark" class="crp_title">squid outgoing ip patch</a></li><li><a href="http://patchlog.com/wordpress/openid-server-on-php-5-3/" rel="bookmark" class="crp_title">OpenID server on php 5.3</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/patches/antinat-outgoing-ip-same-as-incoming/">Antinat outgoing ip same as incoming</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=652&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/ahSvxj4LBDqvKiImb3f8QxQ2kdc/0/da"><img src="http://feedads.g.doubleclick.net/~a/ahSvxj4LBDqvKiImb3f8QxQ2kdc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ahSvxj4LBDqvKiImb3f8QxQ2kdc/1/da"><img src="http://feedads.g.doubleclick.net/~a/ahSvxj4LBDqvKiImb3f8QxQ2kdc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=5PsrYiSVh4k:OR47G9zBqzE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=5PsrYiSVh4k:OR47G9zBqzE:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/5PsrYiSVh4k" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/patches/antinat-outgoing-ip-same-as-incoming/feed/</wfw:commentRss> <slash:comments>3</slash:comments> <feedburner:origLink>http://patchlog.com/patches/antinat-outgoing-ip-same-as-incoming/</feedburner:origLink></item> <item><title>Antinat outgoing ip</title><link>http://feedproxy.google.com/~r/Patchlog/~3/Msvi_vOE7ms/</link> <comments>http://patchlog.com/patches/antinat-outgoing-ip/#comments</comments> <pubDate>Mon, 19 Apr 2010 14:04:25 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[Patches]]></category> <category><![CDATA[antinat]]></category> <category><![CDATA[ip]]></category> <category><![CDATA[patch]]></category> <category><![CDATA[proxy]]></category> <category><![CDATA[server]]></category> <category><![CDATA[socks]]></category><guid isPermaLink="false">http://patchlog.com/?p=648</guid> <description><![CDATA[This post is the first in a series of posts about antinat. The posts will provide solutions for some "problems' with antinat. So here goes the first one .... Problem Antinat creates outgoing connection from the primary ip defined on the machine where it's running. There's a config option to make antinat listen on a [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/patches/antinat-outgoing-ip/">Antinat outgoing ip</a></p> ]]></description> <content:encoded><![CDATA[<p>This post is the first in a series of posts about <a title="The world's leading socks server :)" href="http://antinat.sf.net">antinat</a>. The posts will provide solutions for some "problems' with antinat. So here goes the first one ....</p><h2>Problem</h2><p>Antinat creates outgoing connection from the primary ip defined on the machine where it's running. There's a config option to make antinat listen on a specific ip but no config option to make it use a specific ip for outgoing connections.</p><h2>Solution</h2><p>The attached patch will make antinat use the same ip that it's listening on for outgoing connections. You specify the listening ip with the "<a title="Antinat configuration reference" href="http://antinat.sourceforge.net/doc/antinat.xml.4.shtml">interface</a>" config option and now that ip will also be used for outgoing connections.</p><h2><a href=http://patchlog.com/downloads/antinat_outgoing.diff>Antinat outgoing ip-1.0 (3.57 KB)</a></h2><p>I assume you already know how to patch ... if not ... just ask in the comments or <a href="/contact">hire me</a> to patch it for you <img src="http://patchlog.denixtech.net/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"></p><div id="tweetbutton648" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fpatches%2Fantinat-outgoing-ip%2F&amp;via=mihaisecasiu&amp;text=Antinat%20outgoing%20ip&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fpatches%2Fantinat-outgoing-ip%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/patches/antinat-outgoing-ip/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/patches/antinat-outgoing-ip-same-as-incoming/" rel="bookmark" class="crp_title">Antinat outgoing ip same as incoming</a></li><li><a href="http://patchlog.com/general/shared-hosting-socks-proxy/" rel="bookmark" class="crp_title">HowTo: Shared Hosting as Socks Proxy</a></li><li><a href="http://patchlog.com/nix/explicitly-ignorant-in-unix/" rel="bookmark" class="crp_title">Explicitly ignorant in Unix</a></li><li><a href="http://patchlog.com/shell/weekends-piece-of-shell-magic/" rel="bookmark" class="crp_title">Weekend&rsquo;s piece of shell magic</a></li><li><a href="http://patchlog.com/patches/squid-outgoing-ip-patch/" rel="bookmark" class="crp_title">squid outgoing ip patch</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/patches/antinat-outgoing-ip/">Antinat outgoing ip</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=648&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/GNjqD3GRpK6kyB71lUrFMNPM680/0/da"><img src="http://feedads.g.doubleclick.net/~a/GNjqD3GRpK6kyB71lUrFMNPM680/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/GNjqD3GRpK6kyB71lUrFMNPM680/1/da"><img src="http://feedads.g.doubleclick.net/~a/GNjqD3GRpK6kyB71lUrFMNPM680/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=Msvi_vOE7ms:t-Sz5FzsozE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=Msvi_vOE7ms:t-Sz5FzsozE:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/Msvi_vOE7ms" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/patches/antinat-outgoing-ip/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://patchlog.com/patches/antinat-outgoing-ip/</feedburner:origLink></item> <item><title>Qmail per domain concurrency</title><link>http://feedproxy.google.com/~r/Patchlog/~3/OR_CrOnZupc/</link> <comments>http://patchlog.com/patches/qmail-per-domain-concurrency/#comments</comments> <pubDate>Tue, 13 Apr 2010 20:21:34 +0000</pubDate> <dc:creator>Mihai</dc:creator> <category><![CDATA[Patches]]></category> <category><![CDATA[concurrency]]></category> <category><![CDATA[patch]]></category> <category><![CDATA[Qmail]]></category><guid isPermaLink="false">http://patchlog.com/?p=669</guid> <description><![CDATA[Problem In my last post about qmail I said that once you solve the big concurrency problem you'll end up with another problem because your mail server would create too many outgoing connections to some domains and you risk having your ips banned by those servers. Solution The solution is to have a way of [...]<p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/patches/qmail-per-domain-concurrency/">Qmail per domain concurrency</a></p> ]]></description> <content:encoded><![CDATA[<h2>Problem</h2><p>In my last post about qmail I said that once you solve the <a title="qmail big concurrency &gt; 500" href="http://patchlog.com/linux/qmail-big-concurrency/">big concurrency problem</a> you'll end up with another problem because your mail server would create too many outgoing connections to some domains and you risk having your ips banned by those servers.</p><h2>Solution</h2><p>The solution is to have a way of limiting the maximum concurrency rate by domains. To do that you'll need the&Acirc;&nbsp;&Acirc;&nbsp; <a title="qmail-channels: throttle outbound delivery queues by domains" href="http://www.thesmbexchange.com/eng/qmail-channels_patch.html">qmail channels patch</a> or write your own patch like I did ( mostly because I was unaware of the existence of the qmail channels patch )</p><p>The home page of the qmail channels patch will explain how to setup and configure qmail to limit the concurrency by a domain or group of domains.</p><p>What I like about this patch is that it allows you to set a concurrency limit for a group of domains like set 100 for all yahoo.com, yahoo.co.uk, yahoo.ca, etc .</p><p>What I don't like is that it doesn't seem to be able to set a default concurrency level for any domain. If I'm wrong please correct me, but if I'm right then this seems like a major problem for an email server that sends to a large number of addresses distributed over a large number of domains because you would have to configure concurrency limits for a lot of domains.</p><p>The ideal solution would allow you to specify a default per domain concurrency and this would apply to any domain that doesn't have a specific concurrency. For example most email servers would be ok with 5 concurrency connections from the same ip but no way for AOL (unless you're white listed and maybe not even then ) .</p><p>Another feature I would like is to be able to specify concurrency by domain's MX records or ips/group of ips assigned to the MX servers instead of the actual domain. This would ease the configuration for ISPs that host a lot of domains like rr or yahoo.</p><div id="tweetbutton669" class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fpatchlog.com%2Fpatches%2Fqmail-per-domain-concurrency%2F&amp;via=mihaisecasiu&amp;text=Qmail%20per%20domain%20concurrency&amp;related=mihaisecasiu:Stay+up+to+date+with+my+patches+on+twitter.&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fpatchlog.com%2Fpatches%2Fqmail-per-domain-concurrency%2F" class="twitter-share-button" style="width:55px;height:22px;background:transparent url('http://patchlog.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><div class="wpfblike" style="height: 40px;"><like href="http://patchlog.com/patches/qmail-per-domain-concurrency/" layout="default" show_faces="true" width="400" action="like" colorscheme="light" send="false"></like></div><div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://patchlog.com/linux/qmail-big-concurrency/" rel="bookmark" class="crp_title">Qmail Big concurrency</a></li><li><a href="http://patchlog.com/patches/qmail-taps-extended/" rel="bookmark" class="crp_title">Qmail Taps Extended</a></li><li><a href="http://patchlog.com/general/this-week-on-twitter-2009-04-26-5/" rel="bookmark" class="crp_title">This week on twitter 2009-04-26</a></li><li><a href="http://patchlog.com/freebsd/qmail-with-smtp-auth-and-domainkeys-on-freebsd/" rel="bookmark" class="crp_title">Qmail with smtp-auth and DomainKeys on FreeBSD</a></li><li><a href="http://patchlog.com/patches/qmail-tls-smtp-plugins-freebsd/" rel="bookmark" class="crp_title">Qmail TLS + SMTP Plugins on FreeBSD</a></li></ul></div><p>This is a post from <a href="http://pachlog.com/about/">Mihai Secasiu</a>'s <a href="http://patchlog.com">PatchLog - Patches 'n Hacks</a>. <br/><br/><a href="http://patchlog.com/patches/qmail-per-domain-concurrency/">Qmail per domain concurrency</a></p> <img src="http://patchlog.com/?ak_action=api_record_view&id=669&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/i3b672pxA3EoVtSrW089S8g9vXE/0/da"><img src="http://feedads.g.doubleclick.net/~a/i3b672pxA3EoVtSrW089S8g9vXE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/i3b672pxA3EoVtSrW089S8g9vXE/1/da"><img src="http://feedads.g.doubleclick.net/~a/i3b672pxA3EoVtSrW089S8g9vXE/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Patchlog?a=OR_CrOnZupc:reZWloPy-UU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Patchlog?a=OR_CrOnZupc:reZWloPy-UU:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/Patchlog?d=bcOpcFrp8Mo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Patchlog/~4/OR_CrOnZupc" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://patchlog.com/patches/qmail-per-domain-concurrency/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <feedburner:origLink>http://patchlog.com/patches/qmail-per-domain-concurrency/</feedburner:origLink></item> </channel> </rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 92/343 queries in 31.625 seconds using disk: basic
Object Caching 4125/4558 objects using disk: basic
Content Delivery Network via patchlog.denixtech.net

Served from: patchlog.com @ 2011-12-20 03:00:56 -->

