<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Internet Schminternet</title>
	<atom:link href="http://www.internetschminternet.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.internetschminternet.com</link>
	<description>.. this internet thing will never catch on ..</description>
	<lastBuildDate>Fri, 03 May 2013 00:55:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ruby Motion &#8211; Access Controller in the Console</title>
		<link>http://www.internetschminternet.com/2013/05/02/ruby-motion-access-controller-in-the-console/</link>
		<comments>http://www.internetschminternet.com/2013/05/02/ruby-motion-access-controller-in-the-console/#comments</comments>
		<pubDate>Fri, 03 May 2013 00:55:45 +0000</pubDate>
		<dc:creator>Matt Stone</dc:creator>
				<category><![CDATA[ruby motion]]></category>

		<guid isPermaLink="false">http://www.internetschminternet.com/?p=124</guid>
		<description><![CDATA[Much easier with bubble-wrap gem installed. In the console I can then type: App.window.rootViewController.childViewControllers Which in my case shows: => [#, #] So to get access to the UserController I can do userController = App.window.rootViewController.childViewControllers[1] => # Remember to declare variables as attr_accessor]]></description>
			<content:encoded><![CDATA[<p>Much easier with bubble-wrap gem installed.</p>
<p>In the console I can then type: App.window.rootViewController.childViewControllers</p>
<p>Which in my case shows:</p>
<p>=> [#<UINavigationController:0x94a4180>, #<UserController:0x94a87b0>]</p>
<p>So to get access to the UserController I can do</p>
<p>userController = App.window.rootViewController.childViewControllers[1]<br />
=> #<UserController:0x94a87b0></p>
<p>Remember to declare variables as attr_accessor</p>
]]></content:encoded>
			<wfw:commentRss>http://www.internetschminternet.com/2013/05/02/ruby-motion-access-controller-in-the-console/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Node.js &#8211; using zappa</title>
		<link>http://www.internetschminternet.com/2012/04/20/node-js-using-zappa/</link>
		<comments>http://www.internetschminternet.com/2012/04/20/node-js-using-zappa/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 00:39:15 +0000</pubDate>
		<dc:creator>Matt Stone</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.internetschminternet.com/?p=120</guid>
		<description><![CDATA[http://zappajs.org Coffeescript makes my javascript much better.]]></description>
			<content:encoded><![CDATA[<p>http://zappajs.org</p>
<p>Coffeescript makes my javascript much better.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.internetschminternet.com/2012/04/20/node-js-using-zappa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git-legit</title>
		<link>http://www.internetschminternet.com/2012/04/19/git-legit/</link>
		<comments>http://www.internetschminternet.com/2012/04/19/git-legit/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 11:32:24 +0000</pubDate>
		<dc:creator>Matt Stone</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.internetschminternet.com/?p=117</guid>
		<description><![CDATA[git legit makes git a bit more sensible]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.git-legit.org/" title="Git Legit" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.git-legit.org/?referer=');">git legit</a> makes git a bit more sensible</p>
]]></content:encoded>
			<wfw:commentRss>http://www.internetschminternet.com/2012/04/19/git-legit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSX Flush DNS Cache</title>
		<link>http://www.internetschminternet.com/2011/10/24/osx-flush-dns-cache/</link>
		<comments>http://www.internetschminternet.com/2011/10/24/osx-flush-dns-cache/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 23:24:22 +0000</pubDate>
		<dc:creator>Matt Stone</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.internetschminternet.com/?p=114</guid>
		<description><![CDATA[dnscacheutil -flushcache]]></description>
			<content:encoded><![CDATA[<p>dnscacheutil -flushcache</p>
]]></content:encoded>
			<wfw:commentRss>http://www.internetschminternet.com/2011/10/24/osx-flush-dns-cache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript &#8211; One line if statement</title>
		<link>http://www.internetschminternet.com/2011/10/22/javascript-one-line-if-statement/</link>
		<comments>http://www.internetschminternet.com/2011/10/22/javascript-one-line-if-statement/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 05:37:18 +0000</pubDate>
		<dc:creator>Matt Stone</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.internetschminternet.com/?p=106</guid>
		<description><![CDATA[var draggable = (disabled) ? false : true;]]></description>
			<content:encoded><![CDATA[<p>var draggable  = (disabled) ? false : true;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.internetschminternet.com/2011/10/22/javascript-one-line-if-statement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mysqldump &#8211; Backup and Restore</title>
		<link>http://www.internetschminternet.com/2011/10/20/mysqldump-backup-and-restore/</link>
		<comments>http://www.internetschminternet.com/2011/10/20/mysqldump-backup-and-restore/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 23:46:29 +0000</pubDate>
		<dc:creator>Matt Stone</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.internetschminternet.com/?p=100</guid>
		<description><![CDATA[Backup mysqldump -u devise -ppassword -h 127.0.0.1 database_name &#62; backup.sql Restore mysql -u -ppassword database_name &#60; backup.sql]]></description>
			<content:encoded><![CDATA[<p><strong>Backup</strong></p>
<p>mysqldump -u devise -ppassword -h 127.0.0.1 database_name &gt; backup.sql</p>
<p><strong>Restore</strong></p>
<p>mysql -u -ppassword database_name &lt; backup.sql</p>
]]></content:encoded>
			<wfw:commentRss>http://www.internetschminternet.com/2011/10/20/mysqldump-backup-and-restore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website scaling &#8211; no magic formula</title>
		<link>http://www.internetschminternet.com/2011/09/08/website-scaling-for-startups-no-magic-formula/</link>
		<comments>http://www.internetschminternet.com/2011/09/08/website-scaling-for-startups-no-magic-formula/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 06:02:14 +0000</pubDate>
		<dc:creator>Matt Stone</dc:creator>
				<category><![CDATA[startup]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.internetschminternet.com/?p=59</guid>
		<description><![CDATA[Lately I&#8217;ve spoken to numerous entrepreneurs all keen to ensure that their new website can rapidly scale to cater for the massive amount of traffic that their brilliant idea will bring in. Thought I would write up a bit of advice from the trenches. Scaling is easy and incredibly difficult at the same time. Easy [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve spoken to numerous entrepreneurs all keen to ensure that their new website can rapidly scale to cater for the massive amount of traffic that their brilliant idea will bring in.</p>
<p>Thought I would write up a bit of advice from the trenches.</p>
<p>Scaling is easy and incredibly difficult at the same time.</p>
<p>Easy in that there is plenty of examples scattered around the web how various people solved their problem. Just use technology X, Y and Z =&gt; problem solved.</p>
<p>The hard bit; your problem is most likely similar to, but not exactly the same as someone else. Small differences in architecture and feature set may seem inconsequential when serving 1K of users, but these small differences add up to massively different and complex problems when serving out to thousands/millions of users.</p>
<p>My feeling are a startup should focus on solving the user problem with an insanely great experience. Speed is part of that, but probably not the most important factor with early adopters.</p>
<p>Some thoughts.</p>
<p>1. Hadoop, Hive &amp; similar are fantastic, but really overkill for a startup<br />
2. NoSQL&#8217;s are great and fast and all that &#8211; but carry the risk of loosing transactional data.<br />
3. MySQL &amp; Postgres, seem no longer cool, but work reliably and can take you far<br />
4. PHP, Rails, Python, &amp; even DotNet all scale (scaling is in the architecture, not language &#8211; anyone who tells you otherwise is waving a big red flag that they are not all that clued up on web tech). Of course all can be used to build something that falls over with 5 users.<br />
5. Caching (memcache &amp; similar) is difficult to get right &#8211; it is not simple, particularly for logged in users with different access levels, and conducting transactions.<br />
6. Amazon EC2, Google app engine &amp; Heroku &#8211; are great to get started &#8211; you only pay for the services you use &#8211; at some point it will make sense to move to your own infrastructure, or go your own way if your really strapped for cash.<br />
7. Hosting videos and images on Amazon s3 &amp; Cloudfront helps keep infrastructure complexity down, but do cost. One startup I am working with has a couple of thousand users with a bill of around $300 per month for video &amp; image hosting<br />
8. Paypal credit card payments has not been a turnoff &#8211; I&#8217;ve had two services use it &amp; seen no increase in conversions when replaced with a &#8220;named&#8221; solution. Web payments can be setup in less than 30 minutes.<br />
9. Validate any advice &amp; thoughts by asking questions and searching for existing answers on www.quora.com. Most things have been discussed a number of times before.<br />
10. Be aware it&#8217;s usually where you do not expect to find problems that you come unstuck. For example, your users heavily using parts of your application  in unexpected ways, backing up transaction logs, updating data across multiple servers taking longer than you thought it would.<br />
11. Make sure you have a plan &#8211; know your thresholds of tolerance, and have upgrade paths ready to go &#8211; you might just get those hundres of thousands/millions of users so be prepared.</p>
<p>So my view is, in the early days, keep things simple and tolerate as little complexity as possible.</p>
<p><strong>Guide as what to measure and set thresholds for.</strong></p>
<p>Budget for around a couple of days to a week to setup a monitoring system. You want to know resource usage trends, as well as if anything out of the ordinary is happening.</p>
<p><em>Your web site / application</em></p>
<ol>
<li>How fast home page loads</li>
<li>How long various user tasks take (ie: logging in, doing a common tasks)</li>
</ol>
<div><em>Each web server</em></div>
<div>
<ol>
<li>CPU usage &amp; trends</li>
<li>Memory usage &amp; trends</li>
<li>Threads usage &amp; trends</li>
</ol>
<div><em>Each database server</em></div>
<div>
<ol>
<li>As for each web server plus..</li>
<li>Query response times &#8211; look in the slow query log file religiously</li>
<li>Connection pooling</li>
<li>Disk space usage &amp; trends</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.internetschminternet.com/2011/09/08/website-scaling-for-startups-no-magic-formula/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading to Lion server from OSX server 10.5.8</title>
		<link>http://www.internetschminternet.com/2011/09/08/upgrading-to-lion-server-from-osx-server-10-5-8/</link>
		<comments>http://www.internetschminternet.com/2011/09/08/upgrading-to-lion-server-from-osx-server-10-5-8/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 02:37:02 +0000</pubDate>
		<dc:creator>Matt Stone</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.internetschminternet.com/?p=60</guid>
		<description><![CDATA[Unfortunately one cannot upgrade from OSX Server 10.5.x straight to Lion Server. There are two choices Upgrade to Snow Leopard Server (if you can find a copy &#38; are prepared to shell out $400 or so. Then upgrade to Lion via the app store. Rebuild server as Snow Leopard workstation then upgrade to Lion server [...]]]></description>
			<content:encoded><![CDATA[<p>Unfortunately one cannot upgrade from OSX Server 10.5.x straight to Lion Server.</p>
<p>There are two choices</p>
<ol>
<li>Upgrade to Snow Leopard Server (if you can find a copy &amp; are prepared to shell out $400 or so. Then upgrade to Lion via the app store.</li>
<li>Rebuild server as Snow Leopard workstation then upgrade to Lion server vai the app store</li>
</ol>
<p>Option 1 is the easiest &amp; less painful way to go. You can keep most of your server settings. But it costs $400 or so.</p>
<p>Option 2 is a bit more complex, but you save $400. Here is how I did it.</p>
<ol>
<li>Completely backup the target server &#8211; make sure you can access various configuration files</li>
<li>Dig out a Snow Leopard install disk</li>
<li>Follow these <a title="Boot xServer from DVD Optical Drive" href="http://support.apple.com/kb/TA26930?viewlocale=en_US" target="_blank" onclick="pageTracker._trackPageview('/outgoing/support.apple.com/kb/TA26930?viewlocale=en_US&amp;referer=');">instructions</a> to boot xServer from DVD. Put the Snow Leopard DVD in the optical drive, Use the first blue light option and replace the disk back in the drive when it ejects.</li>
<li>Install Snow Leopard &amp; do all the software updates</li>
<li>Install Lion the App store, then reboot before the next step</li>
<li>Install Lion Server upgrade from App store</li>
<li>Restore server settings</li>
</ol>
<p>Took about a day to complete.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.internetschminternet.com/2011/09/08/upgrading-to-lion-server-from-osx-server-10-5-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Landing Pages &#8211; Keeping it Simple</title>
		<link>http://www.internetschminternet.com/2011/08/21/landing-pages-keeping-it-simple/</link>
		<comments>http://www.internetschminternet.com/2011/08/21/landing-pages-keeping-it-simple/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 05:54:30 +0000</pubDate>
		<dc:creator>Matt Stone</dc:creator>
				<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://www.internetschminternet.com/?p=52</guid>
		<description><![CDATA[My three three things that a successful landing page should have (&#38; nothing else) Simple message Form to collect emails address Thanks &#38; opportunity to share/recommend 1 Simple Message Can a user answer these 3 questions: 1. What am I getting 2. How do I get it 3. Why I can&#8217;t live without it If not, then [...]]]></description>
			<content:encoded><![CDATA[<p>My three three things that a successful landing page should have (&amp; nothing else)</p>
<ol>
<li>Simple message</li>
<li>Form to collect emails address</li>
<li>Thanks &amp; opportunity to share/recommend</li>
</ol>
<p><strong>1 Simple Message</strong></p>
<p>Can a user answer these 3 questions:</p>
<p>1. What am I getting<br />
2. How do I get it<br />
3. Why I can&#8217;t live without it</p>
<p>If not, then maybe consider changing your landing page.</p>
<p><strong>2. Form to Collect Email Address</strong></p>
<p>Try and have as little information collection as possible (email, password &amp; password Confirmation)</p>
<p><strong>3. Thank user and opportunity to share/recommend</strong></p>
<p>Ok, so not exactly on the landing page, but on the after-submission page (after the user has provided their email address) Thank the user the for their submission, then give them the change to share the offer (facebook, twitter, linked-in, etc).</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.internetschminternet.com/2011/08/21/landing-pages-keeping-it-simple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Options pricing &#8211; a little deeper</title>
		<link>http://www.internetschminternet.com/2011/08/03/options-pricing-a-little-deeper/</link>
		<comments>http://www.internetschminternet.com/2011/08/03/options-pricing-a-little-deeper/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 08:20:54 +0000</pubDate>
		<dc:creator>Matt Stone</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.internetschminternet.com/?p=40</guid>
		<description><![CDATA[Getting a bit mathematical now. When pricing an option, we are attempting to put a value on the probability of future price movements. So we are now terribly interested in the mean and standard deviation of an underlyings price movements. The mean is the average price movement, whilst the standard deviation tells us how far [...]]]></description>
			<content:encoded><![CDATA[<p>Getting a bit mathematical now. When pricing an option, we are attempting to put a value on the probability of future price movements. So we are now terribly interested in the mean and standard deviation of an underlyings price movements.</p>
<p>The mean is the average price movement, whilst the standard deviation tells us how far the price moved. Using these figures (&amp; volatility which is a measure of how fast the price is expected to move), we can model the distribution of expected price movements.</p>
<p>Of course, expected is not the same thing as actual; which always makes things a bit more interesting.</p>
<p>Next up, the Black Scholes model.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.internetschminternet.com/2011/08/03/options-pricing-a-little-deeper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
