<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom">
 
 <title type="text">DannyBartlett.co.uk</title>
 
 <link href="http://dannybartlett.co.uk/" />
 <updated>2011-04-26T20:41:41+01:00</updated>
 <id>http://dannybartlett.co.uk/</id>
 <author>
   <name>Danny Bartlett</name>
 </author>

 
 <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/DannyBartlett" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="dannybartlett" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><subtitle type="html">Danny Bartlett is a developer for all things mobile and web related.</subtitle><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">DannyBartlett</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><entry>
   <title>Is Twitter Really going to Lockout New Client Applications?</title>
   <link href="http://dannybartlett.co.uk/blog/twitter-api-lockdown" />
   <updated>2011-03-13T00:00:00+00:00</updated>
   <id>http://dannybartlett.co.uk/blog/twitter-api-lockdown</id>
   <content type="html">&lt;p&gt;You have probably read that a few days ago Ryan Sarver of the Platform team at Twitter &lt;a href="http://groups.google.com/group/twitter-api-announce/browse_thread/thread/c82cd59c7a87216a?hl=en_US"&gt;announced that changes were planned&lt;/a&gt; for the usage of the Twitter &lt;span class="caps"&gt;API&lt;/span&gt;. There has been a lot of &lt;span class="caps"&gt;FUD&lt;/span&gt;, and worry about Twitter cutting out competition and new apps from its service. I don&amp;#8217;t exactly think this is true.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are an existing developer of client apps, you can continue to serve &lt;br /&gt;
your user base, but we will be holding you to high standards to ensure you &lt;br /&gt;
do not violate users’ privacy, that you provide consistency in the user &lt;br /&gt;
experience, and that you rigorously adhere to all areas of our Terms of &lt;br /&gt;
Service.  We have spoken with the major client applications in the Twitter &lt;br /&gt;
ecosystem about these needs on an ongoing basis, and will continue to ensure a high bar is maintained&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ryan Sarver on &lt;a href="http://groups.google.com/group/twitter-api-announce/browse_thread/thread/c82cd59c7a87216a?hl=en_US"&gt;Twitter &lt;span class="caps"&gt;API&lt;/span&gt; Changes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This has kicked up a lot of &lt;span class="caps"&gt;FUD&lt;/span&gt; on the net as to whether or not Twitter are planning to lock out client applications that are not already part of the ecosystem. This is partly due to the fact that Ryan Sarver stated that these changes were to enforce consistent UX, to uphold their ToS and protect users privacy. We can debate whether or not the official story is true, but enforcing those things should have been their responsibility in the first place. Why the big (somewhat vague) announcement?&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s no secret that Twitter has been a massive financial risk. 4 years of investment with little revenue is going to force them into finding a way to monetize their service to keep them afloat. For those application developers who cannot comply with the current &lt;span class="caps"&gt;API&lt;/span&gt; Terms of Service, who&amp;#8217;s going to say they will comply with a ToS amended to enforce promoted tweets or other such advertisement to display in their clients as instructed? (Answer: They likely won&amp;#8217;t).&lt;/p&gt;
&lt;p&gt;There is some word on the internet that Twitter are going to cut out the competition from their &lt;span class="caps"&gt;API&lt;/span&gt; service. I don&amp;#8217;t really think that is what they are trying to achieve here. I think they are stating their justification now on why they have cut out &amp;#8220;Twitter App X&amp;#8221; from the &lt;span class="caps"&gt;API&lt;/span&gt; service; due to their non-compliance of ToS. They are paving a way for a new ToS of which they will enforce whatever monetization technique they are opting for; they are cutting down the application ecosystem to only those developers who are willing to comply.&lt;/p&gt;
&lt;p&gt;I think what is happening here is that Twitter want to ensure a &lt;a href="http://dickbar.org/"&gt;dickbar&lt;/a&gt; of some iteration in each client. If this absolutely is the case (which to be fair, nobody aside from Twitter officials and clairvoyants know), then please:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Target your Advertising&lt;/strong&gt;&lt;br /&gt;
At present, Twitter for iPhone keeps flicking &lt;a href="http://twitter.com/#!/search/%23sisterwives"&gt;#SisterWives&lt;/a&gt; at my face. I am not American, I do not live in America and I do not use Twitter to follow Reality TV shows (American or otherwise). Keep within my interests, keep within the fields of work of the people I am following.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Offer a way for Users to Opt-out&lt;/strong&gt;&lt;br /&gt;
Guaranteed there are going to be a few people who will hate such an implementation. Offer them an official way to opt-out, and charge a small fee for it. Save from people leaving the service, people will find a way to opt-themselves out somehow (&lt;a href="http://twitter.com/chpwn/status/43493433217789952"&gt;for instance&lt;/a&gt;). There will still be people willing to pay for such a feature if there was a legit option.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Do not screw over existing customers&lt;/strong&gt;&lt;br /&gt;
Basically, do not kill an &lt;span class="caps"&gt;API&lt;/span&gt; token for a paid-for app over some trivial reason such as a minor UX problem. There are several good paid-for apps in the iPhone App Store. If you were to kill any of them you would create not only problems for the users, but also for the developers. Apple still keep hold of their 30% even after a refund. Don&amp;#8217;t make a poor dev pay n * (100% price of app) because their button doesn&amp;#8217;t explicitly say &amp;#8220;Retweet&amp;#8221;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I don&amp;#8217;t think Twitter are going to cut out new applications for requesting an &lt;span class="caps"&gt;API&lt;/span&gt; token at all. Whilst they could have been a lot more clear in their announcement, they didn&amp;#8217;t specifically say they are going to close all new &lt;span class="caps"&gt;API&lt;/span&gt; tokens. They said they were going to clamp down on enforcing their &lt;span class="caps"&gt;API&lt;/span&gt; ToS. We are going to see a big change in the &lt;span class="caps"&gt;API&lt;/span&gt; in the new future. I read this announcement as &amp;#8220;Current Developers: We are going to be watching you closely, buckle down and ensure you are following our &lt;span class="caps"&gt;API&lt;/span&gt; guidelines. New Developers: Watch this space.&amp;#8221;&lt;/p&gt;
&lt;p&gt;Based on what has been officially said so far, nobody is fully sure what is going to happen. A lot of developers have interpreted that there will be no allowances for any new applications. Twitter should have been a lot more clear of their future intentions with that announcement.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DannyBartlett/~4/NfBBXIGGgqw" height="1" width="1"/&gt;</content>
 </entry>
 
 <entry>
   <title>Mac OS X - Cranking up your File Browsing with TotalFinder</title>
   <link href="http://dannybartlett.co.uk/blog/total-finder-review" />
   <updated>2011-02-27T00:00:00+00:00</updated>
   <id>http://dannybartlett.co.uk/blog/total-finder-review</id>
   <content type="html">&lt;p&gt;There has been one thing about Mac OS X that I have wished has had an overhaul since Mac OS 10.4. Many of you out there will probably agree on the same thing here; Finder has been neglected. If you have ever wish to have a tabbed browsing feature in Finder, then take a look at &lt;a href="http://totalfinder.binaryage.com/"&gt;TotalFinder&lt;/a&gt;. TotalFinder doesn&amp;#8217;t just bring tabbed browsing to the table, there are a few other features that I regularly use.&lt;/p&gt;
&lt;h2&gt;Visor Styled Sliding.&lt;/h2&gt;
&lt;p&gt;Those of you who are familiar with the Terminal plugin &amp;#8216;&lt;a href="http://visor.binaryage.com/"&gt;Visor&lt;/a&gt;&amp;#8217; would understand this feature. For those of you who don&amp;#8217;t, here is a brief explanation. Basically with the tap of a hotkey  keystroke of your chose, you can summon the TotalFinder window onto the screen. When summoned, the window nicely slides into view from the bottom of the screen (and slides back on either the same keystroke pattern, or when you click away from the window).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dannybartlett.co.uk/article-images/totalfinder1.png"&gt;&lt;img src="http://dannybartlett.co.uk/article-images/thtotalfinder1.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I absolutely love this feature for the same reason I love &lt;a href="http://visor.binaryage.com/"&gt;Visor&lt;/a&gt;, I have quick easy access to my finder app, and effectively my whole file system. It also does away with the visual clutter you get when activation Expose.&lt;/p&gt;
&lt;h2&gt;Dual Mode&lt;/h2&gt;
&lt;p&gt;Another useful feature I find with TotalFinder is it Dual Mode. This with this feature you can view two separate folder views side by side. Dual mode can be quickly activated with the &lt;code&gt;⌘U&lt;/code&gt; keystroke.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dannybartlett.co.uk/article-images/totalfinder2.png"&gt;&lt;img src="http://dannybartlett.co.uk/article-images/thtotalfinder2.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I particularly like this as I have both folder views in focus. It began ever annoying trying to move between two Finder windows that were overlapping, or trying to move to a window you have forgotten to open. I use Dual Mode often when I am making incremental edits to my Jekyll setup.&lt;/p&gt;
&lt;h2&gt;Other Useful Features&lt;/h2&gt;
&lt;p&gt;In Mac OS X, the following commands in Terminal will allow you to see hidden files. You have to restart Finder just to view hidden files, and have to do the same again if you want to hide those files again.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="bash"&gt;defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;With TotalFinder, using the keystroke &lt;code&gt;⇧⌘.&lt;/code&gt; will give you quick access to &amp;#8216;show/hide hidden files&amp;#8217;.&lt;/p&gt;
&lt;p&gt;Another good feature is &amp;#8216;Asepsis&amp;#8217;. Every time you modify a folder in Mac OS X, it creates a hidden file called &lt;code&gt;.DS_Store&lt;/code&gt;&lt;br /&gt;
These files are made to store your Finder preferences (i.e, Folder View, icon Sizes, labels etc.), but the problem is that these files get created regardless of whether or not you have modified the default finder settings. This can be particularly annoying when working on with file transfers from command line.&lt;/p&gt;
&lt;p&gt;The Asepsis feature is off by default, but when enabled allows you to redirect the .DS_Store file to &lt;code&gt;/usr/local/.dscache.&lt;/code&gt; This is a separate area dedicated to just these files. Asepsis can also disable the creation of .DS_Store files on network mounted disks, which can be quite useful.&lt;/p&gt;
&lt;h2&gt;Thoughts on TotalFinder&lt;/h2&gt;
&lt;p&gt;I am quite happy with TotalFinder. When I first installed it I was a bit worried it was going to somehow mess with my OS install, but everything seems tidy and TotalFinder integrates well is the OS. As I previously mentioned, I absolutely love the &amp;#8216;Visor&amp;#8217; feature after knocking down the animation speed a few notches. TotalFinder might be a bit shy on features compared to &lt;a href="http://www.binarynights.com/"&gt;Forklift 2&lt;/a&gt; or &lt;a href="http://www.cocoatech.com/"&gt;Path Finder&lt;/a&gt;, but I personally find them a bit too &amp;#8216;heavy&amp;#8217; on the feature-set.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DannyBartlett/~4/nsx-r-PLMfg" height="1" width="1"/&gt;</content>
 </entry>
 
 <entry>
   <title>Switching to Jekyll</title>
   <link href="http://dannybartlett.co.uk/blog/switching-to-jekyll" />
   <updated>2011-02-10T00:00:00+00:00</updated>
   <id>http://dannybartlett.co.uk/blog/switching-to-jekyll</id>
   <content type="html">&lt;p&gt;For quite a while now I have been searching for the right &lt;span class="caps"&gt;CMS&lt;/span&gt; platform that I was comfortable with. I have tried many; &lt;a href="http://wordpress.org"&gt;Wordpress&lt;/a&gt;, &lt;a href="http://typepad.com"&gt;TypePad&lt;/a&gt;, &lt;a href="http://tumblr.com"&gt;Tumblr&lt;/a&gt; and several others. While all good platforms in themselves, none of them felt right for me. Then I found &lt;a href="http://jekyllrb.com"&gt;Jekyll&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Jekyll is a simple, blog aware, static site generator. It takes a template directory (representing the raw form of a website), runs it through Textile or Markdown and Liquid converters, and spits out a complete, static website suitable for serving with Apache or your favourite web server.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Quoting the ReadMe at Jekyll&amp;#8217;s &lt;a href="https://github.com/mojombo/jekyll"&gt;Github Repository&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This sounded great for me. Basically it takes a bunch of template files as input, and spits them out as a fully fledged hierarchy of html files to a &lt;code&gt;/_site&lt;/code&gt; directory. It is the contents of this directory that you will host to the host server of your choice. The problem with a statically generated site however, is providing dynamically generated content. At it&amp;#8217;s core, the site would be static, but with services like &lt;a href="http:///disqus.com"&gt;Disqus&lt;/a&gt; showing up, serving dynamic content on a static file is not as much of a problem as it used to be.&lt;/p&gt;
&lt;h2&gt;My Jekyll Blogging Environment&lt;/h2&gt;
&lt;p&gt;A popular choice amongst the Jekyll community is to host their content on a git server and deploy to their host via a git hook. I choose to generate my site locally and us rsync to post to my server. If you do use this method without using git to as a file store then I would definitely recommend having a decent backup system in place, as all it would take is one hard drive failure to loose the template data of your site.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I freaking love having my entire site in static files. It&amp;#8217;s a nerd feeling that&amp;#8217;s hard to explain. As a Mac user, I just need to activate Spotlight with two keystrokes and I can instantly find any old blog post.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://paulstamatiou.com/how-to-wordpress-to-jekyll"&gt;Paul Stamatiou&lt;/a&gt; on one of the reasons he prefers keeping a static file site.&lt;/p&gt;
&lt;p&gt;I have used a few of Pauls techniques on my Jekyll environment I have created a symbolic link of my Jekyll tree to the root folder of my local web server. I have configured apache to set the vhost of that server to point from the &amp;#8216;jekyll.dev&amp;#8217; &lt;span class="caps"&gt;URI&lt;/span&gt;. I can have a live preview of my site on my local server before I deploy it.&lt;/p&gt;
&lt;p&gt;As I use a Mac, I prefer writing my code using &lt;a href="http://macromates.com/"&gt;Textmate&lt;/a&gt;. I work faster and more efficiently, and I feel it gives me more control to write posts than a &lt;span class="caps"&gt;WYSIWYG&lt;/span&gt; editor. If I create a formatting error, it is quite easy to trace and correct.&lt;/p&gt;
&lt;p&gt;I also use &lt;a href="http://pygments.org"&gt;Pygments&lt;/a&gt; for syntax highlighting.&lt;/p&gt;
&lt;h2&gt;Installing Pygments&lt;/h2&gt;
&lt;p&gt;I have installed &lt;a href="http://pygments.org/"&gt;Pygments&lt;/a&gt; for code syntax higlighting on my blog posts. Pygments is a Python based program that prettifies code into &lt;span class="caps"&gt;IDE&lt;/span&gt; style highlighting. I will now show you how to install Pygments, whilst also showing it off somewhat:&lt;/p&gt;
&lt;h3&gt;Download and install setuptools and Pygments&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="bash"&gt;curl -O http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
sudo sh setuptools-0.6c11-py2.6.egg
easy_install Pygments
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;I would recommend downloading &lt;a href="http://tom.preston-werner.com/"&gt;Tom Preston-Werner&amp;#8217;s&lt;/a&gt; stylesheet for syntax highlighting and including it in your base template header.&lt;/p&gt;
&lt;h3&gt;Get Tom&amp;#8217;s syntax.css&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="bash"&gt;curl -O http://tom.preston-werner.com/css/syntax.css
mv syntax.css /pathTo/Jekyll_blog/css/
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;Well, ok. That was some pretty vanilla code right there so it didn&amp;#8217;t do so much. Look at the bash script below for a better demonstration of Pygments highlighting.&lt;/p&gt;
&lt;h2&gt;Automating Jekyll Tasks&lt;/h2&gt;
&lt;p&gt;Typically, writing a blog post would require (filename, Yaml, markdown/textile).&lt;br /&gt;
To automate this I dissected this code snippet from &lt;a href="http://forrst.com/posts/Jekyll_Workflow_Automation-1hs"&gt;TJ on Forrst&lt;/a&gt;, for my own environment.&lt;/p&gt;
&lt;h3&gt;~/.bashrc&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="bash"&gt;&lt;span class="c"&gt;# create a new post and fill the template&lt;/span&gt;
&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;create&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;sh ~/.postname.sh&amp;quot;&lt;/span&gt;

&lt;span class="c"&gt;# start up Jekyll for local preview of blog&lt;/span&gt;
&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;preview&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;cd /Users/dbar/jekyll-blog/ &amp;amp;&amp;amp; jekyll --auto&amp;quot;&lt;/span&gt;

&lt;span class="c"&gt;# delete the existing built site and rebuild&lt;/span&gt;
&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;build&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;cd /Users/dbar/jekyll-blog/ &amp;amp;&amp;amp; rm -rf _site/ &amp;amp;&amp;amp; jekyll&amp;quot;&lt;/span&gt;

&lt;span class="c"&gt;# use rsync to push the weblog to my (ve)&lt;/span&gt;
&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;deploy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;echo &amp;#39;Deploying to remote host...&amp;#39; &amp;amp;&amp;amp;&lt;/span&gt;
&lt;span class="s2"&gt;cd /Users/dbar/jekyll-blog/ &amp;amp;&amp;amp;&lt;/span&gt;
&lt;span class="s2"&gt;rsync -rtz --delete _site/ deploy@foobar.com:/var/www/_site &amp;amp;&amp;amp;&lt;/span&gt;
&lt;span class="s2"&gt;echo &amp;#39;Done!&amp;#39;&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;The code above is a snippet of my &lt;code&gt;.bashrc&lt;/code&gt; file. I can create a new post using the &amp;#8216;create&amp;#8217; command on terminal, which names the file with the relevant date and file, along with a template of the &lt;span class="caps"&gt;YAML&lt;/span&gt; front matter. This command will work in tandem with the code in the script below.&lt;/p&gt;
&lt;h3&gt;~/.postname.sh&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;code class="bash"&gt;&lt;span class="c"&gt;# the contents of ~/.postname:&lt;/span&gt;
&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;

&lt;span class="c"&gt;################&lt;/span&gt;
&lt;span class="c"&gt;# Get our info #&lt;/span&gt;
&lt;span class="c"&gt;################&lt;/span&gt;
&lt;span class="nv"&gt;yearmonth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;date &lt;span class="s2"&gt;&amp;quot;+%Y/%m&amp;quot;&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;span class="nv"&gt;postdate&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;date &lt;span class="s2"&gt;&amp;quot;+%Y-%m-%d&amp;quot;&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;span class="nv"&gt;jekylldate&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;date &lt;span class="s2"&gt;&amp;quot;+%Y-%m-%d&amp;quot;&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;span class="nb"&gt;read&lt;/span&gt; -p &lt;span class="s2"&gt;&amp;quot;Enter the post name: &amp;quot;&lt;/span&gt; post_variable;
touch /Users/dbar/jekyll-blog/_posts/&lt;span class="nv"&gt;$postdate&lt;/span&gt;-&lt;span class="nv"&gt;$post_variable&lt;/span&gt;.textile &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;
cat &lt;span class="s"&gt;&amp;lt;&amp;lt;EOF &amp;gt; /Users/dbar/jekyll-blog/_posts/$postdate-$post_variable.textile&lt;/span&gt;
&lt;span class="s"&gt;---&lt;/span&gt;
&lt;span class="s"&gt;layout: post&lt;/span&gt;
&lt;span class="s"&gt;date: $jekylldate&lt;/span&gt;
&lt;span class="s"&gt;title: $post_variable&lt;/span&gt;
&lt;span class="s"&gt;clip:&lt;/span&gt;
&lt;span class="s"&gt;---&lt;/span&gt;
&lt;span class="s"&gt;EOF&lt;/span&gt;
mate /Users/dbar/jekyll-blog/_posts/&lt;span class="nv"&gt;$postdate&lt;/span&gt;-&lt;span class="nv"&gt;$post_variable&lt;/span&gt;.textile
&lt;span class="nb"&gt;exit &lt;/span&gt;0
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;h2&gt;Deploying my Jekyll Blog&lt;/h2&gt;
&lt;p&gt;Some people chose to keep their Jekyll files on a Git repository, and roll out updates to the deployment server via a git hook. There are &lt;a href="https://github.com/mojombo/jekyll/wiki/Deployment"&gt;several ways to deploy a Jekyll blog.&lt;/a&gt;. I chose to generate mine locally and then push the &lt;code&gt;/_site&lt;/code&gt; directory to my server via rsync (see .bashrc alias above).&lt;/p&gt;
&lt;h2&gt;Thoughts on Jekyll&lt;/h2&gt;
&lt;p&gt;Being the hacker I am, I feel that I have got along with Jekyll rather quickly and easily. Theoretically Jekyll could be really efficient on the bandwidth/cpu quotas, thus being more efficient on my hosting bill.&lt;/p&gt;
&lt;p&gt;I love that all my files are within a few clicks on my hard drive, and that I can always get a fully working preview of my site before I deploy. You can get this with most good &lt;span class="caps"&gt;CMS&lt;/span&gt; package, but none of them feel as good as using Jekyll.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DannyBartlett/~4/UDUpoAXElng" height="1" width="1"/&gt;</content>
 </entry>
 
 <entry>
   <title>Mac OS X - Internet Sharing and bootpd.plist</title>
   <link href="http://dannybartlett.co.uk/blog/internet-sharing-and-bootpd" />
   <updated>2010-04-01T00:00:00+01:00</updated>
   <id>http://dannybartlett.co.uk/blog/internet-sharing-and-bootpd</id>
   <content type="html">&lt;p&gt;Internet sharing on Mac OS X has proven to be nothing but problematic for me. I had tried time and time again to share my dorm connection from my Macbook Pro to my Xbox 360 and iPhone for online gaming and Spotify (which doesn’t seem to play nice on a 802.1x network). After exhausting all other solutions, I finally found one that worked.&lt;/p&gt;
&lt;p&gt;To cut an overly excessive post short, connecting to my Macbook from an external device did not work manually. Believing this to be an error on my part, I found a guide to connect to my Macbook using &lt;a href="http://www.macosxhints.com/article.php?story=20071223001432304"&gt;Internet Sharing via &lt;span class="caps"&gt;DHCP&lt;/span&gt;&lt;/a&gt;. This did not go well as my bootpd.plist did not exist, after exhausting all options I decided it was time to bite the bullet and reformat OS X to a factory state.&lt;/p&gt;
&lt;p&gt;After the reformat, and performing a full OS update I have finally been able to perform the subsequent stages of the walkthrough (linked above) and am now able to share my internet to any device. I recommend you make a clone of your hard drive prior to reformatting, as you can later use Migration Assistant to transfer back your applications and file system. If you do this however, it would probably be best not to migrate your system files, otherwise you could be back to square one.&lt;/p&gt;
&lt;p&gt;I have used Mac OS X since early 2007. Since then I have not performed one reformat. My system has migrated several OS version since then,  as well as applied many system updates. Until now everything has been tip top. I believe with proper maintenance, OS X should not need reformatting. I deem this case exceptional as I have read from several sources that Internet Sharing support has been dropped by Apple. As odd as this seems, this could explain how my reformat solved the problem.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Disclaimer: Follow my advice at your own risk. If you lose something after following this advice then it is your own fault. Always backup your system, especially prior to something drastic like a reformat.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DannyBartlett/~4/30Jgsz_J-Ac" height="1" width="1"/&gt;</content>
 </entry>
 
 <entry>
   <title>The Current State of Augmented Reality</title>
   <link href="http://dannybartlett.co.uk/blog/current-state-of-augmented-reality" />
   <updated>2009-11-17T00:00:00+00:00</updated>
   <id>http://dannybartlett.co.uk/blog/current-state-of-augmented-reality</id>
   <content type="html">&lt;p&gt;One thing that has been popping up a lot lately is the mention of “Augmented Reality”. The idea of it is that an information layer is superimposed onto a live video feed. Typically, this information layer will adjust as you interact with the surrounding environment.&lt;/p&gt;
&lt;p&gt;I was already aware of the concept of augmented reality, even if I wasn’t fully familiar with the term; but this promotional video for an Android App called &lt;a href="http://layar.eu/"&gt;Layar&lt;/a&gt; definitely brought it all home. You can see from the video the current state of the technology, and it can give you an idea of how it is likely to unravel at least in the near future.&lt;/p&gt;
&lt;p&gt;&lt;iframe title="YouTube video player" width="560" height="345" src="http://www.youtube.com/embed/b64_16K2e08" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Despite making its rounds in the news quite a lot lately, the technology isn’t as new and shiny as some people think. Marketing agencies have discovered the power of &lt;a href="http://www.google.com/search?q=augmented+reality+advertising"&gt;augmented reality advertisements&lt;/a&gt; lately, counting on peoples curiosity to bring them to the website. This is an odd way of advertising. Rather than filling the printed page with the branding of the product or with some eye-grabbing imagery, the audience is provided with a relatively meaningless group of shapes accompanied with a link to their website, which we later find out is a base for a 3D “projection”.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Location-based_service"&gt;Location Based Services&lt;/a&gt; are a brilliant use for the technology, as the Layar application has demonstrated. The problem with Layar at the moment is that the information it provides is limited. Layar relies on what is called “layers” for providing information. These layers are limited to what are created and submitted to the website by third-party developers. At present, there are only six available layers for the application as the &lt;span class="caps"&gt;API&lt;/span&gt; is still in it’s infancy. I can’t help but think that the initial adoption of the app will be largely due to the hype it is currently developing, but surely as the &lt;span class="caps"&gt;API&lt;/span&gt; and its services mature, also will the depth of information it can provide.&lt;/p&gt;
&lt;p&gt;I suppose that and ideal use of the technology would be to actively scrape the information from the net with use of semantic web services. This will provide the user with a wealth of information and not limit them to what is submitted to the commercial system. At this present time however, such use could prove troublesome for reliable information and only a colossal improvement in web standards would allow for such use. A more achievable problem that could be solved in the near future is that of mapping items at different altitude, rather than mapping items as if they are all at the same flat plane. This can be done by using the &lt;span class="caps"&gt;GPS&lt;/span&gt; &amp;amp; accelorometers of a mobile device, along with utilizing richer map terrain information to calculate angles.&lt;/p&gt;
&lt;p&gt;Despite recent developments, it is apparent to me that this technology is still in its infancy. There are two problems I see for the technology to see mainstream adoption of augmented reality browsers on the commercial market. Firstly, augmented reality currently feels gimmicky, it provokes a “Hey, this is new! How cool is that?” sort of response which eventually dies down. This is due to the fact that, at least in the commercial field, augmented reality hasn’t provided much of an impact on its intended target audience. AR Browsers are just now providing us with a good use for the technology, but lacking the provision of information that will be useful for the user to embrace them in their everyday lives. Secondly, the amount of mobile devices with hardware that can support the technology so far are limited. There is the iPhone, at current there are few manufacturers willing to compete against it (&lt;a href="http://www.htc.com/"&gt;&lt;span class="caps"&gt;HTC&lt;/span&gt;&lt;/a&gt; being the one company that seems stands up to Apple and actually give them a run for their money). With the arrival of the Android Platform however, the software aspect of developing a smartphone has become less of a burden. Ideally this means less development costs and lower prices, and bigger mainstream adoption of compatible devices. Augmented reality could ultimately be the key selling point of devices which have the necessary hardware.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DannyBartlett/~4/v65oklqH4pg" height="1" width="1"/&gt;</content>
 </entry>
 
 <entry>
   <title>Adding a Boxee Box to your TV Stand</title>
   <link href="http://dannybartlett.co.uk/blog/boxee-box" />
   <updated>2009-11-12T00:00:00+00:00</updated>
   <id>http://dannybartlett.co.uk/blog/boxee-box</id>
   <content type="html">&lt;p&gt;I’ve been collecting a lot of digital media &amp;#8211; mostly videos, of which I store on my external hard drive to enjoy later from my Macbook. I’d use my Macbook to Rip DVD’s or Download/Stream content, and whilst this is good it would be better if I made use of my 40” Samsung &lt;span class="caps"&gt;HDTV&lt;/span&gt; that I have sitting on my TV stand. I had two options: I could have bought a Mini-&lt;span class="caps"&gt;DVI&lt;/span&gt; cable to use my &lt;span class="caps"&gt;HDTV&lt;/span&gt; as an external monitor, or I could get a dedicated &lt;span class="caps"&gt;HTPC&lt;/span&gt; (Home Theatre PC) using &lt;a href="http://boxee.tv/"&gt;Boxee&lt;/a&gt; as a frontend. Naturally I chose the latter as it would be more fun. The &lt;a href="http://www.acer.co.uk/acer/seu30e.do?LanguageISOCtxParam=en&amp;amp;link=ln374e&amp;amp;CountryISOCtxParam=UK&amp;amp;acond125e=61300&amp;amp;kcond48e.c2att101=61300&amp;amp;sp=page17e&amp;amp;ctx1g.c2att92=242&amp;amp;ctx2.c2att1=17&amp;amp;ctx1.att21k=1&amp;amp;CRC=3593818478"&gt;Acer Aspire Revo&lt;/a&gt; appealed to me due to it’s form factor, plus its hardware accelerated graphics via the &lt;a href="http://www.nvidia.com/object/sff_ion.html"&gt;&lt;span class="caps"&gt;NVIDIA&lt;/span&gt; &lt;span class="caps"&gt;ION&lt;/span&gt;&lt;/a&gt; platform.&lt;/p&gt;
&lt;p&gt;The first thing I did after I set up the Aspire Revo was check out the stock Operating System. The Revo uses the &lt;a href="http://www.splashtop.com/"&gt;Splashtop&lt;/a&gt; flavour of Linux, which boots up to the main menu in a little over 10 seconds. Whilst this is pretty impressive the default OS is barely customizable beyond what is already provided (Firefox for web browsing and a VoIP client for Skype), so that means no Boxee on this installation. I had to install another OS.&lt;/p&gt;
&lt;p&gt;I chose to install &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu 9.04&lt;/a&gt; on this system due to the fact I was already familiar and fairly comfortable with this Linux distribution. As the Aspire Revo has no CD/&lt;span class="caps"&gt;DVD&lt;/span&gt; drive, I decided to install Ubuntu from a bootable &lt;span class="caps"&gt;USB&lt;/span&gt; pen drive. This can apparently be temperamental depending on the &lt;span class="caps"&gt;USB&lt;/span&gt; drive; apparently more so when attempting to &lt;a href="http://www.makeuseof.com/tag/how-to-create-an-ubuntu-installation-usb-on-the-mac/"&gt;create a bootable drive from Mac OS X&lt;/a&gt;, as I found out. There is a guide to &amp;#8220;create a &lt;span class="caps"&gt;USB&lt;/span&gt; bootable drive from Mac OS X, although this did not seem to work for me. The drive was not reading as bootable using this method, so instead I used the &lt;a href="http://www.pendrivelinux.com/usb-ubuntu-netbook-remix-install/"&gt;Win32DiskImager&lt;/a&gt;&amp;#8221; from a Windows Installation, which finally got me a bootable drive (Obviously replace Ubuntu &lt;span class="caps"&gt;NBR&lt;/span&gt; for a distro of your choice, the principle still stands.)&lt;/p&gt;
&lt;p&gt;After installing Ubuntu 9.04 on the Revo, I had to configure the drivers. Thankfully Liam Green Hughes’ guide for &lt;a href="http://www.greenhughes.com/content/how-install-ubuntu-and-boxee-acer-aspire-revo"&gt;setting up the graphics and sound drivers&lt;/a&gt; was exactly what I needed. My software was all set up and fully operational. I initially chose to use the &lt;a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305171838"&gt;Boxee Remote&lt;/a&gt; app on my iPhone to control the Boxee box, but after some use I found it to be a massive drain on the battery. I instead opted to use the Playstation 3’s bluetooth remote. I used &lt;a href="http://popey.com/blog/2009/08/06/acer-aspire-revo-ubuntu-boxee-and-remote-control/"&gt;popey’s guide to set up the PS3 remote with Ubuntu&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So after setting having the system now set up how I would like it, I would say I am quite impressed with what I have got. The Aspire Revo is a very capable system that can handle most formats I can throw at it easily. As far as high definition content goes, I have only tested with compressed &lt;span class="caps"&gt;MKV&lt;/span&gt; files; not of any lossless formats. I am not one to download or rip Blu-Ray images, but I’m sure it will handle those formats somewhat satisfactorily. At the moment, the biggest problem format-wise is with Adobe Flash. Some Flash videos can be quite laggy and choppy, especially with high-def content. Adobe are to release an update which will apparently solve this problem.&lt;/p&gt;
&lt;p&gt;As with Boxee itself, despite it being just an alpha it sports quite enough features to already for mainstream adoption. Its interface is great, clearly deviding content into Apps, Videos and Music. Boxee will attempt to automatically recognize content to add to its library, though the recognition system at this stage is quite primitive &amp;#8211; only reading from the file name and not the contents meta tags. I also had problem trying to get Boxee to recognise content from my &lt;span class="caps"&gt;USB&lt;/span&gt; hard drive at all. However, this is a known problem that should be fixed by the beta. For an alpha release this product is quite clean, and not riddled with as much bugs as you will expect; only a few little annoyances here and there that are sure to be ironed out with upcoming updates. Boxee is looking very promising and I am definitely looking forward to following its development, especially in the terms of the social-networking aspect of the product. Hopefully content providers will see the potential power of this new product and jump aboard sooner rather than later. Official support from services like &lt;a href="http://www.bbc.co.uk/iplayer/"&gt;&lt;span class="caps"&gt;BBC&lt;/span&gt; iPlayer&lt;/a&gt; or &lt;a href="http://www.channel4.com/programmes/4od"&gt;4oD&lt;/a&gt; would be brilliant.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DannyBartlett/~4/TZkswu-RQVU" height="1" width="1"/&gt;</content>
 </entry>
 
 
</feed>

