"10 Things Every Software Architect Should Know" webcast

In the 10 Things Every Software Architect Should Know webcast (and slide deck) Richard Monson-Haefel weaves a thoughtful exposition and good examples around the (almost banal) ten things a senior development project contributor should know. Worth 50 minutes of your life. The ten things are
  • People are the platform
  • All solutions are obsolete
  • Data is forever
  • Flexibility breeds complexity
  • Nothing works as expected
  • Documentation is the universal source code
  • Know the business
  • Maintain the vision
  • Software architects should also be coders
  • There is no substitute for experience

Coffee & Code in South Kingstown

I will be heading to South Kingstown's Brewed Awakenings for Coffee & Code this Monday, Tuesday, and Wednesday between 10:30 and 11:30 AM. See you there.

Where was that click?

I have used many kinds of UI toolkits over the years. To greater and lesser extents I have used Macintosh (pre-Cocoa), Win32, Motif, Qt, Swing, Xlib, wxWindows, Tk, Andrew, and some others that I don't remember their names. Today, I needed a little dynamic HTML widget to hold an image and respond to clicks. Piece of cake! Hum, but where is the API call to get the location of the mouse relative to the image? As far as I can tell there is none. Perhaps the new CANVAS element is kinder to developers but to do this without it requires many more lines of code than I would have expected. Luckily, Re:morse.nl in conjunction with prototype already figured it out and, better still, figured it out right.

"integrating social networking is like failed love"

I still get folks asking for social networking features for their sites. I generally try to tell them to integrate with an existing one. I enjoyed this comment from Burningbird about Amazon's Kindle discussion board's fall
Amazon has just discovered what many other companies are discovering: integrating social networking is like failed love, amazingly wonderful at first, but eventually evolving into an urge to gnaw your own arm off in order to escape.

I want my Kindle 2

Man! I just got an iPhone 3G and now my technology-lust has attached itself to the Kindle 2.

PDF page images

I am in the middle of building a web application for commenting on PDF documents. My plan is to use it to allow South Kingstown, RI residents to comment on the upcoming operations budget. The software will be open sourced for others to use -- assuming it actually turns out to be useful.

On the tools I needed was to be able to rasterize the PDF's pages. I really don't want to depend on a plugin (Acrobat, Foxit Reader, etc) for such a public site. Having images of the pages allows me to do a number of other interactions that I would have no control to do within the plugin. So, I need pictures.

After struggling with a number of other rasterizers (mostly around fonts (still!) or unknown library dependencies) I found the LGPLed PDFRenderer at java.net. And it works. And it works very well with very little effort. Here is my test program for creating readable and thumbnail images of every page.

Update: I forgot to include the build.xml

"may the police always be as friendly"

"May you visit many more Wright houses. And may the police always be as friendly when you arrive." Found written on a bookmark in a used Frank Lloyd Wright book.

Unix utilities for Windows.

Continuing to re-configure my Windows XP box I installed the excellent set of Unix utilities from unxutils at SourceForge. One command line tool that is missing from unxutils is bash. After some digging around I found a standalone version of bash at www.steve.org.uk.

Microsoft has Windows Services for UNIX. The one time I installed this (a few years ago) the installer failed and left my machine in a broken state. The set of tools and services in the Microsoft package is comprehensive and so I would like to use it. However, I don't want to take the risk of breaking my machine again. Anyone know if the installation issues have been fixed?