Archive for the ‘ICT’ category

Clingo Universal Car Phone Holder

September 14th, 2011

I know I recently blogged about joining Mobile Fun, and of course there are some perks to the job, like being able to get all the latest feedback on the good and bad gadgets out there.

One phone accessory that I’ve been putting off purchasing has been a car holder for my phone. I go through phones like most people go through underwear, and never have I managed to find myself a phone holder that it suited for all the phones I tend to use. Since starting at Mobile Fun 6 weeks ago I’ve already been through three.

So I got pointed towards the Clingo Universal in Car Holder with free Clingo desk stand. It looks interesting to say the least, though I was uncertain just how ‘sticky’ it would be once I’d put it through it’s paces.

The advantage of this set, is that it comes with both the car-arm holder and also the desk stand – which is essentially just a little pocket-mirror sized device with the ‘Clingo’ technology on either pad. The interesting thing about this is that I would be able to use the car arm charger sensitively, whilst putting the desk stand through it’s paces.

Well, be under no illusion – the stickyness does fade. Whilst the car arm was still holding my phone very tightly, the days spent in my lint-filled pockets and on ‘dusty’ desks took its toll on my desk stand; getting into work this morning and the phone just slipped right off.

Unperturbed, I pulled out the instruction manual, to find that in order to ‘restore the clingyness’ of the Clingo, all I had to do was wash it with a little water. I therefore made off to the toilet, and using the handbasin rubbed the Clingo material under a steady stream of water. The water cleaned it up lovely – and whilst still wet, I let it to dry on my desk.

Ten or so minutes later, the water had evaporated, so I ventured to attempt attaching my phone to the device. WOW. It was as good as new, despite having been abused massively by me during the previous week. It’s definitely a company that I would buy from again, with the sole disclaimer that if you’re planning to keep your phone in a silicon cover – this device will not attach to that, but with something like the iPhone 4, with it’s silicone ‘bumper’ – this device is a definite improvement on any third party ‘car holder’ device you may currently be struggling with.

Converting Documents

September 7th, 2011

I recently had the unenviable dilema of being told that my girlfriend had been given a data entry task for her internship. As part of that job, she had to copy/paste data from an OOXML document into a spreadsheet.  Having taken a closer look at the XML behind the document, I realised it all followed a fairly straightforward structure:

<p><a>ORIGINAL URL</></>
<p class=person>Speaker/Author</>
<p>Content</>  *this may repeat any number of times
<p>Content</> *this may repeat any number of times
<p class="column">Reference</> *this may also repeat any number of times

I had a play with BeautifulSoup, and was able to extract the data for a stanza of this document. The Content does repeat itself and loop through a few times, but I have yet to come up with a solution for iterating through, and defining each section between two ‘hr’ tags as an independent instance.

What I’m trying to do it output each section under the following headings into a spreadsheet:

Date | Title | Speaker | Content

If anyone could give me some guidance on how to do it using BeautifulSoup then it would be much appreciated.  The main things I feel I need to understand are:

  1. Identifying and defining ‘sections’ of a document as to iterate over them.
  2. What DataType to use when processing the sections (should they be in a dict, or a list.. .etc)
  3. How to output each line of content to a csv file with the appropriate fields (speaker, topic and date) set on each line of content.
  4. How to handle the unicode strings that BeautifulSoup returns.
If anyone could give me a hand, it would be much appreciated.  The task is for a charity, and as you may have guessed by the content, it is to process a report on parliamentary debates.  The good news is that the data structure is very similar for the other types of reports that I would like to parse, so once I’ve got this one completed I’m pretty sure that I’ll be able to make the minor modifications to get others done.
Thanks in advance!  Andy



September 5th, 2011

It’s been a while since I last wrote, but alot has changed since I was last here.

I’ve moved from Manchester and relocated back to Birmingham; this was to help out with the Birmingham and Solihull Bees, as well as to give myself a little bit more time at the weekends. Most of last season had been spent travelling up and down the M6 and even the home games were two hours away. We’re two games into the season, and I’ve not managed to make it to a game yet.. that will change on Saturday.

As for my new employment, I’m now working at Mobile Fun and absolutely love it. Mobile Fun specialise in selling Mobile Phone Accessories and are a fast growing company. I was attracted to the position due to the ability to learn not just about the workings of a medium sized enterprise – but to give myself a challenge. I’d had five very happy years at Zednax, but I felt it was time to move on and set myself a new challenge.

As for the site itself – I’m pretty impressed with the development that is done at MF. There’s a great IT team, and my skills at TableFootball are much improved since starting. There’s loads of work to do – it’s an exciting time in a customer-facing business with the challenges of the current economic climate, and there’s so much going on.

I’m enjoying the new challenge, and hopefully I’ll have some more interesting stuff to share over the coming months.

Choosing a CMS

June 16th, 2011

For the last few years everytime I’ve decided to look at implementing a CMS I’ve got stuck.  It’s not because there isn’t a good CMS out there – but that I’ve yet to find one that scratches all my itches.

I’m about to setup a new website, which will require multiple end-users to update the site, each with a varying level of experience.  Ideally I’d like to pick a ‘popular’ CMS, so that if they get into difficulty there’s probably someone else that has also got into difficulty with the same problem.  I’d also like to be able to take advantage of extra content-creating plugins that the end users may find useful.

However, I also want the ability to add a few ‘custom touches’ – such as easy to modify CSS, widget-able features (such as a couple of twitter streams that’ll appear only on certain pages).

I also want to run multiple sites which both share the same theme, and user database – but have different content.

If anyone can make a suggestion as to what I should look into, I’d be more than happy with some feedback.

Network Problem

May 12th, 2011

I’ve been having a really strange networking issue at the office for the past few months.  The reason I’m posting here, rather than in IRC or a Forum, is that it’s quite an interesting problem, and I’d quite like to post the solution.  I’ve contacted my Internet Provider, and unfortunately they don’t seem to be able to comprehend the problem, let alone work out a way of diagnosing it.

We have 8/9 devices sharing our internet connection in the office, across wireless and wired, which pass through our Debian Router, then through a cable modem to the Internet.  In order to make sure the problem was not with the router.  The same symptoms occurred with a direct connection to the cable modem.

The issues is as follows:

Our internet connection doesn’t appear to drop.  According to our ISP our modem has been connetced fine for the last 15 days, and they ‘can see no problem with our line.’  When downloading a large file (<100MB) or streaming Youtube videos, the connection just stops.  The video stops downloading or, in the case of the files, the connection just stops.  This is also evident when running large downloads through apt (such as do-release-upgrade) – during the file download sometimes it just stops downloading – yet on a cancel and restart it continues to download just fine.

I’d like to work out how I can get some documentary evidence of this connection hanging – what is the proper technical term for it – and hopefully find a way to reproduce the problem in a consistent manner.  I have OSX, Linux, and Windows machines all exhibiting the same behaviour – so I’m pretty sure it’s not a clientside bug.

If you can help me out, please let me know in the comments below.

Cheers! and Thanks in Advance.

FPTP versus AV

March 19th, 2011

I logged onto facebook earlier and a poll popped up on the right hand side – which sport could you not live without?

  • Football
  • Rugby
  • Cricket

I selected Rugby – and the following were the results:

  • Football – 73%
  • Rugby – 18%
  • Cricket – 9%

Of course, it was limited to the three sports, Rugby includes the League/Union split, and there are probably many other options.  I’d hypothesis though, that Cricket is the second favourite sport of Rugby Fans and Football fans.  Therefore moving the poll to an AV setup, rather than the FPTP that it is currently – would provide an interesting insight – and probably move cricket above Rugby – but not affect Football?

There’s only one way to find out – and that is to run the poll and get the stats for both answers.  I won’t delude myself and pretend I can get enough readers of this blog to vote in order to generate a fair sample – so instead can anyone devise a method of collecting this information that would get us a fair sample?


FreePBX & Asterisk Queue ‘Nuance’

February 11th, 2011

I’ve recently been playing with FreePBX and Asterisk and have upgraded my Gentoo setup to:

  • Asterisk
  • FreePBX Core
  • FreePBX Framework

  • We have a slight nuance with the way we initially setup FreePBX. In order to split users/physical devices, I set up all users starting at 1000, and physical devices at 5000. My personal extension is 1013. I manage my follow-me via the Web Interface, which I set to my deskphone, 5108. I also set the follow-me on 1013 to my mobile on 07777777777# (not my actual number).

    This has worked well for about 4 years, enabling us to add more phones and more locations. However, today I hit a new problem.

    At around lunchtime, my boss called to say people that call up our number are getting our IVR, (where they can either enter an extension, or are forwarded to a queue) and are simply being put into the queue (5200) and it’s ringing out. I attempted a call and looking at the verbose logs that is exactly what was happening.

    With some help from the #freepbx IRC channel (especially [TK]D-Fender), I was advised to run ‘queue show 5200′. This showed all our user extensions as (unavailable) – which they were, as they are all forwarded on to follow-me.

    comms*CLI> queue show 5200
    5200 has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:0, C:0, A:17, SL:0.0% within 60s
          Trevor (Local/1004@from-queue/n) (Unavailable) has taken no calls yet
          Michael (Local/1001@from-queue/n) (Unavailable) has taken no calls yet
          Bob (Local/1012@from-queue/n) (Unavailable) has taken no calls yet
          Carlos (Local/1002@from-queue/n) (Unavailable) has taken no calls yet
          Andy (Local/1013@from-queue/n) (Unavailable) has taken no calls yet
          Steve (Local/1007@from-queue/n) (Unavailable) has taken no calls yet
       No Callers

    It was pointed out to me that because they were unavailable, they would not receive the calls. That makes some kind of sense. In reality they’re permanently disconnected SIP devices, which simply forward on to their follow me.

    At this juncture, I should point out that there is an option in the Queue Management page in FreePBX called ‘Agent Restrictions’, which specifies the following:

    When set to ‘Call as Dialed’ the queue will call an extension just as if the queue were another user. Any Follow-Me or Call Forward states active on the extension will result in the queue call following these call paths. This behavior has been the standard queue behavior on past FreePBX versions.
    When set to ‘No Follow-Me or Call Forward’, all agents that are extensions on the system will be limited to ringing their extensions only. Follow-Me and Call Forward settings will be ignored. Any other agent will be called as dialed. This behavior is similar to how extensions are dialed in ringgroups.
    When set to ‘Extensions Only’ the queue will dial Extensions as described for ‘No Follow-Me or Call Forward’. Any other number entered for an agent that is NOT a valid extension will be ignored. No error checking is provided when entering a static agent or when logging on as a dynamic agent, the call will simply be blocked when the queue tries to call it. For dynamic agents, see the ‘Agent Regex Filter’ to provide some validation.

    I therefore expected the extensions there to adhere to the follow-me. This was not the case.

    The next step was to add a physical device to the list of SIP extensions in the queue, one that would show up as available. I added my deskphone extension (5108) and it showed up in the queue as the following:

    APL-DESK (Local/5108@from-queue/n) (Not in use) has taken no calls yet

    So I now dialed the queue and expected just extension 5108 to ring, but to my surprise now every extension listed in the queue now rang their follow me. It was as if adding a physical extension to the queue ‘bumped’ asterisk into respecting the follow-me of the (unavailable extensions). True enough I then removed 5108 from the queue only to return to the same behaviour as before – no phones ringing.

    What confuses me is that if the phone is marked as (unavailable) and therefore that is the reason why it doesn’t ring, then why when only one phone in the queue is marked as (not in use) does it then ‘make’ asterisk respect the follow-me of the (unavailable) extensions?

    Please let me know your thoughts

    Business Planning & Strategy (Wolfram Alpha)

    January 21st, 2011

    I’ve recently diversified into preparing for a new role with my current employer. I’ve really enjoyed my time here so far; it’s coming up to 5 years this June, and up until these last few months I’ve really felt as though I was stretching myself – both learning new things and working pretty hard.

    So this new challenge is a bit of excitement for me, it’s something a little bit different and challenging. I’m still in the preliminary stages at the moment, where we work out whether or not the ideas and strategies I’m coming up with have potential, or if I’m in way too deep.

    One of the most interesting exercises I’ve done so far is the creation of a business plan. Now, having watched Dragon’s Den (and studied a BA in Business), I’ve got a fair idea of what makes a good business plan. Interestingly, outside of the hypothetical scenarios we’d discussed at University, I’d not actually completed one.

    The bit I’ve enjoyed the most so far is the market analysis. It’s incredible to find that only ~2% of the UKs output (GDP) is created by the IT sector. Another ~2% is generated by the telco industry. Finance counts for 10% of GDP, and industrial output is up at 23%. Thanks Wolfram Alpha!

    The interesting thing though is that nearly 45% of British GDP is described as Misc. I don’t know what makes that up, that’s what Misc means to an end user accessing the data. Can anyone fill in the blanks?

    The other interesting analysis was that of the North West. 1 in 8 legal professionals work up here. 130,000 people are employed in finance/insurance, there are 3,000 individual accountancies and the market for Management Consultancy has grown from £6.3bn in 1998 to £14.05bn in 2006.

    It’s all interesting facts, but going back to Wolfram Alpha – if you can provide tips on how to get more out of it I’d love to hear it.

    ipv6 enabled.

    January 10th, 2011

    I’ve now moved my Registrar to, and setup my own nameservers with bitfolk providing my secondary ones.  As of now I consider myself ipv6 friendly.  Let me know if you spot anything which is ipv6 unfriendly, and I’ll try and fix it!


    December 10th, 2010

    One of the things I like to publish the least are my politicial leanings. Not because I’m ashamed of them, but because I’ve yet to reach ‘political maturity,’ that is, the firm believe that what I believe is the right and only course of action. I agree and disagree with policies from all the main political parties, and like most view the UK’s political system with a healthy dose of cynicism.

    I can’t get into facts and figures on this blog, for that is not my expertise, and I wouldn’t want to waste your time in reading my analysis when there are far better analysts out there. All I seek to share is my opinion.

    My view of the HoC and HoP probably doesn’t fit with what the system has become, and not having studied it, I’m sure that I’m making assumptions and observations that are incorrect. Please either bear with me or point out my mistakes.

    Here are my assumptions:

  • The House of Commons exists so that the citizens of the country can elect their representatives to think up and create laws for the good of the citizens.
  • The House of Lords is make up of ‘experts’ to pass valued opinion on issues passed to their chamber.
  • Parliament is both of these
  • The ‘Government’ is not the Party with the majority, but the process of voting on these laws. You can be an opposition party, but if you have a vote which will affect the passing of laws in this country then you are in Government.
  • The Party Political System is essentially a veneer over Parliament which allows like-minded individuals to campaign together and make communication easier.
  • Coalition government are for when this veneer is broken and parties have to team up together to create a stable Government.
  • A stable Government is when Parliament is able to cooperate and sensibly predict the outcome of votes. There’s no mileage in a Government when the voting is not consistent as there needs to be a general consensus on the best ‘path’ for the lifetime of their tenure.

  • Therefore, where we stand at the moment is a Coalition Government where the Liberal Democrat and Conservative parties have had to alter their core policies in order to promote a stable Government that can operate for the length of their tenure. Unfortunately for the Lib Dems, this has meant having to concede on matters of principal, such as tuition fees.

    The bashing the LibDems have got in the press I believe to be very unfair. Had they ended up forming the LibLab Coalition, then there would have been many other matters on which they would have had to concede – and tuition fees would appear to have still been one of them.

    Had there not been a Coalition, we would have either struggled along with an unstable Government (not a good message to send out to the markets who want a solid political ‘path’ to chart their forecasting against) or another vote. If we’d have had another vote, then I should imagine due to the swing to the right after 12 years of Labour government, we would have ended up with either a very small Tory/Labour Majority (with the Liberals squeezed out by votes choosing either Lab/Con). This would have lost the Liberal voice completely – so by acting has he did, Nick Clegg was able to ensure the Liberals had influence. I doubt very much that the Liberals would have built on their progress in a second vote.

    So that’s where I believe us to be now. I’m not in agreement with the policies of the current Government, but don’t like to constantly hear the complaints against the LibDems. They’re having to partner with a party who they’ve got less synergy with than the party they’re opposing.

    As for the tuition fees debate, there’s a much larger topic that is outside the scope of this article; I’ll hopefully have that one written soon.

    Comments and ideas appreciated.


  • The Civil Service – the people who really do all the policy implementation and work behind the scenes. The government are there to try and influence them, but essentially they are the centre of gravity that the Government has to try to push to the left or the right.