Book of the week #8: Building Secure Software

August 25, 2006

Every programmer or developer should read this book(Building Secure Software), or a similar one Writing Secure Code otherwise, they are likely to be a danger to themselves and everyone around them. As both of these books point out, security is not something you can build into a system, its something that has to be baked into every aspect of a system. Just one rogue programmer who doesn’t understand the problems, is likely to be able to wreck the whole effort…


Friday Book Of The Week #7: Extreme Programming Explained : Embrace Change

August 18, 2006

I’m not sure whether Extreme Programming Explained : Embrace Change was the book that really started the whole XP thing, but it was certainly the book that started it for me. Back in the early “noughties” I was the technical lead on a big development for one of the bigger “Software Integration” companies in the UK. The process was remorselessly waterfall, and failing badly. On the spur of the moment, I picked up a copy of this book in the local Waterstones (Yes, it does look a lot like Amazon doesn’t it!). By ten o’clock that evening, I had gone through it cover to cover in the hotel bar. I carried on reading and thinking late into the night. Re-reading some of the chapters and making notes on what we could do to change things….

… The next day, full of enthusiasm, I took the book and my ideas to the development manager. We talked about it for quite a while and I put forward a proposal for introducing some of the XP practises into our work. Starting with regular integrations and automated builds and then moving onto automating our unit tests and pair-programming. The idea of having a customer on site was completely impossible as we had had a huge phase of analysis, so I talked the head of the analysis team into becoming our “surrogate customer”. The whole process went swimmingly and within 5 weeks we had completed our first fully XP iteration. The development project was back on track and our defect rates were rapidly falling. We even managed to convince the customer to come into the office for our end of iteration meetings to see demonstrations of what we had achieved …

And then I woke up, still in the hotel bar, with my right eyelid stuck to an open page by a spilled patch of dried beer.

Still full of enthusiasm I took the book and my ideas to the development manager. After he pointed out that I really ought to make more of an effort on my appearance and commenting on my terrible bad-breath, we talked for a few minutes about XP. I quickly realised that the chances of getting all, or indeed many of the practises adopted was as near zero as makes no odds. The waterfall method was proven, XP was not. I did eventually manage to convince the team on the benefits of an automated build…

The project carried on and eventually delivered, late, over budget and missing some of the features that the customer had demanded. The proven track record of waterfall projects was true :-(

(The preceding article is entirely fictional and not intended to depict or refer to any existing entities, persons or events. Any such apparent references are purely coincidental) :-)


I REALLY didn’t invent the internet.

August 14, 2006

A few people have asked me what my sub-title is all about. Its just a bit of an in joke.


New Asus Windows Mobile Smartphone

August 14, 2006

What a lovely machine this would be to run the new Gemini4Smartphone beta release on. Its got a 416Mhz processor, which is smokin’ for a Smartphone and the built in WiFi and MiniSD slot should make it an excellent device to run Podcatching tools on. Too bad its not out in the UK yet…

Please note: DizzyDeveloper is the main developer of Gemini4Smartphone therefore, you should not expect to get an unbiased view of RSS aggregators or Podcatchers from him :-)


Web 2.0 has competing recipe sites.

August 14, 2006

Back in the ancient history of the earth when PC meant a Policeman (That’s Police Constable) and people talking about “The Net” where fisherman, there were very few useful things that anybody thought they could use a home computer for. I remember one of the UK TV channels giving a demonstration of how you could keep your cooking recipes in a database. As long as I can remember, its been one of the stock examples that hobbyists work on, and now apparently you can not just get an online version but there are multiple companies competing in the space. I’d love to make this article sound really cynical, and point out how close the Web2.0 bubble is to bursting, but to be honest, its probably a good idea and I shall use it myself. I’m especially un-cynical about this one because the site was produced by someone who hasn’t left his day job and with very limited funding required. Good for you, I hope its a success.


Subversion and Project Management on the Web

August 11, 2006

Unfuddle.com what a superb idea. It must be, because I thought of it years ago, unfortunately like most of my good ideas, I did nothing about it. I suppose that’s the difference between a real entrepreneur and a wannabe (Could be, soon) like me …

The idea looks really cool. I hope they don’t let the functionality stagnate. (Did I say stagnate, I meant really that I hope they are open to new functionality, unlike other project management tools I could mention) There are all sorts of really useful integrations you can do with the web application, and also by hooking up desktop apps which could be delivered to the development teams desktop machines. For example a time-recording system that feeds back to the project management app, or a public interface for bug reporting to the ticket system. All sorts of stuff which could be tagged on and make it a really, really useful tool.


Book of the Week #6: Agile Web Development With Rails by Dave Thomas and David Heinemeier Hansson

August 11, 2006

Ruby On Rails is one of the most talked about technologies of the moment. Ruby is a very clean, object oriented,dynamic language which was developed in Japan about a decade ago. Many people, including Martin Fowler of Refactoring fame (amongst other things), and especially David Heinemeier Hansson hacker of the year 2005 and initial developer of Basecamp
and Ruby on Rails seem to think that its rather good. Personally I REALLY want to like it and have spent quite a few otherwise idle hours with various books and a text editor. So far I really like the syntax and semantics, but I can’t stand the experience of developing in Ruby. The whole lack of type checking thing just annoys the hell out of me. However, I am determined to persist since so many people love it, its got to be me.

This book is a good introduction to the whole Rails experience, although you might want to get a Ruby book as well. As for me, I shall carry on hacking away with Ruby in the hope that it finally clicks (BTW – Please don’t point out to me how great all the other features of Ruby are, I know. It just that dynamic thing that gets me.) Ah well, back to the C#

DON’T FORGET, GEMINI4SMARTPHONE (FEED READER AND PODCATCHER FOR WINDOW MOBILE 5 SMARTPHONES) HAS GONE INTO BETA. DOWNLOAD HERE

POSTSCRIPT: By the way, I didn’t intentionally turn-off the comments on this one (despite what it says in the text. Must have been a subconcious action.) I’ve turned them back on now.


Announcement: Gemini4Smartphone goes Beta

August 10, 2006

Today I am announcing the first beta release of Gemini4Smartphone a new type of RSS Feedreader and Podcatching client, currently supporting Windows Mobile 5 Smartphone devices.

Gemini4Smartphone is a new type of feed reader because it doesn’t use your GPRS connection and interfere with your daily use of your telephone, instead it limits itself to using faster connections (WiFi and ActiveSync pass-thru) to download data overnight while your are not using the phone and making them available to you when you come back to your phone. Because it doesn’t rely on your Mobile Phone connection, that means that it will allow you to read subscribed feeds and listen to your podcasts while you do not have coverage (For example on the underground or on a train with bad reception).

Beta 1 has not yet been extensively tested with different devices, so we are looking for as much feedback as possible while we continue the development. New versions will be released often: As soon as improvements have been made.

The Pocket PC version of the application is next on the agenda, followed by a remote control application so that you can easily manage your subscriptions from the desktop or over the web.


Friday Book of the Week #5: Game Coding Complete by Mike McShaffry

August 5, 2006

Yes! I know! Its Saturday. Yesterday went by in a haze again trying to put the final finishing touches on the Beta release (The trouble with being a one man band is that unless you can automate your UI testing, which I haven’t found a good way of doing on the Smartphone, then you sometimes get to a release with a few bits missing that you forgot. I did. So I’ve fixed them but I haven’t finished doing the stuff I wanted to do yesterday. This weekend is going to be busy.)

So anyway, the book for this week is “Game Coding Complete”. I first picked up a copy of the first edition a few years ago when I just happened to be walking past the Nottingham PC World just as it opened for the first time. I was running from the start of a Marathon to the middle, so that I could see my wife to be as she passed the halfway mark, then I ran back to the start/finish again to see her finish. Its not the most exciting pastime in the world, so I wanted a book to read while I waited.

I’ve never done any Game development so I found a lot of the stuff in this book really fascinating. If you are genuinely interested in Game Development then its great, but even if not, it gives you an interesting insight. A lot of the techniques described are valuable to any type of development: for example the emphasis on automation and version control. Unsuprisingly its even more important to game developers than most normal types of development given all the types of file involved in a typical game. I was also very interested to read about how game coders work with multi-media developers, musicians, artitsts etc. I far more complex problem than integrating coders with other coders.
The sections on debugging and scheduling are almost equally applicable to any type of development and reflect the agile approach that non-game developers are rapidly embracing (I hope).

Highly recommended.


Dilbert comment on Middle East Problems.

August 3, 2006

I’ve read this post from The Dilbert Blog several times, and I can’t work out whether it is intelligent and insightful or in unbelievably bad taste. What do you think?


Follow

Get every new post delivered to your Inbox.