Thursday, December 30, 2004

RSS Audio Convenience

Some of the Internet Radio shows I listen to include Brainbrew and Tech Nation. Last week I was toying with sending an email to each of these web sites asking for an RSS feed. It’s just so convenient having the content just appear in the web edition of Newsgator when new shows are available rather than having to remember to make a web site visit. Soon after I noticed that Brainbrew do have a podcast feed. Then, lo and behold, Tech Nation is now being provided by the IT Conversations feeds. Very handy indeed. Hope it’s a long term arrangement between Tech Nation and IT Conversations.

Wednesday, December 29, 2004


I've used doxygen in the past to provide hyper linked API level documentation for C++ source code, but until now didn't realize how useful the diagrams it can produce are. With just a few configuration file alterations it can produce a graphical hierarchy of classes, a class graph for each documented class, a collaboration diagram for each class, include dependency graphs and call graphs for functions. All this is hyper linked and integrated in with the API documentation produced. Wonderful stuff! Check out an excerpt from the graphical hierarchy of classes created for a project I worked on this month:ModbusClasses

Though UML and other graphical modeling approaches have been derided, I find a UmlAsSketch approach very useful in managing complexity. The problem is managing this complexity and handling change as a program is continually developed. It is a shame to have to spend precious hours drawing UML diagrams to document a software project, but then its also extremely useful to have access to such diagrams to figure out the design of a system. This need can arise if you're new to a code base or you're coming back to some code after a long while. It can even happen when being overly involved in the gory details of software development and losing sight of the overall architecture.

Being able to automatically generate graphs and diagrams from an existing codebase is extremely useful in quickly understanding (or remembering) how a complex set of code is structured internally. It saves you from manually drawing the diagrams and notes used as bread crumbs to mark progress through the deep dark woods of a complex code base. doxygen is a great GPL'd tool for achieving this for C++ code (and other languages). Give it a go!

Tuesday, December 28, 2004

POSIX Serial Programming

I’ve been working on a cross platform Modbus communications library and driver over the last month or so. It involved a number of communication transports – tcp/ip, direct serial port and modem connected serial port. There were a number of subtle differences in the Linux implementation of serial port interaction that threw me for a bit. The following document was a great help for anything to do with unix, linux, serial port, modem communications and the various esoteric ioctl and fcntl calls you can make (now there’s a bunch of keywords I hope will be useful in the future).

Its a pain working with serial RS232 communications these days. You can no longer go down to the local electronics store and expect to be able to buy a range of RS232 cables, connectors and breakout boxes. Its pretty much a dead technology for the mainstream – but I expect it will still be around in the SCADA industry for a while. The worst part is that there are so many combinations to deal with: 9 pin, 25 pin, male connectors, female connectors, dce/dte, various pin out options and then multiply those combinations with the two sides of the cable. Its frustrating sitting there with half a dozen different cable types and a couple of convertors, but knowing none of the combinations are what you actually need!

Friday, December 10, 2004

IT Conversations Competition

Doug Kaye posted on Competition Down Under for IT Conversations. Being curious about another source of content I checked it out. My initial reaction was that this must be fake – no one discusses things so cordially via comments on a blog . But who would bother with so much detail? Checked out the domain name and no one has claimed it (yet). Hmmm…

Quick search on net26 net25 (referenced in the tech talks group blog) led to this and this. Looks like the group blog was for an Internet Studies course. Maybe Doug won’t have any competition yet? Dunno (slang for don’t know).

Ahh... sucked into a time vortex by following the clues on the net. Almost got sucked into following the clues started via this riddle site – via Brain.Save(). Oh well.. back to work.

Thursday, December 02, 2004

Ward Cunningham Interview

Check out the Ward Cunningham interview on The I identify somewhat with the following quote:
I do know that a lot of times if the programmer gets good, while he is getting good, he learns that most people do not understand what he does. So that's really separating for programmers. Programmers are kind of driven apart by that realization that they are dealing with things that most people do not understand, and after a while they give up trying to communicate. They say "Just stop bothering me, let me think."
The context related to pair programming and its best to hear the whole interview to get his intended meaning. There's another recent Ward interview over here (via Blogarithms).