<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>

  var _gaq = _gaq || [];
  _gaq.push([‘_setAccount’, ‘UA-21270991-1’]);
  _gaq.push([‘_trackPageview’]);

  (function() {
    var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
    ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;
    var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
  })();</description><title>lifeofweb</title><generator>Tumblr (3.0; @lifeofweb)</generator><link>http://lifeofweb.com/</link><item><title>Beginning Android for iOS Developers; or, How to Build a Real-World Android App</title><description>&lt;a href="http://clayallsopp.posterous.com/building-an-android-app-from-scratch-or-this"&gt;Beginning Android for iOS Developers; or, How to Build a Real-World Android App&lt;/a&gt;: &lt;p&gt;Great intro to Android development&lt;/p&gt;</description><link>http://lifeofweb.com/post/3750433736</link><guid>http://lifeofweb.com/post/3750433736</guid><pubDate>Thu, 10 Mar 2011 02:30:28 +0000</pubDate></item><item><title>Smallest DOMReady code, ever.</title><description>&lt;a href="http://www.dustindiaz.com/smallest-domready-ever/"&gt;Smallest DOMReady code, ever.&lt;/a&gt;</description><link>http://lifeofweb.com/post/3485175970</link><guid>http://lifeofweb.com/post/3485175970</guid><pubDate>Thu, 24 Feb 2011 21:12:16 +0000</pubDate></item><item><title>What are the scaling issues to keep in mind while developing a social network feed? - Quora</title><description>&lt;a href="http://www.quora.com/What-are-the-scaling-issues-to-keep-in-mind-while-developing-a-social-network-feed"&gt;What are the scaling issues to keep in mind while developing a social network feed? - Quora&lt;/a&gt;: &lt;p&gt;Great answers to this question on Quora - interesting comments too&lt;/p&gt;</description><link>http://lifeofweb.com/post/3313559019</link><guid>http://lifeofweb.com/post/3313559019</guid><pubDate>Wed, 16 Feb 2011 00:42:42 +0000</pubDate></item><item><title>Securing MySQL Networking</title><description>&lt;p&gt;The simplest method is to add the following to my.cnf:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;skip-networking&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Which disables network access completely. This is often fine if you can do everything you need over a unix socket.&lt;/p&gt;
&lt;p&gt;If not you&amp;#8217;ll want to ensure that only certain machines can make a connection. The quick and easy way is to add the following to my.cnf:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;bind-address=127.0.0.1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;But you can only add one address, which isn&amp;#8217;t always what you want.&lt;/p&gt;
&lt;p&gt;Using &lt;a href="http://www.netfilter.org/documentation/index.html"&gt;iptables&lt;/a&gt; gives much more flexibility. This example is for Red Hat, other distros will be very similar but your /etc/sysconfig/iptables location might be different. I used &lt;a href="https://help.ubuntu.com/community/IptablesHowTo"&gt;this iptables how-to at Ubuntu&lt;/a&gt; to figure out the basics.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
# accept local connections to port 3306
iptables -A INPUT -p tcp --dport 3306 -s 127.0.0.1 -j ACCEPT
# add any other IP addresses we want to give access
iptables -A INPUT -p tcp --dport 3306 -s $MONITORING_SYSTEM_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -s $ADMIN_IP -j ACCEPT
# reject anything else
iptables -A INPUT -p tcp --dport 3306 -j REJECT
# save these rules so we don’t lose the changes on restart
iptables-save &amp;gt; /etc/sysconfig/iptables
&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Update 20110427:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using a plain REJECT doesn&amp;#8217;t hide the existence of the service completely as iptables issues an ICMP Port Unreachable response.  A &lt;a href="http://diaryproducts.net/about/operating_systems/unix/nmap_port_scanner_iptables_firewall"&gt;better solution&lt;/a&gt; is to REJECT using the iptables &lt;span&gt;&amp;#8212;reject-with tcp-reset&lt;/span&gt; option which issues a TCP RST - the same response that a connection attempt to an unused port would receive.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# accept local connections to port 3306
iptables -A INPUT -p tcp --dport 3306 -s 127.0.0.1 -j ACCEPT
# add any other IP addresses we want to give access
iptables -A INPUT -p tcp --dport 3306 -s $MONITORING_SYSTEM_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -s $ADMIN_IP -j ACCEPT
# reject anything else
iptables -A INPUT -p tcp --dport 3306 -j REJECT --reject-with tcp-reset
# save these rules so we don’t lose the changes on restart
iptables-save &amp;gt; /etc/sysconfig/iptables
&lt;/code&gt;&lt;/pre&gt;
&lt;code&gt;&lt;br/&gt;&lt;/code&gt;</description><link>http://lifeofweb.com/post/3182523575</link><guid>http://lifeofweb.com/post/3182523575</guid><pubDate>Fri, 11 Feb 2011 11:34:00 +0000</pubDate></item><item><title>google-authenticator - Project Hosting on Google Code</title><description>&lt;a href="http://code.google.com/p/google-authenticator/"&gt;google-authenticator - Project Hosting on Google Code&lt;/a&gt;</description><link>http://lifeofweb.com/post/3230264115</link><guid>http://lifeofweb.com/post/3230264115</guid><pubDate>Fri, 11 Feb 2011 06:22:33 +0000</pubDate></item></channel></rss>

