Sunday, 24 April 2011

Imagine Cup 2011, I will be seeing you in New York


Another year, another Imagine Cup entry. Last year I managed to win the UK finals in the embedded category and rank in the top 6 world wide during the finals hosted in Warsaw.

Last years entry was based around an augmented reality system for the blind and partially sighted individuals to help give them back their independence.

After a great day at Microsoft UK, I won the UK finals for the 2011 Imagine Cup (Its me in the middle):

For this years entry I wanted to do something different, for starters I choose a funny team name: Cycling into trees, as I originally was going to created an advanced computer system for my bicycle in affect creating the worlds safest bicycle. So onto my entry, I am creating a baby monitoring scheme that connects to a home automation system so that the babies environmental conditions are maintained at the correct levels to ensure a good nights sleep and reduce the chance of Sudden Infant Death Syndrome (SIDS).

More information on the software design coming soon.

Monday, 17 January 2011

Windows Phone 7 - Great start, but with room for improvement

Well it's been nearly a month since I recieved and started using my shiny new Windows Phone 7 that I won because I cycled into a tree - Thankyou Microsoft!

I've been using it non-stop for gaming, socialising, taking photos and listening to music. From using it day to day I would have to say it's a great OS and a real breath of fresh air in the Phone OS market where there are so many iOS imitaters.

Though like all software, there are still bugs and changes to be made (I know, I used to work for Microsoft and am a software engineer by trade) so here is my list of things that bugged me that I hope are changed, or added to in the coming updates to WP7. Now remember everyone, Rome wasn't built in a day and the iPhone didn't even have an App Store for over a year and has already gone through 4 major system revisions.

Lack of tile colours - It seems strange that the number of colours to choose from were so few and some key colours were missing eg. White

Update Image album thumbnail - As a user you can't select which picture in a photo album appears as a the albums thumbnail (such as what you can in iPhoto)

Better Quality Image & Video tile thumbnails - When you select a video to pin to the home screen, the image quality is terrible compared to the original, the algorithms or method to extract the thumbnail needs to be improved.

Selecting position in Video - Although you can press the right or left arrows to scroll through a video file, if it is a large file this can often be cumbersome and slow. It would be nice if you could actually use the slider to select the offset within the video.

Homebrew Dev - I guess a lot of devs will be with me on the fact you can't even make your own games / apps without paying the developer charge, even if you have no wish to upload to the Marketplace.

Selectable default search engine - I understand it is a Microsoft OS and they wish to promote Bing, however it would be nice to see the ability to use other search engines when the search button is pressed (eg. Wikipedia, Google)

Split Marketplace results - When I search for an app, or sony on Marketplace, it would be nice to be able to sort the results by type so I don't get a list of albums when I search for an app.

Simple Image tools - The camera and image viewer is missing some rather simple tools such as crop and rotate. Currently though this is getting filled in with free apps

Move Images around - It seems obvious with the use of albums for images that a user may wish to move images around or create new image albums rather than having a huge Camera Roll album.

Select which Facebook / Live Images to show - Its nice being able to sync with online services but if you are like me and have lots of albums this can get annoying, it would be nice to selectively hide image albums.

Choose which Image folder to display in the Panorama - Bit obvious really.

Memory Leak in Marketplace - When viewing the entire marketplace list, if you scroll right to the end the phone *seriously* lags, once the application exists the phone can become near useless until a restart. (May just be due to excessive memory usage by the Marketplace app)

Improve Mac Sync tool - Being able to select individual songs / images would be a huge boost!

It will be great to see what other people think, and forgive me if you can do some of these things already, I keep finding out new things on my WP7 everyday

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:

http://mrpfisterssource.googlegroups.com/web/WebCrawler.zip

Highlights:

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. http://www.Microsoft.com 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.

Enjoy!

Tuesday, 2 November 2010

Swish! ...like 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.