22 June 2008

A more idealistic time...

Here in the UK we had an episode of The Money Programme broadcast on the BBC called Bill Gates: How a Geek Changed the World. Follow the link to see it on the iPlayer.

An interesting part of this is Steve Wozniak: How it began which is highlighted and can be watched on the BBC News site here. It's certainly nice to think of a time when the computer business wasn't all about taking over the world. It's a brief video from how he got involved in computers, through starting Apple.

It's nice to see some programmes on TV that look at computing, in fact I'm amazed at the lack of ones about the history of computing. Although we may be getting a dramatisation featuring Leonardo DiCaprio as a co-founder of Atari...

18 June 2008

Firefox 3 Released

Go get it here:


Download Day


Have a little read on how to make it even better for the Mac here.


Firefox 3

17 June 2008

Bill Gates Talks Some Sense - A 1986 Interview

The Programmers At Work blog have posted a 1986 interview with Bill Gates - you can read it here.

What is incredibly bizarre is that he talks a lot of sense and a lot of it is still applicable today. Certainly 20 years later substitute assembler for C, and C with a scripting language in the article and you can believe it was a recent article.

It's hard to believe Microsoft is the same company that Bill Gates is talking about in this interview as he has such a pragmatic outlook towards development. With those attitudes you can see why Microsoft became successful, but it also shows you can't stay that way forever without great effort. Most of my teenage years and adult life I have seen Microsoft as this big monopoly and it was nice to see something that shows what it was like before then.

10 June 2008

GUI Toolkits - eGUI++ Easy GUI

I've blogged a few times in the past about John Torjo's Win32 GUI Generics. It was really quite an impressive accomplishment using the advanced C++ techniques in Windows development, but was a bit of a rough diamond. I did do some minor changes to my local copy when I was playing around with it to make sure that the widgets used the correct Windows theming engine, and it was surprisingly easy to add which is a testament to the quality of the code. It did take ages to compile though with all those templates.

I notice that now John Torjo has posted eGUI++ to his blog. Hopefully this is a progression using all he learnt with his previous iteration in Win32 GUI Generics.

There is an article about eGUI++ on the MSDN here written by John. It covers the basics of what he has done and covers some of the features. It is typesafe at compile time which is great for catching errors early as most GUI toolkits you rarely find those types of problems until runtime (especially when using Windows resources).

You can download it from here. The example presented on that page is quick and to the point. Hopefully this is a toolkit to watch.

Upcoming Cambridge Talks

Tomorrow there is the latest BCS SPA talk in Cambridge. This month we have Dependency Injection by Stephen Oakman. If you're in Cambridge and fancy a computer talk with the obligatory pub-based discussion afterwards, give it a go.

Coming up in July Cory Doctorow is giving a talk in Cambridge called "Life in the Information Economy" as part of the Cambridge Business Lecture series. You can sign up here.

We made a bet, some decades ago, that the information economy would be based on buying and selling (and hence restricting copying of) information. We were totally, 100 percent wrong, and now the world’s in turmoil because of it. What does a copy-native economy look like? How do everyone from barbers to musicians become richer, more fulfilled and more civilly engaged in a real information society. And what do we do about the fact that a couple of dinosauric entertainment companies are determined to screw it up?


He's a science fiction author, blogger and journalist. If you follow BoingBoing.net you'll have read a lot of his stuff. He makes his books available under the Creative Commons licence and I would consider him one of the foremost thinkers (and doers) in the modern minefield of information and ownership (he was European Affairs Coordinator for the Electronic Frontier Foundation).

Comics adaptations of his fiction have been made available under the Creative Commons licence. Follow this link for more information.

03 June 2008

Redmine - Part 2

I have been playing with the project management/issue tracker Redmine a bit more over the past couple of days. I have been getting more and more impressed the more I use it because it is so swift to use, by swift I don't mean it runs fast, I mean it gets work done with the minimum of fuss.

The issue tracking system is pretty simplistic if you do a direct comparison to something like Bugzilla, but it provides the essentials. The best bit though is the support for custom fields out of the box, so you can pretty much set up your bug report the way you want it. You can do all the normal things as well like configuring your workflow.

Using the listview of issue gives you a great context menu that you can use to do common actions like setting the priority, status, and completion percentage.

The issue tracking also integrates time tracking so you can see the progress. You have a percentage complete as well as estimated time and actual time. The time estimations can be tagged with which sub-task took the time (like design, code and test).

I spent a bit of time messing around with the source control integration. I decided to try it out with a Git installation I had laying about. In the end it is pretty simple to actually do, and it provides a simple interface with coloured diffs. This means it becomes trivial to cross reference issues, documents, code, revisions, and more in one place. I noticed that the commit comments get added to the reports by adding the issue number.

The icing on the cake is that it is all wrapped in a clear and intuitive user interface. It looks good and makes use of all the Javascript goodness that users come to expect and it actually helps to make it easy to use.