<?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>Create Open</title>
	<atom:link href="http://www.createopen.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.createopen.com/blog</link>
	<description>Dave Hulbert on Tech, PHP, JavaScript and Linux</description>
	<lastBuildDate>Fri, 18 May 2012 07:45:21 +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>Taking Responsive Design a few steps forwards</title>
		<link>http://www.createopen.com/blog/2012/05/taking-responsive-design-a-few-steps-forwards/</link>
		<comments>http://www.createopen.com/blog/2012/05/taking-responsive-design-a-few-steps-forwards/#comments</comments>
		<pubDate>Fri, 18 May 2012 07:45:21 +0000</pubDate>
		<dc:creator>dave1010</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Responsive Design]]></category>

		<guid isPermaLink="false">http://www.createopen.com/blog/?p=53</guid>
		<description><![CDATA[Responsive design today is great: different layouts can be served to different screen sizes. In the future, extra media queries could be available to web developers and designers to allow the content of a page respond to a whole range of capabilities. Possibly the most useful is being able to serve different content based on [...]]]></description>
			<content:encoded><![CDATA[<p>Responsive design today is great: different layouts can be served to different screen sizes. In the future, extra media queries could be available to web developers and designers to allow the content of a page respond to a whole range of capabilities. </p>
<p>Possibly the most useful is being able to serve different content based on network bandwidth and latency. If on a limited data plan, you could tell websites you don&#8217;t want want HD content by default. Mobile users with high bandwidth but a poor network latency may have content adjusted for them in a different way to someone connected via a low-latency, low-bandwidth ethernet link. </p>
<p>This would allow device pixel media queries to be used just for screen sizes, without making assumptions that would end up showing a full site to someone tethering their laptop to a GPRS connection or a cut-down version to someone who happened to resize their browser. </p>
<p>In addition to network conditions (and even preferences), a whole host of other capabilities could be determined via media queries. A hover menu could be limited to users with a mouse. Keyboard shortcuts could be shown to users with hardware keyboards. Complex animations could be disabled by default for users with lower-spec CPUs or GPUs. </p>
<p>This finer grained view of the user would reduce the assumptions currently made by lots of websites and allow website authors to provide sensible defaults to users without having to assume context. </p>
<p>In terms of getting these implemented, the next steps would probably be to have discussion on W3C/WHATWG mailing lists and file some bugs in browsers. Would anyone like to help take responsive design further?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.createopen.com/blog/2012/05/taking-responsive-design-a-few-steps-forwards/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New jQuery plugin for mobile browsers: jQuery Fast Click</title>
		<link>http://www.createopen.com/blog/2012/05/jquery-fast-click/</link>
		<comments>http://www.createopen.com/blog/2012/05/jquery-fast-click/#comments</comments>
		<pubDate>Mon, 14 May 2012 21:56:21 +0000</pubDate>
		<dc:creator>dave1010</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.createopen.com/blog/?p=45</guid>
		<description><![CDATA[Mobile browsers delay browser clicks (or, more accurately, taps) by 300ms so they can detect double taps. This can be great but if you want to speed up clicks in your mobile site or app, you can use my plugin: jQuery Fast Click. The code is on GitHub and it&#8217;s under a Creative Commons Attribution [...]]]></description>
			<content:encoded><![CDATA[<p>Mobile browsers delay browser clicks (or, more accurately, taps) by 300ms so they can detect double taps. This can be great but if you want to speed up clicks in your mobile site or app, you can use my plugin: <a href="http://dave1010.github.com/jquery-fast-click/">jQuery Fast Click</a>.</p>
<p>The <a href="https://github.com/dave1010/jquery-fast-click">code is on GitHub </a>and it&#8217;s under a Creative Commons Attribution 3.0 License. It&#8217;s tested on Android and iOS but if you have any questions or issues on jQuery Fast Click, please use <a href="https://github.com/dave1010/jquery-fast-click/issues">GitHub&#8217;s issues</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.createopen.com/blog/2012/05/jquery-fast-click/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Traits project</title>
		<link>http://www.createopen.com/blog/2012/05/php-traits-project/</link>
		<comments>http://www.createopen.com/blog/2012/05/php-traits-project/#comments</comments>
		<pubDate>Mon, 14 May 2012 21:51:38 +0000</pubDate>
		<dc:creator>dave1010</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.createopen.com/blog/?p=43</guid>
		<description><![CDATA[I&#8217;ve started creating a collection of handy PHP traits. The project is called PHP Traits Collection and you can find the code on GitHub. Traits are a new feature of PHP 5.4 (released in 2012), which allow horizontal reuse of code in class. This is similar to multiple inheritance (eg as in Java) but more [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started creating a collection of handy <a href="http://php.net/manual/en/language.oop5.traits.php">PHP traits</a>. The project is called <a href="http://dave1010.github.com/php-traits/">PHP Traits Collection</a> and you can find the <a href="http://dave1010.github.com/php-traits/">code on GitHub</a>.</p>
<p>Traits are a new feature of PHP 5.4 (released in 2012), which allow horizontal reuse of code in class. This is similar to multiple inheritance (eg as in Java) but more similar in implementation to mixins in Ruby.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.createopen.com/blog/2012/05/php-traits-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TaskThere: a location-based to do list HTML5 app</title>
		<link>http://www.createopen.com/blog/2011/10/taskthere-a-location-based-to-do-list-html5-app/</link>
		<comments>http://www.createopen.com/blog/2011/10/taskthere-a-location-based-to-do-list-html5-app/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 21:13:27 +0000</pubDate>
		<dc:creator>dave1010</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.createopen.com/blog/?p=15</guid>
		<description><![CDATA[There are thousands of task management apps and websites available. Each one promises to be special and better than all the rest. TaskThere is special. TaskThere lets you quickly assign tasks to your favourite GPS locations. Add &#8220;buy cheese&#8221; at &#8220;Supermarket&#8221; or &#8220;mow lawn&#8221; to &#8220;Garden&#8221;. When you add a new place, TaskThere looks up [...]]]></description>
			<content:encoded><![CDATA[<p>There are thousands of task management apps and websites available. Each one promises to be special and better than all the rest. <a href="http://dave1010.github.com/taskthere/">TaskThere</a> is special.</p>
<p>TaskThere lets you quickly assign tasks to your favourite GPS locations. Add &#8220;buy cheese&#8221; at &#8220;Supermarket&#8221; or &#8220;mow lawn&#8221; to &#8220;Garden&#8221;. When you add a new place, TaskThere looks up your geolocation from either your mobile&#8217;s GPS, nearby cell phone towers or WiFi hotspots. As you add more places, TaskThere will automatically switch to your nearest one to show you what tasks you have near. You can manually switch locations or disable the GPS if you want to save battery life.</p>
<p>TaskThere is a web app, built using HTML5 JavaScript APIs such as Geolocation and Local Storage. It runs on any modern web browser, including mobile browsers. All your data is stored locally so there&#8217;s no privacy issues. TaskThere is lightweight so it works fine on 2G and once you&#8217;ve loaded the app your network connection isn&#8217;t required any more.</p>
<p>All the code to TaskThere is on <a href="https://github.com/dave1010/taskthere">GitHub</a>. It works great but it&#8217;s a bit rough round the edges. It needs some design work and there&#8217;s a few features I&#8217;d like to implement. If you&#8217;d like to get involved, contact me on GitHub or just submit a pull request.</p>
<p>Please let me know Iif you&#8217;ve used TasktThere and have any feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.createopen.com/blog/2011/10/taskthere-a-location-based-to-do-list-html5-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Administrator access from a logged-in unprivileged user account on Windows</title>
		<link>http://www.createopen.com/blog/2011/10/getting-administrator-access-from-a-logged-in-unprivileged-user-account-on-windows/</link>
		<comments>http://www.createopen.com/blog/2011/10/getting-administrator-access-from-a-logged-in-unprivileged-user-account-on-windows/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 18:07:11 +0000</pubDate>
		<dc:creator>dave1010</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.createopen.com/blog/?p=28</guid>
		<description><![CDATA[To get Administrator access on Windows (theoretically) you could plug in a USB hub with a virtual keyboard, USB mass storage and a random unknown device. The USB mass storage would have the payload you wanted to run in the form of a driver for the unknown device and the virtual keyboard would replay the [...]]]></description>
			<content:encoded><![CDATA[<p>To get Administrator access on Windows (theoretically) you could plug in a USB hub with a virtual keyboard, USB mass storage and a random unknown device. The USB mass storage would have the payload you wanted to run in the form of a driver for the unknown device and the virtual keyboard would replay the keys needed to accept the warning messages about installing unsigned drivers.</p>
<p>More thoughts and comments about this over on the <a href="http://news.ycombinator.com/item?id=2300787">Hacker News discussion</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.createopen.com/blog/2011/10/getting-administrator-access-from-a-logged-in-unprivileged-user-account-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>20 years of Linux</title>
		<link>http://www.createopen.com/blog/2011/09/20-years-of-linux/</link>
		<comments>http://www.createopen.com/blog/2011/09/20-years-of-linux/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 16:44:24 +0000</pubDate>
		<dc:creator>dave1010</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.createopen.com/blog/?p=24</guid>
		<description><![CDATA[As Linux recently had its 20th birthday, perhaps now is a good time to take a trip down memory lane&#8230; My first memory of Linux was when I was about 12. My 486 wasn&#8217;t fast enough to play MP3s in Windows. Previously, if I wanted to listen to a song, I would convert it to [...]]]></description>
			<content:encoded><![CDATA[<p>As Linux recently had its 20th birthday, perhaps now is a good time to take a trip down memory lane&#8230;</p>
<p>My first memory of Linux was when I was about 12. My 486 wasn&#8217;t fast enough to play MP3s in Windows. Previously, if I wanted to listen to a song, I would convert it to a WAV on our family Pentium 75, split it into 1.4MB chunks and copy it via ~15 floppy disks onto my PC.<br />
I installed RedHat 5 (from a PC mag CD). RedHat came with a commandline MP3 player (called mpg123) that would decode and play MP3s on my 486. This meant it only took 2 or 3 floppy disks to copy a MP3 I&#8217;d downloaded from our family PC&#8217;s 14.4kb/s net connection.<br />
Today, my phone runs Linux (Maemo), my work PC runs Linux (Ubuntu), my laptop &#038; our TV run Linux (Ubuntu), our router &#038; NAS run Linux (some kind of Debian). Our next car is likely to run Linux and so might our fridge. Thanks Linus!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.createopen.com/blog/2011/09/20-years-of-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Annotations</title>
		<link>http://www.createopen.com/blog/2010/04/twitter-annotations/</link>
		<comments>http://www.createopen.com/blog/2010/04/twitter-annotations/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 05:44:01 +0000</pubDate>
		<dc:creator>dave1010</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.createopen.com/blog/?p=19</guid>
		<description><![CDATA[Twitter is just introducing annotations for tweets. These are a semi-structured way of adding meta-data to a tweet. For the average user, annotations are &#8220;hashtags on steroids&#8220;. Annotations are semi-structured as there is no formal registration process for the namespace and key. Sitepoint have a good article on the Twitter annotation format. This post is [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter is just introducing <a href="http://www.readwriteweb.com/archives/what_twitter_annotations_mean.php">annotations</a> for tweets. These are a semi-structured way of adding meta-data to a tweet. For the average user, annotations are &#8220;<em>hashtags on steroids</em>&#8220;.</p>
<p>Annotations are semi-structured as there is no formal registration process for the namespace and key. Sitepoint have a good article on the <a href="http://www.sitepoint.com/blogs/2010/04/19/twitter-introduces-annotations-hash-tags-become-obsolete/">Twitter annotation format</a>. This post is an attempt to collate some annotation ideas into a unified place.</p>
<p>There are already some annotations contained in tweets. These include:</p>
<ul>
<li>username</li>
<li>in-reply-to tweet</li>
<li>timestamp</li>
<li><a href="http://blog.twitter.com/2009/11/think-globally-tweet-locally.html">location</a></li>
<li><a href="http://blog.twitter.com/2009/12/feature-test-with-businesses.html">contributors</a></li>
</ul>
<p>Here are some more. Some day I may clean this up and try to define a standard format and namespace.</p>
<ul>
<li>Mood (happy, sad)</li>
<li>Changed mood (before-after)</li>
<li>Weather</li>
<li> Privacy level</li>
<li>Image/video/sound clip URL</li>
<li>General URL</li>
<li>Licence (how can other people sue your tweet?)</li>
<li>Copyright holder</li>
<li>Distribution (global / specific country)</li>
<li>Joke</li>
<li>Source / attribution</li>
<li>Current transport (walking, driving, train, etc)</li>
<li>Traffic</li>
<li> Split personality</li>
<li>Translation (including to non-geek)</li>
<li>Product price</li>
<li>Special offer / discount</li>
<li>For sale / wanted</li>
<li>Currency</li>
<li>Rating</li>
<li>Event date/time</li>
<li>Topic or category (if you generally tweet about a few categorizable topics)</li>
<li>Group ID (many tweets in the same group could be shown as 1 in supporting clients)</li>
<li>Vote / poll ID (vote for an option in a poll)</li>
<li>Proxy (allow other people to use your account, like cotags)</li>
<li>Question / answer</li>
<li>Listening to artist / album / song</li>
</ul>
<p>Feel free to add your own ideas in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.createopen.com/blog/2010/04/twitter-annotations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello World!</title>
		<link>http://www.createopen.com/blog/2010/04/hello-world/</link>
		<comments>http://www.createopen.com/blog/2010/04/hello-world/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 16:42:55 +0000</pubDate>
		<dc:creator>dave1010</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.createopen.com/blog/?p=1</guid>
		<description><![CDATA[Welcome to CreateOpen. This is my first post. More to follow&#8230;]]></description>
			<content:encoded><![CDATA[<p>Welcome to CreateOpen. This is my first post. More to follow&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.createopen.com/blog/2010/04/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

