Matt's first law of software complexity

The first law of thermodynamics states something like this: the total energy of the system plus the surroundings is constant. Or basically energy is conserved; it cannot be created or destroyed, just moved around. This first law is an important realization for chemists/physicists, and underpins the way they look at problems. I think there is a similar realization that can be made regarding the complexity of software systems, and that it can change the way you look at and design software....

July 25, 2003

UPDATED: The world's best cut-copy-paste preventer

(Greets: Conor, OJB, Malcolm and BPH.) UPDATED (2003-07-09T06:54:05+0000) Brendan has implemented this as an IDEA plugin Your innovation got me thinking - of a lateral solution - no hardware mods required. see attached :-)

July 8, 2003

BMC's four rules for meeting attendence

BMC has posted some of his thoughts on meetings. I used to work with BMC, and meetings never did seem to get in our way. BMC’s four rules for meeting attendence: If someone hasn’t spoken in the last 10 minutes at a meeting, then they shouldn’t be there. If one person speaks more than 80% of the time, then it is a presentation rather than a meeting. Use email or voice mail to distribute the information....

May 30, 2003

Code idiom: using logical ^ to change your mind

This idiom is a cool little trick, but I’ve seen coders scratching their head trying to work out what it does; so a detailed explanation is in order. The ^ bitwise exclusive-or operator (or “XOR”) is standard computer science fare. An XOR is often used to flip bits in a byte/word. In Java, the ^ bitwise operator works on all the integer types (int, byte, short, char, and long) and performs an XOR between each corresponding bit in the arguments....

March 26, 2003

The first program I ever wrote myself

The other day, I recalled first program I ever wrote. Actually, I remember it distinctly. I was in Year 8 (aged 13 or 14) of high school. It was a bright warm summers day but cool and dark in the computer lab (the curtains were always closed on such days). Some mates and I had spent the last couple of weeks typing programs from books into the Apple IIe computers in the lab....

March 12, 2003

Code idiom: inserting a separator between the elements in a list

I use the following code idiom all the time. I know it seems simple, and I know there are other ways of doing it, but when I first saw it a penny dropped. Writer out = ...; List l = ...; String sep = ""; for (Iterator i = l.iterator(); i.hasNext(); ) { String s = (String) i.next(); out.write(sep); out.write(s); sep = ","; } You can see how this works:...

February 18, 2003

First post

Just a test post.

February 17, 2003