My Calendar

Hey guys,

I’ve been using iCal more and more to manage my time and have decided to publish it online. You can now view and check my schedule here:

I’ve recently been asked a lot more often when I’m free a lot so this should make scheduling easier!

Note: In order to see everything scheduled please ensure all calendars are selected on the right-hand side (I have five sub-calendars).

I’m now also writing for ‘Computer Science: Source’.

I’ve joined a team of Manchester computer science students and will be writing for Computer Science: Source, a blog that aims to provide computer science related information, with a particular emphasis towards clarifying and revising topics from the University of Manchester computer science course.

My first post attempts to begin summarising the Objective-C programming language, a language used to write applications for the Apple Mac and iPhone.

Do check it out if you’re interested. Particularly interesting posts by myself will also be available here. 🙂

How to learn anything…

A teacher is someone that describes or explains some new information to someone else. The most effective teaching solution would be one that incorporates as many different methods of teaching as possible. It would comprise of audio, visual, and kinetic means, in order to appeal to all sides of the brain, and really enforce the information into your memory. A perfect teaching solution would provide as wide a variety of methods for covering the same information again and again as possible – emphasising repetition, as well as appealing to all different types of learners and all sides of the brain. The more you see the same information in different ways (e.g. text, pictures, video, or verbally), the greater the chance of being able to learn that information, understand that information, and be able to recall it at will.

There are many ways to learn something, some are more effective than others, but the best way is to use multiple ways. The best way is to start learning something by using one method (say, reading), then to go over the same information again by using a different method, for example putting it into practical use. Then, the same information should be re-covered again (at some point) in a different way, perhaps by explaining to somebody else who doesn’t understand the subject, or by applying or revisiting the knowledge in any different way. The more times one covers the same information using different methods, the greater the chance of one being able to understand whatever it is, as well as being able to securely store it into your mind. Finally, revision techniques should be applied to keep the knowledge alive and fresh. It’s clear that my opinion of this best way to both teach, and to learn, is to use a variety of different methods in order to not cover different pieces of the knowledge to be learnt – but the same pieces of knowledge. Repetition in as many different ways as possible. Be creative.

In order to perform these various learning methods, numerous different resources are necessary. If these resources are limited, then the ability to use different methods to learn the same information is greatly reduced, and thus, it will become harder to learn and understand whatever it is. Resources are vital. For teaching, a good teacher will provide as many different resources as possible, such as notes, images, verbal explanations, diagrams, animations, exercises, tasks, or projects, and whatever else he or she could creatively come up with. When learning something individually, it’s up to the individual to either create these resources (a process of learning in itself), which can be built upon or used for revision, or to find these resources from teachers (who may come in the form of traditional teachers, lecturers, internet websites or forums, books, colleagues and friends).

Sources and resources of knowledge, information and explanation are essential to the ability to learn, and their quality and quantity will affect how effectively one can learn. The more that are available, the more learning methods become available, and the greater the chance one will come away with thorough knowledge and understanding of whatever the subject matter is.

NVIDIA Geforce 3D Vision

Ever since I first heard of the idea of true 3D gaming, with depth and things popping out of the screen I was captivated, as any of my friends will tell you!
NVIDIA claimed to have created a set of glasses, that when coupled with a special 120Hz monitor, would transform any PC video game into an immerse 3D experience (all be it that some games would work better than others). It was an impressive claim which the reviews I read seemed to match.
I’ve had my Samsung 120Hz monitor and NVIDIA 3D Vision set for a couple of months now, so I feel that I’ve spent an appropriate amount of time to make a decent comment on the product.

I can completely confirm many of the things other reviewers write. Firstly, the installation of NVIDIA 3D vision is as simple as everyone makes it out to be. It’s a simple case of uninstalling your old graphics drivers, downloading the latest driver CD, installing, and quickly walking through the setup wizard. Then, any 3D game you load will automatically set itself to 3D mode, and you’ll be able to adjust settings using simple shortcuts at any time in the game on the fly. It really does just work.

But some games work better than others. The first game I tried was Half Life 2: Lost Coast. An old benchmark now, but with a NVIDIA 8800 GTS 640 Mb (doubling up to two GPUs using SLI should in theory allow one graphics card to be used per eye!) graphics card I was able to run the game in its highest resolution with all the graphics settings turned their highest and 3D vision enabled. And it looks incredibly good. The 3D effect works amazingly well with the Source engine games, with only minor problems involving the HDR effect, which can be turned off if wished.

So the effect then… What you will tend to find is that the effect creates more depth than it produces things popping out of the screen, but this depth is what gives the games an all-new immersive and realistic feel to them.

Lord of the Rings: Online, looked superb, and there was a very low hit on the performance for me. The depth really looks nice, and there’s a nice point at which close objects pop slightly out of the screen. I haven’t tried, as I’m staying well away from my World of Warcraft account, but I’m certain it’ll have an equally gripping 3D experience.
Some people have noted that it can be hard to see what the cursor is pointing at in games, but I hardly ever have a problem with this in games that the effect works well for anyway. For FPS games, NVIDIA has built in a system to replace the 2D cursor for some games with a dynamic 3D one, which gets around this problem. For games were it’s required to click on an object, I found that a 2D cursor over a 3D image works effectively anyway.

A general point is that the glasses do make everything you’re looking at a lot darker, so it’s necessary to turn the brightness up, and play around with the contrast. The good side to this is that it darkens everything in the room, which means you can focus much more on the game – making playing in the dark a whole lot more cinematic!

On the downside, the effect didn’t really seem to work for top down 3D games, such as The Sims 3 and Supreme Commander. The problem is that it becomes hard to focus your eyes on items that aren’t directly in front of you. These were the worst games that I’ve seen for the effect, but I’ve found it hard to find ones that don’t work well, so they’re part of a very small minority. I haven’t yet tried Age of Empires 3, which is supposed to work really well, and I can believe that some RTS games will, as I have been playing Warcraft 3: Frozen Throne, for which the effect works superbly.  Because the terrain is the same level as the screen’s window, most of the objects in the game are projected out of the screen – which looks fantastic. Buildings pop out of the screen, catapults fire corpses in curved angles that come right out of the monitor before curving round and landing on their targets, and dragons sour high in the sky above anything else.

3D Vision can only ever add to the whole gaming experience, but you’ll tend to find yourself sticking only to games where the 3D effect works best. Furthermore, once you’ve been playing in 3D you’ll never be able to turn back, but the other side of the coin is that it is a very pricey upgrade to your experience. Having 3D is really just a single effect. It’s an incredibly well put together and effective, but it is still just a single effect, just like HDR lighting or ‘ragdoll’ physics; it’s another effect that adds depth and realism to games. It’s this reason that’s placing it more among enthusiasts than the standard consumer. For more casual gamers though, upgrading to 3D is certainly worth not upgrading your graphics card for, particularly as you won’t notice 2D effects such as anti-aliasing for a while with the glory of 3D. It’s also certainly worth considering if you’re in need of a new monitor anyway.
Overall it’s a superbly executed product that will only continue to improve both visually, and performance-wise, as NVIDIA continues to release new drivers, and developers work out ways of better supporting this technology within their games.

Enter the leader of the BNP…

Last night the leader of the British National Party, Nick Griffin, was welcomed by the popular political program, Question Time. His appearance on the show has been that of great controversy, and the fuel behind a series of protests leading up to the show.

The first issue, addressed to opposers of the BNP, is as follows: is it right to let a representative of the BNP onto the program to join the debate and have questions posed to him like any other political party? Yes it is. It is so clearly is it right to do so that I must admit I find it hard to understand why some people disagree with letting him on the show. Opposers of the BNP believe in diversity, tolerance, and acceptance of other people, no matter what their background, race, or views are, so long as they’re not physically threatening. So why be intolerant of another man’s views because they differ at such a fundamental level? It’s hypocritical. In this country we have the freedom of speech to voice any opinion, and, given that the BNP has received enough votes to bring two of its members into the European Parliament, it is right that the BBC respects and represents the views of this proportion of voters by allowing the BNP to represent themselves on Question Time. Furthermore, suppressing a faction’s viewpoint is not the way to defeat this viewpoint. The way to do so is to have the debate, as they did last night, allowing the party to express their views, and of course, to challenge them. It should then be down to the public to decide their stance towards the party. If the nation watched the program last night, and the majority were won over by Griffin’s views, so much so that he wins the next general election – so be it. Let speech be free and open, and the public will decide. This is democracy, as opposed to surpression.

The show was executed well, the audience allowed Griffin’s views to be heard, and posed decent, intellectual questions to him, demonstrating strong political arguments. The whole purpose of the show was fulfilled, to allow the BNP to represent themselves, discuss their political viewpoints, and to answer questions posed by the public. But was the show biased? Well, it’s perhaps hard to find other panelists that come towards the side of the political spectrum Griffin was representing, so the show appeared to be a four vs. one fight for the majority. But that’s how the political battle is. No other political figures have the same views as Griffin. But it wasn’t always Griffin on his own. Labour’s immigration policy was brought into question, where it appeared Jack Straw (who opened by superbly contrasting Winston Churchill’s views to that of the BNP) was on his own.

What the show managed to achieve was that it displayed Nick Griffin for who he really was. He demonstrated a deluded view of society,  a many-faced approach to comments made over past years, a lack of an ability to back his points up with appropriate evidence, and a way of handling issues that resembled that of a young child, clapping and smirking away in a most unprofessional manner. The BNP failed last night to demonstrate their viewpoint appropriately, and why this viewpoint is the correct way for the British society.

But now the show’s finished, and low and behold Griffin’s just appeared on the news claiming the show’s format had been changed and that the show was subject to bias. “That was not a genuine question time, that was a lynch mob,” Griffin claims. No it wasn’t. That was the majority of the British public’s views, arguing to a man who could clearly be seen to be struggling to make any effective counter arguments without further angering the audience. People exceedingly disagree with you, Griffin! The format of the show was not changed. How on earth was it? The audience took turns in making points and questions to the panel, and the issues that they felt were most important to discuss was the BNP. MPs on previous Question Times did not complain when the entire program was focused on their expenses. It’s what the public wants to discuss. It’s the current issues of the day. The diversely selected audience may bring up any issue they wish, and the issues on the minds of the audience was the BNP. What a chance to discuss these issues, and of course this chance was taken, and the BNP was shown up and brought down. Roll over Nick Griffin.

Understanding the MU0 Processor

In hopefully a single page…

The MU0 processor is a very basic processor used at the University of Manchester to teach students the fundamentals of a CPU architecture. It is abstract design used for teaching purposes. The MU0 features at the start of the 2nd Year Computer Science COMP25111 Operating Systems course. I’m just going to run through how I understand this processor to work in my own terms. I’m not going to mention low level gate stuff because as far as I can see we don’t need to be concerned with that low level an abstraction for the Operating Systems course! Please try and follow this through with the diagrams provided by the University.

MU0 is a single-address processor, which means that each of the instructions only ever have one address in the instruction at most (the other two are implied). The effect of this is that it may take a considerable amount more instructions in order to achieve the same thing you could do with two-address architecture. It’s more basic. The processor is also only 16 bit. This means that each instruction can have, at most, 16 bits to it. Hence, it’s only a one-address processor – there’s only enough space in the instruction for one address. Of the 16 bits, 4 of them are allocated to the instruction type and are known as the ‘f’-bits, leaving 12 bits for instruction information, known as the ‘s’-bits.

The processor has three registers;

  • IR (instruction register for storing the current loaded instruction)
  • ACC (accumulator for storing a working value)
  • PC (program counter for storing the current position in the instruction set).

It also has an adder for doing all it’s computation (also known here as the ALU, or Arithmetic Logic Unit, and not to be confused with the ACC register). Here are the seven instructions available for use with this processor design:

Sorry for poor quality – couldn’t work out how to do a table in WordPress!

This is great so far. We can now understand how to write a program using this processor as we have all the instructions in front of us. This is also the specification for the processor design, and our problem is how to implement these registers and instructions. So what we need is a design that incorporates the features we’ve just outlined. The design will be achieved using two sections to the processor, a datapath and a control. The datapath is responsible for following the instructions and interpreting them, and the control is responsible for controlling components by enabling and disabling them, and setting those with options to the right state (the adder/ALU will need three states). These two sections of the processor will be synchronized using a global clock. A reset will be wired up to both too so that if the reset is flicked, the whole processor resets, not just one section.


On each clock cycle (each pulse of the CPU where everything happens), the MU0 processor will be in one of two states; fetch and execute. On the fetch “pulse” the MU0 ‘fetches’ (gets) an instruction from the memory (instructions begin at the first address in memory i.e. #000) as indicated by the PC (initially set to #0000) and loads it into the IR. The ACC/ALU side of the datapath does nothing. For simplicity we can say that the PC auto-increments without going into the lower levels, which happens at the end of the Fetch cycle.


Now we wait for the next clock strike. When this happens, the MU0 switches to the execute state, and depending on the instruction that’s just been loaded, the ALU may do one of three things with the ‘s’ bits of the instruction. It will either perform an addition of s to the ACC, make a similar subtraction, or simply bypass (pass through unchanged) s. Any necessary change to the ACC (if it’s an add/sub) or PC (if it’s a jump) will be performed, and after the execution of the Execute state, the processor will wait for the clock to strike again, and then return back to the Fetch state. The PC has been incremented from the last time the processor was in the Fetch state, so the next instruction will be loaded, and so on.

If the reset is switched, the state returns to Fetch, and if the stp instruction is processed, the state remains in Execute (not further processes are ‘fetched’).

The control of course is key, and I can’t write too much about it, as it’s the basis of the first lab exercise. Although I will say this. Each instruction needs to use the components of the CPU in a slightly different way (there’s no two same instructions). The control basically lets each component (including memory as it needs to be read or write enabled) needs to know what way to act differently for that instruction. The eight control bits outlined on the diagram below of the MU0 datapath design display eight different ‘options’ for controlling the components. If you’ve managed to follow how the CPU has been put together and what each instruction does, it should be clear which settings the control needs to set in order for each instruction to perform the right thing. Note that the control’s main input from the datapath is the four F bits (data out on the diagram). The datapath tells the control at this point which instruction it’s working with, and the control sets the the eight control bits accordingly.


Just to let you know I spoke to some other student’s whilst writing this for clarification on some issues.

We’re all learning! There may well be errors so please let me know if you find one. If anyone has any issues or something’s not clear let me know and I’ll make changes, and I hope this helped and please leave comments!

My Persuit of Happiness – A Day in the Life

Today has struck me as one of the happiest days I’ve had in a long time. That’s not to say I don’t enjoy my days. I love them. But today was exceptional. My interest in happiness and self development leads me naturally to look back on the hours that have just past and try to work out why it is I have become so happy. What is it that makes me feel this way? It’s such an important life question to ask, yet I’m sure hardly anybody actually ever wonders it. What made today particularly interesting is that nothing particularly special happened to me, so, instead I’m going to try to discover what it is that has happened on this ordinary day that’s made it so enjoyable. To do this I’m going to walk through it…

At 7:00am I woke up to the sound of Pink Floyd’s Any Colour You Like getting gradually louder as it eased me out of sleep. 7:00am and I went to sleep at around 2:00am, so I’ve only had five hours of sleep. I don’t feel good. But a quick shower and breakfast meant I was well fed for the morning and good to go. I find coffee an essential, and it  certainly helps to lift my spirits, and so, perhaps, this is the first factor that contributed to my great happy day that was unknowingly to myself at time time about to embark on. I knew that I was going to be meeting some new people today and so I dressed well; jeans, shirt (tucked in), tie, jacket (a few were tried out) and shoes. I grabbed some things, including my bag and laptop, and headed out for the bus station. After arriving at the bus station I waited in the drizzling rain for 10 minutes – not fun – for the first bus to arrive to be full and drove past. I wasn’t pleased and I was beginning to run late for my first lecture of the day. The second bus arrived and I was on my way.

I arrived in the lecture theater 10 minutes late and a little rushed. After finding a seat I set up my laptop and began recording. The lecture seemed interesting and made a good introduction to the course, but nothing special. After the lecture I made my way to a lab to continue working on a program to encipher and decipher text using a code, and managed to make good progress. Starting to feel quite good about how the work was progressing, I decided to spend half an hour sorting with my bank so I’m able to pay my tuition fees before October over the phone, which went smoothly. So things were going fairly well. One of my house mates sent me a text to inform me that we would be getting new carpets in all the rooms at our house. Very pleased.

From here things got interesting. I headed over to a meeting at Kro Bar for PASS leaders, where I would meet my partner for the sessions. The room was packed with friends from the course, and I enjoyed chatting to some guys about the training we’d been going through. The University bought everyone a drink which went down very well! Importantly, I met my partner, whom I would be working with over the year. I found him friendly and genuinely interesting, and we quickly got into a good conversation. And so here’s where my mood soared from good to exceptional. Kro Bar was a blast. The place was chilled, it was full of friends, and getting along with someone I’d only just met was incredible. I became immensely happy. To add even further to that feeling a quick reflection as I left the bar made me realise something incredible. I believe that I can get on with anyone no matter who they are. I’m so proud. I’ve managed to reflect on myself and build on my weaknesses (for example listening skills), as well as pursue active research into human relations to improve the way I can interact with people – because I always believe there’s room for improvement – and I can see the improvement. Today I became happy with my progress. I left the bar feeling on top of the world. The sun came out. I walked down Oxford Road to my next lecture, with my head high, strength in my step, and a comfortable smile on my lips as other students passed by. This sense of things going well. This realisation of achievement. This feeling was happiness. What made me this happy? Getting on with other people. Befriending people. Enjoying another person’s company and letting them enjoy mine. It’s all about people. This true happiness, I thought, doesn’t come often – but when it does it’s truly beautiful.

So my next two lectures were pretty interesting, as well as being a little more entertaining, being sat next to a good friend and a good laugh. The feeling stayed high.

Following that I had my first tutorial session with some other great friends from last year. We met our new tutor as well as a new group member that we got to know. Everybody in that session seemed happy. Everyone enjoyed each others company, and, perhaps most importantly for today, so did our new group member. My friendship with a particular member seemed refreshed and alive, and, because they mean so much to me, the things that meant were amazing. I left the session happy, and after leaving my friends, and headed for a bus home.

A short walk to the bus stop, and a major road to cross. The rain was coming down as a kind of drizzle, and the wind blew hard yet soft. I didn’t wear my jacket on the way home. I didn’t need to because warmth came from my heart. I crossed the road and waited in the middle for the cars coming towards me to pause for some lights further ahead. Three lanes of traffic speeding past me on one side and three further lanes of traffic on the other side. I stood looking down the road, the wind blowing through my hair and the light rain cooling my cheeks. Pure happiness.

On the bus back I reflected on my day. A tear came to my eye. Today was beautiful. But why? What makes me happy?


Manging Sleep

So over the summer I read Sleep Hacks by SleepWarrior. The book outlines various tricks and tips to managing sleep, focusing on creating strong deep sleep as well as maximising the amount of time you can spend awake. One technique stood out to me, known as the 28-Hour-Day.
The 28-Hour-Day is an alternative to the standard 24-Hour-Day, which condenses the 7 days per week into 6 days per week. The idea being that instead of spending 16 hours awake and 8 hours sleeping, you spend 20 hours awake and 8 hours sleeping. This provides two benefits:

1. You gain an extra 8 hours per week of awake time.
2. The time that you sleep varies throughout the week.

This means that you can go out on certain nights (later in the week) and not have to worry about moving your body clock back come monday morning!

So… here’s my plan for sleep based on this 28-Hour-Day model:

The time I’m awake is in green, and the time asleep is in blue (click to enlarge).


So it should work. The awake time is crucially set so as I don’t miss lectures during the week (unless there are any on Monday afternoon) and I’m able to go out Monday, Friday. Saturday, Sunday (and partially Thursday) nights without having to worry about my body clock.

The sleep plan’s based on the idea to move your body clock forward than it is to move it back. Because over the seven 24-Hour-Days the time when you sleep has moved forward by 6 (days) x 4 (amount of hours later you sleep each day) = 24 hours, after a standard 7 day week you’re back to the start and so on.

So here’s the problem. Today I woke up at 12:00am (Sunday), so in order to start following this plan I need to go to sleep at 12:00am on Monday. It’s now 5:30am on Monday, and so I have to stay awake for another 6.5 hours, which would mean I’ll have been awake for a total of 24 hours. Not the best time to start following the plan it seems, but I’m going to have a stab at it. I’ve just made a fresh coffee and my Lord of the Rings Online subscription has been renewed (I know…)

So let’s see how it goes…

Looking Forward to My Second Year

I’m a student at the University of Manchester, studying BcS Computer Science, and I’m just about to enter my second year. I’m looking forward to the new year, meeting friends, pursuing hobbies and goals, and of course continuing with my subject. I’ve done a considerable amount of reflection over the previous year, and have a few things I’d like to do differently. I’ve also been reading up on Computer Science so I’m hoping to have a bit of a head start.
Over the last week I’ve moved down (from York) to the house where I’ll be letting with four other good friends. I’ve managed to clean and set up my room and things are looking pretty good. I really think it’s important that you ensure you have a nice room you’re pleased with, and matches your style. I need somewhere to call base –  where I can centre myself, chill and make reflections in comfort. I know a lot of people that don’t really make their room their own and to be honest I can’t understand why. Personally, I love putting myself into the room and making sure it’s a place I’m proud of and enjoy being in. It’s base.
So I’ve decorated the place with posters of mountains, tropical beaches, cityscapes and chinese words. I had originally stuck up some sheets of blank paper on my window so as people can’t see in (my room is the front lower bedroom looking out onto the street). Now I’ve begun scribbling down motivating and important quotes that I wish to follow in life, for example,

“What separates the amateurs from the champions is the willingness to go through the pain period”.

I often see them whenever my eyes gaze up from the laptop screen and am sure they’ll soon be embedded into my unconscious and become part of who I am. Which is my aim, of course. I also have a pretty nice long mirror and two lava lamps as which makes a nice addition to my room last year.

Fresher’s week begins tomorrow, so the new year is soon about to begin!

Welcome to the blog and first post.

So I’ve decided to set up a blog! Blogs are starting to become more and more popular, and seem to me to be a great way of sharing information between people. I intend to write whatever I like onto this blog, so expect an unusual mix of philosophy, computing, comedy, politics, lifestyles and other encounters from my personal experiences.

Here’s a recent picture of me from a beach in Crete…

Thanks for reading!