software

Hacking Additional Camera Features for your Canon

There is a community that has been taking apart canon firmware and adding extra features to cameras. So far they are mainly doing this on point and shoot cameras. So if you have an old IXUS you might want to try it: although it's probably not for the faint of heart. Loading the new firmware gives a number of features to your point and shoot that weren't there before such as:

  • Greater control over the shutter and ISO
  • Providing RAW if it wasn't there before.
  • Live histogram, visual indication of over/underexposed areas (Zebra mode)

Amazing thinking sculptures

Tagged:  

Dutch artist Theo Jansen creates creatures powered by the wind that are able to react to their environment. These amazing creatures are built to live on the beach and are able to store up wind energy and detect when the tide is in. He uses genetic algorithms to evolve new breeds of these animals before building them.

Distributed Source Control popularity

The change-over to distributed Source-code control seems to be only a matter of time. Dispite the hype subversion makes many jobs harder, it might help with renaming files but it doesn't. The battle has really already been won my distributed systems in many organisations. There are a few factors that have prevented wholesale takup of distributed source-code control:

  • Maturity of tools. Many of the existing systems exist as extended research projects. They are scripts on top of other systems written in perl or python. Where they might work very well they are slow.

Developments in Configuration Management tools

Tagged:  

Like many I cannot wait for a better configuration management tool. Possibly the most widely used tool up until recently was CVS (on UNIX at least) and the even worse SourceSafe (on windows). You cannot be overly critical of CVS--- to my mind anyway, it is a child of the eighties, and as so is more than a grandfather to most systems out there. Its popularity has remained because it's free and relatively easy/maintain. Also there is a large body of knowledge from people who have been using it for all these years. In the last few years Subversion has arrived as a CVS replacement--- why subversion should be considered a CVS replacement when no other is is anyone's guess. Little is similar to CVS. There are notable improvements like atomic commits and versioned directories. All make people who have used it not want to convert back to CVS. However, it looks like a product of the 90's. Current research and other systems are much better at handling change and are more suited the way modern teams work. There have been some interesting developments in recent years, that might mean that Subversion will either have to adapt or it will be supplanted by a newer system--- one more suitable to how development is performed now. Two of the most interesting developments are:

Dependancy Structure Matrix

Tagged:  

To manage complex interdependencies of components in software architectures a Dependancy Structure Matrix can be produced. This is a relatively recently documented technique is great for an overview of the project: it can be used to get a feel of the system design and the actual relationships beyond that of a block diagram. It might help to identify where the system might be brittle and require refactoring.

Design Simplicity

Tagged:  

In design, and software design is no exception, simplicity is hard. It's not just a matter of reducing the number of variables or applying Occam's Razor, although this may help to a degree. Simplicity does not mean trivialing either. Sometimes particularly, in visual design, simplicity can be knowing about people. A design can be arranged in an intuitive way, the complexity reduced not by removal; but rearranging to appeal to intuition. Some software packages, like word, have more functions than ever--- the number of functions hasn't decreased; some would say that makes them less usable. But on the hole, the functions that most people want from word are readibly available.

How can Java be faster?

Tagged:  

I've just remembered two, perhaps rhetorical, questions that I was once asked:

  1. How can ever Java be faster than native code when it runs in a virtual machine?
  2. When I miss a semicolon of the end of a compilation line, why doesn't it just insert the semi-colon and continue? If it knows what's wrong with it, it should just fix it?
Syndicate content
© Andrew Gavin 2005-2008. Get Firefox! Stumble Upon Toolbar Get Songbird!