Sunday, February 28, 2010

Just checking in :-)

This week has been somewhat non-standard, I've had lots of trouble sleeping, the average time I've been hitting the hay would be around 4-5am, so I've basically been getting about 4/5 hours sleep per night (If I'm lucky!) so I can't say I've been fully on task.

That said, I have completed a few tasks today which relate to the new library that I'm designing.

I have been thinking a lot lately about how the programmer is going to cope with using my library, and I've tried to alter the way I design the library to accommodate for this.

Usually I'll write an executable program, such as a game, and I'll really concentrate on the bones of the program before I consider how the user will interact with the program, this was a serious mistake on my part and so I'm really trying to put this right, before it wasn't much of a problem because these things can be left to the end of the development cycle when you're talking about games and simple applications, but when you're talking about libraries, making sure that the programmer can use the tools you give them is actually the biggest priority there is, that aside from it working.

Therefore, I have spent a good part of my day writing out how I would like the library to 'look' to the programmer, the various ways I would like the programmers to declare the GUI, create menus, and controls to go on those menus, then how to handle events and finally how to remove the GUI components or even the entire GUI from memory when it's finished with. This has allowed me to assimilate my ideas and create a draft interface for the system, hopefully I can now pair this interface with the backend stuff I have envisioned and modelled in class diagrams.

In a nutshell I've been able to design a 'face' for my GUI library today, I've got a set of methods that I personally deem desirable (however I am getting some consultation from peers on that front, after all I live in a house of computing students, why not make the most of it? )

Once I have come up with my final designs for the interface, and I've had it evaluated by my peers, I will then attempt to pair up that design with the core data structure I have planned out 'under the hood', after that's done I can start designing the implementation and I start looking for errors that need to be handled in the background so the user doesn't have to.

I'm very much looking forward to making a new video and presenting my progress, hopefully university will be kind to me and I will get some hours in the day to work each night, I'm just keeping my fingers crossed.

All of that aside, I still feel I'm not putting full effort into the project, there are many other things I wanted to put into this blog which I haven't completed, which is a little disappointing, hopefully I will sleep a little better thus allowing me to be a bit more productive in the coming weeks.

Thank you for reading my blog, your participation is much appreciated :-)

Mike.

Wednesday, February 24, 2010

The Good News, and the the bad news

So, this is me entering the world of written-word blogging, It's exciting to say the least, hopefully writing down my progress will be a lot easier, and I might be able to get across my feelings about my projects and what's going on in my life much better than any video could.

In my videos I tend to put on a facade, which, while it's totally me expressing my opinions and my goals, sometimes my feelings are left a little absent from said videos, mainly because they impair my ability to present, and my philosophy is that if you're not going to deliver an upbeat, and informative video, then why bother?

So, on to the good and bad news...

The good news is, I'm raring to go on the project, I'm pretty stoked at having a new idea and I'm glad that I might actually have the time to implement it in a way which I deem satisfactory, there's no need to rush, and it will be an excellent learning experience.

The bad news relates back to the subject of time, unfortunately I have recently been issued some of my university project work, now while this would usually be a fairly painless turn of events for say a programming or web design module, the work I have been given was for networks, it's a 3000 word pain in the ass that I could really do with out.

At the moment I am working on section 1, the 700 word report to start things off, it has proved somewhat more difficult than expected, mainly because I absolutely detest learning about networks, I cannot abide networks if I'm being honest, I think the way it's taught leaves a lot to be desired and I generally have no time for networking, as I take close to no interest in it.

Usually I will find a task fairly straightforward if I am able to link it to a hobby or interest I enjoy and make time for in my leisure time, unfortunately, networking has no such link, and therefore I'm forced to rough it out guerilla style.

I stayed up till 5am last night, reading the books and mashing away at my keyboard, the deadline is quite a long way off, so you're probably thinking, why on earth did I stay up till 5am working on module work I cannot abide? the reason I took this approach was because I know my own mind, if I were to leave the work till later, I would simply procrastinate until I could procrastinate no more, and would end up with a whole weekend of crippling stress and anxiety, because I have made the conscious decision to do the work instantaneously, I have brought the balance of power back into my own hands, and I'm now able to complete the work, and move on from there.

Why did I mention this in a technical blog? I mentioned it because I want to explain why I haven't touched my GUI project in about a week now, I have had to put that work aside, and prioritise, however, this does not mean I have given up, I am using the project as a metaphorical 'Carrot on a stick', I will be able to obtain said carrot when all other responsibilities are accounted for.

Frankly I'm a little fed up with the work, and I decided to rant on about it in a block, go figure?

Thank you for reading my thoughts :-)