<?xml version="1.0"?>
<rss version="2.0"><channel><title>ArthurGuy.co.uk Blog</title><description>Updates from Arthur Guy</description><link>https://arthurguy.co.uk</link><language>en-GB</language><item><title>Treasury shares</title><description>&lt;p&gt;As part of my work with &lt;a href="https://vestd.com"&gt;Vestd&lt;/a&gt; I end up learning about a variety of business topics, a recent one I have had to improve my knowledge of is treasury shares. So below, mainly for my future benefit, is a summary of them.&lt;/p&gt;

&lt;p&gt;Put simply treasury shares are a pool of shares already in existence and held by the company that are available to use for a variety of purposes.&lt;/p&gt;

&lt;p&gt;Treasury shares used to only be available to listed companies but a recent rule change made them available to all private companies.&lt;/p&gt;

&lt;p&gt;Shares already in existence can be bought by the company and held as treasury shares. An SH03 will need to be filed with Companies House to record the buyback.
Shares that are bought back can be retained in the original share class, for example Ordinary shares.&lt;/p&gt;

&lt;p&gt;Treasury shares have no voting rights, no rights to any dividends or cash distributions, however a company can benefit from the distribution of bonus shares.&lt;/p&gt;

&lt;p&gt;Treasury shares can be used for a variety of things, these will be governed by the companies articles or SHA's. For example, treasury shares can be used for employee option schemes or to facilitate new cash investment.&lt;/p&gt;

&lt;p&gt;Stamp duty is potentially liable on purchased shares, there are limits which determine if the purchase is exempt from duty.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2019/4/treasury-shares</link><guid>https://arthurguy.co.uk/blog/2019/4/treasury-shares</guid><pubDate>Sun, 14 Apr 2019 18:01:29 +0000</pubDate></item><item><title>Time 2 Leave</title><description>&lt;p&gt;A year and a bit ago I moved into a new home in South London with my fianc&#xC3;&#xA9;; the place was served by a train station offering 3 different routes into London. Each route in took roughly the same amount of time so the train we got really depended on which one was next.
The idea then came about to build a train departure board listing the 3 journeys on one screen available at the door for whenever we were leaving the house.&lt;/p&gt;

&lt;p&gt;&lt;img src="/file/1613/600/350"&gt;&lt;/p&gt;

&lt;p&gt;I was able to put together this prototype quite quickly using the National Rail Enquiries data feed which is publically available. This was displayed on a simple dashboard screen that ran on an old raspberry pi &amp;amp; touch screen which then ran chromium in kiosk mode. Whenever we left the house all we had to to was touch the screen to wake it up and we could see what route we needed to take.&lt;/p&gt;

&lt;p&gt;This simple system worked brilliantly but during that time we had a few friends ask for their own departure boards so we started talking about turning it into a thing other people could use. At first I would add in routes manually but eventually we spent a few evenings turning it into a self service tool called &lt;a href="https://time2leave.co.uk"&gt;Time 2 Leave&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So if you find yourself in the same situation as us or just hate the national rail enquiries app and its erratically loading adds give it a try!&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2019/4/time-2-leave</link><guid>https://arthurguy.co.uk/blog/2019/4/time-2-leave</guid><pubDate>Mon, 08 Apr 2019 16:34:54 +0000</pubDate></item><item><title>Solar power: Running a wireless sensor off grid</title><description>&lt;p&gt;Over the years I have build a variety of different things and played with various different technologies but one thing I haven't spent much time with is solar power.&lt;/p&gt;

&lt;p&gt;While clearing through some old things recently I found 3 &lt;a href="https://www.particle.io/cellular/"&gt;Particle Electrons&lt;/a&gt;, these are arduino like development environments but with celular connections. I have used Particles other wifi devices a few times but these Cellular devices had a few bugs which make it hard to get a mobile connection when plugged into a circuit or breadboard so I gave up on them shortly after they arrived.&lt;/p&gt;

&lt;p&gt;Finding these boards again I decided to make use of one and build a temperature sensor to go outside. A fairly pointless exercise but an interesting excuse to learn a few new things.
The boards have a built in battery charging circuit and come with a LiPo battery which can run the module for a day or so. They can also be powered directly by a solar panel! A few people on the particle forums had written about their experience so I setup a test circuit and left it in the sun.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1573/400/500"&gt;&lt;/p&gt;

&lt;p&gt;This worked well and allowed me to spend a few days optimising the code to reduce power consumption by sleeping for as long as possible, only waking up every 10 minutes to take readings and upload them.
I also worked on improving the reliability of the code as software updates can only be sent when its online and that happens in short but reliable windows so getting the timing right and the recovery behaviour working well took a bit of time.&lt;/p&gt;

&lt;p&gt;To turn it into a weather station I added a DHT22 temperature and humidity sensor and a light sensor to see how the light level matched up against the battery charging. I then boxed everything up in a plastic enclosure and 3d printed a stevenson screen for the temperature sensor.
&lt;img src="https://arthurguy.co.uk/file/1596/400/450"&gt;
&lt;img src="https://arthurguy.co.uk/file/1577/350/450"&gt;&lt;/p&gt;

&lt;p&gt;This was all held together by another 3d printed bracket that clipped over my balcony railing.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1590/500/400"&gt;&lt;/p&gt;

&lt;p&gt;On the whole this has gone really well and the 4W solar panel produces enough power to fully charge the 2000mAh battery in a morning. The only problem I have experienced is with the DHT22 sensor so I have since added a second temperature sensor, a waterproof DS18B20 sensor which will hopefully handle being outside a little better.&lt;/p&gt;

&lt;p&gt;This weather sensor isn't exactly in a remote location but it could quite easily be as all its relying on is the sun and a mobile phone mast.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2019/2/solar-power-running-a-wireless-sensor-off-grid</link><guid>https://arthurguy.co.uk/blog/2019/2/solar-power-running-a-wireless-sensor-off-grid</guid><pubDate>Thu, 14 Feb 2019 10:48:59 +0000</pubDate></item><item><title>Why I am building a new robot</title><description>&lt;p&gt;I have been playing around and building my rover &lt;a href="https://arthurguy.co.uk/blog/2016/10/ardurover-kevins-control-system"&gt;Kevin&lt;/a&gt; for several years now. This has been a really fun on and off project as its big enough to sit on and drive around and that's partly the problem, it's a little to big. So I have decided to build a new robotic platform, something that's about half the size and something that I can move around and use in the home.&lt;/p&gt;

&lt;h3&gt;Suspension&lt;/h3&gt;

&lt;p&gt;Not having a starting point like I did with the wheelchair motors and wheels means I need to spend time working out a suspension system and how and where the wheels need to mount, a lot of non trivial problems!
My starting point was the 6 wheel configuration of the Nasa Mars rovers, they employe a really clever suspension system known as "rocker-bogie", this allows all 6 wheels to maintain contact with the surface at all times and keep the central chassis at an average position. The 4 corner wheels also pivot allowing for the rover to turn on the spot without dragging the wheels, a problem I suffered with Kevin.&lt;/p&gt;

&lt;p&gt;&lt;img src="/file/1552/400/400"&gt;&lt;/p&gt;

&lt;p&gt;I spent a while thinking about the various joints and how I could implement them and eventually stumbled upon the design of the ESA Mars rover, this uses a a system called "3 bogie" and is a simplified but just as effective mechanism. It uses 3 pivots, one on either side and then the 3rd at the back. You can see this is the design below.&lt;/p&gt;

&lt;p&gt;&lt;img src="/file/1556/600/400"&gt;&lt;/p&gt;

&lt;h3&gt;Motors&lt;/h3&gt;

&lt;p&gt;In addition to the suspension I need to choose some motors. I was hoping to use brushless motors for a couple of reasons, they are efficient and compact and more importantly they aren't something I have ever used for rover wheels so I was looking forward to using some new technology. Unfortunately after looking into them and finding a potentially suitable motor I had to abandon that idea because of cost, each motor/driver pair was going to cost me at least &#xC2;&#xA3;50, more than I was willing to spend, especially when I need 6.&lt;/p&gt;

&lt;p&gt;With a brushless motor not an option I looked at stepper motors and the classic geared dc motor. Stepper motors are fairly powerful reasonably cheap given their widespread use with 3d printers and quite easy to control. I did some testing with a variety of stepper motors I had and ended up deciding not to use them, they have quite a bit of torque but not as much as I wanted, they weren't as smooth as I would have liked and because they are always energised they consume quite a bit of power.&lt;/p&gt;

&lt;p&gt;This left a geared DC motor, boring but well understood, reliable and easy to drive. The motors I have been looking at have a small gearbox attached inline with the motor making for a compact unit that can have a wheel attached straight to the output shaft.&lt;/p&gt;

&lt;p&gt;&lt;img src="/file/1559/600/400"&gt;&lt;/p&gt;

&lt;h3&gt;Software&lt;/h3&gt;

&lt;p&gt;For the previous rover I used Ardupilot which is a great piece of software for autonomously navigating something around a predefined path, sadly this time that's not what I wanted to do so I am taking a look at ROS the Robot Operating System. This is a piece of fairly in depth software that can run across a variety of computers all collecting and processing data. It's quite a jump for me so I have a lot to learn but so far it seems really interesting.&lt;/p&gt;

&lt;p&gt;I have a long way to go with the project and I have a lot of cool problems to solve so I hope to post updates on the more interesting bits.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2018/6/why-i-am-building-a-new-robot</link><guid>https://arthurguy.co.uk/blog/2018/6/why-i-am-building-a-new-robot</guid><pubDate>Mon, 11 Jun 2018 09:26:06 +0000</pubDate></item><item><title>An internet connected home with no internet</title><description>&lt;p&gt;The other day my ISP (Plusnet) suffered a nationwide outage that took my internet connection down for about an hour, after realising there was nothing I could do to fix it I sat down with a book which was rather novel!&lt;/p&gt;

&lt;p&gt;A side affect of this internet failure was me no longer being able to control my lighting.
I know this sounds a bit ridiculous and it kind of is but its a situation I know could happen and one I am OK with. The road to a connected home is a long one and we have only just started down it, so this will improve as time goes on but for the benefits it provides me with I am happy to endure these occasional issues.&lt;/p&gt;

&lt;p&gt;I use the SmartThings system for my home automation, its a little hub that lights, &lt;a href="https://www.youtube.com/watch?v=zJAjfH7Ycfc"&gt;switches&lt;/a&gt; and &lt;a href="https://www.hackster.io/ArthurGuy/door-closer-456ec4"&gt;door closers&lt;/a&gt; connect to and it then connects to the internet. The idea being when you press a physical button the command goes to the hub, it gets relayed to their servers which looks up what needs to be done, this then comes back to the hub to control the relevant light or door.&lt;/p&gt;

&lt;p&gt;There is an obvious problem here and thats the internet, but its a problem thats getting smaller and smaller all the time. Firstly internet connections are getting more reliable so this will get better and as mobile broadband gets cheaper the option of a router with dual WAN (ADSL &amp;amp; 4G) will become more popular so that if one connection goes down there is a backup. The latency of the roundtrip is also being improved with people like Amazon putting its lambda service on their &lt;a href="https://aws.amazon.com/lambda/edge/"&gt;edge connections&lt;/a&gt;, all this means that the internet part isn't so much of an issue.&lt;/p&gt;

&lt;p&gt;This problem is also being solved in another way, SmartThings are working on &lt;a href="https://support.smartthings.com/hc/en-us/articles/209979766-Local-processing"&gt;moving the decision making&lt;/a&gt; into the home rather than in the cloud, this means the hub that sits in the corner of my living room can decide what happens when I press the light switch.&lt;/p&gt;

&lt;p&gt;So yes, it is ridiculous that when the internet is down I can't tun on my lights but its something I know about and accept as the downside to the convenience I get 99.9% of the time.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2018/5/an-internet-connected-home-with-no-internet</link><guid>https://arthurguy.co.uk/blog/2018/5/an-internet-connected-home-with-no-internet</guid><pubDate>Thu, 17 May 2018 08:33:09 +0000</pubDate></item><item><title>Facebook data "breach"</title><description>&lt;p&gt;Facebook has been in the &lt;a href="https://www.theguardian.com/technology/2018/mar/27/mark-zuckerberg-testify-congress-cambridge-analytica-data-scandal"&gt;news&lt;/a&gt; a lot recently along with Cambridge Analytica for a rather interesting story about voter manipulation and targeted advertising.&lt;/p&gt;

&lt;h3&gt;Accessing your own data&lt;/h3&gt;

&lt;p&gt;It's an interesting story and on the face of it it seems quite bad and for their public relations it is but, when you look at what they did wrong, it's hard to identify anything tangible.&lt;/p&gt;

&lt;p&gt;I have used the Facebook API quite a lot in the past and with one project I made use of &lt;em&gt;friendships&lt;/em&gt; to delve down into user connections to cross-reference records and build a basic picture of a users friendship network in a rather basic attempt to make a website more appealing.
It's been a few years since I have used it in that much detail and I get the impression things have tightened up a bit since then but it was always designed to replicate the normal Facebook site. If you could see something by browsing the site you could see it through the API, with suitable permissions of course.&lt;/p&gt;

&lt;p&gt;When a user authorises a connection, the apps makers can pull down the users name and email address and, if allowed, a list of the users friends. With another permission, this can be expanded out to include things they have liked or followed which can go a long way to define a person's interests, beliefs and political persuasions. You can then combine this with information the user and their friends have decided to share publicly which helps to build up a picture of these people.&lt;/p&gt;

&lt;p&gt;From one user connecting your app to their Facebook account you could get a very complete picture of well over 100 people.&lt;/p&gt;

&lt;p&gt;If you spend your time in the code and look at each of these things separately there is nothing wrong with it; it's the users data that they have granted permission for it to be used by a 3rd party or decided to share publicly.
When you sign up as a developer you have to agree to terms of use which include things about not saving or using data inappropriately but there is absolutely nothing that can stop a developer if they have ulterior motives.&lt;/p&gt;

&lt;p&gt;At this point Facebook have done all they can, they have asked the user if they want the 3rd party to access the data and they have told the developers what they can do with it.&lt;/p&gt;

&lt;p&gt;It's only when you take a step back do you see how this data can be augmented and used way beyond its intended purposes. As a developer it's quite hard take a broader look like this as when you're working with these APIs and lists of permissions everything is clean and simple and very black and white.&lt;/p&gt;

&lt;h3&gt;Capturing to much&lt;/h3&gt;

&lt;p&gt;The other thing to &lt;a href="https://www.theguardian.com/technology/2018/mar/29/facebook-logged-sms-text-phone-calls-users-complain"&gt;emerge recently&lt;/a&gt; is the capturing of phone call logs and sms messaging by the Facebook mobile apps installed on peoples phones. Again, this is easy to understand but a lot harder to explain away or justify.&lt;/p&gt;

&lt;p&gt;Going back a few years the mantra (for better or worse) in large parts of the tech community was to capture as much data as possible incase it could be useful later. Storage was super cheap and data was valuable, you would be daft not to!
This is made worse by the lack of granularity with permissions on mobile phones, for example if your building a video playing app you will probably need full access to the phone system in order to pause playback if a phone call comes in. The app doesn't do anything with phone calls but by gaining access for innocent reasons you immediately get access to call logs, then all it takes is a developer or project manager to say why not capture that phone data, it could be useful for... (insert some obscure reason here).&lt;/p&gt;

&lt;p&gt;This type of behaviour has thankfully started to decline as people get a better grasp on the type of data and the increasing awareness of users legitimate privacy concerns, also within Europe the GDPR rules coming into force pushes people to capture as little as possible so if you wanted to capture lots of data like this you now need a very good reason.&lt;/p&gt;

&lt;p&gt;In the end I don't think its fair the level of grief Facebook is getting for the Cambridge Analytica story but they are a very big company and have been for some time so have the skills to foresee these types of problems and inappropriate uses of the data and to come up with solutions, even if that means taking a step back and raising some walls around their garden.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2018/3/facebook-data-breach</link><guid>https://arthurguy.co.uk/blog/2018/3/facebook-data-breach</guid><pubDate>Thu, 29 Mar 2018 17:21:13 +0000</pubDate></item><item><title>Metro bank, a thin veneer of modern over another old bank</title><description>&lt;p&gt;I remember reading about Metro bank a few years ago when they started opening branches and I was genuinely quite excited, finally something new to start shaking up a very boring industry.&lt;/p&gt;

&lt;p&gt;I was working with Crunch at the time and they had a deal with Metro bank for their customers, you ended up with a business bank account that has an automated statement import into their accounting system.
Wanting to move away from the truly awful Santander I jumped at the chance, although being privy to the behind the scenes import process I should have realised at this point that it wasn't going to be that much better.&lt;/p&gt;

&lt;p&gt;I ended up opening a personal current account as well which meant a visit to the branch and exposure to some of the other things that helped them make a name for themselves, long opening hours, the printing of your bank card while you wait and some very nice branches.
The first thing they do (did?) when opening an account is give you a tour of the branch and some history about the company so you end up leaving with a very positive impression.&lt;/p&gt;

&lt;p&gt;Despite all the nice bits it didn't take long to see the cracks. Their first attempt at a mobile app was rather terrible and de-registered you from the system if you forgot your password a few times, I quickly uninstalled this and learnt to cope with using their online banking experience (not mobile friendly) on a mobile browser.&lt;/p&gt;

&lt;p&gt;Shortly after that their web developers made a breaking change to the online app which meant I had to open up the inspector panel if I wanted to login, this went on for months and rather than fixing it they even added a message saying please use another browser!&lt;/p&gt;

&lt;p&gt;There were rough edges but on the odd occasion I needed to visit a branch I was reminded why they were quite good, although the heavy focus on dogs is a bit off putting, enough so that my fiance refused point blank to use them.&lt;/p&gt;

&lt;p&gt;At one point I read that they had purchased the technology stack from another company which starts to explain what's going on, the bits they can do themselves, the branch experience is good but everything else is just the same as any other old bank or possibly a bit worse as they don't have the ability to improve things.&lt;/p&gt;

&lt;p&gt;What has pushed me over the line is little a change to the login process for online banking, the password field has now been split into number dropdowns breaking the password manager I use and making an already horrible experience even worse.&lt;/p&gt;

&lt;p&gt;If you're a fan of going into the branch its probably still a good choice but for everyone else it's not worth bothering with.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2017/8/metro-bank-a-thin-veneer-of-modern-over-another-old-bank</link><guid>https://arthurguy.co.uk/blog/2017/8/metro-bank-a-thin-veneer-of-modern-over-another-old-bank</guid><pubDate>Tue, 22 Aug 2017 09:07:37 +0000</pubDate></item><item><title>The power of a good API</title><description>&lt;p&gt;As I have found out this week the alur of a good API can make up for a multitude of sins.&lt;/p&gt;

&lt;p&gt;At work I have been looking at methods for posting documents programmatically, that is sending a PDF to an API and having someone else print and post it.
Internally the service &lt;a href="http://www.cfhdocmail.com/"&gt;Docmail&lt;/a&gt; is being used and the plan was to hook into their API to continue using the service, sadly the road was blocked by their SOAP API and out of date and incompatible libraries. Not wanting to mess around with that I started looking for alternatives and found &lt;a href="https://www.clicksend.com/gb/post/"&gt;ClickSend&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;ClickSend are a company that offers a lot of messaging services including a postal service for sending of letters and unlike Docmail their service doesn't look like it was put together last century. They have a lovely json API and a modern library that was really quick to integrate with. Unfortunately thats where the loveliness ended.&lt;/p&gt;

&lt;p&gt;I was initially caught out by a 400 error masquerading as a 500 error but that was fairly minor in the grand scheme of things.
Its important to us to have the documents printed and posted in a good format especially with where and how the delivery address gets printed so I ran through a few documents to test the process, this is where the pricing errors started cropping up.&lt;/p&gt;

&lt;p&gt;Over the course of a few days I was hit by the price being displayed incorrectly in the UI, the price being calculated incorrectly for non duplexed documents, the actual price not matching the advertised price due to rounding issues and most annoyingly a price match promise that's as useful as this rant! Somehow they seemed to pack in every pricing related bug you could think of.&lt;/p&gt;

&lt;p&gt;Normally after hitting any one of these issues I would mark them up as incompetent as move on but each time I looked at the SOAPy alternative and gave them another chance, even when calculating the cost of sending a letter (with their reduced pricing) would cost more than double what Docmail charge I was still OK with it.&lt;/p&gt;

&lt;p&gt;I don't know if it's a very good moral but if you are in a niche area and are easy to integrate with I will apparently put up with a lot of shit, or I have to be really desperate before I start building a SOAP library!&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2017/6/the-power-of-a-good-api</link><guid>https://arthurguy.co.uk/blog/2017/6/the-power-of-a-good-api</guid><pubDate>Wed, 28 Jun 2017 11:58:50 +0000</pubDate></item><item><title>Alexa vs Google Home</title><description>&lt;p&gt;After living with Alexa and a Google Home device for a while my conclusion is that Google Home is a chore to communicate with while Alexa is a joy.&lt;/p&gt;

&lt;p&gt;Talking to Alexa feels natural, it feels more like a conversation and I find myself willing to ask quick questions.
Google Home on the other hand is very clunky and that is all down to the wake word, "OK Google" or their slightly less awkward option "Hay Google". Neither of these are conversational and I find the length of them makes me question whether I want to even bother asking.&lt;/p&gt;

&lt;p&gt;I want to like Google Home more, it integrates with Google Music and can control Chromecast devices of which I have several so the connected home aspect is far more enticing with Google. The other key thing Google has over Amazon is the ability to ask general knowledge questions, Alexa is very limited in this aspect but Google will use its search capabilities to answer a much wider variety of queries.&lt;/p&gt;

&lt;p&gt;Google have said in the past that they will not give their device a human name as it doesn't properly capture the power of Google and what's sitting behind that artificial voice. I hope they change their mind as I can't see a future where everything starts with the words OK Google, not even the Enterprise had it that bad!&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2017/5/alexa-vs-google-home</link><guid>https://arthurguy.co.uk/blog/2017/5/alexa-vs-google-home</guid><pubDate>Fri, 26 May 2017 07:46:34 +0000</pubDate></item><item><title>Ball Bearing Machines</title><description>&lt;p&gt;I have a thing for interesting machines, especially the type where there is a lot going on and you can get lost following things through and working out how everything functions.&lt;/p&gt;

&lt;h4&gt;Cool machines&lt;/h4&gt;

&lt;p&gt;One machine that recently caught my attention was the &lt;a href="https://www.youtube.com/watch?v=IvUU8joBb1Q"&gt;Marble Machine&lt;/a&gt;, a musical instrument by Wintergatan powered by ball bearings.
This is a beautiful machine that I have spent quite some time watching, the way everything works together is really amazing and the music it produces is equally as good.&lt;/p&gt;

&lt;p&gt;The marble machine was fascinating and I wanted to have a play myself so I ordered a load of ball bearings and some plastic pipe for the balls to run through but like a lot of things I start I quickly lost interest!&lt;/p&gt;

&lt;p&gt;A few weeks back I went to Tim Hunkin's &lt;a href="http://www.novelty-automation.com/"&gt;Novelty Automation&lt;/a&gt; shop in London and one of the things there was a machine that "pumped" ball bearings from the counter, up to and across the ceiling and then back into an arcade machine.
Thankfully the mechanism was visible and watching it work got me thinking about moving ball bearing again, a quick search then led me to this &lt;a href="https://www.youtube.com/watch?v=CgjUm-lgVaM"&gt;really good demonstration&lt;/a&gt; of how the mechanism works.
Its a really simple system and what was clear from the one at Novelty Automation it has the power to move ball bearings up to quite a height.&lt;/p&gt;

&lt;h4&gt;Back to the present day&lt;/h4&gt;

&lt;p&gt;I decided to have a go making something myself, I had been using the 3D printer a lot recently for my &lt;a href="https://www.youtube.com/watch?v=RHPAJ3kjc3Q"&gt;LIDAR scanner&lt;/a&gt; so I knocked up a design and after a few small revisions I had a "pump" for ball bearings.&lt;/p&gt;

&lt;p&gt;I got rather lucky with this project as everything worked first time, each revision ended up being to add more onto it.
I didn't have an end goal in mind so after reading a comment on Twitter I made a few changes so the balls move back to the start and the whole thing runs in a loop. This way even if I don't take this any further it still does something cool!&lt;/p&gt;

&lt;!--This is another cool machine I found at an art show many years ago although that one used much larger balls.
[video](https://goo.gl/photos/RG1PxaVfCeUUWxWj8)--&gt;
</description><link>https://arthurguy.co.uk/blog/2017/4/ball-bearing-machines</link><guid>https://arthurguy.co.uk/blog/2017/4/ball-bearing-machines</guid><pubDate>Fri, 07 Apr 2017 17:43:30 +0000</pubDate></item><item><title>100% Secure!</title><description>&lt;p&gt;I signed up with a new bank recently called &lt;a href="https://www.tide.co/"&gt;Tide&lt;/a&gt;, its one of the new challenger banks but unlike the &lt;a href="https://monzo.com/"&gt;Monzo&lt;/a&gt; its focused at small businesses and offers business current accounts.&lt;/p&gt;

&lt;p&gt;The app and onboarding experience is slick and efficient, in fact I signed up and supplied an ID document on the walk home from the station. As with the other new banks Tide gives the impression that its been built by a modern company that knows what they are doing and knows how to build a service that is both secure and what the consumers actually want. That is until they say something silly like 100% secure.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1437/600/250/fill" alt="100% Secure &amp;amp; fully FCA Regulated" /&gt;&lt;/p&gt;

&lt;p&gt;When you start working with computers and the web and look at the regular data breaches and different ways these occur you quickly realise that the only thing you can be 100% sure about is that you &lt;em&gt;will&lt;/em&gt; suffer some kind of hack or data breach/loss.&lt;/p&gt;

&lt;p&gt;Most companies realise this and avoid making this type of claim so its the ones that do you need to be worried about. In a lot of cases i'd expect its someone who isn't technically savvy coming up with text that sounds reassuring but when you're talking about a regulated industry like banking every element of the user interface should have been check for various compliance reasons.&lt;br&gt;
In the picture they also say they are FCA regulated, the way this is worded suggests they are using it as an endorsement which is skirting the rules if not a violation of them.&lt;/p&gt;

&lt;p&gt;I ended up contacting Tide to find out what the situation was and in this instance the message specifically related to money rather than your data. Because of the way they hold users money it cannot get lost and is "100% secure".
It would have been nice if the statement was a little clearer but it's reassuring they &lt;a href="https://www.tide.co/safety-security/"&gt;don't try&lt;/a&gt; and claim the offering in general is 100% secure!&lt;/p&gt;

&lt;p&gt;Tide itself seems like an interesting offering and one that I am still going to experiment with, the 500 error I recently received when trying to login wasn't great but the ease and simplicity of the rest of the system certainly gives them some wiggle room when other issues do crop up.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2017/3/100-percent-secure</link><guid>https://arthurguy.co.uk/blog/2017/3/100-percent-secure</guid><pubDate>Tue, 07 Mar 2017 09:21:05 +0000</pubDate></item><item><title>2m LED Display - Boxing Up</title><description>&lt;p&gt;It's been a few months since I have worked on the &lt;a href="https://arthurguy.co.uk/blog/2016/12/2m-tall-led-display-falling-rain"&gt;LED display/tower/thing&lt;/a&gt; so I have decided to try and get the physical construction finished.&lt;/p&gt;

&lt;p&gt;I had left the rear of the enclosure open with the electronics taped on the back, so last week I took the light over to the workshop and started to build up the rear frame. The depth of the box was increased by attaching another series of battens around the edges, this was just enough to contain a large 8A 5V power supply.&lt;/p&gt;

&lt;p&gt;I also solved the attachment of the acrylic front by putting a few screw holes in to the sides; it's not a very clever fixing method but its simple and should work well. I had hoped to do something fancy with magnets but sadly I don't think this was going to be possible.&lt;/p&gt;

&lt;p&gt;To finish off the rear of the enclosure a thin plywood cover was screwed on and the whole thing painted with white gloss paint to try and match the white acrylic around the front.
Given the very piecemeal process the construction went through; its far from perfect but should look ok, at least from a distance!&lt;/p&gt;

&lt;p&gt;Next week it will be brought back home so I can finish off the software to control the display.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2017/1/2m-led-display-boxing-up</link><guid>https://arthurguy.co.uk/blog/2017/1/2m-led-display-boxing-up</guid><pubDate>Sun, 29 Jan 2017 18:00:13 +0000</pubDate></item><item><title>Blenheim Palace Christmas Lights</title><description>&lt;p&gt;Last year I built a lighting system for one of the exhibits for the &lt;a href="https://arthurguy.co.uk/portfolio/singing-hollybushes-kew-gardens-christmas-lighting"&gt;Christmas at Kew Gardens&lt;/a&gt; event, this worked really well but it was also designed as a more generic controller for generating a lighting effect based on music.&lt;/p&gt;

&lt;p&gt;That lighting control system was then used to great effect for the &lt;a href="http://www.blenheimpalace.com/blog/news/christmas-at-blenheim.html"&gt;Christmas lighting at Blenheim Palace&lt;/a&gt;. Unlike the holly bushes where the lights were wrapped around the outside these lights were wrapped around the trunk of the tree, this produced an amazing effect as the trees seemed to glow and ripple from the inside.&lt;/p&gt;

&lt;p&gt;Each controller has a specific colour and the incoming audio signal triggers a wave that ripples along the tree, the volume of the audio signal then controls the colour intensity of the ripple. This can be seen in the video where the coloured light pushes into white depending on the volume of the music.&lt;/p&gt;

&lt;p&gt;The install which was setup by &lt;a href="http://www.ithacaaudio.com/"&gt;Ithaca&lt;/a&gt; consisted of two trees playing the same audio tracks as last year but remixed for two trees, the end result was a fantastic experience that greeted visitors as they walked up the hill.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2017/1/blenheim-palace-christmas-lights</link><guid>https://arthurguy.co.uk/blog/2017/1/blenheim-palace-christmas-lights</guid><pubDate>Sun, 22 Jan 2017 00:04:23 +0000</pubDate></item><item><title>Tube Trotter</title><description>&lt;h2&gt;Record your London Underground station visits, because why not?&lt;/h2&gt;

&lt;p&gt;I spend quite a bit of my time living and working in London and traveling on the underground and for whatever reason I have ended up quite liking the tube network especially the different underground stations and history behind them, it might have something to do with being obsessed with the DLR (another part of the TfL network) as a child.&lt;/p&gt;

&lt;p&gt;For better or worse this liking has rubbed off on my girlfriend Rosa and last year we came up with the idea of an app called Tube Trotter to record which stations you have visited.
It's quite possible she is just humoring me but I am rather happy pretending she likes them as well.&lt;/p&gt;

&lt;h4&gt;Getting started&lt;/h4&gt;

&lt;p&gt;The app is incredibly simple, at its heart it's a todo list that allows you to check off each station.
The first version of Tube Trotter was built in AngularJS, it was almost fully functional but I ended up getting stuck when I tried to programmatically generate tube maps for each of the lines.&lt;/p&gt;

&lt;h4&gt;Finishing it&lt;/h4&gt;

&lt;p&gt;Fast forward to the present day and over the Christmas break I decided to revisit the project. I have started to dislike angular especially the old v1 it was built in so I decided to use the project as an excuse to use Vue.js again. I have worked with Vue for my home automation project but it has been a while, thankfully it's a really easy framework to get going with.
The backend is Laravel so it was nice to use Laravel and the bundled Vue front end in as close to an out the box way as you can get.&lt;/p&gt;

&lt;h4&gt;Offline&lt;/h4&gt;

&lt;p&gt;I ended up with a functional version finished within a day but it's taken a few weeks to refine and finish the project, especially the offline support. Offline is something I have experimented with before but I have always finished with the conclusion that service workers were nowhere near ready to use, thankfully I found where I had been going wrong and have ended up with a very usable system.&lt;/p&gt;

&lt;p&gt;The web app is designed to be used without logging in, with your station data being kept in local storage, if you do choose to login this then gets synced to the server. Taking this approach makes managing offline a lot easier as the app works without a server connection meaning all you need to do is cache the assets to make it work offline.&lt;/p&gt;

&lt;p&gt;Dealing with the online/offline/crap connection that comes with using the london underground WiFi has been tricky but because it doesn't need an active connection the biggest problem is knowing when to sync to the server and which data to overwrite, the servers or the clients.&lt;/p&gt;

&lt;p&gt;There are a handful of things left to look at with this project (station info, maps, gamification, etc...) but the current version fulfills the initial aims of the project, being able to simply and easily record which underground stations you have visited.&lt;/p&gt;

&lt;p&gt;Check it out at &lt;a href="https://tubetrotter.com"&gt;https://tubetrotter.com&lt;/a&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2017/1/tube-trotter-record-your-london-underground-station-visits</link><guid>https://arthurguy.co.uk/blog/2017/1/tube-trotter-record-your-london-underground-station-visits</guid><pubDate>Tue, 10 Jan 2017 16:48:06 +0000</pubDate></item><item><title>2m Tall LED Display - Falling Rain</title><description>&lt;p&gt;A few months ago while working on the &lt;a href="https://arthurguy.co.uk/portfolio/traveling-lights"&gt;Traveling Lights&lt;/a&gt; project I had a strip of leds laid out and had programmed a single dot of light to run along it, this effect while simple looked really cool so I decided to expand on it.&lt;/p&gt;

&lt;h3&gt;Prototyping&lt;/h3&gt;

&lt;p&gt;I ordered a couple of reels of WS2812 RGB leds and ended up with 6 strands of leds 1.5m long all hanging down from a cupboard, I spent a few evenings playing with the code and started to come up with a cool looking pattern. Using blue colours it kind of looked like a falling rain effect.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1376/400/400/fill" alt="First tests" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1382/400/400/fill" alt="First tests" /&gt;&lt;/p&gt;

&lt;p&gt;The idea progressed in small jumps over the next few months whenever I had a bit of time, the lights got mounted to a backing board, they then increased in length to just over 2 meters and finally an extra two strips were added bringing the total to 8 strips. There are now exactly 1000 leds which is rather pleasing considering I didn't think about the size before starting.&lt;/p&gt;

&lt;h3&gt;Construction&lt;/h3&gt;

&lt;p&gt;The lights run from a Teensy 3.2 and all connect to the &lt;a href="https://www.pjrc.com/teensy/td_libs_OctoWS2811.html"&gt;PJRC OctoWS2811 adapter board&lt;/a&gt;, this board has built in level shifters meaning the 5v strips play nicely with the 3.3v microcontroller. You can easily do without this but I had bought one a few years earlier and never used it so I thought why not.&lt;/p&gt;

&lt;p&gt;Each of the 8 strips connects directly to the Teensy via the adapter board, you can do this type of thing by connecting each strip end to end but the OctoWS2811 library is optimised for the multiple outputs.&lt;/p&gt;

&lt;p&gt;To deal with the large current draw each strip is chained together for power at the top and the bottom and I feed power in from the 4 corners. Without this I was seeing a large drop in voltage from side to side and top to bottom.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1398/400/400/fill" alt="First tests" /&gt;&lt;/p&gt;

&lt;p&gt;The other thing that took a while to solve was the frame, I decided early on that I wanted to have frosted acrylic on the front to diffuse the light a bit but working out how everything went together took some trial and error.&lt;/p&gt;

&lt;p&gt;In the end I came up with an acrylic box which slid over the wooden backing which held the lights, this turned out to be a really simple solution but one that looked good and was really easy to put together.&lt;/p&gt;

&lt;p&gt;The frame is made from 3 key pieces, the front panels, narrow spacers to keep the lights off the front panel and the white edges. These pieces were all solvent welded together and all the joins were offset making for a rigid structure.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1373/500/400/fill" alt="Glueing the frame" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1389/400/400/fill" alt="Glueing the frame" /&gt;&lt;/p&gt;

&lt;p&gt;I have spent a bit of time playing around with the code but this is probably where most of the time to come will go, it would be nice to add an interactive element to it but I am not sure how that will work yet.&lt;/p&gt;

&lt;p&gt;The code is now available on &lt;a href="https://github.com/ArthurGuy/2m-RGB-Display-Arduino"&gt;GitHub&lt;/a&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2016/12/2m-tall-led-display-falling-rain</link><guid>https://arthurguy.co.uk/blog/2016/12/2m-tall-led-display-falling-rain</guid><pubDate>Sat, 03 Dec 2016 12:56:51 +0000</pubDate></item><item><title>Ardurover  - Kevins control system</title><description>&lt;p&gt;As part of my continued work updating and fixing my robotic platform Kevin I have been looking at the control system.&lt;/p&gt;

&lt;h3&gt;The Old&lt;/h3&gt;

&lt;p&gt;Several years ago when I was building a quadcopter I came across the flight control system Arducopter, this was opensource software for running quadcopters and helicopters and its sister project Arduplane for controlling RC planes. Alongside these two main applications they had a system called Ardurover which was for controlling a ground vehicle.
Ardurover was very simmiler in the sense that it had the same guidance system and ability to send something off on a predefined mission but its output was a pair of drive motors rather than one or more propellers.&lt;/p&gt;

&lt;h3&gt;The New&lt;/h3&gt;

&lt;p&gt;At some point during my quadcopter build process I changed the hardware to a newer version leaving me with a spare controller, this is what ended up in the robotic platform and did a great job running it. This older system was known as the APM 2.5 and was based around an Arduino Mega, it was a powerful system but sadly not powerful enough.
When I picked up this project recently I found that the software had moved on so much that the older hardware I was using was capped at version 2.5 of the ardurover software, this meant I needed to upgrade to keep with the latest software. Rather than buy something new I took at the slightly newer PX4 hardware from the quadcopter and integrated this into the rover.&lt;/p&gt;

&lt;p&gt;The end result is something that basically the same as it was before except that I can continue working with the newer and more feature rich software, the one downside is that the PX4 hardware is slightly limited in a few areas meaning for one I am no longer able to monitor the system battery voltage. Hopefully this will be the only limitation.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2016/10/ardurover-kevins-control-system</link><guid>https://arthurguy.co.uk/blog/2016/10/ardurover-kevins-control-system</guid><pubDate>Tue, 04 Oct 2016 11:32:36 +0000</pubDate></item><item><title>Politics</title><description>&lt;p&gt;I grew up in a Labour voting household and I'd imagine like most I picked up the politics of my parents, they voted Labour so I went on to vote Labour. Although unlike my parents I decided to join the party, not because I wanted to get into politics but more of a case of association and it seemed like a cool thing to do (I was that kind of child).&lt;/p&gt;

&lt;p&gt;Over the last 10 years or so I have been an on and off member but more for money reasons than anything profound, I will occasionally review my spending and stop things that aren't that important. My latest stint as a member started in 2015 after the big Conservative win, like a lot of people I think there was a general feeling that we needed to try and do something.&lt;br&gt;
By joining the party at that time I got a chance to vote in the leadership election which lead to the current situation, Jeremy Corbyn (In case you're wondering I didn't vote for him). In hindsight it was very much like Donald Trump in the US, he was this crazy old man that no one expected to get anywhere, until he did.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Anyway, I am writing this on Wednesday knowing that by Saturday the Labour party as I know it and grew up with it will be gone.&lt;/p&gt;

&lt;p&gt;I liked the two party politics of old, it was a simple dynamic, the good vs the bad with power changing hands every 10+ years. Jeremy's win will ensure Labour won't get elected which means there will be room for horrible people like UKIP to grow their membership while Labour shrinks.&lt;/p&gt;

&lt;p&gt;Jeremy's supporters keep pushing the peoples mandate line but I don't believe these people represent Labour voters, they are the left wing activists who have joined the party to pursue an agenda. Labour supporters are like most people, the generally decent who vote every 5 years but otherwise stay out of politics, they are very different groups of people.&lt;/p&gt;

&lt;p&gt;I expect Labour may come back again in the distant future but in the meantime there is no party that represents me and that's a really odd feeling.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2016/9/politics</link><guid>https://arthurguy.co.uk/blog/2016/9/politics</guid><pubDate>Wed, 21 Sep 2016 14:17:23 +0000</pubDate></item><item><title>We Need To Talk About Kevin</title><description>&lt;p&gt;Back in 2013 I started building a robotics platform or Kevin as I christened it. This was a really fun thing to work on but the motors eventually started to fall apart so I abandoned the project a year or two ago.&lt;/p&gt;

&lt;p&gt;After sitting in my workshop gathering dust for what seems like a very long time I have decided to revisit the project and I started this by taking a look at the thing that forced me to abandon it in the first place, the motors.&lt;/p&gt;

&lt;p&gt;As it turned out the motors were fine, it was just my mounting of them that was a bit shoddy so with a few new bolts they were back on and running as well as they ever did.&lt;/p&gt;

&lt;p&gt;As part of the revisit I am going to be looking at all aspects of the platform and seeing what can be improved, the next thing to sort out are the batteries but also on my list are sensors, the control system and improved safety features.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2016/9/we-need-to-talk-about-kevin</link><guid>https://arthurguy.co.uk/blog/2016/9/we-need-to-talk-about-kevin</guid><pubDate>Thu, 08 Sep 2016 07:37:11 +0000</pubDate></item><item><title>Workshop Projects - DIY Table Saw</title><description>&lt;p&gt;Last year I decided to try and build a table saw, I had never used a table saw before but it always seemed like one of the most useful workshop tools to have.
As a starting point I used one of &lt;a href="https://woodgears.ca/homemade_tablesaw/saw2.html"&gt;Matthias Wandel's designs&lt;/a&gt;, this was really usefull for finding a way to reliably mount the saw.&lt;/p&gt;

&lt;h3&gt;Circular Saw&lt;/h3&gt;

&lt;p&gt;The build started with a circular saw, I ended up getting the cheapest one available on Amazon with a non awful review and that was a Vonhaus saw.&lt;br&gt;
I started by removing the base plate and other unneeded bits and pieces, this left me with the metal guard which covers one half of the blade.&lt;br&gt;
&lt;img src="https://arthurguy.co.uk/file/1207/500/400" alt="The saw with missing base plate" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1209/500/400" alt="The saw with missing base plate" /&gt;&lt;/p&gt;

&lt;h3&gt;Mounting the saw&lt;/h3&gt;

&lt;p&gt;I started by following Matthias' build and making a frame around the saw, this was a strong rigid frame mounted to the blade guard that I could then use to attach to the rest of the table saw. There is only one piece of MDF bolted to the saw, the other parts form a snug fit around the rest of the saw. At one end there is a flat plate which will be where the hinge attaches to the base.&lt;br&gt;
&lt;img src="https://arthurguy.co.uk/file/1211/500/400" alt="The first piece of wood" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1213/500/400" alt="Clamping and gluing it together" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1222/500/400" alt="Clamping the hinge mounting" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1215/500/400" alt="The finished frame" /&gt;&lt;/p&gt;

&lt;h3&gt;The Base&lt;/h3&gt;

&lt;p&gt;The base is a small sheet of 3/4" MDF which has been reinforced with batons around the edge and also further internal cross bracing. I built the main sections over a week so I would glue and clamp the various parts and then when they were dry put some screws in.&lt;br&gt;
&lt;img src="https://arthurguy.co.uk/file/1235/500/400" alt="Gluing the braces" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1237/500/400" alt="Gluing the braces" /&gt;&lt;/p&gt;

&lt;h3&gt;Attaching The Saw&lt;/h3&gt;

&lt;p&gt;Attaching the saw to the base is one of the bigger moments as it fairly important to get it straight, I didn't and was able to correct this but it's far better if you can get the blade lined up straight. I used normal door hinges for the pivot, I did try out a couple of sets until I found some with the smallest amount of play, this is important as if the saw wobbles there wont be any accuracy to the cuts.&lt;br&gt;
&lt;img src="https://arthurguy.co.uk/file/1241/500/400" alt="Positioning the saw" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1243/500/400" alt="Attaching the saw to the base" /&gt;&lt;/p&gt;

&lt;h3&gt;Depth Adjustment&lt;/h3&gt;

&lt;p&gt;To control the height of the blade I attached a piece of wood alongside the moving saw with a slot cut in for a bolt to ride through, this way the height can be altered by loosening the wing nut and raising or lowering the saw.&lt;br&gt;
&lt;img src="https://arthurguy.co.uk/file/1247/500/400" alt="Depth adjustment" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1249/500/400" alt="Depth adjustment" /&gt;&lt;/p&gt;

&lt;h3&gt;Miter Slots&lt;/h3&gt;

&lt;p&gt;I hadn't used a table saw before but I did know I wanted to use a sled with it, these seemed like a really good way to make a potentially dangerous table saw quite safe and to work with small pieces of wood. In order to use a sled I needed to cut some slots.&lt;br&gt;
This is the moment where it is critical to get everything perfectly aligned, once again I failed with this but thankfully only partially.&lt;br&gt;
I started by buying some strip wood that would run in the guide rail, this determined the width of the slot I needed to cut. I then clamped some wooden rails down and attempted to get them perfectly aligned with the saw blade, I could then use a router to cut a channel in the wooden surface.&lt;br&gt;
&lt;img src="https://arthurguy.co.uk/file/1253/500/400" alt="Router guides" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1255/500/400" alt="Finished slots" /&gt;&lt;/p&gt;

&lt;h3&gt;Crosscut Sled&lt;/h3&gt;

&lt;p&gt;The sled is really simple but it was at this point that I found out that my miter slots weren't quite right, the right hand slot was about half a millimeter out at the back which meant the sled started to bind as it was pushed back. Thankfully you only need one guide so I removed the second strip of wood from the sled and I have been working with only the left hand slot ever since.&lt;br&gt;
&lt;img src="https://arthurguy.co.uk/file/1259/500/400" alt="Making the sled" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1261/500/400" alt="The sled in use" /&gt;&lt;/p&gt;

&lt;h3&gt;Finishing Off&lt;/h3&gt;

&lt;p&gt;I finished the saw above about 8 months ago and I have been using it ever since but its been sat on folding saw horses ever since, this weekend I finally made a base for it and attached some casters, I can now easily move it around and shift it out the way when I don't need it.&lt;br&gt;
&lt;img src="https://arthurguy.co.uk/file/1265/500/400" alt="The base" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1267/500/400" alt="Finished saw" /&gt;&lt;/p&gt;

&lt;p&gt;This was a very successful build and has proved extremely useful, I never made a very reliable fence for it so I tend to just use it with the sled but this isn't much of a problem. I have gotten so used to it my worry now is that the saw will give out and because it was built around it the whole thing will need to be scrapped!&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2016/6/workshop-projects-diy-table-saw</link><guid>https://arthurguy.co.uk/blog/2016/6/workshop-projects-diy-table-saw</guid><pubDate>Sun, 26 Jun 2016 14:34:56 +0000</pubDate></item><item><title>DIY Workshop Air Filter</title><description>&lt;p&gt;One of the annoying things about my workshop is the dust, it gets everywhere. You can tidy up but before long everything gets a nice coating of wood dust which starts get annoying.&lt;br&gt;
A year or so back I installed a large JET workshop air filter upstairs at Build Brighton but these cost several hundred pounds which isn't something I wanted to spend so after watching a video by &lt;a href="http://woodgears.ca"&gt;Matthias Wandel&lt;/a&gt; I decided to build my own.&lt;/p&gt;

&lt;p&gt;The design is really simple and consists of a pedestal fan mounted in a wooden box with a couple of air filters on the back. The filters are 24" x 12" so given the size of the fan I built an enclosure 24" square, this would accomodate one or two filters with removable spacers when using one.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1198/475/450" alt="It accomodates one or two air filters" /&gt;&lt;/p&gt;

&lt;p&gt;I modified the fan slightly by reducing the length of the shaft to make it a bit more compact and then mounted it in the center of the box, the original push button controls were let in the side of the case. The grill was also secured to the front to make it a little safer.&lt;/p&gt;

&lt;p&gt;I haven't been using it for long but I am hopeful it will help with the level of dust in the workshop.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2016/6/workshop-air-filter</link><guid>https://arthurguy.co.uk/blog/2016/6/workshop-air-filter</guid><pubDate>Sat, 11 Jun 2016 05:31:08 +0000</pubDate></item><item><title>Managing Environment Files</title><description>&lt;p&gt;One of the usefull things &lt;a href="https://laravel.com/"&gt;Laravel&lt;/a&gt; has done is introducing me to &lt;a href="https://github.com/vlucas/phpdotenv"&gt;environment files&lt;/a&gt;, this is a concept that seems obvious now and was probably obvious years ago when working with other languages or even frameworks but it was something I hadn't come across before.&lt;/p&gt;

&lt;p&gt;I have used &lt;a href="https://envoyer.io"&gt;Laravel Envoyer&lt;/a&gt; ever since it came out and this has a nice way of managing environment files, it allows them to be easily created and managed through the application.&lt;br&gt;
For my work with &lt;a href="https://vestd.com"&gt;Vestd&lt;/a&gt; I have been working on moving hosting over to &lt;a href="https://aws.amazon.com/"&gt;AWS&lt;/a&gt; and eliminating potential security vulnerabilities such as Envoyer or Forge and generally setting up a more robust and reliable hosting environment. The downside of moving away from Envoyer is that you loose some of the nice features it has built in, and this brings me onto the point of this post, managing environment files.&lt;/p&gt;

&lt;p&gt;I needed to replace Envoyer's management of env files so I decided to build a simple web app, the whole thing is really simple and should be simple to use but I needed to make sure it was safe and secure and kept accurate records of who did what.&lt;/p&gt;

&lt;p&gt;I had been reading about &lt;a href="https://aws.amazon.com/kms/"&gt;Amazon's KMS&lt;/a&gt; service so I had it in mind that I wanted to make use of this, I also needed a secure way to get the environment files to the build server so they could be included in the web app being built. In the end I chose to encrypt the environment files using KMS and to store the encrypted data in the db, this data would be supplied in an encrypted form to the build server which would then decrypt and save the result as an environment file. This meant that I could use IAM policies to ensure that only those with permission could decode the encrypted data.&lt;/p&gt;

&lt;p&gt;When designing the system I toyed with various ways of getting the data from the env manager to the build server in a secure way and in the end using KMS allows me to do this really easily, the encrypted data is made available to anyone who asks, only if they have permission within the AWS environment can they decode it.&lt;/p&gt;

&lt;p&gt;The login system is tied to our Github org so managing access is done through Github's interface, this is a method I used with great success when building &lt;a href="https://github.com/vestd/ProcessMonitor"&gt;process monitor&lt;/a&gt; as it means one less things to maintain.&lt;br&gt;
The final system is really basic and yet works well for the purpose, there are lots of different ways this could have been done but for now I am happy with the solution.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://github.com/ArthurGuy/env-manager"&gt;env manager&lt;/a&gt; project is up on GitHub and available for anyone to use, its basic but may help someone in the same situation. &lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2016/4/managing-environment-files</link><guid>https://arthurguy.co.uk/blog/2016/4/managing-environment-files</guid><pubDate>Tue, 05 Apr 2016 13:23:51 +0000</pubDate></item><item><title>Workshop Projects - DIY Strip Sander</title><description>&lt;p&gt;The core thing that interests me through the various things that I do is making, it could be a website an electronics project or even a table it doesn't really matter. I find the act of achieving something and having something to show for my effort very satisfying.
Lately I have been spending a lot of time in the workshop so I have decided to document a few of the things I have made.&lt;/p&gt;

&lt;p&gt;One of the things I quite like to make are tools and over the last few weeks I have been slowly building a strip sander, I made a really usefull &lt;a href="https://goo.gl/photos/WK7u1CPBjjKRwNtx7"&gt;disk sander&lt;/a&gt; last year so this seemed like a good challenge.&lt;/p&gt;

&lt;p&gt;I got the idea from &lt;a href="http://woodgears.ca/strip_sander/index.html"&gt;Matthias Wandel's&lt;/a&gt; project although I deviated form his design in a couple of places.&lt;/p&gt;

&lt;h3&gt;Drive wheels&lt;/h3&gt;

&lt;p&gt;As a starting point I bought two skate wheels and proceeded to sand these down to a flat surface, these along with a larger drive wheel would form the 3 running wheels for the belt. I also got myself a sanding belt although I had difficulty finding one long enough, I settled for something a bit shorter than I would have liked.&lt;br&gt;
The drive wheel is a plywood disk with a 6mm shaft secured in it, I sanded this down to a good finish by placing it in the drill stand and running it with the sandpaper wrapped around it.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1119/400/350" alt="Sanding the skate wheels down" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1121/400/350" alt="Sanding down the drive wheel" /&gt;&lt;/p&gt;

&lt;h3&gt;The Frame&lt;/h3&gt;

&lt;p&gt;With the 3 wheels made I cut out the rough template that would accommodate the belt size and started to mount the wheels in it. For the drive wheel I mounted a skate bearing and epoxied this in place while the wheels had integral bearings and could be mounted on a simple shaft.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1131/400/350" alt="Testing the position of the wheels" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1133/475/350" alt="Glueing up the drive wheel supports" /&gt;&lt;/p&gt;

&lt;h3&gt;Belt tracking&lt;/h3&gt;

&lt;p&gt;One of the clever parts of Matthias's design was the ability to alter the tracking for the belt, he achieved this by tilting the bottom front wheel to keep the belt on track. I copied most of his design but simplified the adjustment section a bit through the use of a spring.&lt;br&gt;
The triangular piece will tilt the shaft along the range of the slot in the wood, by moving it forward and backward you can control the tracking. I epoxied a nut into the wood and used a spring to keep the piece of wood in the right place without the need for a rear mounting point. I also glued some wood alongside to act as a guide to ensure it didn't move around.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1140/400/350" alt="Gluing the tracking guides" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1144/400/350" alt="Gluing the final part of the tracking mechanism" /&gt;&lt;/p&gt;

&lt;h3&gt;Tensioning and belt removal&lt;/h3&gt;

&lt;p&gt;With the bottom two wheels in place it was time to tackle the top wheel, this was another static wheel but its position needed to be adjustable to maintain the right tension and to be able to relax it so the belt can be removed.&lt;br&gt;
Matthias had used a nut that could be driven down to control the position but as with the tracking I decided on a spring to simplify things. I wasn't sure how tensioned the spring needed to be so I epoxied a couple of bent nails into the wood to allow the tension to be controlled.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1154/400/350" alt="Sprung top wheel" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1156/400/350" alt="Sprung top wheel" /&gt;&lt;/p&gt;

&lt;h3&gt;Finished!&lt;/h3&gt;

&lt;p&gt;I finished it off by adding a support for the drill which will be removed when not in use and adding a cover for the side to keep in the dust.&lt;br /&gt;
Most of this is glued together which is in part why it took a while to build, I would try out one piece and leave it to dry until I could get over to the workshop again. I am not sure how this will hold up to use but with the thin mdf I am using I didn't have too many options.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/1178/400/350" alt="Sander with the drill" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1180/400/350" alt="Boxing in the drive wheel and belt" /&gt;&lt;/p&gt;

&lt;h3&gt;Is it any good?&lt;/h3&gt;

&lt;p&gt;The short answer is yes!&lt;br&gt;
This is a surprisingly useful tool, it doesn't have a permanent home like the disk sander but it's easy enough to get out and attach the old drill to so I have ended up using it quite a few times. The tensioning isn't as strong as I would have liked so you can't apply too much force but this doesn't seem to affect its use much, in addition the belt does wander a bit and rubs quite badly against the wood in places but overall I am very pleased.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2016/6/workshop-projects-strip-sander</link><guid>https://arthurguy.co.uk/blog/2016/6/workshop-projects-strip-sander</guid><pubDate>Wed, 01 Jun 2016 12:28:09 +0000</pubDate></item><item><title>Laravel Session Problems</title><description>&lt;p&gt;I have recently spent a few hours trying to diagnose and fix a rather annoying problem with session persistence using cookies in Laravel, it's an interesting problem so I am recording it here because I am bound to come up against it in the future.&lt;/p&gt;

&lt;h3&gt;Symptoms&lt;/h3&gt;

&lt;p&gt;We were building a new feature for &lt;a href="https://vestd.com/"&gt;Vestd&lt;/a&gt; to allow users to add links to other social profiles but in a verified way, this meant using Laravel Socialite to allow users to connect via oauth, if this was successful we would store the url for their profile.
This is a pretty simple proposition and it was built fairly quickly, unfortunitly when returning from the 3rd party the process the process would occasionally fail with a &lt;code&gt;InvalidStateException&lt;/code&gt;.&lt;br /&gt;
This exception is thrown by Socialite when it tries to match a state parameter it has stored locally with the one returned by the oauth provider. The aim of this check is to ensure the process was completed in one go rather than someone hitting the callback url separately or otherwise going through the process as it wasn't intended.&lt;/p&gt;

&lt;h3&gt;Storing the state in session&lt;/h3&gt;

&lt;p&gt;When you start of the oauth process a random string is generated, this is stored in the local session and then included in the url as the user is redirected off site to continue the oauth process. When the user is redirected back the token is returned in the url and then matched with the one stored locally, if they match all is good and the oauth process is completed if they don't match an &lt;code&gt;InvalidStateException&lt;/code&gt; is thrown.&lt;/p&gt;

&lt;h3&gt;What was going wrong&lt;/h3&gt;

&lt;p&gt;On the site is a regular 6 second AJAX call to fetch any new notifications for the user (this is due to be replaced with a permanent websocket connection), the call is made to the same back end and contains the same session data stored in the users cookie. The current "state" is stored in the users cookie and maintains the login as well as other bits and pieces, nothing is stored on the server and each web request is independent from each other.&lt;/p&gt;

&lt;p&gt;If the user clicked the oauth connect button at roughly the same time as one of the background notification updates the two requests would head off with the same session data and two separate processes would run on the server to handle these. The oauth process would do its thing and set a state parameter in the session and as part of the redirect return this to the user as a replacement to the local session cookie, this is all good and what we would expect.&lt;/p&gt;

&lt;p&gt;The other notification request which was being processed alongside is now ready and gets returned to the browser but a fraction of a second after the other one, this request also contains the users session as a replacement to the local cookie but because it is an independent request it has no knowledge of the session changes the other request just made.&lt;/p&gt;

&lt;p&gt;The browser receives this second request and updates the session cookie once again but this time it replaces the one that contains the state parameter with the one that doesn't, all this happens in the moment before the redirect kicks off and sends the user offsite.&lt;br /&gt;
When the user returns the locally stored session (the one without the state value) is sent to the server along with the oauth callback, it then tries to extract the local state value and can't because that version of the session was overridden.&lt;/p&gt;

&lt;p&gt;This error was affecting us because of the background ajax request but it could be triggered by other events, any other server request running alongside that has a response returned from laravel will potentially cause this error.&lt;/p&gt;

&lt;p&gt;The screenshot of the network timeline below highlights the problem with the two requests
&lt;img src="/file/1099/2000/100" alt="The two requests" /&gt;&lt;/p&gt;

&lt;h3&gt;A solution?&lt;/h3&gt;

&lt;p&gt;Unfortunately there is no easy fix. The only reliable way that I am aware of is to use session locking, I am not sure how this can work with session cookies but for example if the session data was stored on the server in a database one request would start using the session and lock it to prevent any other requests from using it, this would prevent it getting overridden.&lt;br&gt;
Laravel doesn't support session locking so this isn't something we could turn on even if we did switch to a different method of session storage.&lt;/p&gt;

&lt;p&gt;The solution I ended up going with was to turn off session handling for requests that don't need it. The notification ajax request doesn't make any updates to the session so the returned cookies can be removed meaning nothing gets overridden, the same applies to requests for assets or potentially all GET requests although this will depend on how the application works.&lt;/p&gt;

&lt;h3&gt;A laravel fix&lt;/h3&gt;

&lt;p&gt;Disabling the session in laravel is sadly a bit of a hack, you need to change the session type to an array meaning nothing will be saved between requests.
I had done this before when I wanted to reduce the side of an http response, in that case I used url detection and changed the session type but this time I came up with a simple piece of middleware that can be applied to routes as and when it's required.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;class NoSession
{
    public function handle($request, Closure $next)
    {
        app('config')-&amp;gt;set('session.driver', 'array');
        return $next($request);
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I set this up in the http kernel as a piece of route middleware and simply applied it to any route that definitely didn't need to update the session.
This doesn't solve the problem, it just reduces the chances of it happening which right now is the best we can do.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2015/12/laravel-session-problems</link><guid>https://arthurguy.co.uk/blog/2015/12/laravel-session-problems</guid><pubDate>Mon, 14 Dec 2015 20:47:14 +0000</pubDate></item><item><title>Offline Support - Service Workers</title><description>&lt;h4&gt;Mobile web app&lt;/h4&gt;

&lt;p&gt;For my home automation project I needed a way to control devices and view their status, given that everything was running through a Laravel web server the obvious solution was a web app. I decided to use Vuejs for managing the front end as it's something I had been watching for a while, I just needed a reason to try it out.&lt;/p&gt;

&lt;p&gt;The app came together fairly quickly and I ended up looking at the Nest mobile app for the initial inspiration as this was one of the motivations for building it. After getting it running and using it for a bit I quickly came across the one big limitation of web apps, offline support.&lt;/p&gt;

&lt;p&gt;There are many ways to create an offline web app but some of the solutions such as the &lt;a href="http://alistapart.com/article/application-cache-is-a-douchebag"&gt;appcache&lt;/a&gt; weren't exactly easy to use. The modern solution that seems to solve most of these existing problems but still provide a lot of flexibility are service workers.&lt;/p&gt;

&lt;h4&gt;Service Workers&lt;/h4&gt;

&lt;p&gt;A service worker is a javascript file that runs behind a webpage, the site you're visiting can register a service worker and if successful this will start running and can intercept all http requests made by the site. The service worker also comes with a new cache which can store a complete http request, this makes it incredibly easy to intercept a request for a resource and either serve it from a cache or make an external request to fetch the actual resource.&lt;/p&gt;

&lt;p&gt;I tried various caching approaches but I ended up precaching the static resources when the application is installed, I had a list of defined assets that I was expecting and during the install process these are downloaded and stored.
When an asset is fetched the url is checked and if it begins with api it is passed through unmodified, everything else gets matched against the cache and returned. By listing and caching everything upfront there should be nothing that ever misses the cache.&lt;/p&gt;

&lt;p&gt;Once the application has been installed it can be opened up while offline and the ui loads up but no data is displayed, the application will attempt to make a request to the api but this fails gracefully and a styled error message is displayed.&lt;/p&gt;

&lt;h4&gt;Problems&lt;/h4&gt;

&lt;p&gt;I ran into a few problems getting it setup but the main one was updating the service worker; when you have the data cached you will occasionally need to update things especially as the software improves. When a cached page loads up it is supposed to try and download the service worker js file from the live server, it will then compare this against the one it has cached and if they differ it starts the process of updating the cached files.
Unfortunately for me I couldn't never get it to reliably detect the file had changes, sometimes it took a few refreshes and sometimes I had to delve into the browser's internals and deregister the serviceworker. Given the success stories coming out about service worker I am fairly sure my experiences are unique and this behaviour was down to something I was doing wrong.&lt;/p&gt;

&lt;p&gt;After getting this application running through a service worker I am very impressed with how easy it is to achieve quite a lot. Even if you cant manage an offline experience you can at least load an interface explaining this rather than falling back to the browsers offline message.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ArthurGuy/DataStore/blob/master/resources/assets/js/dashboard/service-worker.js"&gt;my service worker&lt;/a&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2015/7/service-workers</link><guid>https://arthurguy.co.uk/blog/2015/7/service-workers</guid><pubDate>Wed, 22 Jul 2015 16:20:11 +0000</pubDate></item><item><title>Home Automation - Controlling Devices</title><description>&lt;p&gt;One of the most important, if not the most important part of a home automation system is being able to actually control devices. This may be turning on heater or a light or perhaps even opening a window.&lt;/p&gt;

&lt;p&gt;One of the challenging issues here is working out how best to communicate with the various hardware devices. A single common format is the ideal but this means the hardware has to be either the same or designed to fit which may be difficult to achieve.&lt;/p&gt;

&lt;h4&gt;Switching mains devices&lt;/h4&gt;

&lt;p&gt;For my project I started with what I had, a &lt;a href="http://www.amazon.co.uk/dp/B009SA9Z6S"&gt;Belkin wemo switch&lt;/a&gt;. This is a wifi connected plugin mains adapter which allows devices to be controlled from their mobile app or crucially &lt;a href="https://ifttt.com/"&gt;ifttt&lt;/a&gt;. Using a simple ifttt rule I paired the wemo switch with a &lt;a href="https://ifttt.com/maker"&gt;rest endpoint&lt;/a&gt; allowing me to turn on and off devices by sending a post request to a specific url.&lt;/p&gt;

&lt;p&gt;This was a great start and allowed me to get a couple of mains devices up and running in no time. I created a database table to hold a generic object called a device, this was where I kept the urls that needed to be hit to control it along with the room the device belonged to and the type of device. It also stored the desired value of the device, on/off or in the case of lighting the brightness or colour.&lt;/p&gt;

&lt;h4&gt;Background processing&lt;/h4&gt;

&lt;p&gt;I am a big fan of queues and background processes for isolating systems and reducing the impact of failures so I set up the the user interface to update the the device state in the database rather than trying to control anything physical. I then setup a separate sync process which looped over all of the devices every minute and send the relevant on or off commands, this ensured the devices reflected what was wanted in the database. This had the odd effect of meaning you couldn't control any of the devices directly, if you tried to turn something on or off the sync process would quickly put it back to what it was in the database.&lt;/p&gt;

&lt;h4&gt;Events to the rescue&lt;/h4&gt;

&lt;p&gt;This system worked well for a day but not having a device respond immediately to your command gets annoying, I ended up changing it slightly so that when a devices is updated it changes the database and then broadcasts an update event. This event lands in the queue and gets processed quickly but still separates the user interface from the actual device control. I still have a delay of a few seconds as the queue gets checked for jobs and then it gets processed but it responds quick enough for the action to feel like its connected to the UI update. The sync job still runs but at a much longer interval and operates more as a backup to keep things in check.&lt;/p&gt;

&lt;h4&gt;Custom lighting&lt;/h4&gt;

&lt;p&gt;The next device I added was something a bit more custom yet remarkably simple. I setup a strip of WS2812 led's and connected these to a Photon from &lt;a href="https://www.particle.io/"&gt;Particle&lt;/a&gt;. I then used their public function control to setup a url that I could call with a series of parameters, these would then get parsed and used to control the brightness and colour of the led strip. This worked nicely and I ended up adding a couple of sliders to the web app to control the brightness, hue and saturation of the light.&lt;/p&gt;

&lt;p&gt;Hopefully the simple system I came up with should be capable of working with most future devices, providing they can be controlled through an endpoint of some kind.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2015/7/home-automation-controlling-devices</link><guid>https://arthurguy.co.uk/blog/2015/7/home-automation-controlling-devices</guid><pubDate>Fri, 17 Jul 2015 09:46:50 +0000</pubDate></item><item><title>Home Automation - Collecting Data</title><description>&lt;p&gt;As part of my home automation system I need to collect data about the environment, I have been doing this for sometime with a system I had previously built around the NRF24L01 wireless device. I was using the &lt;a href="https://github.com/maniacbug/RF24Network"&gt;RF24Network library&lt;/a&gt; which creates a basic mesh network, a single master device would collect data relayed in through various other devices.&lt;/p&gt;

&lt;h3&gt;The Old&lt;/h3&gt;

&lt;p&gt;I liked this system and spent sometime building dedicated hardware for it, I ended up with low powered battery nodes which could run for a couple of months while sending temperature readings every minute. I ended up with 3 or 4 temperature sensors scattered around along with a movement sensor which did end up catching the exact time of a breakin!
In addition to the temperature and movement sensors I had my AtHome detection system feeding into it, this used the Bluetooth transmission of my FitBit to detect if I was at home.
At the core of this system was a hub, this had an internet connection and would relay all incoming data out to the data store.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/997/350/250" alt="Sensor Hub" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1010/350/250" alt="Sensor Nodes" /&gt;
&lt;img src="https://arthurguy.co.uk/file/1008/350/250" alt="At Home Bluetooth Detection" /&gt;&lt;/p&gt;

&lt;p&gt;This setup worked well for quite some time, I would occasionally get period of time when sensors would stop working but they eventually came back. Over time this seemed to get worse, possibly because of other interference but I decided it was time to replace it with a simpler system, dedicated sensor nodes easy with their own wifi connection.&lt;/p&gt;

&lt;p&gt;This new system would be a lot simpler, there would be no mesh and one sensor wouldn't rely on the next. As there was no connection between devices I could use whatever hardware I had to hand.&lt;/p&gt;

&lt;h3&gt;The New&lt;/h3&gt;

&lt;p&gt;My immediate choice was the Photon from &lt;a href="https://www.particle.io/"&gt;Particle&lt;/a&gt; but I knew I wanted to get a couple of sensors running and I didn't have enough of these, after looking at what I did have I discovered a few &lt;a href="https://electricimp.com/"&gt;Electric Imps&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I had used the Electric Imp &lt;a href="https://arthurguy.co.uk/blog/2013/12/status-light-and-product-development"&gt;quite&lt;/a&gt; &lt;a href="https://arthurguy.co.uk/blog/2013/12/gauge-display"&gt;a bit&lt;/a&gt; in the past but hadn't worked with them for some time, thankfully their system hadn't changed at all and they had an &lt;a href="https://github.com/electricimp/reference/tree/master/hardware/DHT22"&gt;example&lt;/a&gt; for interfacing with the DHT22 sensor I was using. In the end I had a couple of sensors up and running in about an hour.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/995/350/250" alt="Electric Imp DHT22 Sensor" /&gt;&lt;/p&gt;

&lt;p&gt;This setup replaced the temperature and humidity data collection but not the movement and the At Home detection.
Adding a movement sensor was easy enough but for the Bluetooth sensor I ended up with a bastardised system consisting of a Bluetooth module, Arduino and Electric Imp. This way I could literally glue my existing hardware on the top with almost no changes to the code. All I had to do was delete all references to the NRF24L01 and set pin 13 to output the at home state, this was then red by the Electric Imp.&lt;/p&gt;

&lt;p&gt;To finish off the system I designed and printed a simple enclosure, this was a box with a hole for the movement sensor and a lot of holes to allow air to flow through and over the sensor.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/977/350/250" alt="Sensor Node in 3D Printed Box" /&gt;
&lt;img src="https://arthurguy.co.uk/file/979/350/250" alt="Sensor Node Electronics" /&gt;
&lt;img src="https://arthurguy.co.uk/file/987/250/250" alt="Sensor Node on the wall" /&gt;&lt;/p&gt;

&lt;h3&gt;Outside&lt;/h3&gt;

&lt;p&gt;The other bit of data collection needed was the weather outside, at the moment I am just using this on the dashboard but hopefully when winter comes around I can use the temperature differential to determine the ideal switch on time for heating or perhaps preempt a cold spot.
I am pulling this data from the &lt;a href="http://forecast.io/"&gt;forecast.io&lt;/a&gt; service which provides loads of great data when supplied with a set of cordinates.&lt;/p&gt;

&lt;h3&gt;Problems&lt;/h3&gt;

&lt;p&gt;I am using the bluetooth scanning to fairly reliably determine when I am in the flat, this works great and will allow me to turn off lighting or reduce heating when I am not around but it only works for me. If someone else is in the flat the system falls apart, the movement sensors are setup to mark the property as occupied but only for a short time after movement is detected. If someone else is around and sitting down or sleeping the system will end up turning things off which isn't ideal! I am not sure how I am going to solve this at the moment but it will probably involve more sensors!&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2015/7/home-automation-collecting-data</link><guid>https://arthurguy.co.uk/blog/2015/7/home-automation-collecting-data</guid><pubDate>Sat, 04 Jul 2015 00:00:00 +0000</pubDate></item><item><title>Home Automation  - My Nest Thermostat</title><description>&lt;p&gt;I have loved the idea of the Nest thermostat for some time but living in a rented home means I can't make use of a product like this, not having central heating also presents a problem!&lt;/p&gt;

&lt;p&gt;A couple of weeks ago I was looking at the Nest products when I spotted their &lt;a href="https://developer.nest.com/"&gt;API&lt;/a&gt;, this seems to be about integrating other products with their network but it did seem to expose endpoints for the thermostat. After playing with this for a while I quickly realised how limited it was and of no use to me not having any of their products, but it did get me thinking about something else I had set up about a year ago.&lt;/p&gt;

&lt;p&gt;I spend some time last year building a mesh sensor network, this consisted of a hub with an internet connection and sensor nodes which collected data such as temperature, humidity and movement readings. This data was then fed back to a &lt;a href="https://arthurguy.co.uk/blog/2014/8/xively-phant-datastore"&gt;data collections service&lt;/a&gt; I had built.
With this system running I had all the data I needed to start building my home climate control system.&lt;/p&gt;

&lt;p&gt;I ended up constructing a basic dashboard designed to be viewed on a mobile, this presented the weather outside along with the conditions of each room for which sensor data was available. This worked really well and allowed me to start using some interesting technologies, as the only user I didn't have to cater for older browsers.&lt;/p&gt;

&lt;h3&gt;Collecting Data&lt;/h3&gt;

&lt;p&gt;At the same time as building the dashboard I have been looking at the sensor nodes, this system had worked really well but for some reason it's started to fail and become very intermittent. I suspect there may be interference affecting the data transmission.
After getting a &lt;a href="https://www.particle.io/"&gt;Particle&lt;/a&gt; based sensor node up and running in less than half an hour I decided to rebuild the system without the mesh network bit, everything would talk directly to the internet and the data store.&lt;/p&gt;

&lt;blockquote&gt;&lt;p lang="en" dir="ltr"&gt;Deployed my second &lt;a href="https://twitter.com/particle"&gt;@particle&lt;/a&gt; at &lt;a href="https://twitter.com/buildbrighton"&gt;@buildbrighton&lt;/a&gt; last night, this time collecting environmental data.
&lt;a href="http://t.co/vKbQBIeLyV"&gt;http://t.co/vKbQBIeLyV&lt;/a&gt;&lt;/p&gt;&#xE2;&#x80;&#x94; Arthur Guy (@ArthurGuy) &lt;a href="https://twitter.com/ArthurGuy/status/611556735082459136"&gt;June 18, 2015&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;I was going to use a couple of particle devices again but after taking a look at what I had to hand I went for the Electric Imp. This is a platform I was using quite a lot in the past but had moved away because of no good route to market, that certainly wasn't an issue for this and I had a few spare devices so I decided to upgrade everything to be based around an Electric Imp.
Thankfully they have some &lt;a href="https://github.com/electricimp/reference/tree/master/hardware/DHT22"&gt;great example code&lt;/a&gt; so this took no time at all to setup.&lt;/p&gt;

&lt;h3&gt;Controlling Devices&lt;/h3&gt;

&lt;p&gt;As I mentioned at the start I don't have a central heating system to tie into just some electric radiators but in a stroke of luck IFTTT recently announced a &lt;a href="https://ifttt.com/maker"&gt;maker channel&lt;/a&gt;, this means I can control mains devices connected to &lt;a href="https://ifttt.com/wemo_switch"&gt;Belkin WeMo&lt;/a&gt; devices from a simple POST request.&lt;/p&gt;

&lt;p&gt;This proved incredibly easy to setup and I was quickly able to setup an automated temperature control system which turned a heater on and off depending on the current temperature and the target temperature. This also worked well for cooling via something as simple as an electric fan by a window.&lt;/p&gt;

&lt;p&gt;There a number of interesting bits to this setup so I will probably write some more details posts as a followup but for now my system is developing very nicely.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://arthurguy.co.uk/file/977/350/250" alt="Sensor Node in 3D Printed Box" /&gt;
&lt;img src="https://arthurguy.co.uk/file/979/350/250" alt="Sensor Node Electronics" /&gt;
&lt;img src="https://arthurguy.co.uk/file/987/250/250" alt="Sensor Node on the wall" /&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2015/7/home-automation-my-nest-thermostat</link><guid>https://arthurguy.co.uk/blog/2015/7/home-automation-my-nest-thermostat</guid><pubDate>Fri, 03 Jul 2015 00:00:00 +0000</pubDate></item><item><title>Taming Javascript</title><description>&lt;p&gt;As part of my work on the &lt;a href="/portfolio/bbms"&gt;Build Brighton Member Site (BBMS)&lt;/a&gt; I recently tackled some of the javascript that was scattered across the site.&lt;/p&gt;

&lt;p&gt;The BBMS is a fairly ordinary website using traditional form posts and page refreshed to take actions and display data, it's certainly not a single page app and the javascript that's there has grown organically getting scattered across the site ending up in the most convenient place for whatever I was doing at the time.&lt;/p&gt;

&lt;p&gt;While watching Laracasts a month or so ago a tool called &lt;a href="http://browserify.org/"&gt;browserify&lt;/a&gt; was mentioned, this allows you to use &lt;a href="http://www.commonjs.org/"&gt;CommonJS&lt;/a&gt; module format and the require() statement in your code and then output a single compiled file. The require statement allows you to load in a library or another local file while keeping the scope locked down to what you're working on, it makes writing self contained pieces of javascript incredibly easy.&lt;/p&gt;

&lt;p&gt;I didn't have the time to rewrite everything on the site so I decided to take a pragmatic approach and move the existing pieces of code within this new structure but leave them unchanged.&lt;/p&gt;

&lt;p&gt;For example, on the site there is a basic feedback form available on every page, the code for this is a jquery form bind statement and a couple of handlers for a success and failure ajax response. Rather than being stuck in the footer or a random included file this code was placed in its own file in the CommonJS style.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;FYI, this code is using the new ES6 class structure, it will end up getting compiled down for use across all browsers.&lt;/em&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;class FeedbackWidget {

  constructor() {

    var $ = require('jquery');

    (function($){

        //Support for simple ajax forms
        $('.js-feedbackModalForm').on('submit', function(event) {
            event.preventDefault();

            $(this).find('input[type=submit]').attr('disabled', 'disabled');

            //Clear the error messages
            $(this).find('.js-errorMessages').text('');
            $(this).find('.has-error').removeClass('has-error');

            //Store the context for the callbacks
            var $form = $(this);
            $.ajax({
                type: $(this).attr('method'),
                url: $(this).attr('action'),
                data: $(this).serialize(),
                success: [function() {
                    $form.find('input[type=submit]').removeAttr('disabled');
                }, feedbackFormSuccess],
                error: [function() {
                    $form.find('input[type=submit]').removeAttr('disabled');
                }, feedbackFormError],
                dataType: 'json'
            });
        });

        //Specific handlers for the feedback form
        function feedbackFormSuccess(data) {
            if (data.success) {
                $('#feedbackWidgetModal').modal('hide');
                $('.js-feedbackModalForm textarea').val('');
            }
        }
        function feedbackFormError(xhr, status, error) {
            var errors = eval("(" + xhr.responseText + ")");
            for(var n in errors) {
                var $field = $('.js-feedbackModalForm').find('.js-field-'+n+'');
                $field.addClass('has-error');
                $field.find('.js-errorMessages').text(errors[n]);
            }
        }

    })($);

  }

}

export default FeedbackWidget;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;As you can see the code inside the FeedbackWidget class constructor is a very ordinary bit of code, it hasn't been refactored (yet), just dumped inside the constructor so the file can be loaded and used as a module.&lt;/p&gt;

&lt;p&gt;jQuery has been required at the top and this is where some of the power of browserify comes from. I no longer need to be careful about the order in which I load these files, when everything gets compiled down browserify will make sure jquery which was loaded in via npm is available to the code.&lt;/p&gt;

&lt;p&gt;In addition to these modules/files I have a app.js file which acts as the entry point, this file will include the above library file in the following way.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;var FeedbackWidget = require('./FeedbackWidget');
new FeedbackWidget();
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Again, this isn't doing anything clever. Its just loading the file and then instantiating it so the constructor gets run. At some point I will probably rewrite this code but the aim of the task was to tidy up the existing scattered code and bring it into one location which I successfully managed to do.&lt;br /&gt;
&lt;a href="https://github.com/ArthurGuy/BBMembershipSystem/tree/746e2ac60d80b9580cb9f73de604e297bd5f71e5/resources/assets/js"&gt;The finished js files.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The other benefit of this switch was getting rid of bower, it was a great way to download libraries but getting them included in the page was still a pain in the arse, one that involved nasty path includes.
At one stage I had the following include lines in my gulp file.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;'resources/assets/bower/jquery/dist/jquery.js',
'resources/assets/bower/bootstrap/dist/js/bootstrap.js',
'resources/assets/bower/bootstrap-datepicker/js/bootstrap-datepicker.js', 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;With the site JS updated and tidied into one place it allowed me to easily experiment with other things, that other thing being React. That was a fun experiment in replacing something that worked well with something far more complicated and doesn't do anything extra! Something for another post.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2015/6/taming-javascript</link><guid>https://arthurguy.co.uk/blog/2015/6/taming-javascript</guid><pubDate>Mon, 08 Jun 2015 00:00:00 +0000</pubDate></item><item><title>Event Driven Code</title><description>&lt;p&gt;As part of my recent work &lt;a href="/blog/2015/4/subscription-payments"&gt;rebuilding the payment system&lt;/a&gt; for the &lt;a href="https://github.com/ArthurGuy/BBMembershipSystem"&gt;Build Brighton member system&lt;/a&gt; (BBMS) I have started using events to loosely couple my code.
Within &lt;a href="http://laravel.com/docs/4.2/events"&gt;Laravel events&lt;/a&gt; are a basic pubsub system, one part of the codebase fires an event with some data and another part listens for it and acting on that data.&lt;/p&gt;

&lt;p&gt;I had used some events in Laravel before but its a design pattern I had steered away from, at least for critical pieces of code. When you viewing a controller or some other part of the code and you come across an &lt;code&gt;Event::fire()&lt;/code&gt; statement there is no easy way to see what that does. You're not sure if anything is listening to it or if the events were even spelled correctly, unlike a normal method call it's a dead end for the IDE and the viewer.&lt;/p&gt;

&lt;p&gt;Yes, you can go to the event handlers folder and take a look, or to the service provider or global file where everything gets subscribed but it's an annoying step and one that I didn't want to have to take.&lt;/p&gt;

&lt;p&gt;My view on the subject hasn't changed but for me the alternative started to look a lot worse!&lt;/p&gt;

&lt;h3&gt;Handling the events&lt;/h3&gt;

&lt;p&gt;Going back to the BBMS, I started to look at what happens when we receive notification of a subscription payment, in this situation a couple of things need to occur. Firstly the payment gets recorded or updated depending on the type of notification, the related subscription charge gets located and updated and finally the user record will get updated with a new status or expiry date. It's a lot to manage but not terrible.&lt;/p&gt;

&lt;p&gt;The BBMS receives payment notifications from various sources; GoCardless for two types of payment, PayPal, bank statement uploads and manual payments. After making changes to the system to work from the subscription charge records I decided the current system wasn't manageable.&lt;/p&gt;

&lt;p&gt;The approach I am now working with is to focus on what has just occurred and let other systems tie into this. When a payment comes in I will now record this with a single method call to the payment repo, the method will save this data, fire an event and return.&lt;/p&gt;

&lt;h3&gt;Examples&lt;/h3&gt;

&lt;p&gt;When a payment update comes in from GoCardless the following is called.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$this-&amp;gt;paymentRepository-&amp;gt;markPaymentPaid($existingPayment-&amp;gt;id, $paymentDate);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The payment is then updated and an event fired&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Event::fire('payment.paid', array($payment-&amp;gt;user_id, $paymentId, $payment-&amp;gt;reason, $payment-&amp;gt;reference, $paidDate))&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The payment event handler looks at the type of payment and if its a subscription payment updates the subscription charge.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$this-&amp;gt;subscriptionChargeRepository-&amp;gt;markChargeAsPaid($reference, $paymentDate);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We then continue further down the rabbit hole with another event being fired by the above method!&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Event::fire('sub-charge.paid', array($chargeId, $subCharge-&amp;gt;user_id, $subCharge-&amp;gt;charge_date, $subCharge-&amp;gt;amount));&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The subscription charge event listener finally ends by updating the users expiry date.&lt;/p&gt;

&lt;h3&gt;In conclusion&lt;/h3&gt;

&lt;p&gt;This process is a little long but everything is separated out and only responsible for its own thing, the events now play a key role in the system so its unlikely I am going to forget they are there.&lt;/p&gt;

&lt;p&gt;A side benefit of this is that by separating actions with these events I am making it easy to add a queue to some or all of these processes. Each event carries with it the information it needs to complete its task, perfect for placing onto a queue.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2015/4/pubsub-event-driven-code</link><guid>https://arthurguy.co.uk/blog/2015/4/pubsub-event-driven-code</guid><pubDate>Tue, 28 Apr 2015 00:00:00 +0000</pubDate></item><item><title>Subscription Payments</title><description>&lt;p&gt;Last year I created the &lt;a href="/portfolio/bbms"&gt;member management system&lt;/a&gt; for &lt;a href="http://www.buildbrighton.com/"&gt;Build Brighton&lt;/a&gt;, this was a system designed amongst other things to track members monthly subscription payments. I designed the system around the &lt;a href="https://gocardless.com/"&gt;GoCardless&lt;/a&gt; direct debit processing but because of legacy members it also had to support PayPal and standing order payments.&lt;/p&gt;

&lt;p&gt;When setting up the GoCardless processing I opted for their subscription payments as this seemed the most logical solution, afterall thats what I was doing. Their subscription system basically does everything for you, once setup it will bill members each month and let you know the outcome.&lt;/p&gt;

&lt;h3&gt;The Problems Begin&lt;/h3&gt;

&lt;p&gt;The system got built and implemented but over time I started to find the flaws in this setup, the first being changing the subscription amount. This isn't possible so if a member wants to pay more or less you need to cancel the direct debit and set up a new one. This isn't a problem but it does require the user to make a round trip to the GoCardless site, not a great experience for what should be a simple thing.&lt;/p&gt;

&lt;p&gt;The other problem and the key one for me is keeping track of each payment, its status and what month it's for, especially in situations when payments get declined and need to be retried. With Gocardless if a payment fails you need to manually retry it and if you don't nothing happens, everything carries on as normal and the next month it takes the next payment. This has led to situations where some months payments never get collected. This isn't necessarily a GoCardless issue but one I feel should have been part of their subscription offering.&lt;/p&gt;

&lt;h3&gt;Making Changes&lt;/h3&gt;

&lt;p&gt;I am currently in the middle of making two changes to the direct debit subscription system at Build Brighton, one is switching away from subscription payments and the other is setting up what is effectively a monthly invoice to track the payments.&lt;/p&gt;

&lt;p&gt;The alternative to subscription payments is getting the member to setup a variable direct debit, a pre auth, and then generating payments each month against this. The payment amounts can be arbitrary and don't require any subsequent user interaction, this means the member can very easily change their monthly subscription amount and additional ad hoc payments can be made quickly and easily.&lt;/p&gt;

&lt;p&gt;Because these payments are now initiated at my end I need some way to know when to generate them and to solve this I created an entity called Subscription Charge. Every month, 3 days before the member payment date a sub charge record will get generated, if the member is paying by the new variable direct debit payment system this record will get picked up on the correct date and used to initiate a payment.&lt;/p&gt;

&lt;p&gt;If the member is paying by any other means then when notification of that payment comes in the system searches for the members oldest sub charge record. This bit is key to keeping track of payments as by locating the oldest payment it means payments can't ever get missed. In addition, by generating the sub charge record 3 days early I can cater for discrepancies with the billing times of other payment systems as well as fulfilling direct debit notification period requirements. I don't want to risk a payment notification coming through before the sub charge has been created.&lt;/p&gt;

&lt;p&gt;This upgrade is going well and one I am looking forward to getting in place as it will solve a lot of problems, for now my priority is making sure the existing payment methods, gocardless subscriptions, paypal subscriptions, and standing orders get correctly mapped to the subscription charge records being generated for members.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2015/4/subscription-payments</link><guid>https://arthurguy.co.uk/blog/2015/4/subscription-payments</guid><pubDate>Thu, 09 Apr 2015 00:00:00 +0000</pubDate></item><item><title>Light bulbs everywhere</title><description>&lt;p&gt;Last year the company I was working with were having their offices refurbished and it got me thinking about corporate art but something that's potentially useful as well as interesting to look at.
I got the idea of hanging lightbulbs from a sparkfun video so I decided to have a go making a piece of light art that also communicated some information, the idea was that the faster the lights flashed the higher or more active the value the light represented.&lt;/p&gt;

&lt;p&gt;I went through one false start with the light, it turned out I couldn't get the bulbs to hang straight but I ended up with something that while not as visually interesting was far more practical.&lt;/p&gt;

&lt;p&gt;The final light connected to the internet via an ethernet connection and fetched a single integer from a webserver, this was then used to control the flash rate of the bulbs.
The idea could very easily be reconfigured into a different form or even expanded with rgb lights to represent more data.&lt;/p&gt;

&lt;p&gt;&lt;img src="/file/942/250/350"&gt;
&lt;img src="/file/947/500/350"&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2015/4/light-bulbs-everywhere</link><guid>https://arthurguy.co.uk/blog/2015/4/light-bulbs-everywhere</guid><pubDate>Wed, 08 Apr 2015 00:00:00 +0000</pubDate></item><item><title>Interfacing with a Vending Machine</title><description>&lt;p&gt;Before Christmas &lt;a href="http://www.buildbrighton.com"&gt;Build Brighton&lt;/a&gt; procured a vending machine. This is something we had been talking about for a while but vending machines are typically large and heavy as they have refrigeration units onboard for keeping food cool so the practicalities of getting a machine into the space and finding somewhere to keep it meant this project never really went anywhere.
But what changed I hear you all saying, the typically large and heavy part! There are some vending machines that don't have refrigeration units and &lt;a href="https://twitter.com/seb_ly"&gt;Seb&lt;/a&gt; found a great one. It is a slimline machine which vends sideways and was designed to run longterm from a battery, it still cost quite a bit but at least it was useful in its current form incase we couldn't do anything with it.&lt;/p&gt;

&lt;p&gt;When the machine turned up we powered it up with one of &lt;a href="https://arthurguy.co.uk/blog/2013/8/kevin-test-run"&gt;Kevin's&lt;/a&gt; batteries and were pleased to find that the default amount for a lot of rows was 50p, the amount we were already selling the chocolate for so we loaded it up and set it to work.&lt;/p&gt;

&lt;p&gt;When we came back from Christmas we decided that it was time to start improving the vending machine so Seb and I set out to upgrade it. Rather than strip out the electronics and start from scratch we took a conservative approach and started by reverse engineering each of the key parts, dispensing coils, coin reader and keypad.&lt;/p&gt;

&lt;h3&gt;The Dispenser&lt;/h3&gt;

&lt;p&gt;The dispensing coils were the trickiest part, this unit was at the bottom on the machine and connected via a cable to the main board, it was also where the main power came in. Of the 8 wires running up 3 were identified as power, 12v, 5v and ground leaving 5 data lines.
The IC's on the lower control board were shift registers so we knew it was going to be a serial data line of some kind.&lt;/p&gt;

&lt;p&gt;Thankfully &lt;a href="https://www.saleae.com/"&gt;Logic&lt;/a&gt; came to the rescue and after an evening of testing we identified the data lines and had some Arduino code written to dispense items.&lt;br /&gt;
It turned out to be a standard setup with a clock, data, enable and latch pin. The final purple wire didn't seem to be used for anything so remains labeled as DISPENSER_PURPLE in the code.&lt;/p&gt;

&lt;p&gt;The data lines are active low so at one point during testing we disconnected the main cable allowing it to receive a lot of noise and low data signals so we got to watch as it slowly vended every food item in the machine into a big pile on the floor!&lt;/p&gt;

&lt;p&gt;&lt;img src="https://d41yxdy0atlxa.cloudfront.net/file/936/1100/400/fill-space" alt="Dispenser Failure!" title="Dispenser Failure!" /&gt;&lt;/p&gt;

&lt;p&gt;When an item is dispensed it latches out 40 data bits, our machine only has 11 rows but the board supports a lot more. The motors have some logic of their own outside of the motor control board to ensure a complete revolution without worrying about timing. To get an item to dispense you command the motor to turn for about a second and then shut it off, the idea is to rotate enough to hit one of the micro switches once this happens it carries on turning until it is complete.&lt;/p&gt;

&lt;p&gt;It took us a while to realise this is what it was doing so we ended up spending quite some time looking at the machine with puzzled expressions as sometimes it would rotate a row perfectly and other times it would only rotate a few degrees.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://d41yxdy0atlxa.cloudfront.net/file/931/1100/400/fill-space" alt="Dispenser" title="Dispenser" /&gt;&lt;/p&gt;

&lt;h3&gt;Coin Reader&lt;/h3&gt;

&lt;p&gt;I have played with a cheap coin reader before so I had an idea in my head of how this would work.&lt;/p&gt;

&lt;p&gt;The one I had looked at outputted a series of pulses, the number of these pulses would relate to the value of the coin entered, if you configure it correctly you can count the number of pulses and then multiply by a fixed number and you have the amount of money entered.
This can work really well as a user can insert multiple coins and you don't need to identify the gaps between them, just keep counting the pulses.&lt;/p&gt;

&lt;p&gt;The reader in the vending machine was a bit different and had 8 data lines, each of the 6 types of coin it accepted controlled a data line and each would emit a series of pulses when the corresponding coin was entered.
The other two pins were an output which toggled when the user pressed the reject button and an input which would stop the reader from accepting money.&lt;/p&gt;

&lt;p&gt;Interfacing was straightforward, all that was needed was to debounce the outputs so that a single pulse was received, we also ended up disabling the coin reader as soon as the first pulse was detected, this was to deal with someone entering coins to quickly.&lt;/p&gt;

&lt;p&gt;One quirk was when power was removed from the machine, our system would register that a 10p had been deposited, to solve this we only acknowledge an input if it is of a certain length.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;
An annoying issue we discovered after a couple of weeks of testing was its inability to accept the new 5p and 10p coins. This is causing a few problems so plans are underway to replace the coin mechanism with a much better system.&lt;/p&gt;

&lt;h3&gt;Keypad&lt;/h3&gt;

&lt;p&gt;The keypad was straightforward and followed standard conventions, it had a 2 column 10 row configuration and was very quick to setup.&lt;/p&gt;

&lt;h3&gt;Display&lt;/h3&gt;

&lt;p&gt;The display on the machine was a low power lcd screen, designed to keep the current draw to a minimum. We don't have power concerns as ours is going to run from the mains so we decided to switch out the display for fancy oled screen, we ended up using a cheap but nice blue oled screen controlled over an i2c data line.
This type of screen will allow us to build in a decent admin menu for controlling the system, much easier to use than the cryptic system it came with.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://d41yxdy0atlxa.cloudfront.net/file/916/1100/400/fill-space" alt="OLED Display" title="OLED Display" /&gt;&lt;/p&gt;

&lt;h3&gt;Replacing the brain&lt;/h3&gt;

&lt;p&gt;Once we had everything worked out it was time to replace the heart of the system, we used an Arduino Mega as it was what we had available and it has the memory to handle some of the features we plan to build into it.&lt;/p&gt;

&lt;p&gt;The program we have written is quite basic but it emulates the main functionality of the original system, users can enter money and choose items to vend. Money entered into the system gets tallied up and then as soon as a button is pressed it verifies the balance is enough and then vends the selected item, deducting from the stored balance. At the moment everything is 50p but this will be replaced with a local database storing the items and values.&lt;/p&gt;

&lt;p&gt;Eventually the system will be expanded to accommodate an RFID reader so members can pay for items using their balance as well as an internet connection for live feedback but for now this is up and running so we can get real world feedback about each of the parts of the machine.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2015/1/interfacing-with-a-vending-machine</link><guid>https://arthurguy.co.uk/blog/2015/1/interfacing-with-a-vending-machine</guid><pubDate>Mon, 19 Jan 2015 00:00:00 +0000</pubDate></item><item><title>Website Design with Material Design</title><description>&lt;p&gt;Back in June at the IO event Google announced the &lt;a href="https://www.google.com/design/spec/material-design/introduction.html"&gt;Material Design guidelines&lt;/a&gt;. This was a full set of design and style guidelines or at least recommended guidelines for mobile and android apps, they came up with this best practice document for building apps that work well and that people will enjoy using.&lt;/p&gt;

&lt;p&gt;I have recently built the &lt;a href="https://arthurguy.co.uk/portfolio/bbms"&gt;member site for Build Brighton&lt;/a&gt; and for the interface I used Bootstrap as it was something I was familiar with and more importantly it was a very quick way to get started. Now that the site was built and being used I decided to take a look at a redesign based on the material design guidelines.&lt;/p&gt;

&lt;p&gt;By using bootstrap the site was responsive and worked to some extent on a mobile device but it did have some issues, I also had problems with the size of the menu and placement of key action buttons.&lt;/p&gt;

&lt;p&gt;Redesigning the site took about two weeks spending the odd day here and there but it was a success. The big change was the menu moving from the top of the site to the side, this means that the menu can scroll accommodating many more items than the top menu could and it also collapses away on smaller screens. On those smaller devices I show the hamburger icon when collapsed which has become synonymous with the menu so users immediately know where to go to navigate the site.&lt;/p&gt;

&lt;p&gt;By following these design patterns I am aiming to reduce the cognitive overhead of using the site by which I mean users hopefully just know how to use things. A user won't need to think about where to go to find something as they will already be familiar with the general layout and structure from using other websites and apps.&lt;/p&gt;

&lt;p&gt;The large headers and blocks of colour introduced with the design also give me a canvas for experimenting with more visually appealing designs and importantly for me the scrolling menu can accommodate are growing set of features.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/10/website-design-with-material-design</link><guid>https://arthurguy.co.uk/blog/2014/10/website-design-with-material-design</guid><pubDate>Tue, 28 Oct 2014 00:00:00 +0000</pubDate></item><item><title>My Name In Lights</title><description>&lt;p&gt;I really enjoy making things out of wood but I don't often get a chance or have a reason but after watching some videos from the amazing &lt;a href="https://www.youtube.com/channel/UCiEk4xHBbz0hZNIBBpowdYQ"&gt;Jimmy Diresta&lt;/a&gt; I decided to spend an afternoon making a light based on something he &lt;a href="https://www.youtube.com/watch?v=cq5fMA88b04"&gt;previously made&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The key part of it was the stencil for the light to shine through, rather than using a band saw or jigsaw to cut this out I made use of the laser cutter at &lt;a href="http://www.buildbrighton.com/"&gt;Build Brighton&lt;/a&gt;. I had previously altered my AG logo to make the two letters touch slightly, I also retained the center of the A after cutting the letters out.&lt;/p&gt;

&lt;p&gt;The stencyl was then attached to a plywood surround and white acrylic glued to the sides. Rather than trying to cut each side perfectly I glued an oversized piece to each side and then used a router to cut it down, the router follows the contour of the wood below ensuring the acrylic fits perfectly, I then repeated this 5 more times.
When this was done I glued the center of the A straight onto the acrylic.&lt;/p&gt;

&lt;p&gt;I used some general purpose glue to fix the acrylic, this worked but took about 20 minutes to dry dragging out the process quite a lot. I now have some 3M Super 90 spray which from a quick test will stick acrylic to wood in seconds!&lt;/p&gt;

&lt;p&gt;The back is held on with magnets recessed and glued into the wood, its not a huge holding force but is enough to keep everything in place. Finally I used some white led sign lights that I &lt;a href="https://arthurguy.co.uk/blog/2014/4/shenzhen-electronic-markets"&gt;picked up in China&lt;/a&gt; earlier in the year, these provide enough illumination to pass through the relatively thick white acrylic.&lt;/p&gt;

&lt;p&gt;This was a quick build but turned out almost perfect, the letters blur slightly but I believe this is due to the thickness of the white acrylic and the stencyl behind.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://plus.google.com/u/0/photos/+ArthurGuy/albums/6061945637096692689"&gt;The full photo set is available on Google+&lt;/a&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/9/my-name-in-lights</link><guid>https://arthurguy.co.uk/blog/2014/9/my-name-in-lights</guid><pubDate>Sun, 28 Sep 2014 00:00:00 +0000</pubDate></item><item><title>Modern PHP Development with Laravel</title><description>&lt;p&gt;I have been using &lt;a href="http://laravel.com/"&gt;Laravel&lt;/a&gt; for a few years now, I moved onto it from &lt;a href="https://ellislab.com/codeigniter"&gt;Codeigniter&lt;/a&gt; and its now my framework of choice and something I use whenever I get the chance.&lt;/p&gt;

&lt;p&gt;I have found laravel to be very different to anything I have used previously, it has introduced me to various coding practices and design patterns that are completely unfamiliar to me.
Despite being new concepts I have embraced them but I don't think I have fully understood them.&lt;br /&gt;
I know that loose coupling, separation of concerns, dependency injection and testing are good things but I just don't really use them.&lt;/p&gt;

&lt;p&gt;I had a bit of an epiphany recently while implementing a flash messages feature described in a &lt;a href="https://laracasts.com/lessons/flexible-flash-messages"&gt;Laracasts lession&lt;/a&gt;. This involved creating a new class for setting flash messages and passing notifications around.&lt;/p&gt;

&lt;p&gt;This can be achieved very easily by default in Laravel, for example I am currently doing the following&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;App::error(function(BBExceptionsFormValidationException $exception)
{
    return Redirect::back()-&amp;gt;withInput()-&amp;gt;withErrors($exception-&amp;gt;getErrors());
});
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This catches a validation exception which contains the form errors and redirects the user back to the previous page along with them in a flash message.
The key bit is &lt;code&gt;-&amp;gt;withErrors()&lt;/code&gt;, this passes whatever you want as a flash message available in the session errors key.&lt;/p&gt;

&lt;h3&gt;So why would you want to change this?&lt;/h3&gt;

&lt;p&gt;Thats the real question that I struggled with, the alternative consisted of 3 classes; a facade, service provider and the class doing all the work. This method doesn't even improve the code above, infact it makes it more complicated.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;App::error(function(BBExceptionsFormValidationException $exception)
{
    Notification::error("Something wasn't right", $exception-&amp;gt;getErrors());
    return Redirect::back()-&amp;gt;withInput();
});
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The benefits come when you start to think about testing your code and more importantly improving and changing behaviour.&lt;/p&gt;

&lt;h4&gt;Testing&lt;/h4&gt;

&lt;p&gt;Testing the first version is not easy, if I wanted to confirm that an error message gets displayed if there is a problem you need to test the whole thing, a form submission, validation failure and then check that the error is displayed.
If this test then stops working where do you start looking, the routing, controller, validation or rules, the request response or the html that rendered the error?&lt;/p&gt;

&lt;p&gt;The second version is easy, you can look at various parts of the system and confirm exactly where things fail. You can test that the &lt;code&gt;Notification::error()&lt;/code&gt; method correctly accepts and stores a message and that its available through what ever getters are used, you can even mock the session class which handles flash messages and confirm that they are set.&lt;br /&gt;
You can also test it as a whole, setting a message and then fetching a page to confirm the error is rendered, all without messing with form submissions and triggering validation errors.&lt;/p&gt;

&lt;h4&gt;Future proofing&lt;/h4&gt;

&lt;p&gt;This is the other benefit. What if I change the form to submit data via ajax; putting the errors into a flash message for the next page load is no good, I need them immediately. With the existing system I would need to modify the exception handler and the way the requests are returned but by abstracting things I could use something like pusher to return errors.&lt;br /&gt;
It also allows me to hook in other things, what if I wanted to pass all errors to a logging system to see what problems people had? With the old method I would need to modify the exception handler again and then perhaps the auth handler to catch those errors, it becomes very messy.&lt;/p&gt;

&lt;p&gt;This has been a really fun piece of code to implement, when I set out to build this I did so because Jeffrey Way "said so" so it must be good(!) but during the process I really came to understand why its good.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/8/modern-php-development-with-laravel</link><guid>https://arthurguy.co.uk/blog/2014/8/modern-php-development-with-laravel</guid><pubDate>Sun, 31 Aug 2014 00:00:00 +0000</pubDate></item><item><title>Xively, Phant &amp; DataStore</title><description>&lt;p&gt;I have been working on a home sensor network for several months now and had been passing this data to &lt;a href="https://xively.com/"&gt;Xively&lt;/a&gt; but I started to think about the next steps, namely using this data to control devices.
To achieve this I would need to look at the sensor data and output something based on some rules. I like the idea of the sensors collecting the data potentially being the output nodes so I decided that the endpoint the sensors send their data to should subsequently respond with a data packet containing a variety of dynamically controlled values.&lt;/p&gt;

&lt;p&gt;For example if the parameter saying I am at home is true and the temperature is less than 15 degrees a heater should turn on.
This information is coming from several sensors so they can't make that decision themselves but every time a new value is posted to an endpoint that url should return a json array containing a variety of details all controlled by the data coming in.&lt;/p&gt;

&lt;p&gt;For this to work I would need to move away from Xively so I went looking for alternatives. Sparkfun recently released &lt;a href="https://github.com/sparkfun/phant"&gt;phant&lt;/a&gt; which looks ideal but its a node app and I wanted something in php that I could work with, I couldn't find anything good so I decided to build my own.&lt;/p&gt;

&lt;p&gt;It took me a few days to get the basics in place but I quickly had a system I could send data to.&lt;/p&gt;

&lt;h3&gt;The Database&lt;/h3&gt;

&lt;p&gt;I initially started out using &lt;a href="http://aws.amazon.com/dynamodb/"&gt;Amazon's Dynamo&lt;/a&gt; for the main database, my reason for this was the price as its effectively free for my data volume. Its also modern, fast and a system I hadn't used before which made me choose it, its also not suited for this purpose at all!&lt;br /&gt;
Dynamo is a key value store that has guaranteed fast reads and writes, this started out great but as I built out the back end I realised I couldn't query the system properly. I looked for an alternative and quickly settled on &lt;a href="http://aws.amazon.com/simpledb/"&gt;SimpleDB&lt;/a&gt;, this is a much older non relational database. I had used it many years ago for storing a lot of geodata but hadn't touched it since and apparently neither had Amazon.&lt;br /&gt;
Amazon appear to have abandoned the service but its got no depreciation notices so I am hopeful it will be around for a while. The key difference between the services for me was the ability to perform an sql style query, this allows me to filter the data and return only what I want for displaying in tables and graphs.&lt;/p&gt;

&lt;p&gt;The SimpleDB service has a limit of 2500 records per query which is causing some problems, a lot of the graphs have 20 to 30 thousand points which means it needs to perform up to a dozen queries. I am still looking for a way to better manage this but waiting 10 seconds for a big graph to load isn't to bad.&lt;/p&gt;

&lt;p&gt;I had started using dynamo for storing the other types of data but this quickly became unworkable so I switched those to MySQL or specifically amazons RDS service, it was then that I discovered the huge cost savings of using reserved instances. In my case I know I will need this db for a year so I can pay a large chunk upfront and only pay a minimal amount each month.&lt;/p&gt;

&lt;h3&gt;Admin Interface&lt;/h3&gt;

&lt;p&gt;Once I had the basics in place and the data was coming in correctly I could start to build out the admin interface.&lt;/p&gt;

&lt;p&gt;I wanted the ability to update data feeds, graphs and triggers from the interface rather than in the code as this would make everything a lot easier to manage.&lt;/p&gt;

&lt;p&gt;The interface has 3 main areas, streams which are the data feeds, graphs which allow me to choose a feed and data item to plot and finally triggers which can be used to send push notifications based on the incoming data.&lt;/p&gt;

&lt;p&gt;The stream pages list the raw data that is coming in and to improve the usefulness of this page I am using &lt;a href="http://pusher.com/"&gt;pusher&lt;/a&gt; to send the new data to the browser in real time.&lt;/p&gt;

&lt;h3&gt;Future&lt;/h3&gt;

&lt;p&gt;The system is currently up and running and working well, I am feeding in data from various sources and the graphs and triggers are working. The next step is the response data, this needs to be a configurable json array which can pull data from different sources including using some basic formulas.
I use Salesforce quite a bit and as much as I hate it its ability to create formula fields which are driven from various sources is really nice so I am probably going to use this as a template.&lt;/p&gt;

&lt;h3&gt;Open Source&lt;/h3&gt;

&lt;p&gt;I have made this project open source and its &lt;a href="http://github.com/arthurguy/DataStore"&gt;available on GitHub&lt;/a&gt; for anyone to download and use and improve.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/8/xively-phant-datastore</link><guid>https://arthurguy.co.uk/blog/2014/8/xively-phant-datastore</guid><pubDate>Fri, 15 Aug 2014 00:00:00 +0000</pubDate></item><item><title>Making Things</title><description>&lt;p&gt;I have just started work on a 'Drawer Slide CNC', this is basically a poor mans CNC as rather than using accurate high quality bearings and rails you use a pair of drawer slides.&lt;br /&gt;
I have started this project with the expectation that I probably won't finish it and I am perfectly happy with that.&lt;/p&gt;

&lt;p&gt;I have started work on loads of projects over the years and in most cases I lost interest along the way meaning things rarely got finished, this used to bother me as I was so close to having these cool things but didn't. For example I have a decent quadcopter sitting at home, this is something I started last year but a software issue meant I didn't finish it. The laser engraver project I started earlier in the year ended without a working system and Kevin has now been left in an incomplete state.&lt;/p&gt;

&lt;p&gt;I have recently come to the conclusion that its not the tools, toys or devices I want to play with but rather the build process I am looking forward to.&lt;br /&gt;
I really enjoy making these projects, whether thats buying parts and fitting them together, designing and printing or machining them. At some point in the project I have gotten enough enjoyment of of the process and just loose interest and the desire to have the finished item isn't strong enough to get me to continue.&lt;/p&gt;

&lt;p&gt;There are exceptions to this rule, for example if I have a specific end goal such as an event or if its a piece of paid or commercial work then that's my motivation and completing things isn't a problem but when I am building something for my pleasure it really is just the build process I am interested in.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/7/making-things</link><guid>https://arthurguy.co.uk/blog/2014/7/making-things</guid><pubDate>Wed, 23 Jul 2014 00:00:00 +0000</pubDate></item><item><title>Google Glass - so much potential but still so very far away</title><description>&lt;p&gt;A few weeks ago Google officially launched &lt;a href="https://www.google.co.uk/intl/en/glass/start/"&gt;Glass in the UK&lt;/a&gt; and to coincide with this they held a 2 day event for people to come and try out Glass.
The event was held in Camden in London in a lovely area behind Kings Cross, my initial aim was to go on Friday evening but delays meant I arrived too late and was turned away with several others, thankfully I had time the next day to try again.&lt;/p&gt;

&lt;p&gt;I went along with my girlfriend Rosa on Saturday afternoon, there was a small queue outside but not as much as the day before. The events company managing the day had created a very nice space, despite only being there for 2 days they had put some effort into doing it up; they also had people going around with various food items and a stocked fridge, all of which was completely free.&lt;/p&gt;

&lt;p&gt;Once we got in the event was very well managed, they divided people into groups and held mini inductions before letting people loose. The induction included how to wear it and set the screen, voice activation and basic navigation, once this was done you returned the device and moved onto one of several areas which had been setup to showcase various apps.&lt;/p&gt;

&lt;p&gt;Unfortunately it was at this induction stage where things started to go wrong for me.&lt;br /&gt;
The venue was noisy but not that loud and despite this it was close to impossible to get it to recognise any voice commands, the employee helping out with the induction gave me a few techniques including cupping my ear or putting my finger in my ear but this didn't help very much.&lt;br /&gt;
The speaker which provides audio queues is a bone conduction speaker so it requires contact with the skull, unfortunately this was the most useless thing of them all, the only time when I could hear anything was if I pressed it hard against my head or fully cupped my ear!&lt;/p&gt;

&lt;p&gt;At this stage rather dejected I returned the device and moved onto the first demo space.&lt;br /&gt;
The first demo was of a language translation app, you look at a sign in a foreign language and it will translate the text and display an updated image of the item on the screen. This was very impressive, the system doesn't just display the text but it displays the translated text in the same font and style as the original poster.&lt;br /&gt;
A large array of posters in a variety of languages were provided to show off this functionality. At this point I discovered one of the big drawbacks of the device, overheating.&lt;br /&gt;
When glass is used a lot especially with processor intensive tasks like this it gets very hot very quickly, thankfully it doesn't sit completely against the head otherwise it would hurt! The overheating quickly impacts performance with glass even displaying a warning on the main screen, after a few minutes of the device running hot the unit locked up and I had to switch to a new unit.&lt;br /&gt;
The other oddity at this stage was my ability to focus on the screen, one of the translated signs was a recipe with moderately small text, Rosa had no problem reading this but I couldn't. I need glasses to read things at a distance which I wasn't wearing at the time, it seems a little odd that this would impact my ability to read something so close but it seems it did.&lt;/p&gt;

&lt;p&gt;The second demo area was a music recognition app, this one performed flawlessly and was impressive. They had some loud music playing in the corner of the room and a load of glass devices running the shazam app. The app doesn't just recognize the music is displays the lyrics in time with the music!&lt;/p&gt;

&lt;p&gt;The third station was running a star map app similar to Google's &lt;a href="https://play.google.com/store/apps/details?id=com.google.android.stardroid&amp;amp;hl=en_GB"&gt;Sky Map&lt;/a&gt;, this made use of the gyro and compass to let you move around and look at the various constellations. If you paused on a particular feature it would start an audio piece describing what you were looking at, providing I was cupping my ear this again worked well.&lt;/p&gt;

&lt;p&gt;I have been following Glass since its launch so I went to this event fully aware of its capabilities but I hadn't heard about the problems before so I came away very disappointed, I am now definitely sure it isn't something I need especially with Android Wear devices coming out.&lt;br /&gt;
On the other hand Rosa hasn't been following it and only knew what was reported in mainstream media and she came away with a very positive impression of it! Rosa didn't have as many issues as I did but here expectations weren't as high mine.&lt;/p&gt;

&lt;p&gt;In conclusion this is a fascinating device but definitely not something for me (at least for now), an Android Wear device will offer a lot of the functionality of glass which is what I will be getting as soon as the &lt;a href="https://moto360.motorola.com/"&gt;Moto 360&lt;/a&gt; is launched.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/7/google-glass-so-much-potential-but-still-so-very-far-away</link><guid>https://arthurguy.co.uk/blog/2014/7/google-glass-so-much-potential-but-still-so-very-far-away</guid><pubDate>Wed, 09 Jul 2014 00:00:00 +0000</pubDate></item><item><title>Mini LCD Adapter Backpack</title><description>&lt;p&gt;Over the past month I have been working on a simple I2C adapter for the common &lt;a href="http://en.wikipedia.org/wiki/Hitachi_HD44780_LCD_controller"&gt;Hitachi&lt;/a&gt; LCD displays.&lt;br /&gt;
These adapters are already widely available but only for displays with a single row of pins and I had a couple of displays with dual row pins which I wanted to use with a microcontroller.&lt;/p&gt;

&lt;p&gt;I started this project a month ago but despite the simplicity of the design it took a while to complete as each revision of the board took 2 weeks to produce and ship from China, this is one of the reasons why I like to run several projects alongside each other.&lt;/p&gt;

&lt;p&gt;The board is based around a PCF8574, an 8 bit IO expander, it basically allows the 8 pins required for the screen and backlight to be controlled via a single I2C link.
The first board worked perfectly which I was really pleased with but the pin connections didn't match the chinese adapter I was duplicating which resulted in unwanted code changes so a version 2 was needed, I also took the opportunity with version two to add labeling for the main input pins.&lt;/p&gt;

&lt;p&gt;I initially set out to make a few of these for myself but I decided to make a few more and to list them on Tindie incase anyone else needed something like this, it was also an interesting experiment in small scale production.&lt;br /&gt;
&lt;a href="https://www.tindie.com/products/ArthurGuy/i2c-lcd-packpack/"&gt;Mini I2C LCD Adapter on Tindie&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Like the larger adapters you can get this one is designed to fit perfectly on the back of the screen&lt;/p&gt;

&lt;p&gt;&lt;img src="https://d41yxdy0atlxa.cloudfront.net/file/842/600/500" alt="LCD backpack mounted on a screen" title="LCD backpack mounted on a screen" /&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/6/mini-lcd-adapter-backpack</link><guid>https://arthurguy.co.uk/blog/2014/6/mini-lcd-adapter-backpack</guid><pubDate>Tue, 17 Jun 2014 00:00:00 +0000</pubDate></item><item><title>Internet of Things - Serial to Ethernet Adapter</title><description>&lt;p&gt;I have been working on a number of projects recently which would all require an internet connection either for fetching data or uploading data, in other words the Internet of Things!&lt;/p&gt;

&lt;p&gt;One of the easiest way to get connected is via an ENC28J60 ethernet module, these devices deal with the low level stuff and connect to your system via an SPI connection, they are also very cheap.
The problem with these boards is that they still require a lot of code to make them work, I am currently developing with an arduino and the ATmega328P microcontroller and the ethernet code takes up about 25k of the 30k thats available, this leaves very little space left for the rest of the program.&lt;/p&gt;

&lt;p&gt;One solution would be to use something more powerful like the Arduino Mega 2560 but these are very expensive. As an alternative I have opted to use two microcontrollers in the projects I am working on. One dedicated to internet communications and the other for the rest of the program, this takes up a little more space but is significantly cheaper, it's also very modular allowing me to reuse code and hardware.&lt;/p&gt;

&lt;p&gt;With this in mind I have been working on a Serial to Ethernet adapter, I have had a prototype running for a couple of weeks and I have just had back my first dedicated PCB for this project. This boards works as expected so I am about to send of the next revision of the board, I have removed some unneeded components and outputs and reduced the size a lot.&lt;/p&gt;

&lt;p&gt;I still have a few improvements to make to the software but hopefully at the end I will have a very useful little board that I can use to add an internet connection to projects and thats also very cheap, I am currently hoping for a total cost of less than &#xC2;&#xA3;3.&lt;/p&gt;

&lt;p&gt;The ATmega328P chip costs less than &#xC2;&#xA3;1 while the ATmega2560 is around &#xC2;&#xA3;10 so for situations where tasks can be easily separated into distinct parts with basic comms between them I think this is a good solution.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/5/internet-of-things-serial-to-ethernet-adapter</link><guid>https://arthurguy.co.uk/blog/2014/5/internet-of-things-serial-to-ethernet-adapter</guid><pubDate>Sat, 24 May 2014 00:00:00 +0000</pubDate></item><item><title>Laravel Forge - first impressions</title><description>&lt;p&gt;On Monday &lt;a href="https://twitter.com/taylorotwell"&gt;Taylor Otwell&lt;/a&gt; launched &lt;a href="https://forge.laravel.com"&gt;Laravel Forge&lt;/a&gt;, Forge is a service which manages hosting services such as Amazon EC2 and Rackspace servers.&lt;/p&gt;

&lt;p&gt;I have played around with &lt;a href="https://aws.amazon.com/"&gt;Amazon's services&lt;/a&gt; and considered using EC2 servers in the past but the reason I never have is the management, I might be able to get a server setup and running once but a couple of months down the line I will have forgotten how it works or even worse if there is a problem I might not be able to fix it.&lt;/p&gt;

&lt;p&gt;Laravel Forge works by connecting to your AWS account and setting up and managing servers on your behalf. It can create and setup a new instance, including the security groups, SSL certificates, firewall permissions and various services. It also configures virtual server and will deploy your code from a service such as GitHub, even redeploying when you commit code changes.&lt;/p&gt;

&lt;p&gt;I have played around with this service and its great but Forge currently doesn't handle failures and when your using a service like EC2 it is something you have to plan for. An EC2 instance can fail or be stopped at any time, currently Forge doesn't pick up on this requiring you to log in, delete the server, recreate it and then setup the sites again, as well as potentially having to update DNS servers. This can mean a lot of downtime especially if you can't get to a computer to start fixing things.&lt;/p&gt;

&lt;p&gt;In addition to server failures things can just go wrong, on Tuesday a site I was running suddenly failed, it was as if the virtual hosts had been deleted. I had no insight into why this had happened and no way to fix it, I had to delete everything and start again.&lt;/p&gt;

&lt;p&gt;It will be interesting to see how Laravel Forge develops over time, it will need enough features to provide a reliable service but as soon as you have reached that stage you're a long way down the road to providing a complete service like &lt;a href="http://fortrabbit.com/"&gt;Fortrabbit&lt;/a&gt; or &lt;a href="https://www.appfog.com/"&gt;AppFog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I think Laravel Forge is brilliant and hopefully over time it will become even better.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/5/laravel-forge-first-impressions</link><guid>https://arthurguy.co.uk/blog/2014/5/laravel-forge-first-impressions</guid><pubDate>Wed, 21 May 2014 00:00:00 +0000</pubDate></item><item><title>Tennis Balls and LED's - Increasing user engagement</title><description>&lt;p&gt;Recently I have been doing some freelance web development work for a local search marketing company called &lt;a href="http://www.propellernet.co.uk/"&gt;Propellernet&lt;/a&gt;, they are a great local company which really value their staff. One of the things they have in their office is something I tried to implement elsewhere many years ago; a simple staff happiness survey. Propellernet's implementation involves all the staff being given a plastic ball once a week, they then place it in one of three containers when leaving the building, happy, neutral, and sad.&lt;br /&gt;
The power of this type of survey is the data over time, one survey on its own is useless as there is no benchmark but when you're comparing week to week and month to month trends can be spotted and problems dealt with before they become too big.&lt;/p&gt;

&lt;p&gt;Their implementation is very simple so I decided to take a look and see how interest and engagement could be increased through user feedback. I did this as a personal project so anything I built had to be temporary and be removable at the end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Build&lt;/strong&gt;&lt;br /&gt;
In the end I decided to build an illuminated insert which would sit it in the opening, this would detect the ball passing through and provide immediate feedback in the form of a light effect.&lt;br /&gt;
I designed a plastic ring which I printed out of transparent plastic, I then attached this to a piece of drain pipe which acted as the funnel for the ball to pass through. I then mounted 8 RGB leds around the ring so their light passed through.
&lt;br /&gt;
&lt;div style="margin:20px auto; width:800px;"&gt;&lt;img src="https://arthurguy.co.uk/file/814/800/500/fill-space" alt="Ball Drop Detector" /&gt;&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;The whole point of this project was feedback which meant I needed the balls to trigger something as they passed through. The easiest way to achieve this would be a switch but sadly the balls that were being used were so light that they wouldn't trigger one. I did experiment with an optical gate but in the end it turned out switching to tennis balls was a good alternative.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Outcome&lt;/strong&gt;&lt;br /&gt;
This project worked well and I achieved what I set out to do. The end system dropped in without any modifications and worked providing immediate feedback when a ball was dropped in the hole.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Future Changes&lt;/strong&gt;&lt;br /&gt;
At the moment all that the system does is flash the light ring, this is easily expandable to do other things. An easy improvement would be to add a counter, something that will tally up the number of balls entered into each compartment. Another potential improvement would be to pass this data out to another system, adding an internet connection would be relatively easy so every time someone drops a ball through a hole this is sent off and stored in a database allowing immediate feedback to staff or management.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/5/tennis-balls-and-leds-increasing-user-engagement</link><guid>https://arthurguy.co.uk/blog/2014/5/tennis-balls-and-leds-increasing-user-engagement</guid><pubDate>Wed, 07 May 2014 00:00:00 +0000</pubDate></item><item><title>Build Brighton - I am a trustee!</title><description>&lt;p&gt;A couple of weeks ago the members of &lt;a href="http://www.buildbrighton.com/"&gt;Build Brighton&lt;/a&gt; the local hackspace voted for a new set of trustees.
I put my name forward after a poor turnout of candidates prompted the existing team to reach out to potential members. I had originally thought about putting my name forward but I have been a member for less than a year so I wasn't sure if anyone would vote for me.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;There are 3 new trustees and we join 2 existing members making a group of 5.
Build Brighton is generally managed by its members but in some cases bigger decisions need to be made which is where we come in, we are also legally responsible for the space so we take a lead in maintaining the general environment and safety.&lt;/p&gt;

&lt;p&gt;Build Brighton has been running well but there are a few immediate changes we are looking to implement, these include &lt;a href="https://plus.google.com/u/0/+ArthurGuy/posts/8e976XrMFuX"&gt;organising the health and safety equipment&lt;/a&gt;, clearing up the space and improving member storage. Hopefully when we are done the space will nicer, more coordinated and better equipped. I am really please to have been voted in and I am looking forward to working with a group of awesome people and helping the space grow.&lt;/p&gt;

&lt;p&gt;Moving forward I am looking forward to my reign as director of the space, by which I mean my part in a group of trustees!&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/5/build-brighton-i-am-a-trustee</link><guid>https://arthurguy.co.uk/blog/2014/5/build-brighton-i-am-a-trustee</guid><pubDate>Sat, 03 May 2014 00:00:00 +0000</pubDate></item><item><title>Shenzhen Electronic Markets</title><description>&lt;p&gt;Its been 3 weeks since I got back from China and I wanted to write a quick post about my &lt;a href="https://arthurguy.co.uk/blog/2014/2/heading-east"&gt;my trip&lt;/a&gt;.&lt;br /&gt;
I started off in Hong Kong where I spent 3 days exploring parts of the city and taking in as much as I could before moving on to mainland China.
Once my time in Hong Kong was over I moved an hour north to Shenzhen, just across the border. Rather than stay in a hotel I booked an &lt;a href="http://www.booking.com/hotel/cn/shenzhen-jie-si-apartment.en-gb.html"&gt;apartment&lt;/a&gt; for the week I was there. This turned out to be great; it was really cheap at only &#xC2;&#xA3;20 a night and within a 5 minute walk of the metro and a 15 minute walk of the electronics markets.&lt;/p&gt;

&lt;p&gt;I arrived a day before the Dangerous Prototypes course started so I went looking for the electronics markets. I had been building these up in my head in the lead up to the trip; they needed to be pretty amazing to live up to my expectations, thankfully I wasn't disappointed!&lt;br /&gt;
They were amazing, almost everything I wanted they had. I didn't really have a specific project in mind when I went so I bought a lot of what I would call 'useful' items. The prices varied a lot but for most of the items I was buying they were significantly cheaper than you would find in the UK. Unfortunately I was limited by a baggage allowance but I think I did a decent job of stocking up.&lt;/p&gt;

&lt;p&gt;The soldering workshop turned out to be really interesting and in addition to this were talks from others who were working in the area or had made the move to live in China. I have no plans to move to China but I know a lot more now and if I needed to head out there to make something I think I could make a decent stab of it.&lt;/p&gt;

&lt;p&gt;The final part of the trip was the &lt;a href="http://www.shenzhenmakerfaire.com/"&gt;Shenzhen Maker Faire&lt;/a&gt;, this was being held in a rather odd area of town out to the west.
The whole of Shenzhen felt very un-chinese to me, the city is very young and didn't have the opportunity to evolve over time like Hong Kong did which explains this but the Maker Faire was something else. It was held in an area of town that was even newer and it felt very European.
The Maker Faire was good but I didn't find it very exciting. Most of the stallholders were companies there to sell items rather than individuals showing off their things. There were some things to see and look at but the &lt;a href="http://www.makerfairebrighton.com/"&gt;Brighton Mini Maker Faire&lt;/a&gt; (which is the only other one I have been to) is a lot more interesting.&lt;/p&gt;

&lt;p&gt;Below is a quick video of me looking through some of the things I picked up&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/4/shenzhen-electronic-markets</link><guid>https://arthurguy.co.uk/blog/2014/4/shenzhen-electronic-markets</guid><pubDate>Tue, 29 Apr 2014 00:00:00 +0000</pubDate></item><item><title>Home Automation - Is anyone home?</title><description>&lt;p&gt;I have been interested in the idea of home automation for some time, I think most of us like the idea of things turning on or off as needed so that everything is ready when we want.&lt;br /&gt;
The closest I have gotten to actually doing something is the recent &lt;a href="http://www.youtube.com/watch?v=vTVNbUtTHjo"&gt;lighting project on my bed&lt;/a&gt;, the light now turns itself on meaning I don't have to!&lt;/p&gt;

&lt;p&gt;The idea of a light turning on automatically may seem a little silly but it goes towards making the environment we live or work in nicer and more inviting. I had hoped to improve this system with an activity sensor which detected if anyone was around but sadly this didn't work.&lt;/p&gt;

&lt;p&gt;The reason I am writing this post is because tonight I had an idea for a project which would tie into this.&lt;br /&gt;
One problem I have been looking at is knowing if I am at home or not, obviously I know but it would be nice if that data was available to other systems such as lighting or heating.&lt;br /&gt;
A switch or RFID tag could be used by the door to check in or out but this requires a physical action (which I will almost certainly forget to do) so I ruled it out.&lt;br /&gt;
Another possibility is to carry a small transmitter which paired with another device when I was in range, this is possible but does require the maintenance of the transmitter battery. The Nike+ device does allow this kind of &lt;a href="https://www.sparkfun.com/tutorials/135"&gt;hack&lt;/a&gt; and it has a very long life battery so that is probably a good choice for this type of detection.&lt;/p&gt;

&lt;p&gt;The other option that I have been playing with using my phone and the bluetooth chip.&lt;br /&gt;
I enjoy the hardware side of projects like this so I could go down the app route which uses gps data or iBeacon style location but both of these leave you with the information on the phone, I want it at the other end.&lt;br /&gt;
This evening I have been trying to use an HC-05 bluetooth module to either scan its environment and detect my mobile device or alternatively have it auto pair when in range and then check this status. The problem I have is that the bluetooth module only seems to support serial links which the phone doesn't, its possible I could make it work but I don't have much time to investigate this further.&lt;/p&gt;

&lt;p&gt;What I am going to do is leave this post as a reminder for myself; when I am in &lt;a href="https://arthurguy.co.uk/blog/2014/2/heading-east"&gt;China&lt;/a&gt; I am going to try and pick up some bluetooth modules, including a low energy device which I believe uses a different system.
My aim is to then come up with a simple piece of hardware that knows if I am at home and can then pass this data onto other systems such as the bed lighting, heating, or even a web service.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/3/home-automation-is-anyone-home</link><guid>https://arthurguy.co.uk/blog/2014/3/home-automation-is-anyone-home</guid><pubDate>Sat, 01 Mar 2014 00:00:00 +0000</pubDate></item><item><title>Heading East</title><description>&lt;p&gt;At the end of March I will be heading to China, specifically Hong Kong and Shenzhen for a little over a week.&lt;br /&gt;
A few months ago I came to the decision that this year I would go to Shenzhen to checkout the amazing electronics markets and hopefully come away with a suitcase full of awesomeness.&lt;/p&gt;

&lt;p&gt;I was hoping to make it a bit of a holiday and go with my girlfriend but she has no interest in going to China and no matter how many times I explained how cool the electronics markets were she wouldn't change her mind.&lt;br /&gt;
About 6 years ago now I went over to the US to attend Google IO, this was the year before they started giving away thousands of pounds of free stuff to attendees (I am not bitter at all!). I went over on my own and had a couple of days to explore San Francisco after the conference, this was great but I would have definitely prefered to travel with someone else.&lt;/p&gt;

&lt;p&gt;So, back to China. I was planning on going towards the end of the year once the hot summer period was over but through a rather serendipitous encounter (I read a blog post) I discovered a &lt;a href="http://dangerousprototypes.com/hackercampshenzhen/"&gt;Shenzhen introduction&lt;/a&gt; and market tour being run by &lt;a href="http://dangerousprototypes.com/"&gt;Dangerous Prototypes&lt;/a&gt;!
This is a four day event which includes a market tour, introduction to living and working in Shenzhen, language guide, advanced soldering workshop and a lot more. This finishes on Saturday and then on Sunday is the local &lt;a href="http://www.shenzhenmakerfaire.com/english"&gt;Maker Faire&lt;/a&gt;!&lt;br /&gt;
The only downside is that this event was at the beginning of April, a lot sooner than I had wanted, but being able to travel around Shenzhen with a group of people rather than by myself wasn't something I was going to miss.&lt;/p&gt;

&lt;p&gt;Not wanting to travel almost 6000 miles just for the electronics markets I decided to extend my trip and take in Hong Kong as well.&lt;br /&gt;
I will be heading out a few days earlier and staying in Hong Kong and taking in the sights before moving on to Shenzhen. As Hong Kong used to be "run" by the British I am hoping there will be enough English spoken and enough English signs to get by as after a few days trying to learn Cantonese I know I have no chance of speaking the language!&lt;/p&gt;

&lt;p&gt;&lt;small&gt;Header image courtesy of &lt;a href="http://www.flickr.com/photos/bbcworldservice/"&gt;BBC World Service&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/2/heading-east</link><guid>https://arthurguy.co.uk/blog/2014/2/heading-east</guid><pubDate>Mon, 24 Feb 2014 00:00:00 +0000</pubDate></item><item><title>Laser Engraver / Cutter build log - part 1</title><description>&lt;p&gt;After a week of experimenting I have made some decisions with my laser engraver but I still have a lot left to decide.&lt;/p&gt;

&lt;p&gt;I am going to publish regular video updates for this project, the first of which is below.&lt;/p&gt;

&lt;p&gt;I have decided to use threaded rod for the z and y axis drive shafts and I have come up with a solution for the nut backlash that goes along with this.&lt;br /&gt;
I have changed my plans for the overall shape and simplified the design down to something that seems strong yet easy to fabricate.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/2/laser-engraver-cutter-build-log-part-1</link><guid>https://arthurguy.co.uk/blog/2014/2/laser-engraver-cutter-build-log-part-1</guid><pubDate>Sun, 23 Feb 2014 00:00:00 +0000</pubDate></item><item><title>Laser Engraver - Project Idea</title><description>&lt;p&gt;Last week I stumbled across the &lt;a href="https://www.kickstarter.com/projects/1008225922/the-microslice-a-mini-arduino-laser-cutter-and-eng"&gt;MicroSlice&lt;/a&gt; on kickstarter, this is a mini laser engraver and cutter made from laser cut wood, salvaged dvd drive parts and some electronics.&lt;br /&gt;
It looks really cool but it isn't really useful enough for me to spend &#xC2;&#xA3;200 on, but its given me an idea for a new project.&lt;/p&gt;

&lt;p&gt;I would love to build something like this and I think its something I can do for less than the &#xC2;&#xA3;200 or even if I can't it should be fun.&lt;/p&gt;

&lt;p&gt;The MicroSlice has a cutting area of 50mm by 50mm which while being small is useful; at this stage I am aiming to have a cutting area of roughly 150mm by 200mm, basically an A5 piece of paper. I want to end up with a small device that can fit on a shelf so I may revise this down if needed.&lt;/p&gt;

&lt;p&gt;The laser which does the actual cutting is fairly easy to obtain, at least at low 200mW power levels. I striped a laser diode out of a DVD drive last week and found that if I mounted that into a housing with focusing lense I could engrave and burn dark coloured materials with ease and that was running straight from a bench power supply.&lt;br /&gt;
Over the weekend I received a laser driver which will allowed me to increase the power level a little more, to the point where I was just about able to cut white paper. While it's really fun holding a laser capable of cutting through things it isn't really awesome enough enough for my needs so I am exploring other options.&lt;br /&gt;
Light coloured or shiny materials reflect the light before it has a chance to heat up and do any damage, I need something powerful enough to burn despite the materials attempts to reflect the heat.&lt;/p&gt;

&lt;p&gt;The MicroSlice is entirely laster cut in either wood or acrylic, whilst this is an option open to me I would like to use 3D printed parts as much as possible. By using 3D printed parts I can design and build it at home rather than having to visit the workshop every time I need to make an alteration. I may need to use a combination of both or include another build material because for the size I am after I would need a lot of printed parts spanning some wide gaps.&lt;/p&gt;

&lt;p&gt;In addition to the frame I also need to deal with x and y movement, the MicroSlice does this with a lead screw and stepper motor from an optical drive, these are great and come as complete mechanisms but only have about 60mm of travel, I need 200mm!&lt;br /&gt;
I payed around recently with &lt;a href="http://www.youtube.com/watch?v=hGCxUjjvIBk"&gt;linear motion&lt;/a&gt; but for that project I used a timing belt. At the moment this seems a little extreme for something this small so I am currently looking at a carriage on guide rails driven by a leadscrew and stepper motor or possibly just a threaded rod.&lt;/p&gt;

&lt;p&gt;I have ordered a number of parts and over the next week I will start to put some of these together and come up with a viable design.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/2/laser-engraver-project-idea</link><guid>https://arthurguy.co.uk/blog/2014/2/laser-engraver-project-idea</guid><pubDate>Tue, 18 Feb 2014 00:00:00 +0000</pubDate></item><item><title>Narrative Clip, Life Logging and Quantified Self</title><description>&lt;p&gt;For a number of years I have been interested in the idea of the quantified self movement and collecting data about myself and my life, ideally with the aim of using it to make improvements but to be truthful I was just pleased it was being captured even if it never got used.&lt;/p&gt;

&lt;p&gt;I think my interest in this area started with &lt;a href="http://www.fitbit.com/"&gt;Fitbit&lt;/a&gt; when they first announced their activity tracking device, after waiting for what seemed like years I ended up paying a US company to buy me one and ship it over to the UK. This was great but after 12 months I ended up losing it, thankfully Fitbit were really great and replaced it free of charge but I then lost the second one after only a few months. Every time I took something out a pocket I ran the risk of knocking it off so I gave up on this idea only to start again some time later when they announced the Fitbit flex which is worn on the wrist.&lt;/p&gt;

&lt;p&gt;During this time I also started looking into location tracking and ended up using &lt;a href="https://support.google.com/gmm/answer/3001634?hl=en-GB"&gt;Google Latitude&lt;/a&gt; quite heavily. This was an opt in service which would constantly record your location and share it with whoever you chose, they also had an API which allowed me to do interesting (probably not that interesting) things with the data. I ended up building a web service which would aggregate location data from Latitude, Foursquare, Gowalla, Facebook, and Twitter storing it all in a single normalised database.&lt;br /&gt;
This was really fun and I used it for quite some time, it only got shut down when I moved hosting company and didn't set it up again, the data probably still exist in an Amazon SimpleDB somewhere.&lt;br /&gt;
Like the Fitbit I never did anything with it but it felt good capturing this information.&lt;/p&gt;

&lt;p&gt;About 5 years ago I first came across the &lt;a href="http://research.microsoft.com/EN-US/UM/CAMBRIDGE/PROJECTS/SENSECAM/"&gt;SenseCam from Microsoft Research&lt;/a&gt;, this was a camera worn around the neck and captured images based on changes in the environment, i.e. movement. One of the main aims was research surrounding memory loss, could someone be helped by reviewing images of their day. The results from these trials were successful and I believe this device is still used today for similar studies.&lt;/p&gt;

&lt;p&gt;The SenseCam eventually became the &lt;a href="http://www.autographer.com/"&gt;Autographer&lt;/a&gt;, this is basically the same but its smaller and aimed at the general public. This was released for sale sometime during 2013, many months after I had discovered and backed the &lt;a href="https://www.kickstarter.com/projects/martinkallstrom/memoto-lifelogging-camera"&gt;Memoto camera&lt;/a&gt; towards the end of 2012. &lt;br /&gt;
The Memoto eventually renamed the Narrative Clip is a life logging camera, much like the SenseCam I had eagerly followed years before. The &lt;a href="http://getnarrative.com/"&gt;Narrative&lt;/a&gt; device does roughly the same thing as the SenseCam but it doesn't include a temperature or pir sensor it simply takes a picture every 30 seconds, the pictures are then grouped into "moments" for you to relive on your phone.&lt;br /&gt;
I have now had the Narrative for just over 24 hours and I am really looking forward to making this part of my life, even if I never use the photos I am happy that they are being captured!&lt;/p&gt;

&lt;p&gt;An added bonus of the Narrative is that it also tags the images with location data and with the impending launch of the API I am looking forward to building version two of my location database, but this time I may be able to make use of some of the data to start automating other things in my life.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/2/narrative-life-logging-and-quantified-self</link><guid>https://arthurguy.co.uk/blog/2014/2/narrative-life-logging-and-quantified-self</guid><pubDate>Wed, 12 Feb 2014 11:49:37 +0000</pubDate></item><item><title>Experiments with e-paper</title><description>&lt;p&gt;I enjoy playing with new technology and one thing I hadn't experimented with before was epaper or eink.
These are the displays found within ereaders like the Kindle.&lt;/p&gt;

&lt;p&gt;The displays come in a wide range of sizes with the smaller ones being targeted &lt;a href="http://www.pervasivedisplays.com/products/panels"&gt;towards the retail market&lt;/a&gt;.&lt;br /&gt;
Most retailers refresh the shelf labels on a weekly basis when prices change or products get moved so an ideal use would be to replace all these paper tickets with epaper displays. Price updates can be transmitted over a wireless connection with the screens coming out of hibernation once a day to check or through a common data bus built into the shelf.&lt;br /&gt;
While at university I spent a bit of time working in retail and in my opinion automating this process would definitely be a worthwhile thing.&lt;/p&gt;

&lt;p&gt;The larger screens then start moving into the territory of ereaders. I bought a B&amp;amp;N nook last year when they hit &#xC2;&#xA3;30 and this has a relatively small battery about, 1500mAh, despite this it lasts for 2 months and the epaper display allows for this. The displays consume power when they update but otherwise require no power to maintain a stable image.&lt;/p&gt;

&lt;p&gt;The device I was working with was a &lt;a href="http://www.pervasivedisplays.com/products/27"&gt;Pervasive Displays 2.7"&lt;/a&gt; screen which was mounted on a &lt;a href="http://www.embeddedartists.com/products/displays/lcd_27_epaper.php"&gt;breakout board from Embedded Artists&lt;/a&gt;.&lt;br /&gt;
There are some issues with the display and things I wasn't expecting, all of which are explained in the video below.
The biggest potential issue for me is the number of pins the display requires from the microcontroller and the amount of memory needed to display dynamic content; the display will run from an arduino but only just.&lt;/p&gt;

&lt;p&gt;Sadly I can't think of a use for an epaper display so my screen will be going into my display draw for now. I might try and find a small screen and include it in something as a serial number display just for the novelty factor.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/1/experiments-with-e-paper</link><guid>https://arthurguy.co.uk/blog/2014/1/experiments-with-e-paper</guid><pubDate>Tue, 21 Jan 2014 10:41:08 +0000</pubDate></item><item><title>Chip &amp; Pin tamper detection</title><description>&lt;p&gt;While browsing eBay I spotted a chip &amp;amp; pin key pad, this was being sold as locked/broken but it was only a couple of pounds so it seemed worth it.
The pin pad arrived yesterday and after &lt;a href="http://www.youtube.com/watch?v=0FBFCaKeBS8"&gt;powering it up&lt;/a&gt; to verify it was locked I decided to dismantle it and take a look.&lt;/p&gt;

&lt;p&gt;The most interesting feature is the tamper detection circuitry. The unit is fully protected front and back making it impossible to gain physical entry to the device without tripping the systems, at this point I believe the important codes are wiped making the thing useless.
The core protection comes from a shield wrapping the back of the main circuit board, if you attempt to remove or drill into this you will trip the detection system.&lt;/p&gt;

&lt;p&gt;There have been a couple of reported hacks against this technology but these tend to be via the card microchip, malicious code can be uploaded onto the device via the chip in a hacked credit card. There is the odd physical hack but the only reports I could find were from many years ago, presumably before the detection systems improved.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/1/chip-and-pin-tamper-detection</link><guid>https://arthurguy.co.uk/blog/2014/1/chip-and-pin-tamper-detection</guid><pubDate>Fri, 17 Jan 2014 09:14:54 +0000</pubDate></item><item><title>Status Light v2 - Build Update</title><description>&lt;p&gt;I have been working on the second version of status light for a little while now and I have made progress in a few areas.&lt;/p&gt;

&lt;p&gt;One thing I wanted to improve over the first one was the mounting and general build quality, whilst the first one looked good from the outside the inside was a mess.
The top neopixel ring had a rough bit of veroboard attached which allowed me to disconnect it and the main electric imp board was held in with bluetack!&lt;/p&gt;

&lt;p&gt;The other change I wanted to make was to add a battery and remove the trinket as the electric imp people had updated their system allowing the imp to drive the neopixel ring directly.&lt;/p&gt;

&lt;p&gt;The first piece I tackled was the neopixel ring, I designed a basic pcb which would mount to the back of the board and then provide a JST connector on the front along with some basic level shifting to change the 3.3v signal from the imp into a 5v signal.&lt;/p&gt;

&lt;p&gt;The video below explains this section in more detail.&lt;/p&gt;

&lt;div class="youtube-video"&gt;
&lt;iframe width="560" height="315" src="//www.youtube.com/embed/AAc9IQthx_Y?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Having a battery onboard also requires some method for charging it so for this I opted for a &lt;a href="https://www.sparkfun.com/products/11231"&gt;sparkfun USB charger&lt;/a&gt;, this would allow be to charge and use the battery at the same time. The main electronics would be stacked like last time but this time I had a battery to fit in.&lt;/p&gt;

&lt;p&gt;I have covered some of these issues in this video.&lt;/p&gt;

&lt;div class="youtube-video"&gt;
&lt;iframe width="560" height="315" src="//www.youtube.com/embed/b9ejaXRMjPU?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;After a couple of case revisions I have come up with a design that works really well&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/1/status-light-v2-build-update</link><guid>https://arthurguy.co.uk/blog/2014/1/status-light-v2-build-update</guid><pubDate>Fri, 10 Jan 2014 13:51:04 +0000</pubDate></item><item><title>Kevin - CAN bus problems and success</title><description>&lt;p&gt;Last year when I was working through the electronic systems for Kevin I decided to implement a CAN bus to allow the various boards to talk to each other, this is the same system thats used in cars and allows for a wide range of independent systems to talk to each other over a single data connection. The CAN system is also very robust as it was designed for vehicles and safety systems, it can operate in a noisy environment and deal with mis transmissions and various other issues, the &lt;a href="http://en.wikipedia.org/wiki/CAN_bus"&gt;wikipedia article&lt;/a&gt; is definitely worth reading.&lt;/p&gt;

&lt;p&gt;Unfortunately my plans for this system run aground when I couldn't get two boards to successfully talk to each other. I tried for days to identify the problem, the issue I had was that I didn't know where the problem was, the software, the CAN controller, transceiver or the transmission line. In the end I gave up and left the project to sit.&lt;/p&gt;

&lt;p&gt;Last week I saw a demonstration of the &lt;a href="http://www.saleae.com/"&gt;Saleae Logic Analyser&lt;/a&gt;, it looked kind of useful but then I saw its ability to decode the transmitted data, something which is apparently common for these devices but I had never seen it before. It can decode all kinds of transmitted data and tell you what it is sending, this includes CAN data.&lt;/p&gt;

&lt;p&gt;I couldn't afford the Saleae device so I went for a cheap alternative on eBay, this allowed me to continue to debug the system and confirm the can controller was generating the correct data. I could see the data I wanted to send being decoded in the logic analyser, this meant that the issue was with the transmission line or the CAN transceiver which interfaced with the line. It turned out it was both! The transceiver was faulty, only transmitting on one channel, and I didn't have the required termination resistor on the data line.
Once these were solved the data started to flow!&lt;/p&gt;

&lt;p&gt;With these issues behind me I am free to carry on with these systems and hopefully start building out the electronics on Kevin.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2014/1/kevin-can-bus-problems-and-success</link><guid>https://arthurguy.co.uk/blog/2014/1/kevin-can-bus-problems-and-success</guid><pubDate>Thu, 09 Jan 2014 14:06:33 +0000</pubDate></item><item><title>Upgrading Colin</title><description>&lt;p&gt;Colin is my trusty servant, he tirelessly cleans my flat for me and his only reward is electricity (and an occasional bit of verbal abuse when he stops behind a door and blocks it).&lt;br /&gt;
He is a Roomba 520 and automatic vacuum cleaner, those things which bounce around on the floor cleaning up dirt.
I have had him for a couple of years now and despite having a cool data port on the top I have never made use of it. Over the past month I have been playing around with the Electric Imp as a quick way of adding internet connectivity to projects and thought it might be a good time to bring the two together.&lt;/p&gt;

&lt;p&gt;I set out with the intention of spending an evening on an upgrade, opening him up and connecting the imp to the data line and embedding the circuit within the casing. This bit went fairly well but some careless handling led me to short out part of the charging circuit, this delayed things as I waited for a replacement part but everything was repaired successfully. In the end the upgrade was a success and Colin is now streaming data, you can view a number of the &lt;a href="https://xively.com/feeds/811473458"&gt;sensor readings on xivley&lt;/a&gt;. At the moment the data flow is one way but it would be relatively trivial to trigger it to start or command other operations.&lt;/p&gt;

&lt;p&gt;The full details of the build can be found in the video below but after running this system for a week I have noticed a few interesting things.&lt;/p&gt;

&lt;p&gt;I connected the imp to the data lines using a long unshielded ribbon cable, this is fine normally but when Colin is running it does generate interference which damages about 50% of the data being picked up, this is a little annoying but not a big problem.&lt;/p&gt;

&lt;p&gt;As I mentioned in the video I tied the imps wakeup pin to the sleep signal for the audio amp, while this did work at the time it isn't reliable in practice, at least not without some kind of filtering. I found that if I moved Colin around it would cause the imp to wake up, this was probably due to noise entering the system somewhere and triggering the 3.3v input pin. For most of the time Colin is charging and when he isn't he is cleaning so he is rarely powered off so this became a bit of a non issue.&lt;/p&gt;

&lt;p&gt;Overall this project has been a nice mix of fail and success, at the end of it all Colin is still running well and he is now reporting his stats so I am happy.&lt;/p&gt;

&lt;p&gt;You can find the &lt;a href="https://gist.github.com/ArthurGuy/7958512"&gt;device code in this gist&lt;/a&gt; it's not the exact code thats running but should work. In addition here is the &lt;a href="https://drive.google.com/file/d/0B8C_LmimeuUBUFE5c1loc0RLOFU/edit?usp=sharing"&gt;Roomba PDF covering the data interface spec&lt;/a&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/12/upgrading-colin</link><guid>https://arthurguy.co.uk/blog/2013/12/upgrading-colin</guid><pubDate>Tue, 17 Dec 2013 12:38:10 +0000</pubDate></item><item><title>YouTube</title><description>&lt;p&gt;Over the past few weeks I have started recording videos, initially covering past projects but I am planning on moving onto more complete projects. My main motivation for doing these has been because its fun and I wanted to do something different, if other people find them interesting thats a bonus.&lt;/p&gt;

&lt;p&gt;I have done the odd piece to camera before and I have always had difficulty coming out with clear and flowing dialog, in one case I resorted to using a script. Delivery in these situations is something I want to improve, as I found recording these videos I wasn't as bad as I was expecting but there is still a lot of improvements to be made.&lt;/p&gt;

&lt;p&gt;After recording the first few videos using an old mobile phone (Samsung Galaxy S3) and a tripod mount I have bought myself a budget camcorder, a Panasonic HC-V100. I am hoping for an improvement in the sound and having the ability to see what the camera sees as I am recording will be useful.&lt;/p&gt;

&lt;p&gt;At the moment I have a couple of projects in mind that I will record the progress of but I am unsure if I will continue making these in the long term.&lt;/p&gt;

&lt;p&gt;In the meantime, check out my &lt;a href="http://www.youtube.com/channel/UCVsWV7iNsqWm1ULF3M0zDKg"&gt;YouTube channel&lt;/a&gt;!&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/12/youtube</link><guid>https://arthurguy.co.uk/blog/2013/12/youtube</guid><pubDate>Sat, 14 Dec 2013 18:15:04 +0000</pubDate></item><item><title>Gauge Display</title><description>&lt;p&gt;Over the past year or two I have done some work setting up dashboards and whilst they can be really cool the displays get a little dull over time. With this in mind I started work on a physical status gauge, something that would be more interesting to look at.&lt;/p&gt;

&lt;p&gt;The status gauge I chose to replicate was a gauge style meter, mainly because this seemed the easiest! Rather than dealing with linear movement for a bar graph a gauge uses a rotating arm which could be implemented with a single servo.
After coming up with the idea I was able to build the bulk of it using resources I already had, you can read about this in a previous &lt;a href="/blog/2013/10/a-place-to-work"&gt;post about my workshop&lt;/a&gt;.
This initial gauge worked and it looked alright; it did appear a little amateurish but this was something I was initially going for. The main issue was that it looked boring!&lt;/p&gt;

&lt;p&gt;&lt;img src="https://d41yxdy0atlxa.cloudfront.net/file/684/400/400" alt="First version" /&gt;&lt;/p&gt;

&lt;p&gt;I have access to a laser cutter at Build Brighton so I decided to build a second one out of acrylic. This would be a smaller unit as the overall size was determined by the cutting area.
I came up with a rough design in &lt;a href="http://www.3ds.com/products-services/draftsight/"&gt;DraftSight&lt;/a&gt;, (BTW this is the best software for making accurate 2d designs I have found so far) and I borrowed some acrylic and cut the first design.
This was really effective and worked well so I ordered a couple of sheets of acrylic including a frosted white one as well as some mdf for cheap prototyping.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://d41yxdy0atlxa.cloudfront.net/file/686/400/400" alt="Acrylic tests" /&gt;&lt;/p&gt;

&lt;p&gt;In the first version of the frosted acrylic gauge I taped the led strip to the back of the plastic, this worked well but the tape could be seen from the front and didn't look very good, this problem was going to apply to anything pressed against the surface.
Because of this I came up with the sandwich design with the middle layer having a cutout for the lights to sit in, this way the only thing visible from the front is the cutout and because that follows the arc of the arrow it looks like it should be there.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://d41yxdy0atlxa.cloudfront.net/file/682/400/400" alt="First version" /&gt;&lt;/p&gt;

&lt;p&gt;Like the &lt;a href="/blog/2013/12/status-light-and-product-development"&gt;status light&lt;/a&gt; the electronics are basically the same, an &lt;a href="https://electricimp.com/"&gt;electric imp&lt;/a&gt;, &lt;a href="http://www.adafruit.com/products/1501"&gt;trinket&lt;/a&gt;, &lt;a href="http://www.adafruit.com/products/1138"&gt;neopixel strip&lt;/a&gt; and a servo; the servo bolts into the middle and the electronics mount to the back in a 3d printed case.&lt;/p&gt;

&lt;p&gt;This build took a little longer than I had planned for but that was because of a few design decisions which took a while to make.
The latest gauge design can be built fairly quickly, the longest bit comes from turning the straight neopixel strip into a curved one which involved cutting it at each break point and re-soldering at an angle.
Like all projects there are a few improvements that can be made but otherwise it is a complete project.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/12/gauge-display</link><guid>https://arthurguy.co.uk/blog/2013/12/gauge-display</guid><pubDate>Wed, 04 Dec 2013 14:00:42 +0000</pubDate></item><item><title>Status Light / Product Development</title><description>&lt;p&gt;A couple of months ago I decided to try and move into product development, not a complete switch of career but perhaps moving a percentage of my time to building real things.
This is a change that has no clear path at least from an income perspective so as a way in I have been spending some of my spare time designing and building devices which have a connection to the work I am doing with my existing clients.&lt;/p&gt;

&lt;p&gt;The first item was a status gauge which I will write about separately, the second item was something I initially called the status puck. This is a hockey puck shaped glowing device which showed me the result of a series of tests run against a project I am working on. The tests are run by a service called &lt;a href="https://www.codeship.io/"&gt;Codeship&lt;/a&gt; and they provide a simple output with 3 possible states. These tests are run by multiple people working on the project so this light would represent the overall state of the code providing the team with a quick insight into the validity of the code.&lt;/p&gt;

&lt;p&gt;The project took a number of evenings over a week or two to complete and during this time I came up with the overall design and went through multiple 3D printed prototypes. Having access to a 3D printer allowed me to quickly make revisions and tweak the design. In the end I went through about 3 versions of each part and came up with something that clips together without any adhesives and provides a place for the electronics to sit. I was also able to test different colours; in the end a simple black case looked the best.&lt;/p&gt;

&lt;p&gt;The electronics are a &lt;a href="http://www.adafruit.com/products/1463"&gt;neo pixel ring&lt;/a&gt; for the light and a &lt;a href="http://www.adafruit.com/products/1501"&gt;trinket&lt;/a&gt; to control this, internet connectivity is provided by an &lt;a href="http://electricimp.com/"&gt;electric imp&lt;/a&gt;. The Imp and trinket are connected by a 2 wire link which is currently set-up to relay 4 states but the aim is to move over to a spi or possibly i2c connection.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/12/status-light-and-product-development</link><guid>https://arthurguy.co.uk/blog/2013/12/status-light-and-product-development</guid><pubDate>Sun, 01 Dec 2013 20:01:49 +0000</pubDate></item><item><title>A Simple Business Expenses App</title><description>&lt;p&gt;I use &lt;a href="http://www.crunch.co.uk/?c2c=arthuag2bl"&gt;Crunch&lt;/a&gt; Accounting to manage my business finances and after a bit of &lt;a href="https://twitter.com/simonlush/status/402790421815754752"&gt;controversy&lt;/a&gt; recently about charging for an expense logging app, I decided to try building my own simple web app. The official app, Snap, used people and OCR to convert pictures of receipts into actual expense entries (this is why its worth the monthly fee), I knew I couldn't achieve this but most expenses are just a supplier, description and price so that could be easily entered on its own.&lt;/p&gt;

&lt;p&gt;In addition to capturing these pieces of information I decided to try capturing expense images using the &lt;a href="http://www.w3.org/TR/html-media-capture/"&gt;html capture tag&lt;/a&gt; on file input fields which triggers the camera on mobile devices. This turned out to be a great feature, so simple but the experience is brilliant.&lt;/p&gt;

&lt;p&gt;I decided to build this app on my website as it meant I already had a framework and hosting in place, in addition I would be using an SDK I had been developing for the Crunch API both of these meant the development turned into something very simple that was complete in about an hour.&lt;/p&gt;

&lt;p&gt;The pertinent code can be found in this &lt;a href="https://gist.github.com/ArthurGuy/7598288"&gt;gist&lt;/a&gt; and is designed for the &lt;a href="http://laravel.com/"&gt;laravel&lt;/a&gt; framework. This does require access to the SDK which hasn't been publicly released yet but this shouldn't be long.&lt;/p&gt;

&lt;p&gt;This version of the app doesn't include any authorisation and it assumes you already have an oauth token for yourself. For my purposes this was all I needed but I am going to release another version of the app shortly which anyone can use. - And here it is! &lt;a href="https://arthurguy.co.uk/crunch"&gt;Crunch Expenses App&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The final nicity which finished this project off is the &lt;a href="https://developers.google.com/chrome/mobile/docs/installtohomescreen"&gt;add to homescreen&lt;/a&gt; option which in chrome at least turns a web page into a mini app, when loaded via the homescreen link the app will load without any of the normal chrome browser elements such as the address bar.&lt;/p&gt;

&lt;p&gt;In conclusion I am really pleased with this project, it didn't take long and the result was something that will hopefully be useful. Time will tell if I switch over to using this app or if I go back to Snap.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/11/a-simple-business-expenses-app</link><guid>https://arthurguy.co.uk/blog/2013/11/a-simple-business-expenses-app</guid><pubDate>Fri, 22 Nov 2013 10:04:49 +0000</pubDate></item><item><title>Making money, easy as pi</title><description>&lt;p&gt;Last week I set up a bitcoin mining rig based on the raspberry pi, for a number of months I have been using a small USB block eruptor plugged into the laptop I am using for my 3d printer. This has been working well but I fancied a slightly cooler solution. A while ago I came across an adafruit tutorial for setting up a &lt;a href="http://learn.adafruit.com/piminer-raspberry-pi-bitcoin-miner"&gt;bitcoin mining rig with a raspberry pi&lt;/a&gt; and after putting it off for a couple months I made the decision to have a go.&lt;/p&gt;

&lt;p&gt;The tutorial doesn't cover the whole process as it assumes you have the pi setup with SSH access and installed the library for the LCD screen. They do provide links to articles to get this bit running. The process of setting it up is straightforward and worked well; it is great seeing something appear on the screen, in my case this is the first time I have done anything with a raspberry pi other than powering it up.&lt;/p&gt;

&lt;p&gt;After running it for a week I have found the system to be a little intermittent, sometimes it doesn't start up or locks up but when it's running it's fairly reliable. I have a second blockeruptor on order as well as a &lt;a href="https://products.butterflylabs.com/homepage/5-gh-s-bitcoin-miner.html"&gt;butterfly labs 5Gh/s miner&lt;/a&gt;, these should all be able to run from this one system.&lt;/p&gt;

&lt;p&gt;The thing I like the most about this project is the &lt;a href="http://proto-pic.co.uk/adafruit-blue-and-white-16x2-lcd-keypad-kit-for-raspberry-pi/"&gt;Adafruit LCD display&lt;/a&gt; which shows the status of the miner. This uses a python script which fetches data and outputs it to the screen, this is simple enough that I have been able to fork the code and make my own updates so that it removes stats I don't need and displays a few others.
Overall I am impressed with the setup but I am even more impressed with the way it has made me take a real look at python programming on the raspberry pi.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/11/making-money-easy-as-pi</link><guid>https://arthurguy.co.uk/blog/2013/11/making-money-easy-as-pi</guid><pubDate>Mon, 11 Nov 2013 22:32:33 +0000</pubDate></item><item><title>A place to work</title><description>&lt;p&gt;A couple of months ago I made the decision to rent a small workspace.&lt;br /&gt;
After using the facilities at &lt;a href="http://www.buildbrighton.com/"&gt;Build Brighton&lt;/a&gt; for various projects I was running into the problem of not having anywhere to leave work, materials or resources. The back of my car started to fill up with wood and metal offcuts which was becoming a little silly, I also had to drive for an hour back to my parents house when I needed to collect some of my less used equipment.&lt;/p&gt;

&lt;p&gt;Two months ago after thinking about this for a while a workshop opened up in the &lt;a href="http://www.rodhus.co.uk/"&gt;Rodhus&lt;/a&gt; complex under the Build Brighton workshop, this was fantastic timing and I jumped straight in and took on the lease.&lt;/p&gt;

&lt;p&gt;Since moving in I have moved a lot of my stuff over to the workshop and I have worked on a number of projects but last night the real benefit of having a place like this became apparent. I had come up with an idea to build a web connected physical status monitor for tracking sprints at one of my clients offices. After finishing a project off last night I had a bit of time left and just using leftover materials I was able to start and build the bulk of this system. I constructed a base to hold the electronics and servo and played around with prototyping an arrow for the gauge.
Tonight I will be finishing off the arrow and fixing the servo mounting, after a couple more coats of paint the construction will be complete bar the electronics.&lt;/p&gt;

&lt;p&gt;This is a small project so it isnt a huge feat but it was wonderful not to have to plan ahead and buy materials, I could just start and work with what I had.&lt;br /&gt;
Once the electronics are up and running I will put up another post about this project.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/10/a-place-to-work</link><guid>https://arthurguy.co.uk/blog/2013/10/a-place-to-work</guid><pubDate>Wed, 30 Oct 2013 12:50:46 +0000</pubDate></item><item><title>3D Printer cabinet - Weekend build</title><description>&lt;p&gt;A couple of weeks ago I came up with the idea of building a cabinet/table/storage thing for my 3D printer.&lt;/p&gt;

&lt;p&gt;Its aim was to solve a couple of things: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stability, its original table moves around quite a bit when making fast small moves and I wanted to reduce these vibrations. &lt;/li&gt;
&lt;li&gt;Temperature, as winter is coming I wanted to reduce drafts and try and keep the print bed enclosed and warm to help with the printing. &lt;/li&gt;
&lt;li&gt;Storage, I wanted somewhere to store the filament and laptop that goes with the printer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On the week leading up to the weekend I had free I came up with some plans for building a table with enclosed cupboard below a fixed back and perspex sides which opened up while the lid and front would be removable perspex panels.&lt;/p&gt;

&lt;p&gt;On Saturday I started by building the back panel and then the cupboard, it was at this point I realised this wasn't going to go to plan! I decided to build this out of 9mm ply and reinforce with a 2x1" frame, unfortunately this wasn't strong enough and the whole thing had a lot more flex to it than I wanted. The back panel which supports all the upper components flexed too much.&lt;/p&gt;

&lt;p&gt;The next day I finished off the main body and then cut the sides and cupboard doors and gave it a rough coat of paint.&lt;/p&gt;

&lt;p&gt;Over the next two weeks when I had the time I spend a couple of hours an evening finishing it off, I changed the way the main side panels were hinged, made a lid and fitted the hardware. Most of the two weeks were spent giving it coats of paint as parts such as the lid and sides needed several coats on each side.
The one part I wasn't expecting to work was the pneumatic lift on the lid, I needed some way to hold the lid up so I tried out a lift used on top opening cupboard doors, this part of the build worked perfectly!&lt;/p&gt;

&lt;p&gt;I gave the cabinet a final spray of paint on the Saturday two weeks after starting and then moved it in on the Sunday.&lt;/p&gt;

&lt;p&gt;This project didn't go entirely to plan and it certainly didn't take a weekend. I was overambitious with the perspex sides but I did achieve what I set out to make. Time will tell if it's strong enough.&lt;/p&gt;

&lt;p&gt;There are a couple of pictures below but the 
&lt;a href="https://plus.google.com/photos/106085881156230757470/albums/5932663448170825585"&gt;full album can be found on Google+&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="/file/486/400/600" alt="Progress on Saturday" /&gt;
&lt;img src="/file/494/400/600" alt="Progress on Sunday" /&gt;
&lt;img src="/file/574/400/600" alt="The finished cabinet" /&gt;
&lt;img src="/file/582/400/600" alt="Cabinet with printer in" /&gt;&lt;/p&gt;

&lt;iframe width="853" height="480" src="//www.youtube.com/embed/dj00z6ZAe4k?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
</description><link>https://arthurguy.co.uk/blog/2013/10/3d-printer-cabinet-weekend-build</link><guid>https://arthurguy.co.uk/blog/2013/10/3d-printer-cabinet-weekend-build</guid><pubDate>Mon, 14 Oct 2013 10:58:54 +0000</pubDate></item><item><title>3D Printer</title><description>&lt;p&gt;A few weeks ago I received a 3D printer, this is something I had been planning to get for a while so when I saw a decent looking device for sale in &lt;a href="http://www.maplin.co.uk/3d-printer"&gt;Maplin&lt;/a&gt; last month I jumped at the chance.
The printer is a &lt;a href="http://www.k8200.eu/"&gt;K8200&lt;/a&gt; from Velleman which is actualy a &lt;a href="http://reprap.org/wiki/3drag"&gt;3Drag&lt;/a&gt;, it uses a very solid construction and has a 20x20x20cm build area so it can produce some large prints.&lt;/p&gt;

&lt;p&gt;When I bought it I expected a complete printer but instead it came in kit form delivered in a large box containing hundreds of parts.
&lt;div class="col-12 col-sm-6"&gt;&lt;img src="/file/394/500/300/fill-space" alt="3D Printer parts" title="3D Printer parts" /&gt;&lt;/div&gt;
&lt;div class="col-12 col-sm-6"&gt;&lt;img src="/file/410/500/300/fill-space" alt="Extruder" title="Extruder" /&gt;&lt;/div&gt;
&lt;div class="col-12"&gt;
&lt;p&gt;The build process took about 12 hours as I carefully worked through the various stages. It was a fun build and apart from one washer everything was there, considering how many parts were in the box it was impressive.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="col-12 col-sm-6"&gt;&lt;img src="/file/422/500/300/fill-space" alt="3D Printer" title="3D Printer" /&gt;&lt;/div&gt;&lt;div class="col-12 col-sm-6"&gt;&lt;img src="/file/430/500/300/fill-space" alt="3D Printer" title="3D Printer" /&gt;&lt;/div&gt;&lt;/p&gt;

&lt;div class="col-12"&gt;
&lt;p&gt;The printer worked perfectly first time, other than calibrating the x,y and z axis by adjusting the endstops it didn't require any other setup.&lt;/p&gt;
&lt;p&gt;The only annoyance is that the print bed isn't level, it bulges in the middle so for larger prints the head starts out 2-3mm from the base which means it sometimes has trouble putting down the first layer. A common solution to this is using a piece of glass as this will be perfectly level, unfortunately the heating element in the print bed is quite weak so I don't think it will fully heat the glass.&lt;/p&gt;
&lt;p&gt;I am on the lookout for an improved bed but in the meantime it is still usable but I do have to turn up the flow rate on the first layer to ensure it adheres properly.&lt;/p&gt;
&lt;/div&gt;
</description><link>https://arthurguy.co.uk/blog/2013/8/3d-printer</link><guid>https://arthurguy.co.uk/blog/2013/8/3d-printer</guid><pubDate>Thu, 15 Aug 2013 13:20:02 +0000</pubDate></item><item><title>Kevin's first test run</title><description>&lt;p&gt;I finally managed to get kevin outside at the weekend for a proper test run. This is the first time the base electrical systems including the motor controllers have been tested and they performed flawlessly.&lt;/p&gt;

&lt;p&gt;I ran the system from an RC controller feeding directly into the motor controllers; it was running from two 12v batteries to supply the 24v the motors are rated for.&lt;/p&gt;

&lt;p&gt;On the initial power on Kevin took off at full speed, a very unexpected event but after a quick calibration of the RC controller it was behaving as intended.
Firstly Kevin moves a lot faster than I was expecting it to, it travels at a fast walking pace something I was very pleased with.
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/jlwKNt0eKTs?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;The skid steering didn't perform well when I was testing it at 12v but after switching up to 24v these problems went away and the sheer force dragged it around. As you can see in the video below it doesn't have any problem moving over different types of terrain and even with me sitting on top it quite happily dragged me up a hill.
&lt;iframe width="560" height="315" src="//www.youtube.com/embed/AFqnauI4k4I?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Hopefully in the next few weeks after the traction control system has been built I will take it out again and try it over some more varied ground.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/8/kevin-test-run</link><guid>https://arthurguy.co.uk/blog/2013/8/kevin-test-run</guid><pubDate>Mon, 12 Aug 2013 15:01:04 +0000</pubDate></item><item><title>The frame is finally complete</title><description>&lt;p&gt;After a month or more of work the steel frame for Kevin is complete and painted. This is something I have been looking forward to for a long time as it means I can start attaching components and running cables.&lt;/p&gt;

&lt;p&gt;I have spend a while getting to this stage, making sure everything is as planned out as it can be as once things go on it's going to be very difficult to make modifications. Welding and spraying new parts will probably require components to be removed and/or masked off.&lt;/p&gt;

&lt;p&gt;The frame as it stands includes mounting options for the motors, batteries, motor controllers, power distribution box, a motor control sub system as well as rails for some sensors. There is more to go on such as the main control system boxes but I need to draw a line under the build of the frame and this seems like a good point.&lt;/p&gt;

&lt;h3&gt;Design Process&lt;/h3&gt;

&lt;p&gt;I started out the build with a simple sketch of the center layer showing how the motors would mount to the frame, I then added some battery mounts and reinforcements, all sketched out first in a notebook so I could get the measurements correct.
Once this centerpiece was complete I needed to start work on the frame above and below the midpoint, I tried sketching this out but I had trouble visualising how everything would come together and how it would look. To get past this I turned to the computer and &lt;a href="http://www.sketchup.com/"&gt;Sketchup&lt;/a&gt;, something I have always put off when doing this type of work.&lt;/p&gt;

&lt;p&gt;I have played around with Sketchup in the past but I found it very slow going and came to the conclusion that it would most likely hinder my working process by slowing everything down.
Despite this one evening I sat down and spent about 6 hours in front of the computer slowly recreating what I had already built. It took awhile to get the hang of it but it was a fun process and at the end I had a perfect 3d representation of what I had built.&lt;/p&gt;

&lt;p&gt;With the model in hand I started adding components and metalwork and building out the rest of the frame, it took a few weeks playing around with the design but I ended up with something that worked. With a 3d model that looked good and fitted the components that needed to go on I set about finishing the work for real.&lt;/p&gt;

&lt;p&gt;Below you can see the 3d model I created as well as the actual frame, they are almost millimeter perfect copies.&lt;/p&gt;

&lt;div class="canvas" style="height:400px;"&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src="/file/310/900/500/fill-space" style="display:block;margin:0 auto;" /&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/7/kevin-frame-complete</link><guid>https://arthurguy.co.uk/blog/2013/7/kevin-frame-complete</guid><pubDate>Sun, 28 Jul 2013 01:15:47 +0000</pubDate></item><item><title>New ArthurGuy.co.uk website</title><description>&lt;p&gt;After a couple of weeks working on the site in my spare time it is finally complete. This site is built using the Laravel framework on the backend and the new bootstrap v3 css framework for the front end, the site is still hosted on Pagodabox but I have fully integrated Amazon S3 storage into the media library in order to improve reliability (Pagodabox's writeable storage doesn't work very well). One of the benefits of using the bootstrap framework is that the site is now fully responsive and works fairly well on mobiles.&lt;/p&gt;

&lt;p&gt;One of the features I copied over from the old site was the ajax loading of the pages, coupled with the javascript history api it makes (I believe) for a nicer browsing experience. With the old site I fetched the entire html page and then extracted the bits I needed, this time I went one better and detected the ajax request on the server and only returned the relevant content.&lt;/p&gt;

&lt;p&gt;Within Laravel the controllers return their views by passing them through the following function&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;protected function output(IlluminateViewView $view, $title=null)
{
    if (Request::ajax())
    {
        return Response::json(array(
            'html' =&amp;gt; (string)$view,
            'title' =&amp;gt; $title
        ));
    }
    else
    {
        return $view;
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I have placed this function in the base controller and it is called like this from each of the controllers&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;return $this-&amp;gt;output(View::make('blog/index'), 'Blog');
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It is possible this could be implemented using Laravel's filters, but this isn't something I have explored yet.&lt;/p&gt;

&lt;p&gt;One other change I have been looking forward to making is switching the site over to SSL only. Running a secure site is something I &lt;a href="/blog/2011/11/ssl-website-security"&gt;previously advocated&lt;/a&gt; but I didn't for purely practical reasons, cost, Pagodabox charge $20 a month for hosting the SSL certificate. After some recent discussions trying to convince a client that SSL doesn't impact SEO I thought it was a bit hypocritical for me to keep on pushing it but not do it myself, hopefully I won't be proved wrong!&lt;/p&gt;

&lt;p&gt;Now the site is up and running I can focus on getting some of the smaller bits that I skipped for the launch finished such as sitemaps and rss feeds.&lt;/p&gt;

&lt;p&gt;The other thing I am trying out on this site are Google+ comments for some blog posts, not sure if this is going to be a good idea yet, only time will tell.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/7/new-website</link><guid>https://arthurguy.co.uk/blog/2013/7/new-website</guid><pubDate>Sat, 27 Jul 2013 12:12:44 +0000</pubDate></item><item><title>Kevin's unnecessary but cool control board</title><description>&lt;p&gt;One of Kevin's control boxes will be a large fuze/switch box. The battery banks will feed into here and the power will be distributed to the motor controllers and other power systems. Within the box is a switch and a couple of fuses, very simple.&lt;/p&gt;

&lt;p&gt;This was a little too simple for me so I have added an additional sensor board, this will monitor the main power supply voltage and current consumption and I have also thrown in a temperature sensor as well.&lt;/p&gt;

&lt;p&gt;I am going to be using a small &lt;a href="http://www.adafruit.com/products/661"&gt;OLED display&lt;/a&gt; mounted in the lid to output the status of these sensors, this is a great little screen which draws very little power and is visable across a wide range of light conditions, and it looks good!
This is driven by an arduino pro mini which reads the sensor values and then displays the readings along with a summary, I will hopefully pass these sensor readings along to other devices on the robot which may need it.&lt;/p&gt;

&lt;p&gt;&lt;img src="/file/222/700/600" /&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/7/kevins-unnecessary-but-cool-control-board</link><guid>https://arthurguy.co.uk/blog/2013/7/kevins-unnecessary-but-cool-control-board</guid><pubDate>Thu, 11 Jul 2013 21:04:22 +0000</pubDate></item><item><title>Kevin gets some battery mounts</title><description>&lt;p&gt;After building the &lt;a href="/blog/2013/06/kevin-robotics-platform"&gt;core of Kevin&lt;/a&gt; I have now added a mounting frame for the battery, this is a straightforward mounting in the center of the frame which will accommodate up to 8 12v batteries.
This is constructed from several lengths of L shape steel which form the sides and bottom of the battery tray. At the moment the plan is to use straps to secure the batteries down, this will mean full height sides and a top bracket don't need to be built as I did with the previous vehicle.&lt;/p&gt;

&lt;div class="row"&gt;
&lt;div class="col-6"&gt;
&lt;img src="/file/189/600/500" /&gt;
&lt;/div&gt;
&lt;div class="col-6"&gt;
&lt;img src="/file/177/600/500" /&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The wheelchair motors draw less than 5A under no load and during testing this peaked at about 15A, this will most likely increase a bit more under stall conditions. The controller I have chosen is a pair of &lt;a href="http://www.dimensionengineering.com/products/sabertooth2x25"&gt;2x25 Sabertooth controllers&lt;/a&gt;, these aren't as high capacity as I would have liked but the next model up a 60A device which costs a lot more. The controllers will be mounted in metal boxes at either end of the frame.&lt;/p&gt;

&lt;p&gt;The controller boxes can be seen in the image below, they are infact upside down and back to front!&lt;/p&gt;
&lt;img src="/file/158/650/500" /&gt;&lt;/p&gt;

&lt;p&gt;You can follow the &lt;a href="https://plus.google.com/photos/106085881156230757470/albums/5888367709951369809"&gt;build photos on Google+&lt;/a&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/6/kevin-gets-some-battery-mounts</link><guid>https://arthurguy.co.uk/blog/2013/6/kevin-gets-some-battery-mounts</guid><pubDate>Fri, 14 Jun 2013 03:06:00 +0000</pubDate></item><item><title>Kevin - robotics platform</title><description>&lt;p&gt;
After reviving my &lt;a href="/blog/2013/03/robotics-platform-reborn"&gt;robotics platform&lt;/a&gt; I encountered some serious problems with the durability of the system. The motors are very powerful but they are slow and the wheel mounting isn't very good, the motor shaft attaches to the wheel with a pin which is shearing under very high loads.
&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
With these fundamental problems with the platform I have decided to build a new system. The new platform will be powered by 4 wheelchair motors and have a stronger welded frame, I have also decided to call it Kevin! (for no particular reason).&lt;br /&gt;
The wheelchair motors will give it the power and strength to move its own weight along with hopefully a person sitting on top! It should also travel at 5 to 10 mph much faster than the 3mph of the existing system.
&lt;/p&gt;&lt;/p&gt;

&lt;div class="row"&gt;
&lt;div class="col-6"&gt;
&lt;img src="/file/205/600/500" /&gt;
&lt;/div&gt;
&lt;div class="col-6"&gt;
This is the start of the frame, it will form the core of the robot and will have a motor will be mounted in each of the corners.&lt;br /&gt;
In addition to the motors this center frame will also hold the batteries and motor controllers, these components together will provide the minimum needed to get the platform moving.
&lt;/div&gt;

&lt;/div&gt;
</description><link>https://arthurguy.co.uk/blog/2013/6/kevin-robotics-platform</link><guid>https://arthurguy.co.uk/blog/2013/6/kevin-robotics-platform</guid><pubDate>Wed, 05 Jun 2013 03:06:58 +0000</pubDate></item><item><title>Robotics platform reborn</title><description>&lt;p&gt;
    Today I took the first steps in reviving an old project, the &lt;a href="/about/projects/robotics/robotic-platform"&gt;robotic platform&lt;/a&gt;. This was a project I started towards the end of 2009, I abandoned it as soon as it reached the software stages and the fun construction parts had been done.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    The aim of todays work was to confirm the robot still moved and find out what parts worked. The robot used a very versatile motor controller which accepted a variety of input signals, at the time I was controlling this over a serial interface but to simplify the testing I made use of the servo style pwm inputs.&lt;br /&gt;
    I connected the motor controller to the outputs of a spare receiver for my quadrocopter remote and rigged up a pair of batteries, also from the quadrocopter, to provide almost 24v.&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;
    &lt;a href="http://static.arthurguy.co.uk/blog_content/robot-receiver-testing.jpeg" target="_blank"&gt;&lt;img src="http://static.arthurguy.co.uk/blog_content/robot-receiver-testing-thumb.jpeg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;
    You can see in the image above the motor controllers on the left patched into the receiver on the right.&lt;/p&gt;
&lt;p&gt;
    I was hopeful it would still work and thankfully it did, a little slower than I remember but that may be because of the slightly low battery voltage.&lt;br /&gt;
    I am not going to be running this from an onboard computer anymore so I removed almost all of the electronics which were designed to connect via USB, I now have a bare platform with a pair of motor controllers that is still able to move around with a person standing on it!&lt;/p&gt;
&lt;p&gt;
    You can just about see the robot moving around below&lt;br /&gt;
    &lt;iframe allowfullscreen="" frameborder="0" height="540" src="http://www.youtube.com/embed/xU8OAmCFPWg?rel=0" width="300"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2013/3/robotics-platform-reborn</link><guid>https://arthurguy.co.uk/blog/2013/3/robotics-platform-reborn</guid><pubDate>Sat, 30 Mar 2013 04:03:37 +0000</pubDate></item><item><title>Crunch Accounting</title><description>&lt;p&gt;First off, if you have looked at my &lt;a href="https://arthurguy.co.uk/portfolio" title="Portfolio"&gt;portfolio&lt;/a&gt; you will see I have done some work for &lt;a href="http://www.crunch.co.uk/?c2c=arthuag2bl" title="Crunch Accounting"&gt;Crunch&lt;/a&gt; so I may be a little biased but I am also a customer so I do believe my comments are fair.&lt;/p&gt;

&lt;p&gt;As you probably worked out from the title&#xC2;&#xA0;&lt;a href="http://www.crunch.co.uk/?c2c=arthuag2bl" title="Crunch Accounting"&gt;Crunch&lt;/a&gt; is an accounting firm, they cater to small businesses, specifically limited companies; they offer a software product and most interestingly an integrated human accounting service which accompanies it.&lt;/p&gt;

&lt;p&gt;The software product is very similar to the service offered by companies like &lt;a href="http://www.freeagent.com/"&gt;Freeagent&lt;/a&gt;, &lt;a href="http://www.xero.com/"&gt;Xero&lt;/a&gt; and &lt;a href="http://www.kashflow.com/"&gt;Kashflow&lt;/a&gt; but in my opinion with an extra layer of simplification that is generally a very useful thing. The service is designed to offer the best level of tax savings to its users, this means that things have to be done in a certain way and to achieve this many options in the software are very rigid in the way they work.&lt;/p&gt;

&lt;p&gt;Before switching to Crunch I used Freeagent, if you compare the software some features are missing which took me a while to get used to but most of the missing options will hopefully be in place by Christmas.&lt;/p&gt;

&lt;p&gt;The unique service offered by Crunch which I haven't found elsewhere is the fact that you have quick and easy access to a real accountant and a support team, I can usually figure most things out but sometimes its just better to contact a real person. With other services you need to either manage the tax side of things yourself or find an accountant which may work with the system you have chosen or some more traditional accountants will give you a spreadsheet to manage your finances and they will then deal with inputting these on a monthly basis (yes, seriously!). With Crunch your compromising a little on the range of services you could get from your accountant (e.g. multiple share classes) but you get a very joined up service which in my opinion is second to none.&lt;/p&gt;

&lt;p&gt;If you are looking for an accountant or even if you have one I would&#xC2;&#xA0;recommend&#xC2;&#xA0;taking a look and demoing the software and seeing if its right for you.&lt;/p&gt;

&lt;p&gt;If you do sign up you can use the Crunch squared referral code also know as a c2c code &lt;strong&gt;arthuag2bl&lt;/strong&gt; and we will both get a &#xC2;&#xA3;25 amazon voucher!&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2012/10/crunch-accounting</link><guid>https://arthurguy.co.uk/blog/2012/10/crunch-accounting</guid><pubDate>Tue, 23 Oct 2012 02:10:00 +0000</pubDate></item><item><title>Website analytics</title><description>&lt;p&gt;
    Lately I have been working with a couple of website analytics and event tracking services, Google Analytics is normally my goto service for this type of thing but it has a lot of limitations especially when you want to delve into the behaviours of specific users.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    I had a project where I wanted to track the behaviour of registered users, specifically the types of content the users were interested in and what features they were engaging with. My first thought was to build an event tracking system into the site which would log activity along with the users member id, this way I could easily pull out stats related to each user. This approach would have worked but I don&amp;#39;t like to reinvent the wheel so I went looking for a pre built solution.&lt;/p&gt;
&lt;p&gt;
    The are a number of event tracking and analytics products but I settled on &lt;a href="http://mixpanel.com/" title="Mixpanel event tracking"&gt;Mixpanel&lt;/a&gt;, primarily because of its price. I wasn&amp;#39;t sure if this system was going to generate any useful data so I wanted something that wouldn&amp;#39;t cost while I got it up and running.&lt;/p&gt;
&lt;p&gt;
    Mixpanel revolves around event tracking, its very similar to Google Analytics event tracking but provides some more advanced reporting tools and crucially the ability to uniquely identify users between sessions and domains. The data can also be extracted using the api and fed back into internal account stats.&lt;br /&gt;
    They have also recently added people tracking, so along with the events you can set some additional metadata for each user, name, registration date, email, this is used to provide a fantastic interface to view member signups and activity, one less system to build.&lt;/p&gt;
&lt;p&gt;
    The javascript api is the primary way of putting data into the system and it works well, the methods are simple and in my case integrated well with the existing javascript framework. At the time of writing the integration with their normal event tracking and the newer people tracking isn&amp;rsquo;t great but I am sure this will improve.&lt;/p&gt;
&lt;p&gt;
    Over the new couple of months I will find out if I made the right decision.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2012/7/website-analytics</link><guid>https://arthurguy.co.uk/blog/2012/7/website-analytics</guid><pubDate>Thu, 05 Jul 2012 12:07:20 +0000</pubDate></item><item><title>PyroCMS Add-ons</title><description>&lt;p&gt;
    I have decided to have a go at building and selling Add-ons for the &lt;a href="http://www.pyrocms.com/store"&gt;PyroCMS Add-on store&lt;/a&gt;&amp;nbsp;as part of my new years aim of creating a residual income source.&lt;br /&gt;
    I have been working with &lt;a href="http://www.pyrocms.com/"&gt;PyroCMS&lt;/a&gt; for over a year in some form or another now and in that time I have built a number of modules for clients and myself, most of these have been to specific to release or they rely on a custom account system which has meant releasing something wasn&amp;#39;t practical or possible, that was until last week when I made a downloads module.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    The &lt;a href="http://www.pyrocms.com/store/details/downloads" title="PyroCMS Add-on: Downloads Module"&gt;downloads module&lt;/a&gt; was built to allow a client to update a pdf download without having to change the link already on the website, it also needed to be able to protect the download behind a sign-in wall.&lt;/p&gt;
&lt;p&gt;
    The build was straight forward but because the site it was built for doesn&amp;#39;t use the PyroCMS user system it required a bit of work to modify it for release, thankfully that didn&amp;#39;t take long and I now have my first Add-on available for sale.&lt;/p&gt;
&lt;p&gt;
    You can find the &lt;a href="http://www.pyrocms.com/store/details/downloads" title="PyroCMS Add-on: Downloads Module"&gt;downloads module&lt;/a&gt; available for sale in the store for &amp;pound;5, there will be enhancements coming in the future which will all be included in the initial purchase price.&lt;/p&gt;
&lt;p&gt;
    If you have any suggestions, comments or fixes for the module please get in contact.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2011/12/pyrocms-add-ons</link><guid>https://arthurguy.co.uk/blog/2011/12/pyrocms-add-ons</guid><pubDate>Fri, 30 Dec 2011 20:12:39 +0000</pubDate></item><item><title>SSL: Website Security</title><description>&lt;p&gt;
    Over the past few months I have dealt with SSL website encryption on a number of ccasions and it has got me thinking about the slow adoption of SSL on websites.&lt;/p&gt;

&lt;p&gt;&lt;h3&gt;
    The Past&lt;/h3&gt;
&lt;p&gt;
    In the past SSL was used to encrypt communications between the users browser and server for important things like e-commerce or ideally whenever you enter any personal information. This limited role was used because certificates were expensive and browsing over a secure connection was slower, neither of these things are true today.&lt;/p&gt;
&lt;h3&gt;
    The Options&lt;/h3&gt;
&lt;p&gt;
    You can get an SSL certificate for &amp;pound;44 from Go Daddy this coupled with the speed of home computers and low cost of server hardware means its easier than ever.&lt;br /&gt;
    As an alternative to getting a certificate for your site you can use a service such as &lt;a href="https://www.cloudflare.com/"&gt;CloudFlare&lt;/a&gt;, they offer a really cool caching service for improving the performance of your site but they also off SSL protection. Their service sits inbetween the user and your webserver; their standard SSL offering will encrypt the connection between the user and CloudFlare, this is enough to protect the users and stop people from sniffing their traffic and seing what they are doing.&lt;/p&gt;
&lt;h3&gt;
    The Chalanges&lt;/h3&gt;
&lt;p&gt;
    Despite what I have said above their can be hurdles to overcome, sites typically include content from various different sources, this will need to all be served via an SSL connection and sometimes this isnt an option as I found out when switching&amp;nbsp;&lt;a href="http://www.crunch.co.uk/?a_aid=arthurguy" title="Crunch Accounting"&gt;Crunch&lt;/a&gt;&amp;nbsp;to SSL only, all the content was available over a secure connection except for some Skype javascript which had to be hosted locally to work around the limatations.&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;
    The Problems&lt;/h3&gt;
&lt;p&gt;
    Despite the simplicity of implimenting SSL most web browsing happens over an unsecure connection, this may not be a big deal but with the increasing popularity of public WiFi access points its easier than ever to watch what people do on line, &lt;a href="http://codebutler.com/firesheep"&gt;Firesheep&lt;/a&gt; was a great example of how mainstream hacking like this is becomming.&amp;nbsp;If you connect to a website using an SSL connection you make it a lot harder for anyone to see what your doing, it turns from something anyone can do to a more serious targeted attack.&lt;/p&gt;
&lt;h3&gt;
    The Future&lt;/h3&gt;
&lt;p&gt;
    Over the past few years more services have started to operate fully via a secure connection, Gmail, Twitter, Facebook and soon Google. Last year when I released &lt;a href="http://ftp-cms.com" title="FTP-CMS: Simple to use FTP based content management system"&gt;FTP-CMS&lt;/a&gt; I added an option to force users to use the site via SSL, this should probably have been SSL only but its better a lot of other sites.&lt;br /&gt;
    Hopefuly over the next decade SSL will become the norm and rather than browsers displaying a padlock or green bar if your browsing securly they will display something if your not.&lt;/p&gt;
&lt;p&gt;
    &amp;nbsp;&lt;/p&gt;
&lt;p&gt;
    If your thinking about an SSL certificate for your website don&amp;#39;t think about why you should have one, try and come up with reasons for why you shouldn&amp;#39;t.&lt;/p&gt;
&lt;p&gt;
    &amp;nbsp;&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2011/11/ssl-website-security</link><guid>https://arthurguy.co.uk/blog/2011/11/ssl-website-security</guid><pubDate>Sat, 05 Nov 2011 07:11:38 +0000</pubDate></item><item><title>How NOT to build a Facebook application</title><description>&lt;p&gt;
    This evening I took a look at a Facebook application built for Big Yellow Self Storage called &lt;a href="http://apps.facebook.com/bycompetition/"&gt;Big Yellow Competitions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    I was taking a look at how it was built and what systems they had employed when I saw an odd div with an id of "theAdminEnter", this div was hidden and when I changed its&#xC2;&#xA0;visibility&#xC2;&#xA0;a link&#xC2;&#xA0;appeared.&lt;/p&gt;
&lt;p&gt;
    &lt;a href="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2011/01/by_comp_screen.png"&gt;&lt;img alt="" class="alignnone size-full wp-image-873" src="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2011/01/by_comp_screen.png" title="Big Yellow competition screen" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;
    You can see it just below the heading on the left.&lt;/p&gt;
&lt;p&gt;
    I was expecting this to link to another site where the competition can be managed but the developers kindly decided to build it into the application and decided to protect it through&#xC2;&#xA0;obscurity, a very stupid thing to do.&lt;/p&gt;
&lt;p&gt;
    To my&#xC2;&#xA0;surprise&#xC2;&#xA0;clicking the link took me through to the screen below.&lt;/p&gt;
&lt;p&gt;
    &lt;a href="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2011/01/by_admin_interface.png"&gt;&lt;img alt="" class="alignnone size-full wp-image-874" src="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2011/01/by_admin_interface.png" title="Big Yellow Admin Interface" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
    The admin screen seems to allow you to modify the entire thing including the competition answers, to the left of this are two links one which downloads a list containg&#xC2;&#xA0;the details of everyone who has entered the competition and another one entitled Clear Database which I didn't test!&lt;br /&gt;
    I didn't try updating the application so it is possible it is protected but the download isn't, it contains the name, email address, Facebook id and age of 2500 people. It doesn't contain their answer so I presume it only saves correct entries.&lt;/p&gt;
&lt;p&gt;
    The application has other flaws although not as bad as this one, for example the share on twitter link requests your twitter username and password rather than using OAuth, these are then sent as clear text to an un-secure page, I didn't test to see if it&#xC2;&#xA0;actually&#xC2;&#xA0;worked although I don't suppose it does.&lt;/p&gt;
&lt;p&gt;
    I contacted the developing company before posting this giving them a chance to fix their problem so it should be a bit safer now.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2011/1/how-not-to-build-a-facebook-application</link><guid>https://arthurguy.co.uk/blog/2011/1/how-not-to-build-a-facebook-application</guid><pubDate>Thu, 20 Jan 2011 22:01:14 +0000</pubDate></item><item><title>FTP CMS</title><description>&lt;p&gt;For a while now I have been using a basic FTP system called &lt;a href="http://surrealcms.com/"&gt;Surreal CMS&lt;/a&gt;, this service connects via FTP to your web host pulls the page you want to edit down and then allows you to edit it, when you done it saves it back to the FTP server. For basic sites this type of thing is great as there is nothing to install and you can be up and running really quickly.&lt;br /&gt;
About a month ago I needed to setup about a dozen single page websites, I was after something simple so I turned to&#xC2;&#xA0;Surreal&#xC2;&#xA0;CMS again. For this project I wanted to be able to customise the branding on the interface, Surreal CMS does offer this but their pricing structure was a little steep for what I wanted to use it for. With this in mind I decided to create my own system.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;It took a week to develop but I came up with a simple, easy to use FTP based CMS system which I called FTP-CMS.&lt;br /&gt;
The system is built in PHP using the &lt;a href="http://codeigniter.com/"&gt;CodeIgniter&lt;/a&gt; framework; PHP has built in functions for interacting with FTP servers so it was easy to connect and download and upload pages from the server.&lt;br /&gt;
When the page has been downloaded from the server I run it through the &lt;a href="http://simplehtmldom.sourceforge.net/"&gt;PHP Simple HTML Dom Parser&lt;/a&gt; which does a fantastic job of locating the editable areas of the page, these areas can then be edited by the end user using the &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;After I built and tested this system I decided to turn it into a web service and make it available to everybody, this stage took a couple of weeks primarily because I had never dealt with recurring payments before and I wanted to make sure everything was going to work correctly.&lt;/p&gt;
&lt;p&gt;The service called &lt;a title="FTP-CMS - An FTP based CMS system" href="http://ftp-cms.com"&gt;FTP-CMS&lt;/a&gt; is now available for anyone to use but unlike the few other&#xC2;&#xA0;similar&#xC2;&#xA0;services this one has a very different pricing&#xC2;&#xA0;structure.&lt;br /&gt;
I am charging &#xC2;&#xA3;1 per site per month, this means if you only want to manage one or two sites its a lot cheaper than anything else. For &#xC2;&#xA3;1 a month you get full access to the branding features so the end users who use the service wont ever come across the FTP-CMS name only the generic content-cms.com domain and site.&lt;br /&gt;
The service has a 1 week free trial available to all new accounts so it can be tried out before subscribing although with no contract period it would only cost &#xC2;&#xA3;1 to test for a whole month.&lt;br /&gt;
Depending on how the service is used over time I will probably add an unlimited sites package for a fixed monthly payment as the &#xC2;&#xA3;1 a month will built up if a lot of sites are being used.&lt;/p&gt;
&lt;p&gt;For now I am going to monitor the system&#xC2;&#xA0;closely&#xC2;&#xA0;to make sure its functioning as expected and work on adding new features to the system.&lt;/p&gt;
&lt;p&gt;If you have any feedback or comments please email me.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2010/8/ftp-cms</link><guid>https://arthurguy.co.uk/blog/2010/8/ftp-cms</guid><pubDate>Mon, 16 Aug 2010 19:08:32 +0000</pubDate></item><item><title>My .tel Info Extension on Firefox</title><description>&lt;p&gt;Last week I finally got around to porting the &lt;a title=".tel Info Chrome extension" href="http://arthurguy.co.uk/2010/03/my-dot-tel-chrome-extension/"&gt;.tel Chrome extension&lt;/a&gt; I made to &lt;a title="Firefox" href="http://www.mozilla.com/firefox/"&gt;Firefox&lt;/a&gt;, unlike the &lt;a title="Google Chrome" href="http://www.google.com/chrome"&gt;Chrome&lt;/a&gt; extension this took a whole day to figure out but I can see why.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;Chrome extensions offer a very limited range of ways to interact with the browser while Firefox allows for complete customisation, because of this Firefox extensions are developed in a much more complex but&#xC2;&#xA0;powerful&#xC2;&#xA0;way.&lt;/p&gt;
&lt;p&gt;The Firefox extension can be downloaded from here &lt;a title=".tel Info Firefox Add-on" href="https://addons.mozilla.org/en-US/firefox/addon/107869"&gt;https://addons.mozilla.org/en-US/firefox/addon/107869&lt;/a&gt; its currently waiting for a Mozilla person to check it before it will loose its experimental status.&lt;/p&gt;
&lt;p&gt;The extension uses the same script as the chrome extension to display the contact information; the sample code I used for this is limited so I have spent the past week working on a new script. Its taken me longer than it should have and i still haven't done but the new script should display the tel info in a much better way, it will also allow me to make updates and changes as new features get added to the specification.&lt;/p&gt;
&lt;p&gt;If anyone does give it a try and finds any problems please let me know in the comments.&lt;/p&gt;
&lt;p&gt;Also, if anyone is looking at developing a Firefox extension I found this blog post very helpful &lt;a title="How to develop a firefox extension" href="http://blog.mozilla.com/addons/2009/01/28/how-to-develop-a-firefox-extension/"&gt;http://blog.mozilla.com/addons/2009/01/28/how-to-develop-a-firefox-extension/&lt;/a&gt;&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2010/3/my-tel-info-extension-on-firefox</link><guid>https://arthurguy.co.uk/blog/2010/3/my-tel-info-extension-on-firefox</guid><pubDate>Mon, 29 Mar 2010 12:03:29 +0000</pubDate></item><item><title>Frameworks - Code Igniter</title><description>&lt;p&gt;For the past 10+ years I have been building websites and I have always built them from scratch, a few years ago I&#xC2;&#xA0;discovered&#xC2;&#xA0;javascript frameworks and have been a big fan of &lt;a title="jQuery" href="http://jquery.com/"&gt;jQuery&lt;/a&gt; ever since but the main code for the website has always been coded from a blank canvas. A few weeks ago after hearing different frameworks mentioned I decided to take a look into them and on the advice of the &lt;a title="Brighton New Media" href="http://www.brightonnewmedia.org/"&gt;BNM&lt;/a&gt; list I decided on &lt;a title="Code Igniter" href="http://codeigniter.com/"&gt;Code Igniter&lt;/a&gt; as a starting point.&lt;br /&gt;
&lt;img class="alignright size-thumbnail wp-image-508" title="CodeIgniter Logo" src="http://arthurguy.co.uk/wp-content/uploads/2010/03/ci-150x150.png" alt="" width="150" height="150" /&gt;Code Igniter seems to be in the middle when&#xC2;&#xA0;compared&#xC2;&#xA0;to different frameworks, it will do a lot for you but it is very easy to set up and as a result doesn't do as much as bigger systems such as &lt;a title="Symfony" href="http://www.symfony-project.org/"&gt;Symfony&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I had decided on the framework but needed an idea for a website, I turned to my girlfriend for suggestions and she came back with 'happy', as you probably imagine I looked a little&#xC2;&#xA0;puzzled.&lt;br /&gt;
Despite being an odd topic I came up with the idea of a social&#xC2;&#xA0;aggregation&#xC2;&#xA0;site around the topic of&#xC2;&#xA0;happiness.&lt;/p&gt;
&lt;p&gt;It took an evening but I came up with a very basic, one page site that displayed twitter posts and flickr images all related to the topic happy, the next evening I added a couple more pages to narrow the range to just text, photos or videos.&lt;/p&gt;
&lt;p&gt;You can see the site I came up with here, &lt;a title="happy @ arthurguy.co.uk" href="http://happy.arthurguy.co.uk/"&gt;happy.arthurguy.co.uk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This was a very basic site but it was a nice introduction to the framework and how easy it is to deal with, I especially like the automatic url structure, rather then messing around with htaccess files to get the address looking nice it happens&#xC2;&#xA0;automatically.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2010/3/frameworks-code-igniter</link><guid>https://arthurguy.co.uk/blog/2010/3/frameworks-code-igniter</guid><pubDate>Tue, 23 Mar 2010 11:03:26 +0000</pubDate></item><item><title>My .tel Google Chrome Extension</title><description>&lt;p&gt;I mentioned in a previous post that I am planning on pursuing a career as a freelance developer, in order to make this work I need more experience using different technologies and systems so I am currently playing around with a few simple projects including &lt;a title="Google Chrome Extensions" href="https://chrome.google.com/extensions"&gt;Chrome extensions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&lt;a rel="attachment wp-att-500" href="http://arthurguy.co.uk/2010/03/my-dot-tel-chrome-extension/tel_icon_48/"&gt;&lt;img class="alignright size-full wp-image-500" title=".tel Icon" src="http://arthurguy.co.uk/wp-content/uploads/2010/03/tel_icon_48.png" alt="" width="48" height="48" /&gt;&lt;/a&gt;Earlier in the week I took a look at the &lt;a title="Google Chrome Extensions Dev Guide" href="http://code.google.com/chrome/extensions/"&gt;extensions developer guide&lt;/a&gt; and was surprised at how simple making an extension appeared to be, I had been updating my .tel domain the previous day so I cam up with the idea for an&#xC2;&#xA0;extension&#xC2;&#xA0;which would scan a page for a .tel address and display the associated contact information.&lt;/p&gt;
&lt;p&gt;I used the Mappy sample&#xC2;&#xA0;extension&#xC2;&#xA0;as a starting point as it offered&#xC2;&#xA0;similar&#xC2;&#xA0;functionality; after getting the code to identify and return a .tel address I moved onto displaying the .tel information.&lt;br /&gt;
This was harder than I was expecting, all the contact information associated with a .tel address is stored in its DNS records so it can't just be queried as you would a web service, thankfully &lt;a title="Telnic .tel Domains" href="http://www.telnic.org/"&gt;Telnic&lt;/a&gt; provide some sample code so after spending an evening working with that I came up with a script which would display the contact details when passed a domain name.&lt;br /&gt;
At this point it was just a simple case of updating the&#xC2;&#xA0;extension&#xC2;&#xA0;to display the contact information in an iframe and it was done.&lt;/p&gt;
&lt;p&gt;My&#xC2;&#xA0;extension&#xC2;&#xA0;can be found here - &lt;a title=".tel Info - Google Chrome Extension" href="https://chrome.google.com/extensions/detail/gkhaecnafcijpgfmpeahaabjhipkamik"&gt;.tel Info Google Chrome&#xC2;&#xA0;Extension&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I will hopefully port this to Firefox soon although there system is a lot more&#xC2;&#xA0;powerful&#xC2;&#xA0;and as a result more complicated.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2010/3/my-dot-tel-chrome-extension</link><guid>https://arthurguy.co.uk/blog/2010/3/my-dot-tel-chrome-extension</guid><pubDate>Thu, 18 Mar 2010 12:03:24 +0000</pubDate></item><item><title>Trip List for Facebook</title><description>&lt;p&gt;
    &lt;a href="http://static.arthurguy.co.uk/2010/03/trip-list-for-facebook/triplist/" rel="attachment wp-att-490"&gt;&lt;img alt="" class="size-thumbnail wp-image-490" height="60" src="http://static.arthurguy.co.uk/wp-content/uploads/2010/03/triplist-200x60.png" title="Trip List Logo" width="200" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;
    A few years ago when I was organising trips for the &lt;a href="http://www.ussu.info/mountain" title="USMC"&gt;University mountaineering club&lt;/a&gt; and wanted a better way to collect peoples names for climbing weekends I decided to build the &lt;a href="http://apps.facebook.com/triplist" title="Trip List"&gt;trip list application&lt;/a&gt; for &lt;a href="http://www.facebook.com" title="Facebook"&gt;Facebook&lt;/a&gt;. It took 2 days but I came up with a very usable application for setting up a trip and allowing people to sign up. After I finished my stint as social secretary for the club I forgot about the application and just left it to fend for itself.&lt;/p&gt;
&lt;p&gt;
    I have recently decided to pursue a career as a freelance web developer so I decided to go back to the application to refresh my Facebook programming skills; I have spent a few hours over the past week improving the application and fixing a few issues that arose as a result of changes to the Facebook platform over the years. I have now finished and have an application that works well again.&lt;/p&gt;
&lt;p&gt;
    It&amp;#39;s been fun working on Facebook again, it really is an easy platform to develop for. There are a number of quirks to get used to and things you can&amp;#39;t do and Facebook&amp;#39;s recent changes regarding messaging are an interesting change. They now don&amp;#39;t want applications contacting users through the site itself, they either need to email the user directly or they can place a number (think unread count) next to the application name in the sidebar. Both of these methods don&amp;#39;t seem ideal but I can see why they are making this change, in their eyes these changes are further&amp;nbsp;separating&amp;nbsp;the application and its&amp;nbsp;identity&amp;nbsp;from Facebook preventing annoying spammy apps from affecting the brand.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2010/3/trip-list-for-facebook</link><guid>https://arthurguy.co.uk/blog/2010/3/trip-list-for-facebook</guid><pubDate>Wed, 10 Mar 2010 09:03:56 +0000</pubDate></item><item><title>Privacy &amp; ID Cards</title><description>&lt;p&gt;Earlier in the week I went to London to apply for a UK Identity Card. I have wanted one for over a year but it was only at the beginning of the month that they opened them up to the whole population rather than a few test groups.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;[caption id="attachment_371" align="alignright" width="171" caption="Home Office - Identity &amp;amp; Passport Service"]&lt;a href="http://arthurguy.co.uk/wp-content/uploads/2010/02/Home-Office-IPS.jpg"&gt;&lt;img class="size-full wp-image-371" title="Home-Office-IPS" src="http://arthurguy.co.uk/wp-content/uploads/2010/02/Home-Office-IPS.jpg" alt="Home Office - Identity &amp;amp; Passport Service" width="171" height="95" /&gt;&lt;/a&gt;[/caption]&lt;/p&gt;
&lt;p&gt;There is a lot of debate surrounding privacy especially the identity cards, large groups are opposed to the idea of a national database containing contact and biometric details.&lt;br /&gt;
I am certainly not one of them, I can't see the problem to a national database and I am amazed there isn't one already, the UK has a lot of lists or databases across various departments each of which contains a selection of the UK population but none of them contain a complete list. The National Identity Register will unfortunately add to this with another database but hopefully if it takes off and the Conservatives don't get into power and scrap it it may eventually replace other databases and provide a single unified database.&lt;/p&gt;
&lt;p&gt;If the National Identity Register does go ahead I would like to see some web based management and viewing for users. A lot of the worry is caused by the uncertainty people will have about who is viewing their information, there is an easy way to solve this. Every search or request for information by a government agency or business should be logged, this information should then be available for users to view. If you could log into a secure site and view all the information the government has on you as well as every company that has ever requested your information it would put people at ease.&lt;/p&gt;
&lt;p&gt;I should get my card in a few weeks but I seriously doubt any kind of system for seeing what information is held on me is available or will be available for some time.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2010/2/privacy-id-cards</link><guid>https://arthurguy.co.uk/blog/2010/2/privacy-id-cards</guid><pubDate>Thu, 18 Feb 2010 13:02:08 +0000</pubDate></item><item><title>The cost of a sign</title><description>&lt;p&gt;How much would you spend on a sign or a series of signs covering a university campus? A couple of thousand? How about &#xC2;&#xA3;700,000?&lt;/p&gt;

&lt;p&gt;&lt;p&gt;[caption id="attachment_366" align="alignright" width="200" caption="Land fenced off for new signage"]&lt;a href="http://arthurguy.co.uk/wp-content/uploads/2009/11/PIC-0048.jpg"&gt;&lt;img class="size-thumbnail wp-image-366" title="Fenced off land" src="http://arthurguy.co.uk/wp-content/uploads/2009/11/PIC-0048-200x150.jpg" alt="Land fenced off for new signage" width="200" height="150" /&gt;&lt;/a&gt;[/caption]&lt;/p&gt;
&lt;p&gt;A week or so ago small sections of land started getting fenced off around Sussex University campus where I study and work, attached to the fences were signs saying trenches were being dug for new signage. In relation to the few signs and maps scattered around campus at the moment a lot of new ones were going up so it seemed a little excessive, today I found a brief &lt;a href="http://www.sussex.ac.uk/efm/1-3-12-10.html"&gt;article&lt;/a&gt; explaining that a campus signage review had been carried out and new signs were being installed at a cost of &#xC2;&#xA3;700,000.&lt;/p&gt;
&lt;p&gt;This is a figure I think a lot of people would find over the top, especially for signs but it really depends on what the final result is.&lt;br /&gt;
If they are just going to be as simple as maps on a stick then I think it will be a waste of money but something like this is a fantastic opportunity for the university to do something great.  Rather than just maps these could be interactive information points, computer terminals displaying the latest university information or serving location information and people finders. I am certain they won't be anything like this but they could at least make them semi decent by using them to extend the poor wireless internet service available on campus. These information points are everywhere and it looks like most of them would have power for lighting so it would have been a great opportunity to add wireless repeaters to improve coverage.&lt;/p&gt;
&lt;p&gt;The other issue with this is the cost, I imagine a large portion of the money would have been spent on the external audit of the current signage, why did this need to be&#xC2;&#xA0;external? A few years ago the university paid a company &#xC2;&#xA3;2 million to come up with a new brand including colours, logos and a general look, this is a specialised thing requiring lots of skilled people and I believe the money was well spent, this current project doesn't require a high skill level just a moderate level of&#xC2;&#xA0;competence&#xC2;&#xA0;which I hope anyone working at the university would have.&lt;br /&gt;
Anyone could have&#xC2;&#xA0;analyzed&#xC2;&#xA0;the current signage and come up with a new plan why did they have to waste money on an external audit especially at a time when the university is in financial trouble and needs to save a lot of money.&lt;/p&gt;
&lt;p&gt;Hopefully they will start to go up soon and I can see what they are going to be like.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2009/11/the-cost-of-a-sign</link><guid>https://arthurguy.co.uk/blog/2009/11/the-cost-of-a-sign</guid><pubDate>Mon, 02 Nov 2009 15:11:07 +0000</pubDate></item><item><title>Personal Tracking Device</title><description>&lt;p&gt;After &lt;a title="Car GPS System" href="/blog/2009/09/car-gps-system"&gt;posting&lt;/a&gt; that a personal tracking device wasn't&#xC2;&#xA0;feasible&#xC2;&#xA0;because of power consumptions issues it got me thinking, is it?&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I haven't worked this out yet so as I write this I&#xC2;&#xA0;genuinely&#xC2;&#xA0;don't know if it is possible to construct one but I plan to work it out, considering both size, power and practicality.&lt;br /&gt;
I have seen devices on the market which do this type of thing but none do exactly what I want, my specifications are as follows&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Small - It needs to be small enough so it can be carried without much&#xC2;&#xA0;inconvenience&lt;/li&gt;
&lt;li&gt;Power - The battery needs to power the unit for at least 24 hours&#xC2;&#xA0;ideally&#xC2;&#xA0;longer&lt;/li&gt;
&lt;li&gt;Accuracy - The GPS needs to be accurate enough to pickup a signal&#xC2;&#xA0;wherever&#xC2;&#xA0;the device is placed on someone&lt;/li&gt;
&lt;li&gt;Frequency - The system needs to transmit its location in real time, this means a constant communications link and no stupid SMS systems.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The other requirement for this system is that I can build it, that means no (BGA) ball grid array devices but I can deal with pin pitches down to 0.1".&lt;/p&gt;
&lt;p&gt;The system will be composed of 4 main parts, GPS, communications module, processor and battery. I will look at the GPS first.&lt;/p&gt;
&lt;h3&gt;GPS&lt;/h3&gt;
&lt;p&gt;GPS devices require a lot of power, they average&#xC2;&#xA0;around&#xC2;&#xA0;30-40 mA at 3.3V which is a lot of power for something that needs to run all day, there are also different types of antenna, the common ceramic one needs to be pointed up which isn't very practical, they can work at other angles but they aren't as sensitive, thankfully you can get helical antennas which don't have&#xC2;&#xA0;orientation&#xC2;&#xA0;problems.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/helical_gps.jpg"&gt;&lt;img class="size-thumbnail wp-image-282" title="Helical GPS" src="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/helical_gps-150x150.jpg" alt="GPS with Helical antenna" width="150" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The GPS to the right is a high performance GPS which should be ideal, the body is only 2.5cm by 2.5cm and it has a small connector which can be soldered to,&#xC2;&#xA0;unfortunately&#xC2;&#xA0;it draws up to 80mA which is way to high.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/Lassen-IQ.jpg"&gt;&lt;img class="size-thumbnail wp-image-283" title="Lassen IQ" src="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/Lassen-IQ-200x113.jpg" alt="Lassen IQ GPS, top and bottom view" width="200" height="113" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After another look I have found a GPS module, a Lassen IQ which draws 26mA at 3.3V which is much better, it doesn't have a built in antenna but a simple ceramic one can be connected, this will need to be pointed up but I will probably have to&#xC2;&#xA0;compromise&#xC2;&#xA0;on that option. The module is about 3cm square.&lt;/p&gt;
&lt;p&gt;The antenna also draws some power, I don't have an exact figure but it may be up to 10mA&lt;/p&gt;
&lt;h3&gt;Communications&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/GM862-QUAD.jpg"&gt;&lt;img class="size-thumbnail wp-image-284" title="Telit GM862-QUAD" src="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/GM862-QUAD-150x150.jpg" alt="Telit GM862 GSM module" width="150" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The other important part of the system is the communications module, I have recently used a GSM module from Telit with another project so I will see what they have that would be suitable for this.&lt;/p&gt;
&lt;p&gt;Telit make some small devices but&#xC2;&#xA0;unfortunately&#xC2;&#xA0;they are all BGA devices, this&#xC2;&#xA0;means&#xC2;&#xA0;I will need to use the same size device I used for the other project, this was 4.5cm square. They also make a GSM module (the same size) with a built in GPS, I initially had difficulty dealing with this signal so I would prefer to avoid using this device.&lt;/p&gt;
&lt;p&gt;The module I previously used, the GM862, draws 24mA at 3.8v normally and averages about 150mA during transmission.&lt;/p&gt;
&lt;h3&gt;Processor&lt;/h3&gt;
&lt;p&gt;The processor would be a small pic microcontroller from microchip, its power consumption would be&#xC2;&#xA0;negligible.&lt;/p&gt;
&lt;h3&gt;The Battery&lt;/h3&gt;
&lt;p&gt;This is the important part, I would use a 3.7V lithium-ion battery, this would power the GSM module directly and a 3.3V regulator would be used for the GPS module, the GSM module has a built in battery charger so it will deal with battery management.&lt;/p&gt;
&lt;p&gt;The GPS module will draw about 36mA at 3.3v, this works out out be 120mW of power.&lt;br /&gt;
The GSM module would draw 570mW assuming continual transmission.&lt;br /&gt;
These two together come to 690mW which can be rounded up to 700mW.&lt;/p&gt;
&lt;p&gt;To run for 24 hours the battery would need to be at least a 4.5 Ah battery, this is large but not big enough to be&#xC2;&#xA0;impractical.&lt;/p&gt;
&lt;h3&gt;Size&lt;/h3&gt;
&lt;p&gt;The biggest part of this system is the GSM module at 4.5cm square, the GPS module could be placed to one side of this and the voltage regulator and capacitor in the 1.5cm by 3cm gap next to it, the microcontroller can go on the other side of the board and the battery would sit flat next to the board.&lt;br /&gt;
The battery would probably be about 1cm thick when you connect&#xC2;&#xA0;enough&#xC2;&#xA0;up to provide the power required, the GPS and GSM modules with the circuit board are about 1cm as well.&lt;br /&gt;
The GPS antenna can sit at right angles at one end of the board, this would add 5-10mm to the length and should be within the 2cm depth of the system, the GSM antenna is a piece of pcb and can attach to the side adding&#xC2;&#xA0;negligible&#xC2;&#xA0;thickness.&lt;br /&gt;
Overall the system would be about 8.5cm x 5cm x 2cm.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;It seems a personal tracking system would be&#xC2;&#xA0;feasible, I could make something that could be&#xC2;&#xA0;clipped&#xC2;&#xA0;to a belt or kept in a pocket, it would need to be charged every day but it would transmit its location in real time.&lt;/p&gt;
&lt;p&gt;With technology as it is it's&#xC2;&#xA0;unlikely&#xC2;&#xA0;I would attempt this,&#xC2;&#xA0;maybe&#xC2;&#xA0;in a few years when the power consumption of GPS&#xC2;&#xA0;systems&#xC2;&#xA0;has&#xC2;&#xA0;dropped&#xC2;&#xA0;further or battery technologies have improved.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2009/9/personal-tracking-device</link><guid>https://arthurguy.co.uk/blog/2009/9/personal-tracking-device</guid><pubDate>Mon, 07 Sep 2009 13:09:00 +0000</pubDate></item><item><title>Car GPS System</title><description>&lt;p&gt;My latest project is a GPS system for my car, thats so last you I hear you all saying, but wait its not a navigation system but a replacement for the&#xC2;&#xA0;speedometer&#xC2;&#xA0;and a tracking system.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I use a regular GPS system quite a lot and a while ago I noticed that the speed it was reporting was different to what my car was reporting, the difference was fairly big at high speeds, for example driving at 70 mph the car reports it as 76 mph. It was at that point I thought it would be a good idea to have a digital speedo which used a GPS system to calculate the speed. I looked around and found a system which offered this, it was a small box which sat on the&#xC2;&#xA0;dashboard&#xC2;&#xA0;and projected the speed onto the windshield as a head up display; I can't remember the exact price but it was around &#xC2;&#xA3;50, not to expensive but not worth it for something unimportant.&lt;/p&gt;
&lt;p&gt;That was a year or two ago, recently I was looking at GPS modules online and decided it would be fun to make my own, with that in mind I devised the following system.&lt;br /&gt;
My GPS system would consist of 3 parts, the main GPS unit, a speed display and a tracking system.&lt;/p&gt;
&lt;h4&gt;Main GPS&lt;/h4&gt;
&lt;p&gt;The main unit would house a high sensitivity GPS unit (LS20031), a microcontroller (PIC 18F2620) and possibly a bluetooth module. The microcontroller would receive the GPS data and extract the important information, speed and location, it would then make this available in a&#xC2;&#xA0;simpler&#xC2;&#xA0;form over a serial link. I may also include a bluetooth module which would transmit the raw GPS signal, this could then be used by other devices such as a phone or computer.&lt;/p&gt;
&lt;h4&gt;Speed Display&lt;/h4&gt;
&lt;p&gt;The speed display would be just that, a 7 segment led display which would receive the simplified speed signal and display it.&lt;/p&gt;
&lt;h4&gt;Tracking System&lt;/h4&gt;
&lt;p&gt;The final module is the tracking system, this would receive the location information and using an inbuilt gsm module relay the data to a server which would store the&#xC2;&#xA0;information. I have had an interest in location systems for a while and since a personal GPS tracker is&#xC2;&#xA0;impracticable&#xC2;&#xA0;because of power consumption issues I can at least track my car, it could even be&#xC2;&#xA0;useful&#xC2;&#xA0;if it gets stolen.&lt;/p&gt;
&lt;p&gt;I tend to loose interest in projects quite quickly, especially the more in depth ones which is why I decided on the modular&#xC2;&#xA0;approach, even if I only complete two or one of the parts it is still a usable system.&lt;/p&gt;
&lt;h3&gt;Progress to date&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/gps_test_system.JPG"&gt;&lt;img class="size-thumbnail wp-image-270" title="GPS Test System" src="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/gps_test_system-200x141.jpg" alt="GPS Test System" width="200" height="141" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Over the past few days I have been playing around with an old bluetooth GPS and I have made a lot of progress on the first stage. The module I am using is quite old so internally it is fairly crude which is a bonus for me, it uses a prebuilt GPS module which is soldered to the main board so I have been able to tap into the GPS feed before it reaches the bluetooth module and divert it into a microcontroller.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/gps_bluetooth.JPG"&gt;&lt;img class="size-thumbnail wp-image-271" title="GPS Bluetooth Module" src="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/gps_bluetooth-200x145.jpg" alt="Bluetooth module built into the GPS" width="200" height="145" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I have now written a program which parses the data extracting all the information I would need and then&#xC2;&#xA0;outputting&#xC2;&#xA0;it over the bluetooth link, this is perfect for testing as I don't need to have it physically connected to the PC.&lt;br /&gt;
None of these parts will be used in the final system, except&#xC2;&#xA0;maybe&#xC2;&#xA0;the bluetooth module if I can remove it from the circuit board, I am just using this setup for testing as I am currently waiting on a high performance GPS module to be delivered.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/gps.jpg"&gt;&lt;img class="size-thumbnail wp-image-266" title="Locosys LS20031" src="https://s3-eu-west-1.amazonaws.com/static.arthurguy.co.uk/wp-content/uploads/2009/09/gps-150x150.jpg" alt="Locosys LS20031" width="150" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I decided on a &lt;a title="Locosys LS20031" href="http://www.locosystech.com/product.php?zln=en&amp;id=20"&gt;Locosys LS20031&lt;/a&gt;, this is a small unit with built in antenna, it seems to be fairly sensitive and has a fast update frequency of 5Hz.&lt;/p&gt;
&lt;p&gt;I will post further information as the project progresses&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2009/9/car-gps-system</link><guid>https://arthurguy.co.uk/blog/2009/9/car-gps-system</guid><pubDate>Sun, 06 Sep 2009 18:09:15 +0000</pubDate></item><item><title>Changes</title><description>&lt;p&gt;Lately&#xC2;&#xA0;I have taken on a couple of freelance jobs, one electronic which involved designing and building a non contact counting system for&#xC2;&#xA0;exercise&#xC2;&#xA0;judging, the other project is web based, for this I have taken on the short and probably long term management of an activities website.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;Working on these projects alongside my PhD work and other existing personal projects has made me&#xC2;&#xA0;realize&#xC2;&#xA0;how much I enjoy the&#xC2;&#xA0;verity&#xC2;&#xA0;freelance work brings. Because of this I have decided to try and&#xC2;&#xA0;pursue&#xC2;&#xA0;more freelance type jobs, so if anything comes up in the future either web or electronics based I will take it, providing I have time for it that is.&lt;/p&gt;
&lt;p&gt;I have also decided to update this blog and my main website, I will combine them into a single wordpress site with a uniform branding under my newly created logo.&lt;br /&gt;
I have fancied creating a logo for some time, I have no real use for one but I though it would be cool none the less.&lt;/p&gt;
&lt;p&gt;[caption id="attachment&lt;em&gt;127" align="alignleft" width="200" caption="ArthurGuy Logo"]&lt;img class="size-thumbnail wp-image-127" title="ArthurGuy.co.uk" src="http://arthurguy.co.uk/wp-content/uploads/2009/08/arthurguy-200x47.png" alt="My new logo" width="200" height="47" /&gt;[/caption]&lt;/p&gt;
&lt;p&gt;[caption id="attachment&lt;/em&gt;156" align="alignright" width="150" caption="ArthurGuy Initials"]&lt;img class="size-thumbnail wp-image-156" title="ArthurGuy-Initials" src="http://arthurguy.co.uk/wp-content/uploads/2009/09/ArthurGuy-Initials-150x150.jpg" alt="ArthurGuy Initials" width="150" height="150" /&gt;[/caption]&lt;/p&gt;
&lt;p&gt;This site and the other main one will probably be a bit messed up for a week or two as I find time to make the changes.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2009/8/changes</link><guid>https://arthurguy.co.uk/blog/2009/8/changes</guid><pubDate>Thu, 27 Aug 2009 21:08:35 +0000</pubDate></item><item><title>Video Recording</title><description>&lt;p&gt;I have finally found the solution to my camera&#xC2;&#xA0;dilemma, the &lt;a href="http://www.canon.co.uk/For_Home/Product_Finder/Cameras/Digital_SLR/EOS_500D/index.asp"&gt;Canon EOS 500D&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;[caption id="attachment&lt;em&gt;112" align="alignright" width="187" caption="Kodak Zi6 Pocket Video Camera"]&lt;a href="http://static.arthurguy.co.uk/wp-content/uploads/2009/08/kodak_zi6.jpg"&gt;&lt;img class="size-thumbnail wp-image-112" title="Kodak_Zi6" src="http://static.arthurguy.co.uk/wp-content/uploads/2009/08/kodak_zi6-187x150.jpg" alt="Kodak Zi6 Pocket Video Camera" width="187" height="150" /&gt;&lt;/a&gt;[/caption]&lt;/p&gt;
&lt;p&gt;For a while now I have been looking for something to record video, I was reluctant to go for a traditional camcorder as they are quite big, expensive and only do one thing. I had almost settled on one of the handheld video recording devices such as the &lt;a href="http://www.kodak.com/eknec/PageQuerier.jhtml?pq-path=13063&amp;pq-locale=en_GB"&gt;Kodak Zi6&lt;/a&gt;, they can normally record HD video, there&#xC2;&#xA0;relatively&#xC2;&#xA0;cheap and portable.&lt;/p&gt;
&lt;p&gt;The only thing putting me off was the overall quality, yes they can record HD video but the optics are cheap and you can see this in the videos they capture.&lt;/p&gt;
&lt;p&gt;Ideally I would like the &lt;a href="https://arthurguy.co.uk/2008/09/canon-eos-5d-mkii/"&gt;Canon EOS 5D&lt;/a&gt; digital SLR with HD video recording&#xC2;&#xA0;function&#xC2;&#xA0;I wrote about last year but that camera is over &#xC2;&#xA3;2000 so it's not going to happen. Today I came&#xC2;&#xA0;across&#xC2;&#xA0;the 500D and the fact it records HD video as well, I had no idea that any of Canon's other cameras in this range recorded video.&lt;/p&gt;
&lt;p&gt;[caption id="attachment&lt;/em&gt;114" align="alignleft" width="168" caption="Canon EOS 500D"]&lt;a href="http://static.arthurguy.co.uk/wp-content/uploads/2009/08/canon-eos-500d.jpg"&gt;&lt;img class="size-thumbnail wp-image-114" title="canon-eos-500d" src="http://static.arthurguy.co.uk/wp-content/uploads/2009/08/canon-eos-500d-168x150.jpg" alt="Canon EOS 500D" width="168" height="150" /&gt;&lt;/a&gt;[/caption]&lt;/p&gt;
&lt;p&gt;The 500D is expensive but it is much more affordable than the 5D, for example &lt;a href="http://www.amazon.co.uk/gp/product/B0020MLKEQ?ie=UTF8&amp;tag=astarsolution-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B0020MLKEQ"&gt;Amazon&lt;/a&gt; currently have it for just under &#xC2;&#xA3;600.&lt;/p&gt;
&lt;p&gt;The real benefit of a video camera like this over the Kodak or a traditional video camera are the lenses. You can easily switch between different lenses for example a zoom or a wide angle, the zoom is also manual for greater accuracy.&lt;/p&gt;
&lt;p&gt;I am fairly set on this camera now, my current SLR is the 300D and is now getting on a bit so this camera while still a little pricy is a good upgrade.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2009/8/video-recording</link><guid>https://arthurguy.co.uk/blog/2009/8/video-recording</guid><pubDate>Fri, 14 Aug 2009 09:08:12 +0000</pubDate></item><item><title>Database Replication</title><description>&lt;p&gt;For the past few months I have been working on a multisite IT project, part of it&#xC2;&#xA0;involves&#xC2;&#xA0;keeping various databases&#xC2;&#xA0;synchronized&#xC2;&#xA0;between different sites. A single master database needs to be pushed out to all the remote clients and a local database on each of the remote machines needs to be backed up to the master.&lt;br /&gt;
I hadn't attempted anything as complicated as this before so it was a daunting task.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;The only type of database replication I was aware of was the standard replication feature built into MySQL, I had tried to use this previously but had a lot of trouble as I found the different machines easily came out of sync and wouldn't recover without manual intervention. Despite the previous problems I set up&#xC2;&#xA0;replication&#xC2;&#xA0;on the master machine and configured each of the remote locations to replicate a copy of the main database, this took a bit of work to setup but one it was working it seemed to operate reliably. When I had set it up I could randomly turn on and off machines and they would start replicating from where they left off, that was until I moved the master to a different location, then they decided to stop working.&lt;/p&gt;
&lt;p&gt;Because I couldn't have each of the remote sites copying there local databases to the master through replication I decided to use mysql dump on a batch job, I was&#xC2;&#xA0;originally&#xC2;&#xA0;going to create a script to dump the database and FTP it to the master and then have another script on the master which would import the backups as they arrived. Thankfully I discovered a&#xC2;&#xA0;brilliant&#xC2;&#xA0;little feature of mysql dump which saved the day.&lt;/p&gt;
&lt;p&gt;Mysql dump normally outputs the dump to a file but you can pipe it to a mysql instance connected to another machine, this meant I could copy the database from the remote site to the master in one line. Once I had set this up it worked&#xC2;&#xA0;brilliantly; very reliable and very simple to use.&lt;/p&gt;
&lt;pre&gt;mysqldump --opt --user USER --password=PASSWORD DB | mysql --host=IP --user USER --password=PASSWORD -C DB&#xC2;&#xA0;&lt;/pre&gt;
&lt;p&gt;After the continuing problems with the built in replication feature I decided to turn off replication and use mysql dump to replicate the databases out to the remote sites.&lt;br /&gt;
This obviously isn't an ideal solution because as as the databases grow the amount of data needing to be transfered will increase, I believe it also locks the database as it dumps it meaning people can't use the system as this is happening. Despite these problems it works&#xC2;&#xA0;brilliantly&#xC2;&#xA0;for my needs.&lt;/p&gt;
&lt;p&gt;Incase your wondering the remote sites connect to the master site using VPN connections so I don't need to worry about sending data over an un-secure network.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2009/2/database-replication</link><guid>https://arthurguy.co.uk/blog/2009/2/database-replication</guid><pubDate>Wed, 25 Feb 2009 18:02:32 +0000</pubDate></item><item><title>The iPod Touch</title><description>&lt;p&gt;&lt;span style="color: #0000ee; text-decoration: underline;"&gt;&lt;a href="http://arthurguy.co.uk/wp-content/uploads/2008/12/gallery-big-07.jpg"&gt;&lt;img class="alignleft size-thumbnail wp-image-104" title="iPod Touch" src="http://arthurguy.co.uk/wp-content/uploads/2008/12/gallery-big-07-132x150.jpg" alt="" width="132" height="150" /&gt;&lt;/a&gt;&lt;/span&gt;Last week I received an iPod touch, this is going to form part of my latest project so the University paid for it and I get to use it for a couple of months before the project goes live. I have never liked the iPod range and I was never the&#xC2;&#xA0;greatest&#xC2;&#xA0;fan of the iPhone, not because I thought they were bad devices but because Apple was and is so restrictive with&#xC2;&#xA0;everything, for example you can't put your own videos or moves onto the devices.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;When I received the iPod touch I was expecting to find it cool for a day or two before the novelty wore off but I was&#xC2;&#xA0;pleasantly&#xC2;&#xA0;surprised, the interface was far more&#xC2;&#xA0;intuitive&#xC2;&#xA0;that I expected and very responsive especially&#xC2;&#xA0;coming&#xC2;&#xA0;from a background in windows mobile devices. Connectivity was also my other concern, only having wireless an not mobile connectivity meant it was no more&#xC2;&#xA0;useful&#xC2;&#xA0;than my laptop as I could only get online at home or at work. Whilst this is a problem I find myself using the device a lot around the home, checking things online when before I might not have bothered simply because of the&#xC2;&#xA0;convenience,&#xC2;&#xA0;I even found myself watching a whole BBC program on iPlayer.&lt;/p&gt;
&lt;p&gt;The device supports an Exchange connection so its&#xC2;&#xA0;brilliant&#xC2;&#xA0;for checking and replying to emails, the keyboard took a bit of getting use to but the auto correction software makes up for the inaccuracy of it, the only downside is the&#xC2;&#xA0;calendar&#xC2;&#xA0;software, even with the Microsoft Exchange link it leaves a lot to be desired.&lt;/p&gt;
&lt;p&gt;I don't think I would change my phone for an iPhone as I do prefer a proper qwerty keyboard but I can see myself having both devices. At the moment I am waiting for another Android phone to be released which will hopefully fix the flaws of the current one,&#xC2;&#xA0;namely&#xC2;&#xA0;no Exchange support and no support for bluetooth headphones, if this doesn't come soon I may have to go for an iPhone.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/12/the-ipod-touch</link><guid>https://arthurguy.co.uk/blog/2008/12/the-ipod-touch</guid><pubDate>Wed, 17 Dec 2008 12:12:01 +0000</pubDate></item><item><title>KISS Media Player + Smoke = Problem</title><description>&lt;p&gt;On Friday I was watching a DVD and all of a sudden the image froze and the player became unresponsive, I tried restarting the player but the system got stuck on the boot up process, it was at this point I noticed the odd smell and the smoke seeping from the DVD player draw. The DVD player is part of the &lt;a href="http://www.kiss-technology.com/"&gt;Linksys KISS&lt;/a&gt; media player I bought last year, something I was hoping would last longer that 14 months.&lt;br /&gt;
With the player being just outside of&#xC2;&#xA0;warranty&#xC2;&#xA0;and not wanting to throw away a &#xC2;&#xA3;180 piece of equipment I decided to open it up and try and find the cause.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&lt;a href="http://static.arthurguy.co.uk/wp-content/uploads/2008/11/img_0430.jpg"&gt;&lt;img class="alignleft size-thumbnail wp-image-95" title="KISS Media Player" src="http://static.arthurguy.co.uk/wp-content/uploads/2008/11/img_0430-200x140.jpg" alt="" width="200" height="140" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;This is what the player looks like inside, there is a power supply along the bottom left, a standard DVD ROM drive and a circuit board along the back.&lt;/p&gt;
&lt;p&gt;The circuit board has a few obvious parts to it, at the top is a VIA chip, I initially thought this was a sound chip but a quick search for the part number &lt;a href="http://www.via.com.tw/en/products/peripherals/usb/vt6212l/"&gt;VT6212L&lt;/a&gt; reveals it's true purpose, a 4 port USB hub. This must be designed to act as an interface between the USB port on the back panel and the rest of the system because I can't think of any other parts that run on the USB bus.&lt;/p&gt;
&lt;p&gt;Next to this is a Realtek &lt;a href="http://www.realtek.com.tw/products/productsView.aspx?Langid=1&amp;PFid=6&amp;Level=5&amp;Conn=4&amp;ProdID=14"&gt;RTL8100C&lt;/a&gt;, this is the fast ethernet controller&lt;/p&gt;
&lt;p&gt;Below this is a Mini-PCI Wireless LAN adapter which has the 2&#xC2;&#xA0;antenna&#xC2;&#xA0;connectors attached to it.&lt;/p&gt;
&lt;p&gt;Below this is a large chip, this is the video processor chip in this case a Sigma &lt;a href="http://www.sigmadesigns.com/public/Products/EM8620L/EM8620L_series.html"&gt;EM8622L&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Finally at the bottom is a Silicon Image &lt;a href="http://www.sci-worx.com/docs/9030_PB_0701.pdf"&gt;SiI9030&lt;/a&gt; chip which is the HDMI interface, this controls communications and encryption across the HDMI link.&lt;/p&gt;
&lt;p&gt;Also on the board is a ST Electronics 64Mbit flash memory chip and 2 Nanya RAM chips.&lt;/p&gt;
&lt;p&gt;As you can see from the image above there is no obvious damage, at least nothing that would cause the smoke I saw, this led me to believe the problem was in the DVD ROM drive. After spending 10 minutes&#xC2;&#xA0;fiddling&#xC2;&#xA0;round with it and&#xC2;&#xA0;eventually&#xC2;&#xA0;breaking several bits of plastic I managed to release the drive, when I removed the&#xC2;&#xA0;circuit&#xC2;&#xA0;board I found the following.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://static.arthurguy.co.uk/wp-content/uploads/2008/11/img_0434.jpg"&gt;&lt;img class="alignleft size-thumbnail wp-image-96" title="DVD ROM - Burnt chip" src="http://static.arthurguy.co.uk/wp-content/uploads/2008/11/img_0434-200x123.jpg" alt="" width="200" height="123" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;The chip had heated up and started to melt the plastic which was right above it, this could have been bad if this had happened when no one was around. The good news is the problem is hopefully contained to the drive which is a standard IDE DVD ROM drive and should be easily replaced.&lt;/p&gt;
&lt;p&gt;I will post an update when the replacement drive has arrived.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/11/kiss-media-player-smoke-problem</link><guid>https://arthurguy.co.uk/blog/2008/11/kiss-media-player-smoke-problem</guid><pubDate>Mon, 10 Nov 2008 12:11:49 +0000</pubDate></item><item><title>Canon EOS 5D MkII</title><description>&lt;p&gt;[caption id="attachment_86" align="alignleft" width="200" caption="Canon EOS 5D MkII"]&lt;a href="http://arthurguy.co.uk/wp-content/uploads/2008/09/eos_5d_mark_ii.jpg"&gt;&lt;img class="size-medium wp-image-86" title="Canon EOS 5D Mkii" src="http://arthurguy.co.uk/wp-content/uploads/2008/09/eos_5d_mark_ii.jpg" alt="Canon EOS 5D Mkii" width="200" height="200" /&gt;&lt;/a&gt;&#xC2;&#xA0;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;[/caption]&lt;/p&gt;
&lt;p&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p&gt;Canon &lt;a href="http://www.usa.canon.com/templatedata/pressrelease/20080917_5dmkii.html"&gt;recently&#xC2;&#xA0;announced&lt;/a&gt;&#xC2;&#xA0;the&#xC2;&#xA0;upcoming&#xC2;&#xA0;release of there new digital SLR, the 5D Mark 2.&lt;/p&gt;
&lt;p&gt;This sounds like an amazing camera, it has 21.1MP sensor, a 3" LCD screen with live view and an ISO that goes up to 25600. It also has another feature something Nikon recently announced on there D90, HD Video. I had initial thought recording video on an SLR would be a bad thing, by adding to many features you take away from what the camera is&#xC2;&#xA0;supposed&#xC2;&#xA0;to do but after seeing the results I have changed my mind.&lt;/p&gt;
&lt;p&gt;Vincent Laforet has released a &lt;a href="http://www.usa.canon.com/dlc/controller?act=GetArticleAct&amp;amp;articleID=2086"&gt;video for a mock trailer&lt;/a&gt; shot entirely using a Canon 5D, he had access to an early version of the camera so the video was ready for the release of the camera. The quality of the footage and the shots that were captured are amazing, and the best thing about having a camera like this is that you can easily and cheaply change lenses. I don't know how much a&#xC2;&#xA0;comparable&#xC2;&#xA0;HD camcorder and lenses would be but I would expect them to cost a lot, probably more than the camera.&lt;/p&gt;
&lt;p&gt;The one thing that is stopping me running out and buying this camera (apart from the fact it hasn't been released yet) is the cost, the body is going to cost $2700 which will probably translate to &#xC2;&#xA3;1500 in the UK, if you want to get a lens with it the kit will costs about &#xC2;&#xA3;1800+.&lt;/p&gt;
&lt;p&gt;Whilst this is a huge amount of money, especially for a student with photography being just one of many hobbies I am really tempted to get it. Perhaps I should invest in a decent lens for my current camera the now very old Canon 300D.&lt;/p&gt;
&lt;p&gt;For an in depth review of the camera check out &lt;a href="http://thomashawk.com/2008/09/new-canon-5d-mark-ii-2700-211.html"&gt;Thomas Hawk's&lt;/a&gt; site.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I have just &lt;a href="http://www.dpreview.com/news/0809/08091705canon_5dmarkII.asp"&gt;read&lt;/a&gt; that the UK price for the body will be &#xC2;&#xA3;2,300, and &#xC2;&#xA3;3,049 for the kit; this is a&#xC2;&#xA0;ridiculous&#xC2;&#xA0;US to UK conversion and puts the camera completely out of my price range. I can only hope that it doesn't stay at this price or I get a very well paid job.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/9/canon-eos-5d-mkii</link><guid>https://arthurguy.co.uk/blog/2008/9/canon-eos-5d-mkii</guid><pubDate>Wed, 24 Sep 2008 15:09:30 +0000</pubDate></item><item><title>Things to do</title><description>&lt;p&gt;&lt;a href="http://arthurguy.co.uk/wp-content/uploads/2008/09/bas.gif"&gt;&lt;img class="alignleft size-thumbnail wp-image-81" title="BAS" src="http://arthurguy.co.uk/wp-content/uploads/2008/09/bas-200x69.gif" alt="" width="200" height="69" /&gt;&lt;/a&gt;I have come up with another thing for my &lt;a href="http://arthurguy.co.uk/2008/09/things-to-do-before-i-die/"&gt;list of things to do before I die&lt;/a&gt;; work for the &lt;a href="http://www.antarctica.ac.uk/"&gt;British Antarctic Survey&lt;/a&gt;. The British Antarctic Survey or BAS is something I came across a few years ago, I am not really sure what it was about the type of job or experience that interested me but there was something. If your unaware of what the BAS is its Brittan's research at the south pole, it includes several research bases covering different areas and different fields of science, you work there for periods of up to 33 months,&#xC2;&#xA0;that's almost 3 years with limited contact with the outside world!&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I am not a scientist so I wouldn't go there to do research, my aim would be to get a job as one of the support staff possibly working with the computers, communications or electrical infrastructure. From reading there website the working days can be long especially during the summer when the most needs to be made of the available light but in your free time you can go and do thing like ice climbing which sounds really cool.&lt;/p&gt;
&lt;p&gt;So that's one more thing bringing my list to 4.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go into space / see the Earth from space&lt;/li&gt;
&lt;li&gt;Go sky diving&lt;/li&gt;
&lt;li&gt;Learn to fly a helicopter&lt;/li&gt;
&lt;li&gt;Work for the British Antarctic Survey&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In terms of fulfilling number 3 (learn to fly a helicopter) I may have come a bit closer, I have found out you can buy a 30 minute flying lesson using &lt;a href="http://en.wikipedia.org/wiki/Nectar_loyalty_card"&gt;Nectar&lt;/a&gt; points, something I am seriously considering doing.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/9/things-to-do</link><guid>https://arthurguy.co.uk/blog/2008/9/things-to-do</guid><pubDate>Sat, 06 Sep 2008 08:09:57 +0000</pubDate></item><item><title>Things to do before I die</title><description>&lt;p&gt;Over the past couple of weeks I have come across a number of lists people have made identifying a number of targets people have set for there life, I quite like this idea so I have decided to create one of my own.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I think by having your ambitions, dreams, milestones or whatever you want to call it written down or at least well defined in your mind you will be more&#xC2;&#xA0;likely&#xC2;&#xA0;to achieve them. These aren't things such as get a job or get married there much grander aims that can help shape your life by encouraging you to make decisions or take&#xC2;&#xA0;opportunities&#xC2;&#xA0;you may not have otherwise taken.&lt;/p&gt;
&lt;p&gt;A little over a month ago I came across &lt;a href="http://en.wikipedia.org/wiki/Randy_Pausch"&gt;Randy Pausch&lt;/a&gt; when he sadly died of cancer, in amongst the tributes there were links to a lecture he gave at CMU titled &lt;a href="http://www.youtube.com/watch?v=ji5_MqicxSo"&gt;the last lecture&lt;/a&gt;, there he gave this inspirational lecture during the last months of his life. The lecture focused on his life, covering his&#xC2;&#xA0;career, ambitions and achievements and is well worth watching. The point of mentioning it is that he started the lecture with a list of his childhood dreams, this is something I never had as a child or at any point in the 23 years until now, I am not sure why I guess I have never been much of a dreamer or looked&#xC2;&#xA0;towards&#xC2;&#xA0;the future like others have.&lt;/p&gt;
&lt;p&gt;Over the weekend I started thinking of what would be on my list, because I don't have childhood dreams to work on I have had to think of things I would love to do but also things that are ambitious, the first one I came up with was to go into space and to see the earth from space. On the surface this seems a little extreme but I&#xC2;&#xA0;genuinely&#xC2;&#xA0;think that I will be able to achieve this in my lifetime, in the next few years the first tourist flights to space will take place, just imagine how this industry will&#xC2;&#xA0;develop&#xC2;&#xA0;over the next 10, 20 or 30 years, hopefully well within my lifetime.&lt;/p&gt;
&lt;p&gt;The other two things I came up with were to do go skydiving and to fly a helicopter, I think jumping out of an&#xC2;&#xA0;airplane and going&#xC2;&#xA0;in to free fall would be an incredible&#xC2;&#xA0;experience and something that shouldn't be to hard to achieve. The third item is something I have wanted to do for several years now, I have thought for a while that being able to fly a helicopter would be a really cool and possible&#xC2;&#xA0;useful&#xC2;&#xA0;ability; I would love a helicopter&#xC2;&#xA0;license&#xC2;&#xA0;to put in my wallet with my driving&#xC2;&#xA0;license, thats assuming they come in a credit card size. This dream will probably be down to money rather then circumstance, but I will be on the lookout for any potential helicopter&#xC2;&#xA0;opportunities&#xC2;&#xA0;in the future.&lt;/p&gt;
&lt;p&gt;These 3 things are all I have come up with so far, I am going to try and add to this list and hopefully use it as a guide of some kind for my life, there might not be much point to it but at least I will have an answer if anyone asks me what I want to do in life.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/9/things-to-do-before-i-die</link><guid>https://arthurguy.co.uk/blog/2008/9/things-to-do-before-i-die</guid><pubDate>Mon, 01 Sep 2008 12:09:22 +0000</pubDate></item><item><title>Photosynth - 3rd time lucky</title><description>&lt;p&gt;I have tried a couple of photosynths inside today and I have got some better results. I photographed the lab I am working along with all of its mess, I took panoramas of the room in the centre and from various points around the room, I then took some detail shots of different things.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I have now got to synths of the same room on my profile because the system doesn't allow you to edit existing work, what would be good is if it could detect similarities between your work and combine them.&lt;/p&gt;
&lt;p&gt;The better one of the two is embedded below.&lt;br /&gt;
&lt;iframe frameborder=0 src="http://photosynth.net/embed.aspx?cid=76128efd-5679-428e-b04f-2ed684ced1f6" width="400" height="300"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/8/photosynth-3rd-time-lucky</link><guid>https://arthurguy.co.uk/blog/2008/8/photosynth-3rd-time-lucky</guid><pubDate>Sun, 24 Aug 2008 15:08:45 +0000</pubDate></item><item><title>Photosynth - Attempt 1</title><description>&lt;p&gt;&#xC2;&#xA0;&lt;a title="Sissinghurst" href="http://www.flickr.com/photos/arthurguy/sets/72157606906796914/"&gt;&lt;img class="alignleft" style="float: left;" src="http://static.flickr.com/3159/2789381485_715da02ab9_m.jpg" alt="Sissinghurst" /&gt;&lt;/a&gt;&lt;br /&gt;
Yesterday I went to a National Trust property called Sissinghurst Castle Gardens, this is an amazing enclosed garden with hundreds of different type of plants where I was able to get a number of decent photos.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;While I was there I took almost 200 photos for a Photosynth, I didn't take the photos in the garden but behind the garden next to a lake. The Photosynth software seemed to do some pre processing of the images before they were uploaded, I don't know to what extent the process was completed on my computer vs on Microsoft's servers what I do know is the upload took hours and hours on my slow connection.&lt;/p&gt;
&lt;p&gt;Today I am going to try another Photosynth but this time in doors, I will photograph my lab at university but hopefully in a more structured manor.&lt;/p&gt;
&lt;p&gt;My Photosynth is embeded below&lt;br /&gt;
&lt;iframe frameborder=0 src="http://photosynth.net/embed.aspx?cid=6689b296-cc2e-4896-b88b-bc35d02c90a9#Recent" width="400" height="300"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/8/photosynth-attempt-1</link><guid>https://arthurguy.co.uk/blog/2008/8/photosynth-attempt-1</guid><pubDate>Sun, 24 Aug 2008 09:08:50 +0000</pubDate></item><item><title>Data Security</title><description>&lt;p&gt;&lt;span style="color: #0000ee; text-decoration: underline;"&gt;&lt;a href="http://arthurguy.co.uk/wp-content/uploads/2008/08/memory-stick.jpg"&gt;&lt;img class="alignleft size-thumbnail wp-image-70" title="memory-stick" src="http://arthurguy.co.uk/wp-content/uploads/2008/08/memory-stick-200x97.jpg" alt="Memory Stick" width="200" height="97" /&gt;&lt;/a&gt;&lt;/span&gt;Yesterday there was yet another &lt;a href="http://news.bbc.co.uk/1/hi/uk_politics/7575989.stm"&gt;story&lt;/a&gt; in the news about the loss of sensitive data, this time records on all the&#xC2;&#xA0;prisoners&#xC2;&#xA0;in England and Wales as well as details on others with convictions were lost after a private&#xC2;&#xA0;company&#xC2;&#xA0;misplaced a memory stick. This is only the latest in a long line of data losses, earlier in the year CD's and laptops containing details on others were lost as well.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;This current issue raises several questions, first what was a consulting firm doing with information such as this? I can understand the need to view&#xC2;&#xA0;statistics&#xC2;&#xA0;and have information on prisoner distribution and the types of crimes committed but why wasn't the data&#xC2;&#xA0;anonymized&#xC2;&#xA0;before it was given to this company and why wasn't it encrypted.&lt;/p&gt;
&lt;p&gt;There should be a simple policy for handling data such as this, never put it on removable media. Government agencies should have secure gateways, VPN's or some other method that would allow those who are&#xC2;&#xA0;authorized&#xC2;&#xA0;to view this&#xC2;&#xA0;information&#xC2;&#xA0;without needing to copy it onto disk. Its going to take a serious incident (someone finding the lost data and doing something bad with it) before they really change there policies and way of working.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/8/data-security</link><guid>https://arthurguy.co.uk/blog/2008/8/data-security</guid><pubDate>Fri, 22 Aug 2008 09:08:23 +0000</pubDate></item><item><title>Photosynth is finally here</title><description>&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/08/microsoft_live_labs_photosynth_logo.png"&gt;&lt;img class="alignleft size-full wp-image-68" title="microsoft_live_labs_photosynth_logo" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/08/microsoft_live_labs_photosynth_logo.png" alt="Photosynth" width="75" height="75" /&gt;&lt;/a&gt;A wile ago I came across Microsoft's &lt;a href="http://photosynth.net/"&gt;Photosynth&lt;/a&gt;, at the time I thought it was&#xC2;&#xA0;particularly&#xC2;&#xA0;strange; sometime after I came&#xC2;&#xA0;across&#xC2;&#xA0;it again and finally&#xC2;&#xA0;realized&#xC2;&#xA0;how amazing it was, since then I have been eagerly awating the release of the system to the public.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;This morning I noticed several posts about Photosynth but I was in a rush so didn't&#xC2;&#xA0;realize&#xC2;&#xA0;what had happened, it was when I got into work that I received the amazing news that Photosynth is finally here.&lt;/p&gt;
&lt;p&gt;If you have no idea what Photosynth is I suggest you go an take a look although if you have a Mac you can read about it instead at &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Live_Labs_Photosynth"&gt;Wikipedia&lt;/a&gt;,&#xC2;&#xA0;no Mac or&#xC2;&#xA0;Linux&#xC2;&#xA0;support I am afraid.&lt;/p&gt;
&lt;p&gt;Rather than uploading the photos to Microsoft through the website you need to install a piece of software, I am unclear at this stage wether the software processes the images locally or acts as a facility for uploading them although I suspect it just uploads them, this then leads to the question of how long will Photosynth's take to generate when they have been uploaded.&lt;/p&gt;
&lt;p&gt;I will have the answer to all of these questions and more at the weekend, I was planning on spending the day taking photos and trying out my new tripod anyway now I have an even better task. Hopefully weather depending I will have my first Photosynth up at the weekend.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/8/photosynth-is-finally-here</link><guid>https://arthurguy.co.uk/blog/2008/8/photosynth-is-finally-here</guid><pubDate>Thu, 21 Aug 2008 10:08:42 +0000</pubDate></item><item><title>Tripods</title><description>&lt;p&gt;Today I finally bought a decent tripod, when I say decent I mean a lot better than my previous one but sill a long way off the high end ones.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;For years I have been using cheap little &#xC2;&#xA3;30 tripods, it didn't go very high and wasn't very stable but it did the job, especially recently when I have been playing with &lt;a title="HDR" href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging"&gt;HDR&lt;/a&gt; images and needed a stable image for each exposure.&lt;/p&gt;
&lt;p&gt;The one thing I have found the most&#xC2;&#xA0;annoying&#xC2;&#xA0;with the old tripod is its height, I had to put it on a table to use or sit on the ground which was a little&#xC2;&#xA0;awkward&#xC2;&#xA0;and put me off using it.&lt;br /&gt;
The new tripod is a &lt;a href="http://www.manfrotto.com"&gt;Manfrotto&lt;/a&gt;, the base is a 190 and the head is a 804RC2, they are&#xC2;&#xA0;significantly&#xC2;&#xA0;heavier which may put me off taking it as much but I hope it will give me better results.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://static.arthurguy.co.uk/wp-content/uploads/2008/08/190xprobsitovecchio.jpg"&gt;&lt;img class="alignleft size-medium wp-image-65" title="190xprobsitovecchio" src="http://static.arthurguy.co.uk/wp-content/uploads/2008/08/190xprobsitovecchio-333x500.jpg" alt="190 Tripod" width="333" height="500" /&gt;&lt;/a&gt;&lt;a href="http://static.arthurguy.co.uk/wp-content/uploads/2008/08/804rc2.jpg"&gt;&lt;/a&gt;&lt;a href="http://static.arthurguy.co.uk/wp-content/uploads/2008/08/804rc2.jpg"&gt;&lt;img class="alignnone size-thumbnail wp-image-66" title="804rc2" src="http://static.arthurguy.co.uk/wp-content/uploads/2008/08/804rc2-200x133.jpg" alt="804RC2 Head" width="200" height="133" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am planning on finding&#xC2;&#xA0;somewhere&#xC2;&#xA0;at the weekend and going out and taking some photos, now with a stable base I can try longer exposures and try and get a crisper hdr shot.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/8/tripods</link><guid>https://arthurguy.co.uk/blog/2008/8/tripods</guid><pubDate>Tue, 19 Aug 2008 21:08:53 +0000</pubDate></item><item><title>News of the World and Max Mosley</title><description>&lt;p&gt;Last week Max Mosley won his case against the &lt;a href="http://www.newsoftheworld.co.uk/"&gt;News of the World&lt;/a&gt; over the invasion of his privacy, today he announced he was going to sue for libel after the judge in the case ruled that there was no Nazi theme.&lt;br /&gt;
I am completely on the side of Mosley, what he gets up to in his own time with consenting adults is entirely his business.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;What annoyed me was when the former Archbishop of Canterbury &lt;a href="http://www.glcarey.co.uk/"&gt;Lord Carey&lt;/a&gt; interfered in the case, this case has nothing to do with religion and this Carey person has no place interfering. Carey made the argument that as the Judge ruled in favour of Mosley the judge was setting a dangerous precedent and that free speech was a victim and secondly public morality was a victim. His first point about free speech is really stupid, what is he saying, papers are allowed to write what they want about people and invade there privacy to get the information they need. His second point about morality being a victim is his opinion, yes what Mosley was involved in isn't to everyone's taste but people can do what they want, if he enjoys it he shouldn't have someone criticising it.&lt;/p&gt;
&lt;p&gt;I am not a religious person but I do respect the beliefs of those&#xC2;&#xA0;people who are, providing they don't interfere with other peoples lives and that is clearly what they are doing here. Religion should have no part in government, the law or anything that affects the public as a whole, it should be something that people can choose to be a part of.&lt;/p&gt;
&lt;p&gt;I hope that Mosley wins his libel case and this whole situation sets the dangerous precedent that consenting adults can do what they want behind closed doors.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/7/news-of-the-world-and-max-mosley</link><guid>https://arthurguy.co.uk/blog/2008/7/news-of-the-world-and-max-mosley</guid><pubDate>Sun, 27 Jul 2008 18:07:29 +0000</pubDate></item><item><title>Voice over IP</title><description>&lt;p&gt;For the past few years I have been running a VoIP server at home and I just wanted to share my experiences with it.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;My first introduction to the magical world to digital&#xC2;&#xA0;telecommunications&#xC2;&#xA0;was with a service &lt;a href="http://www.bt.com"&gt;BT&lt;/a&gt; ran several years ago, I can't remember the exact details but I believe it cost &#xC2;&#xA3;5 a month and for that you got a &lt;a href="http://www.cisco.com"&gt;Cisco&lt;/a&gt;&lt;a href="http://www.cisco.com/en/US/prod/collateral/voicesw/ps6788/phones/ps514/ps515/product_data_sheet09186a008007cd72.html"&gt; ATA&lt;/a&gt; and a 055 telephone number. I used the service for over a year and was very impressed with it, the call quality was very good as was the reliability; rather than using the standard &lt;a href="http://en.wikipedia.org/wiki/Session_Initiation_Protocol"&gt;SIP&lt;/a&gt; protocol I seem to remember the system used Cisco's&#xC2;&#xA0;proprietary&#xC2;&#xA0;VoIP protocol, I ended up leaving this service after BT decided to move over to a SIP based system with there own hideous Router/ATA device.&lt;/p&gt;
&lt;p&gt;I believe it was at this point that I started looking at &lt;a href="http://www.asterisk.org/"&gt;Asterisk&lt;/a&gt; and &lt;a href="http://asteriskathome.sourceforge.net/"&gt;Asterisk@home&lt;/a&gt;&#xC2;&#xA0;(now trixbox). Asterisk is an open source PBX that is controlled and run using configuration files, trixbox is the same thing but it comes packaged with a GUI, an OS and lots of other bits, it's a complete IP PBX thats easy to install and run.&lt;/p&gt;
&lt;p&gt;trixbox connects to the outside world using either traditional telephone lines (&lt;a href="http://en.wikipedia.org/wiki/POTS"&gt;POTS&lt;/a&gt;) and hardware interface cards or digital lines, these are known as trunks. For many years I used a company called VoIP Talk who provided an &lt;a href="http://en.wikipedia.org/wiki/Inter-Asterisk_eXchange"&gt;IAX&lt;/a&gt;&#xC2;&#xA0;trunk along with a few numbers, the service they offered was reliable and had good sound quality,&#xC2;&#xA0;unfortunately&#xC2;&#xA0;I had to stop using them after they decided to stop me altering the outgoing caller id.&lt;/p&gt;
&lt;p&gt;Within the house it was running in I made each telephone its own&#xC2;&#xA0;extension, I converted some existing phones using ATA's and replaced some with VoIP phones, I ended up using Linksys hardware for most of this. This setup meant each telephone could be on a&#xC2;&#xA0;separate&#xC2;&#xA0;incoming&#xC2;&#xA0;or outgoing call at the same time and they could also call between each other. I was also able to setup ring groups, this is a list of phones that ring when one number is called, for example when someone calls me my office phone rings, as does my mobile and wireless VoIP phone.&lt;/p&gt;
&lt;p&gt;One of the benefits of the system became obvious when I went to the Google IP conference in San Francisco, I took with me my wireless VoIP phone, this device connects to the internet using a wireless connection and then to my trixbox server using the SIP protocol, the phone allowed me to call home for free and other UK destinations at a regular rate. I also use the phone when I have wireless coverage in the UK, call costs are a lot cheaper and the quality whilst not as good as a mobile is acceptable.&lt;/p&gt;
&lt;p&gt;One thing the system doesn't do but I would like is the ability to handle SMS messages, at the moment I have an 0871 number which people can reach me on, when someone calls this number it rings my VoIP phone, a desk phone and my mobile phone, this works&#xC2;&#xA0;brilliantly&#xC2;&#xA0;but it doesn't work with text messages. I am in the process of changing trunk provider to a company called &lt;a href="http://www.aql.com"&gt;aql&lt;/a&gt; as they are offering me the ability to change my outgoing caller id, they also offer SMS services via VoIP numbers so hopefully I will be able to set this up in the future.&lt;/p&gt;
&lt;p&gt;VoIP is a system I would&#xC2;&#xA0;recommend&#xC2;&#xA0;to everyone especially businesses, it is very easy and cheap to&#xC2;&#xA0;implement&#xC2;&#xA0;and offers all the feature of expensive PBX systems. Here in the UK BT are changing there entire phone network over to VoIP so when anyone makes a call as soon as it reaches the local exchange it will enter the digital network, also when the &lt;a title="ENUM" href="http://blog.arthurguy.co.uk/2008/04/enum-dns-for-voip/"&gt;ENUM&lt;/a&gt; system begins to role out call costs will reduce even further.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/7/voice-over-ip</link><guid>https://arthurguy.co.uk/blog/2008/7/voice-over-ip</guid><pubDate>Wed, 23 Jul 2008 11:07:28 +0000</pubDate></item><item><title>Latest Project - InoMED</title><description>&lt;p&gt;Over the past few days I have been working on a new website to support a piece of medical hardware I am building for my PhD, the site is designed to provide doctors access to data collected by the hardware so its not intended for the general public, never the less it does have some background information on it and it is another site I can add to my portfolio so I am putting a link to it here so it can get picked up by the search engines. The site is for a semi fictional company called InoMED and can be found here - &lt;a title="InoMED" href="http://inomed.co.uk"&gt;inomed.co.uk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;The site only took me 3 days to make, that includes the database work and all the php coding, I think this is a new record for me; the code may not be pretty but it works!&lt;br /&gt;
I am hosting the site, the database and the python script which will capture and process&#xC2;&#xA0;incoming&#xC2;&#xA0;TCP data on an old computer of mine; rather than hosting it using the same hardware I use for everything else I dug out an old HP machine which I have running on the University network, it saves on electricity costs and they have a fairly good internet connection.&lt;/p&gt;
&lt;p&gt;The site layout including the images came from a WordPress template created by&#xC2;&#xA0;&lt;a href="http://nettuts.com/site-builds/from-psd-to-html-building-a-set-of-website-designs-step-by-step/"&gt;Collis Ta'eed&lt;/a&gt;, its a brilient theme that I only needed to&#xC2;&#xA0;tweak&#xC2;&#xA0;a little, I changed the gray background to green and&#xC2;&#xA0;dropped&#xC2;&#xA0;most of the fixed font sizing in&#xC2;&#xA0;favor&#xC2;&#xA0;of&#xC2;&#xA0;relative&#xC2;&#xA0;sized fonts. The styling for the input forms came from &lt;a href="http://woork.blogspot.com/2008/06/clean-and-pure-css-form-design.html"&gt;Antonio Lupetti's woork site&lt;/a&gt;, again I changed the colour to green to match.&lt;br /&gt;
I have always been useless at creative things, and I am very&#xC2;&#xA0;grateful&#xC2;&#xA0;to the people above and to everyone else who creates things like this to share with the world.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/7/latest-project-inomed</link><guid>https://arthurguy.co.uk/blog/2008/7/latest-project-inomed</guid><pubDate>Tue, 15 Jul 2008 13:07:35 +0000</pubDate></item><item><title>Flickchart - Movie Ratings</title><description>&lt;p&gt;Last week&#xC2;&#xA0;over on&#xC2;&#xA0;&lt;a title="FriendFeed" href="http://friendfeed.com"&gt;friendfeed&lt;/a&gt; I heard about a new movie rating website called &lt;a title="Flickchart" href="http://www.flickchart.com"&gt;Flickchart&lt;/a&gt;, its still in the invite stage but a quick &lt;a title="Twitter" href="http://twitter.com"&gt;twitter&lt;/a&gt; message to the &lt;a href="http://twitter.com/flickchart"&gt;Flickchart user&lt;/a&gt; yielded an invitation. I sign up to and play with lots of different sites and services as I come across them but none have been as appealing as this one, I have found my self sitting in front of the computer screen for hours on end rating movies.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;The site works in a very simple way, on the front page you are presented with two movies and you select which one is best or if you haven't seen one or both of the films you can skip the comparison, this process carries on until the site builds up a comprehensive list of your movies and so far the ranking seems to be fairly good. The site also allows you to search for movies and to choose to specifically compare it so it gets added to your list.&lt;/p&gt;
&lt;p&gt;One the face of it the site seems to be rather pointless and at the moment it is but there are&#xC2;&#xA0;a lot of possibilities, as you rank movies the site will end up with a list of movies you haven't seen as well as those you have, this is useful date with a lot of mashup opportunities. For example the list of movies you haven't seen could be sorted by the overall popularity and the sent to an amazon wish list or even to one of the many DVD rental websites, there are also possibilities for social networking by bringing together people with similar interests.&lt;/p&gt;
&lt;p&gt;There are a lot of possibilities for this site and hopefully it will expand and add new features over the coming months.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/7/flickchart-movie-ratings</link><guid>https://arthurguy.co.uk/blog/2008/7/flickchart-movie-ratings</guid><pubDate>Fri, 11 Jul 2008 20:07:21 +0000</pubDate></item><item><title>A week with my new MacBook</title><description>&lt;p&gt;&lt;a href="http://commons.wikimedia.org/wiki/Image:Macintosh_128k_transparency.png"&gt;&lt;img class="alignright size-thumbnail wp-image-56" title="macintosh_128k" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/07/macintosh_128k-127x150.png" alt="" width="127" height="150" /&gt;&lt;/a&gt;It's been just over week since I got my first proper&#xC2;&#xA0;Mac and I am surprised just how good it is. I say first proper Mac because the first one I had was a second hand Macintosh which I was given many years ago,&#xC2;&#xA0;it came with a carry case! and&#xC2;&#xA0;had a tendency to lock up which meant I didn't keep it for long.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;Over the years I have been a strong supporter of Microsoft products, people always said Macs were easier to use or simpler but I didn't take much notice at the time; after using one for a bit I understand what these people meant, on a Mac almost everything is easier, something that would take multiple steps on a Windows machine only takes one on a Mac.&lt;/p&gt;
&lt;p&gt;There are some significant differences that have taken me a while to get used to, the file structure is very different, and what&#xC2;&#xA0;I did find unusual at first is&#xC2;&#xA0;the fact that an entire&#xC2;&#xA0;program is contained within a single file and instillation simply involves dragging and dropping it into the applications folder. One thing I have been very pleased with is the battery life, it seems to be somewhere between 4 and 6 hours which is so much better than anything else I have.&lt;/p&gt;
&lt;p&gt;I am not going to get rid of my Windows laptop and I will probably replace it when it gets to old but I will also do the same with the Mac, now I have one I don't think I can go back to not having a Mac.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/7/a-week-with-my-new-macbook</link><guid>https://arthurguy.co.uk/blog/2008/7/a-week-with-my-new-macbook</guid><pubDate>Fri, 04 Jul 2008 14:07:13 +0000</pubDate></item><item><title>Apple's Interoperability</title><description>&lt;p&gt;Yesterday my MacBook was delivered, I haven't owned a Mac before but thought I probably should as it seems to be the machine of choice for developers and is a requirement for developing for the iPhone.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I have picked up the way the system works fairly quickly, its&#xC2;&#xA0;relatively&#xC2;&#xA0;intuitive&#xC2;&#xA0;but a few things bug me, the US keyboard for one, the fact the copy and past doesn't seem to work (just figured this one out, cmd rather than ctrl) unless your using the mouse and the way tabbing works or doesn't work between form items on web pages. These are just silly problems and things I have quickly worked&#xC2;&#xA0;around.&lt;/p&gt;
&lt;p&gt;This morning one of the first things I went to download after letting the machine update overnight was the iPhone SDK, finally having the platform it was designed to work on I expected the process to be straight forward, alas it wasn't. I went to the &lt;a href="http://developer.apple.com/iphone/"&gt;developer site&lt;/a&gt; and clicked the download link, the login box&#xC2;&#xA0;popped&#xC2;&#xA0;up and I logged in, the login box popped up again which seemed a little strange but I did what it said and logged in again, I was then returned to the site where I clicked on the download link again. When I clicked the download link I expected the download to start but instead I got a box saying my session had expired, a few moments after logging in. I tried this several times but I haven't been able to get it to work, rather stupidly I am having to download it on my windows machine which worked fine using IE!&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/6/apples-interoperability</link><guid>https://arthurguy.co.uk/blog/2008/6/apples-interoperability</guid><pubDate>Thu, 26 Jun 2008 12:06:47 +0000</pubDate></item><item><title>BBC TechCrunch Debate</title><description>&lt;p&gt;Last night was the debate at the BBC, it was held in the&#xC2;&#xA0;relatively&#xC2;&#xA0;small council chamber in Broadcasting House. I am not going to provide a summary of the whole thing as &lt;a href="http://uk.techcrunch.com/2008/06/25/live-blog-bbc-techcrunch-debate/"&gt;Mike Butcher&lt;/a&gt; has already done this but I am going to talk about a few things I found&#xC2;&#xA0;particularly&#xC2;&#xA0;interesting.&lt;/p&gt;

&lt;p&gt;&lt;p style="text-align: left;"&gt;Rights&lt;br /&gt;
I mentioned previously that I would like the BBC to make available there entire&#xC2;&#xA0;catalogue&#xC2;&#xA0;of programs for people to watch or&#xC2;&#xA0;develop&#xC2;&#xA0;with, I found out last night that this is never going to happen because of rights. The BBC doesn't own the rights to anything other than some of its radio shows so it can't make them available for&#xC2;&#xA0;commercial&#xC2;&#xA0;or non&#xC2;&#xA0;commercial&#xC2;&#xA0;use; what does this leave the BBC with that it could release,&#xC2;&#xA0;apparently&#xC2;&#xA0;quite a lot.&lt;br /&gt;
What was talked about a lot was the other types of data the BBC has, the BBC has and is making available at the moment general information about its programs, it is doing this through a&#xC2;&#xA0;fascinating&#xC2;&#xA0;system of linked articles.&#xC2;&#xA0;Eventually&#xC2;&#xA0;the plan is to have an&#xC2;&#xA0;automatically&#xC2;&#xA0;generated page for every program or even&#xC2;&#xA0;episode that contains details such as which pieces of music were played, these would then be linked to a page on the piece of music which would display all the shows and events where it has been used. This data would be made available through a variety of open formats for external use, there was also talk of linking it through to services like last.fm so if you liked the music in a&#xC2;&#xA0;particular&#xC2;&#xA0;program you could go and listen to more like it.&#xC2;&#xA0;In addition to this type of data the BBC also has a lot of statistical data such as viewer numbers and other&#xC2;&#xA0;similar&#xC2;&#xA0;things which it does own and could open up.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;One little fact which did emerge came from &lt;a href="http://www.tomski.com/"&gt;Tom Loosemore&lt;/a&gt; who was from Ofcom, he was talking about the government and its data and&#xC2;&#xA0;Ordnance&#xC2;&#xA0;Survey came up, they are a public service company but because of the way they are setup they have to make money this is why all there&#xC2;&#xA0;mapping&#xC2;&#xA0;data costs, he seemed to suggest that over the next few years this may be changed and all there services will be opened up for free or at cost. I have used various OS maps in the past and this would be an amazing thing if it happens, I suspect it would also mean mapping services like Google Maps would be able to&#xC2;&#xA0;integrate&#xC2;&#xA0;the much more detailed maps making the &lt;a href="http://www.techcrunch.com/2007/12/12/microsoft-buys-multimap-for-a-reported-50-million/"&gt;purchase&lt;/a&gt; of MultiMap by Microsoft even more pointless.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;This will be an interesting area to watch, I doubt much will happen over the next few years but we will hopefully move to a state where companies like the BBC and even the government make all of there data publicly available in an open way.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/6/bbc-techcrunch-debate</link><guid>https://arthurguy.co.uk/blog/2008/6/bbc-techcrunch-debate</guid><pubDate>Thu, 26 Jun 2008 09:06:44 +0000</pubDate></item><item><title>The TechCrunch BBC Debate</title><description>&lt;p&gt;Over the past few months there has been talk of the BBC opening there content up to 3rd parties, this seems to have been spurred on my &lt;a href="http://mbites.com/"&gt;Mike Butcher&lt;/a&gt; the editor for &lt;a href="http://uk.techcrunch.com/"&gt;TechCrunch UK&lt;/a&gt; in several &lt;a href="http://uk.techcrunch.com/2008/04/14/with-highfield-gone-the-bbc-must-now-open-up/"&gt;different&lt;/a&gt; &lt;a href="http://uk.techcrunch.com/2008/06/02/while-the-bbc-fiddles-britains-innovation-burns/"&gt;posts&lt;/a&gt;. Mike has been calling for a public debate on the matter and he has got his &lt;a href="http://uk.techcrunch.com/2008/06/12/the-techcrunch-bbc-debate/"&gt;wish&lt;/a&gt;, next week there will be a debate at&#xC2;&#xA0;Broadcasting House&#xC2;&#xA0;between several people from the BBC and the tech world.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;The BBC is a public company which we all pay for so it only seems fare we should all have access to the content it has produced, the BBC recently &lt;a href="http://www.techradar.com/news/internet/bbc-archive-to-go-online-390318"&gt;announced&lt;/a&gt; plans to digitise all of their content and make it available on line which is clearly a step in the right direction but there are calls for them to go further.&lt;br /&gt;
Rather than just letting people watch the content it needs to be available for people to take and embed, edit and create better things with.&lt;br /&gt;
Having the ability to take TV shows or even entire series and embed them say into a&#xC2;&#xA0;fan site for that show would be a great thing for all the shows fans, the website and even the BBC as it all aids in the distribution of the BBC brand.&lt;/p&gt;
&lt;p&gt;If the content was there to access, developers could build new websites and services to access and display the material, rather than the BBC spending millions of pounds on content delivery systems they could build an archive, a series of API's and focus on creating better content. There are clearly big copyright issues involved, there is generally a third party who has made the show for the BBC who would want a say or it may be a show the BBC has bought the rights to show either way this is probably where the problems will be and why the shows in the BBC's &lt;a href="http://bbc.co.uk/iplayer"&gt;iPlayer&lt;/a&gt; are only available for 7 days.&lt;/p&gt;
&lt;p&gt;I will do a followup post next week after the event.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/6/the-techcrunch-bbc-debate</link><guid>https://arthurguy.co.uk/blog/2008/6/the-techcrunch-bbc-debate</guid><pubDate>Thu, 19 Jun 2008 15:06:37 +0000</pubDate></item><item><title>The world of Apple</title><description>&lt;p&gt;I have finally joined the Apple club and bought my first product, a &lt;a href="http://store.apple.com/uk/browse/home/shop_mac/family/macbook"&gt;MacBook&lt;/a&gt;. I had never been interested in Apple products as they always seemed over priced and in compatible with everything, I still think there a little on the pricey side but I bought mine through the Apple &lt;a href="http://apple.procureweb.ac.uk/"&gt;higher education store&lt;/a&gt; so&#xC2;&#xA0;I only paid &#xC2;&#xA3;713 instead of &#xC2;&#xA3;829, a very reasonable discount. I have been in several situations recently where I have needed a Mac so I think this was the right time to make the move.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;A couple of weeks ago when I was at the &lt;a title="Google IO" href="http://blog.arthurguy.co.uk/2008/05/google-io/"&gt;Google Developer&lt;/a&gt; conference in San Francisco the majority of people had Macs so I kind of felt out of place sitting there with my HP running Windows, there are also several bits of software that will only run on the Mac, Google have an uploader for there App Engine&#xC2;&#xA0;and the SDK for the iPhone only runs on the Mac as well. My only problem is that I have never properly used a Mac before so it will be like learning to use the computer all over again.&lt;/p&gt;
&lt;p&gt;In addition to this Mac I am also considering getting the 3G iPhone when its released next month, the previous iPhone didn't seem very good especially in comparison to the phone I have but the new one has fixed most of the iPhone's limitations. I have 2 contract phones at the moment and I really don't want a third, I will have to wait and see how tempting it is next month.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/6/the-world-of-apple</link><guid>https://arthurguy.co.uk/blog/2008/6/the-world-of-apple</guid><pubDate>Tue, 17 Jun 2008 16:06:49 +0000</pubDate></item><item><title>Where am I? Here's where</title><description>&lt;p&gt;I think I have finally solved my location problem, I contacted a company called &lt;a title="FollowGB" href="http://www.followgb.co.uk"&gt;FollowGB&lt;/a&gt;&#xC2;&#xA0;who supply a range of tracking software and hardware as well as an online control panel for locating things and people.&lt;br /&gt;
At first glance all there products seem tied to there own tracking system but they have said that they can reprogram the devices to send data to any server and seem quite happy to do this for me.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/06/trim_pro.jpg"&gt;&lt;img class="alignleft size-medium wp-image-50" title="Trim Pro" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/06/trim_pro.jpg" alt="GPS Tracking Device" width="170" height="170" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The device they recommend is called &lt;a title="Trim Pro" href="http://www.followgb.co.uk/products/trim/index.aspx"&gt;Trim Pro&lt;/a&gt;&#xC2;&#xA0;and is a small self contained GPS and GSM system which runs from 4 AA batteries. It costs &#xC2;&#xA3;235 so its not particularly cheap and is at the higher end of my budget but it does seem ideal.&lt;br /&gt;
I am still waiting for the company to get back to me with some specifics but all going well I should get this within the next week or two, when I do I will post a more&#xC2;&#xA0;detailed review.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/06/trim_pro.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/6/where-am-i-heres-where</link><guid>https://arthurguy.co.uk/blog/2008/6/where-am-i-heres-where</guid><pubDate>Mon, 16 Jun 2008 13:06:43 +0000</pubDate></item><item><title>Where Am I?</title><description>&lt;p&gt;For a while now I have been looking for a method of tracking my location,&#xC2;&#xA0;Ideally&#xC2;&#xA0;I would like my exact location at any time of the day to be available and tracked both for my reference and so people know where I am. Some people may not like this idea but I have always been a big fan of anti-privacy type stuff.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I don't know if something to do this already exists, I have found similar things but nothing to do exactly what I want. My ideal device would be a small black box with GPS receiver and Internet connection through the mobile network, it would then upload my coordinates every minute. Last week I cam across a text message based service called &lt;a href="http://www.sniffu.com/"&gt;sniff&lt;/a&gt;, this service locates you using the cell tower your mobile phone is connected to so it isn't particularly accurate and it only does this when the service is texted at a cost of 50p. I have always thought there should be a bit of software for the mobile phone that would do this, my &lt;a href="http://en.wikipedia.org/wiki/HTC_Advantage_X7500"&gt;HTC Advantage&lt;/a&gt; has a built in GPS and mobile connection so it would be an ideal platform.&lt;/p&gt;
&lt;p&gt;Over the weekend I found a data logging GPS device in a catalogue, this device says it will record your position so it can be downloaded later so it doesn't offer real time updates but would be interesting for tracking routes when I go &lt;a title="USMC" href="http://www.ussu.info/mountain"&gt;walking&lt;/a&gt;. This should turn up in the next couple of days so I will update this post when I have had a chance to&#xC2;&#xA0;try it out.&lt;/p&gt;
&lt;p&gt;In the mean time I am still on the lookout for some software or even hardware to track my location so if you have ever come across any let me know.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;br /&gt;
&lt;/strong&gt;I decided to actually look for some software to do this and the first thing I cam access does almost everything I want, the only problem is the updates seem to go to there system. The software is called &lt;a href="http://www.bluetreeservices.co.uk/koolTraxManager.php"&gt;KoolTrax&lt;/a&gt; and I am currently waiting to hear back about some specifics such as the possibility of sending updates to my server.&lt;br /&gt;
&lt;strong&gt;Update 2:&lt;br /&gt;
&lt;/strong&gt;Received a reply about KoolTrax, unfortunately it doesn't do what I want but I am tempted to buy it anyway and see what it is like, especially as its only &#xC2;&#xA3;40.&lt;br /&gt;
&lt;strong&gt;Update 3:&lt;/strong&gt;&lt;br /&gt;
I may have found the software I have been looking for, there is a company/site called &lt;a href="http://www.mologogo.com/"&gt;Mologogo&lt;/a&gt; which has a piece of software for most types of mobile, it makes use of cell tower positioning or GPS positioning to update there website, the key thing is you can also send the location data to a second server. There are several issues, firstly the application on the phone continually updates a real time map meaning increased bandwidth, it only updates every 30 seconds and the option to send your location to a second server doesn't work on Windows Mobile yet, oh and it crashes.&lt;br /&gt;
I am still looking for that ideal piece of software, if only Windows Mobile was as easy to develop for as the &lt;a href="http://developer.apple.com/iphone/program/"&gt;iPhone&lt;/a&gt;.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/6/where-am-i</link><guid>https://arthurguy.co.uk/blog/2008/6/where-am-i</guid><pubDate>Mon, 09 Jun 2008 08:06:43 +0000</pubDate></item><item><title>Microsoft Live Mesh</title><description>&lt;p&gt;Last night I received an email invitation to the Microsoft Tech Preview of there new &lt;a href="http://www.mesh.com"&gt;Live Mesh&lt;/a&gt; service, this is Microsoft's attempt at getting back on top and having some relevance. There Mesh service is designed to connect things together, such as your computers, phone, and I would imagine in the future other computer type devices.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;The Tech Preview seems fairly limited as it only seems to support Windows PCs, not Macs and no mobiles, apparently there coming soon. When you log into the service you are shown a ring and on this ring are all your connected computers along with a Live Desktop.&lt;/p&gt;
&lt;p&gt;&lt;img class="aligncenter size-medium wp-image-44" title="livemesh" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/06/livemesh-500x347.jpg" alt="Live Mesh Desktop" width="500" height="347" /&gt;&lt;/p&gt;
&lt;p&gt;When you connect a computer you need to install a small piece of software which allows synchronisation of files and what appears to be remote desktop connection software although I haven't tried this yet. When the software is installed you can create Mesh folders on your PC, you then place files into here to sync between PCs and the Live Desktop. Rather annoyingly you don't appear to be able to make an existing folder a Mesh folder it has to be a new one, this means I am unable to sync my whole My Docs folder I have to copy out files into a new folder first.&lt;/p&gt;
&lt;p&gt;The other part of the service is the Live Desktop, this is a virtual desktop which does a good job of modeling the look and feel&#xC2;&#xA0;of Vista; the Mesh folders you create on your PCs are visible here along with the files. Simple files like images and audio files can be opened and played or viewed on the Live Desktop but when&#xC2;&#xA0;I tried to open a word document it tried to get me to download it.&lt;/p&gt;
&lt;p&gt;&lt;img class="aligncenter size-medium wp-image-46" title="livedesktop" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/06/livedesktop-500x341.jpg" alt="Live Desktop" width="500" height="341" /&gt;&lt;/p&gt;
&lt;p&gt;The next step for a service like this is to integrate office type software, so when a word or an excel document is opened it opens on the desktop in an online version of the software, even a viewer would do.&lt;/p&gt;
&lt;p&gt;I think in the long term something like this would be good, I have a problem moving files between work and home and this may solve that problem, the mobile aspect may be useful as well but I rarely find myself moving files between these devices, I usually just email the files to myself that way I can pick it up on any of my devices.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;br /&gt;
I have been using the service for a few days and it seems fairly good, the remote desktop connection system is simple and easy to use and great for downloading files at work where p2p connections are very fast, when the file is downloaded I can then use the mesh folder synchronisation which uses http connections to move the file. The only annoyance I have come across is a problem with Visa machines with &lt;a href="http://blogs.msdn.com/livemesh/archive/2008/04/28/get-mesh-and-why-we-require-uac.aspx"&gt;UAC disabled&lt;/a&gt;, this means for the time being I can't connect my main home PC.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/6/microsoft-live-mesh</link><guid>https://arthurguy.co.uk/blog/2008/6/microsoft-live-mesh</guid><pubDate>Wed, 04 Jun 2008 13:06:15 +0000</pubDate></item><item><title>Google IO - Day 2</title><description>&lt;p&gt;The Google developer conference is now over, the past 2 days have been really interesting both from the conference content point of view and the event itself.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;My main focus for the 2 days was the &lt;a href="http://appengine.google.com/"&gt;Google App Engine&lt;/a&gt; cloud hosting system, I had read up on it before hand but I learned a lot about the system and about the correct methods for creating an app I have also made good progress on moving my &lt;a title="Trip List" href="http://triplist.co.uk"&gt;Trip List&lt;/a&gt; application over to the App Engine system.&lt;/p&gt;
&lt;p&gt;One thing I found interesting was how much money Google must have spent putting it all together, there was so much there, an unlimited supply of food and in addition to the breakfast, lunch and dinner there were ice creams, drinks and other snacks available throughout the day.&lt;/p&gt;
&lt;p&gt;One interesting I &lt;a href="http://www.techcrunch.com/2008/05/28/google-gets-fancy-with-google-io-tshirts-too-fancy/"&gt;read&lt;/a&gt; the other day, the t-shirts we were given had binary code on the back, the code was ASCII and spelt GOOGLEKO rather than GOOGLEIO which it was supposed to spell, this may have been intentional but its unlikely.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/google-io-day-2</link><guid>https://arthurguy.co.uk/blog/2008/5/google-io-day-2</guid><pubDate>Fri, 30 May 2008 04:05:08 +0000</pubDate></item><item><title>Google IO - Day 1</title><description>&lt;p&gt;Its day one of the &lt;a href="http://code.google.com/events/io/"&gt;developer conference&lt;/a&gt; and so far the morning has been very interesting.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I arrived shortly before 8 where&#xC2;&#xA0;I got accosted by some guy collecting for charity, I walked away from the encounter with my wallet $20 lighter but feeling OK for doing something for charity.&lt;br /&gt;
Registration was at 8 where I collected by badge which has University of Sussex written on it, I guess that's what&#xC2;&#xA0;I get for only paying $50 for getting in, I also picked up my t-shirt, tote bag and water bottle, not to shabby.&lt;br /&gt;
They had&#xC2;&#xA0;free food and free WiFi so I spent the next hour on a bean bag catching up with emails, my VoIP phone also worked so I was able to call home for free.&lt;/p&gt;
&lt;p&gt;The keynote speech was fairly interesting as have some of the sessions, this afternoon I am going to a workshop where hopefully I will learn how to properly&#xC2;&#xA0;use &lt;a href="http://appengine.google.com/"&gt;Google App Engine&lt;/a&gt;.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/google-io-day-1</link><guid>https://arthurguy.co.uk/blog/2008/5/google-io-day-1</guid><pubDate>Wed, 28 May 2008 21:05:12 +0000</pubDate></item><item><title>Facebook's new look</title><description>&lt;p&gt;Facebook have just launched a public preview of there new site layout, it's available for anyone to view at &lt;a href="http://www.new.facebook.com"&gt;www.new.facebook.com&lt;/a&gt;, at the moment you can only view your profile page, any attempt to view other pages redirects back.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;One big change&#xC2;&#xA0;is the separation of the sections of the site, rather than having everything tied together there is now a separate header bar with the logo, drop down menu's and a search box, the main content is then below this in an unframed box and finally the chat bar at the bottom of the window.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/newfacebook.jpg"&gt;&lt;img class="alignnone size-medium wp-image-40" title="new facebook layout" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/newfacebook-500x240.jpg" alt="" width="500" height="240" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At the moment a lot isn't working, for example the items in the feed tab have an option to change there size or hide them, this doesn't work and the applications on the boxes tab can't be hidden or resized, also the auto search on the search box isn't working.&lt;/p&gt;
&lt;p&gt;The one thing that is missing is the advertising, I'd imagine they will have the same style advertising down one side, I don't think they would get away with 2 ad units and they can't afford to hide it at the bottom. The main content is centralised so the ad box might look a little odd floating of to the left or they may shift the content across, we will have to wait and see. Also at the moment the ads appear below the list of applications as these have been moved the ad box will always be stuck at the top of the page.&lt;/p&gt;
&lt;p&gt;As you can see from the screen shot wall items appear in your news feed, this is one think&#xC2;&#xA0;I don't like and I hope they remove this before the changes are released.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/facebooks-new-look</link><guid>https://arthurguy.co.uk/blog/2008/5/facebooks-new-look</guid><pubDate>Fri, 23 May 2008 14:05:53 +0000</pubDate></item><item><title>Google Health</title><description>&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/healthlogo.gif"&gt;&lt;img class="alignright size-medium wp-image-38" title="healthlogo" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/healthlogo.gif" alt="" width="150" height="58" /&gt;&lt;/a&gt;Google launched there long awaited &lt;a href="https://www.google.com/health/"&gt;Google Health&lt;/a&gt; product a couple of days ago and I have been filling in information to see what it's all about.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;Late last year Microsoft launched there rival product &lt;a href="http://www.healthvault.com/"&gt;HealthVault&lt;/a&gt;, this is a service I tried to sign up to but as I am in the UK it wouldn't let me. Google doesn't seem to have any problems with my location, after visiting the Google Health site I signed in with my existing Google account there was a standard terms and conditions box to agree to and my health profile was created for me and ready to be populated with data. The service can import records from a number of medical services, several hospitals, lab testing places and pharmacies, all of which were&#xC2;&#xA0;American which meant I had to enter my data manually.&lt;/p&gt;
&lt;p&gt;The service is primarily aimed at the American market, the height and weight options are all in imperial and there are no global localisation options, this is a little annoying but its much better than preventing access entirely.&lt;/p&gt;
&lt;p&gt;The system allows you to enter different medications you are taking or have taken along with allergies and conditions and any tests or procedures you have had. Data entry is by way of a free text box, as you start typing the system will display a list for you to choose from if you select one you can then easily view further information about the condition, procedure or medication but it will let you enter whatever you like. Once the record has been created you can add details such as dates or for medications times and quantities. I have an awful memory for this kind of information so I was only able to enter current information the rest I will get from my GP and enter later, once this is done it should be a useful reference. When completed I will be able&#xC2;&#xA0;to look back and see what vaccinations I have had and when as well as pull up detailed information on any of the conditions or medications I have entered.&lt;/p&gt;
&lt;p&gt;In the UK the government and health service are rolling out a computerised system for medical records, all your details&#xC2;&#xA0;will be accessible anywhere using the NHS's CRS (&lt;a href="http://www.nhscarerecords.nhs.uk/"&gt;Care Record Service&lt;/a&gt;); at the moment this is only in use in some locations but will be rolled out to the rest of the country. The CRS also allows patient access through a website called &lt;a href="https://www.healthspace.nhs.uk/"&gt;HealthSpace&lt;/a&gt; although only to those patients in the trial areas. From reading the information they provide when it is complete you will only be able to view a basic summary so it doesn't seem like it will be a replacement for the Google or Microsoft service.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/google-health</link><guid>https://arthurguy.co.uk/blog/2008/5/google-health</guid><pubDate>Wed, 21 May 2008 08:05:30 +0000</pubDate></item><item><title>My first experiences of FriendFeed</title><description>&lt;p&gt;I have had an account on &lt;a href="http://friendfeed.com/arthurguy"&gt;FriendFeed&lt;/a&gt; for a couple of weeks now but haven't used it other than linking it to the various accounts I have around the web, that was until a couple of days ago. I decided to start following people as I have done on &lt;a href="http://twitter.com/ArthurGuy"&gt;Twitter&lt;/a&gt; and I have found the experience much more rewarding.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;One of the first things&#xC2;&#xA0;I noticed after following a few notable figures, &lt;a href="http://friendfeed.com/scobleizer"&gt;Robert Scoble&lt;/a&gt;, &lt;a href="http://friendfeed.com/techcrunch"&gt;Michael Arrington&lt;/a&gt;&#xC2;&#xA0;and a few others was that it wasn't&#xC2;&#xA0;just there&#xC2;&#xA0;activity that was displayed on FriendFeed but&#xC2;&#xA0;the activity&#xC2;&#xA0;of there followers, this meant that the information displayed was much richer than I was expecting.&lt;/p&gt;
&lt;p&gt;The other benefit of FriendFeed was the threaded nature of the posts; each post whether it be a photo, Twitter post or linked blog post also had comments and again these weren't just from the people I was following these were from anybody.&lt;/p&gt;
&lt;p&gt;Robert Scoble has a post up describing why he things FriendFeed &lt;a href="http://scobleizer.com/2008/05/18/why-friendfeed-wont-go-mainstream/"&gt;wont take of&lt;/a&gt; and also &lt;a href="http://scobleizer.com/2008/05/18/why-friendfeed-will-go-mainstream-part-ii/"&gt;why it will&lt;/a&gt;; I agree with his first post, the friends I have online are all active users of Facebook but nothing else and I believe these people are typical of the average web user, they just don't understand or care about services such as Twitter, as far as there concerned email or a messenger service will suffice. And it not just Twitter, most people don't engage with these services, a few people might have Flickr accounts or even follow the odd blog but that will suffice for them.&lt;/p&gt;
&lt;p&gt;I hope things do change and services like FriendFeed do become more main stream but I don't see it happening in the short term.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/my-first-experiences-of-friendfeed</link><guid>https://arthurguy.co.uk/blog/2008/5/my-first-experiences-of-friendfeed</guid><pubDate>Sun, 18 May 2008 22:05:53 +0000</pubDate></item><item><title>Digsby - Facebook Chat problems?</title><description>&lt;p&gt;I was using &lt;a href="http://www.digsby.com/"&gt;Digsby&lt;/a&gt; to chat to a friend on &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt; this evening and at the same time as using the desktop client the web based chat application on Facebook's site was&#xC2;&#xA0;open as well, this was when I noticed a strange inconsistency.&lt;br /&gt;
Firstly one of the messages&#xC2;&#xA0;I received was missing a line of text, see the images below, in addition to that Digsby missed a reply and also didn't forward on one of my messages, as I mentioned in a &lt;a href="http://blog.arthurguy.co.uk/2008/05/social-networks-and-desktop-clients/"&gt;previous post&lt;/a&gt; I quite liked Digsby bringing everything together (except FriendFeed).&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/fb_chat.jpg"&gt;&lt;img class="alignleft size-medium wp-image-34" title="fb_chat" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/fb_chat.jpg" alt="" width="286" height="356" /&gt;&lt;/a&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/digsby_chat.jpg"&gt;&lt;img class="aligncenter size-medium wp-image-35" title="digsby_chat" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/digsby_chat-389x500.jpg" alt="" width="389" height="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There is a post in there &lt;a href="http://forum.digsby.com/viewtopic.php?id=1420"&gt;forum&lt;/a&gt; about one of these problems so hopefully it will get fixed soon, in the mean time I may have to switch back to Twirl and&#xC2;&#xA0;MSN Messenger.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/digsby-facebook-chat-problems</link><guid>https://arthurguy.co.uk/blog/2008/5/digsby-facebook-chat-problems</guid><pubDate>Fri, 16 May 2008 23:05:05 +0000</pubDate></item><item><title>Currys.digital store closures and DSG's future</title><description>&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/currys-exterior.jpg"&gt;&lt;img class="alignright size-thumbnail wp-image-32" title="Currys - Reprinted with permission from DSG international" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/currys-exterior-145x150.jpg" alt="Currys - Reprinted with permission from DSG international" width="145" height="150" /&gt;&lt;/a&gt;Today the BBC have a &lt;a href="http://news.bbc.co.uk/1/hi/business/7402090.stm"&gt;news article&lt;/a&gt; on there site talking about the closure of 77 of the &lt;a href="http://www.currys.co.uk/"&gt;Currys.digital&lt;/a&gt; stores as there leases run out over the next 5 years. The Currys.digital stores used to be Dixon's before that brand abandoned there high street presence in favour of a web only operation.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;Up until the beginning of the year&#xC2;&#xA0;I was working at &lt;a href="http://www.pcworld.co.uk/"&gt;PC World&lt;/a&gt; where I spent 2 and a half years working as a customer advisor for what initially started as a summer job, despite not expecting to be working there for long&#xC2;&#xA0;I stuck with it over the last few years of my uni course just working at weekends. I found the job interesting and it gave me an insight into how a large company works, I only really ended up leaving due to a change in management.&lt;/p&gt;
&lt;p&gt;While I was working at PC World there was concern about the future of the company, during&#xC2;&#xA0;my time &lt;a href="http://www.thelink.co.uk/"&gt;The Link&lt;/a&gt; retail stores closed down and they moved to an online presence only then shortly after than the Dixon's stores changed to Currys.digital. This last change left &lt;a href="http://www.dsgiplc.com/"&gt;DSG&lt;/a&gt; with a lot of locations with both a Currys store and a Currys.digital store, they should have really taken the opportunity then to remove these duplicates rather than to try and support both of them up until now, they should have taken one big negative hit with the press and markets rather than stretch it out.&lt;/p&gt;
&lt;p&gt;The market for electrical items has changed significantly over the past few years, more and more people are buying online and becoming more and more tech savvy, this is presenting problems for Currys.digital and PC World because sales staff rely on the naivety of the buying public. When dealing with customers years ago the sales staff would tell them what they wanted, so in addition to buying the camera, computer or other electrical item they would also go away with a selection of accessories such as a case, cable, printer, batteries, software, etc... It was these accessories that made the sale profitable, the base product is generally very competitive in price and as such makes very little profit in a retail store, certainly not enough to support the general operations, this is why the accessories were and still are so essential. When I was working in the store the target was an additional &#xC2;&#xA3;60 on top of a camera purchase and &#xC2;&#xA3;100 on top of a computer, these would be high margin items adding &#xC2;&#xA3;30 and &#xC2;&#xA3;50 respectively of profit to the sale, generally a lot more than was made on the main item. Towards the end of my time there this was becoming more and more difficult as customers realised they didn't need these bits or they already had them. And of course the other profit making item was the extend support agreement but that is a topic for another time.&lt;/p&gt;
&lt;p&gt;Anyway, as I was saying the customer was becoming smarter and not purchasing these items which I image is why DSG took 2 brands out of the high street into a purely online operation where the sale of just the main item can support the operations of the brand.&lt;br /&gt;
So far this hasn't happened for Currys and PC World, this is because of the type of items being sold. In Currys they generally sell large items like fridges, washing machines and ovens which people like to look at and measure to make sure it will fit in there house, they are also not very glamorous items so don't suffer from a huge amount of competition as people aren't as interested in selling them. In PC World the computer is the item keeping the store alive, but barely, a computer is still seen as a large purchase by many and people like to spend time looking at the different machines and talking to people about them. As time goes on more people will become comfortable with these purchases and be happy to take them online although I wouldn't expect to loose the computer on the high street for a long time. As I alluded to the PC is no longer enough to keep a store in business that is why PC World has spread into anything and everything, at a conference I was at for the store one of the speakers (PC World management) said there wasn't anything they wouldn't consider selling, and this can be seen by the changing product lines. PC World tried selling stationary in a&#xC2;&#xA0;fairly big way (an attempt to compete with Staples) but this only lasted for a short period before they scrapped the idea, they then started with TVs this range has now expanded and become a significant range for the store.&lt;/p&gt;
&lt;p&gt;While I was working at PC World I had to complete a financial analysis of a company for a university course, with the permission of the store manager I analysed several years of store financial data, whilst I am obviously not going to post it here it did reveal an interesting trend. Over the 2 years I covered the stores profits remained fairly constant although the turnover was increasing, this shows that the store was having to sell an increasing amount of stock just to keep profits level. I don't know if this was indicative of the whole chain or just a poorly performing store but it clearly wasn't a sustainable situation.&lt;/p&gt;
&lt;p&gt;The next few years will be an interesting time for DSG and the other electrical retailers; I don't expect much to happen to DSG, they have been expanding significantly into Europe so are in a better position to survive the changing consumer buying patterns but they will need to be quicker at adapting if they are going to be around in the long term.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/currysdigital-store-closures-and-dsgs-future</link><guid>https://arthurguy.co.uk/blog/2008/5/currysdigital-store-closures-and-dsgs-future</guid><pubDate>Thu, 15 May 2008 12:05:59 +0000</pubDate></item><item><title>Google I/O</title><description>&lt;p&gt;Yesterday I came across an event Google are holding called &lt;a href="http://code.google.com/events/io/"&gt;Google I/O&lt;/a&gt;, this is a 2 day event for developers in San Francisco. It covers several topics including Googles OpenSocial, Maps and Mobile services as well as general AJAX technology. I have used Google Maps a couple of imes in different websites but I have never explored it&#xC2;&#xA0;I much detail, I have also not looked at the other services before.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;Events like this allways facinate me, especially the Google ones, I have never managed to get to&#xC2;&#xA0;one before&#xC2;&#xA0;either because they are too expensive or in the case of this one in another country, despite this obvious location issue, me being in the UK, the event looked very interesting and would only cost $50. I had been looking at costs of flights to the US the previous week, it's one of those countries that I have never been to before but have really wanted to, I was originally looking at visiting New York but San Francisco seems like a decent alternative.&lt;/p&gt;
&lt;p&gt;With this in mind I have booked a place on the Google I/O event and booked a hotel and flight via &lt;a href="http://www.expedia.co.uk/"&gt;Expedia&lt;/a&gt;, I am going for about 4 days, 2 to spend at this place and another 2 to explore the area.&lt;/p&gt;
&lt;p&gt;Hopefully the developer event will be worth it and I will learn something interesting, I now have a list of over 80 sessions I need to choose from.&lt;/p&gt;
&lt;p&gt;This trip has also given me the opportunity to try out &lt;a href="http://blog.arthurguy.co.uk/2008/04/dopplr/"&gt;Dopplr&lt;/a&gt;, after entering the trip there seem to be a number of fairly interesting bits of information relating to SF and it will also provide a usefull place to store bits of information or plans for the trip.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/google-io</link><guid>https://arthurguy.co.uk/blog/2008/5/google-io</guid><pubDate>Tue, 13 May 2008 11:05:35 +0000</pubDate></item><item><title>Social Networks and Desktop Clients</title><description>&lt;p&gt;There seem to be a huge number of social networks around today, &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt;, &lt;a href="http://www.myspace.com"&gt;MySpace&lt;/a&gt;, &lt;a href="http://www.bebo.com"&gt;Bebo&lt;/a&gt;, &lt;a href="http://mash.yahoo.com/"&gt;Yahoo! Mash&lt;/a&gt;, &lt;a href="http://www.orkut.com/"&gt;Orkut&lt;/a&gt;, &lt;a href="http://twitter.com"&gt;Twitter&lt;/a&gt;, &lt;a href="http://pownce.com/"&gt;Pownce&lt;/a&gt;, &lt;a href="http://www.tumblr.com/"&gt;Tumblr&lt;/a&gt;, &lt;a href="http://www.flickr.com/"&gt;Flickr&lt;/a&gt;, just the few I could remember while writing this.&#xC2;&#xA0;There are probably as many desktop clients and aggregation sites for these services, things designed to make your life easier by putting everything in one place.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;One of the more popular ones is &lt;a href="http://friendfeed.com/"&gt;FriendFeed&lt;/a&gt;, I use this service a bit but not much, I have a widget on the right displaying my feed but as I don't have any friends using the service its a bit limited for someone like me, that's why I liked &lt;a href="http://socialthing.com/"&gt;Socialthing&lt;/a&gt; when it came out. Socialthing doesn't require friends to use the service it simply pulls data off existing services and displays it, I used Socialthing for a couple of weeks when&#xC2;&#xA0;it came out but stopped checking the site after that, I guess I just got bored.&lt;/p&gt;
&lt;p&gt;I then started using &lt;a href="http://www.twhirl.org/"&gt;Twhirl&lt;/a&gt;, it was a simple desktop application written in Adobe Air that brought together my Twitter feed as well as my FriendFeed, although just my updates so that bit was a bit pointless.&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/digsby.jpg"&gt;&lt;img class="alignright size-medium wp-image-29" title="digsby" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/digsby.jpg" alt="" width="238" height="435" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Recently I have started using &lt;a href="http://www.digsby.com/"&gt;Digsby&lt;/a&gt;, this is more like an IM application and aggregates MSN, Yahoo!, AIM, Google, ICQ, Jabber and Facebook Chat. It also incorporates my Twitter feed as well as my Facebook Updates, it also supports MySpace, the only thing its lacking is FriendFeed support.&lt;/p&gt;
&lt;p&gt;I have no idea if I will be using Digsby in a week or not or if I will find something different, for now it seems to do the job.&lt;/p&gt;
&lt;p&gt;One final thing I want to get of my chest is how awful MySpace is. I created an account last year, a while after I started using Facebook and I found it so confusing, I can normally pick things up very quickly but this was different. The other thing that really annoyed me was the huge amounts of advertising, there are 3 big ad units on the front page; I was also going to mention how many there were on my profile page but I can't even find a link for that or any links even relating to an account. A disgusting site.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/social-networks-and-desktop-clients</link><guid>https://arthurguy.co.uk/blog/2008/5/social-networks-and-desktop-clients</guid><pubDate>Mon, 12 May 2008 15:05:22 +0000</pubDate></item><item><title>OpenID - Good or Bad?</title><description>&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/openid_logo.png"&gt;&lt;img class="alignright size-medium wp-image-27" title="openid_logo" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/05/openid_logo.png" alt="OpenID" width="300" height="113" /&gt;&lt;/a&gt;&lt;a title="OpenID" href="http://en.wikipedia.org/wiki/OpenID"&gt;OpenID&lt;/a&gt; is an interesting idea, one that has the potential to solve one of the most annoying issues of today's websites, multiple accounts.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I like to try out lots of the new&#xC2;&#xA0;websites and services that keep appearing and the first thing I have to do with almost&#xC2;&#xA0;all of them is to create a new account, another user name and password. Most of the time this isn't to bad as I can use the same details but inevitably there are some sites who think my password is to insecure or my user name has already been registered. OpenID aims to solve this by allowing users to log into&#xC2;&#xA0;and register on websites using an existing account, this way you will only have one user name and password that is independent of the service you are signing up for.&lt;/p&gt;
&lt;p&gt;OpenID has been around for a while but only recently has it started gaining traction, the big companies have started providing there existing users with an OpenID which they can use with other sites but most of these companies have yet to start accepting OpenID's as a logging option on there site.&lt;/p&gt;
&lt;p&gt;Around Christmas time I enabled OpenID logins on my company site &lt;a title="a star solutions" href="https://www.astarsolutions.co.uk/account/"&gt;a star solutions&lt;/a&gt;, the implementation is fairly straightforward and I believe it has been implemented in a reasonable way, the only problem I encountered and still have a problem with is Yahoo's logins which don't seem to work with the &lt;a href="http://openidenabled.com/php-openid/"&gt;JanRain OpenID library&lt;/a&gt;&#xC2;&#xA0;I am using,&#xC2;&#xA0;I am sure the library does work but I have yet to get it working properly.&lt;/p&gt;
&lt;p&gt;On the surface OpenID seems like a perfect solution but there are critics of the service, I recently came across a blog post by a guy called &lt;a href="http://warpspire.com/features/open-id/"&gt;Kyle Neath&lt;/a&gt;, he makes some interesting points, some I agree with some&#xC2;&#xA0;I don't. For example he points out that if your OpenID provider decides to shut down you locked out of multiple services, this is easily overcome by using a large reputable company which provides OpenID's such as Yahoo! Two of his points seem to relate to the unfriendliness of the whole OpenID implementation and I agree with this, when using an OpenID you get redirected around and moved to different sites, for an average web user this is going to be confusing as they wont know whats going on, despite this its not a reason not to use the service. A company called &lt;a title="ClickPass" href="http://www.clickpass.com/"&gt;ClickPass&lt;/a&gt; has attempted to solve this problem by hiding the redirects in the background, the process is a lot easier and smoother for the user but it does rely on websites implementing this service as well as implementing OpenID.&lt;/p&gt;
&lt;p&gt;Over the next few months/years I hope to see more sites starting to use OpenID, hopefully we will eventually reach the point when we only have the one login for all the various sites and services out there.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/openid-good-or-bad</link><guid>https://arthurguy.co.uk/blog/2008/5/openid-good-or-bad</guid><pubDate>Fri, 09 May 2008 09:05:40 +0000</pubDate></item><item><title>Environment Monitoring</title><description>&lt;p&gt;I have a number of computers which run various things such as email, websites (including this one), databases and a telephone system, these computers are kept in a secure room with very poor ventilation so every year when summer roles around I start to panic as the temperature&#xC2;&#xA0;starts of pass 30 degrees.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;This year I have done something about it, a few weeks ago I installed a 12,000 BTU air conditioning unit as well as an environmental monitor, the sensor is a networkable temperature and humidity sensor from a company called &lt;a href="http://www.omega.co.uk/ppt/pptsc.asp?ref=ithx-w_ithx-m"&gt;Omega&lt;/a&gt;. The sensor is monitored using a company called &lt;a href="http://server-monitoring.co.uk/"&gt;Server Monitoring&lt;/a&gt; which I have been using for a couple of years for my main websites, they record the environment conditions every 15 minutes and send me a mice graph each day. Unlike the website monitoring this isn't as critical so I got wondering why don't I build a system to monitor it myself, something that records the temperate and humidity every minute and would allow me to process the data myself.&lt;/p&gt;
&lt;p&gt;I normally use php for programming websites and the various automated scripts that I have running but this time I decided I would try something different, for some reason I settled on python so below is my simple script that requests the data and stores it in a database.&lt;/p&gt;
&lt;pre&gt;import socket
import MySQLdb
import time&lt;/p&gt;

&lt;p&gt;data = ''&lt;/p&gt;

&lt;p&gt;while 1:
        temp = 0
        hum = 0
        HOST = 'sensor'
        PORT = 2000
        s = socket.socket(socket.AF&lt;em&gt;INET, socket.SOCK&lt;/em&gt;STREAM)
        s.connect((HOST, PORT))
        s.send('SRTCr')
        data = s.recv(1024)
        s.close()
        #print 'Received', repr(data)
        print 'Waiting for Data ...'&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    if data[0:2] == 'TA':
            temp = data[2:7]
?
    if data[0:2] == 'HA':
            hum = data[2:7]
?
    if temp != 0 and hum != 0:
            print 'Temperature ', temp
            print 'Humidity ', hum
            print 'Saving Data ...'

            # connect
            db = MySQLdb.connect(host="?", user="?", passwd="?", db="?")

            # create a cursor
            cursor = db.cursor()

            #Store Data
            cursor.execute("""INSERT INTO environment (temp, hum, loc)
                     VALUES ("""+temp+""", """+hum+""", "SF1")""")

            print 'Data Save Complete'

            print 'Sleeping for 60 Seconds'
            time.sleep(60)
            print 'Awake'&amp;lt;/pre&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;p&gt;This is my first attempt at making a script to store this information and my first attempt at programming in python so its not going to be perfect but it does work,&#xC2;&#xA0;I used a couple of&#xC2;&#xA0;other websites to collect several snippets of code to put it together.&lt;/p&gt;
&lt;p&gt;The plan now is to build a reporting system into my intranet site that pulls the data of the database and makes some graphs for it&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/environment-monitoring</link><guid>https://arthurguy.co.uk/blog/2008/5/environment-monitoring</guid><pubDate>Wed, 07 May 2008 15:05:12 +0000</pubDate></item><item><title>Viralcom - The truth behind YouTube Videos!</title><description>&lt;p&gt;A couple of weeks ago I came across a trailer for an up and coming&#xC2;&#xA0;show called Viralcom (embedded below).&lt;br /&gt;
The series follows Viralcom and takes you behind the scenes to see how all the classic YouTube videos are made, or would be made if a large organisation was behind them.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;[youtube:http://www.youtube.com/watch?v=aB-mdz1hqAs]&lt;/p&gt;
&lt;p&gt;A new 5 minute episode is released every week and its a great watch, they have even got the actual guy who did that awful &lt;a href="http://youtube.com/watch?v=EwTZ2xpQwpA"&gt;Chocolate Rain&lt;/a&gt;&#xC2;&#xA0;song.&lt;/p&gt;
&lt;p&gt;As of this post there are 4 episodes up there and you can see them on the &lt;a href="http://www.youtube.com/user/ViralcomSeries"&gt;Viralcom channel&lt;/a&gt;&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/5/viralcom-the-truth-behind-youtube-videos</link><guid>https://arthurguy.co.uk/blog/2008/5/viralcom-the-truth-behind-youtube-videos</guid><pubDate>Thu, 01 May 2008 23:05:06 +0000</pubDate></item><item><title>ENUM - DNS for VoIP</title><description>&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&#xC2;&#xA0;&lt;/p&gt;

&lt;p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;I was at Internet World today and went to a very interesting talk by a guy from &lt;a title="Nominet ENUM" href="http://www.nominet.org.uk/tech/enum/"&gt;Nominet&lt;/a&gt;; it was about &lt;a title="ENUM" href="http://en.wikipedia.org/wiki/ENUM"&gt;ENUM&lt;/a&gt; a VoIP server resolution service, DNS but for telephone numbers. ENUM effectively allows a user to lookup a telephone number like you would a website and find out the server responsible for managing it. At the moment if one VoIP server wants to call another it has to use the existing telephone network; most servers are technically capable of communicating with each other but until now they had no way of finding each other.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;This service has been around for a while but it has been subject to a slow rollout, it won't be available in the UK until the summer. This service has the potential to be very disruptive to the existing telephone network operators. I use a VoIP server in my home office, if I wanted to call another company which also uses a VoIP server my machine contacts my VoIP provider which then passes the call onto other machines which route the call to the destination, this costs as there are lots of 3rd parties involved, with this new system my VoIP server could talk directly to the other companies system, for free!&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;As this system roles out more and more calls will become free, it will also eliminate geographic boundaries making international calls free as well.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;This system may sound perfect but it does have its problems, for example this will only really benefit business or those with a VoIP server, the big telcos have control of home user&#xE2;&#x80;&#x99;s phones and they will be reluctant to offer calls for free. The way around this is for home users to start replacing their home phones with VoIP devices, these would connect to a service provider over the users internet connection, the service provider would then route the call. The provider could charge a rental or service charge and manage things such as multiple numbers, internal extensions and voice mail services. The existing telephone operators such as BT could provide this but I would expect them to hold the rollout of something like this as long as possible so they can secure their existing revenue stream as long as possible.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;Another problem is with the numbers, you wouldn't be able to register any number, in the UK you would need to own the number already which will have an associated rental fee, at least until the system gets completely shaken up.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;The other potential problem I envisage is with premium numbers and the markets surrounding them, as calls will be direct and all types of numbers will be treated the same there will be no telephone operator to collect a fee.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&#xC2;&#xA0;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;I am looking forward to summer and implementing this on my &lt;a title="Asterisk" href="http://www.asterisk.org/"&gt;Asterisk&lt;/a&gt; (&lt;a title="Trixbox" href="http://www.trixbox.org/"&gt;Trixbox&lt;/a&gt;) server, hopefully over time I will see my phone bill slowly drop.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/4/enum-dns-for-voip</link><guid>https://arthurguy.co.uk/blog/2008/4/enum-dns-for-voip</guid><pubDate>Tue, 29 Apr 2008 17:04:03 +0000</pubDate></item><item><title>Crayon Physics</title><description>&lt;p&gt;This morning I came across one of the most amazing games, it was linked to from a user on &lt;a href="http://pownce.com/rob/"&gt;Pownce&lt;/a&gt;&#xC2;&#xA0;and its called &lt;a href="http://www.crayonphysicsdeluxe.com/"&gt;Crayon Physics&lt;/a&gt; and involves moving a circle across the screen to the star on the other side. The website describes a version that is still in development but the original game can be downloaded. The games uses a &lt;a href="http://en.wikipedia.org/wiki/Physics_engine"&gt;physics engine&lt;/a&gt; to&#xC2;&#xA0;control drawn shapes, for example if you draw a circle it will fall down under gravity and interact with other objects. The game ideally needs to be placed on a tablet PC as the pen interface seems essential.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/04/crayon_physics.jpg"&gt;&lt;img class="alignnone size-medium wp-image-17" title="crayon_physics" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/04/crayon_physics-500x392.jpg" alt="Crayon Physics Level" width="500" height="392" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For example in the level above you can draw an oblong between the two towers and then knock the ball along, the video on the website describes it better.&lt;br /&gt;
I can't wait for the deluxe version, you can make a car!&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/4/crayon-physics</link><guid>https://arthurguy.co.uk/blog/2008/4/crayon-physics</guid><pubDate>Sun, 27 Apr 2008 10:04:57 +0000</pubDate></item><item><title>Technology and TV Shows</title><description>&lt;p&gt;I have been watching the past Spooks shows recently and I came across one of the stupidest things I have seen in a while. TV shows and films commonly mock up gadgets and other high tech devices, sometimes these are done well and sometimes they are not.&lt;br /&gt;
The image below is supposed to be of a recording device or data device being connected to a computer to transfer the information off.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/04/spooks.jpg"&gt;&lt;img class="alignnone size-medium wp-image-15" title="spooks" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/04/spooks-500x275.jpg" alt="Data Device" width="500" height="275" /&gt;&lt;/a&gt;I&lt;/p&gt;
&lt;p&gt;As you can see someone is putting a microchip with parts of its legs cut off into a card reader! I guess this type of thing goes unnoticed to most people but its a stupid unnecessary thing for the shows producers to do and in my opinion spoils things.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/4/technology-and-tv-shows</link><guid>https://arthurguy.co.uk/blog/2008/4/technology-and-tv-shows</guid><pubDate>Sat, 26 Apr 2008 14:04:23 +0000</pubDate></item><item><title>Dopplr</title><description>&lt;p&gt;I have just come across another social network called &lt;a title="Dopplr" href="http://www.dopplr.com"&gt;Dopplr&lt;/a&gt;, this seems to have been up and running since September last year, I guess I just missed it.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;First impressions aren't good but it doesn't mean I don't like it; firstly the site is very slow, I can't get it to load in IE so had to switch to Safari, no idea why this would help. The other problem is entering trips, for example I tried entering "Internet World, Earls Court, London, United Kingdom" and look what it does.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.arthurguy.co.uk/wp-content/uploads/2008/04/dopplr_location_problem.jpg"&gt;&lt;img class="alignnone size-medium wp-image-13" title="dopplr_location_problem" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/04/dopplr_location_problem-500x302.jpg" alt="Dopplr Incorrect Location" width="500" height="302" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It seems to work off the first thing you enter, so Internet World becomes Top-of-the-World, it ignores the country entirely. I ended up entering the location but even then it defaulted to a nearby place, that would be alright if it allowed me to enter an even or location name but it doesn't so I end up with a trip to Kensington, completely meaningless. I would like this service to be more about the actual location or event rather than the journey that would make it more interesting. The other bit that would be nice would be automatic twitter updates based upon your travel plans, someday maybe.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/4/dopplr</link><guid>https://arthurguy.co.uk/blog/2008/4/dopplr</guid><pubDate>Fri, 25 Apr 2008 21:04:21 +0000</pubDate></item><item><title>Grangemouth Oil Refinery Closure</title><description>&lt;p&gt;The BBC have just &lt;a href="http://news.bbc.co.uk/1/hi/scotland/7367488.stm"&gt;reported&lt;/a&gt; that the Grangemouth refinery has closed, this is as the result of industrial action this weekend by employees. I first saw this story on the news last weekend when they were I believe interviewing the refinery boss. From watching the news coverage then and listening to him I formed the opinion that the refinery was right and the employees were wrong in there demands.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;The industrial action was due to changes in the pension scheme, it was being changed from a final salary pension and&#xC2;&#xA0;the employees&#xC2;&#xA0;were being required to make contributions to there pension scheme where previously they didn't. To me this seems very reasonable, there are stories all the time about companies dropping there final salary pensions and as far as&#xC2;&#xA0;I was aware pensions usually worked by employees making contributions and there employees matching it.&lt;/p&gt;
&lt;p&gt;The refinery shutdown is going to cause a big impact on the local economy and possibly affect the UK as a whole, it is also going to cost the company a lot of money, more than they will make from the pension scheme reforms, this has left a lot of people asking why the company which makes a decent profit is not giving in. Well I think this is fairly obvious, the cost savings from the reforms aren't one off, they will save the company money in the long term, most people only seem to be considering the immediate impact. I also imagine the company is insured against loss of profits due to a shutdown outside of its control, so it may loose a lot of money but they will probably be able to get this back.&lt;/p&gt;
&lt;p&gt;In order to get a balanced point of view&#xC2;&#xA0;I read some of the &lt;a title="BBC News Comments" href="http://newsforums.bbc.co.uk/nol/thread.jspa?sortBy=2&amp;amp;forumID=4671&amp;amp;start=0&amp;amp;tstart=0&amp;amp;edition=1&amp;amp;ttl=20080425155314"&gt;comments&lt;/a&gt; on the BBC's website, most of them seem to be by workers or those sympathetic to them. The comments are mostly emotional reactions and the main point they make is that the company and its bosses make a lot of money and they can afford it, this is one of the most stupid arguments you can make, so what if they can afford it, I am sure a large number of business out there can "afford" to pay there employees more but it doesn't make business sense to do so. Companies need to make healthy profits, this allows them to develop and invest&#xC2;&#xA0;in there&#xC2;&#xA0;business and to ensure the company survives in the long term.&lt;/p&gt;
&lt;p&gt;Assuming this strike goes ahead and the talks don't work out there will probably be another strike in the near future, if this is within the 3 week period the plant is quoting it takes them to start up it probably wont be possible for them to do so, this will then turn a potential shortage into something more serious.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/4/grangemouth-oil-refinery-closure</link><guid>https://arthurguy.co.uk/blog/2008/4/grangemouth-oil-refinery-closure</guid><pubDate>Fri, 25 Apr 2008 15:04:29 +0000</pubDate></item><item><title>Facebook Chat</title><description>&lt;p&gt;Well, its finally here, for me at least.&lt;br /&gt;
Facebook's long awaited chat program was ready and waiting this morning when I loaded up my browser. I haven't used it yet so can't comment on its stability although according to the odd &lt;a href="http://twitter.com/TechCrunch/statuses/794969955"&gt;twitter&lt;/a&gt; post it has been turned on for everyone today so the next few days&#xC2;&#xA0;will be&#xC2;&#xA0;the real test of its stability.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/04/facebookchatdown.jpg" alt="Facebook Exclamation Mark" /&gt;&lt;/p&gt;
&lt;p&gt;Facebook chat has been down for me most of today, it was up for a few hours this morning but I am now stuck with this "Could not connect to Facebook Chat at this time" message and exclamation mark. Perhaps the introduction of FB Chat to the world was to much for there system!&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/4/facebook-chat</link><guid>https://arthurguy.co.uk/blog/2008/4/facebook-chat</guid><pubDate>Wed, 23 Apr 2008 09:04:11 +0000</pubDate></item><item><title>The West vs China</title><description>&lt;p&gt;The whole China and the Olympics issue seems to be hotting up, earlier today &lt;a href="http://www.techcrunch.com/2008/04/21/chinese-hackers-take-down-sportsnetwork/"&gt;TechCruch reported&lt;/a&gt;&#xC2;&#xA0;that a sports website &lt;a title="The Sports Network" href="http://www.sportsnetwork.com/"&gt;The Sports Network&lt;/a&gt;&#xC2;&#xA0;serving data to &lt;a title="CNN" href="http://sports.si.cnn.com/"&gt;CNN&lt;/a&gt; is currently down because of pro China hackers.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&#xC2;&#xA0;&lt;img class="alignnone" src="http://blog.arthurguy.co.uk/wp-content/uploads/2008/04/sports_network_down.jpg" alt="Spots Network Site Down" /&gt;&lt;/p&gt;
&lt;p&gt;The wording on the notice above seems to imply it is the Chinese government behind this which is a bit of a jump to make. It is possible that the government or some part of it was behind the attack but without proof it seems a dangerous thing to imply.&lt;br /&gt;
A recent &lt;a href="http://www.cnn.com/2008/TECH/03/07/china.hackers/"&gt;CNN article&lt;/a&gt;&#xC2;&#xA0;linked to in the TechCrunch post&#xC2;&#xA0;reports that&#xC2;&#xA0;the government has been&#xC2;&#xA0;sponsoring the&#xC2;&#xA0;attacks, something they have obviously denied.&lt;/p&gt;
&lt;p&gt;There seems to be some specific &lt;a href="http://en.wikipedia.org/wiki/CNN#Criticism_and_controversies"&gt;hatred to CNN&lt;/a&gt;, specifically its suposed biased reporting; I haven never watched CNN so can't comment personally but as they say "theres no somke without fire"!&lt;br /&gt;
This claimed bias CNN has towards the west is most likly the cause of the hack that brought down the website and if CNN and other western news organisations go on the offensive hiting back at these hackers things are only going to get worse, or more interesting depending on how you look at it.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/4/the-west-vs-china</link><guid>https://arthurguy.co.uk/blog/2008/4/the-west-vs-china</guid><pubDate>Mon, 21 Apr 2008 14:04:04 +0000</pubDate></item><item><title>MS DOS 5</title><description>&lt;p&gt;Yesterday &lt;a href="http://www.crunchgear.com/2008/04/16/dont-shoot-the-messenger-microsoft-internal-promo-video-about-windows-vista-is-hard-to-watch/"&gt;CrunchGear&lt;/a&gt; posted an internal promotional video Microsoft have put together for Windows Vista SP1, it is particuraly awful although it did lead me onto another Microsoft video but for MS DOS.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&#xC2;&#xA0;[youtube:http://www.youtube.com/watch?v=dmEvPZUdAVI]&lt;/p&gt;
&lt;p&gt;There is something about this video, as you watch it I found it just got better and better or should&#xC2;&#xA0;I say funnier and funnier&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/4/ms-dos-5</link><guid>https://arthurguy.co.uk/blog/2008/4/ms-dos-5</guid><pubDate>Fri, 18 Apr 2008 10:04:30 +0000</pubDate></item><item><title>China and the Olympics</title><description>&lt;p&gt;&lt;a title="I heart China" href="http://www.flickr.com/photos/7496003@N02/2418171218/"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;&lt;a title="I heart China" href="http://www.flickr.com/photos/7496003@N02/2418171218/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This post is probably a little late but still relevant given the on ongoing situation around the world.&lt;/p&gt;
&lt;p&gt;A couple of days ago there was an article on &lt;a href="http://www.techcrunch.com/2008/04/16/chinese-internet-users-say-enough-to-international-bullying/"&gt;TechCrunch&lt;/a&gt;&#xC2;&#xA0;about Chinese Internet users showing their patriotism by including the phrase LOVE CHINA as there MSN Messenger screen name, where the LOVE is a red heart symbol. This seemed a little weird to me but understandable given the biased spin&#xC2;&#xA0;the news within China will have, I imagine they will be making out the Olympic relay is a success but evil people in lots of countries have tried and failed to disrupt the carrying of the torch. So when&#xC2;&#xA0;I went into work the next day I was surprised to see the exact phrase on the MSN messenger screen of a Chinese college in the same office as me, clearly this isn't down to the lack of knowledge within China but something else. It is similar to the pro Chinese protesters that come out during the torch relay race, they are living in western countries so have access to unbiased news yet they are still highly supportive of there country, I wonder what there take is on Tibet and whether they think what there country is doing is right or not?&lt;br /&gt;
Like most sensible non Chinese people I think the oppression within China and what is going on in Tibet is appalling but&#xC2;&#xA0;I strongly disagree with the violent protests surrounding the Olympic relay race. I don't have a problem with peaceful protests but when they start to obstruct the runners, especially the Chinese woman in a &lt;a href="http://uk.news.yahoo.com/rtrs/20080411/tpl-uk-china-olympics-rage-43a8d4f.html"&gt;wheelchair&lt;/a&gt; in France that's taking it to far and when they start to loose there supporters.&lt;br /&gt;
Hopefully the remaining parts of the relay race will be uneventfull and this whole think will settle down as the Olympics move back inside China.&lt;/p&gt;&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/4/china-and-the-olympics</link><guid>https://arthurguy.co.uk/blog/2008/4/china-and-the-olympics</guid><pubDate>Fri, 18 Apr 2008 09:04:35 +0000</pubDate></item><item><title>First Entry</title><description>&lt;p&gt;I have decided to start a blog, I tried one years ago but&#xC2;&#xA0;I never kept it updated and on the whole it seemed rather pointless. I have decided that this time it will simply be a place for me to express my opinions on specific subjects, so if I&#xC2;&#xA0;come across&#xC2;&#xA0;something or there's something in the news&#xC2;&#xA0;I feel strongly about I will write about it. I have no idea if I will keep it up or if it will be even more pointless than the last time but I think its worth ago, after all everybody seems to have a blog nowadays.&lt;/p&gt;
</description><link>https://arthurguy.co.uk/blog/2008/4/first-entry</link><guid>https://arthurguy.co.uk/blog/2008/4/first-entry</guid><pubDate>Thu, 17 Apr 2008 22:04:14 +0000</pubDate></item></channel></rss>
