Wednesday, 10 November 2010

Student Loans ...what does it mean to me?

Now that I have graduated I am now facing the daunting task of paying off my Student Loan, so I thought it was about time I learn more about the financing behind them and how best I go about paying them off, while at the same time talk about the problems facing new Students.

Student Loans themselves are provided by the Student Loans Company (SLC) and if like me and you went to university after 1998 you will be paying back via your salary at 9% above the 15,000 base rate by a system known as Income-Contingent Repayment (ICR).

Now to simplify the equations I have based what I owe to be £25,000 which isn't too far from the truth ...4 years at around 1.3k Tuition, 4.5k maintenance loan and interest for paying back I will base my workings on a graduate earning £25,000 which is around the average

So first off how & when will I start repaying my loan...

Like most people I will have deductions made out of my wage via the PAYE system, these deductions are 9% of the gross wage above 15,000 so lets work this out...

25,000 / 12 = £2,083 per month

...which equates to £833 per month above the threshold (£15,000 / 12 = £1,250)

All this means that 9% of this is £74.97 a month in repayments (£899.64 a year)

So I know how much I will be repaying, now the fun with interest rates begins

Is Student Loan repayments a stealth tax?

This question is much like that of nation insurance contributions, you get something out of it but you must pay. The only way is to earn below the £15,000 threshold.

Well what is the definition of tax?

'charge against a citizen's person or property or activity for the support of government.'

So a compulsory 9% contribution, although you get something tangible from it - your degree, it still sounds understandable as a tax.

Is the Student Loan good value

Have a quick look at the Student Loans website page on the interest rates that occur on the loans, currently they are at 1.5%, now what does that mean to me?
  • Well currently UK inflation is at just over 3% meaning that in terms of real world spending power, the deficit caused by your student loan is decreasing at 1.5% a year.
  • This is well below virtually any other loan you could get your hands on - usually in the region of 7-11% currently
  • Most importantly - The repayment interest rates for student loans currently and historically have been lower than even a modest savings account.
Saving money by paying off your Student Loan

Like any loan it is wise to pay it off as soon as possible, thus incurring the minimum amount of interest possible, however as I pointed out with student loans having such a low interest rate, is it always best to proactively be directly reducing the size of the loan?

What do I mean - to illustrate this I will talk about what happens if I have £250 extra a month that I could use to pay off part of my student loan.

The £250 a month equates to a healthy £3,250 a year, if this is paid towards your student loan directly you will save an additional £48.75 in interest per year at the current 1.5%. ...however if you placed this in a regular savers account at 5% (4% net) you will earn £130, thus making you £81.25 a year extra.

...So the moral of the tail is

Don't directly pay off your Student Loan early, pay the minimum repayments and save the rest!

Saturday, 6 November 2010

Building your own Search Engine

One thing that has always fascinated me is how search engines work; more so how they collect information about all the webpages they search through. To that end I created my own search engine Web Bot that you can use and modify.

To try it out download the code from:


Parses Robots.txt and Sitemaps to correctly determine what to crawl through
Uses multithreaded searching (via the ThreadPool) and Async Web Requests for lower CPU load.

How it works:

When a new Top Level Domain is encountered eg. it is checked for Robots.txt file, if one exists it is parsed along with any Sitemap Xml files referenced within. Any pages referenced are added to the Web Crawler Task queue for that particular domain.

To stop chocking of particular domains, much like the Web Crawler example in the Windows Mobile 6 SDK, this one orders tasks in a round robin style between each domain, thus all domains have a chance to add tasks to their queues to be processed.

Although processing is queued in the ThreadPool, tasks as mentioned are pre-queued in their own domains allowing the current state to be serialised in Xml for future continuation of work.

Currently very little is extracted from a webpage, currently only links via regular expressions for further processing. This allows the user free reign on how the search engine should catalogue pages.


Tuesday, 2 November 2010

Swish! a fish

Well that was smart of me, buy a bicycle and then its only sunny/warm/dry for 2 weeks and then Winter starts. But it does look rather nice!

On another note, I have created a Google group as a file storage mechanism for my code, so first off here is some code!

This is the source code for the OpenGL planet demo that I walked through in my previous post, enjoy

Sunday, 19 September 2010

Kona Time!

Well I finally got round to choosing my new bike. It's a 2010 Kona Zing - wanted to save some money over the 2011 model which nothing much has changed on. Here's a photo of a 59cm version of it in the bike shop.

How to build a planet

One of the things I've made is a procedurally generated planet based on an geodesic sphere in OpenGL, below I will try and explain how it was made.

In order to create a planet, a sphere composed of multiple triangles must first be formed. To create a uniform distribution and surface area of each triangle forming the whole, a geodesic sphere design was chosen.

Vertices forming the Sphere
The Geodesic Sphere composed of triangles

The creation of the geodesic sphere involved generating two pentagons; one at each pole. The pentagons themselves, which are formed of five triangles, are each extended out from these points till it wraps around the centre of the sphere with more triangles being added per layer.

The number of layers forming the sphere is a compromise between performance and appearance. The larger number of layers allows for more triangles and thus a more complex visualization, however is far more GPU and CPU intense and causes problems on older PC’s.

Though it didn't always look as good as the first video, below is another video showing how it progressed.

It includes several ways of creating the planet, however the one shown in the video uses the process of Perlin noise. As this was done as part of a project I can't realise the source just yet until I strip out all the other un-needed parts.

On another note, where would be a good place just to store code projects? Don't really care much for sourceforge - its over the top if all you want is really a file download site for code.

Wednesday, 11 August 2010

Its that time of the year again...

Well yes it is, but I am referring to the new 2011 range of bicycles being released, so here's my hot picks into what you guys may see in my already crowded bike shed...

Getting to work in the morning won't be the same again, currently I'm taking the bus each morning and its slowly killing me. Bring on my salvation, the Kona Zing Deluxe
This has to be the coolest looking bike ever, the limited edition Hot Rod coloured Tube Rider bike from the renowned Pashley bikes, who handbuild each of them in the UK. I want this bike!
Most of the people who know me, know that I spend most of my time cycling around the country, though mainly cycling into trees, fences, cars and the sort. Its time to step up from my trusted Kona Dew that's done around 5,000 miles onto something better, and I give you ...the Kona Sutra. Possibly the best named bike ever.
For those days you just want to wear tweed (remember I live in the shire) Pashley have their classic bike; the Roadster Sovereign which comes to the rescue. This bike just gives off class and styling like no other.

Thursday, 22 July 2010

Imagine Cup. Change the world

So its been a week or so since I've come back from the 2010 Imagine Cup and I have a bit more time to talk about it.

Hopefully if you were following the Imagine Cup on twitter (using the ImagineCup tag) you may have heard about the UK's one man army ...which was me!

I was a rather strange entry to say the least for the embedded competition. Firstly in a category designed for teams of 3 or 4, I was on my own, making things interesting when I had to design, build, test and present the entry all by my self. A tall challenge but I pulled it off.

So my entry; as you can see above is an augmented reality system for blind and partially sighted individuals to help them with everyday tasks to give them back their independence. For more info on how it was built have a look at my other blog entries about it.

Well did it make me famous? Well I got to present on one of Europe's largest stages to around 1,000 people and you might find me on quite a few blogs about the competition.

So what am I up to now? Well I have a job, writing code for various embedded platforms but I hope to continue giving advice and mentoring with the Imagine Cup and I have quite a few ideas for new projects to take up my spare time.

If you want to find out more, here are some other peoples blog posts:

Imagine Cup Blog: Team EyeSight

Adam Daniels: Alls fair in tech and war

Flickr: EyeSight Presentation

Microsoft PressPass

The Open Bracket: Think Big, Act Big

Scientific American: Compassionate Coding

Monday, 12 July 2010

The end of the Imagine Cup, The start of a new job

Well its been a busy week or so. Finishing my degree, going to the Imagine Cup finals in Poland and then going out in the real world to get a job.

Well the Imagine Cup was great fun, got in the final six of the embedded category and much to the surprise of most (including myself) I didn't quite manage to get a placing. Well done everyone.

Since I've got back I went out and got a job embedded computing and tomorrow I am off to my graduation.

Will write more alas I'm stuck on rather flakey mobile broadband

Sunday, 6 June 2010

Senses - How its been coded...

So there are lots of things that go into my Senses Project so here's how I have done some of them.

The Server:
This runs most of the processing algorithms, including facial detection/recognition, speech recognition and Optical Character Recognition(OCR). So lets Break them down:

Speech Recognition - Uses Windows built in Speech API (SAPI) for Speech Recognition and Text to speech

Optical Character Recognition - Uses the OCR engine built into Office 2007 Imaging

Facial Recognition - This was a tricky one to find, but in the end I am using a trial version of the .Net facial recognition framework created by Luxand. The images that get processed are extracted from the users computer and the users friends off of Facebook using the Facebook .Net API found on Codeplex

The Windows Mobile Device
This is just your run of the mill Windows Mobile .Net Compact framework app, it communicates with the Server and transmits data such as audio and images. The interface is the interesting part though, how do you design a UI for a blind person?
The UI - As the user can not see the items on the screen, whenever they move their finger over them. Text to Speech kicks in and tells them the option, when they find the one they want they just have to double tap ...simple!
Windows Embedded & .Net Micro 'thingy'
The heart of the solution is a Windows Embedded device, an eBox 3300. This runs some of the image processing shizzle and performs the solutions audio functionality. It is connected to another device running the .Net Micro Framework and has a screen which provides information as the eBox itself won't be connected to a PC.

Friday, 4 June 2010

Imagine Cup 2010 - I'm through to the finals!

Well its been a busy couple of weeks but yet another piece of amazing news has happened to me. My embedded entry for this years Imagine Cup has been selected and I am off to Warsaw at the start of July to represent the UK.

So what's my big Idea?

Well after seeing a visually impaired person struggling in a supermarket I thought that technology could help, therefore I designed Senses.

It is an augmented reality system for blind and partially sighted people, incorporating visual, tactile and audio interfaces. Utilising the latest Windows Embedded, mobile and cloud technologies this project aims to improve overall quality of life, this is achieved by providing a means to better perform day to day tasks, such as reading text, identifying objects and people, and avoiding obstacles when walking.

This would be achieved by affectively adding a second set of eyes via the use of an external wide focus web camera attached to the user, and a more precise camera within a pre-existing Windows mobile device. These cameras would provide such tasks as Object Recognition, Facial Recognition and Optical Character Recognition (OCR). The augmented reality interaction between the user and the device would come via speech recognition via a wearable microphone, and response would come from text to speech functionally in a set of headphones.

If you are interested, check out my promotional video on youtube.

Friday, 28 May 2010

My Final Year Project

Well I guess a few of you noticed that I haven't updated my blog recently, this was mainly due to me finishing my Final Year Project at Uni. So I thought I would explain what it was about.

Our department created through several student projects a digital circuit simulator in Java.

It allows users to add a variety of different components, wire them up and then simulate them. Great for electronics hobbyists or students.

What I did was extend this so Field Programmable Gate Arrays (FPGA's) could be simulated using the tool.

An FPGA is made up of a combination of Logic Blocks, IO Blocks and interconnections wiring everything up.

Each logic block is made up of a variety of different primitive components interconnected, usually this consists of a Look Up Table, Multiplexer and some combinational logic. Below is a very simple CLB from an early Xilinx FPGA.

Now the important thing for me are the primitive components, which I have to model individually. Which in the case of the Xilinx XC2000, a very early FPGA is over 400 different components! Below is the same CLB but with the primitives highlighted.

Using an Event-Driven Discrete Modelling Simulation, these primitives were modelled and their interconnections simulated. Thus creating a working model.
And whats more, it only took around 35,000 lines of code!