Not only does my mum read my blog, she has her own web site, complete with photos.
This has been going on for some time. But tonight my referer logs finally clued me into two other family members quietly blogging away:
Woohoo!
Update: OK, my super-sleuthing was off-base, with only one out of three livejournal blogs correctly identified. I am blushing.
Yesterday was Cardboard Nu’s first birthday as a blog. Happy birthday, Cardboard!
I’ve thoroughly enjoyed blogging – both the reading and the writing. With the practice that I have had blogging, my writing is now quicker, clearer and more accurate. Having a forum to express my opinions has meant my long-suffering cow-orkers don’t have to hear them as often. It has also helped me grow a thicker skin.
I’ve also enjoyed reading blogs. Aside from some local boys, (more on them in a minute) the world-beating, stand-out blog for me has been Simon Brunning’s Small Values of Cool. With its sharp style and consistent posting, I find Small Values addictive.
Cardboard.nu is listed in a few public aggregators, Javablogs and pyblagg being the main ones. I must admit to finding the childish behaviour of some Javablogs denizens frustrating. Maybe I’m just an old fart. Or maybe I’m just not macho enough to program in Java.
pyblagg, on the other hand, is a delight. In general, the Python blogging community is full of interesting people, who are capable of expressing themselves clearly, who are polite and who can respect alternative points of view. Does the language rub off on the people or do the people rub off on the language?
Blogging has also brought Google-fame, albeit in very tiny amounts. As I write, cardboard.nu is the number one Google result for:
Bizarrely, one of my blog entries rates the number two Google result for crime scene cleanup, and the comments to that blog entry served as a forum for the crime scene cleanup industry until earlier this month.
Blogging has been a great hobby, but I never would have gotten anywhere without the help and encouragement of Charles Miller. After reading his blog for a few months, I decided to dip my toe into the blogging ocean. Charles not only took the time to clue me into the various technologies, personalities and styles of the blogging world, his blog donated large chunks of html and css to cardboard.nu. More recently, Charles also gave me a login to the Fishbowl Quicklinks blog, and I post there regularly too. Thanks heaps, Charles!
Two other colleagues have also encouraged me this past year: David Pinn and Keith Pitty. Both these gentlemen write clear, concise entries on topics they are passionate about. Charles, David and Keith each spur me on to higher quality in my writing.
And finally, to everybody out there – to those who read this blog, and especially to those who write blogs for me to read – a big “Thanks!” too.
Proposed addition to the standard corporate development procedures:
Henceforth, any developer that uses the word “just” while describing or estimating the implementation of a new feature to a manager will be assigned the design, coding and testing tasks for that feature.
This line of code took me half an hour to write and test. (Broken into multiple lines for readability.)
echo \\t-ps -ef '|'
awk \'$$''$$\1 = \"$${LOGNAME}\"
\&\& /`basename $${exe}`/ \&\& !/awk/
{print $$''$$\2}\' '|'
xargs -n 1 kill -9 >> ${MAKE_DEPEND};
This code is part of a makefile action that outputs a makefile rule. This particular line causes the output rule to kill a running executable, prior to linking it. I wrote it because I was sick of getting 'Text file busy' errors, and having to restart the make.
I am particularly proud of the $$''$$ bit. That is how to output two consecutive dollar signs into the generated make rule. $$$$ must be some kind of reserved symbol in our ancient version of make, because it causes a five digit number to be output.
Lennox’s Horseshoe Bridge is one of my favourite local sights. It is on the Mitchell’s Pass, an old route up the Blue Mountains from Sydney, which was superceded 90 years ago or so. In its restored state, the bridge is postcard-picture pretty. Here is a picture I took last year, from underneath, looking south:

All this is apropos a discussion I had tonight with Adam and Ewan (friends from CEBS) about exactly how to describe the bridge. Merriam-Webster gives three meanings for Aqueduct:
1. a conduit for water;
2. a structure for conveying a canal over a river or hollow
3. a canal or passage in a part or organ
So Ewan and Adam, you were both right – the passage at the bottom of the bridge is an aqueduct. In my defence, I was a little bit right, too; an aqueduct is a bridge for carring water. However, Adam’s tremendous knowledge of human internals scores him bonus points for also knowing the third meaning. Well done Adam – I am not worthy and I apologise for doubting you.
After reading the phrase “My immediate reaction…” one too many times, I reacted, well, immediately, by recalling my previous immedate reactions to software “stuff”.
| Thing | Immediate Reaction |
| The name ‘C++’ | Ooh! A better ‘C’. Cool. |
| The language C++ | Neat! |
| The name ‘Smalltalk’ | Is it for women? They’re supposed to be better at small-talk than men. |
| The language Smalltalk | Neat! |
| The name ‘Java’ | eh? |
| The language Java. | Looks like a C++‘ers interpretation of Smalltalk. |
| Learning that Java Beans go int a ‘Java Archive’ a.k.a ‘JAR’ | Made a pun about putting beans in a jar. |
| EJBs | Neat! |
| Learning that EJBs go into an ‘Enterprise Archive’ a.k.a ‘EAR’ | Made a pun about putting beans in your ear. |
| Finding yet another misuse of EJBs, in accordance with Java Best Practice. | I groan. |
| Software Patterns, when they were first explained to me. | Looks neat, but why all the fuss? |
| Spotting three patterns in one Java class. | Why can’t people just write code anymore? Why do they have to write in patterns? |
| Seeing Charles Miller at work in a coat and tie. | Have you got an interview today? |
Looking at the above list, most of my immediate reactions are wrong or irrelevant. The only “immediate” reactions I seem get right are the ones that I have had practice with – such as the ones I have when I realise I am about to be wading through innappropriately patterned Java or an over-enthusiastically EJBed application. I was definitely wrong about Charles.
Moral: Don’t trust an immediate reaction to something new.
Disclaimer: This is a rant. Please ignore everything above the horizontal line.
For a few months now, I’ve been dabbling in the maths of some simple 2D motion. Around November, I derived an equation expressing x-position (x) as a function of time (t). It is of the form:
x = i + jt + k cos(lt + m)
where i, j, k, l and m are constants. For maths newbies like myself, I point out that the equation is of a cosine (the k cos(lt+m) bit) added to a line (i + jt), giving a wiggly line that is trending up or down. It looks like the red line in this plot:

Here is my problem. In order to determine if (and when) the object will hit a left or right wall, I need to find the values of t where x is 1 or -1 – shown in blue on the above picture.
I’ve spent quite some time on this, and I have some interesting equations that give limits to the solution(s) I am interested in, but nothing precise enough to work with.
Despite many hours spent on this, my high school maths is not enough, Google has been no help and the books in Dymocks don’t seem to be of any use either.
Can anybody out there show me how to solve the equation for t, or point me to some useful resource?
Richard Saunders wrote of a teleconference he participated in at the start of the year, his first since being made a member of the grandly named “Corporate Standards Selection Committee.” During the conference he noticed that:
Most members of the committee were silent and I could hear typing in the background which seemed to indicate that most folks weren’t really listening.
I once worked for a large company where typing during teleconferences was normal, since each participant was also engaged in simultaneous IM side-conversations with other participants. Much scheming, gossip and complaining went on in the background, while everyone politely pretended it wasn’t happening.
At that company, IM revolutionised teleconferencing: the teleconference become the formal arena for powerplays orchestrated through shadowy IM interactions. The real decision makers were probably the ones that didn’t actually say anything because they were too busy manipulating others into talking for them.
My advice to Richard is to be paranoid. Find out if his committee plays these teleconferencing IM games, and, if they do, join one of the IM circles and make friends quickly and quietly.
Quite a number of people have asked about the .nu suffix on my domain name. It belongs to Niue, a 2100 person island nation, several thousand kilometers north-east of New Zealand. They sell domain names via a commercial company. Niue is in the – presumably unique – position of having had more national domain names expire in the last month than they have citizens.
Sadly, on January 7, Niue was flattened by Cyclone Heta. With the damage to the island’s infrastructure and economy, it appears that Niue may merge with New Zealand.
And so I am now pondering, what happens to domain names when the country to which they were allocated disappears?
CEBS is a church group for boys, 6 through 14 or so. It is in some ways similar to Scouts, though with a strong Christian content. I’ve been a leader in the local group since 1996, though I’m still the new boy – my co-leaders have been at it for 15 years or more now.
Anyway… one of our leaders, Ewan, has put together the Kingswood CEBS website, including the Kingswood CEBS 2003 Yearbook and photos. My favourites:
When I started holidays three weeks ago, I had a zillion work-thoughts buzzing around my head, so I wrote out some notes in the hope that I could forget about it all and get on with some relaxation.
Well, it’s back to work on Monday, and it was time to pull out those notes. Looking through them, I remember that I actually quite like my current assignment. I was looking forward to it before I started and, after five weeks on the job, it is still going well.
One thing I am enjoying is the framework I built to handle the look and feel of the application. It’s been a few years since I’ve been able to take responsibility for a large chunk of code in a green-fields application. In the first week I found myself thinking about it at odd moments: on the train and while doing the washing up. When I did start coding, it seemed to come naturally and easily – not counting a few technological frustations. Fun!
Five weeks later, I had 2000 lines of code which – while not perfect – are well documented and meet the goals of being both usable and flexible. Usability is especially important, since the framework forms the basis for well over 30 screens. For us, usability means that a new screen can be implemented by writing a small number of methods in a new class, with minimal repitition and boiler-plate. Flexibility means that it can handle each of those 30 screens with a minimal amount of “special-case” code.
On another level, I am particularly enjoying working with my co-workers. There are just three of us, and we are all contributing in different ways. For a start, there are parts of the code in the system that each of us can point to and say “I wrote that”. At the same time, important design decisions are discussed amongst the three of us, so we all own all the code.
Beyond that, Duncan brings all of his experience working for this client for the last few years. He shares freely from his understanding of the business domain, the database schema and C++.
David keeps us honest: he ensures that we build what the customer wants, that we don’t just implement things in a particular manner because “that’s the way it’s always been done”, and that appropriate technical and customer documentation is produced.
Together, the three of us accomplish more than three times any single one of us could.
In summary, a good project, backed by a good team. I look forward to seeing what the guys have been up to on Monday.
After the technican replaced 50 cents worth of coax1, my cable modem is feeling much better. The connection had been deterioriating through 2003, but finally got really bad around New Year, and has been more off than on since then.
The technician told me that they can’t diagnose reverse signal (meaning from the modem to the Optus node) problems on weekends, because on weekends there is nobody at the exchange. Moral: don’t book a technician to come out on a Sunday and expect him to fix anything.
1 Actually, it was just a 30cm cable, but if you add the cost of the connectors, it probably cost a whole 50cents.
My sister Katie went to see Return of the King for the third time today, and she didn’t take me!