Thought for the Dazed

I've had to give up that Distance Learning course as I was having trouble seeing the teacher.

Flickr
www.flickr.com
RobMiles' items Go to RobMiles' photostream
Twitter
C# Yellow Book

Search entire site

Entries by Rob (3094)

Thursday
Aug212008

Software Design

I'm still writing stuff that is intended to teach programming. Great fun,but very hard work (apparently). I'm up to the bit where I'm trying to make a game more interesting.

BlockBuster
..but how do you detect when all the red bricks have gone?

I am recreating a game I first made many years ago in Lucidata Pascal on a South West Technical Products 6809 based microcomputer.  It is a simple breakout clone with one or two interesting touches as you go through the game. Apparently it was responsible for a lot of lost time in the Psychology department at the time I wrote it, because they had the same computers and spent ages playing it. Chris used to spend entire lunch-hours on it, holding a ruler against the screen to line up really tricky shots....

Anyway, I digress. The place we've got to is where we have a row of blocks and a ball, and we can destroy the blocks with the ball. It gets a bit boring when all the blocks have gone, so our program must detect when the last block is removed. There are essentially two ways you can do this, you can keep a counter of blocks that are left and reduce it each time you remove a block, or you can look through the blocks and see if you can find any which are still visible. But which is better?

Keeping a counter has the virtue of simplicity and makes the smallest program. However it also adds a counter variable which is coupled with the array of blocks. If the counter and the array get out of step for any reason the program will misbehave. If the program checks the array each time there is no question of this happening. In other words one design leaves the system open to bugs that could not occur in the other. I'm trying to get people thinking about the craft of software development and into the habit of worrying about things like this when they write programs.

I often get asked "What is the best way to do this in software?" as if there is an solution which is perfect in every way. I tend to reply that there usually is no such thing a best solution, there will be a fast one, one which doesn't use much memory, one which has the shortest program code and so on. To that you can hopefully add "simplest" which is the one that I tend to go for, unless I'm really worried about performance.

Wednesday
Aug202008

Hellboy II - The Golden Army

Went to see the new Hellboy movie tonight. I'm running at one movie a week at the moment. I can't see a problem with that.

Most enjoyable film. Where else can you get ancient cursers, bone eating fairies, myths, magic and Barry Manilow. 

I kid you not. Whereas Batman upped the darkness, X-Files upped the angst and the Mummy just did everything it did before, only not quite as well, the new Hellboy film goes for comedy. And it mostly works. The good news is that everything else is in place too. Scary monsters, fairly convincing baddies, great action sequences and a daft story line that resolved itself quite well but leaves plenty of scope for another sequel.

We are not looking at a movie event here folks, although there are some genuinely surprising touches, including the aforementioned singer. The director has obviously watched a fair few Harry Potter movies, along with the Cantina sequence in the first Star Wars, but the film is all the better for that.

Not a bad way to spend an evening.

Tuesday
Aug192008

Engineering Windows 7 Blog

I have a kind of love-hate relationship with Windows Vista. I love it on some machines and hate it on others. This has a lot to do with the quality (or indeed existence) of device drivers, some manufacturers seem to have got away with sticking "Vista Capable" on things that were definitely not ready for showtime. More like "Vista Culpable".

You can't blame Microsoft for all these problems, but at the end of the day it is their name on the Vista tin and I hope they get tougher with hardware makers in the future. At the moment all eyes are on the upcoming "Windows 7", which is rather cleverly not pitching itself as the answer to all prayers, the wonder of wonders and the operating system to end all operating systems. Merely something that is better than XP and Vista.

As part of the efforts to keep everyone informed of how the development is going the senior managers of the Windows 7 team (and I do mean senior, these folks report directly to the top of Microsoft) have started an Engineering Windows 7 Blog. This is actually quite a worthwhile read. It gives you a nice insight into the way that enormous software products are created, and the conflicting pressures that the teams are exposed to. I also rather like the way that they are using the same blogging tool as I do, the venerable Windows Live Writer. (although I bet they get more hits than I do).

Monday
Aug182008

The Brand that is You

I was talking today to someone about the success that Hull University has had in the Microsoft Imagine Cup over the years. We were discussing why it is that Hull students seem to engage in the competition whereas ones from other, lessor, universities don't.

I think that one of the reasons is that as soon as our students arrive, in one of the first lectures, I talk about "The Brand that is You". University study should be about lots of things, learning, having fun and growing. And also brand management. Students should make a conscious effort to do things that will enhance their brand. That means blogging, taking part in forums and newsgroups, and entering competitions, amongst them the Imagine Cup.

The person that I was talking to was quite surprised about the idea, but reckoned that it made perfect sense to look at it that way. With employers routinely looking up potential hires on the Internet people are becoming aware of the potential for personal damage that posting silly pictures can bring, but turning that on its head, and building a network profile that does you credit is definitely a good plan.

Oh, and by this I don't mean creating a fake persona, that would be really stupid, as you'd then have to spend great chunks of your life behaving like someone you aren't. You should just you make sure that your on-line appearance does you credit and look for ways that you can make yourself more interesting. Although this should probably not include blog posts that mention your bogeys, arrogance or stupidity. Or are just plain daft.

Sunday
Aug172008

Carry on Cleo

Watched a carry on film this afternoon. The Carry On team took on the Anthony and Cleopatra tale. It has one of the best lines of all time:

Caesar: (being pursued by an angry mob) "Infamy, infamy, they've all got it in for me.."

Wonderful.