<?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>Pointless Ramblings</title>
	<atom:link href="http://pointlessramblings.com/feed" rel="self" type="application/rss+xml" />
	<link>http://pointlessramblings.com</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Sat, 12 May 2012 13:10:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>How I would like the mobile industry to work</title>
		<link>http://pointlessramblings.com/416</link>
		<comments>http://pointlessramblings.com/416#comments</comments>
		<pubDate>Sat, 12 May 2012 13:10:18 +0000</pubDate>
		<dc:creator>Fizzadar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pointlessramblings.com/?p=416</guid>
		<description><![CDATA[I just finished reading this article which talks about the possibility of a SIM-less iPhone5. This would be awful for an industry which is already setup incorrectly. The way I see it text messages, call minutes, and all the other limitations when choosing a network all come under one title of &#8216;data&#8217;. At the end [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished reading <a title="SIM-Less Phone" href="http://shkspr.mobi/blog/index.php/2012/05/the-sim-less-phone-is-coming-and-it-should-scare-the-shit-out-of-you/" target="_blank">this article</a> which talks about the possibility of a SIM-less iPhone5. This would be awful for an industry which is already setup incorrectly.</p>
<p>The way I see it text messages, call minutes, and all the other limitations when choosing a network all come under one title of &#8216;data&#8217;. At the end of the day a text message should be like an email/iMessage: it simply costs a tiny amount in data to send, irrespective of location across the world. You should be able to walk into a mobile carrier&#8217;s shop and be given a list of plans, much like ISP plans; they all have one factor: data. No minutes, no text limits, no extended costs for minutes/texts abroad, just pure data (ideally with sane costs when using data abroad &#8211; not the current charge-what-you-want the carriers seem to have gone for).</p>
<p>Phone purchases should be made separately, just like laptops/computers are. Both items are devices with internet-connectivity of some kind; and they should be a separate part of the purchase; no phones would be tied to any specific providers this way (because a phone subsidised by contract is essentially on loan/credit until the 12-18 initial months are over).</p>
<p>The industry needs to split hardware (phones) from service (data). It&#8217;s always been this way for computers, and would drive the carriers to more competitive/fair pricing when they can factor out phone cost.</p>
<p>Interestingly over the past few weeks I&#8217;v been seeing TV-ads for a new UK network called <a title="Giffgaff" href="http://giffgaff.com/" target="_blank">Giffgaff</a>. Although they list minutes/texts, all their &#8216;goodybags&#8217; contain unlimited texts, plus a number of minutes <em>and</em> unlimited data. An unheard of offer in the world of the iPhone/500mb limits (o2, three, vodaphone, t-mobile: all guilty of changing unlimited =&gt; 500mb in their contracts upon iPhone 4 launch).</p>
<p>/rant over; I&#8217;ll be moving to Giffgaff once my o2 contract finally ends.</p>
]]></content:encoded>
			<wfw:commentRss>http://pointlessramblings.com/416/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daemons in PHP (vs. crons)</title>
		<link>http://pointlessramblings.com/318</link>
		<comments>http://pointlessramblings.com/318#comments</comments>
		<pubDate>Fri, 27 Apr 2012 00:22:13 +0000</pubDate>
		<dc:creator>Fizzadar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pointlessramblings.com/?p=318</guid>
		<description><![CDATA[Over the years I&#8217;ve written &#38; setup hundreds of different crons for various bits of software (mostly in PHP). The problem is that crons really aren&#8217;t the best way to run updates to a site, particularly if there are lots of continuous updates: crons run without checking to see if an existing one is still [...]]]></description>
			<content:encoded><![CDATA[<p>Over the years I&#8217;ve written &amp; setup hundreds of different crons for various bits of software (mostly in PHP). The problem is that crons really aren&#8217;t the best way to run updates to a site, particularly if there are lots of continuous updates:</p>
<ul>
<li>crons run without checking to see if an existing one is still running, poorly written scripts will eventually overload the server</li>
<li>once a cron is complete, it dies and any remaining time before the next run is &#8216;lost&#8217;</li>
</ul>
<p>My solution to the problem was to write daemons (which are, in most cases, started by a cron). Running a daemon provides a number of advantages/features:</p>
<ul>
<li>combined with pcntl_fork, the daemon can dynamically create and stop processes as required</li>
<li>the daemon periodically retrieves &#8217;jobs&#8217; from the database (with a minimum time between requests)</li>
<li>each daemon has it&#8217;s own &#8216;lock&#8217; file, to prevent multiple of the same daemon running at once</li>
<li>a cron attempts to start the daemon regularly, if the old daemon has stopped running, it&#8217;s lock file will become stale</li>
</ul>
<p>An example daemon is listed below, the class requires the PHP pcntl extension (*nix only) &amp; Tudor Barbu&#8217;s excellent <a title="Multithreading in PHP" href="http://blog.motane.lu/2009/01/02/multithreading-in-php/" target="_blank">Thread class →</a></p>
<p><code>
<pre>
//daemon (thread func, update func, maxthreads, thread time, update time, lockfile)
$mod_daemon = new mod_daemon( 'thread', 'update', 10, 30, 600, 'test_daemon' );
$mod_daemon->start();
</pre>
<p></code></p>
<p><strong>The lockfile</strong> is created in the ./tmp directory (eg. lockfile.lock). <strong>The update function</strong> returns an array of &#8216;jobs&#8217;, where each item is passed as the argument to the thread function. <strong>If the last $argv value</strong> is &#8216;force&#8217; the daemon will kill the old process and start a new one.</p>
<p>These daemons must be run from the command line directly, or can always be put into a cron on any timer (with the lock file preventing multiple daemons at once).</p>
<p>You can find the mod_daemon class <a href="https://gist.github.com/2504433" target="_blank">in this gist &rarr;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pointlessramblings.com/318/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Twitter Background</title>
		<link>http://pointlessramblings.com/399</link>
		<comments>http://pointlessramblings.com/399#comments</comments>
		<pubDate>Sun, 22 Apr 2012 18:11:57 +0000</pubDate>
		<dc:creator>Fizzadar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pointlessramblings.com/?p=399</guid>
		<description><![CDATA[I&#8217;ve never had a custom background on my Twitter before, I guess I&#8217;ve never remembered to actually make one. So anyway, here it is. It&#8217;s the first time I&#8217;ve played around with those PS splatter brushes in a long time.]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/fizzadar"><img class="alignnone size-full wp-image-400" title="Screen Shot 2012-04-22 at 19.08.42" src="http://pointlessramblings.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-22-at-19.08.42.png" alt="" width="2325" height="1423" /></a></p>
<p>I&#8217;ve never had a custom background on <a title="Fizzadar on Twitter" href="http://twitter.com/fizzadar/" target="_blank">my Twitter</a> before, I guess I&#8217;ve never remembered to actually make one. So anyway, here it is. It&#8217;s the first time I&#8217;ve played around with those PS splatter brushes in <a href="http://media02.hongkiat.com/hand-drawn-websites/pointless.jpg" target="_blank">a long time</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pointlessramblings.com/399/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A perfect Mac  Macbook web-dev setup</title>
		<link>http://pointlessramblings.com/326</link>
		<comments>http://pointlessramblings.com/326#comments</comments>
		<pubDate>Sun, 15 Apr 2012 22:09:41 +0000</pubDate>
		<dc:creator>Fizzadar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pointlessramblings.com/?p=326</guid>
		<description><![CDATA[When I was in the process of purchasing my iMac, I always knew it would finally allow me to setup my dream development system. One which would seamlessly work on both the new iMac and, when on the move, my Macbook Air. I&#8217;m almost certain this process can be re-created on Windows machines as well [...]]]></description>
			<content:encoded><![CDATA[<p>When I was in the process of purchasing my iMac, I always knew it would finally allow me to setup my dream development system. One which would seamlessly work on both the new iMac and, when on the move, my Macbook Air. I&#8217;m almost certain this process can be re-created on Windows machines as well (but I could never get it working between Windows &lt;-&gt; OSX, only for the drive naming differences). The aims:</p>
<ul>
<li>an identical apache/mysql server on both machines</li>
<li>automated backups of all server data</li>
<li>no problems when there is no internet connection</li>
<li>avoid carrying portable drives around (they do music/tv/etc)</li>
<li>avoid having to update git repos on each machine</li>
</ul>
<p>To keep all the Apache &amp; MySQL data directories in sync, and to also cover the backups, I chose to use <a title="Dropbox" href="https://dropbox.com/" target="_blank">Dropbox</a> (after upgrading to the 50gb plan &#8211; well worth it). And for the servers, I simply installed <a title="MAMP" href="http://www.mamp.info/en/index.html" target="_blank">MAMP</a> on each machine (plus <a title="Map with no password" href="http://www.46palermo.com/blog/run-mamp-without-password-easy-way/" target="_blank">this wonderful app</a> to stop it prompting for my pasword).</p>
<p>The next step was to setup my Apache &amp; MySQL servers to use the Dropbox (or folders within it) as their data &#8216;roots&#8217;. This is also possible by symlinking folders from within the Dropbox folder. Apache is very simple, in the httpd.conf (on MAMP: /applications/mamp/conf/apache/) file simply change the &#8216;document_root&#8217;:</p>
<pre>DocumentRoot "/Users/nick/Dropbox/Fanatical Dev/Webroot"</pre>
<p>As you can see, I use &#8216;Fanatical Dev/Webroot&#8217; as my server directory within Dropbox, but it can be set to any directory. That should mean the basic server is setup (you can see the documents on both servers). The next step is the MySQL server, which is a little more complicated because MySQL keeps log files which we don&#8217;t want to sync (they change too often, are 10mb in size and are no use synced). For some strange reason MAMP (not Pro) doesn&#8217;t allow you to change the MySQL config file, but still allows you to edit the startup command, so we can set our new settings. On MAMP, the file is located here (on other setups, you&#8217;ll need to change the MySQL startup command manually): /applications/mamp/bin/startmysql.sh. It should contain something like this:</p>
<pre># /bin/sh
/Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --lower_case_table_names=0 --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log --default-storage-engine=MyISAM</pre>
<p>All we need to do is add some configuration options onto the end (in bold):</p>
<pre># /bin/sh
/Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --lower_case_table_names=0 --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log --default-storage-engine=MyISAM <strong>--datadir="/Users/Nick/Dropbox/Fanatical Dev/MySQL/" --innodb_log_group_home_dir="/Applications/MAMP/db/mysql/" &amp;</strong></pre>
<p>The first setting &#8216;datadir&#8217; sets the default location for the databases to be stored, again mine is set within my Dropbox folder. The second option &#8216;innodb_log_group_home_dir&#8217; is the location of the innodb log files (which we don&#8217;t want), which I&#8217;ve set back to the default data directory MAMP sets.</p>
<p>In addition to the above, my &#8216;resources&#8217; folder has also been moved into my dropbox. So I now have my perfect setup:</p>
<ul>
<li>all server &amp; resource data synced on both machines, and backed up to Dropbox</li>
<li>if I go away for a weekend, I can just grab my laptop and leave</li>
</ul>
<p>There are just two this to remember:</p>
<ul>
<li>when syncing an out of date machine (ie. laptop after working on desktop for a day) don&#8217;t start the server until the sync is up to date</li>
<li>never run the servers on both machines at once <em>while</em> doing mysql changes</li>
</ul>
<p>And that&#8217;s it!</p>
]]></content:encoded>
			<wfw:commentRss>http://pointlessramblings.com/326/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Refresh</title>
		<link>http://pointlessramblings.com/314</link>
		<comments>http://pointlessramblings.com/314#comments</comments>
		<pubDate>Thu, 12 Apr 2012 14:02:53 +0000</pubDate>
		<dc:creator>Fizzadar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pointlessramblings.com/?p=314</guid>
		<description><![CDATA[Yet another redesign for Pointless Ramblings. This domain (and blog) is coming up on six years of age. Which in internet years seems pretty good. Admittedly not much has happened for vast periods of time; I&#8217;m aware I&#8217;m probably one of the worst / under-committed bloggers around. Still, PR has always served as my &#8216;base&#8217; online, and has [...]]]></description>
			<content:encoded><![CDATA[<p>Yet another redesign for Pointless Ramblings. This domain (and blog) is coming up on six years of age. Which in internet years seems pretty good. Admittedly not much has happened for vast periods of time; I&#8217;m aware I&#8217;m probably one of the worst / under-committed bloggers around. Still, PR has always served as my &#8216;base&#8217; online, and has followed me everywhere I go, as well as being abused by redesign after redesign.</p>
<p>I&#8217;ve cleared away all the old posts and once again, the blog is nice and blank looking.</p>
]]></content:encoded>
			<wfw:commentRss>http://pointlessramblings.com/314/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>html5</title>
		<link>http://pointlessramblings.com/256</link>
		<comments>http://pointlessramblings.com/256#comments</comments>
		<pubDate>Sun, 26 Feb 2012 03:08:40 +0000</pubDate>
		<dc:creator>Fizzadar</dc:creator>
				<category><![CDATA[Photograph]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://pointlessramblings.com/?p=256</guid>
		<description><![CDATA[It&#8217;s so true it&#8217;s almost unbelievable.]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-257" title="thumbs_hornoxe.com_picdump246_025" src="http://pointlessramblings.com/wp-content/uploads/2012/02/thumbs_hornoxe.com_picdump246_025.jpg" alt="" width="500" height="667" /></p>
<p>It&#8217;s so true it&#8217;s almost unbelievable.</p>
]]></content:encoded>
			<wfw:commentRss>http://pointlessramblings.com/256/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VW-Wars</title>
		<link>http://pointlessramblings.com/252</link>
		<comments>http://pointlessramblings.com/252#comments</comments>
		<pubDate>Thu, 23 Feb 2012 23:25:58 +0000</pubDate>
		<dc:creator>Fizzadar</dc:creator>
				<category><![CDATA[Photograph]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[star wars]]></category>
		<category><![CDATA[vw camper]]></category>

		<guid isPermaLink="false">http://pointlessramblings.com/?p=252</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-253" title="E10g8" src="http://pointlessramblings.com/wp-content/uploads/2012/02/E10g8.jpg" alt="" width="580" height="432" /></p>
]]></content:encoded>
			<wfw:commentRss>http://pointlessramblings.com/252/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My walls</title>
		<link>http://pointlessramblings.com/237</link>
		<comments>http://pointlessramblings.com/237#comments</comments>
		<pubDate>Mon, 21 Nov 2011 11:06:27 +0000</pubDate>
		<dc:creator>Fizzadar</dc:creator>
				<category><![CDATA[Photograph]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[uni]]></category>
		<category><![CDATA[wall]]></category>

		<guid isPermaLink="false">http://pointlessramblings.com/?p=237</guid>
		<description><![CDATA[&#160;]]></description>
			<content:encoded><![CDATA[<p><a href="http://pointlessramblings.com/wp-content/uploads/2011/11/IMG_1073.jpg"><img class="alignnone size-full wp-image-239" title="IMG_1073" src="http://pointlessramblings.com/wp-content/uploads/2011/11/IMG_1073.jpg" alt="" width="2592" height="1936" /></a><a href="http://pointlessramblings.com/wp-content/uploads/2011/11/IMG_1072.jpg"><img class="alignnone size-full wp-image-238" title="IMG_1072" src="http://pointlessramblings.com/wp-content/uploads/2011/11/IMG_1072.jpg" alt="" width="2592" height="1936" /></a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://pointlessramblings.com/237/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back to the daily routine</title>
		<link>http://pointlessramblings.com/233</link>
		<comments>http://pointlessramblings.com/233#comments</comments>
		<pubDate>Mon, 03 Oct 2011 23:48:25 +0000</pubDate>
		<dc:creator>Fizzadar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[newcastle]]></category>
		<category><![CDATA[uni]]></category>

		<guid isPermaLink="false">http://pointlessramblings.com/?p=233</guid>
		<description><![CDATA[I&#8217;m now back in Newcastle until Christmas. Lectures have started and I seem to have been given the shit timetable, with 9AM starts every day of the week (very unlikely to happen). On the plus-side, one of the modules is all about SQL, specifically MySQL which gives me a huge boost considering the number of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m now back in Newcastle until Christmas. Lectures have started and I seem to have been given the shit timetable, with 9AM starts every day of the week (very unlikely to happen).</p>
<p>On the plus-side, one of the modules is all about SQL, specifically MySQL which gives me a huge boost considering the number of hours/databases I&#8217;ve worked with in the past few years. Some other topics include more Java (oh, joy) programming, hopefully some C and a &#8216;team project&#8217;. This is going to be a killer.</p>
<p>For this team project we are given some kind of software application to build. Knowing the Computer Science staff the application will be something uninteresting and dull, but I still remain hopeful. We won&#8217;t be told for another two weeks. The second problem with this team project is that the teams will (most likely) be randomly assigned. The assumption is that we&#8217;re all at the same level with each aspect of the course/project, which is bullshit.</p>
<p>The supposed aim of the module is to help us learn how to develop in a working environment. I sure as hell hope I never have to work in a team where meetings are &#8216;formal&#8217;, as in they have minutes and an agenda. Maybe this works in a dull business meeting where numbers are the topic of discussion, but in a development environment you want more open discussions than meeting, where you can bounce ideas of one another.</p>
<p>So it&#8217;s looking like another year of nothing-like-real-life computer science.</p>
]]></content:encoded>
			<wfw:commentRss>http://pointlessramblings.com/233/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FD Core</title>
		<link>http://pointlessramblings.com/230</link>
		<comments>http://pointlessramblings.com/230#comments</comments>
		<pubDate>Thu, 15 Sep 2011 01:49:21 +0000</pubDate>
		<dc:creator>Fizzadar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[pkrusset]]></category>

		<guid isPermaLink="false">http://pointlessramblings.com/?p=230</guid>
		<description><![CDATA[It&#8217;s been a busy day today; I got back from America yesterday and so as planned I put both my micro-PHP framework &#38; PK Russet online. Both are on my github. PK Russet is currently only playable once I (manually, via phpmyadmin!) change the user rank to alpha-tester level. FD-Core is the more important release, [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a busy day today; I got back from America yesterday and so as planned I put both my micro-PHP framework &amp; PK Russet online. Both are on <a title="Fizzadar on Github" href="https://github.com/Fizzadar">my github</a>. PK Russet is currently only playable once I (manually, via phpmyadmin!) change the user rank to alpha-tester level.</p>
<p>FD-Core is the more important release, it&#8217;s what I use to power my OpenID/FB connect web-apps. I personally believe 99% of apps should be created with OpenID/FB connect as a base; I hate having multiple logins, especially for things such as forums. Why there isn&#8217;t a PHP framework focused around this yet puzzles me. I threw together some documentation, except I only got through a few classes before getting bored, check it out <a title="FD Core" href="http://core.fanaticaldev.com/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pointlessramblings.com/230/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.501 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-16 08:14:55 -->
<!-- Compression = gzip -->
